为 neomake 获取正确的错误格式

Getting the correct errorformat for neomake

我正在使用工具 alex 为降价制作定制的 neomake maker,但很难找到正确的 errorformat。调试了一下,好像neomake returns下面的信息

Neomake [2.587]: [1.6] stderr: alex: ['test.md', '  1:5-1:14  warning  `boogeyman` may be insensitive, use `boogey` instead  boogeyman-boogeywoman  retext-equality', '', '⚠ 1 warning', '']
Neomake [4.431]: [1.6] exit: alex: 1
Neomake [4.431]: [1.6] alex: processing 4 lines of output.
Neomake [4.432]: [1.6] Removing invalid entry: test.md ({'lnum': 0, 'bufnr': 0, 'col': 0, 'valid': 0, 'vcol': 0, 'nr': -1, 'type': '', 'maker_name': 'alex', 'pattern': ''})
Neomake [6.404]: [1.6] Removing invalid entry:   1:5-1:14  warning  `boogeyman` may be insensitive, use `boogey` instead  boogeyman-boogeywoman  retext-equality ({'lnum': 0, 'bufnr': 0, 'col': 0, 'valid': 0, 'vcol': 0, 'nr': -1, 'type': '', 'maker_name': 'alex', 'pattern': ''})
Neomake [7.837]: [1.6] Removing invalid entry:  ({'lnum': 0, 'bufnr': 0, 'col': 0, 'valid': 0, 'vcol': 0, 'nr': -1, 'type': '', 'maker_name': 'alex', 'pattern': ''})
Neomake [8.669]: [1.6] Removing invalid entry: ⚠ 1 warning ({'lnum': 0, 'bufnr': 0, 'col': 0, 'valid': 0, 'vcol': 0, 'nr': -1, 'type': '', 'maker_name': 'alex', 'pattern': ''})
Neomake [9.469]: [1.6] alex: completed with exit code 1.
Neomake [9.469]: File-level errors cleaned in buffer 1

到目前为止,我获得的最成功的格式是 errorformat = %I%f,但感觉方向不对。

有ideas/tips吗?

如果您不介意从 competition 中获得灵感,像这样的方法可能会奏效:

let errorformat =
    \ '%P%f,' .
    \ '%-Q,' .
    \ '%*[ ]%l:%c-%*\d:%n%*[ ]%tarning%*[ ]%m,' .
    \ '%-G%.%#'

或者,您可以使用 alex plugin for textlint. As it turns out textlint 是一个更有趣的目标,它具有更好的输出格式。