Browse Source

detect idris, julia & cmake.

Lucas Stadler 11 years ago
parent
commit
c2a8e6e600
3 changed files with 19 additions and 0 deletions
  1. 16 0
      go/detect/detect.go
  2. 2 0
      go/examples/hello.idr
  3. 1 0
      go/examples/hello.jl

+ 16 - 0
go/detect/detect.go

@ -31,10 +31,13 @@ var ProjectTypes = []*Project{
31 31
		goDefault},
32 32
	&Project{"haskell/cabal", Commands{"build": "cabal build", "run": "cabal run", "test": "cabal test"}, haskellCabal},
33 33
	&Project{"haskell/default", Commands{"run": "runhaskell {file}"}, haskellDefault},
34
	&Project{"idris/default", Commands{"run": "idris -o $(basename {file} .idr) {file} && ./$(basename {file} .idr)"},
35
		idrisDefault},
34 36
	&Project{"java/maven", Commands{"build": "mvn compile", "test": "mvn compile test"}, javaMaven},
35 37
	&Project{"javascript/npm", Commands{"build": "npm install", "test": "npm test"}, javascriptNpm},
36 38
	&Project{"javascript/meteor", Commands{"run": "meteor"}, javascriptMeteor},
37 39
	&Project{"javascript/default", Commands{"run": "node {file}"}, javascriptDefault},
40
	&Project{"julia/default", Commands{"run": "julia {file}"}, juliaDefault},
38 41
	&Project{"python/django", Commands{"build": "python manage.py syncdb", "run": "python manage.py runserver",
39 42
		"test": "python manage.py test"}, pythonDjango},
40 43
	&Project{"python/default", Commands{"run": "python {file}"}, pythonDefault},
@ -44,6 +47,7 @@ var ProjectTypes = []*Project{
44 47
	&Project{"ruby/default", Commands{"run": "ruby {file}"}, rubyDefault},
45 48
	&Project{"rust/cargo", Commands{"build": "cargo build", "run": "cargo run", "test": "cargo test"}, rustCargo},
46 49
	&Project{"rust/default", Commands{"run": "rustc {file} && ./$(basename {file} .rs)"}, rustDefault},
50
	&Project{"cmake", Commands{"build": "mkdir .build && cd .build && cmake .. && make"}, cmakeDefault},
47 51
	&Project{"make", Commands{"run": "make", "test": "make test"}, makeDefault},
48 52
	&Project{"procfile", Commands{}, procfileDefault},
49 53
}
@ -103,6 +107,10 @@ func clojureLeiningen(file string) bool {
103 107
	return hasFile(file, "project.clj")
104 108
}
105 109
110
func cmakeDefault(file string) bool {
111
	return hasFile(file, "CMakeLists.txt")
112
}
113
106 114
func coffeescriptDefault(file string) bool {
107 115
	return matchingFileOrDir(file, "*.coffee")
108 116
}
@ -131,6 +139,10 @@ func haskellDefault(file string) bool {
131 139
	return matchingFileOrDir(file, "*.hs") || matchingFileOrDir(file, "*.lhs")
132 140
}
133 141
142
func idrisDefault(file string) bool {
143
	return matchingFileOrDir(file, "*.idr")
144
}
145
134 146
func javaMaven(file string) bool {
135 147
	return hasFile(file, "pom.xml")
136 148
}
@ -147,6 +159,10 @@ func javascriptDefault(file string) bool {
147 159
	return matchingFileOrDir(file, "*.js")
148 160
}
149 161
162
func juliaDefault(file string) bool {
163
	return matchingFileOrDir(file, "*.jl")
164
}
165
150 166
func makeDefault(file string) bool {
151 167
	return hasFile(file, "Makefile")
152 168
}

+ 2 - 0
go/examples/hello.idr

@ -0,0 +1,2 @@
1
main : IO ()
2
main = putStrLn "Hello, World!"

+ 1 - 0
go/examples/hello.jl

@ -0,0 +1 @@
1
println("Hello, World!")