Library for checking spaces in files
A node module for checking spaces in files.
This package is available on npm
npm install lintspaces
To run the lintspaces validator on one or multiple files take a look at the following example:
var Validator = require'lintspaces';var validator = /* options */;validatorvalidate'/path/to/file.ext';validatorvalidate'/path/to/other/file.ext';var results = validatorgetInvalidFiles;
The response of
getInvalidFiles() contains an object. Each key of this
object is a filepath which contains validation errors.
Under each filepath there is an other object with at least one key. Those key(s) are the specific linenumbers of the file containing an array with errors.
The following lines shows the structure of the validation result in JSON notation:
Tests for newlines at the end of all files. Default value is
NEWLINE, when a missing a newline at the end of the file.
NEWLINE_AMOUNT, when found unexpected additional newlines at the end of a file.
Test for the maximum amount of newlines between code blocks. Default value is
false. To enable this validation a number larger than
0 is expected.
NEWLINE_MAXIMUM, when maximum amount of newlines exceeded between code blocks.
Tests for useless whitespaces (trailing whitespaces) at each lineending of all
files. Default value is
TRAILINGSPACES, when unexpected trailing spaces were found.
Note: If you like to to skip empty lines from reporting (for whatever
reason), use the option
trailingspacesSkipBlanks and set them to
Tests for correct indentation using tabs or spaces. Default value is
To enable indentation check use the value
INDENTATION_TABS, when spaces are used instead of tabs.
If the indentation option is set to
'spaces', there is also the possibility
to set the amount of spaces per indentation using the
spaces option. Default
indentation: 'spaces'spaces: 2
INDENTATION_SPACES, when tabs are used instead of spaces.
INDENTATION_SPACES_AMOUNT, when spaces are used but the amound is not as expected.
indentationGuess option tries to guess the indention of a line
depending on previous lines. The report of this option can be incorrect,
because the correct indentation depends on the actual programming language
and styleguide of the certain file. The default value is
false - disabled.
This feature follows the following rules: The indentation of the current line is correct when:
Lintspaces fails with incorrect indentation errors when files contain Byte Order
Marks (BOM). If you don't want to give false positives for inconsistent tabs or
spaces, set the
allowsBOM option to
true. The default value is
false - disabled.
ignores option when special lines such as comments should be ignored.
Provide an array of regular expressions to the
There are some build in ignores for comments which you can apply by using these strings:
(build in strings and userdefined regular expressions are mixable in the
Feel free to contribute some new regular expressions as build in!
Note: Trailing spaces are not ignored by default, because they are always
evil!! If you still want to ignore them use the
option and set them to
It's possible to overwrite the default and given options by setting up a path
to an external editorconfig file by using the
editorconfig option. For a basic
configuration of a .editorconfig file check out the
The following .editorconfig values are supported:
insert_final_newlinewill check if a newline is set
indent_stylewill check the indentation
indent_sizewill check the amount of spaces
trim_trailing_whitespacewill check for useless whitespaces
An instance of the Lintspaces validator has the following methods
This function runs the check for a given file based on the validator settings.
pathis the path to the file as
pathis not a valid path.
pathis not a file.
This returns the amount of processed through the validator.
This returns all invalid lines and messages from processed files.
Objectrepresents a path of a processed invalid file. Each value is an other object containing the validation result. For more informations about the returned format see Usage.
This returns all invalid lines and messages from the file of the given
path. This is just a shorter version of
pathis the file path
Objectrepresents a line from the file of the given path, each value an exeption message of the current line. For more informations about the returned format see Usage.
Feel free to contribute. Please run all the tests and validation tasks befor you offer a pull request.
grunt validate test to run the tests and validation tasks.
The readme chapters are located in the docs directory as Markdown. All
Markdown files will be concatenated through a grunt task
grunt docs or run it fully by call
grunt to validate, test and
update the README.md.
Note: Do not edit the README.md directly, it will be overwritten!