diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..a1de149 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,170 @@ +# see https://github.com/CppCXY/EmmyLuaCodeStyle +[*.lua] +# [basic] + +# optional space/tab +indent_style = tab +# if indent_style is space, this is valid +indent_size = 4 +# if indent_style is tab, this is valid +tab_width = 4 +# none/single/double +quote_style = double + +continuation_indent = 4 +## extend option +# continuation_indent.before_block = 4 +# continuation_indent.in_expr = 4 +# continuation_indent.in_table = 4 + +# this mean utf8 length , if this is 'unset' then the line width is no longer checked +# this option decides when to chopdown the code +max_line_length = 120 + +# optional crlf/lf/cr/auto, if it is 'auto', in windows it is crlf other platforms are lf +# in neovim the value 'auto' is not a valid option, please use 'unset' +end_of_line = lf + +# none/ comma / semicolon / only_kv_colon +table_separator_style = comma + +#optional keep/never/always/smart +trailing_table_separator = smart + +# keep/remove/remove_table_only/remove_string_only +call_arg_parentheses = keep + +detect_end_of_line = false + +# this will check text end with new line +insert_final_newline = true + +# [space] +space_around_table_field_list = true + +space_before_attribute = true + +space_before_function_open_parenthesis = false + +space_before_function_call_open_parenthesis = false + +space_before_closure_open_parenthesis = false + +# optional always/only_string/only_table/none +# or true/false +space_before_function_call_single_arg = always +## extend option +## always/keep/none +# space_before_function_call_single_arg.table = always +## always/keep/none +# space_before_function_call_single_arg.string = always + +space_before_open_square_bracket = false + +space_inside_function_call_parentheses = false + +space_inside_function_param_list_parentheses = false + +space_inside_square_brackets = false + +# like t[#t+1] = 1 +space_around_table_append_operator = false + +ignore_spaces_inside_function_call = false + +# detail number or 'keep' +space_before_inline_comment = 1 + +# convert '---' to '--- ' or '--' to '-- ' +space_after_comment_dash = false + +# [operator space] +space_around_math_operator = true +# space_around_math_operator.exponent = false + +space_after_comma = true + +space_after_comma_in_for_statement = true + +# true/false or none/always/no_space_asym +space_around_concat_operator = true + +space_around_logical_operator = true + +# true/false or none/always/no_space_asym +space_around_assign_operator = true + +# [align] + +align_call_args = false + +align_function_params = true + +# true/false or always +align_continuous_assign_statement = true + +align_continuous_rect_table_field = true + +align_continuous_line_space = 2 + +align_if_branch = false + +# option none / always / contain_curly/ +align_array_table = always + +align_continuous_similar_call_args = false + +align_continuous_inline_comment = true +# option none / always / only_call_stmt +align_chain_expr = none + +# [indent] + +never_indent_before_if_condition = false + +never_indent_comment_on_if_branch = false + +keep_indents_on_empty_lines = false + +allow_non_indented_comments = false +# [line space] + +# The following configuration supports four expressions +# keep +# fixed(n) +# min(n) +# max(n) +# for eg. min(2) + +line_space_after_if_statement = keep + +line_space_after_do_statement = keep + +line_space_after_while_statement = keep + +line_space_after_repeat_statement = keep + +line_space_after_for_statement = keep + +line_space_after_local_or_assign_statement = keep + +line_space_after_function_statement = fixed(2) + +line_space_after_expression_statement = keep + +line_space_after_comment = keep + +line_space_around_block = fixed(1) +# [line break] +break_all_list_when_line_exceed = true + +auto_collapse_lines = false + +break_before_braces = false + +# [preference] +ignore_space_after_colon = false + +remove_call_expression_list_finish_comma = false +# keep / always / same_line / replace_with_newline / never +end_statement_with_semicolon = keep diff --git a/README.md b/README.md index 85327ef..6ff45d8 100644 --- a/README.md +++ b/README.md @@ -22,10 +22,6 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim ## Plugins -### ai - -+ [supermaven-inc/supermaven-nvim](https://dotfyle.com/plugins/supermaven-inc/supermaven-nvim) - ### code-runner + [Civitasv/cmake-tools.nvim](https://dotfyle.com/plugins/Civitasv/cmake-tools.nvim) @@ -73,7 +69,6 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim ### debugging -+ [Goose97/timber.nvim](https://dotfyle.com/plugins/Goose97/timber.nvim) + [mfussenegger/nvim-dap](https://dotfyle.com/plugins/mfussenegger/nvim-dap) + [theHamsta/nvim-dap-virtual-text](https://dotfyle.com/plugins/theHamsta/nvim-dap-virtual-text) + [rcarriga/nvim-dap-ui](https://dotfyle.com/plugins/rcarriga/nvim-dap-ui) @@ -102,14 +97,6 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim + [stevearc/conform.nvim](https://dotfyle.com/plugins/stevearc/conform.nvim) -### fuzzy-finder - -+ [nvim-telescope/telescope.nvim](https://dotfyle.com/plugins/nvim-telescope/telescope.nvim) -+ [tsakirist/telescope-lazy.nvim](https://dotfyle.com/plugins/tsakirist/telescope-lazy.nvim) -+ [crispgm/telescope-heading.nvim](https://dotfyle.com/plugins/crispgm/telescope-heading.nvim) -+ [ibhagwan/fzf-lua](https://dotfyle.com/plugins/ibhagwan/fzf-lua) -+ [echasnovski/mini.pick](https://dotfyle.com/plugins/echasnovski/mini.pick) - ### game + [ThePrimeagen/vim-be-good](https://dotfyle.com/plugins/ThePrimeagen/vim-be-good) @@ -120,10 +107,6 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim + [NeogitOrg/neogit](https://dotfyle.com/plugins/NeogitOrg/neogit) + [sindrets/diffview.nvim](https://dotfyle.com/plugins/sindrets/diffview.nvim) -### github - -+ [ldelossa/gh.nvim](https://dotfyle.com/plugins/ldelossa/gh.nvim) - ### icon + [nvim-tree/nvim-web-devicons](https://dotfyle.com/plugins/nvim-tree/nvim-web-devicons) @@ -140,20 +123,10 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim + [mfussenegger/nvim-lint](https://dotfyle.com/plugins/mfussenegger/nvim-lint) + [linrongbin16/lsp-progress.nvim](https://dotfyle.com/plugins/linrongbin16/lsp-progress.nvim) + [neovim/nvim-lspconfig](https://dotfyle.com/plugins/neovim/nvim-lspconfig) -+ [ldelossa/litee.nvim](https://dotfyle.com/plugins/ldelossa/litee.nvim) + [jmbuhr/otter.nvim](https://dotfyle.com/plugins/jmbuhr/otter.nvim) -### lsp-installer - -+ [williamboman/mason.nvim](https://dotfyle.com/plugins/williamboman/mason.nvim) - -### lua-colorscheme - -+ [ellisonleao/gruvbox.nvim](https://dotfyle.com/plugins/ellisonleao/gruvbox.nvim) - ### markdown-and-latex -+ [nvim-telescope/telescope-bibtex.nvim](https://dotfyle.com/plugins/nvim-telescope/telescope-bibtex.nvim) + [tadmccorkle/markdown.nvim](https://dotfyle.com/plugins/tadmccorkle/markdown.nvim) + [OXY2DEV/markview.nvim](https://dotfyle.com/plugins/OXY2DEV/markview.nvim) @@ -164,20 +137,18 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim ### media + [HakonHarnes/img-clip.nvim](https://dotfyle.com/plugins/HakonHarnes/img-clip.nvim) ++ [3rd/image.nvim](https://dotfyle.com/plugins/3rd/image.nvim) ### note-taking + [epwalsh/obsidian.nvim](https://dotfyle.com/plugins/epwalsh/obsidian.nvim) + [nvim-neorg/neorg](https://dotfyle.com/plugins/nvim-neorg/neorg) -+ [nvim-neorg/neorg-telescope](https://dotfyle.com/plugins/nvim-neorg/neorg-telescope) -+ [yujinyuz/gitpad.nvim](https://dotfyle.com/plugins/yujinyuz/gitpad.nvim) ### nvim-dev -+ [nvim-lua/plenary.nvim](https://dotfyle.com/plugins/nvim-lua/plenary.nvim) -+ [nvim-lua/popup.nvim](https://dotfyle.com/plugins/nvim-lua/popup.nvim) + [MunifTanjim/nui.nvim](https://dotfyle.com/plugins/MunifTanjim/nui.nvim) + [folke/lazydev.nvim](https://dotfyle.com/plugins/folke/lazydev.nvim) ++ [nvim-lua/plenary.nvim](https://dotfyle.com/plugins/nvim-lua/plenary.nvim) ### plugin-manager @@ -194,10 +165,6 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim + [Aityz/cratesearch.nvim](https://dotfyle.com/plugins/Aityz/cratesearch.nvim) -### search - -+ [nvim-telescope/telescope-frecency.nvim](https://dotfyle.com/plugins/nvim-telescope/telescope-frecency.nvim) - ### session + [folke/persistence.nvim](https://dotfyle.com/plugins/folke/persistence.nvim) @@ -225,13 +192,10 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim + [kndndrj/nvim-dbee](https://dotfyle.com/plugins/kndndrj/nvim-dbee) + [echasnovski/mini.nvim](https://dotfyle.com/plugins/echasnovski/mini.nvim) -+ [stevearc/dressing.nvim](https://dotfyle.com/plugins/stevearc/dressing.nvim) + [kiyoon/jupynium.nvim](https://dotfyle.com/plugins/kiyoon/jupynium.nvim) + [folke/noice.nvim](https://dotfyle.com/plugins/folke/noice.nvim) + [michaelrommel/nvim-silicon](https://dotfyle.com/plugins/michaelrommel/nvim-silicon) -+ [rcarriga/nvim-notify](https://dotfyle.com/plugins/rcarriga/nvim-notify) + [kevinhwang91/nvim-ufo](https://dotfyle.com/plugins/kevinhwang91/nvim-ufo) -+ [doctorfree/cheatsheet.nvim](https://dotfyle.com/plugins/doctorfree/cheatsheet.nvim) + [IogaMaster/neocord](https://dotfyle.com/plugins/IogaMaster/neocord) ### web-development @@ -239,15 +203,12 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim + [mistweaverco/kulala.nvim](https://dotfyle.com/plugins/mistweaverco/kulala.nvim) + [luckasRanarison/tailwind-tools.nvim](https://dotfyle.com/plugins/luckasRanarison/tailwind-tools.nvim) -### workflow - -+ [m4xshen/hardtime.nvim](https://dotfyle.com/plugins/m4xshen/hardtime.nvim) - ## Language Servers + astro + bashls + clangd ++ cmake + cssls + gopls + html @@ -255,9 +216,11 @@ NVIM_APPNAME=kristoferssolo/SoloVim/ nvim + jsonls + lua_ls + neocmake ++ svelte + tailwindcss + taplo + texlab + tsserver ++ zk This readme was generated by [Dotfyle](https://dotfyle.com) diff --git a/after/ftplugin/markdown.lua b/after/ftplugin/markdown.lua index 1e11a78..5ca786b 100644 --- a/after/ftplugin/markdown.lua +++ b/after/ftplugin/markdown.lua @@ -4,8 +4,3 @@ vim.opt_local.tabstop = 2 vim.opt_local.shiftwidth = 2 vim.opt_local.softtabstop = 2 vim.opt_local.spelllang = "lv,en" - --- vim.keymap.set({ "n", "v" }, ">>", vim.cmd("Heading increase"), { desc = "Increase heading level" }) --- vim.keymap.set({ "n", "v" }, "<<", vim.cmd("Heading decrease"), { desc = "Decrease heading level" }) --- vim.keymap.set({ "n", "v" }, "", vim.cmd("Checkbox toggle"), { desc = "Toggle checkbox", noremap = true }) --- vim.keymap.set("n", "", vim.cmd.ObsidianQuickSwitch) diff --git a/after/plugin/snips/c.lua b/after/plugin/snips/c.lua deleted file mode 100644 index 20c55b6..0000000 --- a/after/plugin/snips/c.lua +++ /dev/null @@ -1,61 +0,0 @@ -if not pcall(require, "luasnip") then - return -end - -local ls = require("luasnip") -local s = ls.snippet -local i = ls.insert_node -local f = ls.function_node -local fmt = require("luasnip.extras.fmt").fmt - -local shared = require("config.snips") -local same = shared.same -local year = shared.year -local date = shared.date - -ls.add_snippets("c", { - s( - "auth", - fmt( - [[ - // Copyright {} - // Author - Kristiāns Francis Cagulis, kc22015 - // {} - // Created: {} - ]], - { - year(), - i(1), - date(), - } - ) - ), - s( - "fn", - fmt( - [[ - // {}; - // Funkcija {}({}) - - // {} - {} {{ - }} - ]], - { - same(1), - f(function(function_name) - if not function_name[1][1] then - function_name[1][1] = "" - end - local words = {} - for word in function_name[1][1]:gmatch("%w+") do - table.insert(words, word) - end - return words[2] or "" - end, { 1 }), - i(2), - i(0), - i(1), - } - ) - ), -}) diff --git a/after/plugin/snips/cmake.lua b/after/plugin/snips/cmake.lua deleted file mode 100644 index 29a8930..0000000 --- a/after/plugin/snips/cmake.lua +++ /dev/null @@ -1,53 +0,0 @@ -if not pcall(require, "luasnip") then - return -end - -local ls = require("luasnip") -local s = ls.snippet -local i = ls.insert_node -local fmt = require("luasnip.extras.fmt").fmt - -local shared = require("config.snips") -local same = shared.same - -local cmake_version = function() - local version = "3.27.4" - -- vim.fn.jobstart("cmake --version | head -n 1 | rg -o '\\d+\\.\\d+\\.\\d+'", {}) - return version -end - -ls.add_snippets("cmake", { - s( - "lib", - fmt( - [[ - cmake_minimum_required(VERSION {}) - project({}) - add_library(${{PROJECT_NAME}} src/{}.cc) - ]], - { - cmake_version(), - i(1), - same(1), - } - ) - ), - s( - "bin", - fmt( - [[ - cmake_minimum_required(VERSION {}) - project({}) - add_executable(${{PROJECT_NAME}} src/main.cc) - target_link_directories(${{PROJECT_NAME}} PRIVATE ${{CMAKE_SOURCE_DIR}}/include/{}/target/build/) - target_link_libraries(${{PROJECT_NAME}} {}) - ]], - { - cmake_version(), - i(1), - i(2), - same(2), - } - ) - ), -}) diff --git a/after/plugin/snips/cpp.lua b/after/plugin/snips/cpp.lua deleted file mode 100644 index 95016f0..0000000 --- a/after/plugin/snips/cpp.lua +++ /dev/null @@ -1,61 +0,0 @@ -if not pcall(require, "luasnip") then - return -end - -local ls = require("luasnip") -local s = ls.snippet -local i = ls.insert_node -local f = ls.function_node -local fmt = require("luasnip.extras.fmt").fmt - -local shared = require("config.snips") -local same = shared.same -local year = shared.year -local date = shared.date - -ls.add_snippets("cpp", { - s( - "auth", - fmt( - [[ - // Copyright {} - // Author - Kristiāns Francis Cagulis, kc22015 - // {} - // Created: {} - ]], - { - year(), - i(1), - date(), - } - ) - ), - s( - "fn", - fmt( - [[ - // {}; - // Funkcija {}({}) - - // {} - {} {{ - }} - ]], - { - same(1), - f(function(function_name) - if not function_name[1][1] then - function_name[1][1] = "" - end - local words = {} - for word in function_name[1][1]:gmatch("%w+") do - table.insert(words, word) - end - return words[2] or "" - end, { 1 }), - i(2), - i(0), - i(1), - } - ) - ), -}) diff --git a/after/plugin/snips/rust.lua b/after/plugin/snips/rust.lua deleted file mode 100644 index 51204f1..0000000 --- a/after/plugin/snips/rust.lua +++ /dev/null @@ -1,145 +0,0 @@ -if not pcall(require, "luasnip") then - return -end - -local ls = require("luasnip") -local s = ls.snippet -local i = ls.insert_node -local fmt = require("luasnip.extras.fmt").fmt -local shared = require("config.snips") -local same = shared.same - -ls.add_snippets("rust", { - s( - "modtest", - fmt( - [[ - #[cfg(test)] - mod tests {{ - use super::*; - {} - }} - ]], - { - i(1), - } - ) - ), - s( - "tmain", - fmt( - [[ - #[tokio::main] - async fn main() -> Result<()> {{ - Ok(()) - }} - ]], - {} - ) - ), - s( - "dead", - fmt( - [[ - #[allow(dead_code)] - ]], - {} - ) - ), - s( - "component", - fmt( - [[ - #[derive(Debug, Reflect, Component)] - #[reflect(Component)] - struct {} - ]], - { - i(1), - } - ) - ), - s( - "event", - fmt( - [[ - #[derive(Debug, Event)] - struct {} - ]], - { - i(1), - } - ) - ), - s( - "resource", - fmt( - [[ - #[derive(Debug, Default, Reflect, Resource)] - #[reflect(Resource)] - struct {} - ]], - { - i(1), - } - ) - ), - s( - "schedule", - fmt( - [[ - #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, ScheduleLabel)] - struct {} - ]], - { - i(1), - } - ) - ), - s( - "states", - fmt( - [[ - #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default, States)] - enum {} {{ - #[default] - {} - }} - ]], - { - i(1), - i(2), - } - ) - ), - s( - "systemset", - fmt( - [[ - #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, SystemSet)] - enum {} {{ - {} - }} - ]], - { - i(1), - i(2), - } - ) - ), - s( - "plugin", - fmt( - [[ - use bevy::prelude::*; - - pub(super) fn plugin(app: &mut App) {{ - {} - }} - ]], - { - i(1), - } - ) - ), -}) diff --git a/after/plugin/snips/typst.lua b/after/plugin/snips/typst.lua deleted file mode 100644 index c3ff18f..0000000 --- a/after/plugin/snips/typst.lua +++ /dev/null @@ -1,10 +0,0 @@ -if not pcall(require, "luasnip") then - return -end - -local ls = require("luasnip") -local s = ls.snippet -local i = ls.insert_node -local fmt = require("luasnip.extras.fmt").fmt - -ls.add_snippets("typst", {}) diff --git a/lazy-lock.json b/lazy-lock.json index ba20612..0139148 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -2,117 +2,120 @@ "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, "FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" }, "LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" }, - "blink-cmp-git": { "branch": "master", "commit": "226b269a50b5ece2ed95933b8d62f103f5d6a05d" }, - "blink-emoji.nvim": { "branch": "master", "commit": "f22ce8cac02a6ece05368220f1e38bd34fe376f9" }, - "blink-ripgrep.nvim": { "branch": "main", "commit": "8dd8c8f19fde31b6aa861476efd452aa306e82ba" }, + "aerial.nvim": { "branch": "master", "commit": "5e687b5a14004fa2dd9eccbee042b96869fe1557" }, + "blink-cmp-git": { "branch": "master", "commit": "e3ad0ffaaa3b3b7e2158cc72cd6dad2d19842c46" }, + "blink-emoji.nvim": { "branch": "master", "commit": "066013e4c98a9318408ee3f1ca2dbcb6fa3e4c06" }, + "blink-ripgrep.nvim": { "branch": "main", "commit": "e6705fcfccc71636f93f7417296f6831303c30ac" }, "blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" }, "blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" }, - "catppuccin.nvim": { "branch": "main", "commit": "af58927c55c9f3272c940ff02b3cee94a1249f26" }, + "catppuccin.nvim": { "branch": "main", "commit": "8c4125e3c746976ba025dc5d908fa22c6aa09486" }, "ccc.nvim": { "branch": "main", "commit": "9d1a256e006decc574789dfc7d628ca11644d4c2" }, "cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" }, "cloak.nvim": { "branch": "main", "commit": "648aca6d33ec011dc3166e7af3b38820d01a71e4" }, "cmake-tools.nvim": { "branch": "master", "commit": "88e07c6bff838a5bda2f461e9c1122b79ff0829f" }, "cmp-dbee": { "branch": "main", "commit": "1650f67b9bf43c029fc37570665ca895a33cdf5a" }, "colorful-menu.nvim": { "branch": "master", "commit": "d5b97d247528be308b6b69d96b5950a30e470f3d" }, - "conform.nvim": { "branch": "master", "commit": "fbcb4fa7f34bfea9be702ffff481a8e336ebf6ed" }, + "conform.nvim": { "branch": "master", "commit": "9fd3d5e0b689ec1bf400c53cbbec72c6fdf24081" }, "crates.nvim": { "branch": "main", "commit": "afcd1cc3eeceb5783676fc8464389b9216a29d05" }, - "cratesearch.nvim": { "branch": "master", "commit": "9d09625d017f6b2e116503f935bc6862961313fa" }, "css-vars.nvim": { "branch": "main", "commit": "0615782c320f729b04d9c51a8a61fb498ee4234a" }, "csvview.nvim": { "branch": "main", "commit": "bbab4c2f808fd8e11ec8dfdd128251aadba566a1" }, "darkplus.nvim": { "branch": "master", "commit": "c7fff5ce62406121fc6c9e4746f118b2b2499c4c" }, "darkvoid.nvim": { "branch": "master", "commit": "45be993a5617e05811b6b293c05e6aded7003cc9" }, "demicolon.nvim": { "branch": "main", "commit": "36f9ddaf8d45f84644344cb057a115c425bcb5cc" }, - "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, "dracula.nvim": { "branch": "main", "commit": "041d923368d540a1e438989ce8f915628081a56a" }, "flow.nvim": { "branch": "main", "commit": "095c54bbaf55473418dd09d61d3167891684cf85" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, "gitignore.nvim": { "branch": "master", "commit": "0344f643768c4d64af4add8c1bdddf6f7d4c9010" }, - "gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" }, "gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" }, "harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" }, - "http-codes.nvim": { "branch": "main", "commit": "77aea3a73d5f3134089941ebf6d4172af34a4a8d" }, - "img-clip.nvim": { "branch": "main", "commit": "f33f3af9ba50f99d70f8fcb1a8575750ada4ea4a" }, - "inlay-hint.nvim": { "branch": "main", "commit": "ee8aa9806d1e160a2bc08b78ae60568fb6d9dbce" }, + "haskell-tools.nvim": { "branch": "master", "commit": "5fb8eda3c4430cb1d473d3e2138b070bdca1c224" }, + "hererocks": { "branch": "master", "commit": "160228946bed9998f5e3b168bd0b66ba2690f8f3" }, + "http-codes.nvim": { "branch": "feature/snacks", "commit": "4b4886c5091a125900a6e319bddd10bc34747bf1" }, + "image.nvim": { "branch": "master", "commit": "446a8a5cc7a3eae3185ee0c697732c32a5547a0b" }, + "img-clip.nvim": { "branch": "main", "commit": "e7e29f0d07110405adecd576b602306a7edd507a" }, + "inlay-hint.nvim": { "branch": "main", "commit": "4e89bb7272830bf821abc381f00e139b029c6bb9" }, "inlay-hints.nvim": { "branch": "master", "commit": "990e1f96699b8293b6665b9e73b16128c66684e6" }, - "jupynium.nvim": { "branch": "master", "commit": "144ab6e46d2b42264c16a4f3c780d88feb0a89e8" }, - "kanagawa.nvim": { "branch": "master", "commit": "27f1e119f3a7e6d11d435a59e3262e6affda1f83" }, - "kulala.nvim": { "branch": "main", "commit": "0d50e9ce5c992fe507743d8641b36125e668aad4" }, + "jupynium.nvim": { "branch": "master", "commit": "bd875f94131c95bf98c0e3673a118d14fd180ace" }, + "kanagawa.nvim": { "branch": "master", "commit": "aef7f5cec0a40dbe7f3304214850c472e2264b10" }, + "kulala.nvim": { "branch": "main", "commit": "9a9308b664f71159f1c150e8cfb18541b143a9e9" }, "lackluster.nvim": { "branch": "main", "commit": "70dd682e564784893b984deb51dd5ddd263c8cc7" }, - "lazy.nvim": { "branch": "main", "commit": "59334064f8604ca073791c25dcc5c9698865406e" }, - "lazydev.nvim": { "branch": "main", "commit": "258d2a5ef4a3e3d6d9ba9da72c9725c53e9afcbd" }, + "lazy.nvim": { "branch": "main", "commit": "f0f5bbb9e5bfae5e6468f9359ffea3d151418176" }, + "lazydev.nvim": { "branch": "main", "commit": "371cd7434cbf95606f1969c2c744da31b77fcfa6" }, "lsp-progress.nvim": { "branch": "main", "commit": "ae52979ad412371ea6dc39ff70c8dfc681fb42b8" }, + "lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" }, "lualine-harpoon.nvim": { "branch": "main", "commit": "9ee90e6309c4219d6a06b771b53db6a59c8d32fa" }, - "lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" }, + "lualine.nvim": { "branch": "master", "commit": "3946f0122255bc377d14a59b27b609fb3ab25768" }, "markdown.nvim": { "branch": "master", "commit": "34bb88989ace6c678abd947662668994219996e0" }, - "markview.nvim": { "branch": "main", "commit": "8c6d294d3d6a59f892c131d76f699b0696a25467" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "6bdb14f230de0904229ec367b410fb817e59b072" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "86389a3dd687cfaa647b6f44731e492970034baa" }, + "markview.nvim": { "branch": "main", "commit": "c93ea99d96b4bfda5b7c7d0dfca9c26edf6e78f0" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "3590d66effccc7376d8c3dbe45e8291f9fed2843" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "9a10e096703966335bd5c46c8c875d5b0690dade" }, "mason.nvim": { "branch": "main", "commit": "ad7146aa61dcaeb54fa900144d768f040090bff0" }, "melange.nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" }, + "mini.ai": { "branch": "main", "commit": "e139eb1101beb0250fea322f8c07a42f0f175688" }, + "mini.diff": { "branch": "main", "commit": "ec8a5ae365c5d15920721ea42b1351dbc9e61f2d" }, "mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" }, - "mini.nvim": { "branch": "main", "commit": "94cae4660a8b2d95dbbd56e1fbc6fcfa2716d152" }, - "neoconf.nvim": { "branch": "main", "commit": "ca4179bc3f10cc8bd2eff29acbc270a47bbcd298" }, + "mini.splitjoin": { "branch": "main", "commit": "70240d5d3881ff1b2b1d7902450f98a6fa303800" }, + "mini.surround": { "branch": "main", "commit": "5aab42fcdcf31fa010f012771eda5631c077840a" }, + "neoconf.nvim": { "branch": "main", "commit": "d2400cd4ba2efe9b3dc4e4b2a76f5fd362b7a136" }, "neocord": { "branch": "main", "commit": "2ebf3792a8100376bb65fd66d5dbf60f50af7529" }, "neogen": { "branch": "main", "commit": "b2e78708876f4da507839726816010a68e33fec8" }, "neogit": { "branch": "master", "commit": "e106a39a8a37a9420f374545c876f8b52baf1c80" }, "neorg": { "branch": "main", "commit": "e206c9642f4a115cd836e76c98ef785623d335bc" }, - "neotest": { "branch": "master", "commit": "2cf3544fb55cdd428a9a1b7154aea9c9823426e8" }, + "neotest": { "branch": "master", "commit": "366175e1e74ff112787f9adbfb072eeaedd2a88e" }, "neotest-gtest": { "branch": "main", "commit": "b66f1d33cbf3b37b9803e6bc7ef47ac60eba86b1" }, - "neotest-python": { "branch": "master", "commit": "7cab6e2ecc260bf61b97ca147574a470bd880cbd" }, + "neotest-python": { "branch": "master", "commit": "b0d3a861bd85689d8ed73f0590c47963a7eb1bf9" }, "neotest-vim-test": { "branch": "master", "commit": "75c4228882ae4883b11bfce9b8383e637eb44192" }, - "nightfly.nvim": { "branch": "master", "commit": "502136cc4ec2eb94b054a30d583706f1b516c52b" }, + "nightfly.nvim": { "branch": "master", "commit": "2a92a9291a461d99c01b4cdcc8fa41ec17a2209d" }, "nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" }, - "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, + "noice.nvim": { "branch": "main", "commit": "5099348591f7d3ba9e547b1e631c694c65bbe0b9" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, "nvim-colorizer.lua": { "branch": "master", "commit": "51cf7c995ed1eb6642aecf19067ee634fa1b6ba2" }, - "nvim-dap": { "branch": "master", "commit": "881f7dc17c0b4204a1d844732f95539575350e5b" }, + "nvim-dap": { "branch": "master", "commit": "6782b097af2417a4c3e33849b0a26ae2188bd7ea" }, "nvim-dap-python": { "branch": "master", "commit": "bfe572e4458e0ac876b9539a1e9f301c72db8ea0" }, "nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" }, "nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" }, "nvim-dbee": { "branch": "master", "commit": "dda517694889a5d238d7aa407403984da9f80cc0" }, - "nvim-java": { "branch": "main", "commit": "3d56b7461facb42f135e25b2636bf220a7f0ed42" }, "nvim-lint": { "branch": "master", "commit": "9da1fb942dd0668d5182f9c8dee801b9c190e2bb" }, - "nvim-lspconfig": { "branch": "master", "commit": "e688b486fe9291f151eae7e5c0b5a5c4ef980847" }, + "nvim-lspconfig": { "branch": "master", "commit": "e25994a1c2373784364852cd904cb39b6d75f227" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, "nvim-silicon": { "branch": "main", "commit": "7f66bda8f60c97a5bf4b37e5b8acb0e829ae3c32" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-treesitter-context": { "branch": "master", "commit": "41847d3dafb5004464708a3db06b14f12bde548a" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" }, + "nvim-treesitter-context": { "branch": "master", "commit": "ec308c7827b5f8cb2dd0ad303a059c945dd21969" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "5ca4aaa6efdcc59be46b95a3e876300cfead05ef" }, "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" }, "nvim-ufo": { "branch": "main", "commit": "72d54c31079d38d8dfc5456131b1d0fb5c0264b0" }, - "nvim-web-devicons": { "branch": "master", "commit": "b8221e42cf7287c4dcde81f232f58d7b947c210d" }, + "nvim-web-devicons": { "branch": "master", "commit": "8dcb311b0c92d460fac00eac706abd43d94d68af" }, "obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" }, + "octo.nvim": { "branch": "master", "commit": "4be7903a962875a47422110d0e9ff3e475db1d27" }, "oil-git.nvim": { "branch": "main", "commit": "d1f27a5982df35b70fb842aa6bbfac10735c7265" }, "oil-lsp-diagnostics.nvim": { "branch": "master", "commit": "e04e3c387262b958fee75382f8ff66eae9d037f4" }, "oil.nvim": { "branch": "master", "commit": "975a77cce3c8cb742bc1b3629f4328f5ca977dad" }, "onedark.nvim": { "branch": "master", "commit": "de495fabe171d48aed5525f002d14414efcecbb2" }, - "otter.nvim": { "branch": "main", "commit": "c44d645f03ae96e2e3cdc37f92ecfa93a534b736" }, - "persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" }, + "pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" }, + "persistence.nvim": { "branch": "main", "commit": "b20b2a7887bd39c1a356980b45e03250f3dce49c" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, - "rainbow-delimiters.nvim": { "branch": "master", "commit": "3277ad5f96eb03c9d618c88e24f683e4364e578c" }, + "rainbow-delimiters.nvim": { "branch": "master", "commit": "b6b3c9e3f8db02a56416b8ee25d3dbd079ebf26b" }, "rainbow_csv.nvim": { "branch": "main", "commit": "26de78d8324f7ac6a3e478319d1eb1f17123eb5b" }, "rose-pine.nvim": { "branch": "main", "commit": "72a04c4065345b51b56aed4859ea1d884f734097" }, "rustaceanvim": { "branch": "master", "commit": "e9c5aaba16fead831379d5f44617547a90b913c7" }, - "snacks.nvim": { "branch": "main", "commit": "bfe8c26dbd83f7c4fbc222787552e29b4eccfcc0" }, - "spellwarn.nvim": { "branch": "main", "commit": "47ada88a843f52f7aa90c018cc7ef514587bc3fd" }, - "tagbar": { "branch": "master", "commit": "7bfffca1f121afb7a9e38747500bf5270e006bb1" }, + "snacks.nvim": { "branch": "main", "commit": "76160be5d38cd67e46557cb5d0b3e36ececdfa3c" }, "tailwind-fold.nvim": { "branch": "main", "commit": "d9e7ca11691d252b35795726dff087bf013b2ebf" }, - "todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" }, - "tokyonight.nvim": { "branch": "main", "commit": "4d159616aee17796c2c94d2f5f87d2ee1a3f67c7" }, + "todo-comments.nvim": { "branch": "main", "commit": "411503d3bedeff88484de572f2509c248e499b38" }, + "tokyonight.nvim": { "branch": "main", "commit": "2642dbb83333e0575d1c3436e1d837926871c5fb" }, "tree-sitter-bruno": { "branch": "main", "commit": "347e99f256930213cd7fcd0efe3f9af83035c4b1" }, "tree-sitter-ghostty": { "branch": "main", "commit": "2a9ae7233b6707e84b3a79c8778427f58aa4b6d0" }, - "trouble.nvim": { "branch": "main", "commit": "f176232e7759c4f8abd923c21e3e5a5c76cd6837" }, - "ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" }, + "trouble.nvim": { "branch": "main", "commit": "d7494d8bc563f8ae8b3f35d78c7478cf842b0ab9" }, + "ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" }, "ts-error-translator.nvim": { "branch": "main", "commit": "47e5ba89f71b9e6c72eaaaaa519dd59bd6897df4" }, "typecheck.nvim": { "branch": "main", "commit": "5a0b0f50be009e85c337f3e183fa6cd28a3c95a0" }, "typescript-tools.nvim": { "branch": "master", "commit": "bf11d98ad5736e1cbc1082ca9a03196d45c701f1" }, - "typst-preview.nvim": { "branch": "master", "commit": "dea4525d5420b7c32eebda7de15a6beb9d6574fa" }, + "typst-preview.nvim": { "branch": "master", "commit": "e544812bba84b4f7976590f2b6c0dfbd099e1893" }, "undotree": { "branch": "master", "commit": "0f1c9816975b5d7f87d5003a19c53c6fd2ff6f7f" }, "vim-be-good": { "branch": "master", "commit": "0ae3de14eb8efc6effe7704b5e46495e91931cc5" }, "vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" }, - "vim-just": { "branch": "main", "commit": "3deeee5998408ce5a0ff3959a0e6b4bce530c37e" }, + "vim-just": { "branch": "main", "commit": "c13e317dda76ea01c2521cbed2a5c552a96951bd" }, "vim-log-highlighting": { "branch": "master", "commit": "1037e26f3120e6a6a2c0c33b14a84336dee2a78f" }, "vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" }, "vim-wakatime": { "branch": "master", "commit": "d7973b157a632d1edeff01818f18d67e584eeaff" }, diff --git a/lua/config/autocmds.lua b/lua/config/autocmds.lua index 46af567..ca40ad4 100644 --- a/lua/config/autocmds.lua +++ b/lua/config/autocmds.lua @@ -48,13 +48,6 @@ vim.api.nvim_create_autocmd({ "InsertEnter" }, { end, }) -vim.api.nvim_create_autocmd({ "BufWinEnter" }, { - pattern = "**/Codnity/**", - callback = function() - vim.opt.colorcolumn = "92" - end, -}) - vim.api.nvim_create_autocmd({ "BufWinEnter" }, { pattern = "requirements*.txt", callback = function() @@ -62,13 +55,6 @@ vim.api.nvim_create_autocmd({ "BufWinEnter" }, { end, }) ---[[ vim.api.nvim_create_autocmd({ "BufWinEnter" }, { - pattern = "**/Codnity/**/*.html", - callback = function() - vim.cmd("setf htmldjango") - end, -}) ]] - -- Autocommand that sources neovim files on save --[[ vim.api.nvim_create_autocmd({ "BufWritePost" }, { group = vim.api.nvim_create_augroup("AutoReloadConfig", { clear = true }), diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua index 1c72443..fcc7233 100644 --- a/lua/config/keymaps.lua +++ b/lua/config/keymaps.lua @@ -39,20 +39,12 @@ nmap("", "vertical resize +2", "Resize window right") nmap("", "m .-2==", "Move line up") nmap("", "m .+1==", "Move line down") --- nmap("", ":%s///gI", "[S]ubstitute word") nmap("", [[:%s/\<\>//gI]], "[S]ubstitute word") nmap("Q", "@qj", "Run macro") nmap("oo", "updatesource", "Source current file") --- vim.keymap.set({ "n", "v", "x" }, "y", '"+y', { desc = "Yank to system clipboard" }) --- vim.keymap.set("n", "Y", '"+yy', { desc = "Yank line to system clipboard" }) - --- vim.keymap.set({ "n", "v", "x" }, "p", '"+p', { desc = "Paste from system clipboard" }) --- vim.keymap.set("n", "P", '"+P', { desc = "Paste before cursor from system clipboard" }) - - vim.keymap.set("n", "cf", function() local file_path = vim.fn.expand("%:p") vim.cmd([[call setreg("+", "]] .. vim.fn.escape(file_path, '\\ "') .. '")') @@ -60,8 +52,8 @@ vim.keymap.set("n", "cf", function() end, { desc = "Copy file path to clipboard" }) xmap("Q", ":norm @q", "Run macro") - xmap("p", '"_dP') + vim.keymap.set( "c", "", @@ -80,11 +72,6 @@ vmap("<", "", ":m '<-2gv=gv", "Move lines up") vmap("", ":m '>+1gv=gv", "Move lines down") --- tmap("t", "", "h") --- tmap("t", "", "j") --- tmap("t", "", "k") --- tmap("t", "", "l") - local function fzf_sesh_connect() -- build the fzf-tmux command exactly as in your zsh widget local fzf_cmd = [[ diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua index a2860b3..d3d6bce 100644 --- a/lua/config/lazy.lua +++ b/lua/config/lazy.lua @@ -28,9 +28,6 @@ require("lazy").setup({ ui = { border = "rounded" }, change_detection = { enabled = false }, rocks = { - hererocks = nil, - }, - dev = { - path = "~/repos/nvim/plugins", + hererocks = true, }, }) diff --git a/lua/config/options.lua b/lua/config/options.lua index 81aa125..b5f5efb 100644 --- a/lua/config/options.lua +++ b/lua/config/options.lua @@ -1,57 +1,57 @@ -vim.opt.backup = false -- creates a backup file -vim.opt.breakindent = true -- Enable break indent -vim.opt.clipboard = "unnamedplus" -- allows neovim to access the system clipboard -vim.opt.cmdheight = 1 -- more space in the neovim command line for displaying messages +vim.opt.backup = false -- creates a backup file +vim.opt.breakindent = true -- Enable break indent +vim.opt.clipboard = "unnamedplus" -- allows neovim to access the system clipboard +vim.opt.cmdheight = 1 -- more space in the neovim command line for displaying messages vim.opt.colorcolumn = "120" vim.opt.completeopt = { "menuone", "noselect" } -- mostly just for cmp -vim.opt.conceallevel = 2 -- so that `` is visible in markdown files -vim.opt.cursorcolumn = true -- highlight the current column -vim.opt.cursorline = true -- highlight the current line -vim.opt.expandtab = true -- convert tabs to spaces -vim.opt.fileencoding = "utf-8" -- the encoding written to a file +vim.opt.conceallevel = 2 -- so that `` is visible in markdown files +vim.opt.cursorcolumn = true -- highlight the current column +vim.opt.cursorline = true -- highlight the current line +vim.opt.expandtab = true -- convert tabs to spaces +vim.opt.fileencoding = "utf-8" -- the encoding written to a file vim.opt.fillchars.eob = " " vim.opt.foldmethod = "manual" vim.opt.foldenable = true vim.opt.foldlevelstart = 99 -vim.opt.foldcolumn = "1" -- '0' is not bad +vim.opt.foldcolumn = "1" -- '0' is not bad vim.opt.guifont = "JetBrainsMono NF:h11" -- the font used in graphical neovim applications -vim.opt.hlsearch = false -- highlight all matches on previous search pattern -vim.opt.ignorecase = true -- ignore case in search patterns +vim.opt.hlsearch = false -- highlight all matches on previous search pattern +vim.opt.ignorecase = true -- ignore case in search patterns vim.opt.incsearch = true vim.opt.isfname:append("@-@") vim.opt.iskeyword:append("-") vim.opt.laststatus = 3 -vim.opt.mouse = "a" -- allow the mouse to be used in neovim -vim.opt.number = true -- set numbered lines -vim.opt.numberwidth = 4 -- set number column width to 4 {default 4} -vim.opt.pumheight = 10 -- pop up menu height +vim.opt.mouse = "a" -- allow the mouse to be used in neovim +vim.opt.number = true -- set numbered lines +vim.opt.numberwidth = 4 -- set number column width to 4 {default 4} +vim.opt.pumheight = 10 -- pop up menu height vim.opt.relativenumber = true -- set relative numbered lines vim.opt.ruler = false -vim.opt.scrolloff = 8 -- is one of my fav -vim.opt.shiftwidth = 4 -- the number of spaces inserted for each indentation +vim.opt.scrolloff = 8 -- is one of my fav +vim.opt.shiftwidth = 4 -- the number of spaces inserted for each indentation vim.opt.shortmess:append("c") vim.opt.showcmd = false -vim.opt.showmode = false -- we don't need to see things like -- INSERT -- anymore -vim.opt.showtabline = 0 -- disable tabs +vim.opt.showmode = false -- we don't need to see things like -- INSERT -- anymore +vim.opt.showtabline = 0 -- disable tabs vim.opt.sidescrolloff = 8 -vim.opt.signcolumn = "yes" -- always show the sign column otherwise it would shift the text each time -vim.opt.smartcase = true -- smart case +vim.opt.signcolumn = "auto" -- always show the sign column otherwise it would shift the text each time +vim.opt.smartcase = true -- smart case vim.opt.smartindent = true -- make indenting smarter again vim.opt.softtabstop = 4 vim.opt.spell = false vim.opt.spelloptions:append("camel") -vim.opt.splitbelow = true -- force all horizontal splits to go below current window -vim.opt.splitright = true -- force all vertical splits to go to the right of current window -vim.opt.swapfile = false -- creates a swapfile -vim.opt.tabstop = 4 -- insert 4 spaces for a tab +vim.opt.splitbelow = true -- force all horizontal splits to go below current window +vim.opt.splitright = true -- force all vertical splits to go to the right of current window +vim.opt.swapfile = false -- creates a swapfile +vim.opt.tabstop = 4 -- insert 4 spaces for a tab vim.opt.termguicolors = true -- set term gui colors (most terminals support this) -vim.opt.timeoutlen = 250 -- time to wait for a mapped sequence to complete (in milliseconds) +vim.opt.timeoutlen = 250 -- time to wait for a mapped sequence to complete (in milliseconds) vim.opt.undodir = vim.fn.stdpath("data") .. "/nvim/undodir" -vim.opt.undofile = true -- enable persistent undo -vim.opt.updatetime = 50 -- faster completion (4000ms default) +vim.opt.undofile = true -- enable persistent undo +vim.opt.updatetime = 50 -- faster completion (4000ms default) vim.opt.whichwrap:append("<,>,[,],h,l") -vim.opt.wrap = false -- display lines as one long line -vim.opt.writebackup = false -- if a file is being edited by another program (or was written to file while editing with another program) it is not allowed to be edit +vim.opt.wrap = false -- display lines as one long line +vim.opt.writebackup = false -- if a file is being edited by another program (or was written to file while editing with another program) it is not allowed to be edit vim.opt_local.path:prepend(vim.fn.stdpath("config") .. "/lua") vim.opt_local.suffixesadd:prepend(".lua") vim.opt_local.suffixesadd:prepend("init.lua") diff --git a/lua/config/snips.lua b/lua/config/snips.lua deleted file mode 100644 index 2e47b42..0000000 --- a/lua/config/snips.lua +++ /dev/null @@ -1,78 +0,0 @@ -if not pcall(require, "luasnip") then - return -end - -local ls = require("luasnip") -local f = ls.function_node -local s = ls.snippet -local t = ls.text_node -local i = ls.insert_node - ---[[ -local ls = require("luasnip") -local s = ls.snippet -local sn = ls.snippet_node -local isn = ls.indent_snippet_node -local t = ls.text_node -local i = ls.insert_node -local f = ls.function_node -local c = ls.choice_node -local d = ls.dynamic_node -local r = ls.restore_node -local events = require("luasnip.util.events") -local ai = require("luasnip.nodes.absolute_indexer") -local extras = require("luasnip.extras") -local l = extras.lambda -local rep = extras.rep -local p = extras.partial -local m = extras.match -local n = extras.nonempty -local dl = extras.dynamic_lambda -local fmt = require("luasnip.extras.fmt").fmt -local fmta = require("luasnip.extras.fmt").fmta -local conds = require("luasnip.extras.expand_conditions") -local postfix = require("luasnip.extras.postfix").postfix -local types = require("luasnip.util.types") -local parse = require("luasnip.util.parser").parse_snippet -local ms = ls.multi_snippet -]] - -local shortcut = function(val) - if type(val) == "string" then - return { t({ val }), i(0) } - end - if type(val) == "table" then - for k, v in ipairs(val) do - if type(v) == "string" then - val[k] = t({ v }) - end - end - end - return val -end - -local M = {} - -M.same = function(index) - return f(function(args) - return args[1] - end, { index }) -end - -M.year = function() - return os.date("%Y") -end - -M.date = function() - return os.date("%d.%m.%Y") -end - -M.make = function(tbl) - local result = {} - for k, v in pairs(tbl) do - table.insert(result, (s({ trig = k, desc = v.desc }, shortcut(v)))) - end - return result -end - -return M diff --git a/lua/plugins/aerial.lua b/lua/plugins/aerial.lua new file mode 100644 index 0000000..c386b19 --- /dev/null +++ b/lua/plugins/aerial.lua @@ -0,0 +1,30 @@ +return { + "stevearc/aerial.nvim", + dependencies = { + "nvim-treesitter/nvim-treesitter", + "nvim-tree/nvim-web-devicons", + }, + cmd = { + "AerialToggle", + "AerialOpen", + "AerialOpenAll", + "AerialClose", + "AerialCloseAll", + "AerialNext", + "AerialPrev", + "AerialGo", + "AerialInfo", + "AerialNavToggle", + "AerialNavOpen", + "AerialNavClose", + }, + keys = { + { "b", vim.cmd.AerialToggle, desc = "Toggle Tagbar" }, + }, + opts = { + layout = { + default_direction = "right", + min_width = { 30, 0.1 }, + }, + }, +} diff --git a/lua/plugins/blink.lua b/lua/plugins/blink.lua index 4c6cd7a..ef54a3e 100644 --- a/lua/plugins/blink.lua +++ b/lua/plugins/blink.lua @@ -29,10 +29,6 @@ return { "epwalsh/obsidian.nvim", event = "BufReadPre " .. vim.fn.expand("~") .. "/Obsidian/**/*.md", }, - { - "kiyoon/jupynium.nvim", - event = "BufReadPre *.ju.py", - }, }, version = "*", opts = { @@ -75,7 +71,6 @@ return { "buffer", "snippets", "ripgrep", - "jupynium", "css_vars", }, per_filetype = { @@ -140,11 +135,6 @@ return { score_offset = 15, opts = { insert = true }, }, - jupynium = { - name = "jupynium", - module = "jupynium.blink_cmp", - score_offset = 100, - }, git = { score_offset = 100, module = "blink-cmp-git", diff --git a/lua/plugins/cloak.lua b/lua/plugins/cloak.lua index b137572..4494ce0 100644 --- a/lua/plugins/cloak.lua +++ b/lua/plugins/cloak.lua @@ -1,30 +1,4 @@ return { "laytan/cloak.nvim", - opts = { - enabled = true, - cloak_character = "*", - -- The applied highlight group (colors) on the cloaking, see `:h highlight`. - highlight_group = "Comment", - -- Applies the length of the replacement characters for all matched - -- patterns, defaults to the length of the matched pattern. - cloak_length = nil, -- Provide a number if you want to hide the true length of the value. - -- Wether it should try every pattern to find the best fit or stop after the first. - try_all_patterns = true, - patterns = { - { - -- Match any file starting with '.env'. - -- This can be a table to match multiple file patterns. - file_pattern = { ".env*" }, - -- Match an equals sign and any character after it. - -- This can also be a table of patterns to cloak, - -- example: cloak_pattern = { ':.+', '-.+' } for yaml files. - cloak_pattern = "=.+", - -- A function, table or string to generate the replacement. - -- The actual replacement will contain the 'cloak_character' - -- where it doesn't cover the original text. - -- If left empty the legacy behavior of keeping the first character is retained. - replace = nil, - }, - }, - }, + opts = {}, } diff --git a/lua/plugins/cmake-tools.lua b/lua/plugins/cmake-tools.lua index 36f87c2..97d65f8 100644 --- a/lua/plugins/cmake-tools.lua +++ b/lua/plugins/cmake-tools.lua @@ -3,67 +3,14 @@ return { ft = { "cpp", "c", "cmake" }, dependencies = { "nvim-lua/plenary.nvim" }, opts = { - cmake_command = "cmake", -- this is used to specify cmake command path - cmake_regenerate_on_save = true, -- auto generate when save CMakeLists.txt - cmake_generate_options = { "-DCMAKE_EXPORT_COMPILE_COMMANDS=1" }, -- this will be passed when invoke `CMakeGenerate` - cmake_build_options = {}, -- this will be passed when invoke `CMakeBuild` - cmake_build_directory = "target/build/", -- this is used to specify generate directory for cmake - cmake_build_directory_prefix = "cmake_build_", -- when cmake_build_directory is set to "", this option will be activated - cmake_soft_link_compile_commands = true, -- this will automatically make a soft link from compile commands file to project root dir - cmake_compile_commands_from_lsp = false, -- this will automatically set compile commands file location using lsp, to use it, please set `cmake_soft_link_compile_commands` to false - cmake_kits_path = nil, -- this is used to specify global cmake kits path, see CMakeKits for detailed usage - cmake_variants_message = { - short = { show = true }, -- whether to show short message - long = { show = true, max_length = 40 }, -- whether to show long message - }, - cmake_dap_configuration = { -- debug settings for cmake - name = "cpp", - type = "codelldb", - request = "launch", - stopOnEntry = false, - runInTerminal = true, - console = "integratedTerminal", - }, - cmake_executor = { -- executor to use - name = "quickfix", -- name of the executor - opts = {}, -- the options the executor will get, possible values depend on the executor type. See `default_opts` for possible values. - default_opts = { -- a list of default and possible values for executors + cmake_build_directory = "target/build/", + cmake_executor = { + default_opts = { quickfix = { - show = "only_on_error", -- "always", "only_on_error" - position = "belowright", -- "bottom", "top" + show = "only_on_error", size = 15, }, - overseer = { - new_task_opts = {}, -- options to pass into the `overseer.new_task` command - on_new_task = function(task) end, -- a function that gets overseer.Task when it is created, before calling `task:start` - }, - terminal = {}, -- terminal executor uses the values in cmake_terminal }, }, - cmake_terminal = { - name = "terminal", - opts = { - name = "Main Terminal", - prefix_name = "[CMakeTools]: ", -- This must be included and must be unique, otherwise the terminals will not work. Do not use a simple spacebar " ", or any generic name - split_direction = "vertical", -- "horizontal", "vertical" - split_size = 50, - - -- Window handling - single_terminal_per_instance = true, -- Single viewport, multiple windows - single_terminal_per_tab = true, -- Single viewport per tab - keep_terminal_static_location = true, -- Static location of the viewport if avialable - - -- Running Tasks - start_insert_in_launch_task = false, -- If you want to enter terminal with :startinsert upon using :CMakeRun - start_insert_in_other_tasks = false, -- If you want to enter terminal with :startinsert upon launching all other cmake tasks in the terminal. Generally set as false - focus_on_main_terminal = false, -- Focus on cmake terminal when cmake task is launched. Only used if executor is terminal. - focus_on_launch_terminal = false, -- Focus on cmake launch terminal when executable target in launched. - }, - }, - cmake_notifications = { - enabled = true, -- show cmake execution progress in nvim-notify - spinner = { "⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏" }, -- icons used for progress display - refresh_rate_ms = 100, -- how often to iterate icons - }, }, } diff --git a/lua/plugins/colorizer.lua b/lua/plugins/colorizer.lua index 1d8e802..599d4a5 100644 --- a/lua/plugins/colorizer.lua +++ b/lua/plugins/colorizer.lua @@ -1,49 +1,16 @@ return { - "NvChad/nvim-colorizer.lua", + "catgoose/nvim-colorizer.lua", + event = "BufReadPre", opts = { - filetypes = { - "html", - "javascriptreact", - "css", - "javascript", - "lua", - "yaml", - "conf", - "toml", - "scss", - "python", - "typst", - "htmldjango", - "conf", - "rust", - "kdl", - "ini", - }, user_default_options = { - RGB = true, -- #RGB hex codes - RRGGBB = true, -- #RRGGBB hex codes - names = false, -- "Name" codes like Blue or blue - RRGGBBAA = true, -- #RRGGBBAA hex codes - AARRGGBB = true, -- 0xAARRGGBB hex codes - rgb_fn = true, -- CSS rgb() and rgba() functions - hsl_fn = true, -- CSS hsl() and hsla() functions - css = true, -- Enable all CSS features: rgb_fn, hsl_fn, names, RGB, RRGGBB - css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn - -- Available modes for `mode`: foreground, background, virtualtext - mode = "background", -- Set the display mode. - -- Available methods are false / true / "normal" / "lsp" / "both" - -- True is same as normal - tailwind = true, -- Enable tailwind colors - -- parsers can contain values used in |user_default_options| - sass = { - enable = true, - parsers = { "css" }, - }, -- Enable sass colors - virtualtext = "■", + names = false, + css = true, + css_fn = true, + tailwind = true, + tailwind_opts = { + update_names = true, + }, + sass = { enable = true, parsers = { "css" } }, }, - -- all the sub-options of filetypes apply to buftypes - buftypes = {}, - html = { names = true }, - css = { names = true }, }, } diff --git a/lua/plugins/comment.lua b/lua/plugins/comment.lua index 8742521..3496d1d 100644 --- a/lua/plugins/comment.lua +++ b/lua/plugins/comment.lua @@ -1,61 +1,5 @@ return { "numToStr/Comment.nvim", event = { "BufReadPre", "BufNewFile" }, - opts = { - ---Add a space b/w comment and the line - padding = true, - ---Whether the cursor should stay at its position - sticky = true, - ---Lines to be ignored while (un)comment - ignore = nil, - ---LHS of toggle mappings in NORMAL mode - toggler = { - ---Line-comment toggle keymap - line = "gcc", - ---Block-comment toggle keymap - block = "gbb", - }, - -- -LHS of operator-pending mappings in NORMAL and VISUAL mode - opleader = { - ---Line-comment keymap - line = "gc", - ---Block-comment keymap - block = "gb", - }, - ---LHS of extra mappings - extra = { - ---Add comment on the line above - above = "gcO", - ---Add comment on the line below - below = "gco", - ---Add comment at the end of line - eol = "gcA", - }, - --- Enable keybindings - --- NOTE: If given `false` then the plugin won't create any mappings - mappings = { - ---Operator-pending mapping; `gcc` `gbc` `gc[count]{motion}` `gb[count]{motion}` - basic = true, - ---Extra mapping; `gco`, `gcO`, `gcA` - extra = true, - ---Extended mapping; `g>` `g<` `g>[count]{motion}` `g<[count]{motion}` - extended = true, - }, - ---Function to call before (un)comment - -- pre_hook = function(ctx) - -- local U = require("Comment.utils") - -- - -- local location = nil - -- if ctx.ctype == U.ctype.block then - -- location = require("ts_context_commentstring.utils").get_cursor_location() - -- elseif ctx.cmotion == U.cmotion.v or ctx.cmotion == U.cmotion.V then - -- location = require("ts_context_commentstring.utils").get_visual_start_location() - -- end - -- - -- return require("ts_context_commentstring.internal").calculate_commentstring({ - -- key = ctx.ctype == U.ctype.line and "__default" or "__multiline", - -- location = location, - -- }) - -- end, - }, + opts = {}, } diff --git a/lua/plugins/conform.lua b/lua/plugins/conform.lua index 7bcfd85..6510ed2 100644 --- a/lua/plugins/conform.lua +++ b/lua/plugins/conform.lua @@ -12,7 +12,7 @@ return { function() require("conform").format({ async = true, lsp_fallback = "fallback" }) end, - mode = "", + mode = { "n", "v", "x" }, desc = "Format buffer", }, }, @@ -27,13 +27,20 @@ return { cpp = { "clang-format" }, css = { "prettier" }, go = { "goimports", "gofmt" }, + haskell = { "fourmolu" }, html = html, htmldjango = html, http = { "kulala-fmt" }, javascript = js, javascriptreact = js, json = { "jq" }, - lua = { "stylua" }, + lua = function() + local config_file = vim.fn.getcwd() .. "/*stylua.toml" + if vim.fn.exists(config_file) then + return { "stylua" } + end + return {} + end, markdown = makrdown, python = { "ruff_format", "ruff_fix", "ruff_organize_imports", "docformatter" }, rest = { "kulala" }, diff --git a/lua/plugins/crates.lua b/lua/plugins/crates.lua index 8f6c6cb..fdf716d 100644 --- a/lua/plugins/crates.lua +++ b/lua/plugins/crates.lua @@ -1,160 +1,22 @@ return { - { - - "Saecki/crates.nvim", - tag = "stable", - event = { "BufRead Cargo.toml" }, - keys = { - { - "ru", - require("crates").upgrade_all_crates, - desc = "Upgrade all crates", - ft = { "rust", "toml" }, - }, - }, - opts = { - completion = { - cmp = { - enabled = true, - }, - }, - smart_insert = true, - insert_closing_quote = true, - autoload = true, - autoupdate = true, - loading_indicator = true, - date_format = "%d-%m-%Y", - thousands_separator = ".", - notification_title = "Crates", - -- disable_invalid_feature_diagnostic = false, - text = { - loading = "  Loading", - version = "  %s", - prerelease = "  %s", - yanked = "  %s", - nomatch = "  No match", - upgrade = "  %s", - error = "  Error fetching crate", - }, - highlight = { - loading = "CratesNvimLoading", - version = "CratesNvimVersion", - prerelease = "CratesNvimPreRelease", - yanked = "CratesNvimYanked", - nomatch = "CratesNvimNoMatch", - upgrade = "CratesNvimUpgrade", - error = "CratesNvimError", - }, - popup = { - autofocus = false, - copy_register = '"', - style = "minimal", - border = "none", - show_version_date = false, - show_dependency_version = true, - max_height = 30, - min_width = 20, - padding = 1, - text = { - title = " %s", - pill_left = "", - pill_right = "", - description = "%s", - created_label = " created ", - created = "%s", - updated_label = " updated ", - updated = "%s", - downloads_label = " downloads ", - downloads = "%s", - homepage_label = " homepage ", - homepage = "%s", - repository_label = " repository ", - repository = "%s", - documentation_label = " documentation ", - documentation = "%s", - crates_io_label = " crates.io ", - crates_io = "%s", - categories_label = " categories ", - keywords_label = " keywords ", - version = " %s", - prerelease = " %s", - yanked = " %s", - version_date = " %s", - feature = " %s", - enabled = " %s", - transitive = " %s", - normal_dependencies_title = " Dependencies", - build_dependencies_title = " Build dependencies", - dev_dependencies_title = " Dev dependencies", - dependency = " %s", - optional = " %s", - dependency_version = " %s", - loading = "  ", - }, - highlight = { - title = "CratesNvimPopupTitle", - pill_text = "CratesNvimPopupPillText", - pill_border = "CratesNvimPopupPillBorder", - description = "CratesNvimPopupDescription", - created_label = "CratesNvimPopupLabel", - created = "CratesNvimPopupValue", - updated_label = "CratesNvimPopupLabel", - updated = "CratesNvimPopupValue", - downloads_label = "CratesNvimPopupLabel", - downloads = "CratesNvimPopupValue", - homepage_label = "CratesNvimPopupLabel", - homepage = "CratesNvimPopupUrl", - repository_label = "CratesNvimPopupLabel", - repository = "CratesNvimPopupUrl", - documentation_label = "CratesNvimPopupLabel", - documentation = "CratesNvimPopupUrl", - crates_io_label = "CratesNvimPopupLabel", - crates_io = "CratesNvimPopupUrl", - categories_label = "CratesNvimPopupLabel", - keywords_label = "CratesNvimPopupLabel", - version = "CratesNvimPopupVersion", - prerelease = "CratesNvimPopupPreRelease", - yanked = "CratesNvimPopupYanked", - version_date = "CratesNvimPopupVersionDate", - feature = "CratesNvimPopupFeature", - enabled = "CratesNvimPopupEnabled", - transitive = "CratesNvimPopupTransitive", - normal_dependencies_title = "CratesNvimPopupNormalDependenciesTitle", - build_dependencies_title = "CratesNvimPopupBuildDependenciesTitle", - dev_dependencies_title = "CratesNvimPopupDevDependenciesTitle", - dependency = "CratesNvimPopupDependency", - optional = "CratesNvimPopupOptional", - dependency_version = "CratesNvimPopupDependencyVersion", - loading = "CratesNvimPopupLoading", - }, - keys = { - hide = { "q", "" }, - open_url = { "" }, - select = { "" }, - select_alt = { "s" }, - toggle_feature = { "" }, - copy_value = { "yy" }, - goto_item = { "gd", "K", "" }, - jump_forward = { "" }, - jump_back = { "", "" }, - }, - }, - --[[ src = { - insert_closing_quote = true, - text = { - prerelease = "  pre-release ", - yanked = "  yanked ", - }, - }, ]] + "Saecki/crates.nvim", + tag = "stable", + event = { "BufRead Cargo.toml" }, + keys = { + { + "ru", + require("crates").upgrade_all_crates, + desc = "Upgrade all crates", + ft = { "rust", "toml" }, }, }, - { - "Aityz/cratesearch.nvim", - event = { "BufRead Cargo.toml" }, - ft = { "rust" }, - cmd = { "CrateSearch" }, - config = function() - require("cratesearch").setup() - end, + opts = { + completion = { + cmp = { + enabled = true, + }, + }, + date_format = "%d-%m-%Y", + thousands_separator = " ", }, } diff --git a/lua/plugins/gitignore.lua b/lua/plugins/gitignore.lua index 7ea4da6..b20e7e6 100644 --- a/lua/plugins/gitignore.lua +++ b/lua/plugins/gitignore.lua @@ -1,6 +1,5 @@ return { "wintermute-cell/gitignore.nvim", - dependencies = {}, cmd = { "Gitignore" }, keys = { { @@ -11,7 +10,4 @@ return { desc = "Git Ignore", }, }, - config = function() - require("gitignore") - end, } diff --git a/lua/plugins/gitsigns.lua b/lua/plugins/gitsigns.lua deleted file mode 100644 index 51c88ec..0000000 --- a/lua/plugins/gitsigns.lua +++ /dev/null @@ -1,61 +0,0 @@ -return { - "lewis6991/gitsigns.nvim", - enabled = false, - event = "BufReadPre", - cmd = "Gitsigns", - keys = { - { - "gb", - function() - vim.cmd.Gitsigns("blame_line") - end, - desc = "Git Blame", - }, - }, - opts = { - signs = { - add = { text = "┃" }, - change = { text = "┃" }, - delete = { text = "_" }, - topdelete = { text = "‾" }, - changedelete = { text = "~" }, - untracked = { text = "┆" }, - }, - signcolumn = true, -- Toggle with `:Gitsigns toggle_signs` - numhl = false, -- Toggle with `:Gitsigns toggle_numhl` - linehl = false, -- Toggle with `:Gitsigns toggle_linehl` - word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff` - watch_gitdir = { - follow_files = true, - }, - auto_attach = true, - attach_to_untracked = true, - current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame` - current_line_blame_opts = { - virt_text = true, - virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align' - delay = 100, - ignore_whitespace = false, - virt_text_priority = 100, - }, - current_line_blame_formatter = ", - ", - sign_priority = 6, - update_debounce = 100, - status_formatter = nil, -- Use default - max_file_length = 10000, -- Disable if file is longer than this (in lines) - preview_config = { - -- Options passed to nvim_open_win - border = "single", - style = "minimal", - relative = "cursor", - row = 0, - col = 1, - }, - on_attach = function(bufnr) - if vim.api.nvim_buf_get_name(bufnr):match("%.ipynb$") then - -- Do not attach for .ipynb file, since these are converted with jupytext.nvim - return false - end - end, - }, -} diff --git a/lua/plugins/haskell-tools.lua b/lua/plugins/haskell-tools.lua new file mode 100644 index 0000000..e144511 --- /dev/null +++ b/lua/plugins/haskell-tools.lua @@ -0,0 +1,7 @@ +return { + enabled = false, + "mrcjkb/haskell-tools.nvim", + version = "^6", + lazy = false, + ft = { "haskell", "lhaskell", "cabal" }, +} diff --git a/lua/plugins/http-codes.lua b/lua/plugins/http-codes.lua index bbce8e0..84213bf 100644 --- a/lua/plugins/http-codes.lua +++ b/lua/plugins/http-codes.lua @@ -1,7 +1,10 @@ return { - "barrett-ruth/http-codes.nvim", - dependencies = { "folke/snacks.nvim" }, + "kristoferssolo/http-codes.nvim", + branch = "feature/snacks", + dependencies = "folke/snacks.nvim", cmd = "HTTPCodes", - keys = { { "pdh", vim.cmd.HTTPCodes, desc = "HTTP" } }, - config = true, + keys = { { "pH", vim.cmd.HTTPCodes, desc = "HTTP" } }, + opts = { + use = "snacks", + }, } diff --git a/lua/plugins/illuminate.lua b/lua/plugins/illuminate.lua index 1f17214..3529d9e 100644 --- a/lua/plugins/illuminate.lua +++ b/lua/plugins/illuminate.lua @@ -9,7 +9,6 @@ return { end, }, { - "", function() require("illuminate").goto_prev_reference() diff --git a/lua/plugins/image.lua b/lua/plugins/image.lua index 7629f1a..755e6ce 100644 --- a/lua/plugins/image.lua +++ b/lua/plugins/image.lua @@ -2,52 +2,85 @@ local function is_typst() return vim.bo.filetype == "typst" end return { - "HakonHarnes/img-clip.nvim", - event = "VeryLazy", - keys = { - { "v", vim.cmd.PasteImage, desc = "Paste image from system clipboard" }, - }, - opts = { - default = { - dir_path = "assets/img", - extension = function() - if is_typst() then - return "png" - else - return "webp" - end - end, - process_cmd = function() - if is_typst() then - return "" - else - return "convert - -quality 75 webp:-" - end - end, - file_name = "%Y-%m-%d_%H-%M-%S", - relative_to_current_file = false, - prompt_for_file_name = function() - return is_typst() - end, - embed_image_as_base64 = false, - drag_and_drop = { - insert_mode = true, + { + "3rd/image.nvim", + opts = { + backend = "ueberzug", + processor = "magick_rock", + scale_factor = 0.5, + integrations = { + neorg = { + clear_in_insert_mode = true, + only_render_image_at_cursor = true, + only_render_image_at_cursor_mode = "popup", + }, + typst = { + enabled = false, + clear_in_insert_mode = true, + only_render_image_at_cursor = true, + only_render_image_at_cursor_mode = "popup", + }, + markdown = { + clear_in_insert_mode = true, + only_render_image_at_cursor = true, + only_render_image_at_cursor_mode = "popup", + resolve_image_path = function(document_path, image_path, fallback) + local working_dir = vim.fn.getcwd() + if working_dir:find("Obsidian") then + return working_dir .. "/assets/img/" .. image_path + end + return fallback(document_path, image_path) + end, + }, }, }, - filetypes = { - markdown = { - template = "![[$FILE_PATH]]", + }, + { + "HakonHarnes/img-clip.nvim", + event = "VeryLazy", + keys = { + { "v", vim.cmd.PasteImage, desc = "Paste image from system clipboard" }, + }, + opts = { + default = { + dir_path = "assets/img", + extension = function() + if is_typst() then + return "png" + else + return "webp" + end + end, + process_cmd = function() + if is_typst() then + return "" + else + return "convert - -quality 75 webp:-" + end + end, + file_name = "%Y-%m-%d_%H-%M-%S", + relative_to_current_file = false, + prompt_for_file_name = is_typst, + embed_image_as_base64 = false, + drag_and_drop = { + insert_mode = true, + }, }, - vimwiki = { - template = "![[$FILE_PATH]]", - }, - typst = { - template = [[ + filetypes = { + markdown = { + template = "![[$FILE_PATH]]", + }, + vimwiki = { + template = "![[$FILE_PATH]]", + }, + typst = { + template = [[ #figure( image("$FILE_PATH", width: 80%), caption: [$CURSOR], ) <$LABEL> ]], + }, }, }, }, diff --git a/lua/plugins/inlay-hints.lua b/lua/plugins/inlay-hints.lua index c38c99a..508589c 100644 --- a/lua/plugins/inlay-hints.lua +++ b/lua/plugins/inlay-hints.lua @@ -3,9 +3,6 @@ return { "MysticalDevil/inlay-hints.nvim", event = "LspAttach", dependencies = { "neovim/nvim-lspconfig" }, - keys = { - { "oi", vim.cmd.InlayHintsToggle, desc = "Toggle InlayHints" }, - }, opts = { commands = { enable = true }, -- Enable InlayHints commands, include `InlayHintsToggle`, `InlayHintsEnable` and `InlayHintsDisable` autocmd = { enable = true }, -- Enable the inlay hints on `LspAttach` event diff --git a/lua/plugins/lazydev.lua b/lua/plugins/lazydev.lua index 321593b..2995a70 100644 --- a/lua/plugins/lazydev.lua +++ b/lua/plugins/lazydev.lua @@ -3,8 +3,6 @@ return { ft = "lua", opts = { library = { - -- See the configuration section for more details - -- Load luvit types when the `vim.uv` word is found { path = "${3rd}/luv/library", words = { "vim%.uv" } }, }, }, diff --git a/lua/plugins/lint.lua b/lua/plugins/lint.lua index d423f3e..03a8577 100644 --- a/lua/plugins/lint.lua +++ b/lua/plugins/lint.lua @@ -6,6 +6,7 @@ return { linters_by_ft = { ["*"] = { "codespell", "typos" }, cmake = { "cmakelint" }, + haskell = { "hlint" }, htmldjango = { "djlint" }, javascript = js, javascriptreact = js, diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index 295b805..1f7941e 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -9,11 +9,9 @@ return { "folke/neoconf.nvim", "mrcjkb/rustaceanvim", "pmizio/typescript-tools.nvim", - { "nvim-java/nvim-java", enabled = false }, }, config = function(_, opts) require("mason").setup() - local lspconfig = require("lspconfig") local function extend_capabilities(capabilities) return vim.tbl_deep_extend("keep", capabilities, { @@ -43,7 +41,7 @@ return { } end - lspconfig[server].setup(final_config) + vim.lsp.config(server, final_config) end vim.api.nvim_create_autocmd("LspAttach", { @@ -66,7 +64,7 @@ return { vim.lsp.buf.hover({ border = "rounded" }) end, "Hover Documentation") nmap("gi", vim.lsp.buf.implementation, "[G]oto [I]mplementation") - vim.keymap.set("i", "", function() + vim.keymap.set("i", "", function() vim.lsp.buf.signature_help({ border = "rounded" }) end, { buffer = event.buf, desc = "LSP: Signature Documentation" }) nmap("wa", vim.lsp.buf.add_workspace_folder, "[W]orkspace [A]dd Folder") @@ -85,13 +83,13 @@ return { vim.diagnostic.jump({ count = -1, float = true }) end, "Diagnostic Prev") nmap("]d", function() - trouble:next({ mode = "diagnostics", skip_groups = true, jump = true }) + trouble.next({ mode = "diagnostics", skip_groups = true, jump = true }) end, "LSP: Trouble Next") nmap("[d", function() trouble.prev({ mode = "diagnostics", skip_groups = true, jump = true }) end, "Trouble Prev") vim.keymap.set( - { "n", "v" }, + { "n", "v", "x" }, "la", vim.lsp.buf.code_action, { buffer = event.buf, desc = "LSP: Code [A]ction" } @@ -99,7 +97,9 @@ return { nmap("gr", function() trouble.toggle("lsp_references") end, "[G]oto [R]eferences") - nmap("gR", function() Snacks.picker.lsp_references() end, "[G]oto [R]eferences") + nmap("gR", function() + Snacks.picker.lsp_references() + end, "[G]oto [R]eferences") end, }) @@ -140,7 +140,6 @@ return { "gopls", "html", "hyprls", - "jdtls", "jinja_lsp", "jsonls", "lua_ls", @@ -149,16 +148,12 @@ return { "ruff", "somesass_ls", "tailwindcss", - "texlab", "tinymist", "ts_ls", }, handlers = { default_setup, ts_ls = function() end, - jdtls = function() - require("java").setup({}) - end, }, }) @@ -194,38 +189,42 @@ return { lua_ls = { settings = { Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = "LuaJIT", - }, diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { "vim", "awesome", "client", "ya" }, - }, - -- workspace = { - -- Make the server aware of Neovim runtime files - -- library = vim.api.nvim_get_runtime_file("", true), - -- }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false, - }, - root_pattern = { - ".stylua.toml", - ".luarc.json", - ".luarc.jsonc", - ".luacheckrc", - "stylua.toml", - "selene.toml", - "selene.yml", - ".git", - }, - format = { - enable = false, - }, - hint = { - enable = true, + globals = { + "vim", + "awesome", + "client", + "s", + "sn", + "isn", + "t", + "i", + "f", + "c", + "d", + "r", + "events", + "k", + "ai", + "extras", + "l", + "rep", + "p", + "m", + "n", + "dl", + "fmt", + "fmta", + "conds", + "postfix", + "types", + "parse", + "ms", + }, }, + telemetry = { enable = false }, + format = { enable = true }, + hint = { enable = true }, }, }, }, @@ -252,6 +251,59 @@ return { "zsh", }, }, + tailwindcss = { + filetypes = { + "aspnetcorerazor", + "astro", + "astro-markdown", + "blade", + "clojure", + "django-html", + "htmldjango", + "edge", + "eelixir", + "elixir", + "ejs", + "erb", + "eruby", + "gohtml", + "gohtmltmpl", + "haml", + "handlebars", + "hbs", + "html", + "htmlangular", + "html-eex", + "heex", + "jade", + "leaf", + "liquid", + "mdx", + "mustache", + "njk", + "nunjucks", + "php", + "razor", + "slim", + "twig", + "css", + "less", + "postcss", + "sass", + "scss", + "stylus", + "sugarss", + "javascript", + "javascriptreact", + "reason", + "rescript", + "typescript", + "typescriptreact", + "vue", + "svelte", + "templ", + }, + }, texlab = { texlab = { auxDirectory = ".", @@ -280,16 +332,6 @@ return { -- htmx = { -- filetypes = { "html", "htmldjango", "templ" }, -- }, - --[[ pylyzer = { - settings = { - python = { - diagnostics = true, - inlayHints = true, - smartCompletion = true, - checkOnType = true, - }, - }, - }, ]] basedpyright = { typeCheckingMode = "off", analysis = { @@ -303,28 +345,6 @@ return { }, }, }, - --[[ pylsp = { - settings = { - pylsp = { - plugins = { - autopep8 = { enabled = false }, - flake8 = { enabled = false }, - pylint = { enabled = false }, - yapf = { enabled = false }, - pydocstyle = { enabled = false }, - mccabe = { enabled = false }, - rope_autoimport = { enabled = true }, - rope_completion = { - enabled = true, - eager = true, - }, - pycodestyle = { - maxLineLength = nil, - }, - }, - }, - }, - }, ]] jinja_lsp = { filetypes = { "html", "htmldjango", "templ" }, }, @@ -347,7 +367,6 @@ return { semanticTokens = "disable", }, }, - -- jdtls = {}, markdown_oxide = { capabilities = { workspace = { diff --git a/lua/plugins/lualine.lua b/lua/plugins/lualine.lua index e40f841..233a3cc 100644 --- a/lua/plugins/lualine.lua +++ b/lua/plugins/lualine.lua @@ -2,21 +2,10 @@ ---@param str string ---@param ctx table ---@return string -local function wrap_string(str, ctx) +local function wrap_string(str, _ctx) return "[" .. str:gsub("%s+", "") .. "]" end -local function diff_source() - local gitsigns = vim.b.gitsigns_status_dict - if gitsigns then - return { - added = gitsigns.added, - modified = gitsigns.changed, - removed = gitsigns.removed, - } - end -end - return { "nvim-lualine/lualine.nvim", event = "VimEnter", @@ -28,10 +17,8 @@ return { require("lsp-progress").setup() end, }, - "lewis6991/gitsigns.nvim", { "kristoferssolo/lualine-harpoon.nvim", - -- dir = "~/repos/lualine-harpoon.nvim/", dependencies = { { "ThePrimeagen/harpoon", @@ -69,7 +56,7 @@ return { lualine_a = {}, lualine_b = { { "mode", fmt = wrap_string }, - { "b:gitsigns_head", icon = "" }, + { "branch" }, }, lualine_c = { { @@ -81,7 +68,7 @@ return { "filename", padding = { right = 1, left = 0 }, }, - { "diff", source = diff_source }, + "diff", "harpoon", }, lualine_x = { diff --git a/lua/plugins/luasnip.lua b/lua/plugins/luasnip.lua index 85e6efc..21bb221 100644 --- a/lua/plugins/luasnip.lua +++ b/lua/plugins/luasnip.lua @@ -3,20 +3,13 @@ return { "L3MON4D3/LuaSnip", build = "make install_jsregexp", version = "v2.*", - dependencies = { - "rafamadriz/friendly-snippets", -- a bunch of snippets to use - }, + dependencies = { "rafamadriz/friendly-snippets" }, opts = function() local types = require("luasnip.util.types") return { - -- This tells LuaSnip to remember to keep around the last snippet. - -- You can jump back into it even if you move outside of the selection history = true, - -- This one is cool cause if you have dynamic snippets, it updates as you type! updateevents = "TextChanged,TextChangedI", - -- Autosnippets: enable_autosnippets = true, - -- Crazy highlights!! ext_opts = { [types.choiceNode] = { active = { @@ -29,32 +22,6 @@ return { config = function(_, opts) local ls = require("luasnip") - local s = ls.snippet - local sn = ls.snippet_node - local isn = ls.indent_snippet_node - local t = ls.text_node - local i = ls.insert_node - local f = ls.function_node - local c = ls.choice_node - local d = ls.dynamic_node - local r = ls.restore_node - local events = require("luasnip.util.events") - local ai = require("luasnip.nodes.absolute_indexer") - local extras = require("luasnip.extras") - local l = extras.lambda - local rep = extras.rep - local p = extras.partial - local m = extras.match - local n = extras.nonempty - local dl = extras.dynamic_lambda - local fmt = require("luasnip.extras.fmt").fmt - local fmta = require("luasnip.extras.fmt").fmta - local conds = require("luasnip.extras.expand_conditions") - local postfix = require("luasnip.extras.postfix").postfix - local types = require("luasnip.util.types") - local parse = require("luasnip.util.parser").parse_snippet - local ms = ls.multi_snippet - vim.keymap.set({ "i", "s" }, "", function() if ls.expand_or_jumpable() then ls.expand_or_jump() @@ -81,31 +48,24 @@ return { ls.config.setup(opts) - require("luasnip.loaders.from_vscode").load({ - exclude = { - "rust", - rust = { - "modtest", - }, - }, - }) - vim.tbl_map(function(type) - require("luasnip.loaders.from_" .. type).lazy_load() - end, { "vscode", "snipmate", "lua" }) + require("luasnip.loaders.from_vscode").lazy_load() + + require("luasnip.loaders.from_lua").load({ paths = vim.fn.stdpath("config") .. "/snippets/" }) - ls.filetype_extend("typescript", { "tsdoc" }) - ls.filetype_extend("javascript", { "jsdoc" }) - ls.filetype_extend("lua", { "luadoc" }) - ls.filetype_extend("python", { "pydoc" }) - ls.filetype_extend("rust", { "rustdoc" }) - ls.filetype_extend("cs", { "csharpdoc" }) - ls.filetype_extend("java", { "javadoc" }) ls.filetype_extend("c", { "cdoc" }) ls.filetype_extend("cpp", { "cppdoc" }) - ls.filetype_extend("php", { "phpdoc" }) + ls.filetype_extend("cs", { "csharpdoc" }) + ls.filetype_extend("html", { "djangohtml" }) + ls.filetype_extend("java", { "javadoc" }) + ls.filetype_extend("javascript", { "jsdoc" }) ls.filetype_extend("kotlin", { "kdoc" }) + ls.filetype_extend("lua", { "luadoc" }) + ls.filetype_extend("php", { "phpdoc" }) + ls.filetype_extend("python", { "pydoc", "django" }) ls.filetype_extend("ruby", { "rdoc" }) + -- ls.filetype_extend("rust", { "rustdoc" }) ls.filetype_extend("sh", { "shelldoc" }) + ls.filetype_extend("typescript", { "tsdoc" }) end, }, } diff --git a/lua/plugins/markdown.lua b/lua/plugins/markdown.lua index 45fec2a..4d417a6 100644 --- a/lua/plugins/markdown.lua +++ b/lua/plugins/markdown.lua @@ -1,77 +1,37 @@ return { { "tadmccorkle/markdown.nvim", - ft = { "markdown", "Avante" }, - opts = { - -- Disable all keymaps by setting mappings field to 'false'. - -- Selectively disable keymaps by setting corresponding field to 'false'. - mappings = { - inline_surround_toggle = "gs", -- (string|boolean) toggle inline style - inline_surround_toggle_line = "gss", -- (string|boolean) line-wise toggle inline style - inline_surround_delete = "ds", -- (string|boolean) delete emphasis surrounding cursor - inline_surround_change = "cs", -- (string|boolean) change emphasis surrounding cursor - link_add = "gl", -- (string|boolean) add link - link_follow = "gx", -- (string|boolean) follow link - go_curr_heading = "]c", -- (string|boolean) set cursor to current section heading - go_parent_heading = "]p", -- (string|boolean) set cursor to parent section heading - go_next_heading = "]]", -- (string|boolean) set cursor to next section heading - go_prev_heading = "[[", -- (string|boolean) set cursor to previous section heading - }, - inline_surround = { - -- For the emphasis, strong, strikethrough, and code fields: - -- * 'key': used to specify an inline style in toggle, delete, and change operations - -- * 'txt': text inserted when toggling or changing to the corresponding inline style - emphasis = { - key = "i", - txt = "*", - }, - strong = { - key = "b", - txt = "**", - }, - strikethrough = { - key = "s", - txt = "~~", - }, - code = { - key = "c", - txt = "`", - }, - }, - link = { - paste = { - enable = true, -- whether to convert URLs to links on paste - }, - }, - toc = { - -- Comment text to flag headings/sections for omission in table of contents. - omit_heading = "toc omit heading", - omit_section = "toc omit section", - -- Cycling list markers to use in table of contents. - -- Use '.' and ')' for ordered lists. - markers = { "-" }, - }, - -- Hook functions allow for overriding or extending default behavior. - -- Called with a table of options and a fallback function with default behavior. - -- Signature: fun(opts: table, fallback: fun()) - hooks = { - -- Called when following links. Provided the following options: - -- * 'dest' (string): the link destination - -- * 'use_default_app' (boolean|nil): whether to open the destination with default application - -- (refer to documentation on mappings for explanation of when this option is used) - follow_link = nil, - }, - on_attach = nil, -- (fun(bufnr: integer)) callback when plugin attaches to a buffer - }, + ft = { "markdown" }, + opts = {}, }, { "OXY2DEV/markview.nvim", dependencies = { "saghen/blink.cmp", + { "echasnovski/mini.icons", version = "*" }, }, - ft = { "markdown", "Avante" }, + ft = { "markdown" }, lazy = false, - priority = 49, + keys = { + { + "", + function() + vim.cmd("Checkbox toggle") + end, + }, + { + ">>", + function() + vim.cmd("HeadingIncrease") + end, + }, + { + "<<", + function() + vim.cmd("HeadingDecrease") + end, + }, + }, opts = { preview = { icon_provider = "mini", diff --git a/lua/plugins/mini.lua b/lua/plugins/mini.lua index 865db7b..6729348 100644 --- a/lua/plugins/mini.lua +++ b/lua/plugins/mini.lua @@ -1,18 +1,44 @@ return { - "echasnovski/mini.nvim", - version = "*", - opts = { - enabled = { - "ai", - -- "pairs", - "splitjoin", - "surround", - "diff", + { + "nvim-mini/mini.diff", + version = "*", + event = "VeryLazy", + keys = { + { + "gd", + function() + MiniDiff.toggle_overlay(0) + end, + desc = "Git Diff", + }, + }, + opts = { + view = { + style = "sign", + signs = { + add = "▎", + change = "▎", + delete = "_", + }, + }, }, }, - config = function(_, opts) - for _, value in ipairs(opts.enabled) do - require("mini." .. value).setup() - end - end, + { + "nvim-mini/mini.ai", + version = "*", + event = "VeryLazy", + opts = {}, + }, + { + "nvim-mini/mini.splitjoin", + version = "*", + event = "VeryLazy", + opts = {}, + }, + { + "nvim-mini/mini.surround", + version = "*", + event = "VeryLazy", + opts = {}, + }, } diff --git a/lua/plugins/neoconf.lua b/lua/plugins/neoconf.lua deleted file mode 100644 index e9e9434..0000000 --- a/lua/plugins/neoconf.lua +++ /dev/null @@ -1,43 +0,0 @@ -return { - "folke/neoconf.nvim", - cmd = { "Neoconf" }, - opts = { - -- name of the local settings files - local_settings = ".neoconf.json", - -- name of the global settings file in your Neovim config directory - global_settings = "neoconf.json", - -- import existing settings from other plugins - import = { - vscode = true, -- local .vscode/settings.json - coc = true, -- global/local coc-settings.json - nlsp = true, -- global/local nlsp-settings.nvim json settings - }, - -- send new configuration to lsp clients when changing json settings - live_reload = true, - -- set the filetype to jsonc for settings files, so you can use comments - -- make sure you have the jsonc treesitter parser installed! - filetype_jsonc = true, - plugins = { - -- configures lsp clients with settings in the following order: - -- - lua settings passed in lspconfig setup - -- - global json settings - -- - local json settings - lspconfig = { - enabled = true, - }, - -- configures jsonls to get completion in .nvim.settings.json files - jsonls = { - enabled = true, - -- only show completion in json settings for configured lsp servers - configured_servers_only = true, - }, - -- configures lua_ls to get completion of lspconfig server settings - lua_ls = { - -- by default, lua_ls annotations are only enabled in your neovim config directory - enabled_for_neovim_config = true, - -- explicitly enable adding annotations. Mostly relevant to put in your local .nvim.settings.json file - enabled = false, - }, - }, - }, -} diff --git a/lua/plugins/neogit.lua b/lua/plugins/neogit.lua index 4195841..59e656d 100644 --- a/lua/plugins/neogit.lua +++ b/lua/plugins/neogit.lua @@ -3,7 +3,6 @@ return { version = "*", dependencies = { "nvim-lua/plenary.nvim", - "sindrets/diffview.nvim", "folke/snacks.nvim", }, cmd = { "Neogit" }, @@ -15,7 +14,6 @@ return { end, desc = "Git", }, - { "gd", vim.cmd.DiffviewOpen, desc = "Git Diff" }, }, opts = { filewatcher = { interval = 500 }, diff --git a/lua/plugins/obsidian.lua b/lua/plugins/obsidian.lua index 729a606..a926bb6 100644 --- a/lua/plugins/obsidian.lua +++ b/lua/plugins/obsidian.lua @@ -31,7 +31,6 @@ return { desc = "Extract the visually selected text into a new note and link to it.", }, { "Ow", vim.cmd.ObsidianWorkspace, desc = "Switch to another workspace." }, - -- { "Op", vim.cmd.ObsidianPasteImg, desc = "Paste an image from the clipboard into the note." }, { "Or", vim.cmd.ObsidianRename, diff --git a/lua/plugins/octo.lua b/lua/plugins/octo.lua new file mode 100644 index 0000000..549107d --- /dev/null +++ b/lua/plugins/octo.lua @@ -0,0 +1,11 @@ +return { + "pwntester/octo.nvim", + requires = { + "nvim-lua/plenary.nvim", + "folke/snacks.nvim", + "nvim-tree/nvim-web-devicons", + }, + opts = { + picker = "snacks", + }, +} diff --git a/lua/plugins/oil.lua b/lua/plugins/oil.lua index 26c447b..991565f 100644 --- a/lua/plugins/oil.lua +++ b/lua/plugins/oil.lua @@ -16,20 +16,9 @@ return { opts = { columns = { "icon", - -- "permissions", "size", - -- "mtime", }, - -- Restore window options to previous values when leaving an oil buffer - restore_win_options = true, - -- Skip the confirmation popup for simple operations delete_to_trash = true, - -- Keymaps in oil buffer. Can be any value that `vim.keymap.set` accepts OR a table of keymap - -- options with a `callback` (e.g. { callback = function() ... end, desc = "", nowait = true }) - -- Additionally, if it is a string that matches "actions.", - -- it will use the mapping at require("oil.actions"). - -- Set to `false` to remove a keymap - -- See :help oil-actions for a list of all available actions keymaps = { [""] = { "actions.select", opts = { vertical = true } }, [""] = { "actions.select", opts = { horizontal = true } }, @@ -44,10 +33,8 @@ return { -- Set to false to disable all of the above keymaps use_default_keymaps = true, view_options = { - -- Show files and directories that start with "." show_hidden = true, }, - -- Configuration for the floating window in oil.open_float float = { win_options = { winblend = 10, diff --git a/lua/plugins/otter.lua b/lua/plugins/otter.lua deleted file mode 100644 index 656cffd..0000000 --- a/lua/plugins/otter.lua +++ /dev/null @@ -1,8 +0,0 @@ -return { - "jmbuhr/otter.nvim", - dependencies = { - "nvim-treesitter/nvim-treesitter", - }, - enabled = false, - opts = {}, -} diff --git a/lua/plugins/persistence.lua b/lua/plugins/persistence.lua index 8d27aab..dacc798 100644 --- a/lua/plugins/persistence.lua +++ b/lua/plugins/persistence.lua @@ -3,12 +3,19 @@ return { event = "BufReadPre", keys = { { - "qs", + "qq", function() require("persistence").load() end, desc = "Restore the session for the current directory", }, + { + "qs", + function() + require("persistence").select() + end, + desc = "Select a session to load", + }, { "ql", function() diff --git a/lua/plugins/snacks.lua b/lua/plugins/snacks.lua index 984e83b..8ade3dd 100644 --- a/lua/plugins/snacks.lua +++ b/lua/plugins/snacks.lua @@ -4,21 +4,22 @@ return { { "echasnovski/mini.icons", version = "*" }, "stevearc/oil.nvim", "folke/trouble.nvim", + "folke/todo-comments.nvim", }, priority = 1000, lazy = false, opts = function() -- Toggle the profiler - Snacks.toggle.profiler():map("sp") + Snacks.toggle.profiler():map("Sp") -- Toggle the profiler highlights - Snacks.toggle.profiler_highlights():map("sh") + Snacks.toggle.profiler_highlights():map("Sh") return { animate = { enabled = false }, bigfile = { enabled = true }, bufdelete = { enabled = true }, dashboard = { enabled = false }, debug = { enabled = true }, - dim = { enabled = true }, + dim = { enabled = false }, explorer = { enabled = false }, git = { enabled = true }, gitbrowse = { enabled = true }, @@ -44,11 +45,10 @@ return { enabled = true, format = "file", layout = { - preset = "telescope" + preset = "telescope", }, matcher = { frecency = true, - sort_empty = true, cwd_bonus = true, }, actions = require("trouble.sources.snacks").actions, @@ -57,10 +57,10 @@ return { keys = { [""] = { "trouble_open", - mode = { "n", "i" } - } - } - } + mode = { "n", "i" }, + }, + }, + }, }, }, profiler = { enabled = false }, @@ -94,7 +94,7 @@ return { desc = "History", }, { - "ss", + "Ss", function() Snacks.profiler.scratch() end, @@ -116,20 +116,111 @@ return { desc = "Git Blame", }, { - "", function() Snacks.picker.files() end, desc = "Find Files" }, - { "pf", function() Snacks.picker.files() end, desc = "Find Files" }, - { "ps", function() Snacks.picker.grep() end, desc = "Grep" }, - { "pb", function() Snacks.picker.buffers() end, desc = "Buffers" }, - { "pw", function() Snacks.picker.grep_word() end, desc = "Visual selection of word", mode = { "n", "x" } }, - { "pi", function() Snacks.picker.icons() end, desc = "Icons", }, - { "ph", function() Snacks.picker.help() end, desc = "Help Pages", }, - { "pr", function() Snacks.picker.recent() end, desc = "Recent", }, - { "pR", function() Snacks.picker.registers() end, desc = "Registers", }, - { "pg", function() Snacks.picker.git_files() end, desc = "Find Git Fiels", }, - { "pk", function() Snacks.picker.keymaps() end, desc = "Keymaps" }, - { "pt", function() Snacks.picker.todo_comments({ keywords = { "TODO", "FIX", "FIXME" } }) end, desc = "Todo/Fix/Fixme" }, - { "pc", function() Snacks.picker.colorschemes() end, desc = "Colorschemes" }, - { "pl", function() Snacks.picker.lazy() end, desc = "Search for Plugin Spec" }, + "", + function() + Snacks.picker.files() + end, + desc = "Find Files", + }, + { + "pf", + function() + Snacks.picker.files() + end, + desc = "Find Files", + }, + { + "ps", + function() + Snacks.picker.grep() + end, + desc = "Grep", + }, + { + "pb", + function() + Snacks.picker.buffers() + end, + desc = "Buffers", + }, + { + "pw", + function() + Snacks.picker.grep_word() + end, + desc = "Visual selection of word", + mode = { "n", "x" }, + }, + { + "pi", + function() + Snacks.picker.icons() + end, + desc = "Icons", + }, + { + "ph", + function() + Snacks.picker.help() + end, + desc = "Help Pages", + }, + { + "pr", + function() + Snacks.picker.recent() + end, + desc = "Recent", + }, + { + "pR", + function() + Snacks.picker.registers() + end, + desc = "Registers", + }, + { + "pg", + function() + Snacks.picker.git_files() + end, + desc = "Find Git Fiels", + }, + { + "pk", + function() + Snacks.picker.keymaps() + end, + desc = "Keymaps", + }, + { + "pt", + function() + Snacks.picker.todo_comments({ keywords = { "TODO", "FIX", "FIXME" } }) + end, + desc = "Todo/Fix/Fixme", + }, + { + "pc", + function() + Snacks.picker.colorschemes() + end, + desc = "Colorschemes", + }, + { + "pl", + function() + Snacks.picker.lazy() + end, + desc = "Search for Plugin Spec", + }, + { + "pD", + function() + Snacks.picker.diagnostics() + end, + desc = "Diagnostics", + }, }, init = function() vim.api.nvim_create_autocmd("User", { diff --git a/lua/plugins/spellwarn.lua b/lua/plugins/spellwarn.lua deleted file mode 100644 index d2188aa..0000000 --- a/lua/plugins/spellwarn.lua +++ /dev/null @@ -1,42 +0,0 @@ -return { - "ravibrock/spellwarn.nvim", - event = "VeryLazy", - cmd = { "Spellwarn" }, - keys = { - { - - "os", - function() - vim.cmd.Spellwarn("toggle") - end, - desc = "Spellwarn toggle", - }, - }, - - opts = { - event = { -- event(s) to refresh diagnostics on - "CursorHold", - "InsertLeave", - "TextChanged", - "TextChangedI", - "TextChangedP", - "TextChangedT", - }, - ft_config = { -- spellcheck method: "cursor", "iter", or boolean - alpha = false, - help = false, - lazy = false, - lspinfo = false, - mason = false, - }, - ft_default = true, -- default option for unspecified filetypes - max_file_size = nil, -- maximum file size to check in lines (nil for no limit) - severity = { -- severity for each spelling error type (false to disable diagnostics for that type) - spellbad = "WARN", - spellcap = "HINT", - spelllocal = "HINT", - spellrare = "INFO", - }, - prefix = "possible misspelling(s): ", -- prefix for each diagnostic message - }, -} diff --git a/lua/plugins/tagbar.lua b/lua/plugins/tagbar.lua deleted file mode 100644 index 4dea242..0000000 --- a/lua/plugins/tagbar.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - "preservim/tagbar", - keys = { - { "b", vim.cmd.TagbarToggle, desc = "Toggle Tagbar" }, - }, -} diff --git a/lua/plugins/tailwind.lua b/lua/plugins/tailwind.lua index 1927802..72f6362 100644 --- a/lua/plugins/tailwind.lua +++ b/lua/plugins/tailwind.lua @@ -1,43 +1,7 @@ return { - { - "razak17/tailwind-fold.nvim", - opts = {}, - dependencies = { "nvim-treesitter/nvim-treesitter" }, - cmd = { "TailwindFoldEnable", "TailwindFoldDisable", "TailwindFoldToggle" }, - ft = { "html", "htmldjango", "svelte", "astro", "vue", "javascriptreact", "typescriptreact", "php", "blade" }, - }, - { - "luckasRanarison/tailwind-tools.nvim", - dependencies = { "nvim-treesitter/nvim-treesitter" }, - enabled = false, - ft = { "html", "htmldjango", "svelte", "astro", "vue", "javascriptreact", "typescriptreact", "php", "blade" }, - cmd = { - "TailwindConcealEnable", - "TailwindConcealDisable", - "TailwindConcealToggle", - "TailwindColorEnable", - "TailwindColorDisable", - "TailwindColorToggle", - "TailwindSort", - "TailwindSortSelection", - "TailwindNextClass", - "TailwindPrevClass", - }, - opts = { - document_color = { - enabled = true, -- can be toggled by commands - kind = "background", -- "inline" | "foreground" | "background" - inline_symbol = "󰝤 ", -- only used in inline mode - debounce = 200, -- in milliseconds, only applied in insert mode - }, - conceal = { - enabled = false, -- can be toggled by commands - symbol = "󱏿", -- only a single character is allowed - highlight = { -- extmark highlight options, see :h 'highlight' - fg = "#38BDF8", - }, - }, - custom_filetypes = {}, -- see the extension section to learn how it works - }, - }, + "razak17/tailwind-fold.nvim", + dependencies = { "nvim-treesitter/nvim-treesitter" }, + cmd = { "TailwindFoldEnable", "TailwindFoldDisable", "TailwindFoldToggle" }, + ft = { "html", "htmldjango", "svelte", "astro", "vue", "javascriptreact", "typescriptreact", "php", "blade" }, + opts = {}, } diff --git a/lua/plugins/todo-comments.lua b/lua/plugins/todo-comments.lua index 2a87e0b..3f46151 100644 --- a/lua/plugins/todo-comments.lua +++ b/lua/plugins/todo-comments.lua @@ -1,69 +1,8 @@ return { "folke/todo-comments.nvim", - dependencies = { "nvim-lua/plenary.nvim" }, - opts = { - signs = true, -- show icons in the signs column - sign_priority = 8, -- sign priority - -- keywords recognized as todo comments - keywords = { - FIX = { - icon = " ", -- icon used for the sign, and in search results - color = "error", -- can be a hex color, or a named color (see below) - alt = { "FIXME", "BUG", "FIXIT", "ISSUE" }, -- a set of other keywords that all map to this FIX keywords - -- signs = false, -- configure signs for some keywords individually - }, - TODO = { icon = " ", color = "info" }, - HACK = { icon = " ", color = "warning" }, - WARN = { icon = " ", color = "warning", alt = { "WARNING", "XXX" } }, - PERF = { icon = " ", alt = { "OPTIM", "PERFORMANCE", "OPTIMIZE" } }, - NOTE = { icon = " ", color = "hint", alt = { "INFO", "HINT" } }, - TEST = { icon = "⏲ ", color = "test", alt = { "TESTING", "PASSED", "FAILED" } }, - }, - gui_style = { - fg = "NONE", -- The gui style to use for the fg highlight group. - bg = "BOLD", -- The gui style to use for the bg highlight group. - }, - - merge_keywords = true, -- when true, custom keywords will be merged with the defaults - -- highlighting of the line containing the todo comment - -- * before: highlights before the keyword (typically comment characters) - -- * keyword: highlights of the keyword - -- * after: highlights after the keyword (todo text) - highlight = { - multiline = true, -- enable multine todo comments - multiline_pattern = "^.", -- lua pattern to match the next multiline from the start of the matched keyword - multiline_context = 10, -- extra lines that will be re-evaluated when changing a line - before = "", -- "fg" or "bg" or empty - keyword = "wide", -- "fg", "bg", "wide", "wide_bg", "wide_fg" or empty. (wide and wide_bg is the same as bg, but will also highlight surrounding characters, wide_fg acts accordingly but with fg) - after = "fg", -- "fg" or "bg" or empty - pattern = [[.*<(KEYWORDS)\s*:]], -- pattern or table of patterns, used for highlighting (vim regex) - comments_only = true, -- uses treesitter to match keywords in comments only - max_line_len = 400, -- ignore lines longer than this - exclude = {}, -- list of file types to exclude highlighting - }, - -- list of named colors where we try to extract the guifg from the - -- list of highlight groups or use the hex color if hl not found as a fallback - colors = { - error = { "DiagnosticError", "ErrorMsg", "#DC2626" }, - warning = { "DiagnosticWarn", "WarningMsg", "#FBBF24" }, - info = { "DiagnosticInfo", "#2563EB" }, - hint = { "DiagnosticHint", "#10B981" }, - default = { "Identifier", "#7C3AED" }, - test = { "Identifier", "#FF00FF" }, - }, - search = { - command = "rg", - args = { - "--color=never", - "--no-heading", - "--with-filename", - "--line-number", - "--column", - }, - -- regex that will be used to match keywords. - -- don't replace the (KEYWORDS) placeholder - pattern = [[\b(KEYWORDS):]], -- ripgrep regex - -- pattern = [[\b(KEYWORDS)\b]], -- match without the extra colon. You'll likely get false positives - }, + dependencies = { + "nvim-lua/plenary.nvim", + "folke/trouble.nvim", }, + opts = {}, } diff --git a/lua/plugins/ts-autotag.lua b/lua/plugins/ts-autotag.lua index bcc4c3d..2f41e03 100644 --- a/lua/plugins/ts-autotag.lua +++ b/lua/plugins/ts-autotag.lua @@ -1,16 +1,5 @@ return { "windwp/nvim-ts-autotag", events = { "BufReadPre", "BufNewFile" }, - opts = { - opts = { - -- Defaults - enable_close = true, -- Auto close tags - enable_rename = true, -- Auto rename pairs of tags - enable_close_on_slash = true, -- Auto close on trailing c", vim.cmd.bdelete, desc = "Close Buffer" }, { "X", function() @@ -44,7 +43,7 @@ return { { "q", group = "Persistence" }, { "l", group = "LSP" }, { "w", group = "Workspace" }, - { "f", group = "Picker", { "pd", group = "Development" } }, + { "p", group = "Picker" }, { "z", group = "Zen" }, { "o", group = "Action" }, { "r", group = "Rust" }, @@ -67,84 +66,14 @@ return { { "L", group = "Languate settings", - { "Lc", "setlocal formatoptions-=cro", desc = "Disable autocomment" }, - { "LC", "setlocal formatoptions=cro", desc = "Enable autocomment" }, - { "Ls", "setlocal spell!", desc = "Toggle spellchecker" }, + { "Lc", "setlocal formatoptions-=cro", desc = "Disable autocomment" }, + { "LC", "setlocal formatoptions=cro", desc = "Enable autocomment" }, + { "Ls", "setlocal spell!", desc = "Toggle spellchecker" }, { "Le", "setlocal spell spelllang=en_us", desc = "Enable English spellchecker" }, { "Ll", "setlocal spell spelllang=lv_LV", desc = "Enable Latvian spellchecker" }, - { "LI", "setlocal autoindent", desc = "Enable autoindent" }, - { "Li", "setlocal noautoindent", desc = "Disable autoindent" }, + { "LI", "setlocal autoindent", desc = "Enable autoindent" }, + { "Li", "setlocal noautoindent", desc = "Disable autoindent" }, }, - --[[ { - "P", - group = "Templates", - { - { - "Pl", - group = "Latex", - cond = function() - return vim.bo.filetype == "lua" - end, - - { - "Plp", - function() - vim.cmd.read("~/Templates/LaTeX/PhilPaper.tex") - end, - desc = "PhilPaper.tex", - }, - { - "Pll", - function() - vim.cmd.read("~/Templates/LaTeX/Letter.tex") - end, - desc = "Letter.tex", - }, - { - "Plg", - function() - vim.cmd.read("~/Templates/LaTeX/Glossary.tex") - end, - desc = "Glossary.tex", - }, - { - "Plh", - function() - vim.cmd.read("~/Templates/LaTeX/HandOut.tex") - end, - desc = "HandOut.tex", - }, - { - "Plb", - function() - vim.cmd.read("~/Templates/LaTeX/PhilBeamer.tex") - end, - desc = "PhilBeamer.tex", - }, - { - "Pls", - function() - vim.cmd.read("~/Templates/LaTeX/SubFile.tex") - end, - desc = "SubFile.tex", - }, - { - "Plr", - function() - vim.cmd.read("~/Templates/LaTeX/Root.tex") - end, - desc = "Root.tex", - }, - { - "Plm", - function() - vim.cmd.read("~/Templates/LaTeX/MultipleAnswer.tex") - end, - desc = "MultipleAnswer.tex", - }, - }, - }, - }, ]] }, }, }, diff --git a/selene.toml b/selene.toml index 0882953..9a02a6a 100644 --- a/selene.toml +++ b/selene.toml @@ -2,6 +2,7 @@ std = "neovim" [rules] global_usage = "allow" +undefined_variable = "allow" multiple_statements = "allow" incorrect_standard_library_use = "allow" mixed_table = "allow" diff --git a/snippets/all.lua b/snippets/all.lua new file mode 100644 index 0000000..659c9a1 --- /dev/null +++ b/snippets/all.lua @@ -0,0 +1,3 @@ +---@diagnostic disable: undefined-global + +return {} diff --git a/snippets/c.lua b/snippets/c.lua new file mode 100644 index 0000000..659c9a1 --- /dev/null +++ b/snippets/c.lua @@ -0,0 +1,3 @@ +---@diagnostic disable: undefined-global + +return {} diff --git a/snippets/cmake.lua b/snippets/cmake.lua new file mode 100644 index 0000000..659c9a1 --- /dev/null +++ b/snippets/cmake.lua @@ -0,0 +1,3 @@ +---@diagnostic disable: undefined-global + +return {} diff --git a/snippets/cpp.lua b/snippets/cpp.lua new file mode 100644 index 0000000..659c9a1 --- /dev/null +++ b/snippets/cpp.lua @@ -0,0 +1,3 @@ +---@diagnostic disable: undefined-global + +return {} diff --git a/after/plugin/snips/lua.lua b/snippets/lua.lua similarity index 57% rename from after/plugin/snips/lua.lua rename to snippets/lua.lua index 2b903c1..d48c3c3 100644 --- a/after/plugin/snips/lua.lua +++ b/snippets/lua.lua @@ -1,22 +1,4 @@ -if not pcall(require, "luasnip") then - return -end - -local ls = require("luasnip") - -local s = ls.snippet -local sn = ls.sn -local i = ls.insert_node -local t = ls.text_node -local d = ls.dynamic_node -local c = ls.choice_node -local fmt = require("luasnip.extras.fmt").fmt - -local shared = require("config.snips") - -local newline = function(text) - return t({ "", text }) -end +---@diagnostic disable: undefined-global local require_var = function(args, _) local text = args[1][1] or "" @@ -32,19 +14,18 @@ local require_var = function(args, _) }) end -ls.add_snippets("lua", { +return { s( "lf", fmt( [[ - local {} = function({}) + local function {}({}) {} - end{} + end ]], { i(1), i(2), - i(3), i(0), } ) @@ -70,4 +51,4 @@ ls.add_snippets("lua", { i(1), }) ), -}) +} diff --git a/after/plugin/snips/markdown.lua b/snippets/markdown.lua similarity index 55% rename from after/plugin/snips/markdown.lua rename to snippets/markdown.lua index 0d6dba9..3c784f7 100644 --- a/after/plugin/snips/markdown.lua +++ b/snippets/markdown.lua @@ -1,13 +1,6 @@ -if not pcall(require, "luasnip") then - return -end +---@diagnostic disable: undefined-global -local ls = require("luasnip") -local s = ls.snippet -local i = ls.insert_node -local fmt = require("luasnip.extras.fmt").fmt - -ls.add_snippets("markdown", { +return { s( "ket", fmt( @@ -20,6 +13,9 @@ ls.add_snippets("markdown", { } ) ), +}, { -- autosnippets + s({ trig = "mt", name = "Math Block" }, fmta("$<>$", { i(1) })), + s({ trig = "mmt", name = "Multiline Math Block" }, fmta("$ <> $", { i(1) })), s( "ket0", fmt( @@ -47,4 +43,4 @@ ls.add_snippets("markdown", { {} ) ), -}) +} diff --git a/after/plugin/snips/python.lua b/snippets/python.lua similarity index 73% rename from after/plugin/snips/python.lua rename to snippets/python.lua index fb55dc3..3574e19 100644 --- a/after/plugin/snips/python.lua +++ b/snippets/python.lua @@ -1,15 +1,6 @@ -if not pcall(require, "luasnip") then - return -end +---@diagnostic disable: undefined-global -local ls = require("luasnip") -local s = ls.snippet -local i = ls.insert_node -local t = ls.text_node -local fmt = require("luasnip.extras.fmt").fmt -local c = ls.choice_node - -ls.add_snippets("python", { +return { s( "logger", fmt( @@ -97,4 +88,4 @@ ls.add_snippets("python", { } ) ), -}) +}, {} diff --git a/snippets/rust.lua b/snippets/rust.lua new file mode 100644 index 0000000..9b0970f --- /dev/null +++ b/snippets/rust.lua @@ -0,0 +1,233 @@ +---@diagnostic disable: undefined-global + +local snippets = { + s("p", fmta([[println!("{}", <>)]], { i(0) })), + s( + "modtest", + fmta( + [[ + #[cfg(test)] + mod tests { + use super::*; + + <> + } + ]], + { i(0) } + ) + ), + s( + "test", + fmta( + [[ + #[test] + fn () { + + } + ]], + { + name = i(1), + body = i(0), + } + ) + ), + s( + "rstest", + fmta( + [[ + #[rstest] + #[case()] + fn () { + + } + ]], + { + name = i(1), + args = i(2), + case = i(3), + body = i(0), + } + ) + ), + s( + "tmain", + fmt( + [[ + #[tokio::main] + async fn main() -> Result<()> {{ + {} + }} + ]], + { + i(1, "todo!();"), + } + ) + ), + s( + "dead", + fmt( + [[ + #[allow(dead_code)] + ]], + {} + ) + ), +} + +local function has_bevy() + local cwd = vim.fn.getcwd() + local cargo_toml = cwd .. "/Cargo.toml" + + if vim.fn.filereadable(cargo_toml) == 1 then + local contents = vim.fn.readfile(cargo_toml) + for _, line in ipairs(contents) do + if line:match("^%s*bevy%s*=") or line:find("bevy") and not line:find("bevy%.") then + return true + end + end + end + + return false +end + +local bevy_snippets = { + s( + "component", + fmta( + [[ + #[derive(Debug, Reflect, Component)] + #[reflect(Component)] + pub struct + ]], + { + name = i(1, "Component"), + params = c(2, { + t(";"), + t("( );"), + t(" { }"), + }), + } + ) + ), + s( + "event", + fmta( + [[ + #[derive(Debug, Event)] + pub struct + ]], + { + name = i(1, "Event"), + params = c(2, { + t(";"), + t("( );"), + t(" { }"), + }), + } + ) + ), + s( + "resource", + fmta( + [[ + #[derive(Debug, Default, Reflect, Resource)] + #[reflect(Resource)] + pub struct + ]], + { + name = i(1, "Resource"), + params = c(2, { + t(";"), + t("( );"), + t(" { }"), + }), + } + ) + ), + s( + "schedule", + fmta( + [[ + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, ScheduleLabel)] + pub struct + ]], + { + name = i(1, "Resource"), + params = c(2, { + t(";"), + t("( );"), + t(" { }"), + }), + } + ) + ), + s( + "state", + fmta( + [[ + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, Default, States)] + pub enum { + #[default] + , + + } + ]], + { + name = i(1, "State"), + default = i(2, "Default"), + variants = i(0), + } + ) + ), + s( + "systemset", + fmta( + [[ + #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash, SystemSet)] + pub enum { + + } + ]], + { + name = i(1), + body = i(2), + } + ) + ), + s( + "plugin", + fmta( + [[ + use bevy::prelude::*; + + pub(super) fn plugin(app: &mut App) { + + } + ]], + { + body = i(0), + } + ) + ), + s( + "query", + fmta( + [[ + fn () { + + } + ]], + { + name = i(1, "system"), + args = i(2, "args"), + body = i(0), + } + ) + ), +} + +if has_bevy() then + vim.tbl_extend("force", snippets, bevy_snippets) +end + +return snippets diff --git a/snippets/typst.lua b/snippets/typst.lua new file mode 100644 index 0000000..077422d --- /dev/null +++ b/snippets/typst.lua @@ -0,0 +1,33 @@ +---@diagnostic disable: undefined-global + +return { + s( + { trig = "([^%s]+)t", name = "Superscript", regTrig = true }, + fmta("(<>)^(<>)", { + f(function(_, snip) + return snip.captures[1] + end), + i(0), + }) + ), + s( + { trig = "([^%s]+)b", name = "Subscript", regTrig = true }, + fmta("(<>)_(<>)", { + f(function(_, snip) + return snip.captures[1] + end), + i(0), + }) + ), + s( + { trig = "([^%s]+)r", name = "Root", regTrig = true }, + fmta("sqrt(<>)", { + f(function(_, snip) + return snip.captures[1] + end), + }) + ), +}, { -- autosnippets + s({ trig = "mt", name = "Math Block" }, fmta("$<>$", { i(1) })), + s({ trig = "mmt", name = "Multiline Math Block" }, fmta("$ <> $", { i(1) })), +} diff --git a/spell/lv.utf-8.add b/spell/lv.utf-8.add index dc8ecbd..3e7fa40 100644 --- a/spell/lv.utf-8.add +++ b/spell/lv.utf-8.add @@ -627,3 +627,19 @@ saprotami iekavās iekavām viennozīmīgu +iekavas +atbilsoši +visciešāk +disjunkcija +implikācija +operacionālās +dotās +paveicis +atgriezties +apstrādājot +ienākošie +nākas +atrasties +atrodas +galvenajai +daudzlietotāju diff --git a/spell/lv.utf-8.add.spl b/spell/lv.utf-8.add.spl index 1fbd4fc..209c458 100644 Binary files a/spell/lv.utf-8.add.spl and b/spell/lv.utf-8.add.spl differ diff --git a/stylua.toml b/stylua.toml deleted file mode 100644 index 9984e42..0000000 --- a/stylua.toml +++ /dev/null @@ -1,10 +0,0 @@ -column_width = 120 -line_endings = "Unix" -indent_type = "Tabs" -indent_width = 4 -quote_style = "AutoPreferDouble" -call_parentheses = "Always" -collapse_simple_statement = "Never" - -[sort_requires] -enabled = false