Syntax cluster groups and clean up

This commit is contained in:
Alex Vear
2020-08-24 21:48:18 +01:00
parent 263d073f41
commit b5877e40fb
2 changed files with 23 additions and 17 deletions

View File

@@ -17,6 +17,7 @@ endif
" Enable spell check for non syntax highlighted text " Enable spell check for non syntax highlighted text
syntax spell toplevel syntax spell toplevel
" Bold, underine, italic, etc. " Bold, underine, italic, etc.
syntax region orgItalic matchgroup=orgItalicDelimiter start="\(^\|[- '"({\]]\)\@<=\/\ze[^ ]" end="^\@!\/\([^\k\/]\|$\)\@=" keepend contains=@Spell syntax region orgItalic matchgroup=orgItalicDelimiter start="\(^\|[- '"({\]]\)\@<=\/\ze[^ ]" end="^\@!\/\([^\k\/]\|$\)\@=" keepend contains=@Spell
syntax region orgBold matchgroup=orgBoldDelimiter start="\(^\|[- '"({\]]\)\@<=\*\ze[^ ]" end="^\@!\*\([^\k\*]\|$\)\@=" keepend contains=@Spell syntax region orgBold matchgroup=orgBoldDelimiter start="\(^\|[- '"({\]]\)\@<=\*\ze[^ ]" end="^\@!\*\([^\k\*]\|$\)\@=" keepend contains=@Spell
@@ -36,10 +37,10 @@ highlight def link orgBoldDelimiter orgBold
highlight def link orgUnderlineDelimiter orgUnderline highlight def link orgUnderlineDelimiter orgUnderline
highlight def link orgStrikethroughDelimiter orgStrikethrough highlight def link orgStrikethroughDelimiter orgStrikethrough
" Options " Options
syntax match orgOption /^\s*#+\w\+.*$/ keepend syntax match orgOption /^\s*#+\w\+.*$/ keepend
syntax region orgTitle matchgroup=orgOption start="\c^\s*#+TITLE:\s*" end="$" keepend oneline syntax region orgTitle matchgroup=orgOption start="\c^\s*#+TITLE:\s*" end="$" keepend oneline
highlight def link orgBlockDelimiter SpecialComment highlight def link orgBlockDelimiter SpecialComment
highlight def link orgOption SpecialComment highlight def link orgOption SpecialComment
highlight def link orgTitle Title highlight def link orgTitle Title
@@ -73,6 +74,8 @@ syntax match orgHeading4 /^\s*\*\{4}\s\+.*$/ keepend contains=@Spell,orgTag,orgT
syntax match orgHeading5 /^\s*\*\{5}\s\+.*$/ keepend contains=@Spell,orgTag,orgTodo,orgMath syntax match orgHeading5 /^\s*\*\{5}\s\+.*$/ keepend contains=@Spell,orgTag,orgTodo,orgMath
syntax match orgHeading6 /^\s*\*\{6,}\s\+.*$/ keepend contains=@Spell,orgTag,orgTodo,orgMath syntax match orgHeading6 /^\s*\*\{6,}\s\+.*$/ keepend contains=@Spell,orgTag,orgTodo,orgMath
syntax cluster orgHeadingGroup contains=orgHeading1,orgHeading2,orgHeading3,orgHeading4,orgHeading5,orgHeading6
syntax match orgTag /:\w\{-}:/ contained contains=orgTag syntax match orgTag /:\w\{-}:/ contained contains=orgTag
exec 'syntax keyword orgTodo contained ' . join(org#option('org_state_keywords', ['TODO', 'NEXT', 'DONE']), ' ') exec 'syntax keyword orgTodo contained ' . join(org#option('org_state_keywords', ['TODO', 'NEXT', 'DONE']), ' ')
@@ -106,21 +109,19 @@ syntax match orgHyperLeft /\[\{2}/ contained conceal
syntax match orgHyperRight /\]\{2}/ contained conceal syntax match orgHyperRight /\]\{2}/ contained conceal
syntax match orgHyperURL /[^][]\{-1,}\]\[/ contains=orgHyperCentre contained conceal syntax match orgHyperURL /[^][]\{-1,}\]\[/ contains=orgHyperCentre contained conceal
syntax match orgHyperCentre /\]\[/ contained conceal syntax match orgHyperCentre /\]\[/ contained conceal
syntax cluster orgHyperlinkBracketsGroup contains=orgHyperLeft,orgHyperRight,orgHyperCentre
syntax cluster orgHyperlinkGroup contains=orgHyperlink,orgHyperURL,orgHyperlinkBracketsGroup
highlight def link orgHyperlink Underlined highlight def link orgHyperlink Underlined
highlight def link orgHyperURL String highlight def link orgHyperURL String
highlight def link orgHyperCentre Comment highlight def link orgHyperCentre Comment
highlight def link orgHyperLeft Comment highlight def link orgHyperLeft Comment
highlight def link orgHyperRight Comment highlight def link orgHyperRight Comment
" TeX " TeX
" Support for both inline and block based embedded latex " Ref: https://orgmode.org/manual/LaTeX-fragments.html
" eg: $Latex$ for inline or $$ LaTeX $$ for a block
" Note:
" - $LaTeX$ uses the tex.vim syntax for its conceal properties
" - Inspired by https://github.com/vim-pandoc/vim-pandoc-syntax
" - the conceal settings follows your g:tex_conceal setting for
" more info run :h tex-conceal.
" Ref: https://orgmode.org/manual/LaTeX-fragments.html#LaTeX-fragments
syntax include @LATEX syntax/tex.vim syntax include @LATEX syntax/tex.vim
syntax region orgMath start="\\begin\[.*\]{.*}" end="\\end{.*}" keepend contains=@LATEX syntax region orgMath start="\\begin\[.*\]{.*}" end="\\end{.*}" keepend contains=@LATEX
syntax region orgMath start="\\begin{.*}" end="\\end{.*}" keepend contains=@LATEX syntax region orgMath start="\\begin{.*}" end="\\end{.*}" keepend contains=@LATEX
@@ -129,6 +130,7 @@ syntax region orgMath start="\\(" end="\\)" kee
syntax region orgMath start="\S\@<=\$\|\$\S\@=" end="\S\@<=\$\|\$\S\@=" keepend oneline contains=@LATEX syntax region orgMath start="\S\@<=\$\|\$\S\@=" end="\S\@<=\$\|\$\S\@=" keepend oneline contains=@LATEX
syntax region orgMath start=/\$\$/ end=/\$\$/ keepend contains=@LATEX syntax region orgMath start=/\$\$/ end=/\$\$/ keepend contains=@LATEX
syntax match orgMath /\\\$/ conceal cchar=$ syntax match orgMath /\\\$/ conceal cchar=$
hi def link orgMath String highlight def link orgMath String
let b:current_syntax = 'org' let b:current_syntax = 'org'

View File

@@ -17,6 +17,7 @@ endif
" Enable spell check for non syntax highlighted text " Enable spell check for non syntax highlighted text
syntax spell toplevel syntax spell toplevel
" Headings " Headings
syntax match outlineHeading1 /^\s*\*\{1}\s\+.*$/ keepend contains=@Spell syntax match outlineHeading1 /^\s*\*\{1}\s\+.*$/ keepend contains=@Spell
syntax match outlineHeading2 /^\s*\*\{2}\s\+.*$/ keepend contains=@Spell syntax match outlineHeading2 /^\s*\*\{2}\s\+.*$/ keepend contains=@Spell
@@ -25,6 +26,8 @@ syntax match outlineHeading4 /^\s*\*\{4}\s\+.*$/ keepend contains=@Spell
syntax match outlineHeading5 /^\s*\*\{5}\s\+.*$/ keepend contains=@Spell syntax match outlineHeading5 /^\s*\*\{5}\s\+.*$/ keepend contains=@Spell
syntax match outlineHeading6 /^\s*\*\{6,}\s\+.*$/ keepend contains=@Spell syntax match outlineHeading6 /^\s*\*\{6,}\s\+.*$/ keepend contains=@Spell
syntax cluster outlineHeadingGroup contains=outlineHeading1,outlineHeading2,outlineHeading3,outlineHeading4,outlineHeading5,outlineHeading6
hi def link outlineHeading1 Title hi def link outlineHeading1 Title
hi def link outlineHeading2 outlineHeading1 hi def link outlineHeading2 outlineHeading1
hi def link outlineHeading3 outlineHeading2 hi def link outlineHeading3 outlineHeading2
@@ -32,4 +35,5 @@ hi def link outlineHeading4 outlineHeading3
hi def link outlineHeading5 outlineHeading4 hi def link outlineHeading5 outlineHeading4
hi def link outlineHeading6 outlineHeading5 hi def link outlineHeading6 outlineHeading5
let b:current_syntax = 'outline' let b:current_syntax = 'outline'