updates & nvim config autoformat
This commit is contained in:
+249
-169
@@ -53,7 +53,10 @@ opt.ignorecase = true -- Ignore case
|
||||
opt.smartcase = true -- Do not ignore case with capitals
|
||||
opt.wildmode = {"full"} -- Command-line completion mode
|
||||
opt.wildignorecase = true
|
||||
opt.wildignore = opt.wildignore + {"*swp", "*.class", "*.pyc", "*.png", "*.jpg", "*.gif", "*.zip", "*/tmp/*", "*.o", ".obj", "*.so"}
|
||||
opt.wildignore = opt.wildignore + {
|
||||
"*swp", "*.class", "*.pyc", "*.png", "*.jpg", "*.gif", "*.zip", "*/tmp/*",
|
||||
"*.o", ".obj", "*.so"
|
||||
}
|
||||
|
||||
-- cursor
|
||||
opt.scrolloff = 5 -- Lines of context
|
||||
@@ -89,7 +92,8 @@ vim.api.nvim_command [[autocmd!]]
|
||||
vim.api.nvim_command [[autocmd BufWritePost * %s/\s\+$//e]]
|
||||
vim.api.nvim_command [[autocmd BufWritePost *.py silent! execute ':Black']]
|
||||
vim.api.nvim_command [[autocmd BufReadPost quickfix nmap <buffer> <cr> <cr>]]
|
||||
vim.api.nvim_command [[autocmd TextYankPost * "lua vim.highlight.on_yank {on_visual = false}"]]
|
||||
vim.api
|
||||
.nvim_command [[autocmd TextYankPost * "lua vim.highlight.on_yank {on_visual = false}"]]
|
||||
vim.api.nvim_command [[augroup END]]
|
||||
|
||||
-- ----------------------------------------
|
||||
@@ -103,7 +107,9 @@ local map = vim.api.nvim_set_keymap
|
||||
map("n", "Q", "", {noremap = true})
|
||||
map("n", "q:", "", {noremap = true})
|
||||
|
||||
map("n", "<leader>E", [[:so ~/.config/nvim/init.lua<cr>:PackerInstall<cr>:PackerCompile<cr>]], { noremap = true })
|
||||
map("n", "<leader>E",
|
||||
[[:so ~/.config/nvim/init.lua<cr>:PackerInstall<cr>:PackerCompile<cr>]],
|
||||
{noremap = true})
|
||||
map("n", "<leader>e", [[:vnew ~/dotfiles/nvim/init.lua<cr>]], {noremap = true})
|
||||
map("n", "<leader>nt", [[:vnew ~/notes/todos.md<cr>]], {noremap = true})
|
||||
map("n", "<leader>nc", [[:vnew ~/notes/cheatsheet.md<cr>]], {noremap = true})
|
||||
@@ -114,8 +120,10 @@ map("n", "<leader>ww", [[:cd %:p:h<cr>]], { noremap = true })
|
||||
map("n", "<esc><esc>", ":noh<cr>", {silent = true, noremap = true})
|
||||
|
||||
-- <Tab> to navigate the completion menu
|
||||
map("i", "<S-Tab>", [[pumvisible() ? "\<C-p>" : "\<S-Tab>"]], { expr = true, noremap = true })
|
||||
map("i", "<Tab>", [[pumvisible() ? "\<C-n>" : "\<Tab>"]], { expr = true, noremap = true })
|
||||
map("i", "<S-Tab>", [[pumvisible() ? "\<C-p>" : "\<S-Tab>"]],
|
||||
{expr = true, noremap = true})
|
||||
map("i", "<Tab>", [[pumvisible() ? "\<C-n>" : "\<Tab>"]],
|
||||
{expr = true, noremap = true})
|
||||
|
||||
-- CURSOR
|
||||
-- stay visual when indenting
|
||||
@@ -156,14 +164,19 @@ map("n", "<F9>", ":checkt<cr>", { noremap = true })
|
||||
-- ----------------------------------------
|
||||
-- PACKER
|
||||
-- ----------------------------------------
|
||||
local install_path = vim.fn.stdpath("data").."/site/pack/packer/start/packer.nvim"
|
||||
local install_path = vim.fn.stdpath("data") ..
|
||||
"/site/pack/packer/start/packer.nvim"
|
||||
|
||||
if vim.fn.empty(vim.fn.glob(install_path)) > 0 then
|
||||
vim.fn.system({"git", "clone", "https://github.com/wbthomason/packer.nvim", install_path})
|
||||
vim.fn.system({
|
||||
"git", "clone", "https://github.com/wbthomason/packer.nvim",
|
||||
install_path
|
||||
})
|
||||
vim.api.nvim_command "packadd packer.nvim"
|
||||
end
|
||||
|
||||
require("packer").startup {function(use)
|
||||
require("packer").startup {
|
||||
function(use)
|
||||
use {"wbthomason/packer.nvim"}
|
||||
|
||||
-- tpope
|
||||
@@ -181,7 +194,8 @@ require("packer").startup {function(use)
|
||||
use {"dhruvasagar/vim-table-mode"}
|
||||
|
||||
-- git
|
||||
use {"tpope/vim-fugitive",
|
||||
use {
|
||||
"tpope/vim-fugitive",
|
||||
config = function()
|
||||
local map = vim.api.nvim_set_keymap
|
||||
map("", "<C-g>", ":vertical Git<cr>:vertical resize 60<cr>", {})
|
||||
@@ -202,8 +216,14 @@ require("packer").startup {function(use)
|
||||
noremap = true,
|
||||
buffer = true,
|
||||
|
||||
["n <M-.>"] = { expr = true, [[&diff ? "]c" : "<cmd>lua require('gitsigns.actions').next_hunk()<cr>"]]},
|
||||
["n <M-,>"] = { expr = true, [[&diff ? "[c" : "<cmd>lua require('gitsigns.actions').prev_hunk()<cr>"]]},
|
||||
["n <M-.>"] = {
|
||||
expr = true,
|
||||
[[&diff ? "]c" : "<cmd>lua require('gitsigns.actions').next_hunk()<cr>"]]
|
||||
},
|
||||
["n <M-,>"] = {
|
||||
expr = true,
|
||||
[[&diff ? "[c" : "<cmd>lua require('gitsigns.actions').prev_hunk()<cr>"]]
|
||||
},
|
||||
|
||||
["n <leader>gs"] = [[<cmd>lua require("gitsigns").stage_hunk()<cr>]],
|
||||
["v <leader>gs"] = [[<cmd>lua require("gitsigns").stage_hunk({vim.fn.line("."), vim.fn.line("v")})<cr>]],
|
||||
@@ -217,18 +237,19 @@ require("packer").startup {function(use)
|
||||
["o ih"] = [[:<C-U>lua require("gitsigns.actions").select_hunk()<cr>]],
|
||||
["x ih"] = [[:<C-U>lua require("gitsigns.actions").select_hunk()<cr>]]
|
||||
},
|
||||
word_diff = false,
|
||||
word_diff = false
|
||||
}
|
||||
end
|
||||
}
|
||||
|
||||
-- folder tree
|
||||
use {"kyazdani42/nvim-tree.lua",
|
||||
use {
|
||||
"kyazdani42/nvim-tree.lua",
|
||||
requires = {"kyazdani42/nvim-web-devicons"},
|
||||
config = function()
|
||||
require("nvim-tree").setup {
|
||||
disable_netrw = false,
|
||||
auto_close=true,
|
||||
auto_close = true
|
||||
}
|
||||
local map = vim.api.nvim_set_keymap
|
||||
map("n", "<C-p>", ":NvimTreeToggle<cr>", {noremap = true})
|
||||
@@ -236,28 +257,27 @@ require("packer").startup {function(use)
|
||||
}
|
||||
|
||||
-- theme
|
||||
use {"folke/tokyonight.nvim",
|
||||
config = function()
|
||||
vim.g.tokyonight_style = "night"
|
||||
end
|
||||
use {
|
||||
"folke/tokyonight.nvim",
|
||||
config = function() vim.g.tokyonight_style = "night" end
|
||||
}
|
||||
|
||||
use {"sonph/onehalf", rtp = "vim", }
|
||||
use {"tomasr/molokai", }
|
||||
use {"morhetz/gruvbox", }
|
||||
use {"jnurmine/Zenburn", }
|
||||
use {"nanotech/jellybeans.vim", }
|
||||
use {"mhartington/oceanic-next", }
|
||||
use {"NLKNguyen/papercolor-theme", }
|
||||
use {"drewtempelmeyer/palenight.vim", }
|
||||
use {"altercation/vim-colors-solarized", }
|
||||
use {"rakr/vim-one",
|
||||
config = function()
|
||||
vim.g.one_allow_italics = 1
|
||||
end
|
||||
use {"sonph/onehalf", rtp = "vim"}
|
||||
use {"tomasr/molokai"}
|
||||
use {"morhetz/gruvbox"}
|
||||
use {"jnurmine/Zenburn"}
|
||||
use {"nanotech/jellybeans.vim"}
|
||||
use {"mhartington/oceanic-next"}
|
||||
use {"NLKNguyen/papercolor-theme"}
|
||||
use {"drewtempelmeyer/palenight.vim"}
|
||||
use {"altercation/vim-colors-solarized"}
|
||||
use {
|
||||
"rakr/vim-one",
|
||||
config = function() vim.g.one_allow_italics = 1 end
|
||||
}
|
||||
|
||||
use {"ayu-theme/ayu-vim",
|
||||
use {
|
||||
"ayu-theme/ayu-vim",
|
||||
config = function()
|
||||
-- vim.g.ayucolor = "light"
|
||||
-- vim.g.ayucolor = "mirage"
|
||||
@@ -265,26 +285,22 @@ require("packer").startup {function(use)
|
||||
end
|
||||
}
|
||||
|
||||
use {"skbolton/embark",
|
||||
config = function()
|
||||
vim.g.embark_terminal_italics = 1
|
||||
end
|
||||
use {
|
||||
"skbolton/embark",
|
||||
config = function() vim.g.embark_terminal_italics = 1 end
|
||||
}
|
||||
|
||||
use {"arcticicestudio/nord-vim",
|
||||
config = function()
|
||||
end
|
||||
}
|
||||
use {"arcticicestudio/nord-vim", config = function() end}
|
||||
|
||||
use {"junegunn/seoul256.vim",
|
||||
config = function()
|
||||
vim.g.seoul256_background = 235
|
||||
end
|
||||
use {
|
||||
"junegunn/seoul256.vim",
|
||||
config = function() vim.g.seoul256_background = 235 end
|
||||
}
|
||||
vim.cmd "colorscheme OceanicNext"
|
||||
|
||||
-- coloring of colornames
|
||||
use {"rrethy/vim-hexokinase",
|
||||
use {
|
||||
"rrethy/vim-hexokinase",
|
||||
run = "cd /home/hjalmarlucius/.local/share/nvim/site/pack/packer/start/vim-hexokinase && make hexokinase",
|
||||
config = function()
|
||||
vim.g.Hexokinase_highlighters = {"backgroundfull"}
|
||||
@@ -292,9 +308,11 @@ require("packer").startup {function(use)
|
||||
}
|
||||
|
||||
-- flashing cursor on move
|
||||
use {"danilamihailov/beacon.nvim",
|
||||
use {
|
||||
"danilamihailov/beacon.nvim",
|
||||
setup = function()
|
||||
vim.api.nvim_exec( [[highlight Beacon guibg=white ctermbg=15]], false)
|
||||
vim.api.nvim_exec([[highlight Beacon guibg=white ctermbg=15]],
|
||||
false)
|
||||
end,
|
||||
config = function()
|
||||
vim.g.beacon_size = 40
|
||||
@@ -304,14 +322,16 @@ require("packer").startup {function(use)
|
||||
}
|
||||
|
||||
-- indentation guides
|
||||
use {"lukas-reineke/indent-blankline.nvim",
|
||||
use {
|
||||
"lukas-reineke/indent-blankline.nvim",
|
||||
config = function()
|
||||
vim.g.indent_blankline_char = "|"
|
||||
vim.g.indent_blankline_use_treesitter = true
|
||||
end
|
||||
}
|
||||
|
||||
use {"haya14busa/vim-asterisk",
|
||||
use {
|
||||
"haya14busa/vim-asterisk",
|
||||
config = function()
|
||||
vim.g["asterisk#keeppos"] = 1
|
||||
local map = vim.api.nvim_set_keymap
|
||||
@@ -322,7 +342,8 @@ require("packer").startup {function(use)
|
||||
end
|
||||
}
|
||||
|
||||
use {"christoomey/vim-tmux-navigator",
|
||||
use {
|
||||
"christoomey/vim-tmux-navigator",
|
||||
config = function()
|
||||
vim.g.tmux_navigator_no_mappings = 1
|
||||
vim.g.tmux_navigator_disable_when_zoomed = 1
|
||||
@@ -335,14 +356,17 @@ require("packer").startup {function(use)
|
||||
end
|
||||
}
|
||||
|
||||
use {"mbbill/undotree",
|
||||
use {
|
||||
"mbbill/undotree",
|
||||
config = function()
|
||||
local map = vim.api.nvim_set_keymap
|
||||
map("", "<F11>", ":UndotreeToggle<cr>:UndotreeFocus<cr>", { noremap = true })
|
||||
map("", "<F11>", ":UndotreeToggle<cr>:UndotreeFocus<cr>",
|
||||
{noremap = true})
|
||||
end
|
||||
}
|
||||
|
||||
use {"iamcco/markdown-preview.nvim", -- requires yarn
|
||||
use {
|
||||
"iamcco/markdown-preview.nvim", -- requires yarn
|
||||
run = "cd /home/hjalmarlucius/.local/share/nvim/site/pack/packer/start/markdown-preview && yarn install",
|
||||
config = function()
|
||||
vim.g.mkdp_auto_start = 0 -- auto start on moving into
|
||||
@@ -352,80 +376,81 @@ require("packer").startup {function(use)
|
||||
end
|
||||
}
|
||||
|
||||
use {"hoob3rt/lualine.nvim",
|
||||
use {
|
||||
"hoob3rt/lualine.nvim",
|
||||
requires = {"kyazdani42/nvim-web-devicons"},
|
||||
config = function()
|
||||
require("lualine").setup {
|
||||
options = {
|
||||
theme = "auto",
|
||||
},
|
||||
extensions = {
|
||||
"fugitive",
|
||||
},
|
||||
options = {theme = "auto"},
|
||||
extensions = {"fugitive"},
|
||||
sections = {
|
||||
lualine_a = {"mode"},
|
||||
lualine_b = {"branch"},
|
||||
lualine_c = {{"filename", file_status = true, path = 1}, {"diff", colored=false}, { "diagnostics", sources = {"nvim_lsp"}}},
|
||||
lualine_x = {"encoding", "fileformat", "filetype"},
|
||||
lualine_y = {"progress"},
|
||||
lualine_c = {{"filename", file_status = true, path = 1}}, -- , {"diff", colored=false}, { "diagnostics", sources = {"nvim_lsp"}}
|
||||
lualine_x = {"filetype"},
|
||||
lualine_y = {"progress"}, -- "encoding", "fileformat",
|
||||
lualine_z = {"location"}
|
||||
},
|
||||
inactive_sections = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = {{"filename", file_status = true, path = 1}},
|
||||
lualine_x = {"location"},
|
||||
lualine_x = {},
|
||||
lualine_y = {"progress"},
|
||||
lualine_z = {}
|
||||
},
|
||||
lualine_z = {"location"}
|
||||
}
|
||||
}
|
||||
end
|
||||
}
|
||||
|
||||
use {"akinsho/nvim-bufferline.lua",
|
||||
use {
|
||||
"akinsho/nvim-bufferline.lua",
|
||||
requires = {"kyazdani42/nvim-web-devicons"},
|
||||
config = function()
|
||||
require("bufferline").setup {
|
||||
options = {
|
||||
diagnostics = "nvim_lsp",
|
||||
}
|
||||
options = {diagnostics = "nvim_lsp"}
|
||||
}
|
||||
local map = vim.api.nvim_set_keymap
|
||||
map("n", "<M-J>", ":BufferLineCyclePrev<cr>", { noremap = true, silent=true })
|
||||
map("n", "<M-K>", ":BufferLineCycleNext<cr>", { noremap = true, silent=true })
|
||||
map("n", "<M-N>", ":BufferLineMovePrev<cr>", { noremap = true, silent=true })
|
||||
map("n", "<M-M>", ":BufferLineMoveNext<cr>", { noremap = true, silent=true })
|
||||
map("n", "<M-J>", ":BufferLineCyclePrev<cr>",
|
||||
{noremap = true, silent = true})
|
||||
map("n", "<M-K>", ":BufferLineCycleNext<cr>",
|
||||
{noremap = true, silent = true})
|
||||
map("n", "<M-N>", ":BufferLineMovePrev<cr>",
|
||||
{noremap = true, silent = true})
|
||||
map("n", "<M-M>", ":BufferLineMoveNext<cr>",
|
||||
{noremap = true, silent = true})
|
||||
end
|
||||
}
|
||||
|
||||
use {"numtostr/FTerm.nvim",
|
||||
use {
|
||||
"numtostr/FTerm.nvim",
|
||||
config = function()
|
||||
require("FTerm").setup {}
|
||||
local map = vim.api.nvim_set_keymap
|
||||
local opts = {noremap = true, silent = true}
|
||||
map("n", "<F2>", [[<cmd>lua require("FTerm").toggle()<cr>]], opts)
|
||||
map("t", "<F2>", [[<C-\><C-n><cmd>lua require("FTerm").toggle()<cr>]], opts)
|
||||
map("n", "<F2>", [[<cmd>lua require("FTerm").toggle()<cr>]],
|
||||
opts)
|
||||
map("t", "<F2>",
|
||||
[[<C-\><C-n><cmd>lua require("FTerm").toggle()<cr>]], opts)
|
||||
end
|
||||
}
|
||||
|
||||
use {"psf/black",
|
||||
config = function()
|
||||
vim.g.black_fast = 1
|
||||
end
|
||||
}
|
||||
use {"psf/black", config = function() vim.g.black_fast = 1 end}
|
||||
|
||||
-- treesitter
|
||||
use {"nvim-treesitter/nvim-treesitter",
|
||||
use {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
run = ":TSUpdate",
|
||||
config = function()
|
||||
require("nvim-treesitter.configs").setup {
|
||||
ensure_installed = "all",
|
||||
ensure_installed = "all"
|
||||
}
|
||||
vim.opt.foldexpr = "nvim_treesitter#foldexpr()"
|
||||
end
|
||||
}
|
||||
|
||||
use {"nvim-telescope/telescope.nvim",
|
||||
use {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
requires = {"nvim-lua/popup.nvim", "nvim-lua/plenary.nvim"},
|
||||
config = function()
|
||||
-- TODO grep with regex
|
||||
@@ -439,21 +464,21 @@ use {"nvim-treesitter/nvim-treesitter",
|
||||
map("n", "<M-b>", "<cmd>Telescope buffers<cr>", opts)
|
||||
map("n", "<M-y>", "<cmd>Telescope filetypes<cr>", opts)
|
||||
map("n", "<F3>", "<cmd>Telescope colorscheme<cr>", opts)
|
||||
map("n", "<leader>la", "<cmd>Telescope lsp_code_actions<cr>", opts )
|
||||
map("v", "<leader>la", "<cmd>Telescope lsp_range_code_actions<cr>", opts )
|
||||
map("n", "<leader>ld", "<cmd>Telescope lsp_document_diagnostics<cr>", opts )
|
||||
map("n", "<leader>lD", "<cmd>Telescope lsp_workspace_diagnostics<cr>", opts )
|
||||
map("n", "<leader>la", "<cmd>Telescope lsp_code_actions<cr>",
|
||||
opts)
|
||||
map("v", "<leader>la",
|
||||
"<cmd>Telescope lsp_range_code_actions<cr>", opts)
|
||||
map("n", "<leader>ld",
|
||||
"<cmd>Telescope lsp_document_diagnostics<cr>", opts)
|
||||
map("n", "<leader>lD",
|
||||
"<cmd>Telescope lsp_workspace_diagnostics<cr>", opts)
|
||||
map("n", "<F12>", "<cmd>Telescope<cr>", opts)
|
||||
require("telescope").setup {
|
||||
defaults = {
|
||||
vimgrep_arguments = {
|
||||
"rg",
|
||||
"--color=never",
|
||||
"--no-heading",
|
||||
"rg", "--color=never", "--no-heading",
|
||||
-- "--with-filename",
|
||||
"--line-number",
|
||||
"--column",
|
||||
"--smart-case"
|
||||
"--line-number", "--column", "--smart-case"
|
||||
},
|
||||
mappings = {
|
||||
i = {
|
||||
@@ -462,64 +487,83 @@ use {"nvim-treesitter/nvim-treesitter",
|
||||
["<C-k>"] = actions.move_selection_previous,
|
||||
["<C-b>"] = actions.preview_scrolling_up,
|
||||
["<C-f>"] = actions.preview_scrolling_down,
|
||||
["<cr>"] = actions.select_default + actions.center,
|
||||
["<cr>"] = actions.select_default +
|
||||
actions.center,
|
||||
["<C-s>"] = actions.select_horizontal,
|
||||
["<C-v>"] = actions.select_vertical,
|
||||
["<C-t>"] = actions.select_tab,
|
||||
["<S-Tab>"] = actions.toggle_selection + actions.move_selection_worse,
|
||||
["<Tab>"] = actions.toggle_selection + actions.move_selection_better,
|
||||
["<C-q>"] = actions.send_to_qflist + actions.open_qflist,
|
||||
["<M-q>"] = actions.send_selected_to_qflist + actions.open_qflist,
|
||||
["<S-Tab>"] = actions.toggle_selection +
|
||||
actions.move_selection_worse,
|
||||
["<Tab>"] = actions.toggle_selection +
|
||||
actions.move_selection_better,
|
||||
["<C-q>"] = actions.send_to_qflist +
|
||||
actions.open_qflist,
|
||||
["<M-q>"] = actions.send_selected_to_qflist +
|
||||
actions.open_qflist,
|
||||
["<C-l>"] = actions.complete_tag
|
||||
},
|
||||
}
|
||||
},
|
||||
file_ignore_patterns = {},
|
||||
set_env = { ["COLORTERM"] = "truecolor" },
|
||||
},
|
||||
set_env = {["COLORTERM"] = "truecolor"}
|
||||
}
|
||||
}
|
||||
end
|
||||
}
|
||||
end }
|
||||
|
||||
-- autocompletion
|
||||
use {"hrsh7th/nvim-cmp",
|
||||
use {
|
||||
"hrsh7th/nvim-cmp",
|
||||
requires = {
|
||||
{"hrsh7th/cmp-nvim-lsp", after = "nvim-cmp"},
|
||||
{"hrsh7th/cmp-path", after = "nvim-cmp"},
|
||||
{"hrsh7th/cmp-buffer", after = "nvim-cmp"},
|
||||
{ "hrsh7th/cmp-calc", after = "nvim-cmp" },
|
||||
{"hrsh7th/cmp-calc", after = "nvim-cmp"}
|
||||
},
|
||||
config = function()
|
||||
local cmp = require("cmp")
|
||||
cmp.setup({
|
||||
mapping = {
|
||||
['<C-n>'] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }),
|
||||
['<C-p>'] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }),
|
||||
['<tab>'] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }),
|
||||
['<S-tab>'] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }),
|
||||
['<Down>'] = cmp.mapping.select_next_item({ behavior = cmp.SelectBehavior.Select }),
|
||||
['<Up>'] = cmp.mapping.select_prev_item({ behavior = cmp.SelectBehavior.Select }),
|
||||
['<C-n>'] = cmp.mapping.select_next_item({
|
||||
behavior = cmp.SelectBehavior.Insert
|
||||
}),
|
||||
['<C-p>'] = cmp.mapping.select_prev_item({
|
||||
behavior = cmp.SelectBehavior.Insert
|
||||
}),
|
||||
['<tab>'] = cmp.mapping.select_next_item({
|
||||
behavior = cmp.SelectBehavior.Insert
|
||||
}),
|
||||
['<S-tab>'] = cmp.mapping.select_prev_item({
|
||||
behavior = cmp.SelectBehavior.Insert
|
||||
}),
|
||||
['<Down>'] = cmp.mapping.select_next_item({
|
||||
behavior = cmp.SelectBehavior.Select
|
||||
}),
|
||||
['<Up>'] = cmp.mapping.select_prev_item({
|
||||
behavior = cmp.SelectBehavior.Select
|
||||
}),
|
||||
['<C-d>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<esc>'] = cmp.mapping.close(),
|
||||
['<cr>'] = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true, })
|
||||
['<cr>'] = cmp.mapping.confirm({
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = true
|
||||
})
|
||||
},
|
||||
sources = {
|
||||
{ name = "nvim_lsp" },
|
||||
{ name = "buffer" },
|
||||
{name = "nvim_lsp"}, {name = "buffer"}
|
||||
-- { name = "path" },
|
||||
-- { name = "nvim_lua" },
|
||||
},
|
||||
sorting = {
|
||||
comparators = {
|
||||
cmp.config.compare.exact,
|
||||
cmp.config.compare.offset,
|
||||
cmp.config.compare.exact, cmp.config.compare.offset,
|
||||
cmp.config.compare.score,
|
||||
cmp.config.compare.sort_text,
|
||||
cmp.config.compare.kind,
|
||||
cmp.config.compare.length,
|
||||
cmp.config.compare.order,
|
||||
cmp.config.compare.kind, cmp.config.compare.length,
|
||||
cmp.config.compare.order
|
||||
}
|
||||
}
|
||||
},
|
||||
})
|
||||
end
|
||||
}
|
||||
@@ -559,7 +603,7 @@ use {"nvim-treesitter/nvim-treesitter",
|
||||
auto_open = false, -- automatically open the list when you have diagnostics
|
||||
auto_close = false, -- automatically close the list when you have no diagnostics
|
||||
auto_preview = true, -- automatically preview the location of the diagnostic. <esc> to close preview and go back to last window
|
||||
auto_fold = false, -- automatically fold a file trouble list at creation
|
||||
auto_fold = false -- automatically fold a file trouble list at creation
|
||||
}
|
||||
local map = vim.api.nvim_set_keymap
|
||||
local opts = {noremap = true}
|
||||
@@ -570,7 +614,8 @@ use {"nvim-treesitter/nvim-treesitter",
|
||||
end
|
||||
}
|
||||
|
||||
use {"folke/todo-comments.nvim",
|
||||
use {
|
||||
"folke/todo-comments.nvim",
|
||||
requires = {"nvim-lua/plenary.nvim"},
|
||||
config = function()
|
||||
require("todo-comments").setup {
|
||||
@@ -584,18 +629,18 @@ use {"nvim-treesitter/nvim-treesitter",
|
||||
PERF = {icon = " ", color = "info"},
|
||||
TEST = {icon = " ", color = "info"},
|
||||
MAYBE = {icon = " ", color = "default"},
|
||||
IDEA = { icon = " ", color = "hint" },
|
||||
IDEA = {icon = " ", color = "hint"}
|
||||
},
|
||||
merge_keywords = true, -- when true, custom keywords will be merged with the defaults
|
||||
highlight = { keyword = "bg", pattern = [[<(KEYWORDS)\s*]], },
|
||||
search = { pattern = [[\b(KEYWORDS)\b]], },
|
||||
highlight = {keyword = "bg", pattern = [[<(KEYWORDS)\s*]]},
|
||||
search = {pattern = [[\b(KEYWORDS)\b]]},
|
||||
colors = {
|
||||
error = {"#E15030"},
|
||||
warning = {"#FBBF24"},
|
||||
info = {"#91BED0"},
|
||||
hint = {"#10B981"},
|
||||
default = { "#91D0C1" },
|
||||
},
|
||||
default = {"#91D0C1"}
|
||||
}
|
||||
}
|
||||
local map = vim.api.nvim_set_keymap
|
||||
local opts = {noremap = true}
|
||||
@@ -603,53 +648,79 @@ use {"nvim-treesitter/nvim-treesitter",
|
||||
end
|
||||
}
|
||||
|
||||
use {"neovim/nvim-lspconfig",
|
||||
use {
|
||||
"neovim/nvim-lspconfig",
|
||||
run = ":TSUpdate",
|
||||
config = function()
|
||||
-- see https://github.com/lukas-reineke/dotfiles/blob/master/vim/lua/lsp/init.lua
|
||||
on_attach = function(client, bufnr)
|
||||
local bmap = vim.api.nvim_buf_set_keymap
|
||||
local opts = {noremap = true}
|
||||
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||
vim.api.nvim_buf_set_option(bufnr, "omnifunc",
|
||||
"v:lua.vim.lsp.omnifunc")
|
||||
vim.lsp.set_log_level("error")
|
||||
-- workspaces
|
||||
bmap(bufnr, "n", "<leader>wa", "<cmd>lua vim.lsp.buf.add_workspace_folder()<cr>", opts)
|
||||
bmap(bufnr, "n", "<leader>wr", "<cmd>lua vim.lsp.buf.remove_workspace_folder()<cr>", opts)
|
||||
bmap(bufnr, "n", "<leader>wl", "<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<cr>", opts)
|
||||
bmap(bufnr, "n", "<leader>wa",
|
||||
"<cmd>lua vim.lsp.buf.add_workspace_folder()<cr>", opts)
|
||||
bmap(bufnr, "n", "<leader>wr",
|
||||
"<cmd>lua vim.lsp.buf.remove_workspace_folder()<cr>",
|
||||
opts)
|
||||
bmap(bufnr, "n", "<leader>wl",
|
||||
"<cmd>lua print(vim.inspect(vim.lsp.buf.list_workspace_folders()))<cr>",
|
||||
opts)
|
||||
-- jump
|
||||
bmap(bufnr, "n", "gl", "<cmd>lua vim.lsp.diagnostic.set_loclist({severity_limit='Warning'})<cr>", opts)
|
||||
bmap(bufnr, "n", "<M-i>", "<cmd>lua vim.lsp.diagnostic.show_line_diagnostics({show_header=false})<cr>", opts)
|
||||
bmap(bufnr, "n", "<M-m>", "<cmd>lua vim.lsp.diagnostic.goto_next({severity_limit='Warning', popup_opts={show_header=false}})<cr>", opts)
|
||||
bmap(bufnr, "n", "<M-n>", "<cmd>lua vim.lsp.diagnostic.goto_prev({severity_limit='Warning', popup_opts={show_header=false}})<cr>", opts)
|
||||
bmap(bufnr, "n", "gl",
|
||||
"<cmd>lua vim.lsp.diagnostic.set_loclist({severity_limit='Warning'})<cr>",
|
||||
opts)
|
||||
bmap(bufnr, "n", "<M-i>",
|
||||
"<cmd>lua vim.lsp.diagnostic.show_line_diagnostics({show_header=false})<cr>",
|
||||
opts)
|
||||
bmap(bufnr, "n", "<M-m>",
|
||||
"<cmd>lua vim.lsp.diagnostic.goto_next({severity_limit='Warning', popup_opts={show_header=false}})<cr>",
|
||||
opts)
|
||||
bmap(bufnr, "n", "<M-n>",
|
||||
"<cmd>lua vim.lsp.diagnostic.goto_prev({severity_limit='Warning', popup_opts={show_header=false}})<cr>",
|
||||
opts)
|
||||
-- popups
|
||||
bmap(bufnr, "n", "<M-x>", "<cmd>lua vim.lsp.buf.signature_help()<cr>", opts)
|
||||
bmap(bufnr, "i", "<M-x>", "<cmd>lua vim.lsp.buf.signature_help()<cr>", opts)
|
||||
bmap(bufnr, "n", "<M-x>",
|
||||
"<cmd>lua vim.lsp.buf.signature_help()<cr>", opts)
|
||||
bmap(bufnr, "i", "<M-x>",
|
||||
"<cmd>lua vim.lsp.buf.signature_help()<cr>", opts)
|
||||
-- other
|
||||
if client.resolved_capabilities.goto_definition then
|
||||
bmap(bufnr, "n", "gd", ":lua vim.lsp.buf.definition()<cr>", opts)
|
||||
bmap(bufnr, "n", "gd",
|
||||
":lua vim.lsp.buf.definition()<cr>", opts)
|
||||
end
|
||||
if client.resolved_capabilities.find_references then
|
||||
bmap(bufnr, "n", "gr", "<cmd>lua vim.lsp.buf.references()<cr>", opts)
|
||||
bmap(bufnr, "n", "gr",
|
||||
"<cmd>lua vim.lsp.buf.references()<cr>", opts)
|
||||
end
|
||||
if client.resolved_capabilities.hover then
|
||||
bmap(bufnr, "n", "K", "<cmd>lua vim.lsp.buf.hover()<cr>", opts)
|
||||
bmap(bufnr, "n", "K",
|
||||
"<cmd>lua vim.lsp.buf.hover()<cr>", opts)
|
||||
end
|
||||
if client.resolved_capabilities.rename then
|
||||
bmap(bufnr, "n", "<M-r>", "<cmd>lua vim.lsp.buf.rename()<cr>", opts)
|
||||
bmap(bufnr, "n", "<M-r>",
|
||||
"<cmd>lua vim.lsp.buf.rename()<cr>", opts)
|
||||
end
|
||||
if client.resolved_capabilities.document_formatting or client.resolved_capabilities.document_range_formatting then
|
||||
if client.resolved_capabilities.document_formatting or
|
||||
client.resolved_capabilities.document_range_formatting then
|
||||
vim.api.nvim_command [[augroup Format]]
|
||||
vim.api.nvim_command [[autocmd! * <buffer>]]
|
||||
vim.api.nvim_command [[autocmd BufWritePost *.py lua vim.lsp.buf.formatting_seq_sync()]]
|
||||
vim.api.nvim_command [[autocmd BufWritePost *.md lua vim.lsp.buf.formatting_seq_sync()]]
|
||||
vim.api.nvim_command [[autocmd BufWritePost *.yaml lua vim.lsp.buf.formatting_seq_sync()]]
|
||||
vim.api
|
||||
.nvim_command [[autocmd BufWritePost *.py lua vim.lsp.buf.formatting_seq_sync()]]
|
||||
vim.api
|
||||
.nvim_command [[autocmd BufWritePost *.lua lua vim.lsp.buf.formatting_seq_sync()]]
|
||||
vim.api
|
||||
.nvim_command [[autocmd BufWritePost *.md lua vim.lsp.buf.formatting_seq_sync()]]
|
||||
vim.api
|
||||
.nvim_command [[autocmd BufWritePost *.yaml lua vim.lsp.buf.formatting_seq_sync()]]
|
||||
vim.api.nvim_command [[augroup END]]
|
||||
|
||||
end
|
||||
end
|
||||
local nvim_lsp = require("lspconfig")
|
||||
-- sudo npm install -g typescript typescript-language-server
|
||||
nvim_lsp.tsserver.setup {}
|
||||
-- sudo npm install -g yaml-language-server
|
||||
nvim_lsp.yamlls.setup {
|
||||
on_attach = on_attach,
|
||||
settings = {
|
||||
@@ -658,26 +729,20 @@ use {"nvim-treesitter/nvim-treesitter",
|
||||
"!ChildContainer mapping",
|
||||
"!ChildClassVar mapping",
|
||||
"!ConstantTensorClassVar mapping",
|
||||
"!ConstantClassVar mapping",
|
||||
"!Dtype scalar",
|
||||
"!DtypeTensor scalar",
|
||||
"!ImportClass scalar",
|
||||
"!ConstantClassVar mapping", "!Dtype scalar",
|
||||
"!DtypeTensor scalar", "!ImportClass scalar",
|
||||
"!SeriesTensor mapping",
|
||||
"!ReferenceContainer mapping",
|
||||
"!ReferenceLink mapping",
|
||||
"!SeriesTensorClassVar mapping",
|
||||
"!UDFfactory scalar",
|
||||
"!UDFnu scalar",
|
||||
"!UDFvalidator scalar",
|
||||
"!Unit scalar",
|
||||
"!UserClass mapping",
|
||||
"!UserInstance mapping",
|
||||
"!getattr mapping",
|
||||
"!UDFfactory scalar", "!UDFnu scalar",
|
||||
"!UDFvalidator scalar", "!Unit scalar",
|
||||
"!UserClass mapping", "!UserInstance mapping",
|
||||
"!getattr mapping"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
-- sudo npm install -g pyright
|
||||
nvim_lsp.pyright.setup {
|
||||
on_attach = on_attach,
|
||||
settings = {
|
||||
@@ -685,7 +750,7 @@ use {"nvim-treesitter/nvim-treesitter",
|
||||
analysis = {
|
||||
diagnosticMode = "workspace",
|
||||
logLevel = "Warning",
|
||||
typeCheckingMode = "basic",
|
||||
typeCheckingMode = "basic"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -696,7 +761,9 @@ use {"nvim-treesitter/nvim-treesitter",
|
||||
nvim_lsp.efm.setup {
|
||||
on_attach = on_attach,
|
||||
init_options = {documentFormatting = true},
|
||||
filetypes = { "python", "markdown", "yaml", "lua", "javascript" },
|
||||
filetypes = {
|
||||
"python", "markdown", "yaml", "lua", "javascript"
|
||||
},
|
||||
root_dir = vim.loop.cwd,
|
||||
settings = {
|
||||
rootMarkers = {".git/"},
|
||||
@@ -707,18 +774,31 @@ use {"nvim-treesitter/nvim-treesitter",
|
||||
lintFormats = {"%f:%l:%c: %t%n%n%n %m"},
|
||||
lintSource = "flake8",
|
||||
lintStdin = true,
|
||||
lintIgnoreExitCode = true,
|
||||
},
|
||||
{
|
||||
lintIgnoreExitCode = true
|
||||
}, {
|
||||
formatCommand = "isort --stdout --profile black --force-single-line-imports -",
|
||||
formatStdin = true
|
||||
},
|
||||
-- }, {
|
||||
-- lintCommand = "mypy --show-column-numbers --ignore-missing-imports",
|
||||
-- lintFormats = {
|
||||
-- "%f=%l:%c: %trror: %m",
|
||||
-- "%f=%l:%c: %tarning: %m",
|
||||
-- "%f=%l:%c: %tote: %m"
|
||||
-- }
|
||||
}
|
||||
},
|
||||
javascript = {prettier, eslint},
|
||||
yaml = {prettier},
|
||||
markdown = {prettier},
|
||||
},
|
||||
},
|
||||
lua = {
|
||||
{
|
||||
formatCommand = "lua-format -i",
|
||||
formatStdin = true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
end
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user