func Run(files []string, stdin string) (string, string, error) { workDir := filepath.Dir(files[0]) binName := "a.out" sourceFiles := util.FilterByExtension(files, "cpp") args := append([]string{"clang++", "-std=c++11", "-o", binName}, sourceFiles...) stdout, stderr, err := cmd.Run(workDir, args...) if err != nil { return stdout, stderr, err } binPath := filepath.Join(workDir, binName) return cmd.RunStdin(workDir, stdin, binPath) }
func Run(files []string, stdin string) (string, string, error) { workDir := filepath.Dir(files[0]) binName := "a.exe" sourceFiles := reverse(util.FilterByExtension(files, "fs")) args := append([]string{"fsharpc", "--out:" + binName}, sourceFiles...) stdout, stderr, err := cmd.Run(workDir, args...) if err != nil { return stdout, stderr, err } binPath := filepath.Join(workDir, binName) return cmd.RunStdin(workDir, stdin, "mono", binPath) }
func Run(files []string, stdin string) (string, string, error) { workDir := filepath.Dir(files[0]) jsName := "a.js" // Find all typescript files and build compile command sourceFiles := util.FilterByExtension(files, "ts") args := append([]string{"tsc", "-out", jsName}, sourceFiles...) // Compile to javascript stdout, stderr, err := cmd.Run(workDir, args...) if err != nil { return stdout, stderr, err } return cmd.RunStdin(workDir, stdin, "node", jsName) }
func Run(files []string, stdin string) (string, string, error) { workDir := filepath.Dir(files[0]) sourceFiles := util.FilterByExtension(files, "ex") args := append([]string{"elixirc"}, sourceFiles...) return cmd.RunStdin(workDir, stdin, args...) }