Mercurial > vim
annotate runtime/syntax/sqr.vim @ 23923:be36288235af v8.2.2504
patch 8.2.2504: Vim9: crash when using an argument from a closure
Commit: https://github.com/vim/vim/commit/44ec21c467ddf481b422c787324ea08f375f6942
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Feb 12 21:50:57 2021 +0100
patch 8.2.2504: Vim9: crash when using an argument from a closure
Problem: Vim9: crash when using an argument from a closure.
Solution: Check if gen_load_outer is NULL. (closes https://github.com/vim/vim/issues/7821)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 12 Feb 2021 22:00:04 +0100 |
parents | 46763b01cd9a |
children |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: Structured Query Report Writer (SQR) | |
3 " Maintainer: Nathan Stratton Treadway (nathanst at ontko dot com) | |
4 " URL: http://www.ontko.com/sqr/#editor_config_files | |
5 " | |
6 " Modification History: | |
7 " 2002-Apr-12: Updated for SQR v6.x | |
8 " 2002-Jul-30: Added { and } to iskeyword definition | |
9 " 2003-Oct-15: Allow "." in variable names | |
10 " highlight entire open '... literal when it contains | |
11 " "''" inside it (e.g. "'I can''t say" is treated | |
12 " as one open string, not one terminated and one open) | |
13 " {} variables can occur inside of '...' literals | |
14 " | |
15 " Thanks to the previous maintainer of this file, Jeff Lanzarotta: | |
16 " http://lanzarotta.tripod.com/vim.html | |
17 " jefflanzarotta at yahoo dot com | |
18 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
19 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
20 if exists("b:current_syntax") |
7 | 21 finish |
22 endif | |
23 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
24 setlocal iskeyword=@,48-57,_,-,#,$,{,} |
7 | 25 |
26 syn case ignore | |
27 | |
28 " BEGIN GENERATED SECTION ============================================ | |
29 | |
30 " Generated by generate_vim_syntax.sqr at 2002/04/11 13:04 | |
31 " (based on the UltraEdit syntax file for SQR 6.1.4 | |
32 " found at http://www.ontko.com/sqr/#editor_config_files ) | |
33 | |
34 syn keyword sqrSection begin-footing begin-heading begin-procedure | |
35 syn keyword sqrSection begin-program begin-report begin-setup | |
36 syn keyword sqrSection end-footing end-heading end-procedure | |
37 syn keyword sqrSection end-program end-report end-setup | |
38 | |
3153 | 39 syn keyword sqrParagraph alter-color-map alter-connection |
7 | 40 syn keyword sqrParagraph alter-locale alter-printer alter-report |
41 syn keyword sqrParagraph begin-document begin-execute begin-select | |
42 syn keyword sqrParagraph begin-sql declare-chart declare-image | |
3153 | 43 syn keyword sqrParagraph declare-color-map declare-connection |
7 | 44 syn keyword sqrParagraph declare-layout declare-printer |
45 syn keyword sqrParagraph declare-report declare-procedure | |
46 syn keyword sqrParagraph declare-toc declare-variable end-declare | |
47 syn keyword sqrParagraph end-document end-select exit-select end-sql | |
48 syn keyword sqrParagraph load-lookup | |
49 | |
50 syn keyword sqrReserved #current-column #current-date #current-line | |
51 syn keyword sqrReserved #end-file #page-count #return-status | |
52 syn keyword sqrReserved #sql-count #sql-status #sqr-max-columns | |
53 syn keyword sqrReserved #sqr-max-lines #sqr-pid #sqr-toc-level | |
54 syn keyword sqrReserved #sqr-toc-page $sqr-database {sqr-database} | |
55 syn keyword sqrReserved $sqr-dbcs {sqr-dbcs} $sqr-encoding | |
56 syn keyword sqrReserved {sqr-encoding} $sqr-encoding-console | |
57 syn keyword sqrReserved {sqr-encoding-console} | |
58 syn keyword sqrReserved $sqr-encoding-database | |
59 syn keyword sqrReserved {sqr-encoding-database} | |
60 syn keyword sqrReserved $sqr-encoding-file-input | |
61 syn keyword sqrReserved {sqr-encoding-file-input} | |
62 syn keyword sqrReserved $sqr-encoding-file-output | |
63 syn keyword sqrReserved {sqr-encoding-file-output} | |
64 syn keyword sqrReserved $sqr-encoding-report-input | |
65 syn keyword sqrReserved {sqr-encoding-report-input} | |
66 syn keyword sqrReserved $sqr-encoding-report-output | |
67 syn keyword sqrReserved {sqr-encoding-report-output} | |
68 syn keyword sqrReserved $sqr-encoding-source {sqr-encoding-source} | |
69 syn keyword sqrReserved $sql-error $sqr-hostname {sqr-hostname} | |
70 syn keyword sqrReserved $sqr-locale $sqr-platform {sqr-platform} | |
71 syn keyword sqrReserved $sqr-program $sqr-report $sqr-toc-text | |
72 syn keyword sqrReserved $sqr-ver $username | |
73 | |
74 syn keyword sqrPreProc #define #else #end-if #endif #if #ifdef | |
75 syn keyword sqrPreProc #ifndef #include | |
76 | |
77 syn keyword sqrCommand add array-add array-divide array-multiply | |
78 syn keyword sqrCommand array-subtract ask break call clear-array | |
79 syn keyword sqrCommand close columns commit concat connect | |
80 syn keyword sqrCommand create-array create-color-palette date-time | |
81 syn keyword sqrCommand display divide do dollar-symbol else encode | |
82 syn keyword sqrCommand end-evaluate end-if end-while evaluate | |
83 syn keyword sqrCommand execute extract find get get-color goto | |
84 syn keyword sqrCommand graphic if input last-page let lookup | |
85 syn keyword sqrCommand lowercase mbtosbs money-symbol move | |
86 syn keyword sqrCommand multiply new-page new-report next-column | |
87 syn keyword sqrCommand next-listing no-formfeed open page-number | |
88 syn keyword sqrCommand page-size position print print-bar-code | |
89 syn keyword sqrCommand print-chart print-direct print-image | |
90 syn keyword sqrCommand printer-deinit printer-init put read | |
91 syn keyword sqrCommand rollback security set-color set-delay-print | |
92 syn keyword sqrCommand set-generations set-levels set-members | |
93 syn keyword sqrCommand sbtombs show stop string subtract toc-entry | |
94 syn keyword sqrCommand unstring uppercase use use-column | |
95 syn keyword sqrCommand use-printer-type use-procedure use-report | |
96 syn keyword sqrCommand while write | |
97 | |
98 syn keyword sqrParam 3d-effects after after-bold after-page | |
99 syn keyword sqrParam after-report after-toc and as at-end before | |
100 syn keyword sqrParam background batch-mode beep before-bold | |
101 syn keyword sqrParam before-page before-report before-toc blink | |
102 syn keyword sqrParam bold border bottom-margin box break by | |
103 syn keyword sqrParam caption center char char-size char-width | |
104 syn keyword sqrParam chars-inch chart-size checksum cl | |
105 syn keyword sqrParam clear-line clear-screen color color-palette | |
106 syn keyword sqrParam cs color_ data-array | |
107 syn keyword sqrParam data-array-column-count | |
108 syn keyword sqrParam data-array-column-labels | |
109 syn keyword sqrParam data-array-row-count data-labels date | |
110 syn keyword sqrParam date-edit-mask date-seperator | |
111 syn keyword sqrParam day-of-week-case day-of-week-full | |
112 syn keyword sqrParam day-of-week-short decimal decimal-seperator | |
113 syn keyword sqrParam default-numeric delay distinct dot-leader | |
114 syn keyword sqrParam edit-option-ad edit-option-am | |
115 syn keyword sqrParam edit-option-bc edit-option-na | |
116 syn keyword sqrParam edit-option-pm encoding entry erase-page | |
117 syn keyword sqrParam extent field fill fixed fixed_nolf float | |
118 syn keyword sqrParam font font-style font-type footing | |
119 syn keyword sqrParam footing-size foreground for-append | |
120 syn keyword sqrParam for-reading for-reports for-tocs | |
121 syn keyword sqrParam for-writing format formfeed from goto-top | |
122 syn keyword sqrParam group having heading heading-size height | |
123 syn keyword sqrParam horz-line image-size in indentation | |
124 syn keyword sqrParam init-string input-date-edit-mask insert | |
125 syn keyword sqrParam integer into item-color item-size key | |
126 syn keyword sqrParam layout left-margin legend legend-placement | |
127 syn keyword sqrParam legend-presentation legend-title level | |
128 syn keyword sqrParam line-height line-size line-width lines-inch | |
129 syn keyword sqrParam local locale loops max-columns max-lines | |
130 syn keyword sqrParam maxlen money money-edit-mask money-sign | |
131 syn keyword sqrParam money-sign-location months-case months-full | |
132 syn keyword sqrParam months-short name need newline newpage | |
133 syn keyword sqrParam no-advance nolf noline noprompt normal not | |
134 syn keyword sqrParam nowait number number-edit-mask on-break | |
135 syn keyword sqrParam on-error or order orientation page-depth | |
136 syn keyword sqrParam paper-size pie-segment-explode | |
137 syn keyword sqrParam pie-segment-percent-display | |
138 syn keyword sqrParam pie-segment-quantity-display pitch | |
139 syn keyword sqrParam point-markers point-size printer | |
140 syn keyword sqrParam printer-type quiet record reset-string | |
141 syn keyword sqrParam return_value reverse right-margin rows save | |
142 syn keyword sqrParam select size skip skiplines sort source | |
143 syn keyword sqrParam sqr-database sqr-platform startup-file | |
144 syn keyword sqrParam status stop sub-title symbol-set system | |
145 syn keyword sqrParam table text thousand-seperator | |
146 syn keyword sqrParam time-seperator times title to toc | |
147 syn keyword sqrParam top-margin type underline update using | |
148 syn keyword sqrParam value vary vert-line wait warn when | |
149 syn keyword sqrParam when-other where with x-axis-grid | |
150 syn keyword sqrParam x-axis-label x-axis-major-increment | |
151 syn keyword sqrParam x-axis-major-tick-marks x-axis-max-value | |
152 syn keyword sqrParam x-axis-min-value x-axis-minor-increment | |
153 syn keyword sqrParam x-axis-minor-tick-marks x-axis-rotate | |
154 syn keyword sqrParam x-axis-scale x-axis-tick-mark-placement xor | |
155 syn keyword sqrParam y-axis-grid y-axis-label | |
156 syn keyword sqrParam y-axis-major-increment | |
157 syn keyword sqrParam y-axis-major-tick-marks y-axis-max-value | |
158 syn keyword sqrParam y-axis-min-value y-axis-minor-increment | |
159 syn keyword sqrParam y-axis-minor-tick-marks y-axis-scale | |
160 syn keyword sqrParam y-axis-tick-mark-placement y2-type | |
161 syn keyword sqrParam y2-data-array y2-data-array-row-count | |
162 syn keyword sqrParam y2-data-array-column-count | |
163 syn keyword sqrParam y2-data-array-column-labels | |
164 syn keyword sqrParam y2-axis-color-palette y2-axis-label | |
165 syn keyword sqrParam y2-axis-major-increment | |
166 syn keyword sqrParam y2-axis-major-tick-marks y2-axis-max-value | |
167 syn keyword sqrParam y2-axis-min-value y2-axis-minor-increment | |
168 syn keyword sqrParam y2-axis-minor-tick-marks y2-axis-scale | |
169 | |
170 syn keyword sqrFunction abs acos asin atan array ascii asciic ceil | |
171 syn keyword sqrFunction cos cosh chr cond deg delete dateadd | |
172 syn keyword sqrFunction datediff datenow datetostr e10 exp edit | |
173 syn keyword sqrFunction exists floor getenv instr instrb isblank | |
174 syn keyword sqrFunction isnull log log10 length lengthb lengthp | |
175 syn keyword sqrFunction lengtht lower lpad ltrim mod nvl power rad | |
176 syn keyword sqrFunction round range replace roman rpad rtrim rename | |
177 syn keyword sqrFunction sign sin sinh sqrt substr substrb substrp | |
178 syn keyword sqrFunction substrt strtodate tan tanh trunc to_char | |
179 syn keyword sqrFunction to_multi_byte to_number to_single_byte | |
180 syn keyword sqrFunction transform translate unicode upper wrapdepth | |
181 | |
182 " END GENERATED SECTION ============================================== | |
183 | |
184 " Variables | |
185 syn match sqrVariable /\(\$\|#\|&\)\(\k\|\.\)*/ | |
186 | |
187 | |
188 " Debug compiler directives | |
189 syn match sqrPreProc /\s*#debug\a\=\(\s\|$\)/ | |
190 syn match sqrSubstVar /{\k*}/ | |
191 | |
192 | |
193 " Strings | |
194 " Note: if an undoubled ! is found, this is not a valid string | |
195 " (SQR will treat the end of the line as a comment) | |
196 syn match sqrString /'\(!!\|[^!']\)*'/ contains=sqrSubstVar | |
197 syn match sqrStrOpen /'\(!!\|''\|[^!']\)*$/ | |
198 " If we find a ' followed by an unmatched ! before a matching ', | |
199 " flag the error. | |
200 syn match sqrError /'\(!!\|[^'!]\)*![^!]/me=e-1 | |
201 syn match sqrError /'\(!!\|[^'!]\)*!$/ | |
202 | |
203 " Numbers: | |
204 syn match sqrNumber /-\=\<\d*\.\=[0-9_]\>/ | |
205 | |
206 | |
207 | |
208 " Comments: | |
209 " Handle comments that start with "!=" specially; they are only valid | |
210 " in the first column of the source line. Also, "!!" is only treated | |
211 " as a start-comment if there is only whitespace ahead of it on the line. | |
212 | |
213 syn keyword sqrTodo TODO FIXME XXX DEBUG NOTE ### | |
214 syn match sqrTodo /???/ | |
215 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
216 " See also the sqrString section above for handling of ! characters |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
217 " inside of strings. (Those patterns override the ones below.) |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
218 syn match sqrComment /!\@<!!\([^!=].*\|$\)/ contains=sqrTodo |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
219 " the ! can't be preceded by another !, |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
220 " and must be followed by at least one |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
221 " character other than ! or =, or immediately |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
222 " by the end-of-line |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
223 syn match sqrComment /^!=.*/ contains=sqrTodo |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
224 syn match sqrComment /^!!.*/ contains=sqrTodo |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
225 syn match sqrError /^\s\+\zs!=.*/ |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
226 " it's an error to have "!=" preceded by |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
227 " just whitespace on the line ("!=" |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
228 " preceded by non-whitespace is treated |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
229 " as neither a comment nor an error, since |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
230 " it is often correct, i.e. |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
231 " if #count != 7 |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
232 syn match sqrError /.\+\zs!!.*/ |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
233 " a "!!" anywhere but at the beginning of |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
234 " the line is always an error |
7 | 235 |
236 | |
237 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3153
diff
changeset
|
238 " Only when an item doesn't have highlighting yet. |
7 | 239 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
240 hi def link sqrSection Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
241 hi def link sqrParagraph Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
242 hi def link sqrReserved Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
243 hi def link sqrParameter Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
244 hi def link sqrPreProc PreProc |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
245 hi def link sqrSubstVar PreProc |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
246 hi def link sqrCommand Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
247 hi def link sqrParam Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
248 hi def link sqrFunction Special |
7 | 249 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
250 hi def link sqrString String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
251 hi def link sqrStrOpen Todo |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
252 hi def link sqrNumber Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
253 hi def link sqrVariable Identifier |
7 | 254 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
255 hi def link sqrComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
256 hi def link sqrTodo Todo |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
257 hi def link sqrError Error |
7 | 258 |
259 | |
260 let b:current_syntax = "sqr" | |
261 | |
262 " vim: ts=8 sw=2 |