1071d4279SBram Moolenaar" Vim syntax file 2071d4279SBram Moolenaar" Language: Progress 4GL 3071d4279SBram Moolenaar" Filename extensions: *.p (collides with Pascal), 4071d4279SBram Moolenaar" *.i (collides with assembler) 5071d4279SBram Moolenaar" *.w (collides with cweb) 697d62497SBram Moolenaar" Maintainer: Philip Uren <[email protected]> Remove SPAXY spam block 797d62497SBram Moolenaar" Contributors: Matthew Stickney <[email protected]> 897d62497SBram Moolenaar" Chris Ruprecht <[email protected]> 997d62497SBram Moolenaar" Mikhail Kuperblum <[email protected]> 1097d62497SBram Moolenaar" John Florian <[email protected]> 1197d62497SBram Moolenaar" Version: 13 1297d62497SBram Moolenaar" Last Change: Nov 11 2012 13071d4279SBram Moolenaar 1489bcfda6SBram Moolenaar" quit when a syntax file was already loaded 1589bcfda6SBram Moolenaarif exists("b:current_syntax") 16071d4279SBram Moolenaar finish 17071d4279SBram Moolenaarendif 18071d4279SBram Moolenaar 191aeaf8c0SBram Moolenaarlet s:cpo_save = &cpo 201aeaf8c0SBram Moolenaarset cpo&vim 211aeaf8c0SBram Moolenaar 22071d4279SBram Moolenaarsetlocal iskeyword=@,48-57,_,-,!,#,$,% 23071d4279SBram Moolenaar 244c3f536fSBram Moolenaar" The Progress editor doesn't cope with tabs very well. 254c3f536fSBram Moolenaarset expandtab 264c3f536fSBram Moolenaar 27071d4279SBram Moolenaarsyn case ignore 28071d4279SBram Moolenaar 29071d4279SBram Moolenaar" Progress Blocks of code and mismatched "end." errors. 30071d4279SBram Moolenaarsyn match ProgressEndError "\<end\>" 31071d4279SBram Moolenaarsyn region ProgressDoBlock transparent matchgroup=ProgressDo start="\<do\>" matchgroup=ProgressDo end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction 32071d4279SBram Moolenaarsyn region ProgressForBlock transparent matchgroup=ProgressFor start="\<for\>" matchgroup=ProgressFor end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction 33071d4279SBram Moolenaarsyn region ProgressRepeatBlock transparent matchgroup=ProgressRepeat start="\<repeat\>" matchgroup=ProgressRepeat end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction 344c3f536fSBram Moolenaarsyn region ProgressCaseBlock transparent matchgroup=ProgressCase start="\<case\>" matchgroup=ProgressCase end="\<end\scase\>\|\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction 35071d4279SBram Moolenaar 36071d4279SBram Moolenaar" These are Progress reserved words, 37071d4279SBram Moolenaar" and they could go in ProgressReserved, 38071d4279SBram Moolenaar" but I found it more helpful to highlight them in a different color. 39071d4279SBram Moolenaarsyn keyword ProgressConditional if else then when otherwise 40071d4279SBram Moolenaarsyn keyword ProgressFor each where 41071d4279SBram Moolenaar 42071d4279SBram Moolenaar" Make those TODO and debugging notes stand out! 43071d4279SBram Moolenaarsyn keyword ProgressTodo contained TODO BUG FIX 44071d4279SBram Moolenaarsyn keyword ProgressDebug contained DEBUG 45071d4279SBram Moolenaarsyn keyword ProgressDebug debugger 46071d4279SBram Moolenaar 474c3f536fSBram Moolenaar" If you like to highlight the whole line of 484c3f536fSBram Moolenaar" the start and end of procedures 494c3f536fSBram Moolenaar" to make the whole block of code stand out: 504c3f536fSBram Moolenaarsyn match ProgressProcedure "^\s*procedure.*" 514c3f536fSBram Moolenaarsyn match ProgressProcedure "^\s*end\s\s*procedure.*" 524c3f536fSBram Moolenaarsyn match ProgressFunction "^\s*function.*" 534c3f536fSBram Moolenaarsyn match ProgressFunction "^\s*end\s\s*function.*" 544c3f536fSBram Moolenaar" ... otherwise use this: 554c3f536fSBram Moolenaar" syn keyword ProgressFunction procedure function 56071d4279SBram Moolenaar 571aeaf8c0SBram Moolenaarsyn keyword ProgressReserved accum[ulate] active-form active-window add alias all alter ambig[uous] analyz[e] and any apply as asc[ending] 581aeaf8c0SBram Moolenaarsyn keyword ProgressReserved assign asynchronous at attr[-space] audit-control audit-policy authorization auto-ret[urn] avail[able] back[ground] 591aeaf8c0SBram Moolenaarsyn keyword ProgressReserved before-h[ide] begins bell between big-endian blank break buffer-comp[are] buffer-copy by by-pointer by-variant-point[er] call 601aeaf8c0SBram Moolenaarsyn keyword ProgressReserved can-do can-find case case-sen[sitive] cast center[ed] check chr clear clipboard codebase-locator colon color column-lab[el] 611aeaf8c0SBram Moolenaarsyn keyword ProgressReserved col[umns] com-self compiler connected control copy-lob count-of cpstream create current current-changed current-lang[uage] 621aeaf8c0SBram Moolenaarsyn keyword ProgressReserved current-window current_date curs[or] database dataservers dataset dataset-handle db-remote-host dbcodepage dbcollation dbname 631aeaf8c0SBram Moolenaarsyn keyword ProgressReserved dbparam dbrest[rictions] dbtaskid dbtype dbvers[ion] dde deblank debug-list debugger decimals declare default 641aeaf8c0SBram Moolenaarsyn keyword ProgressReserved default-noxl[ate] default-window def[ine] delete delimiter desc[ending] dict[ionary] disable discon[nect] disp[lay] distinct do dos 651aeaf8c0SBram Moolenaarsyn keyword ProgressReserved down drop dynamic-cast dynamic-func[tion] dynamic-new each editing else enable encode end entry error-stat[us] escape 661aeaf8c0SBram Moolenaarsyn keyword ProgressReserved etime event-procedure except exclusive[-lock] exclusive-web[-user] exists export false fetch field[s] file-info[rmation] 671aeaf8c0SBram Moolenaarsyn keyword ProgressReserved fill find find-case-sensitive find-global find-next-occurrence find-prev-occurrence find-select find-wrap-around first 681aeaf8c0SBram Moolenaarsyn keyword ProgressReserved first-of focus font for form[at] fram[e] frame-col frame-db frame-down frame-field frame-file frame-inde[x] frame-line 691aeaf8c0SBram Moolenaarsyn keyword ProgressReserved frame-name frame-row frame-val[ue] from from-c[hars] from-p[ixels] function-call-type gateway[s] get-attr-call-type get-byte 701aeaf8c0SBram Moolenaarsyn keyword ProgressReserved get-codepage[s] get-coll[ations] get-column get-error-column get-error-row get-file-name get-file-offse[t] get-key-val[ue] 711aeaf8c0SBram Moolenaarsyn keyword ProgressReserved get-message-type get-row getbyte global go-on go-pend[ing] grant graphic-e[dge] group having header help hide host-byte-order if 721aeaf8c0SBram Moolenaarsyn keyword ProgressReserved import in index indicator input input-o[utput] insert into is is-attr[-space] join kblabel key-code key-func[tion] key-label 731aeaf8c0SBram Moolenaarsyn keyword ProgressReserved keycode keyfunc[tion] keylabel keys keyword label last last-even[t] last-key last-of lastkey ldbname leave library like 741aeaf8c0SBram Moolenaarsyn keyword ProgressReserved like-sequential line-count[er] listi[ng] little-endian locked log-manager lookup machine-class map member message message-lines mouse 751aeaf8c0SBram Moolenaarsyn keyword ProgressReserved mpe new next next-prompt no no-attr[-space] no-error no-f[ill] no-help no-hide no-label[s] no-lobs no-lock no-map 761aeaf8c0SBram Moolenaarsyn keyword ProgressReserved no-mes[sage] no-pause no-prefe[tch] no-return-val[ue] no-undo no-val[idate] no-wait not now null num-ali[ases] num-dbs num-entries 771aeaf8c0SBram Moolenaarsyn 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 781aeaf8c0SBram Moolenaarsyn keyword ProgressReserved os-rename otherwise output overlay page page-bot[tom] page-num[ber] page-top param[eter] password-field pause pdbname 791aeaf8c0SBram Moolenaarsyn keyword ProgressReserved persist[ent] pixels preproc[ess] privileges proc-ha[ndle] proc-st[atus] procedure-call-type process profiler program-name progress 801aeaf8c0SBram Moolenaarsyn keyword ProgressReserved prompt[-for] promsgs propath provers[ion] publish put put-byte put-key-val[ue] putbyte query query-tuning quit r-index 811aeaf8c0SBram Moolenaarsyn keyword ProgressReserved rcode-info[rmation] read-available read-exact-num readkey recid record-len[gth] rect[angle] release repeat reposition retain retry return 821aeaf8c0SBram Moolenaarsyn keyword ProgressReserved return-val[ue] revert revoke row-created row-deleted row-modified row-unmodified run save sax-comple[te] sax-parser-error 831aeaf8c0SBram Moolenaarsyn keyword ProgressReserved sax-running sax-uninitialized sax-write-begin sax-write-complete sax-write-content sax-write-element sax-write-error 841aeaf8c0SBram Moolenaarsyn keyword ProgressReserved sax-write-idle sax-write-tag schema screen screen-io screen-lines scroll sdbname search search-self search-target security-policy 851aeaf8c0SBram Moolenaarsyn keyword ProgressReserved seek select self session set set-attr-call-type setuser[id] share[-lock] shared show-stat[s] skip some source-procedure 861aeaf8c0SBram Moolenaarsyn keyword ProgressReserved space status stream stream-handle stream-io string-xref subscribe super system-dialog table table-handle target-procedure 871aeaf8c0SBram Moolenaarsyn keyword ProgressReserved term[inal] text text-cursor text-seg[-grow] then this-object this-procedure time title to today top-only trans[action] trigger 881aeaf8c0SBram Moolenaarsyn keyword ProgressReserved triggers trim true underl[ine] undo unform[atted] union unique unix unless-hidden unsubscribe up update use-index use-revvideo 891aeaf8c0SBram Moolenaarsyn keyword ProgressReserved use-underline user[id] using value values view view-as wait-for web-con[text] when where while window window-delayed-min[imize] 901aeaf8c0SBram Moolenaarsyn keyword ProgressReserved window-maxim[ized] window-minim[ized] window-normal with work-tab[le] workfile write xcode xcode-session-key xref xref-xml yes 91071d4279SBram Moolenaar 92071d4279SBram Moolenaar" Strings. Handles embedded quotes. 93071d4279SBram Moolenaar" Note that, for some reason, Progress doesn't use the backslash, "\" 94071d4279SBram Moolenaar" as the escape character; it uses tilde, "~". 9597d62497SBram Moolenaarsyn region ProgressString matchgroup=ProgressQuote start=+"+ end=+"+ skip=+\~'\|\~\~\|\~"+ contains=@Spell 9697d62497SBram Moolenaarsyn region ProgressString matchgroup=ProgressQuote start=+'+ end=+'+ skip=+\~'\|\~\~\|\~"+ contains=@Spell 97071d4279SBram Moolenaar 981aeaf8c0SBram Moolenaarsyn match ProgressIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>()" 99071d4279SBram Moolenaar 100071d4279SBram Moolenaar" syn match ProgressDelimiter "()" 101071d4279SBram Moolenaar 1024c3f536fSBram Moolenaarsyn match ProgressMatrixDelimiter "[][]" 1031aeaf8c0SBram Moolenaar" If you prefer you can highlight the range: 104071d4279SBram Moolenaar"syn match ProgressMatrixDelimiter "[\d\+\.\.\d\+]" 105071d4279SBram Moolenaar 1064c3f536fSBram Moolenaarsyn match ProgressNumber "\<\-\=\d\+\(u\=l\=\|lu\|f\)\>" 107071d4279SBram Moolenaarsyn match ProgressByte "\$[0-9a-fA-F]\+" 108071d4279SBram Moolenaar 1094c3f536fSBram Moolenaar" More values: Logicals, and Progress's unknown value, ?. 1104c3f536fSBram Moolenaarsyn match ProgressNumber "?" 1114c3f536fSBram Moolenaarsyn keyword ProgressNumber true false yes no 1124c3f536fSBram Moolenaar 113071d4279SBram Moolenaar" If you don't like tabs: 1144c3f536fSBram Moolenaarsyn match ProgressShowTab "\t" 1154c3f536fSBram Moolenaar 1161aeaf8c0SBram Moolenaar" If you don't like white space on the end of lines, uncomment this: 1174c3f536fSBram Moolenaar" syn match ProgressSpaceError "\s\+$" 118071d4279SBram Moolenaar 119d09acef4SBram Moolenaarsyn region ProgressComment start="/\*" end="\*/" contains=ProgressComment,ProgressTodo,ProgressDebug,@Spell 1201aeaf8c0SBram Moolenaarsyn region ProgressInclude start="^[ ]*[{]" end="[}]" contains=ProgressPreProc,ProgressOperator,ProgressString,ProgressComment 1214c3f536fSBram Moolenaarsyn region ProgressPreProc start="&" end="\>" contained 122071d4279SBram Moolenaar 1234c3f536fSBram Moolenaar" This next line works reasonably well. 1244c3f536fSBram Moolenaar" syn match ProgressOperator "[!;|)(:.><+*=-]" 1254c3f536fSBram Moolenaar" 1264c3f536fSBram Moolenaar" Progress allows a '-' to be part of an identifier. To be considered 1274c3f536fSBram Moolenaar" the subtraction/negation operation operator it needs a non-word 1284c3f536fSBram Moolenaar" character on either side. Also valid are cases where the minus 1294c3f536fSBram Moolenaar" operation appears at the beginning or end of a line. 1304c3f536fSBram Moolenaar" This next line trips up on "no-undo" etc. 1314c3f536fSBram Moolenaar" syn match ProgressOperator "[!;|)(:.><+*=]\|\W-\W\|^-\W\|\W-$" 1324c3f536fSBram Moolenaarsyn match ProgressOperator "[!;|)(:.><+*=]\|\s-\s\|^-\s\|\s-$" 133071d4279SBram Moolenaar 1341aeaf8c0SBram Moolenaarsyn keyword ProgressOperator <= <> >= 1351aeaf8c0SBram Moolenaarsyn keyword ProgressOperator abs[olute] accelerator accept-changes accept-row-changes across active actor add-buffer add-calc-col[umn] 1361aeaf8c0SBram Moolenaarsyn keyword ProgressOperator add-columns-from add-events-proc[edure] add-fields-from add-first add-header-entry add-index-field add-interval add-last 1371aeaf8c0SBram Moolenaarsyn keyword ProgressOperator add-like-col[umn] add-like-field add-like-index add-new-field add-new-index add-rel[ation] add-schema-location add-source-buffer 1381aeaf8c0SBram Moolenaarsyn keyword ProgressOperator add-super-proc[edure] adm-data advise after-buffer after-rowid after-table alert-box allow-column-searching allow-replication alternate-key 1391aeaf8c0SBram Moolenaarsyn keyword ProgressOperator always-on-top ansi-only anywhere append append-child appl-alert[-boxes] appl-context-id application apply-callback appserver-info 1401aeaf8c0SBram Moolenaarsyn keyword ProgressOperator appserver-password appserver-userid array-m[essage] ask-overwrite assembly async-request-count async-request-handle attach-data-source 1411aeaf8c0SBram Moolenaarsyn keyword ProgressOperator attached-pairlist attach attribute-names audit-enabled audit-event-context authentication-failed auto-comp[letion] auto-delete 1421aeaf8c0SBram Moolenaarsyn keyword ProgressOperator auto-delete-xml auto-end-key auto-endkey auto-go auto-ind[ent] auto-resize auto-synchronize auto-val[idate] auto-z[ap] automatic 1431aeaf8c0SBram Moolenaarsyn keyword ProgressOperator available-formats ave[rage] avg backward[s] base-ade base-key basic-logging batch[-mode] batch-size before-buffer before-rowid 1441aeaf8c0SBram Moolenaarsyn keyword ProgressOperator before-table begin-event-group bgc[olor] binary bind bind-where blob block-iteration-display border-b[ottom-chars] 1451aeaf8c0SBram Moolenaarsyn keyword ProgressOperator border-bottom-p[ixels] border-l[eft-chars] border-left-p[ixels] border-r[ight-chars] border-right-p[ixels] border-t[op-chars] 1461aeaf8c0SBram Moolenaarsyn keyword ProgressOperator border-top-p[ixels] both bottom box box-select[able] browse buffer buffer-chars buffer-create buffer-delete buffer-field buffer-handle 1471aeaf8c0SBram Moolenaarsyn keyword ProgressOperator buffer-lines buffer-n[ame] buffer-releas[e] buffer-validate buffer-value button[s] by-reference by-value byte bytes-read 1481aeaf8c0SBram Moolenaarsyn keyword ProgressOperator bytes-written cache cache-size call-name call-type can-crea[te] can-dele[te] can-query can-read can-set can-writ[e] cancel-break 1491aeaf8c0SBram Moolenaarsyn keyword ProgressOperator cancel-button cancel-requests cancelled caps careful-paint catch cdecl chained char[acter] character_length charset checked 1501aeaf8c0SBram Moolenaarsyn keyword ProgressOperator child-buffer child-num choose class class-type clear-appl-context clear-log clear-select[ion] clear-sort-arrow[s] 1511aeaf8c0SBram Moolenaarsyn keyword ProgressOperator client-connection-id client-principal client-tty client-type client-workstation clob clone-node close close-log code codepage 1521aeaf8c0SBram Moolenaarsyn keyword ProgressOperator codepage-convert col-of collate colon-align[ed] color-table column-bgc[olor] column-codepage column-dcolor column-fgc[olor] 1531aeaf8c0SBram Moolenaarsyn keyword ProgressOperator column-font column-movable column-of column-pfc[olor] column-read-only column-resizable column-sc[rolling] com-handle combo-box 1541aeaf8c0SBram Moolenaarsyn keyword ProgressOperator command compare[s] compile complete config-name connect constructor contents context context-help context-help-file 1551aeaf8c0SBram Moolenaarsyn keyword ProgressOperator context-help-id context-pop[up] control-box control-fram[e] convert convert-to-offs[et] copy-dataset copy-sax-attributes 1561aeaf8c0SBram Moolenaarsyn keyword ProgressOperator copy-temp-table count cpcase cpcoll cpint[ernal] cplog cpprint cprcodein cprcodeout cpterm crc-val[ue] create-like 1571aeaf8c0SBram Moolenaarsyn keyword ProgressOperator create-like-sequential create-node create-node-namespace create-result-list-entry create-test-file current-column current-env[ironment] 1581aeaf8c0SBram Moolenaarsyn keyword ProgressOperator current-iteration current-query current-result-row current-row-modified current-value cursor-char cursor-line cursor-offset data-b[ind] 1591aeaf8c0SBram Moolenaarsyn keyword ProgressOperator data-entry-ret[urn] data-rel[ation] data-source data-source-complete-map data-source-modified data-source-rowid data-t[ype] date 1601aeaf8c0SBram Moolenaarsyn keyword ProgressOperator date-f[ormat] day db-references dcolor dde-error dde-i[d] dde-item dde-name dde-topic debu[g] debug-alert 1611aeaf8c0SBram Moolenaarsyn keyword ProgressOperator declare-namespace decrypt default-buffer-handle default-but[ton] default-commit default-ex[tension] default-string 1621aeaf8c0SBram Moolenaarsyn keyword ProgressOperator default-value define-user-event-manager defined delete-char delete-current-row delete-header-entry delete-line delete-node 1631aeaf8c0SBram Moolenaarsyn keyword ProgressOperator delete-result-list-entry delete-selected-row delete-selected-rows descript[ion] deselect-focused-row deselect-rows deselect-selected-row 1641aeaf8c0SBram Moolenaarsyn keyword ProgressOperator destructor detach-data-source dialog-box dir directory disable-auto-zap disable-connections disable-dump-triggers 1651aeaf8c0SBram Moolenaarsyn keyword ProgressOperator disable-load-triggers disabled display-message display-timezone display-t[ype] domain-description domain-name domain-type double 1661aeaf8c0SBram Moolenaarsyn keyword ProgressOperator drag-enabled drop-down drop-down-list drop-target dump dump-logging-now dynamic dynamic-current-value dynamic-next-value echo 1671aeaf8c0SBram Moolenaarsyn keyword ProgressOperator edge[-chars] edge-p[ixels] edit-can-paste edit-can-undo edit-clear edit-copy edit-cut edit-paste edit-undo editor empty 1681aeaf8c0SBram Moolenaarsyn keyword ProgressOperator empty-dataset empty-temp-table enable-connections enabled encoding encrypt encrypt-audit-mac-key encryption-salt end-document 1691aeaf8c0SBram Moolenaarsyn keyword ProgressOperator end-element end-event-group end-file-drop end-key end-user-prompt endkey entered entry-types-list eq error error-col[umn] 1701aeaf8c0SBram Moolenaarsyn keyword ProgressOperator error-object-detail error-row error-stack-trace error-string event-group-id event-procedure-context event-t[ype] events exclusive-id 1711aeaf8c0SBram Moolenaarsyn keyword ProgressOperator execute execution-log exp expand expandable expire explicit export-principal extended extent external extract 1721aeaf8c0SBram Moolenaarsyn keyword ProgressOperator fetch-selected-row fgc[olor] file file-create-d[ate] file-create-t[ime] file-mod-d[ate] file-mod-t[ime] file-name file-off[set] 1731aeaf8c0SBram Moolenaarsyn keyword ProgressOperator file-size file-type filename fill-in fill-mode fill-where-string filled filters final finally find-by-rowid find-current 1741aeaf8c0SBram Moolenaarsyn keyword ProgressOperator find-first find-last find-unique finder first-async[-request] first-buffer first-child first-column first-data-source 1751aeaf8c0SBram Moolenaarsyn keyword ProgressOperator first-dataset first-form first-object first-proc[edure] first-query first-serv[er] first-server-socket first-socket 1761aeaf8c0SBram Moolenaarsyn keyword ProgressOperator first-tab-i[tem] fit-last-column fix-codepage fixed-only flat-button float focused-row focused-row-selected font-table force-file 1771aeaf8c0SBram Moolenaarsyn keyword ProgressOperator fore[ground] foreign-key-hidden form-input form-long-input formatte[d] forward-only forward[s] fragmen[t] frame-spa[cing] frame-x 1781aeaf8c0SBram Moolenaarsyn keyword ProgressOperator frame-y frequency from-cur[rent] full-height[-chars] full-height-p[ixels] full-pathn[ame] full-width[-chars] 1791aeaf8c0SBram Moolenaarsyn keyword ProgressOperator full-width-p[ixels] function ge generate-pbe-key generate-pbe-salt generate-random-key generate-uuid get get-attribute get-attribute-node 1801aeaf8c0SBram Moolenaarsyn keyword ProgressOperator get-binary-data get-bits get-blue[-value] get-browse-col[umn] get-buffer-handle get-byte-order get-bytes get-bytes-available 1811aeaf8c0SBram Moolenaarsyn keyword ProgressOperator get-callback-proc-context get-callback-proc-name get-cgi-list get-cgi-long-value get-cgi-value get-changes get-child get-child-rel[ation] 1821aeaf8c0SBram Moolenaarsyn keyword ProgressOperator get-config-value get-curr[ent] get-dataset-buffer get-dir get-document-element get-double get-dropped-file get-dynamic get-file 1831aeaf8c0SBram Moolenaarsyn keyword ProgressOperator get-firs[t] get-float get-green[-value] get-header-entr[y] get-index-by-namespace-name get-index-by-qname get-iteration get-last 1841aeaf8c0SBram Moolenaarsyn keyword ProgressOperator get-localname-by-index get-long get-message get-next get-node get-number get-parent get-pointer-value get-prev get-printers get-property 1851aeaf8c0SBram Moolenaarsyn keyword ProgressOperator get-qname-by-index get-red[-value] get-rel[ation] get-repositioned-row get-rgb[-value] get-selected[-widget] get-serialized get-short 1861aeaf8c0SBram Moolenaarsyn keyword ProgressOperator get-signature get-size get-socket-option get-source-buffer get-string get-tab-item get-text-height[-chars] get-text-height-p[ixels] 1871aeaf8c0SBram Moolenaarsyn keyword ProgressOperator get-text-width[-chars] get-text-width-p[ixels] get-top-buffer get-type-by-index get-type-by-namespace-name get-type-by-qname 1881aeaf8c0SBram Moolenaarsyn keyword ProgressOperator get-unsigned-long get-unsigned-short get-uri-by-index get-value-by-index get-value-by-namespace-name get-value-by-qname 1891aeaf8c0SBram Moolenaarsyn keyword ProgressOperator get-wait[-state] grayed grid-factor-h[orizontal] grid-factor-v[ertical] grid-snap grid-unit-height[-chars] grid-unit-height-p[ixels] 1901aeaf8c0SBram Moolenaarsyn keyword ProgressOperator grid-unit-width[-chars] grid-unit-width-p[ixels] grid-visible group-box gt guid handle handler has-lobs has-records height[-chars] 1911aeaf8c0SBram Moolenaarsyn keyword ProgressOperator height-p[ixels] help-topic hex-decode hex-encode hidden hint hori[zontal] html-charset html-end-of-line html-end-of-page 1921aeaf8c0SBram Moolenaarsyn keyword ProgressOperator html-frame-begin html-frame-end html-header-begin html-header-end html-title-begin html-title-end hwnd icfparam[eter] icon 1931aeaf8c0SBram Moolenaarsyn keyword ProgressOperator ignore-current-mod[ified] image image-down image-insensitive image-size image-size-c[hars] image-size-p[ixels] image-up immediate-display 1941aeaf8c0SBram Moolenaarsyn keyword ProgressOperator implements import-node import-principal in-handle increment-exclusive-id index-hint index-info[rmation] indexed-reposition 1951aeaf8c0SBram Moolenaarsyn keyword ProgressOperator info[rmation] inherit-bgc[olor] inherit-fgc[olor] inherits init[ial] initial-dir initial-filter initialize-document-type initiate 1961aeaf8c0SBram Moolenaarsyn keyword ProgressOperator inner inner-chars inner-lines input-value insert-attribute insert-b[acktab] insert-before insert-file insert-row 1971aeaf8c0SBram Moolenaarsyn keyword ProgressOperator insert-string insert-t[ab] instantiating-procedure int[eger] interface internal-entries interval invoke is-clas[s] 1981aeaf8c0SBram Moolenaarsyn keyword ProgressOperator is-codepage-fixed is-column-codepage is-lead-byte is-open is-parameter-set is-row-selected is-selected is-xml iso-date item 1991aeaf8c0SBram Moolenaarsyn keyword ProgressOperator items-per-row join-by-sqldb keep-connection-open keep-frame-z[-order] keep-messages keep-security-cache keep-tab-order key 2001aeaf8c0SBram Moolenaarsyn keyword ProgressOperator keyword-all label-bgc[olor] label-dc[olor] label-fgc[olor] label-font label-pfc[olor] labels landscape language[s] large 2011aeaf8c0SBram Moolenaarsyn keyword ProgressOperator large-to-small last-async[-request] last-batch last-child last-form last-object last-proce[dure] last-serv[er] last-server-socket 2021aeaf8c0SBram Moolenaarsyn keyword ProgressOperator last-socket last-tab-i[tem] lc le leading left left-align[ed] left-trim length line list-events list-item-pairs list-items 2031aeaf8c0SBram Moolenaarsyn keyword ProgressOperator list-property-names list-query-attrs list-set-attrs list-widgets literal-question load load-domains load-icon load-image load-image-down 2041aeaf8c0SBram Moolenaarsyn keyword ProgressOperator load-image-insensitive load-image-up load-mouse-p[ointer] load-picture load-small-icon lob-dir local-host local-name local-port 2051aeaf8c0SBram Moolenaarsyn keyword ProgressOperator locator-column-number locator-line-number locator-public-id locator-system-id locator-type lock-registration log log-audit-event 2061aeaf8c0SBram Moolenaarsyn keyword ProgressOperator log-entry-types log-threshold logfile-name logging-level logical login-expiration-timestamp login-host login-state logout long[char] 2071aeaf8c0SBram Moolenaarsyn keyword ProgressOperator longchar-to-node-value lookahead lower lt mandatory manual-highlight margin-extra margin-height[-chars] margin-height-p[ixels] 2081aeaf8c0SBram Moolenaarsyn keyword ProgressOperator margin-width[-chars] margin-width-p[ixels] mark-new mark-row-state matches max-button max-chars max-data-guess max-height[-chars] 2091aeaf8c0SBram Moolenaarsyn keyword ProgressOperator max-height-p[ixels] max-rows max-size max-val[ue] max-width[-chars] max-width-p[ixels] maximize max[imum] maximum-level memory memptr 2101aeaf8c0SBram Moolenaarsyn keyword ProgressOperator memptr-to-node-value menu menu-bar menu-item menu-k[ey] menu-m[ouse] menubar merge-by-field merge-changes merge-row-changes message-area 2111aeaf8c0SBram Moolenaarsyn keyword ProgressOperator message-area-font method min-button min-column-width-c[hars] min-column-width-p[ixels] min-height[-chars] min-height-p[ixels] 2121aeaf8c0SBram Moolenaarsyn keyword ProgressOperator min-schema-marshal min-size min-val[ue] min-width[-chars] min-width-p[ixels] min[imum] modified mod[ulo] month mouse-p[ointer] movable 2131aeaf8c0SBram Moolenaarsyn keyword ProgressOperator move-after[-tab-item] move-befor[e-tab-item] move-col[umn] move-to-b[ottom] move-to-eof move-to-t[op] mtime multi-compile multiple 2141aeaf8c0SBram Moolenaarsyn keyword ProgressOperator multiple-key multitasking-interval must-exist must-understand name namespace-prefix namespace-uri native ne needs-appserver-prompt 2151aeaf8c0SBram Moolenaarsyn keyword ProgressOperator needs-prompt nested new-instance new-row next-col[umn] next-rowid next-sibling next-tab-ite[m] next-value no-apply 2161aeaf8c0SBram Moolenaarsyn keyword ProgressOperator no-array-m[essage] no-assign no-attr-l[ist] no-auto-validate no-bind-where no-box no-console no-convert no-current-value no-debug 2171aeaf8c0SBram Moolenaarsyn keyword ProgressOperator no-drag no-echo no-empty-space no-focus no-index-hint no-inherit-bgc[olor] no-inherit-fgc[olor] no-join-by-sqldb no-lookahead 2181aeaf8c0SBram Moolenaarsyn keyword ProgressOperator no-row-markers no-schema-marshal no-scrollbar-v[ertical] no-separate-connection no-separators no-tab[-stop] no-und[erline] 2191aeaf8c0SBram Moolenaarsyn keyword ProgressOperator no-word-wrap node-value node-value-to-longchar node-value-to-memptr nonamespace-schema-location none normalize not-active 2201aeaf8c0SBram Moolenaarsyn keyword ProgressOperator num-buffers num-but[tons] num-child-relations num-children num-col[umns] num-copies num-dropped-files num-fields num-formats 2211aeaf8c0SBram Moolenaarsyn keyword ProgressOperator num-header-entries num-items num-iterations num-lines num-locked-col[umns] num-log-files num-messages num-parameters num-references 2221aeaf8c0SBram Moolenaarsyn keyword ProgressOperator num-relations num-repl[aced] num-results num-selected-rows num-selected[-widgets] num-source-buffers num-tabs num-to-retain 2231aeaf8c0SBram Moolenaarsyn keyword ProgressOperator num-top-buffers num-visible-col[umns] numeric numeric-dec[imal-point] numeric-f[ormat] numeric-sep[arator] object ok ok-cancel 2241aeaf8c0SBram Moolenaarsyn keyword ProgressOperator on-frame[-border] ordered-join ordinal orientation origin-handle origin-rowid os-getenv outer outer-join override owner owner-document 2251aeaf8c0SBram Moolenaarsyn keyword ProgressOperator page-size page-wid[th] paged parent parent-buffer parent-rel[ation] parse-status partial-key pascal pathname 2261aeaf8c0SBram Moolenaarsyn keyword ProgressOperator pbe-hash-alg[orithm] pbe-key-rounds perf[ormance] persistent-cache-disabled persistent-procedure pfc[olor] pixels-per-col[umn] 2271aeaf8c0SBram Moolenaarsyn keyword ProgressOperator pixels-per-row popup-m[enu] popup-o[nly] portrait position precision prefer-dataset prepare-string prepared presel[ect] prev 2281aeaf8c0SBram Moolenaarsyn keyword ProgressOperator prev-col[umn] prev-sibling prev-tab-i[tem] primary printer printer-control-handle printer-hdc printer-name printer-port 2291aeaf8c0SBram Moolenaarsyn keyword ProgressOperator printer-setup private private-d[ata] proce[dure] procedure-name progress-s[ource] property protected proxy proxy-password 2301aeaf8c0SBram Moolenaarsyn keyword ProgressOperator proxy-userid public public-id published-events put-bits put-bytes put-double put-float put-long put-short put-string 2311aeaf8c0SBram Moolenaarsyn keyword ProgressOperator put-unsigned-long put-unsigned-short query-close query-off-end query-open query-prepare question quoter radio-buttons radio-set random 2321aeaf8c0SBram Moolenaarsyn keyword ProgressOperator raw raw-transfer read read-file read-only read-xml read-xmlschema real recursive reference-only refresh 2331aeaf8c0SBram Moolenaarsyn keyword ProgressOperator refresh-audit-policy refreshable register-domain reject-changes reject-row-changes rejected relation-fi[elds] relations-active remote 2341aeaf8c0SBram Moolenaarsyn keyword ProgressOperator remote-host remote-port remove-attribute remove-child remove-events-proc[edure] remove-super-proc[edure] replace replace-child 2351aeaf8c0SBram Moolenaarsyn keyword ProgressOperator replace-selection-text replication-create replication-delete replication-write reposition-back[ward] reposition-forw[ard] reposition-to-row 2361aeaf8c0SBram Moolenaarsyn keyword ProgressOperator reposition-to-rowid request reset resiza[ble] resize restart-row restart-rowid result retain-s[hape] retry-cancel return-ins[erted] 2371aeaf8c0SBram Moolenaarsyn keyword ProgressOperator return-to-start-di[r] return-value-data-type returns reverse-from rgb-v[alue] right right-align[ed] right-trim roles round rounded 2381aeaf8c0SBram Moolenaarsyn keyword ProgressOperator routine-level row row-height[-chars] row-height-p[ixels] row-ma[rkers] row-of row-resizable row-state rowid rule run-proc[edure] 2391aeaf8c0SBram Moolenaarsyn keyword ProgressOperator save-as save-file save-row-changes save-where-string sax-attributes sax-parse sax-parse-first sax-parse-next sax-reader 2401aeaf8c0SBram Moolenaarsyn keyword ProgressOperator sax-writer schema-change schema-location schema-marshal schema-path screen-val[ue] scroll-bars scroll-delta scroll-offset 2411aeaf8c0SBram Moolenaarsyn keyword ProgressOperator scroll-to-current-row scroll-to-i[tem] scroll-to-selected-row scrollable scrollbar-h[orizontal] scrollbar-v[ertical] 2421aeaf8c0SBram Moolenaarsyn keyword ProgressOperator scrolled-row-pos[ition] scrolling seal seal-timestamp section select-all select-focused-row select-next-row select-prev-row select-row 2431aeaf8c0SBram Moolenaarsyn keyword ProgressOperator selectable selected selection-end selection-list selection-start selection-text send sensitive separate-connection 2441aeaf8c0SBram Moolenaarsyn keyword ProgressOperator separator-fgc[olor] separators server server-connection-bo[und] server-connection-bound-re[quest] server-connection-co[ntext] 2451aeaf8c0SBram Moolenaarsyn keyword ProgressOperator server-connection-id server-operating-mode server-socket session-end session-id set-actor set-appl-context set-attribute 2461aeaf8c0SBram Moolenaarsyn keyword ProgressOperator set-attribute-node set-blue[-value] set-break set-buffers set-byte-order set-callback set-callback-procedure set-client set-commit 2471aeaf8c0SBram Moolenaarsyn keyword ProgressOperator set-connect-procedure set-contents set-db-client set-dynamic set-green[-value] set-input-source set-must-understand set-node 2481aeaf8c0SBram Moolenaarsyn keyword ProgressOperator set-numeric-form[at] set-option set-output-destination set-parameter set-pointer-val[ue] set-property set-read-response-procedure 2491aeaf8c0SBram Moolenaarsyn keyword ProgressOperator set-red[-value] set-repositioned-row set-rgb[-value] set-rollback set-selection set-serialized set-size set-socket-option 2501aeaf8c0SBram Moolenaarsyn keyword ProgressOperator set-sort-arrow set-wait[-state] short show-in-task[bar] side-label-h[andle] side-lab[els] silent simple single single-character size 2511aeaf8c0SBram Moolenaarsyn keyword ProgressOperator size-c[hars] size-p[ixels] skip-deleted-rec[ord] slider small-icon small-title smallint soap-fault soap-fault-actor 2521aeaf8c0SBram Moolenaarsyn keyword ProgressOperator soap-fault-code soap-fault-detail soap-fault-string soap-header soap-header-entryref socket sort sort-ascending sort-number source 2531aeaf8c0SBram Moolenaarsyn keyword ProgressOperator sql sqrt ssl-server-name standalone start-document start-element start[ing] startup-parameters state-detail static 2541aeaf8c0SBram Moolenaarsyn keyword ProgressOperator status-area status-area-font stdcall stop stop-parsing stoppe[d] stored-proc[edure] stretch-to-fit strict string string-value 2551aeaf8c0SBram Moolenaarsyn keyword ProgressOperator sub-ave[rage] sub-count sub-max[imum] sub-menu sub-menu-help sub-min[imum] sub-total subst[itute] substr[ing] subtype sum 2561aeaf8c0SBram Moolenaarsyn keyword ProgressOperator super-proc[edures] suppress-namespace-processing suppress-w[arnings] suspend symmetric-encryption-algorithm symmetric-encryption-iv 2571aeaf8c0SBram Moolenaarsyn keyword ProgressOperator symmetric-encryption-key symmetric-support synchronize system-alert[-boxes] system-help system-id tab-position tab-stop table-crc-list 2581aeaf8c0SBram Moolenaarsyn keyword ProgressOperator table-list table-num[ber] target temp-dir[ectory] temp-table temp-table-prepar[e] terminate text-selected three-d through throw 2591aeaf8c0SBram Moolenaarsyn keyword ProgressOperator thru tic-marks time-source timezone title-bgc[olor] title-dc[olor] title-fgc[olor] title-fo[nt] to-rowid toggle-box 2601aeaf8c0SBram Moolenaarsyn keyword ProgressOperator tooltip tooltips top top-nav-query topic total tracking-changes trailing trans-init-proc[edure] transaction-mode 2611aeaf8c0SBram Moolenaarsyn keyword ProgressOperator transpar[ent] trunc[ate] ttcodepage type type-of unbox unbuff[ered] unique-id unique-match unload unsigned-byte unsigned-integer 2621aeaf8c0SBram Moolenaarsyn keyword ProgressOperator unsigned-long unsigned-short update-attribute upper url url-decode url-encode url-password url-userid use use-dic[t-exps] 2631aeaf8c0SBram Moolenaarsyn keyword ProgressOperator use-filename use-text use-widget-pool user-id valid-event valid-handle valid-object validate validate-expressio[n] 2641aeaf8c0SBram Moolenaarsyn keyword ProgressOperator validate-message validate-seal validate-xml validation-enabled var[iable] verb[ose] version vert[ical] view-first-column-on-reopen 2651aeaf8c0SBram Moolenaarsyn keyword ProgressOperator virtual-height[-chars] virtual-height-p[ixels] virtual-width[-chars] virtual-width-p[ixels] visible void wait warning weekday where-string 2661aeaf8c0SBram Moolenaarsyn keyword ProgressOperator widget widget-e[nter] widget-h[andle] widget-id widget-l[eave] widget-pool width[-chars] width-p[ixels] window-name 2671aeaf8c0SBram Moolenaarsyn keyword ProgressOperator window-sta[te] window-sys[tem] word-index word-wrap work-area-height-p[ixels] work-area-width-p[ixels] work-area-x work-area-y 2681aeaf8c0SBram Moolenaarsyn keyword ProgressOperator write-cdata write-characters write-comment write-data-element write-empty-element write-entity-ref write-external-dtd 2691aeaf8c0SBram Moolenaarsyn keyword ProgressOperator write-fragment write-message write-processing-instruction write-status write-xml write-xmlschema x x-document x-noderef x-of 2701aeaf8c0SBram Moolenaarsyn keyword ProgressOperator xml-data-type xml-node-name xml-node-type xml-schema-pat[h] xml-suppress-namespace-processing y y-of year year-offset yes-no 2711aeaf8c0SBram Moolenaarsyn keyword ProgressOperator yes-no-cancel 272071d4279SBram Moolenaar 2731aeaf8c0SBram Moolenaarsyn keyword ProgressType char[acter] int[eger] int64 dec[imal] log[ical] da[te] datetime datetime-tz 274071d4279SBram Moolenaar 275071d4279SBram Moolenaarsyn sync lines=800 276071d4279SBram Moolenaar 277071d4279SBram Moolenaar" Define the default highlighting. 27889bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet 279071d4279SBram Moolenaar 280071d4279SBram Moolenaar" The default methods for highlighting. Can be overridden later. 281*f37506f6SBram Moolenaarhi def link ProgressByte Number 282*f37506f6SBram Moolenaarhi def link ProgressCase Repeat 283*f37506f6SBram Moolenaarhi def link ProgressComment Comment 284*f37506f6SBram Moolenaarhi def link ProgressConditional Conditional 285*f37506f6SBram Moolenaarhi def link ProgressDebug Debug 286*f37506f6SBram Moolenaarhi def link ProgressDo Repeat 287*f37506f6SBram Moolenaarhi def link ProgressEndError Error 288*f37506f6SBram Moolenaarhi def link ProgressFor Repeat 289*f37506f6SBram Moolenaarhi def link ProgressFunction Procedure 290*f37506f6SBram Moolenaarhi def link ProgressIdentifier Identifier 291*f37506f6SBram Moolenaarhi def link ProgressInclude Include 292*f37506f6SBram Moolenaarhi def link ProgressMatrixDelimiter Identifier 293*f37506f6SBram Moolenaarhi def link ProgressNumber Number 294*f37506f6SBram Moolenaarhi def link ProgressOperator Operator 295*f37506f6SBram Moolenaarhi def link ProgressPreProc PreProc 296*f37506f6SBram Moolenaarhi def link ProgressProcedure Procedure 297*f37506f6SBram Moolenaarhi def link ProgressQuote Delimiter 298*f37506f6SBram Moolenaarhi def link ProgressRepeat Repeat 299*f37506f6SBram Moolenaarhi def link ProgressReserved Statement 300*f37506f6SBram Moolenaarhi def link ProgressSpaceError Error 301*f37506f6SBram Moolenaarhi def link ProgressString String 302*f37506f6SBram Moolenaarhi def link ProgressTodo Todo 303*f37506f6SBram Moolenaarhi def link ProgressType Statement 304*f37506f6SBram Moolenaarhi def link ProgressShowTab Error 305071d4279SBram Moolenaar 306071d4279SBram Moolenaar 307071d4279SBram Moolenaarlet b:current_syntax = "progress" 308071d4279SBram Moolenaar 3091aeaf8c0SBram Moolenaarlet &cpo = s:cpo_save 3101aeaf8c0SBram Moolenaarunlet s:cpo_save 3111aeaf8c0SBram Moolenaar 312d09acef4SBram Moolenaar" vim: ts=8 sw=8 313