diff options
45 files changed, 577 insertions, 449 deletions
diff --git a/hypr/.config/hypr/hyprland.conf b/hypr/.config/hypr/hyprland.conf index 39984b3..365759f 100755 --- a/hypr/.config/hypr/hyprland.conf +++ b/hypr/.config/hypr/hyprland.conf @@ -50,7 +50,7 @@ env = GRIMBLAST_HIDE_CURSOR, 0 general { gaps_in = 4 - gaps_out = 5, 5, 10, 5 + gaps_out = 4, 4, 4, 4 border_size = 1 @@ -159,13 +159,12 @@ misc { input { kb_layout = us, ru - kb_variant = - kb_model = - kb_options = grp:alt_shift_toggle,caps:ctrl_modifier - kb_rules = + kb_options = grp:alt_shift_toggle + # kb_variant = + # kb_model = + # kb_rules = follow_mouse = 1 - sensitivity = 0 # -1.0 - 1.0, 0 means no modification. touchpad { @@ -173,14 +172,15 @@ input { } } -gestures { - workspace_swipe = true +device { + name = apple-spi-keyboard + # All supported options + # less /usr/share/X11/xkb/rules/base.lst + kb_options = caps:escape, } -# Example per-device config -device { - name = epic-mouse-v1 - sensitivity = -0.5 +gestures { + workspace_swipe = true } diff --git a/newsboat/.config/newsboat/urls b/newsboat/.config/newsboat/urls deleted file mode 100644 index f038118..0000000 --- a/newsboat/.config/newsboat/urls +++ /dev/null @@ -1,37 +0,0 @@ ----People--- -https://herbsutter.com/feed blog -https://lukesmith.xyz/index.xml blog - ----C++_organizations--- -https://cppcon.org/rss c++ -https://cppnow.org/feed c++ -https://isocpp.org/blog/rss/category/news c++ news -https://isocpp.org/blog/rss/category/product-news c++ news -https://isocpp.org/blog/rss/category/articles-books c++ -https://isocpp.org/blog/rss/category/video-on-demand c++ -https://isocpp.org/blog/rss/category/events c++ -https://isocpp.org/blog/rss/category/training c++ -https://isocpp.org/blog/rss/category/standardization c++ - ----Systems--- -https://guix.gnu.org/feeds/blog.atom - ----Projects--- -https://neovim.io/news.xml - ----Social--- -https://rabkor.ru/feed -https://rabkor.ru/author/boris_kagarlitsky/feed -https://rabkor.ru/author/alex-sakhnin/feed -https://moskvichmag.ru/author/sahnin/feed - ----YouTube--- -https://www.youtube.com/feeds/videos.xml?channel_id=UCvmBEbr9NZt7UEh9doI7n_A -https://www.youtube.com/feeds/videos.xml?channel_id=UC5e__RG9K3cHrPotPABnrwg -https://www.youtube.com/feeds/videos.xml?channel_id=UCMlGfpWw-RUdWX_JbLCukXg - ----Reddit--- -https://www.reddit.com/r/neovim/.rss - ----Torrents--- -https://rutracker.org/forum/viewforum.php?f=7 diff --git a/nvim/.config/nvim/.gitignore b/nvim/.config/nvim/.gitignore index e033bc6..dc90214 100755 --- a/nvim/.config/nvim/.gitignore +++ b/nvim/.config/nvim/.gitignore @@ -1 +1,5 @@ lazy-lock.json +node_modules/ +package-lock.json +package.json +.luarc.json diff --git a/nvim/.config/nvim/init.lua b/nvim/.config/nvim/init.lua index 8ee3981..afac52a 100755 --- a/nvim/.config/nvim/init.lua +++ b/nvim/.config/nvim/init.lua @@ -1,33 +1,6 @@ -vim.g.maplocalleader = "," -vim.g.mapleader = " " - -local rocks_config = { - rocks_path = vim.env.HOME .. "/.local/share/nvim/rocks", -} - -vim.g.rocks_nvim = rocks_config - -local luarocks_path = { - vim.fs.joinpath(rocks_config.rocks_path, "share", "lua", "5.1", "?.lua"), - vim.fs.joinpath(rocks_config.rocks_path, "share", "lua", "5.1", "?", "init.lua"), -} -package.path = package.path .. ";" .. table.concat(luarocks_path, ";") - -local luarocks_cpath = { - vim.fs.joinpath(rocks_config.rocks_path, "lib", "lua", "5.1", "?.so"), - vim.fs.joinpath(rocks_config.rocks_path, "lib64", "lua", "5.1", "?.so"), - -- Remove the dylib and dll paths if you do not need macos or windows support - vim.fs.joinpath(rocks_config.rocks_path, "lib", "lua", "5.1", "?.dylib"), - vim.fs.joinpath(rocks_config.rocks_path, "lib64", "lua", "5.1", "?.dylib"), - vim.fs.joinpath(rocks_config.rocks_path, "lib", "lua", "5.1", "?.dll"), - vim.fs.joinpath(rocks_config.rocks_path, "lib64", "lua", "5.1", "?.dll"), -} -package.cpath = package.cpath .. ";" .. table.concat(luarocks_cpath, ";") - -vim.opt.runtimepath:append(vim.fs.joinpath(rocks_config.rocks_path, "lib", "luarocks", "rocks-5.1", "*", "*")) - +require "globals" require "keymaps" -require "autocmds" require "options" -require "terminal" +require "autocmds" require "lsp" +require "rocks-setup" diff --git a/nvim/.config/nvim/lsp/clangd.lua b/nvim/.config/nvim/lsp/clangd.lua index ca25f94..37d811f 100755 --- a/nvim/.config/nvim/lsp/clangd.lua +++ b/nvim/.config/nvim/lsp/clangd.lua @@ -1,5 +1,21 @@ return { - cmd = { 'clangd', '--background-index' }, - root_markers = { 'compile_commands.json', 'compile_flags.txt', '.clangd', 'build/' }, - filetypes = { 'c', 'cpp' }, + cmd = { "clangd", "--background-index" }, + root_markers = { + ".clangd", + ".clang-tidy", + ".clang-format", + "compile_commands.json", + "compile_flags.txt", + "configure.ac", + ".git", + }, + filetypes = { "c", "cpp", "objc", "objcpp", "cuda", "proto" }, + capabilities = { + offsetEncoding = { "utf-8", "utf-16" }, + textDocument = { + completion = { + editsNearCursor = true, + }, + }, + }, } diff --git a/nvim/.config/nvim/lsp/marksman.lua b/nvim/.config/nvim/lsp/marksman.lua new file mode 100644 index 0000000..742b363 --- /dev/null +++ b/nvim/.config/nvim/lsp/marksman.lua @@ -0,0 +1,5 @@ +return { + cmd = { "marksman" }, + root_markers = { ".marksman.toml", ".git" }, + filetypes = { "markdown", "markdown.mdx" }, +} diff --git a/nvim/.config/nvim/lua/autocmds.lua b/nvim/.config/nvim/lua/autocmds.lua index a14bd32..d3edf52 100755 --- a/nvim/.config/nvim/lua/autocmds.lua +++ b/nvim/.config/nvim/lua/autocmds.lua @@ -1,8 +1,19 @@ local aucmd = vim.api.nvim_create_autocmd + local function augroup(name) - return vim.api.nvim_create_augroup("chell_" .. name, {}) + return vim.api.nvim_create_augroup(name, {}) end +-- Set local settings for terminal buffers +aucmd("TermOpen", { + group = vim.api.nvim_create_augroup("custom-term-open", {}), + callback = function() + vim.opt_local.number = false + vim.opt_local.relativenumber = false + vim.opt_local.scrolloff = 0 + end, +}) + -- highlight after yank aucmd("TextYankPost", { desc = "Highlight when yanking (copying) text", diff --git a/nvim/.config/nvim/lua/bundles/cmp.lua b/nvim/.config/nvim/lua/bundles/cmp.lua new file mode 100755 index 0000000..68cd71b --- /dev/null +++ b/nvim/.config/nvim/lua/bundles/cmp.lua @@ -0,0 +1,79 @@ +local lspkind = require "lspkind" +lspkind.init {} + +-- LuaSnip +local luasnip = require "luasnip" +luasnip.config.setup { + history = false, + updateevents = "TextChanged,TextChangedI", +} +for _, ft_path in ipairs(vim.api.nvim_get_runtime_file("lua/custom/snippets/*.lua", true)) do + loadfile(ft_path)() +end + +require("luasnip.loaders.from_vscode").lazy_load() + +-- Cmp +local cmp = require "cmp" + +cmp.setup { + snippet = { + expand = function(args) + luasnip.lsp_expand(args.body) + end, + }, + completion = { completeopt = "menu,menuone,noinsert" }, + sorting = { + comparators = { + cmp.config.compare.offset, + cmp.config.compare.exact, + cmp.config.compare.recently_used, + require "clangd_extensions.cmp_scores", + cmp.config.compare.kind, + cmp.config.compare.sort_text, + cmp.config.compare.length, + cmp.config.compare.order, + }, + }, + mapping = cmp.mapping.preset.insert { + ["<C-d>"] = cmp.mapping.scroll_docs(-4), + ["<C-f>"] = cmp.mapping.scroll_docs(4), + -- ["<C-n>"] = cmp.mapping.select_next_item, + -- ["<C-p>"] = cmp.mapping.select_prev_item, + ["<C-y>"] = cmp.mapping(cmp.mapping.confirm { select = true }, { "i", "c" }), + -- Will move you to the right of each of the snippet's expansion locations. + ["<C-l>"] = cmp.mapping(function() + if luasnip.expand_or_locally_jumpable() then + luasnip.expand_or_jump() + end + end, { "i", "s" }), + -- Will move you to the left of each of the snippet's expansion locations. + ["<C-h>"] = cmp.mapping(function() + if luasnip.locally_jumpable(-1) then + luasnip.jump(-1) + end + end, { "i", "s" }), + }, + sources = { + { name = "nvim_lsp" }, + { name = "luasnip" }, + { name = "path" }, + { name = "buffer" }, + }, +} + +-- cmp.setup.cmdline(":", { +-- mapping = cmp.mapping.preset.cmdline(), +-- sources = cmp.config.sources({ +-- { name = "path" }, +-- }, { +-- { name = "cmdline" }, +-- }), +-- matching = { disallow_symbol_nonprefix_matching = false }, +-- }) + +require("nvim-autopairs").setup {} + +-- Automatically add `(` after selecting a function or method +local cmp_autopairs = require "nvim-autopairs.completion.cmp" +cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done()) diff --git a/nvim/.config/nvim/lua/bundles/telescope.lua b/nvim/.config/nvim/lua/bundles/telescope.lua new file mode 100755 index 0000000..a272fce --- /dev/null +++ b/nvim/.config/nvim/lua/bundles/telescope.lua @@ -0,0 +1,72 @@ +require("telescope").setup { + defaults = { + mappints = {}, + }, + pickers = {}, + extensions = { + ["ui-select"] = { + require("telescope.themes").get_dropdown(), + }, + }, +} + +-- require("telescope").setup { +-- extensions = { +-- fzf = {}, +-- wrap_results = true, +-- history = { +-- path = vim.fs.joinpath(data, "telescope_history.sqlite3"), +-- limit = 100, +-- }, +-- ["ui-select"] = { +-- require("telescope.themes").get_dropdown(), +-- }, +-- }, +-- defaults = { +-- -- configure to use ripgrep +-- vimgrep_arguments = { +-- "rg", +-- "--follow", -- Follow symbolic links +-- "--hidden", -- for hidden files +-- "--no-heading", -- Don't group matches by each file +-- "--with-filename", -- Print the file path with the matched lines +-- "--line-number", -- Show line numbers +-- "--column", -- Show column numbers +-- "--smart-case", -- Smart case search +-- +-- -- Exclude some patterns from search +-- "--glob=!**/.git/*", +-- "--glob=!**/.idea/*", +-- "--glob=!**/.vscode/*", +-- "--glob=!**/build/*", +-- "--glob=!**/dist/*", +-- "--glob=!**/yarn.lock", +-- "--glob=!**/package-lock.json", +-- }, +-- }, +-- pickers = { +-- find_files = { +-- hidden = true, +-- -- needed to exclude some files & dirs from general search +-- -- when not included or specified in .gitignore +-- find_command = { +-- "rg", +-- "--files", +-- "--hidden", +-- "--glob=!**/.git/*", +-- "--glob=!**/.idea/*", +-- "--glob=!**/.vscode/*", +-- "--glob=!**/build/*", +-- "--glob=!**/dist/*", +-- "--glob=!**/yarn.lock", +-- "--glob=!**/package-lock.json", +-- }, +-- }, +-- }, +-- } +-- + +pcall(require("telescope").load_extension, "fzf") +pcall(require("telescope").load_extension, "smart_history") +pcall(require("telescope").load_extension, "rest") +pcall(require("telescope").load_extension, "ui-select") diff --git a/nvim/.config/nvim/lua/globals.lua b/nvim/.config/nvim/lua/globals.lua new file mode 100644 index 0000000..8e642e9 --- /dev/null +++ b/nvim/.config/nvim/lua/globals.lua @@ -0,0 +1,2 @@ +vim.g.maplocalleader = "," +vim.g.mapleader = " " diff --git a/nvim/.config/nvim/lua/keymaps.lua b/nvim/.config/nvim/lua/keymaps.lua index 9b2937c..39d275a 100755 --- a/nvim/.config/nvim/lua/keymaps.lua +++ b/nvim/.config/nvim/lua/keymaps.lua @@ -1,31 +1,217 @@ +-- Actions vim.keymap.set("n", "<leader>w", "<cmd>w<cr>", { desc = "Write buffer" }) +vim.keymap.set("n", "<leader>W", "<cmd>wall<cr>", { desc = "Write all" }) +vim.keymap.set("n", "<leader>r", '<cmd>!"%:p"<cr>', { desc = "Run file in shell" }) +vim.keymap.set("n", "<leader>q", "<cmd>q<cr>", { desc = "Quit window" }) +vim.keymap.set("n", "<leader>Q", "<cmd>wqall<cr>", { desc = "Quit" }) +vim.keymap.set("v", "x", "gg0oG$", { desc = "Select all" }) +vim.keymap.set("n", "dx", "ggdG", { desc = "Delete all" }) --- execute current file in shell -vim.keymap.set("n", "<leader>r", '<cmd>!"%:p"<cr>') +-- UI navigation +vim.keymap.set("n", "<c-j>", "<c-w><c-j>", { desc = "Move to window down" }) +vim.keymap.set("n", "<c-k>", "<c-w><c-k>", { desc = "Move to window up" }) +vim.keymap.set("n", "<c-l>", "<c-w><c-l>", { desc = "Move to window right" }) +vim.keymap.set("n", "<c-h>", "<c-w><c-h>", { desc = "Move to window left" }) --- ui navigation -vim.keymap.set("n", "<c-j>", "<c-w><c-j>") -vim.keymap.set("n", "<c-k>", "<c-w><c-k>") -vim.keymap.set("n", "<c-l>", "<c-w><c-l>") -vim.keymap.set("n", "<c-h>", "<c-w><c-h>") - -vim.keymap.set("n", "<m-v>", "<cmd>vsplit<cr>") -vim.keymap.set("n", "<m-s>", "<cmd>split<cr>") - -vim.keymap.set("n", "<m-q>", "<cmd>q<cr>", { desc = "Quit window" }) +vim.keymap.set("n", "<leader>s", "<cmd>vsplit<cr>", { desc = "Split vert." }) +vim.keymap.set("n", "<leader>S", "<cmd>split<cr>", { desc = "Split hor." }) vim.keymap.set("n", "<m-t>", "<cmd>tabnew<cr>", { desc = "New Tab" }) vim.keymap.set("n", "<s-m-t>", "<cmd>tabclose<cr>", { desc = "Close Tab" }) -vim.keymap.set("n", "<m-n>", "<cmd>tabnext<cr>", { desc = "Next Tab" }) -vim.keymap.set("n", "<m-p>", "<cmd>tabprevious<cr>", { desc = "Previous Tab" }) ---lsp -vim.keymap.set("n", "grt", vim.lsp.buf.type_definition, { desc = "Go to type definition" }) -vim.keymap.set("n", "gd", vim.lsp.buf.definition, { buffer = 0 }) -vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { buffer = 0 }) +vim.keymap.set("n", "<C-c>", "<cmd>bd<CR>", { desc = "closes the current buffer", silent = true }) +vim.keymap.set("n", "<C-n>", "<cmd>bn<CR>", { desc = "cycles to the next buffer", silent = true }) +vim.keymap.set("n", "<C-p>", "<cmd>bp<CR>", { desc = "cycles to the previous buffer", silent = true }) + +-- Cmdline +vim.keymap.set("c", "<c-n>", "<Down>") +vim.keymap.set("c", "<c-p>", "<Up>") + +-- Treesitter textobjects +-- select +vim.keymap.set({ "x", "o" }, "aa", function() + require("nvim-treesitter-textobjects.select").select_textobject("@parameter.outer", "textobjects") +end, { desc = "parameter" }) +vim.keymap.set({ "x", "o" }, "ia", function() + require("nvim-treesitter-textobjects.select").select_textobject("@parameter.inner", "textobjects") +end, { desc = "parameter" }) +vim.keymap.set({ "x", "o" }, "af", function() + require("nvim-treesitter-textobjects.select").select_textobject("@function.outer", "textobjects") +end, { desc = "function" }) +vim.keymap.set({ "x", "o" }, "if", function() + require("nvim-treesitter-textobjects.select").select_textobject("@function.inner", "textobjects") +end, { desc = "function" }) +vim.keymap.set({ "x", "o" }, "ac", function() + require("nvim-treesitter-textobjects.select").select_textobject("@class.outer", "textobjects") +end, { desc = "class" }) +vim.keymap.set({ "x", "o" }, "ic", function() + require("nvim-treesitter-textobjects.select").select_textobject("@class.inner", "textobjects") +end, { desc = "class" }) +vim.keymap.set({ "x", "o" }, "as", function() + require("nvim-treesitter-textobjects.select").select_textobject("@local.scope", "locals") +end, { desc = "scope" }) +-- move (useless since I have leap but anyway this is default behaviour) +vim.keymap.set({ "n", "x", "o" }, "]m", function() + require("nvim-treesitter-textobjects.move").goto_next_start("@function.outer", "textobjects") +end, { desc = "Next start of method" }) +vim.keymap.set({ "n", "x", "o" }, "]M", function() + require("nvim-treesitter-textobjects.move").goto_next_end("@function.outer", "textobjects") +end, { desc = "Next end of method" }) +vim.keymap.set({ "n", "x", "o" }, "[m", function() + require("nvim-treesitter-textobjects.move").goto_previous_start("@function.outer", "textobjects") +end, { desc = "Next start of method" }) +vim.keymap.set({ "n", "x", "o" }, "[M", function() + require("nvim-treesitter-textobjects.move").goto_previous_end("@function.outer", "textobjects") +end, { desc = "Next end of method" }) + +-- Terminal +vim.keymap.set("t", "<C-n>", "<C-\\><C-n>", { desc = "To normal mode" }) + +-- Leap +vim.keymap.set({ "n", "x", "o" }, "s", "<Plug>(leap)", { desc = "Leap" }) +vim.keymap.set("n", "S", "<Plug>(leap-from-window)", { desc = "Leap other window" }) +vim.keymap.set({ "n", "x", "o" }, "gs", function() + require("leap.remote").action() +end, { desc = "Leap remote action" }) + +-- Substitute +vim.keymap.set("n", ";", function() + require("substitute").operator() +end, { noremap = true }) +-- vim.keymap.set("n", ",,", require("substitute").line, { noremap = true }) +vim.keymap.set("x", ";", function() + require("substitute").visual() +end, { noremap = true }) + +-- Zen +vim.keymap.set("n", "<leader>tz", "<cmd>ZenMode<cr>", { desc = "Zen mode" }) + +-- Oil +vim.keymap.set("n", "<leader>e", "<cmd>Oil<cr>", { desc = "Open file explorer" }) ---ui +-- Telescope +vim.keymap.set("n", "<leader>fh", "<cmd>Telescope help_tags<cr>", { desc = "Help" }) +vim.keymap.set("n", "<leader>fk", "<cmd>Telescope keymaps<cr>", { desc = "Keymaps" }) +vim.keymap.set("n", "<leader>ff", "<cmd>Telescope find_files<cr>", { desc = "Files" }) +vim.keymap.set("n", "<leader>fs", "<cmd>Telescope builtin<cr>", { desc = "Select Telescope" }) +vim.keymap.set("n", "<leader>fw", "<cmd>Telescope grep_string<cr>", { desc = "Current Word" }) +vim.keymap.set("n", "<leader>fg", "<cmd>Telescope live_grep<cr>", { desc = "Live Grep" }) +vim.keymap.set("n", "<leader>fd", "<cmd>Telescope diagnostics<cr>", { desc = "Diagnostics" }) +vim.keymap.set("n", "<leader>fr", "<cmd>Telescope resume<cr>", { desc = "Resume" }) +vim.keymap.set("n", "<leader>f.", "<cmd>Telescope oldfiles<cr>", { desc = "Recent Files" }) +vim.keymap.set("n", "<leader>fb", "<cmd>Telescope buffers<cr>", { desc = " Find existing buffers" }) +vim.keymap.set("n", "<leader>fn", function() + require("telescope.builtin").find_files { cwd = vim.fn.stdpath "config" } +end, { desc = "Neovim files" }) +-- Neogen +vim.keymap.set("n", "<leader>o", "<cmd>Neogen<cr>", { desc = "Gen current item's doc", silent = true }) + +-- LSP +local lsp = function(bufnr) + local bufopts = function(desc) + return { noremap = true, silent = true, buffer = bufnr, desc = desc } + end + vim.keymap.set("n", "<leader>lt", vim.lsp.buf.type_definition, bufopts "Go to type definition") + vim.keymap.set("n", "<leader>la", vim.lsp.buf.format, bufopts "Format") + vim.keymap.set("n", "gD", vim.lsp.buf.declaration, bufopts "Goto declaration") + vim.keymap.set("n", "gd", vim.lsp.buf.definition, bufopts "Goto definition") +end + +-- Neogit +vim.keymap.set("n", "<leader>gg", "<cmd>Neogit<cr>", { desc = "Neogit" }) + +-- GitSigns + +local gitsigns = function(bufnr) + local gitsigns = require "gitsigns" + + local function map(mode, l, r, opts) + opts = opts or {} + opts.buffer = bufnr + vim.keymap.set(mode, l, r, opts) + end + + -- Navigation + map("n", "]c", function() + if vim.wo.diff then + vim.cmd.normal { "]c", bang = true } + else + gitsigns.nav_hunk "next" + end + end) + + map("n", "[c", function() + if vim.wo.diff then + vim.cmd.normal { "[c", bang = true } + else + gitsigns.nav_hunk "prev" + end + end) + + -- Actions + map("n", "<leader>gs", gitsigns.stage_hunk, { desc = "Stage hunk" }) + map("n", "<leader>gr", gitsigns.reset_hunk, { desc = "Reset hunk" }) + map("v", "<leader>gs", function() + gitsigns.stage_hunk { vim.fn.line ".", vim.fn.line "v" } + end, { desc = "Stage hunk" }) + + map("v", "<leader>gr", function() + gitsigns.reset_hunk { vim.fn.line ".", vim.fn.line "v" } + end, { desc = "Reset hunk" }) + + map("n", "<leader>gS", gitsigns.stage_buffer, { desc = "Stage buffer" }) + map("n", "<leader>gR", gitsigns.reset_buffer, { desc = "Reset buffer" }) + map("n", "<leader>gp", gitsigns.preview_hunk, { desc = "Preview hunk" }) + map("n", "<leader>gi", gitsigns.preview_hunk_inline, { desc = "Preview hunk inline" }) + + map("n", "<leader>gb", function() + gitsigns.blame_line { full = true } + end, { desc = "Blame line full" }) + + map("n", "<leader>gd", gitsigns.diffthis, { desc = "Diff" }) + + map("n", "<leader>gD", function() + gitsigns.diffthis "~" + end, { desc = "Diff ~" }) + + map("n", "<leader>gQ", function() + gitsigns.setqflist "all" + end, { desc = "Setqflist all" }) + map("n", "<leader>gq", gitsigns.setqflist, { desc = "Setqflist" }) + + -- Toggles + map("n", "<leader>tb", gitsigns.toggle_current_line_blame, { desc = "Toggle current line blame" }) + map("n", "<leader>tw", gitsigns.toggle_word_diff, { desc = "Toggle word diff" }) + + -- Text object + map({ "o", "x" }, "ih", gitsigns.select_hunk, { desc = "Select hunk" }) +end + +-- DAP +vim.keymap.set("n", "<Leader>db", function() + require("dap").toggle_breakpoint() +end, { desc = "Toggle breakpoint", silent = true }) +vim.keymap.set("n", "<Leader>dc", function() + require("dap").continue() +end, { desc = "Continue", silent = true }) +vim.keymap.set("n", "<Leader>du", function() + require("dapui").toggle() +end, { desc = "Toggle DAP UI", silent = true }) +vim.keymap.set("n", "<Leader>dn", function() + require("dap").step_into() +end, { desc = "Step into" }) +vim.keymap.set("n", "<Leader>dN", function() + require("dap").step_over() +end, { desc = "Step over" }) +vim.keymap.set("n", "<Leader>dp", function() + require("dap").step_out() +end, { desc = "Step out" }) +vim.keymap.set("n", "<Leader>dK", function() + require("dap.ui.widgets").hover() +end, { desc = "hover" }) + +-- Toggle UI local toggle = function(obj) return function() obj.enable(not obj.is_enabled()) @@ -34,7 +220,9 @@ end vim.keymap.set("n", "<leader>th", toggle(vim.lsp.inlay_hint), { desc = "Inlay hints" }) vim.keymap.set("n", "<leader>td", toggle(vim.diagnostic), { desc = "Diagnostics" }) - vim.keymap.set("n", "<leader>tn", function() vim.opt.relativenumber = not vim.o.rnu + vim.opt.number = not vim.o.nu end, { desc = "Number" }) + +return { gitsigns = gitsigns, lsp = lsp } diff --git a/nvim/.config/nvim/lua/lsp.lua b/nvim/.config/nvim/lua/lsp.lua index bbe1a8f..0e4df88 100755 --- a/nvim/.config/nvim/lua/lsp.lua +++ b/nvim/.config/nvim/lua/lsp.lua @@ -1,13 +1,16 @@ -vim.lsp.config('*', { root_makers = { '.git' } }) - -vim.lsp.enable({ 'clangd', 'lua_ls' }) - ---Probably I dont need this :\ --- vim.api.nvim_create_autocmd('LspAttach', { --- callback = function(ev) --- local client = vim.lsp.get_client_by_id(ev.data.client_id) --- if client:supports_method('textDocument/completion') then --- vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true }) --- end --- end, --- }) +vim.lsp.config("*", { root_markers = { ".git" } }) + +vim.lsp.enable { "clangd", "lua_ls", "marksman" } + +-- Probably I dont need this :\ +vim.api.nvim_create_autocmd("LspAttach", { + callback = function(ev) + local client = vim.lsp.get_client_by_id(ev.data.client_id) + + if client and client:supports_method "textDocument/completion" then + vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true }) + end + + require("keymaps").lsp(ev.buf) + end, +}) diff --git a/nvim/.config/nvim/lua/netrw.lua b/nvim/.config/nvim/lua/netrw.lua deleted file mode 100755 index e69de29..0000000 --- a/nvim/.config/nvim/lua/netrw.lua +++ /dev/null diff --git a/nvim/.config/nvim/lua/plugins/autopairs.lua b/nvim/.config/nvim/lua/plugins/autopairs.lua deleted file mode 100755 index 447e610..0000000 --- a/nvim/.config/nvim/lua/plugins/autopairs.lua +++ /dev/null @@ -1,6 +0,0 @@ -require("nvim-autopairs").setup {} - --- Automatically add `(` after selecting a function or method -local cmp_autopairs = require "nvim-autopairs.completion.cmp" -local cmp = require "cmp" -cmp.event:on("confirm_done", cmp_autopairs.on_confirm_done()) diff --git a/nvim/.config/nvim/lua/plugins/better-escape.lua b/nvim/.config/nvim/lua/plugins/better-escape.lua deleted file mode 100644 index 387dfd1..0000000 --- a/nvim/.config/nvim/lua/plugins/better-escape.lua +++ /dev/null @@ -1 +0,0 @@ -require("better_escape").setup() diff --git a/nvim/.config/nvim/lua/plugins/bqf.lua b/nvim/.config/nvim/lua/plugins/bqf.lua deleted file mode 100755 index 540c57d..0000000 --- a/nvim/.config/nvim/lua/plugins/bqf.lua +++ /dev/null @@ -1 +0,0 @@ -require("bqf").setup {} diff --git a/nvim/.config/nvim/lua/plugins/celluar-automaton.lua b/nvim/.config/nvim/lua/plugins/celluar-automaton.lua deleted file mode 100755 index e69de29..0000000 --- a/nvim/.config/nvim/lua/plugins/celluar-automaton.lua +++ /dev/null diff --git a/nvim/.config/nvim/lua/plugins/clangd_extensions.lua b/nvim/.config/nvim/lua/plugins/clangd_extensions.lua new file mode 100644 index 0000000..8eafd34 --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/clangd_extensions.lua @@ -0,0 +1,33 @@ +require("clangd_extensions").setup { + ast = { + -- requires vscode fonticons + role_icons = { + type = "", + declaration = "", + expression = "", + specifier = "", + statement = "", + ["template argument"] = "", + }, + + kind_icons = { + Compound = "", + Recovery = "", + TranslationUnit = "", + PackExpansion = "", + TemplateTypeParm = "", + TemplateTemplateParm = "", + TemplateParamObject = "", + }, + + highlights = { + detail = "Comment", + }, + }, + memory_usage = { + border = "none", + }, + symbol_info = { + border = "none", + }, +} diff --git a/nvim/.config/nvim/lua/plugins/cmp.lua b/nvim/.config/nvim/lua/plugins/cmp.lua deleted file mode 100755 index 1ce382a..0000000 --- a/nvim/.config/nvim/lua/plugins/cmp.lua +++ /dev/null @@ -1,68 +0,0 @@ - -local lspkind = require "lspkind" -lspkind.init {} - -local luasnip = require "luasnip" -luasnip.config.setup {} - -require("luasnip.loaders.from_vscode").lazy_load() - -local cmp = require "cmp" - -cmp.setup { - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - completion = { completeopt = "menu,menuone,noinsert" }, - mapping = cmp.mapping.preset.insert { - -- ["<C-n>"] = cmp.mapping.select_next_item { behavior = cmp.SelectBehavior.Insert }, - -- ["<C-p>"] = cmp.mapping.select_prev_item { behavior = cmp.SelectBehavior.Insert }, - ["<C-y>"] = cmp.mapping( - cmp.mapping.confirm { - behavior = cmp.ConfirmBehavior.Insert, - select = true, - }, - { "i", "c" } - ), - ["<C-b>"] = cmp.mapping.scroll_docs(-4), - ["<C-f>"] = cmp.mapping.scroll_docs(4), - -- ["<C-y>"] = cmp.mapping.confirm { select = true }, - -- -- Will move you to the right of each of the snippet's expansion locations. - ["<C-l>"] = cmp.mapping(function() - if luasnip.expand_or_locally_jumpable() then - luasnip.expand_or_jump() - end - end, { "i", "s" }), - -- Will move you to the left of each of the snippet's expansion locations. - ["<C-h>"] = cmp.mapping(function() - if luasnip.locally_jumpable(-1) then - luasnip.jump(-1) - end - end, { "i", "s" }), - }, - sources = { - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "path" }, - { name = "buffer" }, - }, -} - --- Setup up vim-dadbod --- cmp.setup.filetype({ "sql" }, { --- sources = { --- { name = "vim-dadbod-completion" }, --- { name = "buffer" }, --- }, --- }) - -luasnip.config.set_config { - history = false, - updateevents = "TextChanged,TextChangedI", -} - -for _, ft_path in ipairs(vim.api.nvim_get_runtime_file("lua/custom/snippets/*.lua", true)) do - loadfile(ft_path)() -end diff --git a/nvim/.config/nvim/lua/plugins/comment.lua b/nvim/.config/nvim/lua/plugins/comment.lua index a844323..91f5899 100755 --- a/nvim/.config/nvim/lua/plugins/comment.lua +++ b/nvim/.config/nvim/lua/plugins/comment.lua @@ -1 +1,3 @@ -require('Comment').setup() +require("Comment").setup { + ignore = "^$", +} diff --git a/nvim/.config/nvim/lua/plugins/fidget.lua b/nvim/.config/nvim/lua/plugins/fidget.lua deleted file mode 100755 index 945f564..0000000 --- a/nvim/.config/nvim/lua/plugins/fidget.lua +++ /dev/null @@ -1 +0,0 @@ -require("fidget").setup {} diff --git a/nvim/.config/nvim/lua/plugins/gitsigns.lua b/nvim/.config/nvim/lua/plugins/gitsigns.lua index 8b99647..dff6401 100755 --- a/nvim/.config/nvim/lua/plugins/gitsigns.lua +++ b/nvim/.config/nvim/lua/plugins/gitsigns.lua @@ -16,68 +16,6 @@ require("gitsigns").setup { untracked = { text = "┆" }, }, on_attach = function(bufnr) - local gitsigns = require "gitsigns" - - local function map(mode, l, r, opts) - opts = opts or {} - opts.buffer = bufnr - vim.keymap.set(mode, l, r, opts) - end - - -- Navigation - map("n", "]c", function() - if vim.wo.diff then - vim.cmd.normal { "]c", bang = true } - else - gitsigns.nav_hunk "next" - end - end) - - map("n", "[c", function() - if vim.wo.diff then - vim.cmd.normal { "[c", bang = true } - else - gitsigns.nav_hunk "prev" - end - end) - - -- Actions - map("n", "<leader>gs", gitsigns.stage_hunk, { desc = "Stage hunk" }) - map("n", "<leader>gr", gitsigns.reset_hunk, { desc = "Reset hunk" }) - - map("v", "<leader>gs", function() - gitsigns.stage_hunk { vim.fn.line ".", vim.fn.line "v" } - end) - - map("v", "<leader>gr", function() - gitsigns.reset_hunk { vim.fn.line ".", vim.fn.line "v" } - end) - - map("n", "<leader>gS", gitsigns.stage_buffer, { desc = "Stage buffer" }) - map("n", "<leader>gR", gitsigns.reset_buffer, { desc = "Reset buffer" }) - map("n", "<leader>gp", gitsigns.preview_hunk, { desc = "Preview hunk" }) - map("n", "<leader>gi", gitsigns.preview_hunk_inline, { desc = "Preview hunk inline" }) - - map("n", "<leader>gb", function() - gitsigns.blame_line { full = true } - end, { desc = "Blame line full" }) - - map("n", "<leader>gd", gitsigns.diffthis, { desc = "Diff" }) - - map("n", "<leader>gD", function() - gitsigns.diffthis "~" - end, { desc = "Diff ~" }) - - map("n", "<leader>gQ", function() - gitsigns.setqflist "all" - end, { desc = "Setqflist all" }) - map("n", "<leader>gq", gitsigns.setqflist, { desc = "Setqflist" }) - - -- Toggles - map("n", "<leader>tb", gitsigns.toggle_current_line_blame, { desc = "Toggle current line blame" }) - map("n", "<leader>tw", gitsigns.toggle_word_diff, { desc = "Toggle word diff" }) - - -- Text object - map({ "o", "x" }, "ih", gitsigns.select_hunk, { desc = "Select hunk" }) + require("keybinds").gitsigns(bufnr) end, } diff --git a/nvim/.config/nvim/lua/plugins/leap.lua b/nvim/.config/nvim/lua/plugins/leap.lua index 97dcc63..c624d83 100755 --- a/nvim/.config/nvim/lua/plugins/leap.lua +++ b/nvim/.config/nvim/lua/plugins/leap.lua @@ -1,3 +1,7 @@ -require("leap").setup { safe_labels = {} } -vim.keymap.set("n", "s", "<Plug>(leap)", { desc = "Leap" }) -vim.keymap.set("n", "S", "<Plug>(leap-from-window)", { desc = "Leap other window" }) +require("leap").setup {} + +-- Exclude whitespace and the middle of alphabetic words from preview +require("leap").opts.preview_filter = function(ch0, ch1, ch2) + return not (ch1:match "%s" or ch0:match "%a" and ch1:match "%a" and ch2:match "%a") +end +require("leap").opts.equivalence_classes = { " \t\r\n", "([{", ")]}", "'\"`" } diff --git a/nvim/.config/nvim/lua/plugins/mini.lua b/nvim/.config/nvim/lua/plugins/mini.lua deleted file mode 100755 index cb1d50a..0000000 --- a/nvim/.config/nvim/lua/plugins/mini.lua +++ /dev/null @@ -1 +0,0 @@ -require("mini.ai").setup { n_lines = 500 } diff --git a/nvim/.config/nvim/lua/plugins/neogit.lua b/nvim/.config/nvim/lua/plugins/neogit.lua deleted file mode 100644 index 3371247..0000000 --- a/nvim/.config/nvim/lua/plugins/neogit.lua +++ /dev/null @@ -1,4 +0,0 @@ -git = require "neogit" -git.setup {} - -vim.keymap.set("n", "<leader>gg", git.open, { desc = "Neogit" }) diff --git a/nvim/.config/nvim/lua/plugins/oil.lua b/nvim/.config/nvim/lua/plugins/oil.lua index dbd8197..40bdc44 100644 --- a/nvim/.config/nvim/lua/plugins/oil.lua +++ b/nvim/.config/nvim/lua/plugins/oil.lua @@ -19,5 +19,3 @@ require("oil").setup { }, use_default_keymaps = false, } - -vim.keymap.set("n", "<leader>e", "<cmd>Oil<cr>", { desc = "Open file explorer" }) diff --git a/nvim/.config/nvim/lua/plugins/poimandres.lua b/nvim/.config/nvim/lua/plugins/poimandres.lua deleted file mode 100755 index 4b43ea7..0000000 --- a/nvim/.config/nvim/lua/plugins/poimandres.lua +++ /dev/null @@ -1 +0,0 @@ -require('poimandres').setup { } diff --git a/nvim/.config/nvim/lua/plugins/sort.lua b/nvim/.config/nvim/lua/plugins/sort.lua deleted file mode 100755 index 4ee0618..0000000 --- a/nvim/.config/nvim/lua/plugins/sort.lua +++ /dev/null @@ -1 +0,0 @@ - require("sort").setup({ }) diff --git a/nvim/.config/nvim/lua/plugins/substitude.lua b/nvim/.config/nvim/lua/plugins/substitude.lua deleted file mode 100755 index 7615c91..0000000 --- a/nvim/.config/nvim/lua/plugins/substitude.lua +++ /dev/null @@ -1,5 +0,0 @@ -require("substitute").setup {} - -vim.keymap.set("n", ";", require("substitute").operator, { noremap = true }) --- vim.keymap.set("n", ",,", require("substitute").line, { noremap = true }) -vim.keymap.set("x", ";", require("substitute").visual, { noremap = true }) diff --git a/nvim/.config/nvim/lua/plugins/surround.lua b/nvim/.config/nvim/lua/plugins/surround.lua deleted file mode 100755 index bd6daf2..0000000 --- a/nvim/.config/nvim/lua/plugins/surround.lua +++ /dev/null @@ -1 +0,0 @@ -require("nvim-surround").setup {} diff --git a/nvim/.config/nvim/lua/plugins/telescope.lua b/nvim/.config/nvim/lua/plugins/telescope.lua deleted file mode 100755 index 8644006..0000000 --- a/nvim/.config/nvim/lua/plugins/telescope.lua +++ /dev/null @@ -1,90 +0,0 @@ -return { - "nvim-telescope/telescope.nvim", - event = "VimEnter", - branch = "0.1.8", - dependencies = { - "nvim-lua/plenary.nvim", - { "nvim-telescope/telescope-fzf-native.nvim", build = "make" }, - { "nvim-telescope/telescope-smart-history.nvim" }, - { "nvim-telescope/telescope-ui-select.nvim" }, - { "nvim-tree/nvim-web-devicons" }, - }, - config = function() - require("telescope").setup { - extensions = { - fzf = {}, - wrap_results = true, - ["ui-select"] = { - require("telescope.themes").get_dropdown(), - }, - }, - defaults = { - -- configure to use ripgrep - vimgrep_arguments = { - "rg", - "--follow", -- Follow symbolic links - "--hidden", -- Search for hidden files - "--no-heading", -- Don't group matches by each file - "--with-filename", -- Print the file path with the matched lines - "--line-number", -- Show line numbers - "--column", -- Show column numbers - "--smart-case", -- Smart case search - - -- Exclude some patterns from search - "--glob=!**/.git/*", - "--glob=!**/.idea/*", - "--glob=!**/.vscode/*", - "--glob=!**/build/*", - "--glob=!**/dist/*", - "--glob=!**/yarn.lock", - "--glob=!**/package-lock.json", - }, - }, - pickers = { - find_files = { - hidden = true, - -- needed to exclude some files & dirs from general search - -- when not included or specified in .gitignore - find_command = { - "rg", - "--files", - "--hidden", - "--glob=!**/.git/*", - "--glob=!**/.idea/*", - "--glob=!**/.vscode/*", - "--glob=!**/build/*", - "--glob=!**/dist/*", - "--glob=!**/yarn.lock", - "--glob=!**/package-lock.json", - }, - }, - }, - } - - pcall(require("telescope").load_extension, "fzf") - pcall(require("telescope").load_extension, "smart_history") - pcall(require("telescope").load_extension, "rest") - pcall(require("telescope").load_extension, "ui-select") - - local builtin = require "telescope.builtin" - - vim.keymap.set("n", "<leader>fh", builtin.help_tags, { desc = "Search [H]elp" }) - vim.keymap.set("n", "<leader>fk", builtin.keymaps, { desc = "Search [K]eymaps" }) - vim.keymap.set("n", "<leader>ff", builtin.find_files, { desc = "Search [F]iles" }) - vim.keymap.set("n", "<leader>fs", builtin.builtin, { desc = "Search [S]elect Telescope" }) - vim.keymap.set("n", "<leader>fw", builtin.grep_string, { desc = "Search current [W]ord" }) - vim.keymap.set("n", "<leader>fg", builtin.live_grep, { desc = "Search by [G]rep" }) - vim.keymap.set("n", "<leader>fd", builtin.diagnostics, { desc = "Search [D]iagnostics" }) - vim.keymap.set("n", "<leader>fr", builtin.resume, { desc = "Search [R]esume" }) - vim.keymap.set("n", "<leader>f.", builtin.oldfiles, { desc = 'Search Recent Files ("." for repeat)' }) - vim.keymap.set("n", "<leader>fb", builtin.buffers, { desc = "[ ] Find existing buffers" }) - vim.keymap.set("n", "<leader>fn", function() - require("telescope.builtin").find_files { cwd = vim.fn.stdpath "config" } - end, { desc = "Search [N]eovim files" }) - - vim.keymap.set("n", "<leader>fa", function() - ---@diagnostic disable-next-line: param-type-mismatch - builtin.find_files { cwd = vim.fs.joinpath(vim.fn.stdpath "data", "lazy") } - end) - end, -} diff --git a/nvim/.config/nvim/lua/plugins/treesitter-textobjects.lua b/nvim/.config/nvim/lua/plugins/treesitter-textobjects.lua new file mode 100755 index 0000000..6d6b33d --- /dev/null +++ b/nvim/.config/nvim/lua/plugins/treesitter-textobjects.lua @@ -0,0 +1,11 @@ +require("nvim-treesitter-textobjects").setup { + select = { + lookahead = true, + selection_modes = { + ["@parameter.outer"] = "v", -- charwise + ["@function.outer"] = "v", -- charwise (V for linevise) + ["@class.outer"] = "<c-v>", -- blockwise + }, + include_surrounding_whitespace = true, + }, +} diff --git a/nvim/.config/nvim/lua/plugins/treesitter.lua b/nvim/.config/nvim/lua/plugins/treesitter.lua index 695dd9b..c0ee7bf 100755 --- a/nvim/.config/nvim/lua/plugins/treesitter.lua +++ b/nvim/.config/nvim/lua/plugins/treesitter.lua @@ -1,48 +1,4 @@ -return { - "nvim-treesitter/nvim-treesitter", - build = ":TSUpdate", - config = function() - local group = vim.api.nvim_create_augroup("custom-treesitter", { clear = true }) - - require("nvim-treesitter.configs").setup { - ensure_installed = { - "bash", - "c", - "cmake", - "cpp", - "diff", - "html", - "http", - "json", - "lua", - "luadoc", - "markdown", - "proto", - "query", - "vim", - "vimdoc", - "xml", - }, - highlight = { enable = true }, - indent = { enable = true }, - } - - local syntax_on = { - -- elixir = true, - -- php = true, - } - - vim.api.nvim_create_autocmd("FileType", { - group = group, - callback = function(args) - local bufnr = args.buf - local ft = vim.bo[bufnr].filetype - pcall(vim.treesitter.start) - - -- if syntax_on[ft] then - -- vim.bo[bufnr].syntax = "on" - -- end - end, - }) - end, +require("nvim-treesitter.configs").setup { + highlight = { enable = true }, + indent = { enable = true }, } diff --git a/nvim/.config/nvim/lua/plugins/which-key.lua b/nvim/.config/nvim/lua/plugins/which-key.lua index 72161bf..5efa3e4 100755 --- a/nvim/.config/nvim/lua/plugins/which-key.lua +++ b/nvim/.config/nvim/lua/plugins/which-key.lua @@ -8,4 +8,5 @@ wk.add { { "<leader>g", group = "Git" }, { "<leader>l", group = "LSP" }, { "<leader>t", group = "Toggle" }, + { "<leader>d", group = "DAP" }, } diff --git a/nvim/.config/nvim/lua/plugins/zen-mode.lua b/nvim/.config/nvim/lua/plugins/zen-mode.lua index f857733..1fee333 100644 --- a/nvim/.config/nvim/lua/plugins/zen-mode.lua +++ b/nvim/.config/nvim/lua/plugins/zen-mode.lua @@ -1,5 +1,3 @@ zen = require "zen-mode" zen.setup {} - -vim.keymap.set("n", "<leader>tz", zen.toggle, { desc = "Zen mode" }) diff --git a/nvim/.config/nvim/lua/rocks-setup.lua b/nvim/.config/nvim/lua/rocks-setup.lua new file mode 100644 index 0000000..84a0adf --- /dev/null +++ b/nvim/.config/nvim/lua/rocks-setup.lua @@ -0,0 +1,24 @@ +local rocks_config = { + rocks_path = vim.env.HOME .. "/.local/share/nvim/rocks", +} + +vim.g.rocks_nvim = rocks_config + +local luarocks_path = { + vim.fs.joinpath(rocks_config.rocks_path, "share", "lua", "5.1", "?.lua"), + vim.fs.joinpath(rocks_config.rocks_path, "share", "lua", "5.1", "?", "init.lua"), +} +package.path = package.path .. ";" .. table.concat(luarocks_path, ";") + +local luarocks_cpath = { + vim.fs.joinpath(rocks_config.rocks_path, "lib", "lua", "5.1", "?.so"), + vim.fs.joinpath(rocks_config.rocks_path, "lib64", "lua", "5.1", "?.so"), + -- Remove the dylib and dll paths if you do not need macos or windows support + vim.fs.joinpath(rocks_config.rocks_path, "lib", "lua", "5.1", "?.dylib"), + vim.fs.joinpath(rocks_config.rocks_path, "lib64", "lua", "5.1", "?.dylib"), + vim.fs.joinpath(rocks_config.rocks_path, "lib", "lua", "5.1", "?.dll"), + vim.fs.joinpath(rocks_config.rocks_path, "lib64", "lua", "5.1", "?.dll"), +} +package.cpath = package.cpath .. ";" .. table.concat(luarocks_cpath, ";") + +vim.opt.runtimepath:append(vim.fs.joinpath(rocks_config.rocks_path, "lib", "luarocks", "rocks-5.1", "*", "*")) diff --git a/nvim/.config/nvim/lua/terminal.lua b/nvim/.config/nvim/lua/terminal.lua deleted file mode 100755 index 2327a34..0000000 --- a/nvim/.config/nvim/lua/terminal.lua +++ /dev/null @@ -1,15 +0,0 @@ -local opt = vim.opt_local - --- Set local settings for terminal buffers -vim.api.nvim_create_autocmd("TermOpen", { - group = vim.api.nvim_create_augroup("custom-term-open", {}), - callback = function() - opt.number = false - opt.relativenumber = false - opt.scrolloff = 0 - end, -}) - --- Easily hit escape in terminal mode. --- vim.keymap.set("t", "<esc><esc>", "<c-\\><c-n>") -vim.keymap.set("t", "<m-q>", "<c-\\><c-n><cmd>quit<cr>") diff --git a/nvim/.config/nvim/rocks.toml b/nvim/.config/nvim/rocks.toml index ac5fe83..cfc6569 100644 --- a/nvim/.config/nvim/rocks.toml +++ b/nvim/.config/nvim/rocks.toml @@ -1,35 +1,42 @@ [rocks] +[config] +auto_setup = true + [plugins] "rocks.nvim" = "2.45.0" "rocks-git.nvim" = "2.5.3" "rocks-config.nvim" = "3.1.1" "rocks-lazy.nvim" = "1.2.0" "rocks-dev.nvim" = "1.8.0" -"rocks-treesitter.nvim" = "1.3.0" +"2048.nvim" = "2.8.2" "auto-hlsearch.nvim" = { version = "1.1.0", event = "CmdlineEnter" } "better-escape.nvim" = "2.3.3" "cellular-automaton.nvim" = "scm" +"clangd_extensions.nvim" = "scm" "comment.nvim" = "0.8.0" "conform.nvim" = "9.0.0" "diffview.nvim" = "scm" "gitsigns.nvim" = "1.0.2" -"kanagawa.nvim" = "scm" -"lazydev.nvim" = {version = "1.9.0", ft = "lua"} +"lazydev.nvim" = { version = "1.9.0", ft = "lua" } "leap.nvim" = "scm" "lspkind.nvim" = "scm" "lualine.nvim" = "scm" -"mini.ai" = "0.16.0" +"lush.nvim" = "scm" "oil.nvim" = "2.15.0" "repeat.vim" = "1.2" "rest.nvim" = "3.13.0" "substitute.nvim" = "2.0.0" +"telescope-ui-select.nvim" = "scm" +"telescope.nvim" = "scm" "todo-comments.nvim" = "1.4.0" "toggleterm.nvim" = "2.13.1" "which-key.nvim" = "3.17.0" +"zen-mode.nvim" = "1.4.0" auto-session = "2.5.1" cmp-buffer = "scm" +cmp-cmdline = "scm" cmp-git = "scm" cmp-nvim-lsp = "scm" cmp-path = "scm" @@ -37,8 +44,9 @@ cmp_luasnip = "scm" friendly-snippets = "scm" harpoon = "scm" luasnip = "2.4.0" +neogen = "2.20.0" neogit = "2.0.0" -neorg = {version = "9.3.0", ft = "norg"} +neorg = { version = "9.3.0", ft = "norg" } neorg-conceal-wrap = "1.0.1" nvim-autopairs = { version = "scm", event = "InsertEnter" } nvim-bqf = { version = "1.1.1", ft = "qf" } @@ -48,11 +56,14 @@ nvim-dap-ui = "4.0.0" nvim-dap-virtual-text = "scm" nvim-treesitter-textobjects = "scm" nvim-web-devicons = "0.100" -telescope = "0.6.0" -vim-cool = { git = "romainl/vim-cool" } vim-startuptime = "4.5.0" -"zen-mode.nvim" = "1.4.0" +# Themes +"nightfox.nvim" = "3.10.0" +"gruvbox.nvim" = "2.0.0" +"kanagawa.nvim" = "scm" + +# Treesitter parsers tree-sitter-bash = "scm" tree-sitter-c = "scm" tree-sitter-cmake = "scm" @@ -66,9 +77,11 @@ tree-sitter-html = "0.0.36" tree-sitter-http = "scm" tree-sitter-jsdoc = "0.0.35" tree-sitter-json = "0.0.36" +tree-sitter-latex = "0.0.35" tree-sitter-lua = "0.0.35" tree-sitter-luadoc = "0.0.29" -tree-sitter-markdown = "scm" +tree-sitter-make = "0.0.30" +tree-sitter-markdown_inline = "0.0.42" tree-sitter-nix = "0.0.59" tree-sitter-query = "scm" tree-sitter-scheme = "0.0.35" @@ -78,16 +91,49 @@ tree-sitter-vim = "0.0.34" tree-sitter-vimdoc = "0.0.34" tree-sitter-xml = "scm" tree-sitter-yaml = "0.0.36" -tree-sitter-make = "0.0.30" -"gruvbox.nvim" = "2.0.0" -[plugins."poimandres.nvim" ] +[plugins.vim-cool] +git = "romainl/vim-cool" +rev = "9ea940c0d537e55de0de4c0298c04b976960fb12" + +[plugins.nvim-treesitter] +git = "nvim-treesitter/nvim-treesitter" +branch = "main" + +[plugins."poimandres.nvim"] git = "olivercederborg/poimandres.nvim" rev = "v0.6.0" -[plugins."nvim-surround" ] +[plugins."nvim-surround"] git = "kylechui/nvim-surround" rev = "v3.1.2" -[plugins."sort.nvim" ] +[plugins."sort.nvim"] git = "sQVe/sort.nvim" +rev = "c789da6968337d2a61104a929880b5f144e02855" + +[plugins."zenbones.nvim"] +git = "zenbones-theme/zenbones.nvim" +rev = "v4.8.0" + +[bundles.telescope] +items = [ + "telescope.nvim", + "telescope-ui-select.nvim" +] +config = "bundles.telescope" + +[bundles.cmp] +items = [ + "cmp-buffer", + "cmp-cmdline", + "cmp-nvim-lsp", + "cmp-path", + "cmp_luasnip", + "friendly-snippets", + "lspkind.nvim", + "luasnip", + "nvim-autopairs", + "nvim-cmp", + ] + config = "bundles.cmp" diff --git a/nvim/after b/nvim/after deleted file mode 120000 index b2e1b86..0000000 --- a/nvim/after +++ /dev/null @@ -1 +0,0 @@ -.config/nvim/after
\ No newline at end of file diff --git a/nvim/init.lua b/nvim/init.lua deleted file mode 120000 index 766342e..0000000 --- a/nvim/init.lua +++ /dev/null @@ -1 +0,0 @@ -.config/nvim/init.lua
\ No newline at end of file diff --git a/nvim/lsp b/nvim/lsp deleted file mode 120000 index 5bb40be..0000000 --- a/nvim/lsp +++ /dev/null @@ -1 +0,0 @@ -.config/nvim/lsp
\ No newline at end of file diff --git a/nvim/lua b/nvim/lua deleted file mode 120000 index 7b503c0..0000000 --- a/nvim/lua +++ /dev/null @@ -1 +0,0 @@ -.config/nvim/lua
\ No newline at end of file diff --git a/nvim/rocks.toml b/nvim/rocks.toml deleted file mode 120000 index 413f91f..0000000 --- a/nvim/rocks.toml +++ /dev/null @@ -1 +0,0 @@ -.config/nvim/rocks.toml
\ No newline at end of file diff --git a/nvim/stylua.toml b/nvim/stylua.toml deleted file mode 120000 index b28c29c..0000000 --- a/nvim/stylua.toml +++ /dev/null @@ -1 +0,0 @@ -.config/nvim/stylua.toml
\ No newline at end of file diff --git a/zsh/.zshenv b/zsh/.zshenv index 7210cc0..4f5adda 100755 --- a/zsh/.zshenv +++ b/zsh/.zshenv @@ -11,4 +11,6 @@ export XDG_CONFIG_HOME=$HOME/.config export XDG_DATA_HOME=$HOME/.local/share export XDG_STATE_HOME=$HOME/.local/state +export PATH="$PATH:$HOME/.local/bin" + [[ -f "$XDG_CONFIG_HOME/user-dirs.dirs" ]] && . "$XDG_CONFIG_HOME/user-dirs.dirs" |