GitHub - Kuniwak/vint: Fast and Highly Extensible Vim script Language Lint imple...
source link: https://github.com/Kuniwak/vint
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.rst
Vint is a Vim script Language Lint. The goal to reach for Vint is:
- Highly extensible
- Highly customizable
- High performance
But now, Vint is under development. We hope you develop a policy to help us.
Quick start
You can install with pip.
$ pip install vim-vint
You can use Vint with vim-syntastic/syntastic:
let g:syntastic_vim_checkers = ['vint']
Configure
Vint will read config files on the following priority order:
- User config:
- e.g.
~/.vintrc.yaml
(the filename can be.vintrc.yml
or.vintrc
) - Project config:
- e.g.
path/to/proj/.vintrc.yaml
(the filename can be.vintrc.yml
or.vintrc
) - Command line config:
- e.g.
$ vint --error
,$ vint --max-violations 10
- Comment config (highest priority):
- e.g.
" vint: -ProhibitAbbreviationOption +ProhibitSetNoCompatible
You can see all options on Wiki.
The default configuration is defined in default_config.yaml.
User config
You can configure global Vint config by ~/.vintrc.yaml
as following:
cmdargs: # Checking more strictly severity: style_problem # Enable coloring color: true # Enable Neovim syntax env: neovim: true policies: # Disable a violation ProhibitSomethingEvil: enabled: false # Enable a violation ProhibitSomethingBad: enabled: true
You can see all policy names on Vint linting policy summary.
Project config
You can configure project local Vint config by .vintrc.yaml
as
following:
cmdargs: # Checking more strictly severity: style_problem # Enable coloring color: true # Enable Neovim syntax env: neovim: true policies: # Disable a violation ProhibitSomethingEvil: enabled: false # Enable a violation ProhibitSomethingBad: enabled: true
You can see all policy names on Vint linting policy summary.
Command line config
You can configure linting severity, max errors, ... as following:
$ vint --color --style ~/.vimrc
And you can see all available options by using --help:
$ vint --help usage: vint [-h] [-v] [-V] [-e] [-w] [-s] [-m MAX_VIOLATIONS] [-c] [--no-color] [-j] [-t] [--enable-neovim] [-f FORMAT] [--stdin-display-name STDIN_DISPLAY_NAME] [files [files ...]] Lint Vim script positional arguments: files file or directory path to lint optional arguments: -h, --help show this help message and exit -v, --version show program's version number and exit -V, --verbose output verbose message -e, --error report only errors -w, --warning report errors and warnings -s, --style-problem report errors, warnings and style problems -m MAX_VIOLATIONS, --max-violations MAX_VIOLATIONS limit max violations count -c, --color colorize output when possible --no-color do not colorize output -j, --json output json style -t, --stat output statistic info --enable-neovim enable Neovim syntax -f FORMAT, --format FORMAT set output format --stdin-display-name STDIN_DISPLAY_NAME specify a file path that is used for reporting when linting standard inputs
Comment config
You can enable/disable linting policies by a comment as following:
" vint: -ProhibitAbbreviationOption let s:save_cpo = &cpo set cpo&vim " vint: +ProhibitAbbreviationOption " do something... " vint: -ProhibitAbbreviationOption let &cpo = s:save_cpo unlet s:save_cpo
And you can use line config comments. It can enable/disable linting policies in only one line by the postfix comment:
" vint: next-line -ProhibitUnusedVariable let s:foobar = 'x' echo s:{'foo' . 'bar'}
This syntax is: " vint: [next-line] [+-]<PolicyName> [+-]<PolicyName> .... You can see all policy names on Vint linting policy summary.
Code health
License
Acknowledgement
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK