File: sagetex.vim

package info (click to toggle)
vim-vimtex 2.16-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 8,660 kB
  • sloc: makefile: 367; python: 103
file content (48 lines) | stat: -rw-r--r-- 1,364 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
" VimTeX - LaTeX plugin for Vim
"
" Maintainer: Karl Yngve LervÄg
" Email:      karl.yngve@gmail.com
"

function! vimtex#syntax#p#sagetex#load(cfg) abort " {{{1
  call vimtex#syntax#nested#include('python')

  syntax match texCmdSagetex /\\sageplot\>/
        \ nextgroup=texSagetexOpt,texSagetexArg skipwhite skipnl

  call vimtex#syntax#core#new_arg('texSagetexArg', {
        \ 'contains': '@vimtex_nested_python',
        \ 'opts': 'contained keepend'
        \})
  call vimtex#syntax#add_to_mathzone_ignore('texSagetexArg')
  call vimtex#syntax#core#new_opt('texSagetexOpt', {'next': 'texSagetexArg'})

  for l:env_name in [
        \ 'sageblock',
        \ 'sagesilent',
        \ 'sageverbatim',
        \ 'sageexample',
        \ 'sagecommandline'
        \]
    call vimtex#syntax#core#new_env({
          \ 'name': l:env_name,
          \ 'region': 'texSagetexZone',
          \ 'contains': '@vimtex_nested_python'
          \})
  endfor

  " The following commands are supported inside and outside of math zones
  for l:cmd_name in ['sage', 'sagestr']
    for l:in_mathmode in [v:true, v:false]
      call vimtex#syntax#core#new_cmd({
            \ 'name': l:cmd_name,
            \ 'mathmode': l:in_mathmode,
            \ 'nextgroup': 'texSagetexArg'
            \})
    endfor
  endfor

  highlight def link texCmdSagetex texCmd
endfunction

" }}}1