From 17e319a4455f3135ed3cc759dee8ba5034fde75b Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Thu, 15 Aug 2024 20:28:13 +0200 Subject: update vim config --- .config/nvim/init.lua | 11 +- .config/nvim/lua/cmp-config.lua | 90 ---------- .config/nvim/lua/coc.lua | 181 --------------------- .config/nvim/lua/fs.lua | 13 ++ .config/nvim/lua/keymap.lua | 70 ++++---- .config/nvim/lua/lsp.lua | 97 ----------- .config/nvim/lua/plug.lua | 64 -------- .config/nvim/lua/pm/init.lua | 27 +++ .config/nvim/lua/pm/plugins/cargotest/load.lua | 1 + .config/nvim/lua/pm/plugins/cargotest/setup.lua | 0 .config/nvim/lua/pm/plugins/cmp-luasnip/load.lua | 1 + .config/nvim/lua/pm/plugins/cmp-luasnip/setup.lua | 0 .config/nvim/lua/pm/plugins/cmp-nvim-lsp/load.lua | 1 + .config/nvim/lua/pm/plugins/cmp-nvim-lsp/setup.lua | 0 .config/nvim/lua/pm/plugins/cmp-nvim-lua/load.lua | 1 + .config/nvim/lua/pm/plugins/cmp-nvim-lua/setup.lua | 0 .config/nvim/lua/pm/plugins/cmp-path/load.lua | 1 + .config/nvim/lua/pm/plugins/cmp-path/setup.lua | 0 .../nvim/lua/pm/plugins/friendly-snippets/load.lua | 1 + .../lua/pm/plugins/friendly-snippets/setup.lua | 0 .config/nvim/lua/pm/plugins/lspconfig/load.lua | 1 + .config/nvim/lua/pm/plugins/lspconfig/setup.lua | 84 ++++++++++ .config/nvim/lua/pm/plugins/luasnip/load.lua | 1 + .config/nvim/lua/pm/plugins/luasnip/setup.lua | 0 .config/nvim/lua/pm/plugins/nvim-cmp/load.lua | 20 +++ .config/nvim/lua/pm/plugins/nvim-cmp/setup.lua | 86 ++++++++++ .config/nvim/lua/pm/plugins/nvim-tree/load.lua | 11 ++ .config/nvim/lua/pm/plugins/nvim-tree/setup.lua | 66 ++++++++ .config/nvim/lua/pm/plugins/telescope/load.lua | 5 + .config/nvim/lua/pm/plugins/telescope/setup.lua | 0 .config/nvim/lua/pm/plugins/treesitter/load.lua | 1 + .config/nvim/lua/pm/plugins/treesitter/setup.lua | 26 +++ .config/nvim/lua/pm/plugins/yuck/load.lua | 1 + .config/nvim/lua/pm/plugins/yuck/setup.lua | 0 .config/nvim/lua/settings.lua | 37 +---- .config/nvim/lua/tree.lua | 66 -------- 36 files changed, 383 insertions(+), 581 deletions(-) delete mode 100644 .config/nvim/lua/cmp-config.lua delete mode 100644 .config/nvim/lua/coc.lua create mode 100644 .config/nvim/lua/fs.lua delete mode 100644 .config/nvim/lua/lsp.lua delete mode 100644 .config/nvim/lua/plug.lua create mode 100644 .config/nvim/lua/pm/init.lua create mode 100644 .config/nvim/lua/pm/plugins/cargotest/load.lua create mode 100644 .config/nvim/lua/pm/plugins/cargotest/setup.lua create mode 100644 .config/nvim/lua/pm/plugins/cmp-luasnip/load.lua create mode 100644 .config/nvim/lua/pm/plugins/cmp-luasnip/setup.lua create mode 100644 .config/nvim/lua/pm/plugins/cmp-nvim-lsp/load.lua create mode 100644 .config/nvim/lua/pm/plugins/cmp-nvim-lsp/setup.lua create mode 100644 .config/nvim/lua/pm/plugins/cmp-nvim-lua/load.lua create mode 100644 .config/nvim/lua/pm/plugins/cmp-nvim-lua/setup.lua create mode 100644 .config/nvim/lua/pm/plugins/cmp-path/load.lua create mode 100644 .config/nvim/lua/pm/plugins/cmp-path/setup.lua create mode 100644 .config/nvim/lua/pm/plugins/friendly-snippets/load.lua create mode 100644 .config/nvim/lua/pm/plugins/friendly-snippets/setup.lua create mode 100644 .config/nvim/lua/pm/plugins/lspconfig/load.lua create mode 100644 .config/nvim/lua/pm/plugins/lspconfig/setup.lua create mode 100644 .config/nvim/lua/pm/plugins/luasnip/load.lua create mode 100644 .config/nvim/lua/pm/plugins/luasnip/setup.lua create mode 100644 .config/nvim/lua/pm/plugins/nvim-cmp/load.lua create mode 100644 .config/nvim/lua/pm/plugins/nvim-cmp/setup.lua create mode 100644 .config/nvim/lua/pm/plugins/nvim-tree/load.lua create mode 100644 .config/nvim/lua/pm/plugins/nvim-tree/setup.lua create mode 100644 .config/nvim/lua/pm/plugins/telescope/load.lua create mode 100644 .config/nvim/lua/pm/plugins/telescope/setup.lua create mode 100644 .config/nvim/lua/pm/plugins/treesitter/load.lua create mode 100644 .config/nvim/lua/pm/plugins/treesitter/setup.lua create mode 100644 .config/nvim/lua/pm/plugins/yuck/load.lua create mode 100644 .config/nvim/lua/pm/plugins/yuck/setup.lua delete mode 100644 .config/nvim/lua/tree.lua (limited to '.config/nvim') diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index c75aed9..2931697 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -1,12 +1,3 @@ --- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ --- ┃ ┏┓╻┏━┓ ╻ ╻╻┏┳┓ ┏━╸┏━┓┏┓╻┏━╸╻┏━╸╻ ╻┏━┓┏━┓╺┳╸╻┏━┓┏┓╻ ┃ --- ┃ ┃┗┫┣━┫ ┃┏┛┃┃┃┃ ┃ ┃ ┃┃┗┫┣╸ ┃┃╺┓┃ ┃┣┳┛┣━┫ ┃ ┃┃ ┃┃┗┫ ┃ --- ┃ ╹ ╹┗━┛ ┗┛ ╹╹ ╹ ┗━╸┗━┛╹ ╹╹ ╹┗━┛┗━┛╹┗╸╹ ╹ ╹ ╹┗━┛╹ ╹ ┃ --- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ - -require('plug') +require('pm') require('keymap') require('settings') -require('lsp') -require('cmp-config') -require('tree') diff --git a/.config/nvim/lua/cmp-config.lua b/.config/nvim/lua/cmp-config.lua deleted file mode 100644 index 2bb6047..0000000 --- a/.config/nvim/lua/cmp-config.lua +++ /dev/null @@ -1,90 +0,0 @@ -local cmp = require "cmp" -require("luasnip.loaders.from_vscode").lazy_load() - -local function border(hl_name) - return { - { "╭", hl_name }, - { "─", hl_name }, - { "╮", hl_name }, - { "│", hl_name }, - { "╯", hl_name }, - { "─", hl_name }, - { "╰", hl_name }, - { "│", hl_name }, - } -end - ---if cmp_style ~= "atom" and cmp_style ~= "atom_colored" then --- options.window.completion.border = border "CmpBorder" --- end - -cmp.setup { - completion = { - completeopt = "menu,menuone", - }, - - window = { - completion = { - border = border "CmpBorder", - side_padding = 1, - winhighlight = "Normal:CmpPmenu,CursorLine:CmpSel,Search:None", - scrollbar = true, - }, - documentation = { - border = border "CmpDocBorder", - winhighlight = "Normal:CmpDoc", - }, - }, - snippet = { - expand = function(args) - require("luasnip").lsp_expand(args.body) - end, - }, - - mapping = { - [""] = cmp.mapping.select_prev_item(), - [""] = cmp.mapping.select_next_item(), - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), - [""] = cmp.mapping.close(), - - [""] = cmp.mapping.confirm { - behavior = cmp.ConfirmBehavior.Insert, - select = true, - }, - - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif require("luasnip").expand_or_jumpable() then - vim.fn.feedkeys(vim.api.nvim_replace_termcodes("luasnip-expand-or-jump", true, true, true), "") - else - fallback() - end - end, { "i", "s" }), - - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif require("luasnip").jumpable(-1) then - vim.fn.feedkeys(vim.api.nvim_replace_termcodes("luasnip-jump-prev", true, true, true), "") - else - fallback() - end - end, { "i", "s" }), - }, - sources = { - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "buffer" }, - { name = "nvim_lua" }, - { name = "path" }, - }, -} - -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 }) -end diff --git a/.config/nvim/lua/coc.lua b/.config/nvim/lua/coc.lua deleted file mode 100644 index 0620fcc..0000000 --- a/.config/nvim/lua/coc.lua +++ /dev/null @@ -1,181 +0,0 @@ --- Some servers have issues with backup files, see #649. -vim.opt.backup = false -vim.opt.writebackup = false - --- Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable --- delays and poor user experience. -vim.opt.updatetime = 300 - --- Always show the signcolumn, otherwise it would shift the text each time --- diagnostics appear/become resolved. -vim.opt.signcolumn = "yes" - -local keyset = vim.keymap.set --- Auto complete -function _G.check_back_space() - local col = vim.fn.col('.') - 1 - return col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') ~= nil -end - --- Use tab for trigger completion with characters ahead and navigate. --- NOTE: There's always complete item selected by default, you may want to enable --- no select by `"suggest.noselect": true` in your configuration file. --- NOTE: Use command ':verbose imap ' to make sure tab is not mapped by --- other plugin before putting this into your config. -local opts = {silent = true, noremap = true, expr = true, replace_keycodes = false} -keyset("i", "", 'coc#pum#visible() ? coc#pum#next(1) : v:lua.check_back_space() ? "" : coc#refresh()', opts) -keyset("i", "", [[coc#pum#visible() ? coc#pum#prev(1) : "\"]], opts) - --- Make to accept selected completion item or notify coc.nvim to format --- u breaks current undo, please make your own choice. -keyset("i", "", [[coc#pum#visible() ? coc#pum#confirm() : "\u\\=coc#on_enter()\"]], opts) - --- Use to trigger snippets -keyset("i", "", "(coc-snippets-expand-jump)") --- Use to trigger completion. -keyset("i", "", "coc#refresh()", {silent = true, expr = true}) - --- Use `[g` and `]g` to navigate diagnostics --- Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. -keyset("n", "[g", "(coc-diagnostic-prev)", {silent = true}) -keyset("n", "]g", "(coc-diagnostic-next)", {silent = true}) - --- GoTo code navigation. -keyset("n", "gd", "(coc-definition)", {silent = true}) -keyset("n", "gy", "(coc-type-definition)", {silent = true}) -keyset("n", "gi", "(coc-implementation)", {silent = true}) -keyset("n", "gr", "(coc-references)", {silent = true}) - - --- Use K to show documentation in preview window. -function _G.show_docs() - local cw = vim.fn.expand('') - if vim.fn.index({'vim', 'help'}, vim.bo.filetype) >= 0 then - vim.api.nvim_command('h ' .. cw) - elseif vim.api.nvim_eval('coc#rpc#ready()') then - vim.fn.CocActionAsync('doHover') - else - vim.api.nvim_command('!' .. vim.o.keywordprg .. ' ' .. cw) - end -end -keyset("n", "K", 'lua _G.show_docs()', {silent = true}) - - --- Highlight the symbol and its references when holding the cursor. -vim.api.nvim_create_augroup("CocGroup", {}) -vim.api.nvim_create_autocmd("CursorHold", { - group = "CocGroup", - command = "silent call CocActionAsync('highlight')", - desc = "Highlight symbol under cursor on CursorHold" -}) - - --- Symbol renaming. -keyset("n", "rn", "(coc-rename)", {silent = true}) - - --- Formatting selected code. -keyset("x", "cf", "(coc-format-selected)", {silent = true}) -keyset("n", "cf", "(coc-format-selected)", {silent = true}) - - --- Setup formatexpr specified filetype(s). -vim.api.nvim_create_autocmd("FileType", { - group = "CocGroup", - pattern = "typescript,json", - command = "setl formatexpr=CocAction('formatSelected')", - desc = "Setup formatexpr specified filetype(s)." -}) - --- Update signature help on jump placeholder. -vim.api.nvim_create_autocmd("User", { - group = "CocGroup", - pattern = "CocJumpPlaceholder", - command = "call CocActionAsync('showSignatureHelp')", - desc = "Update signature help on jump placeholder" -}) - - --- Applying codeAction to the selected region. --- Example: `aap` for current paragraph -local opts = {silent = true, nowait = true} -keyset("x", "a", "(coc-codeaction-selected)", opts) -keyset("n", "a", "(coc-codeaction-selected)", opts) - --- Remap keys for applying codeAction to the current buffer. -keyset("n", "ac", "(coc-codeaction)", opts) - - --- Apply AutoFix to problem on the current line. -keyset("n", "qf", "(coc-fix-current)", opts) - - --- Run the Code Lens action on the current line. -keyset("n", "cl", "(coc-codelens-action)", opts) - - --- Map function and class text objects --- NOTE: Requires 'textDocument.documentSymbol' support from the language server. -keyset("x", "if", "(coc-funcobj-i)", opts) -keyset("o", "if", "(coc-funcobj-i)", opts) -keyset("x", "af", "(coc-funcobj-a)", opts) -keyset("o", "af", "(coc-funcobj-a)", opts) -keyset("x", "ic", "(coc-classobj-i)", opts) -keyset("o", "ic", "(coc-classobj-i)", opts) -keyset("x", "ac", "(coc-classobj-a)", opts) -keyset("o", "ac", "(coc-classobj-a)", opts) - - --- Remap and for scroll float windows/popups. ----@diagnostic disable-next-line: redefined-local -local opts = {silent = true, nowait = true, expr = true} -keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) -keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) -keyset("i", "", - 'coc#float#has_scroll() ? "=coc#float#scroll(1)" : ""', opts) -keyset("i", "", - 'coc#float#has_scroll() ? "=coc#float#scroll(0)" : ""', opts) -keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) -keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) - - --- Use CTRL-S for selections ranges. --- Requires 'textDocument/selectionRange' support of language server. -keyset("n", "", "(coc-range-select)", {silent = true}) -keyset("x", "", "(coc-range-select)", {silent = true}) - - --- Add `:Format` command to format current buffer. -vim.api.nvim_create_user_command("Format", "call CocAction('format')", {}) - --- " Add `:Fold` command to fold current buffer. -vim.api.nvim_create_user_command("Fold", "call CocAction('fold', )", {nargs = '?'}) - --- Add `:OR` command for organize imports of the current buffer. -vim.api.nvim_create_user_command("OR", "call CocActionAsync('runCommand', 'editor.action.organizeImport')", {}) - --- Add (Neo)Vim's native statusline support. --- NOTE: Please see `:h coc-status` for integrations with external plugins that --- provide custom statusline: lightline.vim, vim-airline. -vim.opt.statusline:prepend("%{coc#status()}%{get(b:,'coc_current_function','')}") - --- Mappings for CoCList --- code actions and coc stuff ----@diagnostic disable-next-line: redefined-local -local opts = {silent = true, nowait = true} --- Show all diagnostics. -keyset("n", "a", ":CocList diagnostics", opts) --- Manage extensions. -keyset("n", "e", ":CocList extensions", opts) --- Show commands. -keyset("n", "c", ":CocList commands", opts) --- Find symbol of current document. -keyset("n", "o", ":CocList outline", opts) --- Search workspace symbols. -keyset("n", "s", ":CocList -I symbols", opts) --- Do default action for next item. -keyset("n", "j", ":CocNext", opts) --- Do default action for previous item. -keyset("n", "k", ":CocPrev", opts) --- Resume latest coc list. -keyset("n", "p", ":CocListResume", opts) diff --git a/.config/nvim/lua/fs.lua b/.config/nvim/lua/fs.lua new file mode 100644 index 0000000..2b215ef --- /dev/null +++ b/.config/nvim/lua/fs.lua @@ -0,0 +1,13 @@ +return { + iterdir = function(path) + local dir = vim.uv.fs_opendir(path) + return function() + local next = vim.uv.fs_readdir(dir) + if (next == nil) then + vim.uv.fs_closedir(dir) + return nil + end + return next[1] + end + end +} diff --git a/.config/nvim/lua/keymap.lua b/.config/nvim/lua/keymap.lua index 5b709cb..20a4906 100644 --- a/.config/nvim/lua/keymap.lua +++ b/.config/nvim/lua/keymap.lua @@ -1,48 +1,36 @@ --- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ --- ┃ ┏┓╻┏━┓ ╻ ╻╻┏┳┓ ╻┏ ┏━╸╻ ╻┏┳┓┏━┓┏━┓┏━┓ ┃ --- ┃ ┃┗┫┣━┫ ┃┏┛┃┃┃┃ ┣┻┓┣╸ ┗┳┛┃┃┃┣━┫┣━┛┗━┓ ┃ --- ┃ ╹ ╹┗━┛ ┗┛ ╹╹ ╹ ╹ ╹┗━╸ ╹ ╹ ╹╹ ╹╹ ┗━┛ ┃ --- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ - vim.g.mapleader = ',' -vim.api.nvim_set_keymap("n", "C", "c", {}) -vim.api.nvim_set_keymap("n", "n", "n", {noremap = true}) -vim.api.nvim_set_keymap("n", "sc", ":so $MYVIMRC", {noremap = true}) -vim.api.nvim_set_keymap("n", "ec", ":e $MYVIMRC", {noremap = true}) -vim.api.nvim_set_keymap("n", "tn", ":tabnew", {noremap = true}) -vim.api.nvim_set_keymap("n", "tc", ":tabclose", {noremap = true}) -vim.api.nvim_set_keymap("n", "tt", ":tabnew:terma", {noremap = true}) +vim.keymap.set('n', 'C', 'c', {}) +vim.keymap.set('n', 'sc', ':so $MYVIMRC', { noremap = true }) +vim.keymap.set('n', 'ec', ':e ~/.config/nvim/', { noremap = true }) +vim.keymap.set('n', 'tn', ':tabnew', { noremap = true }) +vim.keymap.set('n', 'tc', ':tabclose', { noremap = true }) +vim.keymap.set('n', 'tT', ':tabnew:term', { noremap = true }) +vim.keymap.set('n', 'Th', 'n:term', { noremap = true }) +vim.keymap.set('n', 'Tv', 'v:term', { noremap = true }) -vim.api.nvim_set_keymap("n", "f", ":NvimTreeToggle", {noremap = true}) -vim.api.nvim_set_keymap("n", "F", ":NvimTreeFindFileToggle", {noremap = true}) +vim.keymap.set('n', 'tf', ':NvimTreeToggle', { noremap = true }) +vim.keymap.set('n', 'tF', ':NvimTreeFindFileToggle', { noremap = true }) -vim.api.nvim_set_keymap("i", "(", "()i", {noremap = true}) -vim.api.nvim_set_keymap("i", ")", ":call brackify#putbracket(')')la", {noremap = true}) -vim.api.nvim_set_keymap("i", "[", "[]i", {noremap = true}) -vim.api.nvim_set_keymap("i", "]", ":call brackify#putbracket(']')la", {noremap = true}) -vim.api.nvim_set_keymap("i", "{", "{}i", {noremap = true}) -vim.api.nvim_set_keymap("i", "}", ":call brackify#putbracket('}')la", {noremap = true}) -vim.api.nvim_set_keymap("i", '"', ":call brackify#putquotes('\"')a", {noremap = true}) -vim.api.nvim_set_keymap("i", "'", ":call brackify#putquotes(\"'\")a", {noremap = true}) -vim.cmd('autocmd Filetype html inoremap < <>i') -vim.cmd('autocmd Filetype html inoremap > :call brackify#putbracket(">")la') -vim.cmd('autocmd FileType tex inoremap " "') -vim.cmd('autocmd FileType tex inoremap \' \'') +local builtin = require('telescope.builtin') +vim.keymap.set('n', 'f', builtin.find_files, {}) +vim.keymap.set('n', 'b', builtin.buffers, {}) +vim.keymap.set('v', '(', 's(pa)', { noremap = true }) +vim.keymap.set('v', '[', 's[pa]', { noremap = true }) +vim.keymap.set('v', '{', 's{pa}', { noremap = true }) +vim.keymap.set('v', '"', 's"pa"', { noremap = true }) +vim.keymap.set('v', "'", "s'pa'", { noremap = true }) -vim.api.nvim_set_keymap("v", "(", "s(pa)", {noremap = true}) -vim.api.nvim_set_keymap("v", "[", "s[pa]", {noremap = true}) -vim.api.nvim_set_keymap("v", "{", "s{pa}", {noremap = true}) -vim.api.nvim_set_keymap("v", '"', 's"pa"', {noremap = true}) -vim.api.nvim_set_keymap("v", "'", "s'pa'", {noremap = true}) +vim.keymap.set('i', 'a', 'ä', { noremap = true }) +vim.keymap.set('i', 'A', 'Ä', { noremap = true }) +vim.keymap.set('i', 'o', 'ö', { noremap = true }) +vim.keymap.set('i', 'O', 'Ö', { noremap = true }) +vim.keymap.set('i', 'u', 'ü', { noremap = true }) +vim.keymap.set('i', 'U', 'Ü', { noremap = true }) -vim.api.nvim_set_keymap("i", "a", "ä", {noremap = true}) -vim.api.nvim_set_keymap("i", "A", "Ä", {noremap = true}) -vim.api.nvim_set_keymap("i", "o", "ö", {noremap = true}) -vim.api.nvim_set_keymap("i", "O", "Ö", {noremap = true}) -vim.api.nvim_set_keymap("i", "u", "ü", {noremap = true}) -vim.api.nvim_set_keymap("i", "U", "Ü", {noremap = true}) +vim.keymap.set('n', 'T', ':lua require("cargotest").test_crate()', { noremap = true }) +vim.keymap.set('n', 't', ':lua require("cargotest").test_module()', { noremap = true }) +vim.keymap.set('n', 'z', 'va{zfzz', { noremap = true }) -vim.api.nvim_set_keymap("n", "T", ":lua require('cargotest').test_crate()", {noremap = true}) -vim.api.nvim_set_keymap("n", "t", ":lua require('cargotest').test_module()", {noremap = true}) -vim.api.nvim_set_keymap("n", "z", "va{zfzz", {noremap = true}) +vim.keymap.set('t', '', '', { noremap = true }) +vim.keymap.set('t', '', 'ZZ', { noremap = true }) diff --git a/.config/nvim/lua/lsp.lua b/.config/nvim/lua/lsp.lua deleted file mode 100644 index 87c00ed..0000000 --- a/.config/nvim/lua/lsp.lua +++ /dev/null @@ -1,97 +0,0 @@ --- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ --- ┃ ╻ ┏━┓┏━┓ ┏━╸┏━┓┏┓╻┏━╸╻┏━╸ ┃ --- ┃ ┃ ┗━┓┣━┛ ┃ ┃ ┃┃┗┫┣╸ ┃┃╺┓ ┃ --- ┃ ┗━╸┗━┛╹ ┗━╸┗━┛╹ ╹╹ ╹┗━┛ ┃ --- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ - -vim.diagnostic.config({ - virtual_text = { - prefix = "󰬨" - } -}) - -vim.api.nvim_create_autocmd('LspAttach', { - group = vim.api.nvim_create_augroup('UserLspConfig', {}), - callback = function(ev) - - vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc' - - local opts = { buffer = ev.buf } - vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) - vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) - vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) - vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts) - vim.keymap.set('n', '', vim.lsp.buf.signature_help, opts) - vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, opts) - vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, opts) - vim.keymap.set('n', 'wl', function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, opts) - vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, opts) - vim.keymap.set('n', 'rn', vim.lsp.buf.rename, opts) - vim.keymap.set({ 'n', 'v' }, 'ca', vim.lsp.buf.code_action, opts) - vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts) - vim.keymap.set('n', 'f', function() - vim.lsp.buf.format { async = true } - end, opts) - vim.keymap.set('n', 'd', vim.diagnostic.open_float, opts) - vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) - vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) - vim.keymap.set('n', 'q', vim.diagnostic.setloclist) - end, -}) - - -local capabilities = require("cmp_nvim_lsp").default_capabilities() - -local lspconfig = require('lspconfig') - -local servers = { 'clangd', 'rust_analyzer', 'pyright', 'tsserver' } -for _, lsp in ipairs(servers) do - lspconfig[lsp].setup { - capabilities = capabilities, - } -end - -lspconfig.lua_ls.setup { - on_init = function(client) - local path = client.workspace_folders[1].name - if not vim.loop.fs_stat(path..'/.luarc.json') and not vim.loop.fs_stat(path..'/.luarc.jsonc') then - client.config.settings = vim.tbl_deep_extend('force', client.config.settings, { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using - -- (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT' - }, - -- Make the server aware of Neovim runtime files - workspace = { - checkThirdParty = false, - library = { - vim.env.VIMRUNTIME - -- "${3rd}/luv/library" - -- "${3rd}/busted/library", - } - -- or pull in all of 'runtimepath'. NOTE: this is a lot slower - -- library = vim.api.nvim_get_runtime_file("", true) - } - } - }) - - client.notify("workspace/didChangeConfiguration", { settings = client.config.settings }) - end - return true - end -} - -vim.api.nvim_create_autocmd("InsertLeave", { - callback = function() - if - require("luasnip").session.current_nodes[vim.api.nvim_get_current_buf()] - and not require("luasnip").session.jump_active - then - require("luasnip").unlink_current() - end - end, -}) - diff --git a/.config/nvim/lua/plug.lua b/.config/nvim/lua/plug.lua deleted file mode 100644 index 91aa8be..0000000 --- a/.config/nvim/lua/plug.lua +++ /dev/null @@ -1,64 +0,0 @@ --- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ --- ┃ ┏┓╻┏━┓ ╻ ╻╻┏┳┓ ┏━┓╻ ╻ ╻┏━╸╻┏┓╻┏━┓ ┃ --- ┃ ┃┗┫┣━┫ ┃┏┛┃┃┃┃ ┣━┛┃ ┃ ┃┃╺┓┃┃┗┫┗━┓ ┃ --- ┃ ╹ ╹┗━┛ ┗┛ ╹╹ ╹ ╹ ┗━╸┗━┛┗━┛╹╹ ╹┗━┛ ┃ --- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ - - -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not vim.loop.fs_stat(lazypath) then - vim.fn.system({ - "git", - "clone", - "--filter=blob:none", - "https://github.com/folke/lazy.nvim.git", - "--branch=stable", -- latest stable release - lazypath, - }) -end -vim.opt.rtp:prepend(lazypath) - -require("lazy").setup({ - { "nvim-treesitter/nvim-treesitter" }, - { "neovim/nvim-lspconfig" }, - { "L3MON4D3/LuaSnip" }, - { "rafamadriz/friendly-snippets" }, - { "saadparwaiz1/cmp_luasnip" }, - { "hrsh7th/cmp-nvim-lua" }, - { "hrsh7th/cmp-nvim-lsp" }, - { "hrsh7th/cmp-path" }, - { - 'hrsh7th/nvim-cmp', - event = "InsertEnter", - dependencies = { - { - -- snippet plugin - "L3MON4D3/LuaSnip", - dependencies = "rafamadriz/friendly-snippets", - opts = { history = true, updateevents = "TextChanged,TextChangedI" }, - config = function(_, opts) - require("luasnip").config.set_config(opts) - end, - }, - }, - { - "saadparwaiz1/cmp_luasnip", - "hrsh7th/cmp-nvim-lua", - "hrsh7th/cmp-nvim-lsp", - "hrsh7th/cmp-path", - }, - }, - { 'cargotest.nvim', url = 'https://git.nathanreiner.xyz/cargotest.nvim' }, - { - "nvim-tree/nvim-tree.lua", - version = "*", - lazy = false, - dependencies = { - "nvim-tree/nvim-web-devicons", - }, - config = function() - require("nvim-tree").setup {} - end, - }, - { "elkowar/yuck.vim" } -}) diff --git a/.config/nvim/lua/pm/init.lua b/.config/nvim/lua/pm/init.lua new file mode 100644 index 0000000..bdc603c --- /dev/null +++ b/.config/nvim/lua/pm/init.lua @@ -0,0 +1,27 @@ +local fs = require('fs') + +local lazypath = vim.fn.stdpath('data') .. '/lazy/lazy.nvim' +if not vim.uv.fs_stat(lazypath) then + vim.fn.system({ + "git", + "clone", + "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", -- latest stable release + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +local plugins = {} + +for entry in fs.iterdir(vim.fn.stdpath('config') .. '/lua/pm/plugins/') do + local plugin = require('pm.plugins.' .. entry.name .. '.load') + table.insert(plugins, plugin) +end + +require('lazy').setup(plugins) + +for entry in fs.iterdir(vim.fn.stdpath('config') .. '/lua/pm/plugins/') do + require('pm.plugins.' .. entry.name .. '.setup') +end diff --git a/.config/nvim/lua/pm/plugins/cargotest/load.lua b/.config/nvim/lua/pm/plugins/cargotest/load.lua new file mode 100644 index 0000000..b33d268 --- /dev/null +++ b/.config/nvim/lua/pm/plugins/cargotest/load.lua @@ -0,0 +1 @@ +return { 'cargotest.nvim', url = 'https://git.nathanreiner.xyz/cargotest.nvim' } diff --git a/.config/nvim/lua/pm/plugins/cargotest/setup.lua b/.config/nvim/lua/pm/plugins/cargotest/setup.lua new file mode 100644 index 0000000..e69de29 diff --git a/.config/nvim/lua/pm/plugins/cmp-luasnip/load.lua b/.config/nvim/lua/pm/plugins/cmp-luasnip/load.lua new file mode 100644 index 0000000..ee618d8 --- /dev/null +++ b/.config/nvim/lua/pm/plugins/cmp-luasnip/load.lua @@ -0,0 +1 @@ +return { "saadparwaiz1/cmp_luasnip" } diff --git a/.config/nvim/lua/pm/plugins/cmp-luasnip/setup.lua b/.config/nvim/lua/pm/plugins/cmp-luasnip/setup.lua new file mode 100644 index 0000000..e69de29 diff --git a/.config/nvim/lua/pm/plugins/cmp-nvim-lsp/load.lua b/.config/nvim/lua/pm/plugins/cmp-nvim-lsp/load.lua new file mode 100644 index 0000000..8b66a82 --- /dev/null +++ b/.config/nvim/lua/pm/plugins/cmp-nvim-lsp/load.lua @@ -0,0 +1 @@ +return { "hrsh7th/cmp-nvim-lsp" } diff --git a/.config/nvim/lua/pm/plugins/cmp-nvim-lsp/setup.lua b/.config/nvim/lua/pm/plugins/cmp-nvim-lsp/setup.lua new file mode 100644 index 0000000..e69de29 diff --git a/.config/nvim/lua/pm/plugins/cmp-nvim-lua/load.lua b/.config/nvim/lua/pm/plugins/cmp-nvim-lua/load.lua new file mode 100644 index 0000000..9d93c20 --- /dev/null +++ b/.config/nvim/lua/pm/plugins/cmp-nvim-lua/load.lua @@ -0,0 +1 @@ +return { "hrsh7th/cmp-nvim-lua" } diff --git a/.config/nvim/lua/pm/plugins/cmp-nvim-lua/setup.lua b/.config/nvim/lua/pm/plugins/cmp-nvim-lua/setup.lua new file mode 100644 index 0000000..e69de29 diff --git a/.config/nvim/lua/pm/plugins/cmp-path/load.lua b/.config/nvim/lua/pm/plugins/cmp-path/load.lua new file mode 100644 index 0000000..b007d93 --- /dev/null +++ b/.config/nvim/lua/pm/plugins/cmp-path/load.lua @@ -0,0 +1 @@ +return { "hrsh7th/cmp-path" } diff --git a/.config/nvim/lua/pm/plugins/cmp-path/setup.lua b/.config/nvim/lua/pm/plugins/cmp-path/setup.lua new file mode 100644 index 0000000..e69de29 diff --git a/.config/nvim/lua/pm/plugins/friendly-snippets/load.lua b/.config/nvim/lua/pm/plugins/friendly-snippets/load.lua new file mode 100644 index 0000000..144e221 --- /dev/null +++ b/.config/nvim/lua/pm/plugins/friendly-snippets/load.lua @@ -0,0 +1 @@ +return { "rafamadriz/friendly-snippets" } diff --git a/.config/nvim/lua/pm/plugins/friendly-snippets/setup.lua b/.config/nvim/lua/pm/plugins/friendly-snippets/setup.lua new file mode 100644 index 0000000..e69de29 diff --git a/.config/nvim/lua/pm/plugins/lspconfig/load.lua b/.config/nvim/lua/pm/plugins/lspconfig/load.lua new file mode 100644 index 0000000..7e06214 --- /dev/null +++ b/.config/nvim/lua/pm/plugins/lspconfig/load.lua @@ -0,0 +1 @@ +return { "neovim/nvim-lspconfig" } diff --git a/.config/nvim/lua/pm/plugins/lspconfig/setup.lua b/.config/nvim/lua/pm/plugins/lspconfig/setup.lua new file mode 100644 index 0000000..2f604db --- /dev/null +++ b/.config/nvim/lua/pm/plugins/lspconfig/setup.lua @@ -0,0 +1,84 @@ +vim.diagnostic.config({ + virtual_text = { + prefix = "󰬨" + } +}) + +vim.api.nvim_create_autocmd('LspAttach', { + group = vim.api.nvim_create_augroup('UserLspConfig', {}), + callback = function(ev) + vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc' + + local opts = { buffer = ev.buf } + vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, opts) + vim.keymap.set('n', 'gd', vim.lsp.buf.definition, opts) + vim.keymap.set('n', 'K', vim.lsp.buf.hover, opts) + vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, opts) + vim.keymap.set('n', '', vim.lsp.buf.signature_help, opts) + vim.keymap.set('n', 'wa', vim.lsp.buf.add_workspace_folder, opts) + vim.keymap.set('n', 'wr', vim.lsp.buf.remove_workspace_folder, opts) + vim.keymap.set('n', 'wl', function() + print(vim.inspect(vim.lsp.buf.list_workspace_folders())) + end, opts) + vim.keymap.set('n', 'D', vim.lsp.buf.type_definition, opts) + vim.keymap.set('n', 'rn', vim.lsp.buf.rename, opts) + vim.keymap.set({ 'n', 'v' }, 'ca', vim.lsp.buf.code_action, opts) + vim.keymap.set('n', 'gr', vim.lsp.buf.references, opts) + vim.keymap.set('n', 'f', function() + vim.lsp.buf.format { async = true } + end, opts) + vim.keymap.set('n', 'd', vim.diagnostic.open_float, opts) + vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts) + vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts) + vim.keymap.set('n', 'q', vim.diagnostic.setloclist) + end, +}) + + +local capabilities = require("cmp_nvim_lsp").default_capabilities() + +local lspconfig = require('lspconfig') + +local servers = { 'clangd', 'rust_analyzer', 'pyright', 'tsserver', 'cssls' } +for _, lsp in ipairs(servers) do + lspconfig[lsp].setup { + capabilities = capabilities, + on_init = function(client) + client.offset_encoding = "utf-8" + end, + } +end + +lspconfig.lua_ls.setup { + settings = { + Lua = { + runtime = { + version = 'LuaJIT', + }, + diagnostics = { + globals = { + 'vim', + 'require' + }, + }, + workspace = { + library = vim.api.nvim_get_runtime_file("", true), + }, + telemetry = { + enable = false, + }, + }, + }, +} + + +vim.api.nvim_create_autocmd("InsertLeave", { + callback = function() + if + require("luasnip").session.current_nodes[vim.api.nvim_get_current_buf()] + and not require("luasnip").session.jump_active + then + require("luasnip").unlink_current() + end + end, +}) diff --git a/.config/nvim/lua/pm/plugins/luasnip/load.lua b/.config/nvim/lua/pm/plugins/luasnip/load.lua new file mode 100644 index 0000000..2529e38 --- /dev/null +++ b/.config/nvim/lua/pm/plugins/luasnip/load.lua @@ -0,0 +1 @@ +return { "L3MON4D3/LuaSnip" } diff --git a/.config/nvim/lua/pm/plugins/luasnip/setup.lua b/.config/nvim/lua/pm/plugins/luasnip/setup.lua new file mode 100644 index 0000000..e69de29 diff --git a/.config/nvim/lua/pm/plugins/nvim-cmp/load.lua b/.config/nvim/lua/pm/plugins/nvim-cmp/load.lua new file mode 100644 index 0000000..25509d5 --- /dev/null +++ b/.config/nvim/lua/pm/plugins/nvim-cmp/load.lua @@ -0,0 +1,20 @@ +return { + 'hrsh7th/nvim-cmp', + event = "InsertEnter", + dependencies = { + { + "L3MON4D3/LuaSnip", + dependencies = "rafamadriz/friendly-snippets", + opts = { history = true, updateevents = "TextChanged,TextChangedI" }, + config = function(_, opts) + require("luasnip").config.set_config(opts) + end, + }, + { + "saadparwaiz1/cmp_luasnip", + "hrsh7th/cmp-nvim-lua", + "hrsh7th/cmp-nvim-lsp", + "hrsh7th/cmp-path", + }, + }, +} diff --git a/.config/nvim/lua/pm/plugins/nvim-cmp/setup.lua b/.config/nvim/lua/pm/plugins/nvim-cmp/setup.lua new file mode 100644 index 0000000..c1c9644 --- /dev/null +++ b/.config/nvim/lua/pm/plugins/nvim-cmp/setup.lua @@ -0,0 +1,86 @@ +local cmp = require("cmp") +require("luasnip.loaders.from_vscode").lazy_load() + +local function border(hl_name) + return { + { "╭", hl_name }, + { "─", hl_name }, + { "╮", hl_name }, + { "│", hl_name }, + { "╯", hl_name }, + { "─", hl_name }, + { "╰", hl_name }, + { "│", hl_name }, + } +end + +cmp.setup { + completion = { + completeopt = "menu,menuone", + }, + + window = { + completion = { + border = border "CmpBorder", + side_padding = 1, + winhighlight = "Normal:CmpPmenu,CursorLine:CmpSel,Search:None", + scrollbar = true, + }, + documentation = { + border = border "CmpDocBorder", + winhighlight = "Normal:CmpDoc", + }, + }, + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end, + }, + + mapping = { + [""] = cmp.mapping.select_prev_item(), + [""] = cmp.mapping.select_next_item(), + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [""] = cmp.mapping.close(), + + [""] = cmp.mapping.confirm { + behavior = cmp.ConfirmBehavior.Insert, + select = true, + }, + + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + elseif require("luasnip").expand_or_jumpable() then + vim.fn.feedkeys(vim.api.nvim_replace_termcodes("luasnip-expand-or-jump", true, true, true), "") + else + fallback() + end + end, { "i", "s" }), + + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif require("luasnip").jumpable(-1) then + vim.fn.feedkeys(vim.api.nvim_replace_termcodes("luasnip-jump-prev", true, true, true), "") + else + fallback() + end + end, { "i", "s" }), + }, + sources = { + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "buffer" }, + { name = "nvim_lua" }, + { name = "path" }, + }, +} + +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 }) +end diff --git a/.config/nvim/lua/pm/plugins/nvim-tree/load.lua b/.config/nvim/lua/pm/plugins/nvim-tree/load.lua new file mode 100644 index 0000000..adffb8a --- /dev/null +++ b/.config/nvim/lua/pm/plugins/nvim-tree/load.lua @@ -0,0 +1,11 @@ +return { + "nvim-tree/nvim-tree.lua", + version = "*", + lazy = false, + dependencies = { + "nvim-tree/nvim-web-devicons", + }, + config = function() + require("nvim-tree").setup {} + end, +} diff --git a/.config/nvim/lua/pm/plugins/nvim-tree/setup.lua b/.config/nvim/lua/pm/plugins/nvim-tree/setup.lua new file mode 100644 index 0000000..d7d6ade --- /dev/null +++ b/.config/nvim/lua/pm/plugins/nvim-tree/setup.lua @@ -0,0 +1,66 @@ +require("nvim-tree").setup({ + sort = { + sorter = "case_sensitive", + }, + view = { + float = { + enable = true, + quit_on_focus_loss = true, + open_win_config = function() + local screen_w = vim.opt.columns:get() + local screen_h = vim.opt.lines:get() - vim.opt.cmdheight:get() + local window_w = screen_w * 0.5 + local window_h = screen_h * 0.3 + local window_w_int = math.floor(window_w) + local window_h_int = math.floor(window_h) + local center_x = (screen_w - window_w) / 2 + local center_y = ((vim.opt.lines:get() - window_h) / 2) - vim.opt.cmdheight:get() + return { + border = "rounded", + relative = "editor", + row = center_y, + col = center_x, + width = window_w_int, + height = window_h_int, + } + end, + } + }, + renderer = { + group_empty = true, + icons = { + glyphs = { + git = { + unstaged = "", + staged = "", + unmerged = "UM", + renamed = "", + deleted = "󰆴", + untracked = "", + ignored = "", + } + } + } + }, + filters = { + dotfiles = true, + }, +}) + +vim.api.nvim_create_autocmd({ 'WinEnter', 'BufWinEnter' }, { + pattern = 'NvimTree*', + callback = function() + local def = vim.api.nvim_get_hl(0, { name = 'Cursor' }) + vim.api.nvim_set_hl(0, 'Cursor', vim.tbl_extend('force', def, { blend = 100 })) + vim.opt.guicursor:append('a:Cursor/lCursor') + end, +}) + +vim.api.nvim_create_autocmd({ 'BufLeave', 'WinClosed' }, { + pattern = 'NvimTree*', + callback = function() + local def = vim.api.nvim_get_hl(0, { name = 'Cursor' }) + vim.api.nvim_set_hl(0, 'Cursor', vim.tbl_extend('force', def, { blend = 0 })) + vim.opt.guicursor = 'n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20' + end, +}) diff --git a/.config/nvim/lua/pm/plugins/telescope/load.lua b/.config/nvim/lua/pm/plugins/telescope/load.lua new file mode 100644 index 0000000..bf1514a --- /dev/null +++ b/.config/nvim/lua/pm/plugins/telescope/load.lua @@ -0,0 +1,5 @@ +return { + 'nvim-telescope/telescope.nvim', + tag = '0.1.8', + dependencies = { 'nvim-lua/plenary.nvim' } +} diff --git a/.config/nvim/lua/pm/plugins/telescope/setup.lua b/.config/nvim/lua/pm/plugins/telescope/setup.lua new file mode 100644 index 0000000..e69de29 diff --git a/.config/nvim/lua/pm/plugins/treesitter/load.lua b/.config/nvim/lua/pm/plugins/treesitter/load.lua new file mode 100644 index 0000000..c6bc242 --- /dev/null +++ b/.config/nvim/lua/pm/plugins/treesitter/load.lua @@ -0,0 +1 @@ +return { "nvim-treesitter/nvim-treesitter" } diff --git a/.config/nvim/lua/pm/plugins/treesitter/setup.lua b/.config/nvim/lua/pm/plugins/treesitter/setup.lua new file mode 100644 index 0000000..031eec9 --- /dev/null +++ b/.config/nvim/lua/pm/plugins/treesitter/setup.lua @@ -0,0 +1,26 @@ +local status_ok, configs = pcall(require, "nvim-treesitter.configs") +if not status_ok then + return +end + +configs.setup({ + ensure_installed = "all", + ignore_install = { "" }, + highlight = { + enable = true, + disable = { "css" }, + }, + auto_install = true, + sync_install = false, + modules = {}, + autopairs = { + enable = true, + }, + indent = { + enable = true, + }, +}) + +vim.filetype.add({ + pattern = { [".*/hypr/.*%.conf"] = "hyprlang" }, +}) diff --git a/.config/nvim/lua/pm/plugins/yuck/load.lua b/.config/nvim/lua/pm/plugins/yuck/load.lua new file mode 100644 index 0000000..224e173 --- /dev/null +++ b/.config/nvim/lua/pm/plugins/yuck/load.lua @@ -0,0 +1 @@ +return { "elkowar/yuck.vim" } diff --git a/.config/nvim/lua/pm/plugins/yuck/setup.lua b/.config/nvim/lua/pm/plugins/yuck/setup.lua new file mode 100644 index 0000000..e69de29 diff --git a/.config/nvim/lua/settings.lua b/.config/nvim/lua/settings.lua index ca2b1e8..f6f590d 100644 --- a/.config/nvim/lua/settings.lua +++ b/.config/nvim/lua/settings.lua @@ -1,13 +1,7 @@ --- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓ --- ┃ ┏┓╻┏━┓ ╻ ╻╻┏┳┓ ┏━┓┏━╸╺┳╸╺┳╸╻┏┓╻┏━╸┏━┓ ┃ --- ┃ ┃┗┫┣━┫ ┃┏┛┃┃┃┃ ┗━┓┣╸ ┃ ┃ ┃┃┗┫┃╺┓┗━┓ ┃ --- ┃ ╹ ╹┗━┛ ┗┛ ╹╹ ╹ ┗━┛┗━╸ ╹ ╹ ╹╹ ╹┗━┛┗━┛ ┃ --- ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛ - vim.opt.shell = '/usr/bin/zsh' vim.opt.path = "**" -vim.cmd('colorscheme n8') +vim.cmd('colorscheme knight') vim.opt.mouse = 'a' vim.opt.tabstop = 2 @@ -16,7 +10,7 @@ vim.opt.expandtab = false vim.opt.shiftwidth = 2 vim.opt.smartindent = true vim.opt.list = true; -vim.opt.listchars = { tab= '> ', eol = '¬', trail = '·', nbsp = '•'} +vim.opt.listchars = { tab = '> ', eol = '¬', trail = '·', nbsp = '•' } vim.opt.splitright = true vim.opt.splitbelow = false vim.opt.laststatus = 2 @@ -41,29 +35,8 @@ vim.g.netrw_browser_split = 2 vim.g.netrw_keepdir = true vim.g.netrw_winsize = 30 vim.cmd('autocmd Filetype netrw setlocal nolist') +vim.cmd('autocmd TermOpen * startinsert') +vim.cmd('autocmd TermOpen * setlocal nonumber') +vim.cmd('autocmd TermOpen * setlocal signcolumn=no') vim.cmd("call statusbar#refresh()") - -local status_ok, configs = pcall(require, "nvim-treesitter.configs") -if not status_ok then - return -end - -configs.setup({ - ensure_installed = "all", - ignore_install = { "" }, - highlight = { - enable = true, - disable = { "css" }, - }, - autopairs = { - enable = true, - }, - indent = { - enable = true, - }, -}) - -vim.filetype.add({ - pattern = { [".*/hypr/.*%.conf"] = "hyprlang" }, -}) diff --git a/.config/nvim/lua/tree.lua b/.config/nvim/lua/tree.lua deleted file mode 100644 index 4615e61..0000000 --- a/.config/nvim/lua/tree.lua +++ /dev/null @@ -1,66 +0,0 @@ -require("nvim-tree").setup({ - sort = { - sorter = "case_sensitive", - }, - view = { - float = { - enable = true, - quit_on_focus_loss = true, - open_win_config = function() - local screen_w = vim.opt.columns:get() - local screen_h = vim.opt.lines:get() - vim.opt.cmdheight:get() - local window_w = screen_w * 0.5 - local window_h = screen_h * 0.3 - local window_w_int = math.floor(window_w) - local window_h_int = math.floor(window_h) - local center_x = (screen_w - window_w) / 2 - local center_y = ((vim.opt.lines:get() - window_h) / 2) - vim.opt.cmdheight:get() - return { - border = "rounded", - relative = "editor", - row = center_y, - col = center_x, - width = window_w_int, - height = window_h_int, - } - end, - } - }, - renderer = { - group_empty = true, - icons = { - glyphs = { - git = { - unstaged = "", - staged = "", - unmerged = "UM", - renamed = "", - deleted = "󰆴", - untracked = "", - ignored = "", - } - } - } - }, - filters = { - dotfiles = true, - }, -}) - -vim.api.nvim_create_autocmd({ 'WinEnter', 'BufWinEnter' }, { - pattern = 'NvimTree*', - callback = function() - local def = vim.api.nvim_get_hl_by_name('Cursor', true) - vim.api.nvim_set_hl(0, 'Cursor', vim.tbl_extend('force', def, { blend = 100 })) - vim.opt.guicursor:append('a:Cursor/lCursor') - end, -}) - -vim.api.nvim_create_autocmd({ 'BufLeave', 'WinClosed' }, { - pattern = 'NvimTree*', - callback = function() - local def = vim.api.nvim_get_hl_by_name('Cursor', true) - vim.api.nvim_set_hl(0, 'Cursor', vim.tbl_extend('force', def, { blend = 0 })) - vim.opt.guicursor = 'n-v-c-sm:block,i-ci-ve:ver25,r-cr-o:hor20' - end, -}) -- cgit v1.2.3-70-g09d2