From d6c6ff9997cc7d8b48a77dd8880d2cab3481d462 Mon Sep 17 00:00:00 2001 From: davidpkj Date: Sun, 27 Aug 2023 16:35:31 +0200 Subject: Update neovim --- neovim/.config/nvim/lua/keybinds.lua | 2 + neovim/.config/nvim/lua/plugins/catppuccin.lua | 2 +- neovim/.config/nvim/lua/plugins/lsp.lua | 65 +++++++++++++++++++++++++- neovim/.config/nvim/lua/plugins/treesitter.lua | 1 + neovim/.config/nvim/lua/settings.lua | 1 + neovim/.config/nvim/plugin/packer_compiled.lua | 48 +++++++++++-------- 6 files changed, 98 insertions(+), 21 deletions(-) (limited to 'neovim') diff --git a/neovim/.config/nvim/lua/keybinds.lua b/neovim/.config/nvim/lua/keybinds.lua index 1a56ccc..d84e5e4 100644 --- a/neovim/.config/nvim/lua/keybinds.lua +++ b/neovim/.config/nvim/lua/keybinds.lua @@ -31,6 +31,8 @@ map("n", "i", function() vim.lsp.buf.format() end) map("n", "s", [[:%s/\<\>//gI]]) -- Make executable map("n", "x", "!chmod +x %") +-- Copy file path +map("n", "y", "!echo $(pwd)/% | xclip -selection clipboard") -- map("n", "", ":Files") map("n", "", ":!compile %") diff --git a/neovim/.config/nvim/lua/plugins/catppuccin.lua b/neovim/.config/nvim/lua/plugins/catppuccin.lua index e1780e3..e1a14e7 100644 --- a/neovim/.config/nvim/lua/plugins/catppuccin.lua +++ b/neovim/.config/nvim/lua/plugins/catppuccin.lua @@ -1,4 +1,4 @@ -vim.g.catppuccin_flavour = "macchiato" -- latte, frappe, macchiato, mocha +vim.g.catppuccin_flavour = "macchiato" -- *latte*, frappe, *macchiato*, mocha local colors = require("catppuccin.palettes").get_palette() -- return vim.g.catppuccin_flavour palette require("catppuccin").setup({ diff --git a/neovim/.config/nvim/lua/plugins/lsp.lua b/neovim/.config/nvim/lua/plugins/lsp.lua index 703fa7c..a253373 100644 --- a/neovim/.config/nvim/lua/plugins/lsp.lua +++ b/neovim/.config/nvim/lua/plugins/lsp.lua @@ -3,6 +3,24 @@ local lspconf = require("lspconfig") local capabilities = vim.lsp.protocol.make_client_capabilities() capabilities.textDocument.completion.completionItem.snippetSupport = true +lspconf.pylsp.setup{ + settings = { + pylsp = { + plugins = { + pycodestyle = { + ignore = {'W391'}, + maxLineLength = 100 + } + } + } + } +} + +lspconf.phpactor.setup { + capabilities = capabilities, + on_attach = function() end, +} + lspconf.html.setup { capabilities = capabilities, } @@ -11,7 +29,11 @@ lspconf.cssls.setup({ capabilities = capabilities, }) -lspconf.emmet_ls.setup({}) +lspconf.emmet_ls.setup({ + capabilities = capabilities, + filetypes = { "html", "php" }, +}) + lspconf.tsserver.setup({ capabilities = capabilities, on_attach = function() end, @@ -42,12 +64,51 @@ vim.diagnostic.config({ underline = false, severity_sort = true, float = { + focusable = false, source = 'always', header = '', prefix = '', }, }) +vim.diagnostic.open_float = (function(orig) + return function(bufnr, opts) + local lnum = vim.api.nvim_win_get_cursor(0)[1] - 1 + local opts = opts or {} + -- A more robust solution would check the "scope" value in `opts` to + -- determine where to get diagnostics from, but if you're only using + -- this for your own purposes you can make it as simple as you like + local diagnostics = vim.diagnostic.get(opts.bufnr or 0, {lnum = lnum}) + local max_severity = vim.diagnostic.severity.HINT + for _, d in ipairs(diagnostics) do + -- Equality is "less than" based on how the severities are encoded + if d.severity < max_severity then + max_severity = d.severity + end + end + local border_color = ({ + [vim.diagnostic.severity.HINT] = "DiagnosticHint", + [vim.diagnostic.severity.INFO] = "DiagnosticInfo", + [vim.diagnostic.severity.WARN] = "DiagnosticWarn", + [vim.diagnostic.severity.ERROR] = "DiagnosticError", + })[max_severity] + opts.border = { + {"╭", border_color}, + {"─", border_color}, + {"╮", border_color}, + {"│", border_color}, + {"╯", border_color}, + {"─", border_color}, + {"╰", border_color}, + {"│", border_color}, + } + orig(bufnr, opts) + end +end)(vim.diagnostic.open_float) + +-- Show line diagnostics in floating popup on hover, except insert mode (CursorHoldI) +vim.cmd [[autocmd CursorHold * lua vim.diagnostic.open_float()]] + require("keybinds") map("n", "", "lua vim.lsp.buf.rename()") @@ -56,6 +117,8 @@ map("n", "", "lua vim.diagnostic.open_float()") map("n", "dn", "lua vim.diagnostic.goto_next()") map("n", "dp", "lua vim.diagnostic.goto_prev()") +map("n", "pp", "lua vim.lsp.buf.format()") + --[[ nnoremap lua vim.lsp.buf.definition() nnoremap K lua vim.lsp.buf.hover() diff --git a/neovim/.config/nvim/lua/plugins/treesitter.lua b/neovim/.config/nvim/lua/plugins/treesitter.lua index 8c9f60c..0ebae35 100644 --- a/neovim/.config/nvim/lua/plugins/treesitter.lua +++ b/neovim/.config/nvim/lua/plugins/treesitter.lua @@ -12,6 +12,7 @@ require("nvim-treesitter.configs").setup({ "lua", "rust", "go", + "php", "javascript", "typescript", "tsx", diff --git a/neovim/.config/nvim/lua/settings.lua b/neovim/.config/nvim/lua/settings.lua index e4c7543..eca7088 100644 --- a/neovim/.config/nvim/lua/settings.lua +++ b/neovim/.config/nvim/lua/settings.lua @@ -3,6 +3,7 @@ local o = vim.o -- Amount of lines to keep below and above the cursor o.scrolloff = 10 +o.updatetime = 100 -- 250 -- 750 -- I like it this way o.number = true diff --git a/neovim/.config/nvim/plugin/packer_compiled.lua b/neovim/.config/nvim/plugin/packer_compiled.lua index 1d6578d..64b453f 100644 --- a/neovim/.config/nvim/plugin/packer_compiled.lua +++ b/neovim/.config/nvim/plugin/packer_compiled.lua @@ -135,6 +135,12 @@ _G.packer_plugins = { path = "/home/me/.local/share/nvim/site/pack/packer/opt/fidget.nvim", url = "https://github.com/j-hui/fidget.nvim" }, + ["flutter-tools.nvim"] = { + config = { "\27LJ\2\n?\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\18flutter-tools\frequire\0" }, + loaded = true, + path = "/home/me/.local/share/nvim/site/pack/packer/start/flutter-tools.nvim", + url = "https://github.com/akinsho/flutter-tools.nvim" + }, ["gitsigns.nvim"] = { config = { "\27LJ\2\n0\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\21plugins.gitsigns\frequire\0" }, loaded = false, @@ -178,7 +184,7 @@ _G.packer_plugins = { url = "https://github.com/windwp/nvim-autopairs" }, ["nvim-cmp"] = { - after = { "cmp-nvim-lsp", "cmp-path", "cmp-vsnip", "nvim-autopairs", "vim-vsnip", "rust-tools.nvim", "cmp-buffer" }, + after = { "cmp-nvim-lsp", "nvim-autopairs", "cmp-vsnip", "vim-vsnip", "rust-tools.nvim", "cmp-buffer", "cmp-path" }, config = { "\27LJ\2\n+\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\16plugins.cmp\frequire\0" }, loaded = true, only_config = true, @@ -194,7 +200,7 @@ _G.packer_plugins = { url = "https://github.com/neovim/nvim-lspconfig" }, ["nvim-treesitter"] = { - after = { "playground", "nvim-treesitter-textobjects", "nvim-treesitter-refactor" }, + after = { "nvim-treesitter-textobjects", "playground", "nvim-treesitter-refactor" }, config = { "\27LJ\2\n2\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\23plugins.treesitter\frequire\0" }, loaded = false, needs_bufread = false, @@ -279,6 +285,10 @@ _G.packer_plugins = { } time([[Defining packer_plugins]], false) +-- Config for: todo-comments.nvim +time([[Config for todo-comments.nvim]], true) +try_loadstring("\27LJ\2\n4\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\25plugins.todocomments\frequire\0", "config", "todo-comments.nvim") +time([[Config for todo-comments.nvim]], false) -- Config for: nvim-lspconfig time([[Config for nvim-lspconfig]], true) try_loadstring("\27LJ\2\n+\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\16plugins.lsp\frequire\0", "config", "nvim-lspconfig") @@ -287,48 +297,48 @@ time([[Config for nvim-lspconfig]], false) time([[Config for catppuccin-theme]], true) try_loadstring("\27LJ\2\n2\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\23plugins.catppuccin\frequire\0", "config", "catppuccin-theme") time([[Config for catppuccin-theme]], false) --- Config for: nvim-cmp -time([[Config for nvim-cmp]], true) -try_loadstring("\27LJ\2\n+\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\16plugins.cmp\frequire\0", "config", "nvim-cmp") -time([[Config for nvim-cmp]], false) --- Config for: todo-comments.nvim -time([[Config for todo-comments.nvim]], true) -try_loadstring("\27LJ\2\n4\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\25plugins.todocomments\frequire\0", "config", "todo-comments.nvim") -time([[Config for todo-comments.nvim]], false) -- Config for: telescope.nvim time([[Config for telescope.nvim]], true) try_loadstring("\27LJ\2\n1\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\22plugins.telescope\frequire\0", "config", "telescope.nvim") time([[Config for telescope.nvim]], false) +-- Config for: nvim-cmp +time([[Config for nvim-cmp]], true) +try_loadstring("\27LJ\2\n+\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\16plugins.cmp\frequire\0", "config", "nvim-cmp") +time([[Config for nvim-cmp]], false) +-- Config for: flutter-tools.nvim +time([[Config for flutter-tools.nvim]], true) +try_loadstring("\27LJ\2\n?\0\0\3\0\3\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0004\2\0\0B\0\2\1K\0\1\0\nsetup\18flutter-tools\frequire\0", "config", "flutter-tools.nvim") +time([[Config for flutter-tools.nvim]], false) -- Load plugins in order defined by `after` time([[Sequenced loading]], true) +vim.cmd [[ packadd telescope-fzf-native.nvim ]] + +-- Config for: telescope-fzf-native.nvim +try_loadstring("\27LJ\2\nH\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0'\2\3\0B\0\2\1K\0\1\0\bfzf\19load_extension\14telescope\frequire\0", "config", "telescope-fzf-native.nvim") + vim.cmd [[ packadd mason-lspconfig.nvim ]] vim.cmd [[ packadd mason.nvim ]] -- Config for: mason.nvim try_loadstring("\27LJ\2\n-\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\18plugins.mason\frequire\0", "config", "mason.nvim") -vim.cmd [[ packadd telescope-fzf-native.nvim ]] - --- Config for: telescope-fzf-native.nvim -try_loadstring("\27LJ\2\nH\0\0\3\0\4\0\a6\0\0\0'\2\1\0B\0\2\0029\0\2\0'\2\3\0B\0\2\1K\0\1\0\bfzf\19load_extension\14telescope\frequire\0", "config", "telescope-fzf-native.nvim") - -vim.cmd [[ packadd cmp-buffer ]] -vim.cmd [[ packadd cmp-path ]] vim.cmd [[ packadd rust-tools.nvim ]] -- Config for: rust-tools.nvim try_loadstring("\27LJ\2\n2\0\0\3\0\2\0\0046\0\0\0'\2\1\0B\0\2\1K\0\1\0\23plugins.rust-tools\frequire\0", "config", "rust-tools.nvim") vim.cmd [[ packadd vim-vsnip ]] -vim.cmd [[ packadd cmp-nvim-lsp ]] vim.cmd [[ packadd cmp-vsnip ]] +vim.cmd [[ packadd cmp-buffer ]] +vim.cmd [[ packadd cmp-path ]] +vim.cmd [[ packadd cmp-nvim-lsp ]] time([[Sequenced loading]], false) vim.cmd [[augroup packer_load_aucmds]] vim.cmd [[au!]] -- Event lazy-loads time([[Defining lazy-load event autocommands]], true) +vim.cmd [[au BufEnter * ++once lua require("packer.load")({'Comment.nvim', 'nvim-treesitter', 'lualine.nvim', 'gitsigns.nvim'}, { event = "BufEnter *" }, _G.packer_plugins)]] vim.cmd [[au InsertCharPre * ++once lua require("packer.load")({'nvim-autopairs'}, { event = "InsertCharPre *" }, _G.packer_plugins)]] -vim.cmd [[au BufEnter * ++once lua require("packer.load")({'Comment.nvim', 'lualine.nvim', 'nvim-treesitter', 'gitsigns.nvim'}, { event = "BufEnter *" }, _G.packer_plugins)]] time([[Defining lazy-load event autocommands]], false) vim.cmd("augroup END") -- cgit v1.2.3