summaryrefslogtreecommitdiffstats
path: root/autoload/vimtex/syntax/p/pythontex.vim
diff options
context:
space:
mode:
Diffstat (limited to 'autoload/vimtex/syntax/p/pythontex.vim')
-rw-r--r--autoload/vimtex/syntax/p/pythontex.vim40
1 files changed, 40 insertions, 0 deletions
diff --git a/autoload/vimtex/syntax/p/pythontex.vim b/autoload/vimtex/syntax/p/pythontex.vim
new file mode 100644
index 00000000..e58c3747
--- /dev/null
+++ b/autoload/vimtex/syntax/p/pythontex.vim
@@ -0,0 +1,40 @@
+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#pythontex#load() abort " {{{1
+ if has_key(b:vimtex_syntax, 'pythontex') | return | endif
+ let b:vimtex_syntax.pythontex = 1
+
+ call vimtex#syntax#misc#include('python')
+
+ syntax match texStatement /\\py[bsc]\?/ contained nextgroup=texPythontexArg
+ syntax region texPythontexArg matchgroup=Delimiter
+ \ start='{' end='}'
+ \ contained contains=@vimtex_nested_python
+ syntax region texPythontexArg matchgroup=Delimiter
+ \ start='\z([#@]\)' end='\z1'
+ \ contained contains=@vimtex_nested_python
+
+ call vimtex#syntax#misc#add_to_section_clusters('texZonePythontex')
+ syntax region texZonePythontex
+ \ start='\\begin{pyblock}'rs=s
+ \ end='\\end{pyblock}'re=e
+ \ keepend
+ \ transparent
+ \ contains=texBeginEnd,@vimtex_nested_python
+ syntax region texZonePythontex
+ \ start='\\begin{pycode}'rs=s
+ \ end='\\end{pycode}'re=e
+ \ keepend
+ \ transparent
+ \ contains=texBeginEnd,@vimtex_nested_python
+endfunction
+
+" }}}1
+
+endif