Files
windmill/frontend/src/lib/editorLangUtils.ts
2025-06-29 22:46:27 +00:00

113 lines
2.6 KiB
TypeScript

export function langToExt(lang: string): string {
switch (lang) {
case 'tsx':
return 'tsx'
case 'javascript':
return 'js'
case 'jsx':
return 'js'
case 'bunnative':
return 'ts'
case 'json':
return 'json'
case 'sql':
return 'sql'
case 'yaml':
return 'yaml'
case 'typescript':
return 'ts'
case 'python':
return 'py'
case 'go':
return 'go'
case 'bash':
return 'sh'
case 'powershell':
return 'ps1'
case 'php':
return 'php'
case 'rust':
return 'rs'
case 'deno':
return 'ts'
case 'nativets':
return 'ts'
case 'graphql':
return 'gql'
case 'css':
return 'css'
case 'ansible':
return 'yml'
case 'csharp':
return 'cs'
case 'nu':
return 'nu'
case 'java':
return 'java'
case 'svelte':
return 'svelte'
case 'vue':
return 'vue'
default:
return 'unknown'
}
}
export function extToLang(ext: string) {
switch (ext) {
case 'tsx':
return 'typescript'
case 'ts':
return 'typescript'
case 'js':
return 'javascript'
case 'jsx':
return 'javascript'
case 'json':
return 'json'
case 'sql':
return 'sql'
case 'yaml':
return 'yaml'
case 'py':
return 'python'
case 'go':
return 'go'
case 'sh':
return 'bash'
case 'ps1':
return 'powershell'
case 'php':
return 'php'
case 'rs':
return 'rust'
case 'gql':
return 'graphql'
case 'css':
return 'css'
case 'yml':
return 'ansible'
case 'cs':
return 'csharp'
case 'svelte':
return 'svelte'
case 'vue':
return 'vue'
case 'nu':
return 'nu'
case 'java':
return 'java'
// for related places search: ADD_NEW_LANG
default:
return 'unknown'
}
}
export function createHash() {
return (Math.random() + 1).toString(36).substring(2)
}
export function createLongHash() {
return 'h' + Math.random().toString(36).substring(2) + Math.random().toString(36).substring(2)
}