From 6bb78013974ff88a0ff1059b565e6a111aa9f709 Mon Sep 17 00:00:00 2001 From: Felipe Contreras Salinas Date: Thu, 19 Sep 2024 12:58:41 -0300 Subject: [PATCH] lazy: migrate plugins to lazy.nvim --- .gitmodules | 159 ----- init.lua | 647 ++----------------- lazy-lock.json | 39 ++ lua/lazy-nvim.lua | 31 + lua/plugins/cmp.lua | 48 ++ lua/plugins/color.lua | 12 + lua/plugins/colorscheme.lua | 7 + lua/plugins/comment.lua | 6 + lua/plugins/conform.lua | 36 ++ lua/plugins/filetypes.lua | 11 + lua/plugins/git.lua | 64 ++ lua/plugins/lint.lua | 79 +++ lua/plugins/lsp.lua | 104 +++ lua/plugins/lualine.lua | 66 ++ lua/plugins/luasnip.lua | 30 + lua/plugins/nvim-rc.lua | 5 + lua/plugins/osc52.lua | 16 + lua/plugins/rust.lua | 40 ++ lua/plugins/spider.lua | 12 + lua/plugins/surround.lua | 10 + lua/plugins/telescope.lua | 46 ++ lua/plugins/treesitter.lua | 97 +++ lua/plugins/typst.lua | 19 + pack/general/opt/core.nvim | 1 - pack/general/opt/crates.nvim | 1 - pack/general/opt/ferris.nvim | 1 - pack/general/opt/lsp-timeout.nvim | 1 - pack/general/opt/neotest | 1 - pack/general/opt/neotest-rust | 1 - pack/general/opt/nvim-dap | 1 - pack/general/opt/nvim-dap-go | 1 - pack/general/opt/nvim-dap-ui | 1 - pack/general/opt/nvim-nio | 1 - pack/general/opt/typst-preview.nvim | 1 - pack/general/start/Comment.nvim | 1 - pack/general/start/LuaSnip | 1 - pack/general/start/cmp-buffer | 1 - pack/general/start/cmp-nvim-lsp | 1 - pack/general/start/cmp-path | 1 - pack/general/start/cmp_luasnip | 1 - pack/general/start/conform.nvim | 1 - pack/general/start/diffview.nvim | 1 - pack/general/start/fluent.vim | 1 - pack/general/start/formatter.nvim | 1 - pack/general/start/git-blame.nvim | 1 - pack/general/start/gitsigns.nvim | 1 - pack/general/start/gruvbox.nvim | 1 - pack/general/start/lsp_lines.nvim | 1 - pack/general/start/lualine.nvim | 1 - pack/general/start/lush.nvim | 1 - pack/general/start/neogit | 1 - pack/general/start/nvim-cmp | 1 - pack/general/start/nvim-colorizer.lua | 1 - pack/general/start/nvim-lint | 1 - pack/general/start/nvim-lspconfig | 1 - pack/general/start/nvim-osc52 | 1 - pack/general/start/nvim-rc | 1 - pack/general/start/nvim-spider | 1 - pack/general/start/nvim-surround | 1 - pack/general/start/nvim-treesitter | 1 - pack/general/start/nvim-web-devicons | 1 - pack/general/start/playground | 1 - pack/general/start/plenary.nvim | 1 - pack/general/start/popup.nvim | 1 - pack/general/start/telescope-fzy-native.nvim | 1 - pack/general/start/telescope-luasnip.nvim | 1 - pack/general/start/telescope.nvim | 1 - pack/general/start/typst.vim | 1 - pack/general/start/vim-caddyfile | 1 - pack/general/start/vim-helm | 1 - 70 files changed, 822 insertions(+), 809 deletions(-) create mode 100644 lazy-lock.json create mode 100644 lua/lazy-nvim.lua create mode 100644 lua/plugins/cmp.lua create mode 100644 lua/plugins/color.lua create mode 100644 lua/plugins/colorscheme.lua create mode 100644 lua/plugins/comment.lua create mode 100644 lua/plugins/conform.lua create mode 100644 lua/plugins/filetypes.lua create mode 100644 lua/plugins/git.lua create mode 100644 lua/plugins/lint.lua create mode 100644 lua/plugins/lsp.lua create mode 100644 lua/plugins/lualine.lua create mode 100644 lua/plugins/luasnip.lua create mode 100644 lua/plugins/nvim-rc.lua create mode 100644 lua/plugins/osc52.lua create mode 100644 lua/plugins/rust.lua create mode 100644 lua/plugins/spider.lua create mode 100644 lua/plugins/surround.lua create mode 100644 lua/plugins/telescope.lua create mode 100644 lua/plugins/treesitter.lua create mode 100644 lua/plugins/typst.lua delete mode 160000 pack/general/opt/core.nvim delete mode 160000 pack/general/opt/crates.nvim delete mode 160000 pack/general/opt/ferris.nvim delete mode 160000 pack/general/opt/lsp-timeout.nvim delete mode 160000 pack/general/opt/neotest delete mode 160000 pack/general/opt/neotest-rust delete mode 160000 pack/general/opt/nvim-dap delete mode 160000 pack/general/opt/nvim-dap-go delete mode 160000 pack/general/opt/nvim-dap-ui delete mode 160000 pack/general/opt/nvim-nio delete mode 160000 pack/general/opt/typst-preview.nvim delete mode 160000 pack/general/start/Comment.nvim delete mode 160000 pack/general/start/LuaSnip delete mode 160000 pack/general/start/cmp-buffer delete mode 160000 pack/general/start/cmp-nvim-lsp delete mode 160000 pack/general/start/cmp-path delete mode 160000 pack/general/start/cmp_luasnip delete mode 160000 pack/general/start/conform.nvim delete mode 160000 pack/general/start/diffview.nvim delete mode 160000 pack/general/start/fluent.vim delete mode 160000 pack/general/start/formatter.nvim delete mode 160000 pack/general/start/git-blame.nvim delete mode 160000 pack/general/start/gitsigns.nvim delete mode 160000 pack/general/start/gruvbox.nvim delete mode 160000 pack/general/start/lsp_lines.nvim delete mode 160000 pack/general/start/lualine.nvim delete mode 160000 pack/general/start/lush.nvim delete mode 160000 pack/general/start/neogit delete mode 160000 pack/general/start/nvim-cmp delete mode 160000 pack/general/start/nvim-colorizer.lua delete mode 160000 pack/general/start/nvim-lint delete mode 160000 pack/general/start/nvim-lspconfig delete mode 160000 pack/general/start/nvim-osc52 delete mode 160000 pack/general/start/nvim-rc delete mode 160000 pack/general/start/nvim-spider delete mode 160000 pack/general/start/nvim-surround delete mode 160000 pack/general/start/nvim-treesitter delete mode 160000 pack/general/start/nvim-web-devicons delete mode 160000 pack/general/start/playground delete mode 160000 pack/general/start/plenary.nvim delete mode 160000 pack/general/start/popup.nvim delete mode 160000 pack/general/start/telescope-fzy-native.nvim delete mode 160000 pack/general/start/telescope-luasnip.nvim delete mode 160000 pack/general/start/telescope.nvim delete mode 160000 pack/general/start/typst.vim delete mode 160000 pack/general/start/vim-caddyfile delete mode 160000 pack/general/start/vim-helm diff --git a/.gitmodules b/.gitmodules index ec31e5b..b977294 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,166 +1,7 @@ -[submodule "pack/general/start/gruvbox.nvim"] - path = pack/general/start/gruvbox.nvim - url = https://github.com/npxbr/gruvbox.nvim - branch = main -[submodule "pack/general/start/lush.nvim"] - path = pack/general/start/lush.nvim - url = https://github.com/rktjmp/lush.nvim - branch = main -[submodule "pack/general/start/nvim-lspconfig"] - path = pack/general/start/nvim-lspconfig - url = https://github.com/neovim/nvim-lspconfig - branch = master -[submodule "pack/general/start/nvim-treesitter"] - path = pack/general/start/nvim-treesitter - url = https://github.com/nvim-treesitter/nvim-treesitter - branch = master -[submodule "pack/general/start/plenary.nvim"] - path = pack/general/start/plenary.nvim - url = https://github.com/nvim-lua/plenary.nvim - branch = master -[submodule "pack/general/start/popup.nvim"] - path = pack/general/start/popup.nvim - url = https://github.com/nvim-lua/popup.nvim -[submodule "pack/general/start/telescope.nvim"] - path = pack/general/start/telescope.nvim - url = https://github.com/nvim-telescope/telescope.nvim - branch = master -[submodule "pack/general/start/gitsigns.nvim"] - path = pack/general/start/gitsigns.nvim - url = https://github.com/lewis6991/gitsigns.nvim - branch = main -[submodule "pack/general/start/nvim-cmp"] - path = pack/general/start/nvim-cmp - url = https://github.com/hrsh7th/nvim-cmp -[submodule "pack/general/start/cmp-path"] - path = pack/general/start/cmp-path - url = https://github.com/hrsh7th/cmp-path -[submodule "pack/general/start/LuaSnip"] - path = pack/general/start/LuaSnip - url = https://github.com/L3MON4D3/LuaSnip - branch = master -[submodule "pack/general/start/cmp_luasnip"] - path = pack/general/start/cmp_luasnip - url = https://github.com/saadparwaiz1/cmp_luasnip -[submodule "pack/general/start/cmp-buffer"] - path = pack/general/start/cmp-buffer - url = https://github.com/hrsh7th/cmp-buffer -[submodule "pack/general/start/cmp-nvim-lsp"] - path = pack/general/start/cmp-nvim-lsp - url = https://github.com/hrsh7th/cmp-nvim-lsp -[submodule "pack/general/start/Comment.nvim"] - path = pack/general/start/Comment.nvim - url = https://github.com/numToStr/Comment.nvim -[submodule "pack/general/start/vim-caddyfile"] - path = pack/general/start/vim-caddyfile - url = https://github.com/isobit/vim-caddyfile -[submodule "pack/general/start/git-blame.nvim"] - path = pack/general/start/git-blame.nvim - url = https://github.com/f-person/git-blame.nvim - branch = master -[submodule "nvim-dap"] - path = pack/general/opt/nvim-dap - url = https://github.com/mfussenegger/nvim-dap - branch = master -[submodule "pack/general/start/nvim-dap-go"] - path = pack/general/opt/nvim-dap-go - url = https://github.com/leoluz/nvim-dap-go -[submodule "pack/general/start/nvim-dap-ui"] - path = pack/general/opt/nvim-dap-ui - url = https://github.com/rcarriga/nvim-dap-ui - branch = master -[submodule "pack/general/start/vim-helm"] - path = pack/general/start/vim-helm - url = https://github.com/towolf/vim-helm -[submodule "pack/general/start/nvim-lint"] - path = pack/general/start/nvim-lint - url = https://github.com/mfussenegger/nvim-lint - branch = master -[submodule "pack/general/start/telescope-fzy-native.nvim"] - path = pack/general/start/telescope-fzy-native.nvim - url = https://github.com/nvim-telescope/telescope-fzy-native.nvim -[submodule "pack/general/start/nvim-web-devicons"] - path = pack/general/start/nvim-web-devicons - url = https://github.com/nvim-tree/nvim-web-devicons - branch = master -[submodule "pack/general/start/telescope-luasnip.nvim"] - path = pack/general/start/telescope-luasnip.nvim - url = https://github.com/benfowler/telescope-luasnip.nvim -[submodule "pack/general/start/formatter.nvim"] - path = pack/general/start/formatter.nvim - url = https://github.com/mhartington/formatter.nvim - branch = master -[submodule "pack/general/start/lualine.nvim"] - path = pack/general/start/lualine.nvim - url = https://github.com/nvim-lualine/lualine.nvim -[submodule "pack/general/start/nvim-rc"] - path = pack/general/start/nvim-rc - url = https://github.com/Dkendal/nvim-rc -[submodule "pack/general/start/nvim-osc52"] - path = pack/general/start/nvim-osc52 - url = https://github.com/ojroques/nvim-osc52 [submodule "pack/general/start/crates.nvim"] path = pack/general/start/crates.nvim url = https://github.com/Saecki/crates.nvim branch = main -[submodule "pack/general/start/neotest"] - path = pack/general/opt/neotest - url = https://github.com/nvim-neotest/neotest - branch = master -[submodule "pack/general/start/neotest-rust"] - path = pack/general/opt/neotest-rust - url = https://github.com/rouge8/neotest-rust - branch = main [submodule "pack/general/start/lsp_lines.nvim"] path = pack/general/opt/lsp_lines.nvim url = https://git.sr.ht/~whynothugo/lsp_lines.nvim -[submodule "pack/general/opt/crates.nvim"] - path = pack/general/opt/crates.nvim - url = https://github.com/Saecki/crates.nvim -[submodule "pack/general/start/nvim-surround"] - path = pack/general/start/nvim-surround - url = https://github.com/kylechui/nvim-surround - branch = main -[submodule "pack/general/start/nvim-spider"] - path = pack/general/start/nvim-spider - url = https://github.com/chrisgrieser/nvim-spider - branch = main -[submodule "pack/general/opt/lsp_lines.nvim"] - path = pack/general/start/lsp_lines.nvim - url = https://git.sr.ht/~whynothugo/lsp_lines.nvim -[submodule "pack/general/opt/lsp-timeout.nvim"] - path = pack/general/opt/lsp-timeout.nvim - url = https://github.com/hinell/lsp-timeout.nvim -[submodule "pack/general/start/nvim-colorizer.lua"] - path = pack/general/start/nvim-colorizer.lua - url = https://github.com/NvChad/nvim-colorizer.lua -[submodule "pack/general/opt/ferris.nvim"] - path = pack/general/opt/ferris.nvim - url = https://github.com/vxpm/ferris.nvim -[submodule "pack/general/start/typst.vim"] - path = pack/general/start/typst.vim - url = https://github.com/kaarmu/typst.vim -[submodule "pack/general/opt/typst-preview.nvim"] - path = pack/general/opt/typst-preview.nvim - url = https://github.com/niuiic/typst-preview.nvim -[submodule "pack/general/opt/core.nvim"] - path = pack/general/opt/core.nvim - url = https://github.com/niuiic/core.nvim -[submodule "pack/general/start/playground"] - path = pack/general/start/playground - url = https://github.com/nvim-treesitter/playground -[submodule "pack/general/start/conform.nvim"] - path = pack/general/start/conform.nvim - url = https://github.com/stevearc/conform.nvim -[submodule "pack/general/opt/nvim-nio"] - path = pack/general/opt/nvim-nio - url = https://github.com/nvim-neotest/nvim-nio -[submodule "pack/general/start/neogit"] - path = pack/general/start/neogit - url = https://github.com/NeogitOrg/neogit -[submodule "pack/general/start/diffview.nvim"] - path = pack/general/start/diffview.nvim - url = https://github.com/sindrets/diffview.nvim -[submodule "pack/general/start/fluent.vim"] - path = pack/general/start/fluent.vim - url = https://github.com/projectfluent/fluent.vim diff --git a/init.lua b/init.lua index 6105300..6754433 100644 --- a/init.lua +++ b/init.lua @@ -1,4 +1,3 @@ -vim.loader.enable() ---- General Config ---- vim.opt.mouse = "a" vim.opt.tabstop = 2 @@ -30,6 +29,9 @@ vim.api.nvim_create_autocmd({ "TermOpen" }, { end, }) +---- lazy.nvim ---- +require("lazy-nvim") + ---- Theming ---- vim.opt.termguicolors = true vim.opt.background = "dark" @@ -42,66 +44,6 @@ vim.opt.listchars = { extends = "…", trail = "•", } ----- lualine.nvim ---- -local lualine = require("lualine") -local theme = require("lualine.themes.gruvbox") -theme.terminal = theme.insert -lualine.setup({ - options = { - component_separators = { left = "│", right = "│" }, - section_separators = { left = "", right = "" }, - theme = theme, - }, - sections = { - lualine_a = { "mode" }, - lualine_b = { "diagnostics" }, - lualine_c = { - { - "filename", - path = 1, - }, - }, - lualine_x = { - { - "fileformat", - cond = function() - return vim.bo.fileformat ~= "unix" - end, - }, - { - "encoding", - cond = function() - return vim.bo.fileencoding ~= "utf-8" - end, - }, - }, - lualine_y = { - { - "filetype", - icons_enabled = false, - symbols = { - modified = "", - readonly = "", - unnamed = "", - new = "󰎔", - }, - }, - }, - lualine_z = { "searchcount", "progress", "location" }, - }, - tabline = { - lualine_a = { - { - "buffers", - show_filename_only = false, - max_length = function() - return math.max(math.ceil(vim.o.columns * 2 / 3), vim.o.columns - 6) - end, - }, - }, - lualine_z = { "tabs" }, - }, -}) ---- Maps ---- vim.keymap.set("!", "", "") @@ -109,97 +51,6 @@ vim.keymap.set("v", ">", ">gv") vim.keymap.set("v", "<", "", ":nohlsearch") ----- Treesitter ---- -require("nvim-treesitter.configs").setup({ - auto_install = true, - sync_install = false, - ignore_install = {}, - modules = {}, -- not used, but it will silence lua_ls - incremental_selection = { - enable = true, - keymaps = { - init_selection = "", - node_incremental = "", - node_decremental = "", - }, - }, - ensure_installed = { - "bash", - "c", - "cmake", - "comment", - "cpp", - "css", - "csv", - "diff", - "dockerfile", - "dot", - "git_config", - "git_rebase", - "gitattributes", - "gitcommit", - "gitignore", - "go", - "html", - "htmldjango", - "http", - "ini", - "javascript", - "json", - "kdl", - "kotlin", - "latex", - "lua", - "make", - "markdown", - "markdown_inline", - "mermaid", - "passwd", - "perl", - "php", - "proto", - "python", - "query", - "regex", - "ron", - "rst", - "rust", - "scss", - "sql", - "terraform", - "toml", - "typescript", - "vim", - "vimdoc", - "xml", - "yaml", - }, - highlight = { enable = true, indent = true }, - playground = { - enable = false, - disable = {}, - updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code - persist_queries = false, -- Whether the query persists across vim sessions - keybindings = { - toggle_query_editor = 'o', - toggle_hl_groups = 'i', - toggle_injected_languages = 't', - toggle_anonymous_nodes = 'a', - toggle_language_display = 'I', - focus_language = 'f', - unfocus_language = 'F', - update = 'R', - goto_node = '', - show_help = '?', - }, - }, - query_linter = { - enable = true, - use_virtual_text = true, - lint_events = { "BufWrite", "CursorHold" }, - }, -}) - ---- Filetypes --- -- KDL -- vim.filetype.add({ extension = { kdl = "kdl" } }) @@ -221,313 +72,7 @@ vim.api.nvim_create_autocmd({ "FileType" }, { end, }) ----- conform.nvim ---- -require("conform").setup({ - formatters_by_ft = { - terraform = { "terraform_fmt" } - }, - format_on_save = { - -- These options will be passed to conform.format() - timeout_ms = 500, - lsp_format = "fallback", - }, -}) -vim.o.formatexpr = "v:lua.require'conform'.formatexpr()" ----- LuaSnip -local luasnip = require("luasnip") -require("luasnip.loaders.from_lua").lazy_load() -luasnip.config.set_config({ - store_selection_keys = "", -}) -vim.keymap.set({ "i", "s" }, "", function() - if luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - else - vim.api.nvim_feedkeys( - vim.api.nvim_replace_termcodes("", true, false, true), - "n", -- noremap to avoid infinite recursion - true - ) - end -end, { silent = true }) -vim.keymap.set({ "i", "s" }, "", function() - if luasnip.jumpable(-1) then - luasnip.jump(-1) - end -end, { silent = true }) - ----- completion-nvim -local cmp = require("cmp") -cmp.setup({ - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - window = { - -- completion = cmp.config.window.bordered(), - -- documentation = cmp.config.window.bordered(), - }, - mapping = cmp.mapping.preset.insert({ - [""] = cmp.mapping.scroll_docs(-4), - [""] = cmp.mapping.scroll_docs(4), - [""] = cmp.mapping.complete(), - [""] = cmp.mapping.abort(), - -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. - [""] = cmp.mapping.confirm({ select = false }), - }), - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "path" }, - { name = "buffer" }, - { name = "crates" }, - }), -}) ----- LSP ---- -local lsp = require("lspconfig") --- Use an on_attach function to only map the following keys --- after the language server attaches to the current buffer -local on_lsp_attach = function(_client, _bufnr) - vim.keymap.set("n", "gD", vim.lsp.buf.declaration) - vim.keymap.set("n", "gd", vim.lsp.buf.definition) - vim.keymap.set("n", "K", vim.lsp.buf.hover) - vim.keymap.set("n", "gi", vim.lsp.buf.implementation) - vim.keymap.set("n", "", vim.lsp.buf.signature_help) - vim.keymap.set("n", "D", vim.lsp.buf.type_definition) - vim.keymap.set("n", "rn", vim.lsp.buf.rename) - vim.keymap.set("n", "ca", vim.lsp.buf.code_action) - vim.keymap.set("n", "gr", vim.lsp.buf.references) - vim.keymap.set("n", "e", vim.diagnostic.open_float) - vim.keymap.set("n", "[d", vim.diagnostic.goto_prev) - vim.keymap.set("n", "]d", vim.diagnostic.goto_next) - vim.keymap.set("n", "q", vim.diagnostic.setloclist) -end - --- Use a loop to conveniently call 'setup' on multiple servers and --- map buffer local keybindings when the language server attaches -local servers = { - clangd = { - filetypes = { "c", "cpp" } - }, - dotls = {}, - eslint = {}, - gopls = {}, - jsonls = {}, - kotlin_language_server = {}, - lua_ls = { - settings = { - Lua = { - runtime = { version = "LuaJIT" }, - diagnostics = { - globals = { "vim" }, - unusedLocalExclude = { "_*" }, - }, - workspace = { - checkThirdParty = false, - library = vim.api.nvim_get_runtime_file("", true), - }, - telemetry = { enable = false }, - }, - }, - }, - pylsp = {}, - rust_analyzer = { - settings = { - ['rust-analyzer'] = { - cargo = { - features = "all" - } - } - } - }, - taplo = {}, - texlab = {}, - tflint = {}, - tsserver = {}, - biome = { - cmd = { "pnpm", "exec", "biome", "lsp-proxy" } - }, - typst_lsp = {}, -} - -local capabilities = require("cmp_nvim_lsp").default_capabilities() -lsp.util.default_config = vim.tbl_deep_extend("force", lsp.util.default_config, { capabilities = capabilities }) -for server, add_to_config in pairs(servers) do - local config = { - on_attach = on_lsp_attach, - flags = { - debounce_text_changes = 150, - }, - } - for k, v in pairs(add_to_config) do - config[k] = v - end - lsp[server].setup(config) -end - ----- lsp_lines -require("lsp_lines").setup() --- Disable virtual_text since it's redundant due to lsp_lines. -vim.diagnostic.config({ - virtual_text = false, -}) - ----- lsp-timeout --- vim.g["lsp-timeout-config"] = { --- stopTimeout = 1000 * 60 * 5, -- ms, timeout before stopping all LSP servers --- startTimeout = 1000 * 2, -- ms, timeout before restart --- silent = false -- true to suppress notifications --- } - ----- nvim-lint ---- -local lint = require("lint") --- sqlfluff -- -lint.linters.sqlfluff.args = { - "lint", - "--format=json", - "--dialect=postgres", -} - --- yamllint -- -lint.linters.yamllint.args = { - args = { "--format=parsable", "-d relaxed" }, -} --- actionlint -- ----- Set custom filetype to not lint everythin ---- https://github.com/mfussenegger/nvim-lint/issues/591#issuecomment-2142162704 -vim.filetype.add({ - pattern = { - ['.*/.github/workflows/.*%.yml'] = 'yaml.ghaction', - ['.*/.github/workflows/.*%.yaml'] = 'yaml.ghaction', - }, -}) - -local linters = { - bash = { "shellcheck" }, - dockerfile = { "hadolint" }, - ghaction = { "actionlint" }, - go = { "golangcilint" }, - python = { "flake8" }, - -- rust = { "clippy" }, - sql = { "sqlfluff" }, - yaml = { "yamllint" }, -} --- set linters -- -lint.linters_by_ft = linters --- set autocommands -- -for ft, ft_linters in pairs(linters) do - local on_change = false - local on_write = false - for _, l in ipairs(ft_linters) do - if lint.linters[l].stdin then - on_change = true - else - on_write = true - end - end - if on_change then - vim.api.nvim_create_autocmd({ "FileType" }, { - pattern = ft, - callback = function() - vim.api.nvim_create_autocmd({ "TextChanged" }, { - callback = function() - lint.try_lint(nil, { ignore_errors = true }) - end, - }) - end, - }) - end - if on_write then - vim.api.nvim_create_autocmd({ "FileType" }, { - pattern = ft, - callback = function() - vim.api.nvim_create_autocmd({ "BufWritePost" }, { - callback = function() - lint.try_lint(nil, { ignore_errors = true }) - end, - }) - -- we want to also call linters here so we don't wait - -- for the first write to happen - lint.try_lint(nil, { ignore_errors = true }) - end, - }) - end -end - ----- gitblame -local gitblame = require("gitblame") -gitblame.setup({ - enabled = false, -}) -vim.keymap.set({ "n" }, "oc", gitblame.open_commit_url) -vim.keymap.set({ "n" }, "tb", ":GitBlameToggle") ----- gitsigns.nvim -require("gitsigns").setup({ - on_attach = function(_bufnr) - local gs = package.loaded.gitsigns - - -- Navigation - vim.keymap.set("n", "]c", function() - if vim.wo.diff then - return "]c" - end - vim.schedule(function() - gs.next_hunk() - end) - return "" - end, { expr = true }) - - vim.keymap.set("n", "[c", function() - if vim.wo.diff then - return "[c" - end - vim.schedule(function() - gs.prev_hunk() - end) - return "" - end, { expr = true }) - end, -}) ----- neogit ---- -local neogit = require('neogit') -neogit.setup({ - git_services = { - ["azure.com"] = - "https://dev.azure.com/${owner}/_git/${repository}/pullrequestcreate?sourceRef=${branch_name}&targetRef=${target}", - ["bitbucket.org"] = "https://bitbucket.org/${owner}/${repository}/pull-requests/new?source=${branch_name}&t=1", - ["github.com"] = "https://github.com/${owner}/${repository}/compare/${branch_name}?expand=1", - ["gitlab.com"] = - "https://gitlab.com/${owner}/${repository}/merge_requests/new?merge_request[source_branch]=${branch_name}", - ["codeberg.org"] = "https://codeberg.org/${owner}/${repository}/compare/${target}...${branch_name}", - ["oolong.ludwig.dog"] = "https://oolong.ludwig.dog/${owner}/${repository}/compare/${target}...${branch_name}", - }, -}) ----- Comment.nvim -require("Comment").setup() ----- Telescope -local telescope = require("telescope") -telescope.setup({ - defaults = { - file_ignore_patterns = { "%.avif", "%.jpg", "%.pdf", "%.png", "%.webp" }, - }, - pickers = { - find_files = { - find_command = { "fd", "--type", "f", "--hidden", "--exclude", ".git", "--exclude", ".gitmodules" }, - }, - }, -}) -telescope.load_extension("fzy_native") -telescope.load_extension("luasnip") -local builtin = require("telescope.builtin") -vim.keymap.set("n", "f", builtin.find_files) -vim.keymap.set("n", "b", builtin.buffers) -vim.keymap.set("n", "/", builtin.current_buffer_fuzzy_find) -vim.keymap.set("n", "g", builtin.live_grep) -vim.keymap.set("n", "cg", builtin.grep_string) -vim.keymap.set("n", ":", builtin.commands) -vim.keymap.set("n", "s", telescope.extensions.luasnip.luasnip) ---- nvim-dap -- vim.g.dap_loaded = false -- vim.api.nvim_create_autocmd({ "FileType" }, { @@ -605,148 +150,44 @@ vim.keymap.set("n", "s", telescope.extensions.luasnip.luasnip) -- require("dap-go").setup() -- end, -- }) - ----- web-devicons -require("nvim-web-devicons").setup() - ----- nvim-osc52 -vim.keymap.set("n", "y", require("osc52").copy_operator, { expr = true }) -vim.keymap.set("n", "yy", "y_", { remap = true }) -vim.keymap.set("v", "y", require("osc52").copy_visual) - ----- crates -vim.g.crates_loaded = false -vim.api.nvim_create_autocmd({ "BufEnter" }, { - pattern = { "Cargo.toml" }, - callback = function() - if vim.g.crates_loaded then - return - end - vim.g.crates_loaded = true - vim.cmd("packadd crates.nvim") - - local crates = require("crates") - crates.setup({ - completion = { - crates = { - enabled = true, - max_results = 5, - min_chars = 3, - } - }, - lsp = { - enabled = true, - on_attach = on_lsp_attach, - actions = true, - completion = true, - hover = true, - } - }) - vim.keymap.set("n", "cv", crates.show_versions_popup) - vim.keymap.set("n", "cf", crates.show_features_popup) - vim.keymap.set("n", "cd", crates.show_dependencies_popup) - vim.keymap.set("n", "cu", crates.update_crate) - vim.keymap.set("v", "cu", crates.update_crates) - vim.keymap.set("n", "cA", crates.update_all_crates) - vim.keymap.set("n", "cD", crates.open_documentation) - end, -}) - ----- neotest -vim.g.neotest_loaded = false -vim.api.nvim_create_autocmd({ "FileType" }, { - pattern = { "rust" }, - callback = function() - if vim.g.neotest_loaded then - return - end - vim.g.neotest_loaded = true - vim.cmd("packadd nvim-nio") - vim.cmd("packadd neotest") - vim.cmd("packadd neotest-rust") - - local neotest = require("neotest") - neotest.setup({ - adapters = { - require("neotest-rust") { - args = { "--no-capture" }, - dap_adapter = "lldb", - }, - }, - }) - vim.keymap.set("n", "tr", function() - neotest.run.run() - end) - vim.keymap.set("n", "td", function() - neotest.run.run({ strategy = "dap" }) - end) - vim.keymap.set("n", "tf", function() - neotest.run.run(vim.fn.expand("%")) - end) - vim.keymap.set("n", "ts", function() - neotest.run.stop() - end) - vim.keymap.set("n", "tt", function() - neotest.summary.toggle() - end) - end, -}) - ----- nvim-surround -require("nvim-surround").setup() - ----- nvim-spider --- we need to use the ex-command version to call the commands to allow dot repeatability --- see: https://github.com/chrisgrieser/nvim-spider#installation -vim.keymap.set({ "n", "o", "x" }, "w", "lua require('spider').motion('w')", { desc = "Spider-w" }) -vim.keymap.set({ "n", "o", "x" }, "e", "lua require('spider').motion('e')", { desc = "Spider-e" }) -vim.keymap.set({ "n", "o", "x" }, "b", "lua require('spider').motion('b')", { desc = "Spider-b" }) -vim.keymap.set({ "n", "o", "x" }, "ge", "lua require('spider').motion('ge')", { desc = "Spider-ge" }) - ----- colorizer -require 'colorizer'.setup({ - user_default_options = { - names = false, - css_fn = true, - } -}) - ----- ferris.nvim -vim.g.ferris_loaded = false -vim.api.nvim_create_autocmd({ "FileType" }, { - pattern = { "rust" }, - callback = function() - if vim.g.ferris_loaded then - return - end - vim.g.ferris_loaded = true - vim.cmd("packadd ferris.nvim") - - require("ferris").setup() - vim.keymap.set("n", "od", require("ferris.methods.open_documentation")) - end, -}) - ----- typst-preview -vim.g.typst_loaded = false -vim.api.nvim_create_autocmd({ "FileType" }, { - pattern = { "typst" }, - callback = function() - if vim.g.typst_loaded then - return - end - vim.g.typst_loaded = true - vim.cmd("packadd core.nvim") - vim.cmd("packadd typst-preview.nvim") - - local typst_preview = require("typst-preview") - typst_preview.setup({ - preview = function(output_file) - require("core").job.spawn("xdg-open", { - output_file, - }, {}, function() end, function() end, function() end) - end, - }) - typst_preview.preview() - end, -}) +-- +-- +-- ---- neotest +-- vim.g.neotest_loaded = false +-- vim.api.nvim_create_autocmd({ "FileType" }, { +-- pattern = { "rust" }, +-- callback = function() +-- if vim.g.neotest_loaded then +-- return +-- end +-- vim.g.neotest_loaded = true +-- vim.cmd("packadd nvim-nio") +-- vim.cmd("packadd neotest") +-- vim.cmd("packadd neotest-rust") +-- +-- local neotest = require("neotest") +-- neotest.setup({ +-- adapters = { +-- require("neotest-rust") { +-- args = { "--no-capture" }, +-- dap_adapter = "lldb", +-- }, +-- }, +-- }) +-- vim.keymap.set("n", "tr", function() +-- neotest.run.run() +-- end) +-- vim.keymap.set("n", "td", function() +-- neotest.run.run({ strategy = "dap" }) +-- end) +-- vim.keymap.set("n", "tf", function() +-- neotest.run.run(vim.fn.expand("%")) +-- end) +-- vim.keymap.set("n", "ts", function() +-- neotest.run.stop() +-- end) +-- vim.keymap.set("n", "tt", function() +-- neotest.summary.toggle() +-- end) +-- end, +-- }) diff --git a/lazy-lock.json b/lazy-lock.json new file mode 100644 index 0000000..6988128 --- /dev/null +++ b/lazy-lock.json @@ -0,0 +1,39 @@ +{ + "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, + "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, + "completion-buffers": { "branch": "master", "commit": "c36871b2a44b59761387f4972c617b44dcec5e75" }, + "conform.nvim": { "branch": "master", "commit": "1a99fdc1d3aa9ccdf3021e67982a679a8c5c740c" }, + "core.nvim": { "branch": "main", "commit": "26ada48758e73ff3763ac134a9a0da320a7762e4" }, + "crates.nvim": { "branch": "main", "commit": "5a24e3ba60e28e0cfde540696630b3c5a4db6dfd" }, + "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, + "ferris.nvim": { "branch": "main", "commit": "b9cd307a4bb3de6d87fc5da26f0f2775f4e2873a" }, + "fluent.vim": { "branch": "master", "commit": "86f60ebc5dc6ee52c1b7676aa2c950eb4b9af06a" }, + "git-blame.nvim": { "branch": "master", "commit": "8c56e864d448e84e0162872c381dd2715824dce2" }, + "gitsigns.nvim": { "branch": "main", "commit": "1ef74b546732f185d0f806860fa5404df7614f28" }, + "gruvbox.nvim": { "branch": "main", "commit": "7a1b23e4edf73a39642e77508ee6b9cbb8c60f9e" }, + "lazy.nvim": { "branch": "main", "commit": "460e1cd8f24e364d54543a4b0e83f6f4ec1f65fb" }, + "lsp_lines.nvim": { "branch": "main", "commit": "7d9e2748b61bff6ebba6e30adbc7173ccf21c055" }, + "lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" }, + "neogit": { "branch": "master", "commit": "e0a8674ac6b6048e1e4d364645dc605ac789bc4a" }, + "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "0671e0eabc6842676d3310370e8fae4e1c51d7f9" }, + "nvim-lint": { "branch": "master", "commit": "99cab0b885aaa2f59736c047d23e9a7835d4f9a9" }, + "nvim-lspconfig": { "branch": "master", "commit": "73e0002b6f211376bbf36c31a2f812aedf6bd6b0" }, + "nvim-osc52": { "branch": "main", "commit": "04cfaba1865ae5c53b6f887c3ca7304973824fb2" }, + "nvim-rc": { "branch": "main", "commit": "1d86e61e2256789b23da5071f21a973587e87e66" }, + "nvim-spider": { "branch": "main", "commit": "b1c542a78522d59432a827f6ec2b28f9422c7e7f" }, + "nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" }, + "nvim-treesitter": { "branch": "master", "commit": "3c6af36794b26e1bcac3f126b43e0f646154725d" }, + "nvim-web-devicons": { "branch": "master", "commit": "9154484705968658e9aab2b894d1b2a64bf9f83d" }, + "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, + "telescope-luasnip.nvim": { "branch": "master", "commit": "11668478677de360dea45cf2b090d34f21b8ae07" }, + "telescope.nvim": { "branch": "master", "commit": "0df05c9e9f791dbc542c1fb612195f4dc97209b6" }, + "typst-preview.nvim": { "branch": "main", "commit": "44404d931c2508a839c1770ae0decab5f068fae2" }, + "typst.vim": { "branch": "main", "commit": "4d18ced62599ffe5b3c0e5e49566d5456121bc02" }, + "vim-caddyfile": { "branch": "master", "commit": "24fe0720551883e407cb70ae1d7c03f162d1d5a0" }, + "vim-helm": { "branch": "master", "commit": "ae1ebc160d2b9b90108477ab10df7a4fc501e358" } +} diff --git a/lua/lazy-nvim.lua b/lua/lazy-nvim.lua new file mode 100644 index 0000000..3935c2d --- /dev/null +++ b/lua/lazy-nvim.lua @@ -0,0 +1,31 @@ +---- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +---@diagnostic disable-next-line: undefined-field +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +-- Setup lazy.nvim +require("lazy").setup({ + spec = { + -- import your plugins + { import = "plugins" }, + }, + -- Configure any other settings here. See the documentation for more details. + -- colorscheme that will be used when installing plugins. + install = { colorscheme = { "gruvbox" } }, + change_detection = { + enabled = false, + }, +}) diff --git a/lua/plugins/cmp.lua b/lua/plugins/cmp.lua new file mode 100644 index 0000000..fb6b90b --- /dev/null +++ b/lua/plugins/cmp.lua @@ -0,0 +1,48 @@ +return { + { + "hrsh7th/nvim-cmp", + opts = function() + local cmp = require("cmp") + ---@diagnostic disable-next-line: redundant-parameter + cmp.setup({ + snippet = { + expand = function(args) + require("luasnip").lsp_expand(args.body) + end, + }, + window = { + -- completion = cmp.config.window.bordered(), + -- documentation = cmp.config.window.bordered(), + }, + mapping = cmp.mapping.preset.insert({ + [""] = cmp.mapping.scroll_docs(-4), + [""] = cmp.mapping.scroll_docs(4), + [""] = cmp.mapping.complete(), + [""] = cmp.mapping.abort(), + -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. + [""] = cmp.mapping.confirm({ select = false }), + }), + sources = cmp.config.sources({ + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "path" }, + { name = "buffer" }, + { name = "crates" }, + }), + }) + end + }, + { + "steelsojka/completion-buffers", + dependencies = { + "hrsh7th/nvim-cmp", + }, + enabled = false, + }, + { + "hrsh7th/cmp-path", + }, + { + "saadparwaiz1/cmp_luasnip", + } +} diff --git a/lua/plugins/color.lua b/lua/plugins/color.lua new file mode 100644 index 0000000..5a6b28c --- /dev/null +++ b/lua/plugins/color.lua @@ -0,0 +1,12 @@ +return { + { + "NvChad/nvim-colorizer.lua", + event = "VeryLazy", + opts = { + user_default_options = { + names = false, + css_fn = true, + } + } + }, +} diff --git a/lua/plugins/colorscheme.lua b/lua/plugins/colorscheme.lua new file mode 100644 index 0000000..e199d81 --- /dev/null +++ b/lua/plugins/colorscheme.lua @@ -0,0 +1,7 @@ +return { + { + "npxbr/gruvbox.nvim", + lazy = false, + priority = 1000, + }, +} diff --git a/lua/plugins/comment.lua b/lua/plugins/comment.lua new file mode 100644 index 0000000..5862cce --- /dev/null +++ b/lua/plugins/comment.lua @@ -0,0 +1,6 @@ +return { + { + "numToStr/Comment.nvim", + lazy = true, + }, +} diff --git a/lua/plugins/conform.lua b/lua/plugins/conform.lua new file mode 100644 index 0000000..6d4cefe --- /dev/null +++ b/lua/plugins/conform.lua @@ -0,0 +1,36 @@ +return { + { + "stevearc/conform.nvim", + lazy = true, + event = { "BufWritePre" }, + cmd = { "ConformInfo" }, + keys = { + { + "", + function() + require("conform").format({ async = true }) + end, + mode = "", + desc = "Format buffer", + }, + }, + opts = { + formatters_by_ft = { + terraform = { "terraform_ft" }, + }, + default_format_opts = { + lsp_format = "fallback", + }, + format_on_save = { timeout_ms = 500 }, + -- Customize formatters + formatters = { + shfmt = { + prepend_args = { "-i", "2" }, + }, + }, + }, + init = function() + vim.o.formatexpr = "v:lua.require'conform'.formatexpr()" + end, + }, +} diff --git a/lua/plugins/filetypes.lua b/lua/plugins/filetypes.lua new file mode 100644 index 0000000..1f98c7d --- /dev/null +++ b/lua/plugins/filetypes.lua @@ -0,0 +1,11 @@ +return { + { + "projectfluent/fluent.vim" + }, + { + "https://github.com/isobit/vim-caddyfile", + }, + { + "towolf/vim-helm", + } +} diff --git a/lua/plugins/git.lua b/lua/plugins/git.lua new file mode 100644 index 0000000..ce647dc --- /dev/null +++ b/lua/plugins/git.lua @@ -0,0 +1,64 @@ +return { + { + "lewis6991/gitsigns.nvim", + event = "VeryLazy", + opts = { + on_attach = function(_bufnr) + local gs = package.loaded.gitsigns + + -- Navigation + vim.keymap.set("n", "]c", function() + if vim.wo.diff then + return "]c" + end + vim.schedule(function() + gs.next_hunk() + end) + return "" + end, { expr = true }) + + vim.keymap.set("n", "[c", function() + if vim.wo.diff then + return "[c" + end + vim.schedule(function() + gs.prev_hunk() + end) + return "" + end, { expr = true }) + end, + } + }, + { + "f-person/git-blame.nvim", + lazy = true, + keys = { + { "oc", ":GitBlameOpenCommitURL", desc = "Open Commit URL" }, + { "tb", ":GitBlameToggle", desc = "Git blame toggle" }, + }, + opts = { + enabled = false, + }, + }, + { + "NeogitOrg/neogit", + dependencies = { + "nvim-lua/plenary.nvim", + "sindrets/diffview.nvim" + }, + lazy = true, + cmd = { "Neogit" }, + opts = { + git_services = { + ["azure.com"] = + "https://dev.azure.com/${owner}/_git/${repository}/pullrequestcreate?sourceRef=${branch_name}&targetRef=${target}", + ["bitbucket.org"] = "https://bitbucket.org/${owner}/${repository}/pull-requests/new?source=${branch_name}&t=1", + ["github.com"] = "https://github.com/${owner}/${repository}/compare/${branch_name}?expand=1", + ["gitlab.com"] = + "https://gitlab.com/${owner}/${repository}/merge_requests/new?merge_request[source_branch]=${branch_name}", + ["codeberg.org"] = "https://codeberg.org/${owner}/${repository}/compare/${target}...${branch_name}", + ["oolong.ludwig.dog"] = "https://oolong.ludwig.dog/${owner}/${repository}/compare/${target}...${branch_name}", + }, + } + } +} diff --git a/lua/plugins/lint.lua b/lua/plugins/lint.lua new file mode 100644 index 0000000..0a08ff0 --- /dev/null +++ b/lua/plugins/lint.lua @@ -0,0 +1,79 @@ +return { + { + "mfussenegger/nvim-lint", + event = "VeryLazy", + config = function() + local lint = require("lint") + -- sqlfluff -- + lint.linters.sqlfluff.args = { + "lint", + "--format=json", + "--dialect=postgres", + } + + -- yamllint -- + lint.linters.yamllint.args = { + args = { "--format=parsable", "-d relaxed" }, + } + -- actionlint -- + ---- Set custom filetype to not lint everything + --- https://github.com/mfussenegger/nvim-lint/issues/591#issuecomment-2142162704 + vim.filetype.add({ + pattern = { + ['.*/.github/workflows/.*%.yml'] = 'yaml.ghaction', + ['.*/.github/workflows/.*%.yaml'] = 'yaml.ghaction', + }, + }) + + local linters = { + bash = { "shellcheck" }, + dockerfile = { "hadolint" }, + ghaction = { "actionlint" }, + go = { "golangcilint" }, + sql = { "sqlfluff" }, + yaml = { "yamllint" }, + } + -- set linters -- + lint.linters_by_ft = linters + -- set autocommands -- + for ft, ft_linters in pairs(linters) do + local on_change = false + local on_write = false + for _, l in ipairs(ft_linters) do + if lint.linters[l].stdin then + on_change = true + else + on_write = true + end + end + if on_change then + vim.api.nvim_create_autocmd({ "FileType" }, { + pattern = ft, + callback = function() + vim.api.nvim_create_autocmd({ "TextChanged" }, { + callback = function() + lint.try_lint(nil, { ignore_errors = true }) + end, + }) + end, + }) + end + if on_write then + vim.api.nvim_create_autocmd({ "FileType" }, { + pattern = ft, + callback = function() + vim.api.nvim_create_autocmd({ "BufWritePost" }, { + callback = function() + lint.try_lint(nil, { ignore_errors = true }) + end, + }) + -- we want to also call linters here so we don't wait + -- for the first write to happen + lint.try_lint(nil, { ignore_errors = true }) + end, + }) + end + end + end + }, +} diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua new file mode 100644 index 0000000..3084eac --- /dev/null +++ b/lua/plugins/lsp.lua @@ -0,0 +1,104 @@ +local on_lsp_attach = function(_client, _bufnr) + vim.keymap.set("n", "gD", vim.lsp.buf.declaration) + vim.keymap.set("n", "gd", vim.lsp.buf.definition) + vim.keymap.set("n", "K", vim.lsp.buf.hover) + vim.keymap.set("n", "gi", vim.lsp.buf.implementation) + vim.keymap.set("n", "", vim.lsp.buf.signature_help) + vim.keymap.set("n", "D", vim.lsp.buf.type_definition) + vim.keymap.set("n", "rn", vim.lsp.buf.rename) + vim.keymap.set("n", "ca", vim.lsp.buf.code_action) + vim.keymap.set("n", "gr", vim.lsp.buf.references) + vim.keymap.set("n", "e", vim.diagnostic.open_float) + vim.keymap.set("n", "[d", vim.diagnostic.goto_prev) + vim.keymap.set("n", "]d", vim.diagnostic.goto_next) + vim.keymap.set("n", "q", vim.diagnostic.setloclist) +end + +return { + { + "neovim/nvim-lspconfig", + event = "VeryLazy", + config = function() + local lsp = require("lspconfig") + -- Use an on_attach function to only map the following keys + -- after the language server attaches to the current buffer + + -- Use a loop to conveniently call 'setup' on multiple servers and + -- map buffer local keybindings when the language server attaches + local servers = { + clangd = { + filetypes = { "c", "cpp" } + }, + dotls = {}, + eslint = {}, + gopls = {}, + jsonls = {}, + kotlin_language_server = {}, + lua_ls = { + settings = { + Lua = { + runtime = { version = "LuaJIT" }, + diagnostics = { + globals = { "vim" }, + unusedLocalExclude = { "_*" }, + }, + workspace = { + checkThirdParty = false, + library = vim.api.nvim_get_runtime_file("", true), + }, + telemetry = { enable = false }, + }, + }, + }, + pylsp = {}, + rust_analyzer = { + settings = { + ['rust-analyzer'] = { + cargo = { + features = "all" + } + } + } + }, + taplo = {}, + texlab = {}, + tflint = {}, + ts_ls = {}, + biome = { + cmd = { "pnpm", "exec", "biome", "lsp-proxy" } + }, + typst_lsp = {}, + } + + local capabilities = require("cmp_nvim_lsp").default_capabilities() + lsp.util.default_config = vim.tbl_deep_extend("force", lsp.util.default_config, { capabilities = capabilities }) + for server, add_to_config in pairs(servers) do + local config = { + on_attach = on_lsp_attach, + flags = { + debounce_text_changes = 150, + }, + } + for k, v in pairs(add_to_config) do + config[k] = v + end + lsp[server].setup(config) + end + end + }, + { + "hrsh7th/cmp-nvim-lsp", + lazy = true, + }, + { + "https://git.sr.ht/~whynothugo/lsp_lines.nvim", + enabled = false, + opts = {}, + init = function() + -- Disable virtual_text since it's redundant due to lsp_lines. + vim.diagnostic.config({ + virtual_text = false, + }) + end + } +} diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua new file mode 100644 index 0000000..87795b7 --- /dev/null +++ b/lua/plugins/lualine.lua @@ -0,0 +1,66 @@ +return { + { + 'nvim-lualine/lualine.nvim', + config = function () + local lualine = require("lualine") + local theme = require("lualine.themes.gruvbox") + theme.terminal = theme.insert + lualine.setup({ + options = { + component_separators = { left = "│", right = "│" }, + section_separators = { left = "", right = "" }, + theme = theme, + }, + sections = { + lualine_a = { "mode" }, + lualine_b = { "diagnostics" }, + lualine_c = { + { + "filename", + path = 1, + }, + }, + lualine_x = { + { + "fileformat", + cond = function() + return vim.bo.fileformat ~= "unix" + end, + }, + { + "encoding", + cond = function() + return vim.bo.fileencoding ~= "utf-8" + end, + }, + }, + lualine_y = { + { + "filetype", + icons_enabled = false, + symbols = { + modified = "", + readonly = "", + unnamed = "", + new = "󰎔", + }, + }, + }, + lualine_z = { "searchcount", "progress", "location" }, + }, + tabline = { + lualine_a = { + { + "buffers", + show_filename_only = false, + max_length = function() + return math.max(math.ceil(vim.o.columns * 2 / 3), vim.o.columns - 6) + end, + }, + }, + lualine_z = { "tabs" }, + }, + }) + end + }, +} diff --git a/lua/plugins/luasnip.lua b/lua/plugins/luasnip.lua new file mode 100644 index 0000000..9234ef6 --- /dev/null +++ b/lua/plugins/luasnip.lua @@ -0,0 +1,30 @@ +return { + { + "L3MON4D3/LuaSnip", + version = "v2.3", + lazy = true, + config = function() + local luasnip = require("luasnip") + require("luasnip.loaders.from_lua").lazy_load() + luasnip.config.set_config({ + store_selection_keys = "", + }) + vim.keymap.set({ "i", "s" }, "", function() + if luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + else + vim.api.nvim_feedkeys( + vim.api.nvim_replace_termcodes("", true, false, true), + "n", -- noremap to avoid infinite recursion + true + ) + end + end, { silent = true }) + vim.keymap.set({ "i", "s" }, "", function() + if luasnip.jumpable(-1) then + luasnip.jump(-1) + end + end, { silent = true }) + end + }, +} diff --git a/lua/plugins/nvim-rc.lua b/lua/plugins/nvim-rc.lua new file mode 100644 index 0000000..bacba74 --- /dev/null +++ b/lua/plugins/nvim-rc.lua @@ -0,0 +1,5 @@ +return { + { + "Dkendal/nvim-rc", + }, +} diff --git a/lua/plugins/osc52.lua b/lua/plugins/osc52.lua new file mode 100644 index 0000000..b45dce0 --- /dev/null +++ b/lua/plugins/osc52.lua @@ -0,0 +1,16 @@ +return { + { + "ojroques/nvim-osc52", + lazy = true, + keys = { + {"y", desc = "OSC52 copy"}, + {"yy", desc = "OSC52 line copy"}, + {"y", mode = "v", desc = "OSC52 copy"}, + }, + config = function() + vim.keymap.set("n", "y", require("osc52").copy_operator, { expr = true }) + vim.keymap.set("n", "yy", "y_", { remap = true }) + vim.keymap.set("v", "y", require("osc52").copy_visual) + end + }, +} diff --git a/lua/plugins/rust.lua b/lua/plugins/rust.lua new file mode 100644 index 0000000..b2acaa9 --- /dev/null +++ b/lua/plugins/rust.lua @@ -0,0 +1,40 @@ +return { + { + "Saecki/crates.nvim", + lazy = true, + event = { "BufEnter Cargo.toml" }, + config = function() + local crates = require("crates") + crates.setup({ + completion = { + crates = { + enabled = true, + max_results = 5, + min_chars = 3, + } + }, + lsp = { + enabled = true, + on_attach = require("lsp").on_lsp_attach, + actions = true, + completion = true, + hover = true, + } + }) + vim.keymap.set("n", "cv", crates.show_versions_popup) + vim.keymap.set("n", "cf", crates.show_features_popup) + vim.keymap.set("n", "cd", crates.show_dependencies_popup) + vim.keymap.set("n", "cu", crates.update_crate) + vim.keymap.set("v", "cu", crates.update_crates) + vim.keymap.set("n", "cA", crates.update_all_crates) + vim.keymap.set("n", "cD", crates.open_documentation) + end, + }, + { + "vxpm/ferris.nvim", + ft = { "rust" }, + init = function() + vim.keymap.set("n", "od", require("ferris.methods.open_documentation")) + end + }, +} diff --git a/lua/plugins/spider.lua b/lua/plugins/spider.lua new file mode 100644 index 0000000..c8f445c --- /dev/null +++ b/lua/plugins/spider.lua @@ -0,0 +1,12 @@ +return { + { + "chrisgrieser/nvim-spider", + lazy = true, + keys = { + { "e", "lua require('spider').motion('e')", mode = { "n", "o", "x" }, desc = "Spider-e" }, + { "w", "lua require('spider').motion('w')", mode = { "n", "o", "x" }, desc = "Spider-w" }, + { "b", "lua require('spider').motion('b')", mode = { "n", "o", "x" }, desc = "Spider-b" }, + { "ge", "lua require('spider').motion('ge')", mode = { "n", "o", "x" }, desc = "Spider-ge" }, + }, + }, +} diff --git a/lua/plugins/surround.lua b/lua/plugins/surround.lua new file mode 100644 index 0000000..d45689c --- /dev/null +++ b/lua/plugins/surround.lua @@ -0,0 +1,10 @@ +return { + { + "kylechui/nvim-surround", + event = "VeryLazy", + config = function() + require("nvim-surround").setup({ + }) + end + } +} diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua new file mode 100644 index 0000000..c90908d --- /dev/null +++ b/lua/plugins/telescope.lua @@ -0,0 +1,46 @@ +return { + { + "nvim-telescope/telescope.nvim", + lazy = true, + dependencies = { + "nvim-lua/plenary.nvim", + "nvim-tree/nvim-web-devicons", + { + "nvim-telescope/telescope-fzf-native.nvim", + build = "make", + }, + }, + keys = { + {"b", require("telescope.builtin").buffers, desc = "Telescope buffers"}, + {"f", require("telescope.builtin").find_files, desc = "Telescope find files"}, + {"g", require("telescope.builtin").live_grep, desc = "Telescope live grep"}, + {"/", require("telescope.builtin").current_buffer_fuzzy_find, desc = "Telescope current buffer fuzzy find"}, + }, + config = function() + local telescope = require("telescope") + telescope.setup({ + defaults = { + file_ignore_patterns = { "%.avif", "%.jpg", "%.pdf", "%.png", "%.webp" }, + }, + pickers = { + find_files = { + find_command = { "fd", "--type", "f", "--hidden", "--exclude", ".git", "--exclude", ".gitmodules" }, + }, + }, + }) + -- telescope.load_extension("fzy_native") + telescope.load_extension("luasnip") + local builtin = require("telescope.builtin") + -- vim.keymap.set("n", "f", builtin.find_files) + -- vim.keymap.set("n", "b", builtin.buffers) + -- vim.keymap.set("n", "/", builtin.current_buffer_fuzzy_find) + -- vim.keymap.set("n", "g", builtin.live_grep) + vim.keymap.set("n", "cg", builtin.grep_string) + vim.keymap.set("n", ":", builtin.commands) + vim.keymap.set("n", "s", telescope.extensions.luasnip.luasnip) + end + }, + { + "benfowler/telescope-luasnip.nvim", + } +} diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua new file mode 100644 index 0000000..b9bc96f --- /dev/null +++ b/lua/plugins/treesitter.lua @@ -0,0 +1,97 @@ +return { + { + "nvim-treesitter/nvim-treesitter", + lazy = false, + config = function() + require("nvim-treesitter.configs").setup({ + auto_install = true, + sync_install = false, + ignore_install = {}, + modules = {}, -- not used, but it will silence lua_ls + incremental_selection = { + enable = true, + keymaps = { + init_selection = "", + node_incremental = "", + node_decremental = "", + }, + }, + ensure_installed = { + "bash", + "c", + "cmake", + "comment", + "cpp", + "css", + "csv", + "diff", + "dockerfile", + "dot", + "git_config", + "git_rebase", + "gitattributes", + "gitcommit", + "gitignore", + "go", + "html", + "htmldjango", + "http", + "ini", + "javascript", + "json", + "kdl", + "kotlin", + "latex", + "lua", + "make", + "markdown", + "markdown_inline", + "mermaid", + "passwd", + "perl", + "php", + "proto", + "python", + "query", + "regex", + "ron", + "rst", + "rust", + "scss", + "sql", + "terraform", + "toml", + "typescript", + "vim", + "vimdoc", + "xml", + "yaml", + }, + highlight = { enable = true, indent = true }, + playground = { + enable = false, + disable = {}, + updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code + persist_queries = false, -- Whether the query persists across vim sessions + keybindings = { + toggle_query_editor = 'o', + toggle_hl_groups = 'i', + toggle_injected_languages = 't', + toggle_anonymous_nodes = 'a', + toggle_language_display = 'I', + focus_language = 'f', + unfocus_language = 'F', + update = 'R', + goto_node = '', + show_help = '?', + }, + }, + query_linter = { + enable = true, + use_virtual_text = true, + lint_events = { "BufWrite", "CursorHold" }, + }, + }) + end + } +} diff --git a/lua/plugins/typst.lua b/lua/plugins/typst.lua new file mode 100644 index 0000000..1065001 --- /dev/null +++ b/lua/plugins/typst.lua @@ -0,0 +1,19 @@ +return { + { + "kaarmu/typst.vim", + ft = "typst", + lazy = false, + }, + { + "niuiic/typst-preview.nvim", + ft = "typst", + dependencies = { "niuiic/core.nvim" }, + opts = { + preview = function(output_file) + require("core").job.spawn("xdg-open", { + output_file, + }, {}, function() end, function() end, function() end) + end, + }, + }, +} diff --git a/pack/general/opt/core.nvim b/pack/general/opt/core.nvim deleted file mode 160000 index 26ada48..0000000 --- a/pack/general/opt/core.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 26ada48758e73ff3763ac134a9a0da320a7762e4 diff --git a/pack/general/opt/crates.nvim b/pack/general/opt/crates.nvim deleted file mode 160000 index 891063a..0000000 --- a/pack/general/opt/crates.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 891063a2dc8471501b9742406a514be62a20c138 diff --git a/pack/general/opt/ferris.nvim b/pack/general/opt/ferris.nvim deleted file mode 160000 index b9cd307..0000000 --- a/pack/general/opt/ferris.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b9cd307a4bb3de6d87fc5da26f0f2775f4e2873a diff --git a/pack/general/opt/lsp-timeout.nvim b/pack/general/opt/lsp-timeout.nvim deleted file mode 160000 index 6325906..0000000 --- a/pack/general/opt/lsp-timeout.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6325906730330105a9adc41d0ceb8499b3072e2b diff --git a/pack/general/opt/neotest b/pack/general/opt/neotest deleted file mode 160000 index 32ff2ac..0000000 --- a/pack/general/opt/neotest +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 32ff2ac21135a372a42b38ae131e531e64833bd3 diff --git a/pack/general/opt/neotest-rust b/pack/general/opt/neotest-rust deleted file mode 160000 index 0418811..0000000 --- a/pack/general/opt/neotest-rust +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0418811e1e3499b2501593f2e131d02f5e6823d4 diff --git a/pack/general/opt/nvim-dap b/pack/general/opt/nvim-dap deleted file mode 160000 index 281a2e4..0000000 --- a/pack/general/opt/nvim-dap +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 281a2e4cd1e7a17cea7ecb1745d84a8ab1249925 diff --git a/pack/general/opt/nvim-dap-go b/pack/general/opt/nvim-dap-go deleted file mode 160000 index 5511788..0000000 --- a/pack/general/opt/nvim-dap-go +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5511788255c92bdd845f8d9690f88e2e0f0ff9f2 diff --git a/pack/general/opt/nvim-dap-ui b/pack/general/opt/nvim-dap-ui deleted file mode 160000 index a5606bc..0000000 --- a/pack/general/opt/nvim-dap-ui +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a5606bc5958db86f8d92803bea7400ee26a8d7e4 diff --git a/pack/general/opt/nvim-nio b/pack/general/opt/nvim-nio deleted file mode 160000 index a428f30..0000000 --- a/pack/general/opt/nvim-nio +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a428f309119086dc78dd4b19306d2d67be884eee diff --git a/pack/general/opt/typst-preview.nvim b/pack/general/opt/typst-preview.nvim deleted file mode 160000 index 44404d9..0000000 --- a/pack/general/opt/typst-preview.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 44404d931c2508a839c1770ae0decab5f068fae2 diff --git a/pack/general/start/Comment.nvim b/pack/general/start/Comment.nvim deleted file mode 160000 index e30b7f2..0000000 --- a/pack/general/start/Comment.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e30b7f2008e52442154b66f7c519bfd2f1e32acb diff --git a/pack/general/start/LuaSnip b/pack/general/start/LuaSnip deleted file mode 160000 index 7ad2eae..0000000 --- a/pack/general/start/LuaSnip +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7ad2eaeaca56d6ed63acacbfc114b99f1f67b982 diff --git a/pack/general/start/cmp-buffer b/pack/general/start/cmp-buffer deleted file mode 160000 index 3022dbc..0000000 --- a/pack/general/start/cmp-buffer +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3022dbc9166796b644a841a02de8dd1cc1d311fa diff --git a/pack/general/start/cmp-nvim-lsp b/pack/general/start/cmp-nvim-lsp deleted file mode 160000 index 39e2eda..0000000 --- a/pack/general/start/cmp-nvim-lsp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 39e2eda76828d88b773cc27a3f61d2ad782c922d diff --git a/pack/general/start/cmp-path b/pack/general/start/cmp-path deleted file mode 160000 index 91ff86c..0000000 --- a/pack/general/start/cmp-path +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 91ff86cd9c29299a64f968ebb45846c485725f23 diff --git a/pack/general/start/cmp_luasnip b/pack/general/start/cmp_luasnip deleted file mode 160000 index 05a9ab2..0000000 --- a/pack/general/start/cmp_luasnip +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 05a9ab28b53f71d1aece421ef32fee2cb857a843 diff --git a/pack/general/start/conform.nvim b/pack/general/start/conform.nvim deleted file mode 160000 index 62eba81..0000000 --- a/pack/general/start/conform.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 62eba813b7501b39612146cbf29cd07f1d4ac29c diff --git a/pack/general/start/diffview.nvim b/pack/general/start/diffview.nvim deleted file mode 160000 index 4516612..0000000 --- a/pack/general/start/diffview.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4516612fe98ff56ae0415a259ff6361a89419b0a diff --git a/pack/general/start/fluent.vim b/pack/general/start/fluent.vim deleted file mode 160000 index 2278e05..0000000 --- a/pack/general/start/fluent.vim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2278e05ec7fbb48e06b5d26319385e1c09325760 diff --git a/pack/general/start/formatter.nvim b/pack/general/start/formatter.nvim deleted file mode 160000 index ad246d3..0000000 --- a/pack/general/start/formatter.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ad246d34ce7a32f752071ed81b09b94e6b127fad diff --git a/pack/general/start/git-blame.nvim b/pack/general/start/git-blame.nvim deleted file mode 160000 index 50543e3..0000000 --- a/pack/general/start/git-blame.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 50543e3993f4b996eea01ff5ccc8fe2a354c5388 diff --git a/pack/general/start/gitsigns.nvim b/pack/general/start/gitsigns.nvim deleted file mode 160000 index 562dc47..0000000 --- a/pack/general/start/gitsigns.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 562dc47189ad3c8696dbf460d38603a74d544849 diff --git a/pack/general/start/gruvbox.nvim b/pack/general/start/gruvbox.nvim deleted file mode 160000 index 7a1b23e..0000000 --- a/pack/general/start/gruvbox.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7a1b23e4edf73a39642e77508ee6b9cbb8c60f9e diff --git a/pack/general/start/lsp_lines.nvim b/pack/general/start/lsp_lines.nvim deleted file mode 160000 index 7d9e274..0000000 --- a/pack/general/start/lsp_lines.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7d9e2748b61bff6ebba6e30adbc7173ccf21c055 diff --git a/pack/general/start/lualine.nvim b/pack/general/start/lualine.nvim deleted file mode 160000 index b431d22..0000000 --- a/pack/general/start/lualine.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b431d228b7bbcdaea818bdc3e25b8cdbe861f056 diff --git a/pack/general/start/lush.nvim b/pack/general/start/lush.nvim deleted file mode 160000 index 45a79ec..0000000 --- a/pack/general/start/lush.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 45a79ec4acb5af783a6a29673a999ce37f00497e diff --git a/pack/general/start/neogit b/pack/general/start/neogit deleted file mode 160000 index 2b74a77..0000000 --- a/pack/general/start/neogit +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2b74a777b963dfdeeabfabf84d5ba611666adab4 diff --git a/pack/general/start/nvim-cmp b/pack/general/start/nvim-cmp deleted file mode 160000 index ae644fe..0000000 --- a/pack/general/start/nvim-cmp +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ae644feb7b67bf1ce4260c231d1d4300b19c6f30 diff --git a/pack/general/start/nvim-colorizer.lua b/pack/general/start/nvim-colorizer.lua deleted file mode 160000 index 194ec60..0000000 --- a/pack/general/start/nvim-colorizer.lua +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 194ec600488f7c7229668d0e80bd197f3a2b84ff diff --git a/pack/general/start/nvim-lint b/pack/general/start/nvim-lint deleted file mode 160000 index debabca..0000000 --- a/pack/general/start/nvim-lint +++ /dev/null @@ -1 +0,0 @@ -Subproject commit debabca63c0905b59ce596a55a8e33eafdf66342 diff --git a/pack/general/start/nvim-lspconfig b/pack/general/start/nvim-lspconfig deleted file mode 160000 index dddd094..0000000 --- a/pack/general/start/nvim-lspconfig +++ /dev/null @@ -1 +0,0 @@ -Subproject commit dddd0945c0f31a0abd843425927a1712d2db2e10 diff --git a/pack/general/start/nvim-osc52 b/pack/general/start/nvim-osc52 deleted file mode 160000 index 04cfaba..0000000 --- a/pack/general/start/nvim-osc52 +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 04cfaba1865ae5c53b6f887c3ca7304973824fb2 diff --git a/pack/general/start/nvim-rc b/pack/general/start/nvim-rc deleted file mode 160000 index 1d86e61..0000000 --- a/pack/general/start/nvim-rc +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 1d86e61e2256789b23da5071f21a973587e87e66 diff --git a/pack/general/start/nvim-spider b/pack/general/start/nvim-spider deleted file mode 160000 index 7641ce0..0000000 --- a/pack/general/start/nvim-spider +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 7641ce03636633b986493fc6f52d5051cb1375ce diff --git a/pack/general/start/nvim-surround b/pack/general/start/nvim-surround deleted file mode 160000 index ec2dc76..0000000 --- a/pack/general/start/nvim-surround +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ec2dc7671067e0086cdf29c2f5df2dd909d5f71f diff --git a/pack/general/start/nvim-treesitter b/pack/general/start/nvim-treesitter deleted file mode 160000 index 6699eae..0000000 --- a/pack/general/start/nvim-treesitter +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 6699eae8ba4551fe927da0f0f3f61ae085f836aa diff --git a/pack/general/start/nvim-web-devicons b/pack/general/start/nvim-web-devicons deleted file mode 160000 index 3722e3d..0000000 --- a/pack/general/start/nvim-web-devicons +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 3722e3d1fb5fe1896a104eb489e8f8651260b520 diff --git a/pack/general/start/playground b/pack/general/start/playground deleted file mode 160000 index ba48c6a..0000000 --- a/pack/general/start/playground +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ba48c6a62a280eefb7c85725b0915e021a1a0749 diff --git a/pack/general/start/plenary.nvim b/pack/general/start/plenary.nvim deleted file mode 160000 index ec28942..0000000 --- a/pack/general/start/plenary.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ec289423a1693aeae6cd0d503bac2856af74edaa diff --git a/pack/general/start/popup.nvim b/pack/general/start/popup.nvim deleted file mode 160000 index b7404d3..0000000 --- a/pack/general/start/popup.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit b7404d35d5d3548a82149238289fa71f7f6de4ac diff --git a/pack/general/start/telescope-fzy-native.nvim b/pack/general/start/telescope-fzy-native.nvim deleted file mode 160000 index 282f069..0000000 --- a/pack/general/start/telescope-fzy-native.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 282f069504515eec762ab6d6c89903377252bf5b diff --git a/pack/general/start/telescope-luasnip.nvim b/pack/general/start/telescope-luasnip.nvim deleted file mode 160000 index 1166847..0000000 --- a/pack/general/start/telescope-luasnip.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 11668478677de360dea45cf2b090d34f21b8ae07 diff --git a/pack/general/start/telescope.nvim b/pack/general/start/telescope.nvim deleted file mode 160000 index 5972437..0000000 --- a/pack/general/start/telescope.nvim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 5972437de807c3bc101565175da66a1aa4f8707a diff --git a/pack/general/start/typst.vim b/pack/general/start/typst.vim deleted file mode 160000 index 4d18ced..0000000 --- a/pack/general/start/typst.vim +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4d18ced62599ffe5b3c0e5e49566d5456121bc02 diff --git a/pack/general/start/vim-caddyfile b/pack/general/start/vim-caddyfile deleted file mode 160000 index 24fe072..0000000 --- a/pack/general/start/vim-caddyfile +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 24fe0720551883e407cb70ae1d7c03f162d1d5a0 diff --git a/pack/general/start/vim-helm b/pack/general/start/vim-helm deleted file mode 160000 index ae1ebc1..0000000 --- a/pack/general/start/vim-helm +++ /dev/null @@ -1 +0,0 @@ -Subproject commit ae1ebc160d2b9b90108477ab10df7a4fc501e358