summaryrefslogtreecommitdiffstats
path: root/after/syntax/yaml.vim
diff options
context:
space:
mode:
Diffstat (limited to 'after/syntax/yaml.vim')
-rw-r--r--after/syntax/yaml.vim7
1 files changed, 6 insertions, 1 deletions
diff --git a/after/syntax/yaml.vim b/after/syntax/yaml.vim
index 0a4a4af1..489691b5 100644
--- a/after/syntax/yaml.vim
+++ b/after/syntax/yaml.vim
@@ -21,13 +21,17 @@ if version < 600
endif
syntax clear
-syn match yamlBlock "[\[\]\{\}\|\>]"
+syn match yamlInline "[\[\]\{\}]"
+syn match yamlBlock "[>|]\d\?[+-]"
syn region yamlComment start="\#" end="$"
syn match yamlIndicator "#YAML:\S\+"
syn region yamlString start="\(^\|\s\|\[\|\,\|\-\)'" end="'" skip="\\'"
syn region yamlString start='"' end='"' skip='\\"' contains=yamlEscape
+syn region yamlString matchgroup=yamlBlock start=/[>|]\s*\n\+\z(\s\+\)\S/rs=s+1 skip=/^\%(\z1\S\|^$\)/ end=/^\z1\@!.*/me=s-1
+syn region yamlString matchgroup=yamlBlock start=/[>|]\(\d\|[+-]\)\s*\n\+\z(\s\+\)\S/rs=s+2 skip=/^\%(\z1\S\|^$\)/ end=/^\z1\@!.*/me=s-1
+syn region yamlString matchgroup=yamlBlock start=/[>|]\d\(\d\|[+-]\)\s*\n\+\z(\s\+\)\S/rs=s+3 skip=/^\%(\z1\S\|^$\)/ end=/^\z1\@!.*/me=s-1
syn match yamlEscape +\\[abfnrtv'"\\]+ contained
syn match yamlEscape "\\\o\o\=\o\=" contained
syn match yamlEscape "\\x\x\+" contained
@@ -53,6 +57,7 @@ hi link yamlKey Identifier
hi link yamlType Type
hi link yamlComment Comment
+hi link yamlInline Operator
hi link yamlBlock Operator
hi link yamlString String
hi link yamlEscape Special