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) 61aeaf8c0SBram Moolenaar" Maintainer: Philip Uren <[email protected]> Remove SPAX spam block 71aeaf8c0SBram Moolenaar" Contributors: Chris Ruprecht <[email protected]> 81aeaf8c0SBram Moolenaar" Philip Uren <[email protected]> 9071d4279SBram Moolenaar" Mikhail Kuperblum <[email protected]> 104c3f536fSBram Moolenaar" John Florian <[email protected]> 11*d09acef4SBram Moolenaar" Version: 12 12*d09acef4SBram Moolenaar" Last Change: Aug 16 2012 13071d4279SBram Moolenaar 141aeaf8c0SBram Moolenaar" For version 5.x: Clear all syntax item 15071d4279SBram Moolenaar" For version 6.x: Quit when a syntax file was already loaded 16071d4279SBram Moolenaarif version < 600 17071d4279SBram Moolenaar syntax clear 18071d4279SBram Moolenaarelseif exists("b:current_syntax") 19071d4279SBram Moolenaar finish 20071d4279SBram Moolenaarendif 21071d4279SBram Moolenaar 221aeaf8c0SBram Moolenaarlet s:cpo_save = &cpo 231aeaf8c0SBram Moolenaarset cpo&vim 241aeaf8c0SBram Moolenaar 25071d4279SBram Moolenaarif version >= 600 26071d4279SBram Moolenaar setlocal iskeyword=@,48-57,_,-,!,#,$,% 27071d4279SBram Moolenaarelse 28071d4279SBram Moolenaar set iskeyword=@,48-57,_,-,!,#,$,% 29071d4279SBram Moolenaarendif 30071d4279SBram Moolenaar 314c3f536fSBram Moolenaar" The Progress editor doesn't cope with tabs very well. 324c3f536fSBram Moolenaarset expandtab 334c3f536fSBram Moolenaar 34071d4279SBram Moolenaarsyn case ignore 35071d4279SBram Moolenaar 36071d4279SBram Moolenaar" Progress Blocks of code and mismatched "end." errors. 37071d4279SBram Moolenaarsyn match ProgressEndError "\<end\>" 38071d4279SBram Moolenaarsyn region ProgressDoBlock transparent matchgroup=ProgressDo start="\<do\>" matchgroup=ProgressDo end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction 39071d4279SBram Moolenaarsyn region ProgressForBlock transparent matchgroup=ProgressFor start="\<for\>" matchgroup=ProgressFor end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction 40071d4279SBram Moolenaarsyn region ProgressRepeatBlock transparent matchgroup=ProgressRepeat start="\<repeat\>" matchgroup=ProgressRepeat end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction 414c3f536fSBram Moolenaarsyn region ProgressCaseBlock transparent matchgroup=ProgressCase start="\<case\>" matchgroup=ProgressCase end="\<end\scase\>\|\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction 42071d4279SBram Moolenaar 43071d4279SBram Moolenaar" These are Progress reserved words, 44071d4279SBram Moolenaar" and they could go in ProgressReserved, 45071d4279SBram Moolenaar" but I found it more helpful to highlight them in a different color. 46071d4279SBram Moolenaarsyn keyword ProgressConditional if else then when otherwise 47071d4279SBram Moolenaarsyn keyword ProgressFor each where 48071d4279SBram Moolenaar 49071d4279SBram Moolenaar" Make those TODO and debugging notes stand out! 50071d4279SBram Moolenaarsyn keyword ProgressTodo contained TODO BUG FIX 51071d4279SBram Moolenaarsyn keyword ProgressDebug contained DEBUG 52071d4279SBram Moolenaarsyn keyword ProgressDebug debugger 53071d4279SBram Moolenaar 544c3f536fSBram Moolenaar" If you like to highlight the whole line of 554c3f536fSBram Moolenaar" the start and end of procedures 564c3f536fSBram Moolenaar" to make the whole block of code stand out: 574c3f536fSBram Moolenaarsyn match ProgressProcedure "^\s*procedure.*" 584c3f536fSBram Moolenaarsyn match ProgressProcedure "^\s*end\s\s*procedure.*" 594c3f536fSBram Moolenaarsyn match ProgressFunction "^\s*function.*" 604c3f536fSBram Moolenaarsyn match ProgressFunction "^\s*end\s\s*function.*" 614c3f536fSBram Moolenaar" ... otherwise use this: 624c3f536fSBram Moolenaar" syn keyword ProgressFunction procedure function 63071d4279SBram Moolenaar 641aeaf8c0SBram Moolenaarsyn keyword ProgressReserved accum[ulate] active-form active-window add alias all alter ambig[uous] analyz[e] and any apply as asc[ending] 651aeaf8c0SBram Moolenaarsyn keyword ProgressReserved assign asynchronous at attr[-space] audit-control audit-policy authorization auto-ret[urn] avail[able] back[ground] 661aeaf8c0SBram 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 671aeaf8c0SBram 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] 681aeaf8c0SBram Moolenaarsyn keyword ProgressReserved col[umns] com-self compiler connected control copy-lob count-of cpstream create current current-changed current-lang[uage] 691aeaf8c0SBram Moolenaarsyn keyword ProgressReserved current-window current_date curs[or] database dataservers dataset dataset-handle db-remote-host dbcodepage dbcollation dbname 701aeaf8c0SBram Moolenaarsyn keyword ProgressReserved dbparam dbrest[rictions] dbtaskid dbtype dbvers[ion] dde deblank debug-list debugger decimals declare default 711aeaf8c0SBram Moolenaarsyn keyword ProgressReserved default-noxl[ate] default-window def[ine] delete delimiter desc[ending] dict[ionary] disable discon[nect] disp[lay] distinct do dos 721aeaf8c0SBram Moolenaarsyn keyword ProgressReserved down drop dynamic-cast dynamic-func[tion] dynamic-new each editing else enable encode end entry error-stat[us] escape 731aeaf8c0SBram Moolenaarsyn keyword ProgressReserved etime event-procedure except exclusive[-lock] exclusive-web[-user] exists export false fetch field[s] file-info[rmation] 741aeaf8c0SBram Moolenaarsyn keyword ProgressReserved fill find find-case-sensitive find-global find-next-occurrence find-prev-occurrence find-select find-wrap-around first 751aeaf8c0SBram 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 761aeaf8c0SBram 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 771aeaf8c0SBram 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] 781aeaf8c0SBram 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 791aeaf8c0SBram 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 801aeaf8c0SBram Moolenaarsyn keyword ProgressReserved keycode keyfunc[tion] keylabel keys keyword label last last-even[t] last-key last-of lastkey ldbname leave library like 811aeaf8c0SBram Moolenaarsyn keyword ProgressReserved like-sequential line-count[er] listi[ng] little-endian locked log-manager lookup machine-class map member message message-lines mouse 821aeaf8c0SBram 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 831aeaf8c0SBram 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 841aeaf8c0SBram 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 851aeaf8c0SBram Moolenaarsyn keyword ProgressReserved os-rename otherwise output overlay page page-bot[tom] page-num[ber] page-top param[eter] password-field pause pdbname 861aeaf8c0SBram Moolenaarsyn keyword ProgressReserved persist[ent] pixels preproc[ess] privileges proc-ha[ndle] proc-st[atus] procedure-call-type process profiler program-name progress 871aeaf8c0SBram Moolenaarsyn keyword ProgressReserved prompt[-for] promsgs propath provers[ion] publish put put-byte put-key-val[ue] putbyte query query-tuning quit r-index 881aeaf8c0SBram Moolenaarsyn keyword ProgressReserved rcode-info[rmation] read-available read-exact-num readkey recid record-len[gth] rect[angle] release repeat reposition retain retry return 891aeaf8c0SBram Moolenaarsyn keyword ProgressReserved return-val[ue] revert revoke row-created row-deleted row-modified row-unmodified run save sax-comple[te] sax-parser-error 901aeaf8c0SBram Moolenaarsyn keyword ProgressReserved sax-running sax-uninitialized sax-write-begin sax-write-complete sax-write-content sax-write-element sax-write-error 911aeaf8c0SBram Moolenaarsyn keyword ProgressReserved sax-write-idle sax-write-tag schema screen screen-io screen-lines scroll sdbname search search-self search-target security-policy 921aeaf8c0SBram Moolenaarsyn keyword ProgressReserved seek select self session set set-attr-call-type setuser[id] share[-lock] shared show-stat[s] skip some source-procedure 931aeaf8c0SBram Moolenaarsyn keyword ProgressReserved space status stream stream-handle stream-io string-xref subscribe super system-dialog table table-handle target-procedure 941aeaf8c0SBram 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 951aeaf8c0SBram Moolenaarsyn keyword ProgressReserved triggers trim true underl[ine] undo unform[atted] union unique unix unless-hidden unsubscribe up update use-index use-revvideo 961aeaf8c0SBram 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] 971aeaf8c0SBram 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 98071d4279SBram Moolenaar 99071d4279SBram Moolenaar" Strings. Handles embedded quotes. 100071d4279SBram Moolenaar" Note that, for some reason, Progress doesn't use the backslash, "\" 101071d4279SBram Moolenaar" as the escape character; it uses tilde, "~". 102*d09acef4SBram Moolenaarsyn region ProgressString matchgroup=ProgressQuote start=+"+ end=+"+ skip=+\~'\|\~\~+ contains=@Spell 103*d09acef4SBram Moolenaarsyn region ProgressString matchgroup=ProgressQuote start=+'+ end=+'+ skip=+\~'\|\~\~+ contains=@Spell 104071d4279SBram Moolenaar 1051aeaf8c0SBram Moolenaarsyn match ProgressIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>()" 106071d4279SBram Moolenaar 107071d4279SBram Moolenaar" syn match ProgressDelimiter "()" 108071d4279SBram Moolenaar 1094c3f536fSBram Moolenaarsyn match ProgressMatrixDelimiter "[][]" 1101aeaf8c0SBram Moolenaar" If you prefer you can highlight the range: 111071d4279SBram Moolenaar"syn match ProgressMatrixDelimiter "[\d\+\.\.\d\+]" 112071d4279SBram Moolenaar 1134c3f536fSBram Moolenaarsyn match ProgressNumber "\<\-\=\d\+\(u\=l\=\|lu\|f\)\>" 114071d4279SBram Moolenaarsyn match ProgressByte "\$[0-9a-fA-F]\+" 115071d4279SBram Moolenaar 1164c3f536fSBram Moolenaar" More values: Logicals, and Progress's unknown value, ?. 1174c3f536fSBram Moolenaarsyn match ProgressNumber "?" 1184c3f536fSBram Moolenaarsyn keyword ProgressNumber true false yes no 1194c3f536fSBram Moolenaar 120071d4279SBram Moolenaar" If you don't like tabs: 1214c3f536fSBram Moolenaarsyn match ProgressShowTab "\t" 1224c3f536fSBram Moolenaar 1231aeaf8c0SBram Moolenaar" If you don't like white space on the end of lines, uncomment this: 1244c3f536fSBram Moolenaar" syn match ProgressSpaceError "\s\+$" 125071d4279SBram Moolenaar 126*d09acef4SBram Moolenaarsyn region ProgressComment start="/\*" end="\*/" contains=ProgressComment,ProgressTodo,ProgressDebug,@Spell 1271aeaf8c0SBram Moolenaarsyn region ProgressInclude start="^[ ]*[{]" end="[}]" contains=ProgressPreProc,ProgressOperator,ProgressString,ProgressComment 1284c3f536fSBram Moolenaarsyn region ProgressPreProc start="&" end="\>" contained 129071d4279SBram Moolenaar 1304c3f536fSBram Moolenaar" This next line works reasonably well. 1314c3f536fSBram Moolenaar" syn match ProgressOperator "[!;|)(:.><+*=-]" 1324c3f536fSBram Moolenaar" 1334c3f536fSBram Moolenaar" Progress allows a '-' to be part of an identifier. To be considered 1344c3f536fSBram Moolenaar" the subtraction/negation operation operator it needs a non-word 1354c3f536fSBram Moolenaar" character on either side. Also valid are cases where the minus 1364c3f536fSBram Moolenaar" operation appears at the beginning or end of a line. 1374c3f536fSBram Moolenaar" This next line trips up on "no-undo" etc. 1384c3f536fSBram Moolenaar" syn match ProgressOperator "[!;|)(:.><+*=]\|\W-\W\|^-\W\|\W-$" 1394c3f536fSBram Moolenaarsyn match ProgressOperator "[!;|)(:.><+*=]\|\s-\s\|^-\s\|\s-$" 140071d4279SBram Moolenaar 1411aeaf8c0SBram Moolenaarsyn keyword ProgressOperator <= <> >= 1421aeaf8c0SBram Moolenaarsyn keyword ProgressOperator abs[olute] accelerator accept-changes accept-row-changes across active actor add-buffer add-calc-col[umn] 1431aeaf8c0SBram 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 1441aeaf8c0SBram 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 1451aeaf8c0SBram 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 1461aeaf8c0SBram Moolenaarsyn keyword ProgressOperator always-on-top ansi-only anywhere append append-child appl-alert[-boxes] appl-context-id application apply-callback appserver-info 1471aeaf8c0SBram Moolenaarsyn keyword ProgressOperator appserver-password appserver-userid array-m[essage] ask-overwrite assembly async-request-count async-request-handle attach-data-source 1481aeaf8c0SBram Moolenaarsyn keyword ProgressOperator attached-pairlist attach attribute-names audit-enabled audit-event-context authentication-failed auto-comp[letion] auto-delete 1491aeaf8c0SBram 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 1501aeaf8c0SBram Moolenaarsyn keyword ProgressOperator available-formats ave[rage] avg backward[s] base-ade base-key basic-logging batch[-mode] batch-size before-buffer before-rowid 1511aeaf8c0SBram Moolenaarsyn keyword ProgressOperator before-table begin-event-group bgc[olor] binary bind bind-where blob block-iteration-display border-b[ottom-chars] 1521aeaf8c0SBram 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] 1531aeaf8c0SBram 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 1541aeaf8c0SBram Moolenaarsyn keyword ProgressOperator buffer-lines buffer-n[ame] buffer-releas[e] buffer-validate buffer-value button[s] by-reference by-value byte bytes-read 1551aeaf8c0SBram 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 1561aeaf8c0SBram Moolenaarsyn keyword ProgressOperator cancel-button cancel-requests cancelled caps careful-paint catch cdecl chained char[acter] character_length charset checked 1571aeaf8c0SBram Moolenaarsyn keyword ProgressOperator child-buffer child-num choose class class-type clear-appl-context clear-log clear-select[ion] clear-sort-arrow[s] 1581aeaf8c0SBram Moolenaarsyn keyword ProgressOperator client-connection-id client-principal client-tty client-type client-workstation clob clone-node close close-log code codepage 1591aeaf8c0SBram Moolenaarsyn keyword ProgressOperator codepage-convert col-of collate colon-align[ed] color-table column-bgc[olor] column-codepage column-dcolor column-fgc[olor] 1601aeaf8c0SBram Moolenaarsyn keyword ProgressOperator column-font column-movable column-of column-pfc[olor] column-read-only column-resizable column-sc[rolling] com-handle combo-box 1611aeaf8c0SBram Moolenaarsyn keyword ProgressOperator command compare[s] compile complete config-name connect constructor contents context context-help context-help-file 1621aeaf8c0SBram Moolenaarsyn keyword ProgressOperator context-help-id context-pop[up] control-box control-fram[e] convert convert-to-offs[et] copy-dataset copy-sax-attributes 1631aeaf8c0SBram Moolenaarsyn keyword ProgressOperator copy-temp-table count cpcase cpcoll cpint[ernal] cplog cpprint cprcodein cprcodeout cpterm crc-val[ue] create-like 1641aeaf8c0SBram Moolenaarsyn keyword ProgressOperator create-like-sequential create-node create-node-namespace create-result-list-entry create-test-file current-column current-env[ironment] 1651aeaf8c0SBram Moolenaarsyn keyword ProgressOperator current-iteration current-query current-result-row current-row-modified current-value cursor-char cursor-line cursor-offset data-b[ind] 1661aeaf8c0SBram 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 1671aeaf8c0SBram 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 1681aeaf8c0SBram Moolenaarsyn keyword ProgressOperator declare-namespace decrypt default-buffer-handle default-but[ton] default-commit default-ex[tension] default-string 1691aeaf8c0SBram Moolenaarsyn keyword ProgressOperator default-value define-user-event-manager defined delete-char delete-current-row delete-header-entry delete-line delete-node 1701aeaf8c0SBram Moolenaarsyn keyword ProgressOperator delete-result-list-entry delete-selected-row delete-selected-rows descript[ion] deselect-focused-row deselect-rows deselect-selected-row 1711aeaf8c0SBram Moolenaarsyn keyword ProgressOperator destructor detach-data-source dialog-box dir directory disable-auto-zap disable-connections disable-dump-triggers 1721aeaf8c0SBram Moolenaarsyn keyword ProgressOperator disable-load-triggers disabled display-message display-timezone display-t[ype] domain-description domain-name domain-type double 1731aeaf8c0SBram Moolenaarsyn keyword ProgressOperator drag-enabled drop-down drop-down-list drop-target dump dump-logging-now dynamic dynamic-current-value dynamic-next-value echo 1741aeaf8c0SBram 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 1751aeaf8c0SBram Moolenaarsyn keyword ProgressOperator empty-dataset empty-temp-table enable-connections enabled encoding encrypt encrypt-audit-mac-key encryption-salt end-document 1761aeaf8c0SBram 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] 1771aeaf8c0SBram 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 1781aeaf8c0SBram Moolenaarsyn keyword ProgressOperator execute execution-log exp expand expandable expire explicit export-principal extended extent external extract 1791aeaf8c0SBram 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] 1801aeaf8c0SBram Moolenaarsyn keyword ProgressOperator file-size file-type filename fill-in fill-mode fill-where-string filled filters final finally find-by-rowid find-current 1811aeaf8c0SBram Moolenaarsyn keyword ProgressOperator find-first find-last find-unique finder first-async[-request] first-buffer first-child first-column first-data-source 1821aeaf8c0SBram Moolenaarsyn keyword ProgressOperator first-dataset first-form first-object first-proc[edure] first-query first-serv[er] first-server-socket first-socket 1831aeaf8c0SBram 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 1841aeaf8c0SBram 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 1851aeaf8c0SBram Moolenaarsyn keyword ProgressOperator frame-y frequency from-cur[rent] full-height[-chars] full-height-p[ixels] full-pathn[ame] full-width[-chars] 1861aeaf8c0SBram 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 1871aeaf8c0SBram 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 1881aeaf8c0SBram 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] 1891aeaf8c0SBram 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 1901aeaf8c0SBram 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 1911aeaf8c0SBram 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 1921aeaf8c0SBram 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 1931aeaf8c0SBram 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] 1941aeaf8c0SBram 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 1951aeaf8c0SBram 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 1961aeaf8c0SBram 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] 1971aeaf8c0SBram 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] 1981aeaf8c0SBram 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 1991aeaf8c0SBram 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 2001aeaf8c0SBram 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 2011aeaf8c0SBram Moolenaarsyn keyword ProgressOperator implements import-node import-principal in-handle increment-exclusive-id index-hint index-info[rmation] indexed-reposition 2021aeaf8c0SBram Moolenaarsyn keyword ProgressOperator info[rmation] inherit-bgc[olor] inherit-fgc[olor] inherits init[ial] initial-dir initial-filter initialize-document-type initiate 2031aeaf8c0SBram Moolenaarsyn keyword ProgressOperator inner inner-chars inner-lines input-value insert-attribute insert-b[acktab] insert-before insert-file insert-row 2041aeaf8c0SBram Moolenaarsyn keyword ProgressOperator insert-string insert-t[ab] instantiating-procedure int[eger] interface internal-entries interval invoke is-clas[s] 2051aeaf8c0SBram 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 2061aeaf8c0SBram 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 2071aeaf8c0SBram Moolenaarsyn keyword ProgressOperator keyword-all label-bgc[olor] label-dc[olor] label-fgc[olor] label-font label-pfc[olor] labels landscape language[s] large 2081aeaf8c0SBram 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 2091aeaf8c0SBram 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 2101aeaf8c0SBram 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 2111aeaf8c0SBram 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 2121aeaf8c0SBram Moolenaarsyn keyword ProgressOperator locator-column-number locator-line-number locator-public-id locator-system-id locator-type lock-registration log log-audit-event 2131aeaf8c0SBram Moolenaarsyn keyword ProgressOperator log-entry-types log-threshold logfile-name logging-level logical login-expiration-timestamp login-host login-state logout long[char] 2141aeaf8c0SBram Moolenaarsyn keyword ProgressOperator longchar-to-node-value lookahead lower lt mandatory manual-highlight margin-extra margin-height[-chars] margin-height-p[ixels] 2151aeaf8c0SBram 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] 2161aeaf8c0SBram 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 2171aeaf8c0SBram 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 2181aeaf8c0SBram 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] 2191aeaf8c0SBram 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 2201aeaf8c0SBram 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 2211aeaf8c0SBram Moolenaarsyn keyword ProgressOperator multiple-key multitasking-interval must-exist must-understand name namespace-prefix namespace-uri native ne needs-appserver-prompt 2221aeaf8c0SBram 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 2231aeaf8c0SBram 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 2241aeaf8c0SBram 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 2251aeaf8c0SBram Moolenaarsyn keyword ProgressOperator no-row-markers no-schema-marshal no-scrollbar-v[ertical] no-separate-connection no-separators no-tab[-stop] no-und[erline] 2261aeaf8c0SBram Moolenaarsyn keyword ProgressOperator no-word-wrap node-value node-value-to-longchar node-value-to-memptr nonamespace-schema-location none normalize not-active 2271aeaf8c0SBram 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 2281aeaf8c0SBram 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 2291aeaf8c0SBram Moolenaarsyn keyword ProgressOperator num-relations num-repl[aced] num-results num-selected-rows num-selected[-widgets] num-source-buffers num-tabs num-to-retain 2301aeaf8c0SBram 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 2311aeaf8c0SBram Moolenaarsyn keyword ProgressOperator on-frame[-border] ordered-join ordinal orientation origin-handle origin-rowid os-getenv outer outer-join override owner owner-document 2321aeaf8c0SBram Moolenaarsyn keyword ProgressOperator page-size page-wid[th] paged parent parent-buffer parent-rel[ation] parse-status partial-key pascal pathname 2331aeaf8c0SBram Moolenaarsyn keyword ProgressOperator pbe-hash-alg[orithm] pbe-key-rounds perf[ormance] persistent-cache-disabled persistent-procedure pfc[olor] pixels-per-col[umn] 2341aeaf8c0SBram Moolenaarsyn keyword ProgressOperator pixels-per-row popup-m[enu] popup-o[nly] portrait position precision prefer-dataset prepare-string prepared presel[ect] prev 2351aeaf8c0SBram Moolenaarsyn keyword ProgressOperator prev-col[umn] prev-sibling prev-tab-i[tem] primary printer printer-control-handle printer-hdc printer-name printer-port 2361aeaf8c0SBram Moolenaarsyn keyword ProgressOperator printer-setup private private-d[ata] proce[dure] procedure-name progress-s[ource] property protected proxy proxy-password 2371aeaf8c0SBram Moolenaarsyn keyword ProgressOperator proxy-userid public public-id published-events put-bits put-bytes put-double put-float put-long put-short put-string 2381aeaf8c0SBram 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 2391aeaf8c0SBram Moolenaarsyn keyword ProgressOperator raw raw-transfer read read-file read-only read-xml read-xmlschema real recursive reference-only refresh 2401aeaf8c0SBram Moolenaarsyn keyword ProgressOperator refresh-audit-policy refreshable register-domain reject-changes reject-row-changes rejected relation-fi[elds] relations-active remote 2411aeaf8c0SBram Moolenaarsyn keyword ProgressOperator remote-host remote-port remove-attribute remove-child remove-events-proc[edure] remove-super-proc[edure] replace replace-child 2421aeaf8c0SBram Moolenaarsyn keyword ProgressOperator replace-selection-text replication-create replication-delete replication-write reposition-back[ward] reposition-forw[ard] reposition-to-row 2431aeaf8c0SBram Moolenaarsyn keyword ProgressOperator reposition-to-rowid request reset resiza[ble] resize restart-row restart-rowid result retain-s[hape] retry-cancel return-ins[erted] 2441aeaf8c0SBram 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 2451aeaf8c0SBram 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] 2461aeaf8c0SBram 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 2471aeaf8c0SBram Moolenaarsyn keyword ProgressOperator sax-writer schema-change schema-location schema-marshal schema-path screen-val[ue] scroll-bars scroll-delta scroll-offset 2481aeaf8c0SBram Moolenaarsyn keyword ProgressOperator scroll-to-current-row scroll-to-i[tem] scroll-to-selected-row scrollable scrollbar-h[orizontal] scrollbar-v[ertical] 2491aeaf8c0SBram 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 2501aeaf8c0SBram Moolenaarsyn keyword ProgressOperator selectable selected selection-end selection-list selection-start selection-text send sensitive separate-connection 2511aeaf8c0SBram Moolenaarsyn keyword ProgressOperator separator-fgc[olor] separators server server-connection-bo[und] server-connection-bound-re[quest] server-connection-co[ntext] 2521aeaf8c0SBram Moolenaarsyn keyword ProgressOperator server-connection-id server-operating-mode server-socket session-end session-id set-actor set-appl-context set-attribute 2531aeaf8c0SBram 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 2541aeaf8c0SBram Moolenaarsyn keyword ProgressOperator set-connect-procedure set-contents set-db-client set-dynamic set-green[-value] set-input-source set-must-understand set-node 2551aeaf8c0SBram Moolenaarsyn keyword ProgressOperator set-numeric-form[at] set-option set-output-destination set-parameter set-pointer-val[ue] set-property set-read-response-procedure 2561aeaf8c0SBram Moolenaarsyn keyword ProgressOperator set-red[-value] set-repositioned-row set-rgb[-value] set-rollback set-selection set-serialized set-size set-socket-option 2571aeaf8c0SBram 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 2581aeaf8c0SBram Moolenaarsyn keyword ProgressOperator size-c[hars] size-p[ixels] skip-deleted-rec[ord] slider small-icon small-title smallint soap-fault soap-fault-actor 2591aeaf8c0SBram Moolenaarsyn keyword ProgressOperator soap-fault-code soap-fault-detail soap-fault-string soap-header soap-header-entryref socket sort sort-ascending sort-number source 2601aeaf8c0SBram Moolenaarsyn keyword ProgressOperator sql sqrt ssl-server-name standalone start-document start-element start[ing] startup-parameters state-detail static 2611aeaf8c0SBram Moolenaarsyn keyword ProgressOperator status-area status-area-font stdcall stop stop-parsing stoppe[d] stored-proc[edure] stretch-to-fit strict string string-value 2621aeaf8c0SBram 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 2631aeaf8c0SBram Moolenaarsyn keyword ProgressOperator super-proc[edures] suppress-namespace-processing suppress-w[arnings] suspend symmetric-encryption-algorithm symmetric-encryption-iv 2641aeaf8c0SBram Moolenaarsyn keyword ProgressOperator symmetric-encryption-key symmetric-support synchronize system-alert[-boxes] system-help system-id tab-position tab-stop table-crc-list 2651aeaf8c0SBram 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 2661aeaf8c0SBram 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 2671aeaf8c0SBram Moolenaarsyn keyword ProgressOperator tooltip tooltips top top-nav-query topic total tracking-changes trailing trans-init-proc[edure] transaction-mode 2681aeaf8c0SBram Moolenaarsyn keyword ProgressOperator transpar[ent] trunc[ate] ttcodepage type type-of unbox unbuff[ered] unique-id unique-match unload unsigned-byte unsigned-integer 2691aeaf8c0SBram Moolenaarsyn keyword ProgressOperator unsigned-long unsigned-short update-attribute upper url url-decode url-encode url-password url-userid use use-dic[t-exps] 2701aeaf8c0SBram Moolenaarsyn keyword ProgressOperator use-filename use-text use-widget-pool user-id valid-event valid-handle valid-object validate validate-expressio[n] 2711aeaf8c0SBram Moolenaarsyn keyword ProgressOperator validate-message validate-seal validate-xml validation-enabled var[iable] verb[ose] version vert[ical] view-first-column-on-reopen 2721aeaf8c0SBram Moolenaarsyn keyword ProgressOperator virtual-height[-chars] virtual-height-p[ixels] virtual-width[-chars] virtual-width-p[ixels] visible void wait warning weekday where-string 2731aeaf8c0SBram Moolenaarsyn keyword ProgressOperator widget widget-e[nter] widget-h[andle] widget-id widget-l[eave] widget-pool width[-chars] width-p[ixels] window-name 2741aeaf8c0SBram 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 2751aeaf8c0SBram Moolenaarsyn keyword ProgressOperator write-cdata write-characters write-comment write-data-element write-empty-element write-entity-ref write-external-dtd 2761aeaf8c0SBram Moolenaarsyn keyword ProgressOperator write-fragment write-message write-processing-instruction write-status write-xml write-xmlschema x x-document x-noderef x-of 2771aeaf8c0SBram 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 2781aeaf8c0SBram Moolenaarsyn keyword ProgressOperator yes-no-cancel 279071d4279SBram Moolenaar 2801aeaf8c0SBram Moolenaarsyn keyword ProgressType char[acter] int[eger] int64 dec[imal] log[ical] da[te] datetime datetime-tz 281071d4279SBram Moolenaar 282071d4279SBram Moolenaarsyn sync lines=800 283071d4279SBram Moolenaar 284071d4279SBram Moolenaar" Define the default highlighting. 285071d4279SBram Moolenaar" For version 5.7 and earlier: only when not done already 286071d4279SBram Moolenaar" For version 5.8 and later: only when an item doesn't have highlighting yet 287071d4279SBram Moolenaarif version >= 508 || !exists("did_progress_syntax_inits") 288071d4279SBram Moolenaar if version < 508 289071d4279SBram Moolenaar let did_progress_syntax_inits = 1 290071d4279SBram Moolenaar command -nargs=+ HiLink hi link <args> 291071d4279SBram Moolenaar else 292071d4279SBram Moolenaar command -nargs=+ HiLink hi def link <args> 293071d4279SBram Moolenaar endif 294071d4279SBram Moolenaar 295071d4279SBram Moolenaar " The default methods for highlighting. Can be overridden later. 296071d4279SBram Moolenaar HiLink ProgressByte Number 297071d4279SBram Moolenaar HiLink ProgressCase Repeat 2984c3f536fSBram Moolenaar HiLink ProgressComment Comment 299071d4279SBram Moolenaar HiLink ProgressConditional Conditional 300071d4279SBram Moolenaar HiLink ProgressDebug Debug 301071d4279SBram Moolenaar HiLink ProgressDo Repeat 302071d4279SBram Moolenaar HiLink ProgressEndError Error 303071d4279SBram Moolenaar HiLink ProgressFor Repeat 304071d4279SBram Moolenaar HiLink ProgressFunction Procedure 3054c3f536fSBram Moolenaar HiLink ProgressIdentifier Identifier 306071d4279SBram Moolenaar HiLink ProgressInclude Include 307071d4279SBram Moolenaar HiLink ProgressMatrixDelimiter Identifier 308071d4279SBram Moolenaar HiLink ProgressNumber Number 3094c3f536fSBram Moolenaar HiLink ProgressOperator Operator 310071d4279SBram Moolenaar HiLink ProgressPreProc PreProc 311071d4279SBram Moolenaar HiLink ProgressProcedure Procedure 312071d4279SBram Moolenaar HiLink ProgressQuote Delimiter 313071d4279SBram Moolenaar HiLink ProgressRepeat Repeat 3144c3f536fSBram Moolenaar HiLink ProgressReserved Statement 3154c3f536fSBram Moolenaar HiLink ProgressSpaceError Error 316071d4279SBram Moolenaar HiLink ProgressString String 317071d4279SBram Moolenaar HiLink ProgressTodo Todo 318071d4279SBram Moolenaar HiLink ProgressType Statement 3194c3f536fSBram Moolenaar HiLink ProgressShowTab Error 320071d4279SBram Moolenaar 321071d4279SBram Moolenaar delcommand HiLink 322071d4279SBram Moolenaarendif 323071d4279SBram Moolenaar 324071d4279SBram Moolenaarlet b:current_syntax = "progress" 325071d4279SBram Moolenaar 3261aeaf8c0SBram Moolenaarlet &cpo = s:cpo_save 3271aeaf8c0SBram Moolenaarunlet s:cpo_save 3281aeaf8c0SBram Moolenaar 329*d09acef4SBram Moolenaar" vim: ts=8 sw=8 330