Awesome
SublimeLinter-contrib-xo
This linter plugin for SublimeLinter provides an interface to XO. It will be used with files that have the “JavaScript” syntax.
Installation
SublimeLinter must be installed in order to use this plugin.
Please use Package Control to install the linter plugin.
Before installing this plugin, you must ensure that xo
is installed in your project:
npm install xo
In order for xo
to be executed by SublimeLinter, you must ensure that its path is available to SublimeLinter. The docs cover troubleshooting PATH configuration.
Settings
Also, you can change general plugin setting from: “Preferences › Package Settings › SublimeLinter XO”.
Auto-fix
To run the auto-fixer, press the ctrl+alt+f
shortcut or use the menu entry “Tools › SublimeLinter XO › Fix current file”.
The shortcut can be changed in “Preferences › Key Bindings” by adding the following to the array:
{
"keys": [
"ctrl+alt+f"
],
"command": "xo_fix"
}
If you want to run the auto-fixer when saving a file, you can enable the fix_on_save
setting:
{
"fix_on_save": true
}
Tips
Using non-JS syntax
Typical plugins for ESLint, for example, for TypeScript or Vue, should just work automatically if they're installed locally in your project (defined in the same package.json
).
For plugins not supported out-of-the-box, you may need to change the SublimeLinter selector
setting to include the correct syntax scope. For Vue, that could be:
{
"linters": {
"xo": {
"selector": "text.html.vue, source.js - meta.attribute-with-value"
}
}
}
Help, xo
doesn't lint my HTML files anymore!
xo
will only lint *.js
files for standard, vanilla config without further plugins. Either install the eslint-plugin-html or tweak the selector
:
{
"linters": {
"xo": {
"selector": "source.js - meta.attribute-with-value"
}
}
}
Note
XO linting is only enabled for projects with xo
in devDependencies
/dependencies
in package.json.