nvim: change lsp config and add telecope shortcuts
This commit is contained in:
parent
927806a627
commit
a2f7cd7218
|
|
@ -1 +1 @@
|
||||||
vim.keymap.set('n', '<leader>gs', vim.cmd.Git)
|
vim.keymap.set('n', '<leader>G', vim.cmd.Git)
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,40 @@
|
||||||
|
require('gitsigns').setup{
|
||||||
|
on_attach = function(bufnr)
|
||||||
|
local gs = package.loaded.gitsigns
|
||||||
|
|
||||||
|
local function map(mode, l, r, opts)
|
||||||
|
opts = opts or {}
|
||||||
|
opts.buffer = bufnr
|
||||||
|
vim.keymap.set(mode, l, r, opts)
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Navigation
|
||||||
|
map('n', ']c', function()
|
||||||
|
if vim.wo.diff then return ']c' end
|
||||||
|
vim.schedule(function() gs.next_hunk() end)
|
||||||
|
return '<Ignore>'
|
||||||
|
end, {expr=true})
|
||||||
|
|
||||||
|
map('n', '[c', function()
|
||||||
|
if vim.wo.diff then return '[c' end
|
||||||
|
vim.schedule(function() gs.prev_hunk() end)
|
||||||
|
return '<Ignore>'
|
||||||
|
end, {expr=true})
|
||||||
|
|
||||||
|
-- Actions
|
||||||
|
map({'n', 'v'}, '<leader>hs', ':Gitsigns stage_hunk<CR>')
|
||||||
|
map({'n', 'v'}, '<leader>hr', ':Gitsigns reset_hunk<CR>')
|
||||||
|
map('n', '<leader>hS', gs.stage_buffer)
|
||||||
|
map('n', '<leader>hu', gs.undo_stage_hunk)
|
||||||
|
map('n', '<leader>hR', gs.reset_buffer)
|
||||||
|
map('n', '<leader>hp', gs.preview_hunk)
|
||||||
|
map('n', '<leader>hb', function() gs.blame_line{full=true} end)
|
||||||
|
map('n', '<leader>tb', gs.toggle_current_line_blame)
|
||||||
|
map('n', '<leader>hd', gs.diffthis)
|
||||||
|
map('n', '<leader>hD', function() gs.diffthis('~') end)
|
||||||
|
map('n', '<leader>td', gs.toggle_deleted)
|
||||||
|
|
||||||
|
-- Text object
|
||||||
|
map({'o', 'x'}, 'ih', ':<C-U>Gitsigns select_hunk<CR>')
|
||||||
|
end
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
vim.cmd [[highlight IndentBlanklineIndent guifg=#073642 gui=nocombine]]
|
||||||
|
|
||||||
|
require("indent_blankline").setup {
|
||||||
|
char_highlight_list = {
|
||||||
|
"IndentBlanklineIndent",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -46,7 +46,7 @@ cmp.setup {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, opts)
|
vim.keymap.set('n', '<leader>t', vim.diagnostic.open_float, opts)
|
||||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
|
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
|
||||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
|
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
|
||||||
vim.keymap.set('n', '<leader>d', vim.diagnostic.setloclist, opts)
|
vim.keymap.set('n', '<leader>d', vim.diagnostic.setloclist, opts)
|
||||||
|
|
@ -69,12 +69,16 @@ local on_attach = function(client, bufnr)
|
||||||
vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, bufopts)
|
vim.keymap.set('n', '<leader>rn', vim.lsp.buf.rename, bufopts)
|
||||||
vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, bufopts)
|
vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, bufopts)
|
||||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
|
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
|
||||||
vim.keymap.set('n', '<leader>f', vim.lsp.buf.formatting, bufopts)
|
vim.keymap.set('n', '<leader>f', function() vim.lsp.buf.format { async = true } end, bufopts)
|
||||||
-- vim.api.nvim_create_autocmd(
|
-- vim.api.nvim_create_autocmd(
|
||||||
-- { "BufWrite" }, {command = "lua vim.lsp.buf.formatting()"}
|
-- { "BufWrite" }, {command = "lua vim.lsp.buf.formatting()"}
|
||||||
-- )
|
-- )
|
||||||
end
|
end
|
||||||
|
|
||||||
|
vim.diagnostic.config({
|
||||||
|
virtual_text = false,
|
||||||
|
})
|
||||||
|
|
||||||
lspconfig.pylsp.setup {
|
lspconfig.pylsp.setup {
|
||||||
capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()),
|
capabilities = require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()),
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,23 @@
|
||||||
local builtin = require('telescope.builtin')
|
local builtin = require('telescope.builtin')
|
||||||
require('telescope').load_extension('fzf')
|
require('telescope').load_extension('fzf')
|
||||||
vim.keymap.set('n', '<leader>ff', builtin.find_files, {})
|
vim.keymap.set('n', '<leader>o', builtin.find_files, {})
|
||||||
vim.keymap.set('n', '<leader>fg', builtin.git_files, {})
|
vim.keymap.set('n', '<leader>l', builtin.git_files, {})
|
||||||
vim.keymap.set('n', '<leader>fr', builtin.live_grep, {})
|
vim.keymap.set('n', '<leader>g', builtin.live_grep, {})
|
||||||
vim.keymap.set('n', '<leader>fb', builtin.buffers, {})
|
vim.keymap.set('n', '<leader>b', builtin.buffers, {})
|
||||||
vim.keymap.set('n', '<leader>fs', builtin.grep_string, {})
|
vim.keymap.set('n', '<leader>i', builtin.grep_string, {})
|
||||||
vim.keymap.set('n', '<leader>fl', builtin.lsp_references, {})
|
vim.keymap.set('n', '<leader>r', builtin.lsp_references, {})
|
||||||
vim.keymap.set('n', '<leader>fd', builtin.diagnostics, {})
|
vim.keymap.set('n', '<leader>m', builtin.diagnostics, {})
|
||||||
vim.keymap.set('n', '<leader>fo', builtin.lsp_document_symbols, {})
|
vim.keymap.set('n', '<leader>s', builtin.lsp_document_symbols, {})
|
||||||
vim.keymap.set('n', '<leader>ft', builtin.treesitter, {})
|
vim.keymap.set('n', '<leader>t', builtin.treesitter, {})
|
||||||
|
|
||||||
|
local actions = require "telescope.actions"
|
||||||
|
require('telescope').setup{
|
||||||
|
defaults = {
|
||||||
|
mappings = {
|
||||||
|
i = {
|
||||||
|
["<C-p>"] = actions.move_selection_next,
|
||||||
|
["<C-n>"] = actions.move_selection_previous,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,6 @@ require'nvim-treesitter.configs'.setup {
|
||||||
additional_vim_regex_highlighting = false,
|
additional_vim_regex_highlighting = false,
|
||||||
},
|
},
|
||||||
indent = {
|
indent = {
|
||||||
enable = true
|
enable = true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,12 @@ vim.o.shiftwidth = 4
|
||||||
vim.o.expandtab = 4
|
vim.o.expandtab = 4
|
||||||
|
|
||||||
vim.o.smartindent = true
|
vim.o.smartindent = true
|
||||||
|
vim.o.autoindent = true
|
||||||
|
|
||||||
|
|
||||||
|
vim.o.showmatch = true -- show matching brackets
|
||||||
|
vim.o.laststatus = 2 -- always show status line
|
||||||
|
vim.o.timeout = false
|
||||||
|
|
||||||
vim.o.hlsearch = false
|
vim.o.hlsearch = false
|
||||||
vim.o.incsearch = true
|
vim.o.incsearch = true
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ vim.g.mapleader = ' '
|
||||||
vim.keymap.set('n', '<leader>e', vim.cmd.Ex)
|
vim.keymap.set('n', '<leader>e', vim.cmd.Ex)
|
||||||
vim.keymap.set('n', 'n', 'nzzzv')
|
vim.keymap.set('n', 'n', 'nzzzv')
|
||||||
vim.keymap.set('n', 'N', 'Nzzzv')
|
vim.keymap.set('n', 'N', 'Nzzzv')
|
||||||
|
vim.keymap.set('n', '<C-d>', '<C-d>zz')
|
||||||
|
vim.keymap.set('n', '<C-u>', '<C-u>zz')
|
||||||
vim.keymap.set('n', '<leader>w', ':w<CR>')
|
vim.keymap.set('n', '<leader>w', ':w<CR>')
|
||||||
vim.keymap.set('n', '<leader>q', ':q<CR>')
|
vim.keymap.set('n', '<leader>q', ':q<CR>')
|
||||||
|
|
||||||
|
|
@ -9,3 +11,16 @@ vim.keymap.set('n', '[b', ':bprev<CR>')
|
||||||
vim.keymap.set('n', ']b', ':bnext<CR>')
|
vim.keymap.set('n', ']b', ':bnext<CR>')
|
||||||
vim.keymap.set('n', '[B', ':bfirst<CR>')
|
vim.keymap.set('n', '[B', ':bfirst<CR>')
|
||||||
vim.keymap.set('n', ']B', ':blast<CR>')
|
vim.keymap.set('n', ']B', ':blast<CR>')
|
||||||
|
|
||||||
|
vim.keymap.set('n', 'H', '^')
|
||||||
|
vim.keymap.set('n', 'dH', 'd^')
|
||||||
|
vim.keymap.set('n', 'yH', 'y^')
|
||||||
|
vim.keymap.set('n', 'cH', 'c^')
|
||||||
|
vim.keymap.set('n', 'L', '$')
|
||||||
|
vim.keymap.set('n', 'dL', 'd$')
|
||||||
|
vim.keymap.set('n', 'yL', 'y$')
|
||||||
|
vim.keymap.set('n', 'cL', 'c$')
|
||||||
|
vim.keymap.set('v', 'L', '$')
|
||||||
|
vim.keymap.set('v', 'H', '^')
|
||||||
|
|
||||||
|
vim.keymap.set('n', '<leader>cd', ':cd %:p:h<CR>')
|
||||||
|
|
|
||||||
|
|
@ -23,4 +23,8 @@ return require('packer').startup(function(use)
|
||||||
use 'hrsh7th/cmp-nvim-lsp' -- LSP source for nvim-cmp
|
use 'hrsh7th/cmp-nvim-lsp' -- LSP source for nvim-cmp
|
||||||
use 'saadparwaiz1/cmp_luasnip' -- Snippets source for nvim-cmp
|
use 'saadparwaiz1/cmp_luasnip' -- Snippets source for nvim-cmp
|
||||||
use 'L3MON4D3/LuaSnip' -- Snippets plugin
|
use 'L3MON4D3/LuaSnip' -- Snippets plugin
|
||||||
|
use 'lukas-reineke/indent-blankline.nvim'
|
||||||
|
|
||||||
|
use 'lewis6991/gitsigns.nvim'
|
||||||
|
|
||||||
end)
|
end)
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,17 @@ _G.packer_plugins = {
|
||||||
path = "/home/dm/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
|
path = "/home/dm/.local/share/nvim/site/pack/packer/start/cmp_luasnip",
|
||||||
url = "https://github.com/saadparwaiz1/cmp_luasnip"
|
url = "https://github.com/saadparwaiz1/cmp_luasnip"
|
||||||
},
|
},
|
||||||
|
["gitsigns.nvim"] = {
|
||||||
|
config = { "\27LJ\2\0026\0\0\2\0\3\0\0066\0\0\0'\1\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0" },
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/dm/.local/share/nvim/site/pack/packer/start/gitsigns.nvim",
|
||||||
|
url = "https://github.com/lewis6991/gitsigns.nvim"
|
||||||
|
},
|
||||||
|
["indent-blankline.nvim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/dm/.local/share/nvim/site/pack/packer/start/indent-blankline.nvim",
|
||||||
|
url = "https://github.com/lukas-reineke/indent-blankline.nvim"
|
||||||
|
},
|
||||||
["nvim-cmp"] = {
|
["nvim-cmp"] = {
|
||||||
loaded = true,
|
loaded = true,
|
||||||
path = "/home/dm/.local/share/nvim/site/pack/packer/start/nvim-cmp",
|
path = "/home/dm/.local/share/nvim/site/pack/packer/start/nvim-cmp",
|
||||||
|
|
@ -138,6 +149,10 @@ _G.packer_plugins = {
|
||||||
}
|
}
|
||||||
|
|
||||||
time([[Defining packer_plugins]], false)
|
time([[Defining packer_plugins]], false)
|
||||||
|
-- Config for: gitsigns.nvim
|
||||||
|
time([[Config for gitsigns.nvim]], true)
|
||||||
|
try_loadstring("\27LJ\2\0026\0\0\2\0\3\0\0066\0\0\0'\1\1\0B\0\2\0029\0\2\0B\0\1\1K\0\1\0\nsetup\rgitsigns\frequire\0", "config", "gitsigns.nvim")
|
||||||
|
time([[Config for gitsigns.nvim]], false)
|
||||||
-- Config for: NeoSolarized
|
-- Config for: NeoSolarized
|
||||||
time([[Config for NeoSolarized]], true)
|
time([[Config for NeoSolarized]], true)
|
||||||
try_loadstring("\27LJ\2\2<\0\0\2\0\3\0\0056\0\0\0009\0\1\0'\1\2\0B\0\2\1K\0\1\0\29colorscheme NeoSolarized\bcmd\bvim\0", "config", "NeoSolarized")
|
try_loadstring("\27LJ\2\2<\0\0\2\0\3\0\0056\0\0\0009\0\1\0'\1\2\0B\0\2\1K\0\1\0\29colorscheme NeoSolarized\bcmd\bvim\0", "config", "NeoSolarized")
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
pip:
|
||||||
|
python-lsp-server[all]
|
||||||
|
|
||||||
|
system:
|
||||||
|
python3-lsp-server
|
||||||
|
fd
|
||||||
|
fzf
|
||||||
|
rg
|
||||||
Loading…
Reference in New Issue