Add native paths for unix

This commit is contained in:
Sasha Koshka 2024-03-26 13:15:03 -04:00
parent 9b45bc56d4
commit 11e7a83eb4
3 changed files with 33 additions and 11 deletions

View File

@ -3,30 +3,23 @@ package main
import "os"
import "io"
import "fmt"
import "path/filepath"
import "git.tebibyte.media/fspl/fspl/cli"
import "git.tebibyte.media/fspl/fspl/entity"
import "git.tebibyte.media/fspl/fspl/compiler"
import ferrors "git.tebibyte.media/fspl/fspl/errors"
import "git.tebibyte.media/fspl/fspl/compiler/native"
func main () {
// instantiate the compiler
// FIXME: perhaps we want different paths on Windows?
comp := new(compiler.Compiler)
comp.Writer = os.Stderr
comp.Resolver = compiler.NewResolver (
"/usr/local/src/fspl",
"/usr/src/fspl",
"/usr/local/incude/fspl",
"/usr/include/fspl")
homeDir, err := os.UserHomeDir()
resolver, err := native.NativeResolver()
if err != nil {
comp.Errorln(err)
os.Exit(2)
}
comp.Resolver.AddPathFront (
filepath.Join(homeDir, ".local/src/fspl"),
filepath.Join(homeDir, ".local/include/fspl"))
comp.Resolver = resolver
// take in CLI flags
debug := cli.NewFlag (

10
compiler/native/native.go Normal file
View File

@ -0,0 +1,10 @@
// Package native provides OS native parameters for the compilation process.
package native
import "git.tebibyte.media/fspl/fspl/compiler"
// NativeResolver returns a resolver that resolves paths native to the operating
// system.
func NativeResolver () (*compiler.Resolver, error) {
return nativeResolver()
}

View File

@ -0,0 +1,19 @@
package native
import "os"
import "path/filepath"
import "git.tebibyte.media/fspl/fspl/compiler"
func nativeResolver () (*compiler.Resolver, error) {
resolver := compiler.NewResolver (
"/usr/local/src/fspl",
"/usr/src/fspl",
"/usr/local/incude/fspl",
"/usr/include/fspl")
homeDir, err := os.UserHomeDir()
if err != nil { return nil, err }
resolver.AddPathFront (
filepath.Join(homeDir, ".local/src/fspl"),
filepath.Join(homeDir, ".local/include/fspl"))
return resolver, nil
}