diff --git a/after/queries/rust/injections.scm b/after/queries/rust/injections.scm index 41ad35b..2d8d30c 100644 --- a/after/queries/rust/injections.scm +++ b/after/queries/rust/injections.scm @@ -1,22 +1,25 @@ ;extends ;; Inject into sqlx::query!(r#"..."#, ...) as sql -([ - (string_literal) - (raw_string_literal) - ] @injection.content +((raw_string_literal) @injection.content (#match? @injection.content "(SELECT|select|INSERT|insert|UPDATE|update|DELETE|delete).+(FROM|from|INTO|into|VALUES|values|SET|set).*(WHERE|where|GROUP BY|group by|ORDER BY|order by)?") (#offset! @injection.content 0 3 0 -2) (#set! injection.language "sql") (#set! injection.include-children) ) -;; Inject HTML into view! macro blocks for leptos -( - (macro_invocation - macro: (identifier) @macro_name - (token_tree) @injecttion.content - ) - (#eq? @macro_name "view") - (#set! injection.language "html") - (#set! injection.combined) -) +((string_literal) @injection.content + (#match? @injection.content "(SELECT|select|INSERT|insert|UPDATE|update|DELETE|delete).+(FROM|from|INTO|into|VALUES|values|SET|set).*(WHERE|where|GROUP BY|group by|ORDER BY|order by)?") + (#offset! @injection.content 0 1 0 -1) + (#set! injection.language "sql") + (#set! injection.include-children) + ) + +; ( +; macro_invocation +; (identifier) @name +; (#eq? @name "view") +; (token_tree) @injection.content +; ; (#offset! @injection.content 0 1 0 -1) +; (#set! injection.language "typescriptreact") +; (#set! injection.include-children) +; ) diff --git a/ftdetect/tmTheme.lua b/ftdetect/tmTheme.lua new file mode 100644 index 0000000..74fe3e9 --- /dev/null +++ b/ftdetect/tmTheme.lua @@ -0,0 +1,5 @@ +vim.filetype.add({ + pattern = { + ["*.tmTheme"] = "xml", + }, +}) diff --git a/lazy-lock.json b/lazy-lock.json index fd9bdd8..cf73931 100644 --- a/lazy-lock.json +++ b/lazy-lock.json @@ -4,102 +4,104 @@ "LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" }, "blink-cmp-git": { "branch": "master", "commit": "a820245eb0e5cb44ed0c27c63a41d90635b39e0e" }, "blink-emoji.nvim": { "branch": "master", "commit": "f22ce8cac02a6ece05368220f1e38bd34fe376f9" }, - "blink-ripgrep.nvim": { "branch": "main", "commit": "a6096efa377dab8767d6b67b9822c222e39e5d49" }, + "blink-ripgrep.nvim": { "branch": "main", "commit": "e4f0f522573883a7578eeb74d601d0315e8df88f" }, "blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" }, "blink.compat": { "branch": "main", "commit": "2ed6d9a28b07fa6f3bface818470605f8896408c" }, - "catppuccin.nvim": { "branch": "main", "commit": "94f6e8a06b6bb7b8e5529cf9f93adb4654534241" }, + "catppuccin.nvim": { "branch": "main", "commit": "30fa4d122d9b22ad8b2e0ab1b533c8c26c4dde86" }, "ccc.nvim": { "branch": "main", "commit": "9d1a256e006decc574789dfc7d628ca11644d4c2" }, "cellular-automaton.nvim": { "branch": "main", "commit": "1606e9d5d04ff254023c3f3c62842d065708d6d3" }, "cheatsheet.nvim": { "branch": "master", "commit": "8ee4d76b6f902c4017dc28eddd79d925dfc55066" }, "cloak.nvim": { "branch": "main", "commit": "648aca6d33ec011dc3166e7af3b38820d01a71e4" }, - "cmake-tools.nvim": { "branch": "master", "commit": "17244215b1a96e4b2a83a16abd6719197f270f96" }, + "cmake-tools.nvim": { "branch": "master", "commit": "88e07c6bff838a5bda2f461e9c1122b79ff0829f" }, "cmp-dbee": { "branch": "main", "commit": "1650f67b9bf43c029fc37570665ca895a33cdf5a" }, "colorful-menu.nvim": { "branch": "master", "commit": "bc3e82609f2fcf7dad7ca87c20e65e51d5d9d87c" }, - "conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" }, + "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" }, "crates.nvim": { "branch": "main", "commit": "afcd1cc3eeceb5783676fc8464389b9216a29d05" }, "cratesearch.nvim": { "branch": "master", "commit": "9d09625d017f6b2e116503f935bc6862961313fa" }, "css-vars.nvim": { "branch": "main", "commit": "0615782c320f729b04d9c51a8a61fb498ee4234a" }, "csvview.nvim": { "branch": "main", "commit": "22c9450d19749aa80cc42f0c968cb9dd57726ece" }, "darkplus.nvim": { "branch": "master", "commit": "c7fff5ce62406121fc6c9e4746f118b2b2499c4c" }, "darkvoid.nvim": { "branch": "master", "commit": "45be993a5617e05811b6b293c05e6aded7003cc9" }, - "demicolon.nvim": { "branch": "main", "commit": "8d79e527dbbef9de06405a30258b8d752c0638c4" }, + "demicolon.nvim": { "branch": "main", "commit": "7cd3587c4f4d22cb645c3a2b5ca93ec08012d23f" }, "diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" }, - "dracula.nvim": { "branch": "main", "commit": "96c9d19ce81b26053055ad6f688277d655b3f7d2" }, + "dracula.nvim": { "branch": "main", "commit": "df528c869b09fbdc7578e6ccc7ff6faf44a2046d" }, "flow.nvim": { "branch": "main", "commit": "095c54bbaf55473418dd09d61d3167891684cf85" }, "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, "gh.nvim": { "branch": "main", "commit": "6f367b2ab8f9d4a0a23df2b703a3f91137618387" }, "gitignore.nvim": { "branch": "master", "commit": "0344f643768c4d64af4add8c1bdddf6f7d4c9010" }, "gitpad.nvim": { "branch": "main", "commit": "1e0f6fa335c72c05d1d3635120c572e198e5ae0d" }, - "gitsigns.nvim": { "branch": "main", "commit": "b01433169be710d6c69f7b4ee264d9670698b831" }, - "gruvbox.nvim": { "branch": "main", "commit": "58a2cda2e953a99e2f87c12b7fb4602da4e0709c" }, + "gitsigns.nvim": { "branch": "main", "commit": "6e3c66548035e50db7bd8e360a29aec6620c3641" }, + "gruvbox.nvim": { "branch": "main", "commit": "12c2624287dc827edb5d72b2bc4c9619e692a554" }, "hardtime.nvim": { "branch": "main", "commit": "1a3648a53002c2911ccb88e9c9f876cdc6c43ad6" }, "harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" }, "http-codes.nvim": { "branch": "main", "commit": "77aea3a73d5f3134089941ebf6d4172af34a4a8d" }, "img-clip.nvim": { "branch": "main", "commit": "d8b6b030672f9f551a0e3526347699985a779d93" }, "inlay-hint.nvim": { "branch": "main", "commit": "ee8aa9806d1e160a2bc08b78ae60568fb6d9dbce" }, "inlay-hints.nvim": { "branch": "master", "commit": "990e1f96699b8293b6665b9e73b16128c66684e6" }, - "jupynium.nvim": { "branch": "master", "commit": "4086e40f5ab3b8b74330c5a69a26791953da5cd2" }, + "jupynium.nvim": { "branch": "master", "commit": "144ab6e46d2b42264c16a4f3c780d88feb0a89e8" }, "jupytext.nvim": { "branch": "master", "commit": "2e86acfa4345f611c86f57116db0c06ffecb721d" }, "kanagawa.nvim": { "branch": "master", "commit": "debe91547d7fb1eef34ce26a5106f277fbfdd109" }, - "kulala.nvim": { "branch": "main", "commit": "6b6e1c8b538cce6654cfc5fb3e4a3acfa316ce57" }, + "kulala.nvim": { "branch": "main", "commit": "cfe40c33636ab0f53f1edd3dbda37f4298298797" }, "lackluster.nvim": { "branch": "main", "commit": "b247a6f51cb43e49f3f753f4a59553b698bf5438" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, "litee.nvim": { "branch": "main", "commit": "4efaf373322d9e71eaff31164abb393417cc6f6a" }, - "lsp-progress.nvim": { "branch": "main", "commit": "f3df1df8f5ea33d082db047b5d2d2b83cc01cd8a" }, + "lsp-progress.nvim": { "branch": "main", "commit": "f61cb7a788e4695ed9ae5e1b6b01bfff8f136f8b" }, "lua-async-await": { "branch": "main", "commit": "652d94df34e97abe2d4a689edbc4270e7ead1a98" }, "lua-utils.nvim": { "branch": "main", "commit": "e565749421f4bbb5d2e85e37c3cef9d56553d8bd" }, "lualine-harpoon.nvim": { "branch": "main", "commit": "9ee90e6309c4219d6a06b771b53db6a59c8d32fa" }, - "lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" }, + "lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" }, "luarocks.nvim": { "branch": "main", "commit": "1db9093915eb16ba2473cfb8d343ace5ee04130a" }, "markdown.nvim": { "branch": "master", "commit": "dfa0d2def6dbf77e9206b16dc90cad4dd23d55d2" }, - "markview.nvim": { "branch": "main", "commit": "ec33f2aa333ca1d76f51847922578434d7aeadf7" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "f2fa60409630ec2d24acf84494fb55e1d28d593c" }, + "markview.nvim": { "branch": "main", "commit": "9c7761f4446c23cfc8e9b8b1ba980a1a7fd1c94a" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "5e085efe67fccb13372d54331d849219662a7e93" }, "mason-nvim-dap.nvim": { "branch": "main", "commit": "86389a3dd687cfaa647b6f44731e492970034baa" }, - "mason.nvim": { "branch": "main", "commit": "3671ab0d40aa5bd24b1686562bd0a23391ecf76a" }, + "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" }, "melange.nvim": { "branch": "master", "commit": "ce42f6b629beeaa00591ba73a77d3eeac4cf28ce" }, - "mini.icons": { "branch": "main", "commit": "b8f6fa6f5a3fd0c56936252edcd691184e5aac0c" }, + "mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" }, "mini.nvim": { "branch": "main", "commit": "94cae4660a8b2d95dbbd56e1fbc6fcfa2716d152" }, - "neoconf.nvim": { "branch": "main", "commit": "9772a2526adb47067d6fabe23535270cefce67e5" }, + "neoconf.nvim": { "branch": "main", "commit": "d2455d8e9a6dc8133c0b5db6df391f408217a950" }, "neocord": { "branch": "main", "commit": "2ebf3792a8100376bb65fd66d5dbf60f50af7529" }, "neogen": { "branch": "main", "commit": "b2e78708876f4da507839726816010a68e33fec8" }, "neogit": { "branch": "master", "commit": "43fa47fb61773b0d90a78ebc2521ea8faaeebd86" }, "neorg": { "branch": "main", "commit": "e206c9642f4a115cd836e76c98ef785623d335bc" }, "neorg-telescope": { "branch": "main", "commit": "7fb6ca6a632c3c095601d379a664c0c1f802dc6c" }, - "neotest": { "branch": "master", "commit": "3c81345c28cd639fcc02843ed3653be462f47024" }, + "neotest": { "branch": "master", "commit": "35a59c1f59dbb954d92b74ab64a966a668cea495" }, "neotest-gtest": { "branch": "main", "commit": "16989561a6356878ec4ecd6afed4f0d7a471d1db" }, "neotest-python": { "branch": "master", "commit": "ed9b4d794b89044cc32e5476e637936331473c6e" }, "neotest-vim-test": { "branch": "master", "commit": "75c4228882ae4883b11bfce9b8383e637eb44192" }, - "nightfly.nvim": { "branch": "master", "commit": "8c55003e89f321a48a8cd4bb426dd3e7c58f0646" }, + "nightfly.nvim": { "branch": "master", "commit": "8d0ee8436a9f37252c1a7976fe76617e8df34a5a" }, "nightfox.nvim": { "branch": "main", "commit": "ba47d4b4c5ec308718641ba7402c143836f35aa9" }, "noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" }, "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "16597180b4dd81fa3d23d88c4d2f1b49154f9479" }, - "nvim-dap": { "branch": "master", "commit": "5dd4d50f2e6a2eaf9e57fad023d294ef371bda35" }, - "nvim-dap-python": { "branch": "master", "commit": "261ce649d05bc455a29f9636dc03f8cdaa7e0e2c" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "51cf7c995ed1eb6642aecf19067ee634fa1b6ba2" }, + "nvim-dap": { "branch": "master", "commit": "968f89f8aac11b6bdbfc942c71d3436658c1435f" }, + "nvim-dap-python": { "branch": "master", "commit": "030385d03363988370adaa5cf21fa465daddb088" }, "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": "7c2e81caa301b0d1bc7992b88981af883b3b5d6b" }, - "nvim-java-core": { "branch": "main", "commit": "401bf7683012a25929a359deec418f36beb876e2" }, + "nvim-java": { "branch": "main", "commit": "3d56b7461facb42f135e25b2636bf220a7f0ed42" }, + "nvim-java-core": { "branch": "main", "commit": "229ebcdfa33c75cf746f97c46c2893b2de3626e5" }, "nvim-java-dap": { "branch": "main", "commit": "55f239532f7a3789d21ea68d1e795abc77484974" }, "nvim-java-refactor": { "branch": "main", "commit": "b51a57d862338999059e1d1717df3bc80a3a15c0" }, "nvim-java-test": { "branch": "main", "commit": "7f0f40e9c5b7eab5096d8bec6ac04251c6e81468" }, - "nvim-lint": { "branch": "master", "commit": "9c6207559297b24f0b7c32829f8e45f7d65b991f" }, - "nvim-lspconfig": { "branch": "master", "commit": "3db16ceeea947517f0dc1404c24dcb5ab0c91d26" }, + "nvim-lint": { "branch": "master", "commit": "f126af5345c7472e9a0cdbe1d1a29209be72c4c4" }, + "nvim-lspconfig": { "branch": "master", "commit": "408cf07b97535825cca6f1afa908d98348712ba6" }, "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, "nvim-silicon": { "branch": "main", "commit": "7f66bda8f60c97a5bf4b37e5b8acb0e829ae3c32" }, "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-treesitter-context": { "branch": "master", "commit": "02fd97c803962108d129cf42e05adc5eff7f89c1" }, + "nvim-treesitter-context": { "branch": "master", "commit": "dca8726fea2c14e1ce6adbaa76a04816fbfaff61" }, "nvim-treesitter-textobjects": { "branch": "master", "commit": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c" }, "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, "nvim-ts-context-commentstring": { "branch": "main", "commit": "1b212c2eee76d787bbea6aa5e92a2b534e7b4f8f" }, - "nvim-ufo": { "branch": "main", "commit": "80fe8215ba566df2fbf3bf4d25f59ff8f41bc0e1" }, - "nvim-web-devicons": { "branch": "master", "commit": "4a8369f4c78ef6f6f895f0cec349e48f74330574" }, + "nvim-ufo": { "branch": "main", "commit": "d31e2a9fd572a25a4d5011776677223a8ccb7e35" }, + "nvim-web-devicons": { "branch": "master", "commit": "f66cdfef5e84112045b9ebc3119fee9bddb3c687" }, "obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" }, + "oil-git.nvim": { "branch": "main", "commit": "3abffa67597aab5f915816d71e96cbed76147016" }, + "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": "fcc8cf1eeb39f16c309bb27a7ff140ddf87c9fcb" }, + "otter.nvim": { "branch": "main", "commit": "71fec0dc58c3a66078e691b9a77b2516fe3e319b" }, "pathlib.nvim": { "branch": "main", "commit": "57e5598af6fe253761c1b48e0b59b7cd6699e2c1" }, "persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" }, "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, @@ -107,7 +109,7 @@ "promise-async": { "branch": "main", "commit": "119e8961014c9bfaf1487bf3c2a393d254f337e2" }, "rainbow-delimiters.nvim": { "branch": "master", "commit": "97bf4b8ef9298644a29fcd9dd41a0210cf08cac7" }, "rainbow_csv.nvim": { "branch": "main", "commit": "26de78d8324f7ac6a3e478319d1eb1f17123eb5b" }, - "rose-pine.nvim": { "branch": "main", "commit": "72befaffeac38db7bdd49e0549eaa2c4806dd878" }, + "rose-pine.nvim": { "branch": "main", "commit": "72a04c4065345b51b56aed4859ea1d884f734097" }, "rustaceanvim": { "branch": "master", "commit": "e9c5aaba16fead831379d5f44617547a90b913c7" }, "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" }, "spellwarn.nvim": { "branch": "main", "commit": "12734b47b008d912b4925c0bc2c1248eb534409d" }, @@ -140,12 +142,11 @@ "typst-preview.nvim": { "branch": "master", "commit": "dea4525d5420b7c32eebda7de15a6beb9d6574fa" }, "undotree": { "branch": "master", "commit": "28f2f54a34baff90ea6f4a735ef1813ad875c743" }, "vim-be-good": { "branch": "master", "commit": "0ae3de14eb8efc6effe7704b5e46495e91931cc5" }, - "vim-closetag": { "branch": "master", "commit": "d0a562f8bdb107a50595aefe53b1a690460c3822" }, "vim-illuminate": { "branch": "master", "commit": "0d1e93684da00ab7c057410fecfc24f434698898" }, - "vim-just": { "branch": "main", "commit": "e0c04b6433b9c636274f074356744fdfae039b7e" }, + "vim-just": { "branch": "main", "commit": "04b0f122f14c83f55a0f8bb2a087754dc98cdccc" }, "vim-log-highlighting": { "branch": "master", "commit": "1037e26f3120e6a6a2c0c33b14a84336dee2a78f" }, "vim-tmux-navigator": { "branch": "master", "commit": "c45243dc1f32ac6bcf6068e5300f3b2b237e576a" }, - "vim-wakatime": { "branch": "master", "commit": "3403495670f0ee08887401a28f8430dc4ac67429" }, + "vim-wakatime": { "branch": "master", "commit": "ecba6015dd9a8c7657583efcdcd95c362e5ed20b" }, "vimtex": { "branch": "master", "commit": "bcb14eb6e3739f0c1902115a710292bc37c62d2e" }, "which-key.nvim": { "branch": "main", "commit": "fcbf4eea17cb299c02557d576f0d568878e354a4" }, "yuck.vim": { "branch": "master", "commit": "9b5e0370f70cc30383e1dabd6c215475915fe5c3" } diff --git a/lua/config/options.lua b/lua/config/options.lua index ec8081c..b5f5efb 100644 --- a/lua/config/options.lua +++ b/lua/config/options.lua @@ -34,7 +34,7 @@ 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.sidescrolloff = 8 -vim.opt.signcolumn = "yes" -- always show the sign column otherwise it would shift the text each time +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 diff --git a/lua/plugins/blink.lua b/lua/plugins/blink.lua index 10e05ca..ed9ab69 100644 --- a/lua/plugins/blink.lua +++ b/lua/plugins/blink.lua @@ -3,7 +3,7 @@ return { "saghen/blink.cmp", dependencies = { "folke/lazydev.nvim", - "echasnovski/mini.icons", + { "echasnovski/mini.icons", version = "*" }, "jdrupal-dev/css-vars.nvim", "xzbdmw/colorful-menu.nvim", { "L3MON4D3/LuaSnip", version = "v2.*" }, @@ -143,7 +143,7 @@ return { }, jupynium = { name = "jupynium", - module = "blink.compat.source", + module = "jupynium.blink_cmp", score_offset = 100, }, git = { diff --git a/lua/plugins/closetag.lua b/lua/plugins/closetag.lua deleted file mode 100644 index 1c15643..0000000 --- a/lua/plugins/closetag.lua +++ /dev/null @@ -1 +0,0 @@ -return { "alvan/vim-closetag" } diff --git a/lua/plugins/conform.lua b/lua/plugins/conform.lua index 3f5fe5b..7bcfd85 100644 --- a/lua/plugins/conform.lua +++ b/lua/plugins/conform.lua @@ -20,6 +20,7 @@ return { formatters_by_ft = { ["_"] = { "trim_whitespace" }, ["*"] = { "injected" }, + asm = { "asmfmt" }, bash = { "shfmt" }, c = { "clang-format" }, cmake = { "cmake_format" }, diff --git a/lua/plugins/dap.lua b/lua/plugins/dap.lua index df8bddd..e831bb1 100644 --- a/lua/plugins/dap.lua +++ b/lua/plugins/dap.lua @@ -2,7 +2,7 @@ return { "mfussenegger/nvim-dap", dependencies = { "jayp0521/mason-nvim-dap.nvim", - "williamboman/mason.nvim", + "mason-org/mason.nvim", "rcarriga/nvim-dap-ui", "mfussenegger/nvim-dap", "nvim-neotest/nvim-nio", diff --git a/lua/plugins/gitsigns.lua b/lua/plugins/gitsigns.lua index 4d345f8..51c88ec 100644 --- a/lua/plugins/gitsigns.lua +++ b/lua/plugins/gitsigns.lua @@ -1,5 +1,6 @@ return { "lewis6991/gitsigns.nvim", + enabled = false, event = "BufReadPre", cmd = "Gitsigns", keys = { @@ -50,5 +51,11 @@ return { 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/jupyter.lua b/lua/plugins/jupyter.lua index f8d2879..aad1008 100644 --- a/lua/plugins/jupyter.lua +++ b/lua/plugins/jupyter.lua @@ -1,15 +1,15 @@ return { { "kiyoon/jupynium.nvim", - enabled = false, + -- enabled = false, dependencies = { - "rcarriga/nvim-notify", -- optional + -- "rcarriga/nvim-notify", -- optional -- "stevearc/dressing.nvim", -- optional, UI for :JupyniumKernelSelect }, - build = "uv tool install .", + build = "uv pip install .", event = "BufReadPre *.ju.py", opts = { - python_host = { "uvx", "jupynium", "python" }, + -- python_host = { "uvx", "jupynium", "python" }, }, config = function(_, opts) require("jupynium").setup(opts) @@ -18,7 +18,8 @@ return { }, { "goerz/jupytext.nvim", - version = "*", + build = "uv tool install jupytext", + version = "0.2.0", opts = {}, }, } diff --git a/lua/plugins/lsp.lua b/lua/plugins/lsp.lua index b393f20..4681cbf 100644 --- a/lua/plugins/lsp.lua +++ b/lua/plugins/lsp.lua @@ -1,8 +1,8 @@ return { "neovim/nvim-lspconfig", dependencies = { - "williamboman/mason.nvim", - "williamboman/mason-lspconfig.nvim", + "mason-org/mason.nvim", + "mason-org/mason-lspconfig.nvim", "saghen/blink.cmp", "nvim-telescope/telescope.nvim", "folke/trouble.nvim", diff --git a/lua/plugins/mini.lua b/lua/plugins/mini.lua index c6ec06b..865db7b 100644 --- a/lua/plugins/mini.lua +++ b/lua/plugins/mini.lua @@ -7,6 +7,7 @@ return { -- "pairs", "splitjoin", "surround", + "diff", }, }, config = function(_, opts) diff --git a/lua/plugins/neogit.lua b/lua/plugins/neogit.lua index ced45f7..56acd2b 100644 --- a/lua/plugins/neogit.lua +++ b/lua/plugins/neogit.lua @@ -18,41 +18,16 @@ return { { "gd", vim.cmd.DiffviewOpen, desc = "Git Diff" }, }, opts = { - -- Hides the hints at the top of the status buffer - disable_hint = false, - -- Disables changing the buffer highlights based on where the cursor is. - disable_context_highlighting = false, - -- Disables signs for sections/items/hunks - disable_signs = false, - -- Changes what mode the Commit Editor starts in. `true` will leave nvim in normal mode, `false` will change nvim to - -- insert mode, and `"auto"` will change nvim to insert mode IF the commit message is empty, otherwise leaving it in - -- normal mode. - disable_insert_on_commit = "auto", -- When enabled, will watch the `.git/` directory for changes and refresh the status buffer in response to filesystem -- events. filewatcher = { interval = 500, - enabled = true, - }, - -- "ascii" is the graph the git CLI generates - -- "unicode" is the graph like https://github.com/rbong/vim-flog - -- "kitty" is the graph like https://github.com/isakbm/gitgraph.nvim - use https://github.com/rbong/flog-symbols if you don't use Kitty - graph_style = "ascii", - -- Used to generate URL's for branch popup action "pull request". - git_services = { - ["github.com"] = "https://github.com/${owner}/${repository}/compare/${branch_name}?expand=1", - ["bitbucket.org"] = "https://bitbucket.org/${owner}/${repository}/pull-requests/new?source=${branch_name}&t=1", - ["gitlab.com"] = "https://gitlab.com/${owner}/${repository}/merge_requests/new?merge_request[source_branch]=${branch_name}", }, -- Allows a different telescope sorter. Defaults to 'fuzzy_with_index_bias'. The example below will use the native fzf -- sorter instead. By default, this function returns `nil`. telescope_sorter = function() return require("telescope").extensions.fzf.native_fzf_sorter() end, - -- Persist the values of switches/options within and across sessions - remember_settings = true, - -- Scope persisted settings on a per-project basis - use_per_project_settings = true, -- Table of settings to never persist. Uses format "Filetype--cli-value" ignored_settings = { "NeogitPushPopup--force-with-lease", @@ -61,58 +36,13 @@ return { "NeogitCommitPopup--allow-empty", "NeogitRevertPopup--no-edit", }, - -- Configure highlight group features - highlight = { - italic = true, - bold = true, - underline = true, - }, - -- Set to false if you want to be responsible for creating _ALL_ keymappings - use_default_keymaps = true, - -- Neogit refreshes its internal state after specific events, which can be expensive depending on the repository size. - -- Disabling `auto_refresh` will make it so you have to manually refresh the status after you open it. - auto_refresh = true, - -- Value used for `--sort` option for `git branch` command - -- By default, branches will be sorted by commit date descending - -- Flag description: https://git-scm.com/docs/git-branch#Documentation/git-branch.txt---sortltkeygt - -- Sorting keys: https://git-scm.com/docs/git-for-each-ref#_options - sort_branches = "-committerdate", - -- Change the default way of opening neogit - kind = "tab", -- Disable line numbers and relative line numbers disable_line_numbers = false, -- The time after which an output console is shown for slow running commands console_timeout = 1000, -- Automatically show console if a command takes more than console_timeout milliseconds - auto_show_console = true, - notification_icon = "󰊢", - status = { - recent_commit_count = 10, - }, commit_editor = { kind = "auto", - show_head_commit_hash = true, - recent_commit_count = 10, - HEAD_padding = 10, - HEAD_folded = false, - mode_padding = 3, - mode_text = { - M = "modified", - N = "new file", - A = "added", - D = "deleted", - C = "copied", - U = "updated", - R = "renamed", - DD = "unmerged", - AU = "unmerged", - UD = "unmerged", - UA = "unmerged", - DU = "unmerged", - AA = "unmerged", - UU = "unmerged", - ["?"] = "", - }, }, commit_select_view = { kind = "tab", @@ -126,224 +56,22 @@ return { staged_diff_split_kind = "split", spell_check = true, }, - commit_view = { - kind = "vsplit", - verify_commit = vim.fn.executable("gpg") == 1, -- Can be set to true or false, otherwise we try to find the binary - }, - log_view = { - kind = "tab", - }, - rebase_editor = { - kind = "auto", - }, - reflog_view = { - kind = "tab", - }, merge_editor = { kind = "tab", }, - tag_editor = { - kind = "auto", - }, preview_buffer = { kind = "split", }, - popup = { - kind = "split", - }, - stash = { - kind = "tab", - }, - refs_view = { - kind = "tab", - }, - signs = { - -- { CLOSED, OPENED } - hunk = { "", "" }, - item = { ">", "v" }, - section = { ">", "v" }, - }, - -- Each Integration is auto-detected through plugin presence, however, it can be disabled by setting to `false` - integrations = { - -- If enabled, use telescope for menu selection rather than vim.ui.select. - -- Allows multi-select and some things that vim.ui.select doesn't. - telescope = nil, - -- Neogit only provides inline diffs. If you want a more traditional way to look at diffs, you can use `diffview`. - -- The diffview integration enables the diff popup. - -- - -- Requires you to have `sindrets/diffview.nvim` installed. - diffview = nil, - - -- If enabled, uses fzf-lua for menu selection. If the telescope integration - -- is also selected then telescope is used instead - -- Requires you to have `ibhagwan/fzf-lua` installed. - fzf_lua = nil, - - -- If enabled, uses mini.pick for menu selection. If the telescope integration - -- is also selected then telescope is used instead - -- Requires you to have `echasnovski/mini.pick` installed. - mini_pick = nil, - }, sections = { -- Reverting/Cherry Picking - sequencer = { - folded = false, - hidden = false, - }, - untracked = { - folded = false, - hidden = false, - }, - unstaged = { - folded = false, - hidden = false, - }, - staged = { - folded = false, - hidden = false, - }, stashes = { folded = true, hidden = false, }, - unpulled_upstream = { - folded = true, - hidden = false, - }, - unmerged_upstream = { - folded = false, - hidden = false, - }, - unpulled_pushRemote = { - folded = true, - hidden = false, - }, - unmerged_pushRemote = { - folded = false, - hidden = false, - }, - recent = { - folded = true, - hidden = false, - }, - rebase = { - folded = true, - hidden = false, - }, }, mappings = { - commit_editor = { - ["q"] = "Close", - [""] = "Submit", - [""] = "Abort", - [""] = "PrevMessage", - [""] = "NextMessage", - [""] = "ResetMessage", - }, - commit_editor_I = { - [""] = "Submit", - [""] = "Abort", - }, - rebase_editor = { - ["p"] = "Pick", - ["r"] = "Reword", - ["e"] = "Edit", - ["s"] = "Squash", - ["f"] = "Fixup", - ["x"] = "Execute", - ["d"] = "Drop", - ["b"] = "Break", - ["q"] = "Close", - [""] = "OpenCommit", - ["gk"] = "MoveUp", - ["gj"] = "MoveDown", - [""] = "Submit", - [""] = "Abort", - ["[c"] = "OpenOrScrollUp", - ["]c"] = "OpenOrScrollDown", - }, - rebase_editor_I = { - [""] = "Submit", - [""] = "Abort", - }, finder = { - [""] = "Select", - [""] = "Close", - [""] = "Close", - [""] = "Next", - [""] = "Previous", - [""] = "Next", - [""] = "Previous", - [""] = "InsertCompletion", - [""] = "MultiselectToggleNext", - [""] = "MultiselectTogglePrevious", - -- [""] = "MultiselectTogglePrevious", ["q"] = "Close", - [""] = "NOP", - [""] = "ScrollWheelDown", - [""] = "ScrollWheelUp", - [""] = "NOP", - [""] = "NOP", - [""] = "MouseClick", - ["<2-LeftMouse>"] = "NOP", - }, - -- Setting any of these to `false` will disable the mapping. - popup = { - ["?"] = "HelpPopup", - ["A"] = "CherryPickPopup", - ["d"] = "DiffPopup", - ["M"] = "RemotePopup", - ["P"] = "PushPopup", - ["X"] = "ResetPopup", - ["Z"] = "StashPopup", - ["i"] = "IgnorePopup", - ["t"] = "TagPopup", - ["b"] = "BranchPopup", - ["B"] = "BisectPopup", - ["w"] = "WorktreePopup", - ["c"] = "CommitPopup", - ["f"] = "FetchPopup", - ["l"] = "LogPopup", - ["m"] = "MergePopup", - ["p"] = "PullPopup", - ["r"] = "RebasePopup", - ["v"] = "RevertPopup", - }, - status = { - ["j"] = "MoveDown", - ["k"] = "MoveUp", - ["o"] = "OpenTree", - ["q"] = "Close", - ["I"] = "InitRepo", - ["1"] = "Depth1", - ["2"] = "Depth2", - ["3"] = "Depth3", - ["4"] = "Depth4", - ["Q"] = "Command", - [""] = "Toggle", - ["x"] = "Discard", - ["s"] = "Stage", - ["S"] = "StageUnstaged", - [""] = "StageAll", - ["u"] = "Unstage", - ["K"] = "Untrack", - ["U"] = "UnstageStaged", - ["y"] = "ShowRefs", - ["$"] = "CommandHistory", - ["Y"] = "YankSelected", - [""] = "RefreshBuffer", - [""] = "GoToFile", - [""] = "GoToFile", - [""] = "PeekFile", - [""] = "VSplitOpen", - [""] = "SplitOpen", - [""] = "TabOpen", - ["{"] = "GoToPreviousHunkHeader", - ["}"] = "GoToNextHunkHeader", - ["[c"] = "OpenOrScrollUp", - ["]c"] = "OpenOrScrollDown", - [""] = "PeekUp", - [""] = "PeekDown", }, }, }, diff --git a/lua/plugins/oil.lua b/lua/plugins/oil.lua index 8a02d02..a3602d5 100644 --- a/lua/plugins/oil.lua +++ b/lua/plugins/oil.lua @@ -1,160 +1,66 @@ return { - "stevearc/oil.nvim", - dependencies = { - "nvim-tree/nvim-web-devicons", - }, - keys = { - { - "-", - vim.cmd.Oil, - desc = "Open parent directory", + { + "stevearc/oil.nvim", + dependencies = { + { "echasnovski/mini.icons", version = "*" }, + }, + keys = { + { + "-", + vim.cmd.Oil, + desc = "Open parent directory", + }, + }, + version = "*", + lazy = false, + 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 } }, + [""] = {}, + ["t"] = { "actions.select", opts = { tab = true } }, + [""] = { "actions.close", mode = "n" }, + [""] = "actions.refresh", + ["Y"] = "actions.copy_entry_path", + ["."] = { "actions.toggle_hidden", mode = "n" }, + }, + -- 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, + }, + }, }, }, - version = "*", - lazy = false, - opts = { - -- Oil will take over directory buffers (e.g. `vim .` or `:e src/`) - -- Set to false if you still want to use netrw. - default_file_explorer = true, - -- Id is automatically added at the beginning, and name at the end - -- See :help oil-columns - columns = { - "icon", - -- "permissions", - "size", - -- "mtime", - }, - -- Buffer-local options to use for oil buffers - buf_options = { - buflisted = false, - bufhidden = "hide", - }, - -- Window-local options to use for oil buffers - win_options = { - wrap = false, - signcolumn = "no", - cursorcolumn = false, - foldcolumn = "0", - spell = false, - list = false, - conceallevel = 3, - concealcursor = "n", - }, - -- Restore window options to previous values when leaving an oil buffer - restore_win_options = true, - -- Skip the confirmation popup for simple operations - skip_confirm_for_simple_edits = false, - -- Deleted files will be removed with the trash_command (below). - delete_to_trash = true, - -- Change this to customize the command used when deleting to trash - -- trash_command = "trash-put", - -- Selecting a new/moved/renamed file or directory will prompt you to save changes first - prompt_save_on_select_new_entry = 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 = { - ["g?"] = "actions.show_help", - [""] = "actions.select", - [""] = "actions.select_vsplit", - [""] = "actions.select_split", - ["t"] = "actions.select_tab", - [""] = "actions.preview", - [""] = "actions.close", - [""] = "actions.close", - [""] = "actions.refresh", - ["Y"] = "actions.copy_entry_path", - ["-"] = "actions.parent", - ["_"] = "actions.open_cwd", - ["`"] = "actions.cd", - ["~"] = "actions.tcd", - ["."] = "actions.toggle_hidden", - }, - -- Set to false to disable all of the above keymaps - use_default_keymaps = false, - view_options = { - -- Show files and directories that start with "." - show_hidden = true, - -- This function defines what is considered a "hidden" file - is_hidden_file = function(name, bufnr) - local m = name:match("^%.") - return m ~= nil - end, - -- This function defines what will never be shown, even when `show_hidden` is set - is_always_hidden = function(name, bufnr) - return false - end, - -- Sort file names with numbers in a more intuitive order for humans. - -- Can be "fast", true, or false. "fast" will turn it off for large directories. - natural_order = "fast", - -- Sort file and directory names case insensitive - case_insensitive = false, - sort = { - -- sort order can be "asc" or "desc" - -- see :help oil-columns to see which columns are sortable - { "type", "asc" }, - { "name", "asc" }, - }, - -- Customize the highlight group for the file name - highlight_filename = function(entry, is_hidden, is_link_target, is_link_orphan) - return nil - end, - }, - -- Configuration for the floating window in oil.open_float - float = { - -- Padding around the floating window - padding = 2, - max_width = 0, - max_height = 0, - border = "rounded", - win_options = { - winblend = 10, - }, - -- This is the config that will be passed to nvim_open_win. - -- Change values here to customize the layout - override = function(conf) - return conf - end, - }, - -- Configuration for the actions floating preview window - preview = { - -- Width dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) - -- min_width and max_width can be a single value or a list of mixed integer/float types. - -- max_width = {100, 0.8} means "the lesser of 100 columns or 80% of total" - max_width = 0.9, - -- min_width = {40, 0.4} means "the greater of 40 columns or 40% of total" - min_width = { 40, 0.4 }, - -- optionally define an integer/float for the exact width of the preview window - width = nil, - -- Height dimensions can be integers or a float between 0 and 1 (e.g. 0.4 for 40%) - -- min_height and max_height can be a single value or a list of mixed integer/float types. - -- max_height = {80, 0.9} means "the lesser of 80 columns or 90% of total" - max_height = 0.9, - -- min_height = {5, 0.1} means "the greater of 5 columns or 10% of total" - min_height = { 5, 0.1 }, - -- optionally define an integer/float for the exact height of the preview window - height = nil, - border = "rounded", - win_options = { - winblend = 0, - }, - }, - -- Configuration for the floating progress window - progress = { - max_width = 0.9, - min_width = { 40, 0.4 }, - width = nil, - max_height = { 10, 0.9 }, - min_height = { 5, 0.1 }, - height = nil, - border = "rounded", - minimized_border = "none", - win_options = { - winblend = 0, - }, - }, + { + "benomahony/oil-git.nvim", + dependencies = { "stevearc/oil.nvim" }, + }, + { + "JezerM/oil-lsp-diagnostics.nvim", + dependencies = { "stevearc/oil.nvim" }, + opts = {}, }, } diff --git a/lua/plugins/snacks.lua b/lua/plugins/snacks.lua index c44fd07..b6741cb 100644 --- a/lua/plugins/snacks.lua +++ b/lua/plugins/snacks.lua @@ -1,7 +1,7 @@ return { "folke/snacks.nvim", dependencies = { - "echasnovski/mini.icons", + { "echasnovski/mini.icons", version = "*" }, "stevearc/oil.nvim", }, priority = 1000, @@ -19,7 +19,7 @@ return { debug = { enabled = true }, dim = { enabled = true }, explorer = { enabled = false }, - git = { enabled = false }, + git = { enabled = true }, gitbrowse = { enabled = true }, image = { enabled = false, @@ -38,6 +38,7 @@ return { layout = { enabled = false }, lazygit = { enabled = false }, notifier = { enabled = false }, + notify = { enabled = false }, picker = { enabled = false }, profiler = { enabled = false }, quickfile = { enabled = true, exclude = { "latex" } }, @@ -49,6 +50,10 @@ return { enabled = true, left = { "mark", "sign", "git" }, right = { "fold" }, + folds = { + open = true, -- show open fold icons + git_hl = true, -- use Git Signs hl for fold icons + }, }, terminal = { enabled = false }, toggle = { enabled = true }, @@ -79,6 +84,14 @@ return { end, desc = "Git Browse", }, + + { + "gb", + function() + Snacks.git.blame_line() + end, + desc = "Git Blame", + }, }, init = function() vim.api.nvim_create_autocmd("User", { diff --git a/lua/plugins/ts-autotag.lua b/lua/plugins/ts-autotag.lua index 66f96ac..bcc4c3d 100644 --- a/lua/plugins/ts-autotag.lua +++ b/lua/plugins/ts-autotag.lua @@ -1,7 +1,6 @@ return { "windwp/nvim-ts-autotag", - ft = { "javascriptreact", "typescriptreact", "php" }, - events = { "BufReadPre" }, + events = { "BufReadPre", "BufNewFile" }, opts = { opts = { -- Defaults diff --git a/lua/plugins/ufo.lua b/lua/plugins/ufo.lua index 1d48772..48eee72 100644 --- a/lua/plugins/ufo.lua +++ b/lua/plugins/ufo.lua @@ -1,6 +1,9 @@ return { "kevinhwang91/nvim-ufo", - dependencies = { "kevinhwang91/promise-async" }, + dependencies = { + "kevinhwang91/promise-async", + "kiyoon/jupynium.nvim", + }, event = "BufWinEnter", keys = { { diff --git a/lua/plugins/which-key.lua b/lua/plugins/which-key.lua index f23d3b5..510dd80 100644 --- a/lua/plugins/which-key.lua +++ b/lua/plugins/which-key.lua @@ -2,7 +2,7 @@ return { "folke/which-key.nvim", event = "VeryLazy", dependencies = { - "echasnovski/mini.icons", + { "echasnovski/mini.icons", version = "*" }, }, version = "v3", keys = {