diff --git a/compiler/native/native_windows.go b/compiler/native/native_windows.go index 6aa3c52..31bf129 100644 --- a/compiler/native/native_windows.go +++ b/compiler/native/native_windows.go @@ -1,9 +1,30 @@ package native import "os" +import "errors" import "path/filepath" import "git.tebibyte.media/fspl/fspl/compiler" func nativeResolver () (*compiler.Resolver, error) { - // TODO + localAppData := os.Getenv("LOCALAPPDATA") + if localAppData == "" { + return nil, errors.New("could not get %LOCALAPPDATA%") + } + allUsersProfile := os.Getenv("ALLUSERSPROFILE") + if allUsersProfile == "" { + return nil, errors.New("could not get %ALLUSERSPROFILE%") + } + programFiles := os.Getenv("ProgramFiles") + if programFiles == "" { + return nil, errors.New("could not get %ProgramFiles%") + } + + resolver := compiler.NewResolver ( + filepath.Join(localAppData, "fspl\\src"), + filepath.Join(localAppData, "fspl\\include"), + filepath.Join(allUsersProfile, "fspl\\src"), + filepath.Join(allUsersProfile, "fspl\\include"), + filepath.Join(programFiles, "fspl\\src"), + filepath.Join(programFiles, "fspl\\include")) + return resolver, nil }