xref: /vim-8.2.3635/runtime/syntax/progress.vim (revision f37506f6)
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