mirror of
https://github.com/SpaceVim/SpaceVim.git
synced 2025-01-24 02:10:05 +08:00
90 lines
3.6 KiB
Plaintext
90 lines
3.6 KiB
Plaintext
Include: include/setup.vader
|
|
|
|
Execute (writegood: postprocess: length):
|
|
function! s:F(entry)
|
|
if !has_key(a:entry, 'col')
|
|
let a:entry.col = 0
|
|
endif
|
|
call neomake#makers#ft#text#PostprocessWritegood(a:entry)
|
|
return a:entry
|
|
endfunction
|
|
AssertEqual s:F({'text': '"Currently" can weaken meaning'}).length, 9
|
|
AssertEqual s:F({'text': '"Currently" can "weaken" meaning'}).length, 9
|
|
Assert !has_key(s:F({'text': '"Currently can weaken meaning'}), 'length')
|
|
|
|
Execute (writegood: postprocess increments column):
|
|
function! s:F(entry)
|
|
call neomake#makers#ft#text#PostprocessWritegood(a:entry)
|
|
return a:entry
|
|
endfunction
|
|
AssertEqual s:F({'col': 2, 'text': 'foo'}), {'col': 3, 'text': 'foo'}
|
|
|
|
Execute (proselint):
|
|
new
|
|
file file.txt
|
|
Save &errorformat
|
|
let &errorformat = neomake#makers#ft#text#proselint().errorformat
|
|
call append(0, [
|
|
\ "file.txt:1:1: typography.symbols.ellipsis '...' is an approximation, use the ellipsis symbol '…'.",
|
|
\ "file.txt:2:9: uncomparables.misc Comparison of an uncomparable: 'very unique.' is not comparable.",
|
|
\ "file.txt:2:9: weasel_words.very Substitute 'damn' every time you're inclined to write 'very;' your editor will delete it and the writing will be just as it should be."])
|
|
norm! Gdd
|
|
lgetbuffer
|
|
AssertEqualQf getloclist(0), [
|
|
\ {'lnum': 1, 'bufnr': bufnr('%'), 'col': 1, 'valid': 1, 'vcol': 0, 'nr': -1,
|
|
\ 'type': 'W', 'pattern': '', 'text': 'typography.symbols.ellipsis ''...'' is an approximation, use the ellipsis symbol ''…''.'},
|
|
\ {'lnum': 2, 'bufnr': bufnr('%'), 'col': 9, 'valid': 1, 'vcol': 0, 'nr': -1,
|
|
\ 'type': 'W', 'pattern': '', 'text': 'uncomparables.misc Comparison of an uncomparable: ''very unique.'' is not comparable.'},
|
|
\ {'lnum': 2, 'bufnr': bufnr('%'), 'col': 9, 'valid': 1, 'vcol': 0, 'nr': -1,
|
|
\ 'type': 'W', 'pattern': '', 'text': 'weasel_words.very Substitute ''damn'' every time you''re inclined to write ''very;'' your editor will delete it and the writing will be just as it should be.'},
|
|
\ ]
|
|
|
|
norm! ggdGcc...
|
|
|
|
function! s:F(entry)
|
|
call neomake#makers#ft#text#proselint().postprocess(a:entry)
|
|
return a:entry
|
|
endfunction
|
|
AssertEqual 3, s:F(getloclist(0)[0]).length
|
|
|
|
let maker = neomake#GetMaker('proselint', 'text')
|
|
let maker.append_file = 0
|
|
let maker.exe = 'echo'
|
|
let maker.args = ["file.txt:1:1: typography.symbols.ellipsis '...' is an approximation, use the ellipsis symbol '…'."]
|
|
|
|
call neomake#highlights#ResetFile(bufnr('%'))
|
|
call neomake#Make(1, [maker])
|
|
NeomakeTestsWaitForFinishedJobs
|
|
|
|
let highlights = neomake#highlights#_get()
|
|
if has('nvim')
|
|
Assert has_key(highlights['file'], bufnr('%'))
|
|
else
|
|
AssertEqual highlights, {'file': {bufnr('%'): {
|
|
\ 'NeomakeError': [], 'NeomakeInfo': [], 'NeomakeMessage': [],
|
|
\ 'NeomakeWarning': [[1, 1, 3]]}}, 'project': {}}
|
|
endif
|
|
bwipe!
|
|
|
|
Execute (writegood: handles wrapped message):
|
|
Save &errorformat
|
|
let &errorformat = neomake#makers#ft#text#writegood().errorformat
|
|
lgetexpr [
|
|
\ 'README.md:1:73:"be',
|
|
\ 'used" may be passive voice',
|
|
\ 'README.md:2:1:something else']
|
|
|
|
let bufnr = bufnr('README.md')
|
|
AssertEqualQf getloclist(0), [
|
|
\ {'lnum': 1, 'bufnr': bufnr, 'col': 73, 'valid': 1, 'vcol': 0, 'nr': -1,
|
|
\ 'type': 'W', 'pattern': '', 'text': "\"be\nused\" may be passive voice"},
|
|
\ {'lnum': 2, 'bufnr': bufnr, 'col': 1, 'valid': 1, 'vcol': 0, 'nr': -1,
|
|
\ 'type': 'W', 'pattern': '', 'text': 'something else'}]
|
|
exe 'bwipe' bufnr
|
|
|
|
Execute (writegood: handles empty lines):
|
|
Save &errorformat
|
|
let &errorformat = neomake#makers#ft#text#writegood().errorformat
|
|
lgetexpr ['']
|
|
AssertEqual getloclist(0), []
|