summaryrefslogtreecommitdiffstats
path: root/.config/nvim
diff options
context:
space:
mode:
Diffstat (limited to '.config/nvim')
-rw-r--r--.config/nvim/init.lua37
-rw-r--r--.config/nvim/lua/lsp.lua52
-rw-r--r--.config/nvim/nvim-pack-lock.json20
3 files changed, 55 insertions, 54 deletions
diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua
index 275c609..6635444 100644
--- a/.config/nvim/init.lua
+++ b/.config/nvim/init.lua
@@ -19,20 +19,22 @@ vim.g.loaded_perl_provider = 0
vim.g.loaded_ruby_provider = 0
vim.g.loaded_python3_provider = 0
+vim.o.autocomplete = true
+
vim.o.list = true
vim.o.mouse = 'a'
vim.o.foldcolumn = "auto"
vim.o.cursorline = true
vim.o.laststatus = 2
-vim.o.statusline = table.concat({
- '%<%n:',
- '%f %h%w%m%r%y ',
- '%=',
- "%{% &showcmdloc == 'statusline' ? '%-10.S ' : '' %}",
- "%{% exists('b:keymap_name') ? '<'..b:keymap_name..'> ' : '' %}",
- "%{% &ruler ? ( &rulerformat == '' ? '%-14.(%l,%c%V%) %P' : &rulerformat ) : '' %}",
-})
+-- vim.o.statusline = table.concat({
+-- '%<%n:',
+-- '%f %h%w%m%r%y ',
+-- '%=',
+-- "%{% &showcmdloc == 'statusline' ? '%-10.S ' : '' %}",
+-- "%{% exists('b:keymap_name') ? '<'..b:keymap_name..'> ' : '' %}",
+-- "%{% &ruler ? ( &rulerformat == '' ? '%-14.(%l,%c%V%) %P' : &rulerformat ) : '' %}",
+-- })
vim.o.signcolumn = 'yes'
vim.o.completeopt = "menuone,noselect,popup,fuzzy"
@@ -58,11 +60,26 @@ for _, value in ipairs({
vim.keymap.set({ 'n', 'i' }, value, '<Nop>', { noremap = true, silent = false })
end
+vim.pack.add {
+ 'git://git.sudomsg.com/mirror/nvim-treesitter',
+ 'git://git.sudomsg.com/mirror/nvim-lspconfig',
+ 'git://git.sudomsg.com/mirror/mason',
+ 'git://git.sudomsg.com/mirror/mason-lspconfig',
+}
+
+vim.api.nvim_create_autocmd('PackChanged', {
+ callback = function(ev)
+ local name, kind = ev.data.spec.name, ev.data.kind
+ if name == 'nvim-treesitter' and kind == 'update' then
+ if not ev.data.active then vim.cmd.packadd('nvim-treesitter') end
+ require 'nvim-treesitter'.update()
+ end
+ end
+})
+
require 'mason'.setup {}
require 'mason-lspconfig'.setup {}
-require 'nvim-treesitter'.update()
-
vim.api.nvim_create_autocmd('FileType', {
callback = function(args)
local ok = pcall(vim.treesitter.start, args.buf, args.match)
diff --git a/.config/nvim/lua/lsp.lua b/.config/nvim/lua/lsp.lua
index 144eb6a..aeee855 100644
--- a/.config/nvim/lua/lsp.lua
+++ b/.config/nvim/lua/lsp.lua
@@ -19,7 +19,7 @@ function Lsp(client, buf)
vim.lsp.buf.type_definition()
end, { buffer = buf })
- vim.keymap.set({'n', 'v'}, '<leader>f', ":Format<CR>", { buffer = buf })
+ vim.keymap.set({ 'n', 'v' }, '<leader>f', ":Format<CR>", { buffer = buf })
vim.api.nvim_buf_create_user_command(buf, "Format", function(args)
local range = nil
@@ -50,39 +50,16 @@ function Lsp(client, buf)
end, { buffer = buf })
end
- if client:supports_method(ms.textDocument_completion) then
- local chars = {}
- for i = 32, 126 do
- table.insert(chars, string.char(i))
- end
- client.server_capabilities.completionProvider.triggerCharacters = chars
- vim.lsp.completion.enable(true, client.id, buf, { autotrigger = true })
- end
-
if client:supports_method(ms.textDocument_documentHighlight) then
- local highlight_augroup = vim.api.nvim_create_augroup('lsp-highlight',
- { clear = false })
- vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
- buffer = buf,
- group = highlight_augroup,
- callback = vim.lsp.buf.document_highlight,
- })
+ vim.lsp.semantic_tokens.enable(true, { client_id = client.id })
+ end
- vim.api.nvim_create_autocmd({ 'CursorMoved', 'CursorMovedI' }, {
- buffer = buf,
- group = highlight_augroup,
- callback = vim.lsp.buf.clear_references,
- })
+ if client:supports_method(ms.textDocument_linkedEditingRange) then
+ vim.lsp.linked_editing_range.enable(true, { client_id = client.id })
+ end
- vim.api.nvim_create_autocmd('LspDetach', {
- callback = function(event)
- vim.lsp.buf.clear_references()
- vim.api.nvim_clear_autocmds {
- group = highlight_augroup,
- buffer = event.buf
- }
- end,
- })
+ if client:supports_method(ms.textDocument_colorPresentation) then
+ vim.lsp.document_color.enable(true, { client_id = client.id }, { style = 'virtual' })
end
if client:supports_method(ms.textDocument_foldingRange) then
@@ -91,19 +68,6 @@ function Lsp(client, buf)
vim.wo[win][0].foldmethod = "expr"
vim.wo[win][0].foldexpr = 'v:lua.vim.lsp.foldexpr()'
end
-
- if client:supports_method(ms.textDocument_codeLens) then
- vim.keymap.set({ 'n', 'v' }, 'grl', function()
- vim.lsp.codelens.run()
- end, { buffer = buf })
- vim.lsp.codelens.refresh { bufnr = buf }
- vim.api.nvim_create_autocmd({ 'CursorHold', 'InsertLeave' }, {
- buffer = buf,
- callback = function()
- vim.lsp.codelens.refresh { bufnr = buf }
- end,
- })
- end
end
return Lsp
diff --git a/.config/nvim/nvim-pack-lock.json b/.config/nvim/nvim-pack-lock.json
new file mode 100644
index 0000000..131f738
--- /dev/null
+++ b/.config/nvim/nvim-pack-lock.json
@@ -0,0 +1,20 @@
+{
+ "plugins": {
+ "mason": {
+ "rev": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65",
+ "src": "git://git.sudomsg.com/mirror/mason"
+ },
+ "mason-lspconfig": {
+ "rev": "037398b9ce4a53ba48d5f94765c641a1fd16d906",
+ "src": "git://git.sudomsg.com/mirror/mason-lspconfig"
+ },
+ "nvim-lspconfig": {
+ "rev": "16812abf0e8d8175155f26143a8504e8253e92b0",
+ "src": "git://git.sudomsg.com/mirror/nvim-lspconfig"
+ },
+ "nvim-treesitter": {
+ "rev": "7caec274fd19c12b55902a5b795100d21531391f",
+ "src": "git://git.sudomsg.com/mirror/nvim-treesitter"
+ }
+ }
+}