summaryrefslogtreecommitdiffstats
path: root/autoload/vimtex/syntax/p/tabularx.vim
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/vimtex/syntax/p/tabularx.vim')
-rw-r--r--autoload/vimtex/syntax/p/tabularx.vim77
1 files changed, 77 insertions, 0 deletions
diff --git a/autoload/vimtex/syntax/p/tabularx.vim b/autoload/vimtex/syntax/p/tabularx.vim
new file mode 100644
index 00000000..0ff623c2
--- /dev/null
+++ b/autoload/vimtex/syntax/p/tabularx.vim
@@ -0,0 +1,77 @@
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'latex') == -1
+
+" vimtex - LaTeX plugin for Vim
+"
+" Maintainer: Karl Yngve LervÄg
+" Email: karl.yngve@gmail.com
+"
+
+function! vimtex#syntax#p#tabularx#load() abort " {{{1
+ if has_key(b:vimtex_syntax, 'tabularx') | return | endif
+ let b:vimtex_syntax.tabularx = 1
+
+ call vimtex#syntax#misc#add_to_section_clusters('texTabular')
+
+ syntax match texTabular '\\begin{tabular}\_[^{]\{-}\ze{'
+ \ contains=texBeginEnd
+ \ nextgroup=texTabularArg
+ \ contained
+ syntax region texTabularArg matchgroup=Delimiter
+ \ start='{' end='}'
+ \ contained
+
+ syntax match texTabularCol /[lcr]/
+ \ containedin=texTabularArg
+ \ contained
+ syntax match texTabularCol /[pmb]/
+ \ containedin=texTabularArg
+ \ nextgroup=texTabularLength
+ \ contained
+ syntax match texTabularCol /\*/
+ \ containedin=texTabularArg
+ \ nextgroup=texTabularMulti
+ \ contained
+ syntax region texTabularMulti matchgroup=Delimiter
+ \ start='{' end='}'
+ \ containedin=texTabularArg
+ \ nextgroup=texTabularArg
+ \ contained
+
+ syntax match texTabularAtSep /@/
+ \ containedin=texTabularArg
+ \ nextgroup=texTabularLength
+ \ contained
+ syntax match texTabularVertline /||\?/
+ \ containedin=texTabularArg
+ \ contained
+ syntax match texTabularPostPre /[<>]/
+ \ containedin=texTabularArg
+ \ nextgroup=texTabularPostPreArg
+ \ contained
+
+ syntax region texTabularPostPreArg matchgroup=Delimiter
+ \ start='{' end='}'
+ \ containedin=texTabularArg
+ \ contains=texLength,texStatement,texMathDelimSingle
+ \ contained
+
+ syntax region texTabularLength matchgroup=Delimiter
+ \ start='{' end='}'
+ \ containedin=texTabularArg
+ \ contains=texLength,texStatement
+ \ contained
+
+ syntax match texMathDelimSingle /\$\$\?/
+ \ containedin=texTabularPostPreArg
+ \ contained
+
+ highlight def link texTabularCol Directory
+ highlight def link texTabularAtSep Type
+ highlight def link texTabularVertline Type
+ highlight def link texTabularPostPre Type
+ highlight def link texMathDelimSingle Delimiter
+endfunction
+
+" }}}1
+
+endif