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 'scss':
			return 'scss'
		case 'less':
			return 'less'
		case 'html':
		case 'htm':
			return 'html'
		case 'md':
		case 'markdown':
			return 'markdown'
		case 'xml':
			return 'xml'
		case 'svg':
			return 'xml'
		case 'txt':
			return 'plaintext'
		case 'yml':
			return 'ansible'
		case 'cs':
			return 'csharp'
		case 'svelte':
			return 'svelte'
		case 'vue':
			return 'vue'
		case 'nu':
			return 'nu'
		case 'java':
			return 'java'
		case 'rb':
			return 'ruby'
		case 'r':
			return 'r'
		// 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)
}
