Mercurial > vim
annotate runtime/syntax/mel.vim @ 17510:a5427e35d0fb v8.1.1753
patch 8.1.1753: use of popup window mask is inefficient
commit https://github.com/vim/vim/commit/e865dcbce1ea2fcdc172b7d47d320cd40f91b917
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Jul 26 22:15:50 2019 +0200
patch 8.1.1753: use of popup window mask is inefficient
Problem: Use of popup window mask is inefficient.
Solution: Precompute and cache the mask.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 26 Jul 2019 22:30:07 +0200 |
parents | 46763b01cd9a |
children |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: MEL (Maya Extension Language) | |
3 " Maintainer: Robert Minsk <egbert@centropolisfx.com> | |
4 " Last Change: May 27 1999 | |
5 " Based on: Bram Moolenaar <Bram@vim.org> C syntax file | |
6 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
7 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
8 if exists("b:current_syntax") |
7 | 9 finish |
10 endif | |
11 | |
12 " when wanted, highlight trailing white space and spaces before tabs | |
13 if exists("mel_space_errors") | |
14 sy match melSpaceError "\s\+$" | |
15 sy match melSpaceError " \+\t"me=e-1 | |
16 endif | |
17 | |
18 " A bunch of usefull MEL keyworks | |
19 sy keyword melBoolean true false yes no on off | |
20 | |
21 sy keyword melFunction proc | |
22 sy match melIdentifier "\$\(\a\|_\)\w*" | |
23 | |
24 sy keyword melStatement break continue return | |
25 sy keyword melConditional if else switch | |
26 sy keyword melRepeat while for do in | |
27 sy keyword melLabel case default | |
28 sy keyword melOperator size eval env exists whatIs | |
29 sy keyword melKeyword alias | |
30 sy keyword melException catch error warning | |
31 | |
32 sy keyword melInclude source | |
33 | |
34 sy keyword melType int float string vector matrix | |
35 sy keyword melStorageClass global | |
36 | |
37 sy keyword melDebug trace | |
38 | |
39 sy keyword melTodo contained TODO FIXME XXX | |
40 | |
41 " MEL data types | |
42 sy match melCharSpecial contained "\\[ntr\\"]" | |
43 sy match melCharError contained "\\[^ntr\\"]" | |
44 | |
45 sy region melString start=+"+ skip=+\\"+ end=+"+ contains=melCharSpecial,melCharError | |
46 | |
47 sy case ignore | |
48 sy match melInteger "\<\d\+\(e[-+]\=\d\+\)\=\>" | |
49 sy match melFloat "\<\d\+\(e[-+]\=\d\+\)\=f\>" | |
50 sy match melFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=f\=\>" | |
51 sy match melFloat "\.\d\+\(e[-+]\=\d\+\)\=f\=\>" | |
52 sy case match | |
53 | |
54 sy match melCommaSemi contained "[,;]" | |
55 sy region melMatrixVector start=/<</ end=/>>/ contains=melInteger,melFloat,melIdentifier,melCommaSemi | |
56 | |
57 sy cluster melGroup contains=melFunction,melStatement,melConditional,melLabel,melKeyword,melStorageClass,melTODO,melCharSpecial,melCharError,melCommaSemi | |
58 | |
59 " catch errors caused by wrong parenthesis | |
60 sy region melParen transparent start='(' end=')' contains=ALLBUT,@melGroup,melParenError,melInParen | |
61 sy match melParenError ")" | |
62 sy match melInParen contained "[{}]" | |
63 | |
64 " comments | |
65 sy region melComment start="/\*" end="\*/" contains=melTodo,melSpaceError | |
66 sy match melComment "//.*" contains=melTodo,melSpaceError | |
67 sy match melCommentError "\*/" | |
68 | |
69 sy region melQuestionColon matchgroup=melConditional transparent start='?' end=':' contains=ALLBUT,@melGroup | |
70 | |
71 if !exists("mel_minlines") | |
72 let mel_minlines=15 | |
73 endif | |
74 exec "sy sync ccomment melComment minlines=" . mel_minlines | |
75 | |
76 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
7
diff
changeset
|
77 " Only when an item doesn't have highlighting yet |
7 | 78 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
79 hi def link melBoolean Boolean |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
80 hi def link melFunction Function |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
81 hi def link melIdentifier Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
82 hi def link melStatement Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
83 hi def link melConditional Conditional |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
84 hi def link melRepeat Repeat |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
85 hi def link melLabel Label |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
86 hi def link melOperator Operator |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
87 hi def link melKeyword Keyword |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
88 hi def link melException Exception |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
89 hi def link melInclude Include |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
90 hi def link melType Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
91 hi def link melStorageClass StorageClass |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
92 hi def link melDebug Debug |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
93 hi def link melTodo Todo |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
94 hi def link melCharSpecial SpecialChar |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
95 hi def link melString String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
96 hi def link melInteger Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
97 hi def link melFloat Float |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
98 hi def link melMatrixVector Float |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
99 hi def link melComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
100 hi def link melError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
101 hi def link melSpaceError melError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
102 hi def link melCharError melError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
103 hi def link melParenError melError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
104 hi def link melInParen melError |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
105 hi def link melCommentError melError |
7 | 106 |
107 | |
108 let b:current_syntax = "mel" |