replaced neovim config with helix config
This commit is contained in:
parent
f2af11c597
commit
eb5c87cd37
30 changed files with 74 additions and 1977 deletions
git
helix
kitty
nvim
init.viminstall-packer
lua
.luarc.jsonautocmd.luaconfig.luakeybindings.lua
node_modules
plugins-conf.luaplugins.luauserfuncs.luasnippets
spell
scripts
sway/config.d
wallpaper
|
@ -15,7 +15,8 @@
|
||||||
[push]
|
[push]
|
||||||
autoSetupRemote = true
|
autoSetupRemote = true
|
||||||
[core]
|
[core]
|
||||||
editor = nvim
|
editor = hx
|
||||||
|
autocrlf = input
|
||||||
[filter "lfs"]
|
[filter "lfs"]
|
||||||
clean = git-lfs clean -- %f
|
clean = git-lfs clean -- %f
|
||||||
smudge = git-lfs smudge -- %f
|
smudge = git-lfs smudge -- %f
|
||||||
|
|
21
helix/config.toml
Normal file
21
helix/config.toml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
theme = "catppuccin_mocha"
|
||||||
|
|
||||||
|
[editor]
|
||||||
|
color-modes = true
|
||||||
|
end-of-line-diagnostics = "hint"
|
||||||
|
auto-pairs = false
|
||||||
|
|
||||||
|
[editor.statusline]
|
||||||
|
left = ["mode", "separator", "file-name"]
|
||||||
|
right = ["spinner", "diagnostics", "selections", "position", "file-encoding", "file-line-ending", "file-type"]
|
||||||
|
separator = ""
|
||||||
|
|
||||||
|
[editor.whitespace.render]
|
||||||
|
tab = "all"
|
||||||
|
newline = "all"
|
||||||
|
|
||||||
|
[editor.soft-wrap]
|
||||||
|
enable = true
|
||||||
|
|
||||||
|
[editor.inline-diagnostics]
|
||||||
|
cursor-line = "warning"
|
3
helix/languages.toml
Normal file
3
helix/languages.toml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[[language]]
|
||||||
|
name = "markdown"
|
||||||
|
language-servers = [ "ltex-ls" ]
|
|
@ -35,3 +35,5 @@ font_family family='MonoLisa' style=Light features='+ss02 +ss07 +ss11 +ss18
|
||||||
bold_font family='MonoLisa' style=Medium features='+ss02 +ss07 +ss11 +ss18 +zero -liga -calt'
|
bold_font family='MonoLisa' style=Medium features='+ss02 +ss07 +ss11 +ss18 +zero -liga -calt'
|
||||||
italic_font family='MonoLisa' style='Light Italic' features='+ss02 +ss07 +ss11 +ss18 +zero -liga -calt'
|
italic_font family='MonoLisa' style='Light Italic' features='+ss02 +ss07 +ss11 +ss18 +zero -liga -calt'
|
||||||
bold_italic_font family='MonoLisa' style='Medium Italic' features='+ss02 +ss07 +ss11 +ss18 +zero -liga -calt'
|
bold_italic_font family='MonoLisa' style='Medium Italic' features='+ss02 +ss07 +ss11 +ss18 +zero -liga -calt'
|
||||||
|
|
||||||
|
notify_on_cmd_finish never
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
lua require('config')
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
|
|
||||||
~/.local/share/nvim/site/pack/packer/start/packer.nvim
|
|
|
@ -1,3 +0,0 @@
|
||||||
{
|
|
||||||
"workspace.checkThirdParty": false
|
|
||||||
}
|
|
|
@ -1,17 +0,0 @@
|
||||||
-- recognize csx files as csharp
|
|
||||||
vim.api.nvim_command('au BufRead,BufNewFile *.csx set filetype=cs')
|
|
||||||
|
|
||||||
-- enable dadbod completion for sql files
|
|
||||||
vim.api.nvim_command("au FileType sql let b:db = exists('*DotenvGet') ? DotenvGet('DATABASE_URL') : eval('$DATABASE_URL')")
|
|
||||||
vim.api.nvim_command([[au FileType sql lua require'cmp'.setup.buffer {
|
|
||||||
sources = {
|
|
||||||
{ name = 'vim-dadbod-completion' },
|
|
||||||
{ name = 'buffer' },
|
|
||||||
}}
|
|
||||||
]])
|
|
||||||
|
|
||||||
-- word break and spelling in markdown files
|
|
||||||
vim.api.nvim_command('au BufRead,BufNewFile *.md set spell lbr')
|
|
||||||
|
|
||||||
-- hard wrap and spelling in gph files
|
|
||||||
vim.api.nvim_command('au BufRead,BufNewFile *.gph set spell tw=72 colorcolumn=+0')
|
|
|
@ -1,33 +0,0 @@
|
||||||
vim.o.termguicolors = true
|
|
||||||
|
|
||||||
vim.g.mapleader = ','
|
|
||||||
|
|
||||||
vim.opt.guicursor = ''
|
|
||||||
vim.opt.cursorline = true
|
|
||||||
vim.opt.expandtab = true
|
|
||||||
vim.opt.hidden = true
|
|
||||||
vim.opt.ignorecase = true
|
|
||||||
vim.opt.list = true
|
|
||||||
vim.opt.listchars = 'eol:¶,tab:→ ,trail:␣,extends:»,precedes:«'
|
|
||||||
vim.opt.fillchars = 'stl: ,stlnc:-,vert:|,fold:-,diff:-'
|
|
||||||
vim.opt.mouse = 'a'
|
|
||||||
vim.opt.number = true
|
|
||||||
vim.opt.shiftwidth = 2
|
|
||||||
vim.opt.signcolumn = 'yes'
|
|
||||||
vim.opt.softtabstop = 2
|
|
||||||
vim.opt.tabstop = 2
|
|
||||||
vim.opt.undofile = true
|
|
||||||
vim.opt.undolevels = 9999
|
|
||||||
vim.opt.wrap = true
|
|
||||||
vim.opt.autoindent = true
|
|
||||||
vim.opt.smartindent = true
|
|
||||||
|
|
||||||
vim.g['loaded_netrw'] = 1
|
|
||||||
vim.g['loaded_netrwPlugin'] = 1
|
|
||||||
vim.cmd('filetype plugin on')
|
|
||||||
|
|
||||||
require('userfuncs')
|
|
||||||
require('plugins')
|
|
||||||
require('plugins-conf')
|
|
||||||
require('keybindings')
|
|
||||||
require('autocmd')
|
|
|
@ -1,69 +0,0 @@
|
||||||
local cwdopt = '{cwd = require("userfuncs").find_project_root()}'
|
|
||||||
|
|
||||||
local noremap = {noremap = true}
|
|
||||||
local snoremap = { noremap = true, silent = true }
|
|
||||||
|
|
||||||
-- up and down between wrapped lines
|
|
||||||
vim.api.nvim_set_keymap('', 'k', 'gk', snoremap)
|
|
||||||
vim.api.nvim_set_keymap('', 'j', 'gj', snoremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<Up>', 'gk', snoremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<Down>', 'gj', snoremap)
|
|
||||||
vim.api.nvim_set_keymap('i', '<Up>', '<c-\\><c-o>gk', snoremap)
|
|
||||||
vim.api.nvim_set_keymap('i', '<Down>', '<c-\\><c-o>gj', snoremap)
|
|
||||||
|
|
||||||
-- file navigation
|
|
||||||
vim.api.nvim_set_keymap('n', '-', '<cmd>:Telescope file_browser path=%:p:h select_buffer=true<cr>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('n', '<F1>', '<cmd>b#<cr>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('i', '<F1>', '<cmd>b#<cr>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>-', '<cmd>lua require("telescope.builtin").find_files('..cwdopt..')<cr>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('n', '_', '<cmd>lua require("telescope.builtin").buffers('..cwdopt..')<cr>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>gg', '<cmd>lua require("telescope.builtin").live_grep('..cwdopt..')<cr>', noremap)
|
|
||||||
|
|
||||||
-- lsp stuff
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>fu', '<cmd>Telescope lsp_references<cr>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>gd', '<cmd>Telescope lsp_definitions<cr>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>rn', '<cmd>lua vim.lsp.buf.rename()<cr>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>dn', '<cmd>lua vim.diagnostic.goto_next()<cr>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>dN', '<cmd>lua vim.diagnostic.goto_prev()<cr>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>xx', '<cmd>lua vim.lsp.buf.code_action()<cr>', noremap)
|
|
||||||
|
|
||||||
-- dadbod stuff
|
|
||||||
vim.cmd([[
|
|
||||||
augroup dadbod_keybindings
|
|
||||||
autocmd!
|
|
||||||
autocmd FileType sql nnoremap <buffer> <F5> :'{,'}DB<cr>
|
|
||||||
autocmd FileType sql vnoremap <buffer> <F5> :DB<cr>
|
|
||||||
autocmd FileType sql inoremap <buffer> <F5> <C-o>:'{,'}DB<cr>
|
|
||||||
augroup end
|
|
||||||
]])
|
|
||||||
|
|
||||||
-- misc
|
|
||||||
-- f2 gets highlight details of thing under cursor
|
|
||||||
vim.api.nvim_set_keymap('n', '<F2>', '<cmd>echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . "> trans<" . synIDattr(synID(line("."),col("."),0),"name") . "> lo<" . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">"<cr>', noremap)
|
|
||||||
-- f3 for synonym list under cursor
|
|
||||||
vim.api.nvim_set_keymap('n', '<F3>', '<cmd>lua require("telescope").extensions.dict.synonyms()<cr>', noremap)
|
|
||||||
-- replace z= with telescope spell_suggest
|
|
||||||
vim.api.nvim_set_keymap('n', 'z=', '<cmd>Telescope spell_suggest<cr>', noremap)
|
|
||||||
|
|
||||||
-- f12 for zen mode
|
|
||||||
vim.api.nvim_set_keymap('n', '<F12>', '<cmd>TZAtaraxis<cr>', noremap)
|
|
||||||
|
|
||||||
-- clipboard history
|
|
||||||
vim.api.nvim_set_keymap('n', '<leader>y', '<cmd>YankBank<cr>', noremap)
|
|
||||||
|
|
||||||
vim.api.nvim_set_keymap('', '<S-ScrollWheelUp>', '<ScrollWheelLeft>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-ScrollWheelDown>', '<ScrollWheelRight>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-2-ScrollWheelUp>', '<2-ScrollWheelLeft>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-2-ScrollWheelDown>', '<2-ScrollWheelRight>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-3-ScrollWheelUp>', '<3-ScrollWheelLeft>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-3-ScrollWheelDown>', '<3-ScrollWheelRight>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-4-ScrollWheelUp>', '<4-ScrollWheelLeft>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-4-ScrollWheelDown>', '<4-ScrollWheelRight>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-PageUp>', '<ScrollWheelLeft>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-PageDown>', '<ScrollWheelRight>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-2-PageUp>', '<2-ScrollWheelLeft>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-2-PageDown>', '<2-ScrollWheelRight>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-3-PageUp>', '<3-ScrollWheelLeft>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-3-PageDown>', '<3-ScrollWheelRight>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-4-PageUp>', '<4-ScrollWheelLeft>', noremap)
|
|
||||||
vim.api.nvim_set_keymap('', '<S-4-PageDown>', '<4-ScrollWheelRight>', noremap)
|
|
1
nvim/lua/node_modules/.bin/typescript-language-server
generated
vendored
1
nvim/lua/node_modules/.bin/typescript-language-server
generated
vendored
|
@ -1 +0,0 @@
|
||||||
../typescript-language-server/lib/cli.mjs
|
|
18
nvim/lua/node_modules/.package-lock.json
generated
vendored
18
nvim/lua/node_modules/.package-lock.json
generated
vendored
|
@ -1,18 +0,0 @@
|
||||||
{
|
|
||||||
"name": "lua",
|
|
||||||
"lockfileVersion": 2,
|
|
||||||
"requires": true,
|
|
||||||
"packages": {
|
|
||||||
"node_modules/typescript-language-server": {
|
|
||||||
"version": "3.3.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-3.3.1.tgz",
|
|
||||||
"integrity": "sha512-sm9KNsjYMxzXTNhkNK05K3BN1NkYlOFF4TgqVvzk8l9E2I5SBE7Odrhe3LzCA/78MASO1nWfXx3u96wAhLIhsw==",
|
|
||||||
"bin": {
|
|
||||||
"typescript-language-server": "lib/cli.mjs"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=14.17"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
514
nvim/lua/node_modules/typescript-language-server/CHANGELOG.md
generated
vendored
514
nvim/lua/node_modules/typescript-language-server/CHANGELOG.md
generated
vendored
|
@ -1,514 +0,0 @@
|
||||||
# Changelog
|
|
||||||
All notable changes to this project will be documented in this file.
|
|
||||||
|
|
||||||
## [3.3.1](https://github.com/typescript-language-server/typescript-language-server/compare/v3.3.0...v3.3.1) (2023-03-27)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* don't report InternalError on tsserver error response ([#709](https://github.com/typescript-language-server/typescript-language-server/issues/709)) ([3e63165](https://github.com/typescript-language-server/typescript-language-server/commit/3e6316546eb5c8b6fd2fb8c26c88b7b6a6331472))
|
|
||||||
|
|
||||||
## [3.3.0](https://github.com/typescript-language-server/typescript-language-server/compare/v3.2.0...v3.3.0) (2023-02-20)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* start separate tsServer instance for semantic requests ([#688](https://github.com/typescript-language-server/typescript-language-server/issues/688)) ([fa65b84](https://github.com/typescript-language-server/typescript-language-server/commit/fa65b847f4a87672cc28302f38fd86e8f56d6112))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **completions:** include `filterText` property by default ([#693](https://github.com/typescript-language-server/typescript-language-server/issues/693)) ([c07426a](https://github.com/typescript-language-server/typescript-language-server/commit/c07426adc8b079273c267e18d11993d53d482886))
|
|
||||||
|
|
||||||
## [3.2.0](https://github.com/typescript-language-server/typescript-language-server/compare/v3.1.0...v3.2.0) (2023-02-14)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* `source.removeUnusedImports.ts` and `source.sortImports.ts` actions ([#681](https://github.com/typescript-language-server/typescript-language-server/issues/681)) ([a43b2df](https://github.com/typescript-language-server/typescript-language-server/commit/a43b2df471572ca2e25b12899f65fca77853af35))
|
|
||||||
* provide filterText property in completions ([#678](https://github.com/typescript-language-server/typescript-language-server/issues/678)) ([af44f8b](https://github.com/typescript-language-server/typescript-language-server/commit/af44f8b1b5a252ca9ba019691ad81dc2e5006468))
|
|
||||||
* support `workspace/willRenameFiles` request ([#685](https://github.com/typescript-language-server/typescript-language-server/issues/685)) ([c3f3529](https://github.com/typescript-language-server/typescript-language-server/commit/c3f3529be45a1630fe7903a5af9e732855f2c664))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **completions:** don't set `filterText` after all ([#686](https://github.com/typescript-language-server/typescript-language-server/issues/686)) ([4c5d295](https://github.com/typescript-language-server/typescript-language-server/commit/4c5d295d4f71f6b5d8f2c58e908d5cc79cb9e3d2))
|
|
||||||
* **completions:** don't set commitCharacters unless client supports those ([#684](https://github.com/typescript-language-server/typescript-language-server/issues/684)) ([af10a97](https://github.com/typescript-language-server/typescript-language-server/commit/af10a977f38626797dbadca935c71f92556fdb39))
|
|
||||||
* **deps:** update devdependency typescript to ^4.9.5 ([#677](https://github.com/typescript-language-server/typescript-language-server/issues/677)) ([916c326](https://github.com/typescript-language-server/typescript-language-server/commit/916c326d576b9f13a05563495dffa27b4d02ee6e))
|
|
||||||
* line offset off by one when at the last line ([#683](https://github.com/typescript-language-server/typescript-language-server/issues/683)) ([0db9a5f](https://github.com/typescript-language-server/typescript-language-server/commit/0db9a5faa4bc03560506ffd030e795a35e45e3f8))
|
|
||||||
|
|
||||||
## [3.1.0](https://github.com/typescript-language-server/typescript-language-server/compare/v3.0.3...v3.1.0) (2023-01-30)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* send `$/typescriptVersion` notification with TypeScript version ([#674](https://github.com/typescript-language-server/typescript-language-server/issues/674)) ([b081112](https://github.com/typescript-language-server/typescript-language-server/commit/b081112f12a35fa70aae3a134191dea025de64da))
|
|
||||||
* support for canceling LSP requests ([#672](https://github.com/typescript-language-server/typescript-language-server/issues/672)) ([1daf209](https://github.com/typescript-language-server/typescript-language-server/commit/1daf209121fc20bbc0a64ec0491cd40582cb9a4b))
|
|
||||||
|
|
||||||
## [3.0.3](https://github.com/typescript-language-server/typescript-language-server/compare/v3.0.2...v3.0.3) (2023-01-23)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* restore tsserver version logging on initialization ([#669](https://github.com/typescript-language-server/typescript-language-server/issues/669)) ([232219c](https://github.com/typescript-language-server/typescript-language-server/commit/232219cd0fe138558ed98e22aa7314e0941e4f10))
|
|
||||||
|
|
||||||
## [3.0.2](https://github.com/typescript-language-server/typescript-language-server/compare/v3.0.1...v3.0.2) (2023-01-14)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* remove hard dependency on typescript ([#661](https://github.com/typescript-language-server/typescript-language-server/issues/661)) ([9a2e2c8](https://github.com/typescript-language-server/typescript-language-server/commit/9a2e2c83d4992cd90cebc706618a9af604fcf1a9))
|
|
||||||
|
|
||||||
|
|
||||||
### Refactors
|
|
||||||
|
|
||||||
* bundle with rollup and switch to jest for testing ([#663](https://github.com/typescript-language-server/typescript-language-server/issues/663)) ([2c9eb63](https://github.com/typescript-language-server/typescript-language-server/commit/2c9eb632659a3bb9995095576afe88e84833bbdd))
|
|
||||||
|
|
||||||
## [3.0.1](https://github.com/typescript-language-server/typescript-language-server/compare/v3.0.0...v3.0.1) (2022-12-30)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* cancel pending geterr request before triggering new ([#651](https://github.com/typescript-language-server/typescript-language-server/issues/651)) ([95b92e5](https://github.com/typescript-language-server/typescript-language-server/commit/95b92e5d15f47eea77e08765a1e378dbcd90d1f0))
|
|
||||||
|
|
||||||
## [3.0.0](https://github.com/typescript-language-server/typescript-language-server/compare/v2.3.0...v3.0.0) (2022-12-29)
|
|
||||||
|
|
||||||
|
|
||||||
### ⚠ BREAKING CHANGES
|
|
||||||
|
|
||||||
* Remove experimental and legacy implementations of inlay hints and call hierarchy. Use to the official `textDocument/inlayHint` and `textDocument/prepareCallHierarchy` implementations instead.
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* drop experimental `textDocument/calls`, `typescript/inlayHints` ([#647](https://github.com/typescript-language-server/typescript-language-server/issues/647)) ([b15f8a7](https://github.com/typescript-language-server/typescript-language-server/commit/b15f8a7cca8470b0ef9e9878e94fba95e278d372))
|
|
||||||
* implement support for spec version of Call Hierarchy ([#649](https://github.com/typescript-language-server/typescript-language-server/issues/649)) ([3ce0e17](https://github.com/typescript-language-server/typescript-language-server/commit/3ce0e17e72f32913739c9d67d3dfb6092f09a2aa))
|
|
||||||
|
|
||||||
## [2.3.0](https://github.com/typescript-language-server/typescript-language-server/compare/v2.2.0...v2.3.0) (2022-12-27)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* implement `textDocument/selectionRange` request ([#642](https://github.com/typescript-language-server/typescript-language-server/issues/642)) ([a5598c6](https://github.com/typescript-language-server/typescript-language-server/commit/a5598c68aac961cbd6294133a9235e4db5b95929))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **completions:** don't insert call snippet if already a call ([#646](https://github.com/typescript-language-server/typescript-language-server/issues/646)) ([5d34de5](https://github.com/typescript-language-server/typescript-language-server/commit/5d34de5fd38ce5a9dcafc4a385ccb39b0a89f2b0))
|
|
||||||
|
|
||||||
## [2.2.0](https://github.com/typescript-language-server/typescript-language-server/compare/v2.1.0...v2.2.0) (2022-12-09)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* communicate with tsserver >=4.9.0 using IPC ([#630](https://github.com/typescript-language-server/typescript-language-server/issues/630)) ([06abfde](https://github.com/typescript-language-server/typescript-language-server/commit/06abfdeb133127f4567efb77a2bf725549e9d957))
|
|
||||||
* support `textDocument/prepareRename` request ([#628](https://github.com/typescript-language-server/typescript-language-server/issues/628)) ([9c66794](https://github.com/typescript-language-server/typescript-language-server/commit/9c6679438d6190b72a15f32c0eb83cacd7780213))
|
|
||||||
* update typescript to 4.9.3 ([#629](https://github.com/typescript-language-server/typescript-language-server/issues/629)) ([0005648](https://github.com/typescript-language-server/typescript-language-server/commit/00056483da3f1089a3a426f08bc66651178c3665))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **deps:** update devdependency typescript to ^4.9.4 ([#637](https://github.com/typescript-language-server/typescript-language-server/issues/637)) ([d2b18b6](https://github.com/typescript-language-server/typescript-language-server/commit/d2b18b6d318c4b441e42f4f977ba6bd4eca36d58))
|
|
||||||
* surface stderr output from the tsserver process ([#624](https://github.com/typescript-language-server/typescript-language-server/issues/624)) ([adf2689](https://github.com/typescript-language-server/typescript-language-server/commit/adf268927a2f4b5e689572be9bedc349573aadd5))
|
|
||||||
|
|
||||||
## [2.1.0](https://github.com/typescript-language-server/typescript-language-server/compare/v2.0.1...v2.1.0) (2022-10-17)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* add `_typescript.configurePlugin` workspace command ([#607](https://github.com/typescript-language-server/typescript-language-server/issues/607)) ([59a5217](https://github.com/typescript-language-server/typescript-language-server/commit/59a52174148f3dc95fa2969971a1f95c6e432812))
|
|
||||||
* add `tsserver.logVerbosity` and `tsserver.path` to `initializationOptions` ([#611](https://github.com/typescript-language-server/typescript-language-server/issues/611)) ([a03eab5](https://github.com/typescript-language-server/typescript-language-server/commit/a03eab5f1442ad68745d6bec464191a66ab85fc7))
|
|
||||||
* add support for `[@link](https://github.com/link)` references in JSDoc ([#612](https://github.com/typescript-language-server/typescript-language-server/issues/612)) ([3722b51](https://github.com/typescript-language-server/typescript-language-server/commit/3722b51c0ad8e758c4e42f622bbe25ae981071e1))
|
|
||||||
* add workspace implicit project defaults configuration ([#605](https://github.com/typescript-language-server/typescript-language-server/issues/605)) ([c6b3947](https://github.com/typescript-language-server/typescript-language-server/commit/c6b39473ed5343f99434506ee034fd0d45a5364d))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* loading progress sometimes getting stuck ([#603](https://github.com/typescript-language-server/typescript-language-server/issues/603)) ([8cf4381](https://github.com/typescript-language-server/typescript-language-server/commit/8cf43810e0ff7a32d3499afc6da2344939b2d6de))
|
|
||||||
* respect user-provided tsserver.js path from `--tsserver-path` ([#610](https://github.com/typescript-language-server/typescript-language-server/issues/610)) ([417339f](https://github.com/typescript-language-server/typescript-language-server/commit/417339fa66bc1910c80888c3f909e3d059da8ee5))
|
|
||||||
|
|
||||||
## [2.0.1](https://github.com/typescript-language-server/typescript-language-server/compare/v2.0.0...v2.0.1) (2022-10-07)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* disable IPC communication until TypeScript bug is fixed ([#600](https://github.com/typescript-language-server/typescript-language-server/issues/600)) ([a6153a6](https://github.com/typescript-language-server/typescript-language-server/commit/a6153a66e88bed52704761f92dd4168605ef9a45))
|
|
||||||
|
|
||||||
## [2.0.0](https://github.com/typescript-language-server/typescript-language-server/compare/v1.2.0...v2.0.0) (2022-09-28)
|
|
||||||
|
|
||||||
|
|
||||||
### ⚠ BREAKING CHANGES
|
|
||||||
|
|
||||||
* Replace the CLI argument `--tsserver-log-file` with `tsserver.logDirectory` option provided through `initializationOptions` of the `initialize` request.
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* add `tsserver.logDirectory` to `initializationOptions` ([#588](https://github.com/typescript-language-server/typescript-language-server/issues/588)) ([114d430](https://github.com/typescript-language-server/typescript-language-server/commit/114d4309cb1450585f991604118d3eff3690237c))
|
|
||||||
* add `tsserver.trace` init option for tracing tsserver ([#586](https://github.com/typescript-language-server/typescript-language-server/issues/586)) ([e3e8930](https://github.com/typescript-language-server/typescript-language-server/commit/e3e893094e501e3d6a72148e05f11286d688d2bd))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* **completions:** don't create snippet kind without `completeFunctionCalls` ([#595](https://github.com/typescript-language-server/typescript-language-server/issues/595)) ([7f69c27](https://github.com/typescript-language-server/typescript-language-server/commit/7f69c27eb8cce71d3db006623757a74f93d76dd3))
|
|
||||||
* **completions:** remove filterText override for bracket accessor ([#593](https://github.com/typescript-language-server/typescript-language-server/issues/593)) ([1ed4e2e](https://github.com/typescript-language-server/typescript-language-server/commit/1ed4e2eccf0b52e10204b5c2617d4944ae513afd))
|
|
||||||
* wrong import completion when insert/replace supported ([#592](https://github.com/typescript-language-server/typescript-language-server/issues/592)) ([4fe902a](https://github.com/typescript-language-server/typescript-language-server/commit/4fe902a9e28ec4c3ccc14a9e75488efeb8079544))
|
|
||||||
|
|
||||||
## [1.2.0](https://github.com/typescript-language-server/typescript-language-server/compare/v1.1.2...v1.2.0) (2022-09-12)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* Add insert replace support for completions ([#583](https://github.com/typescript-language-server/typescript-language-server/issues/583)) ([fdf9d11](https://github.com/typescript-language-server/typescript-language-server/commit/fdf9d11200c49a160ed3c3bd523e4792bc98e99d))
|
|
||||||
* add support for new features from TypeScript 4.8 ([#576](https://github.com/typescript-language-server/typescript-language-server/issues/576)) ([7e88db3](https://github.com/typescript-language-server/typescript-language-server/commit/7e88db301a56d6d2dcd0fc1872d6baa386210497))
|
|
||||||
* include "triggerReason" and "kind" in code action requests ([#579](https://github.com/typescript-language-server/typescript-language-server/issues/579)) ([f872078](https://github.com/typescript-language-server/typescript-language-server/commit/f872078fa3b40d8b9b90f737fec7a4c808f1ccc7))
|
|
||||||
* support communicating with tsserver using IPC ([#585](https://github.com/typescript-language-server/typescript-language-server/issues/585)) ([8725b9b](https://github.com/typescript-language-server/typescript-language-server/commit/8725b9bee4432b7520ebd9adc67f4c65303b2c8c))
|
|
||||||
* support for codeAction disabledSupport client capability ([#578](https://github.com/typescript-language-server/typescript-language-server/issues/578)) ([f93b849](https://github.com/typescript-language-server/typescript-language-server/commit/f93b8493eeafda32c865c93e99025c8ca11c3226))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* only use optionalReplacementSpan if client supports InsertReplace ([#584](https://github.com/typescript-language-server/typescript-language-server/issues/584)) ([899ba6b](https://github.com/typescript-language-server/typescript-language-server/commit/899ba6b5c5f13faac8eec6478ced4d9f8d90836d))
|
|
||||||
|
|
||||||
## [1.1.2](https://github.com/typescript-language-server/typescript-language-server/compare/v1.1.1...v1.1.2) (2022-08-25)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* definition request crashing on getting span ([#574](https://github.com/typescript-language-server/typescript-language-server/issues/574)) ([4e1c82b](https://github.com/typescript-language-server/typescript-language-server/commit/4e1c82b82878316a12ff6b524d7dd5ab54b86acd))
|
|
||||||
|
|
||||||
## [1.1.1](https://github.com/typescript-language-server/typescript-language-server/compare/v1.1.0...v1.1.1) (2022-08-22)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* move deepmerge to dependencies ([06109d4](https://github.com/typescript-language-server/typescript-language-server/commit/06109d4646d94bdf1bbeb2768e18f1323ae1b630))
|
|
||||||
|
|
||||||
## [1.1.0](https://github.com/typescript-language-server/typescript-language-server/compare/v1.0.0...v1.1.0) (2022-08-21)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* add "Go To Source Definition" command ([#560](https://github.com/typescript-language-server/typescript-language-server/issues/560)) ([9bcdaf2](https://github.com/typescript-language-server/typescript-language-server/commit/9bcdaf2b0b09da9aa4d7e6ed79bdcd742b3cfc17))
|
|
||||||
* support `textDocument/inlayHint` request from 3.17.0 spec ([#566](https://github.com/typescript-language-server/typescript-language-server/issues/566)) ([9a2fd4e](https://github.com/typescript-language-server/typescript-language-server/commit/9a2fd4e34b6c50c57b974f617018dcefdb469788))
|
|
||||||
* support LocationLink[] for textDocument/definition response ([#563](https://github.com/typescript-language-server/typescript-language-server/issues/563)) ([196f328](https://github.com/typescript-language-server/typescript-language-server/commit/196f328cd9fd7a06998151d59bed0b945cc68b40))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* don't trigger error on empty Source Definition response ([#568](https://github.com/typescript-language-server/typescript-language-server/issues/568)) ([146a6ba](https://github.com/typescript-language-server/typescript-language-server/commit/146a6ba97f0792701ff8afcc431d3a1dfdb978a6))
|
|
||||||
* make wording in the typescript lookup error more generic ([585a05e](https://github.com/typescript-language-server/typescript-language-server/commit/585a05e43a0b530f10e488aed634fac0436109ae)), closes [#554](https://github.com/typescript-language-server/typescript-language-server/issues/554)
|
|
||||||
* snippet completions returned to clients that don't support them ([#556](https://github.com/typescript-language-server/typescript-language-server/issues/556)) ([050d335](https://github.com/typescript-language-server/typescript-language-server/commit/050d3350e16fe78b7c60d7443ed3ad6d2cc4730d))
|
|
||||||
* update signature help feature to v3.15.0 LSP spec ([#555](https://github.com/typescript-language-server/typescript-language-server/issues/555)) ([da074a6](https://github.com/typescript-language-server/typescript-language-server/commit/da074a618ca6c29819834a0344682094d6ff08f6))
|
|
||||||
|
|
||||||
## [1.0.0](https://github.com/typescript-language-server/typescript-language-server/compare/v0.11.2...v1.0.0) (2022-08-06)
|
|
||||||
|
|
||||||
|
|
||||||
### ⚠ BREAKING CHANGES
|
|
||||||
|
|
||||||
* Ship as an ES module. Might be breaking for programmatic users of this server. Read more about consuming ES module packages at gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c
|
|
||||||
* **deps:** LSP libraries updated to match the 3.17 version of the LSP spec. Requires minimum Node 14.
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* add support for CompletionItem.labelDetails ([#534](https://github.com/typescript-language-server/typescript-language-server/issues/534)) ([3c140d9](https://github.com/typescript-language-server/typescript-language-server/commit/3c140d958507300d7d186adb84f5b0baa549edb2))
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* declare quickfix/refactor CodeAction capabilities ([#553](https://github.com/typescript-language-server/typescript-language-server/issues/553)) ([e76fc64](https://github.com/typescript-language-server/typescript-language-server/commit/e76fc6493295649d6ada83c8a5f6d88abe2a6167))
|
|
||||||
* handle shutdown lifecycle properly ([#536](https://github.com/typescript-language-server/typescript-language-server/issues/536)) ([ac8536b](https://github.com/typescript-language-server/typescript-language-server/commit/ac8536bf8eb805bfc28e484a8f4827b5375d6824))
|
|
||||||
|
|
||||||
|
|
||||||
### Miscellaneous Chores
|
|
||||||
|
|
||||||
* **deps:** update LSP libraries to match 3.17 spec ([#532](https://github.com/typescript-language-server/typescript-language-server/issues/532)) ([bdbdd83](https://github.com/typescript-language-server/typescript-language-server/commit/bdbdd8379815583aa28d2a770034253050ba24de))
|
|
||||||
|
|
||||||
|
|
||||||
### Code Refactoring
|
|
||||||
|
|
||||||
* ship as an ES module ([#547](https://github.com/typescript-language-server/typescript-language-server/issues/547)) ([0dfd411](https://github.com/typescript-language-server/typescript-language-server/commit/0dfd41125c04868b547a3893334bb0bb822e0517))
|
|
||||||
|
|
||||||
## [0.11.2](https://github.com/typescript-language-server/typescript-language-server/compare/v0.11.1...v0.11.2) (2022-06-24)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* apply refactoring returns -1 positions in ranges ([#502](https://github.com/typescript-language-server/typescript-language-server/issues/502)) ([5f52db0](https://github.com/typescript-language-server/typescript-language-server/commit/5f52db0383d6c326cd321c13fc969ab9d3958011))
|
|
||||||
|
|
||||||
## [0.11.1](https://github.com/typescript-language-server/typescript-language-server/compare/v0.11.0...v0.11.1) (2022-06-13)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* completion for strings with trigger character ([#492](https://github.com/typescript-language-server/typescript-language-server/issues/492)) ([76bf9a4](https://github.com/typescript-language-server/typescript-language-server/commit/76bf9a4817ffa1e340422cfd5177dbcb96528ddb))
|
|
||||||
|
|
||||||
## [0.11.0](https://github.com/typescript-language-server/typescript-language-server/compare/v0.10.1...v0.11.0) (2022-06-06)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* add support for rename prefixText and suffixText on rename ([#478](https://github.com/typescript-language-server/typescript-language-server/issues/478)) ([b3c8535](https://github.com/typescript-language-server/typescript-language-server/commit/b3c85354c71dc36e1d4775bf61d7064a6b85e958))
|
|
||||||
|
|
||||||
### [0.10.1](https://github.com/typescript-language-server/typescript-language-server/compare/v0.10.0...v0.10.1) (2022-05-18)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* pin old version of LSP libraries for node <14 compatibility ([#467](https://github.com/typescript-language-server/typescript-language-server/issues/467)) ([55600e1](https://github.com/typescript-language-server/typescript-language-server/commit/55600e12635c01d5a531b776b33d10f9e622a7a6))
|
|
||||||
|
|
||||||
## [0.10.0](https://github.com/typescript-language-server/typescript-language-server/compare/v0.9.7...v0.10.0) (2022-05-11)
|
|
||||||
|
|
||||||
|
|
||||||
### Features
|
|
||||||
|
|
||||||
* add support for locale option ([#461](https://github.com/typescript-language-server/typescript-language-server/issues/461)) ([be6a95d](https://github.com/typescript-language-server/typescript-language-server/commit/be6a95ddf6abf8cb68689a6995e3e55858eacb23))
|
|
||||||
|
|
||||||
### [0.9.7](https://github.com/typescript-language-server/typescript-language-server/compare/v0.9.6...v0.9.7) (2022-02-27)
|
|
||||||
|
|
||||||
|
|
||||||
### Bug Fixes
|
|
||||||
|
|
||||||
* add more logging for resolving user-specified tsserver ([#412](https://github.com/typescript-language-server/typescript-language-server/issues/412)) ([7139a32](https://github.com/typescript-language-server/typescript-language-server/commit/7139a32da05b6e3dfcd3252bde934dc499412d3d))
|
|
||||||
* help users resolve no valid tsserver version error ([#337](https://github.com/typescript-language-server/typescript-language-server/issues/337)) ([d835543](https://github.com/typescript-language-server/typescript-language-server/commit/d835543e455a51ec159457a1479a550712574099))
|
|
||||||
|
|
||||||
## [0.9.6] - 2022-02-02
|
|
||||||
|
|
||||||
- **fix**: don't transform zipfile URIs from Vim (#386)
|
|
||||||
|
|
||||||
## [0.9.5] - 2022-01-27
|
|
||||||
|
|
||||||
- **fix**: don't transform Yarn zipfile URIs (#384)
|
|
||||||
|
|
||||||
## [0.9.4] - 2022-01-19
|
|
||||||
|
|
||||||
- **fix**: call configure before completion resolve (#377)
|
|
||||||
|
|
||||||
## [0.9.3] - 2022-01-16
|
|
||||||
|
|
||||||
- **fix**: wait for tsserver configuration requests to finish (#372)
|
|
||||||
|
|
||||||
## [0.9.2] - 2022-01-14
|
|
||||||
|
|
||||||
- **fix**: use correct name for the addMissingImports code action (#371)
|
|
||||||
|
|
||||||
## [0.9.1] - 2022-01-07
|
|
||||||
|
|
||||||
- **fix**: don't use the postinstall script
|
|
||||||
|
|
||||||
## [0.9.0] - 2022-01-07
|
|
||||||
|
|
||||||
- **feat**: implement additional code actions for handling auto-fixing (#318)
|
|
||||||
|
|
||||||
- **feat**: report progress when loading the project (#326)
|
|
||||||
|
|
||||||
- **feat**: add new preferences from typescript 4.5.3 (#304)
|
|
||||||
|
|
||||||
- **fix**: correct matching of "only" kinds provided by the client (#334)
|
|
||||||
|
|
||||||
- **fix**: pass format options for organizing import (#348)
|
|
||||||
|
|
||||||
- **fix**: use snippet type for jsx attribute completions (#362)
|
|
||||||
|
|
||||||
## [0.8.1] - 2021-11-25
|
|
||||||
|
|
||||||
- **fix**: lookup workspace typescript in dirs higher up the tree also (#314)
|
|
||||||
|
|
||||||
## [0.8.0] - 2021-11-21
|
|
||||||
|
|
||||||
- **feat**: implement semantic tokens support (#290)
|
|
||||||
|
|
||||||
- **feat**: add support for snippet completions for methods/functions (#303)
|
|
||||||
|
|
||||||
- **feat**: ability to ignore diagnostics by code (#272)
|
|
||||||
Adds new `diagnostics.ignoredCodes` workspace setting to ignore specific diagnostics.
|
|
||||||
|
|
||||||
- **feat**: add `npmLocation` option to specify NPM location (#293)
|
|
||||||
|
|
||||||
- **fix**: don't announce support for codeActionKinds (#289)
|
|
||||||
|
|
||||||
- **fix**: mark import completions as snippets (#291)
|
|
||||||
|
|
||||||
- **fix**: specify minimum node version to be v12 (#301)
|
|
||||||
|
|
||||||
- **fix**: ensure that the `tsserver` subprocess uses forked node instance (#292)
|
|
||||||
Potentially **BREAKING**. The lookup of `tsserver` was refactored to never use `spawn` logic but instead always `fork` the current node instance. See more info in the PR.
|
|
||||||
|
|
||||||
- **fix**: exit the server if tsserver process crashes (#305)
|
|
||||||
|
|
||||||
- **fix**: respect "includeDeclaration" for references request (#306)
|
|
||||||
|
|
||||||
## [0.7.1] - 2021-11-10
|
|
||||||
|
|
||||||
- fix: add missing `semver` dependency (#288)
|
|
||||||
|
|
||||||
## [0.7.0] - 2021-11-09
|
|
||||||
|
|
||||||
### Breaking
|
|
||||||
|
|
||||||
Changes to default options sent to tsserver could affect behavior (hopefully for the better). Read changes below for more details.
|
|
||||||
|
|
||||||
### Changes
|
|
||||||
|
|
||||||
- **feat**: include import specifier for import completions (#281)
|
|
||||||
For completions that import from another package, the completions will include a "detail" field with the name of the module.
|
|
||||||
|
|
||||||
Also aligned some other logic with the typescript language services used in VSCode:
|
|
||||||
* annotate the completions with the local name of the import when completing a path in import foo from '...'
|
|
||||||
* update completion "sortText" regardless if the completion "isRecommended"
|
|
||||||
|
|
||||||
- **feat**: allow skip destructive actions on running OrganizeImports (#228)
|
|
||||||
Add support for the new skipDestructiveCodeActions argument to TypeScript's organize imports feature - [1] to support [2].
|
|
||||||
|
|
||||||
Support is added in two places:
|
|
||||||
* Automatically inferring the proper value based on diagnostics for the file when returning code actions.
|
|
||||||
* Supporting sending it when manually executing the organize imports action.
|
|
||||||
|
|
||||||
Also added documentation to the readme about the supported commands that can be manually executed.
|
|
||||||
|
|
||||||
[1] https://github.com/microsoft/TypeScript/issues/43051
|
|
||||||
[2] https://github.com/apexskier/nova-typescript/issues/273
|
|
||||||
|
|
||||||
- **feat**: support running server on files without root workspace (#286)
|
|
||||||
The tsserver seems to be good at inferring the project configuration when opening single files without a workspace so don't crash on missing `rootPath`.
|
|
||||||
|
|
||||||
- **feat**: add `disableAutomaticTypingAcquisition` option to disable automatic type acquisition (#285)
|
|
||||||
- **feat**: update default tsserver options (#284)
|
|
||||||
Set the following additional options by default:
|
|
||||||
```
|
|
||||||
allowRenameOfImportPath: true,
|
|
||||||
displayPartsForJSDoc: true,
|
|
||||||
generateReturnInDocTemplate: true,
|
|
||||||
includeAutomaticOptionalChainCompletions: true,
|
|
||||||
includeCompletionsForImportStatements: true,
|
|
||||||
includeCompletionsWithSnippetText: true,
|
|
||||||
```
|
|
||||||
This aligns more with the default options of the typescript language services in VSCode.
|
|
||||||
- **feat**: announce support for "source.organizeImports.ts-ls" action (#283)
|
|
||||||
Announcing support for that code action allows editors that support
|
|
||||||
running code actions on save to automatically run the code action if
|
|
||||||
the user has configured the editor with settings like
|
|
||||||
|
|
||||||
```js
|
|
||||||
"codeActionsOnSave": {
|
|
||||||
"source.organizeImports": true,
|
|
||||||
// or
|
|
||||||
"source.organizeImports.ts-ls": true,
|
|
||||||
},
|
|
||||||
```
|
|
||||||
- **chore**: change default log level from "warn" to "info" (#287)
|
|
||||||
|
|
||||||
## [0.6.5] - 2021-11-03
|
|
||||||
|
|
||||||
- fix: normalize client and tsserver paths (#275)
|
|
||||||
This should ensure consistent behavior regradless of the platform. Previously some functionality could be malfunctioning on Windows depending on the LSP client used due to using non-normalized file paths.
|
|
||||||
- Handle the `APPLY_COMPLETION_CODE_ACTION` command internally (#270)
|
|
||||||
This means that the clients that have implemented a custom handling for the `_typescript.applyCompletionCodeAction` command can remove that code.
|
|
||||||
Without removing the custom handling everything should work as before but some edge cases might work better when custom handling is removed.
|
|
||||||
- fix: ignore empty code blocks in content returned from `textDocument/hover` (#276)
|
|
||||||
- fix: remove unsupported --node-ipc and --socket options (#278)
|
|
||||||
|
|
||||||
## [0.6.4] - 2021-10-12
|
|
||||||
|
|
||||||
- Fix broken logging (#267)
|
|
||||||
- Add support for `workspace/didChangeConfiguration` and setting formatting options per language (#268)
|
|
||||||
- Add option to set inlayHints preferences by language (#266)
|
|
||||||
|
|
||||||
## [0.6.3] - 2021-10-27
|
|
||||||
|
|
||||||
- Implement experimental inlay hints (#259) ([documentation](https://github.com/typescript-language-server/typescript-language-server#typescriptinlayhints-experimental-supported-from-typescript-v442))
|
|
||||||
- Send diagnostics even to clients that don't signal support (#261) (reverts #229)
|
|
||||||
|
|
||||||
## [0.6.2] - 2021-08-16
|
|
||||||
|
|
||||||
- Mark completion items as deprecated if JSDoc says so (#227)
|
|
||||||
- Add a `maxTsServerMemory` option (#252)
|
|
||||||
- (chore) Add Windows and Mac CI runner (#248)
|
|
||||||
|
|
||||||
## [0.6.1] - 2021-08-16
|
|
||||||
|
|
||||||
- Fix Windows path regression introduced in #220 (#249)
|
|
||||||
|
|
||||||
## [0.6.0] - 2021-08-12
|
|
||||||
|
|
||||||
- Refactor code actions to better support filtering against "only" (#170)
|
|
||||||
- Support Yarn PnP (#220)
|
|
||||||
- Update internal Typescript dependency from 3.9.0 to 4.3.4 (#226)
|
|
||||||
- Only publish diagnostics if client supports the capability (#229)
|
|
||||||
- Add support for "unnecessary" and "deprecated" diagnostic tags (#230)
|
|
||||||
- Upgrade vscode-languageserver (#231)
|
|
||||||
- Lookup tsserver using direct path rather than through .bin alias (#234)
|
|
||||||
- Don't pass deprecated options to Completion request
|
|
||||||
|
|
||||||
## [0.5.4] - 2021-07-01
|
|
||||||
|
|
||||||
- Remove hardcoded request timeouts
|
|
||||||
- Forward user preferences in `initializationOptions`
|
|
||||||
- Use `require.resolve` for module resolution (#195)
|
|
||||||
|
|
||||||
## [0.5.0] - 2021-01-16
|
|
||||||
|
|
||||||
- Fix empty documentHighlight results due to inconsistent path delimiters
|
|
||||||
- Update command line option `tssserver-log-verbosity` to support `off`
|
|
||||||
- Call compilerOptionsForInferredProjects during initialization (set good defaults when tsconfig.json missing)
|
|
||||||
- Remove warnings from LSP completion results
|
|
||||||
- Add support for formatting range (textDocument/rangeFormatting)
|
|
||||||
- Ensure TSP request cancellation cancels timeout handling
|
|
||||||
|
|
||||||
## [0.4.0] - 2019-08-28
|
|
||||||
|
|
||||||
- Upgraded to LSP 5.3.0 and Monaco 0.17.0. [#115](https://github.com/theia-ide/typescript-language-server/pull/115)
|
|
||||||
|
|
||||||
## [0.3.7] - 2018-11-18
|
|
||||||
|
|
||||||
- Let documentSymbol return the correct results when mergeable elements are used [#77](https://github.com/theia-ide/typescript-language-server/pull/77)
|
|
||||||
- Return correct ranges for hierarchical document symbol [#79](https://github.com/theia-ide/typescript-language-server/pull/79)
|
|
||||||
- Return null when resolving completion request at an invalid location [#81](https://github.com/theia-ide/typescript-language-server/pull/81)
|
|
||||||
- Initial call hierarchy support [#85](https://github.com/theia-ide/typescript-language-server/pull/85)
|
|
||||||
- Allowing starting tsserver as a module using cp.fork [#88](https://github.com/theia-ide/typescript-language-server/pull/88)
|
|
||||||
|
|
||||||
Thanks to [@AlexTugarev](https://github.com/AlexTugarev) and [@keyboardDrummer](https://github.com/keyboardDrummer)
|
|
||||||
|
|
||||||
## [0.3.6] - 2018-09-18
|
|
||||||
|
|
||||||
- Respect URIs received from clients [#75](https://github.com/theia-ide/typescript-language-server/pull/75)
|
|
||||||
|
|
||||||
## [0.3.5] - 2018-09-14
|
|
||||||
- Fixed publishing diagnostics for all opened documents [#71](https://github.com/theia-ide/typescript-language-server/pull/71) - thanks to [@keyboardDrummer](https://github.com/keyboardDrummer)
|
|
||||||
- Support global tsserver plugins [#73](https://github.com/theia-ide/typescript-language-server/pull/73)
|
|
||||||
- Configure a tsserver log file via `TSSERVER_LOG_FILE` env variable [#73](https://github.com/theia-ide/typescript-language-server/pull/73)
|
|
||||||
|
|
||||||
## [0.3.4] - 2018-09-12
|
|
||||||
- Restore containerName for non-hierarchical symbols [#69](https://github.com/theia-ide/typescript-language-server/pull/69)
|
|
||||||
|
|
||||||
## [0.3.3] - 2018-09-11
|
|
||||||
- Fix updating documents on `didChange` notification [#65](https://github.com/theia-ide/typescript-language-server/pull/65)
|
|
||||||
- Debounce triggering diagnostics if a client is spamming with edits [#65](https://github.com/theia-ide/typescript-language-server/pull/65)
|
|
||||||
|
|
||||||
## [0.3.2] - 2018-09-06
|
|
||||||
- Hierarchical document symbols support [#62](https://github.com/theia-ide/typescript-language-server/pull/62)
|
|
||||||
|
|
||||||
## [0.3.1] - 2018-09-04
|
|
||||||
|
|
||||||
- Allow a client to enable tsserver logging [#59](https://github.com/theia-ide/typescript-language-server/pull/59)
|
|
||||||
|
|
||||||
## [0.3.0] - 2018-08-23
|
|
||||||
|
|
||||||
- Setup the monorepo with yarn workspaces and ts project references [#48](https://github.com/theia-ide/typescript-language-server/pull/48)
|
|
||||||
- Added a Monaco based example [#48](https://github.com/theia-ide/typescript-language-server/pull/48)
|
|
||||||
- Aligned `completion/completionResolve` with VS Code behaviour [#50](https://github.com/theia-ide/typescript-language-server/pull/50)
|
|
||||||
- Interrupt diagnostics to improve response time for other requests, as completion and signature help [#51](https://github.com/theia-ide/typescript-language-server/pull/51)
|
|
||||||
- Applied refactorings support [#51](https://github.com/theia-ide/typescript-language-server/pull/51)
|
|
||||||
- Suggest diagnostics support [#51](https://github.com/theia-ide/typescript-language-server/pull/51)
|
|
||||||
- Diagnostics buffering [#51](https://github.com/theia-ide/typescript-language-server/pull/51)
|
|
||||||
- Tolerating non-file URIs [#51](https://github.com/theia-ide/typescript-language-server/pull/51)
|
|
||||||
- Organize imports support [#51](https://github.com/theia-ide/typescript-language-server/pull/51)
|
|
||||||
- Added `Apply Rename File` command [#56](https://github.com/theia-ide/typescript-language-server/pull/56)
|
|
||||||
|
|
||||||
[0.4.0]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.7...v0.4.0
|
|
||||||
[0.3.7]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.6...v0.3.7
|
|
||||||
[0.3.6]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.5...v0.3.6
|
|
||||||
[0.3.5]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.4...v0.3.5
|
|
||||||
[0.3.4]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.3...v0.3.4
|
|
||||||
[0.3.3]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.2...v0.3.3
|
|
||||||
[0.3.2]: https://github.com/theia-ide/typescript-language-server/compare/v0.3.1...v0.3.2
|
|
||||||
[0.3.1]: https://github.com/theia-ide/typescript-language-server/compare/961d937f3ee3ea6b68cb98a6c235c6beea5f2fa5...v0.3.1
|
|
||||||
[0.3.0]: https://github.com/theia-ide/typescript-language-server/compare/v0.2.0...961d937f3ee3ea6b68cb98a6c235c6beea5f2fa5
|
|
240
nvim/lua/node_modules/typescript-language-server/LICENSE
generated
vendored
240
nvim/lua/node_modules/typescript-language-server/LICENSE
generated
vendored
|
@ -1,240 +0,0 @@
|
||||||
Parts of the code copied from the https://github.com/microsoft/vscode repository are licensed under the following license:
|
|
||||||
|
|
||||||
BEGIN LICENSE ----------------------------------------------------------------
|
|
||||||
|
|
||||||
MIT License
|
|
||||||
|
|
||||||
Copyright (c) 2015 - present Microsoft Corporation
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in all
|
|
||||||
copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
END LICESE -------------------------------------------------------------------
|
|
||||||
|
|
||||||
This applies to files that include the following license header:
|
|
||||||
|
|
||||||
/*---------------------------------------------------------------------------------------------
|
|
||||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
||||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
||||||
*--------------------------------------------------------------------------------------------*/
|
|
||||||
|
|
||||||
|
|
||||||
The rest of the code licensed under:
|
|
||||||
|
|
||||||
|
|
||||||
Apache License
|
|
||||||
Version 2.0, January 2004
|
|
||||||
http://www.apache.org/licenses/
|
|
||||||
|
|
||||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
||||||
|
|
||||||
1. Definitions.
|
|
||||||
|
|
||||||
"License" shall mean the terms and conditions for use, reproduction,
|
|
||||||
and distribution as defined by Sections 1 through 9 of this document.
|
|
||||||
|
|
||||||
"Licensor" shall mean the copyright owner or entity authorized by
|
|
||||||
the copyright owner that is granting the License.
|
|
||||||
|
|
||||||
"Legal Entity" shall mean the union of the acting entity and all
|
|
||||||
other entities that control, are controlled by, or are under common
|
|
||||||
control with that entity. For the purposes of this definition,
|
|
||||||
"control" means (i) the power, direct or indirect, to cause the
|
|
||||||
direction or management of such entity, whether by contract or
|
|
||||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
|
||||||
outstanding shares, or (iii) beneficial ownership of such entity.
|
|
||||||
|
|
||||||
"You" (or "Your") shall mean an individual or Legal Entity
|
|
||||||
exercising permissions granted by this License.
|
|
||||||
|
|
||||||
"Source" form shall mean the preferred form for making modifications,
|
|
||||||
including but not limited to software source code, documentation
|
|
||||||
source, and configuration files.
|
|
||||||
|
|
||||||
"Object" form shall mean any form resulting from mechanical
|
|
||||||
transformation or translation of a Source form, including but
|
|
||||||
not limited to compiled object code, generated documentation,
|
|
||||||
and conversions to other media types.
|
|
||||||
|
|
||||||
"Work" shall mean the work of authorship, whether in Source or
|
|
||||||
Object form, made available under the License, as indicated by a
|
|
||||||
copyright notice that is included in or attached to the work
|
|
||||||
(an example is provided in the Appendix below).
|
|
||||||
|
|
||||||
"Derivative Works" shall mean any work, whether in Source or Object
|
|
||||||
form, that is based on (or derived from) the Work and for which the
|
|
||||||
editorial revisions, annotations, elaborations, or other modifications
|
|
||||||
represent, as a whole, an original work of authorship. For the purposes
|
|
||||||
of this License, Derivative Works shall not include works that remain
|
|
||||||
separable from, or merely link (or bind by name) to the interfaces of,
|
|
||||||
the Work and Derivative Works thereof.
|
|
||||||
|
|
||||||
"Contribution" shall mean any work of authorship, including
|
|
||||||
the original version of the Work and any modifications or additions
|
|
||||||
to that Work or Derivative Works thereof, that is intentionally
|
|
||||||
submitted to Licensor for inclusion in the Work by the copyright owner
|
|
||||||
or by an individual or Legal Entity authorized to submit on behalf of
|
|
||||||
the copyright owner. For the purposes of this definition, "submitted"
|
|
||||||
means any form of electronic, verbal, or written communication sent
|
|
||||||
to the Licensor or its representatives, including but not limited to
|
|
||||||
communication on electronic mailing lists, source code control systems,
|
|
||||||
and issue tracking systems that are managed by, or on behalf of, the
|
|
||||||
Licensor for the purpose of discussing and improving the Work, but
|
|
||||||
excluding communication that is conspicuously marked or otherwise
|
|
||||||
designated in writing by the copyright owner as "Not a Contribution."
|
|
||||||
|
|
||||||
"Contributor" shall mean Licensor and any individual or Legal Entity
|
|
||||||
on behalf of whom a Contribution has been received by Licensor and
|
|
||||||
subsequently incorporated within the Work.
|
|
||||||
|
|
||||||
2. Grant of Copyright License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
copyright license to reproduce, prepare Derivative Works of,
|
|
||||||
publicly display, publicly perform, sublicense, and distribute the
|
|
||||||
Work and such Derivative Works in Source or Object form.
|
|
||||||
|
|
||||||
3. Grant of Patent License. Subject to the terms and conditions of
|
|
||||||
this License, each Contributor hereby grants to You a perpetual,
|
|
||||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
|
||||||
(except as stated in this section) patent license to make, have made,
|
|
||||||
use, offer to sell, sell, import, and otherwise transfer the Work,
|
|
||||||
where such license applies only to those patent claims licensable
|
|
||||||
by such Contributor that are necessarily infringed by their
|
|
||||||
Contribution(s) alone or by combination of their Contribution(s)
|
|
||||||
with the Work to which such Contribution(s) was submitted. If You
|
|
||||||
institute patent litigation against any entity (including a
|
|
||||||
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
|
||||||
or a Contribution incorporated within the Work constitutes direct
|
|
||||||
or contributory patent infringement, then any patent licenses
|
|
||||||
granted to You under this License for that Work shall terminate
|
|
||||||
as of the date such litigation is filed.
|
|
||||||
|
|
||||||
4. Redistribution. You may reproduce and distribute copies of the
|
|
||||||
Work or Derivative Works thereof in any medium, with or without
|
|
||||||
modifications, and in Source or Object form, provided that You
|
|
||||||
meet the following conditions:
|
|
||||||
|
|
||||||
(a) You must give any other recipients of the Work or
|
|
||||||
Derivative Works a copy of this License; and
|
|
||||||
|
|
||||||
(b) You must cause any modified files to carry prominent notices
|
|
||||||
stating that You changed the files; and
|
|
||||||
|
|
||||||
(c) You must retain, in the Source form of any Derivative Works
|
|
||||||
that You distribute, all copyright, patent, trademark, and
|
|
||||||
attribution notices from the Source form of the Work,
|
|
||||||
excluding those notices that do not pertain to any part of
|
|
||||||
the Derivative Works; and
|
|
||||||
|
|
||||||
(d) If the Work includes a "NOTICE" text file as part of its
|
|
||||||
distribution, then any Derivative Works that You distribute must
|
|
||||||
include a readable copy of the attribution notices contained
|
|
||||||
within such NOTICE file, excluding those notices that do not
|
|
||||||
pertain to any part of the Derivative Works, in at least one
|
|
||||||
of the following places: within a NOTICE text file distributed
|
|
||||||
as part of the Derivative Works; within the Source form or
|
|
||||||
documentation, if provided along with the Derivative Works; or,
|
|
||||||
within a display generated by the Derivative Works, if and
|
|
||||||
wherever such third-party notices normally appear. The contents
|
|
||||||
of the NOTICE file are for informational purposes only and
|
|
||||||
do not modify the License. You may add Your own attribution
|
|
||||||
notices within Derivative Works that You distribute, alongside
|
|
||||||
or as an addendum to the NOTICE text from the Work, provided
|
|
||||||
that such additional attribution notices cannot be construed
|
|
||||||
as modifying the License.
|
|
||||||
|
|
||||||
You may add Your own copyright statement to Your modifications and
|
|
||||||
may provide additional or different license terms and conditions
|
|
||||||
for use, reproduction, or distribution of Your modifications, or
|
|
||||||
for any such Derivative Works as a whole, provided Your use,
|
|
||||||
reproduction, and distribution of the Work otherwise complies with
|
|
||||||
the conditions stated in this License.
|
|
||||||
|
|
||||||
5. Submission of Contributions. Unless You explicitly state otherwise,
|
|
||||||
any Contribution intentionally submitted for inclusion in the Work
|
|
||||||
by You to the Licensor shall be under the terms and conditions of
|
|
||||||
this License, without any additional terms or conditions.
|
|
||||||
Notwithstanding the above, nothing herein shall supersede or modify
|
|
||||||
the terms of any separate license agreement you may have executed
|
|
||||||
with Licensor regarding such Contributions.
|
|
||||||
|
|
||||||
6. Trademarks. This License does not grant permission to use the trade
|
|
||||||
names, trademarks, service marks, or product names of the Licensor,
|
|
||||||
except as required for reasonable and customary use in describing the
|
|
||||||
origin of the Work and reproducing the content of the NOTICE file.
|
|
||||||
|
|
||||||
7. Disclaimer of Warranty. Unless required by applicable law or
|
|
||||||
agreed to in writing, Licensor provides the Work (and each
|
|
||||||
Contributor provides its Contributions) on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
|
||||||
implied, including, without limitation, any warranties or conditions
|
|
||||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
|
||||||
PARTICULAR PURPOSE. You are solely responsible for determining the
|
|
||||||
appropriateness of using or redistributing the Work and assume any
|
|
||||||
risks associated with Your exercise of permissions under this License.
|
|
||||||
|
|
||||||
8. Limitation of Liability. In no event and under no legal theory,
|
|
||||||
whether in tort (including negligence), contract, or otherwise,
|
|
||||||
unless required by applicable law (such as deliberate and grossly
|
|
||||||
negligent acts) or agreed to in writing, shall any Contributor be
|
|
||||||
liable to You for damages, including any direct, indirect, special,
|
|
||||||
incidental, or consequential damages of any character arising as a
|
|
||||||
result of this License or out of the use or inability to use the
|
|
||||||
Work (including but not limited to damages for loss of goodwill,
|
|
||||||
work stoppage, computer failure or malfunction, or any and all
|
|
||||||
other commercial damages or losses), even if such Contributor
|
|
||||||
has been advised of the possibility of such damages.
|
|
||||||
|
|
||||||
9. Accepting Warranty or Additional Liability. While redistributing
|
|
||||||
the Work or Derivative Works thereof, You may choose to offer,
|
|
||||||
and charge a fee for, acceptance of support, warranty, indemnity,
|
|
||||||
or other liability obligations and/or rights consistent with this
|
|
||||||
License. However, in accepting such obligations, You may act only
|
|
||||||
on Your own behalf and on Your sole responsibility, not on behalf
|
|
||||||
of any other Contributor, and only if You agree to indemnify,
|
|
||||||
defend, and hold each Contributor harmless for any liability
|
|
||||||
incurred by, or claims asserted against, such Contributor by reason
|
|
||||||
of your accepting any such warranty or additional liability.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
APPENDIX: How to apply the Apache License to your work.
|
|
||||||
|
|
||||||
To apply the Apache License to your work, attach the following
|
|
||||||
boilerplate notice, with the fields enclosed by brackets "{}"
|
|
||||||
replaced with your own identifying information. (Don't include
|
|
||||||
the brackets!) The text should be enclosed in the appropriate
|
|
||||||
comment syntax for the file format. We also recommend that a
|
|
||||||
file or class name and description of purpose be included on the
|
|
||||||
same "printed page" as the copyright notice for easier
|
|
||||||
identification within third-party archives.
|
|
||||||
|
|
||||||
Copyright {yyyy} {name of copyright owner}
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
576
nvim/lua/node_modules/typescript-language-server/README.md
generated
vendored
576
nvim/lua/node_modules/typescript-language-server/README.md
generated
vendored
|
@ -1,576 +0,0 @@
|
||||||
[](https://travis-ci.org/theia-ide/typescript-language-server)
|
|
||||||
[](https://discord.gg/AC7Vs6hwFa)
|
|
||||||
|
|
||||||
# TypeScript Language Server
|
|
||||||
|
|
||||||
[Language Server Protocol](https://github.com/Microsoft/language-server-protocol) implementation for TypeScript wrapping `tsserver`.
|
|
||||||
|
|
||||||
[](https://www.npmjs.com/package/typescript-language-server)
|
|
||||||
|
|
||||||
Based on concepts and ideas from https://github.com/prabirshrestha/typescript-language-server and originally maintained by [TypeFox](https://typefox.io)
|
|
||||||
|
|
||||||
Maintained by a [community of contributors](https://github.com/typescript-language-server/typescript-language-server/graphs/contributors) like you
|
|
||||||
|
|
||||||
<!-- MarkdownTOC -->
|
|
||||||
|
|
||||||
- [Installing](#installing)
|
|
||||||
- [Running the language server](#running-the-language-server)
|
|
||||||
- [CLI Options](#cli-options)
|
|
||||||
- [initializationOptions](#initializationoptions)
|
|
||||||
- [workspace/didChangeConfiguration](#workspacedidchangeconfiguration)
|
|
||||||
- [Code actions on save](#code-actions-on-save)
|
|
||||||
- [Workspace commands \(`workspace/executeCommand`\)](#workspace-commands-workspaceexecutecommand)
|
|
||||||
- [Go to Source Definition](#go-to-source-definition)
|
|
||||||
- [Apply Workspace Edits](#apply-workspace-edits)
|
|
||||||
- [Apply Code Action](#apply-code-action)
|
|
||||||
- [Apply Refactoring](#apply-refactoring)
|
|
||||||
- [Organize Imports](#organize-imports)
|
|
||||||
- [Rename File](#rename-file)
|
|
||||||
- [Configure plugin](#configure-plugin)
|
|
||||||
- [Inlay hints \(`textDocument/inlayHint`\)](#inlay-hints-textdocumentinlayhint)
|
|
||||||
- [TypeScript Version Notification](#typescript-version-notification)
|
|
||||||
- [Supported Protocol features](#supported-protocol-features)
|
|
||||||
- [Development](#development)
|
|
||||||
- [Build](#build)
|
|
||||||
- [Test](#test)
|
|
||||||
- [Watch](#watch)
|
|
||||||
- [Publishing](#publishing)
|
|
||||||
|
|
||||||
<!-- /MarkdownTOC -->
|
|
||||||
|
|
||||||
## Installing
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install -g typescript-language-server typescript
|
|
||||||
```
|
|
||||||
|
|
||||||
## Running the language server
|
|
||||||
|
|
||||||
```
|
|
||||||
typescript-language-server --stdio
|
|
||||||
```
|
|
||||||
|
|
||||||
## CLI Options
|
|
||||||
|
|
||||||
```
|
|
||||||
Usage: typescript-language-server [options]
|
|
||||||
|
|
||||||
|
|
||||||
Options:
|
|
||||||
|
|
||||||
-V, --version output the version number
|
|
||||||
--stdio use stdio (required option)
|
|
||||||
--log-level <log-level> A number indicating the log level (4 = log, 3 = info, 2 = warn, 1 = error). Defaults to `3`.
|
|
||||||
--tsserver-log-verbosity <verbosity> [deprecated] Specify tsserver log verbosity (off, terse, normal, verbose). Defaults to `normal`. example: --tsserver-log-verbosity=verbose
|
|
||||||
--tsserver-path <path> [deprecated] Specify path to tsserver directory. example: --tsserver-path=/Users/me/typescript/lib/
|
|
||||||
-h, --help output usage information
|
|
||||||
```
|
|
||||||
|
|
||||||
> The `--tsserver-log-verbosity` and `--tsserver-path` options are deprecated and it is recommended to pass those through corresponding `tsserver.*` `initializationOptions` instead.
|
|
||||||
|
|
||||||
> Note: The path passed to `--tsserver-path` should be a path to the `[...]/typescript/lib/tssserver.js` file or to the `[...]/typescript/lib/` directory and not to the shell script `[...]/node_modules/.bin/tsserver`. Though for backward-compatibility reasons, the server will try to do the right thing even when passed a path to the shell script.
|
|
||||||
|
|
||||||
## initializationOptions
|
|
||||||
|
|
||||||
The language server accepts various settings through the `initializationOptions` object passed through the `initialize` request. Refer to your LSP client's documentation on how to set these. Here is the list of supported options:
|
|
||||||
|
|
||||||
| Setting | Type | Description |
|
|
||||||
|:------------------|:---------|:--------------------------------------------------------------------------------------|
|
|
||||||
| hostInfo | string | Information about the host, for example `"Emacs 24.4"` or `"Sublime Text v3075"`. **Default**: `undefined` |
|
|
||||||
| completionDisableFilterText | boolean | Don't set `filterText` property on completion items. **Default**: `false` |
|
|
||||||
| disableAutomaticTypingAcquisition | boolean | Disables tsserver from automatically fetching missing type definitions (`@types` packages) for external modules. |
|
|
||||||
| maxTsServerMemory | number | The maximum size of the V8's old memory section in megabytes (for example `4096` means 4GB). The default value is dynamically configured by Node so can differ per system. Increase for very big projects that exceed allowed memory usage. **Default**: `undefined` |
|
|
||||||
| npmLocation | string | Specifies the path to the NPM executable used for Automatic Type Acquisition. |
|
|
||||||
| locale | string | The locale to use to show error messages. |
|
|
||||||
| plugins | object[] | An array of `{ name: string, location: string }` objects for registering a Typescript plugins. **Default**: [] |
|
|
||||||
| preferences | object | Preferences passed to the Typescript (`tsserver`) process. See below for more |
|
|
||||||
| tsserver | object | Options related to the `tsserver` process. See below for more |
|
|
||||||
|
|
||||||
The `tsserver` setting specifies additional options related to the internal `tsserver` process, like tracing and logging.
|
|
||||||
|
|
||||||
```ts
|
|
||||||
interface TsserverOptions {
|
|
||||||
/**
|
|
||||||
* The path to the directory where the `tsserver` log files will be created.
|
|
||||||
* If not provided, the log files will be created within the workspace, inside the `.log` directory.
|
|
||||||
* If no workspace root is provided when initializating the server and no custom path is specified then
|
|
||||||
* the logs will not be created.
|
|
||||||
*
|
|
||||||
* @default undefined
|
|
||||||
*/
|
|
||||||
logDirectory?: string;
|
|
||||||
/**
|
|
||||||
* Verbosity of the information logged into the `tsserver` log files.
|
|
||||||
*
|
|
||||||
* Log levels from least to most amount of details: `'terse'`, `'normal'`, `'requestTime`', `'verbose'`.
|
|
||||||
* Enabling particular level also enables all lower levels.
|
|
||||||
*
|
|
||||||
* @default 'off'
|
|
||||||
*/
|
|
||||||
logVerbosity?: 'off' | 'terse' | 'normal' | 'requestTime' | 'verbose';
|
|
||||||
/**
|
|
||||||
* The path to the `tsserver.js` file or the typescript lib directory. For example: `/Users/me/typescript/lib/tsserver.js`.
|
|
||||||
*/
|
|
||||||
path?: string;
|
|
||||||
/**
|
|
||||||
* The verbosity of logging of the tsserver communication.
|
|
||||||
* Delivered through the LSP messages and not related to file logging.
|
|
||||||
*
|
|
||||||
* @default 'off'
|
|
||||||
*/
|
|
||||||
trace?: 'off' | 'messages' | 'verbose';
|
|
||||||
/**
|
|
||||||
* Whether a dedicated server is launched to more quickly handle syntax related operations, such as computing diagnostics or code folding.
|
|
||||||
*
|
|
||||||
* Allowed values:
|
|
||||||
* - auto: Spawn both a full server and a lighter weight server dedicated to syntax operations. The syntax server is used to speed up syntax operations and provide IntelliSense while projects are loading.
|
|
||||||
* - never: Don't use a dedicated syntax server. Use a single server to handle all IntelliSense operations.
|
|
||||||
*
|
|
||||||
* @default 'auto'
|
|
||||||
*/
|
|
||||||
useSyntaxServer?: 'auto' | 'never';
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
The `preferences` object is an object specifying preferences for the internal `tsserver` process. Those options depend on the version of Typescript used but at the time of writing Typescript v4.4.3 contains these options:
|
|
||||||
|
|
||||||
```ts
|
|
||||||
interface UserPreferences {
|
|
||||||
/**
|
|
||||||
* Glob patterns of files to exclude from auto imports. Requires using TypeScript 4.8 or newer in the workspace.
|
|
||||||
* Relative paths are resolved relative to the workspace root.
|
|
||||||
* @since 4.8.2
|
|
||||||
*/
|
|
||||||
autoImportFileExcludePatterns: [],
|
|
||||||
disableSuggestions: boolean;
|
|
||||||
quotePreference: "auto" | "double" | "single";
|
|
||||||
/**
|
|
||||||
* If enabled, TypeScript will search through all external modules' exports and add them to the completions list.
|
|
||||||
* This affects lone identifier completions but not completions on the right hand side of `obj.`.
|
|
||||||
*/
|
|
||||||
includeCompletionsForModuleExports: boolean;
|
|
||||||
/**
|
|
||||||
* Enables auto-import-style completions on partially-typed import statements. E.g., allows
|
|
||||||
* `import write|` to be completed to `import { writeFile } from "fs"`.
|
|
||||||
*/
|
|
||||||
includeCompletionsForImportStatements: boolean;
|
|
||||||
/**
|
|
||||||
* Allows completions to be formatted with snippet text, indicated by `CompletionItem["isSnippet"]`.
|
|
||||||
*/
|
|
||||||
includeCompletionsWithSnippetText: boolean;
|
|
||||||
/**
|
|
||||||
* If enabled, the completion list will include completions with invalid identifier names.
|
|
||||||
* For those entries, The `insertText` and `replacementSpan` properties will be set to change from `.x` property access to `["x"]`.
|
|
||||||
*/
|
|
||||||
includeCompletionsWithInsertText: boolean;
|
|
||||||
/**
|
|
||||||
* Unless this option is `false`, or `includeCompletionsWithInsertText` is not enabled,
|
|
||||||
* member completion lists triggered with `.` will include entries on potentially-null and potentially-undefined
|
|
||||||
* values, with insertion text to replace preceding `.` tokens with `?.`.
|
|
||||||
*/
|
|
||||||
includeAutomaticOptionalChainCompletions: boolean;
|
|
||||||
/**
|
|
||||||
* If enabled, completions for class members (e.g. methods and properties) will include
|
|
||||||
* a whole declaration for the member.
|
|
||||||
* E.g., `class A { f| }` could be completed to `class A { foo(): number {} }`, instead of
|
|
||||||
* `class A { foo }`.
|
|
||||||
* @since 4.5.2
|
|
||||||
* @default true
|
|
||||||
*/
|
|
||||||
includeCompletionsWithClassMemberSnippets: boolean;
|
|
||||||
/**
|
|
||||||
* If enabled, object literal methods will have a method declaration completion entry in addition
|
|
||||||
* to the regular completion entry containing just the method name.
|
|
||||||
* E.g., `const objectLiteral: T = { f| }` could be completed to `const objectLiteral: T = { foo(): void {} }`,
|
|
||||||
* in addition to `const objectLiteral: T = { foo }`.
|
|
||||||
* @since 4.7.2
|
|
||||||
* @default true
|
|
||||||
*/
|
|
||||||
includeCompletionsWithObjectLiteralMethodSnippets: boolean;
|
|
||||||
/**
|
|
||||||
* Indicates whether {@link CompletionEntry.labelDetails completion entry label details} are supported.
|
|
||||||
* If not, contents of `labelDetails` may be included in the {@link CompletionEntry.name} property.
|
|
||||||
* Only supported if the client supports `textDocument.completion.completionItem.labelDetailsSupport` capability
|
|
||||||
* and a compatible TypeScript version is used.
|
|
||||||
* @since 4.7.2
|
|
||||||
* @default true
|
|
||||||
*/
|
|
||||||
useLabelDetailsInCompletionEntries: boolean;
|
|
||||||
/**
|
|
||||||
* Allows import module names to be resolved in the initial completions request.
|
|
||||||
* @default false
|
|
||||||
*/
|
|
||||||
allowIncompleteCompletions: boolean;
|
|
||||||
importModuleSpecifierPreference: "shortest" | "project-relative" | "relative" | "non-relative";
|
|
||||||
/** Determines whether we import `foo/index.ts` as "foo", "foo/index", or "foo/index.js" */
|
|
||||||
importModuleSpecifierEnding: "auto" | "minimal" | "index" | "js";
|
|
||||||
allowTextChangesInNewFiles: boolean;
|
|
||||||
lazyConfiguredProjectsFromExternalProject: boolean;
|
|
||||||
providePrefixAndSuffixTextForRename: boolean;
|
|
||||||
provideRefactorNotApplicableReason: boolean;
|
|
||||||
allowRenameOfImportPath: boolean;
|
|
||||||
includePackageJsonAutoImports: "auto" | "on" | "off";
|
|
||||||
/**
|
|
||||||
* Preferred style for JSX attribute completions:
|
|
||||||
* - `"auto"` - Insert `={}` or `=\"\"` after attribute names based on the prop type.
|
|
||||||
* - `"braces"` - Insert `={}` after attribute names.
|
|
||||||
* - `"none"` - Only insert attribute names.
|
|
||||||
* @since 4.5.2
|
|
||||||
* @default 'auto'
|
|
||||||
*/
|
|
||||||
jsxAttributeCompletionStyle: "auto" | "braces" | "none";
|
|
||||||
displayPartsForJSDoc: boolean;
|
|
||||||
generateReturnInDocTemplate: boolean;
|
|
||||||
|
|
||||||
includeInlayParameterNameHints: "none" | "literals" | "all";
|
|
||||||
includeInlayParameterNameHintsWhenArgumentMatchesName: boolean;
|
|
||||||
includeInlayFunctionParameterTypeHints: boolean,
|
|
||||||
includeInlayVariableTypeHints: boolean;
|
|
||||||
/**
|
|
||||||
* When disabled then type hints on variables whose name is identical to the type name won't be shown. Requires using TypeScript 4.8+ in the workspace.
|
|
||||||
* @since 4.8.2
|
|
||||||
* @default false
|
|
||||||
*/
|
|
||||||
includeInlayVariableTypeHintsWhenTypeMatchesName: boolean;
|
|
||||||
includeInlayPropertyDeclarationTypeHints: boolean;
|
|
||||||
includeInlayFunctionLikeReturnTypeHints: boolean;
|
|
||||||
includeInlayEnumMemberValueHints: boolean;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
From the `preferences` options listed above, this server explicilty sets the following options (all other options use their default values):
|
|
||||||
|
|
||||||
```js
|
|
||||||
{
|
|
||||||
allowIncompleteCompletions: true,
|
|
||||||
allowRenameOfImportPath: true,
|
|
||||||
allowTextChangesInNewFiles: true,
|
|
||||||
displayPartsForJSDoc: true,
|
|
||||||
generateReturnInDocTemplate: true,
|
|
||||||
includeAutomaticOptionalChainCompletions: true,
|
|
||||||
includeCompletionsForImportStatements: true,
|
|
||||||
includeCompletionsForModuleExports: true,
|
|
||||||
includeCompletionsWithClassMemberSnippets: true,
|
|
||||||
includeCompletionsWithObjectLiteralMethodSnippets: true,
|
|
||||||
includeCompletionsWithInsertText: true,
|
|
||||||
includeCompletionsWithSnippetText: true,
|
|
||||||
jsxAttributeCompletionStyle: "auto",
|
|
||||||
providePrefixAndSuffixTextForRename: true,
|
|
||||||
provideRefactorNotApplicableReason: true,
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## workspace/didChangeConfiguration
|
|
||||||
|
|
||||||
Some of the preferences can be controlled through the `workspace/didChangeConfiguration` notification. Below is a list of supported options that can be passed. Note that the settings are specified separately for the typescript and javascript files so `[language]` can be either `javascript` or `typescript`.
|
|
||||||
|
|
||||||
```ts
|
|
||||||
// Formatting preferences
|
|
||||||
[language].format.baseIndentSize: number;
|
|
||||||
[language].format.convertTabsToSpaces: boolean;
|
|
||||||
[language].format.indentSize: number;
|
|
||||||
[language].format.indentStyle: 'None' | 'Block' | 'Smart';
|
|
||||||
[language].format.insertSpaceAfterCommaDelimiter: boolean;
|
|
||||||
[language].format.insertSpaceAfterConstructor: boolean;
|
|
||||||
[language].format.insertSpaceAfterFunctionKeywordForAnonymousFunctions: boolean;
|
|
||||||
[language].format.insertSpaceAfterKeywordsInControlFlowStatements: boolean;
|
|
||||||
[language].format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces: boolean;
|
|
||||||
[language].format.insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces: boolean;
|
|
||||||
[language].format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces: boolean;
|
|
||||||
[language].format.insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets: boolean;
|
|
||||||
[language].format.insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis: boolean;
|
|
||||||
[language].format.insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces: boolean;
|
|
||||||
[language].format.insertSpaceAfterSemicolonInForStatements: boolean;
|
|
||||||
[language].format.insertSpaceAfterTypeAssertion: boolean;
|
|
||||||
[language].format.insertSpaceBeforeAndAfterBinaryOperators: boolean;
|
|
||||||
[language].format.insertSpaceBeforeFunctionParenthesis: boolean;
|
|
||||||
[language].format.insertSpaceBeforeTypeAnnotation: boolean;
|
|
||||||
[language].format.newLineCharacter: string;
|
|
||||||
[language].format.placeOpenBraceOnNewLineForControlBlocks: boolean;
|
|
||||||
[language].format.placeOpenBraceOnNewLineForFunctions: boolean;
|
|
||||||
[language].format.semicolons: 'ignore' | 'insert' | 'remove';
|
|
||||||
[language].format.tabSize: number;
|
|
||||||
[language].format.trimTrailingWhitespace: boolean;
|
|
||||||
// Inlay Hints preferences
|
|
||||||
[language].inlayHints.includeInlayEnumMemberValueHints: boolean;
|
|
||||||
[language].inlayHints.includeInlayFunctionLikeReturnTypeHints: boolean;
|
|
||||||
[language].inlayHints.includeInlayFunctionParameterTypeHints: boolean;
|
|
||||||
[language].inlayHints.includeInlayParameterNameHints: 'none' | 'literals' | 'all';
|
|
||||||
[language].inlayHints.includeInlayParameterNameHintsWhenArgumentMatchesName: boolean;
|
|
||||||
[language].inlayHints.includeInlayPropertyDeclarationTypeHints: boolean;
|
|
||||||
[language].inlayHints.includeInlayVariableTypeHints: boolean;
|
|
||||||
[language].inlayHints.includeInlayVariableTypeHintsWhenTypeMatchesName: boolean;
|
|
||||||
/**
|
|
||||||
* Complete functions with their parameter signature.
|
|
||||||
*
|
|
||||||
* This functionality relies on LSP client resolving the completion using the `completionItem/resolve` call. If the
|
|
||||||
* client can't do that before inserting the completion then it's not safe to enable it as it will result in some
|
|
||||||
* completions having a snippet type without actually being snippets, which can then cause problems when inserting them.
|
|
||||||
*
|
|
||||||
* @default false
|
|
||||||
*/
|
|
||||||
completions.completeFunctionCalls: boolean;
|
|
||||||
// Diagnostics code to be omitted when reporting diagnostics.
|
|
||||||
// See https://github.com/microsoft/TypeScript/blob/master/src/compiler/diagnosticMessages.json for a full list of valid codes.
|
|
||||||
diagnostics.ignoredCodes: number[];
|
|
||||||
/**
|
|
||||||
* Enable/disable semantic checking of JavaScript files. Existing `jsconfig.json` or `tsconfig.json` files override this setting.
|
|
||||||
*
|
|
||||||
* @default false
|
|
||||||
*/
|
|
||||||
implicitProjectConfiguration.checkJs: boolean;
|
|
||||||
/**
|
|
||||||
* Enable/disable `experimentalDecorators` in JavaScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting.
|
|
||||||
*
|
|
||||||
* @default false
|
|
||||||
*/
|
|
||||||
implicitProjectConfiguration.experimentalDecorators: boolean;
|
|
||||||
/**
|
|
||||||
* Sets the module system for the program. See more: https://www.typescriptlang.org/tsconfig#module.
|
|
||||||
*
|
|
||||||
* @default 'ESNext'
|
|
||||||
*/
|
|
||||||
implicitProjectConfiguration.module: string;
|
|
||||||
/**
|
|
||||||
* Enable/disable [strict function types](https://www.typescriptlang.org/tsconfig#strictFunctionTypes) in JavaScript and TypeScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting.
|
|
||||||
*
|
|
||||||
* @default true
|
|
||||||
*/
|
|
||||||
implicitProjectConfiguration.strictFunctionTypes: boolean;
|
|
||||||
/**
|
|
||||||
* Enable/disable [strict null checks](https://www.typescriptlang.org/tsconfig#strictNullChecks) in JavaScript and TypeScript files that are not part of a project. Existing `jsconfig.json` or `tsconfig.json` files override this setting.
|
|
||||||
*
|
|
||||||
* @default true
|
|
||||||
*/
|
|
||||||
implicitProjectConfiguration.strictNullChecks: boolean;
|
|
||||||
/**
|
|
||||||
* Set target JavaScript language version for emitted JavaScript and include library declarations. See more: https://www.typescriptlang.org/tsconfig#target.
|
|
||||||
*
|
|
||||||
* @default 'ES2020'
|
|
||||||
*/
|
|
||||||
implicitProjectConfiguration.target: string;
|
|
||||||
```
|
|
||||||
|
|
||||||
## Code actions on save
|
|
||||||
|
|
||||||
Server announces support for the following code action kinds:
|
|
||||||
|
|
||||||
- `source.fixAll.ts` - despite the name, fixes a couple of specific issues: unreachable code, await in non-async functions, incorrectly implemented interface
|
|
||||||
- `source.removeUnused.ts` - removes declared but unused variables
|
|
||||||
- `source.addMissingImports.ts` - adds imports for used but not imported symbols
|
|
||||||
- `source.removeUnusedImports.ts` - removes unused imports
|
|
||||||
- `source.sortImports.ts` - sorts imports
|
|
||||||
- `source.organizeImports.ts` - organizes and removes unused imports
|
|
||||||
|
|
||||||
This allows editors that support running code actions on save to automatically run fixes associated with those kinds.
|
|
||||||
|
|
||||||
Those code actions, if they apply in the current code, should also be presented in the list of "Source Actions" if the editor exposes those.
|
|
||||||
|
|
||||||
The user can enable it with a setting similar to (can vary per-editor):
|
|
||||||
|
|
||||||
```js
|
|
||||||
"codeActionsOnSave": {
|
|
||||||
"source.organizeImports.ts": true,
|
|
||||||
// or just
|
|
||||||
"source.organizeImports": true,
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Workspace commands (`workspace/executeCommand`)
|
|
||||||
|
|
||||||
See [LSP specification](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#workspace_executeCommand).
|
|
||||||
|
|
||||||
Most of the time, you'll execute commands with arguments retrieved from another request like `textDocument/codeAction`. There are some use cases for calling them manually.
|
|
||||||
|
|
||||||
`lsp` refers to the language server protocol types, `tsp` refers to the typescript server protocol types.
|
|
||||||
|
|
||||||
### Go to Source Definition
|
|
||||||
|
|
||||||
- Request:
|
|
||||||
```ts
|
|
||||||
{
|
|
||||||
command: `_typescript.goToSourceDefinition`
|
|
||||||
arguments: [
|
|
||||||
lsp.DocumentUri, // String URI of the document
|
|
||||||
lsp.Position, // Line and character position (zero-based)
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
- Response:
|
|
||||||
```ts
|
|
||||||
lsp.Location[] | null
|
|
||||||
```
|
|
||||||
|
|
||||||
(This command is supported from Typescript 4.7.)
|
|
||||||
|
|
||||||
### Apply Workspace Edits
|
|
||||||
|
|
||||||
- Request:
|
|
||||||
```ts
|
|
||||||
{
|
|
||||||
command: `_typescript.applyWorkspaceEdit`
|
|
||||||
arguments: [lsp.WorkspaceEdit]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
- Response:
|
|
||||||
```ts
|
|
||||||
lsp.ApplyWorkspaceEditResult
|
|
||||||
```
|
|
||||||
|
|
||||||
### Apply Code Action
|
|
||||||
|
|
||||||
- Request:
|
|
||||||
```ts
|
|
||||||
{
|
|
||||||
command: `_typescript.applyCodeAction`
|
|
||||||
arguments: [
|
|
||||||
tsp.CodeAction, // TypeScript Code Action object
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
- Response:
|
|
||||||
```ts
|
|
||||||
void
|
|
||||||
```
|
|
||||||
|
|
||||||
### Apply Refactoring
|
|
||||||
|
|
||||||
- Request:
|
|
||||||
```ts
|
|
||||||
{
|
|
||||||
command: `_typescript.applyRefactoring`
|
|
||||||
arguments: [
|
|
||||||
tsp.GetEditsForRefactorRequestArgs,
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
- Response:
|
|
||||||
```ts
|
|
||||||
void
|
|
||||||
```
|
|
||||||
|
|
||||||
### Organize Imports
|
|
||||||
|
|
||||||
- Request:
|
|
||||||
```ts
|
|
||||||
{
|
|
||||||
command: `_typescript.organizeImports`
|
|
||||||
arguments: [
|
|
||||||
// The "skipDestructiveCodeActions" argument is supported from Typescript 4.4+
|
|
||||||
[string] | [string, { skipDestructiveCodeActions?: boolean }],
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
- Response:
|
|
||||||
```ts
|
|
||||||
void
|
|
||||||
```
|
|
||||||
|
|
||||||
### Rename File
|
|
||||||
|
|
||||||
- Request:
|
|
||||||
```ts
|
|
||||||
{
|
|
||||||
command: `_typescript.applyRenameFile`
|
|
||||||
arguments: [
|
|
||||||
{ sourceUri: string; targetUri: string; },
|
|
||||||
]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
- Response:
|
|
||||||
```ts
|
|
||||||
void
|
|
||||||
```
|
|
||||||
|
|
||||||
### Configure plugin
|
|
||||||
|
|
||||||
- Request:
|
|
||||||
```ts
|
|
||||||
{
|
|
||||||
command: `_typescript.configurePlugin`
|
|
||||||
arguments: [pluginName: string, configuration: any]
|
|
||||||
}
|
|
||||||
```
|
|
||||||
- Response:
|
|
||||||
```ts
|
|
||||||
void
|
|
||||||
```
|
|
||||||
|
|
||||||
## Inlay hints (`textDocument/inlayHint`)
|
|
||||||
|
|
||||||
For the request to return any results, some or all of the following options need to be enabled through `preferences`:
|
|
||||||
|
|
||||||
```ts
|
|
||||||
export interface InlayHintsOptions extends UserPreferences {
|
|
||||||
includeInlayParameterNameHints: 'none' | 'literals' | 'all';
|
|
||||||
includeInlayParameterNameHintsWhenArgumentMatchesName: boolean;
|
|
||||||
includeInlayFunctionParameterTypeHints: boolean;
|
|
||||||
includeInlayVariableTypeHints: boolean;
|
|
||||||
includeInlayVariableTypeHintsWhenTypeMatchesName: boolean;
|
|
||||||
includeInlayPropertyDeclarationTypeHints: boolean;
|
|
||||||
includeInlayFunctionLikeReturnTypeHints: boolean;
|
|
||||||
includeInlayEnumMemberValueHints: boolean;
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## TypeScript Version Notification
|
|
||||||
|
|
||||||
Right after initializing, the server sends a custom `$/typescriptVersion` notification that carries information about the version of TypeScript that is utilized by the server. The editor can then display that information in the UI.
|
|
||||||
|
|
||||||
The `$/typescriptVersion` notification params include two properties:
|
|
||||||
|
|
||||||
- `version` - a semantic version (for example `4.8.4`)
|
|
||||||
- `source` - a string specifying whether used TypeScript version comes from the local workspace (`workspace`), is explicitly specified through a `initializationOptions.tsserver.path` setting (`user-setting`) or was bundled with the server (`bundled`)
|
|
||||||
|
|
||||||
## Supported Protocol features
|
|
||||||
|
|
||||||
- [x] textDocument/codeAction
|
|
||||||
- [x] textDocument/completion (incl. `completion/resolve`)
|
|
||||||
- [x] textDocument/definition
|
|
||||||
- [x] textDocument/didChange (incremental)
|
|
||||||
- [x] textDocument/didClose
|
|
||||||
- [x] textDocument/didOpen
|
|
||||||
- [x] textDocument/didSave
|
|
||||||
- [x] textDocument/documentHighlight
|
|
||||||
- [x] textDocument/documentSymbol
|
|
||||||
- [x] textDocument/executeCommand
|
|
||||||
- [x] textDocument/formatting
|
|
||||||
- [x] textDocument/hover
|
|
||||||
- [x] textDocument/inlayHint (no support for `inlayHint/resolve` or `workspace/inlayHint/refresh`)
|
|
||||||
- [x] textDocument/prepareCallHierarchy
|
|
||||||
- [x] callHierarchy/incomingCalls
|
|
||||||
- [x] callHierarchy/outgoingCalls
|
|
||||||
- [x] textDocument/prepareRename
|
|
||||||
- [x] textDocument/rangeFormatting
|
|
||||||
- [x] textDocument/references
|
|
||||||
- [x] textDocument/rename
|
|
||||||
- [x] textDocument/selectionRange
|
|
||||||
- [x] textDocument/signatureHelp
|
|
||||||
- [x] workspace/symbol
|
|
||||||
- [x] workspace/didChangeConfiguration
|
|
||||||
- [x] workspace/executeCommand
|
|
||||||
|
|
||||||
## Development
|
|
||||||
|
|
||||||
### Build
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn
|
|
||||||
```
|
|
||||||
|
|
||||||
### Test
|
|
||||||
|
|
||||||
- `yarn test` - run all tests
|
|
||||||
- `yarn test:watch` - run all tests and enable watch mode for developing
|
|
||||||
|
|
||||||
By default only console logs of level `warning` and higher are printed to the console. You can override the `CONSOLE_LOG_LEVEL` level in `package.json` to either `log`, `info`, `warning` or `error` to log other levels.
|
|
||||||
|
|
||||||
### Watch
|
|
||||||
|
|
||||||
```sh
|
|
||||||
yarn watch
|
|
||||||
```
|
|
||||||
|
|
||||||
### Publishing
|
|
||||||
|
|
||||||
New version of the package is published automatically on pushing new tag to the upstream repo.
|
|
3
nvim/lua/node_modules/typescript-language-server/lib/cli.mjs
generated
vendored
3
nvim/lua/node_modules/typescript-language-server/lib/cli.mjs
generated
vendored
File diff suppressed because one or more lines are too long
1
nvim/lua/node_modules/typescript-language-server/lib/cli.mjs.map
generated
vendored
1
nvim/lua/node_modules/typescript-language-server/lib/cli.mjs.map
generated
vendored
File diff suppressed because one or more lines are too long
84
nvim/lua/node_modules/typescript-language-server/package.json
generated
vendored
84
nvim/lua/node_modules/typescript-language-server/package.json
generated
vendored
|
@ -1,84 +0,0 @@
|
||||||
{
|
|
||||||
"name": "typescript-language-server",
|
|
||||||
"version": "3.3.1",
|
|
||||||
"description": "Language Server Protocol (LSP) implementation for TypeScript using tsserver",
|
|
||||||
"author": "TypeFox and others",
|
|
||||||
"license": "Apache-2.0",
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/typescript-language-server/typescript-language-server.git"
|
|
||||||
},
|
|
||||||
"type": "module",
|
|
||||||
"engines": {
|
|
||||||
"node": ">=14.17"
|
|
||||||
},
|
|
||||||
"files": [
|
|
||||||
"lib"
|
|
||||||
],
|
|
||||||
"bin": {
|
|
||||||
"typescript-language-server": "./lib/cli.mjs"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"clean": "rimraf lib *.tsbuildinfo",
|
|
||||||
"test": "cross-env NODE_OPTIONS=--experimental-vm-modules CONSOLE_LOG_LEVEL=warning jest",
|
|
||||||
"test:watch": "cross-env NODE_OPTIONS=--experimental-vm-modules CONSOLE_LOG_LEVEL=warning jest --watch",
|
|
||||||
"lint": "eslint --ext \".js,.ts\" src",
|
|
||||||
"fix": "eslint --ext \".js,.ts\" --fix src",
|
|
||||||
"build": "concurrently -n compile,lint -c blue,green \"yarn compile\" \"yarn lint\"",
|
|
||||||
"compile": "rimraf lib && rollup --config rollup.config.ts --configPlugin typescript",
|
|
||||||
"watch": "rimraf lib && rollup --config rollup.config.ts --configPlugin typescript --watch",
|
|
||||||
"postversion": "git push --follow-tags",
|
|
||||||
"prepare": "cd test-data/jsx && yarn"
|
|
||||||
},
|
|
||||||
"eslintIgnore": [
|
|
||||||
"!.eslintrc.cjs"
|
|
||||||
],
|
|
||||||
"husky": {
|
|
||||||
"hooks": {
|
|
||||||
"pre-commit": "yarn lint && yarn test && yarn build",
|
|
||||||
"post-merge": "yarn"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
|
||||||
"@babel/core": "^7.21.3",
|
|
||||||
"@babel/preset-env": "^7.20.2",
|
|
||||||
"@rollup/plugin-commonjs": "^24.0.1",
|
|
||||||
"@rollup/plugin-node-resolve": "^15.0.1",
|
|
||||||
"@rollup/plugin-terser": "^0.4.0",
|
|
||||||
"@rollup/plugin-typescript": "^11.0.0",
|
|
||||||
"@types/deepmerge": "^2.2.0",
|
|
||||||
"@types/fs-extra": "^11.0.1",
|
|
||||||
"@types/jest": "^29.5.0",
|
|
||||||
"@types/node": "^16.18.21",
|
|
||||||
"@types/semver": "^7.3.13",
|
|
||||||
"@types/which": "^3.0.0",
|
|
||||||
"@typescript-eslint/eslint-plugin": "^5.57.0",
|
|
||||||
"@typescript-eslint/parser": "^5.57.0",
|
|
||||||
"babel-jest": "^29.5.0",
|
|
||||||
"commander": "^10.0.0",
|
|
||||||
"concurrently": "^7.6.0",
|
|
||||||
"cross-env": "^7.0.3",
|
|
||||||
"deepmerge": "^4.3.1",
|
|
||||||
"eslint": "^8.36.0",
|
|
||||||
"eslint-plugin-jest": "^27.2.1",
|
|
||||||
"fs-extra": "^11.1.1",
|
|
||||||
"husky": "4.x",
|
|
||||||
"jest": "^29.5.0",
|
|
||||||
"p-debounce": "^4.0.0",
|
|
||||||
"pkg-up": "^4.0.0",
|
|
||||||
"rimraf": "^4.4.1",
|
|
||||||
"rollup": "^3.20.2",
|
|
||||||
"semver": "^7.3.8",
|
|
||||||
"source-map-support": "^0.5.21",
|
|
||||||
"tempy": "^3.0.0",
|
|
||||||
"ts-jest": "^29.0.5",
|
|
||||||
"ts-node": "^10.9.1",
|
|
||||||
"tslib": "^2.5.0",
|
|
||||||
"typescript": "^4.9.5",
|
|
||||||
"vscode-languageserver": "^8.1.0",
|
|
||||||
"vscode-languageserver-protocol": "^3.17.3",
|
|
||||||
"vscode-languageserver-textdocument": "1.0.8",
|
|
||||||
"vscode-uri": "^3.0.7",
|
|
||||||
"which": "^3.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,270 +0,0 @@
|
||||||
local lsp = require('lspconfig')
|
|
||||||
local util = lsp.util
|
|
||||||
|
|
||||||
local lspcap = require('cmp_nvim_lsp')
|
|
||||||
.default_capabilities(vim.lsp.protocol.make_client_capabilities())
|
|
||||||
local lspatt = function(client, bufnr)
|
|
||||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
|
||||||
end
|
|
||||||
|
|
||||||
-- color scheme setup
|
|
||||||
vim.g.catppuccin_flavour = 'mocha'
|
|
||||||
require('catppuccin').setup()
|
|
||||||
vim.cmd [[colorscheme catppuccin]]
|
|
||||||
|
|
||||||
-- load snippets
|
|
||||||
require('luasnip.loaders.from_snipmate').lazy_load({
|
|
||||||
paths = "~/.config/nvim/snippets"
|
|
||||||
})
|
|
||||||
|
|
||||||
-- yankbank config
|
|
||||||
require('yankbank').setup()
|
|
||||||
|
|
||||||
-- replace built in selector with telescope
|
|
||||||
local fb_actions = require'telescope'.extensions.file_browser.actions
|
|
||||||
require('telescope').setup {
|
|
||||||
extensions = {
|
|
||||||
["ui-select"] = {
|
|
||||||
require("telescope.themes").get_dropdown {}
|
|
||||||
},
|
|
||||||
file_browser = {
|
|
||||||
initial_mode = "normal",
|
|
||||||
hijack_netrw = true,
|
|
||||||
dir_icon = "",
|
|
||||||
mappings = {
|
|
||||||
["i"] = {
|
|
||||||
["<A-c>"] = false,
|
|
||||||
["<S-CR>"] = false,
|
|
||||||
["<A-r>"] = false,
|
|
||||||
["<A-m>"] = false,
|
|
||||||
["<A-y>"] = false,
|
|
||||||
["<A-d>"] = false,
|
|
||||||
["<C-o>"] = false,
|
|
||||||
["<C-g>"] = false,
|
|
||||||
["<C-e>"] = false,
|
|
||||||
["<C-w>"] = false,
|
|
||||||
["<C-t>"] = false,
|
|
||||||
["<C-f>"] = false,
|
|
||||||
["<C-h>"] = false,
|
|
||||||
["<C-s>"] = false,
|
|
||||||
["<Tab>"] = false,
|
|
||||||
["<S-Tab>"] = false,
|
|
||||||
["<bs>"] = false,
|
|
||||||
},
|
|
||||||
["n"] = {
|
|
||||||
c = false,
|
|
||||||
r = false,
|
|
||||||
m = false,
|
|
||||||
y = false,
|
|
||||||
d = false,
|
|
||||||
o = false,
|
|
||||||
g = false,
|
|
||||||
e = false,
|
|
||||||
w = false,
|
|
||||||
t = false,
|
|
||||||
f = false,
|
|
||||||
s = false,
|
|
||||||
h = fb_actions.toggle_hidden,
|
|
||||||
["<Tab>"] = false,
|
|
||||||
["<S-Tab>"] = false,
|
|
||||||
["-"] = fb_actions.goto_parent_dir,
|
|
||||||
["/"] = function()
|
|
||||||
vim.cmd('startinsert')
|
|
||||||
end,
|
|
||||||
["+"] = fb_actions.create,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
require('telescope').load_extension('ui-select')
|
|
||||||
require('telescope').load_extension('file_browser')
|
|
||||||
|
|
||||||
-- autocomplete config
|
|
||||||
local cmp = require 'cmp'
|
|
||||||
cmp.setup {
|
|
||||||
snippet = {
|
|
||||||
expand = function(args)
|
|
||||||
require'luasnip'.lsp_expand(args.body)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
mapping = {
|
|
||||||
['<Tab>'] = cmp.mapping.select_next_item(),
|
|
||||||
['<S-Tab>'] = cmp.mapping.select_prev_item(),
|
|
||||||
['<CR>'] = cmp.mapping.confirm({
|
|
||||||
behavior = cmp.ConfirmBehavior.Replace,
|
|
||||||
select = false,
|
|
||||||
})
|
|
||||||
},
|
|
||||||
preselect = cmp.PreselectMode.None,
|
|
||||||
confirmation = { get_commit_characters = function(_) return {} end },
|
|
||||||
sources = {
|
|
||||||
{ name = 'nvim_lsp' },
|
|
||||||
{ name = 'luasnip' },
|
|
||||||
{ name = 'buffer' },
|
|
||||||
{ name = 'path' },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- gitsigns
|
|
||||||
require('gitsigns').setup()
|
|
||||||
|
|
||||||
-- lsp configs
|
|
||||||
lsp.openscad_ls.setup {
|
|
||||||
capabilities = lspcap,
|
|
||||||
on_attach = lspatt,
|
|
||||||
}
|
|
||||||
lsp.omnisharp.setup {
|
|
||||||
capabilities = lspcap,
|
|
||||||
on_attach = lspatt,
|
|
||||||
root_dir = function(file, _)
|
|
||||||
if file:sub(-#".csx") == ".csx" then
|
|
||||||
return util.path.dirname(file)
|
|
||||||
end
|
|
||||||
return util.root_pattern("*.sln")(file) or util.root_pattern("*.csproj")(file) or util.root_pattern("omnisharp.json")(file)
|
|
||||||
end,
|
|
||||||
cmd = { "/home/rudism/.local/share/omnisharp/OmniSharp" }, --"--languageserver" , "--hostPID", tostring(pid) },
|
|
||||||
}
|
|
||||||
lsp.ts_ls.setup {
|
|
||||||
capabilities = lspcap,
|
|
||||||
on_attach = lspatt,
|
|
||||||
cmd = { "npx", "typescript-language-server@latest", "--stdio" },
|
|
||||||
}
|
|
||||||
lsp.yamlls.setup {
|
|
||||||
capabilities = lspcap,
|
|
||||||
on_attach = lspatt,
|
|
||||||
cmd = { "npx", "yaml-language-server@latest", "--stdio" },
|
|
||||||
}
|
|
||||||
lsp.ccls.setup {
|
|
||||||
capabilities = lspcap,
|
|
||||||
on_attach = lspatt,
|
|
||||||
}
|
|
||||||
local runtime_path = vim.split(package.path, ';')
|
|
||||||
table.insert(runtime_path, "lua/?.lua")
|
|
||||||
table.insert(runtime_path, "lua/?/init.lua")
|
|
||||||
lsp.lua_ls.setup {
|
|
||||||
capabilities = lspcap,
|
|
||||||
on_attach = lspatt,
|
|
||||||
cmd = { "lua-language-server", "-E" },
|
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
runtime = {
|
|
||||||
version = 'LuaJIT',
|
|
||||||
path = runtime_path,
|
|
||||||
},
|
|
||||||
diagnostics = {
|
|
||||||
globals = {'vim', 'use'},
|
|
||||||
},
|
|
||||||
workspace = {
|
|
||||||
library = vim.api.nvim_get_runtime_file("", true),
|
|
||||||
},
|
|
||||||
telemetry = {
|
|
||||||
enable = false,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
lsp.perlpls.setup {
|
|
||||||
capabilities = lspcap,
|
|
||||||
on_attach = lspatt,
|
|
||||||
settings = {
|
|
||||||
perl = {
|
|
||||||
perlcritic = {
|
|
||||||
enabled = false
|
|
||||||
},
|
|
||||||
syntax = {
|
|
||||||
enabled = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
lsp.efm.setup {
|
|
||||||
capabilities = lspcap,
|
|
||||||
on_attach = lspatt,
|
|
||||||
filetypes = {"sh", "markdown"},
|
|
||||||
settings = {
|
|
||||||
languages = {
|
|
||||||
sh = {{
|
|
||||||
lintCommand = "shellcheck -f gcc -x",
|
|
||||||
lintSource = "shellcheck",
|
|
||||||
lintFormats = { "%f:%l:%c: %trror: %m", "%f:%l:%c: %tarning: %m", "%f:%l:%c: %tote: %m" },
|
|
||||||
lintIgnoreExitCode = true
|
|
||||||
}},
|
|
||||||
markdown = {{
|
|
||||||
lintCommand = "write-good --parse",
|
|
||||||
lintSource = "write-good",
|
|
||||||
lintFormats = { "%f:%l:%c:%m" },
|
|
||||||
}},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
lsp.pyright.setup {
|
|
||||||
capabilities = lspcap,
|
|
||||||
on_attach = lspatt,
|
|
||||||
}
|
|
||||||
lsp.rust_analyzer.setup {
|
|
||||||
capabilities = lspcap,
|
|
||||||
on_attach = lspatt,
|
|
||||||
}
|
|
||||||
-- setup for Arduboy dev
|
|
||||||
lsp.arduino_language_server.setup {
|
|
||||||
capabilities = lspcap,
|
|
||||||
on_attach = lspatt,
|
|
||||||
cmd = {
|
|
||||||
"arduino-language-server",
|
|
||||||
"-cli-config", "~/.arduino15/arduino-cli.yaml",
|
|
||||||
"-cli", "/bin/arduino-cli",
|
|
||||||
"-clangd", "/usr/bin/clangd",
|
|
||||||
"-fqbn", "arduino:avr:leonardo"
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
-- status line setup
|
|
||||||
require'lualine'.setup {
|
|
||||||
options = {
|
|
||||||
theme = 'catppuccin',
|
|
||||||
component_separators = { left = '', right = '' },
|
|
||||||
section_separators = { left = '', right = '' },
|
|
||||||
},
|
|
||||||
sections = {
|
|
||||||
lualine_a = {'mode'},
|
|
||||||
lualine_b = {'branch'},
|
|
||||||
lualine_c = {{
|
|
||||||
'filename',
|
|
||||||
symbols = {
|
|
||||||
modified = '✎ ',
|
|
||||||
readonly = '🔒 ',
|
|
||||||
unnamed = '[No Name]'
|
|
||||||
}
|
|
||||||
}},
|
|
||||||
lualine_x = {{
|
|
||||||
"diagnostics",
|
|
||||||
sources = {"nvim_lsp"},
|
|
||||||
icons_enabled = true
|
|
||||||
}},
|
|
||||||
lualine_y = {'progress'},
|
|
||||||
lualine_z = {'location'},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-- zen mode config
|
|
||||||
require('true-zen').setup {
|
|
||||||
modes = {
|
|
||||||
ataraxis = {
|
|
||||||
callbacks = {
|
|
||||||
open_pre = function()
|
|
||||||
vim.opt.linebreak = true
|
|
||||||
vim.opt.spell = true
|
|
||||||
end,
|
|
||||||
close_post = function()
|
|
||||||
vim.opt.linebreak = false
|
|
||||||
vim.opt.spell = false
|
|
||||||
end
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
integrations = {
|
|
||||||
tmux = true,
|
|
||||||
lualine = true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,48 +0,0 @@
|
||||||
return require('packer').startup({
|
|
||||||
function()
|
|
||||||
local pid = vim.fn.getpid()
|
|
||||||
|
|
||||||
use 'wbthomason/packer.nvim' -- plugin manager
|
|
||||||
use 'nvim-tree/nvim-web-devicons' -- file icons
|
|
||||||
use { -- color scheme
|
|
||||||
'catppuccin/nvim',
|
|
||||||
as = 'cattppuccin'
|
|
||||||
}
|
|
||||||
use 'hoob3rt/lualine.nvim' -- status line
|
|
||||||
use { -- file picker and grepper
|
|
||||||
'nvim-telescope/telescope.nvim',
|
|
||||||
--requires = { {'nvim-lua/plenary.nvim', commit = '08e301982b9a057110ede7a735dd1b5285eb341f'} }
|
|
||||||
requires = { {'nvim-lua/plenary.nvim' } }
|
|
||||||
}
|
|
||||||
use 'nvim-telescope/telescope-ui-select.nvim' -- selector
|
|
||||||
use 'gpanders/editorconfig.nvim'
|
|
||||||
use 'neovim/nvim-lspconfig'
|
|
||||||
use 'L3MON4D3/LuaSnip' -- snipets
|
|
||||||
use 'ptdewey/yankbank-nvim' -- clipboard history
|
|
||||||
use {
|
|
||||||
'hrsh7th/nvim-cmp', -- autocomplete
|
|
||||||
requires = {
|
|
||||||
{'saadparwaiz1/cmp_luasnip'}, -- autocomplete snips
|
|
||||||
{'hrsh7th/cmp-nvim-lsp'}, -- lsp autocomplete
|
|
||||||
{'hrsh7th/cmp-buffer'}, -- buffer autocomplete
|
|
||||||
{'hrsh7th/cmp-path'}, -- path autocompletes
|
|
||||||
}
|
|
||||||
}
|
|
||||||
use { -- gitgutter replacement
|
|
||||||
'lewis6991/gitsigns.nvim',
|
|
||||||
--requires = { {'nvim-lua/plenary.nvim', commit = '08e301982b9a057110ede7a735dd1b5285eb341f'} }
|
|
||||||
requires = { {'nvim-lua/plenary.nvim' } }
|
|
||||||
}
|
|
||||||
use 'Pocco81/TrueZen.nvim' -- distraction free writing
|
|
||||||
use 'https://code.sitosis.com/rudism/telescope-dict.nvim.git' -- thesaurus and dictionary
|
|
||||||
use 'nvim-telescope/telescope-file-browser.nvim' -- file picker
|
|
||||||
use 'tpope/vim-dadbod' -- database query runner
|
|
||||||
use 'tpope/vim-dotenv' -- .env configuration support
|
|
||||||
use 'kristijanhusak/vim-dadbod-completion' -- sql completion
|
|
||||||
use 'sirtaj/vim-openscad'
|
|
||||||
end,
|
|
||||||
config = {
|
|
||||||
clone_timeout = false,
|
|
||||||
max_jobs = 2 -- otherwise PackerUpdate dies on shitty hardware like the pi zero
|
|
||||||
}
|
|
||||||
})
|
|
|
@ -1,51 +0,0 @@
|
||||||
local M = {}
|
|
||||||
|
|
||||||
local function parent_dir(path)
|
|
||||||
local idx = path:match('.*/()')
|
|
||||||
if idx == nil then
|
|
||||||
return nil
|
|
||||||
end
|
|
||||||
return path:sub(1, idx - 2)
|
|
||||||
end
|
|
||||||
|
|
||||||
local function scan_dir(path)
|
|
||||||
local pfile = io.popen('ls -a "'..path..'"')
|
|
||||||
local files = {}
|
|
||||||
for filename in pfile:lines() do
|
|
||||||
table.insert(files, filename)
|
|
||||||
end
|
|
||||||
return files
|
|
||||||
end
|
|
||||||
|
|
||||||
local rootfiles = {
|
|
||||||
'.git',
|
|
||||||
'package.json',
|
|
||||||
'node_modules',
|
|
||||||
'Makefile',
|
|
||||||
'*.sln'
|
|
||||||
}
|
|
||||||
|
|
||||||
M.find_project_root = function()
|
|
||||||
local stop_at = parent_dir(os.getenv('HOME'))
|
|
||||||
local cwd = vim.fn.expand('%:p:h')
|
|
||||||
local cur_dir = cwd
|
|
||||||
while cur_dir:find(stop_at) == 1 do
|
|
||||||
for _, filename in pairs(scan_dir(cur_dir)) do
|
|
||||||
for _, rootfile in pairs(rootfiles) do
|
|
||||||
if rootfile:sub(1, 1) == '*' then
|
|
||||||
local idx = filename:find(rootfile:sub(2))
|
|
||||||
if idx == filename:len() - rootfile:len() + 2 then
|
|
||||||
return cur_dir
|
|
||||||
end
|
|
||||||
elseif filename == rootfile then
|
|
||||||
print(cur_dir)
|
|
||||||
return cur_dir
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
cur_dir = parent_dir(cur_dir)
|
|
||||||
end
|
|
||||||
return cwd
|
|
||||||
end
|
|
||||||
|
|
||||||
return M
|
|
|
@ -1,11 +0,0 @@
|
||||||
# inline xml documentation
|
|
||||||
snippet ///
|
|
||||||
/// <summary>
|
|
||||||
/// ${0}
|
|
||||||
/// </summary>
|
|
||||||
snippet <p
|
|
||||||
<param name="${1}">${2:$1}</param>
|
|
||||||
snippet <r
|
|
||||||
<returns>${1}</returns>
|
|
||||||
snippet <rem
|
|
||||||
<remarks>${1}</remarks>
|
|
|
@ -1,31 +0,0 @@
|
||||||
Ruka
|
|
||||||
Suzu
|
|
||||||
Ew
|
|
||||||
HIRO
|
|
||||||
Hiro
|
|
||||||
Peggie
|
|
||||||
Hiroka
|
|
||||||
Shinobu
|
|
||||||
tataki
|
|
||||||
Kamishin
|
|
||||||
Jellinek
|
|
||||||
Uber
|
|
||||||
MLB
|
|
||||||
Gogo
|
|
||||||
Reggsignation
|
|
||||||
homie
|
|
||||||
Tsutsui
|
|
||||||
Terada
|
|
||||||
C'mon
|
|
||||||
somen
|
|
||||||
Wh
|
|
||||||
Kamishin's
|
|
||||||
Chikami
|
|
||||||
Shinjiro
|
|
||||||
Hakodate
|
|
||||||
Gah
|
|
||||||
Tomo
|
|
||||||
Tomo's
|
|
||||||
Kei
|
|
||||||
Ruka's
|
|
||||||
Ota
|
|
Binary file not shown.
14
scripts/change-resolution
Executable file
14
scripts/change-resolution
Executable file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
SELF="$(dirname "$0")/$(basename "$0")"
|
||||||
|
|
||||||
|
# An option was passed, so let's check it
|
||||||
|
if [ ! "$@" ]
|
||||||
|
then
|
||||||
|
choice="$("$SELF" -select | fuzzel --dmenu)"
|
||||||
|
if [ -n "$choice" ]; then
|
||||||
|
wlr-randr --output HDMI-A-1 --mode "$choice"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "3440x1440@59.973Hz"
|
||||||
|
echo "1920x1080@60Hz"
|
||||||
|
fi
|
30
scripts/pgq
Executable file
30
scripts/pgq
Executable file
|
@ -0,0 +1,30 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
findenv() {
|
||||||
|
if [ -f ".env" ]; then
|
||||||
|
printf '%s\n' "${PWD%/}/.env"
|
||||||
|
elif [ "$PWD" = / ]; then
|
||||||
|
false
|
||||||
|
else
|
||||||
|
# a subshell so that we don't affect the caller's $PWD
|
||||||
|
(cd .. && findenv)
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
env=$(findenv)
|
||||||
|
|
||||||
|
if [ -z "$env" ]; then
|
||||||
|
echo 'No .env file found'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
connstr=$(rg '^DATABASE_URL=' "$env" | sed 's/.*=//')
|
||||||
|
|
||||||
|
if [ -z "$connstr" ]; then
|
||||||
|
echo "No DATABASE_URL found in $env"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
export EDITOR=hx
|
||||||
|
export PSPG_CONF=~/.config/pspg/config
|
||||||
|
exec pgcli "$connstr"
|
|
@ -1,4 +1,4 @@
|
||||||
output * bg /home/rudism/skynet/wallpaper/ghosts.jpg fill
|
output * bg /home/rudism/skynet/wallpaper/horizon.png fill
|
||||||
|
|
||||||
default_border pixel 2
|
default_border pixel 2
|
||||||
default_floating_border pixel 2
|
default_floating_border pixel 2
|
||||||
|
|
|
@ -49,3 +49,4 @@ bindsym XF86AudioPlay exec playerctl play-pause
|
||||||
bindsym Print exec grim -g "$(slurp)" - | swappy -f -
|
bindsym Print exec grim -g "$(slurp)" - | swappy -f -
|
||||||
bindsym $mod+c exec clipman pick --tool=CUSTOM --tool-args="fuzzel -d"
|
bindsym $mod+c exec clipman pick --tool=CUSTOM --tool-args="fuzzel -d"
|
||||||
bindsym $mod+a exec /home/rudism/skynet/scripts/choose-audio -select
|
bindsym $mod+a exec /home/rudism/skynet/scripts/choose-audio -select
|
||||||
|
bindsym $mod+v exec /home/rudism/skynet/scripts/change-resolution
|
||||||
|
|
BIN
wallpaper/earthlike.jpg
Normal file
BIN
wallpaper/earthlike.jpg
Normal file
Binary file not shown.
After ![]() (image error) Size: 774 KiB |
BIN
wallpaper/horizon.png
Normal file
BIN
wallpaper/horizon.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 188 KiB |
Loading…
Add table
Reference in a new issue