Skip to content

Commit fe19c2c

Browse files
committed
add EVL301
1 parent bab6548 commit fe19c2c

File tree

2 files changed

+20
-3
lines changed

2 files changed

+20
-3
lines changed

autoload/vimlint.vim

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ let s:default_errlevel.EVL204 = s:DEF_NON
7171
let s:default_errlevel.EVL205 = s:DEF_WRN
7272
let s:default_errlevel.EVL206 = s:DEF_NON
7373
let s:default_errlevel.EVL207 = s:DEF_NON
74+
let s:default_errlevel.EVL301 = s:DEF_WRN
7475
let s:default_errlevel.EVL901 = s:DEF_WRN
7576
let s:default_errlevel.EVL902 = s:DEF_WRN
7677
let s:def_var_name = ':'
@@ -130,7 +131,7 @@ function! s:extend_errlevel(param) abort " {{{
130131
for key in keys(s:default_errlevel)
131132
" echo "param[" . key . "]"
132133
if !has_key(param, key)
133-
call s:set_param(param, key, s:DEF_ERR, s:def_var_name)
134+
call s:set_param(param, key, key[3] == '3' ? s:DEF_WRN : s:DEF_ERR, s:def_var_name)
134135
elseif type(param[key]) == type(0)
135136
call s:set_param(param, key, param[key], s:def_var_name)
136137
elseif type(param[key]) != type({})
@@ -1670,7 +1671,15 @@ function s:VimlLint.compile_subtract(node, ...) abort
16701671
endfunction
16711672

16721673
function s:VimlLint.compile_concat(node, ...) abort
1673-
return self.compile_op2(a:node, '.')
1674+
let r = self.compile_op2(a:node, '.')
1675+
" google style guide. use spaces around operators
1676+
let line = self.lines[r.pos.lnum - 1]
1677+
if line[r.pos.col - 2] !~# '\s' || len(line) > r.pos.col && line[r.pos.col] !~# '\s'
1678+
if self.filename !=# ''
1679+
call self.error_mes(r, 'EVL301', 'use space around operator `.`', r)
1680+
endif
1681+
endif
1682+
return r
16741683
endfunction
16751684

16761685
function s:VimlLint.compile_multiply(node, ...) abort
@@ -1948,9 +1957,12 @@ function! s:vimlint_file(filename, param, progress) abort " {{{
19481957
if a:param.type ==# 'string'
19491958
let r = s:vlp.StringReader.new(vimfile)
19501959
let c.filename = ''
1960+
let c.lines = split(vimfile, "\n")
19511961
else
1952-
let r = s:vlp.StringReader.new(readfile(vimfile))
1962+
let l = readfile(vimfile)
1963+
let r = s:vlp.StringReader.new(l)
19531964
let c.filename = vimfile
1965+
let c.lines = l
19541966
endif
19551967

19561968

doc/vimlint.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -344,6 +344,11 @@ EVL206: `v` can be used for `x` *EVL206*
344344

345345
EVL207: statement with no effect *EVL207*
346346

347+
348+
style
349+
EVL301: use space around operator `x` EVL301
350+
351+
347352
system error
348353
EVL901: unknown type `t` *EVL901*
349354
EVL902: assert error `t` *EVL902*

0 commit comments

Comments
 (0)