SublimeLinterのプラグインの作成を開始しましたが、これまでのところリンティング自体は機能しています。ただし、強調表示を機能させることができませんでした。私のリンター(実際にはコンパイラー)は列を出力しないので、失敗した行が強調表示されるとうれしいです。
の関連部分はlinter.py
次のようになります。
regex = (
r'Error in script \".+?\" on line (?P<line>\d+) -- aborting creation process'
)
multiline = True
line_col_base = (1, 1)
リンター実行可能ファイルのエラーの例は次のようになります。
Invalid command: Naem
Error in script "/Users/testuser/Desktop/lint-test.nsi" on line 5 -- aborting creation process
SublimeLinter がエラー メッセージをどのように利用できるかはわかりません。そのため、今のところ行の部分を正しく取得できれば幸いです。
編集:以下のコメントによると、私は を利用しようとしましたがnear
、ドキュメントが少なく、例がないため、まだ解決策を見つけることができませんでした. 私の更新された正規表現パターン:
regex = (
r'Invalid command\: (?P<near>\w+)'
r'Error in script \"(.+?)\" on line (?P<line>\d+) -- aborting creation process'
)
これはスペルミスのあるコマンドのみをキャプチャしますが、答えがあれば、出力を適切にキャプチャする方法を理解しやすくなります。