diff --git a/.config/kitty/kitty.conf b/.config/kitty/kitty.conf index 067de165..3f04ff08 120000 --- a/.config/kitty/kitty.conf +++ b/.config/kitty/kitty.conf @@ -1 +1 @@ -kitty.conf##hostname.dpad \ No newline at end of file +kitty.conf##hostname.dbox \ No newline at end of file diff --git a/.config/nvim-min/.gitignore b/.config/nvim-min/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/.config/nvim-min/LICENSE b/.config/nvim-min/LICENSE new file mode 100644 index 00000000..261eeb9e --- /dev/null +++ b/.config/nvim-min/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/.config/nvim-min/README.md b/.config/nvim-min/README.md new file mode 100644 index 00000000..ae6c4a9b --- /dev/null +++ b/.config/nvim-min/README.md @@ -0,0 +1,11 @@ +# đŸ’€ FicVim + +My personal Neovim configuration based on [LazyVim](https://github.com/LazyVim/LazyVim). + +Currently I'm using `obsidian.nvim` for note-taking. + +The colorscheme is a heavily modified version of `noirbuddy.nvim`. + +A note on keybindings: I use Colemak-DH, which is a non-qwerty keyboard layout. I use either `MNEI` or the arrow keys (which is a mod key + `MNEI` on my keyboard) for navigation, depending on a few different factors. + +Therefore, some of these bindings may seem weird. diff --git a/.config/nvim-min/init.lua b/.config/nvim-min/init.lua new file mode 100644 index 00000000..2514f9ed --- /dev/null +++ b/.config/nvim-min/init.lua @@ -0,0 +1,2 @@ +-- bootstrap lazy.nvim, LazyVim and your plugins +require("config.lazy") diff --git a/.config/nvim-min/lazy-lock.json b/.config/nvim-min/lazy-lock.json new file mode 100644 index 00000000..b74e6043 --- /dev/null +++ b/.config/nvim-min/lazy-lock.json @@ -0,0 +1,69 @@ +{ + "LazyVim": { "branch": "main", "commit": "4d596cf4b4dcb369b2aef7e4d09635416b6c5a3f" }, + "SchemaStore.nvim": { "branch": "main", "commit": "291b15c6a03d8f859da8d83f46ed41ae6bb0ea8d" }, + "bufferline.nvim": { "branch": "main", "commit": "5cc447cb2b463cb499c82eaeabbed4f5fa6a0a44" }, + "catppuccin": { "branch": "main", "commit": "637d99e638bc6f1efedac582f6ccab08badac0c6" }, + "clangd_extensions.nvim": { "branch": "main", "commit": "8f7b72100883e0e34400d9518d40a03f21e4d0a6" }, + "cmake-tools.nvim": { "branch": "master", "commit": "53bc5261e1e0b0d28be465d2b2b07a6f0646e1eb" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-git": { "branch": "main", "commit": "ec049036e354ed8ed0215f2427112882e1ea7051" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "colorbuddy.nvim": { "branch": "master", "commit": "8b968581e5c19d22a861d5f3fe5dbd83394fa681" }, + "conform.nvim": { "branch": "master", "commit": "62d5accad8b29d6ba9b58d3dff90c43a55621c60" }, + "dashboard-nvim": { "branch": "master", "commit": "ae309606940d26d8c9df8b048a6e136b6bbec478" }, + "dressing.nvim": { "branch": "master", "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" }, + "flash.nvim": { "branch": "main", "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" }, + "flit.nvim": { "branch": "main", "commit": "1ef72de6a02458d31b10039372c8a15ab8989e0d" }, + "friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" }, + "grug-far.nvim": { "branch": "main", "commit": "9a2f78219390b47d67795ab09390d7f092e23976" }, + "inc-rename.nvim": { "branch": "main", "commit": "8ba77017ca468f3029bf88ef409c2d20476ea66b" }, + "indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" }, + "lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" }, + "lazydev.nvim": { "branch": "main", "commit": "d5800897d9180cea800023f2429bce0a94ed6064" }, + "leap.nvim": { "branch": "main", "commit": "c6bfb191f1161fbabace1f36f578a20ac6c7642c" }, + "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, + "luvit-meta": { "branch": "main", "commit": "57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7" }, + "markdown.nvim": { "branch": "master", "commit": "dfa0d2def6dbf77e9206b16dc90cad4dd23d55d2" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "43894adcf10bb1190c2184bd7c1750e8ea2b3dce" }, + "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, + "mini.ai": { "branch": "main", "commit": "31c149067d38b97720d2a179619f7745a0006ecc" }, + "mini.comment": { "branch": "main", "commit": "a56581c40c19fa26f2b39da72504398de3173c5a" }, + "mini.diff": { "branch": "main", "commit": "65c59f9967fec965d8759a88c1baa43147699035" }, + "mini.files": { "branch": "main", "commit": "6abe854f1410fc6aec69897a78b1db994c32d9c6" }, + "mini.icons": { "branch": "main", "commit": "54686be7d58807906cb2c8c2216e0bf9c044f19a" }, + "mini.move": { "branch": "main", "commit": "4caa1c212f5ca3d1633d21cfb184808090ed74b1" }, + "mini.pairs": { "branch": "main", "commit": "7e834c5937d95364cc1740e20d673afe2d034cdb" }, + "mini.surround": { "branch": "main", "commit": "48a9795c9d352c771e1ab5dedab6063c0a2df037" }, + "neotest": { "branch": "master", "commit": "6d3d22cdad49999ef774ebe1bc250a4994038964" }, + "neotest-python": { "branch": "master", "commit": "a2861ab3c9a0bf75a56b11835c2bfc8270f5be7e" }, + "noice.nvim": { "branch": "main", "commit": "481059e08198298a52067ac48a334262f117e355" }, + "nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" }, + "nvim-cmp": { "branch": "main", "commit": "be7bd4c5f860c79da97af3a26d489af50babfd4b" }, + "nvim-dap": { "branch": "master", "commit": "cc92b054720a96170eca6bd9bdedd43d2b0a7a8a" }, + "nvim-dap-python": { "branch": "master", "commit": "3e3dd98d4d83715c9e0e429b4a5da7bd706e6ceb" }, + "nvim-lint": { "branch": "master", "commit": "8e9562de7261e5b862c631958df616e1a65552cd" }, + "nvim-lspconfig": { "branch": "master", "commit": "291a8f1a319dc712db85bcc174b0cf406f0a5b69" }, + "nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" }, + "nvim-noirbuddy": { "branch": "master", "commit": "7fa6c8963585f97c9e37a62a00751f4d9d480f95" }, + "nvim-snippets": { "branch": "main", "commit": "56b4052f71220144689caaa2e5b66222ba5661eb" }, + "nvim-treesitter": { "branch": "master", "commit": "eff88f4e8b71d92bdcaeca6e4f7e1e146b263614" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "3e450cd85243da99dc23ebbf14f9c70e9a0c26a4" }, + "nvim-ts-autotag": { "branch": "main", "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "9c74db656c3d0b1c4392fc89a016b1910539e7c0" }, + "persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" }, + "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, + "refactoring.nvim": { "branch": "master", "commit": "2db6d378e873de31d18ade549c2edba64ff1c2e3" }, + "snacks.nvim": { "branch": "main", "commit": "922602dc1a00984de0361d4187063abbae2e11c3" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, + "telescope.nvim": { "branch": "master", "commit": "85922dde3767e01d42a08e750a773effbffaea3e" }, + "todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" }, + "tokyonight.nvim": { "branch": "main", "commit": "c2725eb6d086c8c9624456d734bd365194660017" }, + "trouble.nvim": { "branch": "main", "commit": "3dc00c0447c016cd43e03054c3d49436a1f2076d" }, + "ts-comments.nvim": { "branch": "main", "commit": "2002692ad1d3f6518d016550c20c2a890f0cbf0e" }, + "venv-selector.nvim": { "branch": "regexp", "commit": "e82594274bf7b54387f9a2abe65f74909ac66e97" }, + "vim-dirtytalk": { "branch": "master", "commit": "aa57ba902b04341a04ff97214360f56856493583" }, + "vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" }, + "which-key.nvim": { "branch": "main", "commit": "68e37e12913a66b60073906f5d3f14dee0de19f2" }, + "yanky.nvim": { "branch": "main", "commit": "f9b905994cccf3c55f41af3a0a1f4c76c844e411" } +} diff --git a/.config/nvim-min/lazyvim.json b/.config/nvim-min/lazyvim.json new file mode 100644 index 00000000..0bbe222f --- /dev/null +++ b/.config/nvim-min/lazyvim.json @@ -0,0 +1,29 @@ +{ + "extras": [ + "lazyvim.plugins.extras.coding.mini-comment", + "lazyvim.plugins.extras.coding.mini-surround", + "lazyvim.plugins.extras.coding.yanky", + "lazyvim.plugins.extras.editor.inc-rename", + "lazyvim.plugins.extras.editor.leap", + "lazyvim.plugins.extras.editor.mini-diff", + "lazyvim.plugins.extras.editor.mini-files", + "lazyvim.plugins.extras.editor.mini-move", + "lazyvim.plugins.extras.editor.refactoring", + "lazyvim.plugins.extras.lang.clangd", + "lazyvim.plugins.extras.lang.cmake", + "lazyvim.plugins.extras.lang.docker", + "lazyvim.plugins.extras.lang.git", + "lazyvim.plugins.extras.lang.json", + "lazyvim.plugins.extras.lang.php", + "lazyvim.plugins.extras.lang.python", + "lazyvim.plugins.extras.lang.toml", + "lazyvim.plugins.extras.lang.yaml", + "lazyvim.plugins.extras.test.core", + "lazyvim.plugins.extras.ui.dashboard-nvim", + "lazyvim.plugins.extras.util.dot" + ], + "news": { + "NEWS.md": "7429" + }, + "version": 7 +} \ No newline at end of file diff --git a/.config/nvim-min/lua/command-key.lua b/.config/nvim-min/lua/command-key.lua new file mode 100644 index 00000000..bd0c9086 --- /dev/null +++ b/.config/nvim-min/lua/command-key.lua @@ -0,0 +1,8 @@ +-- TODO: turn this into a plugin? lol +local M = {} + +function M.command(command_name) + vim.cmd('call feedkeys(":' .. command_name .. ' ", "n")') +end + +return M diff --git a/.config/nvim-min/lua/config/autocmds.lua b/.config/nvim-min/lua/config/autocmds.lua new file mode 100644 index 00000000..27351898 --- /dev/null +++ b/.config/nvim-min/lua/config/autocmds.lua @@ -0,0 +1,73 @@ +-- Autocmds are automatically loaded on the VeryLazy event +-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- Add any additional autocmds here +vim.opt_local.breakindent = true +vim.opt_local.wrap = true +vim.api.nvim_create_autocmd("FileType", { + pattern = "python", + callback = function() + local cl = require("colorbuddy") + cl.Group.new("@variable", cl.colors.primary) + cl.Group.new("@string", cl.colors.secondary) + cl.Group.new("@keyword", cl.colors.complement) + cl.Group.new("@keyword.operator", cl.colors.complement) + cl.Group.new("@constant.builtin", cl.colors.complement) + end, +}) +-- vim.api.nvim_create_autocmd("FileType", { +-- pattern = "tex", +-- callback = function() +-- vim.cmd([[ +-- syntax match texMathSymbol "\\oplus" conceal cchar=⊕ +-- ]]) +-- end, +-- }) +-- This autocommand fixes syntax highlighting for inline math in markdown files +-- Together with vimtex, it will apply very sexy good stuff here! +-- vim.api.nvim_create_autocmd("FileType", { +-- patterm = "tex", +-- callback = function() +-- vim.api.nvim_create_autocmd("BufWrite", { +-- buffer = 0, +-- callback = function() +-- vim.api.nvim_command("VimtexCompile") +-- end, +-- }) +-- end, +-- }) +vim.api.nvim_create_autocmd("FileType", { + pattern = "markdown", + callback = function() + vim.cmd([[ + syn region mathBlock start=/\$\$/ end=/\$\$/ contains=@tex + " inline math + syn match mathInline '\$[^$].\{-}\$' contains=@tex + " actually highlight the region we defined as "math" + syn include @tex syntax/tex.vim + hi def link mathBlock Statement + hi def link mathInline Statement + ]]) + end, +}) +vim.api.nvim_create_autocmd({ "FileType" }, { + pattern = { "markdown" }, + callback = function() + vim.opt_local.breakindent = true + -- We want markdown files to autosave + vim.api.nvim_create_autocmd({ "InsertLeave", "TextChanged" }, { + buffer = 0, + command = "silent! write", + }) + vim.keymap.set("i", "", function() + local md_utils = require("md-utils") + local isList = md_utils.isCursorInList() + if isList then + vim.api.nvim_command("MDListItemBelow") + else + vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("", true, true, true), "n", true) + end + end, { desc = "Continue List", silent = true, remap = true }) + vim.opt_local.wrap = true + vim.opt_local.spell = false + end, +}) diff --git a/.config/nvim-min/lua/config/keymaps-pre-colemak.bak b/.config/nvim-min/lua/config/keymaps-pre-colemak.bak new file mode 100644 index 00000000..859c7adc --- /dev/null +++ b/.config/nvim-min/lua/config/keymaps-pre-colemak.bak @@ -0,0 +1,117 @@ +-- Keymaps are automatically loaded on the VeryLazy event +-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua +-- Add any additional keymaps here +local map = vim.keymap.set +local wk = require("which-key") + +vim.keymap.set({ "i", "n" }, "", "") + +local dirmap = { + up = "w0", + down = "w$", +} + +-- Bind arrows to hjkl to my colemak-dh motions work as expected +map({ "n", "x" }, "", "k", { desc = "Up", remap = true }) +map({ "n", "x" }, "", "j", { desc = "Down", remap = true }) +map({ "n", "x" }, "", "h", { desc = "Left", remap = true }) +map({ "n", "x" }, "", "l", { desc = "Right", remap = true }) + +map({ "n", "t", "i" }, "", " TmuxNavigateLeft", { desc = "Switch Window Left", remap = true }) +map({ "n", "t", "i" }, "", " TmuxNavigateRight", { desc = "Switch Window Right", remap = true }) +map({ "n", "t", "i" }, "", " TmuxNavigateUp", { remap = true }) +map({ "n", "t", "i" }, "", " TmuxNavigateDown", { desc = "Switch Window Down", remap = true }) + +map({ "x" }, "", "", { remap = true }) +map({ "x" }, "", "", { remap = true }) +map({ "n", "x", "v" }, "", "", { remap = true }) +map({ "n", "x", "v" }, "", "", { remap = true }) +map({ "n" }, "", "[b", { desc = "Previous Buffer", remap = true }) +map({ "n" }, "", "]b", { desc = "Next Buffer", remap = true }) +map({ "n" }, "", "5j", { remap = true }) +map({ "n" }, "", "5k", { remap = true }) +map({ "i" }, "", "", { desc = "Escape insert mode", remap = true }) + +-- better navigation +map({ "n" }, "", "zz", { remap = false }) +map({ "n" }, "", "zz", { remap = false }) +map({ "n" }, "n", "nzz", { remap = false }) +map({ "n" }, "N", "Nzz", { remap = false }) +map({ "n" }, "", "zz", { remap = false }) +map({ "n" }, "", "zz", { remap = false }) +map({ "n", "x" }, "", "$", { remap = false }) +map({ "n", "x" }, "", "0", { remap = false }) + +-- easily access null register +map({ "n", "x" }, "n", '"_', { remap = false, silent = true, desc = "Null Register" }) + +-- remove the default lazyvim, and also swap H and L (for move cursor) to make more sense on colemak +vim.keymap.del({ "n" }, "") +vim.keymap.del({ "n" }, "") +map({ "n" }, "", "L", { remap = false }) +map({ "n" }, "", "H", { remap = false }) +-- better delete and put + +-- better quit +map("n", "", "qa", { desc = "Quit All" }) + +map("n", "", function() + Snacks.bufdelete() +end, { remap = true, desc = "Delete Buffer" }) + +-- yank history +map({ "n", "x" }, "fp", function() + if LazyVim.pick.picker.name == "telescope" then + require("telescope").extensions.yank_history.yank_history({}) + else + vim.cmd([[YankyRingHistory]]) + end +end, { desc = "Open Yank History", remap = false }) + +-- TODO: add leader + y for save current buf, leader + Y to write all +map({ "n", "x" }, "y", ":w", { desc = "Save" }) +map({ "n", "x" }, "Y", ":wa", { desc = "Save All" }) + +-- Zen Mode +map("n", "uz", "ZenMode", { desc = "Toggle Zen Mode" }) + +-- Source Current File +map("n", "x", "source %", { desc = "Source current file" }) + +-- Obsidian +-- o is the prefix for all Obsidian bindings + +wk.add({ + { "o", group = "Obsidian" }, + { "od", group = "Daily Note" }, + { "ol", group = "Follow Link" }, +}) + +map("n", "oo", "ObsidianQuickSwitch", { desc = "Obsidian Quick Switch" }) +map("n", "o/", "ObsidianSearch", { desc = "Obsidian Grep" }) +-- This one will open the command line and let the user type the arg +map("n", "on", function() + require("command-key").command("ObsidianNew") +end, { desc = "Obsidian New Note" }) +map("n", "ob", "ObsidianBacklinks", { desc = "Obsidian Backlinks" }) +map("n", "ot", "ObsidianTags", { desc = "Obsidian Tags" }) +map("n", "olv", "ObsidianFollowLink vsplit", { desc = "Obsidian Follow Link Vsplit" }) +map("n", "olh", "ObsidianFollowLink hsplit", { desc = "Obsidian Follow Link Hsplit" }) +map("n", "odt", "ObsidianToday", { desc = "Obsidian Open Today's Daily" }) +map("n", "ods", "ObsidianDailies", { desc = "Obsidian Search Dailies" }) +map("n", "ols", "ObsidianLinks", { desc = "Obsidian Search Links" }) +map("x", "oll", function() + require("command-key").command("ObsidianLink") +end, { desc = "Obsidian Link Visual To Existing Note" }) +map("x", "oln", function() + require("command-key").command("ObsidianLinkNew") +end, { desc = "Obsidian Link Visual To New Note" }) +map("x", "ole", function() + require("command-key").command("ObsidianExtractNote") +end, { desc = "Obsidian Copy Selection To New Note & Link" }) + +map("n", "or", function() + require("command-key").command("ObsidianRename") +end, { desc = "Obsidian Rename" }) +map("n", "oc", "ObsidianTOC", { desc = "Obsidian Table Of Contents" }) +-- TODO: Add binds for templates diff --git a/.config/nvim-min/lua/config/keymaps.lua b/.config/nvim-min/lua/config/keymaps.lua new file mode 100644 index 00000000..686402b4 --- /dev/null +++ b/.config/nvim-min/lua/config/keymaps.lua @@ -0,0 +1,114 @@ +-- Keymaps are automatically loaded on the VeryLazy event +-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua +-- Add any additional keymaps here +local map = vim.keymap.set +local wk = require("which-key") + +vim.keymap.set({ "i", "n" }, "", "") + +-- Bind arrows to hjkl to my colemak-dh motions work as expected +map({ "n", "x" }, "", "k", { desc = "Up", remap = true }) +map({ "n", "x" }, "", "j", { desc = "Down", remap = true }) +map({ "n", "x" }, "", "h", { desc = "Left", remap = true }) +map({ "n", "x" }, "", "l", { desc = "Right", remap = true }) + +map({ "n", "t", "i" }, "", "h", { desc = "Switch Window Left", remap = true }) +map({ "n", "t", "i" }, "", "j", { desc = "Switch Window Right", remap = true }) +map({ "n", "t", "i" }, "", "k", { remap = true }) +map({ "n", "t", "i" }, "", "l", { desc = "Switch Window Down", remap = true }) + +map({ "x" }, "", "", { remap = true }) +map({ "x" }, "", "", { remap = true }) +map({ "n", "x", "v" }, "", "", { remap = true }) +map({ "n", "x", "v" }, "", "", { remap = true }) +map({ "n" }, "", "[b", { desc = "Previous Buffer", remap = true }) +map({ "n" }, "", "]b", { desc = "Next Buffer", remap = true }) +map({ "n" }, "", "5j", { remap = true }) +map({ "n" }, "", "5k", { remap = true }) +map({ "i" }, "", "", { desc = "Escape insert mode", remap = true }) + +-- better navigation +map({ "n" }, "", "zz", { remap = false }) +map({ "n" }, "", "zz", { remap = false }) +map({ "n" }, "n", "nzz", { remap = false }) +map({ "n" }, "N", "Nzz", { remap = false }) +map({ "n" }, "", "zz", { remap = false }) +map({ "n" }, "", "zz", { remap = false }) +map({ "n", "x" }, "", "$", { remap = false }) +map({ "n", "x" }, "", "0", { remap = false }) + +-- easily access null register +map({ "n", "x" }, "n", '"_', { remap = false, silent = true, desc = "Null Register" }) + +-- remove the default lazyvim, and also swap H and L (for move cursor) to make more sense on colemak +vim.keymap.del({ "n" }, "") +vim.keymap.del({ "n" }, "") +map({ "n" }, "", "L", { remap = false }) +map({ "n" }, "", "H", { remap = false }) +-- better delete and put + +-- better quit +map("n", "", "qa", { desc = "Quit All" }) + +map("n", "", function() + Snacks.bufdelete() +end, { remap = true, desc = "Delete Buffer" }) + +-- yank history +map({ "n", "x" }, "fp", function() + if LazyVim.pick.picker.name == "telescope" then + require("telescope").extensions.yank_history.yank_history({}) + else + vim.cmd([[YankyRingHistory]]) + end +end, { desc = "Open Yank History", remap = false }) + +-- TODO: add leader + y for save current buf, leader + Y to write all +map({ "n", "x" }, "y", ":w", { desc = "Save" }) +map({ "n", "x" }, "Y", ":wa", { desc = "Save All" }) + +-- Zen Mode +-- map("n", "uz", "ZenMode", { desc = "Toggle Zen Mode" }) + +-- Source Current File +map("n", "x", "source %", { desc = "Source current file" }) + +-- Obsidian +-- o is the prefix for all Obsidian bindings + +wk.add({ + { "o", group = "Obsidian" }, + { "od", group = "Daily Note" }, + { "ol", group = "Follow Link" }, +}) + +map("n", "oo", "ObsidianQuickSwitch", { desc = "Obsidian Quick Switch" }) +map("n", "o/", "ObsidianSearch", { desc = "Obsidian Grep" }) +-- This one will open the command line and let the user type the arg +map("n", "on", function() + require("command-key").command("ObsidianNew") +end, { desc = "Obsidian New Note" }) +map("n", "ob", "ObsidianBacklinks", { desc = "Obsidian Backlinks" }) +map("n", "ot", "ObsidianTags", { desc = "Obsidian Tags" }) +map("n", "olv", "ObsidianFollowLink vsplit", { desc = "Obsidian Follow Link Vsplit" }) +map("n", "olh", "ObsidianFollowLink hsplit", { desc = "Obsidian Follow Link Hsplit" }) +map("n", "odt", "ObsidianToday", { desc = "Obsidian Open Today's Daily" }) +map("n", "ods", "ObsidianDailies", { desc = "Obsidian Search Dailies" }) +map("n", "ols", "ObsidianLinks", { desc = "Obsidian Search Links" }) +map("x", "oll", function() + require("command-key").command("ObsidianLink") +end, { desc = "Obsidian Link Visual To Existing Note" }) +map("x", "oln", function() + require("command-key").command("ObsidianLinkNew") +end, { desc = "Obsidian Link Visual To New Note" }) +map("x", "ole", function() + require("command-key").command("ObsidianExtractNote") +end, { desc = "Obsidian Copy Selection To New Note & Link" }) + +map("n", "or", function() + require("command-key").command("ObsidianRename") +end, { desc = "Obsidian Rename" }) +map("n", "oc", "ObsidianTOC", { desc = "Obsidian Table Of Contents" }) +-- TODO: Add binds for templates +-- cmdh.fix_hjkl() +-- cmdh.fix_all() diff --git a/.config/nvim-min/lua/config/lazy.lua b/.config/nvim-min/lua/config/lazy.lua new file mode 100644 index 00000000..0a0b5014 --- /dev/null +++ b/.config/nvim-min/lua/config/lazy.lua @@ -0,0 +1,53 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup({ + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = {} }, + checker = { + enabled = true, -- check for plugin updates periodically + notify = false, -- notify on update + }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, +}) diff --git a/.config/nvim-min/lua/config/options.lua b/.config/nvim-min/lua/config/options.lua new file mode 100644 index 00000000..54b38985 --- /dev/null +++ b/.config/nvim-min/lua/config/options.lua @@ -0,0 +1,8 @@ +-- Options are automatically loaded before lazy.nvim startup +-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua +-- Add any additional options here +local opt = vim.opt +opt.scrolloff = 2 + +opt.spell = false +-- opt.spelloptions = "camel" diff --git a/.config/nvim-min/lua/link-hl.lua b/.config/nvim-min/lua/link-hl.lua new file mode 100644 index 00000000..562d8d17 --- /dev/null +++ b/.config/nvim-min/lua/link-hl.lua @@ -0,0 +1,59 @@ +local M = {} + +-- test comment + +M.go_map = { + -- ["@lsp.type.class"] = { link = "Structure" }, + -- ["@lsp.type.decorator"] = { link = "Function" }, + -- ["@lsp.type.enum"] = { link = "Structure" }, + -- ["@lsp.type.enumMember"] = { link = "Constant" }, + -- ["@lsp.type.function"] = { link = "Function" }, + -- ["@lsp.type.interface"] = { link = "Structure" }, + ["@lsp.type.macro"] = "Macro", + ["@lsp.type.method"] = "@function.method", -- Function + ["@lsp.type.namespace"] = "@module", -- Structure + ["@lsp.type.parameter"] = "@variable.parameter", -- Identifier + -- ["@lsp.type.property"] = { link = "Identifier" }, + -- ["@lsp.type.struct"] = { link = "Structure" }, + -- ["@lsp.type.type"] = { link = "Type" }, + -- ["@lsp.type.typeParameter"] = { link = "TypeDef" }, + ["@lsp.type.variable"] = "@variable", -- Identifier + ["@lsp.type.comment"] = "@comment", -- Comment + ["@lsp.type.type"] = "gotype", + + ["@lsp.type.selfParameter"] = "@variable.builtin", + -- ["@lsp.type.builtinConstant"] = { link = "@constant.builtin" }, + ["@lsp.type.builtinConstant"] = "@constant.builtin", + ["@lsp.type.magicFunction"] = "@function.builtin", + + ["@lsp.mod.readonly"] = "Constant", + ["@lsp.mod.typeHint"] = "Type", + -- ["@lsp.mod.defaultLibrary"] = { link = "Special" }, + -- ["@lsp.mod.builtin"] = { link = "Special" }, + + ["@lsp.typemod.operator.controlFlow"] = "@keyword.exception", + ["@lsp.typemod.keyword.documentation"] = "Special", + + ["@lsp.typemod.variable.global"] = "Constant", + ["@lsp.typemod.variable.static"] = "Constant", + ["@lsp.typemod.variable.defaultLibrary"] = "Special", + + ["@lsp.typemod.function.builtin"] = "@function.builtin", + ["@lsp.typemod.function.defaultLibrary"] = "@function.builtin", + ["@lsp.typemod.method.defaultLibrary"] = "@function.builtin", + + ["@lsp.typemod.operator.injected"] = "Operator", + ["@lsp.typemod.string.injected"] = "String", + ["@lsp.typemod.variable.injected"] = "@variable", + + -- ["@lsp.typemod.function.readonly"] = { fg = theme.syn.fun, bold = true }, +} + +function M.link(table, lang) + for hl, input in pairs(table) do + local l = input .. "." .. lang + vim.api.nvim_set_hl(0, hl, { link = l }) + end +end + +return M diff --git a/.config/nvim-min/lua/md-utils.lua b/.config/nvim-min/lua/md-utils.lua new file mode 100644 index 00000000..5de8eddd --- /dev/null +++ b/.config/nvim-min/lua/md-utils.lua @@ -0,0 +1,11 @@ +local M = {} + +M.isCursorInList = function() + local line = vim.api.nvim_get_current_line() + if line:match("^%s*[%-%*%+]%s+") or line:match("^%s*%d+%.%s+") then + return true + end + return false +end + +return M diff --git a/.config/nvim-min/lua/plugins/dashboard.lua b/.config/nvim-min/lua/plugins/dashboard.lua new file mode 100644 index 00000000..51355823 --- /dev/null +++ b/.config/nvim-min/lua/plugins/dashboard.lua @@ -0,0 +1,103 @@ +return { + "nvimdev/dashboard-nvim", + lazy = false, -- As https://github.com/nvimdev/dashboard-nvim/pull/450, dashboard-nvim shouldn't be lazy-loaded to properly handle stdin. + opts = function() + -- local logo = [[ + -- ██╗ █████╗ ███████╗██╗ ██╗██╗ ██╗██╗███╗ ███╗ Z + -- ██║ ██╔══██╗╚══███╔╝╚██╗ ██╔╝██║ ██║██║████╗ ████║ Z + -- ██║ ███████║ ███╔╝ ╚████╔╝ ██║ ██║██║██╔████╔██║ z + -- ██║ ██╔══██║ ███╔╝ ╚██╔╝ ╚██╗ ██╔╝██║██║╚██╔╝██║ z + -- ███████╗██║ ██║███████╗ ██║ ╚████╔╝ ██║██║ ╚═╝ ██║ + -- ╚══════╝╚═╝ ╚═╝╚══════╝ ╚═╝ ╚═══╝ ╚═╝╚═╝ ╚═╝ + -- ]] + + local saturn = [[ + _.oo. + _.u[[/;:,. .odMMMMMM' + .o888UU[[[/;:-. .o@P^ MMM^ + oN88888UU[[[/;::-. dP^ + dNMMNN888UU[[[/;:--. .o@P^ + ,MMMMMMN888UU[[/;::-. o@^ + NNMMMNN888UU[[[/~.o@P^ + 888888888UU[[[/o@^-.. + oI8888UU[[[/o@P^:--.. + .@^ YUU[[[/o@^;::---.. + oMP ^/o@P^;:::---.. + .dMMM .o@^ ^;::---... + dMMMMMMM@^` `^^^^ +YMMMUP^ + ^^ +]] + + -- logo = string.rep("\n", 8) .. logo .. "\n\n" + saturn = string.rep("\n", 8) .. saturn .. "\n\n" + + local function loadObsidian() + -- require("lazy").setup(require("plugins.obsidian")) + require("obsidian") + -- vim.api.nvim_input("ObsidianWorkspace") + vim.api.nvim_input("ObsidianTags") + end + local function openConfig() + local dir = "~/.config/nvim/" + vim.api.nvim_set_current_dir(dir) + vim.cmd("edit" .. dir) + end + + local opts = { + theme = "doom", + hide = { + -- this is taken care of by lualine + -- enabling this messes up the actual laststatus setting after loading a file + statusline = false, + }, + config = { + -- header = vim.split(logo, "\n"), + header = vim.split(saturn, "\n"), + -- stylua: ignore + center = { + -- { action = function() vim.cmd("edit " .. "~/second-brain/00-index/00-index.md") end, desc = " Open Obsidian Vault", icon = " ", key = "o" }, + -- { action = 'lua LazyVim.pick()()', desc = " Find File", icon = " ", key = "f" }, + -- { action = loadObsidian, desc = " Obsidian Tags", icon = "󱀇 ", key = "o" }, + { action = "ene | startinsert", desc = " New File", icon = " ", key = "n" }, + -- { action = function () vim.api.nvim_input("ObsidianQuickSwitch") end, desc = " Obsidian", icon = " ", key = "o"}, + { action = 'lua LazyVim.pick("oldfiles")()', desc = " Recent Files", icon = " ", key = "r" }, + -- { action = 'lua LazyVim.pick("live_grep")()', desc = " Grep", icon = "ï€ą ", key = "/" }, + -- { action = function() LazyVim.lazygit( { cwd = LazyVim.root.git() }) end, desc = " Git", icon = " ", key = "g" }, + { action = 'lua LazyVim.pick.config_files()()', desc = " Search Config", icon = "ïŁ ", key = "c" }, + -- { action = openConfig, desc = " Open Config", icon = " ", key = "c" }, + { action = 'lua require("persistence").load()', desc = " Restore Session", icon = " ", key = "s" }, + -- { action = 'lua require("persistence").select()', desc = " Select Session", icon = "󱊞 ", key = "S" }, + -- { action = "LazyExtras", desc = " Lazy Extras", icon = "îȘŒ ", key = "x" }, + -- { action = "Lazy", desc = " Lazy", icon = "ó°’Č ", key = "l" }, + { action = function() vim.api.nvim_input("qa") end, desc = " Quit", icon = " ", key = "q" }, + }, + footer = function() + local stats = require("lazy").stats() + local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100) + return { "⚡ Neovim loaded " .. stats.loaded .. "/" .. stats.count .. " plugins in " .. ms .. "ms" } + end, + }, + } + + for _, button in ipairs(opts.config.center) do + button.desc = button.desc .. string.rep(" ", 43 - #button.desc) + button.key_format = " %s" + end + + -- open dashboard after closing lazy + if vim.o.filetype == "lazy" then + vim.api.nvim_create_autocmd("WinClosed", { + pattern = tostring(vim.api.nvim_get_current_win()), + once = true, + callback = function() + vim.schedule(function() + vim.api.nvim_exec_autocmds("UIEnter", { group = "dashboard" }) + end) + end, + }) + end + + return opts + end, +} diff --git a/.config/nvim-min/lua/plugins/disabled.lua b/.config/nvim-min/lua/plugins/disabled.lua new file mode 100644 index 00000000..26efacc3 --- /dev/null +++ b/.config/nvim-min/lua/plugins/disabled.lua @@ -0,0 +1,10 @@ +return { + { "nvim-neo-tree/neo-tree.nvim", enabled = false }, + { "folke/tokyonight.nvim", enabled = false }, + { "catpuccin/nvim", enabled = false }, + -- { "folke/noice.nvim", enabled = false }, +} +-- TODO: +-- figure out how to make markdown extra work together with Obsidian, disable it for now +-- either I can use the extra in markdown files but disable it and use obsidian in vault md files +-- OR find some way for them to coexist? diff --git a/.config/nvim-min/lua/plugins/extend-mini-files.lua b/.config/nvim-min/lua/plugins/extend-mini-files.lua new file mode 100644 index 00000000..0765d9fe --- /dev/null +++ b/.config/nvim-min/lua/plugins/extend-mini-files.lua @@ -0,0 +1,54 @@ +return { + "echasnovski/mini.files", + lazy = false, + keys = { + { + "e", + function() + require("mini.files").open(vim.api.nvim_buf_get_name(0), true) + end, + desc = "Open mini.files (current file directory)", + }, + { + "fm", + function() + require("mini.files").open(vim.uv.cwd(), true) + end, + desc = "Open mini.files (cwd)", + }, + { + "E", + function() + require("mini.files").open(LazyVim.root(), true) + end, + desc = "Open mini.files (root)", + }, + }, + opts = { + content = { + -- hide hidden files by default + filter = function(fs_entry) + return not vim.startswith(fs_entry.name, ".") + end, + }, + mappings = { + go_in_plus = "", + synchronize = ":w", + -- close = "q", + -- go_in = "i", + -- go_out = "m", + -- go_out_plus = "M", + -- mark_goto = "'", + -- mark_set = "k", + -- reset = "", + -- reveal_cwd = "@", + -- show_help = "g?", + -- trim_left = "<", + -- trim_right = ">", + }, + options = { + permanent_delete = false, + use_as_default_explorer = true, + }, + }, +} diff --git a/.config/nvim-min/lua/plugins/lazy.lua b/.config/nvim-min/lua/plugins/lazy.lua new file mode 100644 index 00000000..00a24a93 --- /dev/null +++ b/.config/nvim-min/lua/plugins/lazy.lua @@ -0,0 +1,8 @@ +return { + "folke/lazy.nvim", + opts = { + install = { + colorscheme = { "noirbuddy" }, + }, + }, +} diff --git a/.config/nvim-min/lua/plugins/lualine.lua b/.config/nvim-min/lua/plugins/lualine.lua new file mode 100644 index 00000000..0618251d --- /dev/null +++ b/.config/nvim-min/lua/plugins/lualine.lua @@ -0,0 +1,20 @@ +-- local noirbuddy_lualine = require("noirbuddy.plugins.lualine") +return { + "nvim-lualine/lualine.nvim", + dependencies = { + "jesseleite/nvim-noirbuddy", + }, + config = function() + local noirbuddy_lualine = require("noirbuddy.plugins.lualine") + local theme = noirbuddy_lualine.theme + local sections = noirbuddy_lualine.sections + local inactive_sections = noirbuddy_lualine.inactive_sections + require("lualine").setup({ + options = { + theme = theme, + }, + sections = sections, + inactive_sections = inactive_sections, + }) + end, +} diff --git a/.config/nvim-min/lua/plugins/markdown.lua b/.config/nvim-min/lua/plugins/markdown.lua new file mode 100644 index 00000000..d54bbaa1 --- /dev/null +++ b/.config/nvim-min/lua/plugins/markdown.lua @@ -0,0 +1,35 @@ +local function retmap() + local m = { + inline_surround_toggle = "mm", -- (string|boolean) toggle inline style + inline_surround_toggle_line = "mmm", -- (string|boolean) line-wise toggle inline style + inline_surround_delete = "md", -- (string|boolean) delete emphasis surrounding cursor + inline_surround_change = "mc", -- (string|boolean) change emphasis surrounding cursor + -- link_add = "ml", -- (string|boolean) add link + -- link_follow = "mx", -- (string|boolean) follow link + go_curr_heading = "mh", + go_parent_heading = "mH", + go_next_heading = "", + go_prev_heading = "", + } + require("which-key").add({ + { "m", group = "Markdown" }, + }) + vim.keymap.set("n", "mu", "MDListItemAbove", { desc = "Insert List Item Above", silent = true }) + vim.keymap.set( + { "n", "x" }, + "ml", + "MDResetListNumbering", + { desc = "Reset List Numbering", silent = true } + ) + return m +end +local opts = { + mappings = retmap(), +} +local spec = { + "tadmccorkle/markdown.nvim", + ft = "markdown", + opts = opts, +} + +return spec diff --git a/.config/nvim-min/lua/plugins/noirbuddy.lua b/.config/nvim-min/lua/plugins/noirbuddy.lua new file mode 100644 index 00000000..ee51683c --- /dev/null +++ b/.config/nvim-min/lua/plugins/noirbuddy.lua @@ -0,0 +1,106 @@ +-- #0f0f0f +-- #933737 +-- #A23D3D +-- #994848 +-- #7B7F80 +-- #7C8080 +-- #8D8D8D +-- #d4d4d4 +-- #949494 +-- #933737 +-- #A23D3D +-- #994848 +-- #7B7F80 +-- #7C8080 +-- #8D8D8D +-- #d4d4d4 +return { + { + "jesseleite/nvim-noirbuddy", + lazy = false, + dependencies = { + { "tjdevries/colorbuddy.nvim" }, + }, + }, + { + "LazyVim/LazyVim", + opts = { + colorscheme = function() + local noiropts = { + -- preset = "miami-nights", + styles = { + italic = true, + bold = true, + underline = true, + undercurl = false, + }, + colors = { + secondary = "#BD4C4C", + primary = "#933737", + diagnostic_error = "#AC2020", + diagnostic_warning = "#ff7700", + diagnostic_info = "#d5d5d5", + diagnostic_hint = "#d5d5d5", + diff_add = "#f5f5f5", + diff_change = "#737373", + diff_delete = "#AC2020", + }, + } + require("noirbuddy").setup(noiropts) + local colorbuddy = require("colorbuddy") + + local Color = colorbuddy.Color + local colors = colorbuddy.colors + local Group = colorbuddy.Group + local groups = colorbuddy.groups + local styles = colorbuddy.styles + Color.new("error", "#AC2020") + Color.new("warn", "#f79000") + Color.new("warnborder", "#79491d") + Color.new("infoborder", "#215858") + Color.new("complement", "#379393") + -- Override specific highlight groups + -- Group.new("Type", colors.complement) + Group.new("DiagnosticOk", colors.diagnostic_info) + Group.new("Added", colors.diff_change) + Group.new("Removed", colors.primary) + Group.new("Changed", colors.complement) + Group.new("@markup.link", colors.secondary) + Group.new("@markup.list", colors.complement) + Group.new("@variable", colors.complement) + Group.new("@type.builtin", colors.primary) + Group.new("@number", colors.secondary) + Group.new("NonText", colors.noir_7) + Group.new("Comment", colors.noir_6) + Group.new("@comment", colors.noir_6) + Group.new("@boolean.go", colors.complement) + Group.new("@boolean", colors.complement) + Group.new("@keyword.return", colors.complement) + -- Group.new("gotype", colors.primary) + Group.new("Boolean", colors.complement) + Group.new("Constant", colors.complement) + -- TODO: change these groups to match Snacks instead... + -- Is that even needed actually? + Group.new("DashboardHeader", colors.primary) + Group.new("DashboardIcon", colors.primary) + Group.new("DashboardKey", colors.complement) + Group.new("NotifyINFOBorder", colors.infoborder) + Group.new("NotifyINFOTitle", colors.complement) + Group.new("NotifyINFOIcon", colors.complement) + Group.new("NotifyWARNBorder", colors.warnborder) + Group.new("NotifyWARNTitle", colors.warn) + Group.new("NotifyWARNIcon", colors.warn) + Group.new("NotifyERRORBorder", colors.error) + Group.new("NotifyERRORTitle", colors.error) + Group.new("NotifyERRORIcon", colors.error) + Group.new("ErrorMsg", colors.noir_1, colors.error) + Group.new("SpellBad", nil, nil, styles.undercurl) + Group.new("SpellCap", nil, nil, styles.undercurl) + Group.new("String", colors.primary, nil, nil) + Group.new("Title", colors.primary, nil, styles.bold) + local linkhl = require("link-hl") + linkhl.link(linkhl.go_map, "go") + end, + }, + }, +} diff --git a/.config/nvim-min/lua/plugins/snacks.lua b/.config/nvim-min/lua/plugins/snacks.lua new file mode 100644 index 00000000..917a9882 --- /dev/null +++ b/.config/nvim-min/lua/plugins/snacks.lua @@ -0,0 +1,24 @@ +return { + "folke/snacks.nvim", + priority = 1000, + opts = { + bigfile = { + notify = true, + size = 1.5 * 1024 * 1024, -- 1.5MB + ---@param ctx {buf: number, ft:string} + setup = function(ctx) + vim.b.minianimate_disable = true + vim.cmd("set conceallevel=0") + vim.cmd("TSBufDisable highlight") + vim.opt_local.foldenable = false + vim.cmd("NoMatchParen") + vim.opt_local.cursorline = false + vim.opt_local.signcolumn = "no" + vim.opt_local.spell = false + vim.schedule(function() + vim.bo[ctx.buf].syntax = ctx.ft + end) + end, + }, + }, +} diff --git a/.config/nvim-min/lua/plugins/vim-dirtytalk.lua b/.config/nvim-min/lua/plugins/vim-dirtytalk.lua new file mode 100644 index 00000000..517e938c --- /dev/null +++ b/.config/nvim-min/lua/plugins/vim-dirtytalk.lua @@ -0,0 +1,9 @@ +return { + "psliwka/vim-dirtytalk", + build = ":DirtytalkUpdate", + config = function() + vim.opt.spelllang = { "en", "programming" } + end, + -- Note: let g:dirtytalk_blacklist=['lorem-ipsum'] to disable a wordlist + -- Mus run :DirtytalkUpdate after making this change +} diff --git a/.config/nvim-min/stylua.toml b/.config/nvim-min/stylua.toml new file mode 100644 index 00000000..5d6c50dc --- /dev/null +++ b/.config/nvim-min/stylua.toml @@ -0,0 +1,3 @@ +indent_type = "Spaces" +indent_width = 2 +column_width = 120 \ No newline at end of file diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 7689e49f..98caf2e4 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,103 +1,406 @@ { - "CopilotChat.nvim": { "branch": "canary", "commit": "dfb88466fd93ccd2556518eb2e085cf38d554697" }, - "LazyVim": { "branch": "main", "commit": "4d596cf4b4dcb369b2aef7e4d09635416b6c5a3f" }, - "SchemaStore.nvim": { "branch": "main", "commit": "291b15c6a03d8f859da8d83f46ed41ae6bb0ea8d" }, - "bufferline.nvim": { "branch": "main", "commit": "5cc447cb2b463cb499c82eaeabbed4f5fa6a0a44" }, - "catppuccin": { "branch": "main", "commit": "637d99e638bc6f1efedac582f6ccab08badac0c6" }, - "clangd_extensions.nvim": { "branch": "main", "commit": "8f7b72100883e0e34400d9518d40a03f21e4d0a6" }, - "cmake-tools.nvim": { "branch": "master", "commit": "53bc5261e1e0b0d28be465d2b2b07a6f0646e1eb" }, - "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, - "cmp-git": { "branch": "main", "commit": "ec049036e354ed8ed0215f2427112882e1ea7051" }, - "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, - "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, - "colorbuddy.nvim": { "branch": "master", "commit": "8b968581e5c19d22a861d5f3fe5dbd83394fa681" }, - "conform.nvim": { "branch": "master", "commit": "f1125f8eace158255cf55772ce039aaf178a6b42" }, - "copilot-cmp": { "branch": "master", "commit": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44" }, - "copilot.lua": { "branch": "master", "commit": "f8d8d872bb319f640d5177dad5fbf01f7a16d7d0" }, - "crates.nvim": { "branch": "main", "commit": "8bf8358ee326d5d8c11dcd7ac0bcc9ff97dbc785" }, - "dashboard-nvim": { "branch": "master", "commit": "ae309606940d26d8c9df8b048a6e136b6bbec478" }, - "dial.nvim": { "branch": "master", "commit": "46b4375e84e8eb771129bff6b2b1e47746601ef9" }, - "dressing.nvim": { "branch": "master", "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" }, - "flash.nvim": { "branch": "main", "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" }, - "flit.nvim": { "branch": "main", "commit": "1ef72de6a02458d31b10039372c8a15ab8989e0d" }, - "friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" }, - "grug-far.nvim": { "branch": "main", "commit": "9a2f78219390b47d67795ab09390d7f092e23976" }, - "inc-rename.nvim": { "branch": "main", "commit": "8ba77017ca468f3029bf88ef409c2d20476ea66b" }, - "indent-blankline.nvim": { "branch": "master", "commit": "7871a88056f7144defca9c931e311a3134c5d509" }, - "lazy.nvim": { "branch": "main", "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" }, - "lazydev.nvim": { "branch": "main", "commit": "d5800897d9180cea800023f2429bce0a94ed6064" }, - "leap.nvim": { "branch": "main", "commit": "c6bfb191f1161fbabace1f36f578a20ac6c7642c" }, - "ltex_extra.nvim": { "branch": "master", "commit": "24acd044ce7a26b3cdb537cbd094de37c3e1ac45" }, - "lualine.nvim": { "branch": "master", "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" }, - "luvit-meta": { "branch": "main", "commit": "57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7" }, - "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "markdown.nvim": { "branch": "master", "commit": "dfa0d2def6dbf77e9206b16dc90cad4dd23d55d2" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "43894adcf10bb1190c2184bd7c1750e8ea2b3dce" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" }, - "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, - "mini.ai": { "branch": "main", "commit": "31c149067d38b97720d2a179619f7745a0006ecc" }, - "mini.comment": { "branch": "main", "commit": "a56581c40c19fa26f2b39da72504398de3173c5a" }, - "mini.diff": { "branch": "main", "commit": "65c59f9967fec965d8759a88c1baa43147699035" }, - "mini.files": { "branch": "main", "commit": "6abe854f1410fc6aec69897a78b1db994c32d9c6" }, - "mini.hipatterns": { "branch": "main", "commit": "797cbdc893cdcc2f0fbc05a23b4dae238a1fb0ae" }, - "mini.icons": { "branch": "main", "commit": "54686be7d58807906cb2c8c2216e0bf9c044f19a" }, - "mini.indentscope": { "branch": "main", "commit": "da9af64649e114aa79480c238fd23f6524bc0903" }, - "mini.move": { "branch": "main", "commit": "4caa1c212f5ca3d1633d21cfb184808090ed74b1" }, - "mini.pairs": { "branch": "main", "commit": "7e834c5937d95364cc1740e20d673afe2d034cdb" }, - "mini.surround": { "branch": "main", "commit": "48a9795c9d352c771e1ab5dedab6063c0a2df037" }, - "neotest": { "branch": "master", "commit": "6d3d22cdad49999ef774ebe1bc250a4994038964" }, - "neotest-golang": { "branch": "main", "commit": "df6e3f34ae65f2520db798481a9d3f97581899b7" }, - "neotest-python": { "branch": "master", "commit": "a2861ab3c9a0bf75a56b11835c2bfc8270f5be7e" }, - "neotest-zig": { "branch": "main", "commit": "b0e72626135b703fe186a062f38a47ac739f1cdd" }, - "no-neck-pain.nvim": { "branch": "main", "commit": "c7efdbd0b739646c58d22fa44f6fffa2973f303e" }, - "noice.nvim": { "branch": "main", "commit": "203f74adaae11d47440a667555b4af9156be807b" }, - "nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" }, - "nvim-cmp": { "branch": "main", "commit": "40a03dc225383c4f6256596c2cdf27e03b8119b5" }, - "nvim-dap": { "branch": "master", "commit": "cc92b054720a96170eca6bd9bdedd43d2b0a7a8a" }, - "nvim-dap-go": { "branch": "main", "commit": "6aa88167ea1224bcef578e8c7160fe8afbb44848" }, - "nvim-dap-python": { "branch": "master", "commit": "3e3dd98d4d83715c9e0e429b4a5da7bd706e6ceb" }, - "nvim-dap-ui": { "branch": "master", "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "76d80c3d171224315b61c006502a1e30c213a9ab" }, - "nvim-jdtls": { "branch": "master", "commit": "e129398e171e87c0d9e94dd5bea7eb4730473ffc" }, - "nvim-lint": { "branch": "master", "commit": "8e9562de7261e5b862c631958df616e1a65552cd" }, - "nvim-lspconfig": { "branch": "master", "commit": "291a8f1a319dc712db85bcc174b0cf406f0a5b69" }, - "nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" }, - "nvim-noirbuddy": { "branch": "master", "commit": "7fa6c8963585f97c9e37a62a00751f4d9d480f95" }, - "nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" }, - "nvim-snippets": { "branch": "main", "commit": "56b4052f71220144689caaa2e5b66222ba5661eb" }, - "nvim-treesitter": { "branch": "master", "commit": "a3a732107f8b529f97bf4921b3e1af5dcc756bb6" }, - "nvim-treesitter-context": { "branch": "master", "commit": "1147c42cf9477701581d1eb31e1735969e21dd06" }, - "nvim-treesitter-textobjects": { "branch": "master", "commit": "3e450cd85243da99dc23ebbf14f9c70e9a0c26a4" }, - "nvim-ts-autotag": { "branch": "main", "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" }, - "nvim-ts-context-commentstring": { "branch": "main", "commit": "9c74db656c3d0b1c4392fc89a016b1910539e7c0" }, - "obsidian-bridge.nvim": { "branch": "main", "commit": "b5bc14ae57f5df3f0a6a67a43850ee16a90e956f" }, - "obsidian.nvim": { "branch": "main", "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" }, - "oil.nvim": { "branch": "master", "commit": "52cc8a1fb35ea6ce1df536143add7ce7215c63c0" }, - "outline.nvim": { "branch": "main", "commit": "6c44527837ff7ac1cd054dc365a721e881020a2e" }, - "persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" }, - "playground": { "branch": "master", "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" }, - "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, - "pomo.nvim": { "branch": "main", "commit": "aa8decc421d89be0f10b1fc6a602cdd269f350ff" }, - "presence.nvim": { "branch": "main", "commit": "df0a0b52cd0799e99d1b76805d1357ae9c0d017d" }, - "refactoring.nvim": { "branch": "master", "commit": "2db6d378e873de31d18ade549c2edba64ff1c2e3" }, - "rustaceanvim": { "branch": "master", "commit": "6e742b9fc6a37e46181879f6c32cecfa8cd2cebf" }, - "snacks.nvim": { "branch": "main", "commit": "7c9e65c5c9445b09baecd1932b35dd57dd28b2ff" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, - "telescope.nvim": { "branch": "master", "commit": "85922dde3767e01d42a08e750a773effbffaea3e" }, - "todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" }, - "trouble.nvim": { "branch": "main", "commit": "3dc00c0447c016cd43e03054c3d49436a1f2076d" }, - "ts-comments.nvim": { "branch": "main", "commit": "2002692ad1d3f6518d016550c20c2a890f0cbf0e" }, - "twilight.nvim": { "branch": "main", "commit": "1584c0b0a979b71fd86b18d302ba84e9aba85b1b" }, - "venv-selector.nvim": { "branch": "regexp", "commit": "e82594274bf7b54387f9a2abe65f74909ac66e97" }, - "vim-dadbod": { "branch": "master", "commit": "fe5a55e92b2dded7c404006147ef97fb073d8b1b" }, - "vim-dadbod-completion": { "branch": "master", "commit": "da0e75c09c27a82aad078d993bb1b2f4afd43427" }, - "vim-dadbod-ui": { "branch": "master", "commit": "0da912428a69a3b757b29cd77b41964a03ecd50b" }, - "vim-dirtytalk": { "branch": "master", "commit": "aa57ba902b04341a04ff97214360f56856493583" }, - "vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" }, - "vim-tmux-navigator": { "branch": "master", "commit": "424b5caa154bff34dc258ee53cec5a8e36cf7ea8" }, - "vim-tridactyl": { "branch": "master", "commit": "fdd069bde3a34c786abed4601b6d59a065590ad9" }, - "vimtex": { "branch": "master", "commit": "6ee92c7ed2cdc876f499bd5561a65d04dee10d1f" }, - "which-key.nvim": { "branch": "main", "commit": "68e37e12913a66b60073906f5d3f14dee0de19f2" }, - "yanky.nvim": { "branch": "main", "commit": "f9b905994cccf3c55f41af3a0a1f4c76c844e411" }, - "yazi.nvim": { "branch": "main", "commit": "5bc361c54f158ae399708e6d146667a164944d8f" } + "CopilotChat.nvim": { + "branch": "canary", + "commit": "dfb88466fd93ccd2556518eb2e085cf38d554697" + }, + "LazyVim": { + "branch": "main", + "commit": "4d596cf4b4dcb369b2aef7e4d09635416b6c5a3f" + }, + "SchemaStore.nvim": { + "branch": "main", + "commit": "291b15c6a03d8f859da8d83f46ed41ae6bb0ea8d" + }, + "bufferline.nvim": { + "branch": "main", + "commit": "5cc447cb2b463cb499c82eaeabbed4f5fa6a0a44" + }, + "catppuccin": { + "branch": "main", + "commit": "637d99e638bc6f1efedac582f6ccab08badac0c6" + }, + "clangd_extensions.nvim": { + "branch": "main", + "commit": "8f7b72100883e0e34400d9518d40a03f21e4d0a6" + }, + "cmake-tools.nvim": { + "branch": "master", + "commit": "53bc5261e1e0b0d28be465d2b2b07a6f0646e1eb" + }, + "cmp-buffer": { + "branch": "main", + "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" + }, + "cmp-git": { + "branch": "main", + "commit": "ec049036e354ed8ed0215f2427112882e1ea7051" + }, + "cmp-nvim-lsp": { + "branch": "main", + "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" + }, + "cmp-path": { + "branch": "main", + "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" + }, + "colorbuddy.nvim": { + "branch": "master", + "commit": "8b968581e5c19d22a861d5f3fe5dbd83394fa681" + }, + "conform.nvim": { + "branch": "master", + "commit": "62d5accad8b29d6ba9b58d3dff90c43a55621c60" + }, + "copilot-cmp": { + "branch": "master", + "commit": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44" + }, + "copilot.lua": { + "branch": "master", + "commit": "f8d8d872bb319f640d5177dad5fbf01f7a16d7d0" + }, + "crates.nvim": { + "branch": "main", + "commit": "8bf8358ee326d5d8c11dcd7ac0bcc9ff97dbc785" + }, + "dashboard-nvim": { + "branch": "master", + "commit": "ae309606940d26d8c9df8b048a6e136b6bbec478" + }, + "dial.nvim": { + "branch": "master", + "commit": "46b4375e84e8eb771129bff6b2b1e47746601ef9" + }, + "dressing.nvim": { + "branch": "master", + "commit": "fc78a3ca96f4db9f8893bb7e2fd9823e0780451b" + }, + "flash.nvim": { + "branch": "main", + "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" + }, + "flit.nvim": { + "branch": "main", + "commit": "1ef72de6a02458d31b10039372c8a15ab8989e0d" + }, + "friendly-snippets": { + "branch": "main", + "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" + }, + "grug-far.nvim": { + "branch": "main", + "commit": "9a2f78219390b47d67795ab09390d7f092e23976" + }, + "inc-rename.nvim": { + "branch": "main", + "commit": "8ba77017ca468f3029bf88ef409c2d20476ea66b" + }, + "indent-blankline.nvim": { + "branch": "master", + "commit": "7871a88056f7144defca9c931e311a3134c5d509" + }, + "lazy.nvim": { + "branch": "main", + "commit": "7967abe55752aa90532e6bb4bd4663fe27a264cb" + }, + "lazydev.nvim": { + "branch": "main", + "commit": "d5800897d9180cea800023f2429bce0a94ed6064" + }, + "leap.nvim": { + "branch": "main", + "commit": "c6bfb191f1161fbabace1f36f578a20ac6c7642c" + }, + "ltex_extra.nvim": { + "branch": "master", + "commit": "24acd044ce7a26b3cdb537cbd094de37c3e1ac45" + }, + "lualine.nvim": { + "branch": "master", + "commit": "2a5bae925481f999263d6f5ed8361baef8df4f83" + }, + "luvit-meta": { + "branch": "main", + "commit": "57d464c4acb5c2e66bd4145060f5dc9e96a7bbb7" + }, + "markdown-preview.nvim": { + "branch": "master", + "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" + }, + "markdown.nvim": { + "branch": "master", + "commit": "dfa0d2def6dbf77e9206b16dc90cad4dd23d55d2" + }, + "mason-lspconfig.nvim": { + "branch": "main", + "commit": "43894adcf10bb1190c2184bd7c1750e8ea2b3dce" + }, + "mason-nvim-dap.nvim": { + "branch": "main", + "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" + }, + "mason.nvim": { + "branch": "main", + "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" + }, + "mini.ai": { + "branch": "main", + "commit": "31c149067d38b97720d2a179619f7745a0006ecc" + }, + "mini.comment": { + "branch": "main", + "commit": "a56581c40c19fa26f2b39da72504398de3173c5a" + }, + "mini.diff": { + "branch": "main", + "commit": "65c59f9967fec965d8759a88c1baa43147699035" + }, + "mini.files": { + "branch": "main", + "commit": "6abe854f1410fc6aec69897a78b1db994c32d9c6" + }, + "mini.hipatterns": { + "branch": "main", + "commit": "797cbdc893cdcc2f0fbc05a23b4dae238a1fb0ae" + }, + "mini.icons": { + "branch": "main", + "commit": "54686be7d58807906cb2c8c2216e0bf9c044f19a" + }, + "mini.indentscope": { + "branch": "main", + "commit": "da9af64649e114aa79480c238fd23f6524bc0903" + }, + "mini.move": { + "branch": "main", + "commit": "4caa1c212f5ca3d1633d21cfb184808090ed74b1" + }, + "mini.pairs": { + "branch": "main", + "commit": "7e834c5937d95364cc1740e20d673afe2d034cdb" + }, + "mini.surround": { + "branch": "main", + "commit": "48a9795c9d352c771e1ab5dedab6063c0a2df037" + }, + "neotest": { + "branch": "master", + "commit": "6d3d22cdad49999ef774ebe1bc250a4994038964" + }, + "neotest-golang": { + "branch": "main", + "commit": "cdb0eb0edfedcdf145972fdbe19fb95d17d987c2" + }, + "neotest-python": { + "branch": "master", + "commit": "a2861ab3c9a0bf75a56b11835c2bfc8270f5be7e" + }, + "neotest-zig": { + "branch": "main", + "commit": "b0e72626135b703fe186a062f38a47ac739f1cdd" + }, + "no-neck-pain.nvim": { + "branch": "main", + "commit": "c7efdbd0b739646c58d22fa44f6fffa2973f303e" + }, + "noice.nvim": { + "branch": "main", + "commit": "481059e08198298a52067ac48a334262f117e355" + }, + "nui.nvim": { + "branch": "main", + "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" + }, + "nvim-cmp": { + "branch": "main", + "commit": "be7bd4c5f860c79da97af3a26d489af50babfd4b" + }, + "nvim-dap": { + "branch": "master", + "commit": "cc92b054720a96170eca6bd9bdedd43d2b0a7a8a" + }, + "nvim-dap-go": { + "branch": "main", + "commit": "6aa88167ea1224bcef578e8c7160fe8afbb44848" + }, + "nvim-dap-python": { + "branch": "master", + "commit": "3e3dd98d4d83715c9e0e429b4a5da7bd706e6ceb" + }, + "nvim-dap-ui": { + "branch": "master", + "commit": "ffa89839f97bad360e78428d5c740fdad9a0ff02" + }, + "nvim-dap-virtual-text": { + "branch": "master", + "commit": "76d80c3d171224315b61c006502a1e30c213a9ab" + }, + "nvim-jdtls": { + "branch": "master", + "commit": "e129398e171e87c0d9e94dd5bea7eb4730473ffc" + }, + "nvim-lint": { + "branch": "master", + "commit": "8e9562de7261e5b862c631958df616e1a65552cd" + }, + "nvim-lspconfig": { + "branch": "master", + "commit": "291a8f1a319dc712db85bcc174b0cf406f0a5b69" + }, + "nvim-nio": { + "branch": "master", + "commit": "a428f309119086dc78dd4b19306d2d67be884eee" + }, + "nvim-noirbuddy": { + "branch": "master", + "commit": "7fa6c8963585f97c9e37a62a00751f4d9d480f95" + }, + "nvim-notify": { + "branch": "master", + "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" + }, + "nvim-snippets": { + "branch": "main", + "commit": "56b4052f71220144689caaa2e5b66222ba5661eb" + }, + "nvim-treesitter": { + "branch": "master", + "commit": "a3a732107f8b529f97bf4921b3e1af5dcc756bb6" + }, + "nvim-treesitter-context": { + "branch": "master", + "commit": "1147c42cf9477701581d1eb31e1735969e21dd06" + }, + "nvim-treesitter-textobjects": { + "branch": "master", + "commit": "3e450cd85243da99dc23ebbf14f9c70e9a0c26a4" + }, + "nvim-ts-autotag": { + "branch": "main", + "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" + }, + "nvim-ts-context-commentstring": { + "branch": "main", + "commit": "9c74db656c3d0b1c4392fc89a016b1910539e7c0" + }, + "obsidian-bridge.nvim": { + "branch": "main", + "commit": "b5bc14ae57f5df3f0a6a67a43850ee16a90e956f" + }, + "obsidian.nvim": { + "branch": "main", + "commit": "ae1f76a75c7ce36866e1d9342a8f6f5b9c2caf9b" + }, + "oil.nvim": { + "branch": "master", + "commit": "52cc8a1fb35ea6ce1df536143add7ce7215c63c0" + }, + "outline.nvim": { + "branch": "main", + "commit": "6c44527837ff7ac1cd054dc365a721e881020a2e" + }, + "persistence.nvim": { + "branch": "main", + "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" + }, + "playground": { + "branch": "master", + "commit": "ba48c6a62a280eefb7c85725b0915e021a1a0749" + }, + "plenary.nvim": { + "branch": "master", + "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" + }, + "pomo.nvim": { + "branch": "main", + "commit": "aa8decc421d89be0f10b1fc6a602cdd269f350ff" + }, + "presence.nvim": { + "branch": "main", + "commit": "df0a0b52cd0799e99d1b76805d1357ae9c0d017d" + }, + "refactoring.nvim": { + "branch": "master", + "commit": "2db6d378e873de31d18ade549c2edba64ff1c2e3" + }, + "rustaceanvim": { + "branch": "master", + "commit": "6e742b9fc6a37e46181879f6c32cecfa8cd2cebf" + }, + "snacks.nvim": { + "branch": "main", + "commit": "922602dc1a00984de0361d4187063abbae2e11c3" + }, + "telescope-fzf-native.nvim": { + "branch": "main", + "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" + }, + "telescope.nvim": { + "branch": "master", + "commit": "85922dde3767e01d42a08e750a773effbffaea3e" + }, + "todo-comments.nvim": { + "branch": "main", + "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" + }, + "trouble.nvim": { + "branch": "main", + "commit": "3dc00c0447c016cd43e03054c3d49436a1f2076d" + }, + "ts-comments.nvim": { + "branch": "main", + "commit": "2002692ad1d3f6518d016550c20c2a890f0cbf0e" + }, + "twilight.nvim": { + "branch": "main", + "commit": "1584c0b0a979b71fd86b18d302ba84e9aba85b1b" + }, + "venv-selector.nvim": { + "branch": "regexp", + "commit": "e82594274bf7b54387f9a2abe65f74909ac66e97" + }, + "vim-dadbod": { + "branch": "master", + "commit": "fe5a55e92b2dded7c404006147ef97fb073d8b1b" + }, + "vim-dadbod-completion": { + "branch": "master", + "commit": "da0e75c09c27a82aad078d993bb1b2f4afd43427" + }, + "vim-dadbod-ui": { + "branch": "master", + "commit": "28a16902cb2134c934b85da5250033ee43b0dee5" + }, + "vim-dirtytalk": { + "branch": "master", + "commit": "aa57ba902b04341a04ff97214360f56856493583" + }, + "vim-repeat": { + "branch": "master", + "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" + }, + "vim-tmux-navigator": { + "branch": "master", + "commit": "424b5caa154bff34dc258ee53cec5a8e36cf7ea8" + }, + "vim-tridactyl": { + "branch": "master", + "commit": "fdd069bde3a34c786abed4601b6d59a065590ad9" + }, + "vimtex": { + "branch": "master", + "commit": "879f8906a677e2ee77f62f3b66ce7b86aafb0cec" + }, + "which-key.nvim": { + "branch": "main", + "commit": "68e37e12913a66b60073906f5d3f14dee0de19f2" + }, + "yanky.nvim": { + "branch": "main", + "commit": "f9b905994cccf3c55f41af3a0a1f4c76c844e411" + }, + "yazi.nvim": { + "branch": "main", + "commit": "5bc361c54f158ae399708e6d146667a164944d8f" + } } diff --git a/.zshrc b/.zshrc index ec7aebef..0e6277c9 100644 --- a/.zshrc +++ b/.zshrc @@ -1,5 +1,5 @@ export ZSH="$HOME/.oh-my-zsh" -plugins=(ssh-agent git zsh-autosuggestions zsh-syntax-highlighting aliases colored-man-pages copybuffer copyfile copypath fancy-ctrl-z systemd z zellij-zsh-completions ) +plugins=(ssh-agent git zsh-autosuggestions zsh-syntax-highlighting aliases colored-man-pages copybuffer copyfile copypath fancy-ctrl-z systemd ) source $ZSH/oh-my-zsh.sh # Note: if I do get Obsidian Bridge working, this is @@ -20,8 +20,7 @@ bindkey "^e" edit-command-line alias ls="eza -lh --git" alias top=btop -alias v=nvim -alias testvim='NVIM_APPNAME=nvim-test nvim' +alias v='NVIM_APPNAME="nvim-min" nvim' alias lg=lazygit alias ylg="yadm enter lazygit" # tmux aliases