typescript: Make VTSLS the default language server for Typescript (#13140)
Additionally, limit # of returned completion items + use fuzzy filtering on VTSLS side. Prime LSP handler for response handling. Release Notes: - VTSLS is now a default language server for TypeScript, TSX, and JavaScript.
This commit is contained in:
parent
39edbe1c50
commit
8af8493da6
2 changed files with 71 additions and 17 deletions
|
@ -131,7 +131,14 @@
|
||||||
// The default number of lines to expand excerpts in the multibuffer by.
|
// The default number of lines to expand excerpts in the multibuffer by.
|
||||||
"expand_excerpt_lines": 3,
|
"expand_excerpt_lines": 3,
|
||||||
// Globs to match against file paths to determine if a file is private.
|
// Globs to match against file paths to determine if a file is private.
|
||||||
"private_files": ["**/.env*", "**/*.pem", "**/*.key", "**/*.cert", "**/*.crt", "**/secrets.yml"],
|
"private_files": [
|
||||||
|
"**/.env*",
|
||||||
|
"**/*.pem",
|
||||||
|
"**/*.key",
|
||||||
|
"**/*.cert",
|
||||||
|
"**/*.crt",
|
||||||
|
"**/secrets.yml"
|
||||||
|
],
|
||||||
// Whether to use additional LSP queries to format (and amend) the code after
|
// Whether to use additional LSP queries to format (and amend) the code after
|
||||||
// every "trigger" symbol input, defined by LSP server capabilities.
|
// every "trigger" symbol input, defined by LSP server capabilities.
|
||||||
"use_on_type_format": true,
|
"use_on_type_format": true,
|
||||||
|
@ -722,7 +729,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"JavaScript": {
|
"JavaScript": {
|
||||||
"language_servers": ["typescript-language-server", "!vtsls", "..."],
|
"language_servers": ["!typescript-language-server", "vtsls", "..."],
|
||||||
"prettier": {
|
"prettier": {
|
||||||
"allowed": true
|
"allowed": true
|
||||||
}
|
}
|
||||||
|
@ -765,7 +772,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"TSX": {
|
"TSX": {
|
||||||
"language_servers": ["typescript-language-server", "!vtsls", "..."],
|
"language_servers": ["!typescript-language-server", "vtsls", "..."],
|
||||||
"prettier": {
|
"prettier": {
|
||||||
"allowed": true
|
"allowed": true
|
||||||
}
|
}
|
||||||
|
@ -776,7 +783,7 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"TypeScript": {
|
"TypeScript": {
|
||||||
"language_servers": ["typescript-language-server", "!vtsls", "..."],
|
"language_servers": ["!typescript-language-server", "vtsls", "..."],
|
||||||
"prettier": {
|
"prettier": {
|
||||||
"allowed": true
|
"allowed": true
|
||||||
}
|
}
|
||||||
|
|
|
@ -174,8 +174,60 @@ impl LspAdapter for VtslsLspAdapter {
|
||||||
"enabled": "all",
|
"enabled": "all",
|
||||||
"suppressWhenArgumentMatchesName": false,
|
"suppressWhenArgumentMatchesName": false,
|
||||||
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"parameterTypes":
|
||||||
|
{
|
||||||
|
"enabled": true
|
||||||
|
},
|
||||||
|
"variableTypes": {
|
||||||
|
"enabled": true,
|
||||||
|
"suppressWhenTypeMatchesName": false,
|
||||||
|
},
|
||||||
|
"propertyDeclarationTypes":{
|
||||||
|
"enabled": true,
|
||||||
|
},
|
||||||
|
"functionLikeReturnTypes": {
|
||||||
|
"enabled": true,
|
||||||
|
},
|
||||||
|
"enumMemberValues":{
|
||||||
|
"enabled": true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"vtsls":
|
||||||
|
{"experimental": {
|
||||||
|
"completion": {
|
||||||
|
"enableServerSideFuzzyMatch": true,
|
||||||
|
"entriesLimit": 5000,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})))
|
||||||
|
}
|
||||||
|
|
||||||
|
async fn workspace_configuration(
|
||||||
|
self: Arc<Self>,
|
||||||
|
_: &Arc<dyn LspAdapterDelegate>,
|
||||||
|
_cx: &mut AsyncAppContext,
|
||||||
|
) -> Result<Value> {
|
||||||
|
Ok(json!({
|
||||||
|
"typescript": {
|
||||||
|
"suggest": {
|
||||||
|
"completeFunctionCalls": true
|
||||||
|
},
|
||||||
|
"tsdk": "node_modules/typescript/lib",
|
||||||
|
"format": {
|
||||||
|
"enable": true
|
||||||
|
},
|
||||||
|
"inlayHints":{
|
||||||
|
"parameterNames":
|
||||||
|
{
|
||||||
|
"enabled": "all",
|
||||||
|
"suppressWhenArgumentMatchesName": false,
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
"parameterTypes":
|
"parameterTypes":
|
||||||
{
|
{
|
||||||
"enabled": true
|
"enabled": true
|
||||||
|
@ -194,20 +246,15 @@ impl LspAdapter for VtslsLspAdapter {
|
||||||
"enabled": true,
|
"enabled": true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})))
|
},
|
||||||
}
|
"vtsls":
|
||||||
|
{"experimental": {
|
||||||
async fn workspace_configuration(
|
"completion": {
|
||||||
self: Arc<Self>,
|
"enableServerSideFuzzyMatch": true,
|
||||||
_: &Arc<dyn LspAdapterDelegate>,
|
"entriesLimit": 5000,
|
||||||
_cx: &mut AsyncAppContext,
|
|
||||||
) -> Result<Value> {
|
|
||||||
Ok(json!({
|
|
||||||
"typescript": {
|
|
||||||
"suggest": {
|
|
||||||
"completeFunctionCalls": true
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue