From cb52c14c06461638ac5b7b9f910ff08437b1863f Mon Sep 17 00:00:00 2001 From: meml0rz Date: Wed, 13 Nov 2024 00:29:44 +0100 Subject: [PATCH] kekl --- modules/nix/nvim/cmp.nix | 246 +++++++++++++++++---------------------- 1 file changed, 109 insertions(+), 137 deletions(-) diff --git a/modules/nix/nvim/cmp.nix b/modules/nix/nvim/cmp.nix index 6981988..ca0e8a7 100644 --- a/modules/nix/nvim/cmp.nix +++ b/modules/nix/nvim/cmp.nix @@ -1,154 +1,126 @@ _: let - get_bufnrs.__raw = '' - function() - local buf_size_limit = 1024 * 1024 -- 1MB size limit - local bufs = vim.api.nvim_list_bufs() - local valid_bufs = {} - for _, buf in ipairs(bufs) do - if vim.api.nvim_buf_is_loaded(buf) and vim.api.nvim_buf_get_offset(buf, vim.api.nvim_buf_line_count(buf)) < buf_size_limit then - table.insert(valid_bufs, buf) + get_bufnrs.__raw = '' + function() + local buf_size_limit = 1024 * 1024 -- 1MB size limit + local bufs = vim.api.nvim_list_bufs() + local valid_bufs = {} + for _, buf in ipairs(bufs) do + if vim.api.nvim_buf_is_loaded(buf) and vim.api.nvim_buf_get_offset(buf, vim.api.nvim_buf_line_count(buf)) < buf_size_limit then + table.insert(valid_bufs, buf) + end + end + return valid_bufs end - end - return valid_bufs - end - ''; + ''; in { - programs.nixvim.plugins = { - cmp = { - enable = true; - autoEnableSources = true; + programs.nixvim.plugins = { + cmp = { + enable = true; + autoEnableSources = true; - settings = { - mapping = { - "" = # Lua - "cmp.mapping.scroll_docs(-4)"; - "" = # Lua - "cmp.mapping.scroll_docs(4)"; - "" = # Lua - "cmp.mapping.complete()"; - "" = # Lua - "cmp.mapping.close()"; - "" = # Lua - "cmp.mapping(cmp.mapping.select_next_item({behavior = cmp.SelectBehavior.Select}), {'i', 's'})"; - "" = # Lua - "cmp.mapping(cmp.mapping.select_prev_item({behavior = cmp.SelectBehavior.Select}), {'i', 's'})"; - "" = # Lua - "cmp.mapping.confirm({ select = false, behavior = cmp.ConfirmBehavior.Replace })"; + settings = { + mapping = { + "" = "cmp.mapping.scroll_docs(-4)"; + "" = "cmp.mapping.scroll_docs(4)"; + "" = "cmp.mapping.complete()"; + "" = "cmp.mapping.close()"; + "" = "cmp.mapping(cmp.mapping.select_next_item({behavior = cmp.SelectBehavior.Select}), {'i', 's'})"; + "" = "cmp.mapping(cmp.mapping.select_prev_item({behavior = cmp.SelectBehavior.Select}), {'i', 's'})"; + "" = "cmp.mapping.confirm({ select = false, behavior = cmp.ConfirmBehavior.Replace })"; + }; + + preselect = "cmp.PreselectMode.None"; + + snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end"; + + sources = [ + { + name = "nvim_lsp"; + priority = 1000; + option = { + inherit get_bufnrs; + }; + } + { + name = "nvim_lsp_signature_help"; + priority = 1000; + option = { + inherit get_bufnrs; + }; + } + { + name = "nvim_lsp_document_symbol"; + priority = 1000; + option = { + inherit get_bufnrs; + }; + } + { + name = "treesitter"; + priority = 850; + option = { + inherit get_bufnrs; + }; + } + { + name = "luasnip"; + priority = 750; + } + { + name = "buffer"; + priority = 500; + option = { + inherit get_bufnrs; + }; + } + { + name = "path"; + priority = 300; + } + { + name = "cmdline"; + priority = 300; + } + { + name = "git"; + priority = 250; + } + { + name = "calc"; + priority = 150; + } + { + name = "emoji"; + priority = 100; + } + ]; }; - - preselect = # Lua - "cmp.PreselectMode.None"; - - snippet.expand = # Lua - "function(args) require('luasnip').lsp_expand(args.body) end"; - - sources = [ - { - name = "nvim_lsp"; - priority = 1000; - option = { - inherit get_bufnrs; - }; - } - { - name = "nvim_lsp_signature_help"; - priority = 1000; - option = { - inherit get_bufnrs; - }; - } - { - name = "nvim_lsp_document_symbol"; - priority = 1000; - option = { - inherit get_bufnrs; - }; - } - { - name = "treesitter"; - priority = 850; - option = { - inherit get_bufnrs; - }; - } - { - name = "luasnip"; - priority = 750; - } - { - name = "buffer"; - priority = 500; - option = { - inherit get_bufnrs; - }; - } - { - name = "copilot"; - priority = 400; - } - { - name = "rg"; - priority = 300; - } - { - name = "path"; - priority = 300; - } - { - name = "cmdline"; - priority = 300; - } - { - name = "spell"; - priority = 300; - } - { - name = "git"; - priority = 250; - } - { - name = "zsh"; - priority = 250; - } - { - name = "calc"; - priority = 150; - } - { - name = "emoji"; - priority = 100; - } - ]; - }; }; friendly-snippets.enable = true; luasnip.enable = true; lspkind = { - enable = true; - - cmp = { enable = true; - - menu = { - buffer = ""; - calc = ""; - cmdline = ""; - codeium = "󱜙"; - emoji = "󰞅"; - git = ""; - luasnip = "󰩫"; - neorg = ""; - nvim_lsp = ""; - nvim_lua = ""; - path = ""; - spell = ""; - treesitter = "󰔱"; + cmp = { + enable = true; + menu = { + buffer = ""; + calc = ""; + cmdline = ""; + codeium = "󱜙"; + emoji = "󰞅"; + git = ""; + luasnip = "󰩫"; + neorg = ""; + nvim_lsp = ""; + nvim_lua = ""; + path = ""; + spell = ""; + treesitter = "󰔱"; + }; }; - }; }; - }; }