add languages
parent
c69e210f7d
commit
1614bd1eed
|
@ -18,12 +18,11 @@ import {
|
||||||
TransportKind,
|
TransportKind,
|
||||||
} from 'vscode-languageclient'
|
} from 'vscode-languageclient'
|
||||||
import { registerConfigErrorHandler } from './lib/registerConfigErrorHandler'
|
import { registerConfigErrorHandler } from './lib/registerConfigErrorHandler'
|
||||||
|
import { LANGUAGES } from './lib/languages'
|
||||||
|
|
||||||
let defaultClient: LanguageClient
|
let defaultClient: LanguageClient
|
||||||
let clients: Map<string, LanguageClient> = new Map()
|
let clients: Map<string, LanguageClient> = new Map()
|
||||||
|
|
||||||
const LANGS = ['css', 'javascript', 'html', 'vue', 'svelte']
|
|
||||||
|
|
||||||
let _sortedWorkspaceFolders: string[] | undefined
|
let _sortedWorkspaceFolders: string[] | undefined
|
||||||
function sortedWorkspaceFolders(): string[] {
|
function sortedWorkspaceFolders(): string[] {
|
||||||
if (_sortedWorkspaceFolders === void 0) {
|
if (_sortedWorkspaceFolders === void 0) {
|
||||||
|
@ -72,7 +71,7 @@ export function activate(context: ExtensionContext) {
|
||||||
function didOpenTextDocument(document: TextDocument): void {
|
function didOpenTextDocument(document: TextDocument): void {
|
||||||
// We are only interested in language mode text
|
// We are only interested in language mode text
|
||||||
if (
|
if (
|
||||||
LANGS.indexOf(document.languageId) === -1 ||
|
LANGUAGES.indexOf(document.languageId) === -1 ||
|
||||||
(document.uri.scheme !== 'file' && document.uri.scheme !== 'untitled')
|
(document.uri.scheme !== 'file' && document.uri.scheme !== 'untitled')
|
||||||
) {
|
) {
|
||||||
return
|
return
|
||||||
|
@ -87,7 +86,7 @@ export function activate(context: ExtensionContext) {
|
||||||
debug: { module, transport: TransportKind.ipc, options: debugOptions },
|
debug: { module, transport: TransportKind.ipc, options: debugOptions },
|
||||||
}
|
}
|
||||||
let clientOptions: LanguageClientOptions = {
|
let clientOptions: LanguageClientOptions = {
|
||||||
documentSelector: LANGS.map((language) => ({
|
documentSelector: LANGUAGES.map((language) => ({
|
||||||
scheme: 'untitled',
|
scheme: 'untitled',
|
||||||
language,
|
language,
|
||||||
})),
|
})),
|
||||||
|
@ -121,7 +120,7 @@ export function activate(context: ExtensionContext) {
|
||||||
debug: { module, transport: TransportKind.ipc, options: debugOptions },
|
debug: { module, transport: TransportKind.ipc, options: debugOptions },
|
||||||
}
|
}
|
||||||
let clientOptions: LanguageClientOptions = {
|
let clientOptions: LanguageClientOptions = {
|
||||||
documentSelector: LANGS.map((language) => ({
|
documentSelector: LANGUAGES.map((language) => ({
|
||||||
scheme: 'file',
|
scheme: 'file',
|
||||||
language,
|
language,
|
||||||
pattern: `${folder.uri.fsPath}/**/*`,
|
pattern: `${folder.uri.fsPath}/**/*`,
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
export const LANGUAGES = [
|
||||||
|
// html
|
||||||
|
'blade',
|
||||||
|
'django-html',
|
||||||
|
'edge',
|
||||||
|
'ejs',
|
||||||
|
'erb',
|
||||||
|
'haml',
|
||||||
|
'handlebars',
|
||||||
|
'html',
|
||||||
|
'HTML (Eex)',
|
||||||
|
'jade',
|
||||||
|
'leaf',
|
||||||
|
'markdown',
|
||||||
|
'njk',
|
||||||
|
'nunjucks',
|
||||||
|
'php',
|
||||||
|
'razor',
|
||||||
|
'slim',
|
||||||
|
'twig',
|
||||||
|
// css
|
||||||
|
'css',
|
||||||
|
'less',
|
||||||
|
'postcss',
|
||||||
|
'sass',
|
||||||
|
'scss',
|
||||||
|
'stylus',
|
||||||
|
// js
|
||||||
|
'javascript',
|
||||||
|
'javascriptreact',
|
||||||
|
'reason',
|
||||||
|
'typescriptreact',
|
||||||
|
// mixed
|
||||||
|
'vue',
|
||||||
|
'svelte',
|
||||||
|
]
|
Loading…
Reference in New Issue