q/src/compiler/Compile.go
Eduard Urbach 154893d9f7
All checks were successful
/ test (push) Successful in 17s
Implemented a basic scanner
2025-06-19 15:17:50 +02:00

36 lines
No EOL
555 B
Go

package compiler
import (
"fmt"
"git.urbach.dev/cli/q/src/build"
"git.urbach.dev/cli/q/src/scanner"
)
// Compile waits for the scan to finish and compiles all functions.
func Compile(b *build.Build) (Result, error) {
result := Result{}
files, errors := scanner.Scan(b)
for files != nil || errors != nil {
select {
case file, ok := <-files:
if !ok {
files = nil
continue
}
fmt.Println(file.Path)
case err, ok := <-errors:
if !ok {
errors = nil
continue
}
return result, err
}
}
return result, nil
}