Update 2026-01-25 09:38 OpenBSD/amd64-t14
This commit is contained in:
@@ -1,29 +1,45 @@
|
||||
" Vim Compiler File
|
||||
" Compiler: ledger
|
||||
" by Johann Klähn; Use according to the terms of the GPL>=2.
|
||||
" vim:ts=2:sw=2:sts=2:foldmethod=marker
|
||||
" SPDX-FileCopyrightText: © 2019 Caleb Maclennan <caleb@alerque.com>
|
||||
" SPDX-FileCopyrightText: © 2009 Johann Klähn <kljohann@gmail.com>
|
||||
" SPDX-FileCopyrightText: © 2009 Stefan Karrmann
|
||||
" SPDX-FileCopyrightText: © 2005 Wolfgang Oertl
|
||||
" SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
if exists("current_compiler")
|
||||
scriptencoding utf-8
|
||||
|
||||
call ledger#init()
|
||||
|
||||
if exists('current_compiler')
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "ledger"
|
||||
|
||||
if exists(":CompilerSet") != 2
|
||||
let current_compiler = b:ledger_bin
|
||||
|
||||
if exists(':CompilerSet') != 2
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
" default value will be set in ftplugin
|
||||
if ! exists("g:ledger_bin") || empty(g:ledger_bin) || ! executable(g:ledger_bin)
|
||||
finish
|
||||
let s:escaped_bin = substitute(b:ledger_bin, ' ', '\\ ', 'g')
|
||||
let s:escaped_main = substitute(shellescape(expand(b:ledger_main)), ' ', '\\ ', 'g')
|
||||
let s:escaped_extra = substitute(b:ledger_extra_options, ' ', '\\ ', 'g')
|
||||
|
||||
if !b:ledger_is_hledger
|
||||
" Capture Ledger errors (%-C ignores all lines between "While parsing..." and "Error:..."):
|
||||
CompilerSet errorformat=%EWhile\ parsing\ file\ \"%f\"\\,\ line\ %l:,%ZError:\ %m,%-C%.%#
|
||||
" Capture Ledger warnings:
|
||||
CompilerSet errorformat+=%tarning:\ \"%f\"\\,\ line\ %l:\ %m
|
||||
" Skip all other lines:
|
||||
CompilerSet errorformat+=%-G%.%#
|
||||
exe 'CompilerSet makeprg='
|
||||
\.s:escaped_bin
|
||||
\.'\ -f\ '.s:escaped_main
|
||||
\.'\ '.s:escaped_extra
|
||||
\.'\ source\ '.s:escaped_main
|
||||
else
|
||||
exe 'CompilerSet makeprg='
|
||||
\.s:escaped_bin
|
||||
\.'\ -f\ '.s:escaped_main
|
||||
\.'\ check\ '.s:escaped_extra
|
||||
CompilerSet errorformat=hledger:\ %trror:\ %f:%l:%c:
|
||||
CompilerSet errorformat+=hledger:\ %trror:\ %f:%l:
|
||||
CompilerSet errorformat+=hledger:\ %trror:\ %f:%l-%.%#:
|
||||
endif
|
||||
|
||||
" Capture Ledger errors (%-C ignores all lines between "While parsing..." and "Error:..."):
|
||||
CompilerSet errorformat=%EWhile\ parsing\ file\ \"%f\"\\,\ line\ %l:,%ZError:\ %m,%-C%.%#
|
||||
" Capture Ledger warnings:
|
||||
CompilerSet errorformat+=%tarning:\ \"%f\"\\,\ line\ %l:\ %m
|
||||
" Skip all other lines:
|
||||
CompilerSet errorformat+=%-G%.%#
|
||||
|
||||
" Check file syntax
|
||||
exe 'CompilerSet makeprg='.substitute(g:ledger_bin, ' ', '\\ ', 'g').'\ '.substitute(g:ledger_extra_options, ' ', '\\ ', 'g').'\ source\ %:S'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user