| export const languages = new Set([ |
| 'adoc', |
| 'apacheconf', |
| 'arm', |
| 'as', |
| 'asc', |
| 'atom', |
| 'bat', |
| 'bf', |
| 'bind', |
| 'c++', |
| 'capnp', |
| 'cc', |
| 'clj', |
| 'cls', |
| 'cmake.in', |
| 'cmd', |
| 'coffee', |
| 'console', |
| 'cr', |
| 'craftcms', |
| 'crm', |
| 'cs', |
| 'cson', |
| 'cts', |
| 'cxx', |
| 'dfm', |
| 'docker', |
| 'dst', |
| 'erl', |
| 'f90', |
| 'f95', |
| 'fs', |
| 'gawk', |
| 'gemspec', |
| 'gms', |
| 'golang', |
| 'gololang', |
| 'gss', |
| 'gyp', |
| 'h', |
| 'h++', |
| 'hbs', |
| 'hh', |
| 'hpp', |
| 'hs', |
| 'html', |
| 'html.handlebars', |
| 'html.hbs', |
| 'https', |
| 'hx', |
| 'hxx', |
| 'hylang', |
| 'i7', |
| 'iced', |
| 'ino', |
| 'instances', |
| 'irb', |
| 'jinja', |
| 'js', |
| 'jsp', |
| 'jsx', |
| 'julia-repl', |
| 'kdb', |
| 'kt', |
| 'lassoscript', |
| 'ls', |
| 'ls', |
| 'mak', |
| 'make', |
| 'mawk', |
| 'md', |
| 'mipsasm', |
| 'mk', |
| 'mkd', |
| 'mkdown', |
| 'ml', |
| 'ml', |
| 'mm', |
| 'mma', |
| 'moon', |
| 'mts', |
| 'nawk', |
| 'nc', |
| 'nginxconf', |
| 'nimrod', |
| 'objc', |
| 'obj-c', |
| 'obj-c++', |
| 'objective-c++', |
| 'osascript', |
| 'pas', |
| 'pascal', |
| 'patch', |
| 'pcmk', |
| 'pf.conf', |
| 'pl', |
| 'plist', |
| 'pm', |
| 'podspec', |
| 'postgres', |
| 'postgresql', |
| 'pp', |
| 'ps', |
| 'ps1', |
| 'py', |
| 'pycon', |
| 'rb', |
| 're', |
| 'rs', |
| 'rss', |
| 'sas', |
| 'scad', |
| 'sci', |
| 'sh', |
| 'st', |
| 'stanfuncs', |
| 'step', |
| 'stp', |
| 'styl', |
| 'svg', |
| 'tao', |
| 'text', |
| 'thor', |
| 'tk', |
| 'toml', |
| 'ts', |
| 'tsx', |
| 'txt', |
| 'v', |
| 'vb', |
| 'vbs', |
| 'wl', |
| 'x++', |
| 'xhtml', |
| 'xjb', |
| 'xls', |
| 'xlsx', |
| 'xpath', |
| 'xq', |
| 'xsd', |
| 'xsl', |
| 'yaml', |
| 'zep', |
| 'zone', |
| 'zsh', |
| '1c', |
| 'abnf', |
| 'accesslog', |
| 'actionscript', |
| 'ada', |
| 'angelscript', |
| 'apache', |
| 'applescript', |
| 'arcade', |
| 'arduino', |
| 'armasm', |
| 'asciidoc', |
| 'aspectj', |
| 'autohotkey', |
| 'autoit', |
| 'avrasm', |
| 'awk', |
| 'axapta', |
| 'bash', |
| 'basic', |
| 'bnf', |
| 'brainfuck', |
| 'c', |
| 'cal', |
| 'capnproto', |
| 'clojure', |
| 'cmake', |
| 'coffeescript', |
| 'coq', |
| 'cos', |
| 'cpp', |
| 'crmsh', |
| 'crystal', |
| 'csharp', |
| 'csp', |
| 'css', |
| 'd', |
| 'dart', |
| 'diff', |
| 'django', |
| 'dns', |
| 'dockerfile', |
| 'dos', |
| 'dpr', |
| 'dsconfig', |
| 'dts', |
| 'dust', |
| 'ebnf', |
| 'elixir', |
| 'elm', |
| 'erlang', |
| 'excel', |
| 'fix', |
| 'fortran', |
| 'fsharp', |
| 'gams', |
| 'gauss', |
| 'gcode', |
| 'gherkin', |
| 'glsl', |
| 'go', |
| 'golo', |
| 'gradle', |
| 'graph', |
| 'graphql', |
| 'groovy', |
| 'haml', |
| 'handlebars', |
| 'haskell', |
| 'haxe', |
| 'http', |
| 'hy', |
| 'inform7', |
| 'ini', |
| 'irpf90', |
| 'java', |
| 'javascript', |
| 'json', |
| 'julia', |
| 'k', |
| 'kotlin', |
| 'lasso', |
| 'ldif', |
| 'leaf', |
| 'less', |
| 'lisp', |
| 'livecodeserver', |
| 'livescript', |
| 'lua', |
| 'makefile', |
| 'markdown', |
| 'mathematica', |
| 'matlab', |
| 'maxima', |
| 'mel', |
| 'mercury', |
| 'mips', |
| 'mizar', |
| 'mojolicious', |
| 'monkey', |
| 'moonscript', |
| 'n1ql', |
| 'nginx', |
| 'nim', |
| 'nix', |
| 'nsis', |
| 'objectivec', |
| 'ocaml', |
| 'openscad', |
| 'oxygene', |
| 'p21', |
| 'parser3', |
| 'perl', |
| 'pf', |
| 'pgsql', |
| 'php', |
| 'plaintext', |
| 'pony', |
| 'powershell', |
| 'processing', |
| 'profile', |
| 'prolog', |
| 'properties', |
| 'protobuf', |
| 'puppet', |
| 'python', |
| 'python-repl', |
| 'qml', |
| 'r', |
| 'reasonml', |
| 'rib', |
| 'rsl', |
| 'ruby', |
| 'ruleslanguage', |
| 'rust', |
| 'SAS', |
| 'scala', |
| 'scheme', |
| 'scilab', |
| 'scss', |
| 'shell', |
| 'smali', |
| 'smalltalk', |
| 'sml', |
| 'sql', |
| 'stan', |
| 'stata', |
| 'stylus', |
| 'subunit', |
| 'swift', |
| 'tap', |
| 'tcl', |
| 'tex', |
| 'thrift', |
| 'tp', |
| 'twig', |
| 'typescript', |
| 'vala', |
| 'vbnet', |
| 'vbscript', |
| 'verilog', |
| 'vhdl', |
| 'vim', |
| 'x86asm', |
| 'xl', |
| 'xml', |
| 'xquery', |
| 'yml', |
| 'zephir', |
| ]); |
|
|
| export const langSubset = [ |
| 'python', |
| 'javascript', |
| 'java', |
| 'go', |
| 'bash', |
| 'c', |
| 'cpp', |
| 'csharp', |
| 'css', |
| 'diff', |
| 'graphql', |
| 'json', |
| 'kotlin', |
| 'less', |
| 'lua', |
| 'makefile', |
| 'markdown', |
| 'objectivec', |
| 'perl', |
| 'php', |
| 'php-template', |
| 'plaintext', |
| 'python-repl', |
| 'r', |
| 'ruby', |
| 'rust', |
| 'scss', |
| 'shell', |
| 'sql', |
| 'swift', |
| 'typescript', |
| 'vbnet', |
| 'wasm', |
| 'xml', |
| 'yaml', |
| ]; |
|
|
| enum Languages { |
| c = 'c', |
| cpp = 'cpp', |
| d = 'd', |
| f90 = 'f90', |
| go = 'go', |
| java = 'java', |
| js = 'js', |
| php = 'php', |
| py = 'py', |
| rs = 'rs', |
| ts = 'ts', |
| } |
|
|
| |
| const languageAliases: Record<string, Languages | undefined> = { |
| |
| c: Languages.c, |
|
|
| |
| cpp: Languages.cpp, |
| 'c++': Languages.cpp, |
| cplusplus: Languages.cpp, |
|
|
| |
| d: Languages.d, |
|
|
| |
| f90: Languages.f90, |
| fortran: Languages.f90, |
| fortran90: Languages.f90, |
|
|
| |
| go: Languages.go, |
| golang: Languages.go, |
|
|
| |
| java: Languages.java, |
|
|
| |
| js: Languages.js, |
| javascript: Languages.js, |
| node: Languages.js, |
| nodejs: Languages.js, |
|
|
| |
| php: Languages.php, |
|
|
| |
| py: Languages.py, |
| python: Languages.py, |
| python3: Languages.py, |
|
|
| |
| rs: Languages.rs, |
| rust: Languages.rs, |
|
|
| |
| ts: Languages.ts, |
| typescript: Languages.ts, |
| }; |
|
|
| export function normalizeLanguage(lang: string): Languages | string { |
| const normalizedLang = lang.toLowerCase().trim(); |
| const validLang = languageAliases[normalizedLang]; |
|
|
| if (!validLang) { |
| return ''; |
| } |
|
|
| return validLang; |
| } |
|
|