| 1 | const BY_EXTENSION: Record<string, string> = { |
| 2 | ts: "TypeScript", |
| 3 | tsx: "TypeScript", |
| 4 | mts: "TypeScript", |
| 5 | cts: "TypeScript", |
| 6 | js: "JavaScript", |
| 7 | jsx: "JavaScript", |
| 8 | mjs: "JavaScript", |
| 9 | cjs: "JavaScript", |
| 10 | py: "Python", |
| 11 | rb: "Ruby", |
| 12 | go: "Go", |
| 13 | rs: "Rust", |
| 14 | java: "Java", |
| 15 | kt: "Kotlin", |
| 16 | kts: "Kotlin", |
| 17 | swift: "Swift", |
| 18 | c: "C", |
| 19 | h: "C", |
| 20 | cc: "C++", |
| 21 | cpp: "C++", |
| 22 | cxx: "C++", |
| 23 | hpp: "C++", |
| 24 | hh: "C++", |
| 25 | cs: "C#", |
| 26 | php: "PHP", |
| 27 | scala: "Scala", |
| 28 | clj: "Clojure", |
| 29 | ex: "Elixir", |
| 30 | exs: "Elixir", |
| 31 | erl: "Erlang", |
| 32 | hs: "Haskell", |
| 33 | lua: "Lua", |
| 34 | pl: "Perl", |
| 35 | r: "R", |
| 36 | dart: "Dart", |
| 37 | zig: "Zig", |
| 38 | sql: "SQL", |
| 39 | sh: "Shell", |
| 40 | bash: "Shell", |
| 41 | zsh: "Shell", |
| 42 | fish: "Shell", |
| 43 | ps1: "PowerShell", |
| 44 | html: "HTML", |
| 45 | htm: "HTML", |
| 46 | css: "CSS", |
| 47 | scss: "SCSS", |
| 48 | sass: "SCSS", |
| 49 | less: "Less", |
| 50 | vue: "Vue", |
| 51 | svelte: "Svelte", |
| 52 | astro: "Astro", |
| 53 | md: "Markdown", |
| 54 | mdx: "MDX", |
| 55 | json: "JSON", |
| 56 | yml: "YAML", |
| 57 | yaml: "YAML", |
| 58 | toml: "TOML", |
| 59 | xml: "XML", |
| 60 | proto: "Protocol Buffer", |
| 61 | graphql: "GraphQL", |
| 62 | gql: "GraphQL", |
| 63 | tf: "HCL", |
| 64 | hcl: "HCL", |
| 65 | nix: "Nix", |
| 66 | vim: "Vim Script", |
| 67 | ipynb: "Jupyter Notebook", |
| 68 | }; |
| 69 | |
| 70 | const BY_FILENAME: Record |
| 71 | dockerfile: "Dockerfile", |
| 72 | makefile: "Makefile", |
| 73 | "cmakelists.txt": "CMake", |
| 74 | rakefile: "Ruby", |
| 75 | gemfile: "Ruby", |
| 76 | justfile: "Just", |
| 77 | }; |
| 78 | |
| 79 | export function languageForPath(path |
| 80 | const filename = |
| 81 | |
| 82 | const named = |
| 83 | if (named) return |
| 84 | |
| 85 | const dot = |
| 86 | if (dot <= |
| 87 | |
| 88 | return BY_EXTENSION[filename |
| 89 | } |