diff --git a/.cspell.json b/.cspell.json new file mode 100644 index 0000000..3a51333 --- /dev/null +++ b/.cspell.json @@ -0,0 +1,9 @@ +{ + "version": "0.2", + "dictionaryDefinitions": [ + { "addWords": true, "path": ".cspell/words.txt", "name": "words" } + ], + "language": "en", + "dictionaries": ["words"], + "ignorePaths": ["nvim/dictionary", "nvim/spell", "nvim/thesaurus", "private"] +} diff --git a/.cspell/words.txt b/.cspell/words.txt new file mode 100644 index 0000000..afb75bb --- /dev/null +++ b/.cspell/words.txt @@ -0,0 +1,215 @@ +afile +ahmedkhalf +akinsho +Astro +astro +autocmd +Autocmds +autocmds +autotag +autowrite +baleia +bdelete +Blankline +broot +bufdo +buftypes +builtins +Catppuccin +catppuccin +chafa +chdir +Cheatsheet +cheatsheet +chrisgrieser +chriskempson +christoomey +cmds +codewindow +colorschemes +committia +contranst +copyindent +crispgm +cssls +cssmodules +cursorcolumn +cursorline +cursorword +datapath +debugloop +despa +despe +devicons +dhruvasagar +dhruvmanila +diagnosticls +Diffview +diffview +elijahmanor +ellisonleao +extensionn +extention +foldcolumn +foldlevel +foldlevelstart +foldmethod +foldnestmax +folke +Frecency +frecency +gitmux +gitsigns +gitui +globalstatus +goolord +gorbit +grammarous +grepprg +Groeger +gruvbox +guibg +guifg +gvisual +habamax +hightlight +hllist +horz +hrsh +iskeyword +joshuto +jsonls +kartikp +keybinds +keymap +Keymaps +keymaps +kkharji +kspell +Kunz +Lazygit +lazygit +lazypath +lazyvim +linebreak +listchars +lmburns +lspconfig +lualine +luasnip +markdownlint +matchit +matchparen +mattn +mechatroner +monaqa +mrjones +mundo +Munif +navic +neoconf +neomutt +Neovim +neovim +netrw +noautocmd +Noctis +noctis +nofile +noice +nolist +norcalli +noremap +Nvim +nvim +Nzzzv +nzzzv +octo +oldfiles +openthesaurus +parcentage +Pmenu +preservim +prettierd +Primeagen +princejoogie +priorization +pwntester +pyright +quickfix +Quickmenu +rcarriga +relativenumber +rhysd +rktjmp +roobert +RRGGBB +rrggbb +RRGGBBAA +rstacruz +ruanyl +sepa +sepe +shadmansaleh +shellcheck +shfmt +shiftwidth +showbreak +showcmd +signcolumn +simnalamburt +simrat +sindrets +skhd +skhdrc +softtabstop +spellfile +startinsert +statusline +stdpath +stylua +sudormrfbin +sumneko +supertab +swapfile +tabdo +tabedit +tabline +tailwindcss +Tanjim +taskwarrior +textobjs +toggleterm +tohtml +tokyonight +topleft +tpope +Treesitter +treesitter +unindexed +vifm +vimgrep +Vimux +vimux +virtualedit +Visuall +wakatime +weilbith +Wildignore +wildignore +williamboman +winbar +winblend +wincmd +windwp +wuelnerdotexe +xiyaowong +xplr +xtract +yabai +yabairc +yamatsum +yamlfmt +yamlls +zbirenbaum +Zelos diff --git a/nvim/.gitignore b/nvim/.gitignore new file mode 100644 index 0000000..cc5457a --- /dev/null +++ b/nvim/.gitignore @@ -0,0 +1,8 @@ +tt.* +.tests +doc/tags +debug +.repro +foo.* +*.log +data diff --git a/nvim/.neoconf.json b/nvim/.neoconf.json new file mode 100644 index 0000000..aa1b504 --- /dev/null +++ b/nvim/.neoconf.json @@ -0,0 +1,15 @@ +{ + "neodev": { + "library": { + "enabled": true, + "plugins": true + } + }, + "neoconf": { + "plugins": { + "sumneko_lua": { + "enabled": true + } + } + } +} diff --git a/nvim/LICENSE b/nvim/LICENSE new file mode 100644 index 0000000..261eeb9 --- /dev/null +++ b/nvim/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/nvim/README.md b/nvim/README.md new file mode 100644 index 0000000..185280b --- /dev/null +++ b/nvim/README.md @@ -0,0 +1,4 @@ +# 💤 LazyVim + +A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). +Refer to the [documentation](https://lazyvim.github.io/installation) to get started. diff --git a/nvim/after/plugin/abolish.lua b/nvim/after/plugin/abolish.lua deleted file mode 100644 index 0da2b9e..0000000 --- a/nvim/after/plugin/abolish.lua +++ /dev/null @@ -1,3 +0,0 @@ --- https://github.com/tpope/vim-abolish -vim.api.nvim_command("Abolish teh the") -vim.api.nvim_command("Abolish {despa,sepe}rat{e,es,ed,ing,ely,ion,ions,or} {despe,sepa}rat{}") diff --git a/nvim/after/plugin/alpha.lua b/nvim/after/plugin/alpha.lua deleted file mode 100644 index 7e5eb4c..0000000 --- a/nvim/after/plugin/alpha.lua +++ /dev/null @@ -1,29 +0,0 @@ --- https://github.com/goolord/alpha-nvim -local alpha = require("alpha") -local dashboard = require("alpha.themes.dashboard") - -dashboard.section.header.val = { - " ▖ ", - "┌─╮╭─╮╭─╮▖ ▖▖▄▄▗▄ ", - "│ │├─┘│ │▝▖▞ ▌▌ ▌ ▌", - "╵ ╵╰─╯╰─╯ ▝ ▘▘ ▘ ▘", -} - -dashboard.section.buttons.val = { - dashboard.button("e", " New File", ":ene startinsert"), - dashboard.button("f", " Find Files", ":Telescope find_files"), - dashboard.button("p", " Find Project", ":Telescope projects"), - dashboard.button("r", " Recently Used Files", ":Telescope oldfiles"), - dashboard.button("t", " Find Text", ":Telescope grep_string"), - dashboard.button("u", " Update Plugins", ":Lazy sync"), - dashboard.button("m", " Mason (LSP, DAP, Linter, Formatter)", ":Mason"), - dashboard.button("q", " Quit Neovim", ":qa"), - dashboard.padding, -} - -dashboard.section.header.opts.hl = "String" -dashboard.section.buttons.opts.hl = "Keyword" -dashboard.section.footer.opts.hl = "String" -dashboard.opts.opts.noautocmd = true - -alpha.setup(dashboard.opts) diff --git a/nvim/after/plugin/astro.lua b/nvim/after/plugin/astro.lua deleted file mode 100644 index 492780c..0000000 --- a/nvim/after/plugin/astro.lua +++ /dev/null @@ -1,2 +0,0 @@ --- https://github.com/wuelnerdotexe/vim-astro -vim.g.astro_typescript = "enable" diff --git a/nvim/after/plugin/autopairs.lua b/nvim/after/plugin/autopairs.lua deleted file mode 100644 index e8db088..0000000 --- a/nvim/after/plugin/autopairs.lua +++ /dev/null @@ -1,26 +0,0 @@ --- https://github.com/windwp/nvim-autopairs -local cmp = require("cmp") -local cmp_autopairs = require("nvim-autopairs.completion.cmp") - -require("nvim-autopairs").setup({ - check_ts = true, - ts_config = { - lua = { "string", "source" }, - javascript = { "string", "template_string" }, - java = false, - }, - disable_filetype = { "TelescopePrompt", "spectre_panel" }, - fast_wrap = { - map = "", - chars = { "{", "[", "(", '"', "'" }, - pattern = string.gsub([[ [%'%"%)%>%]%)%}%,] ]], "%s+", ""), - offset = 0, -- Offset from pattern match - end_key = "$", - keys = "qwertzuiopyxcvbnmasdfghjkl", - check_comma = true, - highlight = "PmenuSel", - highlight_grey = "LineNr", - }, -}) - -cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done({ map_char = { tex = "" } })) diff --git a/nvim/after/plugin/autotag.lua b/nvim/after/plugin/autotag.lua deleted file mode 100644 index 5bc11fa..0000000 --- a/nvim/after/plugin/autotag.lua +++ /dev/null @@ -1,4 +0,0 @@ --- https://github.com/windwp/nvim-ts-autotag -require("nvim-ts-autotag").setup({ - disable_filetype = { "TelescopePrompt", "vim" }, -}) diff --git a/nvim/after/plugin/blamer.lua b/nvim/after/plugin/blamer.lua deleted file mode 100644 index 88b3505..0000000 --- a/nvim/after/plugin/blamer.lua +++ /dev/null @@ -1,8 +0,0 @@ --- https://github.com/APZelos/blamer.nvim -local opts = { noremap = true, silent = true } - -vim.g.blamer_enabled = 0 -vim.g.blamer_relative_time = 1 -vim.g.blamer_delay = 200 - -vim.keymap.set("n", "tb", [[BlamerToggle]], opts) diff --git a/nvim/after/plugin/bufferline.lua b/nvim/after/plugin/bufferline.lua deleted file mode 100644 index dae0860..0000000 --- a/nvim/after/plugin/bufferline.lua +++ /dev/null @@ -1,215 +0,0 @@ --- https://github.com/akinsho/bufferline.nvim -require("bufferline").setup({ - highlights = { - fill = { - bg = "None", - }, - background = { - bg = "None", - }, - tab = { - bg = "None", - }, - tab_selected = { - bg = "None", - }, - tab_close = { - bg = "None", - }, - close_button = { - bg = "None", - }, - close_button_visible = { - bg = "None", - }, - close_button_selected = { - bg = "None", - }, - buffer_visible = { - bg = "None", - }, - buffer_selected = { - bg = "None", - bold = true, - }, - numbers = { - bg = "None", - }, - numbers_visible = { - bg = "None", - }, - numbers_selected = { - bg = "None", - bold = true, - }, - diagnostic = { - bg = "None", - }, - diagnostic_visible = { - bg = "None", - }, - diagnostic_selected = { - bg = "None", - bold = true, - }, - hint = { - bg = "None", - }, - hint_visible = { - bg = "None", - }, - hint_selected = { - bg = "None", - bold = true, - }, - hint_diagnostic = { - bg = "None", - }, - hint_diagnostic_visible = { - bg = "None", - }, - hint_diagnostic_selected = { - bg = "None", - bold = true, - }, - info = { - bg = "None", - }, - info_visible = { - bg = "None", - }, - info_selected = { - bg = "None", - bold = true, - }, - info_diagnostic = { - bg = "None", - }, - info_diagnostic_visible = { - bg = "None", - }, - info_diagnostic_selected = { - bg = "None", - bold = true, - }, - warning = { - bg = "None", - }, - warning_visible = { - bg = "None", - }, - warning_selected = { - bg = "None", - bold = true, - }, - warning_diagnostic = { - bg = "None", - }, - warning_diagnostic_visible = { - bg = "None", - }, - warning_diagnostic_selected = { - bg = "None", - bold = true, - }, - error = { - bg = "None", - }, - error_visible = { - bg = "None", - }, - error_selected = { - bg = "None", - bold = true, - }, - error_diagnostic = { - bg = "None", - }, - error_diagnostic_visible = { - bg = "None", - }, - error_diagnostic_selected = { - bg = "None", - bold = true, - }, - modified = { - bg = "None", - }, - modified_visible = { - bg = "None", - }, - modified_selected = { - bg = "None", - }, - duplicate_selected = { - bg = "None", - italic = true, - }, - duplicate_visible = { - bg = "None", - italic = true, - }, - duplicate = { - bg = "None", - italic = true, - }, - separator_selected = { - bg = "None", - }, - separator_visible = { - bg = "None", - }, - separator = { - bg = "None", - }, - indicator_selected = { - bg = "None", - }, - pick_selected = { - bg = "None", - bold = true, - italic = true, - }, - pick_visible = { - bg = "None", - bold = true, - italic = true, - }, - pick = { - bg = "None", - bold = true, - italic = true, - }, - offset_separator = { - bg = "None", - }, - }, - options = { - modified_icon = "●", - left_trunc_marker = "", - right_trunc_marker = "", - close_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - right_mouse_command = "Bdelete! %d", -- can be a string | function, see "Mouse actions" - left_mouse_command = "buffer %d", -- can be a string | function, see "Mouse actions" - max_name_length = 25, - max_prefix_length = 25, - enforce_regular_tabs = false, - view = "multiwindow", - show_buffer_close_icons = true, - show_close_icon = false, - separator_style = "thin", - diagnostics = "nvim_lsp", - diagnostics_update_in_insert = false, - diagnostics_indicator = function(count, level, diagnostics_dict, context) - return "(" .. count .. ")" - end, - offsets = { - { - filetype = "NvimTree", - text = "File Explorer", - highlight = "Directory", - text_align = "left", - }, - }, - }, -}) diff --git a/nvim/after/plugin/catppuccin.lua b/nvim/after/plugin/catppuccin.lua deleted file mode 100644 index 0ee3d89..0000000 --- a/nvim/after/plugin/catppuccin.lua +++ /dev/null @@ -1,6 +0,0 @@ --- https://github.com/catppuccin/catppuccin - --- latte, frappe, macchiato, mocha -vim.g.catppuccin_flavour = "mocha" - -require("catppuccin").setup() diff --git a/nvim/after/plugin/chafa.lua b/nvim/after/plugin/chafa.lua deleted file mode 100644 index 9be8253..0000000 --- a/nvim/after/plugin/chafa.lua +++ /dev/null @@ -1,10 +0,0 @@ --- https://github.com/princejoogie/chafa.nvim -require("chafa").setup({ - render = { - min_padding = 5, - show_label = true, - }, - events = { - update_on_nvim_resize = true, - }, -}) diff --git a/nvim/after/plugin/cmp.lua b/nvim/after/plugin/cmp.lua deleted file mode 100644 index 8a18c6f..0000000 --- a/nvim/after/plugin/cmp.lua +++ /dev/null @@ -1,136 +0,0 @@ --- https://github.com/hrsh7th/nvim-cmp -local cmp = require("cmp") -local luasnip = require("luasnip") - -require("luasnip/loaders/from_vscode").lazy_load() - -local check_backspace = function() - local col = vim.fn.col(".") - 1 - return col == 0 or vim.fn.getline("."):sub(col, col):match("%s") -end - -local kind_icons = { - Text = "", - Method = "m", - Function = "", - Constructor = "", - Field = "", - Variable = "", - Class = "", - Interface = "", - Module = "", - Property = "", - Unit = "", - Value = "", - Enum = "", - Keyword = "", - Snippet = "", - Color = "", - File = "", - Reference = "", - Folder = "", - EnumMember = "", - Constant = "", - Struct = "", - Event = "", - Operator = "", - TypeParameter = "", - Octoface = "", -} - -cmp.setup({ - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) -- For `luasnip` users. - end, - }, - mapping = { - [""] = cmp.mapping.select_prev_item(), - [""] = cmp.mapping.select_next_item(), - [""] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }), - [""] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }), - [""] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }), - [""] = cmp.mapping.complete(), - [""] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `` mapping. - [""] = cmp.mapping({ - i = cmp.mapping.abort(), - c = cmp.mapping.close(), - }), - -- Accept currently selected item. If none selected, `select` first item. - -- Set `select` to `false` to only confirm explicitly selected items. - [""] = cmp.mapping.confirm({ - select = true, - }), - [""] = cmp.mapping.confirm({ - select = true, - }), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expandable() then - luasnip.expand() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - elseif check_backspace() then - fallback() - else - fallback() - end - end, { "i", "s" }), - [""] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { "i", "s" }), - }, - formatting = { - fields = { "kind", "abbr", "menu" }, - format = function(entry, vim_item) - -- Kind icons - vim_item.kind = string.format("%s", kind_icons[vim_item.kind]) - - vim_item.menu = ({ - copilot = "[C]", - nvim_lsp = "[LSP]", - luasnip = "[Snippet]", - buffer = "[Buffer]", - path = "[Path]", - spell = "[Spell]", - dictionary = "[Dictionary]", - omni = "[Omni]", - nvim_lua = "[Nvim Lua]", - npm = "[npm]", - })[entry.source.name] - return vim_item - end, - }, - sources = { - { name = "copilot" }, - { name = "nvim_lsp" }, - { name = "nvim_lsp_signature_help" }, - { name = "luasnip" }, - { name = "buffer" }, - { name = "path" }, - { name = "dictionary" }, - { name = "omni" }, - { name = "nvim_lua" }, - { name = "spell" }, - { name = "npm", keyword_length = 4 }, - }, - confirm_opts = { - behavior = cmp.ConfirmBehavior.Replace, - select = false, - }, - window = { - completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - experimental = { - ghost_text = true, - native_menu = false, - }, -}) diff --git a/nvim/after/plugin/codewindow.lua b/nvim/after/plugin/codewindow.lua deleted file mode 100644 index f870591..0000000 --- a/nvim/after/plugin/codewindow.lua +++ /dev/null @@ -1,10 +0,0 @@ --- https://github.com/gorbit99/codewindow.nvim -local codewindow = require("codewindow") - -codewindow.setup() - --- mo - open the minimap --- mc - close the minimap --- mf - focus/unfocus the minimap --- mm - toggle the minimap -codewindow.apply_default_keybinds() diff --git a/nvim/after/plugin/colorizer.lua b/nvim/after/plugin/colorizer.lua deleted file mode 100644 index a3a5c9f..0000000 --- a/nvim/after/plugin/colorizer.lua +++ /dev/null @@ -1,22 +0,0 @@ --- https://github.com/norcalli/nvim-colorizer.lua -require("colorizer").setup({ - "css", - "html", - "javascript", - "javascriptreact", - "typescript", - "typescriptreact", - "yaml", - "conf", - "lua", -}, { - RGB = true, - RRGGBB = true, - names = true, - RRGGBBAA = true, - rgb_fn = true, - hsl_fn = true, - css = true, - css_fn = true, - mode = "background", -}) diff --git a/nvim/after/plugin/comment.lua b/nvim/after/plugin/comment.lua deleted file mode 100644 index fe990b0..0000000 --- a/nvim/after/plugin/comment.lua +++ /dev/null @@ -1,18 +0,0 @@ --- https://github.com/numToStr/comment.nvim -require("Comment").setup({ - pre_hook = function(ctx) - local U = require("Comment.utils") - - local location = nil - if ctx.ctype == U.ctype.block then - location = require("ts_context_commentstring.utils").get_cursor_location() - elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then - location = require("ts_context_commentstring.utils").get_visual_start_location() - end - - return require("ts_context_commentstring.internal").calculate_commentstring({ - key = ctx.ctype == U.ctype.line and "__default" or "__multiline", - location = location, - }) - end, -}) diff --git a/nvim/after/plugin/context.lua b/nvim/after/plugin/context.lua deleted file mode 100644 index 094c1e2..0000000 --- a/nvim/after/plugin/context.lua +++ /dev/null @@ -1,15 +0,0 @@ --- https://github.com/nvim-treesitter/nvim-treesitter-context -require("treesitter-context").setup({ - patterns = { - default = { - "class", - "function", - "method", - "for", - "while", - "if", - "switch", - "case", - }, - }, -}) diff --git a/nvim/after/plugin/cursorline.lua b/nvim/after/plugin/cursorline.lua deleted file mode 100644 index e073e49..0000000 --- a/nvim/after/plugin/cursorline.lua +++ /dev/null @@ -1,13 +0,0 @@ --- https://github.com/yamatsum/nvim-cursorline -require("nvim-cursorline").setup({ - cursorline = { - enable = true, - timeout = 1000, - number = false, - }, - cursorword = { - enable = true, - min_length = 3, - hl = { underline = true }, - }, -}) diff --git a/nvim/after/plugin/dial.lua b/nvim/after/plugin/dial.lua deleted file mode 100644 index ae40105..0000000 --- a/nvim/after/plugin/dial.lua +++ /dev/null @@ -1,22 +0,0 @@ --- https://github.com/monaqa/dial.nvim -local augend = require("dial.augend") -local opts = { noremap = true, silent = true } - -require("dial.config").augends:register_group({ - default = { - augend.constant.alias.bool, - augend.constant.alias.de_weekday, - augend.constant.alias.de_weekday_full, - augend.date.alias["%d.%m.%Y"], - augend.hexcolor.new({ case = "lower" }), - augend.integer.alias.decimal_int, - augend.semver.alias.semver, - }, -}) - -vim.keymap.set("n", "", require("dial.map").inc_normal(), opts) -vim.keymap.set("n", "", require("dial.map").dec_normal(), opts) -vim.keymap.set("v", "", require("dial.map").inc_visual(), opts) -vim.keymap.set("v", "", require("dial.map").dec_visual(), opts) -vim.keymap.set("v", "g", require("dial.map").inc_gvisual(), opts) -vim.keymap.set("v", "g", require("dial.map").dec_gvisual(), opts) diff --git a/nvim/after/plugin/dressing.lua b/nvim/after/plugin/dressing.lua deleted file mode 100644 index b1672e5..0000000 --- a/nvim/after/plugin/dressing.lua +++ /dev/null @@ -1,2 +0,0 @@ --- https://github.com/stevearc/dressing.nvim -require("dressing").setup() diff --git a/nvim/after/plugin/export-to-vscode.lua b/nvim/after/plugin/export-to-vscode.lua deleted file mode 100644 index b3356da..0000000 --- a/nvim/after/plugin/export-to-vscode.lua +++ /dev/null @@ -1,4 +0,0 @@ ---- https://github.com/elijahmanor/export-to-vscode.nvim -local opts = { noremap = true, silent = true } - -vim.keymap.set("n", "code", [[lua require("export-to-vscode").launch()]], opts) diff --git a/nvim/after/plugin/fm.lua b/nvim/after/plugin/fm.lua deleted file mode 100644 index 7927e9d..0000000 --- a/nvim/after/plugin/fm.lua +++ /dev/null @@ -1,56 +0,0 @@ --- https://github.com/is0n/fm-nvim -local opts = { noremap = true, silent = true } - -vim.keymap.set("n", "", "Lazygit", opts) -vim.keymap.set("n", "", "Lf", opts) -vim.keymap.set("n", "lf", "Lf", opts) -vim.keymap.set("n", "lg", "Lazygit", opts) - -require("fm-nvim").setup({ - edit_cmd = "edit", - on_close = {}, - on_open = {}, - ui = { - default = "float", - float = { - border = "rounded", - float_hl = "Normal", - border_hl = "FloatBorder", - blend = 0, - height = 0.9, - width = 0.9, - x = 0.5, - y = 0.5, - }, - split = { - direction = "topleft", - size = 24, - }, - }, - cmds = { - lf_cmd = "lf", - fm_cmd = "fm", - nnn_cmd = "nnn", - fff_cmd = "fff", - twf_cmd = "twf", - fzf_cmd = "fzf", - fzy_cmd = "find . | fzy", - xplr_cmd = "xplr", - vifm_cmd = "vifm", - skim_cmd = "sk", - broot_cmd = "broot", - gitui_cmd = "gitui", - ranger_cmd = "ranger", - joshuto_cmd = "joshuto", - lazygit_cmd = "lazygit", - neomutt_cmd = "neomutt", - taskwarrior_cmd = "taskwarrior-tui", - }, - mappings = { - vert_split = "", - horz_split = "", - tabedit = "", - edit = "", - ESC = "", - }, -}) diff --git a/nvim/after/plugin/fzf.lua b/nvim/after/plugin/fzf.lua deleted file mode 100644 index 7db21c6..0000000 --- a/nvim/after/plugin/fzf.lua +++ /dev/null @@ -1,35 +0,0 @@ --- https://github.com/ibhagwan/fzf-lua -local opts = { noremap = true, silent = true } - -require("fzf-lua").setup({ - lsp = { - async_or_timeout = 3000, -- make lsp requests synchronous so they work with null-ls - }, -}) - -vim.keymap.set("n", "zbl", [[FzfLua blines]], opts) -vim.keymap.set("n", "zf", [[FzfLua Files]], opts) -vim.keymap.set("n", "zg", [[FzfLua Grep]], opts) -vim.keymap.set("n", "zgb", [[FzfLua git_branches]], opts) -vim.keymap.set("n", "zgc", [[FzfLua git_commits]], opts) -vim.keymap.set("n", "zgl", [[FzfLua grep_last]], opts) -vim.keymap.set("n", "zgp", [[FzfLua grep_project]], opts) -vim.keymap.set("n", "zgs", [[FzfLua git_status]], opts) -vim.keymap.set("n", "zgst", [[FzfLua git_stash]], opts) -vim.keymap.set("n", "zgv", [[FzfLua grep_visual]], opts) -vim.keymap.set("n", "zgw", [[FzfLua grep_cword]], opts) -vim.keymap.set("n", "zh", [[FzfLua oldfiles]], opts) -vim.keymap.set("n", "zl", [[FzfLua lines]], opts) -vim.keymap.set("n", "zlca", [[FzfLua code_actions]], opts) -vim.keymap.set("n", "zld", [[FzfLua lsp_definitions]], opts) -vim.keymap.set("n", "zlds", [[FzfLua lsp_document_symbols]], opts) -vim.keymap.set("n", "zlg", [[FzfLua live_grep]], opts) -vim.keymap.set("n", "zlgr", [[FzfLua live_grep_resume]], opts) -vim.keymap.set("n", "zlr", [[FzfLua lsp_references]], opts) -vim.keymap.set("n", "zltd", [[FzfLua lsp_typedef]], opts) -vim.keymap.set("n", "zlws", [[FzfLua lsp_live_workspace_symbols]], opts) -vim.keymap.set("n", "zm", [[FzfLua marks]], opts) -vim.keymap.set("n", "zqfq", [[FzfLua quickfix]], opts) -vim.keymap.set("n", "zr", [[FzfLua resume]], opts) -vim.keymap.set("n", "zss", [[FzfLua spell_suggest]], opts) -vim.keymap.set("n", "ztg", [[FzfLua tabs]], opts) diff --git a/nvim/after/plugin/git-worktree.lua b/nvim/after/plugin/git-worktree.lua deleted file mode 100644 index 1365bb5..0000000 --- a/nvim/after/plugin/git-worktree.lua +++ /dev/null @@ -1,4 +0,0 @@ --- https://github.com/ThePrimeagen/git-worktree.nvim -vim.g.git_worktree_log_level = "error" - -require("git-worktree").setup() diff --git a/nvim/after/plugin/gitsigns.lua b/nvim/after/plugin/gitsigns.lua deleted file mode 100644 index 6edf98e..0000000 --- a/nvim/after/plugin/gitsigns.lua +++ /dev/null @@ -1,44 +0,0 @@ --- https://github.com/lewis6991/gitsigns.nvim -require("gitsigns").setup({ - signs = { - add = { hl = "GitSignsAdd", text = "▎", numhl = "GitSignsAddNr", linehl = "GitSignsAddLn" }, - change = { hl = "GitSignsChange", text = "▎", numhl = "GitSignsChangeNr", linehl = "GitSignsChangeLn" }, - delete = { hl = "GitSignsDelete", text = "▎", numhl = "GitSignsDeleteNr", linehl = "GitSignsDeleteLn" }, - topdelete = { hl = "GitSignsDelete", text = "▎", numhl = "GitSignsDeleteNr", linehl = "GitSignsDeleteLn" }, - changedelete = { hl = "GitSignsChange", text = "▎", numhl = "GitSignsChangeNr", linehl = "GitSignsChangeLn" }, - }, - signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` - numhl = false, -- Toggle with `:Gitsigns toggle_numhl` - linehl = false, -- Toggle with `:Gitsigns toggle_linehl` - word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` - watch_gitdir = { - interval = 1000, - follow_files = true, - }, - attach_to_untracked = true, - current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` - current_line_blame_opts = { - virt_text = true, - virt_text_pos = "eol", -- "eol" | "overlay" | "right_align" - delay = 1000, - ignore_whitespace = false, - }, - current_line_blame_formatter_opts = { - relative_time = false, - }, - sign_priority = 6, - update_debounce = 100, - status_formatter = nil, -- Use default - max_file_length = 40000, - preview_config = { - -- Options passed to nvim_open_win - border = "single", - style = "minimal", - relative = "cursor", - row = 0, - col = 1, - }, - yadm = { - enable = false, - }, -}) diff --git a/nvim/after/plugin/glance.lua b/nvim/after/plugin/glance.lua deleted file mode 100644 index 64a19d4..0000000 --- a/nvim/after/plugin/glance.lua +++ /dev/null @@ -1,9 +0,0 @@ --- https://github.com/DNLHC/glance.nvim -local opts = { noremap = true, silent = true } - -vim.keymap.set("n", "gld", "Glance definitions", opts) -vim.keymap.set("n", "gli", "Glance implementations", opts) -vim.keymap.set("n", "glr", "Glance references", opts) -vim.keymap.set("n", "glt", "Glance type_definitions", opts) - -require("glance").setup() diff --git a/nvim/after/plugin/harpoon.lua b/nvim/after/plugin/harpoon.lua deleted file mode 100644 index 0d5c1a1..0000000 --- a/nvim/after/plugin/harpoon.lua +++ /dev/null @@ -1,12 +0,0 @@ --- https://github.com/ThePrimeagen/harpoon -local harpoon = require("harpoon") -local opts = { noremap = true, silent = true } - -vim.keymap.set("n", "a", [[lua require("harpoon.mark").add_file()]], opts) -vim.keymap.set("n", ",", [[lua require("harpoon.ui").toggle_quick_menu()]], opts) -vim.keymap.set("n", "1", [[lua require("harpoon.ui").nav_file(1)]], opts) -vim.keymap.set("n", "2", [[lua require("harpoon.ui").nav_file(2)]], opts) -vim.keymap.set("n", "3", [[lua require("harpoon.ui").nav_file(3)]], opts) -vim.keymap.set("n", "4", [[lua require("harpoon.ui").nav_file(4)]], opts) - -harpoon.setup() diff --git a/nvim/after/plugin/impatient.lua b/nvim/after/plugin/impatient.lua deleted file mode 100644 index 198e830..0000000 --- a/nvim/after/plugin/impatient.lua +++ /dev/null @@ -1,4 +0,0 @@ --- https://github.com/lewis6991/impatient.nvim -local impatient = require("impatient") - -impatient.enable_profile() diff --git a/nvim/after/plugin/indentline.lua b/nvim/after/plugin/indentline.lua deleted file mode 100644 index ece5e04..0000000 --- a/nvim/after/plugin/indentline.lua +++ /dev/null @@ -1,20 +0,0 @@ --- https://github.com/lukas-reineke/indent-blankline.nvim -local indent_blankline = require("indent_blankline") - -vim.opt.termguicolors = true - -vim.api.nvim_set_hl(0, "IndentBlanklineIndent1", { bg = "#1f1f1f", nocombine = true }) -vim.api.nvim_set_hl(0, "IndentBlanklineIndent2", { bg = "#1a1a1a", nocombine = true }) - -indent_blankline.setup({ - char = "", - char_highlight_list = { - "IndentBlanklineIndent1", - "IndentBlanklineIndent2", - }, - space_char_highlight_list = { - "IndentBlanklineIndent1", - "IndentBlanklineIndent2", - }, - show_trailing_blankline_indent = false, -}) diff --git a/nvim/after/plugin/legendary.lua b/nvim/after/plugin/legendary.lua deleted file mode 100644 index 6147d84..0000000 --- a/nvim/after/plugin/legendary.lua +++ /dev/null @@ -1,7 +0,0 @@ --- https://github.com/mrjones2014/legendary.nvim -local legendary = require("legendary") -local opts = { noremap = true, silent = true } - -vim.keymap.set("n", "LL", "Legendary", opts) - -legendary.setup({ which_key = { auto_register = true } }) diff --git a/nvim/after/plugin/lualine.lua b/nvim/after/plugin/lualine.lua deleted file mode 100644 index 693b798..0000000 --- a/nvim/after/plugin/lualine.lua +++ /dev/null @@ -1,30 +0,0 @@ --- https://github.com/nvim-lualine/lualine.nvim -require("lualine").setup({ - options = { - icons_enabled = true, - theme = "transparent", - component_separators = { left = "", right = "" }, - section_separators = { left = "", right = "" }, - disabled_filetypes = { "alpha", "dashboard", "NvimTree", "Outline " }, - always_divide_middle = true, - globalstatus = true, - }, - sections = { - lualine_a = { "mode" }, - lualine_b = { "branch", "diff", "diagnostics" }, - lualine_c = { "filename" }, - lualine_x = { "encoding", "fileformat", "filetype" }, - lualine_y = { "progress" }, - lualine_z = { "location" }, - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = { "filename" }, - lualine_x = { "location" }, - lualine_y = {}, - lualine_z = {}, - }, - tabline = {}, - extensions = {}, -}) diff --git a/nvim/after/plugin/mini.lua b/nvim/after/plugin/mini.lua deleted file mode 100644 index 0e816fc..0000000 --- a/nvim/after/plugin/mini.lua +++ /dev/null @@ -1,2 +0,0 @@ --- https://github.com/echasnovski/mini.nvim -require("mini.align").setup() diff --git a/nvim/after/plugin/neovide.lua b/nvim/after/plugin/neovide.lua deleted file mode 100644 index b34b407..0000000 --- a/nvim/after/plugin/neovide.lua +++ /dev/null @@ -1,8 +0,0 @@ --- https://github.com/neovide/neovide -if vim.fn.exists("g:neovide") then - vim.o.guifont = "FiraCode Nerd Font:h20" - - vim.g.neovide_cursor_vfx_mode = "railgun" - vim.g.neovide_floating_blur_amount_x = 2.0 - vim.g.neovide_floating_blur_amount_y = 2.0 -end diff --git a/nvim/after/plugin/nvim-tree.lua b/nvim/after/plugin/nvim-tree.lua deleted file mode 100644 index 9bf9141..0000000 --- a/nvim/after/plugin/nvim-tree.lua +++ /dev/null @@ -1,9 +0,0 @@ --- https://github.com/kyazdani42/nvim-tree.lua -vim.opt.termguicolors = true - -require("nvim-tree").setup({ - update_focused_file = { - enable = true, - update_root = true, - }, -}) diff --git a/nvim/after/plugin/octo.lua b/nvim/after/plugin/octo.lua deleted file mode 100644 index eec6a9d..0000000 --- a/nvim/after/plugin/octo.lua +++ /dev/null @@ -1,2 +0,0 @@ --- https://github.com/pwntester/octo.nvim -require("octo").setup() diff --git a/nvim/after/plugin/project.lua b/nvim/after/plugin/project.lua deleted file mode 100644 index 98fc2b7..0000000 --- a/nvim/after/plugin/project.lua +++ /dev/null @@ -1,24 +0,0 @@ --- https://github.com/ahmedkhalf/project.nvim -local opts = { noremap = true, silent = true } - -vim.keymap.set("n", "pm", [[:Telescope projects]], opts) - -require("project_nvim").setup({ - active = true, - on_config_done = nil, - manual_mode = false, - detection_methods = { - "pattern", - }, - patterns = { - ".git", - "Makefile", - ".gitignore", - "package.json", - "!node_modules", - }, - show_hidden = false, - silent_chdir = true, - ignore_lsp = {}, - datapath = vim.fn.stdpath("data"), -}) diff --git a/nvim/after/plugin/sad.lua b/nvim/after/plugin/sad.lua deleted file mode 100644 index b5c46f4..0000000 --- a/nvim/after/plugin/sad.lua +++ /dev/null @@ -1,9 +0,0 @@ --- https://github.com/ray-x/sad.nvim -require("sad").setup({ - diff = "delta", -- you can use `diff`, `diff-so-fancy` - ls_file = "fd", -- also git ls_file - exact = false, -- exact match - vsplit = true, -- split sad window the screen vertically, when set to number - height_ratio = 0.5, -- height ratio of sad window when split horizontally - width_ratio = 0.5, -- height ratio of sad window when split vertically -}) diff --git a/nvim/after/plugin/spectre.lua b/nvim/after/plugin/spectre.lua deleted file mode 100644 index 66a01b4..0000000 --- a/nvim/after/plugin/spectre.lua +++ /dev/null @@ -1,2 +0,0 @@ --- https://github.com/nvim-pack/nvim-spectre -require("spectre").setup() diff --git a/nvim/after/plugin/surround.lua b/nvim/after/plugin/surround.lua deleted file mode 100644 index 70f5df2..0000000 --- a/nvim/after/plugin/surround.lua +++ /dev/null @@ -1,2 +0,0 @@ --- https://github.com/kylechui/nvim-surround -require("nvim-surround").setup() diff --git a/nvim/after/plugin/symbols-outline.lua b/nvim/after/plugin/symbols-outline.lua deleted file mode 100644 index 287372f..0000000 --- a/nvim/after/plugin/symbols-outline.lua +++ /dev/null @@ -1,4 +0,0 @@ --- https://github.com/simrat39/symbols-outline.nvim -require("symbols-outline").setup({ - width = 25, -}) diff --git a/nvim/after/plugin/telescope.lua b/nvim/after/plugin/telescope.lua deleted file mode 100644 index 86d2df0..0000000 --- a/nvim/after/plugin/telescope.lua +++ /dev/null @@ -1,182 +0,0 @@ --- https://github.com/nvim-telescope/telescope.nvim/ -local telescope = require("telescope") -local actions = require("telescope.actions") -local opts = { noremap = true, silent = true } - -vim.keymap.set("n", "", [[Telescope find_files]], opts) -vim.keymap.set("n", "", [[Telescope find_files hidden=true]], opts) -vim.keymap.set("n", "C", [[Cheatsheet]], opts) -vim.keymap.set("n", "F", [[Telescope live_grep]], opts) -vim.keymap.set("n", "H", [[Telescope headings]], opts) -vim.keymap.set("n", "S", [[Telescope spell_suggest]], opts) -vim.keymap.set("n", "b", [[Telescope buffers]], opts) -vim.keymap.set("n", "bm", [[Telescope bookmarks]], opts) -vim.keymap.set("n", "f", [[Telescope current_buffer_fuzzy_find]], opts) -vim.keymap.set("n", "fa", [[Telescope find_files hidden=true]], opts) -vim.keymap.set("n", "fb", [[Telescope file_browser]], opts) -vim.keymap.set("n", "fd", [[Telescope dir live_grep]], opts) -vim.keymap.set("n", "ff", [[Telescope dir find_files]], opts) -vim.keymap.set("n", "gb", [[Telescope git_branches]], opts) -vim.keymap.set("n", "gs", [[Telescope git_status]], opts) -vim.keymap.set("n", "gwc", [[Telescope git_worktree create_git_worktree]], opts) -vim.keymap.set("n", "gww", [[Telescope git_worktree git_worktrees]], opts) -vim.keymap.set("n", "ht", [[Telescope help_tags]], opts) -vim.keymap.set("n", "km", [[Telescope keymaps]], opts) -vim.keymap.set("n", "m", [[Telescope marks]], opts) -vim.keymap.set("n", "mru", [[Telescope frecency]], opts) -vim.keymap.set("n", "nm", [[Telescope node_modules list]], opts) -vim.keymap.set("n", "r", [[Telescope resume]], opts) -vim.keymap.set("n", "tg", [[Telescope tags]], opts) -vim.keymap.set("n", "ty", [[Telescope symbols]], opts) -vim.keymap.set("n", "u", [[Telescope undo]], opts) - -telescope.load_extension("bookmarks") -telescope.load_extension("node_modules") -telescope.load_extension("file_browser") -telescope.load_extension("frecency") -telescope.load_extension("lsp_handlers") -telescope.load_extension("fzy_native") -telescope.load_extension("harpoon") -telescope.load_extension("projects") -telescope.load_extension("heading") -telescope.load_extension("gh") -telescope.load_extension("git_worktree") -telescope.load_extension("dir") -telescope.load_extension("undo") - -telescope.setup({ - defaults = { - prompt_prefix = " ", - selection_caret = " ", - path_display = { - "smart", - }, - file_ignore_pattern = { - "yarn.lock", - }, - mappings = { - -- INSERT Mode - i = { - [""] = actions.cycle_history_next, - [""] = actions.cycle_history_prev, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - - [""] = actions.close, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - - [""] = actions.select_default, - [""] = actions.select_horizontal, - [""] = actions.select_vertical, - [""] = actions.select_tab, - - [""] = actions.preview_scrolling_up, - [""] = actions.preview_scrolling_down, - - [""] = actions.results_scrolling_up, - [""] = actions.results_scrolling_down, - - [""] = actions.toggle_selection + actions.move_selection_worse, - [""] = actions.toggle_selection + actions.move_selection_better, - [""] = actions.send_to_qflist + actions.open_qflist, - [""] = actions.send_selected_to_qflist + actions.open_qflist, - [""] = actions.complete_tag, - [""] = actions.which_key, -- keys from pressing - }, - -- NORMAL Mode - n = { - [""] = actions.close, - [""] = actions.select_default, - [""] = actions.select_horizontal, - [""] = actions.select_vertical, - [""] = actions.select_tab, - - [""] = actions.toggle_selection + actions.move_selection_worse, - [""] = actions.toggle_selection + actions.move_selection_better, - [""] = actions.send_to_qflist + actions.open_qflist, - [""] = actions.send_selected_to_qflist + actions.open_qflist, - - ["j"] = actions.move_selection_next, - ["k"] = actions.move_selection_previous, - ["H"] = actions.move_to_top, - ["M"] = actions.move_to_middle, - ["L"] = actions.move_to_bottom, - - [""] = actions.move_selection_next, - [""] = actions.move_selection_previous, - ["gg"] = actions.move_to_top, - ["G"] = actions.move_to_bottom, - - [""] = actions.preview_scrolling_up, - [""] = actions.preview_scrolling_down, - - [""] = actions.results_scrolling_up, - [""] = actions.results_scrolling_down, - - ["?"] = actions.which_key, - }, - }, - }, - pickers = { - buffers = { - theme = "dropdown", - previewer = false, - show_all_buffers = true, - sort_lastused = true, - }, - }, - extensions = { - fzy_native = { - fuzzy = true, - override_generic_sorter = true, - override_file_sorter = true, - case_mode = "smart_case", - }, - fzf = { - fuzzy = true, - override_generic_sorter = true, - override_file_sorter = true, - case_mode = "smart_case", - }, - file_browser = { - theme = "ivy", - hijack_netrw = true, - }, - frecency = { - show_scores = false, - show_unindexed = true, - ignore_patterns = { - "*.git/*", - "*/tmp/*", - }, - disable_devicons = false, - }, - bookmarks = { - selected_browser = "brave", - url_open_command = "open", - }, - lsp_handlers = { - disable = {}, - location = { - telescope = {}, - no_results_message = "No references found", - }, - symbol = { - telescope = {}, - no_results_message = "No symbols found", - }, - call_hierarchy = { - telescope = {}, - no_results_message = "No calls found", - }, - code_action = { - telescope = require("telescope.themes").get_dropdown({}), - no_results_message = "No code actions available", - prefix = "", - }, - }, - }, -}) diff --git a/nvim/after/plugin/todo-comments.lua b/nvim/after/plugin/todo-comments.lua deleted file mode 100644 index de52ea9..0000000 --- a/nvim/after/plugin/todo-comments.lua +++ /dev/null @@ -1,2 +0,0 @@ --- https://github.com/folke/todo-comments.nvim -require("todo-comments").setup() diff --git a/nvim/after/plugin/toggleterm.lua b/nvim/after/plugin/toggleterm.lua deleted file mode 100644 index 904cbb3..0000000 --- a/nvim/after/plugin/toggleterm.lua +++ /dev/null @@ -1,74 +0,0 @@ --- https://github.com/akinsho/toggleterm.nvim -local toggleterm = require("toggleterm") -local Terminal = require("toggleterm.terminal").Terminal -local opts = { noremap = true, silent = true } - --- Keymaps -vim.keymap.set("n", "ncdu", "lua _NCDU_TOGGLE()", opts) -vim.keymap.set("n", "node", "lua _NODE_TOGGLE()", opts) -vim.keymap.set("n", "top", "lua _HTOP_TOGGLE()", opts) -vim.keymap.set("n", "y", "lua _PYTHON_TOGGLE()", opts) - -toggleterm.setup({ - size = 20, - open_mapping = [[]], - hide_numbers = true, - shade_filetypes = {}, - shade_terminals = true, - shading_factor = 2, - start_in_insert = true, - insert_mappings = true, - persist_size = true, - direction = "float", - close_on_exit = true, - shell = vim.o.shell, - float_opts = { - border = "curved", - winblend = 0, - highlights = { - border = "Normal", - background = "Normal", - }, - }, -}) - -function _G.set_terminal_keymaps() - local opts = { - noremap = true, - } - local keymap = vim.api.nvim_buf_set_keymap - - keymap(0, "t", "", [[]], opts) - keymap(0, "t", "", [[h]], opts) - keymap(0, "t", "", [[j]], opts) - keymap(0, "t", "", [[k]], opts) - keymap(0, "t", "", [[l]], opts) -end - -vim.cmd("autocmd! TermOpen term://* lua set_terminal_keymaps()") - -local tig = Terminal:new({ cmd = "tig", hidden = true }) -local node = Terminal:new({ cmd = "node", hidden = true }) -local ncdu = Terminal:new({ cmd = "ncdu", hidden = true }) -local htop = Terminal:new({ cmd = "htop", hidden = true }) -local python = Terminal:new({ cmd = "python", hidden = true }) - -function _TIG_TOGGLE() - tig:toggle() -end - -function _NODE_TOGGLE() - node:toggle() -end - -function _NCDU_TOGGLE() - ncdu:toggle() -end - -function _HTOP_TOGGLE() - htop:toggle() -end - -function _PYTHON_TOGGLE() - python:toggle() -end diff --git a/nvim/after/plugin/transparent.lua b/nvim/after/plugin/transparent.lua deleted file mode 100644 index ade27f2..0000000 --- a/nvim/after/plugin/transparent.lua +++ /dev/null @@ -1,83 +0,0 @@ --- https://github.com/xiyaowong/nvim-transparent -require("transparent").setup({ - enable = true, - extra_groups = { - "BufferLineBackground", - "BufferLineBufferSelected", - "BufferLineBufferVisible", - "BufferLineCloseButton", - "BufferLineCloseButtonSelected", - "BufferLineCloseButtonVisible", - "BufferLineDiagnostic", - "BufferLineDiagnosticSelected", - "BufferLineDiagnosticVisible", - "BufferLineDuplicate", - "BufferLineDuplicateSelected", - "BufferLineDuplicateVisible", - "BufferLineError", - "BufferLineErrorDiagnostic", - "BufferLineErrorDiagnosticSelected", - "BufferLineErrorDiagnosticVisible", - "BufferLineErrorSelected", - "BufferLineErrorVisible", - "BufferLineFill", - "BufferLineHint", - "BufferLineHintDiagnostic", - "BufferLineHintDiagnosticSelected", - "BufferLineHintDiagnosticVisible", - "BufferLineHintSelected", - "BufferLineHintVisible", - "BufferLineIndicatorSelected", - "BufferLineIndicatorSelected", - "BufferLineInfo", - "BufferLineInfoDiagnostic", - "BufferLineInfoDiagnosticSelected", - "BufferLineInfoDiagnosticVisible", - "BufferLineInfoSelected", - "BufferLineInfoVisible", - "BufferLineModfied", - "BufferLineModfiedSelected", - "BufferLineModfiedVisible", - "BufferLineNumbers", - "BufferLineNumbersSelected", - "BufferLineNumbersVisible", - "BufferLinePick", - "BufferLinePickSelected", - "BufferLinePickVisible", - "BufferLineSeparator", - "BufferLineSeparatorSelected", - "BufferLineSeparatorVisible", - "BufferLineTabClose", - "BufferLineWarning", - "BufferLineWarningDiagnostic", - "BufferLineWarningDiagnosticSelected", - "BufferLineWarningDiagnosticVisible", - "BufferLineWarningSelected", - "BufferLineWarningVisible", - "BufferlineBufferSelected", - "BufferlineInactive", - "BufferlineTab", - "BufferlineTabSelected", - "BufferlineOffsetSeparator", - "FloatBorder", - "IndentBlanklineIndent1", - "Pmenu", - "IndentBlanklineIndent2", - "NvimTreeNormal", - "TelescopeNormal", - "TabLine", - "Normal", - "TelescopeBorder", - "FoldColumn", - "CursorLine", - "CursorWord", - "WhichKey", - "WhichKeyGroup", - "WhichKeySeparator", - "WhichKeyDesc", - "WhichKeyFloat", - "WhichKeyBorder", - "WhichKeyValue", - }, - exclude = {}, -- table: groups you don't want to clear -}) diff --git a/nvim/after/plugin/treesitter.lua b/nvim/after/plugin/treesitter.lua deleted file mode 100644 index 6411393..0000000 --- a/nvim/after/plugin/treesitter.lua +++ /dev/null @@ -1,27 +0,0 @@ --- https://github.com/nvim-treesitter/nvim-treesitter/ -require("nvim-treesitter.configs").setup({ - ensure_installed = "all", - sync_install = false, - ignore_install = { "" }, -- List of parsers to ignore installing - autopairs = { - enable = true, - }, - highlight = { - enable = true, -- false will disable the whole extension - disable = { "" }, -- list of language that will be disabled - additional_vim_regex_highlighting = true, - }, - indent = { enable = true, disable = { "yaml", "css" } }, - context_commentstring = { - enable = true, - enable_autocmd = false, - }, - rainbow = { - enable = true, - extended_mode = true, -- Also highlight non-bracket delimiters like html tags, boolean or table: lang -> boolean - max_file_lines = nil, -- Do not enable for files with more than n lines, int - }, - playground = { - enable = true, - }, -}) diff --git a/nvim/after/plugin/ufo.lua b/nvim/after/plugin/ufo.lua deleted file mode 100644 index a15b586..0000000 --- a/nvim/after/plugin/ufo.lua +++ /dev/null @@ -1,12 +0,0 @@ --- https://github.com/kevinhwang91/nvim-ufo -local opts = { noremap = true, silent = true } - -vim.o.foldcolumn = "1" -vim.o.foldlevel = 99 -vim.o.foldlevelstart = 99 -vim.o.foldenable = true - -vim.keymap.set("n", "zR", require("ufo").openAllFolds, opts) -vim.keymap.set("n", "zM", require("ufo").closeAllFolds, opts) - -require("ufo").setup() diff --git a/nvim/after/plugin/various-textobjs.lua b/nvim/after/plugin/various-textobjs.lua deleted file mode 100644 index 9ab3e88..0000000 --- a/nvim/after/plugin/various-textobjs.lua +++ /dev/null @@ -1,4 +0,0 @@ --- https://github.com/chrisgrieser/nvim-various-textobjs -require("various-textobjs").setup({ - useDefaultKeymaps = true, -}) diff --git a/nvim/after/plugin/vim-gh-line.lua b/nvim/after/plugin/vim-gh-line.lua deleted file mode 100644 index c3425e0..0000000 --- a/nvim/after/plugin/vim-gh-line.lua +++ /dev/null @@ -1,2 +0,0 @@ --- https://github.com/ruanyl/vim-gh-line -vim.g.gh_github_domain = "source.xing.com" diff --git a/nvim/after/plugin/vimux.lua b/nvim/after/plugin/vimux.lua deleted file mode 100644 index 5835c3f..0000000 --- a/nvim/after/plugin/vimux.lua +++ /dev/null @@ -1,13 +0,0 @@ --- https://github.com/preservim/vimux -local opts = { noremap = true, silent = true } - -vim.g.VimuxHeight = "30" -vim.g.VimuxOrientation = "h" -vim.g.VimuxUseNearestPane = 0 - -vim.keymap.set("n", "vt", [[VimuxTogglePane]], opts) -vim.keymap.set("n", "vp", [[VimuxPromptCommand]], opts) -vim.keymap.set("n", "vl", [[VimuxRunLastCommand]], opts) -vim.keymap.set("n", "vj", [[RunJest]], opts) -vim.keymap.set("n", "vjb", [[RunJestOnBuffer]], opts) -vim.keymap.set("n", "vjf", [[RunJestFocused]], opts) diff --git a/nvim/after/plugin/whichkey.lua b/nvim/after/plugin/whichkey.lua deleted file mode 100644 index 6fa51ce..0000000 --- a/nvim/after/plugin/whichkey.lua +++ /dev/null @@ -1,240 +0,0 @@ --- https://github.com/folke/which-key.nvim -local which_key = require("which-key") - -local mappings = { - b = { "Telescope buffers", "Buffers" }, - c = { "lua vim.lsp.buf.code_action()", "Code Action" }, - d = { "TroubleToggle", "Diagnostics" }, - e = { "NvimTreeToggle", "Explorer" }, - f = { "Telescope current_buffer_fuzzy_find", "Find Files" }, - h = { "nohlsearch", "No Highlight" }, - i = { "silent !open -a iA\\ Writer.app '%:p'", "iA Writer" }, - j = { "b#", "Toggle Buffers" }, - o = { "SymbolsOutline", "Symbols Outline" }, - p = { "Telescope projects", "Projects" }, - q = { "Bdelete!", "Close Buffer" }, - s = { - "lua require('spectre').open_file_search()", - "Spectre", - }, - t = { "TodoTelescope", "Todo" }, - v = { "lua require('export-to-vscode').launch()", "Visual Studio Code" }, - w = { "w!", "Save" }, - x = { - name = "Text Editing", - c = { "call ToggleColorColumn()", "Show/Hide Colorcolumn" }, - d = { "call SpellEn()", "Set Spelling Language to English" }, - e = { "call SpellDe()", "Set Spelling Languate to German" }, - l = { "set list!", "List" }, - m = { "MarkdownPreviewToggle", "Markdown Preview" }, - s = { "set spell!", "Spell Checking" }, - w = { "call ToggleWrap()", "Soft wrap/No wrap" }, - }, - z = { "ZenMode", "Zen Mode" }, - A = { "Alpha", "Alpha" }, - B = { - name = "Bufferline", - p = { "BufferLinePick", "Pick" }, - x = { "BufferLinePickClose", "Pick to Close" }, - }, - E = { - name = "Explorer", - a = { "NvimTreeFocus", "Focus" }, - c = { "NvimTreeCollapse", "Collapse Folders" }, - f = { "NvimTreeFindFile", "Find File" }, - r = { "NvimTreeRefresh", "Refresh" }, - }, - F = { "Telescope live_grep", "Find Text" }, - G = { - name = "Git & GitHub", - b = { "BlamerToggle", "Blame Line" }, - g = { "GBInteractive", "Git Blame in GitHub" }, - h = { "GHInteractive", "Open in GitHub" }, - }, - L = { - name = "LSP, FZF & Telescope", - L = { - name = "LSP", - a = { "lua vim.lsp.buf.add_workspace_folder()", "Add Workspace" }, - c = { "lua vim.lsp.buf.code_action()", "LSP Code Action" }, - d = { "Telescope lsp_definitions", "LSP Definitions" }, - l = { "lua vim.diagnostic.setloclist", "Set Loclist" }, - r = { "Telescope lsp_references", "LSP References" }, - s = { "Telescope lsp_document_symbols", "LSP Document Symbols" }, - t = { "Telescope lsp_type_definitions", "LSP Type Definition" }, - v = { "lua vim.lsp.buf.remove_workspace_folder()", "Remove Workspace" }, - w = { "Telescope lsp_workspace_symbols", "LSP Live Workspace Symbols" }, - }, - F = { - name = "FZF", - b = { "FzfLua blines", "Bufferlines" }, - f = { "FzfLua files", "Files" }, - h = { "FzfLua oldfiles", "Open Files History" }, - i = { "FzfLua spell_suggest", "Spelling Suggestions" }, - m = { "FzfLua marks", "Marks" }, - o = { "FzfLua lines", "Open Buffer Lines" }, - q = { "FzfLua quickfix", "Quickfix" }, - r = { "FzfLua resume", "Resume last command" }, - t = { "FzfLua tabs", "Tabs" }, - g = { - name = "Git", - b = { "FzfLua git_branches", "Git Branches" }, - c = { "FzfLua git_commits", "Git Commits" }, - s = { "FzfLua git_stash", "Git Stashes" }, - t = { "FzfLua git_status", "Git Status" }, - }, - s = { - name = "Search", - s = { "FzfLua grep", "Grep Search" }, - i = { "FzfLua live_grep", "Live Grep" }, - l = { "FzfLua grep_last", "Last Grep Search" }, - r = { "FzfLua live_grep_resume", "Resume Last Search" }, - c = { "FzfLua grep_cword", "Search Word Under Cursor" }, - v = { "FzfLua grep_visual", "Search Visual Selection" }, - p = { "FzfLua grep_project", "Grep Search in Project" }, - }, - }, - T = { - name = "Telescope", - b = { "Telescope bookmarks", "Browser Bookmarks" }, - f = { - name = "Find", - s = { "Telescope find_files", "Find Files" }, - a = { "Telescope find_files hidden=true", "Find all files" }, - f = { "Telescope file_browser", "File Browser" }, - l = { "Telescope live_grep", "Live Grep" }, - }, - g = { - name = "Git", - b = { "Telescope git_branches", "Git Branches" }, - s = { "Telescope git_status", "Git Status" }, - }, - h = { "Telescope help_tags", "Help Tags" }, - k = { "Telescope keymaps", "Keymaps" }, - m = { "Telescope marks", "Marks" }, - n = { "Telescope node_modules list", "Node Modules" }, - p = { "Telescope projects", "Projects" }, - r = { "Telescope resume", "Resume last search" }, - t = { "Telescope tags", "Tags" }, - u = { "Telescope frecency", "MRU (Frequency)" }, - }, - }, - P = { "Prettier", "Format with Prettier" }, - Q = { "q!", "Quit" }, - R = { "lua vim.lsp.buf.rename()", "Rename" }, - S = { "lua require('spectre').open_visual({select_word=true})", "Spectre Current Word" }, - T = { - name = "Terminal", - f = { "ToggleTerm direction=float", "Float" }, - g = { "lua _TIG_TOGGLE()", "TIG" }, - h = { "ToggleTerm size=10 direction=horizontal", "Horizontal" }, - l = { "lua _LAZYGIT_TOGGLE()", "LazyGit" }, - n = { "lua _NODE plugin_TOGGLE()", "Node" }, - p = { "lua _PYTHON_TOGGLE()", "Python" }, - t = { "lua _HTOP_TOGGLE()", "Htop" }, - u = { "lua _NCDU_TOGGLE()", "NCDU" }, - v = { "ToggleTerm size=80 direction=vertical", "Vertical" }, - }, - V = { - name = "Vimux", - p = { "VimuxPromptCommand", "Run Prompt Command" }, - l = { "VimuxRunLastCommand", "Run Last Command" }, - t = { "VimuxTogglePane", "Toggle Pane" }, - j = { "RunJest", "Run Jest" }, - b = { "RunJestOnBuffer", "Run Jest on Buffer" }, - f = { "RunJestFocused", "Run Jest on Focused" }, - }, - W = { "wa!", "Save All" }, -} - -local setup = { - plugins = { - marks = true, -- shows a list of your marks on ' and ` - registers = true, -- shows your registers on " in NORMAL or in INSERT mode - spelling = { - enabled = true, -- enabling this will show WhichKey when pressing z= to select spelling suggestions - suggestions = 20, -- how many suggestions should be shown in the list? - }, - -- the presets plugin, adds help for a bunch of default keybindings in Neovim - -- No actual key bindings are created - presets = { - operators = true, -- adds help for operators like d, y, ... and registers them for motion / text object completion - motions = true, -- adds help for motions - text_objects = true, -- help for text objects triggered after entering an operator - windows = true, -- default bindings on - nav = true, -- misc bindings to work with windows - z = true, -- bindings for folds, spelling and others prefixed with z - g = true, -- bindings for prefixed with g - }, - }, - -- add operators that will trigger motion and text object completion - -- to enable all native operators, set the preset / operators plugin above - -- operators = { gc = "Comments" }, - key_labels = { - -- override the label used to display some keys. It doesn’t effect WK in any other way. - -- For example: - -- [""] = "SPC", - -- [""] = "RET", - -- [""] = "TAB", - }, - icons = { - breadcrumb = "»", -- symbol used in the command line area that shows your active key combo - separator = "➜", -- symbol used between a key and it’s label - group = "+", -- symbol prepended to a group - }, - popup_mappings = { - scroll_down = "", -- binding to scroll down inside the popup - scroll_up = "", -- binding to scroll up inside the popup - }, - window = { - border = "rounded", -- none, single, double, shadow - position = "bottom", -- bottom, top - margin = { 1, 0, 1, 0 }, -- extra window margin [top, right, bottom, left] - padding = { 2, 2, 2, 2 }, -- extra window padding [top, right, bottom, left] - winblend = 0, - }, - layout = { - height = { min = 4, max = 25 }, -- min and max height of the columns - width = { min = 20, max = 50 }, -- min and max width of the columns - spacing = 3, -- spacing between columns - align = "left", -- align columns left, center or right - }, - ignore_missing = true, -- enable this to hide mappings for which you didn’t specify a label - hidden = { "", "", "", "", "call", "lua", "^:", "^ " }, -- hide mapping boilerplate - show_help = true, -- show help message on the command line when the popup is visible - triggers = "auto", -- automatically setup triggers - -- triggers = {""} -- or specify a list manually - triggers_blacklist = { - -- list of mode / prefixes that should never be hooked by WhichKey - -- this is mostly relevant for key maps that start with a native binding - -- most people should not need to change this - i = { "j", "k" }, - v = { "j", "k" }, - }, -} - -local opts = { - mode = "n", -- NORMAL mode - prefix = "", - buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings - silent = true, -- use `silent` when creating keymaps - noremap = true, -- use `noremap` when creating keymaps - nowait = true, -- use `nowait` when creating keymaps -} - -local vopts = { - mode = "v", -- VISUAL mode - prefix = "", - buffer = nil, -- Global mappings. Specify a buffer number for buffer local mappings - silent = true, -- use `silent` when creating keymaps - noremap = true, -- use `noremap` when creating keymaps - nowait = true, -- use `nowait` when creating keymaps -} - -local vmappings = { - ["/"] = { 'lua require("Comment.api").toggle_linewise_op(vim.fn.visualmode())', "Comment" }, -} - -which_key.setup(setup) -which_key.register(mappings, opts) -which_key.register(vmappings, vopts) diff --git a/nvim/after/plugin/zen-mode.lua b/nvim/after/plugin/zen-mode.lua deleted file mode 100644 index 6affe4f..0000000 --- a/nvim/after/plugin/zen-mode.lua +++ /dev/null @@ -1,37 +0,0 @@ --- https://github.com/folke/zen-mode.nvim -require("zen-mode").setup({ - window = { - backdrop = 0.98, - width = 80, - height = 0.85, - options = { - signcolumn = "no", -- disable signcolumn - number = false, -- disable number column - relativenumber = false, -- disable relative numbers - cursorline = false, -- disable cursorline - cursorcolumn = false, -- disable cursor column - foldcolumn = "0", -- disable fold column - list = false, -- disable whitespace characters - }, - }, - plugins = { - options = { - enabled = true, - ruler = true, -- disables the ruler text in the cmd line area - showcmd = false, -- disables the command in the last line of the screen - }, - twilight = { enabled = true }, -- enable to start Twilight when zen mode opens - gitsigns = { enabled = false }, -- disables git signs - tmux = { enabled = false }, -- disables the tmux statusline - kitty = { - enabled = true, - font = "+2", -- font size increment - }, - }, - on_open = function() - vim.cmd([[:IndentBlanklineDisable]]) - end, - on_close = function() - vim.cmd([[:IndentBlanklineEnable]]) - end, -}) diff --git a/nvim/init.lua b/nvim/init.lua index e7892e8..27e909a 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -1,9 +1,5 @@ -require("kogakure.options") -require("kogakure.keymaps") -require("kogakure.functions") -require("kogakure.autocommands") -require("kogakure.plugins") -require("kogakure.lsp") -require("kogakure.colorscheme") +-- bootstrap lazy.nvim, LazyVim and your plugins +require("config.lazy") -require("kogakure/text-objects").basic_text_objects() +-- Custom Highlight +vim.api.nvim_set_hl(0, "WinSeparator", { fg = "#1F2334" }) diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index 71fe972..77143bd 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -1,142 +1,115 @@ { - "Comment.nvim": { "branch": "master", "commit": "eab2c83a0207369900e92783f56990808082eac2" }, - "FixCursorHold.nvim": { "branch": "master", "commit": "70a9516a64668cbfe59f31b66d0a21678c5e9b12" }, - "LuaSnip": { "branch": "master", "commit": "500981ff6cefc7343e3959ef0f939bd0bfd49ba9" }, - "VisIncr": { "branch": "master", "commit": "13e8538cf332fd131ebb60422b4a01d69078794b" }, - "alpha-nvim": { "branch": "main", "commit": "21a0f2520ad3a7c32c0822f943368dc063a569fb" }, + "LazyVim": { "branch": "main", "commit": "24cb9a90e529279dd4da84e7262a6c434e733b72" }, + "LuaSnip": { "branch": "master", "commit": "9bff06b570df29434a88f9c6a9cea3b21ca17208" }, + "SchemaStore.nvim": { "branch": "main", "commit": "b37874a63ceac681a15b83d5c8e67f58fe571341" }, + "alpha-nvim": { "branch": "main", "commit": "0349fc0aa0c1d940ec3be395cb110483b416bc84" }, "baleia.nvim": { "branch": "main", "commit": "8ba437c2da2c917529e1c3952412a2780cecf6c6" }, "base16-vim": { "branch": "master", "commit": "3be3cd82cd31acfcab9a41bad853d9c68d30478d" }, "blamer.nvim": { "branch": "master", "commit": "f4eb22a9013642c411725fdda945ae45f8d93181" }, "bufferline.nvim": { "branch": "main", "commit": "c7492a76ce8218e3335f027af44930576b561013" }, - "catppuccin": { "branch": "main", "commit": "8769e767f12f5bf0b7d1250ee067088e7054809a" }, + "catppuccin": { "branch": "main", "commit": "c5ed88194ae1d581d3083725a0dc7c90dd3446be" }, "chafa.nvim": { "branch": "main", "commit": "792c8f4f0e86b5e27c3602be4614f886f3a12a5a" }, - "cheat.sh-vim": { "branch": "master", "commit": "e0fe468d872025477462ac5d96432f5c1aee3a0d" }, "cheatsheet.nvim": { "branch": "master", "commit": "9716f9aaa94dd1fd6ce59b5aae0e5f25e2a463ef" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-cmdline": { "branch": "main", "commit": "23c51b2a3c00f6abc4e922dbd7c3b9aca6992063" }, - "cmp-copilot": { "branch": "main", "commit": "1f3f31c54bd71e41ed157430702bc2837ea582ab" }, - "cmp-dictionary": { "branch": "main", "commit": "8b5acfbc79eea0bfe2c08ffeb8f137f13449ab56" }, "cmp-npm": { "branch": "main", "commit": "4b6166c3feeaf8dae162e33ee319dc5880e44a29" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "59224771f91b86d1de12570b4070fe4ad7cd1eeb" }, - "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "3d8912ebeb56e5ae08ef0906e3a54de1c66b92f1" }, - "cmp-nvim-lua": { "branch": "main", "commit": "f3491638d123cfd2c8048aefaf66d246ff250ca6" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "0e6b2ed705ddcff9738ec4ea838141654f12eeef" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "cmp-spell": { "branch": "master", "commit": "60584cb75e5e8bba5a0c9e4c3ab0791e0698bffa" }, "cmp_luasnip": { "branch": "master", "commit": "18095520391186d634a0045dacaa346291096566" }, - "codeium.vim": { "branch": "main", "commit": "60f2bef098299ede079638eaad645faf87737a3a" }, "codewindow.nvim": { "branch": "master", "commit": "94d84e1a15b94248f205b854e70cb95f0b615b38" }, - "copilot.vim": { "branch": "release", "commit": "c7d166ebda265370f38cec374e33f02eeec2f857" }, - "diagnosticls-configs-nvim": { "branch": "main", "commit": "c1c243cf8b98d0dd2d57f55f35c84adfc7509005" }, + "committia.vim": { "branch": "master", "commit": "0b4df1a7f48ffbc23b009bd14d58ee1be541917c" }, + "copilot-cmp": { "branch": "master", "commit": "b732a58ac8b7287b981cd9f0d9c0f61e5e9d5760" }, + "copilot.lua": { "branch": "master", "commit": "a54e7b11a2c6efc9ddd3f42e56cf7d9eed1a9683" }, "dial.nvim": { "branch": "master", "commit": "5020da900cc5dfd7067f181ee2ebd872ca7c84e8" }, - "dir-telescope.nvim": { "branch": "main", "commit": "4189a781397a973496b14a9db26b80b7fd764cbc" }, - "dressing.nvim": { "branch": "master", "commit": "4436d6f41e2f6b8ada57588acd1a9f8b3d21453c" }, - "editorconfig-vim": { "branch": "master", "commit": "ee6e91ca09d59043d365bd96a32e989bd75abe84" }, + "diffview.nvim": { "branch": "main", "commit": "11827d46e939b4748dbdb7e0df4982a63bd59d26" }, + "dressing.nvim": { "branch": "master", "commit": "db716a0f1279f79a886c0e0b6ab3c3d5ffdb42fe" }, + "editorconfig-vim": { "branch": "master", "commit": "1d54632f7fcad38df8e428f349bc58b15af4b206" }, "emmet-vim": { "branch": "master", "commit": "def5d57a1ae5afb1b96ebe83c4652d1c03640f4d" }, "export-to-vscode.nvim": { "branch": "main", "commit": "7746bb67d03f6a6891cdedc8c760c95a5714fe8c" }, - "file-line": { "branch": "main", "commit": "559088afaf10124ea663ee0f4f73b1de48fb1632" }, + "flit.nvim": { "branch": "main", "commit": "be110f9814a45788d10537fd59b3c76d956bb7ad" }, "fm-nvim": { "branch": "master", "commit": "8e6a77049330e7c797eb9e63affd75eb796fe75e" }, - "friendly-snippets": { "branch": "main", "commit": "a6f7a1609addb4e57daa6bedc300f77f8d225ab7" }, - "fzf": { "branch": "master", "commit": "f7447aece12f9b95133b803d5c4f71815bee8ca6" }, - "fzf-lua": { "branch": "main", "commit": "5ad5771eb77d233ec7a4352240d2780dde8034d1" }, - "git-worktree.nvim": { "branch": "master", "commit": "d7f4e2584e81670154f07ca9fa5dd791d9c1b458" }, - "gitsigns.nvim": { "branch": "main", "commit": "ec4742a7eebf68bec663041d359b95637242b5c3" }, - "glance.nvim": { "branch": "master", "commit": "3b7fbbe4e785bedbdaa1a9573dcd800261a7e32b" }, - "guihua.lua": { "branch": "master", "commit": "da889f7da0185471c67429f258dab366bf081688" }, + "friendly-snippets": { "branch": "main", "commit": "80597f3ea824946c87fd29f82b5ed4f24ef473f3" }, + "gitsigns.nvim": { "branch": "main", "commit": "f29f0b22fd66c910b892aae3bc18a4872c002738" }, "harpoon": { "branch": "master", "commit": "8c0bb0a328e57278f4783bb0e2ea32f296d36db1" }, - "impatient.nvim": { "branch": "main", "commit": "c90e273f7b8c50a02f956c24ce4804a47f18162e" }, "indent-blankline.nvim": { "branch": "master", "commit": "8299fe7703dfff4b1752aeed271c3b95281a952d" }, - "jupyter_ascending.vim": { "branch": "master", "commit": "8b0f533fbf7f48d12feddedc10b78c53afa41bc2" }, - "lazy.nvim": { "branch": "main", "commit": "3d2dcb2d5ef99106c5ff412da88c6f59a9f8a693" }, + "lazy.nvim": { "branch": "main", "commit": "d13fe9353594bce58a5b9fc6d7166d183e0fc035" }, + "leap.nvim": { "branch": "main", "commit": "35eb6b9518392e0ed83214c3b4a08f59929b0716" }, "legendary.nvim": { "branch": "master", "commit": "3008ed68c8f309ced07587684c8af53884791d35" }, + "lf.nvim": { "branch": "master", "commit": "383429497292dd8a84271e74a81c6db6993ca7ab" }, "lualine.nvim": { "branch": "master", "commit": "0050b308552e45f7128f399886c86afefc3eb988" }, "lush.nvim": { "branch": "main", "commit": "b1e8eb1da3fee95ef31515a73c9eff9bf251088d" }, - "markdown-preview.nvim": { "branch": "master", "commit": "02cc3874738bc0f86e4b91f09b8a0ac88aef8e96" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "53f3a8bdcb77d4a95b082fd57e12173f353c6c3e" }, - "mason-null-ls.nvim": { "branch": "main", "commit": "13c6ab4a4f810cbbb1799a9cf4d4a27fd862d885" }, - "mason.nvim": { "branch": "main", "commit": "dc48faeeb6fcd5834fd3f7a78d5e760f30ef6b00" }, - "mini.nvim": { "branch": "main", "commit": "8e007cf3ae8db59bd926a9fbaf7f0d25a7fe67ca" }, - "nlsp-settings.nvim": { "branch": "main", "commit": "5541d073b93a404445907e0aec3ebd9cf8914e53" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "7a97a77eee486ae152d2c559a459eda7c8aa12aa" }, + "mason.nvim": { "branch": "main", "commit": "14ae1ca58440b158a0a35cf90773013caddf788a" }, + "mini.ai": { "branch": "main", "commit": "2188cb1be3e9133fb1fe52374705b94630492401" }, + "mini.animate": { "branch": "main", "commit": "54002f54e2bb61f4834bd5442a19ddc4fa2e4ac0" }, + "mini.bufremove": { "branch": "main", "commit": "5823104665ec3394c379c7cee790bd7b4798a94b" }, + "mini.comment": { "branch": "main", "commit": "de539cac52a8df702758c6a026b63323130be596" }, + "mini.indentscope": { "branch": "main", "commit": "cbabbf3be4a59c7f23725b74ed15e0fba951e328" }, + "mini.pairs": { "branch": "main", "commit": "50f07af5e47a67e74ec1a9b25bfb2eec93783d44" }, + "mini.surround": { "branch": "main", "commit": "4613a60d87fa2d5b718be44283387cfc0446051f" }, + "neo-tree.nvim": { "branch": "v2.x", "commit": "8238865e1d9c61f1a260c290653f2c419503e0a9" }, + "neoconf.nvim": { "branch": "main", "commit": "f67013cf18d9db5cc6c3ce2d5a4051bad75fe628" }, + "neodev.nvim": { "branch": "main", "commit": "bb70e41640238b989bb6c2f94802851ff260f68d" }, "noctis.nvim": { "branch": "main", "commit": "0b9336e39c686a7e58de06e4dd38c2bd862a7b33" }, - "null-ls.nvim": { "branch": "main", "commit": "8f5d730021497233c39d3adbf4b8043d4be163f8" }, - "nvim-autopairs": { "branch": "master", "commit": "5a3523ddb573804752de6c021c5cb82e267b79ca" }, - "nvim-bqf": { "branch": "main", "commit": "da1cd2557a16386829a213330e0fd46b61db7632" }, - "nvim-cmp": { "branch": "main", "commit": "e7e2ef7031db8e0cfad7ad9916ec766ddd9dbb3b" }, + "noice.nvim": { "branch": "main", "commit": "d8a1f3056ad713b5d471048f8d029264828e22c0" }, + "nui.nvim": { "branch": "main", "commit": "d147222a1300901656f3ebd5b95f91732785a329" }, + "null-ls.nvim": { "branch": "main", "commit": "60b4a7167c79c7d04d1ff48b55f2235bf58158a7" }, + "nvim-cmp": { "branch": "main", "commit": "cfafe0a1ca8933f7b7968a287d39904156f2c57d" }, + "nvim-code-action-menu": { "branch": "main", "commit": "e4399dbaf6eabff998d3d5f1cbcd8d9933710027" }, "nvim-colorizer.lua": { "branch": "master", "commit": "36c610a9717cc9ec426a07c8e6bf3b3abcb139d6" }, "nvim-cursorline": { "branch": "main", "commit": "804f0023692653b2b2368462d67d2a87056947f9" }, - "nvim-dap": { "branch": "master", "commit": "0e376f00e7fac143e29e1017d2ac2cc3df13d185" }, - "nvim-lightbulb": { "branch": "master", "commit": "56b9ce31ec9d09d560fe8787c0920f76bc208297" }, - "nvim-lspconfig": { "branch": "master", "commit": "902d6aa31450d26e11bedcbef8af5b6fe2e1ffe8" }, - "nvim-navic": { "branch": "master", "commit": "11e08391eeed00effa85ca24ff9d1e0472cbcd6a" }, - "nvim-spectre": { "branch": "master", "commit": "24275beae382e6bd0180b3064cf5729548641a02" }, - "nvim-surround": { "branch": "main", "commit": "ad56e6234bf42fb7f7e4dccc7752e25abd5ec80e" }, + "nvim-lspconfig": { "branch": "master", "commit": "b5bb6e3d7c775c241726d1ef564902263e93e2cd" }, + "nvim-navic": { "branch": "master", "commit": "7e9d2b2b601149fecdccd11b516acb721e571fe6" }, + "nvim-notify": { "branch": "master", "commit": "bdd647f61a05c9b8a57c83b78341a0690e9c29d7" }, + "nvim-spectre": { "branch": "master", "commit": "1d8b7a40677fd87da7648d246c4675c3612a7582" }, "nvim-transparent": { "branch": "main", "commit": "6816751e3d595b3209aa475a83b6fbaa3a5ccc98" }, - "nvim-tree.lua": { "branch": "master", "commit": "215b29bfad74518442621b9d0483a621483b066b" }, - "nvim-treesitter": { "branch": "master", "commit": "588cdb6c0652356dacc7d29bb4bb2b273df2df86" }, - "nvim-treesitter-context": { "branch": "master", "commit": "cacee4828152dd3a83736169ae61bbcd29a3d213" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "249d90a84df63f3ffff65fcc06a45d58415672de" }, + "nvim-treesitter": { "branch": "master", "commit": "f6df07be122de665fb363476cc3680c90f5bdf05" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "420cbfea10b93d6b38c72c5a6c8f9fee3dca80c9" }, "nvim-ts-autotag": { "branch": "main", "commit": "fdefe46c6807441460f11f11a167a2baf8e4534b" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "a0f89563ba36b3bacd62cf967b46beb4c2c29e52" }, - "nvim-ts-rainbow": { "branch": "master", "commit": "ef95c15a935f97c65a80e48e12fe72d49aacf9b9" }, - "nvim-ufo": { "branch": "main", "commit": "b70c9ef0f8e2673a11387a39185ff249e00df19f" }, - "nvim-various-textobjs": { "branch": "main", "commit": "a5c8ca4d274fc1b159e3340c2b187da6e8ca28c9" }, - "nvim-web-devicons": { "branch": "master", "commit": "3548363849878ef895ce54edda02421279b419d8" }, + "nvim-various-textobjs": { "branch": "main", "commit": "521a9845a7ab241ce919068138d31253418d2dae" }, + "nvim-web-devicons": { "branch": "master", "commit": "ade34ca7d19543904b28b903e606be8930fb9ee3" }, "octo.nvim": { "branch": "master", "commit": "7900dc0cd37e7bb5d4175a37c9c4c3dfb94a1f7b" }, + "persistence.nvim": { "branch": "main", "commit": "d8a3eda0e19b4d5f3180fc832c25baab1709f2a1" }, "playground": { "branch": "master", "commit": "c481c660fa903a0e295902b1765ecfbd6e76a556" }, "plenary.nvim": { "branch": "master", "commit": "9a0d3bf7b832818c042aaf30f692b081ddd58bd9" }, "popup.nvim": { "branch": "master", "commit": "b7404d35d5d3548a82149238289fa71f7f6de4ac" }, "prettier.nvim": { "branch": "main", "commit": "918b99f5ddd7a56395fd393767ab6a3c15a50789" }, "project.nvim": { "branch": "main", "commit": "685bc8e3890d2feb07ccf919522c97f7d33b94e4" }, - "promise-async": { "branch": "main", "commit": "7fa127fa80e7d4d447e0e2c78e99af4355f4247b" }, "rainbow_csv": { "branch": "master", "commit": "7453a3f9679f0c753ec9d77f9ea8588778f35aeb" }, - "sad.nvim": { "branch": "master", "commit": "1cdf3f25589dc92854913004443ba0e53bd103ad" }, "smart-splits.nvim": { "branch": "master", "commit": "fdd158ce7554dc830fb86e0fe952cd9476cdf726" }, "sqlite.lua": { "branch": "master", "commit": "93ff5824682ecc874200e338fd8ca9ccd08508f8" }, "symbols-outline.nvim": { "branch": "master", "commit": "512791925d57a61c545bc303356e8a8f7869763c" }, + "tailwindcss-colorizer-cmp.nvim": { "branch": "main", "commit": "67772de1e1301b2d4f915adf7a4de717daf0ad3e" }, "telescope-bookmarks.nvim": { "branch": "main", "commit": "2a7b848cfce1b944da2470bb1979e10877e865e5" }, "telescope-file-browser.nvim": { "branch": "master", "commit": "304508fb7bea78e3c0eeddd88c4837501e403ae8" }, "telescope-frecency.nvim": { "branch": "master", "commit": "62cbd4e7f55fb6de2b8081087ce97026022ffcd2" }, "telescope-fzy-native.nvim": { "branch": "master", "commit": "282f069504515eec762ab6d6c89903377252bf5b" }, "telescope-github.nvim": { "branch": "master", "commit": "ee95c509901c3357679e9f2f9eaac3561c811736" }, "telescope-heading.nvim": { "branch": "main", "commit": "b1969c1b1b3de52c45b4c440e0784c33b5814954" }, - "telescope-lsp-handlers.nvim": { "branch": "trunk", "commit": "d6d5983b0131ee2c386ca9e349f6621e12d971cb" }, "telescope-node-modules.nvim": { "branch": "main", "commit": "b846d33ff5763176dc14fc74c30941a2067c82fd" }, - "telescope-symbols.nvim": { "branch": "master", "commit": "f7d7c84873c95c7bd5682783dd66f84170231704" }, "telescope-undo.nvim": { "branch": "main", "commit": "b5e31b358095074b60d87690bd1dc0a020a2afab" }, "telescope.nvim": { "branch": "master", "commit": "203bf5609137600d73e8ed82703d6b0e320a5f36" }, "todo-comments.nvim": { "branch": "main", "commit": "74c7d28cb50b0713c881ef69bcb6cdd77d8907d1" }, "toggleterm.nvim": { "branch": "main", "commit": "19aad0f41f47affbba1274f05e3c067e6d718e1e" }, - "tokyonight.nvim": { "branch": "main", "commit": "affb21a81e6d7de073378eb86d02864c594104d9" }, - "trouble.nvim": { "branch": "main", "commit": "490f7fe6d227f4f7a64f00be8c7dcd7a508ed271" }, + "tokyonight.nvim": { "branch": "main", "commit": "a0abe53df53616d13da327636cb0bcac3ea7f5af" }, + "trouble.nvim": { "branch": "main", "commit": "fc003424b02109f1453af6b40dadff6019b97187" }, "twilight.nvim": { "branch": "main", "commit": "9410252bed96887ca5a86bf16435a3a51a0e6ce5" }, - "undotree": { "branch": "master", "commit": "1a23ea84bd02c34f50d8e10a8b4bfc89597ffe4e" }, + "typescript.nvim": { "branch": "main", "commit": "f66d4472606cb24615dfb7dbc6557e779d177624" }, "vim-abolish": { "branch": "master", "commit": "d55c90d6c9995ccb79d2152564a4939cd84d73e9" }, "vim-astro": { "branch": "main", "commit": "34732be5e9a5c28c2409f4490edf92d46d8b55a9" }, - "vim-bbye": { "branch": "master", "commit": "25ef93ac5a87526111f43e5110675032dbcacf56" }, "vim-bookmarks": { "branch": "master", "commit": "9cc5fa7ecc23b052bd524d07c85356c64b92aeef" }, - "vim-easymotion": { "branch": "master", "commit": "b3cfab2a6302b3b39f53d9fd2cd997e1127d7878" }, - "vim-eunuch": { "branch": "master", "commit": "291ef1f8c8996ca7715df1032a35a27b12d7b5cf" }, - "vim-exchange": { "branch": "master", "commit": "784d63083ad7d613aa96f00021cd0dfb126a781a" }, - "vim-fugitive": { "branch": "master", "commit": "2febbe1f00be04f16daa6464cb39214a8566ec4b" }, "vim-gh-line": { "branch": "master", "commit": "fbf368bdfad7e5478009a6dc62559e6b2c72d603" }, "vim-grammarous": { "branch": "master", "commit": "db46357465ce587d5325e816235b5e92415f8c05" }, - "vim-matchup": { "branch": "master", "commit": "959e0e79ea240cdee29efbdd0d2e2e718931ccec" }, - "vim-polyglot": { "branch": "master", "commit": "bc8a81d3592dab86334f27d1d43c080ebf680d42" }, + "vim-illuminate": { "branch": "master", "commit": "49062ab1dd8fec91833a69f0a1344223dd59d643" }, + "vim-mundo": { "branch": "master", "commit": "b53d35fb5ca9923302b9ef29e618ab2db4cc675e" }, "vim-repeat": { "branch": "master", "commit": "24afe922e6a05891756ecf331f39a1f6743d3d5a" }, + "vim-startuptime": { "branch": "master", "commit": "6580cf539c33a212f4f5542068a3b4dd2b3ad834" }, "vim-table-mode": { "branch": "master", "commit": "9555a3e6e5bcf285ec181b7fc983eea90500feb4" }, - "vim-textobj-comment": { "branch": "master", "commit": "58ae4571b76a5bf74850698f23d235eef991dd4b" }, - "vim-textobj-datetime": { "branch": "master", "commit": "be2db6717e91bd14b99ab364ea09347903a6dce4" }, - "vim-textobj-indent": { "branch": "master", "commit": "deb76867c302f933c8f21753806cbf2d8461b548" }, - "vim-textobj-uri": { "branch": "master", "commit": "867eaff298d020881766508948da4a19faca554d" }, - "vim-textobj-user": { "branch": "master", "commit": "41a675ddbeefd6a93664a4dc52f302fe3086a933" }, - "vim-textobj-xmlattr": { "branch": "master", "commit": "694a297f1d75fd527e87da9769f3c6519a87ebb1" }, "vim-tmux-navigator": { "branch": "master", "commit": "cdd66d6a37d991bba7997d593586fc51a5b37aa8" }, "vim-visual-multi": { "branch": "master", "commit": "724bd53adfbaf32e129b001658b45d4c5c29ca1a" }, - "vim-wakatime": { "branch": "master", "commit": "b67957731086466ed5d967cd1dac7f6981603156" }, + "vim-wakatime": { "branch": "master", "commit": "ee4ab57adf62a309aeef383a2da23b6e48e5ae50" }, "vim-xtract": { "branch": "master", "commit": "65e47be935080f112f219b5f0bc1bf411c783f27" }, "vimux": { "branch": "master", "commit": "616fcb4799674a7a809b14ca2dc155bb6ba25788" }, - "vimux-cargo": { "branch": "main", "commit": "ca2d99573d367a59f77f4e6d0b45e7e94a461769" }, - "vimux-jest-test": { "branch": "master", "commit": "30fdc7935610adc000d9965d4031d73d11747256" }, "which-key.nvim": { "branch": "main", "commit": "684e96c5e8477f1ee9b3f2e9a12d802fd12c5531" }, - "zen-mode.nvim": { "branch": "main", "commit": "2c8f9f3758a4c430ff867e547741424ac16208bb" }, - "zoxide.vim": { "branch": "master", "commit": "f247421ca0c1934b8bb29abe06d334f0adc93d14" } + "zen-mode.nvim": { "branch": "main", "commit": "3c92f503823088862ca2a7809d1c7edc90fb92fa" } } \ No newline at end of file diff --git a/nvim/lua/config/autocmds.lua b/nvim/lua/config/autocmds.lua new file mode 100644 index 0000000..625a34c --- /dev/null +++ b/nvim/lua/config/autocmds.lua @@ -0,0 +1,46 @@ +-- Autocmds are automatically loaded on the VeryLazy event +-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- Add any additional autocmds here + +vim.api.nvim_create_autocmd("BufWritePost", { + pattern = { "*tmux.conf" }, + command = "execute 'silent !tmux source --silent'", +}) + +vim.api.nvim_create_autocmd("BufWritePost", { + pattern = { ".yabairc" }, + command = "!brew services restart yabai", +}) + +vim.api.nvim_create_autocmd("BufWritePost", { + pattern = { ".skhdrc" }, + command = "!brew services restart skhd", +}) + +vim.api.nvim_create_autocmd({ "BufNewFile", "BufFilePre", "BufRead" }, { + pattern = { "*.mdx", "*.md" }, + callback = function() + vim.cmd([[set filetype=markdown wrap linebreak nolist]]) + end, +}) + +vim.api.nvim_create_autocmd({ "BufRead" }, { + pattern = { "gitmux.conf" }, + callback = function() + vim.cmd([[set filetype=sh]]) + end, +}) + +vim.api.nvim_create_autocmd({ "VimResized" }, { + pattern = { "*" }, + callback = function() + vim.cmd([[tabdo wincmd =]]) + end, +}) + +vim.api.nvim_create_autocmd({ "BufNewFile", "BufRead" }, { + pattern = { "*.rss" }, + callback = function() + vim.cmd([[set filetype=xml]]) + end, +}) diff --git a/nvim/lua/config/keymaps.lua b/nvim/lua/config/keymaps.lua new file mode 100644 index 0000000..a5dd66f --- /dev/null +++ b/nvim/lua/config/keymaps.lua @@ -0,0 +1,34 @@ +-- Keymaps are automatically loaded on the VeryLazy event +-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua +-- Add any additional keymaps here +vim.keymap.set("n", "j", ":b#", { desc = "Toggle between buffers", noremap = true, silent = true }) +vim.keymap.set("n", ";;", "A;", { desc = "Add semicolon to the end of the line", noremap = true, silent = true }) +vim.keymap.set("n", ",,", "A,", { desc = "Add comma to the end of the line", noremap = true, silent = true }) +-- stylua: ignore +vim.keymap.set("v", "y", "myy`y", { desc = "Maintain the cursor position when yanking a visual selection", noremap = true, silent = true }) +vim.keymap.set("n", "+", "", { desc = "Increment", noremap = true, silent = true }) +vim.keymap.set("n", "-", "", { desc = "Decrement", noremap = true, silent = true }) +vim.keymap.set("n", "bx", ":bufdo bdelete", { desc = "Delete all buffers", noremap = true, silent = true }) +vim.keymap.set("n", "ut", ":set list!", { desc = "Toggle list", noremap = true, silent = true }) +vim.keymap.set("n", "Y", "yg$", { desc = "Copy to the end of the line", noremap = true, silent = true }) +-- stylua: ignore +vim.keymap.set("n", "n", "nzzzv", { desc = "Keep the window centered (next search result)", noremap = true, silent = true }) +-- stylua: ignore +vim.keymap.set("n", "N", "Nzzzv", { desc = "Keep the window centered (previous search result)", noremap = true, silent = true }) +-- stylua: ignore +vim.keymap.set("n", " j", "(v:count == 0 ? 'gj' : 'j')", { desc = "Move by rows in wrapped mode (down)", noremap = true, silent = true }) +-- stylua: ignore +vim.keymap.set("n", " k", "(v:count == 0 ? 'gk' : 'k')", { desc = "Move by rows in wrapped mode (up)", noremap = true, silent = true }) +vim.keymap.set("n", "gP", "`[v`]", { desc = "Visuall select of just pasted content", noremap = true, silent = true }) +vim.keymap.set("n", "gy", "`[v`]y", { desc = "Visuall select of just pasted content", noremap = true, silent = true }) +-- stylua: ignore +vim.keymap.set("n", "wi", ":silent !open -a iA\\ Writer.app '%:p'", { desc = "Open in iA Writer", noremap = true, silent = true }) + +vim.keymap.set("n", "", require("smart-splits").move_cursor_left) +vim.keymap.set("n", "", require("smart-splits").move_cursor_down) +vim.keymap.set("n", "", require("smart-splits").move_cursor_up) +vim.keymap.set("n", "", require("smart-splits").move_cursor_right) + +-- Visual Mode +vim.keymap.set("v", "<", "", ">gv", { desc = "Stay in indent mode (right)", noremap = true, silent = true }) diff --git a/nvim/lua/config/lazy.lua b/nvim/lua/config/lazy.lua new file mode 100644 index 0000000..881987a --- /dev/null +++ b/nvim/lua/config/lazy.lua @@ -0,0 +1,46 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.loop.fs_stat(lazypath) then + -- bootstrap lazy.nvim + -- stylua: ignore + vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) +end +vim.opt.rtp:prepend(vim.env.LAZY or lazypath) + +require("lazy").setup({ + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import any extras modules here + { import = "lazyvim.plugins.extras.lang.typescript" }, + { import = "lazyvim.plugins.extras.lang.json" }, + { import = "lazyvim.plugins.extras.ui.mini-animate" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "tokyonight", "habamax" } }, + checker = { enabled = true }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, +}) diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua new file mode 100644 index 0000000..ebdcb88 --- /dev/null +++ b/nvim/lua/config/options.lua @@ -0,0 +1,38 @@ +-- Options are automatically loaded before lazy.nvim startup +-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua +-- Add any additional options here +vim.opt.autowrite = true +vim.opt.backspace = { "indent", "eol", "start" } -- Intuitive backspacing +vim.opt.copyindent = true +vim.opt.foldlevel = 2 +vim.opt.foldlevelstart = 99 +vim.opt.foldmethod = "indent" +vim.opt.foldnestmax = 10 +vim.opt.grepprg = "rg --vimgrep --no-heading --smart-case" +vim.opt.listchars = { tab = "↦ ", trail = "·", nbsp = ".", extends = "❯", precedes = "❮" } +vim.opt.showbreak = "↪" +vim.opt.shiftwidth = 4 +vim.opt.softtabstop = 4 +vim.opt.tabstop = 4 +vim.opt.title = true +vim.opt.swapfile = false +vim.opt.virtualedit = "all" + +vim.opt.iskeyword:append("-") -- Add dashes to words +vim.opt.wildignore:append({ "*/node_modules/*" }) -- Wildignore +vim.opt.complete:append({ "i", "k", "s", "kspell" }) + +-- FIXME: When using "vim.opt.spellfile:append("~/.config/…) the file is not writable" +vim.cmd([[ +" Spell Checker +set spellfile+=~/.config/nvim/spell/en.utf-8.add + +" Custom Dictionaries ( ) +set dictionary+=~/.config/nvim/dictionary/de_user.txt +set dictionary+=~/.config/nvim/dictionary/de_neu.txt +set dictionary+=~/.config/nvim/dictionary/en_us.txt + +" Custom Thesauri (Synonyms) ( ) +set thesaurus+=~/.config/nvim/thesaurus/de_user.txt +set thesaurus+=~/.config/nvim/thesaurus/de_openthesaurus.txt +]]) diff --git a/nvim/lua/kogakure/autocommands.lua b/nvim/lua/kogakure/autocommands.lua deleted file mode 100644 index 1269ef4..0000000 --- a/nvim/lua/kogakure/autocommands.lua +++ /dev/null @@ -1,113 +0,0 @@ -vim.cmd([[ - augroup general_settings - autocmd! - autocmd FileType qf,help,man,lspinfo nnoremap q :close - autocmd BufWinEnter * :set formatoptions-=cro - autocmd FileType qf set nobuflisted - augroup end - - " Automatically highlight yanked content - augroup highlight_yank - autocmd! - autocmd TextYankPost * silent! lua vim.highlight.on_yank({higroup = 'Visual', timeout = 700}) - augroup END - - " Remember cursor position - augroup line_return - autocmd! - autocmd BufReadPost * - \ if line("'\"") > 1 && line("'\"") <= line("$") | - \ exe "normal! g`\"" | - \ endif - augroup END - - augroup git - autocmd! - autocmd FileType gitcommit setlocal wrap - autocmd FileType gitcommit setlocal spell - autocmd BufRead,BufNewFile COMMIT_EDITMSG setfiletype git - augroup end - - augroup markdown - autocmd! - autocmd FileType markdown setlocal wrap - augroup end - - augroup ft_html - autocmd! - autocmd FileType html,eruby,njk setlocal foldmethod=indent - autocmd FileType html,eruby,njk setlocal omnifunc=htmlcomplete#CompleteTags - augroup END - - augroup ft_css - autocmd! - autocmd FileType css setlocal foldmethod=marker - autocmd FileType scss,sass,less,stylus setlocal foldmethod=indent - autocmd FileType css setlocal foldmarker={,} - autocmd FileType css,scss,sass,less,stylus setlocal omnifunc=csscomplete#CompleteCSS - autocmd Filetype css,scss,sass,less,stylus setlocal iskeyword+=- - augroup END - - augroup ft_xml - autocmd! - autocmd FileType xml setlocal foldmethod=indent - autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags - augroup END - - augroup ft_javascript - autocmd! - autocmd FileType javascript setlocal foldmethod=indent - autocmd FileType javascript setlocal omnifunc=javascriptcomplete#CompleteJS - autocmd BufRead,BufNewFile *.es6 setfiletype javascript - autocmd BufRead,BufNewFile *.jsx setfiletype javascript.jsx - augroup END - - augroup ft_json - autocmd! - autocmd FileType json syntax match Comment +\/\/.\+$+ - autocmd Filetype json setlocal ts=2 sts=2 sw=2 - augroup END - - augroup ft_ruby - autocmd! - autocmd FileType ruby setlocal foldmethod=syntax - autocmd FileType ruby setlocal omnifunc=rubycomplete#Complete - autocmd FileType ruby let g:rubycomplete_buffer_loading = 1 - autocmd FileType ruby let g:rubycomplete_rails = 1 - autocmd FileType ruby let g:rubycomplete_classes_in_global = 1 - augroup END - - augroup ft_vim - autocmd! - autocmd FileType vim setlocal foldmethod=marker - augroup END - - augroup ft_misc - autocmd! - autocmd BufNewFile,BufRead *.handlebars set filetype=html syntax=handlebars - autocmd BufNewFile,BufRead *.hb set filetype=html syntax=handlebars - autocmd BufNewFile,BufRead *.hbs set filetype=html syntax=handlebars - autocmd BufNewFile,BufRead *.njk set filetype=html syntax=handlebars - autocmd BufNewFile,BufRead *.json set filetype=json - autocmd BufNewFile,BufRead *.pcss set filetype=css syntax=scss - autocmd BufNewFile,BufRead *.postcss set filetype=css syntax=scss - autocmd BufNewFile,BufRead *.rss set filetype=xml - autocmd BufEnter *.{js,jsx,ts,tsx} :syntax sync fromstart - autocmd BufLeave *.{js,jsx,ts,tsx} :syntax sync clear - augroup END - - augroup auto_resize - autocmd! - autocmd VimResized * tabdo wincmd = - augroup end - - augroup alpha - autocmd! - autocmd User AlphaReady set showtabline=0 | autocmd BufUnload set showtabline=2 - augroup end - - augroup lsp - autocmd! - autocmd BufWritePre * lua vim.lsp.buf.format() - augroup end -]]) diff --git a/nvim/lua/kogakure/colorscheme.lua b/nvim/lua/kogakure/colorscheme.lua deleted file mode 100644 index 5a8cf5f..0000000 --- a/nvim/lua/kogakure/colorscheme.lua +++ /dev/null @@ -1,17 +0,0 @@ --- Colorschemes - --- Base16 Theme -local source = "~/.vimrc_background" -local status_ok, _ = pcall(vim.cmd, "source " .. source) - -if not status_ok then - vim.notify("Error sourcing " .. source) - return -end - -vim.cmd([[ -silent! colorscheme tokyonight-night -highlight ColorColumn guibg=#202224 -highlight SpellBad guifg=red -highlight Winseparator guifg=#1F2335 guibg=None -]]) diff --git a/nvim/lua/kogakure/functions.lua b/nvim/lua/kogakure/functions.lua deleted file mode 100644 index 5ab1512..0000000 --- a/nvim/lua/kogakure/functions.lua +++ /dev/null @@ -1,48 +0,0 @@ -local opts = { noremap = true, silent = true } - --- Toggle between soft wrap and no wrap -vim.keymap.set("n", "tw", [[call ToggleWrap()]], opts) - --- Toggle between soft wrap and no wrap -vim.keymap.set("n", "cc", [[call ToggleColorColumn()]], opts) - -vim.cmd([[ -function! ToggleWrap() - if &wrap - echo "Wrap OFF" - set nowrap - set nolinebreak - set virtualedit=all - else - echo "Wrap ON" - set wrap - set linebreak - set virtualedit= - setlocal display+=lastline - endif -endfunction - -function! ToggleColorColumn() - if &colorcolumn == "80" - echo "Textwidth OFF" - set colorcolumn=0 - set textwidth=0 - else - echo "Textwidth ON" - set colorcolumn=80 - set textwidth=80 - endif -endfunction - -function! SpellEn() - set spell - set spelllang=en_us - set spellfile=~/.config/nvim/spell/en.utf-8.add -endfunction - -function! SpellDe() - set spell - set spelllang=de_de - set spellfile=~/.config/nvim/spell/de.utf-8.add -endfunction -]]) diff --git a/nvim/lua/kogakure/keymaps.lua b/nvim/lua/kogakure/keymaps.lua deleted file mode 100644 index 2b4815a..0000000 --- a/nvim/lua/kogakure/keymaps.lua +++ /dev/null @@ -1,91 +0,0 @@ -vim.keymap.set("", "", "", { desc = "Remap space as leader key", noremap = true, silent = true }) - -vim.g.mapleader = " " -vim.g.maplocalleader = " " - -vim.keymap.set("n", "j", ":b#", { desc = "Quick toggle between buffers", noremap = true, silent = true }) - -vim.keymap.set("n", ";;", "A;", { desc = "Add semicolon to the end of the line", noremap = true, silent = true }) -vim.keymap.set("n", ",,", "A,", { desc = "Add comma to the end of the line", noremap = true, silent = true }) - -vim.keymap.set("v", "y", "myy`y", { desc = "Maintain the cursor position when yanking a visual selection", noremap = true, silent = true }) - -vim.keymap.set("n", "x", "$x", { desc = "Delete last character of line", noremap = true, silent = true }) -vim.keymap.set("n", "x", '"_x', { desc = "Do not yank with x", noremap = true, silent = true }) - -vim.keymap.set("n", "+", "", { desc = "Increment", noremap = true, silent = true }) -vim.keymap.set("n", "-", "", { desc = "Decrement", noremap = true, silent = true }) - -vim.keymap.set("n", "ss", ":splitw", { desc = "Open horizontal split", noremap = true, silent = true }) -vim.keymap.set("n", "sv", ":vsplitw", { desc = "Open vertical split", noremap = true, silent = true }) - -vim.keymap.set("n", "q", ":Bdelete", { desc = "Delete current buffer", noremap = true, silent = true }) -vim.keymap.set("n", "X", ":bufdo bdelete", { desc = "Delete all buffers", noremap = true, silent = true }) - -vim.keymap.set("v", "<", "", ">gv", { desc = "Reselect visual selection after indenting right", noremap = true, silent = true }) - --- zg (good), zG (good temp), zw (wrong), zW (wrong temp) -vim.keymap.set("n", "rs", ":set spell!", { desc = "Activate spell checking", noremap = true, silent = true }) - -vim.keymap.set("n", "h", ":nohlsearch", { desc = "Switch off highlighting", noremap = true, silent = true }) -vim.keymap.set("n", "l", ":set list!", { desc = "Toggle list", noremap = true, silent = true }) - -vim.keymap.set("n", "pf", "gg=G''", { desc = "Indent the whole source code", noremap = true, silent = true }) - -vim.keymap.set("n", "'", "`", { desc = "Reverse the mark mapping", noremap = true, silent = true }) -vim.keymap.set("n", "`", "'", { desc = "Reverse the mark mapping", noremap = true, silent = true }) - -vim.keymap.set("n", "gP", "`[v`]", { desc = "Visuall select of just pasted content", noremap = true, silent = true }) -vim.keymap.set("n", "gy", "`[v`]y", { desc = "Visuall select of just pasted content", noremap = true, silent = true }) - -vim.keymap.set("n", " j", "(v:count == 0 ? 'gj' : 'j')", { desc = "Move by rows in wrapped mode (down)", noremap = true, silent = true }) -vim.keymap.set("n", " k", "(v:count == 0 ? 'gk' : 'k')", { desc = "Move by rows in wrapped mode (up)", noremap = true, silent = true }) - -vim.keymap.set("n", "?", ":execute 'vimgrep /'.@/.'/g %':copen", { desc = "Open a quickfix window for the last search", noremap = true, silent = true }) - -vim.keymap.set("n", "", "3", { desc = "Faster linewise scrolling (up)", noremap = true, silent = true }) -vim.keymap.set("n", "", "3", { desc = "Faster linewise scrolling (down)", noremap = true, silent = true }) - -vim.keymap.set("n", "G", "Gzzzv", { desc = "Keep the window centered (end)", noremap = true, silent = true }) -vim.keymap.set("n", "n", "nzzzv", { desc = "Keep the window centered (next search result)", noremap = true, silent = true }) -vim.keymap.set("n", "N", "Nzzzv", { desc = "Keep the window centered (previous search result)", noremap = true, silent = true }) -vim.keymap.set("n", "", "zz", { desc = "Keep the window centered (page down)", noremap = true, silent = true }) -vim.keymap.set("n", "", "zz", { desc = "Keep the window centered (page up)", noremap = true, silent = true }) - -vim.keymap.set("n", "Y", "yg$", { desc = "Copy to the end of the line", noremap = true, silent = true }) - -vim.keymap.set("n", "XX", ":qa", { desc = "Close all buffers", noremap = true, silent = true }) - -vim.keymap.set("n", "gN", "ok", { desc = "Add lines in NORMAL Mode (below)", noremap = true, silent = true }) -vim.keymap.set("n", "gNN", "Oj", { desc = "Add lines in NORMAL Mode (above)", noremap = true, silent = true }) - -vim.keymap.set("n", "cf", ":cd %:p:h:pwd", { desc = "Change to the folder of the current file", noremap = true, silent = true }) - -vim.keymap.set("n", "rq", "gqip", { desc = "Reformat a line into a block", noremap = true, silent = true }) - -vim.keymap.set("n", "rqq", "vipJ", { desc = "Reformat a block into a line", noremap = true, silent = true }) - -vim.keymap.set("n", "", "", { desc = "Easier split navigation (down)", noremap = true, silent = true }) -vim.keymap.set("n", "", "", { desc = "Easier split navigation (up)", noremap = true, silent = true }) -vim.keymap.set("n", "", "", { desc = "Easier split navigation (right)", noremap = true, silent = true }) -vim.keymap.set("n", "", "", { desc = "Easier split navigation (left)", noremap = true, silent = true }) - -vim.keymap.set("n", "kw", ":SmartResizeMode", { desc = "Activate Smart Resize Mode", noremap = true, silent = true }) - -vim.keymap.set("v", "<", "", ">gv", { desc = "Stay in indent mode (right)", noremap = true, silent = true }) - -vim.keymap.set("v", "", ":m .-2==", { desc = "Move text up", noremap = true, silent = true }) -vim.keymap.set("v", "", ":m .+1==", { desc = "Move text down", noremap = true, silent = true }) - -vim.keymap.set("n", "ia", ":silent !open -a iA\\ Writer.app '%:p'", { desc = "Open in iA Writer", noremap = true, silent = true }) - -vim.keymap.set("n", "o", "lua vim.lsp.buf.format()", { desc = "Format buffer with LSP", noremap = true, silent = true }) -vim.keymap.set("n", "P", "Prettier", { desc = "Format with Prettier", noremap = true, silent = true }) - -vim.keymap.set("n", "kn", ":let @+=@%", { desc = "Get the filename and path of current file", noremap = true, silent = true }) -vim.keymap.set("n", "kc", ":g/console.log/d", { desc = "Remove console.log statements", noremap = true, silent = true }) -vim.keymap.set("v", "kp", ":'<,'> w !pandoc --no-highlight --wrap=none | pbcopy ", { desc = "Convert Markdown to HTML and copy to Clipboard", noremap = true, silent = true }) - -vim.keymap.set("n", "gsii", "lua Select_indent():sort", { desc = "Sort lines by indentation", noremap = true, silent = true }) diff --git a/nvim/lua/kogakure/lsp/handlers.lua b/nvim/lua/kogakure/lsp/handlers.lua deleted file mode 100644 index 72c98e2..0000000 --- a/nvim/lua/kogakure/lsp/handlers.lua +++ /dev/null @@ -1,181 +0,0 @@ -local M = {} - -local navic = require("nvim-navic") - -vim.g.navic_silence = true - -M.setup = function() - local signs = { - { name = "DiagnosticSignError", text = "" }, - { name = "DiagnosticSignWarn", text = "" }, - { name = "DiagnosticSignHint", text = "" }, - { name = "DiagnosticSignInfo", text = "" }, - } - - for _, sign in ipairs(signs) do - vim.fn.sign_define(sign.name, { texthl = sign.name, text = sign.text, numhl = "" }) - end - - local config = { - virtual_text = false, -- disable virtual text - signs = { - active = signs, -- show signs - }, - update_in_insert = true, - underline = true, - severity_sort = true, - float = { - focusable = false, - style = "minimal", - border = "rounded", - source = "always", - header = "", - prefix = "", - }, - } - - vim.diagnostic.config(config) - - vim.lsp.handlers["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { - border = "rounded", - }) - - vim.lsp.handlers["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { - border = "rounded", - }) -end - -local function lsp_highlight_document(client, bufnr) - -- Set autocommands conditional on server_capabilities - if client.server_capabilities.documentHighlightProvider then - vim.api.nvim_create_augroup("lsp_document_highlight", { clear = true }) - vim.api.nvim_clear_autocmds({ buffer = bufnr, group = "lsp_document_highlight" }) - vim.api.nvim_create_autocmd("CursorHold", { - callback = vim.lsp.buf.document_highlight, - buffer = bufnr, - group = "lsp_document_highlight", - desc = "Document Highlight", - }) - vim.api.nvim_create_autocmd("CursorMoved", { - callback = vim.lsp.buf.clear_references, - buffer = bufnr, - group = "lsp_document_highlight", - desc = "Clear All the References", - }) - end -end - -local function lsp_keymaps(bufnr) - local opts = { noremap = true, silent = true } - local keymap = vim.api.nvim_buf_set_keymap - - keymap(bufnr, "n", "", "lua vim.lsp.buf.signature_help()", opts) - keymap(bufnr, "n", "g0", "Telescope lsp_document_symbols", opts) - keymap(bufnr, "n", "gF", "Telescope lsp_dynamic_workspace_symbols", opts) - keymap(bufnr, "n", "gi", "Telescope lsp_implementations", opts) - keymap(bufnr, "n", "gr", "Telescope lsp_references", opts) - keymap(bufnr, "n", "gD", "FzfLua lsp_declarations", opts) - keymap(bufnr, "n", "gc", "FzfLua lsp_code_actions", opts) - keymap(bufnr, "n", "gd", "FzfLua lsp_definitions", opts) - keymap(bufnr, "n", "gt", "FzfLua lsp_typedefs", opts) - keymap(bufnr, "n", "K", "lua vim.lsp.buf.hover()", opts) - keymap(bufnr, "n", "gR", "lua vim.lsp.buf.rename()", opts) - keymap(bufnr, "n", "gl", "lua vim.diagnostic.open_float()", opts) - keymap(bufnr, "n", "Ä", "lua vim.diagnostic.goto_prev()", opts) - keymap(bufnr, "n", "ä", "lua vim.diagnostic.goto_next()", opts) -end - --- https://github.com/jose-elias-alvarez/null-ls.nvim/wiki/Formatting-on-save -local lsp_formatting = function(bufnr) - vim.lsp.buf.format({ - timeout_ms = 2000, - bufnr = bufnr, - filter = function(client) - return client.name == "null-ls" - end, - }) -end - -local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) - -M.on_attach = function(client, bufnr) - -- Autosave - if client.supports_method("textDocument/formatting") then - vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - vim.api.nvim_create_autocmd("BufWritePre", { - group = augroup, - buffer = bufnr, - callback = function() - lsp_formatting(bufnr) - end, - }) - end - - if client.server_capabilities.documentSymbolProvider then - navic.attach(client, bufnr) - end - - -- TypeScript - if client.name == "tsserver" then - client.server_capabilities.documentFormattingProvider = false - end - - -- HTML - if client.name == "html" then - client.server_capabilities.documentFormattingProvider = false - end - - -- Stylelint - if client.name == "stylelint_lsp" then - client.server_capabilities.documentFormattingProvider = false - end - - -- JSON - if client.name == "jsonls" then - client.server_capabilities.documentFormattingProvider = false - end - - -- Lua - if client.name == "sumneko_lua" then - client.server_capabilities.documentFormattingProvider = false - client.server_capabilities.documentRangeFormattingProvider = false - end - - -- Rust - if client.name == "rust_analyzer" then - client.server_capabilities.documentFormattingProvider = false - end - - -- Astro - if client.name == "astro" then - client.server_capabilities.documentFormattingProvider = false - end - - -- Diagnostic - if client.name == "diagnosticls" then - client.server_capabilities.documentFormattingProvider = false - end - - lsp_keymaps(bufnr) - lsp_highlight_document(client, bufnr) -end - -local capabilities = vim.lsp.protocol.make_client_capabilities() - --- nvim-ufo - better folding -capabilities.textDocument.foldingRange = { - dynamicRegistration = false, - lineFoldingOnly = true, -} - -local status_ok, cmp_nvim_lsp = pcall(require, "cmp_nvim_lsp") -if not status_ok then - return -end - --- Set Winbar to nvim-static -vim.o.winbar = "%{%v:lua.require'nvim-navic'.get_location()%}" - -M.capabilities = cmp_nvim_lsp.default_capabilities(capabilities) - -return M diff --git a/nvim/lua/kogakure/lsp/init.lua b/nvim/lua/kogakure/lsp/init.lua deleted file mode 100644 index 195d28d..0000000 --- a/nvim/lua/kogakure/lsp/init.lua +++ /dev/null @@ -1,10 +0,0 @@ -local status_ok, _ = pcall(require, "lspconfig") -if not status_ok then - return -end - -require("kogakure.lsp.mason") -require("kogakure.lsp.handlers").setup() -require("kogakure.lsp.null-ls") -require("kogakure.lsp.trouble") -require("kogakure.lsp.lightbulb") diff --git a/nvim/lua/kogakure/lsp/lightbulb.lua b/nvim/lua/kogakure/lsp/lightbulb.lua deleted file mode 100644 index 4b4b76e..0000000 --- a/nvim/lua/kogakure/lsp/lightbulb.lua +++ /dev/null @@ -1,11 +0,0 @@ --- nvim-lightbulb – https://github.com/kosayoda/nvim-lightbulb -local status, lightbulb = pcall(require, "nvim-lightbulb") -if not status then - return -end - -lightbulb.setup({ - autocmd = { - enabled = true - }, -}) diff --git a/nvim/lua/kogakure/lsp/mason.lua b/nvim/lua/kogakure/lsp/mason.lua deleted file mode 100644 index 1eb2d5f..0000000 --- a/nvim/lua/kogakure/lsp/mason.lua +++ /dev/null @@ -1,76 +0,0 @@ -local mason_status_ok, mason = pcall(require, "mason") -local lspconfig_status_ok, lspconfig = pcall(require, "lspconfig") -local mason_lsp_config_status_ok, mason_lspconfig = pcall(require, "mason-lspconfig") -local mason_null_ls_status_ok, mason_null_ls = pcall(require, "mason-null-ls") - -if not mason_status_ok then - return -end - -if not lspconfig_status_ok then - return -end - -if not mason_lsp_config_status_ok then - return -end - -if not mason_null_ls_status_ok then - return -end - -local servers = { - "astro", - "cssls", - "cssmodules_ls", - "diagnosticls", - "emmet_ls", - "golangci_lint_ls", - "gopls", - "graphql", - "html", - "jsonls", - "pyright", - "rust_analyzer", - "sourcery", - "sumneko_lua", - "svelte", - "tsserver", - "vuels", -} - -mason.setup({ - ui = { - icons = { - package_installed = "✓", - package_pending = "➜", - package_uninstalled = "✗", - }, - }, - - max_concurrent_installers = 4, -}) - -mason_null_ls.setup({ - ensure_installed = nil, - automatic_installation = true, - automatic_setup = true, -}) - -mason_lspconfig.setup({ - ensure_installed = servers, -}) - -for _, server in pairs(servers) do - local opts = { - on_attach = require("kogakure.lsp.handlers").on_attach, - capabilities = require("kogakure.lsp.handlers").capabilities, - } - - local has_custom_opts, server_custom_opts = pcall(require, "kogakure.lsp.settings." .. server) - if has_custom_opts then - opts = vim.tbl_deep_extend("force", opts, server_custom_opts) - end - - lspconfig[server].setup(opts) -end diff --git a/nvim/lua/kogakure/lsp/null-ls.lua b/nvim/lua/kogakure/lsp/null-ls.lua deleted file mode 100644 index 453f03b..0000000 --- a/nvim/lua/kogakure/lsp/null-ls.lua +++ /dev/null @@ -1,43 +0,0 @@ --- null-ls.nvim – https://github.com/jose-elias-alvarez/null-ls.nvim -local null_ls_status_ok, null_ls = pcall(require, "null-ls") -if not null_ls_status_ok then - return -end - -local opts = { noremap = true, silent = true } - --- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/ -local formatting = null_ls.builtins.formatting -local diagnostics = null_ls.builtins.diagnostics -local completion = null_ls.builtins.completion -local hover = null_ls.builtins.hover -local code_actions = null_ls.builtins.code_actions - -null_ls.setup({ - debug = false, - sources = { - code_actions.eslint_d.with({ diagnostics_format = "[eslint] #{m}\n(#{c})" }), - code_actions.gitrebase, - code_actions.gitsigns, - completion.luasnip, - diagnostics.eslint_d, - diagnostics.gitlint, - diagnostics.golangci_lint, - diagnostics.stylelint, - diagnostics.tsc, - diagnostics.vale, - diagnostics.zsh, - formatting.autopep8, -- Python - formatting.black.with({ extra_args = { "--fast" } }), -- Python - formatting.eslint_d, - formatting.gofmt, - formatting.goimports, - formatting.goimports_reviser, - formatting.prettierd, - formatting.stylelint, - formatting.trim_newlines, - formatting.trim_whitespace, - formatting.rustfmt, - hover.dictionary, - }, -}) diff --git a/nvim/lua/kogakure/lsp/settings/jsonls.lua b/nvim/lua/kogakure/lsp/settings/jsonls.lua deleted file mode 100644 index 14d932a..0000000 --- a/nvim/lua/kogakure/lsp/settings/jsonls.lua +++ /dev/null @@ -1,211 +0,0 @@ --- Find more schemas here: https://www.schemastore.org/json/ -local default_schemas = nil -local status_ok, jsonls_settings = pcall(require, 'nlspsettings.jsonls') -if status_ok then - default_schemas = jsonls_settings.get_default_schemas() -end - -local schemas = { - { - description = 'TypeScript compiler configuration file', - fileMatch = { - 'tsconfig.json', - 'tsconfig.*.json', - }, - url = 'https://json.schemastore.org/tsconfig.json', - }, - { - description = 'Lerna config', - fileMatch = { - 'lerna.json', - }, - url = 'https://json.schemastore.org/lerna.json', - }, - { - description = 'Babel configuration', - fileMatch = { - '.babelrc.json', - '.babelrc', - 'babel.config.json', - }, - url = 'https://json.schemastore.org/babelrc.json', - }, - { - description = 'ESLint config', - fileMatch = { - '.eslintrc.json', - '.eslintrc', - }, - url = 'https://json.schemastore.org/eslintrc.json', - }, - { - description = 'Bucklescript config', - fileMatch = { - 'bsconfig.json', - }, - url = 'https://raw.githubusercontent.com/rescript-lang/rescript-compiler/8.2.0/docs/docson/build-schema.json', - }, - { - description = 'Prettier config', - fileMatch = { - '.prettierrc', - '.prettierrc.json', - 'prettier.config.json', - }, - url = 'https://json.schemastore.org/prettierrc', - }, - { - description = 'Vercel Now config', - fileMatch = { - 'now.json', - }, - url = 'https://json.schemastore.org/now', - }, - { - description = 'Stylelint config', - fileMatch = { - '.stylelintrc', - '.stylelintrc.json', - 'stylelint.config.json', - }, - url = 'https://json.schemastore.org/stylelintrc', - }, - { - description = 'A JSON schema for the ASP.NET LaunchSettings.json files', - fileMatch = { - 'launchsettings.json', - }, - url = 'https://json.schemastore.org/launchsettings.json', - }, - { - description = 'Schema for CMake Presets', - fileMatch = { - 'CMakePresets.json', - 'CMakeUserPresets.json', - }, - url = 'https://raw.githubusercontent.com/Kitware/CMake/master/Help/manual/presets/schema.json', - }, - { - description = 'Configuration file as an alternative for configuring your repository in the settings page.', - fileMatch = { - '.codeclimate.json', - }, - url = 'https://json.schemastore.org/codeclimate.json', - }, - { - description = 'LLVM compilation database', - fileMatch = { - 'compile_commands.json', - }, - url = 'https://json.schemastore.org/compile-commands.json', - }, - { - description = 'Config file for Command Task Runner', - fileMatch = { - 'commands.json', - }, - url = 'https://json.schemastore.org/commands.json', - }, - { - description = 'AWS CloudFormation provides a common language for you to describe and provision all the infrastructure resources in your cloud environment.', - fileMatch = { - '*.cf.json', - 'cloudformation.json', - }, - url = 'https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/cloudformation.schema.json', - }, - { - description = 'The AWS Serverless Application Model (AWS SAM, previously known as Project Flourish) extends AWS CloudFormation to provide a simplified way of defining the Amazon API Gateway APIs, AWS Lambda functions, and Amazon DynamoDB tables needed by your serverless application.', - fileMatch = { - 'serverless.template', - '*.sam.json', - 'sam.json', - }, - url = 'https://raw.githubusercontent.com/awslabs/goformation/v5.2.9/schema/sam.schema.json', - }, - { - description = 'Json schema for properties json file for a GitHub Workflow template', - fileMatch = { - '.github/workflow-templates/**.properties.json', - }, - url = 'https://json.schemastore.org/github-workflow-template-properties.json', - }, - { - description = 'golangci-lint configuration file', - fileMatch = { - '.golangci.toml', - '.golangci.json', - }, - url = 'https://json.schemastore.org/golangci-lint.json', - }, - { - description = 'JSON schema for the JSON Feed format', - fileMatch = { - 'feed.json', - }, - url = 'https://json.schemastore.org/feed.json', - versions = { - ['1'] = 'https://json.schemastore.org/feed-1.json', - ['1.1'] = 'https://json.schemastore.org/feed.json', - }, - }, - { - description = 'Packer template JSON configuration', - fileMatch = { - 'packer.json', - }, - url = 'https://json.schemastore.org/packer.json', - }, - { - description = 'NPM configuration file', - fileMatch = { - 'package.json', - }, - url = 'https://json.schemastore.org/package.json', - }, - { - description = 'JSON schema for Visual Studio component configuration files', - fileMatch = { - '*.vsconfig', - }, - url = 'https://json.schemastore.org/vsconfig.json', - }, - { - description = 'Resume json', - fileMatch = { - 'resume.json', - }, - url = 'https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json', - }, -} - -local function extend(tab1, tab2) - if tab2 == nil then - return tab2 - end - for _, value in ipairs(tab2) do - table.insert(tab1, value) - end - return tab1 -end - -local extended_schemas = extend(schemas, default_schemas) - -local opts = { - settings = { - json = { - schemas = extended_schemas, - }, - }, - setup = { - commands = { - Format = { - function() - vim.lsp.buf.range_formatting({}, { 0, 0, }, { vim.fn.line '$', 0 }) - end, - }, - }, - }, -} - -return opts diff --git a/nvim/lua/kogakure/lsp/settings/pyright.lua b/nvim/lua/kogakure/lsp/settings/pyright.lua deleted file mode 100644 index 09bda65..0000000 --- a/nvim/lua/kogakure/lsp/settings/pyright.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - settings = { - python = { - analysis = { - typeCheckingMode = 'off', - }, - }, - }, -} diff --git a/nvim/lua/kogakure/lsp/settings/sumneko_lua.lua b/nvim/lua/kogakure/lsp/settings/sumneko_lua.lua deleted file mode 100644 index 1c2cb59..0000000 --- a/nvim/lua/kogakure/lsp/settings/sumneko_lua.lua +++ /dev/null @@ -1,15 +0,0 @@ -return { - settings = { - Lua = { - diagnostics = { - globals = { "vim", "hs", "window", "pcall" }, - }, - workspace = { - library = { - [vim.fn.expand("$VIMRUNTIME/lua")] = true, - [vim.fn.stdpath("config") .. "/lua"] = true, - }, - }, - }, - }, -} diff --git a/nvim/lua/kogakure/lsp/trouble.lua b/nvim/lua/kogakure/lsp/trouble.lua deleted file mode 100644 index a3bb023..0000000 --- a/nvim/lua/kogakure/lsp/trouble.lua +++ /dev/null @@ -1,8 +0,0 @@ --- Trouble – https://github.com/folke/trouble.nvim -local status, trouble = pcall(require, 'trouble') -if (not status) then - return -end - -trouble.setup() - diff --git a/nvim/lua/kogakure/options.lua b/nvim/lua/kogakure/options.lua deleted file mode 100644 index 9123ccc..0000000 --- a/nvim/lua/kogakure/options.lua +++ /dev/null @@ -1,88 +0,0 @@ --- :help options -local options = { - autowrite = true, - backspace = { "indent", "eol", "start" }, -- Intuitive backspacing - backup = false, - clipboard = "unnamedplus", - completeopt = { "menu", "menuone", "preview" }, - confirm = true, - copyindent = true, - cursorline = false, - expandtab = true, - foldlevel = 2, - foldlevelstart = 99, - foldmethod = "syntax", - foldnestmax = 10, - grepformat = "%f:%l:%c:%m", - grepprg = "rg\\ --vimgrep\\ --no-heading\\ --smart-case", - hidden = true, - ignorecase = true, - laststatus = 3, - list = false, - listchars = { - tab = "↦ ", - trail = "·", - nbsp = ".", - extends = "❯", - precedes = "❮", - }, - mouse = "a", - number = true, - omnifunc = "syntaxcomplete#Complete", - redrawtime = 10000, -- Allow more time for loading syntax on large files - relativenumber = true, - scrolloff = 8, - shiftround = true, - shiftwidth = 4, - shortmess = "caoOtI", -- Welcome screen - showbreak = "↪", - sidescrolloff = 8, - signcolumn = "yes:2", - smartcase = true, - softtabstop = 4, - spelllang = "en_us", - splitbelow = true, - splitright = true, - swapfile = false, - tabstop = 4, - termguicolors = true, - timeoutlen = 300, - title = true, - undofile = true, - virtualedit = "all", - visualbell = true, - wildmode = { "longest:full", "full" }, - wrap = false, - writebackup = false, -} - -for k, v in pairs(options) do - vim.opt[k] = v -end - --- Add dashes to words -vim.opt.iskeyword:append("-") - --- Don’t delete the word, but put a $ to the end till exit the mode -vim.opt.cpoptions:append("$") - --- Wildignore -vim.opt.wildignore:append({ "*/node_modules/*" }) - -vim.opt.path:append("**") -vim.opt.complete:append({ "i", "k", "s", "kspell" }) - --- FIXME: When using "vim.opt.spellfile:append("~/.config/…) the file is not writable" -vim.cmd([[ -" Spell Checker -set spellfile+=~/.config/nvim/spell/en.utf-8.add - -" Custom Dictionaries ( ) -set dictionary+=~/.config/nvim/dictionary/de_user.txt -set dictionary+=~/.config/nvim/dictionary/de_neu.txt -set dictionary+=~/.config/nvim/dictionary/en_us.txt - -" Custom Thesauri (Synonyms) ( ) -set thesaurus+=~/.config/nvim/thesaurus/de_user.txt -set thesaurus+=~/.config/nvim/thesaurus/de_openthesaurus.txt -]]) diff --git a/nvim/lua/kogakure/plugins.lua b/nvim/lua/kogakure/plugins.lua deleted file mode 100644 index 660c362..0000000 --- a/nvim/lua/kogakure/plugins.lua +++ /dev/null @@ -1,187 +0,0 @@ --- Lazy.nvim - https://github.com/folke/lazy.nvim -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", - "--single-branch", - "https://github.com/folke/lazy.nvim.git", - lazypath, - }) -end - -vim.opt.runtimepath:prepend(lazypath) - -local plugins = { - "nvim-lua/popup.nvim", -- An implementation of the Popup API from vim in Neovim - "nvim-lua/plenary.nvim", -- Useful lua functions used ny lots of plugins - - -- Colorscheme - "chriskempson/base16-vim", -- Base16 colorschemes - "folke/tokyonight.nvim", -- Tokyo Night color scheme - { "kartikp10/noctis.nvim", dependencies = "rktjmp/lush.nvim" }, -- Noctis color scheme - { "catppuccin/nvim", name = "catppuccin" }, -- Catppuccin color scheme - - -- CMP - "hrsh7th/nvim-cmp", -- The completion plugin - "hrsh7th/cmp-buffer", -- Buffer completions - "hrsh7th/cmp-path", -- Path completions - "hrsh7th/cmp-cmdline", -- Cmdline completions - "hrsh7th/cmp-nvim-lua", -- Lua API completions - "hrsh7th/cmp-copilot", -- GitHub Copilot completions - "saadparwaiz1/cmp_luasnip", -- Snippet completions - "uga-rosa/cmp-dictionary", -- Dictionary completions - "f3fora/cmp-spell", -- Spell completions - "David-Kunz/cmp-npm", -- NPM package completions - "hrsh7th/cmp-nvim-lsp", -- LSP completions - "hrsh7th/cmp-nvim-lsp-signature-help", -- LSP Signature Help - - -- Snippets - "L3MON4D3/LuaSnip", -- Snippet Engine - "rafamadriz/friendly-snippets", -- A bunch of snippets - - -- LSP - "neovim/nvim-lspconfig", -- Enable LSP - "williamboman/mason.nvim", -- Manage LSP servers, DAP servers, linters, and formatters - "williamboman/mason-lspconfig.nvim", -- Bridge betwen Mason and lspconfig - "jay-babu/mason-null-ls.nvim", -- Bridge between Mason and null-ls - "jose-elias-alvarez/null-ls.nvim", -- Inject LSP diagnostics, code actions, and more - "folke/trouble.nvim", -- Diagnostics - "creativenull/diagnosticls-configs-nvim", -- Collection of linters and formatters - "tamago324/nlsp-settings.nvim", -- LSP for json/yaml - { "kosayoda/nvim-lightbulb", dependencies = "antoinemadec/FixCursorHold.nvim" }, - - -- FZF - { "junegunn/fzf", build = "./install --bin" }, - "ibhagwan/fzf-lua", - - -- Telescope - "nvim-telescope/telescope.nvim", - "dhruvmanila/telescope-bookmarks.nvim", -- Open browser bookmarks - "nvim-telescope/telescope-file-browser.nvim", -- File and folder actions - "sudormrfbin/cheatsheet.nvim", -- Searchable cheatsheet - "nvim-telescope/telescope-node-modules.nvim", -- node_modules packages - "gbrlsnchs/telescope-lsp-handlers.nvim", -- LSP handlers - "crispgm/telescope-heading.nvim", -- Jump between headings - "nvim-telescope/telescope-fzy-native.nvim", -- FZY style sorter that is compiled - { "nvim-telescope/telescope-frecency.nvim", dependencies = { "tami5/sqlite.lua" } }, -- Frequency and recency - "nvim-telescope/telescope-github.nvim", -- GitHub CLI - "nvim-telescope/telescope-symbols.nvim", -- Symbols - "princejoogie/dir-telescope.nvim", -- Perform functions in selected directory - - -- Treesitter - { "nvim-treesitter/nvim-treesitter", build = ":TSUpdate" }, - "p00f/nvim-ts-rainbow", -- Rainbox parentheses - "nvim-treesitter/playground", -- Treesitter information in Neovim - "nvim-treesitter/nvim-treesitter-context", -- Show context - - -- DAP - "mfussenegger/nvim-dap", -- Debug Adapter Protocol - - -- File/Window Management - "ThePrimeagen/harpoon", -- Getting you where you want - "ThePrimeagen/git-worktree.nvim", -- Git Worktree - "lewis6991/gitsigns.nvim", -- Git decorations - "kyazdani42/nvim-web-devicons", -- Icons and colors for file types - "kyazdani42/nvim-tree.lua", -- A File Explorer - "akinsho/bufferline.nvim", -- Emulate tabs for buffers - "moll/vim-bbye", -- Delete buffers without closing the window - "akinsho/toggleterm.nvim", -- Terminal in Neovim - "nvim-lualine/lualine.nvim", -- Statusline - "norcalli/nvim-colorizer.lua", -- Highlight colors - "ahmedkhalf/project.nvim", -- Project Management - "lewis6991/impatient.nvim", -- Speed Up Startup - "lukas-reineke/indent-blankline.nvim", -- Indentation guides - "goolord/alpha-nvim", -- Customizable Greeter - "antoinemadec/FixCursorHold.nvim", -- This is needed to fix lsp doc highlight - "MattesGroeger/vim-bookmarks", -- Bookmarks - "folke/which-key.nvim", -- Display possible keybindings - "mrjones2014/legendary.nvim", -- Legend for keymaps, commands, and autocommands - "APZelos/blamer.nvim", -- Git Blame - "tpope/vim-fugitive", -- Git plugin - "elijahmanor/export-to-vscode.nvim", -- Export active Buffers to Visual Studio Code - "bogado/file-line", -- Jump directly to line in file with 'nvim index.html:20' - "ruanyl/vim-gh-line", -- Open current line in GitHub - "pwntester/octo.nvim", -- GitHub in Neovim - "nvim-pack/nvim-spectre", -- Search and replace - "stevearc/dressing.nvim", -- Improve the default vim.ui interfaces - "folke/zen-mode.nvim", -- Zen Mode - "tpope/vim-eunuch", -- UNIX Shell commands - "folke/twilight.nvim", -- Dim inactive code - "ray-x/guihua.lua", -- Lua GUI lib - "ray-x/sad.nvim", -- Find & Replace - "gorbit99/codewindow.nvim", -- Minimap - "simrat39/symbols-outline.nvim", -- Symbols Outline - "SmiteshP/nvim-navic", -- Statusline current context - "kevinhwang91/nvim-bqf", -- Better Quickfix - { "kevinhwang91/nvim-ufo", dependencies = "kevinhwang91/promise-async" }, -- Better folds - "debugloop/telescope-undo.nvim", -- Undo history - "mbbill/undotree", -- Undo tree - "mrjones2014/smart-splits.nvim", -- Smart splits - "xiyaowong/nvim-transparent", -- Remove all background colors - "nanotee/zoxide.vim", -- zoxide integration - "is0n/fm-nvim", -- terminal file managers - - -- Editing Files - "windwp/nvim-autopairs", -- Autopairs, integrates with both cmp and treesitter - "windwp/nvim-ts-autotag", -- Autoclose and autorename html tags - "numToStr/Comment.nvim", -- Easily comment stuff - "JoosepAlviste/nvim-ts-context-commentstring", -- Comment based on cursor location of file - { "iamcco/markdown-preview.nvim", build = "cd app && yarn install", cmd = "MarkdownPreview" }, - "yamatsum/nvim-cursorline", -- Highlight words and lines on the cursor - "mattn/emmet-vim", -- Emmet - "editorconfig/editorconfig-vim", -- Editorconfig - "sheerun/vim-polyglot", -- A collection of language packs (?, - "tpope/vim-abolish", -- Autofix spelling mistakes - "mg979/vim-visual-multi", -- Multi cursor mode - "vim-scripts/VisIncr", -- Increase and decreasing numbers, dates, daynames etc. - "monaqa/dial.nvim", -- Increase and decrease numbers, dates, times, etc - "rstacruz/vim-xtract", -- Extract code into new file - "tpope/vim-repeat", -- Repeat plugins - "kylechui/nvim-surround", -- Surround selections, stylishly - "wuelnerdotexe/vim-astro", -- Astro support - "MunifTanjim/prettier.nvim", -- Prettier - "untitled-ai/jupyter_ascending.vim", -- Interact with jupyter_ascending - "rhysd/vim-grammarous", -- A powerful grammar checker for Vim using LanguageTool - "mechatroner/rainbow_csv", -- Rainbow CSV - "dbeniamine/cheat.sh-vim", -- Cheat.sh - "wakatime/vim-wakatime", -- Wakatime - "github/copilot.vim", -- GitHub Copilot - "Exafunction/codeium.vim", -- Codeium - "folke/todo-comments.nvim", -- Highlight TODO - "DNLHC/glance.nvim", -- Pretty preview of LSP locations - "echasnovski/mini.nvim", -- Library with 20+ plugins - "dhruvasagar/vim-table-mode", -- Markdown table mode - { "princejoogie/chafa.nvim", dependencies = { "nvim-lua/plenary.nvim", "m00qek/baleia.nvim" } }, -- Preview images in terminal - - -- Custom Text Objects - "chrisgrieser/nvim-various-textobjs", -- Various text objects - "nvim-treesitter/nvim-treesitter-textobjects", -- Syntax aware text-objects - { "glts/vim-textobj-comment", dependencies = { "kana/vim-textobj-user" } }, -- ac, ic, aC - { "jceb/vim-textobj-uri", dependencies = { "kana/vim-textobj-user" } }, -- au, iu, go - { "kana/vim-textobj-datetime", dependencies = { "kana/vim-textobj-user" } }, -- ada, add, adf, adt, adz, ida, … - { "kana/vim-textobj-indent", dependencies = { "kana/vim-textobj-user" } }, -- Text objects for indentation - { "whatyouhide/vim-textobj-xmlattr", dependencies = { "kana/vim-textobj-user" } }, -- ax, ix - - -- Custom Motions - "tommcdo/vim-exchange", -- cx, cxx, X, cxc - "easymotion/vim-easymotion", -- f/L - "andymass/vim-matchup", -- Better % matching - - -- TMUX - "christoomey/vim-tmux-navigator", - "preservim/vimux", - "tyewang/vimux-jest-test", -- JavaScript tests - "jtdowney/vimux-cargo", -- Rust tests -} - -local opts = { - install = { - colorscheme = { - "tokyonight-night", - }, - }, -} - -require("lazy").setup(plugins, opts) diff --git a/nvim/lua/kogakure/text-objects.lua b/nvim/lua/kogakure/text-objects.lua deleted file mode 100644 index 911f947..0000000 --- a/nvim/lua/kogakure/text-objects.lua +++ /dev/null @@ -1,65 +0,0 @@ -local keymap = vim.keymap.set - --- Basic Text Objects -function Basic_text_objects() - local chars = { "_", ".", ":", ",", ";", "|", "/", "\\", "*", "+", "%", "`", "?" } - for _, char in ipairs(chars) do - for _, mode in ipairs({ "x", "o" }) do - keymap(mode, "i" .. char, string.format(":normal! T%svt%s", char, char), { - noremap = true, - silent = true, - }) - keymap(mode, "a" .. char, string.format(":normal! F%svf%s", char, char), { - noremap = true, - silent = true, - }) - end - end -end - -function Select_indent(around) - local start_indent = vim.fn.indent(vim.fn.line(".")) - local blank_line_pattern = "^%s*$" - - if string.match(vim.fn.getline("."), blank_line_pattern) then - return - end - - if vim.v.count > 0 then - start_indent = start_indent - vim.o.shiftwidth * (vim.v.count - 1) - if start_indent < 0 then - start_indent = 0 - end - end - - local prev_line = vim.fn.line(".") - 1 - local prev_blank_line = function(line) - return string.match(vim.fn.getline(line), blank_line_pattern) - end - while prev_line > 0 and (prev_blank_line(prev_line) or vim.fn.indent(prev_line) >= start_indent) do - vim.cmd("-") - prev_line = vim.fn.line(".") - 1 - end - if around then - vim.cmd("-") - end - - vim.cmd("normal! 0V") - - local next_line = vim.fn.line(".") + 1 - local next_blank_line = function(line) - return string.match(vim.fn.getline(line), blank_line_pattern) - end - local last_line = vim.fn.line("$") - while next_line <= last_line and (next_blank_line(next_line) or vim.fn.indent(next_line) >= start_indent) do - vim.cmd("+") - next_line = vim.fn.line(".") + 1 - end - if around then - vim.cmd("+") - end -end - -return { - basic_text_objects = Basic_text_objects, -} diff --git a/nvim/lua/plugins/abolish.lua b/nvim/lua/plugins/abolish.lua new file mode 100644 index 0000000..e593bf0 --- /dev/null +++ b/nvim/lua/plugins/abolish.lua @@ -0,0 +1,9 @@ +-- Automatically fix spelling mistakes +-- https://github.com/tpope/vim-abolish +return { + "tpope/vim-abolish", + config = function() + vim.api.nvim_command("Abolish teh the") + vim.api.nvim_command("Abolish {despa,sepe}rat{e,es,ed,ing,ely,ion,ions,or} {despe,sepa}rat{}") + end, +} diff --git a/nvim/lua/plugins/alpha.lua b/nvim/lua/plugins/alpha.lua new file mode 100644 index 0000000..dcf8073 --- /dev/null +++ b/nvim/lua/plugins/alpha.lua @@ -0,0 +1,29 @@ +-- Dashboard +-- https://github.com/goolord/alpha-nvim +return { + "goolord/alpha-nvim", + opts = function(_, opts) + opts.section.header.val = { + " ▖ ", + "┌─╮╭─╮╭─╮▖ ▖▖▄▄▗▄ ", + "│ │├─┘│ │▝▖▞ ▌▌ ▌ ▌", + "╵ ╵╰─╯╰─╯ ▝ ▘▘ ▘ ▘", + } + opts.section.buttons.val = { + opts.button("f", " " .. " Find file", ":Telescope find_files "), + opts.button("n", " " .. " New file", ":ene startinsert "), + opts.button("r", " " .. " Recent files", ":Telescope oldfiles "), + opts.button("g", " " .. " Find text", ":Telescope live_grep "), + opts.button("p", " " .. " Find Project", ":Telescope projects"), + opts.button("s", "勒" .. " Restore Session", [[:lua require("persistence").load() ]]), + opts.button("l", "鈴" .. " Lazy (Plugins)", ":Lazy"), + opts.button("m", " " .. " Mason (LSP, DAP, Linter, Formatter)", ":Mason"), + opts.button("q", " " .. " Quit", ":qa"), + opts.padding, + } + opts.section.header.opts.hl = "String" + opts.section.buttons.opts.hl = "Keyword" + opts.section.footer.opts.hl = "String" + opts.opts.opts.noautocmd = true + end, +} diff --git a/nvim/lua/plugins/astro.lua b/nvim/lua/plugins/astro.lua new file mode 100644 index 0000000..ddc4847 --- /dev/null +++ b/nvim/lua/plugins/astro.lua @@ -0,0 +1,8 @@ +-- Astro support +-- https://github.com/wuelnerdotexe/vim-astro +return { + "wuelnerdotexe/vim-astro", + config = function() + vim.g.astro_typescript = "enable" + end, +} diff --git a/nvim/lua/plugins/autotag.lua b/nvim/lua/plugins/autotag.lua new file mode 100644 index 0000000..37b3267 --- /dev/null +++ b/nvim/lua/plugins/autotag.lua @@ -0,0 +1,10 @@ +-- Use treesitter to auto close and auto rename HTML tags +-- https://github.com/windwp/nvim-ts-autotag +return { + "windwp/nvim-ts-autotag", + config = function() + require("nvim-ts-autotag").setup({ + disable_filetype = { "TelescopePrompt", "vim" }, + }) + end, +} diff --git a/nvim/lua/plugins/blamer.lua b/nvim/lua/plugins/blamer.lua new file mode 100644 index 0000000..f3f9013 --- /dev/null +++ b/nvim/lua/plugins/blamer.lua @@ -0,0 +1,14 @@ +-- Show Git blame inline +-- https://github.com/APZelos/blamer.nvim +return { + "APZelos/blamer.nvim", + keys = { + -- stylua: ignore + { "gB", "BlamerToggle", desc = "Git Blame" }, + }, + config = function() + vim.g.blamer_enabled = 0 + vim.g.blamer_relative_time = 1 + vim.g.blamer_delay = 200 + end, +} diff --git a/nvim/lua/plugins/bookmark.lua b/nvim/lua/plugins/bookmark.lua new file mode 100644 index 0000000..9f78b57 --- /dev/null +++ b/nvim/lua/plugins/bookmark.lua @@ -0,0 +1,5 @@ +-- Vim bookmark plugin +-- https://github.com/MattesGroeger/vim-bookmarks +return { + "MattesGroeger/vim-bookmarks", +} diff --git a/nvim/lua/plugins/chafa.lua b/nvim/lua/plugins/chafa.lua new file mode 100644 index 0000000..f57c6e5 --- /dev/null +++ b/nvim/lua/plugins/chafa.lua @@ -0,0 +1,20 @@ +-- View images in Neovim +-- https://github.com/princejoogie/chafa.nvim +return { + "princejoogie/chafa.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + "m00qek/baleia.nvim", + }, + config = function() + require("chafa").setup({ + render = { + min_padding = 5, + show_label = true, + }, + events = { + update_on_nvim_resize = true, + }, + }) + end, +} diff --git a/nvim/lua/plugins/cheatsheet.lua b/nvim/lua/plugins/cheatsheet.lua new file mode 100644 index 0000000..455ad08 --- /dev/null +++ b/nvim/lua/plugins/cheatsheet.lua @@ -0,0 +1,16 @@ +-- Searchable Cheatsheet +-- https://github.com/sudormrfbin/cheatsheet.nvim +return { + "sudormrfbin/cheatsheet.nvim", + dependencies = { + "nvim-telescope/telescope.nvim", + "nvim-lua/popup.nvim", + "nvim-lua/plenary.nvim", + }, + keys = { + { "C", "Cheatsheet", desc = "Cheatsheet" }, + }, + config = function() + require("cheatsheet").setup() + end, +} diff --git a/nvim/lua/plugins/cmp.lua b/nvim/lua/plugins/cmp.lua new file mode 100644 index 0000000..a953a7d --- /dev/null +++ b/nvim/lua/plugins/cmp.lua @@ -0,0 +1,48 @@ +return { + "hrsh7th/nvim-cmp", + dependencies = { + { "roobert/tailwindcss-colorizer-cmp.nvim", config = true }, + "zbirenbaum/copilot-cmp", + "David-Kunz/cmp-npm", + }, + opts = function(_, opts) + local cmp = require("cmp") + opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { + { name = "copilot" }, + { name = "npm", keyword_length = 4 }, + })) + opts.formatting = { + fields = { "kind", "abbr", "menu" }, + format = function(_, item) + local icons = require("lazyvim.config").icons.kinds + if icons[item.kind] then + item.kind = icons[item.kind] + end + return item + end, + } + + vim.api.nvim_set_hl(0, "CmpItemKindCopilot", { fg = "#6CC644" }) + vim.api.nvim_set_hl(0, "CmpItemAbbrMatch", { fg = "NONE", bg = "#000000" }) + + vim.cmd([[highlight! link CmpItemAbbrMatchFuzzy CmpItemAbbrMatch]]) + vim.cmd([[highlight! CmpItemAbbrDeprecated guibg=NONE gui=strikethrough guifg=#808080]]) + vim.cmd([[highlight! CmpItemAbbrMatch guibg=NONE guifg=#569CD6]]) + vim.cmd([[highlight! link CmpItemAbbrMatchFuzzy CmpItemAbbrMatch]]) + vim.cmd([[highlight! CmpItemKindVariable guibg=NONE guifg=#9CDCFE]]) + vim.cmd([[highlight! link CmpItemKindInterface CmpItemKindVariable]]) + vim.cmd([[highlight! link CmpItemKindText CmpItemKindVariable]]) + vim.cmd([[highlight! CmpItemKindFunction guibg=NONE guifg=#C586C0]]) + vim.cmd([[highlight! link CmpItemKindMethod CmpItemKindFunction]]) + vim.cmd([[highlight! CmpItemKindKeyword guibg=NONE guifg=#D4D4D4]]) + vim.cmd([[highlight! link CmpItemKindProperty CmpItemKindKeyword]]) + vim.cmd([[highlight! link CmpItemKindUnit CmpItemKindKeyword]]) + + -- Original LazyVim kind icon formatter + local format_kinds = opts.formatting.format + opts.formatting.format = function(entry, item) + format_kinds(entry, item) -- add icons + return require("tailwindcss-colorizer-cmp").formatter(entry, item) + end + end, +} diff --git a/nvim/lua/plugins/code-action-menu.lua b/nvim/lua/plugins/code-action-menu.lua new file mode 100644 index 0000000..f8d8e8c --- /dev/null +++ b/nvim/lua/plugins/code-action-menu.lua @@ -0,0 +1,10 @@ +-- Pop-up menu for code actions +-- https://github.com/weilbith/nvim-code-action-menu +return { + "weilbith/nvim-code-action-menu", + cmd = "CodeActionMenu", + keys = { + -- stylua: ignore + { "cc", "CodeActionMenu", desc = "Code Action Menu" }, + }, +} diff --git a/nvim/lua/plugins/codewindow.lua b/nvim/lua/plugins/codewindow.lua new file mode 100644 index 0000000..1f10c39 --- /dev/null +++ b/nvim/lua/plugins/codewindow.lua @@ -0,0 +1,10 @@ +-- Minimap +-- https://github.com/gorbit99/codewindow.nvim +return { + "gorbit99/codewindow.nvim", + config = function() + local codewindow = require("codewindow") + codewindow.setup() + codewindow.apply_default_keybinds() + end, +} diff --git a/nvim/lua/plugins/colorizer.lua b/nvim/lua/plugins/colorizer.lua new file mode 100644 index 0000000..03d69c1 --- /dev/null +++ b/nvim/lua/plugins/colorizer.lua @@ -0,0 +1,29 @@ +-- The fastest Neovim colorizer +-- https://github.com/norcalli/nvim-colorizer.lua +return { + "norcalli/nvim-colorizer.lua", + config = function() + require("colorizer").setup({ + "css", + "html", + "javascript", + "javascriptreact", + "typescript", + "typescriptreact", + "yaml", + "conf", + "lua", + }, { + RGB = true, + RRGGBB = true, + names = true, + RRGGBBAA = true, + rgb_fn = true, + hsl_fn = true, + css = true, + css_fn = true, + mode = "background", + tailwind = true, + }) + end, +} diff --git a/nvim/lua/plugins/colorschemes.lua b/nvim/lua/plugins/colorschemes.lua new file mode 100644 index 0000000..a396a6d --- /dev/null +++ b/nvim/lua/plugins/colorschemes.lua @@ -0,0 +1,18 @@ +-- https://github.com/folke/tokyonight.nvim +-- https://github.com/chriskempson/base16-vim +-- https://github.com/kartikp10/noctis.nvim +-- https://github.com/catppuccin/nvim +return { + "folke/tokyonight.nvim", -- Tokyo Night color scheme + "chriskempson/base16-vim", -- Base16 colorschemes + { "kartikp10/noctis.nvim", dependencies = "rktjmp/lush.nvim" }, -- Noctis color scheme + { "catppuccin/nvim", name = "catppuccin" }, -- Catppuccin color scheme + + -- Configure LazyVim to load Tokyo Night + { + "LazyVim/LazyVim", + opts = { + colorscheme = "tokyonight-night", + }, + }, +} diff --git a/nvim/lua/plugins/committia.lua b/nvim/lua/plugins/committia.lua new file mode 100644 index 0000000..3b2268e --- /dev/null +++ b/nvim/lua/plugins/committia.lua @@ -0,0 +1,5 @@ +-- More pleasant editing on commit messages +-- https://github.com/rhysd/committia.vim +return { + "rhysd/committia.vim", +} diff --git a/nvim/lua/plugins/copilot.lua b/nvim/lua/plugins/copilot.lua new file mode 100644 index 0000000..47317fc --- /dev/null +++ b/nvim/lua/plugins/copilot.lua @@ -0,0 +1,10 @@ +-- Copilot replacement +-- https://github.com/zbirenbaum/copilot.lua +-- https://github.com/zbirenbaum/copilot-cmp +return { + "zbirenbaum/copilot-cmp", + dependencies = "zbirenbaum/copilot.lua", + opts = function() + require("copilot").setup() + end, +} diff --git a/nvim/lua/plugins/cursorline.lua b/nvim/lua/plugins/cursorline.lua new file mode 100644 index 0000000..d9ea088 --- /dev/null +++ b/nvim/lua/plugins/cursorline.lua @@ -0,0 +1,19 @@ +-- Highlight cursor words and lines +-- https://github.com/yamatsum/nvim-cursorline +return { + "yamatsum/nvim-cursorline", + config = function() + require("nvim-cursorline").setup({ + cursorline = { + enable = true, + timeout = 1000, + number = false, + }, + cursorword = { + enable = true, + min_length = 3, + hl = { underline = true }, + }, + }) + end, +} diff --git a/nvim/lua/plugins/dial.lua b/nvim/lua/plugins/dial.lua new file mode 100644 index 0000000..6551759 --- /dev/null +++ b/nvim/lua/plugins/dial.lua @@ -0,0 +1,28 @@ +-- Enhanced increment/decrement +-- https://github.com/monaqa/dial.nvim +return { + "monaqa/dial.nvim", + config = function() + local augend = require("dial.augend") + local opts = { noremap = true, silent = true } + + require("dial.config").augends:register_group({ + default = { + augend.constant.alias.bool, + augend.constant.alias.de_weekday, + augend.constant.alias.de_weekday_full, + augend.date.alias["%d.%m.%Y"], + augend.hexcolor.new({ case = "lower" }), + augend.integer.alias.decimal_int, + augend.semver.alias.semver, + }, + }) + + vim.keymap.set("n", "", require("dial.map").inc_normal(), opts) + vim.keymap.set("n", "", require("dial.map").dec_normal(), opts) + vim.keymap.set("v", "", require("dial.map").inc_visual(), opts) + vim.keymap.set("v", "", require("dial.map").dec_visual(), opts) + vim.keymap.set("v", "g", require("dial.map").inc_gvisual(), opts) + vim.keymap.set("v", "g", require("dial.map").dec_gvisual(), opts) + end, +} diff --git a/nvim/lua/plugins/diffview.lua b/nvim/lua/plugins/diffview.lua new file mode 100644 index 0000000..4501edf --- /dev/null +++ b/nvim/lua/plugins/diffview.lua @@ -0,0 +1,20 @@ +-- Easily cycle through diffs +-- https://github.com/sindrets/diffview.nvim +return { + "sindrets/diffview.nvim", + lazy = false, + dependencies = "nvim-lua/plenary.nvim", + keys = { + { "gdo", "DiffviewOpen", desc = "Diffview Open" }, + { "gdx", "DiffviewClose", desc = "Diffview Close" }, + }, + opts = { + view = { + use_icons = true, + default = { + layout = "diff2_horizontal", + winbar_info = false, + }, + }, + }, +} diff --git a/nvim/lua/plugins/editorconfig.lua b/nvim/lua/plugins/editorconfig.lua new file mode 100644 index 0000000..6db40cf --- /dev/null +++ b/nvim/lua/plugins/editorconfig.lua @@ -0,0 +1,5 @@ +-- Editorconfig +-- https://github.com/editorconfig/editorconfig-vim +return { + "editorconfig/editorconfig-vim", +} diff --git a/nvim/lua/plugins/emmet.lua b/nvim/lua/plugins/emmet.lua new file mode 100644 index 0000000..909b25a --- /dev/null +++ b/nvim/lua/plugins/emmet.lua @@ -0,0 +1,6 @@ +-- Emmet +-- https://github.com/mattn/emmet-vim +-- , to extend +return { + "mattn/emmet-vim", +} diff --git a/nvim/lua/plugins/example.lua b/nvim/lua/plugins/example.lua new file mode 100644 index 0000000..bd8995a --- /dev/null +++ b/nvim/lua/plugins/example.lua @@ -0,0 +1,267 @@ +-- since this is just an example spec, don't actually load anything here and return an empty spec +-- stylua: ignore +if true then return {} end + +-- every spec file under config.plugins will be loaded automatically by lazy.nvim +-- +-- In your plugin files, you can: +-- * add extra plugins +-- * disable/enabled LazyVim plugins +-- * override the configuration of LazyVim plugins +return { + -- add gruvbox + { "ellisonleao/gruvbox.nvim" }, + + -- Configure LazyVim to load gruvbox + { + "LazyVim/LazyVim", + opts = { + colorscheme = "gruvbox", + }, + }, + + -- change trouble config + { + "folke/trouble.nvim", + -- opts will be merged with the parent spec + opts = { use_diagnostic_signs = true }, + }, + + -- disable trouble + { "folke/trouble.nvim", enabled = false }, + + -- add symbols-outline + { + "simrat39/symbols-outline.nvim", + cmd = "SymbolsOutline", + keys = { { "cs", "SymbolsOutline", desc = "Symbols Outline" } }, + config = true, + }, + + -- override nvim-cmp and add cmp-emoji + { + "hrsh7th/nvim-cmp", + dependencies = { "hrsh7th/cmp-emoji" }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local cmp = require("cmp") + opts.sources = cmp.config.sources(vim.list_extend(opts.sources, { { name = "emoji" } })) + end, + }, + + -- change some telescope options and a keymap to browse plugin files + { + "nvim-telescope/telescope.nvim", + keys = { + -- add a keymap to browse plugin files + -- stylua: ignore + { + "fp", + function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, + desc = "Find Plugin File", + }, + }, + -- change some options + opts = { + defaults = { + layout_strategy = "horizontal", + layout_config = { prompt_position = "top" }, + sorting_strategy = "ascending", + winblend = 0, + }, + }, + }, + + -- add telescope-fzf-native + { + "telescope.nvim", + dependencies = { + "nvim-telescope/telescope-fzf-native.nvim", + build = "make", + config = function() + require("telescope").load_extension("fzf") + end, + }, + }, + + -- add pyright to lspconfig + { + "neovim/nvim-lspconfig", + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- pyright will be automatically installed with mason and loaded with lspconfig + pyright = {}, + }, + }, + }, + + -- add tsserver and setup with typescript.nvim instead of lspconfig + { + "neovim/nvim-lspconfig", + dependencies = { + "jose-elias-alvarez/typescript.nvim", + init = function() + require("lazyvim.util").on_attach(function(_, buffer) + -- stylua: ignore + vim.keymap.set( "n", "co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) + vim.keymap.set("n", "cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) + end) + end, + }, + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- tsserver will be automatically installed with mason and loaded with lspconfig + tsserver = {}, + }, + -- you can do any additional lsp server setup here + -- return true if you don't want this server to be setup with lspconfig + ---@type table + setup = { + -- example to setup with typescript.nvim + tsserver = function(_, opts) + require("typescript").setup({ server = opts }) + return true + end, + -- Specify * to use this function as a fallback for any server + -- ["*"] = function(server, opts) end, + }, + }, + }, + + -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, + -- treesitter, mason and typescript.nvim. So instead of the above, you can use: + { import = "lazyvim.plugins.extras.lang.typescript" }, + + -- add more treesitter parsers + { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "bash", + "help", + "html", + "javascript", + "json", + "lua", + "markdown", + "markdown_inline", + "python", + "query", + "regex", + "tsx", + "typescript", + "vim", + "yaml", + }, + }, + }, + + -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above + -- would overwrite `ensure_installed` with the new value. + -- If you'd rather extend the default config, use the code below instead: + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + -- add tsx and treesitter + vim.list_extend(opts.ensure_installed, { + "tsx", + "typescript", + }) + end, + }, + + -- the opts function can also be used to change the default opts: + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function(_, opts) + table.insert(opts.sections.lualine_x, "😄") + end, + }, + + -- or you can return new options to override all the defaults + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function() + return { + --[[add your custom lualine config here]] + } + end, + }, + + -- use mini.starter instead of alpha + { import = "lazyvim.plugins.extras.ui.mini-starter" }, + + -- add jsonls and schemastore ans setup treesitter for json, json5 and jsonc + { import = "lazyvim.plugins.extras.lang.json" }, + + -- add any tools you want to have installed below + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "stylua", + "shellcheck", + "shfmt", + "flake8", + }, + }, + }, + + -- Use for completion and snippets (supertab) + -- first: disable default and behavior in LuaSnip + { + "L3MON4D3/LuaSnip", + keys = function() + return {} + end, + }, + -- then: setup supertab in cmp + { + "hrsh7th/nvim-cmp", + dependencies = { + "hrsh7th/cmp-emoji", + }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + local has_words_before = function() + unpack = unpack or table.unpack + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil + end + + local luasnip = require("luasnip") + local cmp = require("cmp") + + opts.mapping = vim.tbl_extend("force", opts.mapping, { + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() + -- they way you will only jump inside the snippet region + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + }) + end, + }, +} diff --git a/nvim/lua/plugins/export-to-vscode.lua b/nvim/lua/plugins/export-to-vscode.lua new file mode 100644 index 0000000..7f51799 --- /dev/null +++ b/nvim/lua/plugins/export-to-vscode.lua @@ -0,0 +1,9 @@ +-- Export active buffers to VS Code +-- https://github.com/elijahmanor/export-to-vscode.nvim +return { + "elijahmanor/export-to-vscode.nvim", + keys = { + -- stylua: ignore + { "code", function() require("export-to-vscode").launch() end, desc = "Export to VS Code" }, + }, +} diff --git a/nvim/lua/plugins/fm.lua b/nvim/lua/plugins/fm.lua new file mode 100644 index 0000000..411d7d9 --- /dev/null +++ b/nvim/lua/plugins/fm.lua @@ -0,0 +1,60 @@ +-- Use favorite terminal file managers in Neovim +-- https://github.com/is0n/fm-nvim +return { + "is0n/fm-nvim", + keys = { + { "", "Lazygit", desc = "Lazygit" }, + { "", "Lf", desc = "Lf" }, + }, + opts = { + edit_cmd = "edit", + on_close = {}, + on_open = {}, + ui = { + default = "float", + float = { + border = "rounded", + float_hl = "Normal", + border_hl = "FloatBorder", + blend = 0, + height = 0.9, + width = 0.9, + x = 0.5, + y = 0.5, + }, + split = { + direction = "topleft", + size = 24, + }, + }, + cmds = { + lf_cmd = "lf", + fm_cmd = "fm", + nnn_cmd = "nnn", + fff_cmd = "fff", + twf_cmd = "twf", + fzf_cmd = "fzf", + fzy_cmd = "find . | fzy", + xplr_cmd = "xplr", + vifm_cmd = "vifm", + skim_cmd = "sk", + broot_cmd = "broot", + gitui_cmd = "gitui", + ranger_cmd = "ranger", + joshuto_cmd = "joshuto", + lazygit_cmd = "lazygit", + neomutt_cmd = "neomutt", + taskwarrior_cmd = "taskwarrior-tui", + }, + mappings = { + vert_split = "", + horz_split = "", + tabedit = "", + edit = "", + ESC = "", + }, + }, + config = function() + require("fm-nvim").setup() + end, +} diff --git a/nvim/lua/plugins/gh-line.lua b/nvim/lua/plugins/gh-line.lua new file mode 100644 index 0000000..fd3575c --- /dev/null +++ b/nvim/lua/plugins/gh-line.lua @@ -0,0 +1,8 @@ +-- Open the link of current line on GitHub +-- https://github.com/ruanyl/vim-gh-line +return { + "ruanyl/vim-gh-line", + config = function() + vim.g.gh_github_domain = "source.xing.com" + end, +} diff --git a/nvim/lua/plugins/grammarous.lua b/nvim/lua/plugins/grammarous.lua new file mode 100644 index 0000000..b7f0d60 --- /dev/null +++ b/nvim/lua/plugins/grammarous.lua @@ -0,0 +1,5 @@ +-- A powerful grammar checker using LanguageTool +-- https://github.com/rhysd/vim-grammarous +return { + "rhysd/vim-grammarous", +} diff --git a/nvim/lua/plugins/harpoon.lua b/nvim/lua/plugins/harpoon.lua new file mode 100644 index 0000000..bb1b5b8 --- /dev/null +++ b/nvim/lua/plugins/harpoon.lua @@ -0,0 +1,25 @@ +-- Getting you where you want with the fewest keystrokes +-- https://github.com/ThePrimeagen/harpoon +return { + "ThePrimeagen/harpoon", + dependencies = "nvim-telescope/telescope.nvim", + -- stylua: ignore + keys = { + { "a", function() require("harpoon.ui").add_file() end, desc = "Harpoon Add File" }, + { ";", function() require("harpoon.ui").toggle_quick_menu() end, desc = "Harpoon Toggle Quickmenu" }, + { "1", function() require("harpoon.ui").nav_file(1) end, desc = "Harpoon Buffer 1" }, + { "2", function() require("harpoon.ui").nav_file(2) end, desc = "Harpoon Buffer 2" }, + { "3", function() require("harpoon.ui").nav_file(3) end, desc = "Harpoon Buffer 3" }, + { "4", function() require("harpoon.ui").nav_file(4) end, desc = "Harpoon Buffer 4" }, + }, + opts = { + global_settings = { + mark_branch = true, + }, + width = vim.api.nvim_win_get_width(0) - 4, + }, + config = function() + require("harpoon").setup() + require("telescope").load_extension("harpoon") + end, +} diff --git a/nvim/lua/plugins/legendary.lua b/nvim/lua/plugins/legendary.lua new file mode 100644 index 0000000..851ecbd --- /dev/null +++ b/nvim/lua/plugins/legendary.lua @@ -0,0 +1,17 @@ +-- A legend for your keymaps, commands, and autocmds +-- https://github.com/mrjones2014/legendary.nvim +return { + "mrjones2014/legendary.nvim", + dependencies = { + "kkharji/sqlite.lua", + }, + keys = { + -- stylua: ignore + { "L", "Legendary", desc = "Legendary" }, + }, + config = function() + require("legendary").setup({ + which_key = { auto_register = true }, + }) + end, +} diff --git a/nvim/lua/plugins/lf.lua b/nvim/lua/plugins/lf.lua new file mode 100644 index 0000000..5bc169e --- /dev/null +++ b/nvim/lua/plugins/lf.lua @@ -0,0 +1,21 @@ +-- Lf file manager for Neovim +-- https://github.com/lmburns/lf.nvim +return { + "lmburns/lf.nvim", + cmd = "Lf", + dependencies = { + "nvim-lua/plenary.nvim", + "akinsho/toggleterm.nvim", + }, + keys = { + { "fl", "Lf", desc = "Lf File Manager" }, + }, + opts = { + winblend = 0, + highlights = { NormalFloat = { guibg = "NONE" } }, + border = "curved", + height = 0.70, + width = 0.85, + escape_quit = true, + }, +} diff --git a/nvim/lua/plugins/lspconfig.lua b/nvim/lua/plugins/lspconfig.lua new file mode 100644 index 0000000..2b60626 --- /dev/null +++ b/nvim/lua/plugins/lspconfig.lua @@ -0,0 +1,27 @@ +-- Quickstart configs for Nvim LSP +-- https://github.com/neovim/nvim-lspconfig +return { + "neovim/nvim-lspconfig", + init = function() + require("lazyvim.util").on_attach(function(_, buffer) + -- stylua: ignore + vim.keymap.set("n", "g0", "Telescope lsp_document_symbols", { buffer = buffer, desc = "Document Symbols" }) + end) + end, + opts = { + servers = { + astro = {}, + cssls = {}, + cssmodules_ls = {}, + diagnosticls = {}, + emmet_ls = {}, + graphql = {}, + html = {}, + jsonls = {}, + sumneko_lua = {}, + svelte = {}, + tsserver = {}, + yamlls = {}, + }, + }, +} diff --git a/nvim/lua/plugins/lualine.lua b/nvim/lua/plugins/lualine.lua new file mode 100644 index 0000000..d0e3811 --- /dev/null +++ b/nvim/lua/plugins/lualine.lua @@ -0,0 +1,97 @@ +return { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function() + local icons = require("lazyvim.config").icons + + local function fg(name) + return function() + ---@type {foreground?:number}? + local hl = vim.api.nvim_get_hl_by_name(name, true) + return hl and hl.foreground and { fg = string.format("#%06x", hl.foreground) } + end + end + + return { + options = { + icons_enabled = true, + theme = "transparent", + component_separators = { left = "", right = "" }, + section_separators = { left = "", right = "" }, + disabled_filetypes = { "alpha", "dashboard", "lazy " }, + always_divide_middle = true, + globalstatus = true, + }, + sections = { + lualine_a = { "mode" }, + lualine_b = { "branch" }, + lualine_c = { + { + "diagnostics", + symbols = { + error = icons.diagnostics.Error, + warn = icons.diagnostics.Warn, + info = icons.diagnostics.Info, + hint = icons.diagnostics.Hint, + }, + }, + { "filetype", icon_only = true, separator = "", padding = { left = 1, right = 0 } }, + { "filename", path = 1, symbols = { modified = "  ", readonly = "", unnamed = "" } }, + -- stylua: ignore + { + function() return require("nvim-navic").get_location() end, + cond = function() return package.loaded["nvim-navic"] and require("nvim-navic").is_available() end, + }, + }, + lualine_x = { + { + function() + return require("noice").api.status.command.get() + end, + cond = function() + return package.loaded["noice"] and require("noice").api.status.command.has() + end, + color = fg("Statement"), + }, + { + function() + return require("noice").api.status.mode.get() + end, + cond = function() + return package.loaded["noice"] and require("noice").api.status.mode.has() + end, + color = fg("Constant"), + }, + { require("lazy.status").updates, cond = require("lazy.status").has_updates, color = fg("Special") }, + { + "diff", + symbols = { + added = icons.git.added, + modified = icons.git.modified, + removed = icons.git.removed, + }, + }, + }, + lualine_y = { + { "progress", separator = "", padding = { left = 1, right = 0 } }, + { "location", padding = { left = 0, right = 1 } }, + }, + lualine_z = { + function() + return " " .. os.date("%R") + end, + }, + }, + inactive_sections = { + lualine_a = {}, + lualine_b = {}, + lualine_c = { "filename" }, + lualine_x = { "location" }, + lualine_y = {}, + lualine_z = {}, + }, + tabline = {}, + extensions = { "neo-tree" }, + } + end, +} diff --git a/nvim/lua/plugins/mason.lua b/nvim/lua/plugins/mason.lua new file mode 100644 index 0000000..6508891 --- /dev/null +++ b/nvim/lua/plugins/mason.lua @@ -0,0 +1,38 @@ +-- Package manager for LSP servers, DAP servers, linters, and formatters +-- https://github.com/williamboman/mason.nvim +return { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "astro-language-server", + "cspell", + "css-lsp", + "cssmodules-language-server", + "diagnostic-languageserver", + "emmet-ls", + "eslint_d", + "html-lsp", + "json-lsp", + "lua-language-server", + "markdownlint", + "prettier", + "prettierd", + "pyright", + "shellcheck", + "stylua", + "svelte-language-server", + "typescript-language-server", + "vale", + "yaml-language-server", + "yamlfmt", + }, + ui = { + border = "rounded", + icons = { + package_installed = "✓", + package_pending = "➜", + package_uninstalled = "✗", + }, + }, + }, +} diff --git a/nvim/lua/plugins/mundo.lua b/nvim/lua/plugins/mundo.lua new file mode 100644 index 0000000..08c7319 --- /dev/null +++ b/nvim/lua/plugins/mundo.lua @@ -0,0 +1,5 @@ +-- Vim undo tree visualizer +-- https://github.com/simnalamburt/vim-mundo +return { + "simnalamburt/vim-mundo", +} diff --git a/nvim/lua/plugins/noice.lua b/nvim/lua/plugins/noice.lua new file mode 100644 index 0000000..ee36a00 --- /dev/null +++ b/nvim/lua/plugins/noice.lua @@ -0,0 +1,12 @@ +-- Experimental UI plugin +-- https://github.com/folke/noice.nvim +return { + "folke/noice.nvim", + opts = { + lsp = { + progress = { + enabled = true, + }, + }, + }, +} diff --git a/nvim/lua/plugins/notify.lua b/nvim/lua/plugins/notify.lua new file mode 100644 index 0000000..64639f4 --- /dev/null +++ b/nvim/lua/plugins/notify.lua @@ -0,0 +1,10 @@ +-- A fancy, configurable notification manager +-- https://github.com/rcarriga/nvim-notify +return { + "rcarriga/nvim-notify", + opts = { + render = "minimal", + stages = "static", + timeout = 2000, + }, +} diff --git a/nvim/lua/plugins/null-ls.lua b/nvim/lua/plugins/null-ls.lua new file mode 100644 index 0000000..549ffd9 --- /dev/null +++ b/nvim/lua/plugins/null-ls.lua @@ -0,0 +1,31 @@ +return { + "jose-elias-alvarez/null-ls.nvim", + config = function() + local null_ls = require("null-ls") + null_ls.setup({ + debug = false, + debounce = 50, + save_after_format = false, + sources = { + null_ls.builtins.code_actions.cspell, + null_ls.builtins.code_actions.eslint, + null_ls.builtins.diagnostics.cspell, + null_ls.builtins.diagnostics.eslint, + null_ls.builtins.diagnostics.fish, + null_ls.builtins.diagnostics.markdownlint, + null_ls.builtins.diagnostics.stylelint, + null_ls.builtins.diagnostics.tsc, + null_ls.builtins.diagnostics.tsc, + null_ls.builtins.formatting.black, + null_ls.builtins.formatting.fish_indent, + null_ls.builtins.formatting.prettierd, + null_ls.builtins.formatting.shfmt, + null_ls.builtins.formatting.stylelint, + null_ls.builtins.formatting.stylua, + null_ls.builtins.formatting.trim_newlines, + null_ls.builtins.formatting.trim_whitespace, + }, + root_dir = require("null-ls.utils").root_pattern("package.json", ".null-ls-root", ".neoconf.json", ".git"), + }) + end, +} diff --git a/nvim/lua/plugins/nvim-treesitter.lua b/nvim/lua/plugins/nvim-treesitter.lua new file mode 100644 index 0000000..fcebb29 --- /dev/null +++ b/nvim/lua/plugins/nvim-treesitter.lua @@ -0,0 +1,27 @@ +-- Nvim Treesitter configurations +-- https://github.com/nvim-treesitter/nvim-treesitter +return { + "nvim-treesitter/nvim-treesitter", + "nvim-treesitter/playground", + opts = { + ensure_installed = { + "astro", + "bash", + "css", + "help", + "html", + "javascript", + "json", + "lua", + "markdown", + "markdown_inline", + "python", + "query", + "regex", + "tsx", + "typescript", + "vim", + "yaml", + }, + }, +} diff --git a/nvim/lua/plugins/octo.lua b/nvim/lua/plugins/octo.lua new file mode 100644 index 0000000..0771845 --- /dev/null +++ b/nvim/lua/plugins/octo.lua @@ -0,0 +1,13 @@ +-- Edit and review GitHub issues and pull requests +-- https://github.com/pwntester/octo.nvim +return { + "pwntester/octo.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-telescope/telescope.nvim", + "nvim-tree/nvim-web-devicons", + }, + config = function() + require("octo").setup() + end, +} diff --git a/nvim/lua/plugins/prettier.lua b/nvim/lua/plugins/prettier.lua new file mode 100644 index 0000000..775068c --- /dev/null +++ b/nvim/lua/plugins/prettier.lua @@ -0,0 +1,26 @@ +return { + "MunifTanjim/prettier.nvim", + dependencies = { + "neovim/nvim-lspconfig", + "jose-elias-alvarez/null-ls.nvim", + }, + config = function() + require("prettier").setup({ + bin = "prettierd", + filetypes = { + "css", + "graphql", + "html", + "javascript", + "javascriptreact", + "json", + "less", + "markdown", + "scss", + "typescript", + "typescriptreact", + "yaml", + }, + }) + end, +} diff --git a/nvim/lua/plugins/project.lua b/nvim/lua/plugins/project.lua new file mode 100644 index 0000000..33d8365 --- /dev/null +++ b/nvim/lua/plugins/project.lua @@ -0,0 +1,23 @@ +-- The superior project management solution for neovim +-- https://github.com/ahmedkhalf/project.nvim +return { + "ahmedkhalf/project.nvim", + keys = { + -- stylua: ignore + { "p", ":Telescope projects", desc = "Search Projects" }, + }, + config = function() + require("project_nvim").setup({ + active = true, + on_config_done = nil, + manual_mode = false, + detection_methods = { "pattern" }, + patterns = { ".git", "Makefile", ".gitignore", "package.json", "!node_modules" }, + show_hidden = false, + silent_chdir = true, + ignore_lsp = {}, + datapath = vim.fn.stdpath("data"), + }) + require("telescope").load_extension("projects") + end, +} diff --git a/nvim/lua/plugins/rainbow-csv.lua b/nvim/lua/plugins/rainbow-csv.lua new file mode 100644 index 0000000..a11f3c6 --- /dev/null +++ b/nvim/lua/plugins/rainbow-csv.lua @@ -0,0 +1,5 @@ +-- Highlight columns in CSV files +-- https://github.com/mechatroner/rainbow_csv +return { + "mechatroner/rainbow_csv", +} diff --git a/nvim/lua/plugins/smart-splits.lua b/nvim/lua/plugins/smart-splits.lua new file mode 100644 index 0000000..b440d09 --- /dev/null +++ b/nvim/lua/plugins/smart-splits.lua @@ -0,0 +1,34 @@ +return { + "mrjones2014/smart-splits.nvim", + keys = { + { "wr", "SmartResizeMode", desc = "Toggle Smart Resize Mode" }, + }, + config = function() + require("smart-splits").setup({ + ignored_filetypes = { + "nofile", + "quickfix", + "prompt", + }, + ignored_buftypes = { "NvimTree" }, + default_amount = 3, + wrap_at_edge = true, + move_cursor_same_row = false, + resize_mode = { + quit_key = "", + resize_keys = { "h", "j", "k", "l" }, + silent = false, + hooks = { + on_enter = nil, + on_leave = nil, + }, + }, + ignored_events = { + "BufEnter", + "WinEnter", + }, + tmux_integration = true, + disable_tmux_nav_when_zoomed = true, + }) + end, +} diff --git a/nvim/lua/plugins/symbols-outline.lua b/nvim/lua/plugins/symbols-outline.lua new file mode 100644 index 0000000..91ce9fc --- /dev/null +++ b/nvim/lua/plugins/symbols-outline.lua @@ -0,0 +1,10 @@ +-- A tree view for symbols +-- https://github.com/simrat39/symbols-outline.nvim +return { + "simrat39/symbols-outline.nvim", + config = function() + require("symbols-outline").setup({ + width = 25, + }) + end, +} diff --git a/nvim/lua/plugins/table-mode.lua b/nvim/lua/plugins/table-mode.lua new file mode 100644 index 0000000..63f8575 --- /dev/null +++ b/nvim/lua/plugins/table-mode.lua @@ -0,0 +1,5 @@ +-- Table Mode for instant table creation +-- https://github.com/dhruvasagar/vim-table-mode +return { + "dhruvasagar/vim-table-mode", +} diff --git a/nvim/lua/plugins/telecope-heading.lua b/nvim/lua/plugins/telecope-heading.lua new file mode 100644 index 0000000..26bab3f --- /dev/null +++ b/nvim/lua/plugins/telecope-heading.lua @@ -0,0 +1,21 @@ +-- Telescope extention to switch between Headlines +-- https://github.com/crispgm/telescope-heading.nvim +return { + "telescope.nvim", + dependencies = { + "crispgm/telescope-heading.nvim", + keys = { + { "sl", "Telescope heading", desc = "Headlines" }, + }, + opts = { + extensions = { + heading = { + treesitter = true, + }, + }, + }, + config = function() + require("telescope").load_extension("heading") + end, + }, +} diff --git a/nvim/lua/plugins/telescope-bookmarks.lua b/nvim/lua/plugins/telescope-bookmarks.lua new file mode 100644 index 0000000..8d33a76 --- /dev/null +++ b/nvim/lua/plugins/telescope-bookmarks.lua @@ -0,0 +1,22 @@ +-- Telescope extension to open your Browser bookmarks +-- https://github.com/dhruvmanila/telescope-bookmarks.nvim +return { + "telescope.nvim", + dependencies = { + "dhruvmanila/telescope-bookmarks.nvim", + keys = { + { "sR", "Telescope bookmarks", desc = "Brave Bookmarks" }, + }, + opts = { + extensions = { + bookmarks = { + selected_browser = "brave", + url_open_command = "open", + }, + }, + }, + config = function() + require("telescope").load_extension("bookmarks") + end, + }, +} diff --git a/nvim/lua/plugins/telescope-file-browser.lua b/nvim/lua/plugins/telescope-file-browser.lua new file mode 100644 index 0000000..238d479 --- /dev/null +++ b/nvim/lua/plugins/telescope-file-browser.lua @@ -0,0 +1,22 @@ +-- Telescope extension for a File Browser +-- https://github.com/nvim-telescope/telescope-file-browser.nvim +return { + "telescope.nvim", + dependencies = { + "nvim-telescope/telescope-file-browser.nvim", + keys = { + { "sB", ":Telescope file_browser path=%:p:h=%:p:h", desc = "Browse Files" }, + }, + opts = { + extensions = { + file_browser = { + theme = "ivy", + hijack_netrw = true, + }, + }, + }, + config = function() + require("telescope").load_extension("file_browser") + end, + }, +} diff --git a/nvim/lua/plugins/telescope-frecency.lua b/nvim/lua/plugins/telescope-frecency.lua new file mode 100644 index 0000000..8ab0edb --- /dev/null +++ b/nvim/lua/plugins/telescope-frecency.lua @@ -0,0 +1,27 @@ +-- Telescope extensionn that offers intelligent priorization +-- https://github.com/nvim-telescope/telescope-frecency.nvim +return { + "telescope.nvim", + dependencies = { + "nvim-telescope/telescope-frecency.nvim", + dependencies = { + "kkharji/sqlite.lua", + }, + keys = { + { "sf", "Telescope frecency", desc = "Frecency" }, + }, + opts = { + extensions = { + frecency = { + show_scores = false, + show_unindexed = true, + ignore_patterns = { "*.git/*", "*/tmp/*" }, + disable_devicons = false, + }, + }, + }, + config = function() + require("telescope").load_extension("frecency") + end, + }, +} diff --git a/nvim/lua/plugins/telescope-fzy-native.lua b/nvim/lua/plugins/telescope-fzy-native.lua new file mode 100644 index 0000000..129e341 --- /dev/null +++ b/nvim/lua/plugins/telescope-fzy-native.lua @@ -0,0 +1,21 @@ +-- Telescope extension for a FZY style sorter that is compiled +-- https://github.com/nvim-telescope/telescope-fzy-native.nvim +return { + "telescope.nvim", + dependencies = { + "nvim-telescope/telescope-fzy-native.nvim", + opts = { + extensions = { + fzy_native = { + fuzzy = true, + override_generic_sorter = true, + override_file_sorter = true, + case_mode = "smart_case", + }, + }, + }, + config = function() + require("telescope").load_extension("fzy_native") + end, + }, +} diff --git a/nvim/lua/plugins/telescope-github.lua b/nvim/lua/plugins/telescope-github.lua new file mode 100644 index 0000000..0310312 --- /dev/null +++ b/nvim/lua/plugins/telescope-github.lua @@ -0,0 +1,12 @@ +-- Telescope extension to integrate with GitHub CLI +-- https://github.com/nvim-telescope/telescope-github.nvim +return { + "telescope.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-telescope/telescope-github.nvim", + config = function() + require("telescope").load_extension("gh") + end, + }, +} diff --git a/nvim/lua/plugins/telescope-node-modules.lua b/nvim/lua/plugins/telescope-node-modules.lua new file mode 100644 index 0000000..ad160fe --- /dev/null +++ b/nvim/lua/plugins/telescope-node-modules.lua @@ -0,0 +1,14 @@ +-- Telescope plugin to search the node_modules directory +-- https://github.com/nvim-telescope/telescope-node-modules.nvim +return { + "telescope.nvim", + dependencies = { + "nvim-telescope/telescope-node-modules.nvim", + keys = { + { "sN", "Telescope node_modules list", desc = "Node Modules" }, + }, + config = function() + require("telescope").load_extension("node_modules") + end, + }, +} diff --git a/nvim/lua/plugins/telescope-undo.lua b/nvim/lua/plugins/telescope-undo.lua new file mode 100644 index 0000000..2bf71cd --- /dev/null +++ b/nvim/lua/plugins/telescope-undo.lua @@ -0,0 +1,23 @@ +-- Telescope extension to view and search the undo tree +-- https://github.com/debugloop/telescope-undo.nvim +return { + "nvim-telescope/telescope.nvim", + dependencies = { + "nvim-lua/plenary.nvim", + "debugloop/telescope-undo.nvim", + }, + opts = { + extensions = { + undo = { + side_by_side = true, + layout_strategy = "vertical", + layout_config = { + preview_height = 0.8, + }, + }, + }, + }, + config = function() + require("telescope").load_extension("undo") + end, +} diff --git a/nvim/lua/plugins/telescope.lua b/nvim/lua/plugins/telescope.lua new file mode 100644 index 0000000..9681cd0 --- /dev/null +++ b/nvim/lua/plugins/telescope.lua @@ -0,0 +1,12 @@ +-- Find, Filter, Preview, Pick +-- https://github.com/nvim-telescope/telescope.nvim +return { + "telescope.nvim", + keys = { + { "", "Telescope find_files hidden=true", desc = "Find Files (hidden)" }, + { "", "Telescope", desc = "Telescope" }, + { "", "Telescope find_files", desc = "Find Files" }, + { "tr", "Telescope resume", desc = "Telescope" }, + { "tu", "Telescope undo", desc = "Undo Tree" }, + }, +} diff --git a/nvim/lua/plugins/tmux-navigator.lua b/nvim/lua/plugins/tmux-navigator.lua new file mode 100644 index 0000000..66164f3 --- /dev/null +++ b/nvim/lua/plugins/tmux-navigator.lua @@ -0,0 +1,6 @@ +-- Seamless navigation between tmux panes and vim splits +-- https://github.com/christoomey/vim-tmux-navigator +return { + "christoomey/vim-tmux-navigator", + event = "VeryLazy", +} diff --git a/nvim/lua/plugins/transparent.lua b/nvim/lua/plugins/transparent.lua new file mode 100644 index 0000000..02745c3 --- /dev/null +++ b/nvim/lua/plugins/transparent.lua @@ -0,0 +1,12 @@ +-- Remove all background colors to make Neovim transparent +-- https://github.com/xiyaowong/nvim-transparent +return { + "xiyaowong/nvim-transparent", + opts = { + enable = false, + extra_groups = { + "TelescopeBorder", + "TelescopeNormal", + }, + }, +} diff --git a/nvim/lua/plugins/twilight.lua b/nvim/lua/plugins/twilight.lua new file mode 100644 index 0000000..671bf5b --- /dev/null +++ b/nvim/lua/plugins/twilight.lua @@ -0,0 +1,8 @@ +-- Distraction-free coding +-- https://github.com/folke/zen-mode.nvim +return { + "folke/twilight.nvim", + config = function() + require("twilight").setup() + end, +} diff --git a/nvim/lua/plugins/various-textobjs.lua b/nvim/lua/plugins/various-textobjs.lua new file mode 100644 index 0000000..e23818f --- /dev/null +++ b/nvim/lua/plugins/various-textobjs.lua @@ -0,0 +1,8 @@ +return { + "chrisgrieser/nvim-various-textobjs", + config = function() + require("various-textobjs").setup({ + useDefaultKeymaps = true, + }) + end, +} diff --git a/nvim/lua/plugins/vimux.lua b/nvim/lua/plugins/vimux.lua new file mode 100644 index 0000000..ae43bbe --- /dev/null +++ b/nvim/lua/plugins/vimux.lua @@ -0,0 +1,10 @@ +-- Easily interact with tmux from vim +-- https://github.com/preservim/vimux +return { + "preservim/vimux", + config = function() + vim.g.VimuxHeight = "30" + vim.g.VimuxOrientation = "h" + vim.g.VimuxUseNearestPane = 0 + end, +} diff --git a/nvim/lua/plugins/visual-multi.lua b/nvim/lua/plugins/visual-multi.lua new file mode 100644 index 0000000..72cd453 --- /dev/null +++ b/nvim/lua/plugins/visual-multi.lua @@ -0,0 +1,5 @@ +-- Multiple cursors +-- https://github.com/mg979/vim-visual-multi +return { + "mg979/vim-visual-multi", +} diff --git a/nvim/lua/plugins/wakatime.lua b/nvim/lua/plugins/wakatime.lua new file mode 100644 index 0000000..23151f6 --- /dev/null +++ b/nvim/lua/plugins/wakatime.lua @@ -0,0 +1,6 @@ +-- Track time and metrics +-- https://github.com/wakatime/vim-wakatime +return { + "wakatime/vim-wakatime", + event = "VeryLazy", +} diff --git a/nvim/lua/plugins/xtract.lua b/nvim/lua/plugins/xtract.lua new file mode 100644 index 0000000..7ba9c8a --- /dev/null +++ b/nvim/lua/plugins/xtract.lua @@ -0,0 +1,5 @@ +-- Extract the selection into a new file +-- https://github.com/rstacruz/vim-xtract +return { + "rstacruz/vim-xtract", +} diff --git a/nvim/lua/plugins/zen-mode.lua b/nvim/lua/plugins/zen-mode.lua new file mode 100644 index 0000000..2360d05 --- /dev/null +++ b/nvim/lua/plugins/zen-mode.lua @@ -0,0 +1,47 @@ +-- Distraction-free coding +-- https://github.com/folke/zen-mode.nvim +return { + "folke/zen-mode.nvim", + keys = { + -- stylua: ignore + { "zz", "ZenMode", desc = "Zen Mode" }, + }, + config = function() + require("zen-mode").setup({ + window = { + backdrop = 0.98, + width = 80, + height = 0.85, + options = { + signcolumn = "no", -- disable signcolumn + number = false, -- disable number column + relativenumber = false, -- disable relative numbers + cursorline = false, -- disable cursorline + cursorcolumn = false, -- disable cursor column + foldcolumn = "0", -- disable fold column + list = false, -- disable whitespace characters + }, + }, + plugins = { + options = { + enabled = true, + ruler = true, -- disables the ruler text in the cmd line area + showcmd = false, -- disables the command in the last line of the screen + }, + twilight = { enabled = true }, -- enable to start Twilight when zen mode opens + gitsigns = { enabled = false }, -- disables git signs + tmux = { enabled = false }, -- disables the tmux statusline + kitty = { + enabled = true, + font = "+2", -- font size increment + }, + }, + on_open = function() + vim.cmd([[:IndentBlanklineDisable]]) + end, + on_close = function() + vim.cmd([[:IndentBlanklineEnable]]) + end, + }) + end, +} diff --git a/nvim/spell/en.utf-8.add.spl b/nvim/spell/en.utf-8.add.spl index e803ebe..288c194 100755 Binary files a/nvim/spell/en.utf-8.add.spl and b/nvim/spell/en.utf-8.add.spl differ diff --git a/nvim/stylua.toml b/nvim/stylua.toml new file mode 100644 index 0000000..5d6c50d --- /dev/null +++ b/nvim/stylua.toml @@ -0,0 +1,3 @@ +indent_type = "Spaces" +indent_width = 2 +column_width = 120 \ No newline at end of file diff --git a/setup/lua.sh b/setup/lua.sh index 3c54480..30b2b17 100755 --- a/setup/lua.sh +++ b/setup/lua.sh @@ -1,4 +1,4 @@ - #!/bin/sh +#!/bin/sh asdf plugin add lua asdf install lua latest diff --git a/setup/python.sh b/setup/python.sh index 4f86930..b03ed1e 100755 --- a/setup/python.sh +++ b/setup/python.sh @@ -1,4 +1,4 @@ - #!/bin/sh +#!/bin/sh asdf plugin add python asdf install python latest diff --git a/tmux/tmux.conf b/tmux/tmux.conf index ef8dd50..95a6867 100644 --- a/tmux/tmux.conf +++ b/tmux/tmux.conf @@ -120,25 +120,6 @@ bind-key -T copy-mode-vi Enter send-keys -X copy-selection bind p run "tmux paste-buffer" -# Smart pane switching with awareness of Vim splits. -# See: https://github.com/christoomey/vim-tmux-navigator -is_vim="ps -o state= -o comm= -t '#{pane_tty}' \ - | grep -iqE '^[^TXZ ]+ +(\\S+\\/)?g?(view|n?vim?x?)(diff)?$'" -bind-key -n 'C-h' if-shell "$is_vim" 'send-keys C-h' 'select-pane -L' -bind-key -n 'C-j' if-shell "$is_vim" 'send-keys C-j' 'select-pane -D' -bind-key -n 'C-k' if-shell "$is_vim" 'send-keys C-k' 'select-pane -U' -bind-key -n 'C-l' if-shell "$is_vim" 'send-keys C-l' 'select-pane -R' -tmux_version='$(tmux -V | sed -En "s/^tmux ([0-9]+(.[0-9]+)?).*/\1/p")' -if-shell -b '[ "$(echo "$tmux_version < 3.0" | bc)" = 1 ]' \ - "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\' 'select-pane -l'" -if-shell -b '[ "$(echo "$tmux_version >= 3.0" | bc)" = 1 ]' \ - "bind-key -n 'C-\\' if-shell \"$is_vim\" 'send-keys C-\\\\' 'select-pane -l'" - -bind-key -T copy-mode-vi 'C-h' select-pane -L -bind-key -T copy-mode-vi 'C-j' select-pane -D -bind-key -T copy-mode-vi 'C-k' select-pane -U -bind-key -T copy-mode-vi 'C-l' select-pane -R - # ========= Plugins ========= set -g @now-playing-scrollable-threshold 60 @@ -164,6 +145,7 @@ set -g @plugin 'jbnicolai/tmux-fpp' # f set -g @plugin 'nhdaly/tmux-scroll-copy-mode' set -g @plugin 'wfxr/tmux-fzf-url' # u set -g @plugin 'joshmedeski/t-smart-tmux-session-manager' +set -g @plugin 'christoomey/vim-tmux-navigator' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm' diff --git a/tmuxinator/learn.yml b/tmuxinator/learn.yml index b6edb3b..9a1e8e3 100644 --- a/tmuxinator/learn.yml +++ b/tmuxinator/learn.yml @@ -3,8 +3,5 @@ root: ~/Code/Github/learn/ attach: false windows: - Vim: - layout: main-horizontal - panes: - - vim - - clear + - Server: clear - Terminal: clear diff --git a/tmuxinator/website-hamburg-stefanimhoff-de.yml b/tmuxinator/website-hamburg-stefanimhoff-de.yml index f0228a0..ff0c82c 100644 --- a/tmuxinator/website-hamburg-stefanimhoff-de.yml +++ b/tmuxinator/website-hamburg-stefanimhoff-de.yml @@ -3,8 +3,5 @@ root: ~/Code/Github/hamburg.stefanimhoff.de/ attach: false windows: - Vim: - layout: main-horizontal - panes: - - vim - - pnpm i + - Server: pnpm i - Terminal: clear diff --git a/tmuxinator/website-kogakure-de.yml b/tmuxinator/website-kogakure-de.yml index c9b7604..bf9a570 100644 --- a/tmuxinator/website-kogakure-de.yml +++ b/tmuxinator/website-kogakure-de.yml @@ -3,8 +3,5 @@ root: ~/Code/Github/kogakure.de/ attach: false windows: - Vim: - layout: main-horizontal - panes: - - vim - - pnpm i + - Server: pnpm i - Terminal: clear diff --git a/tmuxinator/website-stefanimhoff-de.yml b/tmuxinator/website-stefanimhoff-de.yml index d4d6edf..cb790e7 100644 --- a/tmuxinator/website-stefanimhoff-de.yml +++ b/tmuxinator/website-stefanimhoff-de.yml @@ -3,8 +3,5 @@ root: ~/Code/Github/stefanimhoff.de/ attach: false windows: - Vim: - layout: main-horizontal - panes: - - vim - - pnpm i + - Server: pnpm i - Terminal: clear diff --git a/tmuxinator/xing-brewery.yml b/tmuxinator/xing-brewery.yml index a3e0b25..0ac18bf 100644 --- a/tmuxinator/xing-brewery.yml +++ b/tmuxinator/xing-brewery.yml @@ -3,8 +3,5 @@ root: ~/Code/XING/brewery/ attach: false windows: - Vim: - layout: main-horizontal - panes: - - vim - - yarn; yarn develop + - Server: yarn - Terminal: clear