updates
This commit is contained in:
parent
f289c537d8
commit
ddb92ea0c5
12 changed files with 918 additions and 643 deletions
|
|
@ -1,12 +1,6 @@
|
|||
vim.o.sessionoptions="blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions"
|
||||
|
||||
|
||||
local otter = require'otter'
|
||||
otter.setup{}
|
||||
vim.api.nvim_create_autocmd({"BufEnter", "BufWinEnter"}, {
|
||||
pattern = {"*.md"},
|
||||
callback = function() otter.activate({'python', 'rust', 'c', 'lua', 'bash' }, true, true, nil) end,
|
||||
})
|
||||
vim.filetype.add({
|
||||
extension = {
|
||||
mdx = "markdown",
|
||||
|
|
@ -14,57 +8,6 @@ vim.filetype.add({
|
|||
})
|
||||
|
||||
|
||||
local cmp = require("cmp")
|
||||
cmp.setup {
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
vim.fn["vsnip#anonymous"](args.body)
|
||||
end,
|
||||
},
|
||||
window = {
|
||||
completion = cmp.config.window.bordered(),
|
||||
documentation = cmp.config.window.bordered(),
|
||||
},
|
||||
view = {
|
||||
docs = {
|
||||
auto_open = false
|
||||
}
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.abort(),
|
||||
-- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||||
|
||||
['<C-g>'] = function()
|
||||
if cmp.visible_docs() then
|
||||
cmp.close_docs()
|
||||
else
|
||||
cmp.open_docs()
|
||||
end
|
||||
end
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = "otter" },
|
||||
{ name = 'path' },
|
||||
{ name = 'vsnip' },
|
||||
{ name = 'spell' },
|
||||
}, {
|
||||
{ name = 'buffer' },
|
||||
}),
|
||||
comparators = {
|
||||
-- compare.score_offset, -- not good at all
|
||||
cmp.config.compare.locality,
|
||||
cmp.config.compare.recently_used,
|
||||
cmp.config.compare.score,
|
||||
cmp.config.compare.offset,
|
||||
cmp.config.compare.order,
|
||||
},
|
||||
}
|
||||
|
||||
-- key mapping
|
||||
local keymap = vim.api.nvim_set_keymap
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
|
@ -194,47 +137,19 @@ vim.api.nvim_create_user_command('CloseBuffer', function (opts)
|
|||
end
|
||||
end, { desc = "Close Current Buffer", bang = true, })
|
||||
|
||||
vim.keymap.set("ca", "W", "w")
|
||||
vim.keymap.set("ca", "X", "x")
|
||||
vim.keymap.set("ca", "Q", "q")
|
||||
local function close_floating()
|
||||
for _, win in ipairs(vim.api.nvim_list_wins()) do
|
||||
local config = vim.api.nvim_win_get_config(win)
|
||||
if config.relative ~= "" then
|
||||
vim.api.nvim_win_close(win, false)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
vim.keymap.set("ca", "q", "CloseBuffer")
|
||||
vim.keymap.set("ca", "qw", "quit")
|
||||
|
||||
-- format on wq and x and replace X, W and Q with x, w and q
|
||||
-- vim.cmd [[cnoreabbrev w execute "Format sync" <bar> w]]
|
||||
-- vim.cmd [[cnoreabbrev x execute "Format sync" <bar> w <bar> CustomCloseBuffer <cr>]]
|
||||
-- vim.cmd [[cabbrev W w]]
|
||||
-- vim.cmd [[cabbrev X execute "Format sync" <bar> x]]
|
||||
-- vim.cmd [[cabbrev Q CustomCloseBuffer]]
|
||||
-- vim.cmd [[cnoreabbrev q CustomCloseBuffer <cr>]]
|
||||
-- vim.cmd [[cnoreabbrev qa q]]
|
||||
-- vim.cmd [[nnoremap ; :]]
|
||||
vim.keymap.set("n", "<Esc>", close_floating, { desc = "Close floats, clear highlights" })
|
||||
|
||||
local builtin = require('telescope.builtin')
|
||||
|
||||
vim.keymap.set('n', '<leader>s', "<cmd>vertical sb<cr>", {})
|
||||
vim.keymap.set('n', '<leader><leader>', builtin.find_files, {})
|
||||
vim.keymap.set('n', '<leader>f', builtin.live_grep, {})
|
||||
vim.keymap.set('n', '<leader>h', builtin.pickers, {})
|
||||
-- vim.keymap.set('n', '<leader>h', builtin.search_history, {})
|
||||
vim.keymap.set('n', '<leader>b', function() builtin.buffers({sort_mru = true}) end, {})
|
||||
vim.keymap.set('n', '<leader>d', function() require('telescope.builtin').diagnostics({ severity_bound = 0, bufnr = 0 }) end, {})
|
||||
vim.keymap.set('n', '<leader>ad', function() require('telescope.builtin').diagnostics({ severity_bound = 0 }) end, {})
|
||||
vim.keymap.set('n', '<leader>em', "<cmd>RustLsp expandMacro<cr>")
|
||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
|
||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
|
||||
|
||||
|
||||
vim.keymap.set('n', '<leader>ct', "<cmd>CustomCloseBuffer<cr>")
|
||||
vim.keymap.set('n', '<leader>co', "<cmd>silent! BufferCloseAllButCurrent<cr>")
|
||||
vim.keymap.set('n', '<leader>cl', "<cmd>silent! BufferCloseBuffersLeft<cr>")
|
||||
vim.keymap.set('n', '<leader>cr', "<cmd>silent! BufferCloseBuffersRight<cr>")
|
||||
|
||||
-- like quit but for a single tab
|
||||
vim.keymap.set('n', '<leader>q', "<cmd>BufferClose<cr>", {})
|
||||
vim.keymap.set('n', '<leader>oq', "<cmd>BufOnly<cr>", {})
|
||||
|
||||
vim.keymap.set("n", "<leader>x", require("telescope.builtin").resume, {
|
||||
noremap = true,
|
||||
silent = true,
|
||||
|
|
@ -298,3 +213,36 @@ vim.g.VM_reselect_first = 1
|
|||
vim.g.VM_notify_previously_selected = 1
|
||||
vim.g.VM_theme = "iceblue"
|
||||
|
||||
|
||||
|
||||
-- workaround for rust-analyzer server cancelled request
|
||||
for _, method in ipairs { 'textDocument/diagnostic', 'workspace/diagnostic' } do
|
||||
local default_diagnostic_handler = vim.lsp.handlers[method]
|
||||
vim.lsp.handlers[method] = function(err, result, context, config)
|
||||
if err ~= nil and err.code == -32802 then
|
||||
return
|
||||
end
|
||||
return default_diagnostic_handler(err, result, context, config)
|
||||
end
|
||||
end
|
||||
|
||||
require("hover").setup {
|
||||
init = function()
|
||||
require("hover.providers.lsp")
|
||||
require('hover.providers.gh')
|
||||
require('hover.providers.diagnostic')
|
||||
end,
|
||||
preview_opts = {
|
||||
border = 'rounded'
|
||||
},
|
||||
-- Whether the contents of a currently open hover window should be moved
|
||||
-- to a :h preview-window when pressing the hover keymap.
|
||||
preview_window = false,
|
||||
title = true,
|
||||
}
|
||||
|
||||
-- Setup keymaps
|
||||
vim.keymap.set("n", "K", require("hover").hover, {desc = "hover.nvim"})
|
||||
vim.keymap.set("n", "gK", require("hover").hover_select, {desc = "hover.nvim (select)"})
|
||||
-- vim.keymap.set("n", "<C-p>", function() require("hover").hover_switch("previous") end, {desc = "hover.nvim (previous source)"})
|
||||
-- vim.keymap.set("n", "<C-n>", function() require("hover").hover_switch("next") end, {desc = "hover.nvim (next source)"})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue