Built-in LSP Sourcesยค
[2022-03-21 17;13] gk: I've put this here w/o sub headers, in order to have a better overview and search.
This is an automatically generated list of all null-ls built-in sources (source: https://github.com/jose-elias-alvarez/null-ls.nvim/blob/main/doc/BUILTINS.md) I've
See BUILTIN_CONFIG to learn how to set up and configure these sources.
Code Actionsยค
eslintยค
Injects actions to fix ESLint issues or ignore broken rules.
local sources = { null_ls.builtins.code_actions.eslint }
Defaults
- Filetypes:
{ "javascript", "javascriptreact", "typescript", "typescriptreact", "vue" }
- Method:
code_action
- Command:
eslint
- Args:
{ "-f", "json", "--stdin", "--stdin-filename", "$FILENAME" }
eslint_dยค
Injects actions to fix ESLint issues or ignore broken rules. Like ESLint, but faster.
local sources = { null_ls.builtins.code_actions.eslint_d }
Defaults
- Filetypes:
{ "javascript", "javascriptreact", "typescript", "typescriptreact", "vue" }
- Method:
code_action
- Command:
eslint_d
- Args:
{ "-f", "json", "--stdin", "--stdin-filename", "$FILENAME" }
gitrebaseยค
Injects actions to change gitrebase
command (e.g. using squash
instead of pick
).
local sources = { null_ls.builtins.code_actions.gitrebase }
Defaults
- Filetypes:
{ "gitrebase" }
- Method:
code_action
gitsignsยค
Injects code actions for Git operations at the current cursor position (stage / preview / reset hunks, blame, etc.).
local sources = { null_ls.builtins.code_actions.gitsigns }
Defaults
- Filetypes:
{}
- Method:
code_action
proselintยค
An English prose linter. Can fix some issues via code actions.
local sources = { null_ls.builtins.code_actions.proselint }
Defaults
- Filetypes:
{ "markdown", "tex" }
- Method:
code_action
- Command:
proselint
- Args:
{ "--json" }
refactoringยค
The Refactoring library based off the Refactoring book by Martin Fowler.
local sources = { null_ls.builtins.code_actions.refactoring }
Defaults
- Filetypes:
{ "go", "javascript", "lua", "python", "typescript" }
- Method:
code_action
Notes
- Requires visually selecting the code you want to refactor and calling
:'<,'>lua vim.lsp.buf.range_code_action()
(for the default handler) or:'<,'>Telescope lsp_range_code_actions
(for Telescope).
shellcheckยค
Provides actions to disable ShellCheck errors/warnings, either for the current line or for the entire file.
local sources = { null_ls.builtins.code_actions.shellcheck }
Defaults
- Filetypes:
{ "sh" }
- Method:
code_action
- Command:
shellcheck
- Args:
{ "--format", "json1", "--source-path=$DIRNAME", "--external-sources", "-" }
Notes
- Running the action to disable a rule for the current line adds a disable directive above the line or appends the rule to an existing disable directive for that line.
- Running the action to disable a rule for the current file adds a disable directive at the top of the file or appends the rule to an existing file disable directive.
- The first non-comment line in a script is not eligible for a line-level disable directive. See shellcheck#1877.
statixยค
Lints and suggestions for the nix programming language.
local sources = { null_ls.builtins.code_actions.statix }
Defaults
- Filetypes:
{ "nix" }
- Method:
code_action
- Command:
statix
- Args:
{ "check", "--stdin", "--format=json" }
xoยค
โค๏ธ JavaScript/TypeScript linter (ESLint wrapper) with great defaults
local sources = { null_ls.builtins.code_actions.xo }
Defaults
- Filetypes:
{ "javascript", "javascriptreact", "typescript", "typescriptreact" }
- Method:
code_action
- Command:
xo
- Args:
{ "--reporter", "json", "--stdin", "--stdin-filename", "$FILENAME" }
Completionยค
luasnipยค
Snippet engine for Neovim, written in Lua.
local sources = { null_ls.builtins.completion.luasnip }
Defaults
- Filetypes:
{}
- Method:
completion
Notes
- Registering this source will show available snippets in the completion list, but luasnip is in charge of expanding them. Consult luasnip's documentation to set up keymaps for expansion and jumping.
spellยค
Spell suggestions completion source.
local sources = { null_ls.builtins.completion.spell }
Defaults
- Filetypes:
{}
- Method:
completion
tagsยค
Tags completion source.
local sources = { null_ls.builtins.completion.tags }
Defaults
- Filetypes:
{}
- Method:
completion
vsnipยค
Snippets managed by vim-vsnip.
local sources = { null_ls.builtins.completion.vsnip }
Defaults
- Filetypes:
{}
- Method:
completion
Notes
- Registering this source will show available snippets in the completion list, but vim-vsnip is in charge of expanding them. See vim-vsnip's documentation for setup instructions.
Diagnosticsยค
actionlintยค
Actionlint is a static checker for GitHub Actions workflow files.
local sources = { null_ls.builtins.diagnostics.actionlint }
Defaults
- Filetypes:
{ "yaml" }
- Method:
diagnostics
- Command:
actionlint
- Args:
{ "-no-color", "-format", "{{json .}}", "-" }
alexยค
Catch insensitive, inconsiderate writing.
local sources = { null_ls.builtins.diagnostics.alex }
Defaults
- Filetypes:
{ "markdown" }
- Method:
diagnostics
- Command:
alex
- Args:
{ "--stdin", "--quiet" }
ansiblelintยค
Linter for Ansible playbooks, roles and collections.
local sources = { null_ls.builtins.diagnostics.ansiblelint }
Defaults
- Filetypes:
{ "yaml.ansible" }
- Method:
diagnostics
- Command:
ansible-lint
- Args:
{ "-f", "codeclimate", "-q", "--nocolor", "$FILENAME" }
buildifierยค
buildifier is a tool for formatting and linting bazel BUILD, WORKSPACE, and .bzl files.
local sources = { null_ls.builtins.diagnostics.buildifier }
Defaults
- Filetypes:
{ "bzl" }
- Method:
diagnostics
- Command:
buildifier
- Args:
{ "-mode=check", "-lint=warn", "-format=json", "-path=$FILENAME" }
checkmakeยค
make
linter.
local sources = { null_ls.builtins.diagnostics.checkmake }
Defaults
- Filetypes:
{ "make" }
- Method:
diagnostics
- Command:
checkmake
- Args:
{ "--format='{{.LineNumber}}:{{.Rule}}:{{.Violation}}'", "$FILENAME" }
chktexยค
latex
semantic linter.
local sources = { null_ls.builtins.diagnostics.chktex }
Defaults
- Filetypes:
{ "tex" }
- Method:
diagnostics
- Command:
chktex
- Args:
{ "-q", "-f%l:%c:%d:%k:%n:%m\n" }
codespellยค
Codespell finds common misspellings in text files.
local sources = { null_ls.builtins.diagnostics.codespell }
Defaults
- Filetypes:
{}
- Method:
diagnostics
- Command:
codespell
- Args:
{ "-" }
cppcheckยค
A tool for fast static analysis of C/C++ code.
local sources = { null_ls.builtins.diagnostics.cppcheck }
Defaults
- Filetypes:
{ "cpp", "c" }
- Method:
diagnostics
- Command:
cppcheck
- Args:
{ "--enable=warning,style,performance,portability", "--template=gcc", "$FILENAME" }
credoยค
Static analysis of elixir
files for enforcing code consistency.
local sources = { null_ls.builtins.diagnostics.credo }
Defaults
- Filetypes:
{ "elixir" }
- Method:
diagnostics
- Command:
mix
- Args:
{ "credo", "suggest", "--format", "json", "--read-from-stdin", "$FILENAME" }
Notes
- Searches upwards from the buffer to the project root and tries to find the first
.credo.exs
file in case the project has nestedcredo
configs.
cspellยค
cspell is a spell checker for code.
local sources = { null_ls.builtins.diagnostics.cspell }
Defaults
- Filetypes:
{}
- Method:
diagnostics
- Command:
cspell
- Args: dynamically resolved (see source)
cue_fmtยค
Reports on formatting errors in .cue language files.
local sources = { null_ls.builtins.diagnostics.cue_fmt }
Defaults
- Filetypes:
{ "cue" }
- Method:
diagnostics
- Command:
cue
- Args:
{ "fmt", "$FILENAME" }
curlylintยค
Experimental HTML templates linting for Jinja, Nunjucks, Django templates, Twig, and Liquid.
local sources = { null_ls.builtins.diagnostics.curlylint }
Defaults
- Filetypes:
{ "jinja.html", "htmldjango" }
- Method:
diagnostics
- Command:
curlylint
- Args:
{ "--quiet", "-", "--format", "json", "--stdin-filepath", "$FILENAME" }
deadnixยค
Scan Nix files for dead code.
local sources = { null_ls.builtins.diagnostics.deadnix }
Defaults
- Filetypes:
{ "nix" }
- Method:
diagnostics
- Command:
deadnix
- Args:
{ "--output-format=json", "$FILENAME" }
djlintยค
โจ ๐ ๐ช โจ HTML Template Linter and Formatter.
local sources = { null_ls.builtins.diagnostics.djlint }
Defaults
- Filetypes:
{ "django", "jinja.html", "htmldjango" }
- Method:
diagnostics
- Command:
djlint
- Args:
{ "$FILENAME" }
editorconfig_checkerยค
A tool to verify that your files are in harmony with your .editorconfig
.
local sources = { null_ls.builtins.diagnostics.editorconfig_checker }
Defaults
- Filetypes:
{}
- Method:
diagnostics
- Command:
ec
- Args:
{ "-no-color", "$FILENAME" }
eslintยค
A linter for the JavaScript ecosystem.
local sources = { null_ls.builtins.diagnostics.eslint }
Defaults
- Filetypes:
{ "javascript", "javascriptreact", "typescript", "typescriptreact", "vue" }
- Method:
diagnostics
- Command:
eslint
- Args:
{ "-f", "json", "--stdin", "--stdin-filename", "$FILENAME" }
eslint_dยค
Like ESLint, but faster.
local sources = { null_ls.builtins.diagnostics.eslint_d }
Defaults
- Filetypes:
{ "javascript", "javascriptreact", "typescript", "typescriptreact", "vue" }
- Method:
diagnostics
- Command:
eslint_d
- Args:
{ "-f", "json", "--stdin", "--stdin-filename", "$FILENAME" }
flake8ยค
flake8 is a python tool that glues together pycodestyle, pyflakes, mccabe, and third-party plugins to check the style and quality of Python code.
local sources = { null_ls.builtins.diagnostics.flake8 }
Defaults
- Filetypes:
{ "python" }
- Method:
diagnostics
- Command:
flake8
- Args:
{ "--format", "default", "--stdin-display-name", "$FILENAME", "-" }
gccdiagยค
gccdiag is a wrapper for any C/C++ compiler (gcc, avr-gcc, arm-none-eabi-gcc, etc) that automatically uses the correct compiler arguments for a file in your project by parsing the compile_commands.json
file at the root of your project.
local sources = { null_ls.builtins.diagnostics.gccdiag }
Defaults
- Filetypes:
{ "c", "cpp" }
- Method:
diagnostics_on_save
- Command:
gccdiag
- Args:
{ "--default-args", "-S -x $FILEEXT", "-i", "-fdiagnostics-color", "--", "$FILENAME" }
gitlintยค
Linter for Git commit messages.
local sources = { null_ls.builtins.diagnostics.gitlint }
Defaults
- Filetypes:
{ "gitcommit" }
- Method:
diagnostics
- Command:
gitlint
- Args:
{ "--msg-filename", "$FILENAME" }
golangci_lintยค
A Go linter aggregator.
local sources = { null_ls.builtins.diagnostics.golangci_lint }
Defaults
- Filetypes:
{ "go" }
- Method:
diagnostics_on_save
- Command:
golangci-lint
- Args:
{ "run", "--fix=false", "--fast", "--out-format=json", "$DIRNAME", "--path-prefix", "$ROOT" }
hadolintยค
A smarter Dockerfile linter that helps you build best practice Docker images.
local sources = { null_ls.builtins.diagnostics.hadolint }
Defaults
- Filetypes:
{ "dockerfile" }
- Method:
diagnostics
- Command:
hadolint
- Args:
{ "--no-fail", "--format=json", "$FILENAME" }
haml_lintยค
Tool for writing clean and consistent HAML.
local sources = { null_ls.builtins.diagnostics.haml_lint }
Defaults
- Filetypes:
{ "haml" }
- Method:
diagnostics
- Command:
haml-lint
- Args:
{ "--reporter", "json", "$FILENAME" }
jsonlintยค
A pure JavaScript version of the service provided at jsonlint.com.
local sources = { null_ls.builtins.diagnostics.jsonlint }
Defaults
- Filetypes:
{ "json" }
- Method:
diagnostics
- Command:
jsonlint
- Args:
{ "--compact" }
ktlintยค
An anti-bikeshedding Kotlin linter with built-in formatter.
local sources = { null_ls.builtins.diagnostics.ktlint }
Defaults
- Filetypes:
{ "kotlin" }
- Method:
diagnostics_on_save
- Command:
ktlint
- Args:
{ "--relative", "--reporter=json" }
luacheckยค
A tool for linting and static analysis of Lua code.
local sources = { null_ls.builtins.diagnostics.luacheck }
Defaults
- Filetypes:
{ "lua" }
- Method:
diagnostics
- Command:
luacheck
- Args:
{ "--formatter", "plain", "--codes", "--ranges", "--filename", "$FILENAME", "-" }
markdownlintยค
Markdown style and syntax checker.
local sources = { null_ls.builtins.diagnostics.markdownlint }
Defaults
- Filetypes:
{ "markdown" }
- Method:
diagnostics
- Command:
markdownlint
- Args:
{ "--stdin" }
mdlยค
A tool to check Markdown files and flag style issues.
local sources = { null_ls.builtins.diagnostics.mdl }
Defaults
- Filetypes:
{ "markdown" }
- Method:
diagnostics
- Command:
mdl
- Args:
{ "--json" }
misspellยค
Checks commonly misspelled English words in source files.
local sources = { null_ls.builtins.diagnostics.misspell }
Defaults
- Filetypes:
{}
- Method:
diagnostics
- Command:
misspell
mlintยค
Linter for MATLAB files
local sources = { null_ls.builtins.diagnostics.mlint }
Defaults
- Filetypes:
{ "matlab" }
- Method:
diagnostics_on_save
- Command:
mlint
- Args:
{ "$FILENAME" }
mypyยค
Mypy is an optional static type checker for Python that aims to combine the benefits of dynamic (or "duck") typing and static typing.
local sources = { null_ls.builtins.diagnostics.mypy }
Defaults
- Filetypes:
{ "python" }
- Method:
diagnostics
- Command:
mypy
- Args: dynamically resolved (see source)
phpยค
Uses the php command-line tool's built in -l
flag to check for syntax errors.
local sources = { null_ls.builtins.diagnostics.php }
Defaults
- Filetypes:
{ "php" }
- Method:
diagnostics
- Command:
php
- Args:
{ "-l", "-d", "display_errors=STDERR", "-d", " log_errors=Off" }
phpcsยค
PHP_CodeSniffer is a script that tokenizes PHP, JavaScript and CSS files to detect violations of a defined coding standard.
local sources = { null_ls.builtins.diagnostics.phpcs }
Defaults
- Filetypes:
{ "php" }
- Method:
diagnostics
- Command:
phpcs
- Args:
{ "--report=json", "-q", "-s", "--runtime-set", "ignore_warnings_on_exit", "1", "--runtime-set", "ignore_errors_on_exit", "1", "-" }
phpmdยค
Runs PHP Mess Detector against PHP files.
local sources = { null_ls.builtins.diagnostics.phpmd }
Defaults
- Filetypes:
{ "php" }
- Method:
diagnostics
- Command:
phpmd
- Args:
{ "$FILENAME", "json" }
phpstanยค
PHP static analysis tool.
local sources = { null_ls.builtins.diagnostics.phpstan }
Defaults
- Filetypes:
{ "php" }
- Method:
diagnostics
- Command:
phpstan
- Args:
{ "analyze", "--error-format", "json", "--no-progress", "$FILENAME" }
Notes
- Requires a valid
phpstan.neon
at root.
proselintยค
An English prose linter.
local sources = { null_ls.builtins.diagnostics.proselint }
Defaults
- Filetypes:
{ "markdown", "tex" }
- Method:
diagnostics
- Command:
proselint
- Args:
{ "--json" }
protoc_gen_lintยค
A plug-in for Google's Protocol Buffers (protobufs) compiler to lint .proto files for style violations.
local sources = { null_ls.builtins.diagnostics.protoc_gen_lint }
Defaults
- Filetypes:
{ "proto" }
- Method:
diagnostics
- Command:
protoc
- Args:
{ "--lint_out", "$FILENAME", "-I", "/tmp", "$FILENAME" }
protolintยค
A pluggable linter and fixer to enforce Protocol Buffer style and conventions.
local sources = { null_ls.builtins.diagnostics.protolint }
Defaults
- Filetypes:
{ "proto" }
- Method:
diagnostics
- Command:
protolint
- Args:
{ "--reporter", "json", "$FILENAME" }
psalmยค
A static analysis tool for finding errors in PHP applications.
local sources = { null_ls.builtins.diagnostics.psalm }
Defaults
- Filetypes:
{ "php" }
- Method:
diagnostics
- Command:
psalm
- Args:
{ "--output-format=json", "--no-progress", "$FILENAME" }
puglintยค
An unopinionated and configurable linter and style checker for Pug.
local sources = { null_ls.builtins.diagnostics.puglint }
Defaults
- Filetypes:
{ "pug" }
- Method:
diagnostics
- Command:
pug-lint
- Args:
{ "--reporter=inline", "$FILENAME" }
puppet_lintยค
Check that your Puppet manifest conforms to the style guide.
local sources = { null_ls.builtins.diagnostics.puppet_lint }
Defaults
- Filetypes:
{ "puppet", "epuppet" }
- Method:
diagnostics
- Command:
puppet-lint
- Args:
{ "--json", "$FILENAME" }
pydocstyleยค
pydocstyle is a static analysis tool for checking compliance with Python docstring conventions.
local sources = { null_ls.builtins.diagnostics.pydocstyle }
Defaults
- Filetypes:
{ "python" }
- Method:
diagnostics
- Command:
pydocstyle
- Args:
{ "$FILENAME" }
Notes
- May fail to resolve config files. See the wiki for workarounds.
pylamaยค
Code audit tool for Python.
local sources = { null_ls.builtins.diagnostics.pylama }
Defaults
- Filetypes:
{ "python" }
- Method:
diagnostics
- Command:
pylama
- Args:
{ "--from-stdin", "$FILENAME", "-f", "json" }
pylintยค
Pylint is a Python static code analysis tool which looks for programming errors, helps enforcing a coding standard, sniffs for code smells and offers simple refactoring suggestions.
local sources = { null_ls.builtins.diagnostics.pylint }
Defaults
- Filetypes:
{ "python" }
- Method:
diagnostics
- Command:
pylint
- Args:
{ "--from-stdin", "$FILENAME", "-f", "json" }
pyproject_flake8ยค
pyproject-flake8 is a flake8 wrapper to use with pyproject.toml
configuration.
local sources = { null_ls.builtins.diagnostics.pyproject_flake8 }
Defaults
- Filetypes:
{ "python" }
- Method:
diagnostics
- Command:
pflake8
- Args:
{ "--format", "default", "--stdin-display-name", "$FILENAME", "-" }
qmllintยค
qmllint is a tool shipped with Qt that verifies the syntatic validity of QML files. It also warns about some QML anti-patterns.
local sources = { null_ls.builtins.diagnostics.qmllint }
Defaults
- Filetypes:
{ "qml" }
- Method:
diagnostics
- Command:
qmllint
- Args:
{ "$FILENAME" }
reviveยค
Fast, configurable, extensible, flexible, and beautiful linter for Go.
local sources = { null_ls.builtins.diagnostics.revive }
Defaults
- Filetypes:
{ "go" }
- Method:
diagnostics_on_save
- Command:
revive
- Args:
{ "-formatter", "json", "./..." }
rpmspecยค
Command line tool to parse RPM spec files.
local sources = { null_ls.builtins.diagnostics.rpmspec }
Defaults
- Filetypes:
{ "spec" }
- Method:
diagnostics
- Command:
rpmspec
- Args:
{ "-P", "$FILENAME" }
rstcheckยค
Checks syntax of reStructuredText and code blocks nested within it.
local sources = { null_ls.builtins.diagnostics.rstcheck }
Defaults
- Filetypes:
{ "rst" }
- Method:
diagnostics_on_save
- Command:
rstcheck
- Args:
{ "-r", "$DIRNAME" }
rubocopยค
The Ruby Linter/Formatter that Serves and Protects.
local sources = { null_ls.builtins.diagnostics.rubocop }
Defaults
- Filetypes:
{ "ruby" }
- Method:
diagnostics
- Command:
rubocop
- Args:
{ "-f", "json", "--stdin", "$FILENAME" }
seleneยค
Command line tool designed to help write correct and idiomatic Lua code.
local sources = { null_ls.builtins.diagnostics.selene }
Defaults
- Filetypes:
{ "lua" }
- Method:
diagnostics
- Command:
selene
- Args:
{ "--display-style", "quiet", "-" }
semgrepยค
Semgrep is a fast, open-source, static analysis tool for finding bugs and enforcing code standards at editor, commit, and CI time.
local sources = { null_ls.builtins.diagnostics.semgrep }
Defaults
- Filetypes:
{ "typescript", "typescriptreact", "ruby", "python", "java", "go" }
- Method:
diagnostics
- Command:
semgrep
- Args:
{ "-q", "--json", "$FILENAME" }
shellcheckยค
A shell script static analysis tool.
local sources = { null_ls.builtins.diagnostics.shellcheck }
Defaults
- Filetypes:
{ "sh" }
- Method:
diagnostics
- Command:
shellcheck
- Args:
{ "--format", "json1", "--source-path=$DIRNAME", "--external-sources", "-" }
standardjsยค
JavaScript style guide, linter, and formatter.
local sources = { null_ls.builtins.diagnostics.standardjs }
Defaults
- Filetypes:
{ "javascript", "javascriptreact" }
- Method:
diagnostics
- Command:
standard
- Args:
{ "--stdin" }
standardrbยค
Ruby style guide, linter, and formatter.
local sources = { null_ls.builtins.diagnostics.standardrb }
Defaults
- Filetypes:
{ "ruby" }
- Method:
diagnostics
- Command:
standardrb
- Args:
{ "--no-fix", "-f", "json", "--stdin", "$FILENAME" }
staticcheckยค
Advanced Go linter.
local sources = { null_ls.builtins.diagnostics.staticcheck }
Defaults
- Filetypes:
{ "go" }
- Method:
diagnostics_on_save
- Command:
staticcheck
- Args:
{ "-f", "json", "./..." }
statixยค
Lints and suggestions for the Nix programming language.
local sources = { null_ls.builtins.diagnostics.statix }
Defaults
- Filetypes:
{ "nix" }
- Method:
diagnostics
- Command:
statix
- Args:
{ "check", "--stdin", "--format=errfmt" }
stylelintยค
A mighty, modern linter that helps you avoid errors and enforce conventions in your styles.
local sources = { null_ls.builtins.diagnostics.stylelint }
Defaults
- Filetypes:
{ "scss", "less", "css", "sass" }
- Method:
diagnostics
- Command:
stylelint
- Args:
{ "--formatter", "json", "--stdin-filename", "$FILENAME" }
stylintยค
A linter for the Stylus CSS preprocessor.
local sources = { null_ls.builtins.diagnostics.stylint }
Defaults
- Filetypes:
{ "stylus" }
- Method:
diagnostics
- Command:
stylint
- Args:
{ "$FILENAME" }
tealยค
The compiler for Teal, a typed dialect of Lua.
local sources = { null_ls.builtins.diagnostics.teal }
Defaults
- Filetypes:
{ "teal" }
- Method:
diagnostics
- Command:
tl
- Args:
{ "check", "$FILENAME" }
textlintยค
The pluggable linting tool for text and Markdown.
local sources = { null_ls.builtins.diagnostics.textlint }
Defaults
- Filetypes:
{}
- Method:
diagnostics
- Command:
textlint
- Args:
{ "-f", "json", "--stdin", "--stdin-filename", "$FILENAME" }
tidyยค
Tidy corrects and cleans up HTML and XML documents by fixing markup errors and upgrading legacy code to modern standards.
local sources = { null_ls.builtins.diagnostics.tidy }
Defaults
- Filetypes:
{ "html", "xml" }
- Method:
diagnostics
- Command:
tidy
- Args: dynamically resolved (see source)
trail_spaceยค
Uses inbuilt Lua code to detect lines with trailing whitespace and show a diagnostic warning on each line where it's present.
local sources = { null_ls.builtins.diagnostics.trail_space }
Defaults
- Filetypes:
{}
- Method:
diagnostics
tscยค
Parses diagnostics from the TypeScript compiler.
local sources = { null_ls.builtins.diagnostics.tsc }
Defaults
- Filetypes:
{ "typescript", "typescriptreact" }
- Method:
diagnostics_on_save
- Command:
tsc
- Args:
{ "--pretty", "false", "--noEmit" }
twigcsยค
Runs Twigcs against Twig files.
local sources = { null_ls.builtins.diagnostics.twigcs }
Defaults
- Filetypes:
{ "twig" }
- Method:
diagnostics
- Command:
twigcs
- Args:
{ "--reporter", "json", "$FILENAME" }
valeยค
Syntax-aware linter for prose built with speed and extensibility in mind.
local sources = { null_ls.builtins.diagnostics.vale }
Defaults
- Filetypes:
{ "markdown", "tex", "asciidoc" }
- Method:
diagnostics
- Command:
vale
- Args: dynamically resolved (see source)
Notes
- vale does not include a syntax by itself, so you probably need to grab a
vale.ini
(at~/.vale.ini
) and a StylesPath (somewhere, pointed fromvale.ini
) from the list of configurations.
vintยค
Linter for Vimscript.
local sources = { null_ls.builtins.diagnostics.vint }
Defaults
- Filetypes:
{ "vim" }
- Method:
diagnostics
- Command:
vint
- Args:
{ "--style-problem", "--json", "$FILENAME" }
vultureยค
Vulture finds unused code in Python programs.
local sources = { null_ls.builtins.diagnostics.vulture }
Defaults
- Filetypes:
{ "python" }
- Method:
diagnostics
- Command:
vulture
- Args:
{ "$FILENAME" }
write_goodยค
English prose linter.
local sources = { null_ls.builtins.diagnostics.write_good }
Defaults
- Filetypes:
{ "markdown" }
- Method:
diagnostics
- Command:
write-good
- Args:
{ "--text=$TEXT", "--parse" }
xoยค
โค๏ธ JavaScript/TypeScript linter (ESLint wrapper) with great defaults.
local sources = { null_ls.builtins.diagnostics.xo }
Defaults
- Filetypes:
{ "javascript", "javascriptreact", "typescript", "typescriptreact" }
- Method:
diagnostics
- Command:
xo
- Args:
{ "--reporter", "json", "--stdin", "--stdin-filename", "$FILENAME" }
yamllintยค
A linter for YAML files.
local sources = { null_ls.builtins.diagnostics.yamllint }
Defaults
- Filetypes:
{ "yaml" }
- Method:
diagnostics
- Command:
yamllint
- Args:
{ "--format", "parsable", "-" }
zshยค
Uses zsh's own -n option to evaluate, but not execute, zsh scripts. Effectively, this acts somewhat like a linter, although it only really checks for serious errors - and will likely only show the first error.
local sources = { null_ls.builtins.diagnostics.zsh }
Defaults
- Filetypes:
{ "zsh" }
- Method:
diagnostics
- Command:
zsh
- Args:
{ "-n", "$FILENAME" }
Formattingยค
asmfmtยค
Format your assembler code in a similar way that gofmt
formats your go
code.
local sources = { null_ls.builtins.formatting.asmfmt }
Defaults
- Filetypes:
{ "asm" }
- Method:
formatting
- Command:
asmfmt
astyleยค
Artistic Style is a source code indenter, formatter, and beautifier for the C, C++, C++/CLI, ObjectiveโC, C# and Java programming languages. This formatter works well for Arduino project files and is the same formatter used in the Arduino IDE.
local sources = { null_ls.builtins.formatting.astyle }
Defaults
- Filetypes:
{ "arduino", "c", "cpp", "cs", "java" }
- Method:
formatting
- Command:
astyle
- Args:
{ "--quiet" }
autopep8ยค
A tool that automatically formats Python code to conform to the PEP 8 style guide.
local sources = { null_ls.builtins.formatting.autopep8 }
Defaults
- Filetypes:
{ "python" }
- Methods:
formatting, range_formatting
- Command:
autopep8
- Args: dynamically resolved (see source)
bean_formatยค
This pure text processing tool will reformat beancount
input to right-align all the numbers at the same, minimal column.
local sources = { null_ls.builtins.formatting.bean_format }
Defaults
- Filetypes:
{ "beancount" }
- Method:
formatting
- Command:
bean-format
Notes
- It left-aligns all the currencies.
- It only modifies whitespace.
blackยค
The uncompromising Python code formatter
local sources = { null_ls.builtins.formatting.black }
Defaults
- Filetypes:
{ "python" }
- Method:
formatting
- Command:
black
- Args:
{ "--stdin-filename", "$FILENAME", "--quiet", "-" }
brittanyยค
haskell source code formatter
local sources = { null_ls.builtins.formatting.brittany }
Defaults
- Filetypes:
{ "haskell" }
- Method:
formatting
- Command:
brittany
buildifierยค
buildifier is a tool for formatting and linting bazel BUILD, WORKSPACE, and .bzl files.
local sources = { null_ls.builtins.formatting.buildifier }
Defaults
- Filetypes:
{ "bzl" }
- Method:
formatting
- Command:
buildifier
- Args:
{ "-path=$FILENAME" }
cabal_fmtยค
Format .cabal files preserving the original field ordering, and comments.
local sources = { null_ls.builtins.formatting.cabal_fmt }
Defaults
- Filetypes:
{ "cabal" }
- Method:
formatting
- Command:
cabal-fmt
clang_formatยค
Tool to format C/C++/โฆ code according to a set of rules and heuristics.
local sources = { null_ls.builtins.formatting.clang_format }
Defaults
- Filetypes:
{ "c", "cpp", "cs", "java" }
- Method:
formatting
- Command:
clang-format
- Args:
{ "-assume-filename", "$FILENAME" }
cljstyleยค
Formatter for Clojure code.
local sources = { null_ls.builtins.formatting.cljstyle }
Defaults
- Filetypes:
{ "clojure" }
- Method:
formatting
- Command:
cljstyle
- Args:
{ "pipe" }
cmake_formatยค
Parse cmake listfiles and format them nicely.
local sources = { null_ls.builtins.formatting.cmake_format }
Defaults
- Filetypes:
{ "cmake" }
- Method:
formatting
- Command:
cmake-format
- Args:
{ "-" }
codespellยค
Fix common misspellings in text files.
local sources = { null_ls.builtins.formatting.codespell }
Defaults
- Filetypes:
{}
- Method:
formatting
- Command:
codespell
- Args:
{ "--write-changes", "$FILENAME" }
crystal_formatยค
A tool for automatically checking and correcting the style of code in a project.
local sources = { null_ls.builtins.formatting.crystal_format }
Defaults
- Filetypes:
{ "crystal" }
- Method:
formatting
- Command:
crystal
- Args:
{ "tool", "format" }
cue_fmtยค
A CUE language formatter.
local sources = { null_ls.builtins.formatting.cue_fmt }
Defaults
- Filetypes:
{ "cue" }
- Method:
formatting
- Command:
cue
- Args:
{ "fmt", "$FILENAME" }
dart_formatยค
Replace the whitespace in your program with formatting that follows Dart guidelines.
local sources = { null_ls.builtins.formatting.dart_format }
Defaults
- Filetypes:
{ "dart" }
- Method:
formatting
- Command:
dart
- Args:
{ "format" }
deno_fmtยค
Use Deno to format TypeScript and JavaScript code.
local sources = { null_ls.builtins.formatting.deno_fmt }
Defaults
- Filetypes:
{ "javascript", "javascriptreact", "typescript", "typescriptreact" }
- Method:
formatting
- Command:
deno
- Args:
{ "fmt", "-" }
dfmtยค
Formatter for D source code.
local sources = { null_ls.builtins.formatting.dfmt }
Defaults
- Filetypes:
{ "d" }
- Method:
formatting
- Command:
dfmt
djhtmlยค
A pure-Python Django/Jinja template indenter without dependencies.
local sources = { null_ls.builtins.formatting.djhtml }
Defaults
- Filetypes:
{ "django", "jinja.html", "htmldjango" }
- Method:
formatting
- Command:
djhtml
djlintยค
โจ ๐ ๐ช โจ HTML Template Linter and Formatter.
local sources = { null_ls.builtins.formatting.djlint }
Defaults
- Filetypes:
{ "django", "jinja.html", "htmldjango" }
- Method:
formatting
- Command:
djlint
- Args:
{ "--reformat", "-" }
elm_formatยค
elm-format formats Elm source code according to a standard set of rules based on the official Elm Style Guide.
local sources = { null_ls.builtins.formatting.elm_format }
Defaults
- Filetypes:
{ "elm" }
- Method:
formatting
- Command:
elm-format
- Args:
{ "--stdin" }
erlfmtยค
An opinionated Erlang code formatter.
local sources = { null_ls.builtins.formatting.erlfmt }
Defaults
- Filetypes:
{ "erlang" }
- Method:
formatting
- Command:
erlfmt
- Args:
{ "-" }
eslintยค
Find and fix problems in your JavaScript code.
local sources = { null_ls.builtins.formatting.eslint }
Defaults
- Filetypes:
{ "javascript", "javascriptreact", "typescript", "typescriptreact", "vue" }
- Method:
formatting
- Command:
eslint
- Args:
{ "--fix-dry-run", "--format", "json", "--stdin", "--stdin-filename", "$FILENAME" }
Notes
- Slow and not suitable for formatting on save. If at all possible, use eslint_d.
eslint_dยค
Makes eslint the fastest linter on the planet.
local sources = { null_ls.builtins.formatting.eslint_d }
Defaults
- Filetypes:
{ "javascript", "javascriptreact", "typescript", "typescriptreact", "vue" }
- Method:
formatting
- Command:
eslint_d
- Args:
{ "--fix-to-stdout", "--stdin", "--stdin-filename", "$FILENAME" }
fish_indentยค
Indent or otherwise prettify a piece of fish code.
local sources = { null_ls.builtins.formatting.fish_indent }
Defaults
- Filetypes:
{ "fish" }
- Method:
formatting
- Command:
fish_indent
fixjsonยค
A JSON file fixer/formatter for humans using (relaxed) JSON5.
local sources = { null_ls.builtins.formatting.fixjson }
Defaults
- Filetypes:
{ "json" }
- Method:
formatting
- Command:
fixjson
fnlfmtยค
fnlfmt is a Fennel code formatter which follows established Lisp conventions when determining how to format a given piece of code.
local sources = { null_ls.builtins.formatting.fnlfmt }
Defaults
- Filetypes:
{ "fennel", "fnl" }
- Method:
formatting
- Command:
fnlfmt
- Args:
{ "-" }
format_rยค
Format R code automatically.
local sources = { null_ls.builtins.formatting.format_r }
Defaults
- Filetypes:
{ "r", "rmd" }
- Method:
formatting
- Command:
R
- Args: dynamically resolved (see source)
fourmoluยค
Fourmolu is a formatter for Haskell source code.
local sources = { null_ls.builtins.formatting.fourmolu }
Defaults
- Filetypes:
{ "haskell" }
- Method:
formatting
- Command:
fourmolu
fprettifyยค
fprettify is an auto-formatter for modern Fortran code that imposes strict whitespace formatting, written in Python.
local sources = { null_ls.builtins.formatting.fprettify }
Defaults
- Filetypes:
{ "fortran" }
- Method:
formatting
- Command:
fprettify
- Args:
{ "--silent" }
gofmtยค
Formats go programs.
local sources = { null_ls.builtins.formatting.gofmt }
Defaults
- Filetypes:
{ "go" }
- Method:
formatting
- Command:
gofmt
Notes
- It uses tabs for indentation and blanks for alignment.
- Aligntment assumes that the editor is using a fixed-width font.
gofumptยค
Enforce a stricter format than gofmt, while being backwards compatible. That is, gofumpt is happy with a subset of the formats that gofmt is happy with.
local sources = { null_ls.builtins.formatting.gofumpt }
Defaults
- Filetypes:
{ "go" }
- Method:
formatting
- Command:
gofumpt
goimportsยค
Updates your Go import lines, adding missing ones and removing unreferenced ones.
local sources = { null_ls.builtins.formatting.goimports }
Defaults
- Filetypes:
{ "go" }
- Method:
formatting
- Command:
goimports
- Args:
{ "-srcdir", "$DIRNAME" }
golinesยค
Applies a base formatter (eg. goimports or gofmt), then shortens long lines of code.
local sources = { null_ls.builtins.formatting.golines }
Defaults
- Filetypes:
{ "go" }
- Method:
formatting
- Command:
golines
google_java_formatยค
Reformats Java source code according to Google Java Style.
local sources = { null_ls.builtins.formatting.google_java_format }
Defaults
- Filetypes:
{ "java" }
- Method:
formatting
- Command:
google-java-format
- Args:
{ "-" }
isortยค
Python utility / library to sort imports alphabetically and automatically separate them into sections and by type.
local sources = { null_ls.builtins.formatting.isort }
Defaults
- Filetypes:
{ "python" }
- Method:
formatting
- Command:
isort
- Args:
{ "--stdout", "--filename", "$FILENAME", "-" }
jokerยค
joker is a small Clojure interpreter, linter and formatter written in Go.
local sources = { null_ls.builtins.formatting.joker }
Defaults
- Filetypes:
{ "clj" }
- Method:
formatting
- Command:
joker
- Args:
{ "--format", "-" }
json_toolยค
Provides a simple command line interface to validate and pretty-print JSON objects.
local sources = { null_ls.builtins.formatting.json_tool }
Defaults
- Filetypes:
{ "json" }
- Method:
formatting
- Command:
python
- Args:
{ "-m", "json.tool" }
ktlintยค
An anti-bikeshedding Kotlin linter with built-in formatter.
local sources = { null_ls.builtins.formatting.ktlint }
Defaults
- Filetypes:
{ "kotlin" }
- Method:
formatting
- Command:
ktlint
- Args:
{ "--format", "--stdin" }
latexindentยค
A perl script for formatting LaTeX files that is generally included in major TeX distributions.
local sources = { null_ls.builtins.formatting.latexindent }
Defaults
- Filetypes:
{ "tex" }
- Method:
formatting
- Command:
latexindent
- Args:
{ "-" }
lua_formatยค
Reformats your Lua source code.
local sources = { null_ls.builtins.formatting.lua_format }
Defaults
- Filetypes:
{ "lua" }
- Method:
formatting
- Command:
lua-format
- Args:
{ "-i" }
markdownlintยค
A Node.js style checker and lint tool for Markdown/CommonMark files.
local sources = { null_ls.builtins.formatting.markdownlint }
Defaults
- Filetypes:
{ "markdown" }
- Method:
formatting
- Command:
markdownlint
- Args:
{ "--fix", "$FILENAME" }
Notes
- Can fix some (but not all!) markdownlint issues. If possible, use Prettier, which can also fix Markdown files.
mixยค
Build tool that provides tasks for creating, compiling, and testing elixir projects, managing its dependencies, and more.
local sources = { null_ls.builtins.formatting.mix }
Defaults
- Filetypes:
{ "elixir" }
- Method:
formatting
- Command:
mix
- Args:
{ "format", "-" }
nginx_beautifierยค
Beautifies and formats nginx configuration files.
local sources = { null_ls.builtins.formatting.nginx_beautifier }
Defaults
- Filetypes:
{ "nginx" }
- Method:
formatting
- Command:
nginxbeautifier
- Args:
{ "-i", "-o", "$FILENAME" }
nimprettyยค
nimpretty is a Nim source code beautifier, to format code according to the official style guide.
local sources = { null_ls.builtins.formatting.nimpretty }
Defaults
- Filetypes:
{ "nim" }
- Method:
formatting
- Command:
nimpretty
- Args:
{ "$FILENAME" }
nixfmtยค
nixfmt is a formatter for Nix code, intended to apply a uniform style.
local sources = { null_ls.builtins.formatting.nixfmt }
Defaults
- Filetypes:
{ "nix" }
- Method:
formatting
- Command:
nixfmt
nixpkgs_fmtยค
nixpkgs-fmt is a Nix code formatter for nixpkgs.
local sources = { null_ls.builtins.formatting.nixpkgs_fmt }
Defaults
- Filetypes:
{ "nix" }
- Method:
formatting
- Command:
nixpkgs-fmt
perltidyยค
perl script which indents and reformats perl scripts to make them easier to read. If you write perl scripts, or spend much time reading them, you will probably find it useful.
local sources = { null_ls.builtins.formatting.perltidy }
Defaults
- Filetypes:
{ "perl" }
- Method:
formatting
- Command:
perltidy
- Args:
{ "-q" }
pg_formatยค
PostgreSQL SQL syntax beautifier
local sources = { null_ls.builtins.formatting.pg_format }
Defaults
- Filetypes:
{ "sql", "pgsql" }
- Method:
formatting
- Command:
pg_format
phpcbfยค
Tokenizes PHP files and detects violations of a defined set of coding standards.
local sources = { null_ls.builtins.formatting.phpcbf }
Defaults
- Filetypes:
{ "php" }
- Method:
formatting
- Command:
phpcbf
- Args:
{ "-q", "--stdin-path=$FILENAME", "-" }
phpcsfixerยค
Formatter for php files.
local sources = { null_ls.builtins.formatting.phpcsfixer }
Defaults
- Filetypes:
{ "php" }
- Method:
formatting
- Command:
php-cs-fixer
- Args:
{ "--no-interaction", "--quiet", "fix", "$FILENAME" }
prettierยค
Prettier is an opinionated code formatter. It enforces a consistent style by parsing your code and re-printing it with its own rules that take the maximum line length into account, wrapping code when necessary.
local sources = { null_ls.builtins.formatting.prettier }
Defaults
- Filetypes:
{ "javascript", "javascriptreact", "typescript", "typescriptreact", "vue", "css", "scss", "less", "html", "json", "jsonc", "yaml", "markdown", "graphql", "handlebars" }
- Methods:
formatting, range_formatting
- Command:
prettier
- Args: dynamically resolved (see source)
Notes
- Supports more filetypes such as Svelte and TOML via plugins. These filetypes are not enabled by default, but you can follow the instructions here to define your own list of filetypes.
- To increase speed, you may want to try prettierd. You can also set up eslint-plugin-prettier and format via eslint_d.
prettierdยค
prettier, as a daemon, for ludicrous formatting speed.
local sources = { null_ls.builtins.formatting.prettierd }
Defaults
- Filetypes:
{ "javascript", "javascriptreact", "typescript", "typescriptreact", "vue", "css", "scss", "less", "html", "json", "jsonc", "yaml", "markdown", "graphql", "handlebars" }
- Method:
formatting
- Command:
prettierd
- Args:
{ "$FILENAME" }
prettier_d_slimยค
Makes prettier fast.
local sources = { null_ls.builtins.formatting.prettier_d_slim }
Defaults
- Filetypes:
{ "javascript", "javascriptreact", "typescript", "typescriptreact", "vue", "css", "scss", "less", "html", "json", "jsonc", "yaml", "markdown", "graphql", "handlebars" }
- Methods:
formatting, range_formatting
- Command:
prettier_d_slim
- Args: dynamically resolved (see source)
Notes
- May not work on some filetypes.
prettierd
is more stable and recommended.
prettier_standardยค
Formats with Prettier and lints with ESLint+Standard! (โฟโ โฟโ )
local sources = { null_ls.builtins.formatting.prettier_standard }
Defaults
- Filetypes:
{ "javascript", "javascriptreact" }
- Method:
formatting
- Command:
prettier-standard
- Args:
{ "--stdin" }
prismaFmtยค
Formatter for the prisma filetype.
local sources = { null_ls.builtins.formatting.prismaFmt }
Defaults
- Filetypes:
{ "prisma" }
- Method:
formatting
- Command:
prisma-fmt
- Args:
{ "format", "-i", "$FILENAME" }
protolintยค
A pluggable linter and fixer to enforce Protocol Buffer style and conventions.
local sources = { null_ls.builtins.formatting.protolint }
Defaults
- Filetypes:
{ "proto" }
- Method:
formatting
- Command:
protolint
- Args:
{ "--fix", "$FILENAME" }
ptopยค
The FPC Pascal configurable source beautifier. Name means 'Pascal-TO-Pascal'.
local sources = { null_ls.builtins.formatting.ptop }
Defaults
- Filetypes:
{ "pascal", "delphi" }
- Method:
formatting
- Command:
ptop
- Args:
{ "$FILENAME", "$FILENAME" }
puppet_lintยค
Check that your Puppet manifest conforms to the style guide
local sources = { null_ls.builtins.formatting.puppet_lint }
Defaults
- Filetypes:
{ "puppet", "epuppet" }
- Method:
formatting
- Command:
puppet-lint
- Args:
{ "--fix", "$FILENAME" }
qmlformatยค
qmlformat is a tool that automatically formats QML files according to the QML Coding Conventions.
local sources = { null_ls.builtins.formatting.qmlformat }
Defaults
- Filetypes:
{ "qml" }
- Method:
formatting
- Command:
qmlformat
- Args:
{ "-i", "$FILENAME" }
raco_fmtยค
The fmt package provides an extensible tool to format Racket code, using an expressive pretty printer library to compute the optimal layout.
local sources = { null_ls.builtins.formatting.raco_fmt }
Defaults
- Filetypes:
{ "racket" }
- Method:
formatting
- Command:
raco
- Args:
{ "fmt" }
Notes
- Requires Racket 8.0 or later
- Install with
raco pkg install fmt
remarkยค
remark is an extensive and complex Markdown formatter/prettifier.
local sources = { null_ls.builtins.formatting.remark }
Defaults
- Filetypes:
{ "markdown" }
- Method:
formatting
- Command:
remark
- Args:
{ "--no-color", "--silent" }
Notes
- Depends on remark-cli.
reorder_python_importsยค
Tool for automatically reordering python imports. Similar to isort but uses static analysis more.
local sources = { null_ls.builtins.formatting.reorder_python_imports }
Defaults
- Filetypes:
{ "python" }
- Method:
formatting
- Command:
reorder-python-imports
- Args:
{ "-", "--exit-zero-even-if-changed" }
rescriptยค
The ReScript format builtin.
local sources = { null_ls.builtins.formatting.rescript }
Defaults
- Filetypes:
{ "rescript" }
- Method:
formatting
- Command:
rescript
- Args: dynamically resolved (see source)
rubocopยค
Ruby static code analyzer and formatter, based on the community Ruby style guide.
local sources = { null_ls.builtins.formatting.rubocop }
Defaults
- Filetypes:
{ "ruby" }
- Method:
formatting
- Command:
rubocop
- Args:
{ "--auto-correct", "-f", "quiet", "--stderr", "--stdin", "$FILENAME" }
rufoยค
Opinionated ruby formatter.
local sources = { null_ls.builtins.formatting.rufo }
Defaults
- Filetypes:
{ "ruby" }
- Method:
formatting
- Command:
rufo
- Args:
{ "-x" }
rustfmtยค
A tool for formatting rust code according to style guidelines.
local sources = { null_ls.builtins.formatting.rustfmt }
Defaults
- Filetypes:
{ "rust" }
- Method:
formatting
- Command:
rustfmt
- Args:
{ "--emit=stdout" }
Notes
--edition
defaults to2015
. To set a different edition, useextra_args
.- See the wiki for other workarounds.
rustywindยค
CLI for organizing Tailwind CSS classes.
local sources = { null_ls.builtins.formatting.rustywind }
Defaults
- Filetypes:
{ "javascript", "javascriptreact", "typescript", "typescriptreact", "vue", "svelte", "html" }
- Method:
formatting
- Command:
rustywind
- Args:
{ "--stdin" }
scalafmtยค
Code formatter for Scala
local sources = { null_ls.builtins.formatting.scalafmt }
Defaults
- Filetypes:
{ "scala" }
- Method:
formatting
- Command:
scalafmt
- Args:
{ "--stdin" }
shellhardenยค
Hardens shell scripts by quoting variables, replacing function_call
with $(function_call)
, and more.
local sources = { null_ls.builtins.formatting.shellharden }
Defaults
- Filetypes:
{ "sh" }
- Method:
formatting
- Command:
shellharden
- Args:
{ "--transform", "" }
shfmtยค
A shell parser, formatter, and interpreter with bash
support.
local sources = { null_ls.builtins.formatting.shfmt }
Defaults
- Filetypes:
{ "sh" }
- Method:
formatting
- Command:
shfmt
- Args:
{ "-filename", "$FILENAME" }
sqlformatยค
The sqlformat command-line tool can reformat SQL files according to specified options.
local sources = { null_ls.builtins.formatting.sqlformat }
Defaults
- Filetypes:
{ "sql" }
- Method:
formatting
- Command:
sqlformat
- Args:
{ "-" }
standardjsยค
JavaScript Standard Style, a no-configuration automatic code formatter that just works.
local sources = { null_ls.builtins.formatting.standardjs }
Defaults
- Filetypes:
{ "javascript", "javascriptreact" }
- Method:
formatting
- Command:
standard
- Args:
{ "--stdin", "--fix" }
standardrbยค
Ruby Style Guide, with linter & automatic code fixer. Based on Rubocop.
local sources = { null_ls.builtins.formatting.standardrb }
Defaults
- Filetypes:
{ "ruby" }
- Method:
formatting
- Command:
standardrb
- Args:
{ "--fix", "--format", "quiet", "--stderr", "--stdin", "$FILENAME" }
stylelintยค
A mighty, modern linter that helps you avoid errors and enforce conventions in your styles.
local sources = { null_ls.builtins.formatting.stylelint }
Defaults
- Filetypes:
{ "scss", "less", "css", "sass" }
- Method:
formatting
- Command:
stylelint
- Args:
{ "--fix", "--stdin", "--stdin-filename", "$FILENAME" }
stylerยค
Non-invasive pretty printing of R code.
local sources = { null_ls.builtins.formatting.styler }
Defaults
- Filetypes:
{ "r", "rmd" }
- Method:
formatting
- Command:
R
- Args: dynamically resolved (see source)
styluaยค
An opinionated code formatter for Lua.
local sources = { null_ls.builtins.formatting.stylua }
Defaults
- Filetypes:
{ "lua" }
- Methods:
formatting, range_formatting
- Command:
stylua
- Args: dynamically resolved (see source)
surfaceยค
A code formatter for Surface, the server-side rendering component library for Phoenix.
local sources = { null_ls.builtins.formatting.surface }
Defaults
- Filetypes:
{ "elixir", "surface" }
- Method:
formatting
- Command:
mix
- Args:
{ "surface.format", "-" }
swiftformatยค
SwiftFormat is a code library and command-line tool for reformatting swift
code on macOS or Linux.
local sources = { null_ls.builtins.formatting.swiftformat }
Defaults
- Filetypes:
{ "swift" }
- Method:
formatting
- Command:
swiftformat
taploยค
A versatile, feature-rich TOML toolkit.
local sources = { null_ls.builtins.formatting.taplo }
Defaults
- Filetypes:
{ "toml" }
- Method:
formatting
- Command:
taplo
- Args:
{ "format", "-" }
terrafmtยค
The terrafmt command formats terraform
blocks embedded in Markdown files.
local sources = { null_ls.builtins.formatting.terrafmt }
Defaults
- Filetypes:
{ "markdown" }
- Method:
formatting
- Command:
terrafmt
- Args:
{ "fmt", "$FILENAME" }
terraform_fmtยค
The terraform-fmt command rewrites terraform
configuration files to a canonical format and style.
local sources = { null_ls.builtins.formatting.terraform_fmt }
Defaults
- Filetypes:
{ "terraform", "tf" }
- Method:
formatting
- Command:
terraform
- Args:
{ "fmt", "-" }
tidyยค
Tidy corrects and cleans up HTML and XML documents by fixing markup errors and upgrading legacy code to modern standards.
local sources = { null_ls.builtins.formatting.tidy }
Defaults
- Filetypes:
{ "html", "xml" }
- Method:
formatting
- Command:
tidy
- Args:
{ "--tidy-mark", "no", "-quiet", "-indent", "-wrap", "-" }
trim_newlinesยค
A simple wrapper around awk
to remove trailing newlines.
local sources = { null_ls.builtins.formatting.trim_newlines }
Defaults
- Filetypes:
{}
- Method:
formatting
- Command:
awk
- Args:
{ 'NF{print s $0; s=""; next} {s=s ORS}' }
trim_whitespaceยค
A simple wrapper around awk
to remove trailing whitespace.
local sources = { null_ls.builtins.formatting.trim_whitespace }
Defaults
- Filetypes:
{}
- Method:
formatting
- Command:
awk
- Args:
{ '{ sub(/[ \t]+$/, ""); print }' }
uncrustifyยค
A source code beautifier for C, C++, C#, ObjectiveC, D, Java, Pawn and Vala.
local sources = { null_ls.builtins.formatting.uncrustify }
Defaults
- Filetypes:
{ "c", "cpp", "cs", "java" }
- Method:
formatting
- Command:
uncrustify
- Args: dynamically resolved (see source)
xmllintยค
Despite the name, xmllint can be used to format XML files as well as lint them, and that's the mode this builtin is using.
local sources = { null_ls.builtins.formatting.xmllint }
Defaults
- Filetypes:
{ "xml" }
- Method:
formatting
- Command:
xmllint
- Args:
{ "--format", "-" }
yapfยค
Formatter for Python.
local sources = { null_ls.builtins.formatting.yapf }
Defaults
- Filetypes:
{ "python" }
- Methods:
formatting, range_formatting
- Command:
yapf
- Args: dynamically resolved (see source)
zigfmtยค
Reformat Zig source into canonical form.
local sources = { null_ls.builtins.formatting.zigfmt }
Defaults
- Filetypes:
{ "zig" }
- Method:
formatting
- Command:
zig
- Args:
{ "fmt", "--stdin" }
Hoverยค
dictionaryยค
Shows the first available definition for the current word under the cursor.
local sources = { null_ls.builtins.hover.dictionary }
Defaults
- Filetypes:
{ "text", "markdown" }
- Method:
hover
Notes
- Depends on Plenary's
curl
module, which itself depends on havingcurl
installed and available on your$PATH
.