From e8d1b84519010c8bb0e84bf51b35ff8c2339e63d Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Mon, 27 May 2024 18:51:54 +0200 Subject: [PATCH] touching nvim in special places --- nvim/init.lua | 8 ++++ nvim/lazy-lock.json | 25 ++++++------ nvim/lua/config/cmp.lua | 13 +++--- nvim/lua/config/filetypes.lua | 7 ++++ nvim/lua/config/keymaps.lua | 8 ++-- nvim/lua/config/lsp.lua | 10 +++++ nvim/lua/config/options.lua | 2 + nvim/lua/config/telescope.lua | 77 +++++++++++++++++++---------------- nvim/lua/plugins/lsp.lua | 8 +++- nvim/lua/utils/buffers.lua | 17 ++++++++ nvim/snippets/all.lua | 5 +-- 11 files changed, 121 insertions(+), 59 deletions(-) create mode 100644 nvim/lua/utils/buffers.lua diff --git a/nvim/init.lua b/nvim/init.lua index 57f342d..e86f119 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -23,5 +23,13 @@ vim.opt.rtp:prepend(lazypath) require("lazy").setup('plugins', { dev = { path = "~/code/nvim_plugins", + }, + performance = { + rtp = { + disabled_plugins = { + "netrwPlugin", + -- "tutor" + } + } } }) diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index 5bb94c7..600f13a 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -1,31 +1,32 @@ { - "LuaSnip": { "branch": "master", "commit": "03c607c2bd4db0238d8f93a6393ffbd931466390" }, + "LuaSnip": { "branch": "master", "commit": "de1a287c9cb525ae52bc846e8f6207e5ef1da5ac" }, "catppuccin": { "branch": "main", "commit": "d97387aea8264f484bb5d5e74f2182a06c83e0d8" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "00f9d91391b04b1935e2f15948bd96cc111e7d3a" }, + "conform.nvim": { "branch": "master", "commit": "b8f3ed3903430033f638b17f7455b8fd3d6a85b5" }, "fd": { "branch": "master", "commit": "29936f0fbae1e52984ab582b2b2c98685d6ad638" }, "gitsigns.nvim": { "branch": "main", "commit": "805610a9393fa231f2c2b49cb521bfa413fadb3d" }, - "indent-blankline.nvim": { "branch": "master", "commit": "171d4d5a1560ccb556e94aa6df7e969068384049" }, - "lazy.nvim": { "branch": "main", "commit": "05240b41548c4245a04d34ee54f789e824129991" }, + "indent-blankline.nvim": { "branch": "master", "commit": "ece00d5fb44d196680a81fd2761062d2fa44663b" }, + "lazy.nvim": { "branch": "main", "commit": "8f19915175395680808de529e4220da8dafc0759" }, "lsp-zero.nvim": { "branch": "v3.x", "commit": "f12d50716e8e59ea9f5cf484eac6968c33a95917" }, "lspkind-nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" }, "lualine-lsp-progress": { "branch": "master", "commit": "56842d097245a08d77912edf5f2a69ba29f275d7" }, "lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" }, - "nvim-autopairs": { "branch": "master", "commit": "b0b79e42a28f09719a7da9534c3731fa37319d9b" }, + "none-ls.nvim": { "branch": "main", "commit": "37671797d6e5f9bd0ee3ab965ab2e6de251e1930" }, + "nvim-autopairs": { "branch": "master", "commit": "c15de7e7981f1111642e7e53799e1211d4606cb9" }, "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, - "nvim-lspconfig": { "branch": "master", "commit": "a284b14b3a9c4851f900286cd7eb68e3a8f90b1c" }, - "nvim-treesitter": { "branch": "master", "commit": "00a8cfd562dc805eb4d732fbca35e23640dbf7c8" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "84cc9ed772f1fee2f47c1e076f518829583d8347" }, - "nvim-ts-autotag": { "branch": "main", "commit": "531f48334c422222aebc888fd36e7d109cb354cd" }, + "nvim-lspconfig": { "branch": "master", "commit": "0b8165cf95806bc4bb8f745bb0c92021b2ed4b98" }, + "nvim-treesitter": { "branch": "master", "commit": "73fb37ed77b18ac357ca8e6e35835a8db6602332" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "5f9bf4b1ead7707e4e74e5319ee56bdc81fb73db" }, + "nvim-ts-autotag": { "branch": "main", "commit": "62db4b3054ec6847e5cb189b4dea452ce0c7ad7f" }, "nvim-web-devicons": { "branch": "master", "commit": "e37bb1feee9e7320c76050a55443fa843b4b6f83" }, "oil.nvim": { "branch": "master", "commit": "06a19f77f1a1da37b675635e6f9c5b5d50bcaacd" }, "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, - "plenary.nvim": { "branch": "master", "commit": "08e301982b9a057110ede7a735dd1b5285eb341f" }, + "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, - "telescope.nvim": { "branch": "master", "commit": "0c12735d5aff6a48ffd8111bf144dc2ff44e5975" }, - "trouble.nvim": { "branch": "main", "commit": "b9cf677f20bb2faa2dacfa870b084e568dca9572" }, + "telescope.nvim": { "branch": "master", "commit": "4aed63995a69e343b068c7469491a8d1592c339f" }, + "trouble.nvim": { "branch": "main", "commit": "a8264a65a0b894832ea642844f5b7c30112c458f" }, "which-key.nvim": { "branch": "main", "commit": "4433e5ec9a507e5097571ed55c02ea9658fb268a" } } \ No newline at end of file diff --git a/nvim/lua/config/cmp.lua b/nvim/lua/config/cmp.lua index d21cfb9..a61900a 100644 --- a/nvim/lua/config/cmp.lua +++ b/nvim/lua/config/cmp.lua @@ -11,7 +11,8 @@ return function() local windowstyle = { border = vim.g.float_border or "none", winhighlight = "Normal:Pmenu,FloatBorder:FloatBorder,CursorLine:PmenuSel,Search:None", - } + + } return { preselect = false, @@ -20,10 +21,12 @@ return function() }, view = { entries = { name = "custom", selection_order = "near_cursor" }, - }, + }, window = { documentation = windowstyle, - completion = windowstyle, + completion = vim.tbl_deep_extend("force", windowstyle, { + scrolloff = 4, + }), }, mapping = { [""] = selectPrev, @@ -49,8 +52,8 @@ return function() }), }, sources = { - { name = "nvim_lsp" }, - { name = "luasnip" }, + { name = "nvim_lsp" }, + { name = "luasnip" }, { name = "buffer" }, { name = "path" }, { diff --git a/nvim/lua/config/filetypes.lua b/nvim/lua/config/filetypes.lua index 2fa17ff..3eb8ee0 100644 --- a/nvim/lua/config/filetypes.lua +++ b/nvim/lua/config/filetypes.lua @@ -50,6 +50,13 @@ autocmd('Filetype', { command = 'setlocal ts=2 sts=2 sw=2 expandtab' }) +-- Softtab (4) for CSS types +autocmd('Filetype', { + group = 'indent', + pattern = { 'css', 'scss', 'less' }, + command = 'setlocal ts=4 sts=4 sw=4 expandtab' +}) + -- Hardtabs for c/cpp autocmd('Filetype', { group = 'indent', diff --git a/nvim/lua/config/keymaps.lua b/nvim/lua/config/keymaps.lua index 3d14d54..97ace17 100644 --- a/nvim/lua/config/keymaps.lua +++ b/nvim/lua/config/keymaps.lua @@ -1,4 +1,5 @@ local cmd = vim.cmd +local buffers = require('utils.buffers') return { leader = " ", @@ -46,7 +47,7 @@ return { { { "n", "v" }, "p", [["+p]], { desc = "Paste from system clipboard register" } }, -- File operations - { "n", "gf", "e ", { silent = true, desc = "Open (or create) file under cursor" } }, + --{ "n", "gf", "e ", { silent = true, desc = "Open (or create) file under cursor" } }, { "n", "Fc", ":CreateFile ", { silent = true, desc = "Create new file" } }, { "n", "Fx", "!chmod +x %", { silent = true, desc = "Set execute flag on current file" } }, @@ -54,8 +55,8 @@ return { { "n", "bn", cmd.bn, { silent = true, desc = "Move to next buffer" } }, { "n", "bb", cmd.bp, { silent = true, desc = "Move to previous buffer" } }, { "n", "bd", cmd.bd, { silent = true, desc = "Close current buffer" } }, - { "n", "bc", "BufferLineCloseOthers", { silent = true, desc = "Close all other buffers" } }, - { "n", "bD", "%bd", { silent = true, desc = "Close all buffers" } }, + { "n", "bc", buffers.CloseOthers, { silent = true, desc = "Close all other buffers" } }, + { "n", "bD", buffers.CloseAll, { silent = true, desc = "Close all buffers" } }, -- Indent { 'n', "", "^=$" }, @@ -133,6 +134,7 @@ return { { 'sf', 'Telescope find_files', desc = 'Search files' }, { 'sF', 'lua require("telescope.builtin").find_files({no_ignore=true})', desc = 'Search all files' }, { 'sb', 'Telescope buffers', desc = 'Search buffers' }, + --{ 'sb', 'lua require("utils.telescope").buffers()', desc = 'Search buffers' }, { 'sa', 'Telescope live_grep', desc = 'Search in files' }, { 'sg', 'Telescope git_files', desc = 'Search Git files' }, { 'so', 'Telescope oldfiles', desc = 'Search Old files' }, diff --git a/nvim/lua/config/lsp.lua b/nvim/lua/config/lsp.lua index b1765bc..ab13376 100644 --- a/nvim/lua/config/lsp.lua +++ b/nvim/lua/config/lsp.lua @@ -2,10 +2,20 @@ vim.g.lsp_zero_ui_float_border = vim.g.float_border or 'none' return { document_highlight = true, + nonels = function() + local null_ls = require("null-ls") + return { + --null_ls.builtins.completion.luasnip, + null_ls.builtins.code_actions.impl, + null_ls.builtins.code_actions.gitsigns, + null_ls.builtins.diagnostics.phpstan, + } + end, servers = { -- Bash bashls = {}, -- PHP + -- intelephense = {}, phpactor = { settings = { init_options = { diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua index c06c4fb..419e299 100644 --- a/nvim/lua/config/options.lua +++ b/nvim/lua/config/options.lua @@ -115,6 +115,8 @@ vim.diagnostic.config({ }, float = { border = vim.g.float_border, + header = false, + source = true, } }) diff --git a/nvim/lua/config/telescope.lua b/nvim/lua/config/telescope.lua index 75b1929..abd43fe 100644 --- a/nvim/lua/config/telescope.lua +++ b/nvim/lua/config/telescope.lua @@ -1,37 +1,46 @@ -local icons = require('config.icons') +local icons = require("config.icons") return function() - local actions = require("telescope.actions") - return { - defaults = { - border = { - prompt = { 1, 1, 1, 1 }, - results = { 1, 1, 1, 1 }, - preview = { 1, 1, 1, 1 }, - }, - path_display = { truncate = 1 }, - prompt_prefix = ' ', - selection_caret = icons.current .. ' ', - multi_icon = icons.selected .. ' ', - file_ignore_patterns = { - ".git/", - "node_modules/" - }, - mappings = { - i = { - [""] = actions.close - } - } - }, - pickers = { - find_files = { - hidden = true - } - }, - extensions = { - ["ui-select"] = { - require("telescope.themes").get_dropdown() - } - } - } + local actions = require("telescope.actions") + return { + defaults = { + border = { + prompt = { 1, 1, 1, 1 }, + results = { 1, 1, 1, 1 }, + preview = { 1, 1, 1, 1 }, + }, + path_display = { truncate = 1 }, + prompt_prefix = " ", + selection_caret = icons.current .. " ", + multi_icon = icons.selected .. " ", + file_ignore_patterns = { + ".git/", + "node_modules/", + }, + mappings = { + i = { + [""] = actions.close, + }, + }, + }, + pickers = { + find_files = { + hidden = true, + }, + buffers = { + theme = "dropdown", + previewer = false, + mappings = { + i = { + [""] = actions.delete_buffer + actions.move_to_top, + }, + }, + }, + }, + extensions = { + ["ui-select"] = { + require("telescope.themes").get_dropdown(), + }, + }, + } end diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua index 6d628b3..0326ae2 100644 --- a/nvim/lua/plugins/lsp.lua +++ b/nvim/lua/plugins/lsp.lua @@ -4,7 +4,13 @@ return { dependencies = { "neovim/nvim-lspconfig", "hrsh7th/cmp-nvim-lsp", - + { + "nvimtools/none-ls.nvim", + opts = require("config.lsp").nonels, + config = function(_, opts) + require("null-ls").setup({sources = opts}) + end, + }, -- completion { "hrsh7th/nvim-cmp", diff --git a/nvim/lua/utils/buffers.lua b/nvim/lua/utils/buffers.lua new file mode 100644 index 0000000..6f1a82c --- /dev/null +++ b/nvim/lua/utils/buffers.lua @@ -0,0 +1,17 @@ +local M = {} + +function M.CloseOthers() + for _, i in ipairs(vim.api.nvim_list_bufs()) do + if i ~= vim.api.nvim_get_current_buf() then + vim.api.nvim_buf_delete(i, {}) + end + end +end + +function M.CloseAll() + for _, i in ipairs(vim.api.nvim_list_bufs()) do + vim.api.nvim_buf_delete(i, {}) + end +end + +return M diff --git a/nvim/snippets/all.lua b/nvim/snippets/all.lua index a7f555b..356a941 100644 --- a/nvim/snippets/all.lua +++ b/nvim/snippets/all.lua @@ -1,9 +1,6 @@ - - return { s("ternary", { - -- equivalent to "${1:cond} ? ${2:then} : ${3:else}" - i(1, "cond"), t(" ? "), i(2, "then"), t(" : "), i(3, "else") + i(1, "cond"), t(" ? "), i(2, "true"), t(" : "), i(3, "false") }) }