bmatcuk / coc-stylelintplus

stylelint extension for coc.nvim supporting additional features
MIT License
48 stars 7 forks source link

Release

coc-stylelintplus

coc-stylelintplus is an extension for coc.nvim that supports additional features that coc-stylelint is missing. For example:

Formatting (ie, stylelint --fix) can be configured to run automatically on save, in response to format requests, or run manually using a command.

coc-stylelintplus uses stylelint-lsp as the language server.

Installation

With coc.nvim installed, run the following:

:CocInstall coc-stylelintplus

Alternatively, you can add the following to your init.vim and coc-stylelintplus will be automatically installed the next time you start nvim:

let g:coc_global_extensions = ['coc-stylelintplus']

If you are using coc-stylelintplus with coc-css, you'll want to disable coc-css's validation in your coc-settings.json file, otherwise you'll get duplicated or conflicting errors:

{
  "css.validate": false,
  "less.validate": false,
  "scss.validate": false,
  "wxss.validate": false
}

coc-css still provides some useful functionality with validation disabled, so it makes sense to use it together with coc-stylelintplus.

Settings

If neither config nor configFile are specified, stylelint will attempt to automatically find a config file based on the location of the file you are editing.

If both validateOnSave and validateOnType are set to false, no linting will occur but auto-fixes can still be applied if you have it enabled. validateOnSave is automatically enabled if you enable autoFixOnSave because revalidation must occur after fixes are applied. You may wish to explicitly turn on validateOnSave if you are using another editor extension that will make changes to the file on save, otherwise, diagnostic messages from stylelint may be out-of-date after a save (ie, may point to the wrong line or may have been fixed by the automatic changes on save, etc).

Default filetypes handled by coc-stylelintplus are css, less, postcss, sass, scss, sugarss, vue, and wxss. This list can be overridden with the filetypes option. If you enable the cssInJs option, javascript, javascriptreact, typescript, and typescriptreact will be added to the list.