From b6864bcfc20272df6d5b2fd5c3ca218903440934 Mon Sep 17 00:00:00 2001 From: ambaradan Date: Mon, 5 Sep 2022 18:56:38 +0200 Subject: [PATCH 1/2] added the Null-ls plugin to the Guide on NvChad --- docs/books/nvchad/custom/plugins/.pages | 1 + docs/books/nvchad/custom/plugins/null_ls.md | 188 ++++++++++++++++++ docs/books/nvchad/images/mason_install_ui.png | Bin 0 -> 82581 bytes 3 files changed, 189 insertions(+) create mode 100644 docs/books/nvchad/custom/plugins/null_ls.md create mode 100644 docs/books/nvchad/images/mason_install_ui.png diff --git a/docs/books/nvchad/custom/plugins/.pages b/docs/books/nvchad/custom/plugins/.pages index 87bd4d4b3f..7bfe98fab1 100644 --- a/docs/books/nvchad/custom/plugins/.pages +++ b/docs/books/nvchad/custom/plugins/.pages @@ -2,3 +2,4 @@ nav: - ... | init_lua*.md - ... | lspconfig_lua*.md + - ... | null_ls*.md diff --git a/docs/books/nvchad/custom/plugins/null_ls.md b/docs/books/nvchad/custom/plugins/null_ls.md new file mode 100644 index 0000000000..7f18b7e66f --- /dev/null +++ b/docs/books/nvchad/custom/plugins/null_ls.md @@ -0,0 +1,188 @@ +--- +title: Null-ls +tags: + - nvchad + - coding + - editor +--- + +# Null-ls + +The `jose-elias-alvarez/null-ls.nvim` plugin although not essential to the operation of the IDE is definitely one to have in your configuration, it allows you to use language server features to insert LSPs dedicated to diagnostics, formatting and other operations. + +Null-ls aims to simplify the creation, sharing, and setting up of LSP sources; it also enables improved performance by eliminating any external processes. + +## Plugin Insertion + +Inserting the plugin consists of editing the file `custom/plugins/init.lua` and creating a new configuration file `custom/plugins/null-ls.lua`. The code to be inserted into _init.lua_ is as follows: + +```lua +["jose-elias-alvarez/null-ls.nvim"] = { + after = "nvim-lspconfig", + config = function() + require("custom.plugins.null-ls") + end, +}, +``` + +As also evidenced by the code, the entry must be made after the _neovim/nvim-lspconfig_ plugin, the configuration function is then called and then our configuration file _null-ls.lua_ is requested. + +### LSP Installation Required + +For proper operation of language servers these must be installed separately with _Mason_, for installation one can use the interface callable with the command `:Mason` or installation from _statusline_ with the command `:MasonInstall name_lsp`, e.g.: + +```text +:MasonInstall markdownlint +``` + +![Mason UI](../../images/mason_install_ui.png) + +The LSPs to be installed are `prettierd`, `markdownlint` and `stylua`. The first two LSPs will provide formatting and diagnostic capabilities for Markdown code, the third provides support for formatting Lua code. + +!!! attention "Markdownlint setting" + + For optimal use of the linter, a `rc` configuration file must be placed in your home directory; detailed instructions are available at the end of this document. + +## Creating null-ls.lua + +Once we have installed the necessary language servers we can move on to creating the `custom/plugins/null-ls.lua` file. For creation we can use our NvChad: + +```bash +nvim ~/.config/nvim/lua/custom/plugins/null-ls.lua +``` + +We copy the code below, bring ourselves into our IDE, making sure we are in the NORMAL state and with the p (paste) key we copy it, at which point we save it and close it with the `:wq` command. + +```lua +local present, null_ls = pcall(require, "null-ls") + +if not present then + return +end + +local b = null_ls.builtins + +local sources = { + -- format html and markdown + b.formatting.prettierd.with { filetypes = { "html", "yaml", "markdown" } }, + -- markdown diagnostic + b.diagnostics.markdownlint, + -- Lua formatting + b.formatting.stylua, +} + +local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) +local on_attach = function(client, bufnr) + if client.supports_method "textDocument/formatting" then + vim.api.nvim_clear_autocmds { group = augroup, buffer = bufnr } + vim.api.nvim_create_autocmd("BufWritePre", { + group = augroup, + buffer = bufnr, + callback = function() + -- on 0.8, you should use vim.lsp.buf.format({ bufnr = bufnr }) instead + vim.lsp.buf.formatting_sync() + end, + }) + end +end + +null_ls.setup { + debug = true, + sources = sources, + on_attach = on_attach, +} +``` + +Once the changes are finished to instruct NvChad we have to perform a `:PackerSync`, it is advisable to exit the editor and re-enter before doing the sync. + +### LSP sources + +The part of the _null-ls.lua_ configuration file where we can intervene with any changes is as follows: + +```lua +local sources = { + -- format html and markdown + b.formatting.prettierd.with { filetypes = { "html", "yaml", "markdown" } }, + -- markdown diagnostic + b.diagnostics.markdownlint, + -- Lua formatting + b.formatting.stylua, +} + +``` + +This is where local sources are set up, using the `b.formatting` and `b.diagnostic` functions provided by _null-ls_ followed by our chosen LSPs. For a complete list of the functions included in the plugin, see the [Project Page](https://github.com/jose-elias-alvarez/null-ls.nvim). + +For formatting Markdown documents you also have other LSPs available, the setting used here provides excellent support but for a complete list you can consult the [Dedicated Page](https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md). + +### Markdownlint setting + +_Markdownlint_ works by comparing the code we write with rules set by the project that can be found at [this page](https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md). + +Once activated each time a Markdown file is modified and the editor return in NORMAL mode, a message should appear in the middle part of the _statusline_ that first informs us of the check with `diagnostic markdown` and then once the check is finished the message of errors founded `diagnostic (0%)`, the percentage refers to the number of errors found and not to the progress in the file. + +The rules set by `markdownlint` are very stringent and include, for example, a maximum line length of 80 words, which in writing documentation may not be adequate. To get around these limitations, it is possible to change the settings passed to the executable by placing a `rc` file in the _workspace_directory_ for a project-level override or in one's _home_ for a user-level one. The file should be named `.markdownlintrc` if placed in your own _home_ or `.markdownlint.jsonc` if placed in the project's _workspace_directory_. For working on a fork of the Rocky documentation, the first solution is preferable as it does not interfere with the _Git repository_. + +The comments are explanatory of the checks performed by the various rules, in particular the _MD013_ rule on maximum line length (customizable length) if not modified is particularly tedious, the _MD033_ rule is needed to avoid warnings when entering keyboard keys `` and can be integrated in array form with other keys, the _MD025_ rule prevents the interpretation of the title present in the _frontmatter_ giving the `H1` double header error signaling and the _MD046_ rule changes the default (consistent) to _fenced_ this is because in the documentation on Rocky Linux admonitions (indent) are commonly used with block codes (fenced) and this would give an inconsistency error. + +The complete excellently commented example can be found on the [related pages](https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.jsonc). + +Here, then, is the proposed `.markdownlintrc` file: + +```json +{ + // Default state for all rules + "default": true, + // MD007/ul-indent - Unordered list indentation + "MD007": { + // Spaces for indent + "indent": 4, + // Whether to indent the first level of the list + "start_indented": true, + // Spaces for first level indent (when start_indented is set) + "start_indent": 4 + }, + // MD013/line-length - Line length + "MD013": { + // Number of characters + "line_length": 480, + // Number of characters for headings + "heading_line_length": 80, + // Number of characters for code blocks + "code_block_line_length": 280, + // Include code blocks + "code_blocks": true, + // Include tables + "tables": true, + // Include headings + "headings": true, + // Include headings + "headers": true, + // Strict length checking + "strict": false, + // Stern length checking + "stern": false + }, + // MD033/no-inline-html - Inline HTML + "MD033": { + // Allowed elements + "allowed_elements": ["kbd"] + }, + // MD025/single-title/single-h1 - Multiple top-level headings in the same document + "MD025": { + // Heading level + "level": 1, + // RegExp for matching title in front matter + "front_matter_title": "^\\s*title\\s*[:=]" + }, + // MD046/code-block-style - Code block style + "MD046": { + // Block style + "style": "fenced" + } +} +``` + +The inclusion of the file should eliminate flags regarding aspects of code control that we want or need to include to write documentation on Rocky Linux, exceptions that would violate the default rules. + +In summary, although not indispensable, the _null-ls_ plugin makes a significant contribution to our documentation work, if installed it will help to write correct and consistent code. diff --git a/docs/books/nvchad/images/mason_install_ui.png b/docs/books/nvchad/images/mason_install_ui.png new file mode 100644 index 0000000000000000000000000000000000000000..c5ea8d87fded391ae2181d4b98cbda84783d1204 GIT binary patch literal 82581 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

mGn-PEb!n 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 QiNKfKOC{-|7w Date: Tue, 6 Sep 2022 08:11:54 -0500 Subject: [PATCH 2/2] Edit 838 - Null ls plugin * Added remaining meta * read for content * sentence structure altered where applicable to simplify and/or improve points * checked for spelling * viewed in web format and checked again Looks good! --- docs/books/nvchad/custom/plugins/null_ls.md | 34 ++++++++++++--------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/docs/books/nvchad/custom/plugins/null_ls.md b/docs/books/nvchad/custom/plugins/null_ls.md index 7f18b7e66f..b1847319b5 100644 --- a/docs/books/nvchad/custom/plugins/null_ls.md +++ b/docs/books/nvchad/custom/plugins/null_ls.md @@ -1,16 +1,20 @@ --- title: Null-ls +author: Franco Colussi +contributors: Steven Spencer +tested with: 8.6, 9.0 tags: - nvchad - coding - editor + - plugins --- # Null-ls -The `jose-elias-alvarez/null-ls.nvim` plugin although not essential to the operation of the IDE is definitely one to have in your configuration, it allows you to use language server features to insert LSPs dedicated to diagnostics, formatting and other operations. +The `jose-elias-alvarez/null-ls.nvim` plugin, although not essential to the operation of the IDE, is definitely one to have in your configuration. It allows you to use language server features to insert LSPs dedicated to diagnostics, formatting, and other operations. -Null-ls aims to simplify the creation, sharing, and setting up of LSP sources; it also enables improved performance by eliminating any external processes. +Null-ls aims to simplify the creation, sharing, and setting up of LSP sources. It enables improved performance by eliminating any external processes. ## Plugin Insertion @@ -25,11 +29,11 @@ Inserting the plugin consists of editing the file `custom/plugins/init.lua` and }, ``` -As also evidenced by the code, the entry must be made after the _neovim/nvim-lspconfig_ plugin, the configuration function is then called and then our configuration file _null-ls.lua_ is requested. +As also evidenced by the code, the entry must be made after the _neovim/nvim-lspconfig_ plugin. The configuration function is then called and our configuration file _null-ls.lua_ is requested. ### LSP Installation Required -For proper operation of language servers these must be installed separately with _Mason_, for installation one can use the interface callable with the command `:Mason` or installation from _statusline_ with the command `:MasonInstall name_lsp`, e.g.: +For proper operation, language servers must be installed separately with _Mason_. For installation, one can use the interface callable with the command `:Mason`, or installation from _statusline_ with the command `:MasonInstall name_lsp`, e.g.: ```text :MasonInstall markdownlint @@ -37,7 +41,7 @@ For proper operation of language servers these must be installed separately with ![Mason UI](../../images/mason_install_ui.png) -The LSPs to be installed are `prettierd`, `markdownlint` and `stylua`. The first two LSPs will provide formatting and diagnostic capabilities for Markdown code, the third provides support for formatting Lua code. +The LSPs to be installed are `prettierd`, `markdownlint` and `stylua`. The first two LSPs will provide formatting and diagnostic capabilities for Markdown code, while the third provides support for formatting Lua code. !!! attention "Markdownlint setting" @@ -45,13 +49,13 @@ The LSPs to be installed are `prettierd`, `markdownlint` and `stylua`. The first ## Creating null-ls.lua -Once we have installed the necessary language servers we can move on to creating the `custom/plugins/null-ls.lua` file. For creation we can use our NvChad: +Once we have installed the necessary language servers, we can move on to creating the `custom/plugins/null-ls.lua` file. To do this we can simply use our NvChad: ```bash nvim ~/.config/nvim/lua/custom/plugins/null-ls.lua ``` -We copy the code below, bring ourselves into our IDE, making sure we are in the NORMAL state and with the p (paste) key we copy it, at which point we save it and close it with the `:wq` command. +We copy the code below, bring ourselves into our IDE making sure we are in the NORMAL state, and with the p (paste) key we insert it. Then we simply save it and close with the `:wq` command. ```lua local present, null_ls = pcall(require, "null-ls") @@ -93,7 +97,7 @@ null_ls.setup { } ``` -Once the changes are finished to instruct NvChad we have to perform a `:PackerSync`, it is advisable to exit the editor and re-enter before doing the sync. +Once the changes are finished, to instruct NvChad we have to perform a `:PackerSync`. It is advisable to exit the editor and re-enter before doing the sync. ### LSP sources @@ -111,19 +115,19 @@ local sources = { ``` -This is where local sources are set up, using the `b.formatting` and `b.diagnostic` functions provided by _null-ls_ followed by our chosen LSPs. For a complete list of the functions included in the plugin, see the [Project Page](https://github.com/jose-elias-alvarez/null-ls.nvim). +Our local sources are set up using the `b.formatting` and `b.diagnostic` functions provided by _null-ls_ followed by our chosen LSPs. For a complete list of the functions included in the plugin, see the [Project Page](https://github.com/jose-elias-alvarez/null-ls.nvim). -For formatting Markdown documents you also have other LSPs available, the setting used here provides excellent support but for a complete list you can consult the [Dedicated Page](https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md). +For formatting Markdown documents you also have other LSPs available. The setting used here provides excellent support but, for a complete list, you can consult the [Dedicated Page](https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md). ### Markdownlint setting _Markdownlint_ works by comparing the code we write with rules set by the project that can be found at [this page](https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md). -Once activated each time a Markdown file is modified and the editor return in NORMAL mode, a message should appear in the middle part of the _statusline_ that first informs us of the check with `diagnostic markdown` and then once the check is finished the message of errors founded `diagnostic (0%)`, the percentage refers to the number of errors found and not to the progress in the file. +Once activated each time a Markdown file is modified and the editor return in NORMAL mode, a message should appear in the middle part of the _statusline_. This first informs us of the check with `diagnostic markdown`, and once the check is finished the message of errors found: `diagnostic (0%)`. The percentage refers to the number of errors found and not to the progress in the file. -The rules set by `markdownlint` are very stringent and include, for example, a maximum line length of 80 words, which in writing documentation may not be adequate. To get around these limitations, it is possible to change the settings passed to the executable by placing a `rc` file in the _workspace_directory_ for a project-level override or in one's _home_ for a user-level one. The file should be named `.markdownlintrc` if placed in your own _home_ or `.markdownlint.jsonc` if placed in the project's _workspace_directory_. For working on a fork of the Rocky documentation, the first solution is preferable as it does not interfere with the _Git repository_. +The rules set by `markdownlint` are very stringent and include, for example, a maximum line length of 80 words, which in writing documentation may not be adequate. To get around these limitations, it is possible to change the settings passed to the executable by placing a `rc` file in the _workspace_directory_ for a project-level override, or in one's _home_ for a user-level override. The file should be named `.markdownlintrc` if placed in your own _home_ or `.markdownlint.jsonc` if placed in the project's _workspace_directory_. For working on a fork of the Rocky documentation, the first solution is preferable as it does not interfere with the _Git repository_. -The comments are explanatory of the checks performed by the various rules, in particular the _MD013_ rule on maximum line length (customizable length) if not modified is particularly tedious, the _MD033_ rule is needed to avoid warnings when entering keyboard keys `` and can be integrated in array form with other keys, the _MD025_ rule prevents the interpretation of the title present in the _frontmatter_ giving the `H1` double header error signaling and the _MD046_ rule changes the default (consistent) to _fenced_ this is because in the documentation on Rocky Linux admonitions (indent) are commonly used with block codes (fenced) and this would give an inconsistency error. +The comments are explanatory of the checks performed by the various rules. In particular, the _MD013_ rule on maximum line length (customizable length), if not modified, is particularly tedious. The _MD033_ rule is needed to avoid warnings when entering keyboard keys `` and can be integrated in array form with other keys. The _MD025_ rule prevents the interpretation of the title, present in the _frontmatter_, of generating the `H1` double header error. The _MD046_ rule changes the default (consistent) to _fenced_. This is because in the documentation on Rocky Linux admonitions (indent) are commonly used with block codes (fenced), which would give an inconsistency error. The complete excellently commented example can be found on the [related pages](https://github.com/DavidAnson/markdownlint/blob/main/schema/.markdownlint.jsonc). @@ -183,6 +187,6 @@ Here, then, is the proposed `.markdownlintrc` file: } ``` -The inclusion of the file should eliminate flags regarding aspects of code control that we want or need to include to write documentation on Rocky Linux, exceptions that would violate the default rules. +The inclusion of the file should eliminate flags regarding aspects of code control that we want or need to include to write documentation on Rocky Linux. These exceptions would otherwise violate the default rules. -In summary, although not indispensable, the _null-ls_ plugin makes a significant contribution to our documentation work, if installed it will help to write correct and consistent code. +In summary, although not indispensable, the _null-ls_ plugin makes a significant contribution to our documentation work. If installed, it will help to write correct and consistent code.