Mercurial > hg > RemoteEditor > vim7
comparison runtime/syntax/progress.vim @ 0:76efa0be13f1
Initial revision
author | atsuki |
---|---|
date | Sat, 10 Nov 2007 15:07:22 +0900 |
parents | |
children | e170173ecb68 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:76efa0be13f1 |
---|---|
1 " Vim syntax file | |
2 " Language: Progress 4GL | |
3 " Filename extensions: *.p (collides with Pascal), | |
4 " *.i (collides with assembler) | |
5 " *.w (collides with cweb) | |
6 " Maintainer: Philip Uren <philuSPAX@ieee.org> Remove "SPAX" spam block | |
7 " Contributors: Chris Ruprecht <chrup@mac.com> (Chris, where are you now?) | |
8 " Mikhail Kuperblum <mikhail@whasup.com> | |
9 " John Florian <jflorian@voyager.net> | |
10 " Last Change: Wed Apr 12 08:55:35 EST 2006 | |
11 " $Id$ | |
12 | |
13 " For version 5.x: Clear all syntax items | |
14 " For version 6.x: Quit when a syntax file was already loaded | |
15 if version < 600 | |
16 syntax clear | |
17 elseif exists("b:current_syntax") | |
18 finish | |
19 endif | |
20 | |
21 if version >= 600 | |
22 setlocal iskeyword=@,48-57,_,-,!,#,$,% | |
23 else | |
24 set iskeyword=@,48-57,_,-,!,#,$,% | |
25 endif | |
26 | |
27 " The Progress editor doesn't cope with tabs very well. | |
28 set expandtab | |
29 | |
30 syn case ignore | |
31 | |
32 " Progress Blocks of code and mismatched "end." errors. | |
33 syn match ProgressEndError "\<end\>" | |
34 syn region ProgressDoBlock transparent matchgroup=ProgressDo start="\<do\>" matchgroup=ProgressDo end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction | |
35 syn region ProgressForBlock transparent matchgroup=ProgressFor start="\<for\>" matchgroup=ProgressFor end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction | |
36 syn region ProgressRepeatBlock transparent matchgroup=ProgressRepeat start="\<repeat\>" matchgroup=ProgressRepeat end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction | |
37 syn region ProgressCaseBlock transparent matchgroup=ProgressCase start="\<case\>" matchgroup=ProgressCase end="\<end\scase\>\|\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction | |
38 | |
39 " These are Progress reserved words, | |
40 " and they could go in ProgressReserved, | |
41 " but I found it more helpful to highlight them in a different color. | |
42 syn keyword ProgressConditional if else then when otherwise | |
43 syn keyword ProgressFor each where | |
44 | |
45 " Make those TODO and debugging notes stand out! | |
46 syn keyword ProgressTodo contained TODO BUG FIX | |
47 syn keyword ProgressDebug contained DEBUG | |
48 syn keyword ProgressDebug debugger | |
49 syn match ProgressTodo contained "NEED[S]*\s\s*WORK" | |
50 | |
51 " If you like to highlight the whole line of | |
52 " the start and end of procedures | |
53 " to make the whole block of code stand out: | |
54 syn match ProgressProcedure "^\s*procedure.*" | |
55 syn match ProgressProcedure "^\s*end\s\s*procedure.*" | |
56 syn match ProgressFunction "^\s*function.*" | |
57 syn match ProgressFunction "^\s*end\s\s*function.*" | |
58 " ... otherwise use this: | |
59 " syn keyword ProgressFunction procedure function | |
60 | |
61 syn keyword ProgressReserved accum[ulate] active-window add alias all alter ambig[uous] analyz[e] and any apply as asc[ending] assign at attr[-space] | |
62 syn keyword ProgressReserved authorization auto-ret[urn] avail[able] back[ground] before-h[ide] begins bell between blank break btos by call can-do can-find | |
63 syn keyword ProgressReserved center[ed] character check chr clear clipboard col colon color col[umn] column-lab[el] col[umns] compiler connected control count-of | |
64 syn keyword ProgressReserved cpstream create ctos current current-changed current-lang[uage] current-window current_date curs[or] database dataservers | |
65 syn keyword ProgressReserved dbcodepage dbcollation dbname dbrest[rictions] dbtaskid dbtype dbvers[ion] dde deblank debug-list debugger decimal decimals declare | |
66 syn keyword ProgressReserved def default default-noxl[ate] default-window def[ine] delete delimiter desc[ending] dict[ionary] disable discon[nect] disp | |
67 syn keyword ProgressReserved disp[lay] distinct dos down drop editing enable encode entry error-stat[us] escape etime except exclusive | |
68 syn keyword ProgressReserved exclusive[-lock] exclusive-web-us[er] exists export false fetch field field[s] file-info[rmation] fill find find-case-sensitive | |
69 syn keyword ProgressReserved find-global find-next-occurrence find-prev-occurrence find-select find-wrap-around first first-of focus font form form[at] | |
70 syn keyword ProgressReserved fram[e] frame-col frame-db frame-down frame-field frame-file frame-inde[x] frame-line frame-name frame-row frame-val[ue] | |
71 syn keyword ProgressReserved from from-c[hars] from-p[ixels] gateway[s] get-byte get-codepage[s] get-coll[ations] get-key-val[ue] getbyte global go-on | |
72 syn keyword ProgressReserved go-pend[ing] grant graphic-e[dge] group having header help hide import in index indicator input input-o[utput] insert | |
73 syn keyword ProgressReserved integer into is is-attr[-space] join kblabel key-code key-func[tion] key-label keycode keyfunc[tion] keylabel keys keyword label | |
74 syn keyword ProgressReserved last last-even[t] last-key last-of lastkey ldbname leave library like line-count[er] listi[ng] locked lookup machine-class | |
75 syn keyword ProgressReserved map member message message-lines mouse mpe new next next-prompt no no-attr[-space] no-error no-f[ill] no-help no-hide no-label[s] | |
76 syn keyword ProgressReserved no-lock no-map no-mes[sage] no-pause no-prefe[tch] no-undo no-val[idate] no-wait not null num-ali[ases] num-dbs num-entries | |
77 syn keyword ProgressReserved of off old on open opsys option or os-append os-command os-copy os-create-dir os-delete os-dir os-drive[s] os-error os-rename | |
78 syn keyword ProgressReserved os2 os400 output overlay page page-bot[tom] page-num[ber] page-top param[eter] pause pdbname persist[ent] pixels | |
79 syn keyword ProgressReserved preproc[ess] privileges proc-ha[ndle] proc-st[atus] process program-name Progress prompt prompt[-for] promsgs propath provers[ion] | |
80 syn keyword ProgressReserved put put-byte put-key-val[ue] putbyte query query-tuning quit r-index rcode-informatio[n] readkey recid record-len[gth] rect[angle] | |
81 syn keyword ProgressReserved release reposition retain retry return return-val[ue] revert revoke run save schema screen screen-io screen-lines | |
82 syn keyword ProgressReserved scroll sdbname search seek select self session set setuser[id] share[-lock] shared show-stat[s] skip some space status stream | |
83 syn keyword ProgressReserved stream-io string-xref system-dialog table term term[inal] text text-cursor text-seg[-growth] this-procedure time title | |
84 syn keyword ProgressReserved to today top-only trans trans[action] trigger triggers trim true underl[ine] undo unform[atted] union unique unix up update | |
85 syn keyword ProgressReserved use-index use-revvideo use-underline user user[id] using v6frame value values variable view view-as vms wait-for web-con[text] | |
86 syn keyword ProgressReserved window window-maxim[ized] window-minim[ized] window-normal with work-tab[le] workfile write xcode xref yes _cbit | |
87 syn keyword ProgressReserved _control _list _memory _msg _pcontrol _serial[-num] _trace | |
88 | |
89 " Strings. Handles embedded quotes. | |
90 " Note that, for some reason, Progress doesn't use the backslash, "\" | |
91 " as the escape character; it uses tilde, "~". | |
92 syn region ProgressString matchgroup=ProgressQuote start=+"+ end=+"+ skip=+\~'\|\~\~+ | |
93 syn region ProgressString matchgroup=ProgressQuote start=+'+ end=+'+ skip=+\~'\|\~\~+ | |
94 | |
95 syn match ProgressIdentifier "\<[a-zA-Z_%#]+\>()" | |
96 | |
97 " syn match ProgressDelimiter "()" | |
98 | |
99 syn match ProgressMatrixDelimiter "[][]" | |
100 " If you prefer you can highlight the range | |
101 "syn match ProgressMatrixDelimiter "[\d\+\.\.\d\+]" | |
102 | |
103 syn match ProgressNumber "\<\-\=\d\+\(u\=l\=\|lu\|f\)\>" | |
104 syn match ProgressByte "\$[0-9a-fA-F]\+" | |
105 | |
106 " More values: Logicals, and Progress's unknown value, ?. | |
107 syn match ProgressNumber "?" | |
108 syn keyword ProgressNumber true false yes no | |
109 | |
110 " If you don't like tabs: | |
111 syn match ProgressShowTab "\t" | |
112 | |
113 " If you don't like white space on the end of lines: | |
114 " syn match ProgressSpaceError "\s\+$" | |
115 | |
116 syn region ProgressComment start="/\*" end="\*/" contains=ProgressComment,ProgressTodo,ProgressDebug | |
117 syn region ProgressInclude start="^[ ]*[{][^&]" end="[}]" contains=ProgressPreProc,ProgressOperator,ProgressString,ProgressComment | |
118 syn region ProgressPreProc start="&" end="\>" contained | |
119 | |
120 " This next line works reasonably well. | |
121 " syn match ProgressOperator "[!;|)(:.><+*=-]" | |
122 " | |
123 " Progress allows a '-' to be part of an identifier. To be considered | |
124 " the subtraction/negation operation operator it needs a non-word | |
125 " character on either side. Also valid are cases where the minus | |
126 " operation appears at the beginning or end of a line. | |
127 " This next line trips up on "no-undo" etc. | |
128 " syn match ProgressOperator "[!;|)(:.><+*=]\|\W-\W\|^-\W\|\W-$" | |
129 syn match ProgressOperator "[!;|)(:.><+*=]\|\s-\s\|^-\s\|\s-$" | |
130 | |
131 syn keyword ProgressOperator <= <> >= abs[olute] accelerator across add-first add-last advise alert-box allow-replication ansi-only anywhere append appl-alert[-boxes] application as-cursor ask-overwrite | |
132 syn keyword ProgressOperator attach[ment] auto-end-key auto-endkey auto-go auto-ind[ent] auto-resize auto-z[ap] available-formats ave[rage] avg backward[s] base-key batch[-mode] bgc[olor] binary | |
133 syn keyword ProgressOperator bind-where block-iteration-display border-bottom border-bottom-ch[ars] border-bottom-pi[xels] border-left border-left-char[s] border-left-pixe[ls] border-right border-right-cha[rs] | |
134 syn keyword ProgressOperator border-right-pix[els] border-t[op] border-t[op-chars] border-top-pixel[s] both bottom box box-select[able] browse browse-header buffer buffer-chars buffer-lines | |
135 syn keyword ProgressOperator button button[s] byte cache cache-size can-query can-set cancel-break cancel-button caps careful-paint case-sensitive cdecl char[acter] character_length charset | |
136 syn keyword ProgressOperator checked choose clear-select[ion] close code codepage codepage-convert col-of colon-align[ed] color-table column-bgc[olor] column-dcolor column-fgc[olor] column-font | |
137 syn keyword ProgressOperator column-label-bgc[olor] column-label-dcolor column-label-fgc[olor] column-label-font column-of column-pfc[olor] column-sc[rolling] combo-box command compile complete | |
138 syn keyword ProgressOperator connect constrained contents context context-pop[up] control-containe[r] c[ontrol-form] convert-to-offse[t] convert count cpcase cpcoll cpint[ernal] cplog | |
139 syn keyword ProgressOperator cpprint cprcodein cprcodeout cpterm crc-val[ue] c[reate-control] create-result-list-entry create-test-file current-column current-environm[ent] current-iteration | |
140 syn keyword ProgressOperator current-result-row current-row-modified current-value cursor-char cursor-line cursor-offset data-entry-retur[n] data-t[ype] date date-f[ormat] day db-references | |
141 syn keyword ProgressOperator dcolor dde-error dde-i[d] dde-item dde-name dde-topic debu[g] dec[imal] default-b[utton] default-extensio[n] defer-lob-fetch define defined delete-char delete-current-row | |
142 syn keyword ProgressOperator delete-line delete-selected-row delete-selected-rows deselect-focused-row deselect-rows deselect-selected-row d[esign-mode] dialog-box dialog-help dir disabled display-message | |
143 syn keyword ProgressOperator display-t[ype] double drag-enabled drop-down drop-down-list dump dynamic echo edge edge[-chars] edge-p[ixels] editor empty end-key endkey entered eq error error-col[umn] | |
144 syn keyword ProgressOperator error-row event-t[ype] event[s] exclusive-id execute exp expand extended extent external extract fetch-selected-row fgc[olor] file file-name file-off[set] file-type | |
145 syn keyword ProgressOperator filename fill-in filled filters first-child first-column first-proc[edure] first-tab-i[tem] fixed-only float focused-row font-based-layout font-table force-file | |
146 syn keyword ProgressOperator fore[ground] form-input forward[s] frame-spa[cing] frame-x frame-y frequency from-cur[rent] full-height full-height-char[s] full-height-pixe[ls] full-pathn[ame] | |
147 syn keyword ProgressOperator full-width full-width[-chars] full-width-pixel[s] ge get get-blue[-value] g[et-char-property] get-double get-dynamic get-file get-float get-green[-value] | |
148 syn keyword ProgressOperator get-iteration get-license get-long get-message get-number get-pointer-value get-red[-value] get-repositioned-row get-selected-wid[get] get-short get-signature get-size | |
149 syn keyword ProgressOperator get-string get-tab-item get-text-height get-text-height-char[s] get-text-height-pixe[ls] get-text-width get-text-width-c[hars] get-text-width-pixel[s] get-unsigned-short | |
150 syn keyword ProgressOperator grayed grid-factor-horizont[al] grid-factor-vert[ical] grid-set grid-snap grid-unit-height grid-unit-height-cha[rs] grid-unit-height-pix[els] grid-unit-width grid-unit-width-char[s] | |
151 syn keyword ProgressOperator grid-unit-width-pixe[ls] grid-visible gt handle height height[-chars] height-p[ixels] help-con[text] helpfile-n[ame] hidden hint hori[zontal] hwnd image image-down | |
152 syn keyword ProgressOperator image-insensitive image-size image-size-c[hars] image-size-pixel[s] image-up immediate-display index-hint indexed-reposition info[rmation] init init[ial] initial-dir | |
153 syn keyword ProgressOperator initial-filter initiate inner inner-chars inner-lines insert-b[acktab] insert-file insert-row insert-string insert-t[ab] int[eger] internal-entries is-lead-byte | |
154 syn keyword ProgressOperator is-row-selected is-selected item items-per-row join-by-sqldb keep-frame-z-ord[er] keep-messages keep-tab-order key keyword-all label-bgc[olor] label-dc[olor] label-fgc[olor] | |
155 syn keyword ProgressOperator label-font label-pfc[olor] labels language[s] large large-to-small last-child last-tab-i[tem] last-proce[dure] lc le leading left left-align[ed] left-trim length | |
156 syn keyword ProgressOperator line list-events list-items list-query-attrs list-set-attrs list-widgets load l[oad-control] load-icon load-image load-image-down load-image-insensitive load-image-up | |
157 syn keyword ProgressOperator load-mouse-point[er] load-small-icon log logical lookahead lower lt manual-highlight margin-extra margin-height margin-height-ch[ars] margin-height-pi[xels] margin-width | |
158 syn keyword ProgressOperator margin-width-cha[rs] margin-width-pix[els] matches max max-chars max-data-guess max-height max-height[-chars] max-height-pixel[s] max-rows max-size max-val[ue] max-width | |
159 syn keyword ProgressOperator max-width[-chars] max-width-p[ixels] maximize max[imum] memory menu menu-bar menu-item menu-k[ey] menu-m[ouse] menubar message-area message-area-font message-line | |
160 syn keyword ProgressOperator min min-height min-height[-chars] min-height-pixel[s] min-size min-val[ue] min-width min-width[-chars] min-width-p[ixels] min[imum] mod modified mod[ulo] month mouse-p[ointer] | |
161 syn keyword ProgressOperator movable move-after-tab-i[tem] move-before-tab-[item] move-col[umn] move-to-b[ottom] move-to-eof move-to-t[op] multiple multiple-key multitasking-interval must-exist | |
162 syn keyword ProgressOperator name native ne new-row next-col[umn] next-sibling next-tab-ite[m] next-value no-apply no-assign no-bind-where no-box no-column-scroll[ing] no-convert no-current-value | |
163 syn keyword ProgressOperator no-debug no-drag no-echo no-index-hint no-join-by-sqldb no-lookahead no-row-markers no-scrolling no-separate-connection no-separators no-und[erline] no-word-wrap | |
164 syn keyword ProgressOperator none num-but[tons] num-col[umns] num-copies num-formats num-items num-iterations num-lines num-locked-colum[ns] num-messages num-results num-selected num-selected-rows | |
165 syn keyword ProgressOperator num-selected-widgets num-tabs num-to-retain numeric numeric-f[ormat] octet_length ok ok-cancel on-frame[-border] ordered-join ordinal orientation os-getenv outer | |
166 syn keyword ProgressOperator outer-join override owner page-size page-wid[th] paged parent partial-key pascal pathname pfc[olor] pinnable pixels-per-colum[n] pixels-per-row popup-m[enu] popup-o[nly] | |
167 syn keyword ProgressOperator position precision presel[ect] prev prev-col[umn] prev-sibling prev-tab-i[tem] primary printer-control-handle printer-setup private-d[ata] profiler Progress-s[ource] | |
168 syn keyword ProgressOperator publish put-double put-float put-long put-short put-string put-unsigned-short query-off-end question radio-buttons radio-set random raw raw-transfer read-file read-only | |
169 syn keyword ProgressOperator real recursive refresh refreshable replace replace-selection-text replication-create replication-delete replication-write request resiza[ble] resize retry-cancel | |
170 syn keyword ProgressOperator return-ins[erted] return-to-start-di[r] reverse-from right right-align[ed] right-trim round row row-ma[rkers] row-of rowid rule rule-row rule-y save-as save-file | |
171 syn keyword ProgressOperator screen-val[ue] scroll-bars scroll-delta scroll-horiz-value scroll-offset scroll-to-current-row scroll-to-i[tem] scroll-to-selected-row scroll-vert-value scrollable | |
172 syn keyword ProgressOperator scrollbar-horizo[ntal] scrollbar-vertic[al] scrolled-row-positio[n] scrolling se-check-pools se-enable-of[f] se-enable-on se-num-pools se-use-messa[ge] section select-focused-row | |
173 syn keyword ProgressOperator select-next-row select-prev-row select-repositioned-row select-row selectable selected selected-items selection-end selection-list selection-start selection-text | |
174 syn keyword ProgressOperator send sensitive separate-connection separators set-blue[-value] set-break set-cell-focus set-contents set-dynamic set-green[-value] set-leakpoint set-pointer-valu[e] | |
175 syn keyword ProgressOperator s[et-property] set-red[-value] set-repositioned-row set-selection set-size set-wait[-state] side-lab side-lab[e] side-lab[el] side-label-handl[e] side-lab[els] silent | |
176 syn keyword ProgressOperator simple single size size-c[hars] size-p[ixels] slider smallint sort source source-procedure sql sqrt start status-area status-area-font status-bar stdcall stenciled stop stoppe[d] | |
177 syn keyword ProgressOperator stored-proc[edure] string sub-ave[rage] sub-count sub-max[imum] sub-me[nu] sub-menu-help sub-min[imum] sub-total subscribe subst[itute] substr[ing] subtype sum super suppress-warning[s] | |
178 syn keyword ProgressOperator system-alert-box[es] system-help tab-position tabbable target target-procedure temp-dir[ectory] temp-table terminate text-selected three-d through thru tic-marks time-source title-bgc[olor] | |
179 syn keyword ProgressOperator title-dc[olor] title-fgc[olor] title-fo[nt] to-rowid toggle-box tool-bar top topic total trailing trunc[ate] type unbuff[ered] unique-id unload unsubscribe upper use use-dic[t-exps] | |
180 syn keyword ProgressOperator use-filename use-text v6display valid-event valid-handle validate validate-condition validate-message var[iable] vert[ical] virtual-height virtual-height-c[hars] | |
181 syn keyword ProgressOperator virtual-height-pixel[s] virtual-width virtual-width-ch[ars] virtual-width-pi[xels] visible wait warning weekday widget widget-e[nter] widget-h[andle] widget-l[eave] | |
182 syn keyword ProgressOperator widget-pool width width[-chars] width-p[ixels] window-name window-sta[te] window-sys[tem] word-wrap x-of y-of year yes-no yes-no-cancel _dcm | |
183 | |
184 syn keyword ProgressType char[acter] int[eger] format | |
185 syn keyword ProgressType var[iable] log[ical] da[te] | |
186 | |
187 syn sync lines=800 | |
188 | |
189 " Define the default highlighting. | |
190 " For version 5.7 and earlier: only when not done already | |
191 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
192 if version >= 508 || !exists("did_progress_syntax_inits") | |
193 if version < 508 | |
194 let did_progress_syntax_inits = 1 | |
195 command -nargs=+ HiLink hi link <args> | |
196 else | |
197 command -nargs=+ HiLink hi def link <args> | |
198 endif | |
199 | |
200 " The default methods for highlighting. Can be overridden later. | |
201 HiLink ProgressByte Number | |
202 HiLink ProgressCase Repeat | |
203 HiLink ProgressComment Comment | |
204 HiLink ProgressConditional Conditional | |
205 HiLink ProgressDebug Debug | |
206 HiLink ProgressDo Repeat | |
207 HiLink ProgressEndError Error | |
208 HiLink ProgressFor Repeat | |
209 HiLink ProgressFunction Procedure | |
210 HiLink ProgressIdentifier Identifier | |
211 HiLink ProgressInclude Include | |
212 HiLink ProgressMatrixDelimiter Identifier | |
213 HiLink ProgressNumber Number | |
214 HiLink ProgressOperator Operator | |
215 HiLink ProgressPreProc PreProc | |
216 HiLink ProgressProcedure Procedure | |
217 HiLink ProgressQuote Delimiter | |
218 HiLink ProgressRepeat Repeat | |
219 HiLink ProgressReserved Statement | |
220 HiLink ProgressSpaceError Error | |
221 HiLink ProgressString String | |
222 HiLink ProgressTodo Todo | |
223 HiLink ProgressType Statement | |
224 HiLink ProgressShowTab Error | |
225 | |
226 delcommand HiLink | |
227 endif | |
228 | |
229 let b:current_syntax = "progress" | |
230 | |
231 " vim: ts=8 sw=8 |