|
|
|
@ -32,6 +32,7 @@ pub enum Language {
|
|
|
|
EmacsLisp,
|
|
|
|
EmacsLisp,
|
|
|
|
Gleam,
|
|
|
|
Gleam,
|
|
|
|
Go,
|
|
|
|
Go,
|
|
|
|
|
|
|
|
Hack,
|
|
|
|
Haskell,
|
|
|
|
Haskell,
|
|
|
|
Hcl,
|
|
|
|
Hcl,
|
|
|
|
Html,
|
|
|
|
Html,
|
|
|
|
@ -162,6 +163,7 @@ fn from_shebang(src: &str) -> Option<Language> {
|
|
|
|
"lisp" | "sbc" | "ccl" | "clisp" | "ecl" => return Some(CommonLisp),
|
|
|
|
"lisp" | "sbc" | "ccl" | "clisp" | "ecl" => return Some(CommonLisp),
|
|
|
|
"elixir" => return Some(Elixir),
|
|
|
|
"elixir" => return Some(Elixir),
|
|
|
|
"elvish" => return Some(Elvish),
|
|
|
|
"elvish" => return Some(Elvish),
|
|
|
|
|
|
|
|
"hhvm" => return Some(Hack),
|
|
|
|
"runghc" | "runhaskell" | "runhugs" => return Some(Haskell),
|
|
|
|
"runghc" | "runhaskell" | "runhugs" => return Some(Haskell),
|
|
|
|
"chakra" | "d8" | "gjs" | "js" | "node" | "nodejs" | "qjs" | "rhino" | "v8"
|
|
|
|
"chakra" | "d8" | "gjs" | "js" | "node" | "nodejs" | "qjs" | "rhino" | "v8"
|
|
|
|
| "v8-shell" => return Some(JavaScript),
|
|
|
|
| "v8-shell" => return Some(JavaScript),
|
|
|
|
@ -175,6 +177,11 @@ fn from_shebang(src: &str) -> Option<Language> {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Hack can use <?hh in files with a .php extension.
|
|
|
|
|
|
|
|
if first_line.starts_with("<?hh") {
|
|
|
|
|
|
|
|
return Some(Hack);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
None
|
|
|
|
None
|
|
|
|
@ -224,6 +231,7 @@ pub fn from_extension(extension: &OsStr) -> Option<Language> {
|
|
|
|
"elv" => Some(Elvish),
|
|
|
|
"elv" => Some(Elvish),
|
|
|
|
"gleam" => Some(Gleam),
|
|
|
|
"gleam" => Some(Gleam),
|
|
|
|
"go" => Some(Go),
|
|
|
|
"go" => Some(Go),
|
|
|
|
|
|
|
|
"hack" | "hck" | "hhi" => Some(Hack),
|
|
|
|
"hs" => Some(Haskell),
|
|
|
|
"hs" => Some(Haskell),
|
|
|
|
"hcl" | "nomad" | "tf" | "tfvars" | "worfklow" => Some(Hcl),
|
|
|
|
"hcl" | "nomad" | "tf" | "tfvars" | "worfklow" => Some(Hcl),
|
|
|
|
"html" | "htm" | "xhtml" => Some(Html),
|
|
|
|
"html" | "htm" | "xhtml" => Some(Html),
|
|
|
|
|