📄 progress.vim
字号:
" Vim syntax file" Language: Progress 4GL" Filename extensions: *.p (collides with Pascal)," *.i (collides with assembler)" *.w (collides with cweb)" Maintainer: Philip Uren <philu@computer.org>" Contributors: Chris Ruprecht <chrup@mac.com>" Philip Uren <philu@computer.org>" Mikhail Kuperblum <mikhail@whasup.com>" URL: http://www.zeta.org.au/~philu/vim/progress.vim" Last Change: Thu May 3 08:49:47 EST 2001" For version 5.x: Clear all syntax items" For version 6.x: Quit when a syntax file was already loadedif version < 600 syntax clearelseif exists("b:current_syntax") finishendifif version >= 600 setlocal iskeyword=@,48-57,_,-,!,#,$,%else set iskeyword=@,48-57,_,-,!,#,$,%endifsyn case ignore" Progress Blocks of code and mismatched "end." errors.syn match ProgressEndError "\<end\>"syn region ProgressDoBlock transparent matchgroup=ProgressDo start="\<do\>" matchgroup=ProgressDo end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunctionsyn region ProgressForBlock transparent matchgroup=ProgressFor start="\<for\>" matchgroup=ProgressFor end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunctionsyn region ProgressRepeatBlock transparent matchgroup=ProgressRepeat start="\<repeat\>" matchgroup=ProgressRepeat end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunctionsyn region ProgressCaseBlock transparent matchgroup=ProgressCase start="\<case\>" matchgroup=ProgressCase end="\<end\scase\>" contains=ALLBUT,ProgressProcedure,ProgressFunction" These are Progress reserved words," and they could go in ProgressReserved," but I found it more helpful to highlight them in a different color.syn keyword ProgressConditional if else then when otherwisesyn keyword ProgressFor each where" Make those TODO and debugging notes stand out!syn keyword ProgressTodo contained TODO BUG FIXsyn keyword ProgressDebug contained DEBUGsyn keyword ProgressDebug debuggersyn keyword ProgressFunction procedure functionsyn keyword ProgressReserved accum[ulate] active-window add alias all alter ambig[uous] analyz[e] and any apply as asc[ending] assign at attr[-space]syn keyword ProgressReserved authorization auto-ret[urn] avail[able] back[ground] before-h[ide] begins bell between blank break btos by call can-do can-findsyn keyword ProgressReserved center[ed] check chr clear clipboard col colon color col[umn] column-lab[el] col[umns] compiler connected control count-ofsyn keyword ProgressReserved cpstream create ctos current current-changed current-lang[uage] current-window current_date curs[or] database dataserverssyn keyword ProgressReserved dbcodepage dbcollation dbname dbrest[rictions] dbtaskid dbtype dbvers[ion] dde deblank debug-list debugger decimals declaresyn keyword ProgressReserved def default default-noxl[ate] default-window def[ine] delete delimiter desc[ending] dict[ionary] disable discon[nect] dispsyn keyword ProgressReserved disp[lay] distinct dos down drop editing enable encode entry error-stat[us] escape etime except exclusivesyn keyword ProgressReserved exclusive[-lock] exclusive-web-us[er] exists export false fetch field field[s] file-info[rmation] fill find find-case-sensitivesyn keyword ProgressReserved find-global find-next-occurrence find-prev-occurrence find-select find-wrap-around first first-of focus font form form[at]syn keyword ProgressReserved fram[e] frame-col frame-db frame-down frame-field frame-file frame-inde[x] frame-line frame-name frame-row frame-val[ue]syn keyword ProgressReserved from from-c[hars] from-p[ixels] gateway[s] get-byte get-codepage[s] get-coll[ations] get-key-val[ue] getbyte global go-onsyn keyword ProgressReserved go-pend[ing] grant graphic-e[dge] group having header help hide import in index indicator input input-o[utput] insertsyn keyword ProgressReserved into is is-attr[-space] join kblabel key-code key-func[tion] key-label keycode keyfunc[tion] keylabel keys keyword labelsyn keyword ProgressReserved last last-even[t] last-key last-of lastkey ldbname leave library like line-count[er] listi[ng] locked lookup machine-classsyn keyword ProgressReserved map member message message-lines mouse mpe new next next-prompt no no-attr[-space] no-error no-f[ill] no-help no-hide no-label[s]syn keyword ProgressReserved no-lock no-map no-mes[sage] no-pause no-prefe[tch] no-undo no-val[idate] no-wait not null num-ali[ases] num-dbs num-entriessyn keyword ProgressReserved of off old on open opsys option or os-append os-command os-copy os-create-dir os-delete os-dir os-drive[s] os-error os-renamesyn keyword ProgressReserved os2 os400 output overlay page page-bot[tom] page-num[ber] page-top param[eter] pause pdbname persist[ent] pixelssyn keyword ProgressReserved preproc[ess] privileges proc-ha[ndle] proc-st[atus] process program-name Progress prompt prompt[-for] promsgs propath provers[ion]syn keyword ProgressReserved put put-byte put-key-val[ue] putbyte query query-tuning quit r-index rcode-informatio[n] readkey recid record-len[gth] rect[angle]syn keyword ProgressReserved release reposition retain retry return return-val[ue] revert revoke run save schema screen screen-io screen-linessyn keyword ProgressReserved scroll sdbname search seek select self session set setuser[id] share[-lock] shared show-stat[s] skip some space status streamsyn keyword ProgressReserved stream-io string-xref system-dialog table term term[inal] text text-cursor text-seg[-growth] this-procedure time titlesyn keyword ProgressReserved to today top-only trans trans[action] trigger triggers trim true underl[ine] undo unform[atted] union unique unix up updatesyn keyword ProgressReserved use-index use-revvideo use-underline user user[id] using v6frame value values view view-as vms wait-for web-con[text]syn keyword ProgressReserved window window-maxim[ized] window-minim[ized] window-normal with work-tab[le] workfile write xcode xref yes _cbitsyn keyword ProgressReserved _control _list _memory _msg _pcontrol _serial[-num] _trace" Strings. Handles embedded quotes." Note that, for some reason, Progress doesn't use the backslash, "\"" as the escape character; it uses tilde, "~".syn region ProgressString matchgroup=ProgressQuote start=+"+ end=+"+ skip=+\~"+syn region ProgressString matchgroup=ProgressQuote start=+'+ end=+'+ skip=+\~'+syn match ProgressIdentifier "\<[a-zA-Z_][a-zA-Z0-9_]*\>()"" syn match ProgressDelimiter "()"" syn match ProgressMatrixDelimiter "[][]"" If you prefer you can highlight the range"syn match ProgressMatrixDelimiter "[\d\+\.\.\d\+]"syn match ProgressNumber "\<\d\+\(u\=l\=\|lu\|f\)\>"syn match ProgressByte "\$[0-9a-fA-F]\+"" If you don't like tabs:"syn match ProgressShowTab "\t""syn match ProgressShowTabc "\t"syn region ProgressComment start="/\*" end="\*/" contains=ProgressComment,ProgressTodo,ProgressDebugsyn match ProgressInclude "^[ ]*[{].*\.i[}]"syn match ProgressSubstitute "^[ ]*[{].*[^i][}]"syn match ProgressPreProc "^[ ]*&.*"syn match ProgressOperator "[!;|)(:.><+*=-]"syn keyword ProgressOperator <= <> >= abs[olute] accelerator across add-first add-last advise alert-box allow-replication ansi-only anywhere append appl-alert[-boxes] application as-cursor ask-overwritesyn keyword ProgressOperator attach[ment] auto-end-key auto-endkey auto-go auto-ind[ent] auto-resize auto-z[ap] available-formats ave[rage] avg backward[s] base-key batch[-mode] bgc[olor] binary
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -