Let EditorConfig and Textlint work together.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
editorconfig
rules
test
util
.gitignore
.travis.yml
LICENSE
README.md
index.js
ini.js
match.js
package.json
rules.js
scan.js

README.md

textlint-rule-editorconfig

textlint rule Gitter Build Status Coverage NPM Version

Let EditorConfig and Textlint work together.

Usage

See also Textlint's readme.

TL;DR

.textlintrc

{
  "rules": {
    "editorconfig": true
  }
}

package.json

{
  // ...
  "scripts": {
    "textlint": "textlint",
    "textlint:fix": "textlint --fix"
  }
  // ...
}

Command line:

$ npm i -S textlint
$ npm i -S textlint-rule-editorconfig
$ npm run textlint
$ npm run textlint:fix

Strategy

  • .editorconfig
    • Merge all .editorconfig files along the way, starting from nearest, until root = true fonud. If nothing found, provides a default configuration.
    • Priority: the nearer the higher between files, the later the higher in one file.
  • Glob (see match.js for details) based on minimatch, but retrieve a file's basename first, if no / found in the pattern.
  • Rules
    • indent_style: check all lines beginning with space or tab.
      • If indent_style = space, able to fix replacing each beginning tab to 2 spaces (or other, configurable via indent_size).
      • If indent_style = tab, unable to fix. Only warnings generated.
    • trim_trailing_whitespace: as you may expect. Fixable.
    • insert_final_newline: as you may expect. Fixable.
    • end_of_line: as you may expect. Fixable.
    • charset: based on jschardet. Not fixable, as it is kind of dangerous.

Contribute

Feel free to open issues or send PRs.