获取neomake的正确错误格式

时间:2016-11-19 21:25:54

标签: vim neovim neomake

我正在使用工具alex制作用于降价的自定义neomake制作工具,但很难找到正确的errorformat。做一些调试,似乎neomake返回以下信息

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,但这并不是正确的方向。

任何想法/提示?

1 个答案:

答案 0 :(得分:1)

如果你不介意从competition获取灵感,那么这样的事情可能有用:

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

或者,您可以将alex plugin用于textlint。事实证明textlint是一个更加多汁的目标,并且它具有更好的输出格式。