From fbd2a5d7b7c31b26bec4c19f0531090e9e00735d Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Sun, 3 Aug 2025 22:42:29 +0900 Subject: [PATCH 1/2] add typescript-go --- autoload/lsp_settings.vim | 2 +- checkers/typescript-go.vim | 4 ++++ settings.json | 12 ++++++++++++ settings/typescript-go.vim | 14 ++++++++++++++ 4 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 checkers/typescript-go.vim create mode 100644 settings/typescript-go.vim diff --git a/autoload/lsp_settings.vim b/autoload/lsp_settings.vim index b4f679a7..9280275e 100644 --- a/autoload/lsp_settings.vim +++ b/autoload/lsp_settings.vim @@ -524,7 +524,7 @@ function! s:vim_lsp_load_or_suggest(ft) abort endif let l:group_name = lsp_settings#utils#group_name(a:ft) exe 'augroup' l:group_name - autocmd! + autocmd! augroup END exe 'augroup!' l:group_name diff --git a/checkers/typescript-go.vim b/checkers/typescript-go.vim new file mode 100644 index 00000000..d6ad9bd3 --- /dev/null +++ b/checkers/typescript-go.vim @@ -0,0 +1,4 @@ +function! LspCheckCommand() abort + return lsp_settings#exec_path('tsgo') +endfunction + diff --git a/settings.json b/settings.json index 69ff6236..799a1f30 100644 --- a/settings.json +++ b/settings.json @@ -1909,6 +1909,18 @@ } ], "typescript": [ + { + "command": "typescript-go", + "url": "https://github.com/microsoft/typescript-go", + "description": "Staging repo for development of native port of TypeScript", + "requires": [ + "npx" + ], + "root_uri_patterns": [ + "package.json", + "tsconfig.json" + ] + }, { "command": "typescript-language-server", "url": "https://github.com/typescript-language-server/typescript-language-server", diff --git a/settings/typescript-go.vim b/settings/typescript-go.vim new file mode 100644 index 00000000..14e59a8e --- /dev/null +++ b/settings/typescript-go.vim @@ -0,0 +1,14 @@ +augroup vim_lsp_settings_typescript_go + au! + LspRegisterServer { + \ 'name': 'typescript-go', + \ 'cmd': {server_info->lsp_settings#get('typescript-go', 'cmd', [lsp_settings#exec_path('tsgo')]+lsp_settings#get('typescript-go', 'args', ['--lsp', '--stdio']))}, + \ 'root_uri':{server_info->lsp_settings#get('typescript-go', 'root_uri', lsp_settings#root_uri('typescript-go'))}, + \ 'initialization_options': lsp_settings#get('typescript-go', 'initialization_options', {}), + \ 'allowlist': lsp_settings#get('typescript-go', 'allowlist', ['javascript', 'javascriptreact', 'typescript', 'typescriptreact', 'typescript.tsx', 'json']), + \ 'blocklist': lsp_settings#get('typescript-go', 'blocklist', []), + \ 'config': lsp_settings#get('typescript-go', 'config', {}), + \ 'workspace_config': lsp_settings#get('typescript-go', 'workspace_config', {}), + \ 'semantic_highlight': lsp_settings#get('typescript-go', 'semantic_highlight', {}), + \} +augroup END From aef09c6a95c57779c4f3885579e8aec8eae6739a Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Thu, 7 Aug 2025 08:41:02 +0900 Subject: [PATCH 2/2] specity filetypes strictly --- settings/typescript-go.vim | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings/typescript-go.vim b/settings/typescript-go.vim index 14e59a8e..bb792bf1 100644 --- a/settings/typescript-go.vim +++ b/settings/typescript-go.vim @@ -5,7 +5,7 @@ augroup vim_lsp_settings_typescript_go \ 'cmd': {server_info->lsp_settings#get('typescript-go', 'cmd', [lsp_settings#exec_path('tsgo')]+lsp_settings#get('typescript-go', 'args', ['--lsp', '--stdio']))}, \ 'root_uri':{server_info->lsp_settings#get('typescript-go', 'root_uri', lsp_settings#root_uri('typescript-go'))}, \ 'initialization_options': lsp_settings#get('typescript-go', 'initialization_options', {}), - \ 'allowlist': lsp_settings#get('typescript-go', 'allowlist', ['javascript', 'javascriptreact', 'typescript', 'typescriptreact', 'typescript.tsx', 'json']), + \ 'allowlist': lsp_settings#get('typescript-go', 'allowlist', ['typescript', 'typescriptreact', 'typescript.tsx']), \ 'blocklist': lsp_settings#get('typescript-go', 'blocklist', []), \ 'config': lsp_settings#get('typescript-go', 'config', {}), \ 'workspace_config': lsp_settings#get('typescript-go', 'workspace_config', {}),