diff options
-rw-r--r-- | syntax/beancount.vim | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/syntax/beancount.vim b/syntax/beancount.vim index 01d9710..e1685ad 100644 --- a/syntax/beancount.vim +++ b/syntax/beancount.vim @@ -27,29 +27,30 @@ syn match beanDate "^\v\d{4}-\d{2}-\d{2}" skipwhite " Options and events have two string arguments. The first, we are matching as " beanOptionTitle and the second as a regular string. syn region beanOption matchgroup=beanKeyword start="^option" end="$" - \ contains=beanOptionTitle,beanComment + \ keepend contains=beanOptionTitle,beanComment syn region beanOption matchgroup=beanKeyword start="^plugin" end="$" - \ contains=beanString,beanComment + \ keepend contains=beanString,beanComment syn region beanEvent matchgroup=beanKeyword start="event" end="$" contained - \ contains=beanOptionTitle,beanComment + \ keepend contains=beanOptionTitle,beanComment syn region beanOptionTitle start='"' skip='\\"' end='"' contained \ nextgroup=beanString skipwhite -syn region beanOpen matchgroup=beanKeyword start="open" end="$" contained - \ contains=beanAccount,beanCurrency,beanComment -syn region beanClose matchgroup=beanKeyword start="close" end="$" contained - \ contains=beanAccount,beanComment +syn region beanOpen matchgroup=beanKeyword start="open" end="$" keepend + \ contained contains=beanAccount,beanCurrency,beanComment +syn region beanClose matchgroup=beanKeyword start="close" end="$" keepend + \ contained contains=beanAccount,beanComment syn region beanNote matchgroup=beanKeyword start="\vnote|document" end="$" - \ contains=beanAccount,beanString,beanComment contained + \ keepend contains=beanAccount,beanString,beanComment contained syn region beanBalance matchgroup=beanKeyword start="balance" end="$" contained - \ contains=beanAccount,beanAmount,beanComment + \ keepend contains=beanAccount,beanAmount,beanComment syn region beanPrice matchgroup=beanKeyword start="price" end="$" contained - \ contains=beanCurrency,beanAmount + \ keepend contains=beanCurrency,beanAmount syn keyword beanKeyword pushtag poptag syn region beanPad matchgroup=beanKeyword start="pad" end="$" contained - \ contains=beanAccount,beanComment + \ keepend contains=beanAccount,beanComment syn region beanTxn matchgroup=beanKeyword start="\v(txn)?\s+[*!]" skip="^\s" - \ end="^" contains=beanString,beanPost,beanComment,beanTag,beanLink,beanMeta contained fold + \ end="^" keepend contained fold + \ contains=beanString,beanPost,beanComment,beanTag,beanLink,beanMeta syn region beanPost start="^\v\C\s+[A-Z]@=" end="$" \ contains=beanAccount,beanAmount,beanComment,beanCost,beanPrice syn region beanMeta matchgroup=beanTag start="^\v\C\s+[-a-z]+:(\s|$)@=" end="$" |