From 93704c7c851cee50ef6b34953577c840f01567ac Mon Sep 17 00:00:00 2001 From: linarphy Date: Mon, 15 Apr 2024 07:42:08 +0200 Subject: [PATCH] More plugins --- private_dot_config/nvim/init.lua | 4 +++ private_dot_config/nvim/lazy-lock.json | 8 +++++ .../nvim/lua/display/editor.lua | 17 ++++++++++ .../nvim/lua/display/indent.lua | 3 ++ private_dot_config/nvim/lua/display/init.lua | 2 ++ private_dot_config/nvim/lua/mapping/init.lua | 2 ++ .../nvim/lua/mapping/missing_key.lua | 24 +++++++++++++ .../nvim/lua/plugins/LuaSnip.lua | 17 ++++++++++ private_dot_config/nvim/lua/plugins/noice.lua | 24 +++++++++---- .../nvim/lua/plugins/nvim-cmp.lua | 34 +++++++++++++++++++ .../nvim/lua/plugins/nvim-lspconfig.lua | 14 +++++--- private_dot_config/nvim/lua/provider.lua | 4 +++ private_dot_config/nvim/lua/utility.lua | 4 +++ 13 files changed, 146 insertions(+), 11 deletions(-) create mode 100644 private_dot_config/nvim/lua/display/indent.lua create mode 100644 private_dot_config/nvim/lua/mapping/missing_key.lua create mode 100644 private_dot_config/nvim/lua/plugins/LuaSnip.lua create mode 100644 private_dot_config/nvim/lua/plugins/nvim-cmp.lua create mode 100644 private_dot_config/nvim/lua/provider.lua create mode 100644 private_dot_config/nvim/lua/utility.lua diff --git a/private_dot_config/nvim/init.lua b/private_dot_config/nvim/init.lua index 8fba515..1115c91 100644 --- a/private_dot_config/nvim/init.lua +++ b/private_dot_config/nvim/init.lua @@ -5,3 +5,7 @@ require('plugins') require('mapping') require('display') + +require('provider') + +require('utility') diff --git a/private_dot_config/nvim/lazy-lock.json b/private_dot_config/nvim/lazy-lock.json index ed9e21c..5286a39 100644 --- a/private_dot_config/nvim/lazy-lock.json +++ b/private_dot_config/nvim/lazy-lock.json @@ -1,5 +1,12 @@ { + "LuaSnip": { "branch": "master", "commit": "8ae1dedd988eb56441b7858bd1e8554dfadaa46d" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-emoji": { "branch": "main", "commit": "e8398e2adf512a03bb4e1728ca017ffeac670a9f" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, "dashboard-nvim": { "branch": "master", "commit": "681300934baf36f6184ca41f0b26aed22056d4ee" }, + "friendly-snippets": { "branch": "main", "commit": "ea068f1becd91bcd4591fceb6420d4335e2e14d3" }, "fzf-lua": { "branch": "main", "commit": "344b309421e5222a6199e4b46d01041089b6a2ae" }, "lazy.nvim": { "branch": "main", "commit": "31ddbea7c10b6920c9077b66c97951ca8682d5c8" }, "mini.nvim": { "branch": "main", "commit": "c4598eaaa7bc29c1d17dd1238c3436c1fb4233aa" }, @@ -7,6 +14,7 @@ "neo-tree.nvim": { "branch": "v3.x", "commit": "c61074acb19102dfc6f21738dcae4d9a494a8959" }, "noice.nvim": { "branch": "main", "commit": "0cbe3f88d038320bdbda3c4c5c95f43a13c3aa12" }, "nui.nvim": { "branch": "main", "commit": "cbd2668414331c10039278f558630ed19b93e69b" }, + "nvim-cmp": { "branch": "main", "commit": "ce16de5665c766f39c271705b17fff06f7bcb84f" }, "nvim-lspconfig": { "branch": "master", "commit": "b3014f2209503944f2714cf27c95591433a0c7d8" }, "nvim-notify": { "branch": "master", "commit": "5371f4bfc1f6d3adf4fe9d62cd3a9d44356bfd15" }, "nvim-treesitter": { "branch": "master", "commit": "f08a9d97f7a2ac02115a5c1c8e3973b2634d996b" }, diff --git a/private_dot_config/nvim/lua/display/editor.lua b/private_dot_config/nvim/lua/display/editor.lua index 9ba3d5d..fe49f4d 100644 --- a/private_dot_config/nvim/lua/display/editor.lua +++ b/private_dot_config/nvim/lua/display/editor.lua @@ -2,8 +2,25 @@ vim.opt.relativenumber = true vim.opt.number = true vim.opt.wrap = false vim.opt.emoji = false +vim.opt.textwidth = 72 vim.opt.cursorline = true vim.opt.cursorcolumn = true +vim.opt.formatoptions:append({ t , 1 , o , n }) +vim.api.nvim_create_autocmd( + {'Filetype'}, + { + pattern = { + 'vim' , + 'lua' , + 'markdown' , + 'python' , + 'javascript', + 'rust' , + } , + command = ':setlocal formatoptions+=t1on', + } +) + require('monokai').setup {} diff --git a/private_dot_config/nvim/lua/display/indent.lua b/private_dot_config/nvim/lua/display/indent.lua new file mode 100644 index 0000000..b7e1abc --- /dev/null +++ b/private_dot_config/nvim/lua/display/indent.lua @@ -0,0 +1,3 @@ +vim.opt.tabstop = 4 +vim.opt.shiftwidth = 4 +vim.opt.smartindent = true diff --git a/private_dot_config/nvim/lua/display/init.lua b/private_dot_config/nvim/lua/display/init.lua index 930ecb1..1ea01c0 100644 --- a/private_dot_config/nvim/lua/display/init.lua +++ b/private_dot_config/nvim/lua/display/init.lua @@ -1,3 +1,5 @@ require('display.editor') require('display.gui') + +require('display.indent') diff --git a/private_dot_config/nvim/lua/mapping/init.lua b/private_dot_config/nvim/lua/mapping/init.lua index 7e6d864..3bdcdb2 100644 --- a/private_dot_config/nvim/lua/mapping/init.lua +++ b/private_dot_config/nvim/lua/mapping/init.lua @@ -9,3 +9,5 @@ require('mapping.persistence') require('mapping.fzf-lua') require('mapping.neo-tree') + +require('mapping.missing_key') diff --git a/private_dot_config/nvim/lua/mapping/missing_key.lua b/private_dot_config/nvim/lua/mapping/missing_key.lua new file mode 100644 index 0000000..0766ac5 --- /dev/null +++ b/private_dot_config/nvim/lua/mapping/missing_key.lua @@ -0,0 +1,24 @@ +vim.keymap.set( + { + 'n', + 'v', + 'i', + } , + 'c', + '<' , + { + desc = '< for pc102 layout 😬' + } +) +vim.keymap.set( + { + 'n', + 'v', + 'i', + } , + 'C', + '>' , + { + desc = '> for pc102 layout 😬' + } +) diff --git a/private_dot_config/nvim/lua/plugins/LuaSnip.lua b/private_dot_config/nvim/lua/plugins/LuaSnip.lua new file mode 100644 index 0000000..2d7e383 --- /dev/null +++ b/private_dot_config/nvim/lua/plugins/LuaSnip.lua @@ -0,0 +1,17 @@ +return { + 'L3MON4D3/LuaSnip' , + version = 'v2.*' , + build = 'make install_jsregexp', + dependencies = { + { + 'rafamadriz/friendly-snippets', + config = function() + require('luasnip.loaders.from_vscode').lazy_load() + end, + }, + { + 'saadparwaiz1/cmp_luasnip', + }, + }, + +} diff --git a/private_dot_config/nvim/lua/plugins/noice.lua b/private_dot_config/nvim/lua/plugins/noice.lua index b5aa352..2b2071c 100644 --- a/private_dot_config/nvim/lua/plugins/noice.lua +++ b/private_dot_config/nvim/lua/plugins/noice.lua @@ -1,15 +1,25 @@ return { - "folke/noice.nvim", - event = "VeryLazy", + 'folke/noice.nvim', + event = 'VeryLazy', opts = { - -- add any options here + lsp = { + override = { + ['vim.lsp.util.convert_input_to_markdown_lines'] = true, + ['vim.lsp.util.stylize_markdown'] = true, + ['cmp.entry.get_documentation'] = true, + }, + }, + presets = { + bottom_search = true, + command_palette = true, + } }, dependencies = { - -- if you lazy-load any plugin below, make sure to add proper `module="..."` entries - "MunifTanjim/nui.nvim", + -- if you lazy-load any plugin below, make sure to add proper `module='...'` entries + 'MunifTanjim/nui.nvim', -- OPTIONAL: -- `nvim-notify` is only needed, if you want to use the notification view. -- If not available, we use `mini` as the fallback - "rcarriga/nvim-notify", - } + 'rcarriga/nvim-notify', + } } diff --git a/private_dot_config/nvim/lua/plugins/nvim-cmp.lua b/private_dot_config/nvim/lua/plugins/nvim-cmp.lua new file mode 100644 index 0000000..c8a952a --- /dev/null +++ b/private_dot_config/nvim/lua/plugins/nvim-cmp.lua @@ -0,0 +1,34 @@ +return { + 'hrsh7th/nvim-cmp' , + version = false , + event = 'InsertEnter', + dependencies = { + 'hrsh7th/cmp-nvim-lsp', + 'hrsh7th/cmp-buffer' , + 'hrsh7th/cmp-path' , + 'hrsh7th/cmp-emoji' , + } , + opts = function() + local cmp = require('cmp') + local defaults = require('cmp.config.default')() + return { + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) + end + }, + window = { + completion = cmp.config.window.bordered(), + documentation = cmp.config.window.bordered(), + }, + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + { name = 'path' }, + { name = 'emoji' }, + { name = 'luasnip' }, + }, { + { name = 'buffer' }, + }), + } + end , +} diff --git a/private_dot_config/nvim/lua/plugins/nvim-lspconfig.lua b/private_dot_config/nvim/lua/plugins/nvim-lspconfig.lua index 9ec47d2..5599572 100644 --- a/private_dot_config/nvim/lua/plugins/nvim-lspconfig.lua +++ b/private_dot_config/nvim/lua/plugins/nvim-lspconfig.lua @@ -6,13 +6,19 @@ return { }, config = function() local lspconfig = require('lspconfig') + local capabilities = require('cmp_nvim_lsp').default_capabilities() - lspconfig.pyright.setup {} - lspconfig.tsserver.setup {} + lspconfig.pyright.setup { + capabilities = capabilities, + } + lspconfig.tsserver.setup { + capabilities = capabilities, + } lspconfig.rust_analyzer.setup { - settings = { + capabilities = capabilities, + settings = { ['rust-analyzer'] = {}, - }, + } , } end } diff --git a/private_dot_config/nvim/lua/provider.lua b/private_dot_config/nvim/lua/provider.lua new file mode 100644 index 0000000..2f957ec --- /dev/null +++ b/private_dot_config/nvim/lua/provider.lua @@ -0,0 +1,4 @@ +vim.g.python3_host_prog = '~/.local/share/python/neovim/bin/python3' +vim.g.loaded_node_provider = 0 +vim.g.loaded_perl_provider = 0 +vim.g.loaded_ruby_provider = 0 diff --git a/private_dot_config/nvim/lua/utility.lua b/private_dot_config/nvim/lua/utility.lua new file mode 100644 index 0000000..377da98 --- /dev/null +++ b/private_dot_config/nvim/lua/utility.lua @@ -0,0 +1,4 @@ +vim.opt.confirm = true +vim.opt.ignorecase = true +vim.opt.smartcase = true +vim.opt.spell = false