Neovim Version Manager: https://github.com/MordechaiHadad/bob Search: telescope.nvim? Version Control: - [ ] sindrets/diffview.nvim: Reviewing changes seems like an ideal thing. - [ ] gitsigns: Some more configuration. - For more crazy git stuff, just toggleterm into lazygit. LSP - What do we think of `l` for LSP stuff? We already have `t` for test stuff and `d` for debug stuff, right? - [ ] Formatters don't always behave. Consider stevearc/conform.nvim. - [ ] Finish config incl. reconsider keymaps. See https://neovim.io/doc/user/lsp.html#_quickstart. - [ ] Finish getting and configuring a bunch of LSPs. See https://github.com/neovim/nvim-lspconfig/blob/master/lua/lspconfig/configs/ruff.lua - [ ] folke/trouble.nvim: Configure it as a kind of universal "what's up" sidebar. - Consider keyboard shortcuts to manage a "permanant" right-hand-side buffer, which should support mindful trouble info and diagnostics, ongoing neotest harnesses, and running DAP processes. Editing: - Tutorial: https://martinlwx.github.io/en/learn-to-use-text-objects-in-vim/ - [ ] folke/todo-comments.nvim: Honestly such a crazy neat thing. - [ ] lukas-reineke/headlines.nvim - [ ] kylechui/nvim-surround: For managing stuff wrapped in other stuff. - [ ] nvim-treesitter/nvim-treesitter-textobjects: Syntax aware text objects. - [ ] roobert/surround-ui.nvim: For pretty and learning. - [ ] numToStr/Comment.nvim: Honestly, we do a lot of commenting overall. - [ ] danymat/neogen: No excuse not to write documentation now :) - [ ] hat0uma/csvview.nvim: Handle CSV files directly and sanely. Motion: - [ ] folke/flash.nvim: Fast motions. - [ ] chrishrb/gx.nvim: Better implementation of `gx`. UX: - For the editing overview, use the toggleable filetree. - [ ] matbme/JABS.nvim: OH HELLO! A tiny little buffer switcher boi! - [ ] kazhala/close-buffers.nvim: Maybe not exactly this, but some sort of principled way of keeping buffers under control and not outside of my object permanance. - Like this: ChuufMaster/buffer-vacuum - [ ] nanozuki/tabby.nvim: Don't use the tabs as a bufferline. - Use it as a buffer multiplexer. - [ ] akinsho/toggleterm.nvim: Don't mess around with tmux. - [ ] Consider breadcrumbs? See: Bekaboo/dropbar.nvim - [ ] 3rd/image.nvim: Support images. Mainly for other plugins. Workflow: - Need solution for the following: - `nvim file.txt` without any hubub, incl. use of LSPs and such. Doesn't need to be recoverable. - Opening any file within a project should cd to that project's root. - Special project should be daily-note taking, w/sync across platforms. - Turning notes into other stuff ex. calendar events, tasks, projects, notes within projects. - Projects in predictable places should be quick to navigate to. - Having many projects open w/different layouts, all sessions under the project's namespace. - Automatic session saving and recovery, including buffer layouts and terminals. - [ ] gnikdroy/projections.nvim: It has its frustrations, but it - [ ] Consider coffebar/neovim-project as alternative. - Consider the multi-branch sessions workflows. Ideally, reuse the LSP rootdir. Ensure correct CWD is set. - We might just have to DIY this... - [ ] nvim-tree/nvim-tree: Finish configuring properly. The floating window is nice. Relies only on correct CWD. - Or oil.nvim? - [ ] moyiz/git-dev.nvim: Easy shallow clones. Completion: - [ ] nvim-cmp AI: - [ ] David-Kunz/gen.nvim - Combine with a mindful way of starting ollama. Quarto: - [ ] jmbuhr/otter.nvim: Embedding langs within other langs. - See the `injected` formatter for stevearc/conform.nvim. Ex: https://github.com/jmbuhr/quarto-nvim-kickstarter/blob/382b050e13eada7180ad048842386be37e820660/lua/plugins/editing.lua#L29-L81 - [ ] benlubas/molten-nvim: Running code cells. - [ ] HakonHarnes/img-clip.nvim: Paste images directly from clipboard. - [ ] jbyuki/nabla.nvim: Preview LaTeX. - jakewvincent/mkdnflow.nvim: Consider this little plugin. - [ ] lukas-reineke/headlines.nvim: This one too! - Or this? MeanderingProgrammer/render-markdown.nvim - [ ] Myzel394/easytables.nvim: Make markdown tables awesome. - [ ] nvim-telescope/telescope-bibtex.nvim Workflows: - There exists this: b0o/blender.nvim. Can we do better with `blext`? - mrcjkb/rustaceanvim: Superpowered Rust. - roobert/tailwindcss-colorizer-cmp.nvim and luckasRanarison/tailwind-tools.nvim: For TailwindCSS Organization: - Zeioth/markmap.nvim: Mindmap from markdown. - richardbizik/nvim-toc: A little niche, but isn't it interesting? - [ ] nfrid/due.nvim: Extremely clever use of virtual text. - Some sort of "scratchpad" that doesn't just get deleted by default. Annoyances: - roobert/f-string-toggle.nvim: Fucking finally! - [ ] nfrid/markdown-togglecheck: Toggle Markdown checkboxes! Kinda hype, to be honest. - nkakouros-original/numbers.nvim: Slightly smarter relative line numbers. - Saecki/crates.nvim: This is nice. Makes crate management maybe a bit easier. - linrongbin16/gitlinker.nvim: Generate permalinks to lines in git. - Something to help navigate between many open windows. yorickpeterse/nvim-window? - Wansmer/treesj: Yay! Big Projects: - ray-x/sad.nvim: Large scale refactoring with `sad`. Niche: - Julian/lean.nvim: Lean theorem prover w/interactivity. - niuiic/typst-preview.nvim: typst does look quite interesting. - theKnightsOfRohan/hexer.nvim: Converting between binary representations. - Willem-J-an/visidata.nvim: Exploring pandas (polars too?) data in a terminal. - sachinsenal0x64/hot.nvim: Seems interesting but unsure how exactly. - notomo/gesture.nvim: Unironically interesting for touchscreens. - azratul/live-share.nvim: Pair programming. - m4xshen/hardtime.nvim: Bad habits die hard. - krady21/compiler-explorer.nvim: I love it, but I want it local... Testing: nvim-neotest - [ ] Python - [ ] Rust - [ ] C++ Debugging: nvim-dap - [ ] Python: debugpy - [ ] C++: codelldb