91 lines
3.6 KiB
Lua
91 lines
3.6 KiB
Lua
-- nvim-autopairs
|
|
require("nvim-autopairs").setup()
|
|
|
|
-- gitsigns
|
|
require("gitsigns").setup()
|
|
|
|
require'treesitter-context'.setup{
|
|
enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
|
|
multiwindow = false, -- Enable multiwindow support.
|
|
max_lines = 0, -- How many lines the window should span. Values <= 0 mean no limit.
|
|
min_window_height = 0, -- Minimum editor window height to enable context. Values <= 0 mean no limit.
|
|
line_numbers = true,
|
|
multiline_threshold = 20, -- Maximum number of lines to show for a single context
|
|
trim_scope = 'outer', -- Which context lines to discard if `max_lines` is exceeded. Choices: 'inner', 'outer'
|
|
mode = 'cursor', -- Line used to calculate context. Choices: 'cursor', 'topline'
|
|
separator = nil,
|
|
zindex = 20, -- The Z-index of the context window
|
|
on_attach = nil, -- (fun(buf: integer): boolean) return false to disable attaching
|
|
}
|
|
|
|
-- Tree sitter
|
|
require("nvim-treesitter.configs").setup({
|
|
ensure_installed = {
|
|
"c", "cpp", "go", "lua", "markdown", "python", "rust", "tsx", "typescript", "vim"
|
|
},
|
|
highlight = {
|
|
enable = true,
|
|
},
|
|
indent = {
|
|
enable = true,
|
|
},
|
|
context_commentstring = { enable = true },
|
|
playground = { enable = true },
|
|
query_linter = { enable = true },
|
|
locals = { enable = true },
|
|
})
|
|
|
|
-- Telescope
|
|
local actions = require("telescope.actions")
|
|
local previewers = require("telescope.previewers")
|
|
local builtin = require("telescope.builtin")
|
|
require("telescope").setup({
|
|
defaults = {
|
|
vimgrep_arguments = {
|
|
"rg",
|
|
"--color=never",
|
|
"--no-heading",
|
|
"--with-filename",
|
|
"--line-number",
|
|
"--column",
|
|
"--smart-case",
|
|
},
|
|
},
|
|
})
|
|
|
|
require("telescope").load_extension("fzf")
|
|
|
|
-- Disable underline
|
|
vim.diagnostic.config({
|
|
virtual_text = true,
|
|
underline = false,
|
|
})
|
|
|
|
require('neogen').setup {}
|
|
vim.keymap.set('n', '<leader>ne', ':lua require("neogen").generate()<CR>', { desc = '[G]enerate [D]ocumentation' })
|
|
|
|
-- Key bindings
|
|
|
|
-- common lsp
|
|
vim.api.nvim_set_keymap("n", "gD", "<cmd>lua vim.lsp.buf.declaration()<CR>", { silent = true })
|
|
vim.api.nvim_set_keymap("n", "gd", "<cmd>lua vim.lsp.buf.definition()<CR>", { silent = true })
|
|
vim.keymap.set("n", "gr", "<cmd>Telescope lsp_references<CR>", { silent = true })
|
|
vim.api.nvim_set_keymap("n", "K", "<cmd>lua vim.lsp.buf.hover()<CR>", { silent = true })
|
|
vim.api.nvim_set_keymap("n", "gi", "<cmd>lua vim.lsp.buf.implementation()<CR>", { silent = true })
|
|
vim.api.nvim_set_keymap("n", "<space>k", "<cmd>lua vim.lsp.buf.signature_help()<CR>", { silent = true })
|
|
vim.api.nvim_set_keymap("n", "<space>wa", "<cmd>lua vim.lsp.buf.add_workspace_folder()<CR>", { silent = true })
|
|
vim.api.nvim_set_keymap("n", "<space>wr", "<cmd>lua vim.lsp.buf.remove_workspace_folder()<CR>", { silent = true })
|
|
vim.api.nvim_set_keymap("n", "<space>t", "<cmd>lua vim.lsp.buf.format()<CR>", { silent = true })
|
|
vim.api.nvim_set_keymap(
|
|
"n",
|
|
"<space>wl",
|
|
"<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<CR>",
|
|
{ silent = true }
|
|
)
|
|
vim.api.nvim_set_keymap("n", "<space>D", "<cmd>lua vim.lsp.buf.type_definition()<CR>", { silent = true })
|
|
vim.api.nvim_set_keymap("n", "<space>rn", "<cmd>lua vim.lsp.buf.rename()<CR>", { silent = true })
|
|
vim.api.nvim_set_keymap("n", "<space>ca", "<cmd>lua vim.lsp.buf.code_action()<CR>", { silent = true })
|
|
vim.api.nvim_set_keymap("n", "<space>e", "<cmd>lua vim.diagnostic.open_float()<CR>", { silent = true })
|
|
vim.api.nvim_set_keymap("n", "[d", "<cmd>lua vim.diagnostic.goto_prev()<CR>", { silent = true })
|
|
vim.api.nvim_set_keymap("n", "]d", "<cmd>lua vim.diagnostic.goto_next()<CR>", { silent = true })
|