From dd72757e00c228cb24a12ea3dd8c20ca04366f53 Mon Sep 17 00:00:00 2001 From: Marco Thomas Date: Wed, 13 Jul 2022 22:09:53 +0200 Subject: [PATCH] nvim: configure cmp activation + formatting --- files/nvim/.config/nvim/lua/lsp.lua | 14 +++++----- files/nvim/.config/nvim/lua/plugins.lua | 37 ++++++++++++------------- files/sway/.config/sway/config | 4 +++ 3 files changed, 29 insertions(+), 26 deletions(-) diff --git a/files/nvim/.config/nvim/lua/lsp.lua b/files/nvim/.config/nvim/lua/lsp.lua index 5334cab..36b600a 100644 --- a/files/nvim/.config/nvim/lua/lsp.lua +++ b/files/nvim/.config/nvim/lua/lsp.lua @@ -1,8 +1,8 @@ -- Custom warning symbols local signs = { Error = " ", Warn = " ", Hint = " ", Info = " " } for type, icon in pairs(signs) do - local hl = "DiagnosticSign" .. type - vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl }) + local hl = "DiagnosticSign" .. type + vim.fn.sign_define(hl, { text = icon, texthl = hl, numhl = hl }) end -- Easily install LSPs with `:LSPInstall` @@ -18,15 +18,15 @@ require("nvim-lsp-installer").setup({ }) local lsp = require('lspconfig') -local navic = require('nvim-navic') -- breadcrumbs +local navic = require('nvim-navic') -- breadcrumbs -- Normal LSPs -- Install with `:LSPInstall` local servers = { "pylsp", "sumneko_lua", "hls" } -for _,i in ipairs(servers) do +for _, i in ipairs(servers) do lsp[i].setup({ on_attach = function(client, bufnr) - navic.attach(client, bufnr) -- breadcrumbs + navic.attach(client, bufnr) -- breadcrumbs end }) end @@ -37,7 +37,7 @@ lsp.texlab.setup({ settings = { texlab = { build = { - args = { '-pdf', '-interaction=nonstopmode', '-synctex=1', '-shell-escape','%f' }, + args = { '-pdf', '-interaction=nonstopmode', '-synctex=1', '-shell-escape', '%f' }, onSave = true, } } @@ -57,7 +57,7 @@ local opts = { }, server = { on_attach = function(client, bufnr) - navic.attach(client, bufnr) -- breadcrumbs + navic.attach(client, bufnr) -- breadcrumbs end, settings = { ["rust-analyzer"] = { diff --git a/files/nvim/.config/nvim/lua/plugins.lua b/files/nvim/.config/nvim/lua/plugins.lua index 7cfd7e2..e3427d7 100644 --- a/files/nvim/.config/nvim/lua/plugins.lua +++ b/files/nvim/.config/nvim/lua/plugins.lua @@ -134,6 +134,7 @@ return require('packer').startup(function(use) "json", "latex", "lua", + "make", "python", "rust", }, @@ -152,30 +153,28 @@ return require('packer').startup(function(use) use("simrat39/rust-tools.nvim") -- Cooler LSP stuff for Rust -- Snippets - -- TODO: max candidates - -- TODO: time trigger activation use({ 'hrsh7th/nvim-cmp', requires = { - "L3MON4D3/LuaSnip", - "hrsh7th/cmp-buffer", - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-path", - "rafamadriz/friendly-snippets", - "saadparwaiz1/cmp_luasnip", + "L3MON4D3/LuaSnip", -- Snippet engine + "hrsh7th/cmp-buffer", -- Source: buffer + "hrsh7th/cmp-nvim-lsp", -- Source: LSP symbols + "hrsh7th/cmp-path", -- Source: path + "rafamadriz/friendly-snippets", -- Source: JSON style snippets for LuaSnip + "saadparwaiz1/cmp_luasnip", -- Make LuaSnip work with cmp }, config = function() local cmp = require 'cmp' cmp.setup({ snippet = { - expand = function(args) + expand = function(args) -- set a snippet engine require("luasnip").lsp_expand(args.body) end, }, sources = { - { name = 'luasnip' }, - { name = 'nvim_lsp' }, - { name = 'buffer' }, + { name = 'luasnip', keyword_length = 3, max_item_count = 3 }, + { name = 'nvim_lsp', keyword_length = 3, max_item_count = 10 }, + { name = 'buffer', keyword_length = 5, max_item_count = 3 }, { name = 'path' }, }, formatting = { @@ -187,7 +186,7 @@ return require('packer').startup(function(use) end, }, }) - -- Load in friendly-snippets + -- Load friendly-snippets require('luasnip.loaders.from_vscode').lazy_load() -- TODO: Add own snippets --[[ require("luasnip.loaders.from_vscode").lazy_load({ @@ -228,10 +227,10 @@ return require('packer').startup(function(use) } -- git client - use { - 'TimUntersberger/neogit', - requires = 'nvim-lua/plenary.nvim', - config = function() + use { + 'TimUntersberger/neogit', + requires = 'nvim-lua/plenary.nvim', + config = function() local neogit = require('neogit') neogit.setup { signs = { @@ -239,8 +238,8 @@ return require('packer').startup(function(use) item = { "﬌", "" }, } } - end, - } + end, + } -- Automatically set up your configuration after cloning packer.nvim -- Put this at the end after all plugins diff --git a/files/sway/.config/sway/config b/files/sway/.config/sway/config index d63b36d..eda985b 100644 --- a/files/sway/.config/sway/config +++ b/files/sway/.config/sway/config @@ -97,12 +97,16 @@ input type:keyboard { set $bemenu bemenu \ -l 7 \ --nb "#282828" \ + --nf "#ffffff" \ + --ab "#282828" \ + --af "#ffffff" \ --fb "#282828" \ --tf "#93b259" \ --tb "#282828" \ --hf "#ffffff" \ --hb "#393939" \ --fn "SFMono Nerd Font 13" -i -H 25 -W 0.35 + set $files fd -I "pdf$" $HOME | cut -f 4- -d "/" set $lock_screen \ printf \