docs: cleanup

This commit is contained in:
NotAShelf 2023-04-18 01:10:49 +03:00
parent 7355debede
commit c8b247b4d6
No known key found for this signature in database
GPG key ID: F0D14CCB5ED5AA22
4 changed files with 21 additions and 250 deletions

View file

@ -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>>

View file

@ -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" />

View file

@ -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

View file

@ -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.