updates & nvim config autoformat

This commit is contained in:
Henrik Bakken
2021-11-06 11:51:11 +01:00
parent 3e1020637b
commit a7c21c43ac
+249 -169
View File
@@ -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
}