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]
|
||||
autoSetupRemote = true
|
||||
[core]
|
||||
editor = nvim
|
||||
editor = hx
|
||||
autocrlf = input
|
||||
[filter "lfs"]
|
||||
clean = git-lfs clean -- %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'
|
||||
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'
|
||||
|
||||
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_floating_border pixel 2
|
||||
|
|
|
@ -49,3 +49,4 @@ bindsym XF86AudioPlay exec playerctl play-pause
|
|||
bindsym Print exec grim -g "$(slurp)" - | swappy -f -
|
||||
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+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