SQLFluff (A SQL linter and auto-formatter for Humans) extension for coc.nvim
npm install coc-sqlfluffSQLFluff (A SQL linter and auto-formatter for Humans) extension for coc.nvim

- Lint
- Format
- Code Action
- Built-in installer
CocInstall:
``vim`
:CocInstall coc-sqlfluff
vim-plug:
`vim`
Plug 'yaegassy/coc-sqlfluff', {'do': 'yarn install --frozen-lockfile'}
1. sqlfluff.commandPath setting
1. PATH environment (e.g. system global PATH or venv, etc ...)
1. builtin: extension-only "venv" (Installation commands are also provided)
coc-sqlfluff allows you to create an extension-only "venv" and install "sqlfluff".
The first time you use coc-sqlfluff, if sqlfluff is not detected, you will be prompted to do a built-in installation.
You can also run the installation command manually.
`vim`
:CocCommand sqlfluff.install
SQLFluff is able to read project-specific default values for its command line options, or from a configuration file.
SQLFluff will look for the following files in order. Later files will (if found) will be used to overwrite any vales read from earlier files.
1. setup.cfgtox.ini
1. pep8.ini
1. .sqlfluff
1. pyproject.toml
1.
REF:
-
- sqlfluff.enable: Enable coc-sqlfluff extension, default: truesqlfluff.commandPath
- : The path to the sqlfluff command (Absolute path), default: ""sqlfluff.builtin.pythonPath
- : Python 3.x path (Absolute path) to be used for built-in install, default: ""sqlfluff.dialect
- : The dialect of SQL to lint, valid option: ["ansi", "bigquery", "clickhouse", "databricks", "db2", "duckdb", "exasol", "hive", "mysql", "oracle", "postgres", "redshift", "snowflake", "soql", "sparksql", "sqlite", "teradata", "tsql"], default: "ansi"sqlfluff.linter.ignoreParsing
- : Whether the sql linter should ignore parsing errors, default: truesqlfluff.lintOnOpen
- : Lint file on opening, default: truesqlfluff.lintOnChange
- : Lint file on change, default: truesqlfluff.lintOnSave
- : Lint file on save, default: truesqlfluff.formatEnable
- : Whether the document formatter is enabled or not, default: truesqlfluff.formatIgnoreStderrAlert
- : Ignore stderr message output when formatting is executed, e.g. Unfixable violations detected, default: true
- sqlfluff.install: Install sqlfluff~/.config/coc/extensions/coc-sqlfluff-data/sqlfluff/venv/bin/sqlfluff
- It will be installed in this path:
- Mac/Linux: ~/AppData/Local/coc/extensions/coc-sqlfluff-data/sqlfluff/venv/Scripts/sqlfluff.exe
- Windows: sqlfluff.fix
- : Run sqlfluff fix filesqlfluff.format
- : Run sqlfluff format file (Available in sqlfluff v2.0.0 and later)sqlfluff.showOutput
- : Show sqlfluff output channel
Example key mapping (Code Action related):
`vim`
nmap
Usage:
In the line with diagnostic message, enter the mapped key (e.g. ga) and you will see a list of code actions that can be performed.
Actions:
- Ignoring Errors for current line (-- noqa)Ignoring Errors for current line (-- noqa: disable=all)
- Ignoring Errors for current line (-- noqa: enable=all)
- Show web documentation for {RULE_ID}`
-
MIT
---
> This extension is built with create-coc-extension