mirror of
https://github.com/NotAShelf/nvf.git
synced 2024-11-26 23:16:46 +00:00
docs: cleanup
This commit is contained in:
parent
7355debede
commit
c8b247b4d6
4 changed files with 21 additions and 250 deletions
|
@ -1,71 +1,17 @@
|
||||||
[[ch-languages]]
|
[[ch-languages]]
|
||||||
== Language Support
|
== Language Support
|
||||||
|
|
||||||
Language specific support combines some combination of language specific plugins, `treesitter` support, `nvim-lspconfig` langauge servers, and `null-ls` integration. This gets you capabilities ranging from autocompletion to formatting to diagnostics. The following languages have support beyond just `treesitter` highlighting.
|
Language specific support means there is a combination of language specific plugins, `treesitter` support, `nvim-lspconfig` language servers, and `null-ls` integration. This gets you capabilities ranging from autocompletion to formatting to diagnostics. The following languages have sections under the `vim.languages` attribute. See the configuration docs for details.
|
||||||
|
|
||||||
[[sec-languages-rust]]
|
* Rust: <<opt-vim.languages.rust.enable>>
|
||||||
=== Rust
|
* Nix: <<opt-vim.languages.nix.enable>>
|
||||||
|
* SQL: <<opt-vim.languages.sql.enable>>
|
||||||
|
* C/C++: <<opt-vim.languages.clang.enable>>
|
||||||
|
* Typescript/Javascript: <<opt-vim.languages.ts.enable>>
|
||||||
|
* Python: <<opt-vim.languages.python.enable>>:
|
||||||
|
* Zig: <<opt-vim.languages.zig.enable>>
|
||||||
|
* Markdown: <<opt-vim.languages.markdown.enable>>
|
||||||
|
* HTML: <<opt-vim.languages.html.enable>>
|
||||||
|
|
||||||
*LSP Server*: https://github.com/rust-analyzer/rust-analyzer[rust-analyzer]
|
Adding support for more languages, and improving support for existing ones are great places where you can contribute with a PR.
|
||||||
|
|
||||||
*Formatting*: Built into LSP, uses https://github.com/rust-lang/rustfmt[rustfmt]
|
|
||||||
|
|
||||||
*Plugins*: See <<sec-plugins-rust,here>>
|
|
||||||
|
|
||||||
[[sec-languages-nix]]
|
|
||||||
=== Nix
|
|
||||||
|
|
||||||
*LSP Server*: Choice between https://github.com/oxalica/nil[nil] and https://github.com/nix-community/rnix-lsp[rnix-lsp]
|
|
||||||
|
|
||||||
*Formatting*: Choice between https://github.com/kamadorueda/alejandra[alejandra] and https://github.com/nix-community/nixpkgs-fmt[nixpkgs-fmt]
|
|
||||||
|
|
||||||
[[sec-languages-sql]]
|
|
||||||
=== SQL
|
|
||||||
|
|
||||||
*LSP Server*: https://github.com/lighttiger2505/sqls[sqls]
|
|
||||||
|
|
||||||
*Formatting*: Disabled LSP formatting, instead using https://github.com/sqlfluff/sqlfluff[sqlfluff]
|
|
||||||
|
|
||||||
*Linting*: https://github.com/sqlfluff/sqlfluff[sqlfluff]
|
|
||||||
|
|
||||||
*Plugins*: See <<sec-plugins-sql,here>>
|
|
||||||
|
|
||||||
[[sec-languages-clang]]
|
|
||||||
=== C/C++
|
|
||||||
|
|
||||||
*LSP Server*: https://github.com/MaskRay/ccls[ccls]
|
|
||||||
|
|
||||||
*Formatting*: Built into language server
|
|
||||||
|
|
||||||
[[sec-languages-typescript]]
|
|
||||||
=== Typescript
|
|
||||||
|
|
||||||
*LSP Server*: https://github.com/typescript-language-server/typescript-language-server[typescript-language-server]
|
|
||||||
|
|
||||||
*Formatting*: Disabled LSP formatting, instead using https://github.com/prettier/prettier[prettier]
|
|
||||||
|
|
||||||
*Linting*: https://github.com/prettier/prettier[eslint]
|
|
||||||
|
|
||||||
[[sec-languages-python]]
|
|
||||||
=== Python
|
|
||||||
|
|
||||||
*LSP Server*: https://github.com/microsoft/pyright[pyright]
|
|
||||||
|
|
||||||
*Formatting*: https://github.com/psf/black[black]
|
|
||||||
|
|
||||||
[[sec-languages-zig]]
|
|
||||||
=== Zig
|
|
||||||
|
|
||||||
*LSP Server*: https://github.com/zigtools/zls[zls]
|
|
||||||
|
|
||||||
*Formatting*: Built into LSP, uses `zig fmt`.
|
|
||||||
|
|
||||||
[[sec-languages-markdown]]
|
|
||||||
=== Markdown
|
|
||||||
|
|
||||||
*Plugins*: See <<sec-plugins-markdown,here>>
|
|
||||||
|
|
||||||
[[sec-languages-html]]
|
|
||||||
=== HTML
|
|
||||||
|
|
||||||
*Plugins*: See <<sec-plugins-html,here>>
|
|
||||||
|
|
|
@ -21,7 +21,6 @@
|
||||||
<xi:include href="custom-configs.xml"/>
|
<xi:include href="custom-configs.xml"/>
|
||||||
<xi:include href="home-manager.xml"/>
|
<xi:include href="home-manager.xml"/>
|
||||||
<xi:include href="languages.xml"/>
|
<xi:include href="languages.xml"/>
|
||||||
<xi:include href="plugins.xml"/>
|
|
||||||
<appendix xml:id="ch-options">
|
<appendix xml:id="ch-options">
|
||||||
<title>Configuration Options</title>
|
<title>Configuration Options</title>
|
||||||
<xi:include href="./nmd-result/neovim-flake-options.xml" />
|
<xi:include href="./nmd-result/neovim-flake-options.xml" />
|
||||||
|
|
|
@ -1,184 +0,0 @@
|
||||||
[[ch-plugins]]
|
|
||||||
== Plugins
|
|
||||||
|
|
||||||
The following are the neovim plugins used within neovim-flake. Some plugins are explicitly enabled by the user, while others are enabled implicitly.
|
|
||||||
|
|
||||||
[[sec-plugins-autopairs]]
|
|
||||||
=== Autopairs
|
|
||||||
|
|
||||||
* https://github.com/windwp/nvim-autopairs[nvim-autopairs] an autopair plugin for neovim
|
|
||||||
|
|
||||||
|
|
||||||
[[sec-plugins-assistant]]
|
|
||||||
=== Coding Assistants
|
|
||||||
|
|
||||||
* https://github.com/zbirenbaum/copilot.lua[copilot.lua] a lua replacement for github.vim, the license nightmare AI assistant
|
|
||||||
* https://github.com/codota/tabnine-nvim[tabnine-nvim] neovim plugin for the more ethically acceptable AI assistant TabNine
|
|
||||||
|
|
||||||
[[sec-plugins-buffer]]
|
|
||||||
=== Buffers
|
|
||||||
|
|
||||||
* https://github.com/akinsho/bufferline.nvim[nvim-bufferline-lua] a buffer line with tab integration
|
|
||||||
* https://github.com/famiu/bufdelete.nvim[bufdelete-nvim] delete buffers without losing window layout
|
|
||||||
|
|
||||||
[[sec-plugins-commenting]]
|
|
||||||
=== Commenting
|
|
||||||
|
|
||||||
* https://github.com/b3nj5m1n/kommentary[kommentary] neovim plugin to comment text in and out, written in lua. Supports commenting out the current line, a visual selection and a motion
|
|
||||||
* https://github.com/folke/todo-comments.nvim[todo-comments.nvim] plugin to highlight and search for todo comments like TODO, HACK, BUG in your codebase
|
|
||||||
|
|
||||||
[[sec-plugins-completions]]
|
|
||||||
=== Completions
|
|
||||||
|
|
||||||
* https://github.com/hrsh7th/nvim-cmp[nvim-cmp] a completion engine that utilizes sources
|
|
||||||
** https://github.com/hrsh7th/cmp-buffer[cmp-buffer] a source for buffer words
|
|
||||||
** https://github.com/hrsh7th/cmp-nvim-lsp[cmp-nvim-lsp] a source for builtin LSP client
|
|
||||||
** https://github.com/hrsh7th/cmp-vsnip[cmp-vsnip] a source for vim-vsnip autocomplete
|
|
||||||
** https://github.com/hrsh7th/cmp-path[cmp-path] a source for path autocomplete
|
|
||||||
** https://github.com/ray-x/cmp-treesitter[cmp-treesitter] treesitter nodes autcomplete
|
|
||||||
|
|
||||||
[[sec-plugins-dashboard]]
|
|
||||||
=== Dashboard
|
|
||||||
|
|
||||||
* https://github.com/glepnir/dashboard-nvim[dashboard.nvim] fancy and blazing fast start screen plugin for Neovim
|
|
||||||
* https://github.com/goolord/alpha-nvim[alpha.nvim] a fast and fully programmable greeter for neovim
|
|
||||||
* https://github.com/mhinz/vim-startify[vim-startify] a fancy start screen for {neo,}vim
|
|
||||||
|
|
||||||
[[sec-plugins-server]]
|
|
||||||
=== Language Server
|
|
||||||
|
|
||||||
* https://github.com/neovim/nvim-lspconfig[nvim-lspconfig] common configurations for built-in language server
|
|
||||||
* https://github.com/jose-elias-alvarez/null-ls.nvim[null-ls.nvim] neovim as a language server to inject LSP diagnostics, code actions, etc.
|
|
||||||
* https://github.com/glepnir/lspsaga.nvim[lspsaga.nvim] useful UI and tools for lsp
|
|
||||||
* https://github.com/folke/trouble.nvim[trouble.nvim] pretty list of lsp data
|
|
||||||
* https://github.com/weilbith/nvim-code-action-menu[nvim-code-action-menu] a better code action menu with diff support
|
|
||||||
* https://github.com/ray-x/lsp_signature.nvim[lsp-signature] show function signatures as you type
|
|
||||||
* https://github.com/onsails/lspkind-nvim[lspkind-nvim] for pictograms in lsp (with support for nvim-cmp)
|
|
||||||
|
|
||||||
|
|
||||||
[[sec-plugins-statuslines]]
|
|
||||||
=== Statuslines
|
|
||||||
|
|
||||||
* https://github.com/hoob3rt/lualine.nvim[lualine.nvim] statusline written in lua.
|
|
||||||
|
|
||||||
[[sec-plugins-filetrees]]
|
|
||||||
=== Filetrees
|
|
||||||
|
|
||||||
* https://github.com/kyazdani42/nvim-tree.lua[nvim-tree-lua] a file explorer tree written in lua. Using
|
|
||||||
|
|
||||||
[[sec-plugins-git]]
|
|
||||||
=== Git
|
|
||||||
|
|
||||||
* https://github.com/lewis6991/gitsigns.nvim[gitsigns.nvim] a variety of git decorations
|
|
||||||
|
|
||||||
[[sec-plugins-treesitter]]
|
|
||||||
=== Treesitter
|
|
||||||
|
|
||||||
* https://github.com/romgrk/nvim-treesitter-context[nvim-treesitter-context] a context bar using tree-sitter
|
|
||||||
|
|
||||||
[[sec-plugins-visuals]]
|
|
||||||
=== Visuals
|
|
||||||
|
|
||||||
* https://github.com/lukas-reineke/indent-blankline.nvim[indent-blankline] for indentation guides
|
|
||||||
* https://github.com/kyazdani42/nvim-web-devicons[nvim-web-devicons] plugins and colors for icons. Requires patched font
|
|
||||||
* https://github.com/declancm/cinnamon.nvim[cinnamon.nvim] smooth scrolling for ANY movement command
|
|
||||||
* https://github.com/nvim-cursorline[nvim-cursorline] a plugin for neovim that highlights cursor words and lines
|
|
||||||
* https://github.com/petertriho/nvim-scrollbar[nvim-scrollbar] a scrollbar plugin for neovim
|
|
||||||
* https://github.com/Eandrju/cellular-automaton.nvim[cellular-automaton] a vanity to plugin to help you procrastinate more efficiently
|
|
||||||
|
|
||||||
[[sec-plugins-minimap]]
|
|
||||||
=== Minimap
|
|
||||||
|
|
||||||
* https://github.com/wfxr/minimap.vim[minimap.vim] a blazing fast minimap plugin for neovim. Depends on code-minimap
|
|
||||||
* https://github.com/gorbit99/codewindow.nvim[codewindow.nvim] a simple, configurable minimap plugin for neovim with no external dependencies
|
|
||||||
|
|
||||||
[[sec-plugins-notifications]]
|
|
||||||
=== Notifications
|
|
||||||
|
|
||||||
* https://github.com/rcarriga/nvim-notify[nvim-notify] simple notification plugin that also integrates with noice.nvim
|
|
||||||
|
|
||||||
[[sec-plugins-notes]]
|
|
||||||
=== Note-taking
|
|
||||||
|
|
||||||
* https://github.com/obsidian.nvim[obsidian.nvim] a neovim plugin that deeply integrates with the obsidian markdown editor. Also works standalone
|
|
||||||
* https://github.com/nvim-orgmode/orgmode[orgmode] a neovim replacement for emac orgmode
|
|
||||||
|
|
||||||
[[sec-plugins-session-management]]
|
|
||||||
=== Session Management
|
|
||||||
|
|
||||||
* https://github.com/Shatur/neovim-session-manager[neovim-session-manager] a simple wrapper around :mksession
|
|
||||||
|
|
||||||
[[sec-plugins-snippets]]
|
|
||||||
=== Snippets
|
|
||||||
|
|
||||||
* https://github.com/hrsh7th/vim-vsnip[vim-vsnip] a snippet plugin that supports LSP/VSCode's snippet format
|
|
||||||
|
|
||||||
|
|
||||||
[[sec-plugins-terminal]]
|
|
||||||
=== Terminal
|
|
||||||
|
|
||||||
* https://github.com/akinsho/toggleterm.nvim[toggleterm.nvim] a simple terminal plugin that opens a terminal buffer on demand
|
|
||||||
|
|
||||||
[[sec-plugins-themes]]
|
|
||||||
=== Themes
|
|
||||||
|
|
||||||
* https://github.com/navarasu/onedark.nvim[onedark] a dark colorscheme with multiple options
|
|
||||||
* https://github.com/folke/tokyonight.nvim[tokyonight-nvim] a neovim theme with multiple color options
|
|
||||||
* https://github.com/catppuccin/nvim[catppuccin] a pastel theme with 4 color options
|
|
||||||
|
|
||||||
|
|
||||||
[[sec-plugins-utilities]]
|
|
||||||
=== Utilities
|
|
||||||
|
|
||||||
* https://github.com/nvim-telescope/telescope.nvim[telescope] an extendable fuzzy finder of lists. Working ripgrep and fd
|
|
||||||
* https://github.com/folke/which-key.nvim[which-key] a popup that displays possible keybindings of command being typed
|
|
||||||
* https://github.com/sudormrfbin/cheatsheet.nvim[cheatsheet.nvim] a searchable cheatsheet for neovim from within the editor using Telescope
|
|
||||||
* https://github.com/ga-rosa/ccc.nvim[ccc.nvim] super powerful color picker and colorizer plugin.
|
|
||||||
* https://github.com/ziontee113/icon-picker.nvim[icon-picker.nvim] an icon picker plugin that provides access to thousands of icons
|
|
||||||
* https://github.com/jbyuki/venn.nvim[venn.nvim] draw venn diagrams inside neovim
|
|
||||||
|
|
||||||
[[sec-plugins-ui]]
|
|
||||||
=== UI Elements
|
|
||||||
|
|
||||||
* https://github.com/folke/noice.nvim[noice.nvim] an experimental neovim plugin that replaces some UI components of neovim
|
|
||||||
|
|
||||||
|
|
||||||
[[sec-plugins-presence]]
|
|
||||||
=== Rich Presence
|
|
||||||
|
|
||||||
* https://github.com/andweeb/presence.nvim[presence.nvim] light and powerful discord rich presence plugin
|
|
||||||
|
|
||||||
[[sec-plugins-markdown]]
|
|
||||||
=== Markdown
|
|
||||||
|
|
||||||
* https://github.com/ellisonleao/glow.nvim[glow.nvim] a markdown preview directly in neovim using glow
|
|
||||||
|
|
||||||
[[sec-plugins-rust]]
|
|
||||||
=== Rust
|
|
||||||
|
|
||||||
* https://github.com/simrat39/rust-tools.nvim[rust-tools] provides tools for rust
|
|
||||||
* https://github.com/Saecki/crates.nvim[crates.nvim] provides tools for working with `cargo.toml`
|
|
||||||
|
|
||||||
[[sec-plugins-tidalcycles]]
|
|
||||||
=== Tidal Cycles
|
|
||||||
|
|
||||||
* https://github.com/tidalcycles/vim-tidal[vim-tidal] for tidal cycles integration into vim
|
|
||||||
|
|
||||||
[[sec-plugins-sql]]
|
|
||||||
=== SQL
|
|
||||||
|
|
||||||
* https://github.com/nanotee/sqls.nvim[sqls.nvim] for useful actions that leverage `sqls` LSP
|
|
||||||
|
|
||||||
[[sec-plugins-html]]
|
|
||||||
=== HTML
|
|
||||||
|
|
||||||
* https://github.com/windwp/nvim-ts-autotag[nvim-ts-autotag] uses treesitter to autoclose/rename html tags
|
|
||||||
|
|
||||||
[[sec-plugins-dependencies]]
|
|
||||||
=== Dependencies
|
|
||||||
|
|
||||||
* https://github.com/nvim-lua/plenary.nvim[plenary] which is a dependency of some plugins, installed automatically if needed
|
|
||||||
* https://github.comstevearc/dressing.nvim[dressing.nvim] which is a dependency for icon-picker.nvim
|
|
||||||
* https://github.com/preservim/vim-markdown[vim-markdown] which is a dependency for obsidian.nvim
|
|
||||||
* https://github.comgodlygeek/tabular[tabular] which is a dependency for vim-markdown
|
|
||||||
* https://github.com/MunifTanjim/nui.nvim[nui.nvim] which is a dependency for nui-nvim
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
* Treesitter grammars are now configurable with <<opt-vim.treesitter.grammars>>. Utilizes the nixpkgs `nvim-treesitter` plugin rather than a custom input in order to take advantage of build support of pinned versions. See https://discourse.nixos.org/t/psa-if-you-are-on-unstable-try-out-nvim-treesitter-withallgrammars/23321?u=snowytrees[discourse] for more information. Packages can be found under the `pkgs.vimPlugins.nvim-treesitter.builtGrammars` attribute. Treesitter grammars for supported languages should be enabled within the module. By default no grammars are installed, thus the following grammars which do not have a language section are not included anymore: comment, toml, make, html, css, graphql, json.
|
||||||
|
|
||||||
|
* A new section has been added for language support: `vim.languages.<language>`. The options <<opt-vim.languages.enableLSP>>, <<opt-vim.languages.enableTreesitter>>, etc. will enable the respective section for all languages that have been enabled.
|
||||||
|
** All LSP languages have been moved here
|
||||||
|
** `plantuml` and `markdown` have been moved here
|
||||||
|
** A new section has been added for `html`. The old `vim.treesitter.autotagHtml` can be found at <<opt-vim.languages.html.treesitter.autotagHtml>>.
|
||||||
|
|
||||||
|
* <<opt-vim.git.gitsigns.codeActions>> has been added allowing you to turn on gitsigns codeactions.
|
||||||
|
|
||||||
|
* Removed the plugins document in the docs. Was too unwieldy to keep updated.
|
Loading…
Reference in a new issue