diff options
Diffstat (limited to 'syntax')
36 files changed, 6074 insertions, 3 deletions
| diff --git a/syntax/8th.vim b/syntax/8th.vim new file mode 100644 index 00000000..9eae523f --- /dev/null +++ b/syntax/8th.vim @@ -0,0 +1,339 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, '8th') == -1 + +" Vim syntax file +" Language:     8th +" Version:      19.01d +" Maintainer:   Ron Aaron <ron@aaron-tech.com> +" URL:          https://8th-dev.com/ +" Filetypes:    *.8th +" NOTE:         You should also have the ftplugin/8th.vim file to set 'isk' + +if version < 600 +  syntax clear +  finish +elseif exists("b:current_syntax") +   finish +endif + +let s:cpo_save = &cpo +set cpo&vim +syn clear +" Synchronization method +syn sync ccomment  +syn sync maxlines=100 +syn case match +syn match eighthColonName "\S\+" contained +syn match eighthColonDef ":\s\+\S\+" contains=eighthColonName + +" new words +syn match eighthClasses "\<\S\+:" contained +syn match eighthClassWord "\<\S\+:.\+" contains=eighthClasses + +syn keyword eighthEndOfColonDef ; i; +syn keyword eighthDefine var var, + +" Built in words +com! -nargs=+ Builtin syn keyword eighthBuiltin <args> +"Builtin ^ < <# <#> = > - -- ,# ; ;; !  ???  / .  .# ' () @ * */ \  + +Builtin  ! G:! #! G:#! ## G:## #> G:#> #if G:#if ' G:' ( G:( (* G:(* (:) G:(:) (code) G:(code) (getc) G:(getc) +Builtin  (gets) G:(gets) (interp) G:(interp) (needs) G:(needs) (putc) G:(putc) (puts) G:(puts) (putslim) G:(putslim) +Builtin  (say) G:(say) (stat) G:(stat) ) G:) +listener G:+listener +ref G:+ref ,# G:,# -- G:-- -----BEGIN G:-----BEGIN +Builtin  -Inf G:-Inf -Inf? G:-Inf? -listener G:-listener -ref G:-ref -rot G:-rot . G:. .# G:.# .needs G:.needs +Builtin  .r G:.r .s G:.s .stats G:.stats .ver G:.ver .with G:.with 0; G:0; 2dip G:2dip 2drop G:2drop +Builtin  2dup G:2dup 2over G:2over 2swap G:2swap 3drop G:3drop 4drop G:4drop 8thdt? G:8thdt? 8thver? G:8thver? +Builtin  : G:: ; G:; ;; G:;; ;;; G:;;; ;then G:;then ;with G:;with <# G:<# <#> G:<#> >clip G:>clip >json G:>json +Builtin  >kind G:>kind >n G:>n >r G:>r >s G:>s ?: G:?: ??? G:??? @ G:@ Inf G:Inf Inf? G:Inf? NaN G:NaN +Builtin  NaN? G:NaN? SED-CHECK G:SED-CHECK SED: G:SED: SED: G:SED: \ G:\ ` G:` `` G:`` actor: G:actor: +Builtin  again G:again ahead G:ahead and G:and appname G:appname apropos G:apropos argc G:argc args G:args +Builtin  array? G:array? assert G:assert base G:base bi G:bi bits G:bits break G:break break? G:break? +Builtin  build? G:build? buildver? G:buildver? bye G:bye c# G:c# c/does G:c/does case G:case caseof G:caseof +Builtin  chdir G:chdir clip> G:clip> clone G:clone clone-shallow G:clone-shallow cold G:cold compat-level G:compat-level +Builtin  compile G:compile compile? G:compile? conflict G:conflict const G:const container? G:container? +Builtin  cr G:cr curlang G:curlang curry G:curry curry: G:curry: decimal G:decimal defer: G:defer: deg>rad G:deg>rad +Builtin  depth G:depth die G:die dip G:dip drop G:drop dstack G:dstack dump G:dump dup G:dup dup? G:dup? +Builtin  else G:else enum: G:enum: eval G:eval eval! G:eval! eval0 G:eval0 execnull G:execnull expect G:expect +Builtin  extra! G:extra! extra@ G:extra@ false G:false fnv G:fnv fourth G:fourth free G:free func: G:func: +Builtin  getc G:getc getcwd G:getcwd getenv G:getenv gets G:gets handler G:handler header G:header help G:help +Builtin  hex G:hex i: G:i: i; G:i; if G:if if; G:if; isa? G:isa? items-used G:items-used jcall G:jcall +Builtin  jclass G:jclass jmethod G:jmethod json-nesting G:json-nesting json-pretty G:json-pretty json-throw G:json-throw +Builtin  json> G:json> k32 G:k32 keep G:keep l: G:l: last G:last lib G:lib libbin G:libbin libc G:libc +Builtin  listener@ G:listener@ literal G:literal locals: G:locals: lock G:lock lock-to G:lock-to locked? G:locked? +Builtin  log G:log log-async G:log-async log-task G:log-task log-time G:log-time log-time-local G:log-time-local +Builtin  long-days G:long-days long-months G:long-months loop G:loop loop- G:loop- map? G:map? mark G:mark +Builtin  mark? G:mark? memfree G:memfree mobile? G:mobile? n# G:n# name>os G:name>os name>sem G:name>sem +Builtin  ndrop G:ndrop needs G:needs new G:new next-arg G:next-arg nip G:nip noop G:noop not G:not ns G:ns +Builtin  ns: G:ns: ns>ls G:ns>ls ns>s G:ns>s ns? G:ns? null G:null null; G:null; null? G:null? number? G:number? +Builtin  off G:off on G:on onexit G:onexit only G:only op! G:op! or G:or os G:os os-names G:os-names +Builtin  os>long-name G:os>long-name os>name G:os>name over G:over p: G:p: pack G:pack parse G:parse +Builtin  parsech G:parsech parseln G:parseln parsews G:parsews pick G:pick poke G:poke pool-clear G:pool-clear +Builtin  prior G:prior private G:private process-args G:process-args prompt G:prompt public G:public +Builtin  putc G:putc puts G:puts putslim G:putslim quote G:quote r! G:r! r> G:r> r@ G:r@ rad>deg G:rad>deg +Builtin  rand G:rand rand-pcg G:rand-pcg rand-pcg-seed G:rand-pcg-seed randbuf G:randbuf randbuf-pcg G:randbuf-pcg +Builtin  rdrop G:rdrop recurse G:recurse recurse-stack G:recurse-stack ref@ G:ref@ reg! G:reg! reg@ G:reg@ +Builtin  regbin@ G:regbin@ remaining-args G:remaining-args repeat G:repeat reset G:reset roll G:roll +Builtin  rop! G:rop! rot G:rot rpick G:rpick rroll G:rroll rstack G:rstack rswap G:rswap rusage G:rusage +Builtin  s>ns G:s>ns same? G:same? scriptdir G:scriptdir scriptfile G:scriptfile sem G:sem sem-post G:sem-post +Builtin  sem-rm G:sem-rm sem-wait G:sem-wait sem-wait? G:sem-wait? sem>name G:sem>name semi-throw G:semi-throw +Builtin  set-wipe G:set-wipe setenv G:setenv settings! G:settings! settings![] G:settings![] settings@ G:settings@ +Builtin  settings@? G:settings@? settings@[] G:settings@[] sh G:sh sh$ G:sh$ short-days G:short-days +Builtin  short-months G:short-months sleep G:sleep space G:space stack-check G:stack-check stack-size G:stack-size +Builtin  step G:step string? G:string? struct: G:struct: swap G:swap syslang G:syslang sysregion G:sysregion +Builtin  tab-hook G:tab-hook tell-conflict G:tell-conflict tempdir G:tempdir tempfilename G:tempfilename +Builtin  then G:then third G:third throw G:throw thrownull G:thrownull times G:times tlog G:tlog tri G:tri +Builtin  true G:true tuck G:tuck type-check G:type-check typeassert G:typeassert unlock G:unlock unpack G:unpack +Builtin  until G:until until! G:until! var G:var var, G:var, while G:while while! G:while! with: G:with: +Builtin  words G:words words-like G:words-like words/ G:words/ xchg G:xchg xor G:xor >auth HTTP:>auth +Builtin  sh I:sh tpush I:tpush trace-word I:trace-word call JSONRPC:call auth-string OAuth:auth-string +Builtin  gen-nonce OAuth:gen-nonce params OAuth:params call SOAP:call ! a:! + a:+ - a:- 2each a:2each +Builtin  2map a:2map 2map+ a:2map+ 2map= a:2map= = a:= >map a:>map @ a:@ @@ a:@@ bsearch a:bsearch clear a:clear +Builtin  close a:close diff a:diff dot a:dot each a:each each-slice a:each-slice exists? a:exists? filter a:filter +Builtin  generate a:generate group a:group indexof a:indexof insert a:insert intersect a:intersect join a:join +Builtin  len a:len map a:map map+ a:map+ map= a:map= mean a:mean mean&variance a:mean&variance new a:new +Builtin  op a:op op! a:op! op= a:op= open a:open pop a:pop push a:push qsort a:qsort randeach a:randeach +Builtin  reduce a:reduce reduce+ a:reduce+ rev a:rev shift a:shift shuffle a:shuffle slice a:slice slice+ a:slice+ +Builtin  slide a:slide sort a:sort union a:union when a:when when! a:when! x a:x x-each a:x-each xchg a:xchg +Builtin  y a:y zip a:zip 8thdir app:8thdir asset app:asset atrun app:atrun atrun app:atrun atrun app:atrun +Builtin  basedir app:basedir current app:current datadir app:datadir exename app:exename isgui app:isgui +Builtin  main app:main oncrash app:oncrash orientation app:orientation pid app:pid restart app:restart +Builtin  resumed app:resumed shared? app:shared? standalone app:standalone subdir app:subdir suspended app:suspended +Builtin  sysquit app:sysquit (here) asm:(here) >n asm:>n avail asm:avail c, asm:c, here! asm:here! n> asm:n> +Builtin  used asm:used w, asm:w, ! b:! + b:+ / b:/ = b:= >base64 b:>base64 >hex b:>hex >mpack b:>mpack +Builtin  @ b:@ append b:append base64> b:base64> bit! b:bit! bit@ b:bit@ clear b:clear compress b:compress +Builtin  conv b:conv each b:each each-slice b:each-slice expand b:expand fill b:fill getb b:getb hex> b:hex> +Builtin  len b:len mem> b:mem> move b:move mpack-date b:mpack-date mpack-ignore b:mpack-ignore mpack> b:mpack> +Builtin  new b:new op b:op rev b:rev search b:search shmem b:shmem slice b:slice splice b:splice ungetb b:ungetb +Builtin  writable b:writable xor b:xor +block bc:+block .blocks bc:.blocks add-block bc:add-block block-hash bc:block-hash +Builtin  block@ bc:block@ first-block bc:first-block hash bc:hash last-block bc:last-block load bc:load +Builtin  new bc:new save bc:save set-sql bc:set-sql validate bc:validate validate-block bc:validate-block +Builtin  add bloom:add filter bloom:filter in? bloom:in? accept bt:accept ch! bt:ch! ch@ bt:ch@ connect bt:connect +Builtin  disconnect bt:disconnect err? bt:err? leconnect bt:leconnect lescan bt:lescan listen bt:listen +Builtin  on? bt:on? read bt:read scan bt:scan service? bt:service? services? bt:services? write bt:write +Builtin  * c:* * c:* + c:+ + c:+ = c:= = c:= >ri c:>ri >ri c:>ri abs c:abs abs c:abs arg c:arg arg c:arg +Builtin  conj c:conj conj c:conj im c:im n> c:n> new c:new new c:new re c:re >aes128gcm cr:>aes128gcm +Builtin  >aes256gcm cr:>aes256gcm >cp cr:>cp >cpe cr:>cpe >decrypt cr:>decrypt >edbox cr:>edbox >encrypt cr:>encrypt +Builtin  >nbuf cr:>nbuf >rsabox cr:>rsabox >uuid cr:>uuid CBC cr:CBC CFB cr:CFB CTR cr:CTR ECB cr:ECB +Builtin  GCM cr:GCM OFB cr:OFB aad? cr:aad? aes128box-sig cr:aes128box-sig aes128gcm> cr:aes128gcm> +Builtin  aes256box-sig cr:aes256box-sig aes256gcm> cr:aes256gcm> aesgcm cr:aesgcm blakehash cr:blakehash +Builtin  chacha20box-sig cr:chacha20box-sig chachapoly cr:chachapoly cipher! cr:cipher! cipher@ cr:cipher@ +Builtin  cp> cr:cp> cpe> cr:cpe> decrypt cr:decrypt decrypt+ cr:decrypt+ decrypt> cr:decrypt> dh-genkey cr:dh-genkey +Builtin  dh-secret cr:dh-secret dh-sign cr:dh-sign dh-verify cr:dh-verify ebox-sig cr:ebox-sig ecc-genkey cr:ecc-genkey +Builtin  ecc-secret cr:ecc-secret ecc-sign cr:ecc-sign ecc-verify cr:ecc-verify edbox-sig cr:edbox-sig +Builtin  edbox> cr:edbox> encrypt cr:encrypt encrypt+ cr:encrypt+ encrypt> cr:encrypt> ensurekey cr:ensurekey +Builtin  err? cr:err? gcm-tag-size cr:gcm-tag-size genkey cr:genkey hash cr:hash hash! cr:hash! hash+ cr:hash+ +Builtin  hash>b cr:hash>b hash>s cr:hash>s hash@ cr:hash@ hmac cr:hmac hotp cr:hotp iv? cr:iv? mode cr:mode +Builtin  mode@ cr:mode@ randkey cr:randkey restore cr:restore root-certs cr:root-certs rsa_decrypt cr:rsa_decrypt +Builtin  rsa_encrypt cr:rsa_encrypt rsa_sign cr:rsa_sign rsa_verify cr:rsa_verify rsabox-sig cr:rsabox-sig +Builtin  rsabox> cr:rsabox> rsagenkey cr:rsagenkey save cr:save sbox-sig cr:sbox-sig sha1-hmac cr:sha1-hmac +Builtin  shard cr:shard tag? cr:tag? totp cr:totp totp-epoch cr:totp-epoch totp-time-step cr:totp-time-step +Builtin  unshard cr:unshard uuid cr:uuid uuid> cr:uuid> validate-pgp-sig cr:validate-pgp-sig (.hebrew) d:(.hebrew) +Builtin  (.islamic) d:(.islamic) + d:+ +day d:+day +hour d:+hour +min d:+min +msec d:+msec - d:- .hebrew d:.hebrew +Builtin  .islamic d:.islamic .time d:.time / d:/ = d:= >fixed d:>fixed >hebepoch d:>hebepoch >msec d:>msec +Builtin  >unix d:>unix >ymd d:>ymd Adar d:Adar Adar2 d:Adar2 Adar2 d:Adar2 Av d:Av Elul d:Elul Fri d:Fri +Builtin  Heshvan d:Heshvan Iyar d:Iyar Kislev d:Kislev Mon d:Mon Nissan d:Nissan Sat d:Sat Shevat d:Shevat +Builtin  Sivan d:Sivan Sun d:Sun Tammuz d:Tammuz Tevet d:Tevet Thu d:Thu Tishrei d:Tishrei Tue d:Tue +Builtin  Wed d:Wed adjust-dst d:adjust-dst between d:between d. d:d. dawn d:dawn days-in-hebrew-year d:days-in-hebrew-year +Builtin  displaying-hebrew d:displaying-hebrew do-dawn d:do-dawn do-dusk d:do-dusk do-rise d:do-rise +Builtin  doy d:doy dst? d:dst? dstquery d:dstquery dstzones? d:dstzones? dusk d:dusk elapsed-timer d:elapsed-timer +Builtin  elapsed-timer-seconds d:elapsed-timer-seconds first-dow d:first-dow fixed> d:fixed> fixed>dow d:fixed>dow +Builtin  fixed>hebrew d:fixed>hebrew fixed>islamic d:fixed>islamic format d:format hanukkah d:hanukkah +Builtin  hebrew-epoch d:hebrew-epoch hebrew>fixed d:hebrew>fixed hebrewtoday d:hebrewtoday hmonth-name d:hmonth-name +Builtin  islamic.epoch d:islamic.epoch islamic>fixed d:islamic>fixed islamictoday d:islamictoday join d:join +Builtin  last-day-of-hebrew-month d:last-day-of-hebrew-month last-dow d:last-dow last-month d:last-month +Builtin  last-week d:last-week last-year d:last-year latitude d:latitude longitude d:longitude longitude d:longitude +Builtin  msec d:msec msec> d:msec> new d:new next-dow d:next-dow next-month d:next-month next-week d:next-week +Builtin  next-year d:next-year number>hebrew d:number>hebrew omer d:omer parse d:parse pesach d:pesach +Builtin  prev-dow d:prev-dow purim d:purim rosh-chodesh? d:rosh-chodesh? rosh-hashanah d:rosh-hashanah +Builtin  shavuot d:shavuot start-timer d:start-timer sunrise d:sunrise taanit-esther d:taanit-esther +Builtin  ticks d:ticks ticks/sec d:ticks/sec timer d:timer tisha-beav d:tisha-beav tzadjust d:tzadjust +Builtin  unix> d:unix> updatetz d:updatetz year@ d:year@ ymd d:ymd ymd> d:ymd> yom-haatsmaut d:yom-haatsmaut +Builtin  yom-kippur d:yom-kippur add-func db:add-func bind db:bind close db:close col db:col col[] db:col[] +Builtin  col{} db:col{} err? db:err? errmsg db:errmsg exec db:exec exec-cb db:exec-cb key db:key mysql? db:mysql? +Builtin  odbc? db:odbc? open db:open open? db:open? prepare db:prepare query db:query query-all db:query-all +Builtin  rekey db:rekey sqlerrmsg db:sqlerrmsg bp dbg:bp except-task@ dbg:except-task@ go dbg:go line-info dbg:line-info +Builtin  prompt dbg:prompt stop dbg:stop trace dbg:trace trace-enter dbg:trace-enter trace-leave dbg:trace-leave +Builtin  abspath f:abspath append f:append associate f:associate atime f:atime canwrite? f:canwrite? +Builtin  chmod f:chmod close f:close copy f:copy copydir f:copydir create f:create ctime f:ctime dir? f:dir? +Builtin  dname f:dname eachbuf f:eachbuf eachline f:eachline enssep f:enssep eof? f:eof? err? f:err? +Builtin  exists? f:exists? flush f:flush fname f:fname getb f:getb getc f:getc getline f:getline getmod f:getmod +Builtin  glob f:glob glob-nocase f:glob-nocase include f:include launch f:launch link f:link link> f:link> +Builtin  link? f:link? mkdir f:mkdir mmap f:mmap mmap-range f:mmap-range mmap-range? f:mmap-range? mtime f:mtime +Builtin  mv f:mv open f:open open-ro f:open-ro popen f:popen print f:print read f:read relpath f:relpath +Builtin  rglob f:rglob rm f:rm rmdir f:rmdir seek f:seek sep f:sep show f:show size f:size slurp f:slurp +Builtin  stderr f:stderr stdin f:stdin stdout f:stdout tell f:tell times f:times trash f:trash ungetb f:ungetb +Builtin  ungetc f:ungetc unzip f:unzip unzip-entry f:unzip-entry watch f:watch write f:write writen f:writen +Builtin  zip+ f:zip+ zip@ f:zip@ zipentry f:zipentry zipnew f:zipnew zipopen f:zipopen zipsave f:zipsave +Builtin  bold font:bold face? font:face? glyph-path font:glyph-path glyph-pos font:glyph-pos info font:info +Builtin  italic font:italic ls font:ls measure font:measure new font:new pixels font:pixels pixels? font:pixels? +Builtin  points font:points points? font:points? styles font:styles styles? font:styles? underline font:underline +Builtin  +child g:+child +kind g:+kind +path g:+path -child g:-child /path g:/path >img g:>img >progress g:>progress +Builtin  add-items g:add-items adjustwidth g:adjustwidth allow-orient g:allow-orient arc g:arc arc2 g:arc2 +Builtin  autohide g:autohide back g:back bezier g:bezier bg g:bg bg? g:bg? bounds g:bounds bounds? g:bounds? +Builtin  box-label g:box-label btn-font g:btn-font bubble g:bubble button-size g:button-size buttons-visible g:buttons-visible +Builtin  c-text g:c-text callout g:callout center g:center child g:child clear g:clear clearpath g:clearpath +Builtin  clr>n g:clr>n coleven g:coleven colordlg g:colordlg colwidth g:colwidth connectededges g:connectededges +Builtin  contrasting g:contrasting cp g:cp curmouse? g:curmouse? default-font g:default-font deselect-row g:deselect-row +Builtin  dismiss g:dismiss do g:do draw-fitted-text g:draw-fitted-text draw-text g:draw-text draw-text-at g:draw-text-at +Builtin  each g:each edit-on-double-click g:edit-on-double-click editable g:editable editdlg g:editdlg +Builtin  empty-text g:empty-text enable g:enable enabled? g:enabled? fade g:fade fb-files g:fb-files +Builtin  fcolor g:fcolor fg g:fg fg? g:fg? file-filter g:file-filter file-name g:file-name filedlg g:filedlg +Builtin  fill g:fill fillall g:fillall fit-text g:fit-text flex! g:flex! focus g:focus fontdlg g:fontdlg +Builtin  forward g:forward fullscreen g:fullscreen get-lasso-items g:get-lasso-items get-tab g:get-tab +Builtin  getclr g:getclr getfont g:getfont getimage g:getimage getpath g:getpath getroot g:getroot gradient g:gradient +Builtin  gui? g:gui? handle g:handle headerheight g:headerheight hide g:hide image g:image image-at g:image-at +Builtin  invalidate g:invalidate ix? g:ix? justify g:justify keyinfo g:keyinfo l-text g:l-text laf g:laf +Builtin  laf! g:laf! laf? g:laf? len g:len line-width g:line-width lineto g:lineto list+ g:list+ list- g:list- +Builtin  loadcontent g:loadcontent localize g:localize m! g:m! m@ g:m@ menu-font g:menu-font menu-update g:menu-update +Builtin  menuenabled g:menuenabled mouse? g:mouse? mousepos? g:mousepos? moveto g:moveto msgdlg g:msgdlg +Builtin  multi g:multi name g:name named-skin g:named-skin new g:new new-laf g:new-laf next g:next obj g:obj +Builtin  on g:on on? g:on? ontop g:ontop oshandle g:oshandle outlinethickness g:outlinethickness panel-size g:panel-size +Builtin  panel-size? g:panel-size? parent g:parent path g:path path>s g:path>s pie g:pie pix! g:pix! +Builtin  pop g:pop popmenu g:popmenu pos? g:pos? prev g:prev propval! g:propval! propval@ g:propval@ +Builtin  push g:push qbezier g:qbezier quit g:quit r-text g:r-text readonly g:readonly rect g:rect refresh g:refresh +Builtin  restore g:restore root g:root root-item-visible g:root-item-visible rotate g:rotate rowheight g:rowheight +Builtin  rrect g:rrect s>path g:s>path save g:save say g:say scale g:scale scolor g:scolor scrollthickness g:scrollthickness +Builtin  sectionenable g:sectionenable select! g:select! select@ g:select@ selected-rows g:selected-rows +Builtin  set-lasso g:set-lasso set-long-press g:set-long-press set-popup-font g:set-popup-font set-range g:set-range +Builtin  set-swipe g:set-swipe set-value g:set-value setcursor g:setcursor setfont g:setfont setheader g:setheader +Builtin  sethtml g:sethtml setimage g:setimage setname g:setname setroot g:setroot settab g:settab show g:show +Builtin  show-line-numbers g:show-line-numbers show-pct g:show-pct showmenu g:showmenu showtooltip g:showtooltip +Builtin  size g:size size? g:size? skin g:skin skin-class g:skin-class stackix g:stackix state g:state +Builtin  state? g:state? stepsize g:stepsize stroke g:stroke stroke-fill g:stroke-fill style g:style +Builtin  tabname g:tabname text g:text text-box-style g:text-box-style text? g:text? textcolor g:textcolor +Builtin  textsize g:textsize timer! g:timer! timer@ g:timer@ toback g:toback tofront g:tofront toggle-row g:toggle-row +Builtin  tooltip g:tooltip top g:top transition g:transition translate g:translate tree-open g:tree-open +Builtin  triangle g:triangle update g:update updateitems g:updateitems url g:url user g:user user! g:user! +Builtin  vertical g:vertical view g:view visible? g:visible? vpos! g:vpos! vpos@ g:vpos@ waitcursor g:waitcursor +Builtin  winding g:winding xy g:xy xy? g:xy? +edge gr:+edge +edge+w gr:+edge+w +node gr:+node connect gr:connect +Builtin  edges gr:edges m! gr:m! m@ gr:m@ neighbors gr:neighbors new gr:new node-edges gr:node-edges +Builtin  nodes gr:nodes traverse gr:traverse + h:+ clear h:clear len h:len new h:new peek h:peek pop h:pop +Builtin  push h:push unique h:unique arm? hw:arm? camera hw:camera camera-fmt hw:camera-fmt camera-img hw:camera-img +Builtin  camera? hw:camera? cpu? hw:cpu? device? hw:device? displays? hw:displays? displaysize? hw:displaysize? +Builtin  err? hw:err? gpio hw:gpio gpio! hw:gpio! gpio-mmap hw:gpio-mmap gpio@ hw:gpio@ i2c hw:i2c i2c! hw:i2c! +Builtin  i2c!reg hw:i2c!reg i2c@ hw:i2c@ i2c@reg hw:i2c@reg isround? hw:isround? iswatch? hw:iswatch? +Builtin  mac? hw:mac? mem? hw:mem? poll hw:poll sensor hw:sensor start hw:start stop hw:stop fetch-full imap:fetch-full +Builtin  fetch-uid-mail imap:fetch-uid-mail login imap:login new imap:new select-inbox imap:select-inbox +Builtin  >file img:>file copy img:copy crop img:crop data img:data desat img:desat fill img:fill filter img:filter +Builtin  flip img:flip from-svg img:from-svg new img:new pix! img:pix! pix@ img:pix@ qr-gen img:qr-gen +Builtin  qr-parse img:qr-parse rotate img:rotate scale img:scale scroll img:scroll size img:size countries iso:countries +Builtin  find loc:find sort loc:sort ! m:! !? m:!? + m:+ +? m:+? - m:- @ m:@ @? m:@? @@ m:@@ clear m:clear +Builtin  data m:data each m:each exists? m:exists? iter m:iter iter-all m:iter-all keys m:keys len m:len +Builtin  map m:map new m:new op! m:op! open m:open vals m:vals xchg m:xchg ! mat:! * mat:* + mat:+ = mat:= +Builtin  @ mat:@ col mat:col data mat:data det mat:det dim? mat:dim? get-n mat:get-n ident mat:ident +Builtin  m. mat:m. minor mat:minor n* mat:n* new mat:new row mat:row same-size? mat:same-size? trans mat:trans +Builtin  ! n:! * n:* */ n:*/ + n:+ +! n:+! - n:- / n:/ /mod n:/mod 1+ n:1+ 1- n:1- < n:< = n:= > n:> +Builtin  BIGE n:BIGE BIGPI n:BIGPI E n:E PI n:PI ^ n:^ abs n:abs acos n:acos acos n:acos asin n:asin +Builtin  asin n:asin atan n:atan atan n:atan atan2 n:atan2 band n:band between n:between bfloat n:bfloat +Builtin  bic n:bic bint n:bint binv n:binv bnot n:bnot bor n:bor bxor n:bxor ceil n:ceil clamp n:clamp +Builtin  cmp n:cmp comb n:comb cos n:cos cosd n:cosd exp n:exp expmod n:expmod float n:float floor n:floor +Builtin  fmod n:fmod frac n:frac gcd n:gcd int n:int invmod n:invmod kind? n:kind? lcm n:lcm ln n:ln +Builtin  max n:max median n:median min n:min mod n:mod neg n:neg odd? n:odd? perm n:perm prime? n:prime? +Builtin  quantize n:quantize quantize! n:quantize! r+ n:r+ range n:range rot32l n:rot32l rot32r n:rot32r +Builtin  round n:round round2 n:round2 running-variance n:running-variance running-variance-finalize n:running-variance-finalize +Builtin  sgn n:sgn shl n:shl shr n:shr sin n:sin sind n:sind sqr n:sqr sqrt n:sqrt tan n:tan tand n:tand +Builtin  trunc n:trunc ~= n:~= ! net:! >url net:>url @ net:@ DGRAM net:DGRAM INET4 net:INET4 INET6 net:INET6 +Builtin  PROTO_TCP net:PROTO_TCP PROTO_UDP net:PROTO_UDP STREAM net:STREAM accept net:accept addrinfo>o net:addrinfo>o +Builtin  again? net:again? alloc-and-read net:alloc-and-read alloc-buf net:alloc-buf bind net:bind browse net:browse +Builtin  close net:close connect net:connect err>s net:err>s err? net:err? get net:get getaddrinfo net:getaddrinfo +Builtin  getpeername net:getpeername head net:head ifaces? net:ifaces? listen net:listen net-socket net:net-socket +Builtin  opts net:opts port-is-ssl? net:port-is-ssl? post net:post proxy! net:proxy! read net:read recvfrom net:recvfrom +Builtin  s>url net:s>url sendto net:sendto server net:server setsockopt net:setsockopt socket net:socket +Builtin  tlshello net:tlshello url> net:url> user-agent net:user-agent wait net:wait write net:write +Builtin  MAX ns:MAX cast ptr:cast len ptr:len pack ptr:pack unpack ptr:unpack unpack_orig ptr:unpack_orig +Builtin  + q:+ clear q:clear len q:len new q:new notify q:notify overwrite q:overwrite peek q:peek pick q:pick +Builtin  pop q:pop push q:push shift q:shift size q:size slide q:slide throwing q:throwing wait q:wait +Builtin  ++match r:++match +/ r:+/ +match r:+match / r:/ @ r:@ err? r:err? len r:len match r:match new r:new +Builtin  rx r:rx str r:str ! s:! * s:* + s:+ - s:- / s:/ /scripts s:/scripts <+ s:<+ = s:= =ic s:=ic +Builtin  >base64 s:>base64 >ucs2 s:>ucs2 @ s:@ append s:append base64> s:base64> clear s:clear cmp s:cmp +Builtin  cmpi s:cmpi compress s:compress days! s:days! each s:each eachline s:eachline expand s:expand +Builtin  fill s:fill fmt s:fmt gershayim s:gershayim globmatch s:globmatch hexupr s:hexupr insert s:insert +Builtin  intl s:intl intl! s:intl! lang s:lang lc s:lc len s:len lsub s:lsub ltrim s:ltrim map s:map +Builtin  months! s:months! new s:new replace s:replace replace! s:replace! rev s:rev rsearch s:rsearch +Builtin  rsub s:rsub rtrim s:rtrim script? s:script? search s:search size s:size slice s:slice strfmap s:strfmap +Builtin  strfmt s:strfmt trim s:trim tsub s:tsub uc s:uc ucs2> s:ucs2> utf8? s:utf8? zt s:zt close sio:close +Builtin  enum sio:enum open sio:open opts! sio:opts! opts@ sio:opts@ read sio:read write sio:write new smtp:new +Builtin  send smtp:send apply-filter snd:apply-filter devices? snd:devices? end-record snd:end-record +Builtin  filter snd:filter formats? snd:formats? freq snd:freq gain snd:gain gain? snd:gain? len snd:len +Builtin  loop snd:loop mix snd:mix new snd:new pause snd:pause play snd:play played snd:played rate snd:rate +Builtin  record snd:record seek snd:seek stop snd:stop stopall snd:stopall unmix snd:unmix volume snd:volume +Builtin  volume? snd:volume? + st:+ . st:. clear st:clear len st:len ndrop st:ndrop new st:new op! st:op! +Builtin  peek st:peek pick st:pick pop st:pop push st:push roll st:roll shift st:shift size st:size +Builtin  slide st:slide swap st:swap throwing st:throwing >buf struct:>buf arr> struct:arr> buf struct:buf +Builtin  buf> struct:buf> byte struct:byte double struct:double field! struct:field! field@ struct:field@ +Builtin  float struct:float ignore struct:ignore int struct:int long struct:long struct; struct:struct; +Builtin  word struct:word ! t:! @ t:@ assign t:assign curtask t:curtask def-queue t:def-queue def-stack t:def-stack +Builtin  done? t:done? err! t:err! err? t:err? getq t:getq guitask t:guitask handler t:handler kill t:kill +Builtin  list t:list main t:main name! t:name! name@ t:name@ notify t:notify pop t:pop priority t:priority +Builtin  push t:push push< t:push< q-notify t:q-notify q-wait t:q-wait qlen t:qlen result t:result task t:task +Builtin  task-n t:task-n task-stop t:task-stop wait t:wait ! w:! @ w:@ alias: w:alias: cb w:cb deprecate w:deprecate +Builtin  exec w:exec exec? w:exec? ffifail w:ffifail find w:find forget w:forget is w:is undo w:undo +Builtin  >s xml:>s >txt xml:>txt parse xml:parse parse-html xml:parse-html parse-stream xml:parse-stream +Builtin  getmsg[] zmq:getmsg[] sendmsg[] zmq:sendmsg[] +" numbers +syn keyword eighthMath decimal hex base@ base!  +syn match eighthInteger '\<-\=[0-9.]*[0-9.]\+\>' +" recognize hex and binary numbers, the '$' and '%' notation is for eighth +syn match eighthInteger '\<\$\x*\x\+\>' " *1* --- dont't mess +syn match eighthInteger '\<\x*\d\x*\>'  " *2* --- this order! +syn match eighthInteger '\<%[0-1]*[0-1]\+\>' +syn match eighthInteger "\<'.\>" + +" Strings +syn region eighthString start=+\.\?\"+ skip=+"+ end=+$+ +syn keyword jsonNull null +syn keyword jsonBool /\(true\|false\)/ + syn region eighthString start=/\<"/ end=/"\>/  +syn match jsonObjEntry /"\"[^"]\+\"\ze\s*:/ + +"syn region jsonObject start=/{/ end=/}/ contained contains=jsonObjEntry,jsonArray,jsonObject, jsonBool, eighthString +"syn region jsonArray start=/\[/ end=/\]/ contained contains=jsonArray,jsonObject, jsonBool, eighthString + +" Include files +" syn match eighthInclude '\<\(libinclude\|include\|needs\)\s\+\S\+' +syn region eighthComment start="\zs\\" end="$" contains=eighthTodo + +" Define the default highlighting. +if !exists("did_eighth_syntax_inits") +    let did_eighth_syntax_inits=1 +    " The default methods for highlighting. Can be overriden later. +    hi def link eighthTodo Todo +    hi def link eighthOperators Operator +    hi def link eighthMath Number +    hi def link eighthInteger Number +    hi def link eighthStack Special +    hi def link eighthFStack Special +    hi def link eighthSP Special +    hi def link eighthColonDef Define +    hi def link eighthColonName Operator +    hi def link eighthEndOfColonDef Define +    hi def link eighthDefine Define +    hi def link eighthDebug Debug +    hi def link eighthCharOps Character +    hi def link eighthConversion String +    hi def link eighthForth Statement +    hi def link eighthVocs Statement +    hi def link eighthString String +    hi def link eighthComment Comment +    hi def link eighthClassDef Define +    hi def link eighthEndOfClassDef Define +    hi def link eighthObjectDef Define +    hi def link eighthEndOfObjectDef Define +    hi def link eighthInclude Include +    hi def link eighthBuiltin Define +    hi def link eighthClasses Define +    hi def link eighthClassWord Keyword + +    hi def link jsonObject Delimiter +    hi def link jsonObjEntry Label +    hi def link jsonArray Special +  hi def link jsonNull            Function +  hi def link jsonBool         Boolean +endif + +let b:current_syntax = "8th" +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: ts=8:sw=4:nocindent:smartindent: + +endif diff --git a/syntax/a2ps.vim b/syntax/a2ps.vim new file mode 100644 index 00000000..3c0900e9 --- /dev/null +++ b/syntax/a2ps.vim @@ -0,0 +1,75 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'a2ps') == -1 + +" Vim syntax file +" Language:             a2ps(1) configuration file +" Previous Maintainer:  Nikolai Weibull <now@bitwi.se> +" Latest Revision:      2006-04-19 + +if exists("b:current_syntax") +  finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword a2psPreProc       Include +                              \ nextgroup=a2psKeywordColon + +syn keyword a2psMacro         UserOption +                              \ nextgroup=a2psKeywordColon + +syn keyword a2psKeyword       LibraryPath AppendLibraryPath PrependLibraryPath +                              \ Options Medium Printer UnknownPrinter +                              \ DefaultPrinter OutputFirstLine +                              \ PageLabelFormat Delegation FileCommand +                              \ nextgroup=a2psKeywordColon + +syn match   a2psKeywordColon  contained display ':' + +syn keyword a2psKeyword       Variable nextgroup=a2psVariableColon + +syn match   a2psVariableColon contained display ':' +                              \ nextgroup=a2psVariable skipwhite + +syn match   a2psVariable      contained display '[^ \t:(){}]\+' +                              \ contains=a2psVarPrefix + +syn match   a2psVarPrefix     contained display +                              \ '\<\%(del\|pro\|ps\|pl\|toc\|user\|\)\ze\.' + +syn match   a2psLineCont      display '\\$' + +syn match   a2psSubst         display '$\%(-\=.\=\d\+\)\=\h\d\=' +syn match   a2psSubst         display '#[?!]\=\w\d\=' +syn match   a2psSubst         display '#{[^}]\+}' + +syn region  a2psString        display oneline start=+'+ end=+'+ +                              \ contains=a2psSubst + +syn region  a2psString        display oneline start=+"+ end=+"+ +                              \ contains=a2psSubst + +syn keyword a2psTodo          contained TODO FIXME XXX NOTE + +syn region  a2psComment       display oneline start='^\s*#' end='$' +                              \ contains=a2psTodo,@Spell + +hi def link a2psTodo          Todo +hi def link a2psComment       Comment +hi def link a2psPreProc       PreProc +hi def link a2psMacro         Macro +hi def link a2psKeyword       Keyword +hi def link a2psKeywordColon  Delimiter +hi def link a2psVariableColon Delimiter +hi def link a2psVariable      Identifier +hi def link a2psVarPrefix     Type +hi def link a2psLineCont      Special +hi def link a2psSubst         PreProc +hi def link a2psString        String + +let b:current_syntax = "a2ps" + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/syntax/a65.vim b/syntax/a65.vim new file mode 100644 index 00000000..01215767 --- /dev/null +++ b/syntax/a65.vim @@ -0,0 +1,157 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'a65') == -1 + +" Vim syntax file +" Language:	xa 6502 cross assembler +" Maintainer:	Clemens Kirchgatterer <clemens@1541.org> +" Last Change:	2016 Aug 31 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +syn case ignore + +" Opcodes +syn match a65Opcode	"\<PHP\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<PLA\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<PLX\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<PLY\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<SEC\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<CLD\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<SED\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<CLI\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<BVC\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<BVS\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<BCS\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<BCC\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<DEY\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<DEC\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<CMP\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<CPX\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<BIT\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<ROL\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<ROR\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<ASL\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<TXA\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<TYA\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<TSX\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<TXS\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<LDA\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<LDX\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<LDY\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<STA\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<PLP\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<BRK\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<RTI\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<NOP\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<SEI\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<CLV\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<PHA\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<PHX\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<BRA\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<JMP\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<JSR\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<RTS\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<CPY\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<BNE\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<BEQ\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<BMI\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<LSR\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<INX\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<INY\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<INC\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<ADC\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<SBC\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<AND\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<ORA\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<STX\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<STY\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<STZ\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<EOR\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<DEX\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<BPL\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<CLC\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<PHY\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<TRB\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<BBR\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<BBS\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<RMB\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<SMB\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<TAY\($\|\s\)" nextgroup=a65Address +syn match a65Opcode	"\<TAX\($\|\s\)" nextgroup=a65Address + +" Addresses +syn match a65Address	"\s*!\=$[0-9A-F]\{2}\($\|\s\)" +syn match a65Address	"\s*!\=$[0-9A-F]\{4}\($\|\s\)" +syn match a65Address	"\s*!\=$[0-9A-F]\{2},X\($\|\s\)" +syn match a65Address	"\s*!\=$[0-9A-F]\{4},X\($\|\s\)" +syn match a65Address	"\s*!\=$[0-9A-F]\{2},Y\($\|\s\)" +syn match a65Address	"\s*!\=$[0-9A-F]\{4},Y\($\|\s\)" +syn match a65Address	"\s*($[0-9A-F]\{2})\($\|\s\)" +syn match a65Address	"\s*($[0-9A-F]\{4})\($\|\s\)" +syn match a65Address	"\s*($[0-9A-F]\{2},X)\($\|\s\)" +syn match a65Address	"\s*($[0-9A-F]\{2}),Y\($\|\s\)" + +" Numbers +syn match a65Number	"#\=[0-9]*\>" +syn match a65Number	"#\=$[0-9A-F]*\>" +syn match a65Number	"#\=&[0-7]*\>" +syn match a65Number	"#\=%[01]*\>" + +syn case match + +" Types +syn match a65Type	"\(^\|\s\)\.byt\($\|\s\)" +syn match a65Type	"\(^\|\s\)\.word\($\|\s\)" +syn match a65Type	"\(^\|\s\)\.asc\($\|\s\)" +syn match a65Type	"\(^\|\s\)\.dsb\($\|\s\)" +syn match a65Type	"\(^\|\s\)\.fopt\($\|\s\)" +syn match a65Type	"\(^\|\s\)\.text\($\|\s\)" +syn match a65Type	"\(^\|\s\)\.data\($\|\s\)" +syn match a65Type	"\(^\|\s\)\.bss\($\|\s\)" +syn match a65Type	"\(^\|\s\)\.zero\($\|\s\)" +syn match a65Type	"\(^\|\s\)\.align\($\|\s\)" + +" Blocks +syn match a65Section	"\(^\|\s\)\.(\($\|\s\)" +syn match a65Section	"\(^\|\s\)\.)\($\|\s\)" + +" Strings +syn match a65String	"\".*\"" + +" Programm Counter +syn region a65PC	start="\*=" end="\>" keepend + +" HI/LO Byte +syn region a65HiLo	start="#[<>]" end="$\|\s" contains=a65Comment keepend + +" Comments +syn keyword a65Todo	TODO XXX FIXME BUG contained +syn match   a65Comment	";.*"hs=s+1 contains=a65Todo +syn region  a65Comment	start="/\*" end="\*/" contains=a65Todo,a65Comment + +" Preprocessor +syn region a65PreProc	start="^#" end="$" contains=a65Comment,a65Continue +syn match  a65End			excludenl /end$/ contained +syn match  a65Continue	"\\$" contained + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link a65Section	Special +hi def link a65Address	Special +hi def link a65Comment	Comment +hi def link a65PreProc	PreProc +hi def link a65Number	Number +hi def link a65String	String +hi def link a65Type	Statement +hi def link a65Opcode	Type +hi def link a65PC		Error +hi def link a65Todo	Todo +hi def link a65HiLo	Number + + +let b:current_syntax = "a65" + +endif diff --git a/syntax/aap.vim b/syntax/aap.vim new file mode 100644 index 00000000..7c443ac2 --- /dev/null +++ b/syntax/aap.vim @@ -0,0 +1,162 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'aap') == -1 + +" Vim syntax file +" Language:	A-A-P recipe +" Maintainer:	Bram Moolenaar <Bram@vim.org> +" Last Change:	2004 Jun 13 + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") +    finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn include @aapPythonScript syntax/python.vim + +syn match       aapVariable /$[-+?*="'\\!]*[a-zA-Z0-9_.]*/ +syn match       aapVariable /$[-+?*="'\\!]*([a-zA-Z0-9_.]*)/ +syn keyword	aapTodo contained TODO Todo +syn match	aapString +'[^']\{-}'+ +syn match	aapString +"[^"]\{-}"+ + +syn match	aapCommand '^\s*:action\>' +syn match	aapCommand '^\s*:add\>' +syn match	aapCommand '^\s*:addall\>' +syn match	aapCommand '^\s*:asroot\>' +syn match	aapCommand '^\s*:assertpkg\>' +syn match	aapCommand '^\s*:attr\>' +syn match	aapCommand '^\s*:attribute\>' +syn match	aapCommand '^\s*:autodepend\>' +syn match	aapCommand '^\s*:buildcheck\>' +syn match	aapCommand '^\s*:cd\>' +syn match	aapCommand '^\s*:chdir\>' +syn match	aapCommand '^\s*:checkin\>' +syn match	aapCommand '^\s*:checkout\>' +syn match	aapCommand '^\s*:child\>' +syn match	aapCommand '^\s*:chmod\>' +syn match	aapCommand '^\s*:commit\>' +syn match	aapCommand '^\s*:commitall\>' +syn match	aapCommand '^\s*:conf\>' +syn match	aapCommand '^\s*:copy\>' +syn match	aapCommand '^\s*:del\>' +syn match	aapCommand '^\s*:deldir\>' +syn match	aapCommand '^\s*:delete\>' +syn match	aapCommand '^\s*:delrule\>' +syn match	aapCommand '^\s*:dll\>' +syn match	aapCommand '^\s*:do\>' +syn match	aapCommand '^\s*:error\>' +syn match	aapCommand '^\s*:execute\>' +syn match	aapCommand '^\s*:exit\>' +syn match	aapCommand '^\s*:export\>' +syn match	aapCommand '^\s*:fetch\>' +syn match	aapCommand '^\s*:fetchall\>' +syn match	aapCommand '^\s*:filetype\>' +syn match	aapCommand '^\s*:finish\>' +syn match	aapCommand '^\s*:global\>' +syn match	aapCommand '^\s*:import\>' +syn match	aapCommand '^\s*:include\>' +syn match	aapCommand '^\s*:installpkg\>' +syn match	aapCommand '^\s*:lib\>' +syn match	aapCommand '^\s*:local\>' +syn match	aapCommand '^\s*:log\>' +syn match	aapCommand '^\s*:ltlib\>' +syn match	aapCommand '^\s*:mkdir\>' +syn match	aapCommand '^\s*:mkdownload\>' +syn match	aapCommand '^\s*:move\>' +syn match	aapCommand '^\s*:pass\>' +syn match	aapCommand '^\s*:popdir\>' +syn match	aapCommand '^\s*:produce\>' +syn match	aapCommand '^\s*:program\>' +syn match	aapCommand '^\s*:progsearch\>' +syn match	aapCommand '^\s*:publish\>' +syn match	aapCommand '^\s*:publishall\>' +syn match	aapCommand '^\s*:pushdir\>' +syn match	aapCommand '^\s*:quit\>' +syn match	aapCommand '^\s*:recipe\>' +syn match	aapCommand '^\s*:refresh\>' +syn match	aapCommand '^\s*:remove\>' +syn match	aapCommand '^\s*:removeall\>' +syn match	aapCommand '^\s*:require\>' +syn match	aapCommand '^\s*:revise\>' +syn match	aapCommand '^\s*:reviseall\>' +syn match	aapCommand '^\s*:route\>' +syn match	aapCommand '^\s*:rule\>' +syn match	aapCommand '^\s*:start\>' +syn match	aapCommand '^\s*:symlink\>' +syn match	aapCommand '^\s*:sys\>' +syn match	aapCommand '^\s*:sysdepend\>' +syn match	aapCommand '^\s*:syspath\>' +syn match	aapCommand '^\s*:system\>' +syn match	aapCommand '^\s*:tag\>' +syn match	aapCommand '^\s*:tagall\>' +syn match	aapCommand '^\s*:toolsearch\>' +syn match	aapCommand '^\s*:totype\>' +syn match	aapCommand '^\s*:touch\>' +syn match	aapCommand '^\s*:tree\>' +syn match	aapCommand '^\s*:unlock\>' +syn match	aapCommand '^\s*:update\>' +syn match	aapCommand '^\s*:usetool\>' +syn match	aapCommand '^\s*:variant\>' +syn match	aapCommand '^\s*:verscont\>' + +syn match	aapCommand '^\s*:print\>' nextgroup=aapPipeEnd +syn match	aapPipeCmd '\s*:print\>' nextgroup=aapPipeEnd contained +syn match	aapCommand '^\s*:cat\>' nextgroup=aapPipeEnd +syn match	aapPipeCmd '\s*:cat\>' nextgroup=aapPipeEnd contained +syn match	aapCommand '^\s*:syseval\>' nextgroup=aapPipeEnd +syn match	aapPipeCmd '\s*:syseval\>' nextgroup=aapPipeEnd contained +syn match	aapPipeCmd '\s*:assign\>' contained +syn match	aapCommand '^\s*:eval\>' nextgroup=aapPipeEnd +syn match	aapPipeCmd '\s*:eval\>' nextgroup=aapPipeEndPy contained +syn match	aapPipeCmd '\s*:tee\>' nextgroup=aapPipeEnd contained +syn match	aapPipeCmd '\s*:log\>' nextgroup=aapPipeEnd contained +syn match	aapPipeEnd '[^|]*|' nextgroup=aapPipeCmd contained skipnl +syn match	aapPipeEndPy '[^|]*|' nextgroup=aapPipeCmd contained skipnl contains=@aapPythonScript +syn match	aapPipeStart '^\s*|' nextgroup=aapPipeCmd + +" +" A Python line starts with @.  Can be continued with a trailing backslash. +syn region aapPythonRegion start="\s*@" skip='\\$' end=+$+ contains=@aapPythonScript keepend +" +" A Python block starts with ":python" and continues so long as the indent is +" bigger. +syn region aapPythonRegion matchgroup=aapCommand start="\z(\s*\):python" skip='\n\z1\s\|\n\s*\n' end=+$+ contains=@aapPythonScript + +" A Python expression is enclosed in backticks. +syn region aapPythonRegion start="`" skip="``" end="`" contains=@aapPythonScript + +" TODO: There is something wrong with line continuation. +syn match	aapComment '#.*' contains=aapTodo +syn match	aapComment '#.*\(\\\n.*\)' contains=aapTodo + +syn match	aapSpecial '$#' +syn match	aapSpecial '$\$' +syn match	aapSpecial '$(.)' + +" A heredoc assignment. +syn region aapHeredoc start="^\s*\k\+\s*$\=+\=?\=<<\s*\z(\S*\)"hs=e+1 end="^\s*\z1\s*$"he=s-1 + +" Syncing is needed for ":python" and "VAR << EOF".  Don't use Python syncing +syn sync clear +syn sync fromstart + +" The default highlighting. +hi def link aapTodo		Todo +hi def link aapString		String +hi def link aapComment		Comment +hi def link aapSpecial		Special +hi def link aapVariable		Identifier +hi def link aapPipeCmd		aapCommand +hi def link aapCommand		Statement +hi def link aapHeredoc		Constant + +let b:current_syntax = "aap" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: ts=8 + +endif diff --git a/syntax/abap.vim b/syntax/abap.vim new file mode 100644 index 00000000..7115c3d8 --- /dev/null +++ b/syntax/abap.vim @@ -0,0 +1,199 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'abap') == -1 + +" Vim ABAP syntax file +"    Language: SAP - ABAP/R4 +"  Maintainer: Marius Piedallu van Wyk <lailoken@gmail.com> +" Last Change: 2018 Dec 12 +"     Comment: Thanks to EPI-USE Labs for all your assistance. :) + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +" Always ignore case +syn case ignore + +" Symbol Operators (space delimited) +syn match   abapSymbolOperator  "\W+\W" +syn match   abapSymbolOperator  "\W-\W" +syn match   abapSymbolOperator  "\W/\W" +syn match   abapSymbolOperator  "\W%\W" +syn match   abapSymbolOperator  "\W=\W" +syn match   abapSymbolOperator  "\W<\W" +syn match   abapSymbolOperator  "\W>\W" +syn match   abapSymbolOperator  "\W\*\W" +syn match   abapSymbolOperator  "\W[<>]=\W" +syn match   abapSymbolOperator  "\W<>\W" +syn match   abapSymbolOperator  "\W\*\*\W" +syn match   abapSymbolOperator  "\[\]" +syn match   abapSymbolOperator  "->\*\?" +syn match   abapSymbolOperator  "=>" +syn match   abapSymbolOperator  "[()~:,\.&$]" + +" Literals +syn region  abapCharString matchgroup=abapCharString start="'" end="'" contains=abapCharStringEscape +syn match   abapCharStringEscape contained "''" + +syn region  abapString matchgroup=abapString start="`" end="`" contains=abapStringEscape +syn match   abapStringEscape contained "``" + +syn match   abapNumber  "\-\=\<\d\+\>" +syn region  abapHex     matchgroup=abapHex start="X'" end="'" + +setlocal iskeyword=48-57,_,A-Z,a-z,/ + +syn match   abapNamespace        "\</\w\+/" + +" multi-word statements +syn match   abapComplexStatement "\<\(WITH\W\+\(HEADER\W\+LINE\|FRAME\|KEY\)\|WITH\)\>" +syn match   abapComplexStatement "\<NO\W\+STANDARD\W\+PAGE\W\+HEADING\>" +syn match   abapComplexStatement "\<\(EXIT\W\+FROM\W\+STEP\W\+LOOP\|EXIT\)\>" +syn match   abapComplexStatement "\<\(BEGIN\W\+OF\W\+\(BLOCK\|LINE\)\|BEGIN\W\+OF\)\>" +syn match   abapComplexStatement "\<\(END\W\+OF\W\+\(BLOCK\|LINE\)\|END\W\+OF\)\>" +syn match   abapComplexStatement "\<NO\W\+INTERVALS\>" +syn match   abapComplexStatement "\<RESPECTING\W\+BLANKS\>" +syn match   abapComplexStatement "\<SEPARATED\W\+BY\>" +syn match   abapComplexStatement "\<USING\(\W\+EDIT\W\+MASK\)\?\>" +syn match   abapComplexStatement "\<WHERE\(\W\+LINE\)\?\>" +syn match   abapComplexStatement "\<GET\W\+\(TIME\(\W\+STAMP\)\?\(\W\+FIELD\)\?\|PF-STATUS\|BADI\|BIT\|CONNECTION\|CURSOR\|REFERENCE\W\+OF\)\>" +syn match   abapComplexStatement "\<RADIOBUTTON\W\+GROUP\>" +syn match   abapComplexStatement "\<REF\W\+TO\>" +syn match   abapComplexStatement "\<\(PUBLIC\|PRIVATE\|PROTECTED\)\(\W\+SECTION\)\?\>" +syn match   abapComplexStatement "\<DELETING\W\+\(TRAILING\|LEADING\)\>" +syn match   abapComplexStatement "\<\(ALL\W\+OCCURRENCES\)\|\(\(FIRST\|LAST\)\W\+OCCURRENCE\)\>" +syn match   abapComplexStatement "\<INHERITING\W\+FROM\>" +syn match   abapComplexStatement "\<\(UP\W\+\)\?TO\>" + +" hyphenated-word statements +syn match   abapComplexStatement "\<LINE-COUNT\>" +syn match   abapComplexStatement "\<ADD-CORRESPONDING\>" +syn match   abapComplexStatement "\<AUTHORITY-CHECK\>" +syn match   abapComplexStatement "\<BREAK-POINT\>" +syn match   abapComplexStatement "\<CLASS-DATA\>" +syn match   abapComplexStatement "\<CLASS-METHODS\>" +syn match   abapComplexStatement "\<CLASS-METHOD\>" +syn match   abapComplexStatement "\<DIVIDE-CORRESPONDING\>" +syn match   abapComplexStatement "\<EDITOR-CALL\>" +syn match   abapComplexStatement "\<END-OF-DEFINITION\>" +syn match   abapComplexStatement "\<END-OF-PAGE\>" +syn match   abapComplexStatement "\<END-OF-SELECTION\>" +syn match   abapComplexStatement "\<FIELD-GROUPS\>" +syn match   abapComplexStatement "\<FIELD-SYMBOLS\>" +syn match   abapComplexStatement "\<FUNCTION-POOL\>" +syn match   abapComplexStatement "\<IS\W\+\(NOT\W\+\)\?\(ASSIGNED\|BOUND\|INITIAL\|SUPPLIED\)\>" +syn match   abapComplexStatement "\<MOVE-CORRESPONDING\>" +syn match   abapComplexStatement "\<MULTIPLY-CORRESPONDING\>" +syn match   abapComplexStatement "\<NEW-LINE\>" +syn match   abapComplexStatement "\<NEW-PAGE\>" +syn match   abapComplexStatement "\<NEW-SECTION\>" +syn match   abapComplexStatement "\<PRINT-CONTROL\>" +syn match   abapComplexStatement "\<RP-PROVIDE-FROM-LAST\>" +syn match   abapComplexStatement "\<SELECT-OPTIONS\>" +syn match   abapComplexStatement "\<SELECTION-SCREEN\>" +syn match   abapComplexStatement "\<START-OF-SELECTION\>" +syn match   abapComplexStatement "\<SUBTRACT-CORRESPONDING\>" +syn match   abapComplexStatement "\<SYNTAX-CHECK\>" +syn match   abapComplexStatement "\<SYNTAX-TRACE\>" +syn match   abapComplexStatement "\<TOP-OF-PAGE\>" +syn match   abapComplexStatement "\<TYPE-POOL\>" +syn match   abapComplexStatement "\<TYPE-POOLS\>" +syn match   abapComplexStatement "\<LINE-SIZE\>" +syn match   abapComplexStatement "\<LINE-COUNT\>" +syn match   abapComplexStatement "\<MESSAGE-ID\>" +syn match   abapComplexStatement "\<DISPLAY-MODE\>" +syn match   abapComplexStatement "\<READ\(-ONLY\)\?\>" + +" ABAP statements +syn keyword abapStatement ADD ALIAS ALIASES ASSERT ASSIGN ASSIGNING AT +syn keyword abapStatement BACK +syn keyword abapStatement CALL CASE CATCH CHECK CLASS CLEAR CLOSE CNT COLLECT COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROLS CONVERT CREATE CURRENCY +syn keyword abapStatement DATA DEFINE DEFINITION DEFERRED DELETE DESCRIBE DETAIL DIVIDE DO +syn keyword abapStatement ELSE ELSEIF ENDAT ENDCASE ENDCLASS ENDDO ENDEXEC ENDFORM ENDFUNCTION ENDIF ENDIFEND ENDINTERFACE ENDLOOP ENDMETHOD ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDTRY ENDWHILE EVENT EVENTS EXEC EXIT EXPORT EXPORTING EXTRACT +syn keyword abapStatement FETCH FIELDS FORM FORMAT FREE FROM FUNCTION +syn keyword abapStatement GENERATE +syn keyword abapStatement HIDE +syn keyword abapStatement IF IMPORT IMPORTING INDEX INFOTYPES INITIALIZATION INTERFACE INTERFACES INPUT INSERT IMPLEMENTATION  +syn keyword abapStatement LEAVE LIKE LINE LOAD LOCAL LOOP +syn keyword abapStatement MESSAGE METHOD METHODS MODIFY MODULE MOVE MULTIPLY +syn keyword abapStatement ON OVERLAY OPTIONAL OTHERS +syn keyword abapStatement PACK PARAMETERS PERFORM POSITION PROGRAM PROVIDE PUT +syn keyword abapStatement RAISE RANGES RECEIVE RECEIVING REDEFINITION REFERENCE REFRESH REJECT REPLACE REPORT RESERVE RESTORE RETURNING ROLLBACK +syn keyword abapStatement SCAN SCROLL SEARCH SELECT SET SHIFT SKIP SORT SORTED SPLIT STANDARD STATICS STEP STOP SUBMIT SUBTRACT SUM SUMMARY SUPPRESS +syn keyword abapStatement TABLES TIMES TRANSFER TRANSLATE TRY TYPE TYPES +syn keyword abapStatement UNASSIGN ULINE UNPACK UPDATE +syn keyword abapStatement WHEN WHILE WINDOW WRITE + +" More statemets +syn keyword abapStatement LINES +syn keyword abapStatement INTO GROUP BY HAVING ORDER BY SINGLE +syn keyword abapStatement APPENDING CORRESPONDING FIELDS OF TABLE +syn keyword abapStatement LEFT RIGHT OUTER INNER JOIN AS CLIENT SPECIFIED BYPASSING BUFFER ROWS CONNECTING +syn keyword abapStatement OCCURS STRUCTURE OBJECT PROPERTY +syn keyword abapStatement CASTING APPEND RAISING VALUE COLOR +syn keyword abapStatement CHANGING EXCEPTION EXCEPTIONS DEFAULT CHECKBOX COMMENT +syn keyword abapStatement ID NUMBER FOR TITLE OUTPUT + +" Special ABAP specific tables: +syn match   abapSpecialTables "\<\(sy\|\(hrp\|p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)-"me=e-1 contained +syn match   abapStructure     "\<\w\+-[^\>]"me=e-2 contains=abapSpecialTables,abapStatement,abapComplexStatement +syn match   abapField         "-\w\+"ms=s+1 + +" Pointer +syn match   abapSpecial  "<\w\+>" + +" Abap common constants: +syn keyword abapSpecial  TRUE FALSE NULL SPACE + +" Includes +syn region abapInclude   start="include" end="." contains=abapComment + +" Types +syn keyword abapTypes    c n i int8 p f d t x string xstring decfloat16 decfloat34 + +" Atritmitic operators +syn keyword abapOperator abs sign ceil floor trunc frac acos asin atan cos sin tan +syn keyword abapOperator cosh sinh tanh exp log log10 sqrt + +" String operators +syn keyword abapStatement strlen xstrlen charlen numofchar dbmaxlen + +syn keyword abapOperator EQ NE LT LE GT GE NOT AND OR XOR IN LIKE BETWEEN + +" An error? Not strictly... but cannot think of reason this is intended. +syn match   abapError    "\.\." + +" Comments +syn region  abapComment  start="^\*" end="$" contains=abapTodo +syn match   abapComment  "\".*" contains=abapTodo +syn keyword abapTodo     contained TODO NOTE +syn match   abapTodo     "\#EC\W\+\w\+" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link abapError          Error +hi def link abapComment        Comment +hi def link abapInclude        Include +hi def link abapStatement      Statement +hi def link abapComplexStatement      Statement +hi def link abapSpecial        Special +hi def link abapNamespace      Special +hi def link abapSpecialTables  Special +hi def link abapSymbolOperator abapOperator +hi def link abapOperator       Operator +hi def link abapCharString     String +hi def link abapString         String +hi def link abapFloat          Float +hi def link abapTypes          Type +hi def link abapSymbol         Structure +hi def link abapStructure      Structure +hi def link abapField          Variable +hi def link abapNumber         Number +hi def link abapHex            Number + + +let b:current_syntax = "abap" + +" vim: ts=8 sw=2 +endif diff --git a/syntax/abaqus.vim b/syntax/abaqus.vim new file mode 100644 index 00000000..a54e9fe8 --- /dev/null +++ b/syntax/abaqus.vim @@ -0,0 +1,39 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'abaqus') == -1 + +" Vim syntax file +" Language:	Abaqus finite element input file (www.hks.com) +" Maintainer:	Carl Osterwisch <osterwischc@asme.org> +" Last Change:	2002 Feb 24 +" Remark:	Huge improvement in folding performance--see filetype plugin + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +" Abaqus comment lines +syn match abaqusComment	"^\*\*.*$" + +" Abaqus keyword lines +syn match abaqusKeywordLine "^\*\h.*" contains=abaqusKeyword,abaqusParameter,abaqusValue display +syn match abaqusKeyword "^\*\h[^,]*" contained display +syn match abaqusParameter ",[^,=]\+"lc=1 contained display +syn match abaqusValue	"=\s*[^,]*"lc=1 contained display + +" Illegal syntax +syn match abaqusBadLine	"^\s\+\*.*" display + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +" The default methods for highlighting.  Can be overridden later +hi def link abaqusComment	Comment +hi def link abaqusKeyword	Statement +hi def link abaqusParameter	Identifier +hi def link abaqusValue	Constant +hi def link abaqusBadLine    Error + + +let b:current_syntax = "abaqus" + +endif diff --git a/syntax/abc.vim b/syntax/abc.vim new file mode 100644 index 00000000..a44a929d --- /dev/null +++ b/syntax/abc.vim @@ -0,0 +1,55 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'abc') == -1 + +" Vim syntax file +" Language:	abc music notation language +" Maintainer:	James Allwright <J.R.Allwright@westminster.ac.uk> +" URL:		http://perun.hscs.wmin.ac.uk/~jra/vim/syntax/abc.vim +" Last Change:	27th April 2001 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +" tags +syn region abcGuitarChord start=+"[A-G]+ end=+"+ contained +syn match abcNote "z[1-9]*[0-9]*" contained +syn match abcNote "z[1-9]*[0-9]*/[248]\=" contained +syn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*" contained +syn match abcNote "[=_\^]\{,2}[A-G],*[1-9]*[0-9]*/[248]\=" contained +syn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*"  contained +syn match abcNote "[=_\^]\{,2}[a-g]'*[1-9]*[0-9]*/[248]\="  contained +syn match abcBar "|"  contained +syn match abcBar "[:|][:|]"  contained +syn match abcBar ":|2"  contained +syn match abcBar "|1"  contained +syn match abcBar "\[[12]"  contained +syn match abcTuple "([1-9]\+:\=[0-9]*:\=[0-9]*" contained +syn match abcBroken "<\|<<\|<<<\|>\|>>\|>>>" contained +syn match abcTie    "-" +syn match abcHeadField "^[A-EGHIK-TVWXZ]:.*$" contained +syn match abcBodyField "^[KLMPQWVw]:.*$" contained +syn region abcHeader start="^X:" end="^K:.*$" contained contains=abcHeadField,abcComment keepend +syn region abcTune start="^X:" end="^ *$" contains=abcHeader,abcComment,abcBar,abcNote,abcBodyField,abcGuitarChord,abcTuple,abcBroken,abcTie +syn match abcComment "%.*$" + + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link abcComment		Comment +hi def link abcHeadField		Type +hi def link abcBodyField		Special +hi def link abcBar			Statement +hi def link abcTuple			Statement +hi def link abcBroken			Statement +hi def link abcTie			Statement +hi def link abcGuitarChord	Identifier +hi def link abcNote			Constant + + +let b:current_syntax = "abc" + +" vim: ts=4 + +endif diff --git a/syntax/abel.vim b/syntax/abel.vim new file mode 100644 index 00000000..4cd9e35f --- /dev/null +++ b/syntax/abel.vim @@ -0,0 +1,165 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'abel') == -1 + +" Vim syntax file +" Language:	ABEL +" Maintainer:	John Cook <johncook3@gmail.com> +" Last Change:	2011 Dec 27 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +" this language is oblivious to case +syn case ignore + +" A bunch of keywords +syn keyword abelHeader		module title device options +syn keyword abelSection		declarations equations test_vectors end +syn keyword abelDeclaration	state truth_table state_diagram property +syn keyword abelType		pin node attribute constant macro library + +syn keyword abelTypeId		com reg neg pos buffer dc reg_d reg_t contained +syn keyword abelTypeId		reg_sr reg_jk reg_g retain xor invert contained + +syn keyword abelStatement	when then else if with endwith case endcase +syn keyword abelStatement	fuses expr trace + +" option to omit obsolete statements +if exists("abel_obsolete_ok") +  syn keyword abelStatement enable flag in +else +  syn keyword abelError enable flag in +endif + +" directives +syn match abelDirective "@alternate" +syn match abelDirective "@standard" +syn match abelDirective "@const" +syn match abelDirective "@dcset" +syn match abelDirective "@include" +syn match abelDirective "@page" +syn match abelDirective "@radix" +syn match abelDirective "@repeat" +syn match abelDirective "@irp" +syn match abelDirective "@expr" +syn match abelDirective "@if" +syn match abelDirective "@ifb" +syn match abelDirective "@ifnb" +syn match abelDirective "@ifdef" +syn match abelDirective "@ifndef" +syn match abelDirective "@ifiden" +syn match abelDirective "@ifniden" + +syn keyword abelTodo contained TODO XXX FIXME + +" wrap up type identifiers to differentiate them from normal strings +syn region abelSpecifier start='istype' end=';' contains=abelTypeIdChar,abelTypeId,abelTypeIdEnd keepend +syn match  abelTypeIdChar "[,']" contained +syn match  abelTypeIdEnd  ";" contained + +" string contstants and special characters within them +syn match  abelSpecial contained "\\['\\]" +syn region abelString start=+'+ skip=+\\"+ end=+'+ contains=abelSpecial + +" valid integer number formats (decimal, binary, octal, hex) +syn match abelNumber "\<[-+]\=[0-9]\+\>" +syn match abelNumber "\^d[0-9]\+\>" +syn match abelNumber "\^b[01]\+\>" +syn match abelNumber "\^o[0-7]\+\>" +syn match abelNumber "\^h[0-9a-f]\+\>" + +" special characters +" (define these after abelOperator so ?= overrides ?) +syn match abelSpecialChar "[\[\](){},;:?]" + +" operators +syn match abelLogicalOperator "[!#&$]" +syn match abelRangeOperator "\.\." +syn match abelAlternateOperator "[/*+]" +syn match abelAlternateOperator ":[+*]:" +syn match abelArithmeticOperator "[-%]" +syn match abelArithmeticOperator "<<" +syn match abelArithmeticOperator ">>" +syn match abelRelationalOperator "[<>!=]=" +syn match abelRelationalOperator "[<>]" +syn match abelAssignmentOperator "[:?]\==" +syn match abelAssignmentOperator "?:=" +syn match abelTruthTableOperator "->" + +" signal extensions +syn match abelExtension "\.aclr\>" +syn match abelExtension "\.aset\>" +syn match abelExtension "\.clk\>" +syn match abelExtension "\.clr\>" +syn match abelExtension "\.com\>" +syn match abelExtension "\.fb\>" +syn match abelExtension "\.[co]e\>" +syn match abelExtension "\.l[eh]\>" +syn match abelExtension "\.fc\>" +syn match abelExtension "\.pin\>" +syn match abelExtension "\.set\>" +syn match abelExtension "\.[djksrtq]\>" +syn match abelExtension "\.pr\>" +syn match abelExtension "\.re\>" +syn match abelExtension "\.a[pr]\>" +syn match abelExtension "\.s[pr]\>" + +" special constants +syn match abelConstant "\.[ckudfpxz]\." +syn match abelConstant "\.sv[2-9]\." + +" one-line comments +syn region abelComment start=+"+ end=+"\|$+ contains=abelNumber,abelTodo +" option to prevent C++ style comments +if !exists("abel_cpp_comments_illegal") +  syn region abelComment start=+//+ end=+$+ contains=abelNumber,abelTodo +endif + +syn sync minlines=1 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +" The default highlighting. +hi def link abelHeader		abelStatement +hi def link abelSection		abelStatement +hi def link abelDeclaration	abelStatement +hi def link abelLogicalOperator	abelOperator +hi def link abelRangeOperator	abelOperator +hi def link abelAlternateOperator	abelOperator +hi def link abelArithmeticOperator	abelOperator +hi def link abelRelationalOperator	abelOperator +hi def link abelAssignmentOperator	abelOperator +hi def link abelTruthTableOperator	abelOperator +hi def link abelSpecifier		abelStatement +hi def link abelOperator		abelStatement +hi def link abelStatement		Statement +hi def link abelIdentifier		Identifier +hi def link abelTypeId		abelType +hi def link abelTypeIdChar		abelType +hi def link abelType		Type +hi def link abelNumber		abelString +hi def link abelString		String +hi def link abelConstant		Constant +hi def link abelComment		Comment +hi def link abelExtension		abelSpecial +hi def link abelSpecialChar	abelSpecial +hi def link abelTypeIdEnd		abelSpecial +hi def link abelSpecial		Special +hi def link abelDirective		PreProc +hi def link abelTodo		Todo +hi def link abelError		Error + + +let b:current_syntax = "abel" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim:ts=8 + +endif diff --git a/syntax/acedb.vim b/syntax/acedb.vim new file mode 100644 index 00000000..b382bdd3 --- /dev/null +++ b/syntax/acedb.vim @@ -0,0 +1,114 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'acedb') == -1 + +" Vim syntax file +" Language:	AceDB model files +" Maintainer:	Stewart Morris (Stewart.Morris@ed.ac.uk) +" Last change:	Thu Apr 26 10:38:01 BST 2001 +" URL:		http://www.ed.ac.uk/~swmorris/vim/acedb.vim + +" Syntax file to handle all $ACEDB/wspec/*.wrm files, primarily models.wrm +" AceDB software is available from http://www.acedb.org + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +syn keyword	acedbXref	XREF +syn keyword	acedbModifier	UNIQUE REPEAT + +syn case ignore +syn keyword	acedbModifier	Constraints +syn keyword	acedbType	DateType Int Text Float + +" Magic tags from: http://genome.cornell.edu/acedocs/magic/summary.html +syn keyword	acedbMagic	pick_me_to_call No_cache Non_graphic Title +syn keyword	acedbMagic	Flipped Centre Extent View Default_view +syn keyword	acedbMagic	From_map Minimal_view Main_Marker Map Includes +syn keyword	acedbMagic	Mapping_data More_data Position Ends Left Right +syn keyword	acedbMagic	Multi_Position Multi_Ends With Error Relative +syn keyword	acedbMagic	Min Anchor Gmap Grid_map Grid Submenus Cambridge +syn keyword	acedbMagic	No_buttons Columns Colour Surround_colour Tag +syn keyword	acedbMagic	Scale_unit Cursor Cursor_on Cursor_unit +syn keyword	acedbMagic	Locator Magnification Projection_lines_on +syn keyword	acedbMagic	Marker_points Marker_intervals Contigs +syn keyword	acedbMagic	Physical_genes Two_point Multi_point Likelihood +syn keyword	acedbMagic	Point_query Point_yellow Point_width +syn keyword	acedbMagic	Point_pne Point_pe Point_nne Point_ne +syn keyword	acedbMagic	Derived_tags DT_query DT_width DT_no_duplicates +syn keyword	acedbMagic	RH_data RH_query RH_spacing RH_show_all +syn keyword	acedbMagic	Names_on Width Symbol Colours Pne Pe Nne pMap +syn keyword	acedbMagic	Sequence Gridded FingerPrint In_Situ Cosmid_grid +syn keyword	acedbMagic	Layout Lines_at Space_at No_stagger A1_labelling +syn keyword	acedbMagic	DNA Structure From Source Source_Exons +syn keyword	acedbMagic	Coding CDS Transcript Assembly_tags Allele +syn keyword	acedbMagic	Display Colour Frame_sensitive Strand_sensitive +syn keyword	acedbMagic	Score_bounds Percent Bumpable Width Symbol +syn keyword	acedbMagic	Blixem_N Address E_mail Paper Reference Title +syn keyword	acedbMagic	Point_1 Point_2 Calculation Full One_recombinant +syn keyword	acedbMagic	Tested Selected_trans Backcross Back_one +syn keyword	acedbMagic	Dom_semi Dom_let Direct Complex_mixed Calc +syn keyword	acedbMagic	Calc_upper_conf Item_1 Item_2 Results A_non_B +syn keyword	acedbMagic	Score Score_by_offset Score_by_width +syn keyword	acedbMagic	Right_priority Blastn Blixem Blixem_X +syn keyword	acedbMagic	Journal Year Volume Page Author +syn keyword	acedbMagic	Selected One_all Recs_all One_let +syn keyword	acedbMagic	Sex_full Sex_one Sex_cis Dom_one Dom_selected +syn keyword	acedbMagic	Calc_distance Calc_lower_conf Canon_for_cosmid +syn keyword	acedbMagic	Reversed_physical Points Positive Negative +syn keyword	acedbMagic	Point_error_scale Point_segregate_ordered +syn keyword	acedbMagic	Point_symbol Interval_JTM Interval_RD +syn keyword	acedbMagic	EMBL_feature Homol Feature +syn keyword	acedbMagic	DT_tag Spacer Spacer_colour Spacer_width +syn keyword	acedbMagic	RH_positive RH_negative RH_contradictory Query +syn keyword	acedbMagic	Clone Y_remark PCR_remark Hybridizes_to +syn keyword	acedbMagic	Row Virtual_row Mixed In_pool Subpool B_non_A +syn keyword	acedbMagic	Interval_SRK Point_show_marginal Subsequence +syn keyword	acedbMagic	Visible Properties Transposon + +syn match	acedbClass	"^?\w\+\|^#\w\+" +syn match	acedbComment	"//.*" +syn region	acedbComment	start="/\*" end="\*/" +syn match	acedbComment	"^#\W.*" +syn match	acedbHelp	"^\*\*\w\+$" +syn match	acedbTag	"[^^]?\w\+\|[^^]#\w\+" +syn match	acedbBlock	"//#.\+#$" +syn match	acedbOption	"^_[DVH]\S\+" +syn match	acedbFlag	"\s\+-\h\+" +syn match	acedbSubclass	"^Class" +syn match	acedbSubtag	"^Visible\|^Is_a_subclass_of\|^Filter\|^Hidden" +syn match	acedbNumber	"\<\d\+\>" +syn match	acedbNumber	"\<\d\+\.\d\+\>" +syn match	acedbHyb	"\<Positive_\w\+\>\|\<Negative\w\+\>" +syn region	acedbString	start=/"/ end=/"/ skip=/\\"/ oneline + +" Rest of syntax highlighting rules start here + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link acedbMagic	Special +hi def link acedbHyb	Special +hi def link acedbType	Type +hi def link acedbOption	Type +hi def link acedbSubclass	Type +hi def link acedbSubtag	Include +hi def link acedbFlag	Include +hi def link acedbTag	Include +hi def link acedbClass	Todo +hi def link acedbHelp	Todo +hi def link acedbXref	Identifier +hi def link acedbModifier	Label +hi def link acedbComment	Comment +hi def link acedbBlock	ModeMsg +hi def link acedbNumber	Number +hi def link acedbString	String + + +let b:current_syntax = "acedb" + +" The structure of the model.wrm file is sensitive to mixed tab and space +" indentation and assumes tabs are 8 so... +se ts=8 + +endif diff --git a/syntax/ada.vim b/syntax/ada.vim new file mode 100644 index 00000000..f8093d8a --- /dev/null +++ b/syntax/ada.vim @@ -0,0 +1,372 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ada') == -1 + +"---------------------------------------------------------------------------- +"  Description: Vim Ada syntax file +"     Language: Ada (2005) +"	   $Id: ada.vim 887 2008-07-08 14:29:01Z krischik $ +"    Copyright: Copyright (C) 2006 Martin Krischik +"   Maintainer: Martin Krischik +"		David A. Wheeler <dwheeler@dwheeler.com> +"		Simon Bradley <simon.bradley@pitechnology.com> +" Contributors: Preben Randhol. +"      $Author: krischik $ +"	 $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $ +"      Version: 4.6 +"    $Revision: 887 $ +"     $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/syntax/ada.vim $ +"		http://www.dwheeler.com/vim +"      History: 24.05.2006 MK Unified Headers +"		26.05.2006 MK ' should not be in iskeyword. +"		16.07.2006 MK Ada-Mode as vim-ball +"		02.10.2006 MK Better folding. +"		15.10.2006 MK Bram's suggestion for runtime integration +"		05.11.2006 MK Spell check for comments and strings only +"		05.11.2006 MK Bram suggested to save on spaces +"    Help Page: help ft-ada-syntax +"------------------------------------------------------------------------------ +" The formal spec of Ada 2005 (ARM) is the "Ada 2005 Reference Manual". +" For more Ada 2005 info, see http://www.gnuada.org and http://www.adapower.com. +" +" This vim syntax file works on vim 7.0 only and makes use of most of Voim 7.0  +" advanced features. +"------------------------------------------------------------------------------ + +if exists("b:current_syntax") || version < 700 +    finish +endif +let s:keepcpo= &cpo +set cpo&vim + +let b:current_syntax = "ada" + +" Section: Ada is entirely case-insensitive. {{{1 +" +syntax   case ignore + +" Section: Highlighting commands {{{1 +" +" There are 72 reserved words in total in Ada2005. Some keywords are +" used in more than one way. For example: +" 1. "end" is a general keyword, but "end if" ends a Conditional. +" 2. "then" is a conditional, but "and then" is an operator. +" +for b:Item in g:ada#Keywords +   " Standard Exceptions (including I/O). +   " We'll highlight the standard exceptions, similar to vim's Python mode. +   " It's possible to redefine the standard exceptions as something else, +   " but doing so is very bad practice, so simply highlighting them makes sense. +   if b:Item['kind'] == "x" +      execute "syntax keyword adaException " . b:Item['word'] +   endif +   if b:Item['kind'] == "a" +      execute 'syntax match adaAttribute "\V' . b:Item['word'] . '"' +   endif +   " We don't normally highlight types in package Standard +   " (Integer, Character, Float, etc.).  I don't think it looks good +   " with the other type keywords, and many Ada programs define +   " so many of their own types that it looks inconsistent. +   " However, if you want this highlighting, turn on "ada_standard_types". +   " For package Standard's definition, see ARM section A.1. +   if b:Item['kind'] == "t" && exists ("g:ada_standard_types") +      execute "syntax keyword adaBuiltinType " . b:Item['word'] +   endif +endfor + +" Section: others {{{1 +" +syntax keyword  adaLabel	others + +" Section: Operatoren {{{1 +" +syntax keyword  adaOperator abs mod not rem xor +syntax match    adaOperator "\<and\>" +syntax match    adaOperator "\<and\s\+then\>" +syntax match    adaOperator "\<or\>" +syntax match    adaOperator "\<or\s\+else\>" +syntax match    adaOperator "[-+*/<>&]" +syntax keyword  adaOperator ** +syntax match    adaOperator "[/<>]=" +syntax keyword  adaOperator => +syntax match    adaOperator "\.\." +syntax match    adaOperator "=" + +" Section: <> {{{1 +" +" Handle the box, <>, specially: +" +syntax keyword  adaSpecial	    <> + +" Section: rainbow color {{{1 +" +if exists("g:ada_rainbow_color") +    syntax match	adaSpecial	 "[:;.,]" +    call rainbow_parenthsis#LoadRound () +    call rainbow_parenthsis#Activate () +else +    syntax match	adaSpecial	 "[:;().,]" +endif + +" Section: := {{{1 +" +" We won't map "adaAssignment" by default, but we need to map ":=" to +" something or the "=" inside it will be mislabelled as an operator. +" Note that in Ada, assignment (:=) is not considered an operator. +" +syntax match adaAssignment		":=" + +" Section: Numbers, including floating point, exponents, and alternate bases. {{{1 +" +syntax match   adaNumber		"\<\d[0-9_]*\(\.\d[0-9_]*\)\=\([Ee][+-]\=\d[0-9_]*\)\=\>" +syntax match   adaNumber		"\<\d\d\=#\x[0-9A-Fa-f_]*\(\.\x[0-9A-Fa-f_]*\)\=#\([Ee][+-]\=\d[0-9_]*\)\=" + +" Section: Identify leading numeric signs {{{1 +" +" In "A-5" the "-" is an operator, " but in "A:=-5" the "-" is a sign. This +" handles "A3+-5" (etc.) correctly.  " This assumes that if you put a +" don't put a space after +/- when it's used " as an operator, you won't +" put a space before it either -- which is true " in code I've seen. +" +syntax match adaSign "[[:space:]<>=(,|:;&*/+-][+-]\d"lc=1,hs=s+1,he=e-1,me=e-1 + +" Section: Labels for the goto statement. {{{1 +" +syntax region  adaLabel		start="<<"  end=">>" + +" Section: Boolean Constants {{{1 +" Boolean Constants. +syntax keyword adaBoolean	true false + +" Section: Warn C/C++ {{{1 +" +" Warn people who try to use C/C++ notation erroneously: +" +syntax match adaError "//" +syntax match adaError "/\*" +syntax match adaError "==" + + +" Section: Space Errors {{{1 +" +if exists("g:ada_space_errors") +   if !exists("g:ada_no_trail_space_error") +       syntax match   adaSpaceError	 excludenl "\s\+$" +   endif +   if !exists("g:ada_no_tab_space_error") +      syntax match   adaSpaceError	 " \+\t"me=e-1 +   endif +   if !exists("g:ada_all_tab_usage") +      syntax match   adaSpecial	 "\t" +   endif +endif + +" Section: end {{{1 +" Unless special ("end loop", "end if", etc.), "end" marks the end of a +" begin, package, task etc. Assiging it to adaEnd. +syntax match    adaEnd	/\<end\>/ + +syntax keyword  adaPreproc		 pragma + +syntax keyword  adaRepeat	 exit for loop reverse while +syntax match    adaRepeat		   "\<end\s\+loop\>" + +syntax keyword  adaStatement accept delay goto raise requeue return +syntax keyword  adaStatement terminate +syntax match    adaStatement  "\<abort\>" + +" Section: Handle Ada's record keywords. {{{1 +" +" 'record' usually starts a structure, but "with null record;" does not, +" and 'end record;' ends a structure.  The ordering here is critical - +" 'record;' matches a "with null record", so make it a keyword (this can +" match when the 'with' or 'null' is on a previous line). +" We see the "end" in "end record" before the word record, so we match that +" pattern as adaStructure (and it won't match the "record;" pattern). +" +syntax match adaStructure   "\<record\>"	contains=adaRecord +syntax match adaStructure   "\<end\s\+record\>"	contains=adaRecord +syntax match adaKeyword	    "\<record;"me=e-1 + +" Section: type classes {{{1 +" +syntax keyword adaStorageClass	abstract access aliased array at constant delta +syntax keyword adaStorageClass	digits limited of private range tagged +syntax keyword adaStorageClass	interface synchronized +syntax keyword adaTypedef	subtype type + +" Section: Conditionals {{{1 +" +" "abort" after "then" is a conditional of its own. +" +syntax match    adaConditional  "\<then\>" +syntax match    adaConditional	"\<then\s\+abort\>" +syntax match    adaConditional	"\<else\>" +syntax match    adaConditional	"\<end\s\+if\>" +syntax match    adaConditional	"\<end\s\+case\>" +syntax match    adaConditional	"\<end\s\+select\>" +syntax keyword  adaConditional	if case select +syntax keyword  adaConditional	elsif when + +" Section: other keywords {{{1 +syntax match    adaKeyword	    "\<is\>" contains=adaRecord +syntax keyword  adaKeyword	    all do exception in new null out +syntax keyword  adaKeyword	    separate until overriding + +" Section: begin keywords {{{1 +" +" These keywords begin various constructs, and you _might_ want to +" highlight them differently. +" +syntax keyword  adaBegin	begin body declare entry generic +syntax keyword  adaBegin	protected renames task + +syntax match    adaBegin	"\<function\>" contains=adaFunction +syntax match    adaBegin	"\<procedure\>" contains=adaProcedure +syntax match    adaBegin	"\<package\>" contains=adaPackage + +if exists("ada_with_gnat_project_files") +   syntax keyword adaBegin	project +endif + +" Section: with, use {{{1 +" +if exists("ada_withuse_ordinary") +   " Don't be fancy. Display "with" and "use" as ordinary keywords in all cases. +   syntax keyword adaKeyword		with use +else +   " Highlight "with" and "use" clauses like C's "#include" when they're used +   " to reference other compilation units; otherwise they're ordinary keywords. +   " If we have vim 6.0 or later, we'll use its advanced pattern-matching +   " capabilities so that we won't match leading spaces. +   syntax match adaKeyword	"\<with\>" +   syntax match adaKeyword	"\<use\>" +   syntax match adaBeginWith	"^\s*\zs\(\(with\(\s\+type\)\=\)\|\(use\)\)\>" contains=adaInc +   syntax match adaSemiWith	";\s*\zs\(\(with\(\s\+type\)\=\)\|\(use\)\)\>" contains=adaInc +   syntax match adaInc		"\<with\>" contained contains=NONE +   syntax match adaInc		"\<with\s\+type\>" contained contains=NONE +   syntax match adaInc		"\<use\>" contained contains=NONE +   " Recognize "with null record" as a keyword (even the "record"). +   syntax match adaKeyword	"\<with\s\+null\s\+record\>" +   " Consider generic formal parameters of subprograms and packages as keywords. +   syntax match adaKeyword	";\s*\zswith\s\+\(function\|procedure\|package\)\>" +   syntax match adaKeyword	"^\s*\zswith\s\+\(function\|procedure\|package\)\>" +endif + +" Section: String and character constants. {{{1 +" +syntax region  adaString	contains=@Spell start=+"+ skip=+""+ end=+"+  +syntax match   adaCharacter "'.'" + +" Section: Todo (only highlighted in comments) {{{1 +" +syntax keyword adaTodo contained TODO FIXME XXX NOTE + +" Section: Comments. {{{1 +" +syntax region  adaComment  +    \ oneline  +    \ contains=adaTodo,adaLineError,@Spell +    \ start="--"  +    \ end="$" + +" Section: line errors {{{1 +" +" Note: Line errors have become quite slow with Vim 7.0 +" +if exists("g:ada_line_errors") +    syntax match adaLineError "\(^.\{79}\)\@<=."  contains=ALL containedin=ALL +endif + +" Section: syntax folding {{{1 +" +"	Syntax folding is very tricky - for now I still suggest to use +"	indent folding +" +if exists("g:ada_folding") && g:ada_folding[0] == 's' +   if stridx (g:ada_folding, 'p') >= 0 +      syntax region adaPackage +         \ start="\(\<package\s\+body\>\|\<package\>\)\s*\z(\k*\)" +         \ end="end\s\+\z1\s*;" +         \ keepend extend transparent fold contains=ALL +   endif +   if stridx (g:ada_folding, 'f') >= 0 +      syntax region adaProcedure +         \ start="\<procedure\>\s*\z(\k*\)" +         \ end="\<end\>\s\+\z1\s*;" +         \ keepend extend transparent fold contains=ALL +      syntax region adaFunction +         \ start="\<procedure\>\s*\z(\k*\)" +         \ end="end\s\+\z1\s*;" +         \ keepend extend transparent fold contains=ALL +   endif +   if stridx (g:ada_folding, 'f') >= 0 +      syntax region adaRecord +         \ start="\<is\s\+record\>" +         \ end="\<end\s\+record\>" +         \ keepend extend transparent fold contains=ALL +   endif +endif + +" Section: The default methods for highlighting. Can be overridden later. {{{1 +" +highlight def link adaCharacter	    Character +highlight def link adaComment	    Comment +highlight def link adaConditional   Conditional +highlight def link adaKeyword	    Keyword +highlight def link adaLabel	    Label +highlight def link adaNumber	    Number +highlight def link adaSign	    Number +highlight def link adaOperator	    Operator +highlight def link adaPreproc	    PreProc +highlight def link adaRepeat	    Repeat +highlight def link adaSpecial	    Special +highlight def link adaStatement	    Statement +highlight def link adaString	    String +highlight def link adaStructure	    Structure +highlight def link adaTodo	    Todo +highlight def link adaType	    Type +highlight def link adaTypedef	    Typedef +highlight def link adaStorageClass  StorageClass +highlight def link adaBoolean	    Boolean +highlight def link adaException	    Exception +highlight def link adaAttribute	    Tag +highlight def link adaInc	    Include +highlight def link adaError	    Error +highlight def link adaSpaceError    Error +highlight def link adaLineError	    Error +highlight def link adaBuiltinType   Type +highlight def link adaAssignment    Special + +" Subsection: Begin, End {{{2 +" +if exists ("ada_begin_preproc") +   " This is the old default display: +   highlight def link adaBegin   PreProc +   highlight def link adaEnd     PreProc +else +   " This is the new default display: +   highlight def link adaBegin   Keyword +   highlight def link adaEnd     Keyword +endif + + + +" Section: sync {{{1 +" +" We don't need to look backwards to highlight correctly; +" this speeds things up greatly. +syntax sync minlines=1 maxlines=1 + +let &cpo = s:keepcpo +unlet s:keepcpo + +finish " 1}}} + +"------------------------------------------------------------------------------ +"   Copyright (C) 2006	Martin Krischik +" +"   Vim is Charityware - see ":help license" or uganda.txt for licence details. +"------------------------------------------------------------------------------ +"vim: textwidth=78 nowrap tabstop=8 shiftwidth=3 softtabstop=3 noexpandtab +"vim: foldmethod=marker + +endif diff --git a/syntax/ahdl.vim b/syntax/ahdl.vim new file mode 100644 index 00000000..1457255e --- /dev/null +++ b/syntax/ahdl.vim @@ -0,0 +1,85 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ahdl') == -1 + +" Vim syn file +" Language:	Altera AHDL +" Maintainer:	John Cook <john.cook@kla-tencor.com> +" Last Change:	2001 Apr 25 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +"this language is oblivious to case. +syn case ignore + +" a bunch of keywords +syn keyword ahdlKeyword assert begin bidir bits buried case clique +syn keyword ahdlKeyword connected_pins constant defaults define design +syn keyword ahdlKeyword device else elsif end for function generate +syn keyword ahdlKeyword gnd help_id if in include input is machine +syn keyword ahdlKeyword node of options others output parameters +syn keyword ahdlKeyword returns states subdesign table then title to +syn keyword ahdlKeyword tri_state_node variable vcc when with + +" a bunch of types +syn keyword ahdlIdentifier carry cascade dffe dff exp global +syn keyword ahdlIdentifier jkffe jkff latch lcell mcell memory opendrn +syn keyword ahdlIdentifier soft srffe srff tffe tff tri wire x + +syn keyword ahdlMegafunction lpm_and lpm_bustri lpm_clshift lpm_constant +syn keyword ahdlMegafunction lpm_decode lpm_inv lpm_mux lpm_or lpm_xor +syn keyword ahdlMegafunction busmux mux + +syn keyword ahdlMegafunction divide lpm_abs lpm_add_sub lpm_compare +syn keyword ahdlMegafunction lpm_counter lpm_mult + +syn keyword ahdlMegafunction altdpram csfifo dcfifo scfifo csdpram lpm_ff +syn keyword ahdlMegafunction lpm_latch lpm_shiftreg lpm_ram_dq lpm_ram_io +syn keyword ahdlMegafunction lpm_rom lpm_dff lpm_tff clklock pll ntsc + +syn keyword ahdlTodo contained TODO + +" String contstants +syn region ahdlString start=+"+  skip=+\\"+  end=+"+ + +" valid integer number formats (decimal, binary, octal, hex) +syn match ahdlNumber '\<\d\+\>' +syn match ahdlNumber '\<b"\(0\|1\|x\)\+"' +syn match ahdlNumber '\<\(o\|q\)"\o\+"' +syn match ahdlNumber '\<\(h\|x\)"\x\+"' + +" operators +syn match   ahdlOperator "[!&#$+\-<>=?:\^]" +syn keyword ahdlOperator not and nand or nor xor xnor +syn keyword ahdlOperator mod div log2 used ceil floor + +" one line and multi-line comments +" (define these after ahdlOperator so -- overrides -) +syn match  ahdlComment "--.*" contains=ahdlNumber,ahdlTodo +syn region ahdlComment start="%" end="%" contains=ahdlNumber,ahdlTodo + +" other special characters +syn match   ahdlSpecialChar "[\[\]().,;]" + +syn sync minlines=1 + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +" The default highlighting. +hi def link ahdlNumber		ahdlString +hi def link ahdlMegafunction	ahdlIdentifier +hi def link ahdlSpecialChar	SpecialChar +hi def link ahdlKeyword		Statement +hi def link ahdlString		String +hi def link ahdlComment		Comment +hi def link ahdlIdentifier		Identifier +hi def link ahdlOperator		Operator +hi def link ahdlTodo		Todo + + +let b:current_syntax = "ahdl" +" vim:ts=8 + +endif diff --git a/syntax/aidl.vim b/syntax/aidl.vim new file mode 100644 index 00000000..d9c88ab4 --- /dev/null +++ b/syntax/aidl.vim @@ -0,0 +1,27 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'aidl') == -1 + +" Vim syntax file +" Language:	aidl (Android Interface Definition Language) +"		https://developer.android.com/guide/components/aidl +" Maintainer:	Dominique Pelle <dominique.pelle@tomtom.com> +" LastChange:	2020/07/25 + +" Quit when a syntax file was already loaded. +if exists("b:current_syntax") +   finish +endif + +source <sfile>:p:h/java.vim + +syn keyword aidlParamDir in out inout +syn keyword aidlKeyword oneway parcelable + +" Needed for the 'in', 'out', 'inout' keywords to be highlighted. +syn cluster javaTop add=aidlParamDir + +hi def link aidlParamDir StorageClass +hi def link aidlKeyword Keyword + +let b:current_syntax = "aidl" + +endif diff --git a/syntax/alsaconf.vim b/syntax/alsaconf.vim new file mode 100644 index 00000000..152c2c9f --- /dev/null +++ b/syntax/alsaconf.vim @@ -0,0 +1,53 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'alsaconf') == -1 + +" Vim syntax file +" Language:             alsaconf(8) configuration file +" Previous Maintainer:  Nikolai Weibull <now@bitwi.se> +" Latest Revision:      2006-04-19 + +if exists("b:current_syntax") +  finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword alsoconfTodo        contained FIXME TODO XXX NOTE + +syn region  alsaconfComment     display oneline +                                \ start='#' end='$' +                                \ contains=alsaconfTodo,@Spell + +syn match   alsaconfSpecialChar contained display '\\[ntvbrf]' +syn match   alsaconfSpecialChar contained display '\\\o\+' + +syn region  alsaconfString      start=+"+ skip=+\\$+ end=+"\|$+ +                                \ contains=alsaconfSpecialChar + +syn match   alsaconfSpecial     contained display 'confdir:' + +syn region  alsaconfPreProc     start='<' end='>' contains=alsaconfSpecial + +syn match   alsaconfMode        display '[+?!-]' + +syn keyword alsaconfKeyword     card default device errors files func strings +syn keyword alsaconfKeyword     subdevice type vars + +syn match   alsaconfVariables   display '@\(hooks\|func\|args\)' + +hi def link alsoconfTodo        Todo +hi def link alsaconfComment     Comment +hi def link alsaconfSpecialChar SpecialChar +hi def link alsaconfString      String +hi def link alsaconfSpecial     Special +hi def link alsaconfPreProc     PreProc +hi def link alsaconfMode        Special +hi def link alsaconfKeyword     Keyword +hi def link alsaconfVariables   Identifier + +let b:current_syntax = "alsaconf" + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/syntax/aml.vim b/syntax/aml.vim new file mode 100644 index 00000000..44f62fac --- /dev/null +++ b/syntax/aml.vim @@ -0,0 +1,148 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'aml') == -1 + +" Vim syntax file +" Language:	AML (ARC/INFO Arc Macro Language) +" Written By:	Nikki Knuit <Nikki.Knuit@gems3.gov.bc.ca> +" Maintainer:	Todd Glover <todd.glover@gems9.gov.bc.ca> +" Last Change:	2001 May 10 + +" FUTURE CODING:  Bold application commands after &sys, &tty +"		  Only highlight aml Functions at the beginning +"		    of [], in order to avoid -read highlighted, +"		    or [quote] strings highlighted + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +syn case ignore + +" ARC, ARCEDIT, ARCPLOT, LIBRARIAN, GRID, SCHEMAEDIT reserved words, +" defined as keywords. + +syn keyword amlArcCmd contained  2button abb abb[reviations] abs ac acos acosh add addc[ogoatt] addcogoatt addf[eatureclass] addh[istory] addi addim[age] addindexatt addit[em] additem addressb[uild] addressc[reate] addresse[rrors] addressedit addressm[atch] addressp[arse] addresst[est] addro[utemeasure] addroutemeasure addte[xt] addto[stack] addw[orktable] addx[y] adj[ust] adm[inlicense] adr[ggrid] ads adsa[rc] ae af ag[gregate] ai ai[request] airequest al alia[s] alig[n] alt[erarchive] am[sarc] and annoa[lignment] annoadd annocapture annocl[ip] annoco[verage] annocurve annoe[dit] annoedit annof annofeature annofit annoitem annola[yer] annole[vel] annolevel annoline annooffset annop[osition] annoplace annos[ize] annoselectfeatur annoset annosum annosymbol annot annot[ext] annotext annotype ao ap apm[ode] app[end] arc arcad[s] arcar[rows] arcc[ogo] arcdf[ad] arcdi[me] arcdl[g] arcdx[f] arced[it] arcedit arcen[dtext] arcf[ont] arcigd[s] arcige[s] arcla[bel] arcli[nes] arcma[rkers] arcmo[ss] +syn keyword amlArcCmd contained  arcpl[ot] arcplot arcpo[int] arcr[oute] arcs arcsc[itex] arcse[ction] arcsh[ape] arcsl[f] arcsn[ap] arcsp[ot] arcte[xt] arctig[er] arctin arcto[ols] arctools arcty[pe] area areaq[uery] arm arrow arrows[ize] arrowt[ype] as asc asciig[rid] asciih[elp] asciihelp asco[nnect] asconnect asd asda[tabase] asdi[sconnect] asdisconnect asel[ect] asex[ecute] asf asin asinh asp[ect] asr[eadlocks] ast[race] at atan atan2 atanh atusage aud[ittrail] autoi[ncrement] autol[ink] axis axish[atch] axisl[abels] axisr[uler] axist[ext] bac[klocksymbol] backcoverage backenvironment backnodeangleite backsymbolitem backtextitem base[select] basi[n] bat[ch] bc be be[lls] blackout blockmaj[ority] blockmax blockmea[n] blockmed[ian] blockmin blockmino[rity] blockr[ange] blockst[d] blocksu[m] blockv[ariety] bnai bou[ndaryclean] box br[ief] bsi bti buf[fer] bug[form] bugform build builds[ta] buildv[at] calco[mp] calcomp calcu[late] cali[brateroutes] calibrateroutes can[d] cartr[ead] cartread +syn keyword amlArcCmd contained  cartw[rite] cartwrite cei[l] cel[lvalue] cen[troidlabels] cgm cgme[scape] cha[nge] checkin checkinrel checkout checkoutrel chm[od] chown chownt[ransaction] chowntran chowntransaction ci ci[rcle] cir class classp[rob] classs[ig] classsample clean clear clears[elect] clip clipg[raphextent] clipm[apextent] clo[sedatabase] cntvrt co cod[efind] cog[oinverse] cogocom cogoenv cogomenu coll[ocate] color color2b[lue] color2g[reen] color2h[ue] color2r[ed] color2s[at] color2v[al] colorchart coloredit colorh[cbs] colorhcbs colu[mns] comb[ine] comm[ands] commands con connect connectu[ser] cons[ist] conto[ur] contr[olpoints] convertd[oc] convertdoc converti[mage] convertla[yer] convertli[brary] convertr[emap] convertw[orkspace] coo[rdinate] coordinate coordinates copy copyf[eatures] copyi[nfo] copyl[ayer] copyo copyo[ut] copyout copys[tack] copyw[orkspace] copyworkspace cor corr[idor] correlation cos cosh costa[llocation] costb[acklink] costd[istance] costp[ath] cou[ntvertices] +syn keyword amlArcCmd contained  countvertices cpw cr create create2[dindex] createa[ttributes] createca[talog] createco[go] createcogo createf[eature] createind[ex] createinf[otable] createlab[els] createlay[er] createli[brary] createn[etindex] creater[emap] creates[ystables] createta[blespace] createti[n] createw[orkspace] createworkspace cs culdesac curs[or] curv[ature] curve3pt cut[fill] cutoff cw cx[or] da dar[cyflow] dat[aset] dba[seinfo] dbmsc dbmsc[ursor] dbmscursor dbmse[xecute] dbmsi[nfo] dbmss[et] de delete deletea[rrows] deletet[ic] deletew[orkspace] deleteworkspace demg[rid] deml[attice] dend[rogram] densify densifya[rc] describe describea[rchive] describel[attice] describeti[n] describetr[ans] describetrans dev df[adarc] dg dif[f] digi[tizer] digt[est] dim[earc] dir dir[ectory] directory disa[blepanzoom] disconnect disconnectu[ser] disp disp[lay] display dissolve dissolvee[vents] dissolveevents dista[nce] distr[ibutebuild] div dl[garc] do doce[ll] docu[ment] document dogroup drag +syn keyword amlArcCmd contained  draw drawenvironment draworder draws[ig] drawselect drawt[raverses] drawz[oneshape] drop2[dindex] dropa[rchive] dropfeaturec[lass] dropfeatures dropfr[omstack] dropgroup droph[istory] dropind[ex] dropinf[otable] dropit[em] dropla[yer] droplib[rary] droplin[e] dropline dropn[etindex] dropt[ablespace] dropw[orktable] ds dt[edgrid] dtrans du[plicate] duplicatearcs dw dxf dxfa[rc] dxfi[nfo] dynamicpan dynpan ebe ec ed edg[esnap] edgematch editboundaryerro edit[coverage]  editdistance editf editfeature editp[lot] editplot edits[ig] editsymbol ef el[iminate] em[f] en[d] envrst envsav ep[s] eq equ[alto] er[ase] es et et[akarc] euca[llocation] eucdir[ection] eucdis[tance] eval eventa[rc] evente[nds] eventh[atch] eventi[nfo] eventlinee[ndtext] eventlines eventlinet[ext] eventlis[t] eventma[rkers] eventme[nu] eventmenu eventpoint eventpointt[ext] eventse[ction] eventso[urce] eventt[ransform] eventtransform exi[t] exp exp1[0] exp2 expa[nd] expo[rt] exten[d] external externala[ll] +syn keyword amlArcCmd contained  fd[convert] featuregroup fg fie[lddata] file fill filt[er] fix[ownership] flip flipa[ngle] float floatg[rid] floo[r] flowa[ccumulation] flowd[irection] flowl[ength] fm[od] focalf[low] focalmaj[ority] focalmax focalmea[n] focalmed[ian] focalmin focalmino[rity] focalr[ange] focalst[d] focalsu[m] focalv[ariety] fonta[rc] fontco[py] fontcr[eate] fontd[elete] fontdump fontl[oad] fontload forc[e] form[edit] formedit forms fr[equency] ge geary general[ize] generat[e] gerbera[rc] gerberr[ead] gerberread gerberw[rite] gerberwrite get getz[factor] gi gi[rasarc] gnds grai[n] graphb[ar] graphe[xtent] graphi[cs] graphicimage graphicview graphlim[its] graphlin[e] graphp[oint] graphs[hade] gray[shade] gre[aterthan] grid grida[scii] gridcl[ip] gridclip gridco[mposite] griddesk[ew] griddesp[eckle] griddi[rection] gride[dit] gridfli[p] gridflo[at] gridim[age] gridin[sert] gridl[ine] gridma[jority] gridmi[rror] gridmo[ss] gridn[et] gridnodatasymbol gridpa[int] gridpoi[nt] gridpol[y] +syn keyword amlArcCmd contained  gridq[uery] gridr[otate] gridshad[es] gridshap[e] gridshi[ft] gridw[arp] group groupb[y] gt gv gv[tolerance] ha[rdcopy] he[lp] help hid[densymbol] hig[hlow] hil[lshade] his[togram] historicalview ho[ldadjust] hpgl hpgl2 hsv2b[lue] hsv2g[reen] hsv2r[ed] ht[ml] hview ia ided[it] identif[y] identit[y] idw if igdsa[rc] igdsi[nfo] ige[sarc] il[lustrator] illustrator image imageg[rid] imagep[lot] imageplot imageview imp[ort] in index indexi[tem] info infodba[se] infodbm[s] infof[ile] init90[00] init9100 init9100b init91[00] init95[00] int intersect intersectarcs intersecte[rr] isn[ull] iso[cluster] it[ems] iview j[oinitem] join keeps keepselect keyan[gle] keyar[ea] keyb[ox] keyf[orms] keyl[ine] keym keym[arker] keymap keyp[osition] keyse[paration] keysh[ade] keyspot kill killm[ap] kr[iging] la labela[ngle] labele[rrors] labelm[arkers] labels labelsc[ale] labelsp[ot] labelt[ext] lal latticecl[ip] latticeco[ntour] latticed[em] latticem[erge] latticemarkers latticeo[perate] +syn keyword amlArcCmd contained  latticep[oly] latticerep[lace] latticeres[ample] lattices[pot] latticet[in] latticetext layer layera[nno] layerca[lculate] layerco[lumns] layerde[lete] layerdo[ts] layerdr[aw] layere[xport] layerf[ilter] layerid[entify] layerim[port] layerio[mode] layerli[st] layerloc[k] layerlog[file] layerq[uery] layerse[arch] layersp[ot] layert[ext] lc ldbmst le leadera[rrows] leaders leadersy[mbol] leadert[olerance] len[gth] les[sthan] lf lg lh li lib librari[an] library limitadjust limitautolink line line2pt linea[djustment] linecl[osureangle] linecolor linecolorr[amp] linecopy linecopyl[ayer] linedelete linedeletel[ayer] lineden[sity] linedir[ection] linedis[t] lineedit lineg[rid] lineh[ollow] lineinf[o] lineint[erval] linel[ayer] linelist linem[iterangle] lineo[ffset] linepa[ttern] linepe[n] linepu[t] linesa[ve] linesc[ale] linese[t] linesi[ze] linest[ats] linesy[mbol] linete[mplate] +syn keyword amlArcCmd contained  linety[pe] link[s] linkfeatures list listarchives listatt listc[overages] listcoverages listdbmstables listg[rids] listgrids listhistory listi[mages] listimages listinfotables listlayers listlibraries listo[utput] listse[lect] listst[acks] liststacks listtablespaces listti[ns] listtins listtr[averses] listtran listtransactions listw[orkspaces] listworkspaces lit ll ll[sfit] lla lm ln load loada[djacent] loadcolormap locko[nly] locks[ymbol] log log1[0] log2 logf[ile] logg[ing] loo[kup] lot[area] lp[os] lstk lt lts lw madditem majority majorityf[ilter] makere[gion] makero[ute] makese[ction] makest[ack] mal[ign] map mapa[ngle] mape[xtent] mapextent mapi[nfo] mapj[oin] mapl[imits] mappo[sition] mappr[ojection] mapsc[ale] mapsh[ift] mapu[nits] mapw[arp] mapz[oom] marker markera[ngle] markercolor markercolorr[amp] markercopy markercopyl[ayer] markerdelete markerdeletel[aye] markeredit markerf[ont] markeri[nfo] markerl[ayer] markerlist markerm[ask] markero[ffset] +syn keyword amlArcCmd contained  markerpa[ttern] markerpe[n] markerpu[t] markersa[ve] markersc[ale] markerse[t] markersi[ze] markersy[mbol] mas[elect] matchc[over] matchn[ode] max mb[egin] mc[opy] md[elete] me mean measure measurer[oute] measureroute med mend menu[cover] menuedit menv[ironment] merge mergeh[istory] mergev[at] mfi[t] mfr[esh] mg[roup] miadsa[rc] miadsr[ead] miadsread min minf[o] mino[rity] mir[ror] mitems mjoin ml[classify] mma[sk] mmo[ve] mn[select] mod mor[der] moran mosa[ic] mossa[rc] mossg[rid] move movee[nd] movei[tem] mp[osition] mr mr[otate] msc[ale] mse[lect] mselect mt[olerance] mu[nselect] multcurve multinv multipleadditem multipleitems multiplejoin multipleselect multprop mw[ho] nai ne near neatline neatlineg[rid] neatlineh[atch] neatlinel[abels] neatlinet[ics] new next ni[bble] nodeangleitem nodec[olor] nodee[rrors] nodem[arkers] nodep[oint] nodes nodesi[ze] nodesn[ap] nodesp[ot] nodet[ext] nor[mal] not ns[elect] oe ogrid ogridt[ool] oldwindow oo[ps] op[endatabase] or +syn keyword amlArcCmd contained  osymbol over overflow overflowa[rea] overflowp[osition] overflows[eparati] overl[ayevents] overlapsymbol overlayevents overp[ost] pagee[xtent] pages[ize] pageu[nits] pal[info] pan panview par[ticletrack] patc[h] path[distance] pe[nsize] pi[ck] pli[st] plot plotcopy plotg[erber] ploti[con] plotmany plotpanel plotsc[itex] plotsi[f] pointde[nsity] pointdist pointdista[nce] pointdo[ts] pointg[rid] pointi[nterp] pointm[arkers] pointn[ode] points pointsp[ot] pointst[ats] pointt[ext] polygonb[ordertex] polygond[ots] polygone[vents] polygonevents polygonl[ines] polygons polygonsh[ades] polygonsi[zelimit] polygonsp[ot] polygont[ext] polygr[id] polyr[egion] pop[ularity] por[ouspuff] pos pos[tscript] positions postscript pow prec[ision] prep[are] princ[omp] print product producti[nfo] project projectcom[pare] projectcop[y] projectd[efine] pul[litems] pur[gehistory] put pv q q[uit] quit rand rang[e] rank rb rc re readg[raphic] reads[elect] reb[ox] recl[ass] recoverdb rect[ify] +syn keyword amlArcCmd contained  red[o] refreshview regionb[uffer] regioncla[ss] regioncle[an] regiondi[ssolve] regiondo[ts] regione[rrors] regiong[roup] regionj[oin] regionl[ines] regionpoly regionpolyc[ount] regionpolycount regionpolyl[ist] regionpolylist regionq[uery] regions regionse[lect] regionsh[ades] regionsp[ot] regiont[ext] regionxa[rea] regionxarea regionxt[ab] regionxtab register registerd[bms] regr[ession] reindex rej[ects] rela[te] rele[ase] rem remapgrid reme[asure] remo[vescalar] remove removeback removecover removeedit removesnap removetransfer rename renamew[orkspace] renameworkspace reno[de] rep[lace] reposition resa[mple] resel[ect] reset resh[ape] restore restorearce[dit] restorearch[ive] resu[me] rgb2h[ue] rgb2s[at] rgb2v[al] rotate rotatep[lot] routea[rc] routeends routeendt[ext] routeer[rors] routeev[entspot] routeh[atch] routel[ines] routes routesp[ot] routest[ats] routet[ext] rp rs rt rt[l] rtl rv rw sa sai sample samples[ig] sav[e] savecolormap sc scal[ar] scat[tergram] +syn keyword amlArcCmd contained  scenefog sceneformat scenehaze sceneoversample sceneroll scenesave scenesize scenesky scitexl[ine] scitexpoi[nt] scitexpol[y] scitexr[ead] scitexread scitexw[rite] scitexwrite sco screenr[estore] screens[ave] sd sds sdtse[xport] sdtsim[port] sdtsin[fo] sdtsl[ist] se sea[rchtolerance] sectiona[rc] sectionends sectionendt[ext] sectionh[atch] sectionl[ines] sections sectionsn[ap] sectionsp[ot] sectiont[ext] sel select selectb[ox] selectc[ircle] selectg[et] selectm[ask] selectmode selectpoi[nt] selectpol[ygon] selectpu[t] selectt[ype] selectw[ithin] semivariogram sep[arator] separator ser[verstatus] setan[gle] setar[row] setce[ll] setcoa[lesce] setcon[nectinfo] setd[bmscheckin] setdrawsymbol sete[ditmode] setincrement setm[ask] setn[ull] setools setreference setsymbol setturn setw[indow] sext sf sfmt sfo sha shade shadea[ngle] shadeb[ackcolor] shadecolor shadecolorr[amp] shadecopy shadecopyl[ayer] shadedelete shadedeletel[ayer] shadeedit shadegrid shadei[nfo] shadela[yer] +syn keyword amlArcCmd contained  shadeli[nepattern] shadelist shadeo[ffset] shadepa[ttern] shadepe[n] shadepu[t] shadesa[ve] shadesc[ale] shadesep[aration] shadeset shadesi[ze] shadesy[mbol] shadet[ype] shapea[rc] shapef[ile] shapeg[rid] shi[ft] show showconstants showe[ditmode] shr[ink] si sin sinfo sing[leuser] sinh sink sit[e] sl slf[arc] sli[ce] slo[pe] sm smartanno snap snapc[over] snapcover snapcoverage snapenvironment snapfeatures snapitems snapo[rder] snappi[ng] snappo[ur] so[rt] sobs sos spi[der] spiraltrans spline splinem[ethod] split spot spoto[ffset] spots[ize] sproj sqr sqrt sra sre srl ss ssc ssh ssi ssky ssz sta stackh[istogram] stackprofile stacksc[attergram] stackshade stackst[ats] stati[stics] statu[s] statuscogo std stra[ighten] streamline streamlink streamo[rder] stri[pmap] subm[it] subs[elect] sum surface surfaceabbrev surfacecontours surfacedefaults surfacedrape surfaceextent surfaceinfo surfacel[ength] surfacelimits surfacemarker surfacemenu surfaceobserver surfaceprofile +syn keyword amlArcCmd contained  surfaceprojectio surfacerange surfaceresolutio surfacesave surfacescene surfaceshade surfacesighting surfacetarget surfacevalue surfaceviewfield surfaceviewshed surfacevisibility surfacexsection surfacezoom surfacezscale sv svfd svs sxs symboldump symboli[tem] symbolsa[ve] symbolsc[ale] symbolse[t] symbolset sz tab[les] tal[ly] tan tanh tc te tes[t] text textal[ignment] textan[gle] textcolor textcolorr[amp] textcop[y] textde[lete] textdi[rection] textedit textfil[e] textfit textfo[nt] textin[fo] textit[em] textj[ustificatio] textlist textm[ask] texto[ffset] textpe[n] textpr[ecision] textpu[t] textq[uality] textsa[ve] textsc[ale] textse[t] textset textsi[ze] textsl[ant] textspa[cing] textspl[ine] textst[yle] textsy[mbol] tf th thie[ssen] thin ti tics tict[ext] tigera[rc] tigert[ool] tigertool til[es] timped tin tina[rc] tinc[ontour] tinerrors tinhull tinl[attice] tinlines tinmarkers tins[pot] tinshades tintext tinv[rml] tl tm tol[erance] top[ogrid] topogridtool +syn keyword amlArcCmd contained  transa[ction] transfe[r] transfercoverage transferfeature transferitems transfersymbol transfo[rm] travrst travsav tre[nd] ts tsy tt tur[ntable] turnimpedance tut[orial] una[ry] unde[lete] undo ungenerate ungeneratet[in] unio[n] unit[s] unr[egisterdbms] unse[lect] unsp[lit] update updatei[nfoschema] updatel[abels] upo[s] us[age] v va[riety] vcgl vcgl2 veri[fy] vers[ion] vertex viewrst viewsav vip visd[ecode] visdecode vise[ncode] visencode visi[bility] vo[lume] vpfe[xport] vpfi[mport] vpfl[ist] vpft[ile] w war[p] wat[ershed] weedd[raw] weedo[perator] weedt[olerance] weedtolerance whe[re] whi[le] who wi[ndows] wm[f] wo[rkspace] workspace writec[andidates] writeg[raphic] writes[elect] wt x[or] ze[ta] zeta zi zo zonala[rea] zonalc[entroid] zonalf[ill] zonalg[eometry] zonalmaj[ority] zonalmax zonalmea[n] zonalmed[ian] zonalmin zonalmino[rity] zonalp[erimeter] zonalr[ange] zonalsta[ts] zonalstd zonalsu[m] zonalt[hickness] zonalv[ariety] zoomview zv + +" FORMEDIT reserved words, defined as keywords. + +syn keyword amlFormedCmd contained  button choice display help input slider text + +" TABLES reserved words, defined as keywords. + +syn keyword amlTabCmd contained  add additem alter asciihelp aselect at calc calculate change commands commit copy define directory dropindex dropitem erase external get help indexitem items kill list move nselect purge quit redefine rename reselect rollback save select show sort statistics unload update usagecontained + +" INFO reserved words, defined as keywords. + +syn keyword amlInfoCmd contained  accept add adir alter dialog alter alt directory aret arithmetic expressions aselect automatic return calculate cchr change options change comi cominput commands list como comoutput compile concatenate controlling defaults copy cursor data delete data entry data manipulate data retrieval data update date format datafile create datafile management decode define delimiter dfmt directory management directory display do doend documentation done end environment erase execute exiting expand export external fc files first format forms control get goto help import input form ipf internal item types items label lchar list logical expressions log merge modify options modify move next nselect output password prif print programming program protect purge query quit recase redefine relate relate release notes remark rename report options reporting report reselect reserved words restrictions run save security select set sleep sort special form spool stop items system variables take terminal types terminal time topics list type update upf + +" VTRACE reserved words, defined as keywords. + +syn keyword amlVtrCmd contained  add al arcscan arrowlength arrowwidth as aw backtrack branch bt cj clearjunction commands cs dash endofline endofsession eol eos fan fg foreground gap generalizetolerance gtol help hole js junctionsensitivity linesymbol linevariation linewidth ls lv lw markersymbol mode ms raster regionofinterest reset restore retrace roi save searchradius skip sr sta status stc std str straightenangle straightencorner straightendistance straightenrange vt vtrace + +" The AML reserved words, defined as keywords. + +syn keyword amlFunction contained  abs access acos after angrad asin atan before calc close copy cos cover coverage cvtdistance date delete dignum dir directory entryname exist[s] exp extract file filelist format formatdate full getchar getchoice getcover getdatabase getdeflayers getfile getgrid getimage getitem getlayercols getlibrary getstack getsymbol gettin getunique iacclose iacconnect iacdisconnect iacopen iacrequest index indexed info invangle invdistance iteminfo joinfile keyword length listfile listitem listunique locase log max menu min mod noecho null okangle okdistance open pathname prefix query quote quoteexists r radang random read rename response round scratchname search show sin sort sqrt subst substr suffix tan task token translate trim truncate type unquote upcase username value variable verify write + +syn keyword amlDir contained  abbreviations above all aml amlpath append arc args atool brief by call canvas cc center cl codepage commands conv_watch_to_aml coordinates cr create current cursor cwta dalines data date_format delete delvar describe dfmt digitizer display do doend dv echo else enable encode encrypt end error expansion fail file flushpoints force form format frame fullscreen function getlastpoint getpoint goto iacreturn if ignore info inform key keypad label lc left lf lg list listchar listfiles listglobal listheader listlocal listprogram listvar ll lp lr lv map matrix menu menupath menutype mess message[s] modal mouse nopaging off on others page pause pinaction popup position pt pulldown push pushpoint r repeat return right routine run runwatch rw screen seconds select self setchar severity show sidebar single size staggered station stop stripe sys system tablet tb terminal test then thread to top translate tty ty type uc ul until ur usage w warning watch when while window workspace + +syn keyword amlDir2 contained  delvar dv s set setvar sv + +syn keyword amlOutput contained  inform warning error pause stop tty ty type + + +" AML Directives: +syn match amlDirSym "&" +syn match amlDirective "&[a-zA-Z]*" contains=amlDir,amlDir2,amlDirSym + +" AML Functions +syn region amlFunc start="\[ *[a-zA-Z]*" end="\]" contains=amlFunction,amlVar +syn match amlFunc2 "\[.*\[.*\].*\]" contains=amlFunction,amlVar + +" Numbers: +"syn match amlNumber		"-\=\<[0-9]*\.\=[0-9_]\>" + +" Quoted Strings: +syn region amlQuote start=+"+ skip=+\\"+ end=+"+ contains=amlVar +syn region amlQuote start=+'+ skip=+\\'+ end=+'+ + +" ARC Application Commands only selected at the beginning of the line, +" or after a one line &if &then statement +syn match amlAppCmd "^ *[a-zA-Z]*" contains=amlArcCmd,amlInfoCmd,amlTabCmd,amlVtrCmd,amlFormedCmd +syn region amlAppCmd start="&then" end="$" contains=amlArcCmd,amlFormedCmd,amlInfoCmd,amlTabCmd,amlVtrCmd,amlFunction,amlDirective,amlVar2,amlSkip,amlVar,amlComment + +" Variables +syn region amlVar start="%" end="%" +syn region amlVar start="%" end="%" contained +syn match amlVar2 "&s [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym +syn match amlVar2 "&sv [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym +syn match amlVar2 "&set [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym +syn match amlVar2 "&setvar [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym +syn match amlVar2 "&dv [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym +syn match amlVar2 "&delvar [a-zA-Z_.0-9]*" contains=amlDir2,amlDirSym + +" Formedit 2 word commands +syn match amlFormed "^ *check box" +syn match amlFormed "^ *data list" +syn match amlFormed "^ *symbol list" + +" Tables 2 word commands +syn match amlTab "^ *q stop" +syn match amlTab "^ *quit stop" + +" Comments: +syn match amlComment "/\*.*" + +" Regions for skipping over (not highlighting) program output strings: +syn region amlSkip matchgroup=amlOutput start="&call" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&routine" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&inform" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&return &inform" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&return &warning" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&return &error" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&pause" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&stop" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&tty" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&ty" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&typ" end="$" contains=amlVar +syn region amlSkip matchgroup=amlOutput start="&type" end="$" contains=amlVar + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link amlComment	Comment +hi def link amlNumber	Number +hi def link amlQuote	String +hi def link amlVar	Identifier +hi def link amlVar2	Identifier +hi def link amlFunction	PreProc +hi def link amlDir	Statement +hi def link amlDir2	Statement +hi def link amlDirSym	Statement +hi def link amlOutput	Statement +hi def link amlArcCmd	ModeMsg +hi def link amlFormedCmd	amlArcCmd +hi def link amlTabCmd	amlArcCmd +hi def link amlInfoCmd	amlArcCmd +hi def link amlVtrCmd	amlArcCmd +hi def link amlFormed	amlArcCmd +hi def link amlTab	amlArcCmd + + +let b:current_syntax = "aml" + +endif diff --git a/syntax/ampl.vim b/syntax/ampl.vim new file mode 100644 index 00000000..699d33dc --- /dev/null +++ b/syntax/ampl.vim @@ -0,0 +1,144 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ampl') == -1 + +" Language:     ampl (A Mathematical Programming Language) +" Maintainer:   Krief David <david.krief@etu.enseeiht.fr> or <david_krief@hotmail.com> +" Last Change:  2003 May 11 + + +" quit when a syntax file was already loaded +if exists("b:current_syntax") + finish +endif + + + + +"-- +syn match   amplEntityKeyword     "\(subject to\)\|\(subj to\)\|\(s\.t\.\)" +syn keyword amplEntityKeyword	  minimize   maximize  objective + +syn keyword amplEntityKeyword	  coeff      coef      cover	    obj       default +syn keyword amplEntityKeyword	  from	     to        to_come	    net_in    net_out +syn keyword amplEntityKeyword	  dimen      dimension + + + +"-- +syn keyword amplType		  integer    binary    set	    param     var +syn keyword amplType		  node	     ordered   circular     reversed  symbolic +syn keyword amplType		  arc + + + +"-- +syn keyword amplStatement	  check      close     \display     drop      include +syn keyword amplStatement	  print      printf    quit	    reset     restore +syn keyword amplStatement	  solve      update    write	    shell     model +syn keyword amplStatement	  data	     option    let	    solution  fix +syn keyword amplStatement	  unfix      end       function     pipe      format + + + +"-- +syn keyword amplConditional	  if	     then      else	    and       or +syn keyword amplConditional	  exists     forall    in	    not       within + + + +"-- +syn keyword amplRepeat		  while      repeat    for + + + +"-- +syn keyword amplOperators	  union      diff      difference   symdiff   sum +syn keyword amplOperators	  inter      intersect intersection cross     setof +syn keyword amplOperators	  by	     less      mod	    div       product +"syn keyword amplOperators	   min	      max +"conflict between functions max, min and operators max, min + +syn match   amplBasicOperators    "||\|<=\|==\|\^\|<\|=\|!\|-\|\.\.\|:=" +syn match   amplBasicOperators    "&&\|>=\|!=\|\*\|>\|:\|/\|+\|\*\*" + + + + +"-- +syn match   amplComment		"\#.*" +syn region  amplComment		start=+\/\*+		  end=+\*\/+ + +syn region  amplStrings		start=+\'+    skip=+\\'+  end=+\'+ +syn region  amplStrings		start=+\"+    skip=+\\"+  end=+\"+ + +syn match   amplNumerics	"[+-]\=\<\d\+\(\.\d\+\)\=\([dDeE][-+]\=\d\+\)\=\>" +syn match   amplNumerics	"[+-]\=Infinity" + + +"-- +syn keyword amplSetFunction	  card	     next     nextw	  prev	    prevw +syn keyword amplSetFunction	  first      last     member	  ord	    ord0 + +syn keyword amplBuiltInFunction   abs	     acos     acosh	  alias     asin +syn keyword amplBuiltInFunction   asinh      atan     atan2	  atanh     ceil +syn keyword amplBuiltInFunction   cos	     exp      floor	  log	    log10 +syn keyword amplBuiltInFunction   max	     min      precision   round     sin +syn keyword amplBuiltInFunction   sinh	     sqrt     tan	  tanh	    trunc + +syn keyword amplRandomGenerator   Beta	     Cauchy   Exponential Gamma     Irand224 +syn keyword amplRandomGenerator   Normal     Poisson  Uniform	  Uniform01 + + + +"-- to highlight the 'dot-suffixes' +syn match   amplDotSuffix	"\h\w*\.\(lb\|ub\)"hs=e-2 +syn match   amplDotSuffix	"\h\w*\.\(lb0\|lb1\|lb2\|lrc\|ub0\)"hs=e-3 +syn match   amplDotSuffix	"\h\w*\.\(ub1\|ub2\|urc\|val\|lbs\|ubs\)"hs=e-3 +syn match   amplDotSuffix	"\h\w*\.\(init\|body\|dinit\|dual\)"hs=e-4 +syn match   amplDotSuffix	"\h\w*\.\(init0\|ldual\|slack\|udual\)"hs=e-5 +syn match   amplDotSuffix	"\h\w*\.\(lslack\|uslack\|dinit0\)"hs=e-6 + + + +"-- +syn match   amplPiecewise	"<<\|>>" + + + +"-- Todo. +syn keyword amplTodo contained	 TODO FIXME XXX + + + + + + + + + + + +" The default methods for highlighting. Can be overridden later. +hi def link amplEntityKeyword	Keyword +hi def link amplType		Type +hi def link amplStatement		Statement +hi def link amplOperators		Operator +hi def link amplBasicOperators	Operator +hi def link amplConditional	Conditional +hi def link amplRepeat		Repeat +hi def link amplStrings		String +hi def link amplNumerics		Number +hi def link amplSetFunction	Function +hi def link amplBuiltInFunction	Function +hi def link amplRandomGenerator	Function +hi def link amplComment		Comment +hi def link amplDotSuffix		Special +hi def link amplPiecewise		Special + + +let b:current_syntax = "ampl" + +" vim: ts=8 + + + +endif diff --git a/syntax/ant.vim b/syntax/ant.vim new file mode 100644 index 00000000..0930401a --- /dev/null +++ b/syntax/ant.vim @@ -0,0 +1,101 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ant') == -1 + +" Vim syntax file +" Language:	ANT build file (xml) +" Maintainer:	Johannes Zellner <johannes@zellner.org> +" Last Change:	Tue Apr 27 13:05:59 CEST 2004 +" Filenames:	build.xml +" $Id: ant.vim,v 1.1 2004/06/13 18:13:18 vimboss Exp $ + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") +    finish +endif + +let s:ant_cpo_save = &cpo +set cpo&vim + +runtime! syntax/xml.vim + +syn case ignore + +if !exists('*AntSyntaxScript') +    fun AntSyntaxScript(tagname, synfilename) +	unlet b:current_syntax +	let s:include = expand("<sfile>:p:h").'/'.a:synfilename +	if filereadable(s:include) +	    exe 'syn include @ant'.a:tagname.' '.s:include +	else +	    exe 'syn include @ant'.a:tagname." $VIMRUNTIME/syntax/".a:synfilename +	endif + +	exe 'syn region ant'.a:tagname +		    \." start=#<script[^>]\\{-}language\\s*=\\s*['\"]".a:tagname."['\"]\\(>\\|[^>]*[^/>]>\\)#" +		    \.' end=#</script>#' +		    \.' fold' +		    \.' contains=@ant'.a:tagname.',xmlCdataStart,xmlCdataEnd,xmlTag,xmlEndTag' +		    \.' keepend' +	exe 'syn cluster xmlRegionHook add=ant'.a:tagname +    endfun +endif + +" TODO: add more script languages here ? +call AntSyntaxScript('javascript', 'javascript.vim') +call AntSyntaxScript('jpython', 'python.vim') + + +syn cluster xmlTagHook add=antElement + +syn keyword antElement display WsdlToDotnet addfiles and ant antcall antstructure apply archives arg argument +syn keyword antElement display assertions attrib attribute available basename bcc blgenclient bootclasspath +syn keyword antElement display borland bottom buildnumber buildpath buildpathelement bunzip2 bzip2 cab +syn keyword antElement display catalogpath cc cccheckin cccheckout cclock ccmcheckin ccmcheckintask ccmcheckout +syn keyword antElement display ccmcreatetask ccmkattr ccmkbl ccmkdir ccmkelem ccmklabel ccmklbtype +syn keyword antElement display ccmreconfigure ccrmtype ccuncheckout ccunlock ccupdate checksum chgrp chmod +syn keyword antElement display chown classconstants classes classfileset classpath commandline comment +syn keyword antElement display compilerarg compilerclasspath concat concatfilter condition copy copydir +syn keyword antElement display copyfile coveragepath csc custom cvs cvschangelog cvspass cvstagdiff cvsversion +syn keyword antElement display daemons date defaultexcludes define delete deletecharacters deltree depend +syn keyword antElement display depends dependset depth description different dirname dirset disable dname +syn keyword antElement display doclet doctitle dtd ear echo echoproperties ejbjar element enable entity entry +syn keyword antElement display env equals escapeunicode exclude excludepackage excludesfile exec execon +syn keyword antElement display existing expandproperties extdirs extension extensionSet extensionset factory +syn keyword antElement display fail filelist filename filepath fileset filesmatch filetokenizer filter +syn keyword antElement display filterchain filterreader filters filterset filtersfile fixcrlf footer format +syn keyword antElement display from ftp generic genkey get gjdoc grant group gunzip gzip header headfilter http +syn keyword antElement display ignoreblank ilasm ildasm import importtypelib include includesfile input iplanet +syn keyword antElement display iplanet-ejbc isfalse isreference isset istrue jar jarlib-available +syn keyword antElement display jarlib-manifest jarlib-resolve java javac javacc javadoc javadoc2 jboss jdepend +syn keyword antElement display jjdoc jjtree jlink jonas jpcoverage jpcovmerge jpcovreport jsharpc jspc +syn keyword antElement display junitreport jvmarg lib libfileset linetokenizer link loadfile loadproperties +syn keyword antElement display location macrodef mail majority manifest map mapper marker mergefiles message +syn keyword antElement display metainf method mimemail mkdir mmetrics modified move mparse none not options or +syn keyword antElement display os outputproperty package packageset parallel param patch path pathconvert +syn keyword antElement display pathelement patternset permissions prefixlines present presetdef project +syn keyword antElement display property propertyfile propertyref propertyset pvcs pvcsproject record reference +syn keyword antElement display regexp rename renameext replace replacefilter replaceregex replaceregexp +syn keyword antElement display replacestring replacetoken replacetokens replacevalue replyto report resource +syn keyword antElement display revoke rmic root rootfileset rpm scp section selector sequential serverdeploy +syn keyword antElement display setproxy signjar size sleep socket soscheckin soscheckout sosget soslabel source +syn keyword antElement display sourcepath sql src srcfile srcfilelist srcfiles srcfileset sshexec stcheckin +syn keyword antElement display stcheckout stlabel stlist stringtokenizer stripjavacomments striplinebreaks +syn keyword antElement display striplinecomments style subant substitution support symlink sync sysproperty +syn keyword antElement display syspropertyset tabstospaces tag taglet tailfilter tar tarfileset target +syn keyword antElement display targetfile targetfilelist targetfileset taskdef tempfile test testlet text title +syn keyword antElement display to token tokenfilter touch transaction translate triggers trim tstamp type +syn keyword antElement display typedef unjar untar unwar unzip uptodate url user vbc vssadd vsscheckin +syn keyword antElement display vsscheckout vsscp vsscreate vssget vsshistory vsslabel waitfor war wasclasspath +syn keyword antElement display webapp webinf weblogic weblogictoplink websphere whichresource wlclasspath +syn keyword antElement display wljspc wsdltodotnet xmlcatalog xmlproperty xmlvalidate xslt zip zipfileset +syn keyword antElement display zipgroupfileset + +hi def link antElement Statement + +let b:current_syntax = "ant" + +let &cpo = s:ant_cpo_save +unlet s:ant_cpo_save + +" vim: ts=8 + +endif diff --git a/syntax/apache.vim b/syntax/apache.vim new file mode 100644 index 00000000..b515c411 --- /dev/null +++ b/syntax/apache.vim @@ -0,0 +1,205 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'apache') == -1 + +" Vim syntax file +" Language: Apache configuration (httpd.conf, srm.conf, access.conf, .htaccess) +" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz> +" License: This file can be redistribued and/or modified under the same terms +"		as Vim itself. +" Last Change: 2018-12-06 +" Notes: Last synced with apache-2.2.3, version 1.x is no longer supported +" TODO: see particular FIXME's scattered through the file +"		make it really linewise? +"		+ add `display' where appropriate + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +	finish +endif + +syn case ignore + +" Base constructs +syn match apacheComment "^\s*#.*$" contains=apacheFixme +syn match apacheUserID "#-\?\d\+\>" +syn case match +syn keyword apacheFixme FIXME TODO XXX NOT +syn case ignore +syn match apacheAnything "\s[^>]*" contained +syn match apacheError "\w\+" contained +syn region apacheString start=+"+ end=+"+ skip=+\\\\\|\\\"+ oneline + +" Following is to prevent escaped quotes from being parsed as strings. +syn match apacheSkipQuote +\\"+ + +" Core and mpm +syn keyword apacheDeclaration AccessFileName AddDefaultCharset AllowOverride AuthName AuthType ContentDigest DefaultType DocumentRoot ErrorDocument ErrorLog HostNameLookups IdentityCheck Include KeepAlive KeepAliveTimeout LimitRequestBody LimitRequestFields LimitRequestFieldsize LimitRequestLine LogLevel MaxKeepAliveRequests NameVirtualHost Options Require RLimitCPU RLimitMEM RLimitNPROC Satisfy ScriptInterpreterSource ServerAdmin ServerAlias ServerName ServerPath ServerRoot ServerSignature ServerTokens TimeOut UseCanonicalName +syn keyword apacheDeclaration AcceptPathInfo CGIMapExtension EnableMMAP FileETag ForceType LimitXMLRequestBody SetHandler SetInputFilter SetOutputFilter +syn keyword apacheDeclaration AcceptFilter AllowEncodedSlashes EnableSendfile LimitInternalRecursion TraceEnable +syn keyword apacheOption INode MTime Size +syn keyword apacheOption Any All On Off Double EMail DNS Min Minimal OS Prod ProductOnly Full +syn keyword apacheOption emerg alert crit error warn notice info debug +syn keyword apacheOption registry script inetd standalone +syn match apacheOptionOption "[+-]\?\<\(ExecCGI\|FollowSymLinks\|Includes\|IncludesNoExec\|Indexes\|MultiViews\|SymLinksIfOwnerMatch\)\>" +syn keyword apacheOption user group +syn match apacheOption "\<valid-user\>" +syn case match +syn keyword apacheMethodOption GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK contained +syn case ignore +syn match apacheSection "<\/\=\(Directory\|DirectoryMatch\|Files\|FilesMatch\|IfModule\|IfDefine\|Location\|LocationMatch\|VirtualHost\)[^>]*>" contains=apacheAnything +syn match apacheLimitSection "<\/\=\(Limit\|LimitExcept\)[^>]*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError +syn keyword apacheLimitSectionKeyword Limit LimitExcept contained +syn match apacheAuthType "AuthType\s.*$" contains=apacheAuthTypeValue +syn keyword apacheAuthTypeValue Basic Digest +syn match apacheAllowOverride "AllowOverride\s.*$" contains=apacheAllowOverrideValue,apacheComment +syn keyword apacheAllowOverrideValue AuthConfig FileInfo Indexes Limit Options contained +syn keyword apacheDeclaration CoreDumpDirectory EnableExceptionHook GracefulShutdownTimeout Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MaxSpareThreadsPerChild MinSpareThreads NumServers PidFile ScoreBoardFile SendBufferSize ServerLimit StartServers StartThreads ThreadLimit ThreadsPerChild User +syn keyword apacheDeclaration MaxThreads ThreadStackSize +syn keyword apacheDeclaration Win32DisableAcceptEx +syn keyword apacheDeclaration AssignUserId ChildPerUserId +syn keyword apacheDeclaration AcceptMutex MaxSpareServers MinSpareServers +syn keyword apacheOption flock fcntl sysvsem pthread + +" Modules +syn keyword apacheDeclaration Action Script +syn keyword apacheDeclaration Alias AliasMatch Redirect RedirectMatch RedirectTemp RedirectPermanent ScriptAlias ScriptAliasMatch +syn keyword apacheOption permanent temp seeother gone +syn keyword apacheDeclaration AuthAuthoritative AuthGroupFile AuthUserFile +syn keyword apacheDeclaration AuthBasicAuthoritative AuthBasicProvider +syn keyword apacheDeclaration AuthDigestAlgorithm AuthDigestDomain AuthDigestNcCheck AuthDigestNonceFormat AuthDigestNonceLifetime AuthDigestProvider AuthDigestQop AuthDigestShmemSize +syn keyword apacheOption none auth auth-int MD5 MD5-sess +syn match apacheSection "<\/\=\(<AuthnProviderAlias\)[^>]*>" contains=apacheAnything +syn keyword apacheDeclaration Anonymous Anonymous_Authoritative Anonymous_LogEmail Anonymous_MustGiveEmail Anonymous_NoUserID Anonymous_VerifyEmail +syn keyword apacheDeclaration AuthDBDUserPWQuery AuthDBDUserRealmQuery +syn keyword apacheDeclaration AuthDBMGroupFile AuthDBMAuthoritative +syn keyword apacheDeclaration AuthDBM TypeAuthDBMUserFile +syn keyword apacheOption default SDBM GDBM NDBM DB +syn keyword apacheDeclaration AuthDefaultAuthoritative +syn keyword apacheDeclaration AuthUserFile +syn keyword apacheDeclaration AuthLDAPBindON AuthLDAPEnabled AuthLDAPFrontPageHack AuthLDAPStartTLS +syn keyword apacheDeclaration AuthLDAPBindDN AuthLDAPBindPassword AuthLDAPCharsetConfig AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPGroupAttribute AuthLDAPGroupAttributeIsDN AuthLDAPRemoteUserIsDN AuthLDAPUrl AuthzLDAPAuthoritative +syn keyword apacheOption always never searching finding +syn keyword apacheOption ldap-user ldap-group ldap-dn ldap-attribute ldap-filter +syn keyword apacheDeclaration AuthDBMGroupFile AuthzDBMAuthoritative AuthzDBMType +syn keyword apacheDeclaration AuthzDefaultAuthoritative +syn keyword apacheDeclaration AuthGroupFile AuthzGroupFileAuthoritative +syn match apacheAllowDeny "Allow\s\+from.*$" contains=apacheAllowDenyValue,apacheComment +syn match apacheAllowDeny "Deny\s\+from.*$" contains=apacheAllowDenyValue,apacheComment +syn keyword apacheAllowDenyValue All None contained +syn match apacheOrder "^\s*Order\s.*$" contains=apacheOrderValue,apacheComment +syn keyword apacheOrderValue Deny Allow contained +syn keyword apacheDeclaration  AuthzOwnerAuthoritative +syn keyword apacheDeclaration  AuthzUserAuthoritative +syn keyword apacheDeclaration AddAlt AddAltByEncoding AddAltByType AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon HeaderName IndexIgnore IndexOptions IndexOrderDefault ReadmeName +syn keyword apacheDeclaration IndexStyleSheet +syn keyword apacheOption DescriptionWidth FancyIndexing FoldersFirst IconHeight IconsAreLinks IconWidth NameWidth ScanHTMLTitles SuppressColumnSorting SuppressDescription SuppressHTMLPreamble SuppressLastModified SuppressSize TrackModified +syn keyword apacheOption Ascending Descending Name Date Size Description +syn keyword apacheOption HTMLTable SuppressIcon SuppressRules VersionSort XHTML +syn keyword apacheOption IgnoreClient IgnoreCase ShowForbidden SuppresRules +syn keyword apacheDeclaration CacheForceCompletion CacheMaxStreamingBuffer +syn keyword apacheDeclaration CacheDefaultExpire CacheDisable CacheEnable CacheIgnoreCacheControl CacheIgnoreHeaders CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheStoreNoStore CacheStorePrivate +syn keyword apacheDeclaration MetaFiles MetaDir MetaSuffix +syn keyword apacheDeclaration ScriptLog ScriptLogLength ScriptLogBuffer +syn keyword apacheDeclaration ScriptStock +syn keyword apacheDeclaration CharsetDefault CharsetOptions CharsetSourceEnc +syn keyword apacheOption DebugLevel ImplicitAdd NoImplicitAdd +syn keyword apacheDeclaration Dav DavDepthInfinity DavMinTimeout +syn keyword apacheDeclaration DavLockDB +syn keyword apacheDeclaration DavGenericLockDB +syn keyword apacheDeclaration DBDExptime DBDKeep DBDMax DBDMin DBDParams DBDPersist DBDPrepareSQL DBDriver +syn keyword apacheDeclaration DeflateCompressionLevel DeflateBufferSize DeflateFilterNote DeflateMemLevel DeflateWindowSize +syn keyword apacheDeclaration DirectoryIndex DirectorySlash +syn keyword apacheDeclaration CacheExpiryCheck CacheGcClean CacheGcDaily CacheGcInterval CacheGcMemUsage CacheGcUnused CacheSize CacheTimeMargin +syn keyword apacheDeclaration CacheDirLength CacheDirLevels CacheMaxFileSize CacheMinFileSize CacheRoot +syn keyword apacheDeclaration DumpIOInput DumpIOOutput +syn keyword apacheDeclaration ProtocolEcho +syn keyword apacheDeclaration PassEnv SetEnv UnsetEnv +syn keyword apacheDeclaration Example +syn keyword apacheDeclaration ExpiresActive ExpiresByType ExpiresDefault +syn keyword apacheDeclaration ExtFilterDefine ExtFilterOptions +syn keyword apacheOption PreservesContentLength DebugLevel LogStderr NoLogStderr +syn match apacheOption "\<\(cmd\|mode\|intype\|outtype\|ftype\|disableenv\|enableenv\)\ze=" +syn keyword apacheDeclaration CacheFile MMapFile +syn keyword apacheDeclaration FilterChain FilterDeclare FilterProtocol FilterProvider FilterTrace +syn keyword apacheDeclaration Header +syn keyword apacheDeclaration RequestHeader +syn keyword apacheOption set unset append add +syn keyword apacheDeclaration IdentityCheck IdentityCheckTimeout +syn keyword apacheDeclaration ImapMenu ImapDefault ImapBase +syn keyword apacheOption none formatted semiformatted unformatted +syn keyword apacheOption nocontent referer error map +syn keyword apacheDeclaration SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho XBitHack +syn keyword apacheOption on off full +syn keyword apacheDeclaration AddModuleInfo +syn keyword apacheDeclaration ISAPIReadAheadBuffer ISAPILogNotSupported ISAPIAppendLogToErrors ISAPIAppendLogToQuery +syn keyword apacheDeclaration ISAPICacheFile ISAIPFakeAsync +syn keyword apacheDeclaration LDAPCertDBPath +syn keyword apacheDeclaration LDAPCacheEntries LDAPCacheTTL LDAPConnectionTimeout LDAPOpCacheEntries LDAPOpCacheTTL LDAPSharedCacheFile LDAPSharedCacheSize LDAPTrustedClientCert LDAPTrustedGlobalCert LDAPTrustedMode LDAPVerifyServerCert +syn keyword apacheOption CA_DER CA_BASE64 CA_CERT7_DB CA_SECMOD CERT_DER CERT_BASE64 CERT_KEY3_DB CERT_NICKNAME CERT_PFX KEY_DER KEY_BASE64 KEY_PFX +syn keyword apacheDeclaration BufferedLogs CookieLog CustomLog LogFormat TransferLog +syn keyword apacheDeclaration ForensicLog +syn keyword apacheDeclaration MCacheMaxObjectCount MCacheMaxObjectSize MCacheMaxStreamingBuffer MCacheMinObjectSize MCacheRemovalAlgorithm MCacheSize +syn keyword apacheDeclaration AddCharset AddEncoding AddHandler AddLanguage AddType DefaultLanguage RemoveEncoding RemoveHandler RemoveType TypesConfig +syn keyword apacheDeclaration AddInputFilter AddOutputFilter ModMimeUsePathInfo MultiviewsMatch RemoveInputFilter RemoveOutputFilter RemoveCharset +syn keyword apacheOption NegotiatedOnly Filters Handlers +syn keyword apacheDeclaration MimeMagicFile +syn keyword apacheDeclaration MMapFile +syn keyword apacheDeclaration CacheNegotiatedDocs LanguagePriority ForceLanguagePriority +syn keyword apacheDeclaration NWSSLTrustedCerts NWSSLUpgradeable SecureListen +syn keyword apacheDeclaration PerlModule PerlRequire PerlTaintCheck PerlWarn +syn keyword apacheDeclaration PerlSetVar PerlSetEnv PerlPassEnv PerlSetupEnv +syn keyword apacheDeclaration PerlInitHandler PerlPostReadRequestHandler PerlHeaderParserHandler +syn keyword apacheDeclaration PerlTransHandler PerlAccessHandler PerlAuthenHandler PerlAuthzHandler +syn keyword apacheDeclaration PerlTypeHandler PerlFixupHandler PerlHandler PerlLogHandler +syn keyword apacheDeclaration PerlCleanupHandler PerlChildInitHandler PerlChildExitHandler +syn keyword apacheDeclaration PerlRestartHandler PerlDispatchHandler +syn keyword apacheDeclaration PerlFreshRestart PerlSendHeader +syn keyword apacheDeclaration php_value php_flag php_admin_value php_admin_flag +syn match apacheSection "<\/\=\(Proxy\|ProxyMatch\)[^>]*>" contains=apacheAnything +syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPass ProxyPassMatch ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia +syn keyword apacheDeclaration RewriteBase RewriteCond RewriteEngine RewriteLock RewriteLog RewriteLogLevel RewriteMap RewriteOptions RewriteRule +syn keyword apacheOption inherit +syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase +syn keyword apacheDeclaration LoadFile LoadModule +syn keyword apacheDeclaration CheckSpelling CheckCaseOnly +syn keyword apacheDeclaration SSLCACertificateFile SSLCACertificatePath SSLCADNRequestFile SSLCADNRequestPath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLCompression SSLCryptoDevice SSLEngine SSLFIPS SSLHonorCipherOrder SSLInsecureRenegotiation SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCheckPeerCN SSLProxyCheckPeerExpire SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateChainFile SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth SSLRandomSeed SSLRenegBufferSize SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLSessionTicketKeyFile SSLSessionTickets SSLStrictSNIVHostCheck SSLUserName SSLVerifyClient SSLVerifyDepth +syn match apacheOption "[+-]\?\<\(StdEnvVars\|CompatEnvVars\|ExportCertData\|FakeBasicAuth\|StrictRequire\|OptRenegotiate\)\>" +syn keyword apacheOption builtin sem +syn match apacheOption "\(file\|exec\|egd\|dbm\|shm\):" +syn match apacheOption "[+-]\?\<\(SSLv2\|SSLv3\|TLSv1\|kRSA\|kHDr\|kDHd\|kEDH\|aNULL\|aRSA\|aDSS\|aRH\|eNULL\|DES\|3DES\|RC2\|RC4\|IDEA\|MD5\|SHA1\|SHA\|EXP\|EXPORT40\|EXPORT56\|LOW\|MEDIUM\|HIGH\|RSA\|DH\|EDH\|ADH\|DSS\|NULL\)\>" +syn keyword apacheOption optional optional_no_ca +syn keyword apacheDeclaration ExtendedStatus +syn keyword apacheDeclaration SuexecUserGroup +syn keyword apacheDeclaration UserDir +syn keyword apacheDeclaration CookieDomain CookieExpires CookieName CookieStyle CookieTracking +syn keyword apacheOption Netscape Cookie Cookie2 RFC2109 RFC2965 +syn match apacheSection "<\/\=\(<IfVersion\)[^>]*>" contains=apacheAnything +syn keyword apacheDeclaration VirtualDocumentRoot VirtualDocumentRootIP VirtualScriptAlias VirtualScriptAliasIP + +" Define the default highlighting + +hi def link apacheAllowOverride apacheDeclaration +hi def link apacheAllowOverrideValue apacheOption +hi def link apacheAuthType apacheDeclaration +hi def link apacheAuthTypeValue apacheOption +hi def link apacheOptionOption apacheOption +hi def link apacheDeclaration Function +hi def link apacheAnything apacheOption +hi def link apacheOption Number +hi def link apacheComment Comment +hi def link apacheFixme Todo +hi def link apacheLimitSectionKeyword apacheLimitSection +hi def link apacheLimitSection apacheSection +hi def link apacheSection Label +hi def link apacheMethodOption Type +hi def link apacheAllowDeny Include +hi def link apacheAllowDenyValue Identifier +hi def link apacheOrder Special +hi def link apacheOrderValue String +hi def link apacheString String +hi def link apacheError Error +hi def link apacheUserID Number + + +let b:current_syntax = "apache" + +endif diff --git a/syntax/aptconf.vim b/syntax/aptconf.vim new file mode 100644 index 00000000..4d88ce65 --- /dev/null +++ b/syntax/aptconf.vim @@ -0,0 +1,578 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'aptconf') == -1 + +" Vim syntax file +" Language:	APT config file +" Maintainer:	Yann Amar <quidame@poivron.org> +" Last Change:	2015 Dec 22 + +" quit when a syntax file was already loaded +if !exists("main_syntax") +  if exists("b:current_syntax") +    finish +  endif +  let main_syntax = 'aptconf' +endif + +let s:cpo_save = &cpo +set cpo&vim + +" Errors: +" Catch all that is not overridden by next rules/items: +syn match	aptconfError		display '[^[:blank:]]' +syn match	aptconfError		display '^[^[:blank:]][^:{]*' + +" Options: +" Define a general regular expression for the options that are not defined +" later as keywords. Following apt.conf(5), we know that options are case +" insensitive, and can contain alphanumeric characters and '/-:._+'; we +" assume that there can not be consecutive colons (::) which is used as +" syntax operator; we also assume that an option name can not start or end +" by a colon. +syn case	ignore +syn match	aptconfRegexpOpt	'[-[:alnum:]/.+_]\+\(:[-[:alnum:]/.+_]\+\)*' contained display + +" Keywords: +setlocal iskeyword+=/,-,.,_,+ +"setlocal iskeyword+=: is problematic, because of the '::' separator + +" Incomplete keywords will be treated differently than completely bad strings: +syn keyword	aptconfGroupIncomplete +	\ a[cquire] a[dequate] a[ptitude] a[ptlistbugs] d[ebtags] d[ebug] +	\ d[ir] d[pkg] d[select] o[rderlist] p[ackagemanager] p[kgcachegen] +	\ q[uiet] r[pm] s[ynaptic] u[nattended-upgrade] w[hatmaps] + +" Only the following keywords can be used at toplevel (to begin an option): +syn keyword	aptconfGroup +	\ acquire adequate apt aptitude aptlistbugs debtags debug +	\ dir dpkg dselect orderlist packagemanager pkgcachegen +	\ quiet rpm synaptic unattended-upgrade whatmaps + +" Possible options for each group: +" Acquire: {{{ +syn keyword	aptconfAcquire contained +	\ cdrom Check-Valid-Until CompressionTypes ForceHash ForceIPv4 +	\ ForceIPv6 ftp gpgv GzipIndexes http https Languages Max-ValidTime +	\ Min-ValidTime PDiffs Queue-Mode Retries Source-Symlinks + +syn keyword	aptconfAcquireCDROM contained +	\ AutoDetect CdromOnly Mount UMount + +syn keyword	aptconfAcquireCompressionTypes contained +	\ bz2 lzma gz Order + +syn keyword	aptconfAcquireFTP contained +	\ ForceExtended Passive Proxy ProxyLogin Timeout + +syn keyword	aptconfAcquireHTTP contained +	\ AllowRedirect Dl-Limit Max-Age No-Cache No-Store Pipeline-Depth +	\ Proxy ProxyAutoDetect Proxy-Auto-Detect Timeout User-Agent + +syn keyword	aptconfAcquireHTTPS contained +	\ AllowRedirect CaInfo CaPath CrlFile Dl-Limit IssuerCert Max-Age +	\ No-Cache No-Store Proxy SslCert SslForceVersion SslKey Timeout +	\ Verify-Host Verify-Peer + +syn keyword	aptconfAcquireMaxValidTime contained +	\ Debian Debian-Security + +syn keyword	aptconfAcquirePDiffs contained +	\ FileLimit SizeLimit + +syn cluster	aptconfAcquire_ contains=aptconfAcquire, +	\ aptconfAcquireCDROM,aptconfAcquireCompressionTypes,aptconfAcquireFTP, +	\ aptconfAcquireHTTP,aptconfAcquireHTTPS,aptconfAcquireMaxValidTime, +	\ aptconfAcquirePDiffs +" }}} +" Adequate: {{{ +syn keyword	aptconfAdequate contained +	\ Enabled + +syn cluster	aptconfAdequate_ contains=aptconfAdequate +" }}} +" Apt: {{{ +syn keyword	aptconfApt contained +	\ Architecture Architectures Archive Authentication AutoRemove +	\ Build-Essential Build-Profiles Cache Cache-Grow Cache-Limit +	\ Cache-Start CDROM Changelogs Clean-Installed Compressor +	\ Default-Release Force-LoopBreak Get Ignore-Hold Immediate-Configure +	\ Install-Recommends Install-Suggests Keep-Fds List-Cleanup +	\ Move-Autobit-Sections NeverAutoRemove Never-MarkAuto-Sections +	\ Periodic Status-Fd Update VersionedKernelPackages + +syn keyword	aptconfAptAuthentication contained +	\ TrustCDROM + +syn keyword	aptconfAptAutoRemove contained +	\ RecommendsImportant SuggestsImportant + +syn keyword	aptconfAptCache contained +	\ AllNames AllVersions Generate GivenOnly Important Installed NamesOnly +	\ RecurseDepends ShowFull + +syn keyword	aptconfAptCDROM contained +	\ Fast NoAct NoMount Rename + +syn keyword	aptconfAptChangelogs contained +	\ Server + +syn keyword	aptconfAptCompressor contained +	\ bzip2 gzip lzma xz + +syn keyword	aptconfAptCompressorAll contained +	\ Binary CompressArg Cost Extension Name UncompressArg + +syn keyword	aptconfAptGet contained +	\ AllowUnauthenticated Arch-Only Assume-No Assume-Yes AutomaticRemove +	\ Build-Dep-Automatic Compile Diff-Only Download Download-Only Dsc-Only +	\ Fix-Broken Fix-Missing Force-Yes HideAutoRemove Host-Architecture +	\ List-Cleanup Only-Source Print-URIs Purge ReInstall Remove +	\ Show-Upgraded Show-User-Simulation-Note Show-Versions Simulate +	\ Tar-Only Trivial-Only Upgrade + +syn keyword	aptconfAptPeriodic contained +	\ AutocleanInterval BackupArchiveInterval BackupLevel +	\ Download-Upgradeable-Packages Download-Upgradeable-Packages-Debdelta +	\ Enable MaxAge MaxSize MinAge Unattended-Upgrade Update-Package-Lists +	\ Verbose + +syn keyword	aptconfAptUpdate contained +	\ List-Refresh Pre-Invoke Post-Invoke Post-Invoke-Success + +syn cluster	aptconfApt_ contains=aptconfApt, +	\ aptconfAptAuthentication,aptconfAptAutoRemove,aptconfAptCache, +	\ aptconfAptCDROM,aptconfAptChangelogs,aptconfAptCompressor, +	\ aptconfAptCompressorAll,aptconfAptGet,aptconfAptPeriodic, +	\ aptconfAptUpdate +" }}} +" Aptitude: {{{ +syn keyword	aptconfAptitude contained +	\ Allow-Null-Upgrade Always-Use-Safe-Resolver Autoclean-After-Update +	\ Auto-Install Auto-Fix-Broken Cmdline Debtags-Binary +	\ Debtags-Update-Options Delete-Unused Delete-Unused-Pattern +	\ Display-Planned-Action Forget-New-On-Install Forget-New-On-Update +	\ Get-Root-Command Ignore-Old-Tmp Ignore-Recommends-Important +	\ Keep-Recommends Keep-Suggests Keep-Unused-Pattern LockFile Log +	\ Logging Parse-Description-Bullets Pkg-Display-Limit ProblemResolver +	\ Purge-Unused Recommends-Important Safe-Resolver Screenshot Sections +	\ Simulate Spin-Interval Suggests-Important Suppress-Read-Only-Warning +	\ Theme Track-Dselect-State UI Warn-Not-Root + +syn keyword	aptconfAptitudeCmdline contained +	\ Always-Prompt Assume-Yes Disable-Columns Download-Only Fix-Broken +	\ Ignore-Trust-Violations Package-Display-Format Package-Display-Width +	\ Progress Request-Strictness Resolver-Debug Resolver-Dump +	\ Resolver-Show-Steps Safe-Upgrade Show-Deps Show-Size-Changes +	\ Show-Versions Show-Why Simulate Verbose Version-Display-Format +	\ Versions-Group-By Versions-Show-Package-Names Visual-Preview +	\ Why-Display-Mode + +syn keyword	aptconfAptitudeCmdlineProgress contained +	\ Percent-On-Right Retain-Completed + +syn keyword	aptconfAptitudeCmdlineSafeUpgrade contained +	\ No-New-Installs + +syn keyword	aptconfAptitudeLogging contained +	\ File Levels + +syn keyword	aptconfAptitudeProblemResolver contained +	\ Allow-Break-Holds BreakHoldScore Break-Hold-Level BrokenScore +	\ DefaultResolutionScore Discard-Null-Solution +	\ EssentialRemoveScore ExtraScore FullReplacementScore FutureHorizon +	\ Hints ImportantScore Infinity InstallScore Keep-All-Level KeepScore +	\ NonDefaultScore Non-Default-Level OptionalScore PreserveAutoScore +	\ PreserveManualScore RemoveScore Remove-Essential-Level Remove-Level +	\ RequiredScore ResolutionScore Safe-Level SolutionCost StandardScore +	\ StepLimit StepScore Trace-Directory Trace-File +	\ UndoFullReplacementScore UnfixedSoftScore UpgradeScore + +syn keyword	aptconfAptitudeSafeResolver contained +	\ No-New-Installs No-New-Upgrades Show-Resolver-Actions + +syn keyword	aptconfAptitudeScreenshot contained +	\ Cache-Max IncrementalLoadLimit + +syn keyword	aptconfAptitudeSections contained +	\ Descriptions Top-Sections + +syn keyword	aptconfAptitudeUI contained +	\ Advance-On-Action Auto-Show-Reasons Default-Grouping +	\ Default-Package-View Default-Preview-Grouping Default-Sorting +	\ Description-Visible-By-Default Exit-On-Last-Close Fill-Text +	\ Flat-View-As-First-View HelpBar Incremental-Search InfoAreaTabs +	\ KeyBindings MenuBar-Autohide Minibuf-Download-Bar Minibuf-Prompts +	\ New-package-Commands Package-Display-Format Package-Header-Format +	\ Package-Status-Format Pause-After-Download Preview-Limit +	\ Prompt-On-Exit Styles ViewTabs + +syn keyword	aptconfAptitudeUIKeyBindings contained +	\ ApplySolution Begin BugReport Cancel Changelog ChangePkgTreeGrouping +	\ ChangePkgTreeLimit ChangePkgTreeSorting ClearAuto CollapseAll +	\ CollapseTree Commit Confirm Cycle CycleNext CycleOrder CyclePrev +	\ DelBOL DelBack DelEOL DelForward Dependencies DescriptionCycle +	\ DescriptionDown DescriptionUp DoInstallRun Down DpkgReconfigure +	\ DumpResolver EditHier End ExamineSolution ExpandAll ExpandTree +	\ FirstSolution ForbidUpgrade ForgetNewPackages Help HistoryNext +	\ HistoryPrev Hold Install InstallSingle Keep LastSolution Left +	\ LevelDown LevelUp MarkUpgradable MineFlagSquare MineLoadGame +	\ MineSaveGame MineSweepSquare MineUncoverSquare MineUncoverSweepSquare +	\ NextPage NextSolution No Parent PrevPage PrevSolution Purge +	\ PushButton Quit QuitProgram RejectBreakHolds Refresh Remove +	\ ReInstall RepeatSearchBack ReSearch ReverseDependencies Right +	\ SaveHier Search SearchBack SearchBroken SetAuto ShowHideDescription +	\ SolutionActionApprove SolutionActionReject ToggleExpanded +	\ ToggleMenuActive Undo Up UpdatePackageList Versions Yes + +syn keyword	aptconfAptitudeUIStyles contained +	\ Bullet ChangeLogNewerVersion Default DepBroken DisabledMenuEntry +	\ DownloadHit DownloadProgress EditLine Error Header HighlightedMenuBar +	\ HighlightedMenuEntry MediaChange MenuBar MenuBorder MenuEntry +	\ MineBomb MineBorder MineFlag MineNumber1 MineNumber2 MineNumber3 +	\ MineNumber4 MineNumber5 MineNumber6 MineNumber7 MineNumber8 +	\ MultiplexTab MultiplexTabHighlighted PkgBroken PkgBrokenHighlighted +	\ PkgIsInstalled PkgIsInstalledHighlighted PkgNotInstalled +	\ PkgNotInstalledHighlighted PkgToDowngrade PkgToDowngradeHighlighted +	\ PkgToHold PkgToHoldHighlighted PkgToInstall PkgToInstallHighlighted +	\ PkgToRemove PkgToRemoveHighlighted PkgToUpgrade +	\ PkgToUpgradeHighlighted Progress SolutionActionApproved +	\ SolutionActionRejected Status TreeBackground TrustWarning + +syn keyword	aptconfAptitudeUIStylesElements contained +	\ bg clear fg flip set + +syn cluster	aptconfAptitude_ contains=aptconfAptitude, +	\ aptconfAptitudeCmdline,aptconfAptitudeCmdlineProgress, +	\ aptconfAptitudeCmdlineSafeUpgrade,aptconfAptitudeLogging, +	\ aptconfAptitudeProblemResolver,aptconfAptitudeSafeResolver, +	\ aptconfAptitudeScreenshot,aptconfAptitudeSections,aptconfAptitudeUI, +	\ aptconfAptitudeUIKeyBindings,aptconfAptitudeUIStyles, +	\ aptconfAptitudeUIStylesElements +" }}} +" AptListbugs: {{{ +syn keyword	aptconfAptListbugs contained +	\ IgnoreRegexp Severities + +syn cluster	aptconfAptListbugs_ contains=aptconfAptListbugs +" }}} +" DebTags: {{{ +syn keyword	aptconfDebTags contained +	\ Vocabulary + +syn cluster	aptconfDebTags_ contains=aptconfDebTags +" }}} +" Debug: {{{ +syn keyword	aptconfDebug contained +	\ Acquire aptcdrom BuildDeps Hashes IdentCdrom Nolocking +	\ pkgAcquire pkgAutoRemove pkgCacheGen pkgDepCache pkgDPkgPM +	\ pkgDPkgProgressReporting pkgInitialize pkgOrderList +	\ pkgPackageManager pkgPolicy pkgProblemResolver RunScripts +	\ sourceList + +syn keyword	aptconfDebugAcquire contained +	\ cdrom Ftp gpgv Http Https netrc + +syn keyword	aptconfDebugPkgAcquire contained +	\ Auth Diffs RRed Worker + +syn keyword	aptconfDebugPkgDepCache contained +	\ AutoInstall Marker + +syn keyword	aptconfDebugPkgProblemResolver contained +	\ ShowScores + +syn cluster	aptconfDebug_ contains=aptconfDebug, +	\ aptconfDebugAcquire,aptconfDebugPkgAcquire,aptconfDebugPkgDepCache, +	\ aptconfDebugPkgProblemResolver +" }}} +" Dir: {{{ +syn keyword	aptconfDir contained +	\ Aptitude Bin Cache Etc Ignore-Files-Silently Log Media Parts RootDir +	\ State + +syn keyword	aptconfDirAptitude contained +	\ state + +syn keyword	aptconfDirBin contained +	\ apt-get apt-cache dpkg dpkg-buildpackage dpkg-source gpg gzip Methods +	\ solvers + +syn keyword	aptconfDirCache contained +	\ Archives Backup pkgcache srcpkgcache + +syn keyword	aptconfDirEtc contained +	\ Main Netrc Parts Preferences PreferencesParts SourceList SourceParts +	\ VendorList VendorParts Trusted TrustedParts + +syn keyword	aptconfDirLog contained +	\ History Terminal + +syn keyword	aptconfDirMedia contained +	\ MountPath + +syn keyword	aptconfDirState contained +	\ cdroms extended_states Lists mirrors preferences status + +syn cluster	aptconfDir_ contains=aptconfDir, +	\ aptconfDirAptitude,aptconfDirBin,aptconfDirCache,aptconfDirEtc, +	\ aptconfDirLog,aptconfDirMedia,aptconfDirState +" }}} +" DPkg: {{{ +syn keyword	aptconfDPkg contained +	\ Build-Options Chroot-Directory ConfigurePending FlushSTDIN +	\ MaxArgBytes MaxArgs MaxBytes NoTriggers options +	\ Pre-Install-Pkgs Pre-Invoke Post-Invoke +	\ Run-Directory StopOnError Tools TriggersPending + +syn keyword	aptconfDPkgTools contained +	\ adequate InfoFD Options Version + +syn cluster	aptconfDPkg_ contains=aptconfDPkg, +	\ aptconfDPkgTools +" }}} +" DSelect: {{{ +syn keyword	aptconfDSelect contained +	\ CheckDir Clean Options PromptAfterUpdate UpdateOptions + +syn cluster	aptconfDSelect_ contains=aptconfDSelect +" }}} +" OrderList: {{{ +syn keyword	aptconfOrderList contained +	\ Score + +syn keyword	aptconfOrderListScore contained +	\ Delete Essential Immediate PreDepends + +syn cluster	aptconfOrderList_ contains=aptconfOrderList, +	\ aptconfOrderListScore +" }}} +" PackageManager: {{{ +syn keyword	aptconfPackageManager contained +	\ Configure + +syn cluster	aptconfPackageManager_ contains=aptconfPackageManager +" }}} +" PkgCacheGen: {{{ +syn keyword	aptconfPkgCacheGen contained +	\ Essential + +syn cluster	aptconfPkgCacheGen_ contains=aptconfPkgCacheGen +" }}} +" Quiet: {{{ +syn keyword	aptconfQuiet contained +	\ NoUpdate + +syn cluster	aptconfQuiet_ contains=aptconfQuiet +" }}} +" Rpm: {{{ +syn keyword	aptconfRpm contained +	\ Post-Invoke Pre-Invoke + +syn cluster	aptconfRpm_ contains=aptconfRpm +" }}} +" Synaptic: {{{ +syn keyword	aptconfSynaptic contained +	\ AskQuitOnProceed AskRelated AutoCleanCache CleanCache DefaultDistro +	\ delAction delHistory Download-Only ftpProxy ftpProxyPort httpProxy +	\ httpProxyPort Install-Recommends LastSearchType Maximized noProxy +	\ OneClickOnStatusActions ShowAllPkgInfoInMain showWelcomeDialog +	\ ToolbarState undoStackSize update upgradeType useProxy UseStatusColors +	\ UseTerminal useUserFont useUserTerminalFont ViewMode +	\ availVerColumnPos availVerColumnVisible componentColumnPos +	\ componentColumnVisible descrColumnPos descrColumnVisible +	\ downloadSizeColumnPos downloadSizeColumnVisible hpanedPos +	\ instVerColumnPos instVerColumnVisible instSizeColumnPos +	\ instSizeColumnVisible nameColumnPos nameColumnVisible +	\ sectionColumnPos sectionColumnVisible statusColumnPos +	\ statusColumnVisible supportedColumnPos supportedColumnVisible +	\ vpanedPos windowWidth windowHeight windowX windowY closeZvt +	\ color-available color-available-locked color-broken color-downgrade +	\ color-install color-installed-locked color-installed-outdated +	\ color-installed-updated color-new color-purge color-reinstall +	\ color-remove color-upgrade + +syn keyword	aptconfSynapticUpdate contained +	\ last type + +syn cluster	aptconfSynaptic_ contains=aptconfSynaptic, +	\ aptconfSynapticUpdate +" }}} +" Unattended Upgrade: {{{ +syn keyword	aptconfUnattendedUpgrade contained +	\ AutoFixInterruptedDpkg Automatic-Reboot Automatic-Reboot-Time +	\ Automatic-Reboot-WithUsers InstallOnShutdown Mail MailOnlyOnError +	\ MinimalSteps Origins-Pattern Package-Blacklist +	\ Remove-Unused-Dependencies + +syn cluster	aptconfUnattendedUpgrade_ contains=aptconfUnattendedUpgrade +" }}} +" Whatmaps: {{{ +syn keyword	aptconfWhatmaps contained +	\ Enable-Restart Security-Update-Origins + +syn cluster	aptconfWhatmaps_ contains=aptconfWhatmaps +" }}} + +syn case	match + +" Now put all the keywords (and 'valid' options) in a single cluster: +syn cluster	aptconfOptions contains=aptconfRegexpOpt, +	\ @aptconfAcquire_,@aptconfAdequate_,@aptconfApt_,@aptconfAptitude_, +	\ @aptconfAptListbugs_,@aptconfDebTags_,@aptconfDebug_,@aptconfDir_, +	\ @aptconfDPkg_,@aptconfDSelect_,@aptconfOrderList_, +	\ @aptconfPackageManager_,@aptconfPkgCacheGen_,@aptconfQuiet_, +	\ @aptconfRpm_,@aptconfSynaptic_,@aptconfUnattendedUpgrade_, +	\ @aptconfWhatmaps_ + +" Syntax: +syn match	aptconfSemiColon	';' +syn match	aptconfDoubleColon	'::' +syn match	aptconfCurlyBraces	'[{}]' +syn region	aptconfValue		start='"' end='"' oneline display +syn region	aptconfInclude		matchgroup=aptconfOperator start='{' end='}' contains=ALLBUT,aptconfGroup,aptconfGroupIncomplete,@aptconfCommentSpecial +syn region	aptconfInclude		matchgroup=aptconfOperator start='::' end='{'me=s-1 contains=@aptconfOptions,aptconfError display +syn region	aptconfInclude		matchgroup=aptconfOperator start='::' end='::\|\s'me=s-1 oneline contains=@aptconfOptions,aptconfError display + +" Basic Syntax Errors: XXX avoid to generate false positives !!! +" +" * Undocumented inline comment. Since it is currently largely used, and does +" not seem to cause trouble ('apt-config dump' never complains when # is used +" the same way than //) it has been moved to aptconfComment group. But it +" still needs to be defined here (i.e. before #clear and #include directives) +syn match	aptconfComment		'#.*' contains=@aptconfCommentSpecial +" +" * When a semicolon is missing after a double-quoted string: +" There are some cases (for example in the Dir group of options, but not only) +" where this syntax is valid. So we don't treat it as a strict error. +syn match	aptconfAsError		display '"[^"]*"[^;]'me=e-1 +syn match	aptconfAsError		display '"[^"]*"$' +" +" * When double quotes are missing around a value (before a semicolon): +" This omission has no effect if the value is a single string (without blank +" characters). But apt.conf(5) says that quotes are required, and this item +" avoids to match unquoted keywords. +syn match	aptconfAsError		display '\s[^"[:blank:]]*[^}"];'me=e-1 +" +" * When only one double quote is missing around a value (before a semicolon): +" No comment for that: it must be highly visible. +syn match	aptconfError		display '\(\s\|;\)"[^"[:blank:]]\+;'me=e-1 +syn match	aptconfError		display '\(\s\|;\)[^"[:blank:]]\+";'me=e-1 +" +" * When space is missing between option and (quoted) value: +" TODO (partially implemented) +syn match	aptconfError		display '::[^[:blank:]]*"' + +" Special Actions: +syn match	aptconfAction		'^#\(clear\|include\)\>' +syn region	aptconfAction		matchgroup=aptconfAction start='^#clear\>' end=';'me=s-1 oneline contains=aptconfGroup,aptconfDoubleColon,@aptconfOptions +syn region	aptconfAction		matchgroup=aptconfAction start='^#include\>' end=';'me=s-1 oneline contains=aptconfRegexpOpt + +" Comments: +syn keyword	aptconfTodo		TODO FIXME NOTE XXX contained +syn cluster	aptconfCommentSpecial	contains=@Spell,aptconfTodo +syn match	aptconfComment		'//.*' contains=@aptconfCommentSpecial +syn region	aptconfComment		start='/\*' end='\*/' contains=@aptconfCommentSpecial + +" Highlight Definitions: +hi def link aptconfTodo				Todo +hi def link aptconfError			Error +hi def link aptconfComment			Comment +hi def link aptconfOperator			Operator + +hi def link aptconfAction			PreProc +hi def link aptconfOption			Type +hi def link aptconfValue			String +hi def link aptconfRegexpOpt			Normal +hi def link aptconfAsError			Special + +hi def link aptconfSemiColon			aptconfOperator +hi def link aptconfDoubleColon			aptconfOperator +hi def link aptconfCurlyBraces			aptconfOperator + +hi def link aptconfGroupIncomplete		Special +hi def link aptconfGroup			aptconfOption + +hi def link aptconfAcquire			aptconfOption +hi def link aptconfAcquireCDROM			aptconfOption +hi def link aptconfAcquireCompressionTypes	aptconfOption +hi def link aptconfAcquireFTP			aptconfOption +hi def link aptconfAcquireHTTP			aptconfOption +hi def link aptconfAcquireHTTPS			aptconfOption +hi def link aptconfAcquireMaxValidTime		aptconfOption +hi def link aptconfAcquirePDiffs		aptconfOption + +hi def link aptconfAdequate			aptconfOption + +hi def link aptconfApt				aptconfOption +hi def link aptconfAptAuthentication		aptconfOption +hi def link aptconfAptAutoRemove		aptconfOption +hi def link aptconfAptCache			aptconfOption +hi def link aptconfAptCDROM			aptconfOption +hi def link aptconfAptChangelogs		aptconfOption +hi def link aptconfAptCompressor		aptconfOption +hi def link aptconfAptCompressorAll		aptconfOption +hi def link aptconfAptGet			aptconfOption +hi def link aptconfAptPeriodic			aptconfOption +hi def link aptconfAptUpdate			aptconfOption + +hi def link aptconfAptitude			aptconfOption +hi def link aptconfAptitudeCmdline		aptconfOption +hi def link aptconfAptitudeCmdlineProgress	aptconfOption +hi def link aptconfAptitudeCmdlineSafeUpgrade	aptconfOption +hi def link aptconfAptitudeLogging		aptconfOption +hi def link aptconfAptitudeProblemResolver	aptconfOption +hi def link aptconfAptitudeSafeResolver		aptconfOption +hi def link aptconfAptitudeScreenshot		aptconfOption +hi def link aptconfAptitudeSections		aptconfOption +hi def link aptconfAptitudeUI			aptconfOption +hi def link aptconfAptitudeUIKeyBindings	aptconfOption +hi def link aptconfAptitudeUIStyles		aptconfOption +hi def link aptconfAptitudeUIStylesElements	aptconfOption + +hi def link aptconfAptListbugs			aptconfOption + +hi def link aptconfDebTags			aptconfOption + +hi def link aptconfDebug			aptconfOption +hi def link aptconfDebugAcquire			aptconfOption +hi def link aptconfDebugPkgAcquire		aptconfOption +hi def link aptconfDebugPkgDepCache		aptconfOption +hi def link aptconfDebugPkgProblemResolver	aptconfOption + +hi def link aptconfDir				aptconfOption +hi def link aptconfDirAptitude			aptconfOption +hi def link aptconfDirBin			aptconfOption +hi def link aptconfDirCache			aptconfOption +hi def link aptconfDirEtc			aptconfOption +hi def link aptconfDirLog			aptconfOption +hi def link aptconfDirMedia			aptconfOption +hi def link aptconfDirState			aptconfOption + +hi def link aptconfDPkg				aptconfOption +hi def link aptconfDPkgTools			aptconfOption + +hi def link aptconfDSelect			aptconfOption + +hi def link aptconfOrderList			aptconfOption +hi def link aptconfOrderListScore		aptconfOption + +hi def link aptconfPackageManager		aptconfOption + +hi def link aptconfPkgCacheGen			aptconfOption + +hi def link aptconfQuiet			aptconfOption + +hi def link aptconfRpm				aptconfOption + +hi def link aptconfSynaptic			aptconfOption +hi def link aptconfSynapticUpdate		aptconfOption + +hi def link aptconfUnattendedUpgrade		aptconfOption + +hi def link aptconfWhatmaps			aptconfOption + +let b:current_syntax = "aptconf" + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/syntax/arch.vim b/syntax/arch.vim new file mode 100644 index 00000000..1491b723 --- /dev/null +++ b/syntax/arch.vim @@ -0,0 +1,45 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'arch') == -1 + +" Vim syntax file +" Language:             GNU Arch inventory file +" Previous Maintainer:  Nikolai Weibull <now@bitwi.se> +" Latest Revision:      2007-06-17 + +if exists("b:current_syntax") +  finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +setlocal iskeyword+=- + +syn keyword archTodo    TODO FIXME XXX NOTE + +syn region  archComment display start='^\%(#\|\s\)' end='$' +                        \ contains=archTodo,@Spell + +syn match   archBegin   display '^' nextgroup=archKeyword,archComment + +syn keyword archKeyword contained implicit tagline explicit names +syn keyword archKeyword contained untagged-source +                        \ nextgroup=archTMethod skipwhite +syn keyword archKeyword contained exclude junk backup precious unrecognized +                        \ source nextgroup=archRegex skipwhite + +syn keyword archTMethod contained source precious backup junk unrecognized + +syn match   archRegex   contained '\s*\zs.*' + +hi def link archTodo    Todo +hi def link archComment Comment +hi def link archKeyword Keyword +hi def link archTMethod Type +hi def link archRegex   String + +let b:current_syntax = "arch" + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/syntax/art.vim b/syntax/art.vim new file mode 100644 index 00000000..0e032c2d --- /dev/null +++ b/syntax/art.vim @@ -0,0 +1,54 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'art') == -1 + +" Vim syntax file +" Language:      ART-IM and ART*Enterprise +" Maintainer:    Dorai Sitaram <ds26@gte.com> +" URL:		 http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html +" Last Change:   2011 Dec 28 by Thilo Six + +if exists("b:current_syntax") +  finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn case ignore + +syn keyword artspform => and assert bind +syn keyword artspform declare def-art-fun deffacts defglobal defrule defschema do +syn keyword artspform else for if in$ not or +syn keyword artspform progn retract salience schema test then while + +syn match artvariable "?[^ \t";()|&~]\+" + +syn match artglobalvar "?\*[^ \t";()|&~]\+\*" + +syn match artinstance "![^ \t";()|&~]\+" + +syn match delimiter "[()|&~]" + +syn region string start=/"/ skip=/\\[\\"]/ end=/"/ + +syn match number "\<[-+]\=\([0-9]\+\(\.[0-9]*\)\=\|\.[0-9]\+\)\>" + +syn match comment ";.*$" + +syn match comment "#+:\=ignore" nextgroup=artignore skipwhite skipnl + +syn region artignore start="(" end=")" contained contains=artignore,comment + +syn region artignore start=/"/ skip=/\\[\\"]/ end=/"/ contained + +hi def link artinstance type +hi def link artglobalvar preproc +hi def link artignore comment +hi def link artspform statement +hi def link artvariable function + +let b:current_syntax = "art" + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/syntax/asn.vim b/syntax/asn.vim new file mode 100644 index 00000000..55d1b1fa --- /dev/null +++ b/syntax/asn.vim @@ -0,0 +1,77 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'asn') == -1 + +" Vim syntax file +" Language:	ASN.1 +" Maintainer:	Claudio Fleiner <claudio@fleiner.com> +" URL:		http://www.fleiner.com/vim/syntax/asn.vim +" Last Change:	2012 Oct 05 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +" keyword definitions +syn keyword asnExternal		DEFINITIONS BEGIN END IMPORTS EXPORTS FROM +syn match   asnExternal		"\<IMPLICIT\s\+TAGS\>" +syn match   asnExternal		"\<EXPLICIT\s\+TAGS\>" +syn keyword asnFieldOption	DEFAULT OPTIONAL +syn keyword asnTagModifier	IMPLICIT EXPLICIT +syn keyword asnTypeInfo		ABSENT PRESENT SIZE UNIVERSAL APPLICATION PRIVATE +syn keyword asnBoolValue	TRUE FALSE +syn keyword asnNumber		MIN MAX +syn match   asnNumber		"\<PLUS-INFINITY\>" +syn match   asnNumber		"\<MINUS-INFINITY\>" +syn keyword asnType		INTEGER REAL STRING BIT BOOLEAN OCTET NULL EMBEDDED PDV +syn keyword asnType		BMPString IA5String TeletexString GeneralString GraphicString ISO646String NumericString PrintableString T61String UniversalString VideotexString VisibleString +syn keyword asnType		ANY DEFINED +syn match   asnType		"\.\.\." +syn match   asnType		"OBJECT\s\+IDENTIFIER" +syn match   asnType		"TYPE-IDENTIFIER" +syn keyword asnType		UTF8String +syn keyword asnStructure	CHOICE SEQUENCE SET OF ENUMERATED CONSTRAINED BY WITH COMPONENTS CLASS + +" Strings and constants +syn match   asnSpecial		contained "\\\d\d\d\|\\." +syn region  asnString		start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=asnSpecial +syn match   asnCharacter	"'[^\\]'" +syn match   asnSpecialCharacter "'\\.'" +syn match   asnNumber		"-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>" +syn match   asnLineComment	"--.*" +syn match   asnLineComment	"--.*--" + +syn match asnDefinition "^\s*[a-zA-Z][-a-zA-Z0-9_.\[\] \t{}]* *::="me=e-3 contains=asnType +syn match asnBraces     "[{}]" + +syn sync ccomment asnComment + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet +hi def link asnDefinition	Function +hi def link asnBraces		Function +hi def link asnStructure	Statement +hi def link asnBoolValue	Boolean +hi def link asnSpecial		Special +hi def link asnString		String +hi def link asnCharacter	Character +hi def link asnSpecialCharacter	asnSpecial +hi def link asnNumber		asnValue +hi def link asnComment		Comment +hi def link asnLineComment	asnComment +hi def link asnType		Type +hi def link asnTypeInfo		PreProc +hi def link asnValue		Number +hi def link asnExternal		Include +hi def link asnTagModifier	Function +hi def link asnFieldOption	Type + +let &cpo = s:cpo_save +unlet s:cpo_save +let b:current_syntax = "asn" + +" vim: ts=8 + +endif diff --git a/syntax/atlas.vim b/syntax/atlas.vim new file mode 100644 index 00000000..d74e9c43 --- /dev/null +++ b/syntax/atlas.vim @@ -0,0 +1,89 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'atlas') == -1 + +" Vim syntax file +" Language:	ATLAS +" Maintainer:	Inaki Saez <jisaez@sfe.indra.es> +" Last Change:	2001 May 09 + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +syn case ignore + +syn keyword atlasStatement	begin terminate +syn keyword atlasStatement	fill calculate compare +syn keyword atlasStatement	setup connect close open disconnect reset +syn keyword atlasStatement	initiate read fetch +syn keyword atlasStatement	apply measure verify remove +syn keyword atlasStatement	perform leave finish output delay +syn keyword atlasStatement	prepare execute +syn keyword atlasStatement	do +syn match atlasStatement	"\<go[	 ]\+to\>" +syn match atlasStatement	"\<wait[	 ]\+for\>" + +syn keyword atlasInclude	include +syn keyword atlasDefine		define require declare identify + +"syn keyword atlasReserved	true false go nogo hi lo via +syn keyword atlasReserved	true false + +syn keyword atlasStorageClass	external global + +syn keyword atlasConditional	if then else end +syn keyword atlasRepeat		while for thru + +" Flags BEF and statement number +syn match atlasSpecial		"^[BE ][ 0-9]\{,6}\>" + +" Number formats +syn match atlasHexNumber	"\<X'[0-9A-F]\+'" +syn match atlasOctalNumber	"\<O'[0-7]\+'" +syn match atlasBinNumber	"\<B'[01]\+'" +syn match atlasNumber		"\<\d\+\>" +"Floating point number part only +syn match atlasDecimalNumber	"\.\d\+\([eE][-+]\=\d\)\=\>" + +syn region atlasFormatString	start=+((+	end=+\())\)\|\()[	 ]*\$\)+me=e-1 +syn region atlasString		start=+\<C'+	end=+'+   oneline + +syn region atlasComment		start=+^C+	end=+\$+ +syn region atlasComment2	start=+\$.\++ms=s+1	end=+$+ oneline + +syn match  atlasIdentifier	"'[A-Za-z0-9 ._-]\+'" + +"Synchronization with Statement terminator $ +syn sync match atlasTerminator	grouphere atlasComment "^C" +syn sync match atlasTerminator	groupthere NONE "\$" +syn sync maxlines=100 + + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link atlasConditional	Conditional +hi def link atlasRepeat		Repeat +hi def link atlasStatement	Statement +hi def link atlasNumber		Number +hi def link atlasHexNumber	Number +hi def link atlasOctalNumber	Number +hi def link atlasBinNumber	Number +hi def link atlasDecimalNumber	Float +hi def link atlasFormatString	String +hi def link atlasString		String +hi def link atlasComment		Comment +hi def link atlasComment2		Comment +hi def link atlasInclude		Include +hi def link atlasDefine		Macro +hi def link atlasReserved		PreCondit +hi def link atlasStorageClass	StorageClass +hi def link atlasIdentifier	NONE +hi def link atlasSpecial		Special + + +let b:current_syntax = "atlas" + +" vim: ts=8 + +endif diff --git a/syntax/autoit.vim b/syntax/autoit.vim new file mode 100644 index 00000000..2cdac618 --- /dev/null +++ b/syntax/autoit.vim @@ -0,0 +1,1128 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'autoit') == -1 + +" Vim syntax file +" +" Language:	AutoIt v3 (http://www.autoitscript.com/autoit3/) +" Maintainer:	Jared Breland <jbreland@legroom.net> +" Authored By:	Riccardo Casini <ric@libero.it> +" Script URL:	http://www.vim.org/scripts/script.php?script_id=1239 +" ChangeLog:	Please visit the script URL for detailed change information + +" Quit when a syntax file was already loaded. +if exists("b:current_syntax") +  finish +endif +let s:keepcpo= &cpo +set cpo&vim + +let b:current_syntax = "autoit" + +" AutoIt is not case dependent +syn case ignore + +" Definitions for AutoIt reserved keywords +syn keyword autoitKeyword Default False True +syn keyword autoitKeyword Const Dim Global Local ReDim +syn keyword autoitKeyword If Else ElseIf Then EndIf +syn keyword autoitKeyword Select Switch Case EndSelect EndSwitch +syn keyword autoitKeyword Enum For In To Step Next +syn keyword autoitKeyword With While EndWith Wend Do Until +syn keyword autoitKeyword ContinueCase ContinueLoop ExitLoop Exit + +" inside script inclusion and global options +syn match autoitIncluded display contained "<[^>]*>" +syn match autoitInclude	display "^\s*#\s*include\>\s*["<]" +	\ contains=autoitIncluded,autoitString +syn match autoitInclude "^\s*#include-once\>" +syn match autoitInclude "^\s*#NoTrayIcon\>" +syn match autoitInclude "^\s*#RequireAdmin\>" + +" user-defined functions +syn keyword autoitKeyword Func ByRef EndFunc Return OnAutoItStart OnAutoItExit + +" built-in functions +" environment management +syn keyword autoitFunction ClipGet ClipPut EnvGet EnvSet EnvUpdate MemGetStats +" file, directory, and disk management +syn keyword autoitFunction ConsoleRead ConsoleWrite ConsoleWriteError +syn keyword autoitFunction DirCopy DirCreate DirGetSize DirMove DirRemove +syn keyword autoitFunction DriveGetDrive DriveGetFileSystem DriveGetLabel +	\ DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet +	\ DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus +syn keyword autoitFunction FileChangeDir FileClose FileCopy FileCreateNTFSLink +	\ FileCreateShortcut FileDelete FileExists FileFindFirstFile +	\ FileFindNextFile FileGetAttrib FileGetLongName FileGetShortcut +	\ FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall +	\ FileMove FileOpen FileOpenDialog FileRead FileReadLine FileRecycle +	\ FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib +	\ FileSetTime FileWrite FileWriteLine +syn keyword autoitFunction IniDelete IniRead IniReadSection IniReadSectionNames +	\ IniRenameSection IniWrite IniWriteSection +syn keyword autoitFunction StderrRead StdinWrite StdoutRead +" graphic and sound +syn keyword autoitFunction Beep PixelChecksum PixelGetColor PixelSearch +	\ SoundPlay SoundSetWaveVolume +" gui reference +syn keyword autoitFunction GUICreate GUIDelete GUICtrlGetHandle GUICtrlGetState +	\ GUICtrlRead GUICtrlRecvMsg GUICtrlSendMsg GUICtrlSendToDummy +	\ GUIGetCursorInfo GUIGetMsg GUIRegisterMsg GUIStartGroup GUISwitch +syn keyword autoitFunction GUICtrlCreateAvi GUICtrlCreateButton +	\ GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu +	\ GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit +	\ GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon +	\ GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList +	\ GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu +	\ GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj +	\ GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio +	\ GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem +	\ GUICtrlCreateTreeView GUICtrlCreateTreeViewItem +	\ GUICtrlCreateUpDown GUICtrlDelete +syn keyword autoitFunction GUICtrlRegisterListViewSort GUICtrlSetBkColor +	\ GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetFont +	\ GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent +	\ GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle +	\ GUICtrlSetTip +syn keyword autoitFunction GUISetBkColor GUISetCoord GUISetCursor GUISetFont +	\ GUISetHelp GUISetIcon GUISetOnEvent GUISetState +" keyboard control +syn keyword autoitFunction HotKeySet Send +" math +syn keyword autoitFunction Abs ACos ASin ATan BitAND BitNOT BitOR BitRotate +	\ BitShift BitXOR Cos Ceiling Exp Floor Log Mod Random Round Sin Sqrt +	\ SRandom Tan +" message boxes and dialogs +syn keyword autoitFunction InputBox MsgBox ProgressOff ProgressOn ProgressSet +	\ SplashImageOn SplashOff SplashTextOn ToolTip +" miscellaneous +syn keyword autoitFunction AdlibDisable AdlibEnable AutoItSetOption +	\ AutoItWinGetTitle AutoItWinSetTitle BlockInput Break Call CDTray +	\ Execute Opt SetError SetExtended +" mouse control +syn keyword autoitFunction MouseClick MouseClickDrag MouseDown MouseGetCursor +	\ MouseGetPos MouseMove MouseUp MouseWheel +" network +syn keyword autoitFunction FtpSetProxy HttpSetProxy InetGet InetGetSize Ping +	\ TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIp TCPRecv +	\ TCPSend TCPShutDown TCPStartup UDPBind UDPCloseSocket UDPOpen UDPRecv +	\ UDPSend UDPShutdown UDPStartup +" obj/com reference +syn keyword autoitFunction ObjCreate ObjEvent ObjGet ObjName +" process management +syn keyword autoitFunction DllCall DllClose DllOpen DllStructCreate +	\ DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData +	\ ProcessClose ProcessExists ProcessSetPriority ProcessList ProcessWait +	\ ProcessWaitClose Run RunAsSet RunWait ShellExecute ShellExecuteWait +	\ Shutdown +	" removed from 3.2.0 docs - PluginClose PluginOpen +" registry management +syn keyword autoitFunction RegDelete RegEnumKey RegEnumVal RegRead RegWrite +" string management +syn keyword autoitFunction StringAddCR StringFormat StringInStr StringIsAlNum +	\ StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt +	\ StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft +	\ StringLen StringLower StringMid StringRegExp StringRegExpReplace +	\ StringReplace StringRight StringSplit StringStripCR StringStripWS +	\ StringTrimLeft StringTrimRight StringUpper +" timer and delay +syn keyword autoitFunction Sleep TimerInit TimerDiff +" tray +syn keyword autoitFunction TrayCreateItem TrayCreateMenu TrayItemDelete +	\ TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent +	\ TrayItemSetState TrayItemSetText TrayGetMsg TraySetClick TraySetIcon +	\ TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip +" variables and conversions +syn keyword autoitFunction Asc Assign Binary Chr Dec Eval Hex HWnd Int IsAdmin +	\ IsArray IsBinaryString IsBool IsDeclared IsDllStruct IsFloat IsHWnd +	\ IsInt IsKeyword IsNumber IsObj IsString Number String UBound +" window management +syn keyword autoitFunction WinActivate WinActive WinClose WinExists WinFlash +	\ WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos +	\ WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList +	\ WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove +	\ WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait WinWaitActive +	\ WinWaitClose WinWaitNotActive +syn keyword autoitFunction ControlClick ControlCommand ControlDisable +	\ ControlEnable ControlFocus ControlGetFocus ControlGetHandle +	\ ControlGetPos ControlGetText ControlHide ControlListView ControlMove +	\ ControlSend ControlSetText ControlShow StatusBarGetText + +" user defined functions +" array +syn keyword autoitFunction _ArrayAdd _ArrayBinarySearch _ArrayCreate +	\ _ArrayDelete _ArrayDisplay _ArrayInsert _ArrayMax _ArrayMaxIndex +	\ _ArrayMin _ArrayMinIndex _ArrayPop _ArrayPush _ArrayReverse +	\ _ArraySearch _ArraySort _ArraySwap _ArrayToClip _ArrayToString +	\ _ArrayTrim +" color +syn keyword autoitFunction _ColorgetBlue _ColorGetGreen _ColorGetRed +" date +syn keyword autoitFunction _DateAdd _DateDayOfWeek _DateDaysInMonth _DateDiff +	\ _DateIsLeapYear _DateIsValid _DateTimeFormat _DateTimeSplit +	\ _DateToDayOfWeek _ToDayOfWeekISO _DateToDayValue _DayValueToDate _Now +	\ _NowCalc _NowCalcDate _NowDate _NowTime _SetDate _SetTime _TicksToTime +	\ _TimeToTicks _WeekNumberISO +" file +syn keyword autoitFunction _FileCountLines _FileCreate _FileListToArray +	\ _FilePrint _FileReadToArray _FileWriteFromArray _FileWriteLog +	\ _FileWriteToLine _PathFull _PathMake _PathSplit _ReplaceStringInFile +	\ _TempFile +" guicombo +syn keyword autoitFunction _GUICtrlComboAddDir _GUICtrlComboAddString +	\ _GUICtrlComboAutoComplete _GUICtrlComboDeleteString +	\ _GUICtrlComboFindString _GUICtrlComboGetCount _GUICtrlComboGetCurSel +	\ _GUICtrlComboGetDroppedControlRect _GUICtrlComboGetDroppedState +	\ _GUICtrlComboGetDroppedWidth _GUICtrlComboGetEditSel +	\ _GUICtrlComboGetExtendedUI _GUICtrlComboGetHorizontalExtent +	\ _GUICtrlComboGetItemHeight _GUICtrlComboGetLBText +	\ _GUICtrlComboGetLBTextLen _GUICtrlComboGetList _GUICtrlComboGetLocale +	\ _GUICtrlComboGetMinVisible _GUICtrlComboGetTopIndex +	\ _GUICtrlComboInitStorage _GUICtrlComboInsertString +	\ _GUICtrlComboLimitText _GUICtrlComboResetContent +	\ _GUICtrlComboSelectString _GUICtrlComboSetCurSel +	\ _GUICtrlComboSetDroppedWidth _GUICtrlComboSetEditSel +	\ _GUICtrlComboSetExtendedUI _GUICtrlComboSetHorizontalExtent +	\ _GUICtrlComboSetItemHeight _GUICtrlComboSetMinVisible +	\ _GUICtrlComboSetTopIndex _GUICtrlComboShowDropDown +" guiedit +syn keyword autoitFunction _GUICtrlEditCanUndo _GUICtrlEditEmptyUndoBuffer +	\ _GuiCtrlEditFind _GUICtrlEditGetFirstVisibleLine _GUICtrlEditGetLine +	\ _GUICtrlEditGetLineCount _GUICtrlEditGetModify _GUICtrlEditGetRect +	\ _GUICtrlEditGetSel _GUICtrlEditLineFromChar _GUICtrlEditLineIndex +	\ _GUICtrlEditLineLength _GUICtrlEditLineScroll _GUICtrlEditReplaceSel +	\ _GUICtrlEditScroll _GUICtrlEditSetModify _GUICtrlEditSetRect +	\ _GUICtrlEditSetSel _GUICtrlEditUndo +" guiipaddress +syn keyword autoitFunction _GUICtrlIpAddressClear _GUICtrlIpAddressCreate +	\ _GUICtrlIpAddressDelete _GUICtrlIpAddressGet _GUICtrlIpAddressIsBlank +	\ _GUICtrlIpAddressSet _GUICtrlIpAddressSetFocus +	\ _GUICtrlIpAddressSetFont +	\ _GUICtrlIpAddressSetRange _GUICtrlIpAddressShowHide +" guilist +syn keyword autoitFunction _GUICtrlListAddDir _GUICtrlListAddItem +	\ _GUICtrlListClear +	\ _GUICtrlListCount _GUICtrlListDeleteItem _GUICtrlListFindString +	\ _GUICtrlListGetAnchorIndex _GUICtrlListGetCaretIndex +	\ _GUICtrlListGetHorizontalExtent _GUICtrlListGetInfo +	\ _GUICtrlListGetItemRect _GUICtrlListGetLocale _GUICtrlListGetSelCount +	\ _GUICtrlListGetSelItems _GUICtrlListGetSelItemsText +	\ _GUICtrlListGetSelState _GUICtrlListGetText _GUICtrlListGetTextLen +	\ _GUICtrlListGetTopIndex _GUICtrlListInsertItem +	\ _GUICtrlListReplaceString _GUICtrlListSelectedIndex +	\ _GUICtrlListSelectIndex _GUICtrlListSelectString +	\ _GUICtrlListSelItemRange _GUICtrlListSelItemRangeEx +	\ _GUICtrlListSetAnchorIndex _GUICtrlListSetCaretIndex +	\ _GUICtrlListSetHorizontalExtent _GUICtrlListSetLocale +	\ _GUICtrlListSetSel _GUICtrlListSetTopIndex _GUICtrlListSort +	\ _GUICtrlListSwapString +" guilistview +syn keyword autoitFunction _GUICtrlListViewCopyItems +	\ _GUICtrlListViewDeleteAllItems _GUICtrlListViewDeleteColumn +	\ _GUICtrlListViewDeleteItem _GUICtrlListViewDeleteItemsSelected +	\ _GUICtrlListViewEnsureVisible _GUICtrlListViewFindItem +	\ _GUICtrlListViewGetBackColor _GUICtrlListViewGetCallBackMask +	\ _GUICtrlListViewGetCheckedState _GUICtrlListViewGetColumnOrder +	\ _GUICtrlListViewGetColumnWidth _GUICtrlListViewGetCounterPage +	\ _GUICtrlListViewGetCurSel _GUICtrlListViewGetExtendedListViewStyle +	\ _GUICtrlListViewGetHeader _GUICtrlListViewGetHotCursor +	\ _GUICtrlListViewGetHotItem _GUICtrlListViewGetHoverTime +	\ _GUICtrlListViewGetItemCount _GUICtrlListViewGetItemText +	\ _GUICtrlListViewGetItemTextArray _GUICtrlListViewGetNextItem +	\ _GUICtrlListViewGetSelectedCount _GUICtrlListViewGetSelectedIndices +	\ _GUICtrlListViewGetSubItemsCount _GUICtrlListViewGetTopIndex +	\ _GUICtrlListViewGetUnicodeFormat _GUICtrlListViewHideColumn +	\ _GUICtrlListViewInsertColumn _GUICtrlListViewInsertItem +	\ _GUICtrlListViewJustifyColumn _GUICtrlListViewScroll +	\ _GUICtrlListViewSetCheckState _GUICtrlListViewSetColumnHeaderText +	\ _GUICtrlListViewSetColumnOrder _GUICtrlListViewSetColumnWidth +	\ _GUICtrlListViewSetHotItem _GUICtrlListViewSetHoverTime +	\ _GUICtrlListViewSetItemCount _GUICtrlListViewSetItemSelState +	\ _GUICtrlListViewSetItemText _GUICtrlListViewSort +" guimonthcal +syn keyword autoitFunction _GUICtrlMonthCalGet1stDOW _GUICtrlMonthCalGetColor +	\ _GUICtrlMonthCalGetDelta _GUICtrlMonthCalGetMaxSelCount +	\ _GUICtrlMonthCalGetMaxTodayWidth _GUICtrlMonthCalGetMinReqRect +	\ _GUICtrlMonthCalSet1stDOW _GUICtrlMonthCalSetColor +	\ _GUICtrlMonthCalSetDelta _GUICtrlMonthCalSetMaxSelCount +" guislider +syn keyword autoitFunction _GUICtrlSliderClearTics _GUICtrlSliderGetLineSize +	\ _GUICtrlSliderGetNumTics _GUICtrlSliderGetPageSize +	\ _GUICtrlSliderGetPos _GUICtrlSliderGetRangeMax +	\ _GUICtrlSliderGetRangeMin _GUICtrlSliderSetLineSize +	\ _GUICtrlSliderSetPageSize _GUICtrlSliderSetPos +	\ _GUICtrlSliderSetTicFreq +" guistatusbar +syn keyword autoitFunction _GuiCtrlStatusBarCreate +	\ _GUICtrlStatusBarCreateProgress _GUICtrlStatusBarDelete +	\ _GuiCtrlStatusBarGetBorders _GuiCtrlStatusBarGetIcon +	\ _GuiCtrlStatusBarGetParts _GuiCtrlStatusBarGetRect +	\ _GuiCtrlStatusBarGetText _GuiCtrlStatusBarGetTextLength +	\ _GuiCtrlStatusBarGetTip _GuiCtrlStatusBarGetUnicode +	\ _GUICtrlStatusBarIsSimple _GuiCtrlStatusBarResize +	\ _GuiCtrlStatusBarSetBKColor _GuiCtrlStatusBarSetIcon +	\ _GuiCtrlStatusBarSetMinHeight _GUICtrlStatusBarSetParts +	\ _GuiCtrlStatusBarSetSimple _GuiCtrlStatusBarSetText +	\ _GuiCtrlStatusBarSetTip _GuiCtrlStatusBarSetUnicode +	\ _GUICtrlStatusBarShowHide  +" guitab +syn keyword autoitFunction _GUICtrlTabDeleteAllItems _GUICtrlTabDeleteItem +	\ _GUICtrlTabDeselectAll _GUICtrlTabGetCurFocus _GUICtrlTabGetCurSel +	\ _GUICtrlTabGetExtendedStyle _GUICtrlTabGetItemCount +	\ _GUICtrlTabGetItemRect _GUICtrlTabGetRowCount +	\ _GUICtrlTabGetUnicodeFormat _GUICtrlTabHighlightItem +	\ _GUICtrlTabSetCurFocus _GUICtrlTabSetCurSel +	\ _GUICtrlTabSetMinTabWidth _GUICtrlTabSetUnicodeFormat +" guitreeview +syn keyword autoitFunction _GUICtrlTreeViewDeleteAllItems +	\ _GUICtrlTreeViewDeleteItem _GUICtrlTreeViewExpand +	\ _GUICtrlTreeViewGetBkColor _GUICtrlTreeViewGetCount +	\ _GUICtrlTreeViewGetIndent _GUICtrlTreeViewGetLineColor +	\ _GUICtrlTreeViewGetParentHandle _GUICtrlTreeViewGetParentID +	\ _GUICtrlTreeViewGetState _GUICtrlTreeViewGetText +	\ _GUICtrlTreeViewGetTextColor _GUICtrlTreeViewItemGetTree +	\ _GUICtrlTreeViewInsertItem _GUICtrlTreeViewSetBkColor +	\ _GUICtrlTreeViewSetIcon _GUICtrlTreeViewSetIndent +	\ _GUICtrlTreeViewSetLineColor GUICtrlTreeViewSetState +	\ _GUICtrlTreeViewSetText _GUICtrlTreeViewSetTextColor +	\ _GUICtrlTreeViewSort +" ie +syn keyword autoitFunction _IE_Example _IE_Introduction _IE_VersionInfo +	\ _IEAction _IEAttach _IEBodyReadHTML _IEBodyReadText _IEBodyWriteHTML +	\ _IECreate _IECreateEmbedded _IEDocGetObj _IEDocInsertHTML +	\ _IEDocInsertText _IEDocReadHTML _IEDocWriteHTML +	\ _IEErrorHandlerDeRegister _IEErrorHandlerRegister _IEErrorNotify +	\ _IEFormElementCheckboxSelect _IEFormElementGetCollection +	\ _IEFormElementGetObjByName _IEFormElementGetValue +	\ _IEFormElementOptionSelect _IEFormElementRadioSelect +	\ _IEFormElementSetValue _IEFormGetCollection _IEFormGetObjByName +	\ _IEFormImageClick _IEFormReset _IEFormSubmit _IEFrameGetCollection +	\ _IEFrameGetObjByName _IEGetObjByName _IEHeadInsertEventScript +	\ _IEImgClick _IEImgGetCollection _IEIsFrameSet _IELinkClickByIndex +	\ _IELinkClickByText _IELinkGetCollection _IELoadWait _IELoadWaitTimeout +	\ _IENavigate _IEPropertyGet _IEPropertySet _IEQuit +	\ _IETableGetCollection _IETableWriteToArray _IETagNameAllGetCollection +	\  _IETagNameGetCollection +" inet +syn keyword autoitFunction _GetIP _INetExplorerCapable _INetGetSource _INetMail +	\ _INetSmtpMail _TCPIpToName +" math +syn keyword autoitFunction _Degree _MathCheckDiv _Max _Min _Radian +" miscellaneous +syn keyword autoitFunction _ChooseColor _ChooseFont _ClipPutFile _Iif +	\ _IsPressed _MouseTrap _SendMessage _Singleton +" process +syn keyword autoitFunction _ProcessGetName _ProcessGetPriority _RunDOS +" sound +syn keyword autoitFunction _SoundClose _SoundLength _SoundOpen _SoundPause +	\ _SoundPlay _SoundPos _SoundResume _SoundSeek _SoundStatus _SoundStop +" sqlite +syn keyword autoitFunction _SQLite_Changes _SQLite_Close +	\ _SQLite_Display2DResult _SQLite_Encode _SQLite_ErrCode _SQLite_ErrMsg +	\ _SQLite_Escape _SQLite_Exec _SQLite_FetchData _SQLite_FetchNames +	\ _SQLite_GetTable _SQLite_GetTable2D _SQLite_LastInsertRowID +	\ _SQLite_LibVersion _SQLite_Open _SQLite_Query _SQLite_QueryFinalize +	\ _SQLite_QueryReset _SQLite_QuerySingleRow _SQLite_SaveMode +	\ _SQLite_SetTimeout _SQLite_Shutdown _SQLite_SQLiteExe _SQLite_Startup +	\ _SQLite_TotalChanges +" string +syn keyword autoitFunction _HexToString _StringAddComma _StringBetween +	\ _StringEncrypt _StringInsert _StringProper _StringRepeat +	\ _StringReverse _StringToHex +" visa +syn keyword autoitFunction _viClose _viExecCommand _viFindGpib _viGpibBusReset +	\ _viGTL _viOpen _viSetAttribute _viSetTimeout + +" read-only macros +syn match autoitBuiltin "@AppData\(Common\)\=Dir" +syn match autoitBuiltin "@AutoItExe" +syn match autoitBuiltin "@AutoItPID" +syn match autoitBuiltin "@AutoItVersion" +syn match autoitBuiltin "@COM_EventObj" +syn match autoitBuiltin "@CommonFilesDir" +syn match autoitBuiltin "@Compiled" +syn match autoitBuiltin "@ComputerName" +syn match autoitBuiltin "@ComSpec" +syn match autoitBuiltin "@CR\(LF\)\=" +syn match autoitBuiltin "@Desktop\(Common\)\=Dir" +syn match autoitBuiltin "@DesktopDepth" +syn match autoitBuiltin "@DesktopHeight" +syn match autoitBuiltin "@DesktopRefresh" +syn match autoitBuiltin "@DesktopWidth" +syn match autoitBuiltin "@DocumentsCommonDir" +syn match autoitBuiltin "@Error" +syn match autoitBuiltin "@ExitCode" +syn match autoitBuiltin "@ExitMethod" +syn match autoitBuiltin "@Extended" +syn match autoitBuiltin "@Favorites\(Common\)\=Dir" +syn match autoitBuiltin "@GUI_CtrlId" +syn match autoitBuiltin "@GUI_CtrlHandle" +syn match autoitBuiltin "@GUI_DragId" +syn match autoitBuiltin "@GUI_DragFile" +syn match autoitBuiltin "@GUI_DropId" +syn match autoitBuiltin "@GUI_WinHandle" +syn match autoitBuiltin "@HomeDrive" +syn match autoitBuiltin "@HomePath" +syn match autoitBuiltin "@HomeShare" +syn match autoitBuiltin "@HOUR" +syn match autoitBuiltin "@HotKeyPressed" +syn match autoitBuiltin "@InetGetActive" +syn match autoitBuiltin "@InetGetBytesRead" +syn match autoitBuiltin "@IPAddress[1234]" +syn match autoitBuiltin "@KBLayout" +syn match autoitBuiltin "@LF" +syn match autoitBuiltin "@Logon\(DNS\)\=Domain" +syn match autoitBuiltin "@LogonServer" +syn match autoitBuiltin "@MDAY" +syn match autoitBuiltin "@MIN" +syn match autoitBuiltin "@MON" +syn match autoitBuiltin "@MyDocumentsDir" +syn match autoitBuiltin "@NumParams" +syn match autoitBuiltin "@OSBuild" +syn match autoitBuiltin "@OSLang" +syn match autoitBuiltin "@OSServicePack" +syn match autoitBuiltin "@OSTYPE" +syn match autoitBuiltin "@OSVersion" +syn match autoitBuiltin "@ProcessorArch" +syn match autoitBuiltin "@ProgramFilesDir" +syn match autoitBuiltin "@Programs\(Common\)\=Dir" +syn match autoitBuiltin "@ScriptDir" +syn match autoitBuiltin "@ScriptFullPath" +syn match autoitBuiltin "@ScriptLineNumber" +syn match autoitBuiltin "@ScriptName" +syn match autoitBuiltin "@SEC" +syn match autoitBuiltin "@StartMenu\(Common\)\=Dir" +syn match autoitBuiltin "@Startup\(Common\)\=Dir" +syn match autoitBuiltin "@SW_DISABLE" +syn match autoitBuiltin "@SW_ENABLE" +syn match autoitBuiltin "@SW_HIDE" +syn match autoitBuiltin "@SW_LOCK" +syn match autoitBuiltin "@SW_MAXIMIZE" +syn match autoitBuiltin "@SW_MINIMIZE" +syn match autoitBuiltin "@SW_RESTORE" +syn match autoitBuiltin "@SW_SHOW" +syn match autoitBuiltin "@SW_SHOWDEFAULT" +syn match autoitBuiltin "@SW_SHOWMAXIMIZED" +syn match autoitBuiltin "@SW_SHOWMINIMIZED" +syn match autoitBuiltin "@SW_SHOWMINNOACTIVE" +syn match autoitBuiltin "@SW_SHOWNA" +syn match autoitBuiltin "@SW_SHOWNOACTIVATE" +syn match autoitBuiltin "@SW_SHOWNORMAL" +syn match autoitBuiltin "@SW_UNLOCK" +syn match autoitBuiltin "@SystemDir" +syn match autoitBuiltin "@TAB" +syn match autoitBuiltin "@TempDir" +syn match autoitBuiltin "@TRAY_ID" +syn match autoitBuiltin "@TrayIconFlashing" +syn match autoitBuiltin "@TrayIconVisible" +syn match autoitBuiltin "@UserProfileDir" +syn match autoitBuiltin "@UserName" +syn match autoitBuiltin "@WDAY" +syn match autoitBuiltin "@WindowsDir" +syn match autoitBuiltin "@WorkingDir" +syn match autoitBuiltin "@YDAY" +syn match autoitBuiltin "@YEAR" + +"comments and commenting-out +syn match autoitComment ";.*" +"in this way also #ce alone will be highlighted +syn match autoitCommDelimiter "^\s*#comments-start\>" +syn match autoitCommDelimiter "^\s*#cs\>" +syn match autoitCommDelimiter "^\s*#comments-end\>" +syn match autoitCommDelimiter "^\s*#ce\>" +syn region autoitComment +	\ matchgroup=autoitCommDelimiter +	\ start="^\s*#comments-start\>" start="^\s*#cs\>" +	\ end="^\s*#comments-end\>" end="^\s*#ce\>" + +"one character operators +syn match autoitOperator "[-+*/&^=<>][^-+*/&^=<>]"me=e-1 +"two characters operators +syn match autoitOperator "==[^=]"me=e-1 +syn match autoitOperator "<>" +syn match autoitOperator "<=" +syn match autoitOperator ">=" +syn match autoitOperator "+=" +syn match autoitOperator "-=" +syn match autoitOperator "*=" +syn match autoitOperator "/=" +syn match autoitOperator "&=" +syn keyword autoitOperator NOT AND OR + +syn match autoitParen "(\|)" +syn match autoitBracket "\[\|\]" +syn match autoitComma "," + +"numbers must come after operator '-' +"decimal numbers without a dot +syn match autoitNumber "-\=\<\d\+\>" +"hexadecimal numbers without a dot +syn match autoitNumber "-\=\<0x\x\+\>" +"floating point number with dot (inside or at end) + +syn match autoitNumber "-\=\<\d\+\.\d*\>" +"floating point number, starting with a dot +syn match autoitNumber "-\=\<\.\d\+\>" +"scientific notation numbers without dots +syn match autoitNumber "-\=\<\d\+e[-+]\=\d\+\>" +"scientific notation numbers with dots +syn match autoitNumber "-\=\<\(\(\d\+\.\d*\)\|\(\.\d\+\)\)\(e[-+]\=\d\+\)\=\>" + +"string constants +"we want the escaped quotes marked in red +syn match autoitDoubledSingles +''+ contained +syn match autoitDoubledDoubles +""+ contained +"we want the continuation character marked in red +"(also at the top level, not just contained) +syn match autoitCont "_$" + +" send key list - must be defined before autoitStrings +syn match autoitSend "{!}" contained +syn match autoitSend "{#}" contained +syn match autoitSend "{+}" contained +syn match autoitSend "{^}" contained +syn match autoitSend "{{}" contained +syn match autoitSend "{}}" contained +syn match autoitSend "{SPACE}" contained +syn match autoitSend "{ENTER}" contained +syn match autoitSend "{ALT}" contained +syn match autoitSend "{BACKSPACE}" contained +syn match autoitSend "{BS}" contained +syn match autoitSend "{DELETE}" contained +syn match autoitSend "{DEL}" contained +syn match autoitSend "{UP}" contained +syn match autoitSend "{DOWN}" contained +syn match autoitSend "{LEFT}" contained +syn match autoitSend "{RIGHT}" contained +syn match autoitSend "{HOME}" contained +syn match autoitSend "{END}" contained +syn match autoitSend "{ESCAPE}" contained +syn match autoitSend "{ESC}" contained +syn match autoitSend "{INSERT}" contained +syn match autoitSend "{INS}" contained +syn match autoitSend "{PGUP}" contained +syn match autoitSend "{PGDN}" contained +syn match autoitSend "{F1}" contained +syn match autoitSend "{F2}" contained +syn match autoitSend "{F3}" contained +syn match autoitSend "{F4}" contained +syn match autoitSend "{F5}" contained +syn match autoitSend "{F6}" contained +syn match autoitSend "{F7}" contained +syn match autoitSend "{F8}" contained +syn match autoitSend "{F9}" contained +syn match autoitSend "{F10}" contained +syn match autoitSend "{F11}" contained +syn match autoitSend "{F12}" contained +syn match autoitSend "{TAB}" contained +syn match autoitSend "{PRINTSCREEN}" contained +syn match autoitSend "{LWIN}" contained +syn match autoitSend "{RWIN}" contained +syn match autoitSend "{NUMLOCK}" contained +syn match autoitSend "{CTRLBREAK}" contained +syn match autoitSend "{PAUSE}" contained +syn match autoitSend "{CAPSLOCK}" contained +syn match autoitSend "{NUMPAD0}" contained +syn match autoitSend "{NUMPAD1}" contained +syn match autoitSend "{NUMPAD2}" contained +syn match autoitSend "{NUMPAD3}" contained +syn match autoitSend "{NUMPAD4}" contained +syn match autoitSend "{NUMPAD5}" contained +syn match autoitSend "{NUMPAD6}" contained +syn match autoitSend "{NUMPAD7}" contained +syn match autoitSend "{NUMPAD8}" contained +syn match autoitSend "{NUMPAD9}" contained +syn match autoitSend "{NUMPADMULT}" contained +syn match autoitSend "{NUMPADADD}" contained +syn match autoitSend "{NUMPADSUB}" contained +syn match autoitSend "{NUMPADDIV}" contained +syn match autoitSend "{NUMPADDOT}" contained +syn match autoitSend "{NUMPADENTER}" contained +syn match autoitSend "{APPSKEY}" contained +syn match autoitSend "{LALT}" contained +syn match autoitSend "{RALT}" contained +syn match autoitSend "{LCTRL}" contained +syn match autoitSend "{RCTRL}" contained +syn match autoitSend "{LSHIFT}" contained +syn match autoitSend "{RSHIFT}" contained +syn match autoitSend "{SLEEP}" contained +syn match autoitSend "{ALTDOWN}" contained +syn match autoitSend "{SHIFTDOWN}" contained +syn match autoitSend "{CTRLDOWN}" contained +syn match autoitSend "{LWINDOWN}" contained +syn match autoitSend "{RWINDOWN}" contained +syn match autoitSend "{ASC \d\d\d\d}" contained +syn match autoitSend "{BROWSER_BACK}" contained +syn match autoitSend "{BROWSER_FORWARD}" contained +syn match autoitSend "{BROWSER_REFRESH}" contained +syn match autoitSend "{BROWSER_STOP}" contained +syn match autoitSend "{BROWSER_SEARCH}" contained +syn match autoitSend "{BROWSER_FAVORITES}" contained +syn match autoitSend "{BROWSER_HOME}" contained +syn match autoitSend "{VOLUME_MUTE}" contained +syn match autoitSend "{VOLUME_DOWN}" contained +syn match autoitSend "{VOLUME_UP}" contained +syn match autoitSend "{MEDIA_NEXT}" contained +syn match autoitSend "{MEDIA_PREV}" contained +syn match autoitSend "{MEDIA_STOP}" contained +syn match autoitSend "{MEDIA_PLAY_PAUSE}" contained +syn match autoitSend "{LAUNCH_MAIL}" contained +syn match autoitSend "{LAUNCH_MEDIA}" contained +syn match autoitSend "{LAUNCH_APP1}" contained +syn match autoitSend "{LAUNCH_APP2}" contained + +"this was tricky! +"we use an oneline region, instead of a match, in order to use skip= +"matchgroup= so start and end quotes are not considered as au3Doubled +"contained +syn region autoitString oneline contains=autoitSend matchgroup=autoitQuote start=+"+ +	\ end=+"+ end=+_\n\{1}.*"+ +	\ contains=autoitCont,autoitDoubledDoubles skip=+""+ +syn region autoitString oneline matchgroup=autoitQuote start=+'+ +	\ end=+'+ end=+_\n\{1}.*'+ +	\ contains=autoitCont,autoitDoubledSingles skip=+''+ + +syn match autoitVarSelector "\$"	contained display +syn match autoitVariable "$\w\+" contains=autoitVarSelector + +" options - must be defined after autoitStrings +syn match autoitOption "\([\"\']\)CaretCoordMode\1" +syn match autoitOption "\([\"\']\)ColorMode\1" +syn match autoitOption "\([\"\']\)ExpandEnvStrings\1" +syn match autoitOption "\([\"\']\)ExpandVarStrings\1" +syn match autoitOption "\([\"\']\)FtpBinaryMode\1" +syn match autoitOption "\([\"\']\)GUICloseOnEsc\1" +syn match autoitOption "\([\"\']\)GUICoordMode\1" +syn match autoitOption "\([\"\']\)GUIDataSeparatorChar\1" +syn match autoitOption "\([\"\']\)GUIOnEventMode\1" +syn match autoitOption "\([\"\']\)GUIResizeMode\1" +syn match autoitOption "\([\"\']\)GUIEventCompatibilityMode\1" +syn match autoitOption "\([\"\']\)MouseClickDelay\1" +syn match autoitOption "\([\"\']\)MouseClickDownDelay\1" +syn match autoitOption "\([\"\']\)MouseClickDragDelay\1" +syn match autoitOption "\([\"\']\)MouseCoordMode\1" +syn match autoitOption "\([\"\']\)MustDeclareVars\1" +syn match autoitOption "\([\"\']\)OnExitFunc\1" +syn match autoitOption "\([\"\']\)PixelCoordMode\1" +syn match autoitOption "\([\"\']\)RunErrorsFatal\1" +syn match autoitOption "\([\"\']\)SendAttachMode\1" +syn match autoitOption "\([\"\']\)SendCapslockMode\1" +syn match autoitOption "\([\"\']\)SendKeyDelay\1" +syn match autoitOption "\([\"\']\)SendKeyDownDelay\1" +syn match autoitOption "\([\"\']\)TCPTimeout\1" +syn match autoitOption "\([\"\']\)TrayAutoPause\1" +syn match autoitOption "\([\"\']\)TrayIconDebug\1" +syn match autoitOption "\([\"\']\)TrayIconHide\1" +syn match autoitOption "\([\"\']\)TrayMenuMode\1" +syn match autoitOption "\([\"\']\)TrayOnEventMode\1" +syn match autoitOption "\([\"\']\)WinDetectHiddenText\1" +syn match autoitOption "\([\"\']\)WinSearchChildren\1" +syn match autoitOption "\([\"\']\)WinTextMatchMode\1" +syn match autoitOption "\([\"\']\)WinTitleMatchMode\1" +syn match autoitOption "\([\"\']\)WinWaitDelay\1" + +" styles - must be defined after autoitVariable +" common +syn match autoitStyle "\$WS_BORDER" +syn match autoitStyle "\$WS_POPUP" +syn match autoitStyle "\$WS_CAPTION" +syn match autoitStyle "\$WS_CLIPCHILDREN" +syn match autoitStyle "\$WS_CLIPSIBLINGS" +syn match autoitStyle "\$WS_DISABLED" +syn match autoitStyle "\$WS_DLGFRAME" +syn match autoitStyle "\$WS_HSCROLL" +syn match autoitStyle "\$WS_MAXIMIZE" +syn match autoitStyle "\$WS_MAXIMIZEBOX" +syn match autoitStyle "\$WS_MINIMIZE" +syn match autoitStyle "\$WS_MINIMIZEBOX" +syn match autoitStyle "\$WS_OVERLAPPED" +syn match autoitStyle "\$WS_OVERLAPPEDWINDOW" +syn match autoitStyle "\$WS_POPUPWINDOW" +syn match autoitStyle "\$WS_SIZEBOX" +syn match autoitStyle "\$WS_SYSMENU" +syn match autoitStyle "\$WS_THICKFRAME" +syn match autoitStyle "\$WS_VSCROLL" +syn match autoitStyle "\$WS_VISIBLE" +syn match autoitStyle "\$WS_CHILD" +syn match autoitStyle "\$WS_GROUP" +syn match autoitStyle "\$WS_TABSTOP" +syn match autoitStyle "\$DS_MODALFRAME" +syn match autoitStyle "\$DS_SETFOREGROUND" +syn match autoitStyle "\$DS_CONTEXTHELP" +" common extended +syn match autoitStyle "\$WS_EX_ACCEPTFILES" +syn match autoitStyle "\$WS_EX_APPWINDOW" +syn match autoitStyle "\$WS_EX_CLIENTEDGE" +syn match autoitStyle "\$WS_EX_CONTEXTHELP" +syn match autoitStyle "\$WS_EX_DLGMODALFRAME" +syn match autoitStyle "\$WS_EX_MDICHILD" +syn match autoitStyle "\$WS_EX_OVERLAPPEDWINDOW" +syn match autoitStyle "\$WS_EX_STATICEDGE" +syn match autoitStyle "\$WS_EX_TOPMOST" +syn match autoitStyle "\$WS_EX_TRANSPARENT" +syn match autoitStyle "\$WS_EX_TOOLWINDOW" +syn match autoitStyle "\$WS_EX_WINDOWEDGE" +syn match autoitStyle "\$WS_EX_LAYERED" +syn match autoitStyle "\$GUI_WS_EX_PARENTDRAG" +" checkbox +syn match autoitStyle "\$BS_3STATE" +syn match autoitStyle "\$BS_AUTO3STATE" +syn match autoitStyle "\$BS_AUTOCHECKBOX" +syn match autoitStyle "\$BS_CHECKBOX" +syn match autoitStyle "\$BS_LEFT" +syn match autoitStyle "\$BS_PUSHLIKE" +syn match autoitStyle "\$BS_RIGHT" +syn match autoitStyle "\$BS_RIGHTBUTTON" +syn match autoitStyle "\$BS_GROUPBOX" +syn match autoitStyle "\$BS_AUTORADIOBUTTON" +" push button +syn match autoitStyle "\$BS_BOTTOM" +syn match autoitStyle "\$BS_CENTER" +syn match autoitStyle "\$BS_DEFPUSHBUTTON" +syn match autoitStyle "\$BS_MULTILINE" +syn match autoitStyle "\$BS_TOP" +syn match autoitStyle "\$BS_VCENTER" +syn match autoitStyle "\$BS_ICON" +syn match autoitStyle "\$BS_BITMAP" +syn match autoitStyle "\$BS_FLAT" +" combo +syn match autoitStyle "\$CBS_AUTOHSCROLL" +syn match autoitStyle "\$CBS_DISABLENOSCROLL" +syn match autoitStyle "\$CBS_DROPDOWN" +syn match autoitStyle "\$CBS_DROPDOWNLIST" +syn match autoitStyle "\$CBS_LOWERCASE" +syn match autoitStyle "\$CBS_NOINTEGRALHEIGHT" +syn match autoitStyle "\$CBS_OEMCONVERT" +syn match autoitStyle "\$CBS_SIMPLE" +syn match autoitStyle "\$CBS_SORT" +syn match autoitStyle "\$CBS_UPPERCASE" +" list +syn match autoitStyle "\$LBS_DISABLENOSCROLL" +syn match autoitStyle "\$LBS_NOINTEGRALHEIGHT" +syn match autoitStyle "\$LBS_NOSEL" +syn match autoitStyle "\$LBS_NOTIFY" +syn match autoitStyle "\$LBS_SORT" +syn match autoitStyle "\$LBS_STANDARD" +syn match autoitStyle "\$LBS_USETABSTOPS" +" edit/input +syn match autoitStyle "\$ES_AUTOHSCROLL" +syn match autoitStyle "\$ES_AUTOVSCROLL" +syn match autoitStyle "\$ES_CENTER" +syn match autoitStyle "\$ES_LOWERCASE" +syn match autoitStyle "\$ES_NOHIDESEL" +syn match autoitStyle "\$ES_NUMBER" +syn match autoitStyle "\$ES_OEMCONVERT" +syn match autoitStyle "\$ES_MULTILINE" +syn match autoitStyle "\$ES_PASSWORD" +syn match autoitStyle "\$ES_READONLY" +syn match autoitStyle "\$ES_RIGHT" +syn match autoitStyle "\$ES_UPPERCASE" +syn match autoitStyle "\$ES_WANTRETURN" +" progress bar +syn match autoitStyle "\$PBS_SMOOTH" +syn match autoitStyle "\$PBS_VERTICAL" +" up-down +syn match autoitStyle "\$UDS_ALIGNLEFT" +syn match autoitStyle "\$UDS_ALIGNRIGHT" +syn match autoitStyle "\$UDS_ARROWKEYS" +syn match autoitStyle "\$UDS_HORZ" +syn match autoitStyle "\$UDS_NOTHOUSANDS" +syn match autoitStyle "\$UDS_WRAP" +" label/static +syn match autoitStyle "\$SS_BLACKFRAME" +syn match autoitStyle "\$SS_BLACKRECT" +syn match autoitStyle "\$SS_CENTER" +syn match autoitStyle "\$SS_CENTERIMAGE" +syn match autoitStyle "\$SS_ETCHEDFRAME" +syn match autoitStyle "\$SS_ETCHEDHORZ" +syn match autoitStyle "\$SS_ETCHEDVERT" +syn match autoitStyle "\$SS_GRAYFRAME" +syn match autoitStyle "\$SS_GRAYRECT" +syn match autoitStyle "\$SS_LEFT" +syn match autoitStyle "\$SS_LEFTNOWORDWRAP" +syn match autoitStyle "\$SS_NOPREFIX" +syn match autoitStyle "\$SS_NOTIFY" +syn match autoitStyle "\$SS_RIGHT" +syn match autoitStyle "\$SS_RIGHTJUST" +syn match autoitStyle "\$SS_SIMPLE" +syn match autoitStyle "\$SS_SUNKEN" +syn match autoitStyle "\$SS_WHITEFRAME" +syn match autoitStyle "\$SS_WHITERECT" +" tab +syn match autoitStyle "\$TCS_SCROLLOPPOSITE" +syn match autoitStyle "\$TCS_BOTTOM" +syn match autoitStyle "\$TCS_RIGHT" +syn match autoitStyle "\$TCS_MULTISELECT" +syn match autoitStyle "\$TCS_FLATBUTTONS" +syn match autoitStyle "\$TCS_FORCEICONLEFT" +syn match autoitStyle "\$TCS_FORCELABELLEFT" +syn match autoitStyle "\$TCS_HOTTRACK" +syn match autoitStyle "\$TCS_VERTICAL" +syn match autoitStyle "\$TCS_TABS" +syn match autoitStyle "\$TCS_BUTTONS" +syn match autoitStyle "\$TCS_SINGLELINE" +syn match autoitStyle "\$TCS_MULTILINE" +syn match autoitStyle "\$TCS_RIGHTJUSTIFY" +syn match autoitStyle "\$TCS_FIXEDWIDTH" +syn match autoitStyle "\$TCS_RAGGEDRIGHT" +syn match autoitStyle "\$TCS_FOCUSONBUTTONDOWN" +syn match autoitStyle "\$TCS_OWNERDRAWFIXED" +syn match autoitStyle "\$TCS_TOOLTIPS" +syn match autoitStyle "\$TCS_FOCUSNEVER" +" avi clip +syn match autoitStyle "\$ACS_AUTOPLAY" +syn match autoitStyle "\$ACS_CENTER" +syn match autoitStyle "\$ACS_TRANSPARENT" +syn match autoitStyle "\$ACS_NONTRANSPARENT" +" date +syn match autoitStyle "\$DTS_UPDOWN" +syn match autoitStyle "\$DTS_SHOWNONE" +syn match autoitStyle "\$DTS_LONGDATEFORMAT" +syn match autoitStyle "\$DTS_TIMEFORMAT" +syn match autoitStyle "\$DTS_RIGHTALIGN" +syn match autoitStyle "\$DTS_SHORTDATEFORMAT" +" monthcal +syn match autoitStyle "\$MCS_NOTODAY" +syn match autoitStyle "\$MCS_NOTODAYCIRCLE" +syn match autoitStyle "\$MCS_WEEKNUMBERS" +" treeview +syn match autoitStyle "\$TVS_HASBUTTONS" +syn match autoitStyle "\$TVS_HASLINES" +syn match autoitStyle "\$TVS_LINESATROOT" +syn match autoitStyle "\$TVS_DISABLEDRAGDROP" +syn match autoitStyle "\$TVS_SHOWSELALWAYS" +syn match autoitStyle "\$TVS_RTLREADING" +syn match autoitStyle "\$TVS_NOTOOLTIPS" +syn match autoitStyle "\$TVS_CHECKBOXES" +syn match autoitStyle "\$TVS_TRACKSELECT" +syn match autoitStyle "\$TVS_SINGLEEXPAND" +syn match autoitStyle "\$TVS_FULLROWSELECT" +syn match autoitStyle "\$TVS_NOSCROLL" +syn match autoitStyle "\$TVS_NONEVENHEIGHT" +" slider +syn match autoitStyle "\$TBS_AUTOTICKS" +syn match autoitStyle "\$TBS_BOTH" +syn match autoitStyle "\$TBS_BOTTOM" +syn match autoitStyle "\$TBS_HORZ" +syn match autoitStyle "\$TBS_VERT" +syn match autoitStyle "\$TBS_NOTHUMB" +syn match autoitStyle "\$TBS_NOTICKS" +syn match autoitStyle "\$TBS_LEFT" +syn match autoitStyle "\$TBS_RIGHT" +syn match autoitStyle "\$TBS_TOP" +" listview +syn match autoitStyle "\$LVS_ICON" +syn match autoitStyle "\$LVS_REPORT" +syn match autoitStyle "\$LVS_SMALLICON" +syn match autoitStyle "\$LVS_LIST" +syn match autoitStyle "\$LVS_EDITLABELS" +syn match autoitStyle "\$LVS_NOCOLUMNHEADER" +syn match autoitStyle "\$LVS_NOSORTHEADER" +syn match autoitStyle "\$LVS_SINGLESEL" +syn match autoitStyle "\$LVS_SHOWSELALWAYS" +syn match autoitStyle "\$LVS_SORTASCENDING" +syn match autoitStyle "\$LVS_SORTDESCENDING" +" listview extended +syn match autoitStyle "\$LVS_EX_FULLROWSELECT" +syn match autoitStyle "\$LVS_EX_GRIDLINES" +syn match autoitStyle "\$LVS_EX_HEADERDRAGDROP" +syn match autoitStyle "\$LVS_EX_TRACKSELECT" +syn match autoitStyle "\$LVS_EX_CHECKBOXES" +syn match autoitStyle "\$LVS_EX_BORDERSELECT" +syn match autoitStyle "\$LVS_EX_DOUBLEBUFFER" +syn match autoitStyle "\$LVS_EX_FLATSB" +syn match autoitStyle "\$LVS_EX_MULTIWORKAREAS" +syn match autoitStyle "\$LVS_EX_SNAPTOGRID" +syn match autoitStyle "\$LVS_EX_SUBITEMIMAGES" + +" constants - must be defined after autoitVariable - excludes styles +" constants - autoit options +syn match autoitConst "\$OPT_COORDSRELATIVE" +syn match autoitConst "\$OPT_COORDSABSOLUTE" +syn match autoitConst "\$OPT_COORDSCLIENT" +syn match autoitConst "\$OPT_ERRORSILENT" +syn match autoitConst "\$OPT_ERRORFATAL" +syn match autoitConst "\$OPT_CAPSNOSTORE" +syn match autoitConst "\$OPT_CAPSSTORE" +syn match autoitConst "\$OPT_MATCHSTART" +syn match autoitConst "\$OPT_MATCHANY" +syn match autoitConst "\$OPT_MATCHEXACT" +syn match autoitConst "\$OPT_MATCHADVANCED" +" constants - file +syn match autoitConst "\$FC_NOOVERWRITE" +syn match autoitConst "\$FC_OVERWRITE" +syn match autoitConst "\$FT_MODIFIED" +syn match autoitConst "\$FT_CREATED" +syn match autoitConst "\$FT_ACCESSED" +syn match autoitConst "\$FO_READ" +syn match autoitConst "\$FO_APPEND" +syn match autoitConst "\$FO_OVERWRITE" +syn match autoitConst "\$EOF" +syn match autoitConst "\$FD_FILEMUSTEXIST" +syn match autoitConst "\$FD_PATHMUSTEXIST" +syn match autoitConst "\$FD_MULTISELECT" +syn match autoitConst "\$FD_PROMPTCREATENEW" +syn match autoitConst "\$FD_PROMPTOVERWRITE" +" constants - keyboard +syn match autoitConst "\$KB_SENDSPECIAL" +syn match autoitConst "\$KB_SENDRAW" +syn match autoitConst "\$KB_CAPSOFF" +syn match autoitConst "\$KB_CAPSON" +" constants - message box +syn match autoitConst "\$MB_OK" +syn match autoitConst "\$MB_OKCANCEL" +syn match autoitConst "\$MB_ABORTRETRYIGNORE" +syn match autoitConst "\$MB_YESNOCANCEL" +syn match autoitConst "\$MB_YESNO" +syn match autoitConst "\$MB_RETRYCANCEL" +syn match autoitConst "\$MB_ICONHAND" +syn match autoitConst "\$MB_ICONQUESTION" +syn match autoitConst "\$MB_ICONEXCLAMATION" +syn match autoitConst "\$MB_ICONASTERISK" +syn match autoitConst "\$MB_DEFBUTTON1" +syn match autoitConst "\$MB_DEFBUTTON2" +syn match autoitConst "\$MB_DEFBUTTON3" +syn match autoitConst "\$MB_APPLMODAL" +syn match autoitConst "\$MB_SYSTEMMODAL" +syn match autoitConst "\$MB_TASKMODAL" +syn match autoitConst "\$MB_TOPMOST" +syn match autoitConst "\$MB_RIGHTJUSTIFIED" +syn match autoitConst "\$IDTIMEOUT" +syn match autoitConst "\$IDOK" +syn match autoitConst "\$IDCANCEL" +syn match autoitConst "\$IDABORT" +syn match autoitConst "\$IDRETRY" +syn match autoitConst "\$IDIGNORE" +syn match autoitConst "\$IDYES" +syn match autoitConst "\$IDNO" +syn match autoitConst "\$IDTRYAGAIN" +syn match autoitConst "\$IDCONTINUE" +" constants - progress and splash +syn match autoitConst "\$DLG_NOTITLE" +syn match autoitConst "\$DLG_NOTONTOP" +syn match autoitConst "\$DLG_TEXTLEFT" +syn match autoitConst "\$DLG_TEXTRIGHT" +syn match autoitConst "\$DLG_MOVEABLE" +syn match autoitConst "\$DLG_TEXTVCENTER" +" constants - tray tip +syn match autoitConst "\$TIP_ICONNONE" +syn match autoitConst "\$TIP_ICONASTERISK" +syn match autoitConst "\$TIP_ICONEXCLAMATION" +syn match autoitConst "\$TIP_ICONHAND" +syn match autoitConst "\$TIP_NOSOUND" +" constants - mouse +syn match autoitConst "\$IDC_UNKNOWN" +syn match autoitConst "\$IDC_APPSTARTING" +syn match autoitConst "\$IDC_ARROW" +syn match autoitConst "\$IDC_CROSS" +syn match autoitConst "\$IDC_HELP" +syn match autoitConst "\$IDC_IBEAM" +syn match autoitConst "\$IDC_ICON" +syn match autoitConst "\$IDC_NO" +syn match autoitConst "\$IDC_SIZE" +syn match autoitConst "\$IDC_SIZEALL" +syn match autoitConst "\$IDC_SIZENESW" +syn match autoitConst "\$IDC_SIZENS" +syn match autoitConst "\$IDC_SIZENWSE" +syn match autoitConst "\$IDC_SIZEWE" +syn match autoitConst "\$IDC_UPARROW" +syn match autoitConst "\$IDC_WAIT" +" constants - process +syn match autoitConst "\$SD_LOGOFF" +syn match autoitConst "\$SD_SHUTDOWN" +syn match autoitConst "\$SD_REBOOT" +syn match autoitConst "\$SD_FORCE" +syn match autoitConst "\$SD_POWERDOWN" +" constants - string +syn match autoitConst "\$STR_NOCASESENSE" +syn match autoitConst "\$STR_CASESENSE" +syn match autoitConst "\STR_STRIPLEADING" +syn match autoitConst "\$STR_STRIPTRAILING" +syn match autoitConst "\$STR_STRIPSPACES" +syn match autoitConst "\$STR_STRIPALL" +" constants - tray +syn match autoitConst "\$TRAY_ITEM_EXIT" +syn match autoitConst "\$TRAY_ITEM_PAUSE" +syn match autoitConst "\$TRAY_ITEM_FIRST" +syn match autoitConst "\$TRAY_CHECKED" +syn match autoitConst "\$TRAY_UNCHECKED" +syn match autoitConst "\$TRAY_ENABLE" +syn match autoitConst "\$TRAY_DISABLE" +syn match autoitConst "\$TRAY_FOCUS" +syn match autoitConst "\$TRAY_DEFAULT" +syn match autoitConst "\$TRAY_EVENT_SHOWICON" +syn match autoitConst "\$TRAY_EVENT_HIDEICON" +syn match autoitConst "\$TRAY_EVENT_FLASHICON" +syn match autoitConst "\$TRAY_EVENT_NOFLASHICON" +syn match autoitConst "\$TRAY_EVENT_PRIMARYDOWN" +syn match autoitConst "\$TRAY_EVENT_PRIMARYUP" +syn match autoitConst "\$TRAY_EVENT_SECONDARYDOWN" +syn match autoitConst "\$TRAY_EVENT_SECONDARYUP" +syn match autoitConst "\$TRAY_EVENT_MOUSEOVER" +syn match autoitConst "\$TRAY_EVENT_MOUSEOUT" +syn match autoitConst "\$TRAY_EVENT_PRIMARYDOUBLE" +syn match autoitConst "\$TRAY_EVENT_SECONDARYDOUBLE" +" constants - stdio +syn match autoitConst "\$STDIN_CHILD" +syn match autoitConst "\$STDOUT_CHILD" +syn match autoitConst "\$STDERR_CHILD" +" constants - color +syn match autoitConst "\$COLOR_BLACK" +syn match autoitConst "\$COLOR_SILVER" +syn match autoitConst "\$COLOR_GRAY" +syn match autoitConst "\$COLOR_WHITE" +syn match autoitConst "\$COLOR_MAROON" +syn match autoitConst "\$COLOR_RED" +syn match autoitConst "\$COLOR_PURPLE" +syn match autoitConst "\$COLOR_FUCHSIA" +syn match autoitConst "\$COLOR_GREEN" +syn match autoitConst "\$COLOR_LIME" +syn match autoitConst "\$COLOR_OLIVE" +syn match autoitConst "\$COLOR_YELLOW" +syn match autoitConst "\$COLOR_NAVY" +syn match autoitConst "\$COLOR_BLUE" +syn match autoitConst "\$COLOR_TEAL" +syn match autoitConst "\$COLOR_AQUA" +" constants - reg value type +syn match autoitConst "\$REG_NONE" +syn match autoitConst "\$REG_SZ" +syn match autoitConst "\$REG_EXPAND_SZ" +syn match autoitConst "\$REG_BINARY" +syn match autoitConst "\$REG_DWORD" +syn match autoitConst "\$REG_DWORD_BIG_ENDIAN" +syn match autoitConst "\$REG_LINK" +syn match autoitConst "\$REG_MULTI_SZ" +syn match autoitConst "\$REG_RESOURCE_LIST" +syn match autoitConst "\$REG_FULL_RESOURCE_DESCRIPTOR" +syn match autoitConst "\$REG_RESOURCE_REQUIREMENTS_LIST" +" guiconstants - events and messages +syn match autoitConst "\$GUI_EVENT_CLOSE" +syn match autoitConst "\$GUI_EVENT_MINIMIZE" +syn match autoitConst "\$GUI_EVENT_RESTORE" +syn match autoitConst "\$GUI_EVENT_MAXIMIZE" +syn match autoitConst "\$GUI_EVENT_PRIMARYDOWN" +syn match autoitConst "\$GUI_EVENT_PRIMARYUP" +syn match autoitConst "\$GUI_EVENT_SECONDARYDOWN" +syn match autoitConst "\$GUI_EVENT_SECONDARYUP" +syn match autoitConst "\$GUI_EVENT_MOUSEMOVE" +syn match autoitConst "\$GUI_EVENT_RESIZED" +syn match autoitConst "\$GUI_EVENT_DROPPED" +syn match autoitConst "\$GUI_RUNDEFMSG" +" guiconstants - state +syn match autoitConst "\$GUI_AVISTOP" +syn match autoitConst "\$GUI_AVISTART" +syn match autoitConst "\$GUI_AVICLOSE" +syn match autoitConst "\$GUI_CHECKED" +syn match autoitConst "\$GUI_INDETERMINATE" +syn match autoitConst "\$GUI_UNCHECKED" +syn match autoitConst "\$GUI_DROPACCEPTED" +syn match autoitConst "\$GUI_DROPNOTACCEPTED" +syn match autoitConst "\$GUI_ACCEPTFILES" +syn match autoitConst "\$GUI_SHOW" +syn match autoitConst "\$GUI_HIDE" +syn match autoitConst "\$GUI_ENABLE" +syn match autoitConst "\$GUI_DISABLE" +syn match autoitConst "\$GUI_FOCUS" +syn match autoitConst "\$GUI_NOFOCUS" +syn match autoitConst "\$GUI_DEFBUTTON" +syn match autoitConst "\$GUI_EXPAND" +syn match autoitConst "\$GUI_ONTOP" +" guiconstants - font +syn match autoitConst "\$GUI_FONTITALIC" +syn match autoitConst "\$GUI_FONTUNDER" +syn match autoitConst "\$GUI_FONTSTRIKE" +" guiconstants - resizing +syn match autoitConst "\$GUI_DOCKAUTO" +syn match autoitConst "\$GUI_DOCKLEFT" +syn match autoitConst "\$GUI_DOCKRIGHT" +syn match autoitConst "\$GUI_DOCKHCENTER" +syn match autoitConst "\$GUI_DOCKTOP" +syn match autoitConst "\$GUI_DOCKBOTTOM" +syn match autoitConst "\$GUI_DOCKVCENTER" +syn match autoitConst "\$GUI_DOCKWIDTH" +syn match autoitConst "\$GUI_DOCKHEIGHT" +syn match autoitConst "\$GUI_DOCKSIZE" +syn match autoitConst "\$GUI_DOCKMENUBAR" +syn match autoitConst "\$GUI_DOCKSTATEBAR" +syn match autoitConst "\$GUI_DOCKALL" +syn match autoitConst "\$GUI_DOCKBORDERS" +" guiconstants - graphic +syn match autoitConst "\$GUI_GR_CLOSE" +syn match autoitConst "\$GUI_GR_LINE" +syn match autoitConst "\$GUI_GR_BEZIER" +syn match autoitConst "\$GUI_GR_MOVE" +syn match autoitConst "\$GUI_GR_COLOR" +syn match autoitConst "\$GUI_GR_RECT" +syn match autoitConst "\$GUI_GR_ELLIPSE" +syn match autoitConst "\$GUI_GR_PIE" +syn match autoitConst "\$GUI_GR_DOT" +syn match autoitConst "\$GUI_GR_PIXEL" +syn match autoitConst "\$GUI_GR_HINT" +syn match autoitConst "\$GUI_GR_REFRESH" +syn match autoitConst "\$GUI_GR_PENSIZE" +syn match autoitConst "\$GUI_GR_NOBKCOLOR" +" guiconstants - control default styles +syn match autoitConst "\$GUI_SS_DEFAULT_AVI" +syn match autoitConst "\$GUI_SS_DEFAULT_BUTTON" +syn match autoitConst "\$GUI_SS_DEFAULT_CHECKBOX" +syn match autoitConst "\$GUI_SS_DEFAULT_COMBO" +syn match autoitConst "\$GUI_SS_DEFAULT_DATE" +syn match autoitConst "\$GUI_SS_DEFAULT_EDIT" +syn match autoitConst "\$GUI_SS_DEFAULT_GRAPHIC" +syn match autoitConst "\$GUI_SS_DEFAULT_GROUP" +syn match autoitConst "\$GUI_SS_DEFAULT_ICON" +syn match autoitConst "\$GUI_SS_DEFAULT_INPUT" +syn match autoitConst "\$GUI_SS_DEFAULT_LABEL" +syn match autoitConst "\$GUI_SS_DEFAULT_LIST" +syn match autoitConst "\$GUI_SS_DEFAULT_LISTVIEW" +syn match autoitConst "\$GUI_SS_DEFAULT_MONTHCAL" +syn match autoitConst "\$GUI_SS_DEFAULT_PIC" +syn match autoitConst "\$GUI_SS_DEFAULT_PROGRESS" +syn match autoitConst "\$GUI_SS_DEFAULT_RADIO" +syn match autoitConst "\$GUI_SS_DEFAULT_SLIDER" +syn match autoitConst "\$GUI_SS_DEFAULT_TAB" +syn match autoitConst "\$GUI_SS_DEFAULT_TREEVIEW" +syn match autoitConst "\$GUI_SS_DEFAULT_UPDOWN" +syn match autoitConst "\$GUI_SS_DEFAULT_GUI" +" guiconstants - background color special flags +syn match autoitConst "\$GUI_BKCOLOR_DEFAULT" +syn match autoitConst "\$GUI_BKCOLOR_LV_ALTERNATE" +syn match autoitConst "\$GUI_BKCOLOR_TRANSPARENT" + +" registry constants +syn match autoitConst "\([\"\']\)REG_BINARY\1" +syn match autoitConst "\([\"\']\)REG_SZ\1" +syn match autoitConst "\([\"\']\)REG_MULTI_SZ\1" +syn match autoitConst "\([\"\']\)REG_EXPAND_SZ\1" +syn match autoitConst "\([\"\']\)REG_DWORD\1" + +" Define the default highlighting. +" Unused colors: Underlined, Ignore, Error, Todo +hi def link autoitFunction Statement  " yellow/yellow +hi def link autoitKeyword Statement +hi def link autoitOperator Operator +hi def link autoitVarSelector Operator +hi def link autoitComment	Comment  " cyan/blue +hi def link autoitParen Comment +hi def link autoitComma Comment +hi def link autoitBracket Comment +hi def link autoitNumber Constant " magenta/red +hi def link autoitString Constant +hi def link autoitQuote Constant +hi def link autoitIncluded Constant +hi def link autoitCont Special  " red/orange +hi def link autoitDoubledSingles Special +hi def link autoitDoubledDoubles Special +hi def link autoitCommDelimiter PreProc  " blue/magenta +hi def link autoitInclude PreProc +hi def link autoitVariable Identifier  " cyan/cyan +hi def link autoitBuiltin Type  " green/green +hi def link autoitOption Type +hi def link autoitStyle Type +hi def link autoitConst Type +hi def link autoitSend Type + +syn sync minlines=50 + +let &cpo = s:keepcpo +unlet s:keepcpo + +endif diff --git a/syntax/automake.vim b/syntax/automake.vim new file mode 100644 index 00000000..be0cbb92 --- /dev/null +++ b/syntax/automake.vim @@ -0,0 +1,81 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'automake') == -1 + +" Vim syntax file +" Language: automake Makefile.am +" Maintainer: Debian Vim Maintainers +" Former Maintainer: John Williams <jrw@pobox.com> +" Last Change: 2018 Dec 27 +" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/automake.vim +" +" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain +"     it only because patches have been submitted for it by Debian users and the +"     former maintainer was MIA (Missing In Action), taking over its +"     maintenance was thus the only way to include those patches. +"     If you care about this file, and have time to maintain it please do so! +" +" This script adds support for automake's Makefile.am format. It highlights +" Makefile variables significant to automake as well as highlighting +" autoconf-style @variable@ substitutions . Subsitutions are marked as errors +" when they are used in an inappropriate place, such as in defining +" EXTRA_SOURCES. + +" Standard syntax initialization +if exists('b:current_syntax') +  finish +endif + +" Read the Makefile syntax to start with +runtime! syntax/make.vim + +syn match automakePrimary "^\w\+\(_PROGRAMS\|_LIBRARIES\|_LISP\|_PYTHON\|_JAVA\|_SCRIPTS\|_DATA\|_HEADERS\|_MANS\|_TEXINFOS\|_LTLIBRARIES\)\s*\ze+\==" +syn match automakePrimary "^TESTS\s*\ze+\=="me=e-1 +syn match automakeSecondary "^\w\+\(_SOURCES\|_LIBADD\|_LDADD\|_LDFLAGS\|_DEPENDENCIES\|_AR\|_CCASFLAGS\|_CFLAGS\|_CPPFLAGS\|_CXXFLAGS\|_FCFLAGS\|_FFLAGS\|_GCJFLAGS\|_LFLAGS\|_LIBTOOLFLAGS\|OBJCFLAGS\|RFLAGS\|UPCFLAGS\|YFLAGS\)\s*\ze+\==" +syn match automakeSecondary "^\(LDADD\|ARFLAGS\|OMIT_DEPENDENCIES\|AM_MAKEFLAGS\|\(AM_\)\=\(MAKEINFOFLAGS\|RUNTESTDEFAULTFLAGS\|ETAGSFLAGS\|CTAGSFLAGS\|JAVACFLAGS\)\)\s*\ze+\==" +syn match automakeExtra "^EXTRA_\w\+\s*\ze+\==" +syn match automakeOptions "^\(ACLOCAL_AMFLAGS\|AUTOMAKE_OPTIONS\|DISTCHECK_CONFIGURE_FLAGS\|ETAGS_ARGS\|TAGS_DEPENDENCIES\)\s*\ze+\==" +syn match automakeClean "^\(MOSTLY\|DIST\|MAINTAINER\)\=CLEANFILES\s*\ze+\==" +syn match automakeSubdirs "^\(DIST_\)\=SUBDIRS\s*\ze+\==" +syn match automakeConditional "^\(if\s*!\=\w\+\|else\|endif\)\s*$" + +syn match automakeSubst     "@\w\+@" +syn match automakeSubst     "^\s*@\w\+@" +syn match automakeComment1 "#.*$" contains=automakeSubst,@Spell +syn match automakeComment2 "##.*$" contains=@Spell + +syn match automakeMakeError "$[{(][^})]*[^a-zA-Z0-9_})][^})]*[})]" " GNU make function call +syn match automakeMakeError "^AM_LDADD\s*\ze+\==" " Common mistake + +syn region automakeNoSubst start="^EXTRA_\w*\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent +syn region automakeNoSubst start="^DIST_SUBDIRS\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent +syn region automakeNoSubst start="^\w*_SOURCES\s*+\==" end="$" contains=ALLBUT,automakeNoSubst transparent +syn match automakeBadSubst  "@\(\w*@\=\)\=" contained + +syn region  automakeMakeDString start=+"+  skip=+\\"+  end=+"+  contains=makeIdent,automakeSubstitution +syn region  automakeMakeSString start=+'+  skip=+\\'+  end=+'+  contains=makeIdent,automakeSubstitution +syn region  automakeMakeBString start=+`+  skip=+\\`+  end=+`+  contains=makeIdent,makeSString,makeDString,makeNextLine,automakeSubstitution + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +hi def link automakePrimary     Statement +hi def link automakeSecondary   Type +hi def link automakeExtra       Special +hi def link automakeOptions     Special +hi def link automakeClean       Special +hi def link automakeSubdirs     Statement +hi def link automakeConditional PreProc +hi def link automakeSubst       PreProc +hi def link automakeComment1    makeComment +hi def link automakeComment2    makeComment +hi def link automakeMakeError   makeError +hi def link automakeBadSubst    makeError +hi def link automakeMakeDString makeDString +hi def link automakeMakeSString makeSString +hi def link automakeMakeBString makeBString + + +let b:current_syntax = 'automake' + +" vi: ts=8 sw=4 sts=4 + +endif diff --git a/syntax/ave.vim b/syntax/ave.vim new file mode 100644 index 00000000..71a88cc3 --- /dev/null +++ b/syntax/ave.vim @@ -0,0 +1,83 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'ave') == -1 + +" Vim syntax file +" Copyright by Jan-Oliver Wagner +" Language:	avenue +" Maintainer:	Jan-Oliver Wagner <Jan-Oliver.Wagner@intevation.de> +" Last change:	2001 May 10 + +" Avenue is the ArcView built-in language. ArcView is +" a desktop GIS by ESRI. Though it is a built-in language +" and a built-in editor is provided, the use of VIM increases +" development speed. +" I use some technologies to automatically load avenue scripts +" into ArcView. + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +" Avenue is entirely case-insensitive. +syn case ignore + +" The keywords + +syn keyword aveStatement	if then elseif else end break exit return +syn keyword aveStatement	for each in continue while + +" String + +syn region aveString		start=+"+ end=+"+ + +" Integer number +syn match  aveNumber		"[+-]\=\<[0-9]\+\>" + +" Operator + +syn keyword aveOperator		or and max min xor mod by +" 'not' is a kind of a problem: It's an Operator as well as a method +" 'not' is only marked as an Operator if not applied as method +syn match aveOperator		"[^\.]not[^a-zA-Z]" + +" Variables + +syn keyword aveFixVariables	av nil self false true nl tab cr tab +syn match globalVariables	"_[a-zA-Z][a-zA-Z0-9]*" +syn match aveVariables		"[a-zA-Z][a-zA-Z0-9_]*" +syn match aveConst		"#[A-Z][A-Z_]+" + +" Comments + +syn match aveComment	"'.*" + +" Typical Typos + +" for C programmers: +syn match aveTypos	"==" +syn match aveTypos	"!=" + +" Define the default highlighting. +" Only when an item doesn't have highlighting+yet + +hi def link aveStatement		Statement + +hi def link aveString		String +hi def link aveNumber		Number + +hi def link aveFixVariables	Special +hi def link aveVariables		Identifier +hi def link globalVariables	Special +hi def link aveConst		Special + +hi def link aveClassMethods	Function + +hi def link aveOperator		Operator +hi def link aveComment		Comment + +hi def link aveTypos		Error + + +let b:current_syntax = "ave" + +endif diff --git a/syntax/awk.vim b/syntax/awk.vim new file mode 100644 index 00000000..342a49b7 --- /dev/null +++ b/syntax/awk.vim @@ -0,0 +1,220 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'awk') == -1 + +" Vim syntax file +" Language:	awk, nawk, gawk, mawk +" Maintainer:	Antonio Colombo <azc100@gmail.com> +" Last Change:	2020 Aug 18 + +" AWK  ref. is: Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger +" The AWK Programming Language, Addison-Wesley, 1988 + +" GAWK ref. is: Arnold D. Robbins +" Effective AWK Programming, Third Edition, O'Reilly, 2001 +" Effective AWK Programming, Fourth Edition, O'Reilly, 2015 +" (up-to-date version available with the gawk source distribution) + +" MAWK is a "new awk" meaning it implements AWK ref. +" mawk conforms to the Posix 1003.2 (draft 11.3) +" definition of the AWK language which contains a few features +" not described in the AWK book, and mawk provides a small number of extensions. + +" TODO: +" Dig into the commented out syntax expressions below. + +" Quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn iskeyword @,48-57,_,192-255,@-@ + +" A bunch of useful Awk keywords +" AWK  ref. p. 188 +syn keyword awkStatement	break continue delete exit +syn keyword awkStatement	function getline next +syn keyword awkStatement	print printf return +" GAWK ref. Chapter 7-9 +syn keyword awkStatement	case default switch nextfile +syn keyword awkStatement	func +" GAWK ref. Chapter 2.7, Including Other Files into Your Program +" GAWK ref. Chapter 2.8, Loading Dynamic Extensions into Your Program +" GAWK ref. Chapter 15, Namespaces +" Directives +syn keyword awkStatement	@include @load @namespace +" +" GAWK ref. Chapter 9, Functions +" Numeric Functions +syn keyword awkFunction	atan2 cos exp int log rand sin sqrt srand +" String Manipulation Functions +syn keyword awkFunction	asort asorti gensub gsub index length match  +syn keyword awkFunction	patsplit split sprintf strtonum sub substr +syn keyword awkFunction	tolower toupper +" Input Output Functions +syn keyword awkFunction	close fflush system +" Time Functions +syn keyword awkFunction	mktime strftime systime +" Bit Manipulation Functions +syn keyword awkFunction	and compl lshift or rshift xor +" Getting Type Information Functions +syn keyword awkFunction	isarray typeof +" String-Translation Functions +syn keyword awkFunction	bindtextdomain dcgettext dcngetext + +syn keyword awkConditional	if else +syn keyword awkRepeat	while for do + +syn keyword awkTodo	contained TODO + +syn keyword awkPatterns	BEGIN END BEGINFILE ENDFILE + +" GAWK ref. Chapter 7 +" Built-in Variables That Control awk +syn keyword awkVariables        BINMODE CONVFMT FIELDWIDTHS FPAT FS +syn keyword awkVariables	IGNORECASE LINT OFMT OFS ORS PREC +syn keyword awkVariables	ROUNDMODE RS SUBSEP TEXTDOMAIN +" Built-in Variables That Convey Information +syn keyword awkVariables	ARGC ARGV ARGIND ENVIRON ERRNO FILENAME +syn keyword awkVariables	FNR NF FUNCTAB NR PROCINFO RLENGTH RSTART  +syn keyword awkVariables	RT SYMTAB + +" Arithmetic operators: +, and - take care of ++, and -- +syn match   awkOperator		"+\|-\|\*\|/\|%\|=" +syn match   awkOperator		"+=\|-=\|\*=\|/=\|%=" +syn match   awkOperator		"\^\|\^=" + +" Octal format character. +syn match   awkSpecialCharacter display contained "\\[0-7]\{1,3\}" +" Hex   format character. +syn match   awkSpecialCharacter display contained "\\x[0-9A-Fa-f]\+" + +syn match   awkFieldVars	"\$\d\+" + +" catch errors caused by wrong parenthesis +syn region	awkParen	transparent start="(" end=")" contains=ALLBUT,awkParenError,awkSpecialCharacter,awkArrayElement,awkArrayArray,awkTodo,awkRegExp,awkBrktRegExp,awkBrackets,awkCharClass,awkComment +syn match	awkParenError	display ")" +"syn match	awkInParen	display contained "[{}]" + +" 64 lines for complex &&'s, and ||'s in a big "if" +syn sync ccomment awkParen maxlines=64 + +" Search strings & Regular Expressions therein. +syn region  awkSearch	oneline start="^[ \t]*/"ms=e start="\(,\|!\=\~\)[ \t]*/"ms=e skip="\\\\\|\\/" end="/" contains=awkBrackets,awkRegExp,awkSpecialCharacter +syn region  awkBrackets	contained start="\[\^\]\="ms=s+2 start="\[[^\^]"ms=s+1 end="\]"me=e-1 contains=awkBrktRegExp,awkCharClass +syn region  awkSearch	oneline start="[ \t]*/"hs=e skip="\\\\\|\\/" end="/" contains=awkBrackets,awkRegExp,awkSpecialCharacter + +syn match   awkCharClass	contained "\[:[^:\]]*:\]" +syn match   awkBrktRegExp	contained "\\.\|.\-[^]]" +syn match   awkRegExp	contained "/\^"ms=s+1 +syn match   awkRegExp	contained "\$/"me=e-1 +syn match   awkRegExp	contained "[?.*{}|+]" + +" String and Character constants +" Highlight special characters (those which have a backslash) differently +syn region  awkString	start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=@Spell,awkSpecialCharacter,awkSpecialPrintf +syn match   awkSpecialCharacter contained "\\." + +" Some of these combinations may seem weird, but they work. +syn match   awkSpecialPrintf	contained "%[-+ #]*\d*\.\=\d*[cdefgiosuxEGX%]" + +" Numbers, allowing signs (both -, and +) +" Integer number. +syn match  awkNumber		display "[+-]\=\<\d\+\>" +" Floating point number. +syn match  awkFloat		display "[+-]\=\<\d\+\.\d+\>" +" Floating point number, starting with a dot. +syn match  awkFloat		display "[+-]\=\<.\d+\>" +syn case ignore +"floating point number, with dot, optional exponent +syn match  awkFloat	display "\<\d\+\.\d*\(e[-+]\=\d\+\)\=\>" +"floating point number, starting with a dot, optional exponent +syn match  awkFloat	display "\.\d\+\(e[-+]\=\d\+\)\=\>" +"floating point number, without dot, with exponent +syn match  awkFloat	display "\<\d\+e[-+]\=\d\+\>" +syn case match + +"syn match  awkIdentifier	"\<[a-zA-Z_][a-zA-Z0-9_]*\>" + +" Comparison expressions. +syn match   awkExpression	"==\|>=\|=>\|<=\|=<\|\!=" +syn match   awkExpression	"\~\|\!\~" +syn match   awkExpression	"?\|:" +syn keyword awkExpression	in + +" Boolean Logic (OR, AND, NOT) +syn match  awkBoolLogic	"||\|&&\|\!" + +" This is overridden by less-than & greater-than. +" Put this above those to override them. +" Put this in a 'match "\<printf\=\>.*;\="' to make it not override +" less/greater than (most of the time), but it won't work yet because +" keywords always have precedence over match & region. +" File I/O: (print foo, bar > "filename") & for nawk (getline < "filename") +"syn match  awkFileIO		contained ">" +"syn match  awkFileIO		contained "<" + +" Expression separators: ';' and ',' +syn match  awkSemicolon	";" +syn match  awkComma		"," + +syn match  awkComment	"#.*" contains=@Spell,awkTodo + +syn match  awkLineSkip	"\\$" + +" Highlight array element's (recursive arrays allowed). +" Keeps nested array names' separate from normal array elements. +" Keeps numbers separate from normal array elements (variables). +syn match  awkArrayArray	contained "[^][, \t]\+\["me=e-1 +syn match  awkArrayElement      contained "[^][, \t]\+" +syn region awkArray		transparent start="\[" end="\]" contains=awkArray,awkArrayElement,awkArrayArray,awkNumber,awkFloat + +" 10 should be enough. +" (for the few instances where it would be more than "oneline") +syn sync ccomment awkArray maxlines=10 + +" Define the default highlighting. +hi def link awkConditional	Conditional +hi def link awkFunction		Function +hi def link awkRepeat		Repeat +hi def link awkStatement	Statement +hi def link awkString		String +hi def link awkSpecialPrintf	Special +hi def link awkSpecialCharacter	Special +hi def link awkSearch		String +hi def link awkBrackets		awkRegExp +hi def link awkBrktRegExp	awkNestRegExp +hi def link awkCharClass	awkNestRegExp +hi def link awkNestRegExp	Keyword +hi def link awkRegExp		Special +hi def link awkNumber		Number +hi def link awkFloat		Float +hi def link awkFileIO		Special +hi def link awkOperator		Special +hi def link awkExpression	Special +hi def link awkBoolLogic	Special +hi def link awkPatterns		Special +hi def link awkVariables	Special +hi def link awkFieldVars	Special +hi def link awkLineSkip		Special +hi def link awkSemicolon	Special +hi def link awkComma		Special +hi def link awkIdentifier	Identifier +hi def link awkComment		Comment +hi def link awkTodo		Todo +" Change this if you want nested array names to be highlighted. +hi def link awkArrayArray	awkArray +hi def link awkArrayElement	Special +hi def link awkParenError	awkError +hi def link awkInParen		awkError +hi def link awkError		Error + +let b:current_syntax = "awk" + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: ts=8 + +endif diff --git a/syntax/elf.vim b/syntax/elf.vim new file mode 100644 index 00000000..5b6b9678 --- /dev/null +++ b/syntax/elf.vim @@ -0,0 +1,86 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'elf') == -1 + +" Vim syntax file +" Language:    ELF +" Maintainer:  Christian V. J. Brüssow <cvjb@cvjb.de> +" Last Change: Son 22 Jun 2003 20:43:14 CEST +" Filenames:   *.ab,*.am +" URL:	       http://www.cvjb.de/comp/vim/elf.vim +" $Id: elf.vim,v 1.1 2004/06/13 19:52:27 vimboss Exp $ +" +" ELF: Extensible Language Facility +"      This is the Applix Inc., Macro and Builder programming language. +"      It has nothing in common with the binary format called ELF. + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +	finish +endif + +" Case does not matter +syn case ignore + +" Environments +syn region elfEnvironment transparent matchgroup=Special start="{" matchgroup=Special end="}" contains=ALLBUT,elfBraceError + +" Unmatched braces +syn match elfBraceError "}" + +" All macros must have at least one of these definitions +syn keyword elfSpecial endmacro +syn region elfSpecial transparent matchgroup=Special start="^\(\(macro\)\|\(set\)\) \S\+$" matchgroup=Special end="^\(\(endmacro\)\|\(endset\)\)$" contains=ALLBUT,elfBraceError + +" Preprocessor Commands +syn keyword elfPPCom define include + +" Some keywords +syn keyword elfKeyword  false true null +syn keyword elfKeyword	var format object function endfunction + +" Conditionals and loops +syn keyword elfConditional if else case of endcase for to next while until return goto + +" All built-in elf macros end with an '@' +syn match elfMacro "[0-9_A-Za-z]\+@" + +" Strings and characters +syn region elfString start=+"+  skip=+\\\\\|\\"+  end=+"+ + +" Numbers +syn match elfNumber "-\=\<[0-9]*\.\=[0-9_]\>" + +" Comments +syn region elfComment start="/\*"  end="\*/" +syn match elfComment  "\'.*$" + +syn sync ccomment elfComment + +" Parenthesis +syn match elfParens "[\[\]()]" + +" Punctuation +syn match elfPunct "[,;]" + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +" The default methods for highlighting. Can be overridden later. +hi def link elfComment Comment +hi def link elfPPCom Include +hi def link elfKeyword Keyword +hi def link elfSpecial Special +hi def link elfEnvironment Special +hi def link elfBraceError Error +hi def link elfConditional Conditional +hi def link elfMacro Function +hi def link elfNumber Number +hi def link elfString String +hi def link elfParens Delimiter +hi def link elfPunct Delimiter + + +let b:current_syntax = "elf" + +" vim:ts=8:sw=4:nocindent:smartindent: + +endif diff --git a/syntax/forth.vim b/syntax/forth.vim new file mode 100644 index 00000000..0e9350ab --- /dev/null +++ b/syntax/forth.vim @@ -0,0 +1,266 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'forth') == -1 + +" Vim syntax file +" Language:    FORTH +" Current Maintainer:  Johan Kotlinski <kotlinski@gmail.com> +" Previous Maintainer:  Christian V. J. Brüssow <cvjb@cvjb.de> +" Last Change: 2018-03-29 +" Filenames:   *.fs,*.ft +" URL:	       https://github.com/jkotlinski/forth.vim + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +    finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +" Synchronization method +syn sync ccomment +syn sync maxlines=200 + +" I use gforth, so I set this to case ignore +syn case ignore + +" Some special, non-FORTH keywords +syn keyword forthTodo contained TODO FIXME XXX +syn match forthTodo contained 'Copyright\(\s([Cc])\)\=\(\s[0-9]\{2,4}\)\=' + +" Characters allowed in keywords +" I don't know if 128-255 are allowed in ANS-FORTH +setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255 + +" when wanted, highlight trailing white space +if exists("forth_space_errors") +    if !exists("forth_no_trail_space_error") +        syn match forthSpaceError display excludenl "\s\+$" +    endif +    if !exists("forth_no_tab_space_error") +        syn match forthSpaceError display " \+\t"me=e-1 +    endif +endif + +" Keywords + +" basic mathematical and logical operators +syn keyword forthOperators + - * / MOD /MOD NEGATE ABS MIN MAX +syn keyword forthOperators AND OR XOR NOT LSHIFT RSHIFT INVERT 2* 2/ 1+ +syn keyword forthOperators 1- 2+ 2- 8* UNDER+ +syn keyword forthOperators M+ */ */MOD M* UM* M*/ UM/MOD FM/MOD SM/REM +syn keyword forthOperators D+ D- DNEGATE DABS DMIN DMAX D2* D2/ +syn keyword forthOperators F+ F- F* F/ FNEGATE FABS FMAX FMIN FLOOR FROUND +syn keyword forthOperators F** FSQRT FEXP FEXPM1 FLN FLNP1 FLOG FALOG FSIN +syn keyword forthOperators FCOS FSINCOS FTAN FASIN FACOS FATAN FATAN2 FSINH +syn keyword forthOperators FCOSH FTANH FASINH FACOSH FATANH F2* F2/ 1/F +syn keyword forthOperators F~REL F~ABS F~ +syn keyword forthOperators 0< 0<= 0<> 0= 0> 0>= < <= <> = > >= U< U<= +syn keyword forthOperators U> U>= D0< D0<= D0<> D0= D0> D0>= D< D<= D<> +syn keyword forthOperators D= D> D>= DU< DU<= DU> DU>= WITHIN ?NEGATE +syn keyword forthOperators ?DNEGATE TRUE FALSE + +" various words that take an input and do something with it +syn keyword forthFunction . U. .R U.R + +" stack manipulations +syn keyword forthStack DROP NIP DUP OVER TUCK SWAP ROT -ROT ?DUP PICK ROLL +syn keyword forthStack 2DROP 2NIP 2DUP 2OVER 2TUCK 2SWAP 2ROT 2-ROT +syn keyword forthStack 3DUP 4DUP 5DUP 3DROP 4DROP 5DROP 8DROP 4SWAP 4ROT +syn keyword forthStack 4-ROT 4TUCK 8SWAP 8DUP +syn keyword forthRStack >R R> R@ RDROP 2>R 2R> 2R@ 2RDROP +syn keyword forthRstack 4>R 4R> 4R@ 4RDROP +syn keyword forthFStack FDROP FNIP FDUP FOVER FTUCK FSWAP FROT + +" stack pointer manipulations +syn keyword forthSP SP@ SP! FP@ FP! RP@ RP! LP@ LP! DEPTH + +" address operations +syn keyword forthMemory @ ! +! C@ C! 2@ 2! F@ F! SF@ SF! DF@ DF! +syn keyword forthAdrArith CHARS CHAR+ CELLS CELL+ CELL ALIGN ALIGNED FLOATS +syn keyword forthAdrArith FLOAT+ FLOAT FALIGN FALIGNED SFLOATS SFLOAT+ +syn keyword forthAdrArith SFALIGN SFALIGNED DFLOATS DFLOAT+ DFALIGN DFALIGNED +syn keyword forthAdrArith MAXALIGN MAXALIGNED CFALIGN CFALIGNED +syn keyword forthAdrArith ADDRESS-UNIT-BITS ALLOT ALLOCATE HERE +syn keyword forthMemBlks MOVE ERASE CMOVE CMOVE> FILL BLANK UNUSED + +" conditionals +syn keyword forthCond IF ELSE ENDIF THEN CASE OF ENDOF ENDCASE ?DUP-IF +syn keyword forthCond ?DUP-0=-IF AHEAD CS-PICK CS-ROLL CATCH THROW WITHIN + +" iterations +syn keyword forthLoop BEGIN WHILE REPEAT UNTIL AGAIN +syn keyword forthLoop ?DO LOOP I J K +DO U+DO -DO U-DO DO +LOOP -LOOP +syn keyword forthLoop UNLOOP LEAVE ?LEAVE EXIT DONE FOR NEXT RECURSE + +" new words +syn match forthClassDef '\<:class\s*[^ \t]\+\>' +syn match forthObjectDef '\<:object\s*[^ \t]\+\>' +syn match forthColonDef '\<:m\?\s*[^ \t]\+\>' +syn keyword forthEndOfColonDef ; ;M ;m +syn keyword forthEndOfClassDef ;class +syn keyword forthEndOfObjectDef ;object +syn keyword forthDefine CONSTANT 2CONSTANT FCONSTANT VARIABLE 2VARIABLE +syn keyword forthDefine FVARIABLE CREATE USER VALUE TO DEFER IS DOES> IMMEDIATE +syn keyword forthDefine COMPILE-ONLY COMPILE RESTRICT INTERPRET POSTPONE EXECUTE +syn keyword forthDefine LITERAL CREATE-INTERPRET/COMPILE INTERPRETATION> +syn keyword forthDefine <INTERPRETATION COMPILATION> <COMPILATION ] LASTXT +syn keyword forthDefine COMP' POSTPONE, FIND-NAME NAME>INT NAME?INT NAME>COMP +syn keyword forthDefine NAME>STRING STATE C; CVARIABLE BUFFER: MARKER +syn keyword forthDefine , 2, F, C, COMPILE, +syn match forthDefine "\[IFDEF]" +syn match forthDefine "\[IFUNDEF]" +syn match forthDefine "\[THEN]" +syn match forthDefine "\[ENDIF]" +syn match forthDefine "\[ELSE]" +syn match forthDefine "\[?DO]" +syn match forthDefine "\[DO]" +syn match forthDefine "\[LOOP]" +syn match forthDefine "\[+LOOP]" +syn match forthDefine "\[NEXT]" +syn match forthDefine "\[BEGIN]" +syn match forthDefine "\[UNTIL]" +syn match forthDefine "\[AGAIN]" +syn match forthDefine "\[WHILE]" +syn match forthDefine "\[REPEAT]" +syn match forthDefine "\[COMP']" +syn match forthDefine "'" +syn match forthDefine '\<\[\>' +syn match forthDefine "\[']" +syn match forthDefine '\[COMPILE]' +syn match forthDefine '\[CHAR]' + +" debugging +syn keyword forthDebug PRINTDEBUGDATA PRINTDEBUGLINE +syn match forthDebug "\<\~\~\>" + +" Assembler +syn keyword forthAssembler ASSEMBLER CODE END-CODE ;CODE FLUSH-ICACHE C, + +" basic character operations +syn keyword forthCharOps (.) CHAR EXPECT FIND WORD TYPE -TRAILING EMIT KEY +syn keyword forthCharOps KEY? TIB CR BL COUNT SPACE SPACES +" recognize 'char (' or '[char] (' correctly, so it doesn't +" highlight everything after the paren as a comment till a closing ')' +syn match forthCharOps '\<char\s\S\s' +syn match forthCharOps '\<\[char\]\s\S\s' +syn region forthCharOps start=+."\s+ skip=+\\"+ end=+"+ + +" char-number conversion +syn keyword forthConversion <<# <# # #> #>> #S (NUMBER) (NUMBER?) CONVERT D>F +syn keyword forthConversion D>S DIGIT DPL F>D HLD HOLD NUMBER S>D SIGN >NUMBER +syn keyword forthConversion F>S S>F HOLDS + +" interpreter, wordbook, compiler +syn keyword forthForth (LOCAL) BYE COLD ABORT >BODY >NEXT >LINK CFA >VIEW HERE +syn keyword forthForth PAD WORDS VIEW VIEW> N>LINK NAME> LINK> L>NAME FORGET +syn keyword forthForth BODY> ASSERT( ASSERT0( ASSERT1( ASSERT2( ASSERT3( ) +syn keyword forthForth >IN ACCEPT ENVIRONMENT? EVALUATE QUIT SOURCE ACTION-OF +syn keyword forthForth DEFER! DEFER@ PARSE PARSE-NAME REFILL RESTORE-INPUT +syn keyword forthForth SAVE-INPUT SOURCE-ID +syn region forthForth start=+ABORT"\s+ skip=+\\"+ end=+"+ + +" vocabularies +syn keyword forthVocs ONLY FORTH ALSO ROOT SEAL VOCS ORDER CONTEXT #VOCS +syn keyword forthVocs VOCABULARY DEFINITIONS + +" File keywords +syn keyword forthFileMode R/O R/W W/O BIN +syn keyword forthFileWords OPEN-FILE CREATE-FILE CLOSE-FILE DELETE-FILE +syn keyword forthFileWords RENAME-FILE READ-FILE READ-LINE KEY-FILE +syn keyword forthFileWords KEY?-FILE WRITE-FILE WRITE-LINE EMIT-FILE +syn keyword forthFileWords FLUSH-FILE FILE-STATUS FILE-POSITION +syn keyword forthFileWords REPOSITION-FILE FILE-SIZE RESIZE-FILE +syn keyword forthFileWords SLURP-FILE SLURP-FID STDIN STDOUT STDERR +syn keyword forthFileWords INCLUDE-FILE INCLUDED REQUIRED +syn keyword forthBlocks OPEN-BLOCKS USE LOAD --> BLOCK-OFFSET +syn keyword forthBlocks GET-BLOCK-FID BLOCK-POSITION LIST SCR BLOCK +syn keyword forthBlocks BUFER EMPTY-BUFFERS EMPTY-BUFFER UPDATE UPDATED? +syn keyword forthBlocks SAVE-BUFFERS SAVE-BUFFER FLUSH THRU +LOAD +THRU +syn keyword forthBlocks BLOCK-INCLUDED BLK + +" numbers +syn keyword forthMath DECIMAL HEX BASE +syn match forthInteger '\<-\=[0-9]\+.\=\>' +syn match forthInteger '\<&-\=[0-9]\+.\=\>' +" recognize hex and binary numbers, the '$' and '%' notation is for gforth +syn match forthInteger '\<\$\x*\x\+\>' " *1* --- dont't mess +syn match forthInteger '\<\x*\d\x*\>'  " *2* --- this order! +syn match forthInteger '\<%[0-1]*[0-1]\+\>' +syn match forthFloat '\<-\=\d*[.]\=\d\+[DdEe]\d\+\>' +syn match forthFloat '\<-\=\d*[.]\=\d\+[DdEe][-+]\d\+\>' + +" XXX If you find this overkill you can remove it. this has to come after the +" highlighting for numbers otherwise it has no effect. +syn region forthComment start='0 \[if\]' end='\[endif\]' end='\[then\]' contains=forthTodo + +" Strings +syn region forthString start=+\.*\"+ end=+"+ end=+$+ +" XXX +syn region forthString start=+s\"+ end=+"+ end=+$+ +syn region forthString start=+s\\\"+ end=+"+ end=+$+ +syn region forthString start=+c\"+ end=+"+ end=+$+ + +" Comments +syn match forthComment '\\\s.*$' contains=forthTodo,forthSpaceError +syn region forthComment start='\\S\s' end='.*' contains=forthTodo,forthSpaceError +syn match forthComment '\.(\s[^)]*)' contains=forthTodo,forthSpaceError +syn region forthComment start='\(^\|\s\)\zs(\s' skip='\\)' end=')' contains=forthTodo,forthSpaceError +syn region forthComment start='/\*' end='\*/' contains=forthTodo,forthSpaceError + +" Include files +syn match forthInclude '^INCLUDE\s\+\k\+' +syn match forthInclude '^REQUIRE\s\+\k\+' +syn match forthInclude '^FLOAD\s\+' +syn match forthInclude '^NEEDS\s\+' + +" Locals definitions +syn region forthLocals start='{\s' start='{$' end='\s}' end='^}' +syn match forthLocals '{ }' " otherwise, at least two spaces between +syn region forthDeprecated start='locals|' end='|' + +" Define the default highlighting. +hi def link forthTodo Todo +hi def link forthOperators Operator +hi def link forthMath Number +hi def link forthInteger Number +hi def link forthFloat Float +hi def link forthStack Special +hi def link forthRstack Special +hi def link forthFStack Special +hi def link forthSP Special +hi def link forthMemory Function +hi def link forthAdrArith Function +hi def link forthMemBlks Function +hi def link forthCond Conditional +hi def link forthLoop Repeat +hi def link forthColonDef Define +hi def link forthEndOfColonDef Define +hi def link forthDefine Define +hi def link forthDebug Debug +hi def link forthAssembler Include +hi def link forthCharOps Character +hi def link forthConversion String +hi def link forthForth Statement +hi def link forthVocs Statement +hi def link forthString String +hi def link forthComment Comment +hi def link forthClassDef Define +hi def link forthEndOfClassDef Define +hi def link forthObjectDef Define +hi def link forthEndOfObjectDef Define +hi def link forthInclude Include +hi def link forthLocals Type " nothing else uses type and locals must stand out +hi def link forthDeprecated Error " if you must, change to Type +hi def link forthFileMode Function +hi def link forthFunction Function +hi def link forthFileWords Statement +hi def link forthBlocks Statement +hi def link forthSpaceError Error + +let b:current_syntax = "forth" + +let &cpo = s:cpo_save +unlet s:cpo_save +" vim:ts=8:sw=4:nocindent:smartindent: + +endif diff --git a/syntax/grub.vim b/syntax/grub.vim new file mode 100644 index 00000000..b752209d --- /dev/null +++ b/syntax/grub.vim @@ -0,0 +1,97 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'grub') == -1 + +" Vim syntax file +" Language:             grub(8) configuration file +" Previous Maintainer:  Nikolai Weibull <now@bitwi.se> +" Latest Revision:      2006-04-19 + +if exists("b:current_syntax") +  finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn keyword grubTodo          contained TODO FIXME XXX NOTE + +syn region  grubComment       display oneline start='^#' end='$' +                              \ contains=grubTodo,@Spell + +syn match   grubDevice        display +                              \ '(\([fh]d\d\|\d\+\|0x\x\+\)\(,\d\+\)\=\(,\l\)\=)' + +syn match   grubBlock         display '\(\d\+\)\=+\d\+\(,\(\d\+\)\=+\d\+\)*' + +syn match   grubNumbers       display '+\=\<\d\+\|0x\x\+\>' + +syn match   grubBegin         display '^' +                              \ nextgroup=@grubCommands,grubComment skipwhite + +syn cluster grubCommands      contains=grubCommand,grubTitleCommand + +syn keyword grubCommand       contained default fallback hiddenmenu timeout + +syn keyword grubTitleCommand  contained title nextgroup=grubTitle skipwhite + +syn match   grubTitle         contained display '.*' + +syn keyword grubCommand       contained bootp color device dhcp hide ifconfig +                              \ pager partnew parttype password rarp serial setkey +                              \ terminal tftpserver unhide blocklist boot cat +                              \ chainloader cmp configfile debug displayapm +                              \ displaymem embed find fstest geometry halt help +                              \ impsprobe initrd install ioprobe kernel lock +                              \ makeactive map md5crypt module modulenounzip pause +                              \ quit reboot read root rootnoverify savedefault setup +                              \ testload testvbe uppermem vbeprobe + +syn keyword grubSpecial       saved + +syn match   grubBlink         display 'blink-' +syn keyword grubBlack         black +syn keyword grubBlue          blue +syn keyword grubGreen         green +syn keyword grubRed           red +syn keyword grubMagenta       magenta +syn keyword grubBrown         brown yellow +syn keyword grubWhite         white +syn match   grubLightGray     display 'light-gray' +syn match   grubLightBlue     display 'light-blue' +syn match   grubLightGreen    display 'light-green' +syn match   grubLightCyan     display 'light-cyan' +syn match   grubLightRed      display 'light-red' +syn match   grubLightMagenta  display 'light-magenta' +syn match   grubDarkGray      display 'dark-gray' + +hi def link grubComment       Comment +hi def link grubTodo          Todo +hi def link grubNumbers       Number +hi def link grubDevice        Identifier +hi def link grubBlock         Identifier +hi def link grubCommand       Keyword +hi def link grubTitleCommand  grubCommand +hi def link grubTitle         String +hi def link grubSpecial       Special + +hi def      grubBlink         cterm=inverse +hi def      grubBlack         ctermfg=Black ctermbg=White guifg=Black guibg=White +hi def      grubBlue          ctermfg=DarkBlue guifg=DarkBlue +hi def      grubGreen         ctermfg=DarkGreen guifg=DarkGreen +hi def      grubRed           ctermfg=DarkRed guifg=DarkRed +hi def      grubMagenta       ctermfg=DarkMagenta guifg=DarkMagenta +hi def      grubBrown         ctermfg=Brown guifg=Brown +hi def      grubWhite         ctermfg=White ctermbg=Black guifg=White guibg=Black +hi def      grubLightGray     ctermfg=LightGray guifg=LightGray +hi def      grubLightBlue     ctermfg=LightBlue guifg=LightBlue +hi def      grubLightGreen    ctermfg=LightGreen guifg=LightGreen +hi def      grubLightCyan     ctermfg=LightCyan guifg=LightCyan +hi def      grubLightRed      ctermfg=LightRed guifg=LightRed +hi def      grubLightMagenta  ctermfg=LightMagenta guifg=LightMagenta +hi def      grubDarkGray      ctermfg=DarkGray guifg=DarkGray + +let b:current_syntax = "grub" + +let &cpo = s:cpo_save +unlet s:cpo_save + +endif diff --git a/syntax/help.vim b/syntax/help.vim new file mode 100644 index 00000000..aca620ee --- /dev/null +++ b/syntax/help.vim @@ -0,0 +1,225 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'help') == -1 + +" Vim syntax file +" Language:	Vim help file +" Maintainer:	Bram Moolenaar (Bram@vim.org) +" Last Change:	2020 Jul 28 + +" Quit when a (custom) syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +syn match helpHeadline		"^[-A-Z .][-A-Z0-9 .()_]*\ze\(\s\+\*\|$\)" +syn match helpSectionDelim	"^===.*===$" +syn match helpSectionDelim	"^---.*--$" +if has("conceal") +  syn region helpExample	matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<" concealends +else +  syn region helpExample	matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<" +endif +if has("ebcdic") +  syn match helpHyperTextJump	"\\\@<!|[^"*|]\+|" contains=helpBar +  syn match helpHyperTextEntry	"\*[^"*|]\+\*\s"he=e-1 contains=helpStar +  syn match helpHyperTextEntry	"\*[^"*|]\+\*$" contains=helpStar +else +  syn match helpHyperTextJump	"\\\@<!|[#-)!+-~]\+|" contains=helpBar +  syn match helpHyperTextEntry	"\*[#-)!+-~]\+\*\s"he=e-1 contains=helpStar +  syn match helpHyperTextEntry	"\*[#-)!+-~]\+\*$" contains=helpStar +endif +if has("conceal") +  syn match helpBar		contained "|" conceal +  syn match helpBacktick	contained "`" conceal +  syn match helpStar		contained "\*" conceal +else +  syn match helpBar		contained "|" +  syn match helpBacktick	contained "`" +  syn match helpStar		contained "\*" +endif +syn match helpNormal		"|.*====*|" +syn match helpNormal		"|||" +syn match helpNormal		":|vim:|"	" for :help modeline +syn match helpVim		"\<Vim version [0-9][0-9.a-z]*" +syn match helpVim		"VIM REFERENCE.*" +syn match helpOption		"'[a-z]\{2,\}'" +syn match helpOption		"'t_..'" +syn match helpCommand		"`[^` \t]\+`"hs=s+1,he=e-1 contains=helpBacktick +syn match helpCommand		"\(^\|[^a-z"[]\)\zs`[^`]\+`\ze\([^a-z\t."']\|$\)"hs=s+1,he=e-1 contains=helpBacktick +syn match helpHeader		"\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore +syn match helpGraphic		".* \ze`$" nextgroup=helpIgnore +if has("conceal") +  syn match helpIgnore		"." contained conceal +else +  syn match helpIgnore		"." contained +endif +syn keyword helpNote		note Note NOTE note: Note: NOTE: Notes Notes: +syn keyword helpWarning		WARNING WARNING: Warning: +syn keyword helpDeprecated	DEPRECATED DEPRECATED: Deprecated: +syn match helpSpecial		"\<N\>" +syn match helpSpecial		"\<N\.$"me=e-1 +syn match helpSpecial		"\<N\.\s"me=e-2 +syn match helpSpecial		"(N\>"ms=s+1 + +syn match helpSpecial		"\[N]" +" avoid highlighting N  N in help.txt +syn match helpSpecial		"N  N"he=s+1 +syn match helpSpecial		"Nth"me=e-2 +syn match helpSpecial		"N-1"me=e-2 +syn match helpSpecial		"{[-a-zA-Z0-9'"*+/:%#=[\]<>.,]\+}" +syn match helpSpecial		"\s\[[-a-z^A-Z0-9_]\{2,}]"ms=s+1 +syn match helpSpecial		"<[-a-zA-Z0-9_]\+>" +syn match helpSpecial		"<[SCM]-.>" +syn match helpNormal		"<---*>" +syn match helpSpecial		"\[range]" +syn match helpSpecial		"\[line]" +syn match helpSpecial		"\[count]" +syn match helpSpecial		"\[offset]" +syn match helpSpecial		"\[cmd]" +syn match helpSpecial		"\[num]" +syn match helpSpecial		"\[+num]" +syn match helpSpecial		"\[-num]" +syn match helpSpecial		"\[+cmd]" +syn match helpSpecial		"\[++opt]" +syn match helpSpecial		"\[arg]" +syn match helpSpecial		"\[arguments]" +syn match helpSpecial		"\[ident]" +syn match helpSpecial		"\[addr]" +syn match helpSpecial		"\[group]" +" Don't highlight [converted] and others that do not have a tag +syn match helpNormal		"\[\(readonly\|fifo\|socket\|converted\|crypted\)]" + +syn match helpSpecial		"CTRL-." +syn match helpSpecial		"CTRL-SHIFT-." +syn match helpSpecial		"CTRL-Break" +syn match helpSpecial		"CTRL-PageUp" +syn match helpSpecial		"CTRL-PageDown" +syn match helpSpecial		"CTRL-Insert" +syn match helpSpecial		"CTRL-Del" +syn match helpSpecial		"CTRL-{char}" +syn region helpNotVi		start="{Vi[: ]" start="{not" start="{only" end="}" contains=helpLeadBlank,helpHyperTextJump +syn match helpLeadBlank		"^\s\+" contained + +" Highlight group items in their own color. +syn match helpComment		"\t[* ]Comment\t\+[a-z].*" +syn match helpConstant		"\t[* ]Constant\t\+[a-z].*" +syn match helpString		"\t[* ]String\t\+[a-z].*" +syn match helpCharacter		"\t[* ]Character\t\+[a-z].*" +syn match helpNumber		"\t[* ]Number\t\+[a-z].*" +syn match helpBoolean		"\t[* ]Boolean\t\+[a-z].*" +syn match helpFloat		"\t[* ]Float\t\+[a-z].*" +syn match helpIdentifier	"\t[* ]Identifier\t\+[a-z].*" +syn match helpFunction		"\t[* ]Function\t\+[a-z].*" +syn match helpStatement		"\t[* ]Statement\t\+[a-z].*" +syn match helpConditional	"\t[* ]Conditional\t\+[a-z].*" +syn match helpRepeat		"\t[* ]Repeat\t\+[a-z].*" +syn match helpLabel		"\t[* ]Label\t\+[a-z].*" +syn match helpOperator		"\t[* ]Operator\t\+["a-z].*" +syn match helpKeyword		"\t[* ]Keyword\t\+[a-z].*" +syn match helpException		"\t[* ]Exception\t\+[a-z].*" +syn match helpPreProc		"\t[* ]PreProc\t\+[a-z].*" +syn match helpInclude		"\t[* ]Include\t\+[a-z].*" +syn match helpDefine		"\t[* ]Define\t\+[a-z].*" +syn match helpMacro		"\t[* ]Macro\t\+[a-z].*" +syn match helpPreCondit		"\t[* ]PreCondit\t\+[a-z].*" +syn match helpType		"\t[* ]Type\t\+[a-z].*" +syn match helpStorageClass	"\t[* ]StorageClass\t\+[a-z].*" +syn match helpStructure		"\t[* ]Structure\t\+[a-z].*" +syn match helpTypedef		"\t[* ]Typedef\t\+[Aa-z].*" +syn match helpSpecial		"\t[* ]Special\t\+[a-z].*" +syn match helpSpecialChar	"\t[* ]SpecialChar\t\+[a-z].*" +syn match helpTag		"\t[* ]Tag\t\+[a-z].*" +syn match helpDelimiter		"\t[* ]Delimiter\t\+[a-z].*" +syn match helpSpecialComment	"\t[* ]SpecialComment\t\+[a-z].*" +syn match helpDebug		"\t[* ]Debug\t\+[a-z].*" +syn match helpUnderlined	"\t[* ]Underlined\t\+[a-z].*" +syn match helpError		"\t[* ]Error\t\+[a-z].*" +syn match helpTodo		"\t[* ]Todo\t\+[a-z].*" + +syn match helpURL `\v<(((https?|ftp|gopher)://|(mailto|file|news):)[^' 	<>"]+|(www|web|w3)[a-z0-9_-]*\.[a-z0-9._-]+\.[^' 	<>"]+)[a-zA-Z0-9/]` + +" Additionally load a language-specific syntax file "help_ab.vim". +let s:i = match(expand("%"), '\.\a\ax$') +if s:i > 0 +  exe "runtime syntax/help_" . strpart(expand("%"), s:i + 1, 2) . ".vim" +endif + +" Italian +if v:lang =~ '\<IT\>' || v:lang =~ '_IT\>' || v:lang =~? "italian" +  syn keyword helpNote		nota Nota NOTA nota: Nota: NOTA: notare Notare NOTARE notare: Notare: NOTARE: +  syn match helpSpecial		"Nma"me=e-2 +  syn match helpSpecial		"Nme"me=e-2 +  syn match helpSpecial		"Nmi"me=e-2 +  syn match helpSpecial		"Nmo"me=e-2 +  syn match helpSpecial		"\[interv.]" +  syn region helpNotVi		start="{non" start="{solo" start="{disponibile" end="}" contains=helpLeadBlank,helpHyperTextJump +endif + +syn sync minlines=40 + + +" Define the default highlighting. +" Only used when an item doesn't have highlighting yet +hi def link helpIgnore		Ignore +hi def link helpHyperTextJump	Identifier +hi def link helpBar		Ignore +hi def link helpBacktick	Ignore +hi def link helpStar		Ignore +hi def link helpHyperTextEntry	String +hi def link helpHeadline	Statement +hi def link helpHeader		PreProc +hi def link helpSectionDelim	PreProc +hi def link helpVim		Identifier +hi def link helpCommand		Comment +hi def link helpExample		Comment +hi def link helpOption		Type +hi def link helpNotVi		Special +hi def link helpSpecial		Special +hi def link helpNote		Todo +hi def link helpWarning		Todo +hi def link helpDeprecated	Todo + +hi def link helpComment		Comment +hi def link helpConstant	Constant +hi def link helpString		String +hi def link helpCharacter	Character +hi def link helpNumber		Number +hi def link helpBoolean		Boolean +hi def link helpFloat		Float +hi def link helpIdentifier	Identifier +hi def link helpFunction	Function +hi def link helpStatement	Statement +hi def link helpConditional	Conditional +hi def link helpRepeat		Repeat +hi def link helpLabel		Label +hi def link helpOperator	Operator +hi def link helpKeyword		Keyword +hi def link helpException	Exception +hi def link helpPreProc		PreProc +hi def link helpInclude		Include +hi def link helpDefine		Define +hi def link helpMacro		Macro +hi def link helpPreCondit	PreCondit +hi def link helpType		Type +hi def link helpStorageClass	StorageClass +hi def link helpStructure	Structure +hi def link helpTypedef		Typedef +hi def link helpSpecialChar	SpecialChar +hi def link helpTag		Tag +hi def link helpDelimiter	Delimiter +hi def link helpSpecialComment	SpecialComment +hi def link helpDebug		Debug +hi def link helpUnderlined	Underlined +hi def link helpError		Error +hi def link helpTodo		Todo +hi def link helpURL		String + +let b:current_syntax = "help" + +let &cpo = s:cpo_save +unlet s:cpo_save +" vim: ts=8 sw=2 + +endif diff --git a/syntax/log.vim b/syntax/log.vim index 1fe7051e..6061cd58 100644 --- a/syntax/log.vim +++ b/syntax/log.vim @@ -45,8 +45,9 @@ syn region logString      start=/'\(s \|t \| \w\)\@!/ end=/'/ end=/$/ end=/s / s  syn match logDate '\d\{2,4}[-\/]\(\d\{2}\|Jan\|Feb\|Mar\|Apr\|May\|Jun\|Jul\|Aug\|Sep\|Oct\|Nov\|Dec\)[-\/]\d\{2,4}T\?'  " Matches 8 digit numbers at start of line starting with 20  syn match logDate '^20\d\{6}' -" Matches Fri Jan 09 or Feb 11 or Apr  3 -syn match logDate '\(\(Mon\|Tue\|Wed\|Thu\|Fri\|Sat\|Sun\) \)\?\(Jan\|Feb\|Mar\|Apr\|May\|Jun\|Jul\|Aug\|Sep\|Oct\|Nov\|Dec\) [0-9 ]\d' +" Matches Fri Jan 09 or Feb 11 or Apr  3 or Sun 3 +syn keyword logDate Mon Tue Wed Thu Fri Sat Sun Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec nextgroup=logDateDay +syn match logDateDay '\s\{1,2}\d\{1,2}' contained  " Matches 12:09:38 or 00:03:38.129Z or 01:32:12.102938 +0700  syn match logTime '\d\{2}:\d\{2}:\d\{2}\(\.\d\{2,6}\)\?\(\s\?[-+]\d\{2,4}\|Z\)\?\>' nextgroup=logTimeZone,logSysColumns skipwhite @@ -114,6 +115,7 @@ hi def link logNull Constant  hi def link logString String  hi def link logDate Identifier +hi def link logDateDay Identifier  hi def link logTime Function  hi def link logTimeZone Identifier diff --git a/syntax/m4.vim b/syntax/m4.vim new file mode 100644 index 00000000..848dba3f --- /dev/null +++ b/syntax/m4.vim @@ -0,0 +1,64 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'm4') == -1 + +" Vim syntax file +" Language:		M4 +" Maintainer:	Claudio Fleiner (claudio@fleiner.com) +" URL:			http://www.fleiner.com/vim/syntax/m4.vim +" Last Change:	2005 Jan 15 + +" This file will highlight user function calls if they use only +" capital letters and have at least one argument (i.e. the '(' +" must be there). Let me know if this is a problem. + +" quit when a syntax file was already loaded +if !exists("main_syntax") +  if exists("b:current_syntax") +	finish +  endif +  " we define it here so that included files can test for it +  let main_syntax='m4' +endif + +" define the m4 syntax +syn match  m4Variable contained "\$\d\+" +syn match  m4Special  contained "$[@*#]" +syn match  m4Comment  "\<\(m4_\)\=dnl\>.*" contains=SpellErrors +syn match  m4Constants "\<\(m4_\)\=__file__" +syn match  m4Constants "\<\(m4_\)\=__line__" +syn keyword m4Constants divnum sysval m4_divnum m4_sysval +syn region m4Paren    matchgroup=m4Delimiter start="(" end=")" contained contains=@m4Top +syn region m4Command  matchgroup=m4Function  start="\<\(m4_\)\=\(define\|defn\|pushdef\)(" end=")" contains=@m4Top +syn region m4Command  matchgroup=m4Preproc   start="\<\(m4_\)\=\(include\|sinclude\)("he=e-1 end=")" contains=@m4Top +syn region m4Command  matchgroup=m4Statement start="\<\(m4_\)\=\(syscmd\|esyscmd\|ifdef\|ifelse\|indir\|builtin\|shift\|errprint\|m4exit\|changecom\|changequote\|changeword\|m4wrap\|debugfile\|divert\|undivert\)("he=e-1 end=")" contains=@m4Top +syn region m4Command  matchgroup=m4builtin start="\<\(m4_\)\=\(len\|index\|regexp\|substr\|translit\|patsubst\|format\|incr\|decr\|eval\|maketemp\)("he=e-1 end=")" contains=@m4Top +syn keyword m4Statement divert undivert +syn region m4Command  matchgroup=m4Type      start="\<\(m4_\)\=\(undefine\|popdef\)("he=e-1 end=")" contains=@m4Top +syn region m4Function matchgroup=m4Type      start="\<[_A-Z][_A-Z0-9]*("he=e-1 end=")" contains=@m4Top +syn region m4String   start="`" end="'" contained contains=@m4Top,@m4StringContents,SpellErrors +syn cluster m4Top     contains=m4Comment,m4Constants,m4Special,m4Variable,m4String,m4Paren,m4Command,m4Statement,m4Function + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet +hi def link m4Delimiter Delimiter +hi def link m4Comment   Comment +hi def link m4Function  Function +hi def link m4Keyword   Keyword +hi def link m4Special   Special +hi def link m4String    String +hi def link m4Statement Statement +hi def link m4Preproc   PreProc +hi def link m4Type      Type +hi def link m4Special   Special +hi def link m4Variable  Special +hi def link m4Constants Constant +hi def link m4Builtin   Statement + +let b:current_syntax = "m4" + +if main_syntax == 'm4' +  unlet main_syntax +endif + +" vim: ts=4 + +endif diff --git a/syntax/murphi.vim b/syntax/murphi.vim new file mode 100644 index 00000000..c6d16326 --- /dev/null +++ b/syntax/murphi.vim @@ -0,0 +1,130 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'murphi') == -1 + +" Vim syntax file +" Language: Murphi model checking language +" Maintainer: Matthew Fernandez <matthew.fernandez@gmail.com> +" Last Change: 2019 Aug 27 +" Version: 2 +" Remark: Originally authored by Diego Ongaro <ongaro@cs.stanford.edu>  + +if version < 600 +  syntax clear +elseif exists("b:current_syntax") +  finish +endif + +" Keywords are case insensitive. +" Keep these in alphabetical order. +syntax case ignore +syn keyword murphiKeyword       alias +syn keyword murphiStructure     array +syn keyword murphiKeyword       assert +syn keyword murphiKeyword       begin +syn keyword murphiType          boolean +syn keyword murphiKeyword       by +syn keyword murphiLabel         case +syn keyword murphiKeyword       clear +syn keyword murphiLabel         const +syn keyword murphiRepeat        do +syn keyword murphiConditional   else +syn keyword murphiConditional   elsif +syn keyword murphiKeyword       end +syn keyword murphiKeyword       endalias +syn keyword murphiRepeat        endexists +syn keyword murphiRepeat        endfor +syn keyword murphiRepeat        endforall +syn keyword murphiKeyword       endfunction +syn keyword murphiConditional   endif +syn keyword murphiKeyword       endprocedure +syn keyword murphiStructure     endrecord +syn keyword murphiKeyword       endrule +syn keyword murphiKeyword       endruleset +syn keyword murphiKeyword       endstartstate +syn keyword murphiConditional   endswitch +syn keyword murphiRepeat        endwhile +syn keyword murphiStructure     enum +syn keyword murphiKeyword       error +syn keyword murphiRepeat        exists +syn keyword murphiBoolean       false +syn keyword murphiRepeat        for +syn keyword murphiRepeat        forall +syn keyword murphiKeyword       function +syn keyword murphiConditional   if +syn keyword murphiKeyword       in +syn keyword murphiKeyword       interleaved +syn keyword murphiLabel         invariant +syn keyword murphiFunction      ismember +syn keyword murphiFunction      isundefined +syn keyword murphiKeyword       log +syn keyword murphiStructure     of +syn keyword murphiType          multiset +syn keyword murphiFunction      multisetadd +syn keyword murphiFunction      multisetcount +syn keyword murphiFunction      multisetremove +syn keyword murphiFunction      multisetremovepred +syn keyword murphiKeyword       procedure +syn keyword murphiKeyword       program +syn keyword murphiKeyword       put +syn keyword murphiStructure     record +syn keyword murphiKeyword       return +syn keyword murphiLabel         rule +syn keyword murphiLabel         ruleset +syn keyword murphiType          scalarset +syn keyword murphiLabel         startstate +syn keyword murphiConditional   switch +syn keyword murphiConditional   then +syn keyword murphiRepeat        to +syn keyword murphiKeyword       traceuntil +syn keyword murphiBoolean       true +syn keyword murphiLabel         type +syn keyword murphiKeyword       undefine +syn keyword murphiStructure     union +syn keyword murphiLabel         var +syn keyword murphiRepeat        while + +syn keyword murphiTodo contained todo xxx fixme +syntax case match + +" Integers. +syn match murphiNumber "\<\d\+\>" + +" Operators and special characters. +syn match murphiOperator "[\+\-\*\/%&|=!<>:\?]\|\." +syn match murphiDelimiter "\(:=\@!\|[;,]\)" +syn match murphiSpecial "[()\[\]]" + +" Double equal sign is a common error: use one equal sign for equality testing. +syn match murphiError "==[^>]"he=e-1 +" Double && and || are errors. +syn match murphiError "&&\|||" + +" Strings. This is defined so late so that it overrides previous matches. +syn region murphiString start=+"+ end=+"+ + +" Comments. This is defined so late so that it overrides previous matches. +syn region murphiComment start="--" end="$" contains=murphiTodo +syn region murphiComment start="/\*" end="\*/" contains=murphiTodo + +" Link the rules to some groups. +hi def link murphiComment        Comment +hi def link murphiString         String +hi def link murphiNumber         Number +hi def link murphiBoolean        Boolean +hi def link murphiIdentifier     Identifier +hi def link murphiFunction       Function +hi def link murphiStatement      Statement +hi def link murphiConditional    Conditional +hi def link murphiRepeat         Repeat +hi def link murphiLabel          Label +hi def link murphiOperator       Operator +hi def link murphiKeyword        Keyword +hi def link murphiType           Type +hi def link murphiStructure      Structure +hi def link murphiSpecial        Special +hi def link murphiDelimiter      Delimiter +hi def link murphiError          Error +hi def link murphiTodo           Todo + +let b:current_syntax = "murphi" + +endif diff --git a/syntax/ruby.vim b/syntax/ruby.vim index ec10fbbb..898f811e 100644 --- a/syntax/ruby.vim +++ b/syntax/ruby.vim @@ -333,7 +333,7 @@ SynFold '<<' syn region rubyString start=+\%(\%(class\|::\|\.\@1<!\.\)\_s*\|\%([  syn match rubyAliasDeclaration	"[^[:space:];#.()]\+" contained contains=rubySymbol,@rubyGlobalVariable nextgroup=rubyAliasDeclaration2 skipwhite  syn match rubyAliasDeclaration2 "[^[:space:];#.()]\+" contained contains=rubySymbol,@rubyGlobalVariable  syn match rubyMethodDeclaration "[^[:space:];#(]\+"   contained contains=rubyConstant,rubyBoolean,rubyPseudoVariable,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable -syn match rubyClassDeclaration	"[^[:space:];#<]\+"   contained contains=rubyClassName,rubyScopeOperator nextgroup=rubySuperClassOperator skipwhite skipnl +syn match rubyClassDeclaration	"[^[:space:];#<]\+"   contained contains=rubyClassName,rubyScopeOperator nextgroup=rubySuperClassOperator skipwhite  syn match rubyModuleDeclaration "[^[:space:];#<]\+"   contained contains=rubyModuleName,rubyScopeOperator  syn match rubyMethodName "\<\%([_[:alpha:]]\|[^\x00-\x7F]\)\%([_[:alnum:]]\|[^\x00-\x7F]\)*[?!=]\=\%([[:alnum:]_.:?!=]\|[^\x00-\x7F]\)\@!"			      contained containedin=rubyMethodDeclaration diff --git a/syntax/trasys.vim b/syntax/trasys.vim new file mode 100644 index 00000000..44abf3c4 --- /dev/null +++ b/syntax/trasys.vim @@ -0,0 +1,164 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'trasys') == -1 + +" Vim syntax file +" Language:     TRASYS input file +" Maintainer:   Adrian Nagle, anagle@ball.com +" Last Change:  2003 May 11 +" Filenames:    *.inp +" URL:		http://www.naglenet.org/vim/syntax/trasys.vim +" MAIN URL:     http://www.naglenet.org/vim/ + + + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + + +" Force free-form fortran format +let fortran_free_source=1 + +" Load FORTRAN syntax file +runtime! syntax/fortran.vim +unlet b:current_syntax + + +" Ignore case +syn case ignore + + + +" Define keywords for TRASYS +syn keyword trasysOptions    model rsrec info maxfl nogo dmpdoc +syn keyword trasysOptions    rsi rti rso rto bcdou cmerg emerg +syn keyword trasysOptions    user1 nnmin erplot + +syn keyword trasysSurface    icsn tx ty tz rotx roty rotz inc bcsn +syn keyword trasysSurface    nnx nny nnz nnax nnr nnth unnx +syn keyword trasysSurface    unny unnz unnax unnr unnth type idupsf +syn keyword trasysSurface    imagsf act active com shade bshade axmin +syn keyword trasysSurface    axmax zmin zmax rmin rmax thmin thmin +syn keyword trasysSurface    thmax alpha emiss trani trans spri sprs +syn keyword trasysSurface    refno posit com dupbcs dimensions +syn keyword trasysSurface    dimension position prop surfn + +syn keyword trasysSurfaceType rect trap disk cyl cone sphere parab +syn keyword trasysSurfaceType box5 box6 shpero tor ogiv elem tape poly + +syn keyword trasysSurfaceArgs ff di top bottom in out both no only + +syn keyword trasysArgs       fig smn nodea zero only ir sol +syn keyword trasysArgs       both wband stepn initl + +syn keyword trasysOperations orbgen build + +"syn keyword trasysSubRoutine call +syn keyword trasysSubRoutine chgblk ndata ndatas odata odatas +syn keyword trasysSubRoutine pldta ffdata cmdata adsurf rbdata +syn keyword trasysSubRoutine rtdata pffshd orbit1 orbit2 orient +syn keyword trasysSubRoutine didt1 didt1s didt2 didt2s spin +syn keyword trasysSubRoutine spinav dicomp distab drdata gbdata +syn keyword trasysSubRoutine gbaprx rkdata rcdata aqdata stfaq +syn keyword trasysSubRoutine qodata qoinit modar modpr modtr +syn keyword trasysSubRoutine modprs modshd moddat rstoff rston +syn keyword trasysSubRoutine rsmerg ffread diread ffusr1 diusr1 +syn keyword trasysSubRoutine surfp didt3 didt3s romain stfrc +syn keyword trasysSubRoutine rornt rocstr romove flxdata title + +syn keyword trassyPrcsrSegm  nplot oplot plot cmcal ffcal rbcal +syn keyword trassyPrcsrSegm  rtcal dical drcal sfcal gbcal rccal +syn keyword trassyPrcsrSegm  rkcal aqcal qocal + + + +" Define matches for TRASYS +syn match  trasysOptions     "list source" +syn match  trasysOptions     "save source" +syn match  trasysOptions     "no print" + +"syn match  trasysSurface     "^K *.* [^$]" +"syn match  trasysSurface     "^D *[0-9]*\.[0-9]\+" +"syn match  trasysSurface     "^I *.*[0-9]\+\.\=" +"syn match  trasysSurface     "^N *[0-9]\+" +"syn match  trasysSurface     "^M *[a-z[A-Z0-9]\+" +"syn match  trasysSurface     "^B[C][S] *[a-zA-Z0-9]*" +"syn match  trasysSurface     "^S *SURFN.*[0-9]" +syn match  trasysSurface     "P[0-9]* *="he=e-1 + +syn match  trasysIdentifier  "^L "he=e-1 +syn match  trasysIdentifier  "^K "he=e-1 +syn match  trasysIdentifier  "^D "he=e-1 +syn match  trasysIdentifier  "^I "he=e-1 +syn match  trasysIdentifier  "^N "he=e-1 +syn match  trasysIdentifier  "^M "he=e-1 +syn match  trasysIdentifier  "^B[C][S]" +syn match  trasysIdentifier  "^S "he=e-1 + +syn match  trasysComment     "^C.*$" +syn match  trasysComment     "^R.*$" +syn match  trasysComment     "\$.*$" + +syn match  trasysHeader      "^header[^,]*" + +syn match  trasysMacro       "^FAC" + +syn match  trasysInteger     "-\=\<[0-9]*\>" +syn match  trasysFloat       "-\=\<[0-9]*\.[0-9]*" +syn match  trasysScientific  "-\=\<[0-9]*\.[0-9]*E[-+]\=[0-9]\+\>" + +syn match  trasysBlank       "' \+'"hs=s+1,he=e-1 + +syn match  trasysEndData     "^END OF DATA" + +if exists("thermal_todo") +  execute 'syn match  trasysTodo ' . '"^'.thermal_todo.'.*$"' +else +  syn match  trasysTodo  "^?.*$" +endif + + + +" Define regions for TRASYS +syn region trasysComment  matchgroup=trasysHeader start="^HEADER DOCUMENTATION DATA" end="^HEADER[^,]*" + + + +" Define synchronizing patterns for TRASYS +syn sync maxlines=500 +syn sync match trasysSync grouphere trasysComment "^HEADER DOCUMENTATION DATA" + + + +" Define the default highlighting +" Only when an item doesn't have highlighting yet + +hi def link trasysOptions		Special +hi def link trasysSurface		Special +hi def link trasysSurfaceType	Constant +hi def link trasysSurfaceArgs	Constant +hi def link trasysArgs		Constant +hi def link trasysOperations	Statement +hi def link trasysSubRoutine	Statement +hi def link trassyPrcsrSegm	PreProc +hi def link trasysIdentifier	Identifier +hi def link trasysComment		Comment +hi def link trasysHeader		Typedef +hi def link trasysMacro		Macro +hi def link trasysInteger		Number +hi def link trasysFloat		Float +hi def link trasysScientific	Float + +hi def link trasysBlank		SpecialChar + +hi def link trasysEndData		Macro + +hi def link trasysTodo		Todo + + + +let b:current_syntax = "trasys" + +" vim: ts=8 sw=2 + +endif diff --git a/syntax/vmasm.vim b/syntax/vmasm.vim new file mode 100644 index 00000000..2581e88c --- /dev/null +++ b/syntax/vmasm.vim @@ -0,0 +1,242 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vmasm') == -1 + +" Vim syntax file +" Language:	(VAX) Macro Assembly +" Maintainer:	Tom Uijldert <tom.uijldert [at] cmg.nl> +" Last change:	2004 May 16 +" +" This is incomplete. Feel free to contribute... +" + +" quit when a syntax file was already loaded +if exists("b:current_syntax") +  finish +endif + +syn case ignore + +" Partial list of register symbols +syn keyword vmasmReg	r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 +syn keyword vmasmReg	ap fp sp pc iv dv + +" All matches - order is important! +syn keyword vmasmOpcode adawi adwc ashl ashq bitb bitw bitl decb decw decl +syn keyword vmasmOpcode ediv emul incb incw incl mcomb mcomw mcoml +syn keyword vmasmOpcode movzbw movzbl movzwl popl pushl rotl sbwc +syn keyword vmasmOpcode cmpv cmpzv cmpc3 cmpc5 locc matchc movc3 movc5 +syn keyword vmasmOpcode movtc movtuc scanc skpc spanc crc extv extzv +syn keyword vmasmOpcode ffc ffs insv aobleq aoblss bbc bbs bbcci bbssi +syn keyword vmasmOpcode blbc blbs brb brw bsbb bsbw caseb casew casel +syn keyword vmasmOpcode jmp jsb rsb sobgeq sobgtr callg calls ret +syn keyword vmasmOpcode bicpsw bispsw bpt halt index movpsl nop popr pushr xfc +syn keyword vmasmOpcode insqhi insqti insque remqhi remqti remque +syn keyword vmasmOpcode addp4 addp6 ashp cmpp3 cmpp4 cvtpl cvtlp cvtps cvtpt +syn keyword vmasmOpcode cvtsp cvttp divp movp mulp subp4 subp6 editpc +syn keyword vmasmOpcode prober probew rei ldpctx svpctx mfpr mtpr bugw bugl +syn keyword vmasmOpcode vldl vldq vgathl vgathq vstl vstq vscatl vscatq +syn keyword vmasmOpcode vvcvt iota mfvp mtvp vsync +syn keyword vmasmOpcode beql[u] bgtr[u] blss[u] +syn match vmasmOpcode "\<add[bwlfdgh][23]\>" +syn match vmasmOpcode "\<bi[cs][bwl][23]\>" +syn match vmasmOpcode "\<clr[bwlqofdgh]\>" +syn match vmasmOpcode "\<cmp[bwlfdgh]\>" +syn match vmasmOpcode "\<cvt[bwlfdgh][bwlfdgh]\>" +syn match vmasmOpcode "\<cvtr[fdgh]l\>" +syn match vmasmOpcode "\<div[bwlfdgh][23]\>" +syn match vmasmOpcode "\<emod[fdgh]\>" +syn match vmasmOpcode "\<mneg[bwlfdgh]\>" +syn match vmasmOpcode "\<mov[bwlqofdgh]\>" +syn match vmasmOpcode "\<mul[bwlfdgh][23]\>" +syn match vmasmOpcode "\<poly[fdgh]\>" +syn match vmasmOpcode "\<sub[bwlfdgh][23]\>" +syn match vmasmOpcode "\<tst[bwlfdgh]\>" +syn match vmasmOpcode "\<xor[bwl][23]\>" +syn match vmasmOpcode "\<mova[bwlfqdgho]\>" +syn match vmasmOpcode "\<push[bwlfqdgho]\>" +syn match vmasmOpcode "\<acb[bwlfgdh]\>" +syn match vmasmOpcode "\<b[lng]equ\=\>" +syn match vmasmOpcode "\<b[cv][cs]\>" +syn match vmasmOpcode "\<bb[cs][cs]\>" +syn match vmasmOpcode "\<v[vs]add[lfdg]\>" +syn match vmasmOpcode "\<v[vs]cmp[lfdg]\>" +syn match vmasmOpcode "\<v[vs]div[fdg]\>" +syn match vmasmOpcode "\<v[vs]mul[lfdg]\>" +syn match vmasmOpcode "\<v[vs]sub[lfdg]\>" +syn match vmasmOpcode "\<v[vs]bi[cs]l\>" +syn match vmasmOpcode "\<v[vs]xorl\>" +syn match vmasmOpcode "\<v[vs]merge\>" +syn match vmasmOpcode "\<v[vs]s[rl]ll\>" + +" Various number formats +syn match vmasmdecNumber	"[+-]\=[0-9]\+\>" +syn match vmasmdecNumber	"^d[0-9]\+\>" +syn match vmasmhexNumber	"^x[0-9a-f]\+\>" +syn match vmasmoctNumber	"^o[0-7]\+\>" +syn match vmasmbinNumber	"^b[01]\+\>" +syn match vmasmfloatNumber	"[-+]\=[0-9]\+E[-+]\=[0-9]\+" +syn match vmasmfloatNumber	"[-+]\=[0-9]\+\.[0-9]*\(E[-+]\=[0-9]\+\)\=" + +" Valid labels +syn match vmasmLabel		"^[a-z_$.][a-z0-9_$.]\{,30}::\=" +syn match vmasmLabel		"\<[0-9]\{1,5}\$:\="          " Local label + +" Character string constants +"       Too complex really. Could be "<...>" but those could also be +"       expressions. Don't know how to handle chosen delimiters +"       ("^<sep>...<sep>") +" syn region vmasmString		start="<" end=">" oneline + +" Operators +syn match vmasmOperator	"[-+*/@&!\\]" +syn match vmasmOperator	"=" +syn match vmasmOperator	"=="		" Global assignment +syn match vmasmOperator	"%length(.*)" +syn match vmasmOperator	"%locate(.*)" +syn match vmasmOperator	"%extract(.*)" +syn match vmasmOperator	"^[amfc]" +syn match vmasmOperator	"[bwlg]^" + +syn match vmasmOperator	"\<\(not_\)\=equal\>" +syn match vmasmOperator	"\<less_equal\>" +syn match vmasmOperator	"\<greater\(_equal\)\=\>" +syn match vmasmOperator	"\<less_than\>" +syn match vmasmOperator	"\<\(not_\)\=defined\>" +syn match vmasmOperator	"\<\(not_\)\=blank\>" +syn match vmasmOperator	"\<identical\>" +syn match vmasmOperator	"\<different\>" +syn match vmasmOperator	"\<eq\>" +syn match vmasmOperator	"\<[gl]t\>" +syn match vmasmOperator	"\<n\=df\>" +syn match vmasmOperator	"\<n\=b\>" +syn match vmasmOperator	"\<idn\>" +syn match vmasmOperator	"\<[nlg]e\>" +syn match vmasmOperator	"\<dif\>" + +" Special items for comments +syn keyword vmasmTodo		contained todo + +" Comments +syn match vmasmComment		";.*" contains=vmasmTodo + +" Include +syn match vmasmInclude		"\.library\>" + +" Macro definition +syn match vmasmMacro		"\.macro\>" +syn match vmasmMacro		"\.mexit\>" +syn match vmasmMacro		"\.endm\>" +syn match vmasmMacro		"\.mcall\>" +syn match vmasmMacro		"\.mdelete\>" + +" Conditional assembly +syn match vmasmPreCond		"\.iff\=\>" +syn match vmasmPreCond		"\.if_false\>" +syn match vmasmPreCond		"\.iftf\=\>" +syn match vmasmPreCond		"\.if_true\(_false\)\=\>" +syn match vmasmPreCond		"\.iif\>" + +" Loop control +syn match vmasmRepeat		"\.irpc\=\>" +syn match vmasmRepeat		"\.repeat\>" +syn match vmasmRepeat		"\.rept\>" +syn match vmasmRepeat		"\.endr\>" + +" Directives +syn match vmasmDirective	"\.address\>" +syn match vmasmDirective	"\.align\>" +syn match vmasmDirective	"\.asci[cdiz]\>" +syn match vmasmDirective	"\.blk[abdfghloqw]\>" +syn match vmasmDirective	"\.\(signed_\)\=byte\>" +syn match vmasmDirective	"\.\(no\)\=cross\>" +syn match vmasmDirective	"\.debug\>" +syn match vmasmDirective	"\.default displacement\>" +syn match vmasmDirective	"\.[dfgh]_floating\>" +syn match vmasmDirective	"\.disable\>" +syn match vmasmDirective	"\.double\>" +syn match vmasmDirective	"\.dsabl\>" +syn match vmasmDirective	"\.enable\=\>" +syn match vmasmDirective	"\.endc\=\>" +syn match vmasmDirective	"\.entry\>" +syn match vmasmDirective	"\.error\>" +syn match vmasmDirective	"\.even\>" +syn match vmasmDirective	"\.external\>" +syn match vmasmDirective	"\.extrn\>" +syn match vmasmDirective	"\.float\>" +syn match vmasmDirective	"\.globa\=l\>" +syn match vmasmDirective	"\.ident\>" +syn match vmasmDirective	"\.link\>" +syn match vmasmDirective	"\.list\>" +syn match vmasmDirective	"\.long\>" +syn match vmasmDirective	"\.mask\>" +syn match vmasmDirective	"\.narg\>" +syn match vmasmDirective	"\.nchr\>" +syn match vmasmDirective	"\.nlist\>" +syn match vmasmDirective	"\.ntype\>" +syn match vmasmDirective	"\.octa\>" +syn match vmasmDirective	"\.odd\>" +syn match vmasmDirective	"\.opdef\>" +syn match vmasmDirective	"\.packed\>" +syn match vmasmDirective	"\.page\>" +syn match vmasmDirective	"\.print\>" +syn match vmasmDirective	"\.psect\>" +syn match vmasmDirective	"\.quad\>" +syn match vmasmDirective	"\.ref[1248]\>" +syn match vmasmDirective	"\.ref16\>" +syn match vmasmDirective	"\.restore\(_psect\)\=\>" +syn match vmasmDirective	"\.save\(_psect\)\=\>" +syn match vmasmDirective	"\.sbttl\>" +syn match vmasmDirective	"\.\(no\)\=show\>" +syn match vmasmDirective	"\.\(sub\)\=title\>" +syn match vmasmDirective	"\.transfer\>" +syn match vmasmDirective	"\.warn\>" +syn match vmasmDirective	"\.weak\>" +syn match vmasmDirective	"\.\(signed_\)\=word\>" + +syn case match + +" Define the default highlighting. +" Only when an item doesn't have highlighting yet + +" The default methods for highlighting.  Can be overridden later +" Comment Constant Error Identifier PreProc Special Statement Todo Type +" +" Constant		Boolean Character Number String +" Identifier		Function +" PreProc		Define Include Macro PreCondit +" Special		Debug Delimiter SpecialChar SpecialComment Tag +" Statement		Conditional Exception Keyword Label Operator Repeat +" Type		StorageClass Structure Typedef + +hi def link vmasmComment		Comment +hi def link vmasmTodo		Todo + +hi def link vmasmhexNumber		Number		" Constant +hi def link vmasmoctNumber		Number		" Constant +hi def link vmasmbinNumber		Number		" Constant +hi def link vmasmdecNumber		Number		" Constant +hi def link vmasmfloatNumber	Number		" Constant + +"  hi def link vmasmString		String		" Constant + +hi def link vmasmReg		Identifier +hi def link vmasmOperator		Identifier + +hi def link vmasmInclude		Include		" PreProc +hi def link vmasmMacro		Macro		" PreProc +" hi def link vmasmMacroParam	Keyword		" Statement + +hi def link vmasmDirective		Special +hi def link vmasmPreCond		Special + + +hi def link vmasmOpcode		Statement +hi def link vmasmCond		Conditional	" Statement +hi def link vmasmRepeat		Repeat		" Statement + +hi def link vmasmLabel		Type + +let b:current_syntax = "vmasm" + +" vim: ts=8 sw=2 + +endif | 
