in packages/core/src/codewhispererChat/editor/context/file/languages.ts [52:114]
export function extractLanguageNameFromFile(file: TextDocument): string | undefined {
const languageId = file.languageId
if (languageId === undefined) {
return undefined
}
if (defaultLanguages.includes(languageId)) {
return languageId
}
switch (languageId) {
case 'bat':
return 'bat'
case 'cpp':
return 'c++'
case 'csharp':
return 'c#'
case 'cuda-cpp':
return 'c++'
case 'dockerfile':
return 'dockerfile'
case 'fsharp':
return 'f#'
case 'git-commit':
return 'git'
case 'git-rebase':
return 'git'
case 'javascriptreact':
return 'javascript'
case 'jsonc':
return 'json'
case 'objective-c':
return 'objective-c'
case 'objective-cpp':
return 'objective-c++'
case 'perl6':
return 'raku'
case 'plaintext':
return undefined
case 'jade':
return 'pug'
case 'razor':
return 'razor'
case 'scss':
return 'sass'
case 'shellscript':
return 'sh'
case 'typescriptreact':
return 'typescript'
case 'vb':
return 'visual-basic'
case 'vue-html':
return 'vue'
default:
if (['javascript', 'node'].some((identifier) => languageId.includes(identifier))) {
return 'javascript'
} else if (languageId.includes('typescript')) {
return 'typescript'
} else if (languageId.includes('python')) {
return 'python'
}
return undefined
}
}