Mercurial > vim
annotate runtime/syntax/mojo.vim @ 33488:0081ca43bee9 v9.0.1995
patch 9.0.1995: Invalid memory access with empty 'foldexpr'
Commit: https://github.com/vim/vim/commit/a991ce9c083bb8c02b1b1ec34ed35728197050f3
Author: zeertzjq <zeertzjq@outlook.com>
Date: Fri Oct 6 19:16:36 2023 +0200
patch 9.0.1995: Invalid memory access with empty 'foldexpr'
Problem: Invalid memory access when 'foldexpr' returns empty string.
Solution: Check for NUL.
closes: #13293
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 06 Oct 2023 19:30:07 +0200 |
parents | 44fa2b82a642 |
children |
rev | line source |
---|---|
33235
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
1 " Vim syntax file |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 " Language: Mojo |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 " Maintainer: Mahmoud Abduljawad <me@mahmoudajawad.com> |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 " Last Change: 2023 Sep 09 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 " Credits: Mahmoud Abduljawad <me@mahmoudajawad.com> |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 " Neil Schemenauer <nas@python.ca> |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 " Dmitry Vasiliev |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 " This is based on Vim Python highlighting |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 " - introduced highlighting of doctests |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 " - updated keywords, built-ins, and exceptions |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 " - corrected regular expressions for |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 " * functions |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 " * decorators |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 " * strings |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 " * escapes |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 " * numbers |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 " * space error |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 " - corrected synchronization |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 " - more highlighting is ON by default, except |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 " - space error highlighting is OFF by default |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 " Optional highlighting can be controlled using these variables. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 " let mojo_no_builtin_highlight = 1 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 " let mojo_no_doctest_code_highlight = 1 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 " let mojo_no_doctest_highlight = 1 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
31 " let mojo_no_exception_highlight = 1 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 " let mojo_no_number_highlight = 1 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
33 " let mojo_space_error_highlight = 1 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 " All the options above can be switched on together. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
37 " let mojo_highlight_all = 1 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
38 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
39 " The use of Python 2 compatible syntax highlighting can be enforced. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
40 " The straddling code (Python 2 and 3 compatible), up to Python 3.5, |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
41 " will be also supported. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
42 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
43 " let mojo_use_python2_syntax = 1 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
44 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
45 " This option will exclude all modern Python 3.6 or higher features. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
46 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
47 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
48 " quit when a syntax file was already loaded. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
49 if exists("b:current_syntax") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
50 finish |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
51 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
52 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
53 " We need nocompatible mode in order to continue lines with backslashes. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
54 " Original setting will be restored. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
55 let s:cpo_save = &cpo |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
56 set cpo&vim |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
57 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
58 if exists("mojo_no_doctest_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
59 let mojo_no_doctest_code_highlight = 1 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
60 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
61 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
62 if exists("mojo_highlight_all") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
63 if exists("mojo_no_builtin_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
64 unlet mojo_no_builtin_highlight |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
65 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
66 if exists("mojo_no_doctest_code_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
67 unlet mojo_no_doctest_code_highlight |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
68 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
69 if exists("mojo_no_doctest_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
70 unlet mojo_no_doctest_highlight |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
71 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
72 if exists("mojo_no_exception_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
73 unlet mojo_no_exception_highlight |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
74 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
75 if exists("mojo_no_number_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
76 unlet mojo_no_number_highlight |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
77 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
78 let mojo_space_error_highlight = 1 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
79 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
80 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
81 " These keywords are based on Python syntax highlight, and adds to it struct, |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
82 " fn, alias, var, let |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
83 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
84 syn keyword mojoStatement False None True |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
85 syn keyword mojoStatement as assert break continue del global |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
86 syn keyword mojoStatement lambda nonlocal pass return with yield |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
87 syn keyword mojoStatement class def nextgroup=mojoFunction skipwhite |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
88 syn keyword mojoStatement struct fn nextgroup=mojoFunction skipwhite |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
89 syn keyword mojoStatement alias var let |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
90 syn keyword mojoConditional elif else if |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
91 syn keyword mojoRepeat for while |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
92 syn keyword mojoOperator and in is not or |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
93 syn keyword mojoException except finally raise try |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
94 syn keyword mojoInclude from import |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
95 syn keyword mojoAsync async await |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
96 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
97 " Soft keywords |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
98 " These keywords do not mean anything unless used in the right context. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
99 " See https://docs.python.org/3/reference/lexical_analysis.html#soft-keywords |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
100 " for more on this. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
101 syn match mojoConditional "^\s*\zscase\%(\s\+.*:.*$\)\@=" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
102 syn match mojoConditional "^\s*\zsmatch\%(\s\+.*:\s*\%(#.*\)\=$\)\@=" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
103 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
104 " Decorators |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
105 " A dot must be allowed because of @MyClass.myfunc decorators. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
106 syn match mojoDecorator "@" display contained |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
107 syn match mojoDecoratorName "@\s*\h\%(\w\|\.\)*" display contains=pythonDecorator |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
108 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
109 " Python 3.5 introduced the use of the same symbol for matrix multiplication: |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
110 " https://www.python.org/dev/peps/pep-0465/. We now have to exclude the |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
111 " symbol from highlighting when used in that context. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
112 " Single line multiplication. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
113 syn match mojoMatrixMultiply |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
114 \ "\%(\w\|[])]\)\s*@" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
115 \ contains=ALLBUT,mojoDecoratorName,mojoDecorator,mojoFunction,mojoDoctestValue |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
116 \ transparent |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
117 " Multiplication continued on the next line after backslash. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
118 syn match mojoMatrixMultiply |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
119 \ "[^\\]\\\s*\n\%(\s*\.\.\.\s\)\=\s\+@" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
120 \ contains=ALLBUT,mojoDecoratorName,mojoDecorator,mojoFunction,mojoDoctestValue |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
121 \ transparent |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
122 " Multiplication in a parenthesized expression over multiple lines with @ at |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
123 " the start of each continued line; very similar to decorators and complex. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
124 syn match mojoMatrixMultiply |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
125 \ "^\s*\%(\%(>>>\|\.\.\.\)\s\+\)\=\zs\%(\h\|\%(\h\|[[(]\).\{-}\%(\w\|[])]\)\)\s*\n\%(\s*\.\.\.\s\)\=\s\+@\%(.\{-}\n\%(\s*\.\.\.\s\)\=\s\+@\)*" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
126 \ contains=ALLBUT,mojoDecoratorName,mojoDecorator,mojoFunction,mojoDoctestValue |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
127 \ transparent |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
128 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
129 syn match mojoFunction "\h\w*" display contained |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
130 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
131 syn match mojoComment "#.*$" contains=mojoTodo,@Spell |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
132 syn keyword mojoTodo FIXME NOTE NOTES TODO XXX contained |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
133 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
134 " Triple-quoted strings can contain doctests. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
135 syn region mojoString matchgroup=mojoQuotes |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
136 \ start=+[uU]\=\z(['"]\)+ end="\z1" skip="\\\\\|\\\z1" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
137 \ contains=mojoEscape,@Spell |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
138 syn region mojoString matchgroup=mojoTripleQuotes |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
139 \ start=+[uU]\=\z('''\|"""\)+ end="\z1" keepend |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
140 \ contains=mojoEscape,mojoSpaceError,mojoDoctest,@Spell |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
141 syn region mojoRawString matchgroup=mojoQuotes |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
142 \ start=+[uU]\=[rR]\z(['"]\)+ end="\z1" skip="\\\\\|\\\z1" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
143 \ contains=@Spell |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
144 syn region mojoRawString matchgroup=pythonTripleQuotes |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
145 \ start=+[uU]\=[rR]\z('''\|"""\)+ end="\z1" keepend |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
146 \ contains=pythonSpaceError,mojoDoctest,@Spell |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
147 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
148 syn match mojoEscape +\\[abfnrtv'"\\]+ contained |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
149 syn match mojoEscape "\\\o\{1,3}" contained |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
150 syn match mojoEscape "\\x\x\{2}" contained |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
151 syn match mojoEscape "\%(\\u\x\{4}\|\\U\x\{8}\)" contained |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
152 " Python allows case-insensitive Unicode IDs: http://www.unicode.org/charts/ |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
153 syn match mojoEscape "\\N{\a\+\%(\s\a\+\)*}" contained |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
154 syn match mojoEscape "\\$" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
155 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
156 " It is very important to understand all details before changing the |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
157 " regular expressions below or their order. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
158 " The word boundaries are *not* the floating-point number boundaries |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
159 " because of a possible leading or trailing decimal point. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
160 " The expressions below ensure that all valid number literals are |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
161 " highlighted, and invalid number literals are not. For example, |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
162 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
163 " - a decimal point in '4.' at the end of a line is highlighted, |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
164 " - a second dot in 1.0.0 is not highlighted, |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
165 " - 08 is not highlighted, |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
166 " - 08e0 or 08j are highlighted, |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
167 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
168 " and so on, as specified in the 'Python Language Reference'. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
169 " https://docs.python.org/reference/lexical_analysis.html#numeric-literals |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
170 if !exists("mojo_no_number_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
171 " numbers (including complex) |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
172 syn match mojoNumber "\<0[oO]\%(_\=\o\)\+\>" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
173 syn match mojoNumber "\<0[xX]\%(_\=\x\)\+\>" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
174 syn match mojoNumber "\<0[bB]\%(_\=[01]\)\+\>" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
175 syn match mojoNumber "\<\%([1-9]\%(_\=\d\)*\|0\+\%(_\=0\)*\)\>" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
176 syn match mojoNumber "\<\d\%(_\=\d\)*[jJ]\>" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
177 syn match mojoNumber "\<\d\%(_\=\d\)*[eE][+-]\=\d\%(_\=\d\)*[jJ]\=\>" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
178 syn match mojoNumber |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
179 \ "\<\d\%(_\=\d\)*\.\%([eE][+-]\=\d\%(_\=\d\)*\)\=[jJ]\=\%(\W\|$\)\@=" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
180 syn match mojoNumber |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
181 \ "\%(^\|\W\)\zs\%(\d\%(_\=\d\)*\)\=\.\d\%(_\=\d\)*\%([eE][+-]\=\d\%(_\=\d\)*\)\=[jJ]\=\>" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
182 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
183 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
184 " The built-ins are added in the same order of appearance in Mojo stdlib docs |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
185 " https://docs.modular.com/mojo/lib.html |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
186 " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
187 if !exists("mojo_no_builtin_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
188 " Built-in functions |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
189 syn keyword mojoBuiltin slice constrained debug_assert put_new_line print |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
190 syn keyword mojoBuiltin print_no_newline len range rebind element_type |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
191 syn keyword mojoBuiltin ord chr atol isdigit index address string |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
192 " Built-in types |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
193 syn keyword mojoType Byte ListLiteral CoroutineContext Coroutine DType |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
194 syn keyword mojoType dtype type invalid bool int8 si8 unit8 ui8 int16 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
195 syn keyword mojoType si16 unit16 ui16 int32 si32 uint32 ui32 int64 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
196 syn keyword mojoType si64 uint64 ui64 bfloat16 bf16 float16 f16 float32 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
197 syn keyword mojoType f32 float64 f64 Error FloatLiteral Int Attr SIMD |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
198 syn keyword mojoType Int8 UInt8 Int16 UInt16 Int32 UInt32 Int64 UInt64 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
199 syn keyword mojoType Float16 Float32 Float64 element_type _65x13_type |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
200 syn keyword mojoType String StringLiteral StringRef Tuple AnyType |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
201 syn keyword mojoType NoneType None Lifetime |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
202 " avoid highlighting attributes as builtins |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
203 syn match mojoAttribute /\.\h\w*/hs=s+1 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
204 \ contains=ALLBUT,mojoBuiltin,mojoFunction,mojoAsync |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
205 \ transparent |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
206 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
207 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
208 " From the 'Python Library Reference' class hierarchy at the bottom. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
209 " http://docs.python.org/library/exceptions.html |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
210 if !exists("mojo_no_exception_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
211 " builtin base exceptions (used mostly as base classes for other exceptions) |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
212 syn keyword mojoExceptions BaseException Exception |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
213 syn keyword mojoExceptions ArithmeticError BufferError LookupError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
214 " builtin exceptions (actually raised) |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
215 syn keyword mojoExceptions AssertionError AttributeError EOFError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
216 syn keyword mojoExceptions FloatingPointError GeneratorExit ImportError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
217 syn keyword mojoExceptions IndentationError IndexError KeyError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
218 syn keyword mojoExceptions KeyboardInterrupt MemoryError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
219 syn keyword mojoExceptions ModuleNotFoundError NameError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
220 syn keyword mojoExceptions NotImplementedError OSError OverflowError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
221 syn keyword mojoExceptions RecursionError ReferenceError RuntimeError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
222 syn keyword mojoExceptions StopAsyncIteration StopIteration SyntaxError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
223 syn keyword mojoExceptions SystemError SystemExit TabError TypeError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
224 syn keyword mojoExceptions UnboundLocalError UnicodeDecodeError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
225 syn keyword mojoExceptions UnicodeEncodeError UnicodeError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
226 syn keyword mojoExceptions UnicodeTranslateError ValueError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
227 syn keyword mojoExceptions ZeroDivisionError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
228 " builtin exception aliases for OSError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
229 syn keyword mojoExceptions EnvironmentError IOError WindowsError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
230 " builtin OS exceptions in Python 3 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
231 syn keyword mojoExceptions BlockingIOError BrokenPipeError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
232 syn keyword mojoExceptions ChildProcessError ConnectionAbortedError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
233 syn keyword mojoExceptions ConnectionError ConnectionRefusedError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
234 syn keyword mojoExceptions ConnectionResetError FileExistsError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
235 syn keyword mojoExceptions FileNotFoundError InterruptedError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
236 syn keyword mojoExceptions IsADirectoryError NotADirectoryError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
237 syn keyword mojoExceptions PermissionError ProcessLookupError TimeoutError |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
238 " builtin warnings |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
239 syn keyword mojoExceptions BytesWarning DeprecationWarning FutureWarning |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
240 syn keyword mojoExceptions ImportWarning PendingDeprecationWarning |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
241 syn keyword mojoExceptions ResourceWarning RuntimeWarning |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
242 syn keyword mojoExceptions SyntaxWarning UnicodeWarning |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
243 syn keyword mojoExceptions UserWarning Warning |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
244 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
245 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
246 if exists("mojo_space_error_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
247 " trailing whitespace |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
248 syn match mojoSpaceError display excludenl "\s\+$" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
249 " mixed tabs and spaces |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
250 syn match mojoSpaceError display " \+\t" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
251 syn match mojoSpaceError display "\t\+ " |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
252 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
253 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
254 " Do not spell doctests inside strings. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
255 " Notice that the end of a string, either ''', or """, will end the contained |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
256 " doctest too. Thus, we do *not* need to have it as an end pattern. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
257 if !exists("mojo_no_doctest_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
258 if !exists("mojo_no_doctest_code_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
259 syn region mojoDoctest |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
260 \ start="^\s*>>>\s" end="^\s*$" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
261 \ contained contains=ALLBUT,mojoDoctest,mojoFunction,@Spell |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
262 syn region mojoDoctestValue |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
263 \ start=+^\s*\%(>>>\s\|\.\.\.\s\|"""\|'''\)\@!\S\++ end="$" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
264 \ contained |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
265 else |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
266 syn region mojoDoctest |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
267 \ start="^\s*>>>" end="^\s*$" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
268 \ contained contains=@NoSpell |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
269 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
270 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
271 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
272 " Sync at the beginning of class, function, or method definition. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
273 syn sync match mojoSync grouphere NONE "^\%(def\|class\)\s\+\h\w*\s*[(:]" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
274 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
275 " The default highlight links. Can be overridden later. |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
276 hi def link mojoStatement Statement |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
277 hi def link mojoConditional Conditional |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
278 hi def link mojoRepeat Repeat |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
279 hi def link mojoOperator Operator |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
280 hi def link mojoException Exception |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
281 hi def link mojoInclude Include |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
282 hi def link mojoAsync Statement |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
283 hi def link mojoDecorator Define |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
284 hi def link mojoDecoratorName Function |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
285 hi def link mojoFunction Function |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
286 hi def link mojoComment Comment |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
287 hi def link mojoTodo Todo |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
288 hi def link mojoString String |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
289 hi def link mojoRawString String |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
290 hi def link mojoQuotes String |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
291 hi def link mojoTripleQuotes mojoQuotes |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
292 hi def link mojoEscape Special |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
293 if !exists("mojo_no_number_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
294 hi def link mojoNumber Number |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
295 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
296 if !exists("mojo_no_builtin_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
297 hi def link mojoBuiltin Function |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
298 hi def link mojoType Type |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
299 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
300 if !exists("mojo_no_exception_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
301 hi def link mojoExceptions Structure |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
302 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
303 if exists("mojo_space_error_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
304 hi def link mojoSpaceError Error |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
305 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
306 if !exists("mojo_no_doctest_highlight") |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
307 hi def link mojoDoctest Special |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
308 hi def link mojoDoctestValue Define |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
309 endif |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
310 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
311 let b:current_syntax = "mojo" |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
312 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
313 let &cpo = s:cpo_save |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
314 unlet s:cpo_save |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
315 |
44fa2b82a642
patch 9.0.1891: No runtime support for Mojo
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
316 " vim:set sw=2 sts=2 ts=8 noet: |