made the pack completely portable and wrote relevent bat files to go with it

This commit is contained in:
Draqoken
2025-04-09 17:04:56 +03:00
parent 5e77d7e9cf
commit 5e4144c3c0
7417 changed files with 2181044 additions and 19 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,474 @@
" Vim syntax file
" Language: 8th
" Version: 24.08
" Last Change: 2024 Nov 07
" 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 exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn clear
syn sync ccomment
syn sync maxlines=200
syn case match
syn iskeyword 33-255
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 gen-secret 2fa:gen-secret gen-url 2fa:gen-url validate-code 2fa:validate-code cb AWS:cb cli AWS:cli
Builtin cmd AWS:cmd cp AWS:cp rc AWS:rc LIBS DBUS:LIBS call DBUS:call init DBUS:init + DOM:+ - DOM:-
Builtin attr! DOM:attr! attr@ DOM:attr@ attrs DOM:attrs children DOM:children css-parse DOM:css-parse
Builtin each DOM:each find DOM:find new DOM:new type DOM:type ! G:! !if G:!if #! G:#! ## G:## #if G:#if
Builtin ' G:' ( G:( (:) G:(:) (code) G:(code) (defer) G:(defer) (dump) G:(dump) (getc) G:(getc) (gets) G:(gets)
Builtin (interp) G:(interp) (log) G:(log) (needs) G:(needs) (parseln) G:(parseln) (putc) G:(putc) (puts) G:(puts)
Builtin (stat) G:(stat) (with) G:(with) ) G:) +hook G:+hook +ref G:+ref ,# G:,# -----BEGIN G:-----BEGIN
Builtin -Inf G:-Inf -Inf? G:-Inf? -hook G:-hook -ref G:-ref -rot G:-rot . G:. .# G:.# .hook G:.hook
Builtin .needs G:.needs .r G:.r .s G:.s .s-truncate G:.s-truncate .stats G:.stats .ver G:.ver .with G:.with
Builtin 0; G:0; 2dip G:2dip 2drop G:2drop 2dup G:2dup 2nip G:2nip 2over G:2over 2swap G:2swap 2tuck G:2tuck
Builtin 3drop G:3drop 3drop G:3drop 3dup G:3dup 3rev G:3rev 4drop G:4drop 8thdt? G:8thdt? 8thsku? G:8thsku?
Builtin 8thver? G:8thver? 8thvernum? G:8thvernum? : G:: ; G:; ;; G:;; ;;; G:;;; ;with G:;with >clip G:>clip
Builtin >json G:>json >kind G:>kind >n G:>n >r G:>r >s G:>s ?: G:?: ?@ G:?@ @ G:@ BITMAP: G:BITMAP:
Builtin ENUM: G:ENUM: FLAG: G:FLAG: I G:I Inf G:Inf Inf? G:Inf? J G:J K G:K NaN G:NaN NaN? G:NaN? SED-CHECK G:SED-CHECK
Builtin SED: G:SED: SED: G:SED: X G:X \ G:\ _dup G:_dup _swap G:_swap actor: G:actor: again G:again
Builtin ahead G:ahead and G:and apropos G:apropos argc G:argc args G:args array? G:array? assert G:assert
Builtin base G:base base>n G:base>n bi G:bi bits G:bits break G:break break? G:break? breakif G:breakif
Builtin build? G:build? buildver? G:buildver? bye G:bye c/does G:c/does case: G:case: catch G:catch
Builtin chdir G:chdir clip> G:clip> clone G:clone clone-shallow G:clone-shallow cold G:cold compile G:compile
Builtin compile? G:compile? compiling? G:compiling? conflict G:conflict const G:const container? G:container?
Builtin counting-allocations G:counting-allocations cr G:cr critical: G:critical: critical; G:critical;
Builtin curlang G:curlang curry G:curry curry: G:curry: decimal G:decimal default: G:default: defer: G:defer:
Builtin deferred: G:deferred: deg>rad G:deg>rad depth G:depth die G:die dip G:dip drop G:drop dstack G:dstack
Builtin dump G:dump dup G:dup dup>r G:dup>r dup? G:dup? e# G:e# enum: G:enum: error? G:error? eval G:eval
Builtin eval! G:eval! eval0 G:eval0 exit G:exit expect G:expect extra! G:extra! extra@ G:extra@ false G:false
Builtin fnv G:fnv fourth G:fourth free G:free func: G:func: getc G:getc getcwd G:getcwd getenv G:getenv
Builtin gets G:gets goto G:goto handler G:handler header G:header help G:help help_db G:help_db here G:here
Builtin hex G:hex i: G:i: i; G:i; isa? G:isa? items-used G:items-used jcall G:jcall jclass G:jclass
Builtin jmethod G:jmethod json! G:json! json-8th> G:json-8th> json-nesting G:json-nesting json-pretty G:json-pretty
Builtin json-throw G:json-throw json> G:json> json@ G:json@ k32 G:k32 keep G:keep l: G:l: last G:last
Builtin lib G:lib libbin G:libbin libc G:libc libimg G:libimg literal G:literal locals: G:locals: lock G:lock
Builtin lock-to G:lock-to locked? G:locked? log G:log log-syslog G:log-syslog log-task G:log-task log-time G:log-time
Builtin log-time-local G:log-time-local long-days G:long-days long-months G:long-months longjmp G:longjmp
Builtin lookup G:lookup loop G:loop loop- G:loop- map? G:map? mark G:mark mark? G:mark? mobile? G:mobile?
Builtin n# G:n# name>os G:name>os name>sem G:name>sem ndrop G:ndrop needs G:needs needs-throws G:needs-throws
Builtin new G:new next-arg G:next-arg nip G:nip noop G:noop not G:not nothrow G:nothrow ns G:ns ns: G:ns:
Builtin ns>ls G:ns>ls ns>s G:ns>s ns? G:ns? null G:null null; G:null; null? G:null? nullvar G:nullvar
Builtin number? G:number? of: G:of: off G:off on G:on onexit G:onexit only G:only op! G:op! or G:or
Builtin os G:os os-names G:os-names os>long-name G:os>long-name os>name G:os>name over G:over p: G:p:
Builtin pack G:pack parse G:parse parse-csv G:parse-csv parse-date G:parse-date parsech G:parsech parseln G:parseln
Builtin parsews G:parsews pick G:pick poke G:poke pool-clear G:pool-clear pool-clear-all G:pool-clear-all
Builtin prior G:prior private G:private process-args G:process-args process-args-fancy G:process-args-fancy
Builtin process-args-help G:process-args-help prompt G:prompt public G:public putc G:putc puts G:puts
Builtin quote G:quote r! G:r! r> G:r> r@ G:r@ rad>deg G:rad>deg rand-jit G:rand-jit rand-jsf G:rand-jsf
Builtin rand-native G:rand-native rand-normal G:rand-normal rand-pcg G:rand-pcg rand-pcg-seed G:rand-pcg-seed
Builtin rand-range G:rand-range rand-select G:rand-select randbuf-pcg G:randbuf-pcg random G:random
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 requires G:requires reset G:reset
Builtin roll G:roll rop! G:rop! rot G:rot rpick G:rpick rreset G:rreset rroll G:rroll rstack G:rstack
Builtin rswap G:rswap rusage G:rusage s>ns G:s>ns same? G:same? scriptdir G:scriptdir scriptfile G:scriptfile
Builtin sem G:sem sem-post G:sem-post sem-rm G:sem-rm sem-wait G:sem-wait sem-wait? G:sem-wait? sem>name G:sem>name
Builtin semi-throw G:semi-throw set-wipe G:set-wipe setenv G:setenv setjmp G:setjmp settings! G:settings!
Builtin settings![] G:settings![] settings@ G:settings@ settings@? G:settings@? settings@[] G:settings@[]
Builtin sh G:sh sh$ G:sh$ short-days G:short-days short-months G:short-months sleep G:sleep sleep-msec G:sleep-msec
Builtin sleep-until G:sleep-until slog G:slog space G:space stack-check G:stack-check stack-size G:stack-size
Builtin step G:step sthrow G:sthrow string? G:string? struct: G:struct: swap G:swap tab-hook G:tab-hook
Builtin tell-conflict G:tell-conflict tempdir G:tempdir tempfilename G:tempfilename third G:third throw G:throw
Builtin thrownull G:thrownull times G:times tlog G:tlog toggle G:toggle tri G:tri true G:true tuck G:tuck
Builtin type-check G:type-check typeassert G:typeassert uid G:uid uname G:uname unlock G:unlock unpack G:unpack
Builtin until G:until until! G:until! while G:while while! G:while! with: G:with: word? G:word? words G:words
Builtin words-like G:words-like words/ G:words/ xchg G:xchg xor G:xor >auth HTTP:>auth (curry) I:(curry)
Builtin appopts I:appopts notimpl I:notimpl sh I:sh 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:- / a:/ 2each a:2each
Builtin 2len a:2len 2map a:2map 2map+ a:2map+ 2map= a:2map= <> a:<> = a:= @ a:@ @? a:@? _@ a:_@ _len a:_len
Builtin all a:all any a:any bsearch a:bsearch centroid a:centroid clear a:clear close a:close cmp a:cmp
Builtin diff a:diff dot a:dot each a:each each! a:each! each-par a:each-par each-slice a:each-slice
Builtin exists? a:exists? filter a:filter filter-par a:filter-par generate a:generate group a:group
Builtin indexof a:indexof insert a:insert intersect a:intersect join a:join len a:len map a:map map+ a:map+
Builtin map-par a:map-par map= a:map= maxlen a:maxlen mean a:mean mean&variance a:mean&variance merge a:merge
Builtin new a:new op! a:op! open a:open pigeon a:pigeon pivot a:pivot pop a:pop push a:push push' a:push'
Builtin qsort a:qsort randeach a:randeach reduce a:reduce reduce+ a:reduce+ remove a:remove rev a:rev
Builtin rindexof a:rindexof shift a:shift shuffle a:shuffle slice a:slice slice+ a:slice+ slide a:slide
Builtin smear a:smear sort a:sort split a:split squash a:squash switch a:switch union a:union uniq a:uniq
Builtin unzip a:unzip x a:x x-each a:x-each xchg a:xchg y a:y zip a:zip 8thdir app:8thdir asset app:asset
Builtin atrun app:atrun atrun app:atrun atrun app:atrun basedir app:basedir basename app:basename config-file-name app:config-file-name
Builtin current app:current datadir app:datadir display-moved app:display-moved exename app:exename
Builtin localechanged app:localechanged lowmem app:lowmem main app:main name app:name onback app:onback
Builtin oncrash app:oncrash opts! app:opts! opts@ app:opts@ orientation app:orientation orientation! app:orientation!
Builtin pid app:pid post-main app:post-main pre-main app:pre-main privdir app:privdir raise app:raise
Builtin read-config app:read-config read-config-map app:read-config-map read-config-var app:read-config-var
Builtin request-perm app:request-perm restart app:restart resumed app:resumed signal app:signal standalone app:standalone
Builtin standalone! app:standalone! subdir app:subdir suspended app:suspended sysquit app:sysquit terminated app:terminated
Builtin ticks app:ticks timeout app:timeout trap app:trap dawn astro:dawn do-dawn astro:do-dawn do-dusk astro:do-dusk
Builtin do-rise astro:do-rise dusk astro:dusk latitude astro:latitude location! astro:location! longitude astro:longitude
Builtin sunrise astro:sunrise genkeys auth:genkeys secret auth:secret session-id auth:session-id session-key auth:session-key
Builtin validate auth:validate ! b:! + b:+ / b:/ 1+ b:1+ 1- b:1- <> b:<> = b:= >base16 b:>base16 >base32 b:>base32
Builtin >base64 b:>base64 >base85 b:>base85 >hex b:>hex >mpack b:>mpack @ b:@ ICONVLIBS b:ICONVLIBS
Builtin append b:append base16> b:base16> base32> b:base32> base64> b:base64> base85> b:base85> bit! b:bit!
Builtin bit@ b:bit@ clear b:clear compress b:compress conv b:conv each b:each each! b:each! each-slice b:each-slice
Builtin expand b:expand fill b:fill getb b:getb hex> b:hex> len b:len mem> b:mem> move b:move mpack-compat b:mpack-compat
Builtin mpack-date b:mpack-date mpack-ignore b:mpack-ignore mpack> b:mpack> n! b:n! n+ b:n+ n@ b:n@
Builtin new b:new op b:op op! b:op! pad b:pad rev b:rev search b:search shmem b:shmem slice b:slice
Builtin splice b:splice ungetb b:ungetb unpad b:unpad writable b:writable xor b:xor +block bc:+block
Builtin .blocks bc:.blocks add-block bc:add-block block-hash bc:block-hash block@ bc:block@ first-block bc:first-block
Builtin hash bc:hash last-block bc:last-block load bc:load new bc:new save bc:save set-sql bc:set-sql
Builtin validate bc:validate validate-block bc:validate-block add bloom:add filter bloom:filter in? bloom:in?
Builtin parse bson:parse LIBS bt:LIBS accept bt:accept ch! bt:ch! ch@ bt:ch@ connect bt:connect disconnect bt:disconnect
Builtin init bt:init leconnect bt:leconnect lescan bt:lescan listen bt:listen on? bt:on? read bt:read
Builtin scan bt:scan service? bt:service? services? bt:services? write bt:write * c:* * c:* + c:+ + c:+
Builtin = c:= = c:= >polar c:>polar >polar c:>polar >ri c:>ri >ri c:>ri ^ c:^ ^ c:^ abs c:abs abs c:abs
Builtin arg c:arg arg c:arg conj c:conj conj c:conj im c:im im c:im log c:log log c:log n> c:n> n> c:n>
Builtin new c:new new c:new polar> c:polar> polar> c:polar> re c:re re c:re (.hebrew) cal:(.hebrew)
Builtin (.islamic) cal:(.islamic) .hebrew cal:.hebrew .islamic cal:.islamic >hebepoch cal:>hebepoch
Builtin >jdn cal:>jdn Adar cal:Adar Adar2 cal:Adar2 Av cal:Av Elul cal:Elul Heshvan cal:Heshvan Iyar cal:Iyar
Builtin Kislev cal:Kislev Nissan cal:Nissan Shevat cal:Shevat Sivan cal:Sivan Tammuz cal:Tammuz Tevet cal:Tevet
Builtin Tishrei cal:Tishrei days-in-hebrew-year cal:days-in-hebrew-year displaying-hebrew cal:displaying-hebrew
Builtin fixed>hebrew cal:fixed>hebrew fixed>islamic cal:fixed>islamic gershayim cal:gershayim hanukkah cal:hanukkah
Builtin hebrew-epoch cal:hebrew-epoch hebrew-leap-year? cal:hebrew-leap-year? hebrew>fixed cal:hebrew>fixed
Builtin hebrewtoday cal:hebrewtoday hmonth-name cal:hmonth-name islamic.epoch cal:islamic.epoch islamic>fixed cal:islamic>fixed
Builtin islamictoday cal:islamictoday jdn> cal:jdn> last-day-of-hebrew-month cal:last-day-of-hebrew-month
Builtin number>hebrew cal:number>hebrew omer cal:omer pesach cal:pesach purim cal:purim rosh-chodesh? cal:rosh-chodesh?
Builtin rosh-hashanah cal:rosh-hashanah shavuot cal:shavuot taanit-esther cal:taanit-esther tisha-beav cal:tisha-beav
Builtin yom-haatsmaut cal:yom-haatsmaut yom-kippur cal:yom-kippur >hsva clr:>hsva complement clr:complement
Builtin dist clr:dist gradient clr:gradient hsva> clr:hsva> invert clr:invert nearest-name clr:nearest-name
Builtin parse clr:parse >redir con:>redir accept con:accept accept-nl con:accept-nl accept-pwd con:accept-pwd
Builtin alert con:alert ansi? con:ansi? black con:black blue con:blue clreol con:clreol cls con:cls
Builtin ctrld-empty con:ctrld-empty cyan con:cyan down con:down file>history con:file>history free con:free
Builtin getxy con:getxy gotoxy con:gotoxy green con:green history-handler con:history-handler history>file con:history>file
Builtin init con:init key con:key key? con:key? left con:left load-history con:load-history magenta con:magenta
Builtin max-history con:max-history onBlack con:onBlack onBlue con:onBlue onCyan con:onCyan onGreen con:onGreen
Builtin onMagenta con:onMagenta onRed con:onRed onWhite con:onWhite onYellow con:onYellow print con:print
Builtin red con:red redir> con:redir> redir? con:redir? right con:right save-history con:save-history
Builtin size? con:size? up con:up white con:white yellow con:yellow >aes128gcm cr:>aes128gcm >aes256gcm cr:>aes256gcm
Builtin >cp cr:>cp >cpe cr:>cpe >decrypt cr:>decrypt >edbox cr:>edbox >encrypt cr:>encrypt >nbuf cr:>nbuf
Builtin >rsabox cr:>rsabox >uuid cr:>uuid 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 ciphers cr:ciphers cp> cr:cp> cpe> cr:cpe> decrypt cr:decrypt decrypt+ cr:decrypt+ decrypt> cr:decrypt>
Builtin ebox-sig cr:ebox-sig ecc-curves cr:ecc-curves ecc-genkey cr:ecc-genkey ecc-secret cr:ecc-secret
Builtin ecc-sign cr:ecc-sign ecc-verify cr:ecc-verify ed25519 cr:ed25519 ed25519-secret cr:ed25519-secret
Builtin ed25519-sign cr:ed25519-sign ed25519-verify cr:ed25519-verify edbox-sig cr:edbox-sig edbox> cr:edbox>
Builtin encrypt cr:encrypt encrypt+ cr:encrypt+ encrypt> cr:encrypt> ensurekey cr:ensurekey genkey cr:genkey
Builtin hash cr:hash hash! cr:hash! hash+ cr:hash+ hash>b cr:hash>b hash>s cr:hash>s hash@ cr:hash@
Builtin hashes cr:hashes hmac cr:hmac hotp cr:hotp iv? cr:iv? pem-read cr:pem-read pem-write cr:pem-write
Builtin pwd-valid? cr:pwd-valid? pwd/ cr:pwd/ pwd>hash cr:pwd>hash rand cr:rand randbuf cr:randbuf
Builtin randkey cr:randkey restore cr:restore root-certs cr:root-certs rsa_decrypt cr:rsa_decrypt rsa_encrypt cr:rsa_encrypt
Builtin rsa_sign cr:rsa_sign rsa_verify cr:rsa_verify rsabox-sig cr:rsabox-sig rsabox> cr:rsabox> rsagenkey cr:rsagenkey
Builtin save cr:save sbox-sig cr:sbox-sig sha1-hmac cr:sha1-hmac shard cr:shard tag? cr:tag? totp cr:totp
Builtin totp-epoch cr:totp-epoch totp-time-step cr:totp-time-step unshard cr:unshard uuid cr:uuid uuid> cr:uuid>
Builtin validate-pgp-sig cr:validate-pgp-sig validate-pwd cr:validate-pwd (.time) d:(.time) + d:+ +day d:+day
Builtin +hour d:+hour +min d:+min +msec d:+msec - d:- .time d:.time / d:/ = d:= >fixed d:>fixed >hmds d:>hmds
Builtin >hmds: d:>hmds: >msec d:>msec >unix d:>unix >ymd d:>ymd ?= d:?= Fri d:Fri Mon d:Mon Sat d:Sat
Builtin Sun d:Sun Thu d:Thu Tue d:Tue Wed d:Wed adjust-dst d:adjust-dst alarm d:alarm approx! d:approx!
Builtin approx? d:approx? approximates! d:approximates! between d:between cmp d:cmp d. d:d. default-now d:default-now
Builtin doy d:doy dst-ofs d:dst-ofs dst? d:dst? dstinfo d:dstinfo dstquery d:dstquery dstzones? d:dstzones?
Builtin elapsed-timer d:elapsed-timer elapsed-timer-hmds d:elapsed-timer-hmds elapsed-timer-msec d:elapsed-timer-msec
Builtin elapsed-timer-seconds d:elapsed-timer-seconds first-dow d:first-dow fixed> d:fixed> fixed>dow d:fixed>dow
Builtin format d:format join d:join last-dow d:last-dow last-month d:last-month last-week d:last-week
Builtin last-year d:last-year leap? d:leap? mdays d:mdays msec d:msec msec> d:msec> new d:new next-dow d:next-dow
Builtin next-month d:next-month next-week d:next-week next-year d:next-year parse d:parse parse-approx d:parse-approx
Builtin parse-range d:parse-range prev-dow d:prev-dow rfc5322 d:rfc5322 start-timer d:start-timer ticks d:ticks
Builtin ticks/sec d:ticks/sec timer d:timer timer-ctrl d:timer-ctrl tzadjust d:tzadjust unix> d:unix>
Builtin unknown d:unknown unknown? d:unknown? updatetz d:updatetz year@ d:year@ ymd d:ymd ymd> d:ymd>
Builtin MYSQLLIB db:MYSQLLIB ODBCLIB db:ODBCLIB add-func db:add-func aes! db:aes! again? db:again?
Builtin begin db:begin bind db:bind bind-exec db:bind-exec bind-exec{} db:bind-exec{} close db:close
Builtin col db:col col{} db:col{} commit db:commit db db:db dbpush db:dbpush disuse db:disuse each db:each
Builtin err-handler db:err-handler exec db:exec exec-cb db:exec-cb exec-name db:exec-name exec{} db:exec{}
Builtin get db:get get-sub db:get-sub key db:key kind? db:kind? last-rowid db:last-rowid mysql? db:mysql?
Builtin odbc? db:odbc? open db:open open? db:open? prep-name db:prep-name prepare db:prepare query db:query
Builtin query-all db:query-all rekey db:rekey rollback db:rollback set db:set set-sub db:set-sub sql@ db:sql@
Builtin sql[] db:sql[] sql[np] db:sql[np] sql{np} db:sql{np} sql{} db:sql{} use db:use zip db:zip .state dbg:.state
Builtin bp dbg:bp bt dbg:bt except-task@ dbg:except-task@ go dbg:go prompt dbg:prompt see dbg:see stop dbg:stop
Builtin trace dbg:trace trace-enter dbg:trace-enter trace-leave dbg:trace-leave pso ds:pso / f:/ >posix f:>posix
Builtin abspath f:abspath absrel f:absrel append f:append associate f:associate atime f:atime autodel f:autodel
Builtin canwrite? f:canwrite? chmod f:chmod close f:close copy f:copy copydir f:copydir create f:create
Builtin ctime f:ctime dir? f:dir? dname f:dname eachbuf f:eachbuf eachline f:eachline enssep f:enssep
Builtin eof? f:eof? exec f:exec exists? f:exists? flush f:flush fname f:fname getb f:getb getc f:getc
Builtin getline f:getline getmod f:getmod glob f:glob glob-links f:glob-links glob-nocase f:glob-nocase
Builtin gunz f:gunz homedir f:homedir homedir! f:homedir! include f:include ioctl f:ioctl join f:join
Builtin launch f:launch link f:link link> f:link> link? f:link? lock f:lock mkdir f:mkdir mmap f:mmap
Builtin mmap-range f:mmap-range mmap-range? f:mmap-range? mtime f:mtime mv f:mv name@ f:name@ open f:open
Builtin open! f:open! open-ro f:open-ro popen f:popen popen3 f:popen3 print f:print read f:read read-buf f:read-buf
Builtin read? f:read? relpath f:relpath rglob f:rglob rm f:rm rmdir f:rmdir seek f:seek sep f:sep size f:size
Builtin slurp f:slurp sparse? f:sparse? spit f:spit stderr f:stderr stdin f:stdin stdout f:stdout tell f:tell
Builtin tempfile f:tempfile times f:times tmpspit f:tmpspit trash f:trash truncate f:truncate 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 atlas! font:atlas! atlas@ font:atlas@ default-size font:default-size default-size@ font:default-size@
Builtin info font:info ls font:ls measure font:measure new font:new oversample font:oversample pixels font:pixels
Builtin pixels? font:pixels? system font:system system font:system media? g:media? distance geo:distance
Builtin km/deg-lat geo:km/deg-lat km/deg-lon geo:km/deg-lon nearest geo:nearest +edge gr:+edge +edge+w gr:+edge+w
Builtin +node gr:+node connect gr:connect edges gr:edges edges! gr:edges! m! gr:m! m@ gr:m@ neighbors gr:neighbors
Builtin new gr:new node-edges gr:node-edges nodes gr:nodes traverse gr:traverse weight! gr:weight!
Builtin + h:+ clear h:clear cmp! h:cmp! len h:len max! h:max! new h:new peek h:peek pop h:pop push h:push
Builtin unique h:unique parse html:parse arm? hw:arm? camera hw:camera camera-img hw:camera-img camera-limits hw:camera-limits
Builtin camera? hw:camera? cpu? hw:cpu? device? hw:device? displays? hw:displays? displaysize? hw:displaysize?
Builtin finger-match hw:finger-match finger-support hw:finger-support gpio hw:gpio gpio! hw:gpio! gpio-mmap hw:gpio-mmap
Builtin gpio@ hw:gpio@ i2c hw:i2c i2c! hw:i2c! i2c!reg hw:i2c!reg i2c@ hw:i2c@ i2c@reg hw:i2c@reg isround? hw:isround?
Builtin iswatch? hw:iswatch? mac? hw:mac? mem? hw:mem? model? hw:model? poll hw:poll sensor hw:sensor
Builtin start hw:start stop hw:stop touch? hw:touch? uid? hw:uid? fetch-full imap:fetch-full fetch-uid-mail imap:fetch-uid-mail
Builtin login imap:login logout imap:logout new imap:new search imap:search select-inbox imap:select-inbox
Builtin >file img:>file >fmt img:>fmt copy img:copy crop img:crop data img:data desat img:desat draw img:draw
Builtin draw-sub img:draw-sub fill img:fill fillrect img:fillrect filter img:filter flip img:flip from-svg img:from-svg
Builtin line img:line new img:new pikchr img:pikchr pix! img:pix! pix@ img:pix@ qr-gen img:qr-gen qr-parse img:qr-parse
Builtin rect img:rect rotate img:rotate scale img:scale scroll img:scroll size img:size countries iso:countries
Builtin languages iso:languages utils/help library:utils/help bearing loc:bearing find loc:find sort loc:sort
Builtin ! m:! !? m:!? + m:+ +? m:+? - m:- <> m:<> = m:= >arr m:>arr @ m:@ @? m:@? _! m:_! _@ m:_@ _@? m:_@?
Builtin alias m:alias arr> m:arr> bitmap m:bitmap clear m:clear data m:data each m:each exists? m:exists?
Builtin filter m:filter ic m:ic iter m:iter iter-all m:iter-all keys m:keys len m:len map m:map merge m:merge
Builtin new m:new op! m:op! open m:open slice m:slice vals m:vals xchg m:xchg zip m:zip ! mat:! * mat:*
Builtin + mat:+ = mat:= @ mat:@ affine mat:affine col mat:col data mat:data det mat:det dim? mat:dim?
Builtin get-n mat:get-n ident mat:ident inv mat:inv m. mat:m. minor mat:minor n* mat:n* new mat:new
Builtin new-minor mat:new-minor rotate mat:rotate row mat:row same-size? mat:same-size? scale mat:scale
Builtin shear mat:shear trans mat:trans translate mat:translate xform mat:xform 2console md:2console
Builtin 2html md:2html 2nk md:2nk color meta:color console meta:console gui meta:gui meta meta:meta
Builtin ! n:! * n:* */ n:*/ + n:+ +! n:+! - n:- / n:/ /mod n:/mod 1+ n:1+ 1- n:1- < n:< = n:= > n:>
Builtin >bool n:>bool BIGE n:BIGE BIGPI n:BIGPI E n:E PI n:PI ^ n:^ _mod n:_mod abs n:abs acos n:acos
Builtin acosd n:acosd acosh n:acosh andor n:andor asin n:asin asind n:asind asinh n:asinh atan n:atan
Builtin atan2 n:atan2 atand n:atand atanh n:atanh band n:band between n:between bfloat n:bfloat bic n:bic
Builtin bint n:bint binv n:binv bnot n:bnot bor n:bor bxor n:bxor cast n:cast ceil n:ceil clamp n:clamp
Builtin cmp n:cmp comb n:comb cos n:cos cosd n:cosd cosh n:cosh emod n:emod erf n:erf erfc n:erfc exp n:exp
Builtin expm1 n:expm1 expmod n:expmod float n:float floor n:floor fmod n:fmod frac n:frac gcd n:gcd
Builtin int n:int invmod n:invmod kind? n:kind? lcm n:lcm lerp n:lerp ln n:ln ln1p n:ln1p lnerp n:lnerp
Builtin logistic n:logistic max n:max median n:median min n:min mod n:mod neg n:neg odd? n:odd? perm n:perm
Builtin prime? n:prime? quantize n:quantize quantize! n:quantize! r+ n:r+ range n:range rot32l n:rot32l
Builtin rot32r n:rot32r round n:round round2 n:round2 rounding n:rounding running-variance n:running-variance
Builtin running-variance-finalize n:running-variance-finalize sgn n:sgn shl n:shl shr n:shr sin n:sin
Builtin sincos n:sincos sind n:sind sinh n:sinh sqr n:sqr sqrt n:sqrt tan n:tan tand n:tand tanh n:tanh
Builtin trunc n:trunc ~= n:~= ! net:! !? net:!? - net:- >base64url net:>base64url >url net:>url @ net:@
Builtin @? net:@? CGI net:CGI DGRAM net:DGRAM INET4 net:INET4 INET6 net:INET6 PROTO_TCP net:PROTO_TCP
Builtin PROTO_UDP net:PROTO_UDP REMOTE_IP net:REMOTE_IP REMOTE_IP net:REMOTE_IP STREAM net:STREAM accept net:accept
Builtin active? net:active? addrinfo>o net:addrinfo>o again? net:again? alloc-and-read net:alloc-and-read
Builtin alloc-buf net:alloc-buf avail? net:avail? base64url> net:base64url> bind net:bind cgi-get net:cgi-get
Builtin cgi-http-header net:cgi-http-header cgi-init net:cgi-init cgi-init-stunnel net:cgi-init-stunnel
Builtin cgi-out net:cgi-out close net:close closed? net:closed? connect net:connect curnet net:curnet
Builtin debug? net:debug? delete net:delete dns net:dns get net:get getaddrinfo net:getaddrinfo getpeername net:getpeername
Builtin head net:head ifaces? net:ifaces? ipv6? net:ipv6? launch net:launch listen net:listen map>url net:map>url
Builtin mime-type net:mime-type net-socket net:net-socket opts net:opts port-is-ssl? net:port-is-ssl?
Builtin post net:post proxy! net:proxy! put net:put read net:read read-all net:read-all read-buf net:read-buf
Builtin recvfrom net:recvfrom s>url net:s>url sendto net:sendto server net:server setsockopt net:setsockopt
Builtin socket net:socket tcp-connect net:tcp-connect tlserr net:tlserr tlshello net:tlshello udp-connect net:udp-connect
Builtin url> net:url> user-agent net:user-agent valid-email? net:valid-email? vpncheck net:vpncheck
Builtin wait net:wait webserver net:webserver write net:write (begin) nk:(begin) (chart-begin) nk:(chart-begin)
Builtin (chart-begin-colored) nk:(chart-begin-colored) (chart-end) nk:(chart-end) (end) nk:(end) (group-begin) nk:(group-begin)
Builtin (group-end) nk:(group-end) (property) nk:(property) >img nk:>img GLLIBS nk:GLLIBS GLXLIBS nk:GLXLIBS
Builtin addfont nk:addfont anti-alias nk:anti-alias any-clicked? nk:any-clicked? bounds nk:bounds bounds! nk:bounds!
Builtin button nk:button button-color nk:button-color button-label nk:button-label button-set-behavior nk:button-set-behavior
Builtin button-symbol nk:button-symbol button-symbol-label nk:button-symbol-label chart-add-slot nk:chart-add-slot
Builtin chart-add-slot-colored nk:chart-add-slot-colored chart-push nk:chart-push chart-push-slot nk:chart-push-slot
Builtin checkbox nk:checkbox circle nk:circle clicked? nk:clicked? close-this! nk:close-this! close-this? nk:close-this?
Builtin close? nk:close? color-chooser nk:color-chooser color-picker nk:color-picker combo nk:combo
Builtin combo-begin-color nk:combo-begin-color combo-begin-label nk:combo-begin-label combo-cb nk:combo-cb
Builtin combo-end nk:combo-end contextual-begin nk:contextual-begin contextual-close nk:contextual-close
Builtin contextual-end nk:contextual-end contextual-item-image-text nk:contextual-item-image-text contextual-item-symbol-text nk:contextual-item-symbol-text
Builtin contextual-item-text nk:contextual-item-text cp! nk:cp! cp@ nk:cp@ curpos nk:curpos cursor-load nk:cursor-load
Builtin cursor-set nk:cursor-set cursor-show nk:cursor-show display-info nk:display-info display@ nk:display@
Builtin do nk:do down? nk:down? draw-image nk:draw-image draw-image-at nk:draw-image-at draw-image-centered nk:draw-image-centered
Builtin draw-sub-image nk:draw-sub-image draw-text nk:draw-text draw-text-centered nk:draw-text-centered
Builtin draw-text-high nk:draw-text-high draw-text-wrap nk:draw-text-wrap driver nk:driver drivers nk:drivers
Builtin dropped nk:dropped dropping nk:dropping edit-focus nk:edit-focus edit-string nk:edit-string
Builtin event nk:event event-boost nk:event-boost event-msec nk:event-msec event-wait nk:event-wait
Builtin event? nk:event? fill-arc nk:fill-arc fill-circle nk:fill-circle fill-color nk:fill-color fill-poly nk:fill-poly
Builtin fill-rect nk:fill-rect fill-rect-color nk:fill-rect-color fill-triangle nk:fill-triangle finger nk:finger
Builtin flags! nk:flags! flags@ nk:flags@ flash nk:flash fullscreen nk:fullscreen gesture nk:gesture
Builtin get nk:get get-row-height nk:get-row-height getfont nk:getfont getmap nk:getmap getmap! nk:getmap!
Builtin gl? nk:gl? grid nk:grid grid-peek nk:grid-peek grid-push nk:grid-push group-scroll-ofs nk:group-scroll-ofs
Builtin group-scroll-ofs! nk:group-scroll-ofs! hints nk:hints hovered? nk:hovered? hrule nk:hrule image nk:image
Builtin init nk:init input-button nk:input-button input-key nk:input-key input-motion nk:input-motion
Builtin input-scroll nk:input-scroll input-string nk:input-string key-down? nk:key-down? key-pressed? nk:key-pressed?
Builtin key-released? nk:key-released? knob nk:knob label nk:label label-colored nk:label-colored label-wrap nk:label-wrap
Builtin label-wrap-colored nk:label-wrap-colored layout-bounds nk:layout-bounds layout-grid-begin nk:layout-grid-begin
Builtin layout-grid-end nk:layout-grid-end layout-push-dynamic nk:layout-push-dynamic layout-push-static nk:layout-push-static
Builtin layout-push-variable nk:layout-push-variable layout-ratio-from-pixel nk:layout-ratio-from-pixel
Builtin layout-reset-row-height nk:layout-reset-row-height layout-row nk:layout-row layout-row-begin nk:layout-row-begin
Builtin layout-row-dynamic nk:layout-row-dynamic layout-row-end nk:layout-row-end layout-row-height nk:layout-row-height
Builtin layout-row-push nk:layout-row-push layout-row-static nk:layout-row-static layout-row-template-begin nk:layout-row-template-begin
Builtin layout-row-template-end nk:layout-row-template-end layout-space-begin nk:layout-space-begin
Builtin layout-space-end nk:layout-space-end layout-space-push nk:layout-space-push layout-widget-bounds nk:layout-widget-bounds
Builtin line-rel nk:line-rel line-to nk:line-to list-begin nk:list-begin list-end nk:list-end list-new nk:list-new
Builtin list-ofs nk:list-ofs list-range nk:list-range m! nk:m! m@ nk:m@ make-style nk:make-style max-vertex-element nk:max-vertex-element
Builtin maximize nk:maximize measure nk:measure measure-font nk:measure-font menu-begin nk:menu-begin
Builtin menu-close nk:menu-close menu-end nk:menu-end menu-item-image nk:menu-item-image menu-item-label nk:menu-item-label
Builtin menu-item-symbol nk:menu-item-symbol menubar-begin nk:menubar-begin menubar-end nk:menubar-end
Builtin minimize nk:minimize mouse-pos nk:mouse-pos move-back nk:move-back move-rel nk:move-rel move-to nk:move-to
Builtin msg nk:msg msgdlg nk:msgdlg ontop nk:ontop option nk:option pen-color nk:pen-color pen-width nk:pen-width
Builtin pix! nk:pix! plot nk:plot plot-fn nk:plot-fn polygon nk:polygon pop-font nk:pop-font popup-begin nk:popup-begin
Builtin popup-close nk:popup-close popup-end nk:popup-end popup-scroll-ofs nk:popup-scroll-ofs popup-scroll-ofs! nk:popup-scroll-ofs!
Builtin progress nk:progress prop-int nk:prop-int pt-in? nk:pt-in? pt>local nk:pt>local pt>screen nk:pt>screen
Builtin push-font nk:push-font raise nk:raise rect-rel nk:rect-rel rect-to nk:rect-to rect>local nk:rect>local
Builtin rect>screen nk:rect>screen released? nk:released? render nk:render render-timed nk:render-timed
Builtin rendering nk:rendering restore nk:restore rotate nk:rotate rotate-rel nk:rotate-rel rtl! nk:rtl!
Builtin rtl? nk:rtl? save nk:save scale nk:scale scancode? nk:scancode? screen-saver nk:screen-saver
Builtin screen-size nk:screen-size screen-win-close nk:screen-win-close selectable nk:selectable set nk:set
Builtin set-font nk:set-font set-num-vertices nk:set-num-vertices set-radius nk:set-radius setpos nk:setpos
Builtin setwin nk:setwin show nk:show slider nk:slider slider-int nk:slider-int space nk:space spacing nk:spacing
Builtin stroke-arc nk:stroke-arc stroke-circle nk:stroke-circle stroke-curve nk:stroke-curve stroke-line nk:stroke-line
Builtin stroke-polygon nk:stroke-polygon stroke-polyline nk:stroke-polyline stroke-rect nk:stroke-rect
Builtin stroke-tri nk:stroke-tri style-from-table nk:style-from-table swipe nk:swipe swipe-dir-threshold nk:swipe-dir-threshold
Builtin swipe-threshold nk:swipe-threshold text nk:text text-align nk:text-align text-font nk:text-font
Builtin text-pad nk:text-pad text? nk:text? timer-delay nk:timer-delay timer? nk:timer? toast nk:toast
Builtin tooltip nk:tooltip translate nk:translate tree-pop nk:tree-pop tree-state-push nk:tree-state-push
Builtin triangle nk:triangle use-style nk:use-style vsync nk:vsync widget nk:widget widget-bounds nk:widget-bounds
Builtin widget-disable nk:widget-disable widget-fitting nk:widget-fitting widget-high nk:widget-high
Builtin widget-hovered? nk:widget-hovered? widget-mouse-click-down? nk:widget-mouse-click-down? widget-mouse-clicked? nk:widget-mouse-clicked?
Builtin widget-pos nk:widget-pos widget-size nk:widget-size widget-size-allot nk:widget-size-allot
Builtin widget-wide nk:widget-wide win nk:win win-bounds nk:win-bounds win-bounds! nk:win-bounds! win-close nk:win-close
Builtin win-closed? nk:win-closed? win-collapse nk:win-collapse win-collapsed? nk:win-collapsed? win-content-bounds nk:win-content-bounds
Builtin win-focus nk:win-focus win-focused? nk:win-focused? win-hidden? nk:win-hidden? win-high nk:win-high
Builtin win-hovered? nk:win-hovered? win-icon! nk:win-icon! win-pos nk:win-pos win-scroll-ofs nk:win-scroll-ofs
Builtin win-scroll-ofs! nk:win-scroll-ofs! win-show nk:win-show win-size nk:win-size win-title! nk:win-title!
Builtin win-wide nk:win-wide win? nk:win? MAX ns:MAX ! o:! + o:+ +? o:+? ??? o:??? @ o:@ class o:class
Builtin exec o:exec isa o:isa method o:method mutate o:mutate new o:new super o:super POSIX os:POSIX
Builtin chroot os:chroot devname os:devname docker? os:docker? env os:env lang os:lang locales os:locales
Builtin notify os:notify power-state os:power-state region os:region waitpid os:waitpid bezier pdf:bezier
Builtin bezierq pdf:bezierq circle pdf:circle color pdf:color ellipse pdf:ellipse font pdf:font img pdf:img
Builtin line pdf:line new pdf:new page pdf:page page-size pdf:page-size rect pdf:rect save pdf:save
Builtin size pdf:size text pdf:text text-rotate pdf:text-rotate text-size pdf:text-size text-width pdf:text-width
Builtin text-wrap pdf:text-wrap text-wrap-rotate pdf:text-wrap-rotate cast ptr:cast deref ptr:deref
Builtin len ptr:len null? ptr:null? pack ptr:pack unpack ptr:unpack unpack_orig ptr:unpack_orig publish pubsub:publish
Builtin qsize pubsub:qsize subscribe pubsub:subscribe + q:+ clear q:clear len q:len new q:new notify q:notify
Builtin overwrite q:overwrite peek q:peek pick q:pick pop q:pop push q:push remove q:remove shift q:shift
Builtin size q:size slide q:slide throwing q:throwing wait q:wait ++match r:++match +/ r:+/ +match r:+match
Builtin / r:/ @ r:@ len r:len match r:match match[] r:match[] matchall[] r:matchall[] new r:new rx r:rx
Builtin str r:str * rat:* + rat:+ - rat:- / rat:/ >n rat:>n >s rat:>s new rat:new proper rat:proper
Builtin ! rect:! /high rect:/high /wide rect:/wide = rect:= >a rect:>a >pts rect:>pts >pts4 rect:>pts4
Builtin @ rect:@ center rect:center center-pt rect:center-pt intersect rect:intersect new rect:new
Builtin new-pt rect:new-pt ofs rect:ofs open rect:open pad rect:pad pos rect:pos pt-open rect:pt-open
Builtin pt>a rect:pt>a pt>rect rect:pt>rect pts> rect:pts> restrict rect:restrict shrink rect:shrink
Builtin size rect:size union rect:union ! s:! * s:* + s:+ - s:- / s:/ /scripts s:/scripts /ws s:/ws
Builtin 2len s:2len <+ s:<+ <> s:<> = s:= =ic s:=ic >base64 s:>base64 >ucs2 s:>ucs2 @ s:@ _len s:_len
Builtin append s:append base64> s:base64> clear s:clear cmp s:cmp cmpi s:cmpi compress s:compress count-match s:count-match
Builtin days! s:days! dist s:dist each s:each each! s:each! eachline s:eachline escape s:escape expand s:expand
Builtin fill s:fill fold s:fold gen-uid s:gen-uid globmatch s:globmatch hexupr s:hexupr insert s:insert
Builtin intl s:intl intl! s:intl! lang s:lang lc s:lc lc? s:lc? len s:len lsub s:lsub ltrim s:ltrim
Builtin map s:map months! s:months! n> s:n> new s:new norm s:norm reduce s:reduce repinsert s:repinsert
Builtin replace s:replace replace! s:replace! rev s:rev rsearch s:rsearch rsub s:rsub rtl s:rtl rtrim s:rtrim
Builtin scan-match s:scan-match script? s:script? search s:search size s:size slice s:slice soundex s:soundex
Builtin strfmap s:strfmap strfmt s:strfmt term s:term text-wrap s:text-wrap tr s:tr translate s:translate
Builtin trim s:trim tsub s:tsub uc s:uc 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 @ slv:@
Builtin auto slv:auto build slv:build constraint slv:constraint dump slv:dump edit slv:edit named-variable slv:named-variable
Builtin new slv:new relation slv:relation reset slv:reset suggest slv:suggest term slv:term update slv:update
Builtin v[] slv:v[] variable slv:variable v{} slv:v{} new smtp:new send smtp:send apply-filter snd:apply-filter
Builtin devices? snd:devices? end-record snd:end-record filter snd:filter freq snd:freq gain snd:gain
Builtin gain? snd:gain? init snd:init len snd:len loop snd:loop loop? snd:loop? mix snd:mix new snd:new
Builtin pause snd:pause play snd:play played snd:played rate snd:rate ready? snd:ready? record snd:record
Builtin resume snd:resume seek snd:seek stop snd:stop stopall snd:stopall volume snd:volume volume? snd:volume?
Builtin + st:+ . st:. clear st:clear dot-depth st:dot-depth len st:len list st:list ndrop st:ndrop
Builtin new st:new op! st:op! peek st:peek pick st:pick pop st:pop push st:push roll st:roll shift st:shift
Builtin size st:size slide st:slide swap st:swap throwing st:throwing >buf struct:>buf arr> struct:arr>
Builtin buf struct:buf buf> struct:buf> byte struct:byte double struct:double field! struct:field!
Builtin field@ struct:field@ float struct:float ignore struct:ignore int struct:int long struct:long
Builtin struct; struct:struct; word struct:word ! t:! @ t:@ by-name t:by-name curtask t:curtask def-queue t:def-queue
Builtin def-stack t:def-stack done? t:done? dtor t:dtor err! t:err! err? t:err? errno? t:errno? extra t:extra
Builtin getq t:getq handler t:handler handler@ t:handler@ kill t:kill list t:list main t:main max-exceptions t:max-exceptions
Builtin name! t:name! name@ t:name@ notify t:notify parent t:parent pop t:pop priority t:priority push t:push
Builtin push! t:push! q-notify t:q-notify q-wait t:q-wait qlen t:qlen result t:result set-affinity t:set-affinity
Builtin setq t:setq task t:task task-n t:task-n task-stop t:task-stop ticks t:ticks wait t:wait add tree:add
Builtin binary tree:binary bk tree:bk btree tree:btree cmp! tree:cmp! data tree:data del tree:del find tree:find
Builtin iter tree:iter next tree:next nodes tree:nodes parent tree:parent parse tree:parse prev tree:prev
Builtin root tree:root search tree:search trie tree:trie ! w:! (is) w:(is) @ w:@ alias: w:alias: cb w:cb
Builtin deprecate w:deprecate dlcall w:dlcall dlopen w:dlopen dlsym w:dlsym exec w:exec exec? w:exec?
Builtin ffifail w:ffifail find w:find forget w:forget is w:is name w:name undo w:undo xt w:xt xt> w:xt>
Builtin close ws:close decode ws:decode encode ws:encode encode-nomask ws:encode-nomask gen-accept-header ws:gen-accept-header
Builtin gen-accept-key ws:gen-accept-key opcodes ws:opcodes open ws:open >s xml:>s >txt xml:>txt md-init xml:md-init
Builtin md-parse xml:md-parse 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 "\<'.\>"
syn include @SQL syntax/sql.vim
syn region eightSQL matchgroup=Define start=/\<SQL\[\s/ end=/\<]\>/ contains=@SQL keepend
syn region eightSQL matchgroup=Define start=/\<SQL{\s/ end=/\<}\>/ contains=@SQL keepend
syn region eightSQL matchgroup=Define start=/\<SQL!\s/ end=/\<!\>/ contains=@SQL keepend
" 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 eighthNeeds start=+needs\[+ end=+]+ matchgroup=eighthNeeds2 transparent
syn match eighthNeeds2 /\<needs\[/
syn match eighthNeeds2 /]\>/
syn match eighthBuiltin /m:\[]!/
syn match eighthBuiltin /v:\[]/
syn match eighthBuiltin /db:bind-exec\[]/
syn match eighthBuiltin /db:exec\[]/
syn match eighthBuiltin /db:col\[]/
syn region eighthComment start="\zs\\" end="$" contains=eighthTodo,@Spell
syn region eighthComment start="\zs--\s" end="$" contains=eighthTodo,@Spell
syn region eighthComment start="\zs(\*\_[:space:]" end="\_[:space:]\*)\ze" contains=eightTodo,@Spell
" The default methods for highlighting. Can be overriden later.
hi def link eighthTodo Todo
hi def link eighthNeeds2 Include
hi def link eighthNeeds Error
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 eighthFname Operator
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
delcommand Builtin
let b:current_syntax = "8th"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ft=vim ts=4 sw=4 nocin:si

View File

@@ -0,0 +1,43 @@
This directory contains Vim scripts for syntax highlighting.
These scripts are not for a language, but are used by Vim itself:
syntax.vim Used for the ":syntax on" command. Uses synload.vim.
manual.vim Used for the ":syntax manual" command. Uses synload.vim.
synload.vim Contains autocommands to load a language file when a certain
file name (extension) is used. And sets up the Syntax menu
for the GUI.
nosyntax.vim Used for the ":syntax off" command. Undo the loading of
synload.vim.
The "shared" directory contains generated files and what is used by more than
one syntax.
A few special files:
2html.vim Converts any highlighted file to HTML (GUI only).
colortest.vim Check for color names and actual color on screen.
hitest.vim View the current highlight settings.
whitespace.vim View Tabs and Spaces.
If you want to write a syntax file, read the docs at ":help usr_44.txt".
If you make a new syntax file which would be useful for others, please send it
to the vim-dev mailing list <vim-dev@vim.org>. Include instructions for
detecting the file type for this language, by file name extension or by
checking a few lines in the file. And please write the file in a portable way,
see ":help 44.12".
If you have remarks about an existing file, send them to the maintainer of
that file. Only when you get no response send a message to the vim-dev
mailing list: <vim-dev@vim.org>.
If you are the maintainer of a syntax file and make improvements, send the new
version to the vim-dev mailing list: <vim-dev@vim.org>
For further info see ":help syntax" in Vim.

View File

@@ -0,0 +1,71 @@
" 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

View File

@@ -0,0 +1,153 @@
" 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 "\".*\""
" Program 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"

View File

@@ -0,0 +1,159 @@
" Vim syntax file
" Language: A-A-P recipe
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2023 Aug 10
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" 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

View File

@@ -0,0 +1,196 @@
" Vim ABAP syntax file
" Language: SAP - ABAP/R4
" Maintainer: Marius Piedallu van Wyk <lailoken@gmail.com>
" Last Change: 2021 Jan 02
" 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 statements
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

View File

@@ -0,0 +1,34 @@
" Vim syntax file
" Language: Abaqus finite element input file (www.hks.com)
" Maintainer: Carl Osterwisch <costerwi@gmail.com>
" 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"

View File

@@ -0,0 +1,51 @@
" 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

View File

@@ -0,0 +1,161 @@
" 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 constants 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

View File

@@ -0,0 +1,110 @@
" 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

View File

@@ -0,0 +1,368 @@
"----------------------------------------------------------------------------
" 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. Assigning 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

View File

@@ -0,0 +1,82 @@
" Vim syntax file
" Language: AfLex (from Lex syntax file)
" Maintainer: Mathieu Clabaut <mathieu.clabaut@free.fr>
" LastChange: 02 May 2001
" Original: Lex, maintained by Dr. Charles E. Campbell, Jr.
" Comment: Replaced sourcing c.vim file by ada.vim and rename lex*
" in aflex*
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" Read the Ada syntax to start with
runtime! syntax/ada.vim
unlet b:current_syntax
" --- AfLex stuff ---
"I'd prefer to use aflex.* , but it doesn't handle forward definitions yet
syn cluster aflexListGroup contains=aflexAbbrvBlock,aflexAbbrv,aflexAbbrv,aflexAbbrvRegExp,aflexInclude,aflexPatBlock,aflexPat,aflexBrace,aflexPatString,aflexPatTag,aflexPatTag,aflexPatComment,aflexPatCodeLine,aflexMorePat,aflexPatSep,aflexSlashQuote,aflexPatCode,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2
syn cluster aflexListPatCodeGroup contains=aflexAbbrvBlock,aflexAbbrv,aflexAbbrv,aflexAbbrvRegExp,aflexInclude,aflexPatBlock,aflexPat,aflexBrace,aflexPatTag,aflexPatTag,aflexPatComment,aflexPatCodeLine,aflexMorePat,aflexPatSep,aflexSlashQuote,cInParen,cUserLabel,cOctalZero,cCppSkip,cErrInBracket,cErrInParen,cOctalError,cCppOut2
" Abbreviations Section
syn region aflexAbbrvBlock start="^\([a-zA-Z_]\+\t\|%{\)" end="^%%$"me=e-2 skipnl nextgroup=aflexPatBlock contains=aflexAbbrv,aflexInclude,aflexAbbrvComment
syn match aflexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=aflexAbbrvRegExp
syn match aflexAbbrv "^%[sx]" contained
syn match aflexAbbrvRegExp "\s\S.*$"lc=1 contained nextgroup=aflexAbbrv,aflexInclude
syn region aflexInclude matchgroup=aflexSep start="^%{" end="%}" contained contains=ALLBUT,@aflexListGroup
syn region aflexAbbrvComment start="^\s\+/\*" end="\*/"
"%% : Patterns {Actions}
syn region aflexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite contains=aflexPat,aflexPatTag,aflexPatComment
syn region aflexPat start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 contained nextgroup=aflexMorePat,aflexPatSep contains=aflexPatString,aflexSlashQuote,aflexBrace
syn region aflexBrace start="\[" skip=+\\\\\|\\+ end="]" contained
syn region aflexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
syn match aflexPatTag "^<\I\i*\(,\I\i*\)*>*" contained nextgroup=aflexPat,aflexPatTag,aflexMorePat,aflexPatSep
syn match aflexPatTag +^<\I\i*\(,\I\i*\)*>*\(\\\\\)*\\"+ contained nextgroup=aflexPat,aflexPatTag,aflexMorePat,aflexPatSep
syn region aflexPatComment start="^\s*/\*" end="\*/" skipnl contained contains=cTodo nextgroup=aflexPatComment,aflexPat,aflexPatString,aflexPatTag
syn match aflexPatCodeLine ".*$" contained contains=ALLBUT,@aflexListGroup
syn match aflexMorePat "\s*|\s*$" skipnl contained nextgroup=aflexPat,aflexPatTag,aflexPatComment
syn match aflexPatSep "\s\+" contained nextgroup=aflexMorePat,aflexPatCode,aflexPatCodeLine
syn match aflexSlashQuote +\(\\\\\)*\\"+ contained
syn region aflexPatCode matchgroup=Delimiter start="{" matchgroup=Delimiter end="}" skipnl contained contains=ALLBUT,@aflexListPatCodeGroup
syn keyword aflexCFunctions BEGIN input unput woutput yyleng yylook yytext
syn keyword aflexCFunctions ECHO output winput wunput yyless yymore yywrap
" <c.vim> includes several ALLBUTs; these have to be treated so as to exclude aflex* groups
syn cluster cParenGroup add=aflex.*
syn cluster cDefineGroup add=aflex.*
syn cluster cPreProcGroup add=aflex.*
syn cluster cMultiGroup add=aflex.*
" Synchronization
syn sync clear
syn sync minlines=300
syn sync match aflexSyncPat grouphere aflexPatBlock "^%[a-zA-Z]"
syn sync match aflexSyncPat groupthere aflexPatBlock "^<$"
syn sync match aflexSyncPat groupthere aflexPatBlock "^%%$"
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link aflexSlashQuote aflexPat
hi def link aflexBrace aflexPat
hi def link aflexAbbrvComment aflexPatComment
hi def link aflexAbbrv SpecialChar
hi def link aflexAbbrvRegExp Macro
hi def link aflexCFunctions Function
hi def link aflexMorePat SpecialChar
hi def link aflexPat Function
hi def link aflexPatComment Comment
hi def link aflexPatString Function
hi def link aflexPatTag Special
hi def link aflexSep Delimiter
let b:current_syntax = "aflex"
" vim:ts=10

View File

@@ -0,0 +1,81 @@
" 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 constants
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

View File

@@ -0,0 +1,23 @@
" 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/12/03
" 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 const 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"

View File

@@ -0,0 +1,49 @@
" 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

View File

@@ -0,0 +1,89 @@
" Vim syntax file
" Language: AmigaDos
" Maintainer: This runtime file is looking for a new maintainer.
" Former Maintainer: Charles E. Campbell
" Last Change: Aug 31, 2016
" Version: 10
" Former URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_AMIGA
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn case ignore
" Amiga Devices
syn match amiDev "\(par\|ser\|prt\|con\|nil\):"
" Amiga aliases and paths
syn match amiAlias "\<[a-zA-Z][a-zA-Z0-9]\+:"
syn match amiAlias "\<[a-zA-Z][a-zA-Z0-9]\+:[a-zA-Z0-9/]*/"
" strings
syn region amiString start=+"+ end=+"+ oneline contains=@Spell
" numbers
syn match amiNumber "\<\d\+\>"
" Logic flow
syn region amiFlow matchgroup=Statement start="if" matchgroup=Statement end="endif" contains=ALL
syn keyword amiFlow skip endskip
syn match amiError "else\|endif"
syn keyword amiElse contained else
syn keyword amiTest contained not warn error fail eq gt ge val exists
" echo exception
syn region amiEcho matchgroup=Statement start="\<echo\>" end="$" oneline contains=amiComment
syn region amiEcho matchgroup=Statement start="^\.[bB][rR][aA]" end="$" oneline
syn region amiEcho matchgroup=Statement start="^\.[kK][eE][tT]" end="$" oneline
" commands
syn keyword amiKey addbuffers copy fault join pointer setdate
syn keyword amiKey addmonitor cpu filenote keyshow printer setenv
syn keyword amiKey alias date fixfonts lab printergfx setfont
syn keyword amiKey ask delete fkey list printfiles setmap
syn keyword amiKey assign dir font loadwb prompt setpatch
syn keyword amiKey autopoint diskchange format lock protect sort
syn keyword amiKey avail diskcopy get magtape quit stack
syn keyword amiKey binddrivers diskdoctor getenv makedir relabel status
syn keyword amiKey bindmonitor display graphicdump makelink remrad time
syn keyword amiKey blanker iconedit more rename type
syn keyword amiKey break ed icontrol mount resident unalias
syn keyword amiKey calculator edit iconx newcli run unset
syn keyword amiKey cd endcli ihelp newshell say unsetenv
syn keyword amiKey changetaskpri endshell info nocapslock screenmode version
syn keyword amiKey clock eval initprinter nofastmem search wait
syn keyword amiKey cmd exchange input overscan serial wbpattern
syn keyword amiKey colors execute install palette set which
syn keyword amiKey conclip failat iprefs path setclock why
" comments
syn cluster amiCommentGroup contains=amiTodo,@Spell
syn case ignore
syn keyword amiTodo contained todo
syn case match
syn match amiComment ";.*$" contains=amiCommentGroup
" sync
syn sync lines=50
" Define the default highlighting.
if !exists("skip_amiga_syntax_inits")
hi def link amiAlias Type
hi def link amiComment Comment
hi def link amiDev Type
hi def link amiEcho String
hi def link amiElse Statement
hi def link amiError Error
hi def link amiKey Statement
hi def link amiNumber Number
hi def link amiString String
hi def link amiTest Special
endif
let b:current_syntax = "amiga"
" vim:ts=15

View File

@@ -0,0 +1,144 @@
" 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"

View File

@@ -0,0 +1,140 @@
" 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

View File

@@ -0,0 +1,97 @@
" Vim syntax file
" Language: ANT build file (xml)
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: 2024 Jan 27
" Filenames: build.xml
" 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 WsdlToDotnet addfiles and ant antcall antstructure apply archives arg argument
syn keyword antElement assertions attrib attribute available basename bcc blgenclient bootclasspath
syn keyword antElement borland bottom buildnumber buildpath buildpathelement bunzip2 bzip2 cab
syn keyword antElement catalogpath cc cccheckin cccheckout cclock ccmcheckin ccmcheckintask ccmcheckout
syn keyword antElement ccmcreatetask ccmkattr ccmkbl ccmkdir ccmkelem ccmklabel ccmklbtype
syn keyword antElement ccmreconfigure ccrmtype ccuncheckout ccunlock ccupdate checksum chgrp chmod
syn keyword antElement chown classconstants classes classfileset classpath commandline comment
syn keyword antElement compilerarg compilerclasspath concat concatfilter condition copy copydir
syn keyword antElement copyfile coveragepath csc custom cvs cvschangelog cvspass cvstagdiff cvsversion
syn keyword antElement daemons date defaultexcludes define delete deletecharacters deltree depend
syn keyword antElement depends dependset depth description different dirname dirset disable dname
syn keyword antElement doclet doctitle dtd ear echo echoproperties ejbjar element enable entity entry
syn keyword antElement env equals escapeunicode exclude excludepackage excludesfile exec execon
syn keyword antElement existing expandproperties extdirs extension extensionSet extensionset factory
syn keyword antElement fail filelist filename filepath fileset filesmatch filetokenizer filter
syn keyword antElement filterchain filterreader filters filterset filtersfile fixcrlf footer format
syn keyword antElement from ftp generic genkey get gjdoc grant group gunzip gzip header headfilter http
syn keyword antElement ignoreblank ilasm ildasm import importtypelib include includesfile input iplanet
syn keyword antElement iplanet-ejbc isfalse isreference isset istrue jar jarlib-available
syn keyword antElement jarlib-manifest jarlib-resolve java javac javacc javadoc javadoc2 jboss jdepend
syn keyword antElement jjdoc jjtree jlink jonas jpcoverage jpcovmerge jpcovreport jsharpc jspc
syn keyword antElement junitreport jvmarg lib libfileset linetokenizer link loadfile loadproperties
syn keyword antElement location macrodef mail majority manifest map mapper marker mergefiles message
syn keyword antElement metainf method mimemail mkdir mmetrics modified move mparse none not options or
syn keyword antElement os outputproperty package packageset parallel param patch path pathconvert
syn keyword antElement pathelement patternset permissions prefixlines present presetdef project
syn keyword antElement property propertyfile propertyref propertyset pvcs pvcsproject record reference
syn keyword antElement regexp rename renameext replace replacefilter replaceregex replaceregexp
syn keyword antElement replacestring replacetoken replacetokens replacevalue replyto report resource
syn keyword antElement revoke rmic root rootfileset rpm scp section selector sequential serverdeploy
syn keyword antElement setproxy signjar size sleep socket soscheckin soscheckout sosget soslabel source
syn keyword antElement sourcepath sql src srcfile srcfilelist srcfiles srcfileset sshexec stcheckin
syn keyword antElement stcheckout stlabel stlist stringtokenizer stripjavacomments striplinebreaks
syn keyword antElement striplinecomments style subant substitution support symlink sync sysproperty
syn keyword antElement syspropertyset tabstospaces tag taglet tailfilter tar tarfileset target
syn keyword antElement targetfile targetfilelist targetfileset taskdef tempfile test testlet text title
syn keyword antElement to token tokenfilter touch transaction translate triggers trim tstamp type
syn keyword antElement typedef unjar untar unwar unzip uptodate url user vbc vssadd vsscheckin
syn keyword antElement vsscheckout vsscp vsscreate vssget vsshistory vsslabel waitfor war wasclasspath
syn keyword antElement webapp webinf weblogic weblogictoplink websphere whichresource wlclasspath
syn keyword antElement wljspc wsdltodotnet xmlcatalog xmlproperty xmlvalidate xslt zip zipfileset
syn keyword antElement 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

View File

@@ -0,0 +1,54 @@
" Vim syntax file
" Antlr: ANTLR, Another Tool For Language Recognition <www.antlr.org>
" Maintainer: Mathieu Clabaut <mathieu.clabaut@free.fr>
" LastChange: 02 May 2001
" Original: Comes from JavaCC.vim
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" This syntac file is a first attempt. It is far from perfect...
" Uses java.vim, and adds a few special things for JavaCC Parser files.
" Those files usually have the extension *.jj
" source the java.vim file
runtime! syntax/java.vim
unlet b:current_syntax
"remove catching errors caused by wrong parenthesis (does not work in antlr
"files) (first define them in case they have not been defined in java)
syn match javaParen "--"
syn match javaParenError "--"
syn match javaInParen "--"
syn match javaError2 "--"
syn clear javaParen
syn clear javaParenError
syn clear javaInParen
syn clear javaError2
" remove function definitions (they look different) (first define in
" in case it was not defined in java.vim)
"syn match javaFuncDef "--"
"syn clear javaFuncDef
"syn match javaFuncDef "[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*)[ \t]*:" contains=javaType
" syn region javaFuncDef start=+t[a-zA-Z][a-zA-Z0-9_. \[\]]*([^-+*/()]*,[ ]*+ end=+)[ \t]*:+
syn keyword antlrPackages options language buildAST
syn match antlrPackages "PARSER_END([^)]*)"
syn match antlrPackages "PARSER_BEGIN([^)]*)"
syn match antlrSpecToken "<EOF>"
" the dot is necessary as otherwise it will be matched as a keyword.
syn match antlrSpecToken ".LOOKAHEAD("ms=s+1,me=e-1
syn match antlrSep "[|:]\|\.\."
syn keyword antlrActionToken TOKEN SKIP MORE SPECIAL_TOKEN
syn keyword antlrError DEBUG IGNORE_IN_BNF
hi def link antlrSep Statement
hi def link antlrPackages Statement
let b:current_syntax = "antlr"
" vim: ts=8

View File

@@ -0,0 +1,30 @@
" Vim syntax file
" Language: ANTLR4, ANother Tool for Language Recognition v4 <www.antlr.org>
" Maintainer: Yinzuo Jiang <jiangyinzuo@foxmail.com>
" Last Change: 2024 July 09
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" Keywords. See https://github.com/antlr/antlr4/blob/4.13.1/doc/lexicon.md
syn keyword antlr4Include import
" https://github.com/antlr/antlr4/blob/4.13.1/doc/options.md
" https://github.com/antlr/antlr4/blob/4.13.1/doc/grammars.md
syn keyword antlr4Structure fragment lexer parser grammar options channels tokens mode
syn keyword antlr4Statement returns locals
syn keyword antlr4Exceptions throws catch finally
" Comments.
syn keyword antlr4Todo contained TODO FIXME XXX NOTE
syn region antlr4Comment start="//" end="$" contains=antlr4Todo,@Spell
syn region antlr4Comment start="/\*" end="\*/" contains=antlr4Todo,@Spell
hi def link antlr4Include Include
hi def link antlr4Structure Structure
hi def link antlr4Statement Statement
hi def link antlr4Exceptions Structure
hi def link antlr4Comment Comment
let b:current_syntax = "antlr4"

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,54 @@
" Vim syntax file
" Language: Apache-Style configuration files (proftpd.conf/apache.conf/..)
" Maintainer: Ben RUBSON <ben.rubson@gmail.com>
" Former Maintainer: Christian Hammers <ch@westend.com>
" ChangeLog:
" 2017-12-17,ch
" correctly detect comments
" 2001-05-04,ch
" adopted Vim 6.0 syntax style
" 1999-10-28,ch
" initial release
" The following formats are recognised:
" Apache-style .conf
" # Comment
" Option value
" Option value1 value2
" Option = value1 value2 #not apache but also allowed
" <Section Name?>
" Option value
" <SubSection Name?>
" </SubSection>
" </Section>
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn case ignore
syn match apOption /^\s*[^ \t#<=]*/
syn match apComment /^\s*#.*$/
"syn match apLastValue /[^ \t<=#]*$/ contains=apComment ugly
" tags
syn region apTag start=/</ end=/>/ contains=apTagOption,apTagError
" the following should originally be " [^<>]+" but this didn't work :(
syn match apTagOption contained / [-\/_\.:*a-zA-Z0-9]\+/ms=s+1
syn match apTagError contained /[^>]</ms=s+1
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link apComment Comment
hi def link apOption Keyword
"hi def link apLastValue Identifier ugly?
hi def link apTag Special
hi def link apTagOption Identifier
hi def link apTagError Error
let b:current_syntax = "apachestyle"
" vim: ts=8

View File

@@ -0,0 +1,17 @@
" Vim syntax file
" Language: apkbuild
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2024 Dec 22
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" The actual syntax is in sh.vim and controlled by buffer-local variables.
unlet! b:is_bash b:is_kornshell
let b:is_sh = 1
runtime! syntax/sh.vim
let b:current_syntax = 'apkbuild'

View File

@@ -0,0 +1,577 @@
" Vim syntax file
" Language: APT config file
" Maintainer: Yann Amar <quidame@poivron.org>
" Last Change: 2021 Jul 12
" 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
\ Allow-APT-Mark-Fallback Allow-downgrade AutoFixInterruptedDpkg
\ Automatic-Reboot Automatic-Reboot-Time Automatic-Reboot-WithUsers
\ Debug InstallOnShutdown Mail MailOnlyOnError MailReport MinimalSteps
\ OnlyOnACPower Origins-Pattern Package-Blacklist
\ Remove-New-Unused-Dependencies Remove-Unused-Dependencies
\ Remove-Unused-Kernel-Packages Skip-Updates-On-Metered-Connections
\ SyslogEnable SyslogFacility Verbose
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

View File

@@ -0,0 +1,41 @@
" 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

View File

@@ -0,0 +1,83 @@
" Vim syntax file
" Language: Arduino
" Maintainer: Johannes Hoff <johannes@johanneshoff.com>
" Last Change: 21 October 2021
" License: VIM license (:help license, replace vim by arduino.vim)
" Syntax highlighting like in the Arduino IDE
" Automatically generated by the script available at
" https://github.com/johshoff/arduino-vim-syntax
" Using keywords from <arduino>/build/shared/lib/keywords.txt
" From version: 1.8.16
" Thanks to Rik, Erik Nomitch, Adam Obeng, Graeme Cross and Niall Parker
" for helpful feedback!
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Read the C syntax to start with
if version < 600
so <sfile>:p:h/cpp.vim
else
runtime! syntax/cpp.vim
endif
syn keyword arduinoConstant BIN CHANGE DEC DEFAULT EXTERNAL FALLING HALF_PI HEX
syn keyword arduinoConstant HIGH INPUT INPUT_PULLUP INTERNAL INTERNAL1V1
syn keyword arduinoConstant INTERNAL2V56 LED_BUILTIN LED_BUILTIN_RX
syn keyword arduinoConstant LED_BUILTIN_TX LOW LSBFIRST MSBFIRST OCT OUTPUT PI
syn keyword arduinoConstant RISING TWO_PI
syn keyword arduinoFunc analogRead analogReadResolution analogReference
syn keyword arduinoFunc analogWrite analogWriteResolution attachInterrupt
syn keyword arduinoFunc bit bitClear bitRead bitSet bitWrite delay
syn keyword arduinoFunc delayMicroseconds detachInterrupt
syn keyword arduinoFunc digitalPinToInterrupt digitalRead digitalWrite
syn keyword arduinoFunc highByte interrupts lowByte micros millis
syn keyword arduinoFunc noInterrupts noTone pinMode pulseIn pulseInLong
syn keyword arduinoFunc shiftIn shiftOut tone yield
syn keyword arduinoMethod available availableForWrite begin charAt compareTo
syn keyword arduinoMethod concat end endsWith equals equalsIgnoreCase export
syn keyword arduinoMethod final find findUntil flush getBytes indexOf
syn keyword arduinoMethod lastIndexOf length loop override parseFloat
syn keyword arduinoMethod parseInt peek print println read readBytes
syn keyword arduinoMethod readBytesUntil readString readStringUntil replace
syn keyword arduinoMethod setCharAt setTimeout setup startsWith Stream
syn keyword arduinoMethod substring toCharArray toInt toLowerCase toUpperCase
syn keyword arduinoMethod trim
syn keyword arduinoModule Keyboard Mouse Serial Serial1 Serial2 Serial3
syn keyword arduinoModule SerialUSB
syn keyword arduinoStdFunc abs accept acos acosf asin asinf atan atan2 atan2f
syn keyword arduinoStdFunc atanf cbrt cbrtf ceil ceilf click constrain
syn keyword arduinoStdFunc copysign copysignf cos cosf cosh coshf degrees exp
syn keyword arduinoStdFunc expf fabs fabsf fdim fdimf floor floorf fma fmaf
syn keyword arduinoStdFunc fmax fmaxf fmin fminf fmod fmodf hypot hypotf
syn keyword arduinoStdFunc isfinite isinf isnan isPressed ldexp ldexpf log
syn keyword arduinoStdFunc log10 log10f logf lrint lrintf lround lroundf map
syn keyword arduinoStdFunc max min move pow powf press radians random
syn keyword arduinoStdFunc randomSeed release releaseAll round roundf signbit
syn keyword arduinoStdFunc sin sinf sinh sinhf sq sqrt sqrtf tan tanf tanh
syn keyword arduinoStdFunc tanhf trunc truncf
syn keyword arduinoType _Bool _Complex _Imaginary array atomic_bool
syn keyword arduinoType atomic_char atomic_int atomic_llong atomic_long
syn keyword arduinoType atomic_schar atomic_short atomic_uchar atomic_uint
syn keyword arduinoType atomic_ullong atomic_ulong atomic_ushort boolean
syn keyword arduinoType byte char16_t char32_t complex NULL null PROGMEM
syn keyword arduinoType String word
hi def link arduinoType Type
hi def link arduinoConstant Constant
hi def link arduinoStdFunc Function
hi def link arduinoFunc Function
hi def link arduinoMethod Function
hi def link arduinoModule Identifier

View File

@@ -0,0 +1,50 @@
" 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

View File

@@ -0,0 +1,185 @@
" Vim syntax file
" Language: AsciiDoc
" Maintainer: @aerostitch on GitHub (tag me in your issue in the
" github/vim/vim repository and I'll answer when available)
" Original author: Stuart Rackham <srackham@gmail.com> (inspired by Felix
" Obenhuber's original asciidoc.vim script).
" URL: http://asciidoc.org/
" Licence: GPL (http://www.gnu.org)
" Remarks: Vim 6 or greater
" Last Update: 2020 May 03 (see Issue 240)
" Limitations:
"
" - Nested quoted text formatting is highlighted according to the outer
" format.
" - If a closing Example Block delimiter may be mistaken for a title
" underline. A workaround is to insert a blank line before the closing
" delimiter.
" - Lines within a paragraph starting with equals characters are
" highlighted as single-line titles.
" - Lines within a paragraph beginning with a period are highlighted as
" block titles.
if exists("b:current_syntax")
finish
endif
" Use the default syntax syncing.
" Run :help syn-priority to review syntax matching priority.
syn keyword asciidocToDo TODO FIXME CHECK TEST XXX ZZZ DEPRECATED
syn match asciidocBackslash /\\/
syn region asciidocIdMarker start=/^\$Id:\s/ end=/\s\$$/
syn match asciidocCallout /\\\@<!<\d\{1,2}>/
syn match asciidocOpenBlockDelimiter /^--$/
syn match asciidocLineBreak /[ \t]+$/ containedin=asciidocList
syn match asciidocRuler /^'\{3,}$/
syn match asciidocPagebreak /^<\{3,}$/
syn match asciidocEntityRef /\\\@<!&[#a-zA-Z]\S\{-};/
syn region asciidocLiteralParagraph start=/\(\%^\|\_^\s*\n\)\@<=\s\+\S\+/ end=/\(^\(+\|--\)\?\s*$\)\@=/ contains=asciidocToDo
syn match asciidocURL /\\\@<!\<\(http\|https\|ftp\|file\|irc\):\/\/[^| \t]*\(\w\|\/\)/
syn match asciidocEmail /[\\.:]\@<!\(\<\|<\)\w\(\w\|[.-]\)*@\(\w\|[.-]\)*\w>\?[0-9A-Za-z_]\@!/
syn match asciidocAttributeRef /\\\@<!{\w\(\w\|[-,+]\)*\([=!@#$%?:].*\)\?}/
" As a damage control measure quoted patterns always terminate at a blank
" line (see 'Limitations' above).
syn match asciidocQuotedAttributeList /\\\@<!\[[a-zA-Z0-9_-][a-zA-Z0-9 _-]*\][+_'`#*]\@=/
syn match asciidocQuotedSubscript /\\\@<!\~\S\_.\{-}\(\~\|\n\s*\n\)/ contains=asciidocEntityRef
syn match asciidocQuotedSuperscript /\\\@<!\^\S\_.\{-}\(\^\|\n\s*\n\)/ contains=asciidocEntityRef
syn match asciidocQuotedMonospaced /\(^\|[| \t([.,=\]]\)\@<=+\([+ \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(+\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
syn match asciidocQuotedMonospaced2 /\(^\|[| \t([.,=\]]\)\@<=`\([` \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(`\([| \t)[\],.?!;:=]\|$\)\@=\)/
syn match asciidocQuotedUnconstrainedMonospaced /[\\+]\@<!++\S\_.\{-}\(++\|\n\s*\n\)/ contains=asciidocEntityRef
syn match asciidocQuotedEmphasized /\(^\|[| \t([.,=\]]\)\@<=_\([_ \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(_\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
syn match asciidocQuotedEmphasized2 /\(^\|[| \t([.,=\]]\)\@<='\([' \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\('\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
syn match asciidocQuotedUnconstrainedEmphasized /\\\@<!__\S\_.\{-}\(__\|\n\s*\n\)/ contains=asciidocEntityRef
syn match asciidocQuotedBold /\(^\|[| \t([.,=\]]\)\@<=\*\([* \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(\*\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
syn match asciidocQuotedUnconstrainedBold /\\\@<!\*\*\S\_.\{-}\(\*\*\|\n\s*\n\)/ contains=asciidocEntityRef
" Don't allow ` in single quoted (a kludge to stop confusion with `monospaced`).
syn match asciidocQuotedSingleQuoted /\(^\|[| \t([.,=\]]\)\@<=`\([` \n\t]\)\@!\([^`]\|\n\(\s*\n\)\@!\)\{-}[^` \t]\('\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
syn match asciidocQuotedDoubleQuoted /\(^\|[| \t([.,=\]]\)\@<=``\([` \n\t]\)\@!\(.\|\n\(\s*\n\)\@!\)\{-}\S\(''\([| \t)[\],.?!;:=]\|$\)\@=\)/ contains=asciidocEntityRef
syn match asciidocDoubleDollarPassthrough /\\\@<!\(^\|[^0-9a-zA-Z$]\)\@<=\$\$..\{-}\(\$\$\([^0-9a-zA-Z$]\|$\)\@=\|^$\)/
syn match asciidocTriplePlusPassthrough /\\\@<!\(^\|[^0-9a-zA-Z$]\)\@<=+++..\{-}\(+++\([^0-9a-zA-Z$]\|$\)\@=\|^$\)/
syn match asciidocAdmonition /^\u\{3,15}:\(\s\+.*\)\@=/
syn region asciidocTable_OLD start=/^\([`.']\d*[-~_]*\)\+[-~_]\+\d*$/ end=/^$/
syn match asciidocBlockTitle /^\.[^. \t].*[^-~_]$/ contains=asciidocQuoted.*,asciidocAttributeRef
syn match asciidocTitleUnderline /[-=~^+]\{2,}$/ transparent contained contains=NONE
syn match asciidocOneLineTitle /^=\{1,5}\s\+\S.*$/ contains=asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash
syn match asciidocTwoLineTitle /^[^. +/].*[^.]\n[-=~^+]\{3,}$/ contains=asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash,asciidocTitleUnderline
syn match asciidocAttributeList /^\[[^[ \t].*\]$/
syn match asciidocQuoteBlockDelimiter /^_\{4,}$/
syn match asciidocExampleBlockDelimiter /^=\{4,}$/
syn match asciidocSidebarDelimiter /^*\{4,}$/
" See http://vimdoc.sourceforge.net/htmldoc/usr_44.html for excluding region
" contents from highlighting.
syn match asciidocTablePrefix /\(\S\@<!\(\([0-9.]\+\)\([*+]\)\)\?\([<\^>.]\{,3}\)\?\([a-z]\)\?\)\?|/ containedin=asciidocTableBlock contained
syn region asciidocTableBlock matchgroup=asciidocTableDelimiter start=/^|=\{3,}$/ end=/^|=\{3,}$/ keepend contains=ALL
syn match asciidocTablePrefix /\(\S\@<!\(\([0-9.]\+\)\([*+]\)\)\?\([<\^>.]\{,3}\)\?\([a-z]\)\?\)\?!/ containedin=asciidocTableBlock contained
syn region asciidocTableBlock2 matchgroup=asciidocTableDelimiter2 start=/^!=\{3,}$/ end=/^!=\{3,}$/ keepend contains=ALL
syn match asciidocListContinuation /^+$/
syn region asciidocLiteralBlock start=/^\.\{4,}$/ end=/^\.\{4,}$/ contains=asciidocCallout,asciidocToDo keepend
syn region asciidocListingBlock start=/^-\{4,}$/ end=/^-\{4,}$/ contains=asciidocCallout,asciidocToDo keepend
syn region asciidocCommentBlock start="^/\{4,}$" end="^/\{4,}$" contains=asciidocToDo
syn region asciidocPassthroughBlock start="^+\{4,}$" end="^+\{4,}$"
" Allowing leading \w characters in the filter delimiter is to accomodate
" the pre version 8.2.7 syntax and may be removed in future releases.
syn region asciidocFilterBlock start=/^\w*\~\{4,}$/ end=/^\w*\~\{4,}$/
syn region asciidocMacroAttributes matchgroup=asciidocRefMacro start=/\\\@<!<<"\{-}\(\w\|-\|_\|:\|\.\)\+"\?,\?/ end=/\(>>\)\|^$/ contains=asciidocQuoted.* keepend
syn region asciidocMacroAttributes matchgroup=asciidocAnchorMacro start=/\\\@<!\[\{2}\(\w\|-\|_\|:\|\.\)\+,\?/ end=/\]\{2}/ keepend
syn region asciidocMacroAttributes matchgroup=asciidocAnchorMacro start=/\\\@<!\[\{3}\(\w\|-\|_\|:\|\.\)\+/ end=/\]\{3}/ keepend
syn region asciidocMacroAttributes matchgroup=asciidocMacro start=/[\\0-9a-zA-Z]\@<!\w\(\w\|-\)*:\S\{-}\[/ skip=/\\\]/ end=/\]\|^$/ contains=asciidocQuoted.*,asciidocAttributeRef,asciidocEntityRef keepend
" Highlight macro that starts with an attribute reference (a common idiom).
syn region asciidocMacroAttributes matchgroup=asciidocMacro start=/\(\\\@<!{\w\(\w\|[-,+]\)*\([=!@#$%?:].*\)\?}\)\@<=\S\{-}\[/ skip=/\\\]/ end=/\]\|^$/ contains=asciidocQuoted.*,asciidocAttributeRef keepend
syn region asciidocMacroAttributes matchgroup=asciidocIndexTerm start=/\\\@<!(\{2,3}/ end=/)\{2,3}/ contains=asciidocQuoted.*,asciidocAttributeRef keepend
syn match asciidocCommentLine "^//\([^/].*\|\)$" contains=asciidocToDo
syn region asciidocAttributeEntry start=/^:\w/ end=/:\(\s\|$\)/ oneline
" Lists.
syn match asciidocListBullet /^\s*\zs\(-\|\*\{1,5}\)\ze\s/
syn match asciidocListNumber /^\s*\zs\(\(\d\+\.\)\|\.\{1,5}\|\(\a\.\)\|\([ivxIVX]\+)\)\)\ze\s\+/
syn region asciidocListLabel start=/^\s*/ end=/\(:\{2,4}\|;;\)$/ oneline contains=asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash,asciidocToDo keepend
" DEPRECATED: Horizontal label.
syn region asciidocHLabel start=/^\s*/ end=/\(::\|;;\)\(\s\+\|\\$\)/ oneline contains=asciidocQuoted.*,asciidocMacroAttributes keepend
" Starts with any of the above.
syn region asciidocList start=/^\s*\(-\|\*\{1,5}\)\s/ start=/^\s*\(\(\d\+\.\)\|\.\{1,5}\|\(\a\.\)\|\([ivxIVX]\+)\)\)\s\+/ start=/.\+\(:\{2,4}\|;;\)$/ end=/\(^[=*]\{4,}$\)\@=/ end=/\(^\(+\|--\)\?\s*$\)\@=/ contains=asciidocList.\+,asciidocQuoted.*,asciidocMacroAttributes,asciidocAttributeRef,asciidocEntityRef,asciidocEmail,asciidocURL,asciidocBackslash,asciidocCommentLine,asciidocAttributeList,asciidocToDo
hi def link asciidocAdmonition Special
hi def link asciidocAnchorMacro Macro
hi def link asciidocAttributeEntry Special
hi def link asciidocAttributeList Special
hi def link asciidocAttributeMacro Macro
hi def link asciidocAttributeRef Special
hi def link asciidocBackslash Special
hi def link asciidocBlockTitle Title
hi def link asciidocCallout Label
hi def link asciidocCommentBlock Comment
hi def link asciidocCommentLine Comment
hi def link asciidocDoubleDollarPassthrough Special
hi def link asciidocEmail Macro
hi def link asciidocEntityRef Special
hi def link asciidocExampleBlockDelimiter Type
hi def link asciidocFilterBlock Type
hi def link asciidocHLabel Label
hi def link asciidocIdMarker Special
hi def link asciidocIndexTerm Macro
hi def link asciidocLineBreak Special
hi def link asciidocOpenBlockDelimiter Label
hi def link asciidocListBullet Label
hi def link asciidocListContinuation Label
hi def link asciidocListingBlock Identifier
hi def link asciidocListLabel Label
hi def link asciidocListNumber Label
hi def link asciidocLiteralBlock Identifier
hi def link asciidocLiteralParagraph Identifier
hi def link asciidocMacroAttributes Label
hi def link asciidocMacro Macro
hi def link asciidocOneLineTitle Title
hi def link asciidocPagebreak Type
hi def link asciidocPassthroughBlock Identifier
hi def link asciidocQuoteBlockDelimiter Type
hi def link asciidocQuotedAttributeList Special
hi def link asciidocQuotedBold Special
hi def link asciidocQuotedDoubleQuoted Label
hi def link asciidocQuotedEmphasized2 Type
hi asciidocQuotedEmphasizedItalic term=italic cterm=italic gui=italic
hi def link asciidocQuotedEmphasized asciidocQuotedEmphasizedItalic
hi def link asciidocQuotedMonospaced2 Identifier
hi def link asciidocQuotedMonospaced Identifier
hi def link asciidocQuotedSingleQuoted Label
hi def link asciidocQuotedSubscript Type
hi def link asciidocQuotedSuperscript Type
hi def link asciidocQuotedUnconstrainedBold Special
hi def link asciidocQuotedUnconstrainedEmphasized Type
hi def link asciidocQuotedUnconstrainedMonospaced Identifier
hi def link asciidocRefMacro Macro
hi def link asciidocRuler Type
hi def link asciidocSidebarDelimiter Type
hi def link asciidocTableBlock2 NONE
hi def link asciidocTableBlock NONE
hi def link asciidocTableDelimiter2 Label
hi def link asciidocTableDelimiter Label
hi def link asciidocTable_OLD Type
hi def link asciidocTablePrefix2 Label
hi def link asciidocTablePrefix Label
hi def link asciidocToDo Todo
hi def link asciidocTriplePlusPassthrough Special
hi def link asciidocTwoLineTitle Title
hi def link asciidocURL Macro
let b:current_syntax = "asciidoc"
" vim: wrap et sw=2 sts=2:

View File

@@ -0,0 +1,164 @@
" Vim syntax file
" Language: GNU Assembler
" Maintainer: Doug Kearns dougkearns@gmail.com
" Previous Maintainers: Erik Wognsen <erik.wognsen@gmail.com>
" Kevin Dahlhausen <kdahlhaus@yahoo.com>
" Contributors: Ori Avtalion, Lakshay Garg
" Last Change: 2020 Oct 31
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn case ignore
" storage types
syn match asmType "\.long"
syn match asmType "\.ascii"
syn match asmType "\.asciz"
syn match asmType "\.byte"
syn match asmType "\.double"
syn match asmType "\.float"
syn match asmType "\.hword"
syn match asmType "\.int"
syn match asmType "\.octa"
syn match asmType "\.quad"
syn match asmType "\.short"
syn match asmType "\.single"
syn match asmType "\.space"
syn match asmType "\.string"
syn match asmType "\.word"
syn match asmIdentifier "[a-z_][a-z0-9_]*"
syn match asmLabel "[a-z_][a-z0-9_]*:"he=e-1
" Various #'s as defined by GAS ref manual sec 3.6.2.1
" Technically, the first asmDecimal def is actually octal,
" since the value of 0-7 octal is the same as 0-7 decimal,
" I (Kevin) prefer to map it as decimal:
syn match asmDecimal "\<0\+[1-7]\=\>" display
syn match asmDecimal "\<[1-9]\d*\>" display
syn match asmOctal "\<0[0-7][0-7]\+\>" display
syn match asmHexadecimal "\<0[xX][0-9a-fA-F]\+\>" display
syn match asmBinary "\<0[bB][0-1]\+\>" display
syn match asmFloat "\<\d\+\.\d*\%(e[+-]\=\d\+\)\=\>" display
syn match asmFloat "\.\d\+\%(e[+-]\=\d\+\)\=\>" display
syn match asmFloat "\<\d\%(e[+-]\=\d\+\)\>" display
syn match asmFloat "[+-]\=Inf\>\|\<NaN\>" display
syn match asmFloat "\%(0[edfghprs]\)[+-]\=\d*\%(\.\d\+\)\%(e[+-]\=\d\+\)\=" display
syn match asmFloat "\%(0[edfghprs]\)[+-]\=\d\+\%(\.\d\+\)\=\%(e[+-]\=\d\+\)\=" display
" Avoid fighting the hexadecimal match for unicorn-like '0x' prefixed floats
syn match asmFloat "\%(0x\)[+-]\=\d*\%(\.\d\+\)\%(e[+-]\=\d\+\)\=" display
" Allow all characters to be escaped (and in strings) as these vary across
" architectures [See sec 3.6.1.1 Strings]
syn match asmCharacterEscape "\\." contained
syn match asmCharacter "'\\\=." contains=asmCharacterEscape
syn match asmStringEscape "\\\_." contained
syn match asmStringEscape "\\\%(\o\{3}\|00[89]\)" contained display
syn match asmStringEscape "\\x\x\+" contained display
syn region asmString start="\"" end="\"" skip="\\\\\|\\\"" contains=asmStringEscape
syn keyword asmTodo contained TODO FIXME XXX NOTE
" GAS supports one type of multi line comments:
syn region asmComment start="/\*" end="\*/" contains=asmTodo,@Spell
" GAS (undocumentedly?) supports C++ style comments. Unlike in C/C++ however,
" a backslash ending a C++ style comment does not extend the comment to the
" next line (hence the syntax region does not define 'skip="\\$"')
syn region asmComment start="//" end="$" keepend contains=asmTodo,@Spell
" Line comment characters depend on the target architecture and command line
" options and some comments may double as logical line number directives or
" preprocessor commands. This situation is described at
" http://sourceware.org/binutils/docs-2.22/as/Comments.html
" Some line comment characters have other meanings for other targets. For
" example, .type directives may use the `@' character which is also an ARM
" comment marker.
" As a compromise to accommodate what I arbitrarily assume to be the most
" frequently used features of the most popular architectures (and also the
" non-GNU assembly languages that use this syntax file because their asm files
" are also named *.asm), the following are used as line comment characters:
syn match asmComment "[#;!|].*" contains=asmTodo,@Spell
" Side effects of this include:
" - When `;' is used to separate statements on the same line (many targets
" support this), all statements except the first get highlighted as
" comments. As a remedy, remove `;' from the above.
" - ARM comments are not highlighted correctly. For ARM, uncomment the
" following two lines and comment the one above.
"syn match asmComment "@.*" contains=asmTodo
"syn match asmComment "^#.*" contains=asmTodo
" Advanced users of specific architectures will probably want to change the
" comment highlighting or use a specific, more comprehensive syntax file.
syn match asmInclude "\.include"
syn match asmCond "\.if"
syn match asmCond "\.else"
syn match asmCond "\.endif"
syn match asmMacro "\.macro"
syn match asmMacro "\.endm"
" Assembler directives start with a '.' and may contain upper case (e.g.,
" .ABORT), numbers (e.g., .p2align), dash (e.g., .app-file) and underscore in
" CFI directives (e.g., .cfi_startproc). This will also match labels starting
" with '.', including the GCC auto-generated '.L' labels.
syn match asmDirective "\.[A-Za-z][0-9A-Za-z-_]*"
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
hi def link asmSection Special
hi def link asmLabel Label
hi def link asmComment Comment
hi def link asmTodo Todo
hi def link asmDirective Statement
hi def link asmInclude Include
hi def link asmCond PreCondit
hi def link asmMacro Macro
if exists('g:asm_legacy_syntax_groups')
hi def link hexNumber Number
hi def link decNumber Number
hi def link octNumber Number
hi def link binNumber Number
hi def link asmHexadecimal hexNumber
hi def link asmDecimal decNumber
hi def link asmOctal octNumber
hi def link asmBinary binNumber
else
hi def link asmHexadecimal Number
hi def link asmDecimal Number
hi def link asmOctal Number
hi def link asmBinary Number
endif
hi def link asmFloat Float
hi def link asmString String
hi def link asmStringEscape Special
hi def link asmCharacter Character
hi def link asmCharacterEscape Special
hi def link asmIdentifier Identifier
hi def link asmType Type
let b:current_syntax = "asm"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: nowrap sw=2 sts=2 ts=8 noet

View File

@@ -0,0 +1,378 @@
" Vim syntax file
" Language: Motorola 68000 Assembler
" Maintainer: Steve Wall
" Last change: 2001 May 01
"
" This is incomplete. In particular, support for 68020 and
" up and 68851/68881 co-processors is partial or non-existent.
" 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 asm68kReg a0 a1 a2 a3 a4 a5 a6 a7 d0 d1 d2 d3 d4 d5 d6 d7
syn keyword asm68kReg pc sr ccr sp usp ssp
" MC68010
syn keyword asm68kReg vbr sfc sfcr dfc dfcr
" MC68020
syn keyword asm68kReg msp isp zpc cacr caar
syn keyword asm68kReg za0 za1 za2 za3 za4 za5 za6 za7
syn keyword asm68kReg zd0 zd1 zd2 zd3 zd4 zd5 zd6 zd7
" MC68030
syn keyword asm68kReg crp srp tc ac0 ac1 acusr tt0 tt1 mmusr
" MC68040
syn keyword asm68kReg dtt0 dtt1 itt0 itt1 urp
" MC68851 registers
syn keyword asm68kReg cal val scc crp srp drp tc ac psr pcsr
syn keyword asm68kReg bac0 bac1 bac2 bac3 bac4 bac5 bac6 bac7
syn keyword asm68kReg bad0 bad1 bad2 bad3 bad4 bad5 bad6 bad7
" MC68881/82 registers
syn keyword asm68kReg fp0 fp1 fp2 fp3 fp4 fp5 fp6 fp7
syn keyword asm68kReg control status iaddr fpcr fpsr fpiar
" M68000 opcodes - order is important!
syn match asm68kOpcode "\<abcd\(\.b\)\=\s"
syn match asm68kOpcode "\<adda\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<addi\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<addq\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<addx\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<add\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<andi\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<and\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<as[lr]\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<b[vc][cs]\(\.[bwls]\)\=\s"
syn match asm68kOpcode "\<beq\(\.[bwls]\)\=\s"
syn match asm68kOpcode "\<bg[et]\(\.[bwls]\)\=\s"
syn match asm68kOpcode "\<b[hm]i\(\.[bwls]\)\=\s"
syn match asm68kOpcode "\<bl[est]\(\.[bwls]\)\=\s"
syn match asm68kOpcode "\<bne\(\.[bwls]\)\=\s"
syn match asm68kOpcode "\<bpl\(\.[bwls]\)\=\s"
syn match asm68kOpcode "\<bchg\(\.[bl]\)\=\s"
syn match asm68kOpcode "\<bclr\(\.[bl]\)\=\s"
syn match asm68kOpcode "\<bfchg\s"
syn match asm68kOpcode "\<bfclr\s"
syn match asm68kOpcode "\<bfexts\s"
syn match asm68kOpcode "\<bfextu\s"
syn match asm68kOpcode "\<bfffo\s"
syn match asm68kOpcode "\<bfins\s"
syn match asm68kOpcode "\<bfset\s"
syn match asm68kOpcode "\<bftst\s"
syn match asm68kOpcode "\<bkpt\s"
syn match asm68kOpcode "\<bra\(\.[bwls]\)\=\s"
syn match asm68kOpcode "\<bset\(\.[bl]\)\=\s"
syn match asm68kOpcode "\<bsr\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<btst\(\.[bl]\)\=\s"
syn match asm68kOpcode "\<callm\s"
syn match asm68kOpcode "\<cas2\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<cas\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<chk2\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<chk\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<clr\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<cmpa\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<cmpi\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<cmpm\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<cmp2\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<cmp\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<db[cv][cs]\(\.w\)\=\s"
syn match asm68kOpcode "\<dbeq\(\.w\)\=\s"
syn match asm68kOpcode "\<db[ft]\(\.w\)\=\s"
syn match asm68kOpcode "\<dbg[et]\(\.w\)\=\s"
syn match asm68kOpcode "\<db[hm]i\(\.w\)\=\s"
syn match asm68kOpcode "\<dbl[est]\(\.w\)\=\s"
syn match asm68kOpcode "\<dbne\(\.w\)\=\s"
syn match asm68kOpcode "\<dbpl\(\.w\)\=\s"
syn match asm68kOpcode "\<dbra\(\.w\)\=\s"
syn match asm68kOpcode "\<div[su]\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<div[su]l\(\.l\)\=\s"
syn match asm68kOpcode "\<eori\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<eor\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<exg\(\.l\)\=\s"
syn match asm68kOpcode "\<extb\(\.l\)\=\s"
syn match asm68kOpcode "\<ext\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<illegal\>"
syn match asm68kOpcode "\<jmp\(\.[ls]\)\=\s"
syn match asm68kOpcode "\<jsr\(\.[ls]\)\=\s"
syn match asm68kOpcode "\<lea\(\.l\)\=\s"
syn match asm68kOpcode "\<link\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<ls[lr]\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<movea\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<movec\(\.l\)\=\s"
syn match asm68kOpcode "\<movem\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<movep\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<moveq\(\.l\)\=\s"
syn match asm68kOpcode "\<moves\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<move\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<mul[su]\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<nbcd\(\.b\)\=\s"
syn match asm68kOpcode "\<negx\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<neg\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<nop\>"
syn match asm68kOpcode "\<not\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<ori\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<or\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<pack\s"
syn match asm68kOpcode "\<pea\(\.l\)\=\s"
syn match asm68kOpcode "\<reset\>"
syn match asm68kOpcode "\<ro[lr]\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<rox[lr]\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<rt[dm]\s"
syn match asm68kOpcode "\<rt[ers]\>"
syn match asm68kOpcode "\<sbcd\(\.b\)\=\s"
syn match asm68kOpcode "\<s[cv][cs]\(\.b\)\=\s"
syn match asm68kOpcode "\<seq\(\.b\)\=\s"
syn match asm68kOpcode "\<s[ft]\(\.b\)\=\s"
syn match asm68kOpcode "\<sg[et]\(\.b\)\=\s"
syn match asm68kOpcode "\<s[hm]i\(\.b\)\=\s"
syn match asm68kOpcode "\<sl[est]\(\.b\)\=\s"
syn match asm68kOpcode "\<sne\(\.b\)\=\s"
syn match asm68kOpcode "\<spl\(\.b\)\=\s"
syn match asm68kOpcode "\<suba\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<subi\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<subq\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<subx\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<sub\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<swap\(\.w\)\=\s"
syn match asm68kOpcode "\<tas\(\.b\)\=\s"
syn match asm68kOpcode "\<tdiv[su]\(\.l\)\=\s"
syn match asm68kOpcode "\<t\(rap\)\=[cv][cs]\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<t\(rap\)\=eq\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<t\(rap\)\=[ft]\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<t\(rap\)\=g[et]\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<t\(rap\)\=[hm]i\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<t\(rap\)\=l[est]\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<t\(rap\)\=ne\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<t\(rap\)\=pl\(\.[wl]\)\=\s"
syn match asm68kOpcode "\<t\(rap\)\=v\>"
syn match asm68kOpcode "\<t\(rap\)\=[cv][cs]\>"
syn match asm68kOpcode "\<t\(rap\)\=eq\>"
syn match asm68kOpcode "\<t\(rap\)\=[ft]\>"
syn match asm68kOpcode "\<t\(rap\)\=g[et]\>"
syn match asm68kOpcode "\<t\(rap\)\=[hm]i\>"
syn match asm68kOpcode "\<t\(rap\)\=l[est]\>"
syn match asm68kOpcode "\<t\(rap\)\=ne\>"
syn match asm68kOpcode "\<t\(rap\)\=pl\>"
syn match asm68kOpcode "\<trap\s"
syn match asm68kOpcode "\<tst\(\.[bwl]\)\=\s"
syn match asm68kOpcode "\<unlk\s"
syn match asm68kOpcode "\<unpk\s"
" Valid labels
syn match asm68kLabel "^[a-z_?.][a-z0-9_?.$]*$"
syn match asm68kLabel "^[a-z_?.][a-z0-9_?.$]*\s"he=e-1
syn match asm68kLabel "^\s*[a-z_?.][a-z0-9_?.$]*:"he=e-1
" Various number formats
syn match hexNumber "\$[0-9a-fA-F]\+\>"
syn match hexNumber "\<[0-9][0-9a-fA-F]*H\>"
syn match octNumber "@[0-7]\+\>"
syn match octNumber "\<[0-7]\+[QO]\>"
syn match binNumber "%[01]\+\>"
syn match binNumber "\<[01]\+B\>"
syn match decNumber "\<[0-9]\+D\=\>"
syn match floatE "_*E_*" contained
syn match floatExponent "_*E_*[-+]\=[0-9]\+" contained contains=floatE
syn match floatNumber "[-+]\=[0-9]\+_*E_*[-+]\=[0-9]\+" contains=floatExponent
syn match floatNumber "[-+]\=[0-9]\+\.[0-9]\+\(E[-+]\=[0-9]\+\)\=" contains=floatExponent
syn match floatNumber ":\([0-9a-f]\+_*\)\+"
" Character string constants
syn match asm68kStringError "'[ -~]*'"
syn match asm68kStringError "'[ -~]*$"
syn region asm68kString start="'" skip="''" end="'" oneline contains=asm68kCharError
syn match asm68kCharError "[^ -~]" contained
" Immediate data
syn match asm68kImmediate "#\$[0-9a-fA-F]\+" contains=hexNumber
syn match asm68kImmediate "#[0-9][0-9a-fA-F]*H" contains=hexNumber
syn match asm68kImmediate "#@[0-7]\+" contains=octNumber
syn match asm68kImmediate "#[0-7]\+[QO]" contains=octNumber
syn match asm68kImmediate "#%[01]\+" contains=binNumber
syn match asm68kImmediate "#[01]\+B" contains=binNumber
syn match asm68kImmediate "#[0-9]\+D\=" contains=decNumber
syn match asm68kSymbol "[a-z_?.][a-z0-9_?.$]*" contained
syn match asm68kImmediate "#[a-z_?.][a-z0-9_?.]*" contains=asm68kSymbol
" Special items for comments
syn keyword asm68kTodo contained TODO
" Operators
syn match asm68kOperator "[-+*/]" " Must occur before Comments
syn match asm68kOperator "\.SIZEOF\."
syn match asm68kOperator "\.STARTOF\."
syn match asm68kOperator "<<" " shift left
syn match asm68kOperator ">>" " shift right
syn match asm68kOperator "&" " bit-wise logical and
syn match asm68kOperator "!" " bit-wise logical or
syn match asm68kOperator "!!" " exclusive or
syn match asm68kOperator "<>" " inequality
syn match asm68kOperator "=" " must be before other ops containing '='
syn match asm68kOperator ">="
syn match asm68kOperator "<="
syn match asm68kOperator "==" " operand existence - used in macro definitions
" Condition code style operators
syn match asm68kOperator "<[CV][CS]>"
syn match asm68kOperator "<EQ>"
syn match asm68kOperator "<G[TE]>"
syn match asm68kOperator "<[HM]I>"
syn match asm68kOperator "<L[SET]>"
syn match asm68kOperator "<NE>"
syn match asm68kOperator "<PL>"
" Comments
syn match asm68kComment ";.*" contains=asm68kTodo
syn match asm68kComment "\s!.*"ms=s+1 contains=asm68kTodo
syn match asm68kComment "^\s*[*!].*" contains=asm68kTodo
" Include
syn match asm68kInclude "\<INCLUDE\s"
" Standard macros
syn match asm68kCond "\<IF\(\.[BWL]\)\=\s"
syn match asm68kCond "\<THEN\(\.[SL]\)\=\>"
syn match asm68kCond "\<ELSE\(\.[SL]\)\=\>"
syn match asm68kCond "\<ENDI\>"
syn match asm68kCond "\<BREAK\(\.[SL]\)\=\>"
syn match asm68kRepeat "\<FOR\(\.[BWL]\)\=\s"
syn match asm68kRepeat "\<DOWNTO\s"
syn match asm68kRepeat "\<TO\s"
syn match asm68kRepeat "\<BY\s"
syn match asm68kRepeat "\<DO\(\.[SL]\)\=\>"
syn match asm68kRepeat "\<ENDF\>"
syn match asm68kRepeat "\<NEXT\(\.[SL]\)\=\>"
syn match asm68kRepeat "\<REPEAT\>"
syn match asm68kRepeat "\<UNTIL\(\.[BWL]\)\=\s"
syn match asm68kRepeat "\<WHILE\(\.[BWL]\)\=\s"
syn match asm68kRepeat "\<ENDW\>"
" Macro definition
syn match asm68kMacro "\<MACRO\>"
syn match asm68kMacro "\<LOCAL\s"
syn match asm68kMacro "\<MEXIT\>"
syn match asm68kMacro "\<ENDM\>"
syn match asm68kMacroParam "\\[0-9]"
" Conditional assembly
syn match asm68kPreCond "\<IFC\s"
syn match asm68kPreCond "\<IFDEF\s"
syn match asm68kPreCond "\<IFEQ\s"
syn match asm68kPreCond "\<IFGE\s"
syn match asm68kPreCond "\<IFGT\s"
syn match asm68kPreCond "\<IFLE\s"
syn match asm68kPreCond "\<IFLT\s"
syn match asm68kPreCond "\<IFNC\>"
syn match asm68kPreCond "\<IFNDEF\s"
syn match asm68kPreCond "\<IFNE\s"
syn match asm68kPreCond "\<ELSEC\>"
syn match asm68kPreCond "\<ENDC\>"
" Loop control
syn match asm68kPreCond "\<REPT\s"
syn match asm68kPreCond "\<IRP\s"
syn match asm68kPreCond "\<IRPC\s"
syn match asm68kPreCond "\<ENDR\>"
" Directives
syn match asm68kDirective "\<ALIGN\s"
syn match asm68kDirective "\<CHIP\s"
syn match asm68kDirective "\<COMLINE\s"
syn match asm68kDirective "\<COMMON\(\.S\)\=\s"
syn match asm68kDirective "\<DC\(\.[BWLSDXP]\)\=\s"
syn match asm68kDirective "\<DC\.\\[0-9]\s"me=e-3 " Special use in a macro def
syn match asm68kDirective "\<DCB\(\.[BWLSDXP]\)\=\s"
syn match asm68kDirective "\<DS\(\.[BWLSDXP]\)\=\s"
syn match asm68kDirective "\<END\>"
syn match asm68kDirective "\<EQU\s"
syn match asm68kDirective "\<FEQU\(\.[SDXP]\)\=\s"
syn match asm68kDirective "\<FAIL\>"
syn match asm68kDirective "\<FOPT\s"
syn match asm68kDirective "\<\(NO\)\=FORMAT\>"
syn match asm68kDirective "\<IDNT\>"
syn match asm68kDirective "\<\(NO\)\=LIST\>"
syn match asm68kDirective "\<LLEN\s"
syn match asm68kDirective "\<MASK2\>"
syn match asm68kDirective "\<NAME\s"
syn match asm68kDirective "\<NOOBJ\>"
syn match asm68kDirective "\<OFFSET\s"
syn match asm68kDirective "\<OPT\>"
syn match asm68kDirective "\<ORG\(\.[SL]\)\=\>"
syn match asm68kDirective "\<\(NO\)\=PAGE\>"
syn match asm68kDirective "\<PLEN\s"
syn match asm68kDirective "\<REG\s"
syn match asm68kDirective "\<RESTORE\>"
syn match asm68kDirective "\<SAVE\>"
syn match asm68kDirective "\<SECT\(\.S\)\=\s"
syn match asm68kDirective "\<SECTION\(\.S\)\=\s"
syn match asm68kDirective "\<SET\s"
syn match asm68kDirective "\<SPC\s"
syn match asm68kDirective "\<TTL\s"
syn match asm68kDirective "\<XCOM\s"
syn match asm68kDirective "\<XDEF\s"
syn match asm68kDirective "\<XREF\(\.S\)\=\s"
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 asm68kComment Comment
hi def link asm68kTodo Todo
hi def link hexNumber Number " Constant
hi def link octNumber Number " Constant
hi def link binNumber Number " Constant
hi def link decNumber Number " Constant
hi def link floatNumber Number " Constant
hi def link floatExponent Number " Constant
hi def link floatE SpecialChar " Statement
"hi def link floatE Number " Constant
hi def link asm68kImmediate SpecialChar " Statement
"hi def link asm68kSymbol Constant
hi def link asm68kString String " Constant
hi def link asm68kCharError Error
hi def link asm68kStringError Error
hi def link asm68kReg Identifier
hi def link asm68kOperator Identifier
hi def link asm68kInclude Include " PreProc
hi def link asm68kMacro Macro " PreProc
hi def link asm68kMacroParam Keyword " Statement
hi def link asm68kDirective Special
hi def link asm68kPreCond Special
hi def link asm68kOpcode Statement
hi def link asm68kCond Conditional " Statement
hi def link asm68kRepeat Repeat " Statement
hi def link asm68kLabel Type
let b:current_syntax = "asm68k"
" vim: ts=8 sw=2

View File

@@ -0,0 +1,58 @@
" Vim syntax file
" Language: Hitachi H-8300h specific syntax for GNU Assembler
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Kevin Dahlhausen <kdahlhaus@yahoo.com>
" Last Change: 2020 Oct 31
if exists("b:current_syntax")
finish
endif
runtime! syntax/asm.vim
syn case ignore
syn match asmDirective "\.h8300[hs]n\="
"h8300[h] registers
syn match asmRegister "e\=r\o[lh]\="
"h8300[h] opcodes - order is important!
syn match asmOpcode "add\.[lbw]"
syn match asmOpcode "add[sx :]"
syn match asmOpcode "and\.[lbw]"
syn match asmOpcode "bl[deots]"
syn match asmOpcode "cmp\.[lbw]"
syn match asmOpcode "dec\.[lbw]"
syn match asmOpcode "divx[us].[bw]"
syn match asmOpcode "ext[su]\.[lw]"
syn match asmOpcode "inc\.[lw]"
syn match asmOpcode "mov\.[lbw]"
syn match asmOpcode "mulx[su]\.[bw]"
syn match asmOpcode "neg\.[lbw]"
syn match asmOpcode "not\.[lbw]"
syn match asmOpcode "or\.[lbw]"
syn match asmOpcode "pop\.[wl]"
syn match asmOpcode "push\.[wl]"
syn match asmOpcode "rotx\=[lr]\.[lbw]"
syn match asmOpcode "sha[lr]\.[lbw]"
syn match asmOpcode "shl[lr]\.[lbw]"
syn match asmOpcode "sub\.[lbw]"
syn match asmOpcode "xor\.[lbw]"
syn keyword asmOpcode andc band bcc bclr bcs beq bf bge bgt
syn keyword asmOpcode bhi bhs biand bild bior bist bixor bmi
syn keyword asmOpcode bne bnot bnp bor bpl bpt bra brn bset
syn keyword asmOpcode bsr btst bst bt bvc bvs bxor cmp daa
syn keyword asmOpcode das eepmov eepmovw inc jmp jsr ldc movfpe
syn keyword asmOpcode movtpe mov nop orc rte rts sleep stc
syn keyword asmOpcode sub trapa xorc
syn case match
hi def link asmOpcode Statement
hi def link asmRegister Identifier
let b:current_syntax = "asmh8300"
" vim: nowrap sw=2 sts=2 ts=8 noet

View File

@@ -0,0 +1,73 @@
" 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

View File

@@ -0,0 +1,25 @@
" Vim syntax file
" Language: Active State's PerlScript (ASP)
" Maintainer: Aaron Hope <edh@brioforge.com>
" URL: http://nim.dhs.org/~edh/aspperl.vim
" Last Change: 2001 May 09
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
if !exists("main_syntax")
let main_syntax = 'perlscript'
endif
runtime! syntax/html.vim
unlet b:current_syntax
syn include @AspPerlScript syntax/perl.vim
syn cluster htmlPreproc add=AspPerlScriptInsideHtmlTags
syn region AspPerlScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<%=\=+ skip=+".*%>.*"+ end=+%>+ contains=@AspPerlScript
syn region AspPerlScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<script\s\+language="\=perlscript"\=[^>]*>+ end=+</script>+ contains=@AspPerlScript
let b:current_syntax = "aspperl"

View File

@@ -0,0 +1,182 @@
" Vim syntax file
" Language: Microsoft VBScript Web Content (ASP)
" Maintainer: Devin Weaver <ktohg@tritarget.com> (non-functional)
" URL: http://tritarget.com/pub/vim/syntax/aspvbs.vim (broken)
" Last Change: 2006 Jun 19
" by Dan Casey
" Version: $Revision: 1.3 $
" Thanks to Jay-Jay <vim@jay-jay.net> for a syntax sync hack, hungarian
" notation, and extra highlighting.
" Thanks to patrick dehne <patrick@steidle.net> for the folding code.
" Thanks to Dean Hall <hall@apt7.com> for testing the use of classes in
" VBScripts which I've been too scared to do.
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
if !exists("main_syntax")
let main_syntax = 'aspvbs'
endif
runtime! syntax/html.vim
unlet b:current_syntax
syn cluster htmlPreProc add=AspVBScriptInsideHtmlTags
" Colored variable names, if written in hungarian notation
hi def AspVBSVariableSimple term=standout ctermfg=3 guifg=#99ee99
hi def AspVBSVariableComplex term=standout ctermfg=3 guifg=#ee9900
syn match AspVBSVariableSimple contained "\<\(bln\|byt\|dtm\=\|dbl\|int\|str\)\u\w*"
syn match AspVBSVariableComplex contained "\<\(arr\|ary\|obj\)\u\w*"
" Functions and methods that are in VB but will cause errors in an ASP page
" This is helpful if your porting VB code to ASP
" I removed (Count, Item) because these are common variable names in AspVBScript
syn keyword AspVBSError contained Val Str CVar CVDate DoEvents GoSub Return GoTo
syn keyword AspVBSError contained Stop LinkExecute Add Type LinkPoke
syn keyword AspVBSError contained LinkRequest LinkSend Declare Optional Sleep
syn keyword AspVBSError contained ParamArray Static Erl TypeOf Like LSet RSet Mid StrConv
" It may seem that most of these can fit into a keyword clause but keyword takes
" priority over all so I can't get the multi-word matches
syn match AspVBSError contained "\<Def[a-zA-Z0-9_]\+\>"
syn match AspVBSError contained "^\s*Open\s\+"
syn match AspVBSError contained "Debug\.[a-zA-Z0-9_]*"
syn match AspVBSError contained "^\s*[a-zA-Z0-9_]\+:"
syn match AspVBSError contained "[a-zA-Z0-9_]\+![a-zA-Z0-9_]\+"
syn match AspVBSError contained "^\s*#.*$"
syn match AspVBSError contained "\<As\s\+[a-zA-Z0-9_]*"
syn match AspVBSError contained "\<End\>\|\<Exit\>"
syn match AspVBSError contained "\<On\s\+Error\>\|\<On\>\|\<Error\>\|\<Resume\s\+Next\>\|\<Resume\>"
syn match AspVBSError contained "\<Option\s\+\(Base\|Compare\|Private\s\+Module\)\>"
" This one I want 'cause I always seem to mis-spell it.
syn match AspVBSError contained "Respon\?ce\.\S*"
syn match AspVBSError contained "Respose\.\S*"
" When I looked up the VBScript syntax it mentioned that Property Get/Set/Let
" statements are illegal, however, I have received reports that they do work.
" So I commented it out for now.
" syn match AspVBSError contained "\<Property\s\+\(Get\|Let\|Set\)\>"
" AspVBScript Reserved Words.
syn match AspVBSStatement contained "\<On\s\+Error\s\+\(Resume\s\+Next\|goto\s\+0\)\>\|\<Next\>"
syn match AspVBSStatement contained "\<End\s\+\(If\|For\|Select\|Class\|Function\|Sub\|With\|Property\)\>"
syn match AspVBSStatement contained "\<Exit\s\+\(Do\|For\|Sub\|Function\)\>"
syn match AspVBSStatement contained "\<Exit\s\+\(Do\|For\|Sub\|Function\|Property\)\>"
syn match AspVBSStatement contained "\<Option\s\+Explicit\>"
syn match AspVBSStatement contained "\<For\s\+Each\>\|\<For\>"
syn match AspVBSStatement contained "\<Set\>"
syn keyword AspVBSStatement contained Call Class Const Default Dim Do Loop Erase And
syn keyword AspVBSStatement contained Function If Then Else ElseIf Or
syn keyword AspVBSStatement contained Private Public Randomize ReDim
syn keyword AspVBSStatement contained Select Case Sub While With Wend Not
" AspVBScript Functions
syn keyword AspVBSFunction contained Abs Array Asc Atn CBool CByte CCur CDate CDbl
syn keyword AspVBSFunction contained Chr CInt CLng Cos CreateObject CSng CStr Date
syn keyword AspVBSFunction contained DateAdd DateDiff DatePart DateSerial DateValue
syn keyword AspVBSFunction contained Date Day Exp Filter Fix FormatCurrency
syn keyword AspVBSFunction contained FormatDateTime FormatNumber FormatPercent
syn keyword AspVBSFunction contained GetObject Hex Hour InputBox InStr InStrRev Int
syn keyword AspVBSFunction contained IsArray IsDate IsEmpty IsNull IsNumeric
syn keyword AspVBSFunction contained IsObject Join LBound LCase Left Len LoadPicture
syn keyword AspVBSFunction contained Log LTrim Mid Minute Month MonthName MsgBox Now
syn keyword AspVBSFunction contained Oct Replace RGB Right Rnd Round RTrim
syn keyword AspVBSFunction contained ScriptEngine ScriptEngineBuildVersion
syn keyword AspVBSFunction contained ScriptEngineMajorVersion
syn keyword AspVBSFunction contained ScriptEngineMinorVersion Second Sgn Sin Space
syn keyword AspVBSFunction contained Split Sqr StrComp StrReverse String Tan Time Timer
syn keyword AspVBSFunction contained TimeSerial TimeValue Trim TypeName UBound UCase
syn keyword AspVBSFunction contained VarType Weekday WeekdayName Year
" AspVBScript Methods
syn keyword AspVBSMethods contained Add AddFolders BuildPath Clear Close Copy
syn keyword AspVBSMethods contained CopyFile CopyFolder CreateFolder CreateTextFile
syn keyword AspVBSMethods contained Delete DeleteFile DeleteFolder DriveExists
syn keyword AspVBSMethods contained Exists FileExists FolderExists
syn keyword AspVBSMethods contained GetAbsolutePathName GetBaseName GetDrive
syn keyword AspVBSMethods contained GetDriveName GetExtensionName GetFile
syn keyword AspVBSMethods contained GetFileName GetFolder GetParentFolderName
syn keyword AspVBSMethods contained GetSpecialFolder GetTempName Items Keys Move
syn keyword AspVBSMethods contained MoveFile MoveFolder OpenAsTextStream
syn keyword AspVBSMethods contained OpenTextFile Raise Read ReadAll ReadLine Remove
syn keyword AspVBSMethods contained RemoveAll Skip SkipLine Write WriteBlankLines
syn keyword AspVBSMethods contained WriteLine
syn match AspVBSMethods contained "Response\.\w*"
" Colorize boolean constants:
syn keyword AspVBSMethods contained true false
" AspVBScript Number Constants
" Integer number, or floating point number without a dot.
syn match AspVBSNumber contained "\<\d\+\>"
" Floating point number, with dot
syn match AspVBSNumber contained "\<\d\+\.\d*\>"
" Floating point number, starting with a dot
syn match AspVBSNumber contained "\.\d\+\>"
" String and Character Constants
" removed (skip=+\\\\\|\\"+) because VB doesn't have backslash escaping in
" strings (or does it?)
syn region AspVBSString contained start=+"+ end=+"+ keepend
" AspVBScript Comments
syn region AspVBSComment contained start="^REM\s\|\sREM\s" end="$" contains=AspVBSTodo keepend
syn region AspVBSComment contained start="^'\|\s'" end="$" contains=AspVBSTodo keepend
" misc. Commenting Stuff
syn keyword AspVBSTodo contained TODO FIXME
" Cosmetic syntax errors commanly found in VB but not in AspVBScript
" AspVBScript doesn't use line numbers
syn region AspVBSError contained start="^\d" end="\s" keepend
" AspVBScript also doesn't have type defining variables
syn match AspVBSError contained "[a-zA-Z0-9_][\$&!#]"ms=s+1
" Since 'a%' is a VB variable with a type and in AspVBScript you can have 'a%>'
" I have to make a special case so 'a%>' won't show as an error.
syn match AspVBSError contained "[a-zA-Z0-9_]%\($\|[^>]\)"ms=s+1
" Top Cluster
syn cluster AspVBScriptTop contains=AspVBSStatement,AspVBSFunction,AspVBSMethods,AspVBSNumber,AspVBSString,AspVBSComment,AspVBSError,AspVBSVariableSimple,AspVBSVariableComplex
" Folding
syn region AspVBSFold start="^\s*\(class\)\s\+.*$" end="^\s*end\s\+\(class\)\>.*$" fold contained transparent keepend
syn region AspVBSFold start="^\s*\(private\|public\)\=\(\s\+default\)\=\s\+\(sub\|function\)\s\+.*$" end="^\s*end\s\+\(function\|sub\)\>.*$" fold contained transparent keepend
" Define AspVBScript delimiters
" <%= func("string_with_%>_in_it") %> This is illegal in ASP syntax.
syn region AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<%=\=+ end=+%>+ contains=@AspVBScriptTop, AspVBSFold
syn region AspVBScriptInsideHtmlTags keepend matchgroup=Delimiter start=+<script\s\+language="\=vbscript"\=[^>]*\s\+runatserver[^>]*>+ end=+</script>+ contains=@AspVBScriptTop
" Synchronization
" syn sync match AspVBSSyncGroup grouphere AspVBScriptInsideHtmlTags "<%"
" This is a kludge so the HTML will sync properly
syn sync match htmlHighlight grouphere htmlTag "%>"
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
"hi def link AspVBScript Special
hi def link AspVBSLineNumber Comment
hi def link AspVBSNumber Number
hi def link AspVBSError Error
hi def link AspVBSStatement Statement
hi def link AspVBSString String
hi def link AspVBSComment Comment
hi def link AspVBSTodo Todo
hi def link AspVBSFunction Identifier
hi def link AspVBSMethods PreProc
hi def link AspVBSEvents Special
hi def link AspVBSTypeSpecifier Type
let b:current_syntax = "aspvbs"
if main_syntax == 'aspvbs'
unlet main_syntax
endif
" vim: ts=8:sw=2:sts=0:noet

View File

@@ -0,0 +1,88 @@
" Vim syntax file
" Language: Asterisk config file
" Maintainer: Jean Aunis <jean.aunis@yahoo.fr>
" Previous Maintainer: brc007
" Updated for 1.2 by Tilghman Lesher (Corydon76)
" Last Change: 2015 Feb 27
" version 0.4
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn sync clear
syn sync fromstart
syn keyword asteriskTodo TODO contained
syn match asteriskComment ";.*" contains=asteriskTodo
syn match asteriskContext "\[.\{-}\]"
syn match asteriskExten "^\s*\zsexten\s*=>\?\s*[^,]\+\ze," contains=asteriskPattern nextgroup=asteriskPriority
syn match asteriskExten "^\s*\zssame\s*=>\?\s*\ze" nextgroup=asteriskPriority
syn match asteriskExten "^\s*\(register\|channel\|ignorepat\|include\|l\?e\?switch\|\(no\)\?load\)\s*=>\?"
syn match asteriskPattern "_\(\[[[:alnum:]#*\-]\+\]\|[[:alnum:]#*]\)*\.\?" contained
syn match asteriskPattern "[^A-Za-z0-9,]\zs[[:alnum:]#*]\+\ze" contained
syn match asteriskApp ",\zs[a-zA-Z]\+\ze$"
syn match asteriskApp ",\zs[a-zA-Z]\+\ze("
" Digits plus oldlabel (newlabel)
syn match asteriskPriority "\zs[[:digit:]]\+\(+[[:alpha:]][[:alnum:]_]*\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
" oldlabel plus digits (newlabel)
syn match asteriskPriority "\zs[[:alpha:]][[:alnum:]_]*+[[:digit:]]\+\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
" s or n plus digits (newlabel)
syn match asteriskPriority "\zs[sn]\(+[[:digit:]]\+\)\?\(([[:alpha:]][[:alnum:]_]*)\)\?\ze," contains=asteriskLabel
syn match asteriskLabel "(\zs[[:alpha:]][[:alnum:]]*\ze)" contained
syn match asteriskError "^\s*#\s*[[:alnum:]]*"
syn match asteriskInclude "^\s*#\s*\(include\|exec\)\s.*"
syn match asteriskVar "\${_\{0,2}[[:alpha:]][[:alnum:]_]*\(:-\?[[:digit:]]\+\(:[[:digit:]]\+\)\?\)\?}"
syn match asteriskVar "_\{0,2}[[:alpha:]][[:alnum:]_]*\ze="
syn match asteriskVarLen "\${_\{0,2}[[:alpha:]][[:alnum:]_]*(.*)}" contains=asteriskVar,asteriskVarLen,asteriskExp
syn match asteriskVarLen "(\zs[[:alpha:]][[:alnum:]_]*(.\{-})\ze=" contains=asteriskVar,asteriskVarLen,asteriskExp
syn match asteriskExp "\$\[.\{-}\]" contains=asteriskVar,asteriskVarLen,asteriskExp
syn match asteriskCodecsPermit "^\s*\(allow\|disallow\)\s*=\s*.*$" contains=asteriskCodecs
syn match asteriskCodecs "\(vp9\|vp8\|h264\|h263p\|h263\|h261\|jpeg\|opus\|g722\|g723\|gsm\|ulaw\|alaw\|g719\|g726\|g726aal2\|siren7\|siren14\|adpcm\|slin\|lpc10\|g729\|speex\|ilbc\|wav\|all\s*$\)"
syn match asteriskError "^\(type\|auth\|permit\|deny\|bindaddr\|host\)\s*=.*$"
syn match asteriskType "^\zstype=\ze\<\(peer\|user\|friend\)\>$" contains=asteriskTypeType
syn match asteriskTypeType "\<\(peer\|user\|friend\)\>" contained
syn match asteriskAuth "^\zsauth\s*=\ze\s*\<\(md5\|rsa\|plaintext\)\>$" contains=asteriskAuthType
syn match asteriskAuthType "\<\(md5\|rsa\|plaintext\)\>"
syn match asteriskAuth "^\zs\(secret\|inkeys\|outkey\)\s*=\ze.*$"
syn match asteriskAuth "^\(permit\|deny\)\s*=\s*\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\s*$" contains=asteriskIPRange
syn match asteriskIPRange "\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}" contained
syn match asteriskIP "\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}" contained
syn match asteriskHostname "[[:alnum:]][[:alnum:]\-\.]*\.[[:alpha:]]{2,10}" contained
syn match asteriskPort "\d\{1,5}" contained
syn match asteriskSetting "^bindaddr\s*=\s*\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}$" contains=asteriskIP
syn match asteriskSetting "^port\s*=\s*\d\{1,5}\s*$" contains=asteriskPort
syn match asteriskSetting "^host\s*=\s*\(dynamic\|\(\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}\)\|\([[:alnum:]][[:alnum:]\-\.]*\.[[:alpha:]]{2,10}\)\)" contains=asteriskIP,asteriskHostname
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link asteriskComment Comment
hi def link asteriskExten String
hi def link asteriskContext Preproc
hi def link asteriskPattern Type
hi def link asteriskApp Statement
hi def link asteriskInclude Preproc
hi def link asteriskIncludeBad Error
hi def link asteriskPriority Preproc
hi def link asteriskLabel Type
hi def link asteriskVar String
hi def link asteriskVarLen Function
hi def link asteriskExp Type
hi def link asteriskCodecsPermit Preproc
hi def link asteriskCodecs String
hi def link asteriskType Statement
hi def link asteriskTypeType Type
hi def link asteriskAuth String
hi def link asteriskAuthType Type
hi def link asteriskIPRange Identifier
hi def link asteriskIP Identifier
hi def link asteriskPort Identifier
hi def link asteriskHostname Identifier
hi def link asteriskSetting Statement
hi def link asteriskError Error
let b:current_syntax = "asterisk"
" vim: ts=8 sw=2

View File

@@ -0,0 +1,51 @@
" Vim syntax file
" Language: Asterisk voicemail config file
" Maintainer: Tilghman Lesher (Corydon76)
" Last Change: 2006 Mar 21
" version 0.2
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn sync clear
syn sync fromstart
syn keyword asteriskvmTodo TODO contained
syn match asteriskvmComment ";.*" contains=asteriskvmTodo
syn match asteriskvmContext "\[.\{-}\]"
" ZoneMessages
syn match asteriskvmZone "^[[:alnum:]]\+\s*=>\?\s*[[:alnum:]/_]\+|.*$" contains=zoneName,zoneDef
syn match zoneName "=\zs[[:alnum:]/_]\+\ze" contained
syn match zoneDef "|\zs.*\ze$" contained
syn match asteriskvmSetting "\<\(format\|serveremail\|minmessage\|maxmessage\|maxgreet\|skipms\|maxsilence\|silencethreshold\|maxlogins\)="
syn match asteriskvmSetting "\<\(externnotify\|externpass\|directoryintro\|charset\|adsi\(fdn\|sec\|ver\)\|\(pager\)\?fromstring\|email\(subject\|body\|cmd\)\|tz\|cidinternalcontexts\|saydurationm\|dialout\|callback\)="
syn match asteriskvmSettingBool "\<\(attach\|pbxskip\|usedirectory\|saycid\|sayduration\|sendvoicemail\|review\|operator\|envelope\|delete\|nextaftercmd\|forcename\|forcegreeting\)=\(yes\|no\|1\|0\|true\|false\|t\|f\)"
" Individual mailbox definitions
syn match asteriskvmMailbox "^[[:digit:]]\+\s*=>\?\s*[[:digit:]]\+\(,[^,]*\(,[^,]*\(,[^,]*\(,[^,]*\)\?\)\?\)\?\)\?" contains=mailboxEmail,asteriskvmSetting,asteriskvmSettingBool,comma
syn match mailboxEmail ",\zs[^@=,]*@[[:alnum:]\-\.]\+\.[[:alpha:]]\{2,10}\ze" contains=comma
syn match comma "[,|]" contained
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link asteriskvmComment Comment
hi def link asteriskvmContext Identifier
hi def link asteriskvmZone Type
hi def link zoneName String
hi def link zoneDef String
hi def link asteriskvmSetting Type
hi def link asteriskvmSettingBool Type
hi def link asteriskvmMailbox Statement
hi def link mailboxEmail String
let b:current_syntax = "asteriskvm"
" vim: ts=8 sw=2

View File

@@ -0,0 +1,190 @@
" Vim syntax file.
" Language: Astro
" Author: Wuelner Martínez <wuelner.martinez@outlook.com>
" Maintainer: Wuelner Martínez <wuelner.martinez@outlook.com>
" URL: https://github.com/wuelnerdotexe/vim-astro
" Last Change: 2022 Aug 22
" Based On: Evan Lecklider's vim-svelte
" Changes: See https://github.com/evanleck/vim-svelte
" Credits: See vim-svelte on github
" Quit when a (custom) syntax file was already loaded.
if !exists('main_syntax')
if exists('b:current_syntax')
finish
endif
let main_syntax = 'astro'
elseif exists('b:current_syntax') && b:current_syntax == 'astro'
finish
endif
" Astro syntax variables are initialized.
let g:astro_typescript = get(g:, 'astro_typescript', 'disable')
let g:astro_stylus = get(g:, 'astro_stylus', 'disable')
let s:cpoptions_save = &cpoptions
set cpoptions&vim
" Embedded HTML syntax.
runtime! syntax/html.vim
" htmlTagName: expand HTML tag names to include mixed case and periods.
syntax match htmlTagName contained "\<[a-zA-Z\.]*\>"
" astroDirectives: add Astro Directives to HTML arguments.
syntax match astroDirectives contained '\<[a-z]\+:[a-z|]*\>' containedin=htmlTag
unlet b:current_syntax
if g:astro_typescript == 'enable'
" Embedded TypeScript syntax.
syntax include @astroJavaScript syntax/typescript.vim
" javaScriptExpression: a javascript expression is used as an arg value.
syntax clear javaScriptExpression
syntax region javaScriptExpression
\ contained start=+&{+
\ keepend end=+};+
\ contains=@astroJavaScript,@htmlPreproc
" javaScript: add TypeScript support to HTML script tag.
syntax clear javaScript
syntax region javaScript
\ start=+<script\_[^>]*>+
\ keepend
\ end=+</script\_[^>]*>+me=s-1
\ contains=htmlScriptTag,@astroJavaScript,@htmlPreproc,htmlCssStyleComment
else
" Embedded JavaScript syntax.
syntax include @astroJavaScript syntax/javascript.vim
endif
" astroFence: detect the Astro fence.
syntax match astroFence contained +^---$+
" astrojavaScript: add TypeScript support to Astro code fence.
syntax region astroJavaScript
\ start=+^---$+
\ keepend
\ end=+^---$+
\ contains=htmlTag,@astroJavaScript,@htmlPreproc,htmlCssStyleComment,htmlEndTag,astroFence
\ fold
unlet b:current_syntax
if g:astro_typescript == 'enable'
" Embedded TypeScript React (TSX) syntax.
syntax include @astroJavaScriptReact syntax/typescriptreact.vim
else
" Embedded JavaScript React (JSX) syntax.
syntax include @astroJavaScriptReact syntax/javascriptreact.vim
endif
" astroJavaScriptExpression: add {JSX or TSX} support to Astro expresions.
execute 'syntax region astroJavaScriptExpression start=+{+ keepend end=+}+ ' .
\ 'contains=@astroJavaScriptReact, @htmlPreproc containedin=' . join([
\ 'htmlArg', 'htmlBold', 'htmlBoldItalic', 'htmlBoldItalicUnderline',
\ 'htmlBoldUnderline', 'htmlBoldUnderlineItalic', 'htmlH1', 'htmlH2',
\ 'htmlH3', 'htmlH4', 'htmlH5', 'htmlH6', 'htmlHead', 'htmlItalic',
\ 'htmlItalicBold', 'htmlItalicBoldUnderline', 'htmlItalicUnderline',
\ 'htmlItalicUnderlineBold', 'htmlLeadingSpace', 'htmlLink',
\ 'htmlStrike', 'htmlString', 'htmlTag', 'htmlTitle', 'htmlUnderline',
\ 'htmlUnderlineBold', 'htmlUnderlineBoldItalic',
\ 'htmlUnderlineItalic', 'htmlUnderlineItalicBold', 'htmlValue'
\ ], ',')
" cssStyle: add CSS style tags support in TypeScript React.
syntax region cssStyle
\ start=+<style\_[^>]*>+
\ keepend
\ end=+</style\_[^>]*>+me=s-1
\ contains=htmlTag,@htmlCss,htmlCssStyleComment,@htmlPreproc,htmlEndTag
\ containedin=@astroJavaScriptReact
unlet b:current_syntax
" Embedded SCSS syntax.
syntax include @astroScss syntax/scss.vim
" cssStyle: add SCSS style tags support in Astro.
syntax region scssStyle
\ start=/<style\>\_[^>]*\(lang\)=\("\|''\)[^\2]*scss[^\2]*\2\_[^>]*>/
\ keepend
\ end=+</style>+me=s-1
\ contains=@astroScss,astroSurroundingTag
\ fold
unlet b:current_syntax
" Embedded SASS syntax.
syntax include @astroSass syntax/sass.vim
" cssStyle: add SASS style tags support in Astro.
syntax region sassStyle
\ start=/<style\>\_[^>]*\(lang\)=\("\|''\)[^\2]*sass[^\2]*\2\_[^>]*>/
\ keepend
\ end=+</style>+me=s-1
\ contains=@astroSass,astroSurroundingTag
\ fold
unlet b:current_syntax
" Embedded LESS syntax.
syntax include @astroLess syntax/less.vim
" cssStyle: add LESS style tags support in Astro.
syntax region lessStyle
\ start=/<style\>\_[^>]*\(lang\)=\("\|''\)[^\2]*less[^\2]*\2\_[^>]*>/
\ keepend
\ end=+</style>+me=s-1
\ contains=@astroLess,astroSurroundingTag
\ fold
unlet b:current_syntax
" Embedded Stylus syntax.
" NOTE: Vim does not provide stylus support by default, but you can install
" this plugin to support it: https://github.com/wavded/vim-stylus
if g:astro_stylus == 'enable'
try
" Embedded Stylus syntax.
syntax include @astroStylus syntax/stylus.vim
" stylusStyle: add Stylus style tags support in Astro.
syntax region stylusStyle
\ start=/<style\>\_[^>]*\(lang\)=\("\|''\)[^\2]*stylus[^\2]*\2\_[^>]*>/
\ keepend
\ end=+</style>+me=s-1
\ contains=@astroStylus,astroSurroundingTag
\ fold
unlet b:current_syntax
catch
echomsg "you need install a external plugin for support stylus in .astro files"
endtry
endif
" astroSurroundingTag: add surround HTML tag to script and style.
syntax region astroSurroundingTag
\ start=+<\(script\|style\)+
\ end=+>+
\ contains=htmlTagError,htmlTagN,htmlArg,htmlValue,htmlEvent,htmlString
\ contained
\ fold
" Define the default highlighting.
" Only used when an item doesn't have highlighting yet.
highlight default link astroDirectives Special
highlight default link astroFence Comment
let b:current_syntax = 'astro'
if main_syntax == 'astro'
unlet main_syntax
endif
" Sync from start because of the wacky nesting.
syntax sync fromstart
let &cpoptions = s:cpoptions_save
unlet s:cpoptions_save
" vim: ts=8

View File

@@ -0,0 +1,243 @@
" Vim syntax file
" Language: Asymptote
" Maintainer: Avid Seeker <avidseeker7@protonmail.com>
" Andy Hammerlindl
" Last Change: 2022 Jan 05
" Hacked together from Bram Moolenaar's C syntax file, and Claudio Fleiner's
" Java syntax file.
if exists("b:current_syntax")
finish
endif
" useful C/C++/Java keywords
syn keyword asyStatement break return continue unravel
syn keyword asyConditional if else
syn keyword asyRepeat while for do
syn keyword asyExternal access from import include
syn keyword asyOperator new operator
" basic asymptote keywords
syn keyword asyConstant VERSION
syn keyword asyConstant true false default infinity inf nan
syn keyword asyConstant null nullframe nullpath nullpen
syn keyword asyConstant intMin intMax realMin realMax
syn keyword asyConstant realEpsilon realDigits
syn keyword asyPathSpec and cycle controls tension atleast curl
syn keyword asyStorageClass static public restricted private explicit
syn keyword asyStructure struct typedef
syn keyword asyType void bool bool3 int real string file
syn keyword asyType pair triple transform guide path pen frame
syn keyword asyType picture
" module specific keywords
if exists("asy_syn_plain")
syn keyword asyConstant currentpicture currentpen defaultpen
syn keyword asyConstant inch inches cm mm bp pt up down right left
syn keyword asyConstant E NE N NW W SW S SE
syn keyword asyConstant ENE NNE NNW WNW WSW SSW SSE ESE
syn keyword asyConstant I pi twopi
syn keyword asyConstant CCW CW
syn keyword asyConstant undefined sqrtEpsilon Align mantissaBits
syn keyword asyConstant identity zeroTransform invert
syn keyword asyConstant stdin stdout
syn keyword asyConstant unitsquare unitcircle circleprecision
syn keyword asyConstant solid dotted Dotted dashed dashdotted
syn keyword asyConstant longdashed longdashdotted
syn keyword asyConstant squarecap roundcap extendcap
syn keyword asyConstant miterjoin roundjoin beveljoin
syn keyword asyConstant zerowinding evenodd basealign nobasealign
syn keyword asyConstant black white gray red green blue Cyan Magenta
syn keyword asyConstant Yellow Black cyan magenta yellow palered
syn keyword asyConstant palegreen paleblue palecyan palemagenta
syn keyword asyConstant paleyellow palegray lightred lightgreen
syn keyword asyConstant lightblue lightcyan lightmagenta lightyellow
syn keyword asyConstant lightgray mediumred mediumgreen mediumblue
syn keyword asyConstant mediumcyan mediummagenta mediumyellow
syn keyword asyConstant mediumgray heavyred heavygreen heavyblue
syn keyword asyConstant heavycyan heavymagenta lightolive heavygray
syn keyword asyConstant deepred deepgreen deepblue deepcyan
syn keyword asyConstant deepmagenta deepyellow deepgray darkred
syn keyword asyConstant darkgreen darkblue darkcyan darkmagenta
syn keyword asyConstant darkolive darkgray orange fuchsia chartreuse
syn keyword asyConstant springgreen purple royalblue salmon brown
syn keyword asyConstant olive darkbrown pink palegrey lightgrey
syn keyword asyConstant mediumgrey grey heavygrey deepgrey darkgrey
if exists("asy_syn_texcolors")
syn keyword asyConstant GreenYellow Yellow Goldenrod Dandelion
syn keyword asyConstant Apricot Peach Melon YellowOrange Orange
syn keyword asyConstant BurntOrange Bittersweet RedOrange Mahogany
syn keyword asyConstant Maroon BrickRed Red OrangeRed RubineRed
syn keyword asyConstant WildStrawberry Salmon CarnationPink Magenta
syn keyword asyConstant VioletRed Rhodamine Mulberry RedViolet
syn keyword asyConstant Fuchsia Lavender Thistle Orchid DarkOrchid
syn keyword asyConstant Purple Plum Violet RoyalPurple BlueViolet
syn keyword asyConstant Periwinkle CadetBlue CornflowerBlue
syn keyword asyConstant MidnightBlue NavyBlue RoyalBlue Blue
syn keyword asyConstant Cerulean Cyan ProcessBlue SkyBlue Turquoise
syn keyword asyConstant TealBlue Aquamarine BlueGreen Emerald
syn keyword asyConstant JungleGreen SeaGreen Green ForestGreen
syn keyword asyConstant PineGreen LimeGreen YellowGreen SpringGreen
syn keyword asyConstant OliveGreen RawSienna Sepia Brown Tan Gray
syn keyword asyConstant Black White
endif
if exists("asy_syn_x11colors")
syn keyword asyConstant AliceBlue AntiqueWhite Aqua Aquamarine Azure
syn keyword asyConstant Beige Bisque Black BlanchedAlmond Blue
syn keyword asyConstant BlueViolet Brown BurlyWood CadetBlue
syn keyword asyConstant Chartreuse Chocolate Coral CornflowerBlue
syn keyword asyConstant Cornsilk Crimson Cyan DarkBlue DarkCyan
syn keyword asyConstant DarkGoldenrod DarkGray DarkGreen DarkKhaki
syn keyword asyConstant DarkMagenta DarkOliveGreen DarkOrange
syn keyword asyConstant DarkOrchid DarkRed DarkSalmon DarkSeaGreen
syn keyword asyConstant DarkSlateBlue DarkSlateGray DarkTurquoise
syn keyword asyConstant DarkViolet DeepPink DeepSkyBlue DimGray
syn keyword asyConstant DodgerBlue FireBrick FloralWhite ForestGreen
syn keyword asyConstant Fuchsia Gainsboro GhostWhite Gold Goldenrod
syn keyword asyConstant Gray Green GreenYellow Honeydew HotPink
syn keyword asyConstant IndianRed Indigo Ivory Khaki Lavender
syn keyword asyConstant LavenderBlush LawnGreen LemonChiffon
syn keyword asyConstant LightBlue LightCoral LightCyan
syn keyword asyConstant LightGoldenrodYellow LightGreen LightGrey
syn keyword asyConstant LightPink LightSalmon LightSeaGreen
syn keyword asyConstant LightSkyBlue LightSlateGray LightSteelBlue
syn keyword asyConstant LightYellow Lime LimeGreen Linen Magenta
syn keyword asyConstant Maroon MediumAquamarine MediumBlue
syn keyword asyConstant MediumOrchid MediumPurple MediumSeaGreen
syn keyword asyConstant MediumSlateBlue MediumSpringGreen
syn keyword asyConstant MediumTurquoise MediumVioletRed MidnightBlue
syn keyword asyConstant MintCream MistyRose Moccasin NavajoWhite
syn keyword asyConstant Navy OldLace Olive OliveDrab Orange
syn keyword asyConstant OrangeRed Orchid PaleGoldenrod PaleGreen
syn keyword asyConstant PaleTurquoise PaleVioletRed PapayaWhip
syn keyword asyConstant PeachPuff Peru Pink Plum PowderBlue Purple
syn keyword asyConstant Red RosyBrown RoyalBlue SaddleBrown Salmon
syn keyword asyConstant SandyBrown SeaGreen Seashell Sienna Silver
syn keyword asyConstant SkyBlue SlateBlue SlateGray Snow SpringGreen
syn keyword asyConstant SteelBlue Tan Teal Thistle Tomato Turquoise
syn keyword asyConstant Violet Wheat White WhiteSmoke Yellow
syn keyword asyConstant YellowGreen
endif
if exists("asy_syn_three")
syn keyword asyType path3 guide3 transform3
syn keyword asyType projection light material patch surface tube
syn keyword asyConstant currentprojection currentlight defaultrender
syn keyword asyConstant identity4 O X Y Z
syn keyword asyConstant nolight nullpens
syn keyword asyConstant unitsphere unithemisphere unitplane octant1
syn keyword asyConstant unitcone unitsolidcone unitcube unitcylinder
syn keyword asyConstant unitdisk unittube
endif
endif
" string constants
syn region asyCString start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=asyCSpecial
syn match asyCSpecial display contained +\\\(['"?\\abfnrtv]\|\o\{1,3}\)+
syn match asyCSpecial display contained +\\\(x[0-9A-F]\{1,2\}\|$\)+
" double quoted strings only special character is \"
syn region asyString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=asySpecial
syn match asySpecial display contained +\(\\\)\@1<!\(\\\\\)*\zs\\"+
" number constants
syn match asyNumbers display transparent "\<\d\|\.\d"
\ contains=asyNumber,asyNumberError
syn match asyNumber display contained "\d*\.\=\d*\(e[-+]\=\d\+\)\="
" highlight number constants with two '.' or with '.' after an 'e'
syn match asyNumberError display contained "\d*\.\(\d\|e[-+]\=\)*\.[0-9.]*"
syn match asyNumberError display contained "\d*e[-+]\=\d*\.[0-9.]*"
syn match asyNumberError display contained "\d*e[-+]\=\(e[-+]\=\)*\.[0-9.]*"
" comments and comment strings
syn keyword asyTodo contained TODO FIXME XXX
syn sync ccomment asyComment minlines=15
if exists("asy_comment_strings")
" A comment can contain asyString, asyCString, and asyNumber. But a "*/"
" inside a asy*String in a asyComment DOES end the comment! So we need to
" use a special type of asy*String: asyComment*String, which also ends on
" "*/", and sees a "*" at the start of the line as comment again.
" Unfortunately this doesn't very well work for // type of comments :-(
syn match asyCommentSkip contained "^\s*\*\($\|\s\+\)"
syn region asyCommentString contained start=+"+ skip=+\\\\\|\\"+ end=+"+
\ end=+\*/+me=s-1
\ contains=asySpecial,asyCommentSkip
syn region asyCommentCString contained start=+'+ skip=+\\\\\|\\'+ end=+'+
\ end=+\*/+me=s-1
\ contains=asyCSpecial,asyCommentSkip
syn region asyCommentLString contained start=+"+ skip=+\\\\\|\\"+ end=+"+
\ end="$" contains=asySpecial
syn region asyCommentLCString contained start=+'+ skip=+\\\\\|\\'+ end=+'+
\ end="$" contains=asyCSpecial
syn region asyCommentL start="//" skip="\\$" end="$" keepend
\ contains=asyTodo,asyCommentLString,
\ asyCommentLCString,asyNumbers
syn region asyComment matchgroup=asyComment start="/\*" end="\*/"
\ contains=asyTodo,asyCommentStartError,
\ asyCommentString,asyCommentCString,asyNumbers
else
syn region asyCommentL start="//" skip="\\$" end="$" keepend
\ contains=asyTodo
syn region asyComment matchgroup=asyComment start="/\*" end="\*/"
\ contains=asyTodo,asyCommentStartError
endif
" highlight common errors when starting/ending C comments
syn match asyCommentError display "\*/"
syn match asyCommentStartError display "/\*"me=e-1 contained
" delimiter matching errors
syn region asyCurly transparent start='{' end='}'
\ contains=TOP,asyCurlyError
syn region asyBrack transparent start='\[' end='\]' matchgroup=asyError
\ end=';' contains=TOP,asyBrackError
syn region asyParen transparent start='(' end=')' matchgroup=asyError
\ end=';' contains=TOP,asyParenError
syn match asyCurlyError display '}'
syn match asyBrackError display '\]'
syn match asyParenError display ')'
" for (;;) constructs are exceptions that allow ; inside parenthesis
syn region asyParen transparent matchgroup=asyParen
\ start='\(for\s*\)\@<=(' end=')'
\ contains=TOP,asyParenError
" Define the default highlighting.
hi def link asyCommentL asyComment
hi def link asyConditional Conditional
hi def link asyRepeat Repeat
hi def link asyNumber Number
hi def link asyNumberError asyError
hi def link asyCurlyError asyError
hi def link asyBracketError asyError
hi def link asyParenError asyError
hi def link asyCommentError asyError
hi def link asyCommentStartError asyError
hi def link asyOperator Operator
hi def link asyStructure Structure
hi def link asyStorageClass StorageClass
hi def link asyExternal Include
hi def link asyDefine Macro
hi def link asyError Error
hi def link asyStatement Statement
hi def link asyType Type
hi def link asyConstant Constant
hi def link asyCommentString asyString
hi def link asyCommentCString asyString
hi def link asyCommentLString asyString
hi def link asyCommentLCString asyString
hi def link asyCommentSkip asyComment
hi def link asyString String
hi def link asyCString String
hi def link asyComment Comment
hi def link asySpecial SpecialChar
hi def link asyCSpecial SpecialChar
hi def link asyTodo Todo
hi def link asyPathSpec Statement
let b:current_syntax = "asy"

View File

@@ -0,0 +1,85 @@
" 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

View File

@@ -0,0 +1,101 @@
" Vim syntax file
" Language: Autodoc
" Maintainer: Stephen R. van den Berg <srb@cuci.nl>
" Last Change: 2018 Jan 23
" Version: 2.9
" Remark: Included by pike.vim, cmod.vim and optionally c.vim
" Remark: In order to make c.vim use it, set: c_autodoc
" 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 case match
" A bunch of useful autodoc keywords
syn keyword autodocStatement contained appears belongs global
syn keyword autodocStatement contained decl directive inherit
syn keyword autodocStatement contained deprecated obsolete bugs
syn keyword autodocStatement contained copyright example fixme note param returns
syn keyword autodocStatement contained seealso thanks throws constant
syn keyword autodocStatement contained member index elem
syn keyword autodocStatement contained value type item
syn keyword autodocRegion contained enum mapping code multiset array
syn keyword autodocRegion contained int string section mixed ol ul dl
syn keyword autodocRegion contained class module namespace
syn keyword autodocRegion contained endenum endmapping endcode endmultiset
syn keyword autodocRegion contained endarray endint endstring endsection
syn keyword autodocRegion contained endmixed endol endul enddl
syn keyword autodocRegion contained endclass endmodule endnamespace
syn keyword autodocIgnore contained ignore endignore
syn keyword autodocStatAcc contained b i u tt url pre sub sup
syn keyword autodocStatAcc contained ref rfc xml dl expr image
syn keyword autodocTodo contained TODO FIXME XXX
syn match autodocLineStart display "\(//\|/\?\*\)\@2<=!"
syn match autodocWords "[^!@{}[\]]\+" display contains=@Spell
syn match autodocLink "@\[[^[\]]\+]"hs=s+2,he=e-1 display contains=autodocLead
syn match autodocAtStmt "@[a-z]\+\%(\s\|$\)\@="hs=s+1 display contains=autodocStatement,autodocIgnore,autodocLead,autodocRegion
" Due to limitations of the matching algorithm, we cannot highlight
" nested autodocNStmtAcc structures correctly
syn region autodocNStmtAcc start="@[a-z]\+{" end="@}" contains=autodocStatAcc,autodocLead keepend
syn match autodocUrl contained display ".\+"
syn region autodocAtUrlAcc start="{"ms=s+1 end="@}"he=e-1,me=e-2 contained display contains=autodocUrl,autodocLead keepend
syn region autodocNUrlAcc start="@url{" end="@}" contains=autodocStatAcc,autodocAtUrlAcc,autodocLead transparent
syn match autodocSpecial "@@" display
syn match autodocLead "@" display contained
"when wanted, highlight trailing white space
if exists("c_space_errors")
if !exists("c_no_trail_space_error")
syn match autodocSpaceError display excludenl "\s\+$"
endif
if !exists("c_no_tab_space_error")
syn match autodocSpaceError display " \+\t"me=e-1
endif
endif
if exists("c_minlines")
let b:c_minlines = c_minlines
else
if !exists("c_no_if0")
let b:c_minlines = 50 " #if 0 constructs can be long
else
let b:c_minlines = 15 " mostly for () constructs
endif
endif
exec "syn sync ccomment autodocComment minlines=" . b:c_minlines
" Define the default highlighting.
" Only used when an item doesn't have highlighting yet
hi def link autodocStatement Statement
hi def link autodocStatAcc Statement
hi def link autodocRegion Structure
hi def link autodocAtStmt Error
hi def link autodocNStmtAcc Identifier
hi def link autodocLink Type
hi def link autodocTodo Todo
hi def link autodocSpaceError Error
hi def link autodocLineStart SpecialComment
hi def link autodocSpecial SpecialChar
hi def link autodocUrl Underlined
hi def link autodocLead Statement
hi def link autodocIgnore Delimiter
let b:current_syntax = "autodoc"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8

View File

@@ -0,0 +1,325 @@
" Vim syntax file
" Language: AutoHotkey script file
" Maintainer: Michael Wong
" https://github.com/mmikeww/autohotkey.vim
" Latest Revision: 2022-07-25
" Previous Maintainers: SungHyun Nam <goweol@gmail.com>
" Nikolai Weibull <now@bitwi.se>
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn case ignore
syn keyword autohotkeyTodo
\ contained
\ TODO FIXME XXX NOTE
" only these chars are valid as escape sequences: ,%`;nrbtvaf
" https://autohotkey.com/docs/commands/_EscapeChar.htm
syn match autohotkeyEscape
\ display
\ '`[,%`;nrbtvaf]'
syn region autohotkeyString
\ display
\ oneline
\ matchgroup=autohotkeyStringDelimiter
\ start=+"+
\ end=+"+
\ contains=autohotkeyEscape,autohotkeyMatchClass
syn match autohotkeyVariable
\ display
\ oneline
\ contains=autohotkeyBuiltinVariable
\ keepend
\ '%\S\{-}%'
syn keyword autohotkeyBuiltinVariable
\ A_Space A_Tab
\ A_WorkingDir A_ScriptDir A_ScriptName A_ScriptFullPath A_ScriptHwnd A_LineNumber
\ A_LineFile A_ThisFunc A_ThisLabel A_AhkVersion A_AhkPath A_IsUnicode A_IsCompiled A_ExitReason
\ A_YYYY A_MM A_DD A_MMMM A_MMM A_DDDD A_DDD A_WDay A_YDay A_YWeek A_Hour A_Min
\ A_Mon A_Year A_MDay A_NumBatchLines
\ A_Sec A_MSec A_Now A_NowUTC A_TickCount
\ A_IsSuspended A_IsPaused A_IsCritical A_BatchLines A_TitleMatchMode A_TitleMatchModeSpeed
\ A_DetectHiddenWindows A_DetectHiddenText A_AutoTrim A_StringCaseSense
\ A_FileEncoding A_FormatInteger A_FormatFloat A_WinDelay A_ControlDelay
\ A_SendMode A_SendLevel A_StoreCapsLockMode A_KeyDelay A_KeyDuration
\ A_KeyDelayPlay A_KeyDurationPlay A_MouseDelayPlay
\ A_MouseDelay A_DefaultMouseSpeed A_RegView A_IconHidden A_IconTip A_IconFile
\ A_CoordModeToolTip A_CoordModePixel A_CoordModeMouse A_CoordModeCaret A_CoordModeMenu
\ A_IconNumber
\ A_TimeIdle A_TimeIdlePhysical A_DefaultGui A_DefaultListView A_DefaultTreeView
\ A_Gui A_GuiControl A_GuiWidth A_GuiHeight A_GuiX A_GuiY A_GuiEvent
\ A_GuiControlEvent A_EventInfo
\ A_ThisMenuItem A_ThisMenu A_ThisMenuItemPos A_ThisHotkey A_PriorHotkey
\ A_PriorKey A_TimeSinceThisHotkey A_TimeSincePriorHotkey A_EndChar
\ ComSpec A_Temp A_OSType A_OSVersion A_Language A_ComputerName A_UserName
\ A_Is64BitOS A_PtrSize
\ A_WinDir A_ProgramFiles ProgramFiles A_AppData A_AppDataCommon A_Desktop
\ A_DesktopCommon A_StartMenu A_StartMenuCommon A_Programs
\ A_ProgramsCommon A_Startup A_StartupCommon A_MyDocuments A_IsAdmin
\ A_ScreenWidth A_ScreenHeight A_ScreenDPI A_IPAddress1 A_IPAddress2 A_IPAddress3
\ A_IPAddress4
\ A_Cursor A_CaretX A_CaretY Clipboard ClipboardAll ErrorLevel A_LastError
\ A_Index A_LoopFileName A_LoopRegName A_LoopReadLine A_LoopField
\ A_LoopFileExt A_LoopFileFullPath A_LoopFileLongPath A_LoopFileShortPath
\ A_LoopFileShortName A_LoopFileDir A_LoopFileTimeModified A_LoopFileTimeCreated
\ A_LoopFileTimeAccessed A_LoopFileAttrib A_LoopFileSize A_LoopFileSizeKB A_LoopFileSizeMB
\ A_LoopRegType A_LoopRegKey A_LoopRegSubKey A_LoopRegTimeModified
\ A_TimeIdleKeyboard A_TimeIdleMouse A_ListLines A_ComSpec A_LoopFilePath A_Args
syn match autohotkeyBuiltinVariable
\ contained
\ display
\ '%\d\+%'
syn keyword autohotkeyCommand
\ ClipWait EnvGet EnvSet EnvUpdate
\ Drive DriveGet DriveSpaceFree FileAppend FileCopy FileCopyDir
\ FileCreateDir FileCreateShortcut FileDelete FileGetAttrib FileEncoding
\ FileGetShortcut FileGetSize FileGetTime FileGetVersion FileInstall
\ FileMove FileMoveDir FileReadLine FileRead FileRecycle FileRecycleEmpty
\ FileRemoveDir FileSelectFolder FileSelectFile FileSetAttrib FileSetTime
\ IniDelete IniRead IniWrite SetWorkingDir
\ SplitPath
\ Gui GuiControl GuiControlGet IfMsgBox InputBox MsgBox Progress
\ SplashImage SplashTextOn SplashTextOff ToolTip TrayTip
\ Hotkey ListHotkeys BlockInput ControlSend ControlSendRaw GetKeyState
\ KeyHistory KeyWait Input Send SendRaw SendInput SendPlay SendEvent
\ SendMode SetKeyDelay SetNumScrollCapsLockState SetStoreCapslockMode
\ EnvAdd EnvDiv EnvMult EnvSub Random SetFormat Transform
\ AutoTrim BlockInput CoordMode Critical Edit ImageSearch
\ ListLines ListVars Menu OutputDebug PixelGetColor PixelSearch
\ SetBatchLines SetEnv SetTimer SysGet Thread Transform URLDownloadToFile
\ Click ControlClick MouseClick MouseClickDrag MouseGetPos MouseMove
\ SetDefaultMouseSpeed SetMouseDelay
\ Process Run RunWait RunAs Shutdown Sleep
\ RegDelete RegRead RegWrite
\ SoundBeep SoundGet SoundGetWaveVolume SoundPlay SoundSet
\ SoundSetWaveVolume
\ FormatTime IfInString IfNotInString Sort StringCaseSense StringGetPos
\ StringLeft StringRight StringLower StringUpper StringMid StringReplace
\ StringSplit StringTrimLeft StringTrimRight StringLen
\ StrSplit StrReplace Throw
\ Control ControlClick ControlFocus ControlGet ControlGetFocus
\ ControlGetPos ControlGetText ControlMove ControlSend ControlSendRaw
\ ControlSetText Menu PostMessage SendMessage SetControlDelay
\ WinMenuSelectItem GroupActivate GroupAdd GroupClose GroupDeactivate
\ DetectHiddenText DetectHiddenWindows SetTitleMatchMode SetWinDelay
\ StatusBarGetText StatusBarWait WinActivate WinActivateBottom WinClose
\ WinGet WinGetActiveStats WinGetActiveTitle WinGetClass WinGetPos
\ WinGetText WinGetTitle WinHide WinKill WinMaximize WinMinimize
\ WinMinimizeAll WinMinimizeAllUndo WinMove WinRestore WinSet
\ WinSetTitle WinShow WinWait WinWaitActive WinWaitNotActive WinWaitClose
\ SetCapsLockState SetNumLockState SetScrollLockState
\ Hotstring LoadPicture MenuGetHandle MenuGetName OnError OnClipboardChange
syn keyword autohotkeyFunction
\ InStr RegExMatch RegExReplace StrLen SubStr Asc Chr Func
\ DllCall VarSetCapacity WinActive WinExist IsLabel OnMessage
\ Abs Ceil Exp Floor Log Ln Mod Round Sqrt Sin Cos Tan ASin ACos ATan
\ FileExist GetKeyState NumGet NumPut StrGet StrPut RegisterCallback
\ IsFunc Trim LTrim RTrim IsObject Object Array FileOpen
\ ComObjActive ComObjArray ComObjConnect ComObjCreate ComObjGet
\ ComObjError ComObjFlags ComObjQuery ComObjType ComObjValue ComObject
\ Format Exception Ord InputHook
syn keyword autohotkeyStatement
\ Break Continue Exit ExitApp Gosub Goto OnExit Pause Return
\ Suspend Reload new class extends
syn keyword autohotkeyRepeat
\ Loop
syn keyword autohotkeyConditional
\ IfExist IfNotExist If IfEqual IfLess IfGreater Else
\ IfWinExist IfWinNotExist IfWinActive IfWinNotActive
\ IfNotEqual IfLessOrEqual IfGreaterOrEqual
\ while until for in try catch finally not
\ switch case default
syn match autohotkeyPreProcStart
\ nextgroup=
\ autohotkeyInclude,
\ autohotkeyPreProc
\ skipwhite
\ display
\ '^\s*\zs#'
syn keyword autohotkeyInclude
\ contained
\ Include
\ IncludeAgain
syn keyword autohotkeyPreProc
\ contained
\ HotkeyInterval HotKeyModifierTimeout
\ Hotstring
\ IfWinActive IfWinNotActive IfWinExist IfWinNotExist
\ If IfTimeout
\ MaxHotkeysPerInterval MaxThreads MaxThreadsBuffer MaxThreadsPerHotkey
\ UseHook InstallKeybdHook InstallMouseHook
\ KeyHistory
\ NoTrayIcon SingleInstance
\ WinActivateForce
\ AllowSameLineComments
\ ClipboardTimeout
\ CommentFlag
\ ErrorStdOut
\ EscapeChar
\ MaxMem
\ NoEnv
\ Persistent
\ LTrim
\ InputLevel
\ MenuMaskKey
\ Warn
syn keyword autohotkeyMatchClass
\ ahk_group ahk_class ahk_id ahk_pid ahk_exe
syn match autohotkeyNumbers
\ display
\ transparent
\ contains=
\ autohotkeyInteger,
\ autohotkeyFloat
\ '\<\d\|\.\d'
syn match autohotkeyInteger
\ contained
\ display
\ '\d\+\>'
syn match autohotkeyInteger
\ contained
\ display
\ '0x\x\+\>'
syn match autohotkeyFloat
\ contained
\ display
\ '\d\+\.\d*\|\.\d\+\>'
syn keyword autohotkeyType
\ local
\ global
\ static
\ byref
syn keyword autohotkeyBoolean
\ true
\ false
syn match autohotkeyHotkey
\ contains=autohotkeyKey,
\ autohotkeyHotkeyDelimiter
\ display
\ '^\s*\S*\%( Up\)\?::'
syn match autohotkeyKey
\ contained
\ display
\ '^.\{-}'
syn match autohotkeyDelimiter
\ contained
\ display
\ '::'
" allowable hotstring options:
" https://autohotkey.com/docs/Hotstrings.htm
syn match autohotkeyHotstringDefinition
\ contains=autohotkeyHotstring,
\ autohotkeyHotstringDelimiter
\ display
\ '^\s*:\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*:.\{-}::'
syn match autohotkeyHotstring
\ contained
\ display
\ '.\{-}'
syn match autohotkeyHotstringDelimiter
\ contained
\ display
\ '::'
syn match autohotkeyHotstringDelimiter
\ contains=autohotkeyHotstringOptions
\ contained
\ display
\ ':\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*:'
syn match autohotkeyHotstringOptions
\ contained
\ display
\ '\%([*?]\|[BORZ]0\?\|C[01]\?\|K\d\+\|P\d\+\|S[IPE]\)*'
syn cluster autohotkeyCommentGroup
\ contains=
\ autohotkeyTodo,
\ @Spell
syn match autohotkeyComment
\ display
\ contains=@autohotkeyCommentGroup
\ '\%(^;\|\s\+;\).*$'
syn region autohotkeyComment
\ contains=@autohotkeyCommentGroup
\ matchgroup=autohotkeyCommentStart
\ start='^\s*/\*'
\ end='^\s*\*/'
" TODO: Shouldn't we look for g:, b:, variables before defaulting to
" something?
if exists("g:autohotkey_syntax_sync_minlines")
let b:autohotkey_syntax_sync_minlines = g:autohotkey_syntax_sync_minlines
else
let b:autohotkey_syntax_sync_minlines = 50
endif
exec "syn sync ccomment autohotkeyComment minlines=" . b:autohotkey_syntax_sync_minlines
hi def link autohotkeyTodo Todo
hi def link autohotkeyComment Comment
hi def link autohotkeyCommentStart autohotkeyComment
hi def link autohotkeyEscape Special
hi def link autohotkeyHotkey Type
hi def link autohotkeyKey Type
hi def link autohotkeyDelimiter Delimiter
hi def link autohotkeyHotstringDefinition Type
hi def link autohotkeyHotstring Type
hi def link autohotkeyHotstringDelimiter autohotkeyDelimiter
hi def link autohotkeyHotstringOptions Special
hi def link autohotkeyString String
hi def link autohotkeyStringDelimiter autohotkeyString
hi def link autohotkeyVariable Identifier
hi def link autohotkeyVariableDelimiter autohotkeyVariable
hi def link autohotkeyBuiltinVariable Macro
hi def link autohotkeyCommand Keyword
hi def link autohotkeyFunction Function
hi def link autohotkeyStatement autohotkeyCommand
hi def link autohotkeyRepeat Repeat
hi def link autohotkeyConditional Conditional
hi def link autohotkeyPreProcStart PreProc
hi def link autohotkeyInclude Include
hi def link autohotkeyPreProc PreProc
hi def link autohotkeyMatchClass Typedef
hi def link autohotkeyNumber Number
hi def link autohotkeyInteger autohotkeyNumber
hi def link autohotkeyFloat autohotkeyNumber
hi def link autohotkeyType Type
hi def link autohotkeyBoolean Boolean
let b:current_syntax = "autohotkey"
let &cpo = s:cpo_save
unlet s:cpo_save

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,77 @@
" Vim syntax file
" Language: automake Makefile.am
" Maintainer: Debian Vim Maintainers
" Former Maintainer: John Williams <jrw@pobox.com>
" Last Change: 2023 Jan 16
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/main/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

View File

@@ -0,0 +1,79 @@
" 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"

View File

@@ -0,0 +1,71 @@
" Vim syntax file
" Language: AVR Assembler (AVRA)
" AVRA Home: http://avra.sourceforge.net/index.html
" AVRA Version: 1.3.0
" Last Update: 2016 Oct 7
" Maintainer: Marius Ghita <mhitza@gmail.com>
let s:cpo_save = &cpo
set cpo&vim
syn case ignore
syn keyword avraRegister r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14
syn keyword avraRegister r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27
syn keyword avraRegister r28 r29 r30 r31
syn keyword avraInstr add adc adiw sub subi sbc sbci sbiw and andi or ori eor
syn keyword avraInstr com neg sbr cbr inc dec tst clr ser mul muls mulsu fmul
syn keyword avraInstr fmuls fmulsu des rjmp ijmp eijmp jmp rcall icall eicall
syn keyword avraInstr call ret reti cpse cp cpc cpi sbrc sbrs sbic sbis brbs
syn keyword avraInstr brbc breq brne brcs brcc brsh brlo brmi brpl brge brlt
syn keyword avraInstr brhs brhc brts brtc brvs brvc brie brid mov movw ldi lds
syn keyword avraInstr ld ldd sts st std lpm elpm spm in out push pop xch las
syn keyword avraInstr lac lat lsl lsr rol ror asr swap bset bclr sbi cbi bst bld
syn keyword avraInstr sec clc sen cln sez clz sei cli ses cls sev clv set clt
syn keyword avraInstr seh clh break nop sleep wdr
syn keyword avraDirective .byte .cseg .db .def .device .dseg .dw .endmacro .equ
syn keyword avraDirective .eseg .exit .include .list .listmac .macro .nolist
syn keyword avraDirective .org .set .define .undef .ifdef .ifndef .if .else
syn keyword avraDirective .elif .elseif .warning
syn keyword avraOperator low high byte2 byte3 byte4 lwrd hwrd page exp2 log2
syn match avraNumericOperator "[-*/+]"
syn match avraUnaryOperator "!"
syn match avraBinaryOperator "<<\|>>\|<\|<=\|>\|>=\|==\|!="
syn match avraBitwiseOperator "[~&^|]\|&&\|||"
syn match avraBinaryNumber "\<0[bB][0-1]*\>"
syn match avraHexNumber "\<0[xX][0-9a-fA-F]\+\>"
syn match avraDecNumber "\<\(0\|[1-9]\d*\)\>"
syn region avraComment start=";" end="$"
syn region avraString start="\"" end="\"\|$"
syn match avraLabel "^\s*[^; \t]\+:"
hi def link avraBinaryNumber avraNumber
hi def link avraHexNumber avraNumber
hi def link avraDecNumber avraNumber
hi def link avraNumericOperator avraOperator
hi def link avraUnaryOperator avraOperator
hi def link avraBinaryOperator avraOperator
hi def link avraBitwiseOperator avraOperator
hi def link avraOperator operator
hi def link avraComment comment
hi def link avraDirective preproc
hi def link avraRegister type
hi def link avraNumber constant
hi def link avraString String
hi def link avraInstr keyword
hi def link avraLabel label
let b:current_syntax = "avra"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1,217 @@
" Vim syntax file
" Language: awk, nawk, gawk, mawk
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Antonio Colombo <azc100@gmail.com>
" Last Change: 2024 Oct 28
" 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
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

View File

@@ -0,0 +1,75 @@
" Vim syntax file
" Language: AYacc
" Maintainer: Mathieu Clabaut <mathieu.clabaut@free.fr>
" LastChange: 2011 Dec 25
" Original: Yacc, maintained by Dr. Charles E. Campbell, Jr.
" Comment: Replaced sourcing c.vim file by ada.vim and rename yacc*
" in ayacc*
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" Read the Ada syntax to start with
runtime! syntax/ada.vim
unlet b:current_syntax
let s:cpo_save = &cpo
set cpo&vim
" Clusters
syn cluster ayaccActionGroup contains=ayaccDelim,cInParen,cTodo,cIncluded,ayaccDelim,ayaccCurlyError,ayaccUnionCurly,ayaccUnion,cUserLabel,cOctalZero,cCppOut2,cCppSkip,cErrInBracket,cErrInParen,cOctalError
syn cluster ayaccUnionGroup contains=ayaccKey,cComment,ayaccCurly,cType,cStructure,cStorageClass,ayaccUnionCurly
" Yacc stuff
syn match ayaccDelim "^[ \t]*[:|;]"
syn match ayaccOper "@\d\+"
syn match ayaccKey "^[ \t]*%\(token\|type\|left\|right\|start\|ident\)\>"
syn match ayaccKey "[ \t]%\(prec\|expect\|nonassoc\)\>"
syn match ayaccKey "\$\(<[a-zA-Z_][a-zA-Z_0-9]*>\)\=[\$0-9]\+"
syn keyword ayaccKeyActn yyerrok yyclearin
syn match ayaccUnionStart "^%union" skipwhite skipnl nextgroup=ayaccUnion
syn region ayaccUnion contained matchgroup=ayaccCurly start="{" matchgroup=ayaccCurly end="}" contains=@ayaccUnionGroup
syn region ayaccUnionCurly contained matchgroup=ayaccCurly start="{" matchgroup=ayaccCurly end="}" contains=@ayaccUnionGroup
syn match ayaccBrkt contained "[<>]"
syn match ayaccType "<[a-zA-Z_][a-zA-Z0-9_]*>" contains=ayaccBrkt
syn match ayaccDefinition "^[A-Za-z][A-Za-z0-9_]*[ \t]*:"
" special Yacc separators
syn match ayaccSectionSep "^[ \t]*%%"
syn match ayaccSep "^[ \t]*%{"
syn match ayaccSep "^[ \t]*%}"
" I'd really like to highlight just the outer {}. Any suggestions???
syn match ayaccCurlyError "[{}]"
syn region ayaccAction matchgroup=ayaccCurly start="{" end="}" contains=ALLBUT,@ayaccActionGroup
" Internal ayacc highlighting links
hi def link ayaccBrkt ayaccStmt
hi def link ayaccKey ayaccStmt
hi def link ayaccOper ayaccStmt
hi def link ayaccUnionStart ayaccKey
" External ayacc highlighting links
hi def link ayaccCurly Delimiter
hi def link ayaccCurlyError Error
hi def link ayaccDefinition Function
hi def link ayaccDelim Function
hi def link ayaccKeyActn Special
hi def link ayaccSectionSep Todo
hi def link ayaccSep Delimiter
hi def link ayaccStmt Statement
hi def link ayaccType Type
" since Bram doesn't like my Delimiter :|
hi def link Delimiter Type
let b:current_syntax = "ayacc"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=15

View File

@@ -0,0 +1,114 @@
" Vim syntax file
" Language: B (A Formal Method with refinement and mathematical proof)
" Maintainer: Mathieu Clabaut <mathieu.clabaut@gmail.com>
" Contributor: Csaba Hoch
" LastChange: 8 Dec 2007
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" A bunch of useful B keywords
syn keyword bStatement MACHINE MODEL SEES OPERATIONS INCLUDES DEFINITIONS CONSTRAINTS CONSTANTS VARIABLES CONCRETE_CONSTANTS CONCRETE_VARIABLES ABSTRACT_CONSTANTS ABSTRACT_VARIABLES HIDDEN_CONSTANTS HIDDEN_VARIABLES ASSERT ASSERTIONS EXTENDS IMPLEMENTATION REFINEMENT IMPORTS USES INITIALISATION INVARIANT PROMOTES PROPERTIES REFINES SETS VALUES VARIANT VISIBLE_CONSTANTS VISIBLE_VARIABLES THEORY XLS THEOREMS LOCAL_OPERATIONS
syn keyword bLabel CASE IN EITHER OR CHOICE DO OF
syn keyword bConditional IF ELSE SELECT ELSIF THEN WHEN
syn keyword bRepeat WHILE FOR
syn keyword bOps bool card conc closure closure1 dom first fnc front not or id inter iseq iseq1 iterate last max min mod perm pred prj1 prj2 ran rel rev seq seq1 size skip succ tail union
syn keyword bKeywords LET VAR BE IN BEGIN END POW POW1 FIN FIN1 PRE SIGMA STRING UNION IS ANY WHERE
syn keyword bBoolean TRUE FALSE bfalse btrue
syn keyword bConstant PI MAXINT MININT User_Pass PatchProver PatchProverH0 PatchProverB0 FLAT ARI DED SUB RES
syn keyword bGuard binhyp band bnot bguard bsearch bflat bfresh bguardi bget bgethyp barith bgetresult bresult bgoal bmatch bmodr bnewv bnum btest bpattern bprintf bwritef bsubfrm bvrb blvar bcall bappend bclose
syn keyword bLogic or not
syn match bLogic "\(!\|#\|%\|&\|+->>\|+->\|-->>\|->>\|-->\|->\|/:\|/<:\|/<<:\|/=\|/\\\|/|\\\|::\|:\|;:\|<+\|<->\|<--\|<-\|<:\|<<:\|<<|\|<=>\|<|\|==\|=>\|>+>>\|>->\|>+>\|||\||->\)"
syn match bNothing /:=/
syn keyword cTodo contained TODO FIXME XXX
" String and Character constants
" Highlight special characters (those which have a backslash) differently
syn match bSpecial contained "\\[0-7][0-7][0-7]\=\|\\."
syn region bString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=bSpecial
syn match bCharacter "'[^\\]'"
syn match bSpecialCharacter "'\\.'"
syn match bSpecialCharacter "'\\[0-7][0-7]'"
syn match bSpecialCharacter "'\\[0-7][0-7][0-7]'"
"catch errors caused by wrong parenthesis
syn region bParen transparent start='(' end=')' contains=ALLBUT,bParenError,bIncluded,bSpecial,bTodo,bUserLabel,bBitField
syn match bParenError ")"
syn match bInParen contained "[{}]"
"integer number, or floating point number without a dot and with "f".
syn case ignore
syn match bNumber "\<[0-9]\+\>"
"syn match bIdentifier "\<[a-z_][a-z0-9_]*\>"
syn case match
syn region bComment start="/\*" end="\*/" contains=bTodo
syn match bComment "//.*" contains=bTodo
syntax match bCommentError "\*/"
syn keyword bType INT INTEGER BOOL NAT NATURAL NAT1 NATURAL1
syn region bPreCondit start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=bComment,bString,bCharacter,bNumber,bCommentError
syn region bIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+
syn match bIncluded contained "<[^>]*>"
syn match bInclude "^\s*#\s*include\>\s*["<]" contains=bIncluded
syn region bDefine start="^\s*#\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,bPreCondit,bIncluded,bInclude,bDefine,bInParen
syn region bPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,bPreCondit,bIncluded,bInclude,bDefine,bInParen
syn sync ccomment bComment minlines=10
" 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 bLabel Label
hi def link bUserLabel Label
hi def link bConditional Conditional
hi def link bRepeat Repeat
hi def link bLogic Special
hi def link bCharacter Character
hi def link bSpecialCharacter bSpecial
hi def link bNumber Number
hi def link bFloat Float
hi def link bOctalError bError
hi def link bParenError bError
" hi def link bInParen bError
hi def link bCommentError bError
hi def link bBoolean Identifier
hi def link bConstant Identifier
hi def link bGuard Identifier
hi def link bOperator Operator
hi def link bKeywords Operator
hi def link bOps Identifier
hi def link bStructure Structure
hi def link bStorageClass StorageClass
hi def link bInclude Include
hi def link bPreProc PreProc
hi def link bDefine Macro
hi def link bIncluded bString
hi def link bError Error
hi def link bStatement Statement
hi def link bPreCondit PreCondit
hi def link bType Type
hi def link bCommentError bError
hi def link bCommentString bString
hi def link bComment2String bString
hi def link bCommentSkip bComment
hi def link bString String
hi def link bComment Comment
hi def link bSpecial SpecialChar
hi def link bTodo Todo
"hi link bIdentifier Identifier
let b:current_syntax = "b"
" vim: ts=8

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,20 @@
" Vim syntax file
" Language: bash
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2023 Aug 13
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" The actual syntax is in sh.vim and controlled by buffer-local variables.
unlet! b:is_sh
unlet! b:is_kornshell
let b:is_bash = 1
runtime! syntax/sh.vim
let b:current_syntax = 'bash'
" vim: ts=8

View File

@@ -0,0 +1,380 @@
" Vim syntax file
" Language: BASIC (QuickBASIC 4.5)
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Allan Kelly <allan@fruitloaf.co.uk>
" Contributors: Thilo Six
" Last Change: 2022 Jun 22
" First version based on Micro$soft QBASIC circa 1989, as documented in
" 'Learn BASIC Now' by Halvorson&Rygmyr. Microsoft Press 1989.
"
" Second version attempts to match Microsoft QuickBASIC 4.5 while keeping FreeBASIC
" (-lang qb) and QB64 (excluding extensions) in mind. -- DJK
" Prelude {{{1
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn iskeyword @,48-57,.,!,#,%,&,$
syn case ignore
" Whitespace Errors {{{1
if exists("basic_space_errors")
if !exists("basic_no_trail_space_error")
syn match basicSpaceError display excludenl "\s\+$"
endif
if !exists("basic_no_tab_space_error")
syn match basicSpaceError display " \+\t"me=e-1
endif
endif
" Comment Errors {{{1
if !exists("basic_no_comment_errors")
syn match basicCommentError "\<REM\>.*"
endif
" Not Top Cluster {{{1
syn cluster basicNotTop contains=@basicLineIdentifier,basicDataString,basicDataSeparator,basicTodo
" Statements {{{1
syn cluster basicStatements contains=basicStatement,basicDataStatement,basicMetaRemStatement,basicPutStatement,basicRemStatement
let s:statements =<< trim EOL " {{{2
beep
bload
bsave
call
calls
case
chain
chdir
circle
clear
close
cls
color
com
common
const
declare
def
def\s\+seg
defdbl
defint
deflng
defsng
defstr
dim
do
draw
elseif
end
end\s\+\%(def\|function\|if\|select\|sub\|type\)
environ
erase
error
exit\s\+\%(def\|do\|for\|function\|sub\)
field
files
for
function
get
gosub
goto
if
input
ioctl
key
kill
let
line
line\s\+input
locate
lock
loop
lprint
lset
mkdir
name
next
on
on\s\+error
on\s\+uevent
open
open\s\+com
option
out
paint
palette
palette\s\+using
pcopy
pen
pmap
poke
preset
print
pset
randomize
read
redim
reset
restore
resume
return
rmdir
rset
run
select\s\+case
shared
shell
sleep
sound
static
stop
strig
sub
swap
system
troff
tron
type
uevent
unlock
using
view
view\s\+print
wait
wend
while
width
window
write
EOL
" }}}
for s in s:statements
exe 'syn match basicStatement "\<' .. s .. '\>" contained'
endfor
syn match basicStatement "\<\%(then\|else\)\>" nextgroup=@basicStatements skipwhite
" DATA Statement
syn match basicDataSeparator "," contained
syn region basicDataStatement matchgroup=basicStatement start="\<data\>" matchgroup=basicStatementSeparator end=":\|$" contained contains=basicDataSeparator,basicDataString,basicNumber,basicFloat,basicString
if !exists("basic_no_data_fold")
syn region basicMultilineData start="^\s*\<data\>.*\n\%(^\s*\<data\>\)\@=" end="^\s*\<data\>.*\n\%(^\s*\<data\>\)\@!" contains=basicDataStatement transparent fold keepend
endif
" PUT File I/O and Graphics statements - needs special handling for graphics
" action verbs
syn match basicPutAction "\<\%(pset\|preset\|and\|or\|xor\)\>" contained
syn region basicPutStatement matchgroup=basicStatement start="\<put\>" matchgroup=basicStatementSeparator end=":\|$" contained contains=basicKeyword,basicPutAction,basicFilenumber
" Keywords {{{1
let s:keywords =<< trim EOL " {{{2
absolute
access
alias
append
as
base
binary
byval
cdecl
com
def
do
for
function
gosub
goto
input
int86old
int86xold
interrupt
interruptx
is
key
len
list
local
lock
lprint
next
off
on
output
pen
play
random
read
resume
screen
seg
shared
signal
static
step
stop
strig
sub
timer
to
until
using
while
write
EOL
" }}}
for k in s:keywords
exe 'syn match basicKeyword "\<' .. k .. '\>"'
endfor
" Functions {{{1
syn keyword basicFunction abs asc atn cdbl chr$ cint clng command$ cos csng
syn keyword basicFunction csrlin cvd cvdmbf cvi cvl cvs cvsmbf environ$ eof
syn keyword basicFunction erdev erdev$ erl err exp fileattr fix fre freefile
syn keyword basicFunction hex$ inkey$ inp input$ instr int ioctl$ left$ lbound
syn keyword basicFunction lcase$ len loc lof log lpos ltrim$ mkd$ mkdmbf$ mki$
syn keyword basicFunction mkl$ mks$ mksmbf$ oct$ peek pen point pos right$ rnd
syn keyword basicFunction rtrim$ sadd setmem sgn sin space$ spc sqr stick str$
syn keyword basicFunction strig string$ tab tan ubound ucase$ val valptr
syn keyword basicFunction valseg varptr varptr$ varseg
" Functions and statements (same name) {{{1
syn match basicStatement "\<\%(date\$\|mid\$\|play\|screen\|seek\|time\$\|timer\)\>" contained
syn match basicFunction "\<\%(date\$\|mid\$\|play\|screen\|seek\|time\$\|timer\)\>"
" Types {{{1
syn keyword basicType integer long single double string any
" Strings {{{1
" Unquoted DATA strings - anything except [:,] and leading or trailing whitespace
" Needs lower priority than numbers
syn match basicDataString "[^[:space:],:]\+\%(\s\+[^[:space:],:]\+\)*" contained
syn region basicString start=+"+ end=+"+ oneline
" Booleans {{{1
if exists("basic_booleans")
syn keyword basicBoolean true false
endif
" Numbers {{{1
" Integers
syn match basicNumber "-\=&o\=\o\+[%&]\=\>"
syn match basicNumber "-\=&h\x\+[%&]\=\>"
syn match basicNumber "-\=\<\d\+[%&]\=\>"
" Floats
syn match basicFloat "-\=\<\d\+\.\=\d*\%(\%([ed][+-]\=\d*\)\|[!#]\)\=\>"
syn match basicFloat "-\=\<\.\d\+\%(\%([ed][+-]\=\d*\)\|[!#]\)\=\>"
" Statement anchors {{{1
syn match basicLineStart "^" nextgroup=@basicStatements,@basicLineIdentifier skipwhite
syn match basicStatementSeparator ":" nextgroup=@basicStatements skipwhite
" Line numbers and labels {{{1
" QuickBASIC limits these to 65,529 and 40 chars respectively
syn match basicLineNumber "\d\+" nextgroup=@basicStatements skipwhite contained
syn match basicLineLabel "\a[[:alnum:]]*\ze\s*:" nextgroup=@basicStatements skipwhite contained
syn cluster basicLineIdentifier contains=basicLineNumber,basicLineLabel
" Line Continuation {{{1
syn match basicLineContinuation "\s*\zs_\ze\s*$"
" Type suffixes {{{1
if exists("basic_type_suffixes")
syn match basicTypeSuffix "\a[[:alnum:].]*\zs[$%&!#]"
endif
" File numbers {{{1
syn match basicFilenumber "#\d\+"
syn match basicFilenumber "#\a[[:alnum:].]*[%&!#]\="
" Operators {{{1
if exists("basic_operators")
syn match basicArithmeticOperator "[-+*/\\^]"
syn match basicRelationalOperator "<>\|<=\|>=\|[><=]"
endif
syn match basicLogicalOperator "\<\%(not\|and\|or\|xor\|eqv\|imp\)\>"
syn match basicArithmeticOperator "\<mod\>"
" Metacommands {{{1
" Note: No trailing word boundaries. Text may be freely mixed however there
" must be only leading whitespace prior to the first metacommand
syn match basicMetacommand "$INCLUDE\s*:\s*'[^']\+'" contained containedin=@basicMetaComments
syn match basicMetacommand "$\%(DYNAMIC\|STATIC\)" contained containedin=@basicMetaComments
" Comments {{{1
syn keyword basicTodo TODO FIXME XXX NOTE contained
syn region basicRemStatement matchgroup=basicStatement start="REM\>" end="$" contains=basicTodo,@Spell contained
syn region basicComment start="'" end="$" contains=basicTodo,@Spell
if !exists("basic_no_comment_fold")
syn region basicMultilineComment start="^\s*'.*\n\%(\s*'\)\@=" end="^\s*'.*\n\%(\s*'\)\@!" contains=@basicComments transparent fold keepend
endif
" Metacommands
syn region basicMetaRemStatement matchgroup=basicStatement start="REM\>\s*\$\@=" end="$" contains=basicTodo contained
syn region basicMetaComment start="'\s*\$\@=" end="$" contains=basicTodo
syn cluster basicMetaComments contains=basicMetaComment,basicMetaRemStatement
syn cluster basicComments contains=basicComment,basicMetaComment
"syn sync ccomment basicComment
" Default Highlighting {{{1
hi def link basicArithmeticOperator basicOperator
hi def link basicBoolean Boolean
hi def link basicComment Comment
hi def link basicCommentError Error
hi def link basicDataString basicString
hi def link basicFilenumber basicTypeSuffix " TODO: better group
hi def link basicFloat Float
hi def link basicFunction Function
hi def link basicKeyword Keyword
hi def link basicLineIdentifier LineNr
hi def link basicLineContinuation Special
hi def link basicLineLabel basicLineIdentifier
hi def link basicLineNumber basicLineIdentifier
hi def link basicLogicalOperator basicOperator
hi def link basicMetacommand SpecialComment
hi def link basicMetaComment Comment
hi def link basicMetaRemStatement Comment
hi def link basicNumber Number
hi def link basicOperator Operator
hi def link basicPutAction Keyword
hi def link basicRelationalOperator basicOperator
hi def link basicRemStatement Comment
hi def link basicSpaceError Error
hi def link basicStatementSeparator Special
hi def link basicStatement Statement
hi def link basicString String
hi def link basicTodo Todo
hi def link basicType Type
hi def link basicTypeSuffix Special
if exists("basic_legacy_syntax_groups")
hi def link basicTypeSpecifier Type
hi def link basicTypeSuffix basicTypeSpecifier
endif
" Postscript {{{1
let b:current_syntax = "basic"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker:

View File

@@ -0,0 +1,66 @@
" Vim syntax file
" Language: bc - An arbitrary precision calculator language
" Maintainer: Vladimir Scholtz <vlado@gjh.sk>
" Last change: 2012 Jun 01
" (Dominique Pelle added @Spell)
" Available on: www.gjh.sk/~vlado/bc.vim
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn case ignore
" Keywords
syn keyword bcKeyword if else while for break continue return limits halt quit
syn keyword bcKeyword define
syn keyword bcKeyword length read sqrt print
" Variable
syn keyword bcType auto
" Constant
syn keyword bcConstant scale ibase obase last
syn keyword bcConstant BC_BASE_MAX BC_DIM_MAX BC_SCALE_MAX BC_STRING_MAX
syn keyword bcConstant BC_ENV_ARGS BC_LINE_LENGTH
" Any other stuff
syn match bcIdentifier "[a-z_][a-z0-9_]*"
" String
syn match bcString "\"[^"]*\"" contains=@Spell
" Number
syn match bcNumber "[0-9]\+"
" Comment
syn match bcComment "\#.*" contains=@Spell
syn region bcComment start="/\*" end="\*/" contains=@Spell
" Parent ()
syn cluster bcAll contains=bcList,bcIdentifier,bcNumber,bcKeyword,bcType,bcConstant,bcString,bcParentError
syn region bcList matchgroup=Delimiter start="(" skip="|.\{-}|" matchgroup=Delimiter end=")" contains=@bcAll
syn region bcList matchgroup=Delimiter start="\[" skip="|.\{-}|" matchgroup=Delimiter end="\]" contains=@bcAll
syn match bcParenError "]"
syn match bcParenError ")"
syn case match
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link bcKeyword Statement
hi def link bcType Type
hi def link bcConstant Constant
hi def link bcNumber Number
hi def link bcComment Comment
hi def link bcString String
hi def link bcSpecialChar SpecialChar
hi def link bcParenError Error
let b:current_syntax = "bc"
" vim: ts=8

View File

@@ -0,0 +1,97 @@
" Vim syntax file
" Language: BDF font definition
" 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 region bdfFontDefinition transparent matchgroup=bdfKeyword
\ start='^STARTFONT\>' end='^ENDFONT\>'
\ contains=bdfComment,bdfFont,bdfSize,
\ bdfBoundingBox,bdfProperties,bdfChars,bdfChar
syn match bdfNumber contained display
\ '\<\%(\x\+\|[+-]\=\d\+\%(\.\d\+\)*\)'
syn keyword bdfTodo contained FIXME TODO XXX NOTE
syn region bdfComment contained start='^COMMENT\>' end='$'
\ contains=bdfTodo,@Spell
syn region bdfFont contained matchgroup=bdfKeyword
\ start='^FONT\>' end='$'
syn region bdfSize contained transparent matchgroup=bdfKeyword
\ start='^SIZE\>' end='$' contains=bdfNumber
syn region bdfBoundingBox contained transparent matchgroup=bdfKeyword
\ start='^FONTBOUNDINGBOX' end='$'
\ contains=bdfNumber
syn region bdfProperties contained transparent matchgroup=bdfKeyword
\ start='^STARTPROPERTIES' end='^ENDPROPERTIES'
\ contains=bdfNumber,bdfString,bdfProperty,
\ bdfXProperty
syn keyword bdfProperty contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR
syn match bdfProperty contained '^\S\+'
syn keyword bdfXProperty contained FONT_ASCENT FONT_DESCENT DEFAULT_CHAR
\ FONTNAME_REGISTRY FOUNDRY FAMILY_NAME
\ WEIGHT_NAME SLANT SETWIDTH_NAME PIXEL_SIZE
\ POINT_SIZE RESOLUTION_X RESOLUTION_Y SPACING
\ CHARSET_REGISTRY CHARSET_ENCODING COPYRIGHT
\ ADD_STYLE_NAME WEIGHT RESOLUTION X_HEIGHT
\ QUAD_WIDTH FONT AVERAGE_WIDTH
syn region bdfString contained start=+"+ skip=+""+ end=+"+
syn region bdfChars contained display transparent
\ matchgroup=bdfKeyword start='^CHARS' end='$'
\ contains=bdfNumber
syn region bdfChar transparent matchgroup=bdfKeyword
\ start='^STARTCHAR' end='^ENDCHAR'
\ contains=bdfEncoding,bdfWidth,bdfAttributes,
\ bdfBitmap
syn region bdfEncoding contained transparent matchgroup=bdfKeyword
\ start='^ENCODING' end='$' contains=bdfNumber
syn region bdfWidth contained transparent matchgroup=bdfKeyword
\ start='^SWIDTH\|DWIDTH\|BBX' end='$'
\ contains=bdfNumber
syn region bdfAttributes contained transparent matchgroup=bdfKeyword
\ start='^ATTRIBUTES' end='$'
syn keyword bdfBitmap contained BITMAP
if exists("bdf_minlines")
let b:bdf_minlines = bdf_minlines
else
let b:bdf_minlines = 30
endif
exec "syn sync ccomment bdfChar minlines=" . b:bdf_minlines
hi def link bdfKeyword Keyword
hi def link bdfNumber Number
hi def link bdfTodo Todo
hi def link bdfComment Comment
hi def link bdfFont String
hi def link bdfProperty Identifier
hi def link bdfXProperty Identifier
hi def link bdfString String
hi def link bdfChars Keyword
hi def link bdfBitmap Keyword
let b:current_syntax = "bdf"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1,121 @@
" Vim syntax file
" Language: BibTeX (bibliographic database format for (La)TeX)
" Maintainer: Bernd Feige <Bernd.Feige@gmx.net>
" Filenames: *.bib
" Last Change: 2017 Sep 29
" Thanks to those who pointed out problems with this file or supplied fixes!
" Initialization
" ==============
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
" Ignore case
syn case ignore
" Keywords
" ========
syn keyword bibType contained article book booklet conference inbook
syn keyword bibType contained incollection inproceedings manual
syn keyword bibType contained mastersthesis misc phdthesis
syn keyword bibType contained proceedings techreport unpublished
syn keyword bibType contained string preamble
syn keyword bibEntryKw contained address annote author booktitle chapter
syn keyword bibEntryKw contained crossref edition editor howpublished
syn keyword bibEntryKw contained institution journal key month note
syn keyword bibEntryKw contained number organization pages publisher
syn keyword bibEntryKw contained school series title type volume year
" biblatex keywords, cf. http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf
syn keyword bibType contained mvbook bookinbook suppbook collection mvcollection suppcollection
syn keyword bibType contained online patent periodical suppperiodical mvproceedings reference
syn keyword bibType contained mvreference inreference report set thesis xdata customa customb
syn keyword bibType contained customc customd custome customf electronic www artwork audio bibnote
syn keyword bibType contained commentary image jurisdiction legislation legal letter movie music
syn keyword bibType contained performance review software standard video
syn keyword bibEntryKw contained abstract isbn issn keywords url
syn keyword bibEntryKw contained addendum afterwordannotation annotation annotator authortype
syn keyword bibEntryKw contained bookauthor bookpagination booksubtitle booktitleaddon
syn keyword bibEntryKw contained commentator date doi editora editorb editorc editortype
syn keyword bibEntryKw contained editoratype editorbtype editorctype eid entrysubtype
syn keyword bibEntryKw contained eprint eprintclass eprinttype eventdate eventtitle
syn keyword bibEntryKw contained eventtitleaddon file foreword holder indextitle
syn keyword bibEntryKw contained introduction isan ismn isrn issue issuesubtitle
syn keyword bibEntryKw contained issuetitle iswc journalsubtitle journaltitle label
syn keyword bibEntryKw contained language library location mainsubtitle maintitle
syn keyword bibEntryKw contained maintitleaddon nameaddon origdate origlanguage
syn keyword bibEntryKw contained origlocation origpublisher origtitle pagetotal
syn keyword bibEntryKw contained pagination part pubstate reprinttitle shortauthor
syn keyword bibEntryKw contained shorteditor shorthand shorthandintro shortjournal
syn keyword bibEntryKw contained shortseries shorttitle subtitle titleaddon translator
syn keyword bibEntryKw contained urldate venue version volumes entryset execute gender
syn keyword bibEntryKw contained langid langidopts ids indexsorttitle options presort
syn keyword bibEntryKw contained related relatedoptions relatedtype relatedstring
syn keyword bibEntryKw contained sortkey sortname sortshorthand sorttitle sortyear xdata
syn keyword bibEntryKw contained xref namea nameb namec nameatype namebtype namectype
syn keyword bibEntryKw contained lista listb listc listd liste listf usera userb userc
syn keyword bibEntryKw contained userd usere userf verba verbb verbc archiveprefix pdf
syn keyword bibEntryKw contained primaryclass
" Non-standard:
" AMS mref http://www.ams.org/mref
syn keyword bibNSEntryKw contained mrclass mrnumber mrreviewer fjournal coden
" Clusters
" ========
syn cluster bibVarContents contains=bibUnescapedSpecial,bibBrace,bibParen,bibMath
" This cluster is empty but things can be added externally:
"syn cluster bibCommentContents
" Matches
" =======
syn match bibUnescapedSpecial contained /[^\\][%&]/hs=s+1
syn match bibKey contained /\s*[^ \t}="]\+,/hs=s,he=e-1 nextgroup=bibField
syn match bibVariable contained /[^{}," \t=]/
syn region bibComment start=/./ end=/^\s*@/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
syn region bibMath contained start=/\(\\\)\@<!\$/ end=/\$/ skip=/\(\\\$\)/
syn region bibQuote contained start=/"/ end=/"/ skip=/\(\\"\)/ contains=@bibVarContents
syn region bibBrace contained start=/{/ end=/}/ skip=/\(\\[{}]\)/ contains=@bibVarContents
syn region bibParen contained start=/(/ end=/)/ skip=/\(\\[()]\)/ contains=@bibVarContents
syn region bibField contained start="\S\+\s*=\s*" end=/[}),]/me=e-1 contains=bibEntryKw,bibNSEntryKw,bibBrace,bibParen,bibQuote,bibVariable
syn region bibEntryData contained start=/[{(]/ms=e+1 end=/[})]/me=e-1 contains=bibKey,bibField,bibComment3
" Actually, 5.8 <= Vim < 6.0 would ignore the `fold' keyword anyway, but Vim<5.8 would produce
" an error, so we explicitly distinguish versions with and without folding functionality:
syn region bibEntry start=/@\S\+\s*[{(]/ end=/^\s*[})]/ transparent fold contains=bibType,bibEntryData nextgroup=bibComment
syn region bibComment2 start=/@Comment\s*[{(]/ end=/^\s*[})]/me=e-1 contains=@bibCommentContents nextgroup=bibEntry
" biblatex style comments inside a bibEntry
syn match bibComment3 "%.*"
" Synchronization
" ===============
syn sync match All grouphere bibEntry /^\s*@/
syn sync maxlines=200
syn sync minlines=50
" Highlighting defaults
" =====================
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link bibType Identifier
hi def link bibEntryKw Statement
hi def link bibNSEntryKw PreProc
hi def link bibKey Special
hi def link bibVariable Constant
hi def link bibUnescapedSpecial Error
hi def link bibComment Comment
hi def link bibComment2 Comment
hi def link bibComment3 Comment
let b:current_syntax = "bib"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1,97 @@
" Vim syntax file
" Language: BIND zone files (RFC 1035)
" Maintainer: Julian Mehnle <julian@mehnle.net>
" URL: http://www.mehnle.net/source/odds+ends/vim/syntax/
" Last Change: Thu 2011-07-16 20:42:00 UTC
"
" Based on an earlier version by Вячеслав Горбанев (Slava Gorbanev), with
" heavy modifications.
"
" $Id: bindzone.vim 12 2011-07-16 21:09:57Z julian $
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn case match
" Directives
syn region zoneRRecord start=/^/ end=/$/ contains=zoneOwnerName,zoneSpecial,zoneTTL,zoneClass,zoneRRType,zoneComment,zoneUnknown
syn match zoneDirective /^\$ORIGIN\s\+/ nextgroup=zoneOrigin,zoneUnknown
syn match zoneDirective /^\$TTL\s\+/ nextgroup=zoneTTL,zoneUnknown
syn match zoneDirective /^\$INCLUDE\s\+/ nextgroup=zoneText,zoneUnknown
syn match zoneDirective /^\$GENERATE\s/
syn match zoneUnknown contained /\S\+/
syn match zoneOwnerName contained /^[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\)\@=/ nextgroup=zoneTTL,zoneClass,zoneRRType skipwhite
syn match zoneOrigin contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\|$\)\@=/
syn match zoneDomain contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\^`{|}~]\+\(\s\|;\|$\)\@=/
syn match zoneSpecial contained /^[@*.]\s/
syn match zoneTTL contained /\s\@<=\d[0-9WwDdHhMmSs]*\(\s\|$\)\@=/ nextgroup=zoneClass,zoneRRType skipwhite
syn keyword zoneClass contained IN CHAOS CH HS HESIOD nextgroup=zoneRRType,zoneTTL skipwhite
syn keyword zoneRRType contained A AAAA APL CAA CERT CNAME DNAME DNSKEY DS HINFO LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM OPENPGPKEY PTR RP RRSIG SMIMEA SOA SPF SRV SSHFP TLSA TXT nextgroup=zoneRData skipwhite
syn match zoneRData contained /[^;]*/ contains=zoneDomain,zoneIPAddr,zoneIP6Addr,zoneText,zoneNumber,zoneParen,zoneUnknown
syn match zoneIPAddr contained /\<[0-9]\{1,3}\(\.[0-9]\{1,3}\)\{,3}\>/
" Plain IPv6 address IPv6-embedded-IPv4 address
" 1111:2:3:4:5:6:7:8 1111:2:3:4:5:6:127.0.0.1
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{6}\(\x\{1,4}:\x\{1,4}\|\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
" ::[...:]8 ::[...:]127.0.0.1
syn match zoneIP6Addr contained /\s\@<=::\(\(\x\{1,4}:\)\{,6}\x\{1,4}\|\(\x\{1,4}:\)\{,5}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
" 1111::[...:]8 1111::[...:]127.0.0.1
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{1}:\(\(\x\{1,4}:\)\{,5}\x\{1,4}\|\(\x\{1,4}:\)\{,4}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
" 1111:2::[...:]8 1111:2::[...:]127.0.0.1
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{2}:\(\(\x\{1,4}:\)\{,4}\x\{1,4}\|\(\x\{1,4}:\)\{,3}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
" 1111:2:3::[...:]8 1111:2:3::[...:]127.0.0.1
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{3}:\(\(\x\{1,4}:\)\{,3}\x\{1,4}\|\(\x\{1,4}:\)\{,2}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
" 1111:2:3:4::[...:]8 1111:2:3:4::[...:]127.0.0.1
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{4}:\(\(\x\{1,4}:\)\{,2}\x\{1,4}\|\(\x\{1,4}:\)\{,1}\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
" 1111:2:3:4:5::[...:]8 1111:2:3:4:5::127.0.0.1
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{5}:\(\(\x\{1,4}:\)\{,1}\x\{1,4}\|\([0-2]\?\d\{1,2}\.\)\{3}[0-2]\?\d\{1,2}\)\>/
" 1111:2:3:4:5:6::8 -
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{6}:\x\{1,4}\>/
" 1111[:...]:: -
syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{1,7}:\(\s\|;\|$\)\@=/
syn match zoneText contained /"\([^"\\]\|\\.\)*"\(\s\|;\|$\)\@=/
syn match zoneNumber contained /\<[0-9]\+\(\s\|;\|$\)\@=/
syn match zoneSerial contained /\<[0-9]\{1,10}\(\s\|;\|$\)\@=/
syn match zoneErrParen /)/
syn region zoneParen contained start="(" end=")" contains=zoneSerial,zoneTTL,zoneNumber,zoneComment
syn match zoneComment /;.*/
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link zoneDirective Macro
hi def link zoneUnknown Error
hi def link zoneOrigin Statement
hi def link zoneOwnerName Statement
hi def link zoneDomain Identifier
hi def link zoneSpecial Special
hi def link zoneTTL Constant
hi def link zoneClass Include
hi def link zoneRRType Type
hi def link zoneIPAddr Number
hi def link zoneIP6Addr Number
hi def link zoneText String
hi def link zoneNumber Number
hi def link zoneSerial Special
hi def link zoneErrParen Error
hi def link zoneComment Comment
let b:current_syntax = "bindzone"
" vim:sts=2 sw=2

View File

@@ -0,0 +1,126 @@
" Vim syntax file
" Language: BitBake bb/bbclasses/inc
" Author: Chris Larson <kergoth@handhelds.org>
" Ricardo Salveti <rsalveti@rsalveti.net>
" Copyright: Copyright (C) 2004 Chris Larson <kergoth@handhelds.org>
" Copyright (C) 2008 Ricardo Salveti <rsalveti@rsalveti.net>
"
" This file is licensed under the MIT license, see COPYING.MIT in
" this source distribution for the terms.
"
" Syntax highlighting for bb, bbclasses and inc files.
"
" It's an entirely new type, just has specific syntax in shell and python code
if v:version < 600
finish
endif
if exists("b:current_syntax")
finish
endif
syn include @python syntax/python.vim
unlet! b:current_syntax
" BitBake syntax
" Matching case
syn case match
" Indicates the error when nothing is matched
syn match bbUnmatched "."
" Comments
syn cluster bbCommentGroup contains=bbTodo,@Spell
syn keyword bbTodo COMBAK FIXME TODO XXX contained
syn match bbComment "#.*$" contains=@bbCommentGroup
" String helpers
syn match bbQuote +['"]+ contained
syn match bbDelimiter "[(){}=]" contained
syn match bbArrayBrackets "[\[\]]" contained
" BitBake strings
syn match bbContinue "\\$"
syn region bbString matchgroup=bbQuote start=+"+ skip=+\\$+ end=+"+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
syn region bbString matchgroup=bbQuote start=+'+ skip=+\\$+ end=+'+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
" Vars definition
syn match bbExport "^export" nextgroup=bbIdentifier skipwhite
syn keyword bbExportFlag export contained nextgroup=bbIdentifier skipwhite
syn match bbIdentifier "[a-zA-Z0-9\-_\.\/\+]\+" display contained
syn match bbVarDeref "${[a-zA-Z0-9\-_:\.\/\+]\+}" contained
syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)" contained nextgroup=bbVarValue
syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.\/\+][${}a-zA-Z0-9\-_:\.\/\+]*\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbOverrideOperator,bbVarDeref nextgroup=bbVarEq
syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref,bbVarPyValue
syn region bbVarPyValue start=+${@+ skip=+\\$+ end=+}+ contained contains=@python
" Vars metadata flags
syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.+]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(:=\|=\|.=\|=.|+=\|=+\|?=\)\@=" contained contains=bbIdentifier nextgroup=bbVarEq
" Includes and requires
syn keyword bbInclude inherit include require contained
syn match bbIncludeRest ".*$" contained contains=bbString,bbVarDeref
syn match bbIncludeLine "^\(inherit\|include\|require\)\s\+" contains=bbInclude nextgroup=bbIncludeRest
" Add taks and similar
syn keyword bbStatement addtask deltask addhandler after before EXPORT_FUNCTIONS contained
syn match bbStatementRest ".*$" skipwhite contained contains=bbStatement
syn match bbStatementLine "^\(addtask\|deltask\|addhandler\|after\|before\|EXPORT_FUNCTIONS\)\s\+" contains=bbStatement nextgroup=bbStatementRest
" OE Important Functions
syn keyword bbOEFunctions do_fetch do_unpack do_patch do_configure do_compile do_stage do_install do_package contained
" Generic Functions
syn match bbFunction "\h[0-9A-Za-z_\-\.]*" display contained contains=bbOEFunctions
syn keyword bbOverrideOperator append prepend remove contained
" BitBake shell metadata
syn include @shell syntax/sh.vim
unlet! b:current_syntax
syn keyword bbShFakeRootFlag fakeroot contained
syn match bbShFuncDef "^\(fakeroot\s*\)\?\([\.0-9A-Za-z_:${}\-\.]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbOverrideOperator,bbVarDeref,bbDelimiter nextgroup=bbShFuncRegion skipwhite
syn region bbShFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@shell
" Python value inside shell functions
syn region shDeref start=+${@+ skip=+\\$+ excludenl end=+}+ contained contains=@python
" BitBake python metadata
syn keyword bbPyFlag python contained
syn match bbPyFuncDef "^\(fakeroot\s*\)\?\(python\)\(\s\+[0-9A-Za-z_:${}\-\.]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbPyFlag,bbFunction,bbOverrideOperator,bbVarDeref,bbDelimiter nextgroup=bbPyFuncRegion skipwhite
syn region bbPyFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@python
" BitBake 'def'd python functions
syn keyword bbPyDef def contained
syn region bbPyDefRegion start='^\(def\s\+\)\([0-9A-Za-z_-]\+\)\(\s*(.*)\s*\):\s*$' end='^\(\s\|$\)\@!' contains=@python
" Highlighting Definitions
hi def link bbUnmatched Error
hi def link bbInclude Include
hi def link bbTodo Todo
hi def link bbComment Comment
hi def link bbQuote String
hi def link bbString String
hi def link bbDelimiter Keyword
hi def link bbArrayBrackets Statement
hi def link bbContinue Special
hi def link bbExport Type
hi def link bbExportFlag Type
hi def link bbIdentifier Identifier
hi def link bbVarDeref PreProc
hi def link bbVarDef Identifier
hi def link bbVarValue String
hi def link bbShFakeRootFlag Type
hi def link bbFunction Function
hi def link bbPyFlag Type
hi def link bbPyDef Statement
hi def link bbStatement Statement
hi def link bbStatementRest Identifier
hi def link bbOEFunctions Special
hi def link bbVarPyValue PreProc
hi def link bbOverrideOperator Operator
let b:current_syntax = "bitbake"

View File

@@ -0,0 +1,39 @@
" Vim syntax file
" Language: Blank 1.4.1
" Maintainer: Rafal M. Sulejman <unefunge@friko2.onet.pl>
" Last change: 2011 Dec 28 by Thilo Six
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn case ignore
" Blank instructions
syn match blankInstruction "{[:;,\.+\-*$#@/\\`'"!\|><{}\[\]()?xspo\^&\~=_%]}"
" Common strings
syn match blankString "\~[^}]"
" Numbers
syn match blankNumber "\[[0-9]\+\]"
syn case match
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link blankInstruction Statement
hi def link blankNumber Number
hi def link blankString String
let b:current_syntax = "blank"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8

View File

@@ -0,0 +1,17 @@
" Vim syntax file
" Language: Boundary Scan Description Language (BSDL)
" Maintainer: Daniel Kho <daniel.kho@logik.haus>
" Last Changed: 2020 Mar 19 by Daniel Kho
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" Read in VHDL syntax files
runtime! syntax/vhdl.vim
unlet b:current_syntax
let b:current_syntax = "bsdl"
" vim: ts=8

View File

@@ -0,0 +1,70 @@
" Vim syntax file
" Language: BibTeX Bibliography Style
" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
" Filenames: *.bst
" $Id: bst.vim,v 1.2 2007/05/05 18:24:42 vimboss Exp $
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
setlocal iskeyword=48-57,#,$,',.,A-Z,a-z
syn case ignore
syn match bstString +"[^"]*\%("\|$\)+ contains=bstField,bstType,bstError
" Highlight the last character of an unclosed string, but only when the cursor
" is not beyond it (i.e., it is still being edited). Imperfect.
syn match bstError '[^"]\%#\@!$' contained
syn match bstNumber "#-\=\d\+\>"
syn keyword bstNumber entry.max$ global.max$
syn match bstComment "%.*"
syn keyword bstCommand ENTRY FUNCTION INTEGERS MACRO STRINGS
syn keyword bstCommand READ EXECUTE ITERATE REVERSE SORT
syn match bstBuiltIn "\s[-<>=+*]\|\s:="
syn keyword bstBuiltIn add.period$
syn keyword bstBuiltIn call.type$ change.case$ chr.to.int$ cite$
syn keyword bstBuiltIn duplicate$ empty$ format.name$
syn keyword bstBuiltIn if$ int.to.chr$ int.to.str$
syn keyword bstBuiltIn missing$
syn keyword bstBuiltIn newline$ num.names$
syn keyword bstBuiltIn pop$ preamble$ purify$ quote$
syn keyword bstBuiltIn skip$ stack$ substring$ swap$
syn keyword bstBuiltIn text.length$ text.prefix$ top$ type$
syn keyword bstBuiltIn warning$ while$ width$ write$
syn match bstIdentifier "'\k*"
syn keyword bstType article book booklet conference
syn keyword bstType inbook incollection inproceedings
syn keyword bstType manual mastersthesis misc
syn keyword bstType phdthesis proceedings
syn keyword bstType techreport unpublished
syn keyword bstField abbr address annote author
syn keyword bstField booktitle chapter crossref comment
syn keyword bstField edition editor
syn keyword bstField howpublished institution journal key month
syn keyword bstField note number
syn keyword bstField organization
syn keyword bstField pages publisher
syn keyword bstField school series
syn keyword bstField title type
syn keyword bstField volume year
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link bstComment Comment
hi def link bstString String
hi def link bstCommand PreProc
hi def link bstBuiltIn Statement
hi def link bstField Special
hi def link bstNumber Number
hi def link bstType Type
hi def link bstIdentifier Identifier
hi def link bstError Error
let b:current_syntax = "bst"
" vim:set ft=vim sts=4 sw=4:

View File

@@ -0,0 +1,216 @@
" Vim syntax file
" Language: 4Dos batch file
" Maintainer: John Leo Spetz <jls11@po.cwru.edu>
" Last Change: 2001 May 09
"//Issues to resolve:
"//- Boolean operators surrounded by period are recognized but the
"// periods are not highlighted. The only way to do that would
"// be separate synmatches for each possibility otherwise a more
"// general \.\i\+\. will highlight anything delimited by dots.
"//- After unary operators like "defined" can assume token type.
"// Should there be more of these?
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn case ignore
syn keyword btmStatement call off
syn keyword btmConditional if iff endiff then else elseiff not errorlevel
syn keyword btmConditional gt lt eq ne ge le
syn match btmConditional transparent "\.\i\+\." contains=btmDotBoolOp
syn keyword btmDotBoolOp contained and or xor
syn match btmConditional "=="
syn match btmConditional "!="
syn keyword btmConditional defined errorlevel exist isalias
syn keyword btmConditional isdir direxist isinternal islabel
syn keyword btmRepeat for in do enddo
syn keyword btmTodo contained TODO
" String
syn cluster btmVars contains=btmVariable,btmArgument,btmBIFMatch
syn region btmString start=+"+ end=+"+ contains=@btmVars
syn match btmNumber "\<\d\+\>"
"syn match btmIdentifier "\<\h\w*\>"
" If you don't like tabs
"syn match btmShowTab "\t"
"syn match btmShowTabc "\t"
"syn match btmComment "^\ *rem.*$" contains=btmTodo,btmShowTabc
" Some people use this as a comment line
" In fact this is a Label
"syn match btmComment "^\ *:\ \+.*$" contains=btmTodo
syn match btmComment "^\ *rem.*$" contains=btmTodo
syn match btmComment "^\ *::.*$" contains=btmTodo
syn match btmLabelMark "^\ *:[0-9a-zA-Z_\-]\+\>"
syn match btmLabelMark "goto [0-9a-zA-Z_\-]\+\>"lc=5
syn match btmLabelMark "gosub [0-9a-zA-Z_\-]\+\>"lc=6
" syn match btmCmdDivider ">[>&][>&]\="
syn match btmCmdDivider ">[>&]*"
syn match btmCmdDivider ">>&>"
syn match btmCmdDivider "|&\="
syn match btmCmdDivider "%+"
syn match btmCmdDivider "\^"
syn region btmEcho start="echo" skip="echo" matchgroup=btmCmdDivider end="%+" end="$" end="|&\=" end="\^" end=">[>&]*" contains=@btmEchos oneline
syn cluster btmEchos contains=@btmVars,btmEchoCommand,btmEchoParam
syn keyword btmEchoCommand contained echo echoerr echos echoserr
syn keyword btmEchoParam contained on off
" this is also a valid Label. I don't use it.
"syn match btmLabelMark "^\ *:\ \+[0-9a-zA-Z_\-]\+\>"
" //Environment variable can be expanded using notation %var in 4DOS
syn match btmVariable "%[0-9a-z_\-]\+" contains=@btmSpecialVars
" //Environment variable can be expanded using notation %var%
syn match btmVariable "%[0-9a-z_\-]*%" contains=@btmSpecialVars
" //The following are special variable in 4DOS
syn match btmVariable "%[=#]" contains=@btmSpecialVars
syn match btmVariable "%??\=" contains=@btmSpecialVars
" //Environment variable can be expanded using notation %[var] in 4DOS
syn match btmVariable "%\[[0-9a-z_\-]*\]"
" //After some keywords next word should be an environment variable
syn match btmVariable "defined\s\i\+"lc=8
syn match btmVariable "set\s\i\+"lc=4
" //Parameters to batchfiles take the format %<digit>
syn match btmArgument "%\d\>"
" //4DOS allows format %<digit>& meaning batchfile parameters digit and up
syn match btmArgument "%\d\>&"
" //Variable used by FOR loops sometimes use %%<letter> in batchfiles
syn match btmArgument "%%\a\>"
" //Show 4DOS built-in functions specially
syn match btmBIFMatch "%@\w\+\["he=e-1 contains=btmBuiltInFunc
syn keyword btmBuiltInFunc contained alias ascii attrib cdrom
syn keyword btmBuiltInFunc contained char clip comma convert
syn keyword btmBuiltInFunc contained date day dec descript
syn keyword btmBuiltInFunc contained device diskfree disktotal
syn keyword btmBuiltInFunc contained diskused dosmem dow dowi
syn keyword btmBuiltInFunc contained doy ems eval exec execstr
syn keyword btmBuiltInFunc contained expand ext extended
syn keyword btmBuiltInFunc contained fileage fileclose filedate
syn keyword btmBuiltInFunc contained filename fileopen fileread
syn keyword btmBuiltInFunc contained files fileseek fileseekl
syn keyword btmBuiltInFunc contained filesize filetime filewrite
syn keyword btmBuiltInFunc contained filewriteb findclose
syn keyword btmBuiltInFunc contained findfirst findnext format
syn keyword btmBuiltInFunc contained full if inc index insert
syn keyword btmBuiltInFunc contained instr int label left len
syn keyword btmBuiltInFunc contained lfn line lines lower lpt
syn keyword btmBuiltInFunc contained makeage makedate maketime
syn keyword btmBuiltInFunc contained master month name numeric
syn keyword btmBuiltInFunc contained path random readscr ready
syn keyword btmBuiltInFunc contained remote removable repeat
syn keyword btmBuiltInFunc contained replace right search
syn keyword btmBuiltInFunc contained select sfn strip substr
syn keyword btmBuiltInFunc contained time timer trim truename
syn keyword btmBuiltInFunc contained unique upper wild word
syn keyword btmBuiltInFunc contained words xms year
syn cluster btmSpecialVars contains=btmBuiltInVar,btmSpecialVar
" //Show specialized variables specially
" syn match btmSpecialVar contained "+"
syn match btmSpecialVar contained "="
syn match btmSpecialVar contained "#"
syn match btmSpecialVar contained "??\="
syn keyword btmSpecialVar contained cmdline colordir comspec
syn keyword btmSpecialVar contained copycmd dircmd temp temp4dos
syn keyword btmSpecialVar contained filecompletion path prompt
" //Show 4DOS built-in variables specially specially
syn keyword btmBuiltInVar contained _4ver _alias _ansi
syn keyword btmBuiltInVar contained _apbatt _aplife _apmac _batch
syn keyword btmBuiltInVar contained _batchline _batchname _bg
syn keyword btmBuiltInVar contained _boot _ci _cmdproc _co
syn keyword btmBuiltInVar contained _codepage _column _columns
syn keyword btmBuiltInVar contained _country _cpu _cwd _cwds _cwp
syn keyword btmBuiltInVar contained _cwps _date _day _disk _dname
syn keyword btmBuiltInVar contained _dos _dosver _dow _dowi _doy
syn keyword btmBuiltInVar contained _dpmi _dv _env _fg _hlogfile
syn keyword btmBuiltInVar contained _hour _kbhit _kstack _lastdisk
syn keyword btmBuiltInVar contained _logfile _minute _monitor
syn keyword btmBuiltInVar contained _month _mouse _ndp _row _rows
syn keyword btmBuiltInVar contained _second _shell _swapping
syn keyword btmBuiltInVar contained _syserr _time _transient
syn keyword btmBuiltInVar contained _video _win _wintitle _year
" //Commands in 4DOS and/or DOS
syn match btmCommand "\s?"
syn match btmCommand "^?"
syn keyword btmCommand alias append assign attrib
syn keyword btmCommand backup beep break cancel case
syn keyword btmCommand cd cdd cdpath chcp chdir
syn keyword btmCommand chkdsk cls color comp copy
syn keyword btmCommand ctty date debug default defrag
syn keyword btmCommand del delay describe dir
syn keyword btmCommand dirhistory dirs diskcomp
syn keyword btmCommand diskcopy doskey dosshell
syn keyword btmCommand drawbox drawhline drawvline
"syn keyword btmCommand echo echoerr echos echoserr
syn keyword btmCommand edit edlin emm386 endlocal
syn keyword btmCommand endswitch erase eset except
syn keyword btmCommand exe2bin exit expand fastopen
syn keyword btmCommand fc fdisk ffind find format
syn keyword btmCommand free global gosub goto
syn keyword btmCommand graftabl graphics help history
syn keyword btmCommand inkey input join keyb keybd
syn keyword btmCommand keystack label lh list loadbtm
syn keyword btmCommand loadhigh lock log md mem
syn keyword btmCommand memory mirror mkdir mode more
syn keyword btmCommand move nlsfunc on option path
syn keyword btmCommand pause popd print prompt pushd
syn keyword btmCommand quit rd reboot recover ren
syn keyword btmCommand rename replace restore return
syn keyword btmCommand rmdir scandisk screen scrput
syn keyword btmCommand select set setdos setlocal
syn keyword btmCommand setver share shift sort subst
syn keyword btmCommand swapping switch sys tee text
syn keyword btmCommand time timer touch tree truename
syn keyword btmCommand type unalias undelete unformat
syn keyword btmCommand unlock unset ver verify vol
syn keyword btmCommand vscrput y
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link btmLabel Special
hi def link btmLabelMark Special
hi def link btmCmdDivider Special
hi def link btmConditional btmStatement
hi def link btmDotBoolOp btmStatement
hi def link btmRepeat btmStatement
hi def link btmEchoCommand btmStatement
hi def link btmEchoParam btmStatement
hi def link btmStatement Statement
hi def link btmTodo Todo
hi def link btmString String
hi def link btmNumber Number
hi def link btmComment Comment
hi def link btmArgument Identifier
hi def link btmVariable Identifier
hi def link btmEcho String
hi def link btmBIFMatch btmStatement
hi def link btmBuiltInFunc btmStatement
hi def link btmBuiltInVar btmStatement
hi def link btmSpecialVar btmStatement
hi def link btmCommand btmStatement
"optional highlighting
"hi def link btmShowTab Error
"hi def link btmShowTabc Error
"hi def link btmIdentifier Identifier
let b:current_syntax = "btm"
" vim: ts=8

View File

@@ -0,0 +1,16 @@
" Vim syntax file
" Language: Bazel (http://bazel.io)
" Maintainer: David Barnett (https://github.com/google/vim-ft-bzl)
" Last Change: 2015 Aug 11
if exists('b:current_syntax')
finish
endif
runtime! syntax/python.vim
let b:current_syntax = 'bzl'
syn region bzlRule start='^\w\+($' end='^)\n*' transparent fold
syn region bzlList start='\[' end='\]' transparent fold

View File

@@ -0,0 +1,50 @@
" Vim syntax file
" Language: Bazaar (bzr) commit file
" Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
" URL: https://github.com/hdima/vim-scripts/blob/master/syntax/bzr.vim
" Last Change: 2012-02-11
" Filenames: bzr_log.*
" Version: 1.2.2
"
" Thanks:
"
" Gioele Barabucci
" for idea of diff highlighting
" quit when a syntax file was already loaded.
if exists("b:current_syntax")
finish
endif
if exists("bzr_highlight_diff")
syn include @Diff syntax/diff.vim
endif
syn match bzrRemoved "^removed:$" contained
syn match bzrAdded "^added:$" contained
syn match bzrRenamed "^renamed:$" contained
syn match bzrModified "^modified:$" contained
syn match bzrUnchanged "^unchanged:$" contained
syn match bzrUnknown "^unknown:$" contained
syn cluster Statuses contains=bzrRemoved,bzrAdded,bzrRenamed,bzrModified,bzrUnchanged,bzrUnknown
if exists("bzr_highlight_diff")
syn cluster Statuses add=@Diff
endif
syn region bzrRegion start="^-\{14} This line and the following will be ignored -\{14}$" end="\%$" contains=@NoSpell,@Statuses
" Synchronization.
syn sync clear
syn sync match bzrSync grouphere bzrRegion "^-\{14} This line and the following will be ignored -\{14}$"me=s-1
" Define the default highlighting.
" Only when an item doesn't have highlighting yet.
hi def link bzrRemoved Constant
hi def link bzrAdded Identifier
hi def link bzrModified Special
hi def link bzrRenamed Special
hi def link bzrUnchanged Special
hi def link bzrUnknown Special
let b:current_syntax = "bzr"

View File

@@ -0,0 +1,533 @@
" Vim syntax file
" Language: C
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2023 Aug 10
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
let s:ft = matchstr(&ft, '^\%([^.]\)\+')
" check if this was included from cpp.vim
let s:in_cpp_family = exists("b:filetype_in_cpp_family")
" Optional embedded Autodoc parsing
" To enable it add: let g:c_autodoc = 1
" to your .vimrc
if exists("c_autodoc")
syn include @cAutodoc <sfile>:p:h/autodoc.vim
unlet b:current_syntax
endif
" A bunch of useful C keywords
syn keyword cStatement goto break return continue asm
syn keyword cLabel case default
syn keyword cConditional if else switch
syn keyword cRepeat while for do
syn keyword cTodo contained TODO FIXME XXX
" It's easy to accidentally add a space after a backslash that was intended
" for line continuation. Some compilers allow it, which makes it
" unpredictable and should be avoided.
syn match cBadContinuation contained "\\\s\+$"
" cCommentGroup allows adding matches for special things in comments
syn cluster cCommentGroup contains=cTodo,cBadContinuation
" String and Character constants
" Highlight special characters (those which have a backslash) differently
syn match cSpecial display contained "\\\%(x\x\+\|\o\{1,3}\|.\|$\)"
if !exists("c_no_utf")
syn match cSpecial display contained "\\\%(u\x\{4}\|U\x\{8}\)"
endif
if !exists("c_no_cformat")
" Highlight % items in strings.
if !exists("c_no_c99") " ISO C99
syn match cFormat display "%\%(\d\+\$\)\=[-+' #0*]*\%(\d*\|\*\|\*\d\+\$\)\%(\.\%(\d*\|\*\|\*\d\+\$\)\)\=\%([hlLjzt]\|ll\|hh\)\=\%([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
else
syn match cFormat display "%\%(\d\+\$\)\=[-+' #0*]*\%(\d*\|\*\|\*\d\+\$\)\%(\.\%(\d*\|\*\|\*\d\+\$\)\)\=\%([hlL]\|ll\)\=\%([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
endif
syn match cFormat display "%%" contained
endif
" cCppString: same as cString, but ends at end of line
if s:in_cpp_family && !exists("cpp_no_cpp11") && !exists("c_no_cformat")
" ISO C++11
syn region cString start=+\%(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
syn region cCppString start=+\%(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
elseif s:ft ==# "c" && !exists("c_no_c11") && !exists("c_no_cformat")
" ISO C99
syn region cString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
syn region cCppString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
else
" older C or C++
syn match cFormat display "%%" contained
syn region cString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
endif
syn region cCppSkip contained start="^\s*\%(%:\|#\)\s*\%(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip
syn cluster cStringGroup contains=cCppString,cCppSkip
syn match cCharacter "L\='[^\\]'"
syn match cCharacter "L'[^']*'" contains=cSpecial
if exists("c_gnu")
syn match cSpecialError "L\='\\[^'\"?\\abefnrtv]'"
syn match cSpecialCharacter "L\='\\['\"?\\abefnrtv]'"
else
syn match cSpecialError "L\='\\[^'\"?\\abfnrtv]'"
syn match cSpecialCharacter "L\='\\['\"?\\abfnrtv]'"
endif
syn match cSpecialCharacter display "L\='\\\o\{1,3}'"
syn match cSpecialCharacter display "'\\x\x\{1,2}'"
syn match cSpecialCharacter display "L'\\x\x\+'"
if (s:ft ==# "c" && !exists("c_no_c11")) || (s:in_cpp_family && !exists("cpp_no_cpp11"))
" ISO C11 or ISO C++ 11
if exists("c_no_cformat")
syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend
else
syn region cString start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
endif
syn match cCharacter "[Uu]'[^\\]'"
syn match cCharacter "[Uu]'[^']*'" contains=cSpecial
if exists("c_gnu")
syn match cSpecialError "[Uu]'\\[^'\"?\\abefnrtv]'"
syn match cSpecialCharacter "[Uu]'\\['\"?\\abefnrtv]'"
else
syn match cSpecialError "[Uu]'\\[^'\"?\\abfnrtv]'"
syn match cSpecialCharacter "[Uu]'\\['\"?\\abfnrtv]'"
endif
syn match cSpecialCharacter display "[Uu]'\\\o\{1,3}'"
syn match cSpecialCharacter display "[Uu]'\\x\x\+'"
endif
"when wanted, highlight trailing white space
if exists("c_space_errors")
if !exists("c_no_trail_space_error")
syn match cSpaceError display excludenl "\s\+$"
endif
if !exists("c_no_tab_space_error")
syn match cSpaceError display " \+\t"me=e-1
endif
endif
" This should be before cErrInParen to avoid problems with #define ({ xxx })
if exists("c_curly_error")
syn match cCurlyError "}"
syn region cBlock start="{" end="}" contains=ALLBUT,cBadBlock,cCurlyError,@cParenGroup,cErrInParen,cCppParen,cErrInBracket,cCppBracket,@cStringGroup,@Spell fold
else
syn region cBlock start="{" end="}" transparent fold
endif
" Catch errors caused by wrong parenthesis and brackets.
" Also accept <% for {, %> for }, <: for [ and :> for ] (C99)
" But avoid matching <::.
syn cluster cParenGroup contains=cParenError,cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserLabel,cBitField,cOctalZero,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom
if exists("c_no_curly_error")
if s:in_cpp_family && !exists("cpp_no_cpp11")
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,@cStringGroup,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
syn match cParenError display ")"
syn match cErrInParen display contained "^^<%\|^%>"
else
syn region cParen transparent start='(' end=')' contains=ALLBUT,cBlock,@cParenGroup,cCppParen,@cStringGroup,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
syn match cParenError display ")"
syn match cErrInParen display contained "^[{}]\|^<%\|^%>"
endif
elseif exists("c_no_bracket_error")
if s:in_cpp_family && !exists("cpp_no_cpp11")
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,@cStringGroup,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
syn match cParenError display ")"
syn match cErrInParen display contained "<%\|%>"
else
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,@cStringGroup,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cParen,cString,@Spell
syn match cParenError display ")"
syn match cErrInParen display contained "[{}]\|<%\|%>"
endif
else
if s:in_cpp_family && !exists("cpp_no_cpp11")
syn region cParen transparent start='(' end=')' contains=ALLBUT,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,@cStringGroup,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell
syn match cParenError display "[\])]"
syn match cErrInParen display contained "<%\|%>"
syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' contains=ALLBUT,@cParenGroup,cErrInParen,cCppParen,cCppBracket,@cStringGroup,@Spell
else
syn region cParen transparent start='(' end=')' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cCppParen,cErrInBracket,cCppBracket,@cStringGroup,@Spell
" cCppParen: same as cParen but ends at end-of-line; used in cDefine
syn region cCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@cParenGroup,cErrInBracket,cParen,cBracket,cString,@Spell
syn match cParenError display "[\])]"
syn match cErrInParen display contained "[\]{}]\|<%\|%>"
syn region cBracket transparent start='\[\|<::\@!' end=']\|:>' end='}'me=s-1 contains=ALLBUT,cBlock,@cParenGroup,cErrInParen,cCppParen,cCppBracket,@cStringGroup,@Spell
endif
" cCppBracket: same as cParen but ends at end-of-line; used in cDefine
syn region cCppBracket transparent start='\[\|<::\@!' skip='\\$' excludenl end=']\|:>' end='$' contained contains=ALLBUT,@cParenGroup,cErrInParen,cParen,cBracket,cString,@Spell
syn match cErrInBracket display contained "[);{}]\|<%\|%>"
endif
if s:ft ==# 'c' || exists("cpp_no_cpp11")
syn region cBadBlock keepend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold
endif
"integer number, or floating point number without a dot and with "f".
syn case ignore
syn match cNumbers display transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctalError,cOctal
" Same, but without octal error (for comments)
syn match cNumbersCom display contained transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctal
syn match cNumber display contained "\d\+\%(u\=l\{0,2}\|ll\=u\)\>"
"hex number
syn match cNumber display contained "0x\x\+\%(u\=l\{0,2}\|ll\=u\)\>"
" Flag the first zero of an octal number as something special
syn match cOctal display contained "0\o\+\%(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero
syn match cOctalZero display contained "\<0"
"floating point number, with dot, optional exponent
syn match cFloat display contained "\d\+\.\d*\%(e[-+]\=\d\+\)\=[fl]\="
"floating point number, starting with a dot, optional exponent
syn match cFloat display contained "\.\d\+\%(e[-+]\=\d\+\)\=[fl]\=\>"
"floating point number, without dot, with exponent
syn match cFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>"
if !exists("c_no_c99")
"hexadecimal floating point number, optional leading digits, with dot, with exponent
syn match cFloat display contained "0x\x*\.\x\+p[-+]\=\d\+[fl]\=\>"
"hexadecimal floating point number, with leading digits, optional dot, with exponent
syn match cFloat display contained "0x\x\+\.\=p[-+]\=\d\+[fl]\=\>"
endif
" flag an octal number with wrong digits
syn match cOctalError display contained "0\o*[89]\d*"
syn case match
if exists("c_comment_strings")
" A comment can contain cString, cCharacter and cNumber.
" But a "*/" inside a cString in a cComment DOES end the comment! So we
" need to use a special type of cString: cCommentString, which also ends on
" "*/", and sees a "*" at the start of the line as comment again.
" Unfortunately this doesn't very well work for // type of comments :-(
syn match cCommentSkip contained "^\s*\*\%($\|\s\+\)"
syn region cCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip
syn region cComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial
syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError,cWrongComTail,@Spell
if exists("c_no_comment_fold")
" Use "extend" here to have preprocessor lines not terminate halfway a
" comment.
syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell extend
else
syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cCommentString,cCharacter,cNumbersCom,cSpaceError,@Spell fold extend
endif
else
syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cSpaceError,@Spell
if exists("c_no_comment_fold")
syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cSpaceError,@Spell extend
else
syn region cComment matchgroup=cCommentStart start="/\*" end="\*/" contains=@cCommentGroup,cCommentStartError,cSpaceError,@Spell fold extend
endif
endif
" keep a // comment separately, it terminates a preproc. conditional
syn match cCommentError display "\*/"
syn match cCommentStartError display "/\*"me=e-1 contained
syn match cWrongComTail display "\*/"
syn keyword cOperator sizeof
if exists("c_gnu")
syn keyword cType __label__ __complex__
syn keyword cStatement __asm__
syn keyword cOperator __alignof__
syn keyword cOperator typeof __typeof__
syn keyword cOperator __real__ __imag__
syn keyword cStorageClass __attribute__ __const__ __extension__
syn keyword cStorageClass inline __inline __inline__
syn keyword cStorageClass __restrict__ __volatile__ __noreturn__
endif
syn keyword cType int long short char void
syn keyword cType signed unsigned float double
if !exists("c_no_ansi") || exists("c_ansi_typedefs")
syn keyword cType size_t ssize_t off_t wchar_t ptrdiff_t sig_atomic_t fpos_t
syn keyword cType clock_t time_t va_list jmp_buf FILE DIR div_t ldiv_t
syn keyword cType mbstate_t wctrans_t wint_t wctype_t
endif
if !exists("c_no_c99") " ISO C99
syn keyword cType _Bool bool _Complex complex _Imaginary imaginary
syn keyword cType int8_t int16_t int32_t int64_t
syn keyword cType uint8_t uint16_t uint32_t uint64_t
if !exists("c_no_bsd")
" These are BSD specific.
syn keyword cType u_int8_t u_int16_t u_int32_t u_int64_t
endif
syn keyword cType int_least8_t int_least16_t int_least32_t int_least64_t
syn keyword cType uint_least8_t uint_least16_t uint_least32_t uint_least64_t
syn keyword cType int_fast8_t int_fast16_t int_fast32_t int_fast64_t
syn keyword cType uint_fast8_t uint_fast16_t uint_fast32_t uint_fast64_t
syn keyword cType intptr_t uintptr_t
syn keyword cType intmax_t uintmax_t
endif
syn keyword cTypedef typedef
syn keyword cStructure struct union enum
syn keyword cStorageClass static register auto volatile extern const
if !exists("c_no_c99") && !s:in_cpp_family
syn keyword cStorageClass inline restrict
endif
if !exists("c_no_c11")
syn keyword cStorageClass _Alignas alignas
syn keyword cOperator _Alignof alignof
syn keyword cStorageClass _Atomic
syn keyword cOperator _Generic
syn keyword cStorageClass _Noreturn noreturn
syn keyword cOperator _Static_assert static_assert
syn keyword cStorageClass _Thread_local thread_local
syn keyword cType char16_t char32_t
syn keyword cType max_align_t
" C11 atomics (take down the shield wall!)
syn keyword cType atomic_bool atomic_char atomic_schar atomic_uchar
syn keyword Ctype atomic_short atomic_ushort atomic_int atomic_uint
syn keyword cType atomic_long atomic_ulong atomic_llong atomic_ullong
syn keyword cType atomic_char16_t atomic_char32_t atomic_wchar_t
syn keyword cType atomic_int_least8_t atomic_uint_least8_t
syn keyword cType atomic_int_least16_t atomic_uint_least16_t
syn keyword cType atomic_int_least32_t atomic_uint_least32_t
syn keyword cType atomic_int_least64_t atomic_uint_least64_t
syn keyword cType atomic_int_fast8_t atomic_uint_fast8_t
syn keyword cType atomic_int_fast16_t atomic_uint_fast16_t
syn keyword cType atomic_int_fast32_t atomic_uint_fast32_t
syn keyword cType atomic_int_fast64_t atomic_uint_fast64_t
syn keyword cType atomic_intptr_t atomic_uintptr_t
syn keyword cType atomic_size_t atomic_ptrdiff_t
syn keyword cType atomic_intmax_t atomic_uintmax_t
endif
if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
if exists("c_gnu")
syn keyword cConstant __GNUC__ __FUNCTION__ __PRETTY_FUNCTION__ __func__
endif
syn keyword cConstant __LINE__ __FILE__ __DATE__ __TIME__ __STDC__ __STDC_VERSION__ __STDC_HOSTED__
syn keyword cConstant CHAR_BIT MB_LEN_MAX MB_CUR_MAX
syn keyword cConstant UCHAR_MAX UINT_MAX ULONG_MAX USHRT_MAX
syn keyword cConstant CHAR_MIN INT_MIN LONG_MIN SHRT_MIN
syn keyword cConstant CHAR_MAX INT_MAX LONG_MAX SHRT_MAX
syn keyword cConstant SCHAR_MIN SINT_MIN SLONG_MIN SSHRT_MIN
syn keyword cConstant SCHAR_MAX SINT_MAX SLONG_MAX SSHRT_MAX
if !exists("c_no_c99")
syn keyword cConstant __func__ __VA_ARGS__
syn keyword cConstant LLONG_MIN LLONG_MAX ULLONG_MAX
syn keyword cConstant INT8_MIN INT16_MIN INT32_MIN INT64_MIN
syn keyword cConstant INT8_MAX INT16_MAX INT32_MAX INT64_MAX
syn keyword cConstant UINT8_MAX UINT16_MAX UINT32_MAX UINT64_MAX
syn keyword cConstant INT_LEAST8_MIN INT_LEAST16_MIN INT_LEAST32_MIN INT_LEAST64_MIN
syn keyword cConstant INT_LEAST8_MAX INT_LEAST16_MAX INT_LEAST32_MAX INT_LEAST64_MAX
syn keyword cConstant UINT_LEAST8_MAX UINT_LEAST16_MAX UINT_LEAST32_MAX UINT_LEAST64_MAX
syn keyword cConstant INT_FAST8_MIN INT_FAST16_MIN INT_FAST32_MIN INT_FAST64_MIN
syn keyword cConstant INT_FAST8_MAX INT_FAST16_MAX INT_FAST32_MAX INT_FAST64_MAX
syn keyword cConstant UINT_FAST8_MAX UINT_FAST16_MAX UINT_FAST32_MAX UINT_FAST64_MAX
syn keyword cConstant INTPTR_MIN INTPTR_MAX UINTPTR_MAX
syn keyword cConstant INTMAX_MIN INTMAX_MAX UINTMAX_MAX
syn keyword cConstant PTRDIFF_MIN PTRDIFF_MAX SIG_ATOMIC_MIN SIG_ATOMIC_MAX
syn keyword cConstant SIZE_MAX WCHAR_MIN WCHAR_MAX WINT_MIN WINT_MAX
endif
syn keyword cConstant FLT_RADIX FLT_ROUNDS FLT_DIG FLT_MANT_DIG FLT_EPSILON DBL_DIG DBL_MANT_DIG DBL_EPSILON
syn keyword cConstant LDBL_DIG LDBL_MANT_DIG LDBL_EPSILON FLT_MIN FLT_MAX FLT_MIN_EXP FLT_MAX_EXP FLT_MIN_10_EXP FLT_MAX_10_EXP
syn keyword cConstant DBL_MIN DBL_MAX DBL_MIN_EXP DBL_MAX_EXP DBL_MIN_10_EXP DBL_MAX_10_EXP LDBL_MIN LDBL_MAX LDBL_MIN_EXP LDBL_MAX_EXP
syn keyword cConstant LDBL_MIN_10_EXP LDBL_MAX_10_EXP HUGE_VAL CLOCKS_PER_SEC NULL LC_ALL LC_COLLATE LC_CTYPE LC_MONETARY
syn keyword cConstant LC_NUMERIC LC_TIME SIG_DFL SIG_ERR SIG_IGN SIGABRT SIGFPE SIGILL SIGHUP SIGINT SIGSEGV SIGTERM
" Add POSIX signals as well...
syn keyword cConstant SIGABRT SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT SIGSEGV
syn keyword cConstant SIGSTOP SIGTERM SIGTRAP SIGTSTP SIGTTIN SIGTTOU SIGUSR1 SIGUSR2
syn keyword cConstant _IOFBF _IOLBF _IONBF BUFSIZ EOF WEOF FOPEN_MAX FILENAME_MAX L_tmpnam
syn keyword cConstant SEEK_CUR SEEK_END SEEK_SET TMP_MAX EXIT_FAILURE EXIT_SUCCESS RAND_MAX
syn keyword cConstant stdin stdout stderr
" POSIX 2001, in unistd.h
syn keyword cConstant STDIN_FILENO STDOUT_FILENO STDERR_FILENO
" used in assert.h
syn keyword cConstant NDEBUG
" POSIX 2001
syn keyword cConstant SIGBUS SIGPOLL SIGPROF SIGSYS SIGURG SIGVTALRM SIGXCPU SIGXFSZ
" non-POSIX signals
syn keyword cConstant SIGWINCH SIGINFO
" Add POSIX errors as well. List comes from:
" http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html
syn keyword cConstant E2BIG EACCES EADDRINUSE EADDRNOTAVAIL EAFNOSUPPORT EAGAIN EALREADY EBADF
syn keyword cConstant EBADMSG EBUSY ECANCELED ECHILD ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK
syn keyword cConstant EDESTADDRREQ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTUNREACH EIDRM EILSEQ
syn keyword cConstant EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK EMSGSIZE
syn keyword cConstant EMULTIHOP ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE ENOBUFS ENODATA
syn keyword cConstant ENODEV ENOENT ENOEXEC ENOLCK ENOLINK ENOMEM ENOMSG ENOPROTOOPT ENOSPC ENOSR
syn keyword cConstant ENOSTR ENOSYS ENOTBLK ENOTCONN ENOTDIR ENOTEMPTY ENOTRECOVERABLE ENOTSOCK ENOTSUP
syn keyword cConstant ENOTTY ENXIO EOPNOTSUPP EOVERFLOW EOWNERDEAD EPERM EPIPE EPROTO
syn keyword cConstant EPROTONOSUPPORT EPROTOTYPE ERANGE EROFS ESPIPE ESRCH ESTALE ETIME ETIMEDOUT
syn keyword cConstant ETXTBSY EWOULDBLOCK EXDEV
" math.h
syn keyword cConstant M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 M_PI_4
syn keyword cConstant M_1_PI M_2_PI M_2_SQRTPI M_SQRT2 M_SQRT1_2
endif
if !exists("c_no_c99") " ISO C99
syn keyword cConstant true false
endif
" Accept %: for # (C99)
syn region cPreCondit start="^\s*\zs\%(%:\|#\)\s*\%(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
syn match cPreConditMatch display "^\s*\zs\%(%:\|#\)\s*\%(else\|endif\)\>"
if !exists("c_no_if0")
syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip
syn region cCppOutWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0\+\s*\%($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\%(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
if !exists("c_no_if0_fold")
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold
else
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
endif
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
syn region cCppInWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\%($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold
syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\%(%:\|#\)\s*endif\>" contains=TOP,cPreCondit
if !exists("c_no_if0_fold")
syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
else
syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2
endif
syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)\%([^/]\|/[^/*]\)*" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
syn region cCppOutSkip contained start="^\s*\%(%:\|#\)\s*\%(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip
syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(if\s\+\%(\d\+\s*\%($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc
endif
syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
syn match cIncluded display contained "<[^>]*>"
syn match cInclude display "^\s*\zs\%(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
"syn match cLineSkip "\\$"
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock
syn region cDefine start="^\s*\zs\%(%:\|#\)\s*\%(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
syn region cPreProc start="^\s*\zs\%(%:\|#\)\s*\%(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
" Optional embedded Autodoc parsing
if exists("c_autodoc")
syn match cAutodocReal display contained "\%(//\|[/ \t\v]\*\|^\*\)\@2<=!.*" contains=@cAutodoc containedin=cComment,cCommentL
syn cluster cCommentGroup add=cAutodocReal
syn cluster cPreProcGroup add=cAutodocReal
endif
" be able to fold #pragma regions
syn region cPragma start="^\s*#pragma\s\+region\>" end="^\s*#pragma\s\+endregion\>" transparent keepend extend fold
" Highlight User Labels
syn cluster cMultiGroup contains=cIncluded,cSpecial,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cUserCont,cUserLabel,cBitField,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cCppParen,cCppBracket,cCppString
if s:ft ==# 'c' || exists("cpp_no_cpp11")
syn region cMulti transparent start='?' skip='::' end=':' contains=ALLBUT,@cMultiGroup,@Spell,@cStringGroup
endif
" Avoid matching foo::bar() in C++ by requiring that the next char is not ':'
syn cluster cLabelGroup contains=cUserLabel
syn match cUserCont display "^\s*\zs\I\i*\s*:$" contains=@cLabelGroup
syn match cUserCont display ";\s*\zs\I\i*\s*:$" contains=@cLabelGroup
if s:in_cpp_family
syn match cUserCont display "^\s*\zs\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
syn match cUserCont display ";\s*\zs\%(class\|struct\|enum\)\@!\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
else
syn match cUserCont display "^\s*\zs\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
syn match cUserCont display ";\s*\zs\I\i*\s*:[^:]"me=e-1 contains=@cLabelGroup
endif
syn match cUserLabel display "\I\i*" contained
" Avoid recognizing most bitfields as labels
syn match cBitField display "^\s*\zs\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
syn match cBitField display ";\s*\zs\I\i*\s*:\s*[1-9]"me=e-1 contains=cType
if exists("c_functions")
syn match cFunction "\<\h\w*\ze\_s*("
endif
if exists("c_function_pointers")
syn match cFunctionPointer "\%((\s*\*\s*\)\@<=\h\w*\ze\s*)\_s*(.*)"
endif
if exists("c_minlines")
let b:c_minlines = c_minlines
else
if !exists("c_no_if0")
let b:c_minlines = 50 " #if 0 constructs can be long
else
let b:c_minlines = 15 " mostly for () constructs
endif
endif
if exists("c_curly_error")
syn sync fromstart
else
exec "syn sync ccomment cComment minlines=" . b:c_minlines
endif
" Define the default highlighting.
" Only used when an item doesn't have highlighting yet
hi def link cFormat cSpecial
hi def link cCppString cString
hi def link cCommentL cComment
hi def link cCommentStart cComment
hi def link cLabel Label
hi def link cUserLabel Label
hi def link cConditional Conditional
hi def link cRepeat Repeat
hi def link cCharacter Character
hi def link cSpecialCharacter cSpecial
hi def link cNumber Number
hi def link cOctal Number
hi def link cOctalZero PreProc " link this to Error if you want
hi def link cFloat Float
hi def link cOctalError cError
hi def link cParenError cError
hi def link cErrInParen cError
hi def link cErrInBracket cError
hi def link cCommentError cError
hi def link cCommentStartError cError
hi def link cSpaceError cError
hi def link cWrongComTail cError
hi def link cSpecialError cError
hi def link cCurlyError cError
hi def link cOperator Operator
hi def link cStructure Structure
hi def link cTypedef Structure
hi def link cStorageClass StorageClass
hi def link cInclude Include
hi def link cPreProc PreProc
hi def link cDefine Macro
hi def link cIncluded cString
hi def link cError Error
hi def link cStatement Statement
hi def link cCppInWrapper cCppOutWrapper
hi def link cCppOutWrapper cPreCondit
hi def link cPreConditMatch cPreCondit
hi def link cPreCondit PreCondit
hi def link cType Type
hi def link cConstant Constant
hi def link cCommentString cString
hi def link cComment2String cString
hi def link cCommentSkip cComment
hi def link cString String
hi def link cComment Comment
hi def link cSpecial SpecialChar
hi def link cTodo Todo
hi def link cBadContinuation Error
hi def link cCppOutSkip cCppOutIf2
hi def link cCppInElse2 cCppOutIf2
hi def link cCppOutIf2 cCppOut
hi def link cCppOut Comment
hi def link cFunction Function
hi def link cFunctionPointer Function
let b:current_syntax = "c"
unlet s:ft
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8

View File

@@ -0,0 +1,278 @@
" Vim syntax file
" Language: Haskell Cabal Build file
" Author: Vincent Berthoux <twinside@gmail.com>
" Maintainer: Marcin Szamotulski <profunctor@pm.me>
" Previous Maintainer: Vincent Berthoux <twinside@gmail.com>
" File Types: .cabal
" Last Change: 22 Oct 2022
" v1.6: Added support for foreign-libraries
" Added highlighting for various fields
" v1.5: Incorporated changes from
" https://github.com/sdiehl/haskell-vim-proto/blob/master/vim/syntax/cabal.vim
" Use `syn keyword` instead of `syn match`.
" Added cabalStatementRegion to limit matches of keywords, which fixes
" the highlighting of description's value.
" Added cabalVersionRegion to limit the scope of cabalVersionOperator
" and cabalVersion matches.
" Added cabalLanguage keyword.
" Added calbalTitle, cabalAuthor and cabalMaintainer syntax groups.
" Added ! and ^>= operators (calbal 2.0)
" Added build-type keywords
" v1.4: Add benchmark support, thanks to Simon Meier
" v1.3: Updated to the last version of cabal
" Added more highlighting for cabal function, true/false
" and version number. Also added missing comment highlighting.
" Cabal known compiler are highlighted too.
"
" V1.2: Added cpp-options which was missing. Feature implemented
" by GHC, found with a GHC warning, but undocumented.
" Whatever...
"
" v1.1: Fixed operator problems and added ftdetect file
" (thanks to Sebastian Schwarz)
"
" v1.0: Cabal syntax in vimball format
" (thanks to Magnus Therning)
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" this file uses line continuation
let s:cpo_save = &cpo
set cpo&vim
" set iskeyword for this syntax script
syn iskeyword @,48-57,192-255,-
" Case sensitive matches
syn case match
syn keyword cabalConditional if else
syn keyword cabalFunction os arche impl flag
syn match cabalComment /--.*$/
" Case insensitive matches
syn case ignore
syn keyword cabalCategory contained
\ executable
\ library
\ benchmark
\ test-suite
\ source-repository
\ flag
\ foreign-library
\ custom-setup
\ common
syn match cabalCategoryTitle contained /[^{]*\ze{\?/
syn match cabalCategoryRegion
\ contains=cabalCategory,cabalCategoryTitle
\ nextgroup=cabalCategory skipwhite
\ /^\c\s*\(contained\|executable\|library\|benchmark\|test-suite\|source-repository\|flag\|foreign-library\|custom-setup\|common\)\+\s*\%(.*$\|$\)/
syn keyword cabalTruth true false
" cabalStatementRegion which limits the scope of cabalStatement keywords, this
" way they are not highlighted in description.
syn region cabalStatementRegion start=+^\s*\(--\)\@<!\k\+\s*:+ end=+:+
syn keyword cabalStatement contained containedin=cabalStatementRegion
\ default-language
\ default-extensions
\ author
\ autogen-includes
\ autogen-modules
\ asm-sources
\ asm-options
\ branch
\ bug-reports
\ build-depends
\ build-tools
\ build-tool-depends
\ build-type
\ buildable
\ c-sources
\ cabal-version
\ category
\ cc-options
\ copyright
\ cmm-sources
\ cmm-options
\ cpp-options
\ cxx-options
\ cxx-sources
\ data-dir
\ data-files
\ default
\ default-extensions
\ description
\ executable
\ exposed-modules
\ exposed
\ extensions
\ extra-bundled-libraries
\ extra-doc-files
\ extra-dynamic-library-flavours
\ extra-framework-dirs
\ extra-ghci-libraries
\ extra-lib-dirs
\ extra-lib-dirs-static
\ extra-libraries
\ extra-libraries-static
\ extra-library-flavours
\ extra-source-files
\ extra-tmp-files
\ for example
\ frameworks
\ ghc-options
\ ghc-prof-options
\ ghc-shared-options
\ ghcjs-options
\ ghcjs-prof-options
\ ghcjs-shared-options
\ homepage
\ hs-source-dir
\ hs-source-dirs
\ hugs-options
\ import
\ include-dirs
\ includes
\ install-includes
\ js-sources
\ ld-options
\ lib-version-info
\ lib-version-linux
\ license
\ license-file
\ location
\ main-is
\ maintainer
\ manual
\ mixins
\ module
\ mod-def-file
\ name
\ nhc98-options
\ options
\ other-extensions
\ other-language
\ other-languages
\ other-modules
\ package-url
\ pkgconfig-depends
\ scope
\ setup-depends
\ signatures
\ stability
\ subdir
\ synopsis
\ reexported-modules
\ tag
\ tested-with
\ test-module
\ type
\ version
\ virtual-modules
" operators and version operators
syn match cabalOperator /&&\|||\|!/
syn match cabalVersionOperator contained
\ /!\|==\|\^\?>=\|<=\|<\|>/
" match version: `[%]\@<!` is to exclude `%20` in http addresses.
syn match cabalVersion contained
\ /[%$_-]\@<!\<\d\+\%(\.\d\+\)*\%(\.\*\)\?\>/
" cabalVersionRegion which limits the scope of cabalVersion pattern.
syn match cabalVersionRegionA
\ contains=cabalVersionOperator,cabalVersion
\ keepend
\ /\%(==\|\^\?>=\|<=\|<\|>\)\s*\d\+\%(\.\d\+\)*\%(\.\*\)\?\>/
" version inside `version: ...`
syn match cabalVersionRegionB
\ contains=cabalStatementRegion,cabalVersionOperator,cabalVersion
\ /^\s*\%(cabal-\)\?version\s*:.*$/
syn keyword cabalLanguage Haskell98 Haskell2010
" title region
syn match cabalName contained /:\@<=.*/
syn match cabalNameRegion
\ contains=cabalStatementRegion,cabalName
\ nextgroup=cabalStatementRegion
\ oneline
\ /^\c\s*name\s*:.*$/
" author region
syn match cabalAuthor contained /:\@<=.*/
syn match cabalAuthorRegion
\ contains=cabalStatementRegion,cabalStatement,cabalAuthor
\ nextgroup=cabalStatementRegion
\ oneline
\ /^\c\s*author\s*:.*$/
" maintainer region
syn match cabalMaintainer contained /:\@<=.*/
syn match cabalMaintainerRegion
\ contains=cabalStatementRegion,cabalStatement,cabalMaintainer
\ nextgroup=cabalStatementRegion
\ oneline
\ /^\c\s*maintainer\s*:.*$/
" license region
syn match cabalLicense contained /:\@<=.*/
syn match cabalLicenseRegion
\ contains=cabalStatementRegion,cabalStatement,cabalLicense
\ nextgroup=cabalStatementRegion
\ oneline
\ /^\c\s*license\s*:.*$/
" license-file region
syn match cabalLicenseFile contained /:\@<=.*/
syn match cabalLicenseFileRegion
\ contains=cabalStatementRegion,cabalStatement,cabalLicenseFile
\ nextgroup=cabalStatementRegion
\ oneline
\ /^\c\s*license-file\s*:.*$/
" tested-with region with compilers and versions
syn keyword cabalCompiler contained ghc nhc yhc hugs hbc helium jhc lhc
syn match cabalTestedWithRegion
\ contains=cabalStatementRegion,cabalStatement,cabalCompiler,cabalVersionRegionA
\ nextgroup=cabalStatementRegion
\ oneline
\ /^\c\s*tested-with\s*:.*$/
" build type keywords
syn keyword cabalBuildType contained
\ simple custom configure
syn match cabalBuildTypeRegion
\ contains=cabalStatementRegion,cabalStatement,cabalBuildType
\ nextgroup=cabalStatementRegion
\ /^\c\s*build-type\s*:.*$/
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link cabalName Title
hi def link cabalAuthor Normal
hi def link cabalMaintainer Normal
hi def link cabalCategoryTitle Title
hi def link cabalLicense Normal
hi def link cabalLicenseFile Normal
hi def link cabalBuildType Keyword
hi def link cabalVersion Number
hi def link cabalTruth Boolean
hi def link cabalComment Comment
hi def link cabalStatement Statement
hi def link cabalLanguage Type
hi def link cabalCategory Type
hi def link cabalFunction Function
hi def link cabalConditional Conditional
hi def link cabalOperator Operator
hi def link cabalVersionOperator Operator
hi def link cabalCompiler Constant
let b:current_syntax = "cabal"
let &cpo = s:cpo_save
unlet! s:cpo_save
" vim: ts=8

View File

@@ -0,0 +1,30 @@
" Vim syntax file
" Language: Cabal Config
" Maintainer: profunctor@pm.me
" Last Change: Marcin Szamotulski
" Original Author: Marcin Szamotulski
if exists("b:current_syntax")
finish
endif
syn match CabalConfigSection /^\S[[:alpha:]]\+\%(-[[:alpha:]]\+\)*[^:]*$/
syn region CabalConfigRegion matchgroup=CabalConfigKey start=/^\s*[[:alpha:]]\+\%(-[[:alpha:]]\+\)*:/ matchgroup=NONE end=/$/ contains=CabalConfigSeparator,CabalConfigKeyword,CabalConfigPath keepend
syn match CabalConfigComment /^\s*--.*$/
syn match CabalConfigValue /.*$/ contained
syn match CabalConfigKey /[[:alpha:]]\+\%(-[[:alpha:]]\+\)*\ze:/
syn keyword CabalConfigSeparator : contained
syn match CabalConfigVariable /\$[[:alpha:]]\+/
syn keyword CabalConfigKeyword True False ghc
syn match CabalConfigPath /\%([[:alpha:]]\+:\)\?\%(\/[[:print:]]\+\)\+/
hi def link CabalConfigComment Comment
hi def link CabalConfigSection Title
hi def link CabalConfigKey Statement
hi def link CabalConfigSeparator NonText
hi def link CabalConfigValue Normal
hi def link CabalConfigVariable Identifier
hi def link CabalConfigKeyword Keyword
hi def link CabalConfigPath Directory
let b:current_syntax = "cabal.config"

View File

@@ -0,0 +1,28 @@
" Vim syntax file
" Language: Cabal Project
" Maintainer: profunctor@pm.me
" Last Change: Marcin Szamotulski
" Original Author: Marcin Szamotulski
if exists("b:current_syntax")
finish
endif
syn match CabalProjectComment /^\s*--.*/ contains=@Spell
syn match CabalProjectField /^\w\%(\w\|-\)\+/ contains=@NoSpell
syn keyword CabalProjectBoolean true false True False
syn keyword CabalProjectCompiler ghc ghcjs jhc lhc uhc haskell-suite
syn match CabalProjectNat /\<\d\+\>/
syn keyword CabalProjectJobs $ncpus
syn keyword CabalProjectProfilingLevel default none exported-functions toplevel-functions all-functions
hi def link CabalProjectComment Comment
hi def link CabalProjectField Statement
hi def link CabalProjectBoolean Boolean
hi def link CabalProjectCompiler Identifier
hi def link CabalProjectNat Number
hi def link CabalProjectJobs Number
hi def link CabalProjectProfilingLevel Statement
let b:current_syntax = "cabal.project"

View File

@@ -0,0 +1,110 @@
" Vim syntax file
" Language: calendar(1) input 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 calendarTodo contained TODO FIXME XXX NOTE
syn region calendarComment start='/\*' end='\*/'
\ contains=calendarTodo,@Spell
syn region calendarCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl
\ end=+"+ end='$' contains=calendarSpecial
syn match calendarSpecial display contained '\\\%(x\x\+\|\o\{1,3}\|.\|$\)'
syn match calendarSpecial display contained "\\\(u\x\{4}\|U\x\{8}\)"
syn region calendarPreCondit start='^\s*#\s*\%(if\|ifdef\|ifndef\|elif\)\>'
\ skip='\\$' end='$'
\ contains=calendarComment,calendarCppString
syn match calendarPreCondit display '^\s*#\s*\%(else\|endif\)\>'
syn region calendarCppOut start='^\s*#\s*if\s\+0\+' end='.\@=\|$'
\ contains=calendarCppOut2
syn region calendarCppOut2 contained start='0'
\ end='^\s*#\s*\%(endif\|else\|elif\)\>'
\ contains=calendarSpaceError,calendarCppSkip
syn region calendarCppSkip contained
\ start='^\s*#\s*\%(if\|ifdef\|ifndef\)\>'
\ skip='\\$' end='^\s*#\s*endif\>'
\ contains=calendarSpaceError,calendarCppSkip
syn region calendarIncluded display contained start=+"+ skip=+\\\\\|\\"+
\ end=+"+
syn match calendarIncluded display contained '<[^>]*>'
syn match calendarInclude display '^\s*#\s*include\>\s*["<]'
\ contains=calendarIncluded
syn cluster calendarPreProcGroup contains=calendarPreCondit,calendarIncluded,
\ calendarInclude,calendarDefine,
\ calendarCppOut,calendarCppOut2,
\ calendarCppSkip,calendarString,
\ calendarSpecial,calendarTodo
syn region calendarDefine start='^\s*#\s*\%(define\|undef\)\>'
\ skip='\\$' end='$'
\ contains=ALLBUT,@calendarPreProcGroup
syn region calendarPreProc start='^\s*#\s*\%(pragma\|line\|warning\|warn\|error\)\>'
\ skip='\\$' end='$' keepend
\ contains=ALLBUT,@calendarPreProcGroup
syn keyword calendarKeyword CHARSET BODUN LANG
syn case ignore
syn keyword calendarKeyword Easter Pashka
syn case match
syn case ignore
syn match calendarNumber display '\<\d\+\>'
syn keyword calendarMonth Jan[uary] Feb[ruary] Mar[ch] Apr[il] May
\ Jun[e] Jul[y] Aug[ust] Sep[tember]
\ Oct[ober] Nov[ember] Dec[ember]
syn match calendarMonth display '\<\%(Jan\|Feb\|Mar\|Apr\|May\|Jun\|Jul\|Aug\|Sep\|Oct\|Nov\|Dec\)\.'
syn keyword calendarWeekday Mon[day] Tue[sday] Wed[nesday] Thu[rsday]
syn keyword calendarWeekday Fri[day] Sat[urday] Sun[day]
syn match calendarWeekday display '\<\%(Mon\|Tue\|Wed\|Thu\|Fri\|Sat\|Sun\)\.'
\ nextgroup=calendarWeekdayMod
syn match calendarWeekdayMod display '[+-]\d\+\>'
syn case match
syn match calendarTime display '\<\%([01]\=\d\|2[0-3]\):[0-5]\d\%(:[0-5]\d\)\='
syn match calendarTime display '\<\%(0\=[1-9]\|1[0-2]\):[0-5]\d\%(:[0-5]\d\)\=\s*[AaPp][Mm]'
syn match calendarVariable '\*'
if exists("c_minlines")
let b:c_minlines = c_minlines
else
if !exists("c_no_if0")
let b:c_minlines = 50 " #if 0 constructs can be long
else
let b:c_minlines = 15 " mostly for () constructs
endif
endif
exec "syn sync ccomment calendarComment minlines=" . b:c_minlines
hi def link calendarTodo Todo
hi def link calendarComment Comment
hi def link calendarCppString String
hi def link calendarSpecial SpecialChar
hi def link calendarPreCondit PreCondit
hi def link calendarCppOut Comment
hi def link calendarCppOut2 calendarCppOut
hi def link calendarCppSkip calendarCppOut
hi def link calendarIncluded String
hi def link calendarInclude Include
hi def link calendarDefine Macro
hi def link calendarPreProc PreProc
hi def link calendarKeyword Keyword
hi def link calendarNumber Number
hi def link calendarMonth String
hi def link calendarWeekday String
hi def link calendarWeekdayMod Special
hi def link calendarTime Number
hi def link calendarVariable Identifier
let b:current_syntax = "calendar"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1,30 @@
" Vim syntax file
" Language: sgml catalog file
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Fr, 04 Nov 2005 12:46:45 CET
" Filenames: /etc/sgml.catalog
" $Id: catalog.vim,v 1.2 2005/11/23 21:11:10 vimboss Exp $
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn case ignore
" strings
syn region catalogString start=+"+ skip=+\\\\\|\\"+ end=+"+ keepend
syn region catalogString start=+'+ skip=+\\\\\|\\'+ end=+'+ keepend
syn region catalogComment start=+--+ end=+--+ contains=catalogTodo
syn keyword catalogTodo TODO FIXME XXX NOTE contained
syn keyword catalogKeyword DOCTYPE OVERRIDE PUBLIC DTDDECL ENTITY CATALOG
" The default highlighting.
hi def link catalogString String
hi def link catalogComment Comment
hi def link catalogTodo Todo
hi def link catalogKeyword Statement
let b:current_syntax = "catalog"

View File

@@ -0,0 +1,78 @@
" Vim syntax file
" Language: Comshare Dimension Definition Language
" Maintainer: Raul Segura Acevedo <raulseguraaceved@netscape.net>
" Last change: 2016 Sep 20
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
sy case ignore
sy sync fromstart
sy keyword cdlStatement dimension hierarchy group grouphierarchy schedule class
sy keyword cdlType add update file category main altername removeall required notrequired
sy keyword cdlConditional if then elseif else endif and or not cons rpt xlt
sy keyword cdlFunction ChildOf IChildOf LeafChildOf DescendantOf IDescendantOf LeafDescendantOf MemberIs CountOf
sy keyword cdlIdentifier contained id name desc description xlttype precision symbol curr_ name group_name rate_name
sy keyword cdlIdentifier contained xcheck endbal accounttype natsign consolidate formula pctown usage periodicity
sy match cdlIdentifier contained 'child\s*name'
sy match cdlIdentifier contained 'parent\s*name'
sy match cdlIdentifier contained 'grp\s*description'
sy match cdlIdentifier contained 'grpchild\s*name'
sy match cdlIdentifier contained 'grpparent\s*name'
sy match cdlIdentifier contained 'preceding\s*member'
sy match cdlIdentifier contained 'unit\s*name'
sy match cdlIdentifier contained 'unit\s*id'
sy match cdlIdentifier contained 'schedule\s*name'
sy match cdlIdentifier contained 'schedule\s*id'
sy match cdlString /\[[^]]*]/ contains=cdlRestricted,cdlNotSupported
sy match cdlRestricted contained /[&*,_]/
" not supported
sy match cdlNotSupported contained /[:"!']/
sy keyword cdlTodo contained TODO FIXME XXX
sy cluster cdlCommentGroup contains=cdlTodo
sy match cdlComment '//.*' contains=@cdlCommentGroup
sy region cdlComment start="/\*" end="\*/" contains=@cdlCommentGroup fold
sy match cdlCommentE "\*/"
sy region cdlParen transparent start='(' end=')' contains=ALLBUT,cdlParenE,cdlRestricted,cdlNotSupported
"sy region cdlParen transparent start='(' end=')' contains=cdlIdentifier,cdlComment,cdlParenWordE
sy match cdlParenE ")"
"sy match cdlParenWordE contained "\k\+"
sy keyword cdlFxType allocation downfoot expr xltgain
"sy keyword cdlFxType contained allocation downfoot expr xltgain
"sy region cdlFx transparent start='\k\+(' end=')' contains=cdlConditional,cdlFunction,cdlString,cdlComment,cdlFxType
set foldmethod=expr
set foldexpr=(getline(v:lnum+1)=~'{'\|\|getline(v:lnum)=~'//\\s\\*\\{5}.*table')?'>1':1
%foldo!
set foldmethod=manual
let b:match_words='\<if\>:\<then\>:\<elseif\>:\<else\>:\<endif\>'
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link cdlStatement Statement
hi def link cdlType Type
hi def link cdlFxType Type
hi def link cdlIdentifier Identifier
hi def link cdlString String
hi def link cdlRestricted WarningMsg
hi def link cdlNotSupported ErrorMsg
hi def link cdlTodo Todo
hi def link cdlComment Comment
hi def link cdlCommentE ErrorMsg
hi def link cdlParenE ErrorMsg
hi def link cdlParenWordE ErrorMsg
hi def link cdlFunction Function
hi def link cdlConditional Conditional
let b:current_syntax = "cdl"
" vim: ts=8

View File

@@ -0,0 +1,139 @@
" Vim syntax file
" Language: cdrdao(1) configuration file
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2007-09-02
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn keyword cdrdaoconfTodo
\ TODO FIXME XXX NOTE
syn match cdrdaoconfBegin
\ display
\ nextgroup=@cdrdaoconfKeyword,cdrdaoconfComment
\ '^'
syn cluster cdrdaoconfKeyword
\ contains=cdrdaoconfIntegerKeyword,
\ cdrdaoconfDriverKeyword,
\ cdrdaoconfDeviceKeyword,
\ cdrdaoconfPathKeyword
syn keyword cdrdaoconfIntegerKeyword
\ contained
\ nextgroup=cdrdaoconfIntegerDelimiter
\ write_speed
\ write_buffers
\ user_capacity
\ full_burn
\ read_speed
\ cddb_timeout
syn keyword cdrdaoconfIntegerKeyword
\ contained
\ nextgroup=cdrdaoconfParanoiaModeDelimiter
\ read_paranoia_mode
syn keyword cdrdaoconfDriverKeyword
\ contained
\ nextgroup=cdrdaoconfDriverDelimiter
\ write_driver
\ read_driver
syn keyword cdrdaoconfDeviceKeyword
\ contained
\ nextgroup=cdrdaoconfDeviceDelimiter
\ write_device
\ read_device
syn keyword cdrdaoconfPathKeyword
\ contained
\ nextgroup=cdrdaoconfPathDelimiter
\ cddb_directory
\ tmp_file_dir
syn match cdrdaoconfIntegerDelimiter
\ contained
\ nextgroup=cdrdaoconfInteger
\ skipwhite
\ ':'
syn match cdrdaoconfParanoiaModeDelimiter
\ contained
\ nextgroup=cdrdaoconfParanoiaMode
\ skipwhite
\ ':'
syn match cdrdaoconfDriverDelimiter
\ contained
\ nextgroup=cdrdaoconfDriver
\ skipwhite
\ ':'
syn match cdrdaoconfDeviceDelimiter
\ contained
\ nextgroup=cdrdaoconfDevice
\ skipwhite
\ ':'
syn match cdrdaoconfPathDelimiter
\ contained
\ nextgroup=cdrdaoconfPath
\ skipwhite
\ ':'
syn match cdrdaoconfInteger
\ contained
\ '\<\d\+\>'
syn match cdrdaoParanoiaMode
\ contained
\ '[0123]'
syn match cdrdaoconfDriver
\ contained
\ '\<\(cdd2600\|generic-mmc\%(-raw\)\=\|plextor\%(-scan\)\|ricoh-mp6200\|sony-cdu9\%(20\|48\)\|taiyo-yuden\|teac-cdr55\|toshiba\|yamaha-cdr10x\)\>'
syn region cdrdaoconfDevice
\ contained
\ matchgroup=cdrdaoconfDevice
\ start=+"+
\ end=+"+
syn region cdrdaoconfPath
\ contained
\ matchgroup=cdrdaoconfPath
\ start=+"+
\ end=+"+
syn match cdrdaoconfComment
\ contains=cdrdaoconfTodo,@Spell
\ '^.*#.*$'
hi def link cdrdaoconfTodo Todo
hi def link cdrdaoconfComment Comment
hi def link cdrdaoconfKeyword Keyword
hi def link cdrdaoconfIntegerKeyword cdrdaoconfKeyword
hi def link cdrdaoconfDriverKeyword cdrdaoconfKeyword
hi def link cdrdaoconfDeviceKeyword cdrdaoconfKeyword
hi def link cdrdaoconfPathKeyword cdrdaoconfKeyword
hi def link cdrdaoconfDelimiter Delimiter
hi def link cdrdaoconfIntegerDelimiter cdrdaoconfDelimiter
hi def link cdrdaoconfDriverDelimiter cdrdaoconfDelimiter
hi def link cdrdaoconfDeviceDelimiter cdrdaoconfDelimiter
hi def link cdrdaoconfPathDelimiter cdrdaoconfDelimiter
hi def link cdrdaoconfInteger Number
hi def link cdrdaoconfParanoiaMode Number
hi def link cdrdaoconfDriver Identifier
hi def link cdrdaoconfDevice cdrdaoconfPath
hi def link cdrdaoconfPath String
let b:current_syntax = "cdrdaoconf"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1,537 @@
" Vim syntax file
" Language: cdrdao(1) TOC file
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2007-05-10
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn keyword cdrtocTodo
\ contained
\ TODO
\ FIXME
\ XXX
\ NOTE
syn cluster cdrtocCommentContents
\ contains=
\ cdrtocTodo,
\ @Spell
syn cluster cdrtocHeaderFollowsInitial
\ contains=
\ cdrtocHeaderCommentInitial,
\ cdrtocHeaderCatalog,
\ cdrtocHeaderTOCType,
\ cdrtocHeaderCDText,
\ cdrtocTrack
syn match cdrtocHeaderBegin
\ nextgroup=@cdrtocHeaderFollowsInitial
\ skipwhite skipempty
\ '\%^'
let s:mmssff_pattern = '\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\>'
let s:byte_pattern = '\<\%([01]\=\d\{1,2}\|2\%([0-4]\d\|5[0-5]\)\)\>'
let s:length_pattern = '\%(\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\|\d\+\)\>'
function s:def_comment(name, nextgroup)
execute 'syn match' a:name
\ 'nextgroup=' . a:nextgroup . ',' . a:name
\ 'skipwhite skipempty'
\ 'contains=@cdrtocCommentContents'
\ 'contained'
\ "'//.*$'"
execute 'hi def link' a:name 'cdrtocComment'
endfunction
function s:def_keywords(name, nextgroup, keywords)
let comment_group = a:name . 'FollowComment'
execute 'syn keyword' a:name
\ 'nextgroup=' . a:nextgroup . ',' . comment_group
\ 'skipwhite skipempty'
\ 'contained'
\ join(a:keywords)
call s:def_comment(comment_group, a:nextgroup)
endfunction
function s:def_keyword(name, nextgroup, keyword)
call s:def_keywords(a:name, a:nextgroup, [a:keyword])
endfunction
" NOTE: Pattern needs to escape any “@”s.
function s:def_match(name, nextgroup, pattern)
let comment_group = a:name . 'FollowComment'
execute 'syn match' a:name
\ 'nextgroup=' . a:nextgroup . ',' . comment_group
\ 'skipwhite skipempty'
\ 'contained'
\ '@' . a:pattern . '@'
call s:def_comment(comment_group, a:nextgroup)
endfunction
function s:def_region(name, nextgroup, start, skip, end, matchgroup, contains)
let comment_group = a:name . 'FollowComment'
execute 'syn region' a:name
\ 'nextgroup=' . a:nextgroup . ',' . comment_group
\ 'skipwhite skipempty'
\ 'contained'
\ 'matchgroup=' . a:matchgroup
\ 'contains=' . a:contains
\ 'start=@' . a:start . '@'
\ (a:skip != "" ? ('skip=@' . a:skip . '@') : "")
\ 'end=@' . a:end . '@'
call s:def_comment(comment_group, a:nextgroup)
endfunction
call s:def_comment('cdrtocHeaderCommentInitial', '@cdrtocHeaderFollowsInitial')
call s:def_keyword('cdrtocHeaderCatalog', 'cdrtocHeaderCatalogNumber', 'CATALOG')
call s:def_match('cdrtocHeaderCatalogNumber', '@cdrtocHeaderFollowsInitial', '"\d\{13\}"')
call s:def_keywords('cdrtocHeaderTOCType', '@cdrtocHeaderFollowsInitial', ['CD_DA', 'CD_ROM', 'CD_ROM_XA'])
call s:def_keyword('cdrtocHeaderCDText', 'cdrtocHeaderCDTextStart', 'CD_TEXT')
" TODO: Actually, language maps arent required by TocParser.g, but lets keep
" things simple (and in agreement with what the manual page says).
call s:def_match('cdrtocHeaderCDTextStart', 'cdrtocHeaderCDTextLanguageMap', '{')
call s:def_keyword('cdrtocHeaderCDTextLanguageMap', 'cdrtocHeaderLanguageMapStart', 'LANGUAGE_MAP')
call s:def_match('cdrtocHeaderLanguageMapStart', 'cdrtocHeaderLanguageMapLanguageNumber', '{')
call s:def_match('cdrtocHeaderLanguageMapLanguageNumber', 'cdrtocHeaderLanguageMapColon', '\<[0-7]\>')
call s:def_match('cdrtocHeaderLanguageMapColon', 'cdrtocHeaderLanguageMapCountryCode,cdrtocHeaderLanguageMapCountryCodeName', ':')
syn cluster cdrtocHeaderLanguageMapCountryCodeFollow
\ contains=
\ cdrtocHeaderLanguageMapLanguageNumber,
\ cdrtocHeaderLanguageMapEnd
call s:def_match('cdrtocHeaderLanguageMapCountryCode',
\ '@cdrtocHeaderLanguageMapCountryCodeFollow',
\ s:byte_pattern)
call s:def_keyword('cdrtocHeaderLanguageMapCountryCodeName',
\ '@cdrtocHeaderLanguageMapCountryCodeFollow',
\ 'EN')
call s:def_match('cdrtocHeaderLanguageMapEnd',
\ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd',
\ '}')
call s:def_keyword('cdrtocHeaderLanguage', 'cdrtocHeaderLanguageNumber', 'LANGUAGE')
call s:def_match('cdrtocHeaderLanguageNumber', 'cdrtocHeaderLanguageStart', '\<[0-7]\>')
call s:def_match('cdrtocHeaderLanguageStart',
\ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd',
\ '{')
syn cluster cdrtocHeaderCDTextData
\ contains=
\ cdrtocHeaderCDTextDataString,
\ cdrtocHeaderCDTextDataBinaryStart
call s:def_keywords('cdrtocHeaderCDTextItem',
\ '@cdrtocHeaderCDTextData',
\ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER',
\ 'ARRANGER', 'MESSAGE', 'DISC_ID', 'GENRE', 'TOC_INFO1',
\ 'TOC_INFO2', 'UPC_EAN', 'ISRC', 'SIZE_INFO'])
call s:def_region('cdrtocHeaderCDTextDataString',
\ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd',
\ '"',
\ '\\\\\|\\"',
\ '"',
\ 'cdrtocHeaderCDTextDataStringDelimiters',
\ 'cdrtocHeaderCDTextDataStringSpecialChar')
syn match cdrtocHeaderCDTextDataStringSpecialChar
\ contained
\ display
\ '\\\%(\o\o\o\|["\\]\)'
call s:def_match('cdrtocHeaderCDTextDataBinaryStart',
\ 'cdrtocHeaderCDTextDataBinaryInteger',
\ '{')
call s:def_match('cdrtocHeaderCDTextDataBinaryInteger',
\ 'cdrtocHeaderCDTextDataBinarySeparator,cdrtocHeaderCDTextDataBinaryEnd',
\ s:byte_pattern)
call s:def_match('cdrtocHeaderCDTextDataBinarySeparator',
\ 'cdrtocHeaderCDTextDataBinaryInteger',
\ ',')
call s:def_match('cdrtocHeaderCDTextDataBinaryEnd',
\ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd',
\ '}')
call s:def_match('cdrtocHeaderLanguageEnd',
\ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd',
\ '}')
call s:def_match('cdrtocHeaderCDTextEnd',
\ 'cdrtocTrack',
\ '}')
syn cluster cdrtocTrackFollow
\ contains=
\ @cdrtocTrackFlags,
\ cdrtocTrackCDText,
\ cdrtocTrackPregap,
\ @cdrtocTrackContents
call s:def_keyword('cdrtocTrack', 'cdrtocTrackMode', 'TRACK')
call s:def_keywords('cdrtocTrackMode',
\ 'cdrtocTrackSubChannelMode,@cdrtocTrackFollow',
\ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1',
\ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW'])
call s:def_keywords('cdrtocTrackSubChannelMode',
\ '@cdrtocTrackFollow',
\ ['RW', 'RW_RAW'])
syn cluster cdrtocTrackFlags
\ contains=
\ cdrtocTrackFlagNo,
\ cdrtocTrackFlagCopy,
\ cdrtocTrackFlagPreEmphasis,
\ cdrtocTrackFlag
call s:def_keyword('cdrtocTrackFlagNo',
\ 'cdrtocTrackFlagCopy,cdrtocTrackFlagPreEmphasis',
\ 'NO')
call s:def_keyword('cdrtocTrackFlagCopy', '@cdrtocTrackFollow', 'COPY')
call s:def_keyword('cdrtocTrackFlagPreEmphasis', '@cdrtocTrackFollow', 'PRE_EMPHASIS')
call s:def_keywords('cdrtocTrackFlag',
\ '@cdrtocTrackFollow',
\ ['TWO_CHANNEL_AUDIO', 'FOUR_CHANNEL_AUDIO'])
call s:def_keyword('cdrtocTrackFlag', 'cdrtocTrackISRC', 'ISRC')
call s:def_match('cdrtocTrackISRC',
\ '@cdrtocTrackFollow',
\ '"[[:upper:][:digit:]]\{5}\d\{7}"')
call s:def_keyword('cdrtocTrackCDText', 'cdrtocTrackCDTextStart', 'CD_TEXT')
call s:def_match('cdrtocTrackCDTextStart', 'cdrtocTrackCDTextLanguage', '{')
call s:def_keyword('cdrtocTrackCDTextLanguage', 'cdrtocTrackCDTextLanguageNumber', 'LANGUAGE')
call s:def_match('cdrtocTrackCDTextLanguageNumber', 'cdrtocTrackCDTextLanguageStart', '\<[0-7]\>')
call s:def_match('cdrtocTrackCDTextLanguageStart',
\ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd',
\ '{')
syn cluster cdrtocTrackCDTextData
\ contains=
\ cdrtocTrackCDTextDataString,
\ cdrtocTrackCDTextDataBinaryStart
call s:def_keywords('cdrtocTrackCDTextItem',
\ '@cdrtocTrackCDTextData',
\ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER', 'ARRANGER',
\ 'MESSAGE', 'ISRC'])
call s:def_region('cdrtocTrackCDTextDataString',
\ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd',
\ '"',
\ '\\\\\|\\"',
\ '"',
\ 'cdrtocTrackCDTextDataStringDelimiters',
\ 'cdrtocTrackCDTextDataStringSpecialChar')
syn match cdrtocTrackCDTextDataStringSpecialChar
\ contained
\ display
\ '\\\%(\o\o\o\|["\\]\)'
call s:def_match('cdrtocTrackCDTextDataBinaryStart',
\ 'cdrtocTrackCDTextDataBinaryInteger',
\ '{')
call s:def_match('cdrtocTrackCDTextDataBinaryInteger',
\ 'cdrtocTrackCDTextDataBinarySeparator,cdrtocTrackCDTextDataBinaryEnd',
\ s:byte_pattern)
call s:def_match('cdrtocTrackCDTextDataBinarySeparator',
\ 'cdrtocTrackCDTextDataBinaryInteger',
\ ',')
call s:def_match('cdrtocTrackCDTextDataBinaryEnd',
\ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd',
\ '}')
call s:def_match('cdrtocTrackCDTextLanguageEnd',
\ 'cdrtocTrackCDTextLanguage,cdrtocTrackCDTextEnd',
\ '}')
call s:def_match('cdrtocTrackCDTextEnd',
\ 'cdrtocTrackPregap,@cdrtocTrackContents',
\ '}')
call s:def_keyword('cdrtocTrackPregap', 'cdrtocTrackPregapMMSSFF', 'PREGAP')
call s:def_match('cdrtocTrackPregapMMSSFF',
\ '@cdrtocTrackContents',
\ s:mmssff_pattern)
syn cluster cdrtocTrackContents
\ contains=
\ cdrtocTrackSubTrack,
\ cdrtocTrackMarker
syn cluster cdrtocTrackContentsFollow
\ contains=
\ @cdrtocTrackContents,
\ cdrtocTrackIndex,
\ cdrtocTrack
call s:def_keywords('cdrtocTrackSubTrack',
\ 'cdrtocTrackSubTrackFileFilename',
\ ['FILE', 'AUDIOFILE'])
call s:def_region('cdrtocTrackSubTrackFileFilename',
\ 'cdrtocTrackSubTrackFileStart',
\ '"',
\ '\\\\\|\\"',
\ '"',
\ 'cdrtocTrackSubTrackFileFilenameDelimiters',
\ 'cdrtocTrackSubTrackFileFilenameSpecialChar')
syn match cdrtocTrackSubTrackFileFilenameSpecialChar
\ contained
\ display
\ '\\\%(\o\o\o\|["\\]\)'
call s:def_match('cdrtocTrackSubTrackFileStart',
\ 'cdrtocTrackSubTrackFileLength,@cdrtocTrackContentsFollow',
\ s:length_pattern)
call s:def_match('cdrtocTrackSubTrackFileLength',
\ '@cdrtocTrackContentsFollow',
\ s:length_pattern)
call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentDatafileFilename', 'DATAFILE')
call s:def_region('cdrtocTrackSubTrackDatafileFilename',
\ 'cdrtocTrackSubTrackDatafileLength',
\ '"',
\ '\\\\\|\\"',
\ '"',
\ 'cdrtocTrackSubTrackDatafileFilenameDelimiters',
\ 'cdrtocTrackSubTrackDatafileFilenameSpecialChar')
syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar
\ contained
\ display
\ '\\\%(\o\o\o\|["\\]\)'
call s:def_match('cdrtocTrackDatafileLength',
\ '@cdrtocTrackContentsFollow',
\ s:length_pattern)
call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentFifoFilename', 'DATAFILE')
call s:def_region('cdrtocTrackSubTrackFifoFilename',
\ 'cdrtocTrackSubTrackFifoLength',
\ '"',
\ '\\\\\|\\"',
\ '"',
\ 'cdrtocTrackSubTrackFifoFilenameDelimiters',
\ 'cdrtocTrackSubTrackFifoFilenameSpecialChar')
syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar
\ contained
\ display
\ '\\\%(\o\o\o\|["\\]\)'
call s:def_match('cdrtocTrackFifoLength',
\ '@cdrtocTrackContentsFollow',
\ s:length_pattern)
call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackSilenceLength', 'SILENCE')
call s:def_match('cdrtocTrackSilenceLength',
\ '@cdrtocTrackContentsFollow',
\ s:length_pattern)
call s:def_keyword('cdrtocTrackSubTrack',
\ 'cdrtocTrackSubTrackZeroDataMode,' .
\ 'cdrtocTrackSubTrackZeroDataSubChannelMode,' .
\ 'cdrtocTrackSubTrackZeroDataLength',
\ 'ZERO')
call s:def_keywords('cdrtocTrackSubTrackZeroDataMode',
\ 'cdrtocTrackSubTrackZeroSubChannelMode,cdrtocTrackSubTrackZeroDataLength',
\ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1',
\ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW'])
call s:def_keywords('cdrtocTrackSubTrackZeroDataSubChannelMode',
\ 'cdrtocTrackSubTrackZeroDataLength',
\ ['RW', 'RW_RAW'])
call s:def_match('cdrtocTrackSubTrackZeroDataLength',
\ '@cdrtocTrackContentsFollow',
\ s:length_pattern)
call s:def_keyword('cdrtocTrackMarker',
\ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerStartMMSSFF',
\ 'START')
call s:def_match('cdrtocTrackMarkerStartMMSSFF',
\ '@cdrtocTrackContentsFollow',
\ s:mmssff_pattern)
call s:def_keyword('cdrtocTrackMarker',
\ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerEndMMSSFF',
\ 'END')
call s:def_match('cdrtocTrackMarkerEndMMSSFF',
\ '@cdrtocTrackContentsFollow',
\ s:mmssff_pattern)
call s:def_keyword('cdrtocTrackIndex', 'cdrtocTrackIndexMMSSFF', 'INDEX')
call s:def_match('cdrtocTrackIndexMMSSFF',
\ 'cdrtocTrackIndex,cdrtocTrack',
\ s:mmssff_pattern)
delfunction s:def_region
delfunction s:def_match
delfunction s:def_keyword
delfunction s:def_keywords
delfunction s:def_comment
syn sync fromstart
hi def link cdrtocKeyword Keyword
hi def link cdrtocHeaderKeyword cdrtocKeyword
hi def link cdrtocHeaderCDText cdrtocHeaderKeyword
hi def link cdrtocDelimiter Delimiter
hi def link cdrtocCDTextDataBinaryEnd cdrtocDelimiter
hi def link cdrtocHeaderCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd
hi def link cdrtocNumber Number
hi def link cdrtocCDTextDataBinaryInteger cdrtocNumber
hi def link cdrtocHeaderCDTextDataBinaryInteger cdrtocCDTextDataBinaryInteger
hi def link cdrtocCDTextDataBinarySeparator cdrtocDelimiter
hi def link cdrtocHeaderCDTextDataBinarySeparator cdrtocCDTextDataBinarySeparator
hi def link cdrtocCDTextDataBinaryStart cdrtocDelimiter
hi def link cdrtocHeaderCDTextDataBinaryStart cdrtocCDTextDataBinaryStart
hi def link cdrtocString String
hi def link cdrtocCDTextDataString cdrtocString
hi def link cdrtocHeaderCDTextDataString cdrtocCDTextDataString
hi def link cdrtocCDTextDataStringDelimiters cdrtocDelimiter
hi def link cdrtocHeaderCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters
hi def link cdrtocCDTextDataStringSpecialChar SpecialChar
hi def link cdrtocHeaderCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar
hi def link cdrtocCDTextEnd cdrtocDelimiter
hi def link cdrtocHeaderCDTextEnd cdrtocCDTextEnd
hi def link cdrtocType Type
hi def link cdrtocCDTextItem cdrtocType
hi def link cdrtocHeaderCDTextItem cdrtocCDTextItem
hi def link cdrtocHeaderCDTextLanguageMap cdrtocHeaderKeyword
hi def link cdrtocCDTextStart cdrtocDelimiter
hi def link cdrtocHeaderCDTextStart cdrtocCDTextStart
hi def link cdrtocHeaderCatalog cdrtocHeaderKeyword
hi def link cdrtocHeaderCatalogNumber cdrtocString
hi def link cdrtocComment Comment
hi def link cdrtocHeaderCommentInitial cdrtocComment
hi def link cdrtocHeaderLanguage cdrtocKeyword
hi def link cdrtocLanguageEnd cdrtocDelimiter
hi def link cdrtocHeaderLanguageEnd cdrtocLanguageEnd
hi def link cdrtocHeaderLanguageMapColon cdrtocDelimiter
hi def link cdrtocIdentifier Identifier
hi def link cdrtocHeaderLanguageMapCountryCode cdrtocNumber
hi def link cdrtocHeaderLanguageMapCountryCodeName cdrtocIdentifier
hi def link cdrtocHeaderLanguageMapEnd cdrtocDelimiter
hi def link cdrtocHeaderLanguageMapLanguageNumber cdrtocNumber
hi def link cdrtocHeaderLanguageMapStart cdrtocDelimiter
hi def link cdrtocLanguageNumber cdrtocNumber
hi def link cdrtocHeaderLanguageNumber cdrtocLanguageNumber
hi def link cdrtocLanguageStart cdrtocDelimiter
hi def link cdrtocHeaderLanguageStart cdrtocLanguageStart
hi def link cdrtocHeaderTOCType cdrtocType
hi def link cdrtocTodo Todo
hi def link cdrtocTrackKeyword cdrtocKeyword
hi def link cdrtocTrack cdrtocTrackKeyword
hi def link cdrtocTrackCDText cdrtocTrackKeyword
hi def link cdrtocTrackCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd
hi def link cdrtocTrackCDTextDataBinaryInteger cdrtocHeaderCDTextDataBinaryInteger
hi def link cdrtocTrackCDTextDataBinarySeparator cdrtocHeaderCDTextDataBinarySeparator
hi def link cdrtocTrackCDTextDataBinaryStart cdrtocHeaderCDTextDataBinaryStart
hi def link cdrtocTrackCDTextDataString cdrtocHeaderCDTextDataString
hi def link cdrtocTrackCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters
hi def link cdrtocTrackCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar
hi def link cdrtocTrackCDTextEnd cdrtocCDTextEnd
hi def link cdrtocTrackCDTextItem cdrtocCDTextItem
hi def link cdrtocTrackCDTextStart cdrtocCDTextStart
hi def link cdrtocLength cdrtocNumber
hi def link cdrtocTrackDatafileLength cdrtocLength
hi def link cdrtocTrackFifoLength cdrtocLength
hi def link cdrtocPreProc PreProc
hi def link cdrtocTrackFlag cdrtocPreProc
hi def link cdrtocTrackFlagCopy cdrtocTrackFlag
hi def link cdrtocSpecial Special
hi def link cdrtocTrackFlagNo cdrtocSpecial
hi def link cdrtocTrackFlagPreEmphasis cdrtocTrackFlag
hi def link cdrtocTrackISRC cdrtocTrackFlag
hi def link cdrtocTrackIndex cdrtocTrackKeyword
hi def link cdrtocMMSSFF cdrtocLength
hi def link cdrtocTrackIndexMMSSFF cdrtocMMSSFF
hi def link cdrtocTrackCDTextLanguage cdrtocTrackKeyword
hi def link cdrtocTrackCDTextLanguageEnd cdrtocLanguageEnd
hi def link cdrtocTrackCDTextLanguageNumber cdrtocLanguageNumber
hi def link cdrtocTrackCDTextLanguageStart cdrtocLanguageStart
hi def link cdrtocTrackContents StorageClass
hi def link cdrtocTrackMarker cdrtocTrackContents
hi def link cdrtocTrackMarkerEndMMSSFF cdrtocMMSSFF
hi def link cdrtocTrackMarkerStartMMSSFF cdrtocMMSSFF
hi def link cdrtocTrackMode Type
hi def link cdrtocTrackPregap cdrtocTrackContents
hi def link cdrtocTrackPregapMMSSFF cdrtocMMSSFF
hi def link cdrtocTrackSilenceLength cdrtocLength
hi def link cdrtocTrackSubChannelMode cdrtocPreProc
hi def link cdrtocTrackSubTrack cdrtocTrackContents
hi def link cdrtocFilename cdrtocString
hi def link cdrtocTrackSubTrackDatafileFilename cdrtocFilename
hi def link cdrtocTrackSubTrackDatafileFilenameDelimiters cdrtocTrackSubTrackDatafileFilename
hi def link cdrtocSpecialChar SpecialChar
hi def link cdrtocTrackSubTrackDatafileFilenameSpecialChar cdrtocSpecialChar
hi def link cdrtocTrackSubTrackDatafileLength cdrtocLength
hi def link cdrtocTrackSubTrackFifoFilename cdrtocFilename
hi def link cdrtocTrackSubTrackFifoFilenameDelimiters cdrtocTrackSubTrackFifoFilename
hi def link cdrtocTrackSubTrackFifoFilenameSpecialChar cdrtocSpecialChar
hi def link cdrtocTrackSubTrackFifoLength cdrtocLength
hi def link cdrtocTrackSubTrackFileFilename cdrtocFilename
hi def link cdrtocTrackSubTrackFileFilenameDelimiters cdrtocTrackSubTrackFileFilename
hi def link cdrtocTrackSubTrackFileFilenameSpecialChar cdrtocSpecialChar
hi def link cdrtocTrackSubTrackFileLength cdrtocLength
hi def link cdrtocTrackSubTrackFileStart cdrtocLength
hi def link cdrtocTrackSubTrackZeroDataLength cdrtocLength
hi def link cdrtocTrackSubTrackZeroDataMode Type
hi def link cdrtocTrackSubTrackZeroDataSubChannelMode cdrtocPreProc
hi def link cdrtocTrackSubTrackdatafileFilenameSpecialChar cdrtocSpecialChar
let b:current_syntax = "cdrtoc"
let &cpo = s:cpo_save
unlet s:cpo_save

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,49 @@
" Vim syntax file
" Language: Good old CFG files
" Maintainer: Igor N. Prischepoff (igor@tyumbit.ru, pri_igor@mail.ru)
" Last change: 2012 Aug 11
" 2024 Nov 14 by Vim project: // only denotes a comment when starting a line (#16051)
" quit when a syntax file was already loaded
if exists ("b:current_syntax")
finish
endif
" case off
syn case ignore
syn keyword CfgOnOff ON OFF YES NO TRUE FALSE contained
syn match UncPath "\\\\\p*" contained
"Dos Drive:\Path
syn match CfgDirectory "[a-zA-Z]:\\\p*" contained
"Parameters
syn match CfgParams ".\{0}="me=e-1 contains=CfgComment
"... and their values (don't want to highlight '=' sign)
syn match CfgValues "=.*"hs=s+1 contains=CfgDirectory,UncPath,CfgComment,CfgString,CfgOnOff
" Sections
syn match CfgSection "\[.*\]"
syn match CfgSection "{.*}"
" String
syn match CfgString "\".*\"" contained
syn match CfgString "'.*'" contained
" Comments (Everything before '#' or ';' or leading '//')
syn match CfgComment "#.*"
syn match CfgComment ";.*"
syn match CfgComment "^\s*\/\/.*"
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link CfgOnOff Label
hi def link CfgComment Comment
hi def link CfgSection Type
hi def link CfgString String
hi def link CfgParams Keyword
hi def link CfgValues Constant
hi def link CfgDirectory Directory
hi def link UncPath Directory
let b:current_syntax = "cfg"
" vim:ts=8

View File

@@ -0,0 +1,16 @@
" Vim syntax file
" Language: cgdbrc
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
" Documentation: https://cgdb.github.io/docs/Configuring-CGDB.html
" Latest Revision: 2024-04-09
if exists('b:current_syntax')
finish
endif
let b:current_syntax = 'cgdbrc'
runtime! syntax/vim.vim
syn region cgdbComment start="^\s*\#" skip="\\$" end="$" contains=@Spell
highlight default link cgdbComment Comment

View File

@@ -0,0 +1,38 @@
" Vim syntax file
" Language: Ch
" Maintainer: SoftIntegration, Inc. <info@softintegration.com>
" URL: http://www.softintegration.com/download/vim/syntax/ch.vim
" Last change: 2004 Sep 01
" Created based on cpp.vim
"
" Ch is a C/C++ interpreter with many high level extensions
"
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" Read the C syntax to start with
runtime! syntax/c.vim
unlet b:current_syntax
" Ch extentions
syn keyword chStatement new delete this foreach
syn keyword chAccess public private
syn keyword chStorageClass __declspec(global) __declspec(local)
syn keyword chStructure class
syn keyword chType string_t array
" Default highlighting
hi def link chAccess chStatement
hi def link chExceptions Exception
hi def link chStatement Statement
hi def link chType Type
hi def link chStructure Structure
let b:current_syntax = "ch"
" vim: ts=8

View File

@@ -0,0 +1,94 @@
" Vim syntax file
" Language: ChaiScript
" Maintainer: Jason Turner <lefticus 'at' gmail com>
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
finish
end
syn case match
" syncing method
syn sync fromstart
" Strings
syn region chaiscriptString start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=chaiscriptSpecial,chaiscriptEval,@Spell
" Escape characters
syn match chaiscriptSpecial contained "\\[\\abfnrtv\'\"]\|\\\d\{,3}"
" String evals
syn region chaiscriptEval contained start="${" end="}"
" integer number
syn match chaiscriptNumber "\<\d\+\>"
" floating point number, with dot, optional exponent
syn match chaiscriptFloat "\<\d\+\.\d*\%(e[-+]\=\d\+\)\=\>"
" floating point number, starting with a dot, optional exponent
syn match chaiscriptFloat "\.\d\+\%(e[-+]\=\d\+\)\=\>"
" floating point number, without dot, with exponent
syn match chaiscriptFloat "\<\d\+e[-+]\=\d\+\>"
" Hex strings
syn match chaiscriptNumber "\<0x\x\+\>"
" Binary strings
syn match chaiscriptNumber "\<0b[01]\+\>"
" Various language features
syn keyword chaiscriptCond if else
syn keyword chaiscriptRepeat while for do
syn keyword chaiscriptStatement break continue return
syn keyword chaiscriptExceptions try catch throw
"Keyword
syn keyword chaiscriptKeyword def true false attr
"Built in types
syn keyword chaiscriptType fun var
"Built in funcs, keep it simple
syn keyword chaiscriptFunc eval throw
"Let's treat all backtick operator function lookups as built in too
syn region chaiscriptFunc matchgroup=chaiscriptFunc start="`" end="`"
" Account for the "[1..10]" syntax, treating it as an operator
" Intentionally leaving out all of the normal, well known operators
syn match chaiscriptOperator "\.\."
" Guard separator as an operator
syn match chaiscriptOperator ":"
" Comments
syn match chaiscriptComment "//.*$" contains=@Spell
syn region chaiscriptComment matchgroup=chaiscriptComment start="/\*" end="\*/" contains=@Spell
hi def link chaiscriptExceptions Exception
hi def link chaiscriptKeyword Keyword
hi def link chaiscriptStatement Statement
hi def link chaiscriptRepeat Repeat
hi def link chaiscriptString String
hi def link chaiscriptNumber Number
hi def link chaiscriptFloat Float
hi def link chaiscriptOperator Operator
hi def link chaiscriptConstant Constant
hi def link chaiscriptCond Conditional
hi def link chaiscriptFunction Function
hi def link chaiscriptComment Comment
hi def link chaiscriptTodo Todo
hi def link chaiscriptError Error
hi def link chaiscriptSpecial SpecialChar
hi def link chaiscriptFunc Identifier
hi def link chaiscriptType Type
hi def link chaiscriptEval Special
let b:current_syntax = "chaiscript"
" vim: nowrap sw=2 sts=2 ts=8 noet

View File

@@ -0,0 +1,29 @@
" Vim syntax file
" Language: WEB Changes
" Maintainer: Andreas Scherer <andreas.scherer@pobox.com>
" Last Change: April 25, 2001
" Details of the change mechanism of the WEB and CWEB languages can be found
" in the articles by Donald E. Knuth and Silvio Levy cited in "web.vim" and
" "cweb.vim" respectively.
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" We distinguish two groups of material, (a) stuff between @x..@y, and
" (b) stuff between @y..@z. WEB/CWEB ignore everything else in a change file.
syn region changeFromMaterial start="^@x.*$"ms=e+1 end="^@y.*$"me=s-1
syn region changeToMaterial start="^@y.*$"ms=e+1 end="^@z.*$"me=s-1
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link changeFromMaterial String
hi def link changeToMaterial Statement
let b:current_syntax = "change"
" vim: ts=8

View File

@@ -0,0 +1,58 @@
" Vim syntax file
" Language: generic ChangeLog file
" Written By: Gediminas Paulauskas <menesis@delfi.lt>
" Maintainer: Corinna Vinschen <vinschen@redhat.com>
" Last Change: June 1, 2003
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn case ignore
if exists('b:changelog_spacing_errors')
let s:spacing_errors = b:changelog_spacing_errors
elseif exists('g:changelog_spacing_errors')
let s:spacing_errors = g:changelog_spacing_errors
else
let s:spacing_errors = 1
endif
if s:spacing_errors
syn match changelogError "^ \+"
endif
syn match changelogText "^\s.*$" contains=changelogMail,changelogNumber,changelogMonth,changelogDay,changelogError
syn match changelogHeader "^\S.*$" contains=changelogNumber,changelogMonth,changelogDay,changelogMail
syn region changelogFiles start="^\s\+[+*]\s" end=":" end="^$" contains=changelogBullet,changelogColon,changelogFuncs,changelogError keepend
syn region changelogFiles start="^\s\+[([]" end=":" end="^$" contains=changelogBullet,changelogColon,changelogFuncs,changelogError keepend
syn match changelogFuncs contained "(.\{-})" extend
syn match changelogFuncs contained "\[.\{-}]" extend
syn match changelogColon contained ":"
syn match changelogBullet contained "^\s\+[+*]\s" contains=changelogError
syn match changelogMail contained "<[A-Za-z0-9\._:+-]\+@[A-Za-z0-9\._-]\+>"
syn keyword changelogMonth contained jan feb mar apr may jun jul aug sep oct nov dec
syn keyword changelogDay contained mon tue wed thu fri sat sun
syn match changelogNumber contained "[.-]*[0-9]\+"
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link changelogText Normal
hi def link changelogBullet Type
hi def link changelogColon Type
hi def link changelogFiles Comment
hi def link changelogFuncs Comment
hi def link changelogHeader Statement
hi def link changelogMail Special
hi def link changelogNumber Number
hi def link changelogMonth Number
hi def link changelogDay Number
hi def link changelogError Folded
let b:current_syntax = "changelog"
" vim: ts=8

View File

@@ -0,0 +1,14 @@
" Vim syntax file
" Language: Haskell supporting c2hs binding hooks
" Maintainer: Armin Sander <armin@mindwalker.org>
" Last Change: 2001 November 1
"
" 2001 November 1: Changed commands for sourcing haskell.vim
" Enable binding hooks
let b:hs_chs=1
" Include standard Haskell highlighting
runtime! syntax/haskell.vim
" vim: ts=8

View File

@@ -0,0 +1,62 @@
" Vim syntax file
" Language: Chatito
" Maintainer: ObserverOfTime <chronobserver@disroot.org>
" Filenames: *.chatito
" Last Change: 2022 Sep 19
if exists('b:current_syntax')
finish
endif
" Comment
syn keyword chatitoTodo contained TODO FIXME XXX
syn match chatitoComment /^#.*/ contains=chatitoTodo,@Spell
syn match chatitoComment +^//.*+ contains=chatitoTodo,@Spell
" Import
syn match chatitoImport /^import \+.*$/ transparent contains=chatitoImportKeyword,chatitoImportFile
syn keyword chatitoImportKeyword import contained nextgroup=chatitoImportFile
syn match chatitoImportFile /.*$/ contained skipwhite
" Intent
syn match chatitoIntent /^%\[[^\]?]\+\]\((.\+)\)\=$/ contains=chatitoArgs
" Slot
syn match chatitoSlot /^@\[[^\]?#]\+\(#[^\]?#]\+\)\=\]\((.\+)\)\=$/ contains=chatitoArgs,chatitoVariation
syn match chatitoSlot /@\[[^\]?#]\+\(#[^\]?#]\+\)\=?\=\]/ contained contains=chatitoOpt,chatitoVariation
" Alias
syn match chatitoAlias /^\~\[[^\]?]\+\]\=$/
syn match chatitoAlias /\~\[[^\]?]\+?\=\]/ contained contains=chatitoOpt
" Probability
syn match chatitoProbability /\*\[\d\+\(\.\d\+\)\=%\=\]/ contained
" Optional
syn match chatitoOpt '?' contained
" Arguments
syn match chatitoArgs /(.\+)/ contained
" Variation
syn match chatitoVariation /#[^\]?#]\+/ contained
" Value
syn match chatitoValue /^ \{4\}\zs.\+$/ contains=chatitoProbability,chatitoSlot,chatitoAlias,@Spell
" Errors
syn match chatitoError /^\t/
hi def link chatitoAlias String
hi def link chatitoArgs Special
hi def link chatitoComment Comment
hi def link chatitoError Error
hi def link chatitoImportKeyword Include
hi def link chatitoIntent Statement
hi def link chatitoOpt SpecialChar
hi def link chatitoProbability Number
hi def link chatitoSlot Identifier
hi def link chatitoTodo Todo
hi def link chatitoVariation Special
let b:current_syntax = 'chatito'

View File

@@ -0,0 +1,47 @@
" Vim syntax file
" Language: Cheetah template engine
" Maintainer: Max Ischenko <mfi@ukr.net>
" Last Change: 2003-05-11
"
" Missing features:
" match invalid syntax, like bad variable ref. or unmatched closing tag
" PSP-style tags: <% .. %> (obsoleted feature)
" doc-strings and header comments (rarely used feature)
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syntax case match
syn keyword cheetahKeyword contained if else unless elif for in not
syn keyword cheetahKeyword contained while repeat break continue pass end
syn keyword cheetahKeyword contained set del attr def global include raw echo
syn keyword cheetahKeyword contained import from extends implements
syn keyword cheetahKeyword contained assert raise try catch finally
syn keyword cheetahKeyword contained errorCatcher breakpoint silent cache filter
syn match cheetahKeyword contained "\<compiler-settings\>"
" Matches cached placeholders
syn match cheetahPlaceHolder "$\(\*[0-9.]\+[wdhms]\?\*\|\*\)\?\h\w*\(\.\h\w*\)*" display
syn match cheetahPlaceHolder "$\(\*[0-9.]\+[wdhms]\?\*\|\*\)\?{\h\w*\(\.\h\w*\)*}" display
syn match cheetahDirective "^\s*#[^#].*$" contains=cheetahPlaceHolder,cheetahKeyword,cheetahComment display
syn match cheetahContinuation "\\$"
syn match cheetahComment "##.*$" display
syn region cheetahMultiLineComment start="#\*" end="\*#"
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link cheetahPlaceHolder Identifier
hi def link cheetahDirective PreCondit
hi def link cheetahKeyword Define
hi def link cheetahContinuation Special
hi def link cheetahComment Comment
hi def link cheetahMultiLineComment Comment
let b:current_syntax = "cheetah"

View File

@@ -0,0 +1,94 @@
" Vim syntax file
" Language: Scheme (CHICKEN)
" Last Change: 2024 Jun 21
" Author: Evan Hanson <evhan@foldling.org>
" Maintainer: Evan Hanson <evhan@foldling.org>
" Repository: https://git.foldling.org/vim-scheme.git
" URL: https://foldling.org/vim/syntax/chicken.vim
" Notes: This is supplemental syntax, to be loaded after the core
" Scheme syntax file (syntax/scheme.vim). Enable it by
" setting b:is_chicken=1 and filetype=scheme.
" Only to be used on top of the Scheme syntax.
if !exists('b:did_scheme_syntax')
finish
endif
" Lighten parentheses.
hi! def link schemeParentheses Comment
" foo#bar
syn match schemeExtraSyntax /[^ #'`\t\n()\[\]"|;]\+#[^ '`\t\n()\[\]"|;]\+/
" ##foo#bar
syn match schemeExtraSyntax /##[^ '`\t\n()\[\]"|;]\+/
" Heredocs.
syn region schemeString start=/#<[<#]\s*\z(.*\)/ end=/^\z1$/
" Keywords.
syn match schemeKeyword /#[!:][a-zA-Z0-9!$%&*+-./:<=>?@^_~#]\+/
syn match schemeKeyword /[a-zA-Z0-9!$%&*+-./:<=>?@^_~#]\+:\>/
" C/C++ syntax.
let s:c = globpath(&rtp, 'syntax/cpp.vim', 0, 1)
if len(s:c)
exe 'syn include @c ' s:c[0]
syn region c matchgroup=schemeComment start=/#>/ end=/<#/ contains=@c
endif
" SRFI 26
syn match schemeSyntax /\(([ \t\n]*\)\@<=\(cut\|cute\)\>/
syn keyword schemeSyntax and-let*
syn keyword schemeSyntax define-record
syn keyword schemeSyntax set!-values
syn keyword schemeSyntax fluid-let
syn keyword schemeSyntax let-optionals
syn keyword schemeSyntax let-optionals*
syn keyword schemeSyntax letrec-values
syn keyword schemeSyntax nth-value
syn keyword schemeSyntax receive
syn keyword schemeLibrarySyntax declare
syn keyword schemeLibrarySyntax define-interface
syn keyword schemeLibrarySyntax functor
syn keyword schemeLibrarySyntax include-relative
syn keyword schemeLibrarySyntax module
syn keyword schemeLibrarySyntax reexport
syn keyword schemeLibrarySyntax require-library
syn keyword schemeTypeSyntax -->
syn keyword schemeTypeSyntax ->
syn keyword schemeTypeSyntax :
syn keyword schemeTypeSyntax assume
syn keyword schemeTypeSyntax compiler-typecase
syn keyword schemeTypeSyntax define-specialization
syn keyword schemeTypeSyntax define-type
syn keyword schemeTypeSyntax the
syn keyword schemeExtraSyntax match
syn keyword schemeExtraSyntax match-lambda
syn keyword schemeExtraSyntax match-lambda*
syn keyword schemeExtraSyntax match-let
syn keyword schemeExtraSyntax match-let*
syn keyword schemeExtraSyntax match-letrec
syn keyword schemeSpecialSyntax define-compiler-syntax
syn keyword schemeSpecialSyntax define-constant
syn keyword schemeSpecialSyntax define-external
syn keyword schemeSpecialSyntax define-inline
syn keyword schemeSpecialSyntax foreign-code
syn keyword schemeSpecialSyntax foreign-declare
syn keyword schemeSpecialSyntax foreign-lambda
syn keyword schemeSpecialSyntax foreign-lambda*
syn keyword schemeSpecialSyntax foreign-primitive
syn keyword schemeSpecialSyntax foreign-safe-lambda
syn keyword schemeSpecialSyntax foreign-safe-lambda*
syn keyword schemeSpecialSyntax foreign-value
syn keyword schemeSyntaxSyntax begin-for-syntax
syn keyword schemeSyntaxSyntax define-for-syntax
syn keyword schemeSyntaxSyntax er-macro-transformer
syn keyword schemeSyntaxSyntax ir-macro-transformer
syn keyword schemeSyntaxSyntax require-library-for-syntax

View File

@@ -0,0 +1,178 @@
" Vim syntax file
" Language: CHILL
" Maintainer: YoungSang Yoon <image@lgic.co.kr>
" Last change: 2004 Jan 21
"
" first created by image@lgic.co.kr & modified by paris@lgic.co.kr
" CHILL (CCITT High Level Programming Language) is used for
" developing software of ATM switch at LGIC (LG Information
" & Communications LTd.)
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" A bunch of useful CHILL keywords
syn keyword chillStatement goto GOTO return RETURN returns RETURNS
syn keyword chillLabel CASE case ESAC esac
syn keyword chillConditional if IF else ELSE elsif ELSIF switch SWITCH THEN then FI fi
syn keyword chillLogical NOT not
syn keyword chillRepeat while WHILE for FOR do DO od OD TO to
syn keyword chillProcess START start STACKSIZE stacksize PRIORITY priority THIS this STOP stop
syn keyword chillBlock PROC proc PROCESS process
syn keyword chillSignal RECEIVE receive SEND send NONPERSISTENT nonpersistent PERSISTENT persistent SET set EVER ever
syn keyword chillTodo contained TODO FIXME XXX
" String and Character constants
" Highlight special characters (those which have a backslash) differently
syn match chillSpecial contained "\\x\x\+\|\\\o\{1,3\}\|\\.\|\\$"
syn region chillString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=chillSpecial
syn match chillCharacter "'[^\\]'"
syn match chillSpecialCharacter "'\\.'"
syn match chillSpecialCharacter "'\\\o\{1,3\}'"
"when wanted, highlight trailing white space
if exists("chill_space_errors")
syn match chillSpaceError "\s*$"
syn match chillSpaceError " \+\t"me=e-1
endif
"catch errors caused by wrong parenthesis
syn cluster chillParenGroup contains=chillParenError,chillIncluded,chillSpecial,chillTodo,chillUserCont,chillUserLabel,chillBitField
syn region chillParen transparent start='(' end=')' contains=ALLBUT,@chillParenGroup
syn match chillParenError ")"
syn match chillInParen contained "[{}]"
"integer number, or floating point number without a dot and with "f".
syn case ignore
syn match chillNumber "\<\d\+\(u\=l\=\|lu\|f\)\>"
"floating point number, with dot, optional exponent
syn match chillFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\=\>"
"floating point number, starting with a dot, optional exponent
syn match chillFloat "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
"floating point number, without dot, with exponent
syn match chillFloat "\<\d\+e[-+]\=\d\+[fl]\=\>"
"hex number
syn match chillNumber "\<0x\x\+\(u\=l\=\|lu\)\>"
"syn match chillIdentifier "\<[a-z_][a-z0-9_]*\>"
syn case match
" flag an octal number with wrong digits
syn match chillOctalError "\<0\o*[89]"
if exists("chill_comment_strings")
" A comment can contain chillString, chillCharacter and chillNumber.
" But a "*/" inside a chillString in a chillComment DOES end the comment! So we
" need to use a special type of chillString: chillCommentString, which also ends on
" "*/", and sees a "*" at the start of the line as comment again.
" Unfortunately this doesn't very well work for // type of comments :-(
syntax match chillCommentSkip contained "^\s*\*\($\|\s\+\)"
syntax region chillCommentString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=chillSpecial,chillCommentSkip
syntax region chillComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=chillSpecial
syntax region chillComment start="/\*" end="\*/" contains=chillTodo,chillCommentString,chillCharacter,chillNumber,chillFloat,chillSpaceError
syntax match chillComment "//.*" contains=chillTodo,chillComment2String,chillCharacter,chillNumber,chillSpaceError
else
syn region chillComment start="/\*" end="\*/" contains=chillTodo,chillSpaceError
syn match chillComment "//.*" contains=chillTodo,chillSpaceError
endif
syntax match chillCommentError "\*/"
syn keyword chillOperator SIZE size
syn keyword chillType dcl DCL int INT char CHAR bool BOOL REF ref LOC loc INSTANCE instance
syn keyword chillStructure struct STRUCT enum ENUM newmode NEWMODE synmode SYNMODE
"syn keyword chillStorageClass
syn keyword chillBlock PROC proc END end
syn keyword chillScope GRANT grant SEIZE seize
syn keyword chillEDML select SELECT delete DELETE update UPDATE in IN seq SEQ WHERE where INSERT insert include INCLUDE exclude EXCLUDE
syn keyword chillBoolConst true TRUE false FALSE
syn region chillPreCondit start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=chillComment,chillString,chillCharacter,chillNumber,chillCommentError,chillSpaceError
syn region chillIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+
syn match chillIncluded contained "<[^>]*>"
syn match chillInclude "^\s*#\s*include\>\s*["<]" contains=chillIncluded
"syn match chillLineSkip "\\$"
syn cluster chillPreProcGroup contains=chillPreCondit,chillIncluded,chillInclude,chillDefine,chillInParen,chillUserLabel
syn region chillDefine start="^\s*#\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,@chillPreProcGroup
syn region chillPreProc start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" contains=ALLBUT,@chillPreProcGroup
" Highlight User Labels
syn cluster chillMultiGroup contains=chillIncluded,chillSpecial,chillTodo,chillUserCont,chillUserLabel,chillBitField
syn region chillMulti transparent start='?' end=':' contains=ALLBUT,@chillMultiGroup
" Avoid matching foo::bar() in C++ by requiring that the next char is not ':'
syn match chillUserCont "^\s*\I\i*\s*:$" contains=chillUserLabel
syn match chillUserCont ";\s*\I\i*\s*:$" contains=chillUserLabel
syn match chillUserCont "^\s*\I\i*\s*:[^:]"me=e-1 contains=chillUserLabel
syn match chillUserCont ";\s*\I\i*\s*:[^:]"me=e-1 contains=chillUserLabel
syn match chillUserLabel "\I\i*" contained
" Avoid recognizing most bitfields as labels
syn match chillBitField "^\s*\I\i*\s*:\s*[1-9]"me=e-1
syn match chillBitField ";\s*\I\i*\s*:\s*[1-9]"me=e-1
syn match chillBracket contained "[<>]"
if !exists("chill_minlines")
let chill_minlines = 15
endif
exec "syn sync ccomment chillComment minlines=" . chill_minlines
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link chillLabel Label
hi def link chillUserLabel Label
hi def link chillConditional Conditional
" hi def link chillConditional term=bold ctermfg=red guifg=red gui=bold
hi def link chillRepeat Repeat
hi def link chillProcess Repeat
hi def link chillSignal Repeat
hi def link chillCharacter Character
hi def link chillSpecialCharacter chillSpecial
hi def link chillNumber Number
hi def link chillFloat Float
hi def link chillOctalError chillError
hi def link chillParenError chillError
hi def link chillInParen chillError
hi def link chillCommentError chillError
hi def link chillSpaceError chillError
hi def link chillOperator Operator
hi def link chillStructure Structure
hi def link chillBlock Operator
hi def link chillScope Operator
"hi def link chillEDML term=underline ctermfg=DarkRed guifg=Red
hi def link chillEDML PreProc
"hi def link chillBoolConst term=bold ctermfg=brown guifg=brown
hi def link chillBoolConst Constant
"hi def link chillLogical term=bold ctermfg=brown guifg=brown
hi def link chillLogical Constant
hi def link chillStorageClass StorageClass
hi def link chillInclude Include
hi def link chillPreProc PreProc
hi def link chillDefine Macro
hi def link chillIncluded chillString
hi def link chillError Error
hi def link chillStatement Statement
hi def link chillPreCondit PreCondit
hi def link chillType Type
hi def link chillCommentError chillError
hi def link chillCommentString chillString
hi def link chillComment2String chillString
hi def link chillCommentSkip chillComment
hi def link chillString String
hi def link chillComment Comment
" hi def link chillComment term=None ctermfg=lightblue guifg=lightblue
hi def link chillSpecial SpecialChar
hi def link chillTodo Todo
hi def link chillBlock Statement
"hi def link chillIdentifier Identifier
hi def link chillBracket Delimiter
let b:current_syntax = "chill"
" vim: ts=8

View File

@@ -0,0 +1,174 @@
" Vim syntax file
" Language: ChordPro 6 (https://www.chordpro.org)
" Maintainer: Niels Bo Andersen <niels@niboan.dk>
" Last Change: 2022-04-15
" 2024 Dec 31: add "keys" as syntax keyword (via: https://groups.google.com/g/vim_dev/c/vP4epus0euM/m/mNoDY6hsCQAJ)
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn case ignore
" Include embedded abc syntax
syn include @Abc syntax/abc.vim
" Lilypond and Pango syntaxes could be embedded as well, but they are not
" available in the distribution.
" Directives without arguments
syn keyword chordproDirective contained nextgroup=chordproConditional
\ new_song ns
\ start_of_chorus soc
\ chorus
\ start_of_verse sov
\ start_of_bridge sob
\ start_of_tab sot
\ start_of_grid sog
\ start_of_abc
\ start_of_ly
\ end_of_chorus eoc
\ end_of_verse eov
\ end_of_bridge eob
\ end_of_tab eot
\ end_of_grid eog
\ end_of_abc
\ end_of_ly
\ new_page np
\ new_physical_page npp
\ column_break cb
\ grid g
\ no_grid ng
\ transpose
\ chordfont cf chordsize cs chordcolour
\ footerfont footersize footercolour
\ gridfont gridsize gridcolour
\ tabfont tabsize tabcolour
\ tocfont tocsize toccolour
\ textfont tf textsize ts textcolour
\ titlefont titlesize titlecolour
" Directives with arguments. Some directives are in both groups, as they can
" be used both with and without arguments
syn keyword chordproDirWithArg contained nextgroup=chordproConditional
\ title t
\ subtitle st
\ sorttitle
\ artist
\ composer
\ lyricist
\ arranger
\ copyright
\ album
\ year
\ key
\ time
\ tempo
\ duration
\ capo
\ comment c
\ highlight
\ comment_italic ci
\ comment_box cb
\ image
\ start_of_chorus soc
\ chorus
\ start_of_verse sov
\ start_of_bridge sob
\ start_of_tab sot
\ start_of_grid sog
\ start_of_abc
\ start_of_ly
\ define
\ chord
\ transpose
\ chordfont cf chordsize cs chordcolour
\ footerfont footersize footercolour
\ gridfont gridsize gridcolour
\ tabfont tabsize tabcolour
\ tocfont tocsize toccolour
\ textfont tf textsize ts textcolour
\ titlefont titlesize titlecolour
\ pagetype
\ titles
\ columns col
syn keyword chordproMetaKeyword contained meta
syn keyword chordproMetadata contained title sorttitle subtitle artist composer lyricist arranger copyright album year key time tempo duration capo
syn keyword chordproStandardMetadata contained songindex page pages pagerange today tuning instrument user
syn match chordproStandardMetadata /instrument\.type/ contained
syn match chordproStandardMetadata /instrument\.description/ contained
syn match chordproStandardMetadata /user\.name/ contained
syn match chordproStandardMetadata /user\.fullname/ contained
syn keyword chordproDefineKeyword contained frets fingers keys
syn match chordproDefineKeyword /base-fret/ contained
syn match chordproArgumentsNumber /\d\+/ contained
syn match chordproCustom /x_\w\+/ contained
syn match chordproDirMatch /{\w\+\(-\w\+\)\?}/ contains=chordproDirective contained transparent
syn match chordproDirArgMatch /{\w\+\(-\w\+\)\?[: ]/ contains=chordproDirWithArg contained transparent
syn match chordproMetaMatch /{meta\(-\w\+\)\?[: ]\+\w\+/ contains=chordproMetaKeyword,chordproMetadata contained transparent
syn match chordproCustomMatch /{x_\w\+\(-\w\+\)\?[: ]/ contains=chordproCustom contained transparent
syn match chordproConditional /-\w\+/ contained
syn match chordproMetaDataOperator /[=|]/ contained
syn match chordproMetaDataValue /%{\w*/ contains=chordproMetaData,chordproStandardMetadata contained transparent
" Handles nested metadata tags, but the end of the containing chordproTag is
" not highlighted correctly, if there are more than two levels of nesting
syn region chordproMetaDataTag start=/%{\w*/ skip=/%{[^}]*}/ end=/}/ contains=chordproMetaDataValue,chordproMetaDataOperator,chordproMetadataTag contained
syn region chordproArguments start=/{\w\+\(-\w\+\)\?[: ]/hs=e+1 skip=/%{[^}]*}/ end=/}/he=s-1 contains=chordproDirArgMatch,chordproArgumentsNumber,chordproMetaDataTag contained
syn region chordproArguments start=/{\(define\|chord\)\(-\w\+\)\?[: ]/hs=e+1 end=/}/he=s-1 contains=chordproDirArgMatch,chordproDefineKeyword,chordproArgumentsNumber contained
syn region chordproArguments start=/{meta\(-\w\+\)\?[: ]/hs=e+1 skip=/%{[^}]*}/ end=/}/he=s-1 contains=chordproMetaMatch,chordproMetaDataTag contained
syn region chordproArguments start=/{x_\w\+\(-\w\+\)\?[: ]/hs=e+1 end=/}/he=s-1 contains=chordproCustomMatch contained
syn region chordproTag start=/{/ skip=/%{[^}]*}/ end=/}/ contains=chordproDirMatch,chordproArguments oneline
syn region chordproChord matchgroup=chordproBracket start=/\[/ end=/]/ oneline
syn region chordproAnnotation matchgroup=chordproBracket start=/\[\*/ end=/]/ oneline
syn region chordproTab start=/{start_of_tab\(-\w\+\)\?\([: ].\+\)\?}\|{sot\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_tab}\|{eot}/me=s-1 contains=chordproTag,chordproComment keepend
syn region chordproChorus start=/{start_of_chorus\(-\w\+\)\?\([: ].\+\)\?}\|{soc\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_chorus}\|{eoc}/me=s-1 contains=chordproTag,chordproChord,chordproAnnotation,chordproComment keepend
syn region chordproBridge start=/{start_of_bridge\(-\w\+\)\?\([: ].\+\)\?}\|{sob\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_bridge}\|{eob}/me=s-1 contains=chordproTag,chordproChord,chordproAnnotation,chordproComment keepend
syn region chordproAbc start=/{start_of_abc\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_abc}/me=s-1 contains=chordproTag,@Abc keepend
syn match chordproComment /^#.*/
" Define the default highlighting.
hi def link chordproDirective Statement
hi def link chordproDirWithArg Statement
hi def link chordproConditional Statement
hi def link chordproCustom Statement
hi def link chordproMetaKeyword Statement
hi def link chordproMetaDataOperator Operator
hi def link chordproMetaDataTag Function
hi def link chordproArguments Special
hi def link chordproArgumentsNumber Number
hi def link chordproChord Type
hi def link chordproAnnotation Identifier
hi def link chordproTag Constant
hi def link chordproTab PreProc
hi def link chordproComment Comment
hi def link chordproBracket Constant
hi def link chordproDefineKeyword Identifier
hi def link chordproMetadata Identifier
hi def link chordproStandardMetadata Identifier
hi def chordproChorus term=bold cterm=bold gui=bold
hi def chordproBridge term=italic cterm=italic gui=italic
let b:current_syntax = "chordpro"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1,187 @@
" Vim syntax file
" Language: ChucK
" Maintainer: Andrea Callea
" URL: https://github.com/gacallea/chuck.vim
" Last Change: 2024 Jan 21 by Andrea Callea
" Sources used for this syntax
" https://chuck.cs.princeton.edu/doc/language/
" https://chuck.cs.princeton.edu/doc/reference/
" HISTORY:
" 2024 Jan 21 - Initial revision
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" https://chuck.cs.princeton.edu/doc/language/type.html
syn keyword chuckPrimitiveType int float time dur void vec3 vec4
syn keyword chuckComplexType complex polar
syn keyword chuckReferenceType Object Event UGen array string
syn keyword chuckBoolean true false maybe
syn keyword chuckBoolean null NULL
" https://chuck.cs.princeton.edu/doc/language/oper.html
syn match chuckOperator "=>"
syn match chuckOperator "@=>"
syn match chuckOperator "=^"
syn match chuckOperator "+"
syn match chuckOperator "-"
syn match chuckOperator "*"
syn match chuckOperator "/"
syn match chuckOperator "%"
syn match chuckOperator "!"
syn match chuckOperator "&"
syn match chuckOperator "|"
syn match chuckOperator "\^"
syn match chuckOperator "+=>"
syn match chuckOperator "-=>"
syn match chuckOperator "*=>"
syn match chuckOperator "/=>"
syn match chuckOperator "%=>"
syn match chuckOperator "!=>"
syn match chuckOperator "&=>"
syn match chuckOperator "|=>"
syn match chuckOperator "\^=>"
syn match chuckOperator "&&"
syn match chuckOperator "||"
syn match chuckOperator "=="
syn match chuckOperator "!="
syn match chuckOperator ">"
syn match chuckOperator ">="
syn match chuckOperator "<"
syn match chuckOperator "<="
syn match chuckOperator ">>"
syn match chuckOperator "<<"
syn match chuckOperator "++"
syn match chuckOperator "--"
syn match chuckOperator "<<<"
syn match chuckOperator ">>>"
syn keyword chuckOperator new
" https://chuck.cs.princeton.edu/doc/language/ctrl.html
syn keyword chuckConditional if else
syn keyword chuckRepeat while do until for each
" https://chuck.cs.princeton.edu/doc/language/time.html
syn keyword chuckTimeAndDuration samp ms second minute hour day week
syn keyword chuckTimeAndDuration now later
" these may need some additional keywords I missed, for a future revision
syn keyword chuckKeyword dac adc
syn keyword chuckKeyword fun function
syn keyword chuckKeyword return
syn keyword chuckKeyword const
syn match chuckKeyword "@"
syn keyword chuckKeyword pi
syn keyword chuckKeyword me
syn keyword chuckKeyword repeat break continue
syn keyword chuckKeyword class extends public private static pure this
syn keyword chuckKeyword spork
syn keyword chuckKeyword cherr chout
" https://chuck.cs.princeton.edu/doc/reference/
syn keyword chuckBaseClasses Shred Math Machine Std
" https://chuck.cs.princeton.edu/doc/reference/
syn keyword chuckBasicUGen Gain Impulse Step SndBuf SndBuf2
syn keyword chuckBasicUGen ADSR Envelope Delay DelayL DelayA Echo
syn keyword chuckBasicUGen Noise CNoise Osc SinOsc TriOsc SawOsc PulseOsc SqrOsc
syn keyword chuckBasicUGen Phasor HalfRect FullRect
syn keyword chuckBasicUGen Chugraph Chugen UGen_Multi UGen_Stereo Mix2 Pan2
" https://chuck.cs.princeton.edu/doc/reference/
syn keyword chuckFilterUGen FilterBasic LPF HPF BPF BRF BiQuad ResonZ
syn keyword chuckFilterUGen OnePole OneZero TwoPole TwoZero PoleZero
" https://chuck.cs.princeton.edu/doc/reference/
syn keyword chuckSTKUGen JCRev NRev PRCRev
syn keyword chuckSTKUGen Chorus Modulate PitShift SubNoise
syn keyword chuckSTKUGen BLT Blit BlitSaw BlitSquare FilterStk
syn keyword chuckSTKUGen WvIn WaveLoop WvOut WvOut2 StkInstrument
syn keyword chuckSTKUGen BandedWG BlowBotl BlowHole
syn keyword chuckSTKUGen Bowed Brass Clarinet Flute Mandolin
syn keyword chuckSTKUGen ModalBar Moog Saxofony Shakers Sitar StifKarp
syn keyword chuckSTKUGen VoicForm KrstlChr FM BeeThree FMVoices
syn keyword chuckSTKUGen HevyMetl HnkyTonk FrencHrn PercFlut Rhodey TubeBell Wurley
" https://chuck.cs.princeton.edu/doc/reference/
syn keyword chuckAdvancedUGen LiSa LiSa2 LiSa6 LiSa8 LiSa10
syn keyword chuckAdvancedUGen LiSa16 GenX Gen5 Gen7 Gen9 Gen10 Gen17
syn keyword chuckAdvancedUGen CurveTable WarpTable Dyno
" https://chuck.cs.princeton.edu/doc/reference/
syn keyword chuckChugin ABSaturator AmbPan3 Bitcrusher Elliptic ExpDelay ExpEnv FIR
syn keyword chuckChugin FoldbackSaturator GVerb KasFilter MagicSine Mesh2D
syn keyword chuckChugin Multicomb Pan4 Pan8 Pan16 PitchTrack PowerADSR RegEx
syn keyword chuckChugin Sigmund Spectacle WinFuncEnv WPDiodeLadder WPKorg35
" https://chuck.cs.princeton.edu/doc/reference/
syn keyword chuckUnitAnalyzer UAna UAnaBlob Windowing
syn keyword chuckUnitAnalyzer FFT IFFT DCT IDCT
syn keyword chuckUnitAnalyzer Centroid Flux RMS RollOff
syn keyword chuckUnitAnalyzer Flip UnFlip XCorr
syn keyword chuckUnitAnalyzer Chroma Kurtosis MFCC SFM ZeroX AutoCorr FeatureCollector
" https://chuck.cs.princeton.edu/doc/reference/
syn keyword chuckChAI MLP KNN KNN2 HMM SVM Word2Vec PCA Wekinator AI
" https://chuck.cs.princeton.edu/doc/reference/
syn keyword chuckInputOutput IO FileIO OscIn OscOut OscMsg
syn keyword chuckInputOutput Hid HidMsg KBHit SerialIO
syn keyword chuckInputOutput MidiIn MidiOut MidiMsg MidiFileIn
" https://chuck.cs.princeton.edu/doc/reference/
syn keyword chuckUtilities CKDoc StringTokenizer ConsoleInput
" https://github.com/wilsaj/chuck.vim/blob/master/syntax/chuck.vim
syn match chuckNumber /\%(\i\|\$\)\@<![-]\?\d\+/ display
syn match chuckHex /\<0[xX]\x\+[lL]\=\>/ display
syn match chuckFloat /\%(\i\|\$\)\@<![-]\?\%(\d*\.\d\+\|\d\+\.\)/ display
" this may need fixing/improvements
syn match chuckComment "//.*$"
syn region chuckComment start="/\*" end="\*/"
syn match chuckSpecialChar contained "\\n"
syn match chuckSpecialChar contained "\\t"
syn match chuckSpecialChar contained "\\a"
syn match chuckSpecialChar contained /\\"/
syn match chuckSpecialChar contained "\\0"
syn region chuckString start=/"/ end=/"/ display contains=chuckSpecialChar
hi def link chuckPrimitiveType Type
hi def link chuckComplexType Type
hi def link chuckReferenceType Type
hi def link chuckBoolean Boolean
hi def link chuckOperator Operator
hi def link chuckConditional Conditional
hi def link chuckRepeat Repeat
hi def link chuckTimeAndDuration Keyword
hi def link chuckKeyword Keyword
hi def link chuckBaseClasses Special
hi def link chuckBasicUGen Structure
hi def link chuckFilterUGen Structure
hi def link chuckSTKUGen Structure
hi def link chuckAdvancedUGen Structure
hi def link chuckChugin Structure
hi def link chuckUnitAnalyzer Structure
hi def link chuckChAI Structure
hi def link chuckInputOutput Special
hi def link chuckUtilities Special
hi def link chuckNumber Number
hi def link chuckHex Number
hi def link chuckFloat Float
hi def link chuckComment Comment
hi def link chuckSpecialChar SpecialChar
hi def link chuckString String
let b:current_syntax = "chuck"

View File

@@ -0,0 +1,98 @@
" Vim syntax file
" Language: CL
" (pronounced alphabetically: "Cee-El".
" CL stands for Clever Language,
" but the language is CL, not "Clever".
" CL was created by Multibase, http://www.mbase.com.au)
" Filename extensions: *.ent
" *.eni
" Maintainer: Philip Uren <philuSPAX@ieee.org> Remove SPAX spam block
" Version: 6
" Last Change: Mar 06 2013
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
setlocal iskeyword=@,48-57,_,-
syn case ignore
syn sync lines=300
"If/else/elsif/endif and while/wend mismatch errors
syn match clifError "\<wend\>"
syn match clifError "\<elsif\>"
syn match clifError "\<else\>"
syn match clifError "\<endif\>"
syn match clSpaceError "\s\+$"
" If and while regions
syn region clLoop transparent matchgroup=clWhile start="\<while\>" matchgroup=clWhile end="\<wend\>" contains=ALLBUT,clBreak,clProcedure
syn region clIf transparent matchgroup=clConditional start="\<if\>" matchgroup=clConditional end="\<endif\>" contains=ALLBUT,clBreak,clProcedure
" Make those TODO notes and debugging stand out!
syn keyword clTodo contained TODO BUG DEBUG FIX
syn match clNeedsWork contained "NEED[S]*\s\s*WORK"
syn keyword clDebug contained debug
syn match clComment "#.*$" contains=clTodo,clNeedsWork,@Spell
syn region clProcedure oneline start="^\s*[{}]" end="$"
syn match clInclude "^\s*include\s.*"
" We don't put "debug" in the clSetOptions;
" we contain it in clSet so we can make it stand out.
syn keyword clSetOptions transparent aauto abort align convert E fill fnum goback hangup justify null_exit output rauto rawprint rawdisplay repeat skip tab trim
syn match clSet "^\s*set\s.*" contains=clSetOptions,clDebug
syn match clPreProc "^\s*#P.*"
syn keyword clConditional else elsif
syn keyword clWhile continue endloop
" 'break' needs to be a region so we can sync on it above.
syn region clBreak oneline start="^\s*break" end="$"
syn match clOperator "[!;|)(:.><+*=-]"
syn match clNumber "\<\d\+\(u\=l\=\|lu\|f\)\>"
syn region clString matchgroup=clQuote start=+"+ end=+"+ skip=+\\"+ contains=@Spell
syn region clString matchgroup=clQuote start=+'+ end=+'+ skip=+\\'+ contains=@Spell
syn keyword clReserved ERROR EXIT INTERRUPT LOCKED LREPLY MODE MCOL MLINE MREPLY NULL REPLY V1 V2 V3 V4 V5 V6 V7 V8 V9 ZERO BYPASS GOING_BACK AAUTO ABORT ABORT ALIGN BIGE CONVERT FNUM GOBACK HANGUP JUSTIFY NEXIT OUTPUT RAUTO RAWDISPLAY RAWPRINT REPEAT SKIP TAB TRIM LCOUNT PCOUNT PLINES SLINES SCOLS MATCH LMATCH
syn keyword clFunction asc asize chr name random slen srandom day getarg getcgi getenv lcase scat sconv sdel skey smult srep substr sword trim ucase match
syn keyword clStatement clear clear_eol clear_eos close copy create unique with where empty define define ldefine delay_form delete escape exit_block exit_do exit_process field fork format get getfile getnext getprev goto head join maintain message no_join on_eop on_key on_exit on_delete openin openout openapp pause popenin popenout popenio print put range read redisplay refresh restart_block screen select sleep text unlock write and not or do
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link clifError Error
hi def link clSpaceError Error
hi def link clWhile Repeat
hi def link clConditional Conditional
hi def link clDebug Debug
hi def link clNeedsWork Todo
hi def link clTodo Todo
hi def link clComment Comment
hi def link clProcedure Procedure
hi def link clBreak Procedure
hi def link clInclude Include
hi def link clSetOption Statement
hi def link clSet Identifier
hi def link clPreProc PreProc
hi def link clOperator Operator
hi def link clNumber Number
hi def link clString String
hi def link clQuote Delimiter
hi def link clReserved Identifier
hi def link clFunction Function
hi def link clStatement Statement
let b:current_syntax = "cl"
" vim: ts=8 sw=8

View File

@@ -0,0 +1,90 @@
" Vim syntax file
" Language: Clean
" Author: Pieter van Engelen <pietere@sci.kun.nl>
" Co-Author: Arthur van Leeuwen <arthurvl@sci.kun.nl>
" Last Change: 2013 Oct 15 by Jurriën Stutterheim
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
" Some Clean-keywords
syn keyword cleanConditional if case
syn keyword cleanLabel let! with where in of
syn keyword cleanSpecial Start
syn keyword cleanKeyword infixl infixr infix
syn keyword cleanBasicType Int Real Char Bool String
syn keyword cleanSpecialType World ProcId Void Files File
syn keyword cleanModuleSystem module implementation definition system
syn keyword cleanTypeClass class instance export
" Import highlighting
syn region cleanIncludeRegion start="^\s*\(from\|import\|\s\+\(as\|qualified\)\)" end="\n" contains=cleanIncludeKeyword keepend
syn keyword cleanIncludeKeyword contained from import as qualified
" To do some Denotation Highlighting
syn keyword cleanBoolDenot True False
syn region cleanStringDenot start=+"+ skip=+\(\(\\\\\)\+\|\\"\)+ end=+"+ display
syn match cleanCharDenot "'\(\\\\\|\\'\|[^'\\]\)\+'" display
syn match cleanIntegerDenot "[\~+-]\?\<\(\d\+\|0[0-7]\+\|0x[0-9A-Fa-f]\+\)\>" display
syn match cleanRealDenot "[\~+-]\?\d\+\.\d\+\(E[\~+-]\?\d\+\)\?" display
" To highlight the use of lists, tuples and arrays
syn region cleanList start="\[" end="\]" contains=ALL
syn region cleanRecord start="{" end="}" contains=ALL
syn region cleanArray start="{:" end=":}" contains=ALL
syn match cleanTuple "([^=]*,[^=]*)" contains=ALL
" To do some Comment Highlighting
syn region cleanComment start="/\*" end="\*/" contains=cleanComment,cleanTodo fold
syn region cleanComment start="//.*" end="$" display contains=cleanTodo
syn keyword cleanTodo TODO FIXME XXX contained
" Now for some useful type definition recognition
syn match cleanFuncTypeDef "\([a-zA-Z].*\|(\=[-~@#$%^?!+*<>\/|&=:]\+)\=\)\s*\(infix[lr]\=\)\=\s*\d\=\s*::.*->.*" contains=cleanSpecial,cleanBasicType,cleanSpecialType,cleanKeyword
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
" Comments
hi def link cleanComment Comment
" Constants and denotations
hi def link cleanStringDenot String
hi def link cleanCharDenot Character
hi def link cleanIntegerDenot Number
hi def link cleanBoolDenot Boolean
hi def link cleanRealDenot Float
" Identifiers
" Statements
hi def link cleanTypeClass Keyword
hi def link cleanConditional Conditional
hi def link cleanLabel Label
hi def link cleanKeyword Keyword
" Generic Preprocessing
hi def link cleanIncludeKeyword Include
hi def link cleanModuleSystem PreProc
" Type
hi def link cleanBasicType Type
hi def link cleanSpecialType Type
hi def link cleanFuncTypeDef Typedef
" Special
hi def link cleanSpecial Special
hi def link cleanList Special
hi def link cleanArray Special
hi def link cleanRecord Special
hi def link cleanTuple Special
" Error
" Todo
hi def link cleanTodo Todo
let b:current_syntax = "clean"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=4

View File

@@ -0,0 +1,135 @@
" Vim syntax file:
" Language: Clipper 5.2 & FlagShip
" Maintainer: C R Zamana <zamana@zip.net>
" Some things based on c.vim by Bram Moolenaar and pascal.vim by Mario Eusebio
" Last Change: 2011 Dec 29 by Thilo Six
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
" Exceptions for my "Very Own" (TM) user variables naming style.
" If you don't like this, comment it
syn match clipperUserVariable "\<[a,b,c,d,l,n,o,u,x][A-Z][A-Za-z0-9_]*\>"
syn match clipperUserVariable "\<[a-z]\>"
" Clipper is case insensitive ( see "exception" above )
syn case ignore
" Clipper keywords ( in no particular order )
syn keyword clipperStatement ACCEPT APPEND BLANK FROM AVERAGE CALL CANCEL
syn keyword clipperStatement CLEAR ALL GETS MEMORY TYPEAHEAD CLOSE
syn keyword clipperStatement COMMIT CONTINUE SHARED NEW PICT
syn keyword clipperStatement COPY FILE STRUCTURE STRU EXTE TO COUNT
syn keyword clipperStatement CREATE FROM NIL
syn keyword clipperStatement DELETE FILE DIR DISPLAY EJECT ERASE FIND GO
syn keyword clipperStatement INDEX INPUT VALID WHEN
syn keyword clipperStatement JOIN KEYBOARD LABEL FORM LIST LOCATE MENU TO
syn keyword clipperStatement NOTE PACK QUIT READ
syn keyword clipperStatement RECALL REINDEX RELEASE RENAME REPLACE REPORT
syn keyword clipperStatement RETURN FORM RESTORE
syn keyword clipperStatement RUN SAVE SEEK SELECT
syn keyword clipperStatement SKIP SORT STORE SUM TEXT TOTAL TYPE UNLOCK
syn keyword clipperStatement UPDATE USE WAIT ZAP
syn keyword clipperStatement BEGIN SEQUENCE
syn keyword clipperStatement SET ALTERNATE BELL CENTURY COLOR CONFIRM CONSOLE
syn keyword clipperStatement CURSOR DATE DECIMALS DEFAULT DELETED DELIMITERS
syn keyword clipperStatement DEVICE EPOCH ESCAPE EXACT EXCLUSIVE FILTER FIXED
syn keyword clipperStatement FORMAT FUNCTION INTENSITY KEY MARGIN MESSAGE
syn keyword clipperStatement ORDER PATH PRINTER PROCEDURE RELATION SCOREBOARD
syn keyword clipperStatement SOFTSEEK TYPEAHEAD UNIQUE WRAP
syn keyword clipperStatement BOX CLEAR GET PROMPT SAY ? ??
syn keyword clipperStatement DELETE TAG GO RTLINKCMD TMP DBLOCKINFO
syn keyword clipperStatement DBEVALINFO DBFIELDINFO DBFILTERINFO DBFUNCTABLE
syn keyword clipperStatement DBOPENINFO DBORDERCONDINFO DBORDERCREATEINF
syn keyword clipperStatement DBORDERINFO DBRELINFO DBSCOPEINFO DBSORTINFO
syn keyword clipperStatement DBSORTITEM DBTRANSINFO DBTRANSITEM WORKAREA
" Conditionals
syn keyword clipperConditional CASE OTHERWISE ENDCASE
syn keyword clipperConditional IF ELSE ENDIF IIF IFDEF IFNDEF
" Loops
syn keyword clipperRepeat DO WHILE ENDDO
syn keyword clipperRepeat FOR TO NEXT STEP
" Visibility
syn keyword clipperStorageClass ANNOUNCE STATIC
syn keyword clipperStorageClass DECLARE EXTERNAL LOCAL MEMVAR PARAMETERS
syn keyword clipperStorageClass PRIVATE PROCEDURE PUBLIC REQUEST STATIC
syn keyword clipperStorageClass FIELD FUNCTION
syn keyword clipperStorageClass EXIT PROCEDURE INIT PROCEDURE
" Operators
syn match clipperOperator "$\|%\|&\|+\|-\|->\|!"
syn match clipperOperator "\.AND\.\|\.NOT\.\|\.OR\."
syn match clipperOperator ":=\|<\|<=\|<>\|!=\|#\|=\|==\|>\|>=\|@"
syn match clipperOperator "*"
" Numbers
syn match clipperNumber "\<\d\+\(u\=l\=\|lu\|f\)\>"
" Includes
syn region clipperIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+
syn match clipperIncluded contained "<[^>]*>"
syn match clipperInclude "^\s*#\s*include\>\s*["<]" contains=clipperIncluded
" String and Character constants
syn region clipperString start=+"+ end=+"+
syn region clipperString start=+'+ end=+'+
" Delimiters
syn match ClipperDelimiters "[()]\|[\[\]]\|[{}]\|[||]"
" Special
syn match clipperLineContinuation ";"
" This is from Bram Moolenaar:
if exists("c_comment_strings")
" A comment can contain cString, cCharacter and cNumber.
" But a "*/" inside a cString in a clipperComment DOES end the comment!
" So we need to use a special type of cString: clipperCommentString, which
" also ends on "*/", and sees a "*" at the start of the line as comment
" again. Unfortunately this doesn't very well work for // type of comments :-(
syntax match clipperCommentSkip contained "^\s*\*\($\|\s\+\)"
syntax region clipperCommentString contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=clipperCommentSkip
syntax region clipperComment2String contained start=+"+ skip=+\\\\\|\\"+ end=+"+ end="$"
syntax region clipperComment start="/\*" end="\*/" contains=clipperCommentString,clipperCharacter,clipperNumber,clipperString
syntax match clipperComment "//.*" contains=clipperComment2String,clipperCharacter,clipperNumber
else
syn region clipperComment start="/\*" end="\*/"
syn match clipperComment "//.*"
endif
syntax match clipperCommentError "\*/"
" Lines beggining with an "*" are comments too
syntax match clipperComment "^\*.*"
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link clipperConditional Conditional
hi def link clipperRepeat Repeat
hi def link clipperNumber Number
hi def link clipperInclude Include
hi def link clipperComment Comment
hi def link clipperOperator Operator
hi def link clipperStorageClass StorageClass
hi def link clipperStatement Statement
hi def link clipperString String
hi def link clipperFunction Function
hi def link clipperLineContinuation Special
hi def link clipperDelimiters Delimiter
hi def link clipperUserVariable Identifier
let b:current_syntax = "clipper"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,77 @@
" Vim syntax file
" Language: C macro for C preprocessor
" Maintainer: Wu, Zhenyu <wuzhenyu@ustc.edu>
" Last Change: 2024 Dec 31
" modified from syntax/c.vim
" C compiler has a preprocessor: `cpp -P test.txt`
" test.txt doesn't need to be a C file
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
" Accept %: for # (C99)
syn region cmacroPreCondit start="^\s*\zs\%(%:\|#\)\s*\%(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cmacroCppParen,cmacroNumbers
syn match cmacroPreConditMatch display "^\s*\zs\%(%:\|#\)\s*\%(else\|endif\)\>"
if !exists("c_no_if0")
syn cluster cmacroCppOutInGroup contains=cmacroCppInIf,cmacroCppInElse,cmacroCppInElse2,cmacroCppOutIf,cmacroCppOutIf2,cmacroCppOutElse,cmacroCppInSkip,cmacroCppOutSkip
syn region cmacroCppOutWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0\+\s*\%($\|//\|/\*\|&\)" end=".\@=\|$" contains=cmacroCppOutIf,cmacroCppOutElse,@NoSpell fold
syn region cmacroCppOutIf contained start="0\+" matchgroup=cmacroCppOutWrapper end="^\s*\%(%:\|#\)\s*endif\>" contains=cmacroCppOutIf2,cmacroCppOutElse
if !exists("c_no_if0_fold")
syn region cmacroCppOutIf2 contained matchgroup=cmacroCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cmacroCppOutSkip,@Spell fold
else
syn region cmacroCppOutIf2 contained matchgroup=cmacroCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cmacroCppOutSkip,@Spell
endif
syn region cmacroCppOutElse contained matchgroup=cmacroCppOutWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cmacroPreCondit
syn region cmacroCppInWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\%($\|//\|/\*\||\)" end=".\@=\|$" contains=cmacroCppInIf,cmacroCppInElse fold
syn region cmacroCppInIf contained matchgroup=cmacroCppInWrapper start="\d\+" end="^\s*\%(%:\|#\)\s*endif\>" contains=TOP,cmacroPreCondit
if !exists("c_no_if0_fold")
syn region cmacroCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cmacroCppInIf contains=cmacroCppInElse2 fold
else
syn region cmacroCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cmacroCppInIf contains=cmacroCppInElse2
endif
syn region cmacroCppInElse2 contained matchgroup=cmacroCppInWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)\%([^/]\|/[^/*]\)*" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=cmacroCppOutSkip,@Spell
syn region cmacroCppOutSkip contained start="^\s*\%(%:\|#\)\s*\%(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" contains=cmacroCppOutSkip
syn region cmacroCppInSkip contained matchgroup=cmacroCppInWrapper start="^\s*\%(%:\|#\)\s*\%(if\s\+\%(\d\+\s*\%($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" containedin=cmacroCppOutElse,cmacroCppInIf,cmacroCppInSkip contains=TOP,cmacroPreProc
endif
syn region cmacroIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
syn match cmacroIncluded display contained "<[^>]*>"
syn match cmacroInclude display "^\s*\zs\%(%:\|#\)\s*include\>\s*["<]" contains=cmacroIncluded
"syn match cmacroLineSkip "\\$"
syn cluster cmacroPreProcmacroGroup contains=cmacroPreCondit,cmacroIncluded,cmacroInclude,cmacroDefine,cmacroCppOutWrapper,cmacroCppInWrapper,@cmacroCppOutInGroup,cmacroNumbersCom,@cmacroCommentGroup,cmacroParen,cmacroBracket,cmacroMulti,cmacroBadBlock
syn region cmacroDefine start="^\s*\zs\%(%:\|#\)\s*\%(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cmacroPreProcmacroGroup,@Spell
syn region cmacroPreProc start="^\s*\zs\%(%:\|#\)\s*\%(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cmacroPreProcmacroGroup,@Spell
" be able to fold #pragma regions
syn region cmacroPragma start="^\s*#pragma\s\+region\>" end="^\s*#pragma\s\+endregion\>" transparent keepend extend fold
syn keyword cmacroTodo contained TODO FIXME XXX NOTE
syn region cmacroComment start='/\*' end='\*/' contains=cmacroTodo,@Spell
syn match cmacroCommentError "\*/"
syn region cmacroComment start='//' end='$' contains=cmacroTodo,@Spell
" Define the default highlighting.
" Only used when an item doesn't have highlighting yet
hi def link cmacroInclude Include
hi def link cmacroPreProc PreProc
hi def link cmacroDefine Macro
hi def link cmacroIncluded cmacroString
hi def link cmacroCppInWrapper cmacroCppOutWrapper
hi def link cmacroCppOutWrapper cmacroPreCondit
hi def link cmacroPreConditMatch cmacroPreCondit
hi def link cmacroPreCondit PreCondit
hi def link cmacroCppOutSkip cmacroCppOutIf2
hi def link cmacroCppInElse2 cmacroCppOutIf2
hi def link cmacroCppOutIf2 cmacroCppOut
hi def link cmacroCppOut Comment
hi def link cmacroTodo Todo
hi def link cmacroComment Comment
hi def link cmacroCommentError Error
let b:current_syntax = "cmacro"
let &cpo = s:cpo_save
unlet s:cpo_save

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,60 @@
" Vim syntax file
" Language: cmakecache - CMakeCache.txt files generated by CMake
" Author: bfrg <https://github.com/bfrg>
" Upstream: https://github.com/bfrg/vim-cmakecache-syntax
" Last Change: Nov 28, 2019
" License: Same as Vim itself (see :h license)
if exists('b:current_syntax')
finish
endif
let s:cpo_save = &cpoptions
set cpoptions&vim
" Comments start with # or //
syntax region CMakeCacheComment start="#\|//" end="$"
" Match 'key' in key:type=value
syntax match CMakeCacheKey "^\s*\w\+\(-ADVANCED\)\=:"me=e-1
" Highlight 'str' in key:STRING=str (many thanks to Nickspoons in #vim!)
syntax region CMakeCacheStringVar matchgroup=CMakeCacheType start=":STRING="ms=s+1,rs=e-1 end="$" contains=CMakeCacheString keepend
syntax region CMakeCacheString start="="ms=s+1 end="$" contained
" Highlight boolean 'value' in key:BOOL=value
syntax region CMakeCacheBoolVar matchgroup=CMakeCacheType start=":BOOL="ms=s+1,rs=e-1 end="$" contains=CMakeCacheBool keepend
syntax region CMakeCacheBool start="="ms=s+1 end="$" contained
" Highlight 'path' in key:PATH=path
syntax region CMakeCachePathVar matchgroup=CMakeCacheType start=":PATH="ms=s+1,rs=e-1 end="$" contains=CMakeCachePath keepend
syntax region CMakeCachePath start="="ms=s+1 end="$" contained
" Highlight 'file' in key:FILEPATH=file
syntax region CMakeCacheFilePathVar matchgroup=CMakeCacheType start=":FILEPATH="ms=s+1,rs=e-1 end="$" contains=CMakeCacheFilePath keepend
syntax region CMakeCacheFilePath start="="ms=s+1 end="$" contained
" Highlight 'value' in key:STATIC=value
syntax region CMakeCacheStaticVar matchgroup=CMakeCacheType start=":STATIC="ms=s+1,rs=e-1 end="$" contains=CMakeCacheStatic keepend
syntax region CMakeCacheStatic start="="ms=s+1 end="$" contained
" Highlight 'value' in key:Internal=value
syntax region CMakeCacheInternalVar matchgroup=CMakeCacheType start=":INTERNAL="ms=s+1,rs=e-1 end="$" contains=CMakeCacheInternal keepend
syntax region CMakeCacheInternal start="="ms=s+1 end="$" contained
hi def link CMakeCacheComment Comment
hi def link CMakeCacheKey Identifier
hi def link CMakeCacheString String
hi def link CMakeCacheBool Constant
hi def link CMakeCachePath Directory
hi def link CMakeCacheFilePath Normal
hi def link CMakeCacheStatic Normal
hi def link CMakeCacheInternal Normal
" Highlight 'type' in key:type=value
hi def link CMakeCacheType Type
let b:current_syntax = 'cmakecache'
let &cpoptions = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1,144 @@
" Vim syntax file
" Language: Cmod
" Current Maintainer: Stephen R. van den Berg <srb@cuci.nl>
" Last Change: 2018 Jan 23
" Version: 2.9
" Remark: Is used to edit Cmod files for Pike development.
" Remark: Includes a highlighter for any embedded Autodoc format.
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
" Read the C syntax to start with
runtime! syntax/c.vim
unlet b:current_syntax
if !exists("c_autodoc")
" For embedded Autodoc documentation
syn include @cmodAutodoc <sfile>:p:h/autodoc.vim
unlet b:current_syntax
endif
" Supports rotating amongst several same-level preprocessor conditionals
packadd! matchit
let b:match_words = "({:}\\@1<=),^\s*#\s*\%(if\%(n\?def\)\|else\|el\%(se\)\?if\|endif\)\>"
" Cmod extensions
syn keyword cmodStatement __INIT INIT EXIT GC_RECURSE GC_CHECK
syn keyword cmodStatement EXTRA OPTIMIZE RETURN
syn keyword cmodStatement ADD_EFUN ADD_EFUN2 ADD_FUNCTION
syn keyword cmodStatement MK_STRING MK_STRING_SVALUE CONSTANT_STRLEN
syn keyword cmodStatement SET_SVAL pop_n_elems pop_stack
syn keyword cmodStatement SIMPLE_ARG_TYPE_ERROR Pike_sp Pike_fp MKPCHARP
syn keyword cmodStatement SET_SVAL_TYPE REF_MAKE_CONST_STRING INC_PCHARP
syn keyword cmodStatement PTR_FROM_INT INHERIT_FROM_PTR
syn keyword cmodStatement DECLARE_CYCLIC BEGIN_CYCLIC END_CYCLIC
syn keyword cmodStatement UPDATE_LOCATION UNSAFE_IS_ZERO SAFE_IS_ZERO
syn keyword cmodStatement MKPCHARP_STR APPLY_MASTER current_storage
syn keyword cmodStatement PIKE_MAP_VARIABLE size_shift
syn keyword cmodStatement THREADS_ALLOW THREADS_DISALLOW
syn keyword cmodStatement add_integer_constant ref_push_object
syn keyword cmodStatement push_string apply_svalue free_svalue
syn keyword cmodStatement get_inherit_storage get_storage
syn keyword cmodStatement make_shared_binary_string push_int64
syn keyword cmodStatement begin_shared_string end_shared_string
syn keyword cmodStatement add_ref fast_clone_object clone_object
syn keyword cmodStatement push_undefined push_int ref_push_string
syn keyword cmodStatement free_string push_ulongest free_object
syn keyword cmodStatement convert_stack_top_to_bignum push_array
syn keyword cmodStatement push_object reduce_stack_top_bignum
syn keyword cmodStatement push_static_text apply_current
syn keyword cmodStatement assign_svalue free_program destruct_object
syn keyword cmodStatement start_new_program low_inherit stack_swap
syn keyword cmodStatement generic_error_program end_program
syn keyword cmodStatement free_array apply_external copy_mapping
syn keyword cmodStatement push_constant_text ref_push_mapping
syn keyword cmodStatement mapping_insert mapping_string_insert_string
syn keyword cmodStatement f_aggregate_mapping f_aggregate apply
syn keyword cmodStatement push_mapping push_svalue low_mapping_lookup
syn keyword cmodStatement assign_svalues_no_free f_add
syn keyword cmodStatement push_empty_string stack_dup assign_lvalue
syn keyword cmodStatement low_mapping_string_lookup allocate_mapping
syn keyword cmodStatement copy_shared_string make_shared_binary_string0
syn keyword cmodStatement f_call_function f_index f_utf8_to_string
syn keyword cmodStatement finish_string_builder init_string_builder
syn keyword cmodStatement reset_string_builder free_string_builder
syn keyword cmodStatement string_builder_putchar get_all_args
syn keyword cmodStatement add_shared_strings check_all_args
syn keyword cmodStatement do_inherit add_string_constant
syn keyword cmodStatement add_program_constant set_init_callback
syn keyword cmodStatement simple_mapping_string_lookup
syn keyword cmodStatement f_sprintf push_text string_has_null
syn keyword cmodStatement end_and_resize_shared_string
syn keyword cmodStatement args sp
syn keyword cmodStatement free
syn keyword cmodConstant ID_PROTECTED ID_FINAL PIKE_DEBUG
syn keyword cmodConstant NUMBER_NUMBER
syn keyword cmodConstant PIKE_T_INT PIKE_T_STRING PIKE_T_ARRAY
syn keyword cmodConstant PIKE_T_MULTISET PIKE_T_OBJECT PIKE_T_MAPPING
syn keyword cmodConstant NUMBER_UNDEFINED PIKE_T_PROGRAM PIKE_T_FUNCTION
syn keyword cmodConstant T_OBJECT T_STRING T_ARRAY T_MAPPING
syn keyword cmodException SET_ONERROR UNSET_ONERROR ONERROR
syn keyword cmodException CALL_AND_UNSET_ONERROR
syn keyword cmodDebug Pike_fatal Pike_error check_stack
syn keyword cmodAccess public protected private INHERIT
syn keyword cmodAccess CTYPE CVAR PIKEVAR PIKEFUN
syn keyword cmodModifier efun export flags optflags optfunc
syn keyword cmodModifier type rawtype errname name c_name prototype
syn keyword cmodModifier program_flags gc_trivial PMOD_EXPORT
syn keyword cmodModifier ATTRIBUTE noclone noinline
syn keyword cmodModifier tOr tFuncV tInt tMix tVoid tStr tMap tPrg
syn keyword cmodModifier tSetvar tArr tMult tMultiset
syn keyword cmodModifier tArray tMapping tString tSetvar tVar
syn keyword cmodType bool mapping string multiset array mixed
syn keyword cmodType object function program auto svalue
syn keyword cmodType bignum longest zero pike_string
syn keyword cmodType this this_program THIS INT_TYPE INT64 INT32
syn keyword cmodType p_wchar2 PCHARP p_wchar1 p_wchar0 MP_INT
syn keyword cmodOperator _destruct create __hash _sizeof _indices _values
syn keyword cmodOperator _is_type _sprintf _equal _m_delete _get_iterator
syn keyword cmodOperator _search _types _serialize _deserialize
syn keyword cmodOperator _size_object _random _sqrt TYPEOF SUBTYPEOF
syn keyword cmodOperator LIKELY UNLIKELY
syn keyword cmodStructure DECLARATIONS PIKECLASS DECLARE_STORAGE
if !exists("c_autodoc")
syn match cmodAutodocReal display contained "\%(//\|[/ \t\v]\*\|^\*\)\@2<=!.*" contains=@cmodAutodoc containedin=cComment,cCommentL
syn cluster cCommentGroup add=cmodAutodocReal
syn cluster cPreProcGroup add=cmodAutodocReal
endif
" Default highlighting
hi def link cmodAccess Statement
hi def link cmodOperator Operator
hi def link cmodStatement Statement
hi def link cmodConstant Constant
hi def link cmodModifier Type
hi def link cmodType Type
hi def link cmodStorageClass StorageClass
hi def link cmodStructure Structure
hi def link cmodException Exception
hi def link cmodDebug Debug
let b:current_syntax = "cmod"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8

View File

@@ -0,0 +1,309 @@
" Vim syntax 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 cmusrcTodo contained TODO FIXME XXX NOTE
syn match cmusrcComment contained display '^\s*#.*$'
syn match cmusrcBegin display '^'
\ nextgroup=cmusrcKeyword,cmusrcComment
\ skipwhite
syn keyword cmusrcKeyword contained add
\ nextgroup=cmusrcAddSwitches,cmusrcURI
\ skipwhite
syn match cmusrcAddSwitches contained display '-[lpqQ]'
\ nextgroup=cmusrcURI
\ skipwhite
syn match cmusrcURI contained display '.\+'
syn keyword cmusrcKeyword contained bind
\ nextgroup=cmusrcBindSwitches,
\ cmusrcBindContext
\ skipwhite
syn match cmusrcBindSwitches contained display '-[f]'
\ nextgroup=cmusrcBindContext
\ skipwhite
syn keyword cmusrcBindContext contained common library playlist queue
\ browser filters
\ nextgroup=cmusrcBindKey
\ skipwhite
syn match cmusrcBindKey contained display '\S\+'
\ nextgroup=cmusrcKeyword
\ skipwhite
syn keyword cmusrcKeyword contained browser-up colorscheme echo factivate
\ filter invert player-next player-pause
\ player-play player-prev player-stop quit
\ refresh run search-next search-prev shuffle
\ unmark win-activate win-add-l win-add-p
\ win-add-Q win-add-q win-bottom win-down
\ win-mv-after win-mv-before win-next
\ win-page-down win-page-up win-remove
\ win-sel-cur win-toggle win-top win-up
\ win-update
syn keyword cmusrcKeyword contained cd
\ nextgroup=cmusrcDirectory
\ skipwhite
syn match cmusrcDirectory contained display '.\+'
syn keyword cmusrcKeyword contained clear
\ nextgroup=cmusrcClearSwitches
syn match cmusrcClearSwitches contained display '-[lpq]'
syn keyword cmusrcKeyword contained fset
\ nextgroup=cmusrcFSetName
\ skipwhite
syn match cmusrcFSetName contained display '[^=]\+'
\ nextgroup=cmusrcFSetEq
syn match cmusrcFSetEq contained display '='
\ nextgroup=cmusrcFilterExpr
syn match cmusrcFilterExpr contained display '.\+'
syn keyword cmusrcKeyword contained load
\ nextgroup=cmusrcLoadSwitches,cmusrcURI
\ skipwhite
syn match cmusrcLoadSwitches contained display '-[lp]'
\ nextgroup=cmusrcURI
\ skipwhite
syn keyword cmusrcKeyword contained mark
\ nextgroup=cmusrcFilterExpr
syn keyword cmusrcKeyword contained save
\ nextgroup=cmusrcSaveSwitches,cmusrcFile
\ skipwhite
syn match cmusrcSaveSwitches contained display '-[lp]'
\ nextgroup=cmusrcFile
\ skipwhite
syn match cmusrcFile contained display '.\+'
syn keyword cmusrcKeyword contained seek
\ nextgroup=cmusrcSeekOffset
\ skipwhite
syn match cmusrcSeekOffset contained display
\ '[+-]\=\%(\d\+[mh]\=\|\%(\%(0\=\d\|[1-5]\d\):\)\=\%(0\=\d\|[1-5]\d\):\%(0\=\d\|[1-5]\d\)\)'
syn keyword cmusrcKeyword contained set
\ nextgroup=cmusrcOption
\ skipwhite
syn keyword cmusrcOption contained auto_reshuffle confirm_run
\ continue play_library play_sorted repeat
\ show_hidden show_remaining_time shuffle
\ nextgroup=cmusrcSetTest,cmusrcOptEqBoolean
syn match cmusrcSetTest contained display '?'
syn match cmusrcOptEqBoolean contained display '='
\ nextgroup=cmusrcOptBoolean
syn keyword cmusrcOptBoolean contained true false
syn keyword cmusrcOption contained aaa_mode
\ nextgroup=cmusrcOptEqAAA
syn match cmusrcOptEqAAA contained display '='
\ nextgroup=cmusrcOptAAA
syn keyword cmusrcOptAAA contained all artist album
syn keyword cmusrcOption contained buffer_seconds
\ nextgroup=cmusrcOptEqNumber
syn match cmusrcOptEqNumber contained display '='
\ nextgroup=cmusrcOptNumber
syn match cmusrcOptNumber contained display '\d\+'
syn keyword cmusrcOption contained altformat_current altformat_playlist
\ altformat_title altformat_trackwin
\ format_current format_playlist format_title
\ format_trackwin
\ nextgroup=cmusrcOptEqFormat
syn match cmusrcOptEqFormat contained display '='
\ nextgroup=cmusrcOptFormat
syn match cmusrcOptFormat contained display '.\+'
\ contains=cmusrcFormatSpecial
syn match cmusrcFormatSpecial contained display '%[0-]*\d*[alDntgydfF=%]'
syn keyword cmusrcOption contained color_cmdline_bg color_cmdline_fg
\ color_error color_info color_separator
\ color_statusline_bg color_statusline_fg
\ color_titleline_bg color_titleline_fg
\ color_win_bg color_win_cur
\ color_win_cur_sel_bg color_win_cur_sel_fg
\ color_win_dir color_win_fg
\ color_win_inactive_cur_sel_bg
\ color_win_inactive_cur_sel_fg
\ color_win_inactive_sel_bg
\ color_win_inactive_sel_fg
\ color_win_sel_bg color_win_sel_fg
\ color_win_title_bg color_win_title_fg
\ nextgroup=cmusrcOptEqColor
syn match cmusrcOptEqColor contained display '='
\ nextgroup=@cmusrcOptColor
syn cluster cmusrcOptColor contains=cmusrcOptColorName,cmusrcOptColorValue
syn keyword cmusrcOptColorName contained default black red green yellow blue
\ magenta cyan gray darkgray lightred lightred
\ lightgreen lightyellow lightblue lightmagenta
\ lightcyan white
syn match cmusrcOptColorValue contained display
\ '-1\|0*\%(\d\|[1-9]\d\|1\d\d\|2\%([0-4]\d\|5[0-5]\)\)'
syn keyword cmusrcOption contained id3_default_charset output_plugin
\ status_display_program
\ nextgroup=cmusrcOptEqString
syn match cmusrcOption contained
\ '\%(dsp\|mixer\)\.\%(alsa\|oss\|sun\)\.\%(channel\|device\)'
\ nextgroup=cmusrcOptEqString
syn match cmusrcOption contained
\ 'dsp\.ao\.\%(buffer_size\|driver\|wav_counter\|wav_dir\)'
\ nextgroup=cmusrcOptEqString
syn match cmusrcOptEqString contained display '='
\ nextgroup=cmusrcOptString
syn match cmusrcOptString contained display '.\+'
syn keyword cmusrcOption contained lib_sort pl_sort
\ nextgroup=cmusrcOptEqSortKeys
syn match cmusrcOptEqSortKeys contained display '='
\ nextgroup=cmusrcOptSortKeys
syn keyword cmusrcOptSortKeys contained artist album title tracknumber
\ discnumber date genre filename
\ nextgroup=cmusrcOptSortKeys
\ skipwhite
syn keyword cmusrcKeyword contained showbind
\ nextgroup=cmusrcSBindContext
\ skipwhite
syn keyword cmusrcSBindContext contained common library playlist queue
\ browser filters
\ nextgroup=cmusrcSBindKey
\ skipwhite
syn match cmusrcSBindKey contained display '\S\+'
syn keyword cmusrcKeyword contained toggle
\ nextgroup=cmusrcTogglableOpt
\ skipwhite
syn keyword cmusrcTogglableOpt contained auto_reshuffle aaa_mode
\ confirm_run continue play_library play_sorted
\ repeat show_hidden show_remaining_time shuffle
syn keyword cmusrcKeyword contained unbind
\ nextgroup=cmusrcUnbindSwitches,
\ cmusrcSBindContext
\ skipwhite
syn match cmusrcUnbindSwitches contained display '-[f]'
\ nextgroup=cmusrcSBindContext
\ skipwhite
syn keyword cmusrcKeyword contained view
\ nextgroup=cmusrcView
\ skipwhite
syn keyword cmusrcView contained library playlist queue browser filters
syn match cmusrcView contained display '[1-6]'
syn keyword cmusrcKeyword contained vol
\ nextgroup=cmusrcVolume1
\ skipwhite
syn match cmusrcVolume1 contained display '[+-]\=\d\+%'
\ nextgroup=cmusrcVolume2
\ skipwhite
syn match cmusrcVolume2 contained display '[+-]\=\d\+%'
hi def link cmusrcTodo Todo
hi def link cmusrcComment Comment
hi def link cmusrcKeyword Keyword
hi def link cmusrcSwitches Special
hi def link cmusrcAddSwitches cmusrcSwitches
hi def link cmusrcURI Normal
hi def link cmusrcBindSwitches cmusrcSwitches
hi def link cmusrcContext Type
hi def link cmusrcBindContext cmusrcContext
hi def link cmusrcKey String
hi def link cmusrcBindKey cmusrcKey
hi def link cmusrcDirectory Normal
hi def link cmusrcClearSwitches cmusrcSwitches
hi def link cmusrcFSetName PreProc
hi def link cmusrcEq Normal
hi def link cmusrcFSetEq cmusrcEq
hi def link cmusrcFilterExpr Normal
hi def link cmusrcLoadSwitches cmusrcSwitches
hi def link cmusrcSaveSwitches cmusrcSwitches
hi def link cmusrcFile Normal
hi def link cmusrcSeekOffset Number
hi def link cmusrcOption PreProc
hi def link cmusrcSetTest Normal
hi def link cmusrcOptBoolean Boolean
hi def link cmusrcOptEqAAA cmusrcEq
hi def link cmusrcOptAAA Identifier
hi def link cmusrcOptEqNumber cmusrcEq
hi def link cmusrcOptNumber Number
hi def link cmusrcOptEqFormat cmusrcEq
hi def link cmusrcOptFormat String
hi def link cmusrcFormatSpecial SpecialChar
hi def link cmusrcOptEqColor cmusrcEq
hi def link cmusrcOptColor Normal
hi def link cmusrcOptColorName cmusrcOptColor
hi def link cmusrcOptColorValue cmusrcOptColor
hi def link cmusrcOptEqString cmusrcEq
hi def link cmusrcOptString Normal
hi def link cmusrcOptEqSortKeys cmusrcEq
hi def link cmusrcOptSortKeys Identifier
hi def link cmusrcSBindContext cmusrcContext
hi def link cmusrcSBindKey cmusrcKey
hi def link cmusrcTogglableOpt cmusrcOption
hi def link cmusrcUnbindSwitches cmusrcSwitches
hi def link cmusrcView Normal
hi def link cmusrcVolume1 Number
hi def link cmusrcVolume2 Number
let b:current_syntax = "cmusrc"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1,260 @@
" Vim syntax file
" Language: COBOL
" Maintainer: Ankit Jain <ajatkj@yahoo.co.in>
" (formerly Tim Pope <vimNOSPAM@tpope.info>)
" (formerly Davyd Ondrejko <vondraco@columbus.rr.com>)
" (formerly Sitaram Chamarty <sitaram@diac.com> and
" James Mitchell <james_mitchell@acm.org>)
" Last Change: 2019 Mar 22
" Ankit Jain 22.03.2019 Changes & fixes:
" 1. Include inline comments
" 2. Use comment highlight for bad lines
" 3. Change certain 'keywords' to 'matches'
" for additional highlighting
" 4. Different highlighting for COPY, GO TO &
" CALL lines
" 5. Fix for COMP keyword
" 6. Fix for PROCEDURE DIVISION highlighting
" 7. Highlight EXIT PROGRAM like STOP RUN
" 8. Highlight X & A in PIC clause
" Tag: #C22032019
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" MOST important - else most of the keywords wont work!
setlocal isk=@,48-57,-,_
if !exists('g:cobol_inline_comment')
let g:cobol_inline_comment=0
endif
syn case ignore
syn cluster cobolStart contains=cobolAreaA,cobolAreaB,cobolComment,cobolCompiler
syn cluster cobolAreaA contains=cobolParagraph,cobolSection,cobolDivision
"syn cluster cobolAreaB contains=
syn cluster cobolAreaAB contains=cobolLine
syn cluster cobolLine contains=cobolReserved
syn match cobolMarker "^\%( \{,5\}[^ ]\)\@=.\{,6}" nextgroup=@cobolStart
syn match cobolSpace "^ \{6\}" nextgroup=@cobolStart
syn match cobolAreaA " \{1,4\}" contained nextgroup=@cobolAreaA,@cobolAreaAB
syn match cobolAreaB " \{5,\}\|- *" contained nextgroup=@cobolAreaB,@cobolAreaAB
syn match cobolComment "[/*C].*$" contained
syn match cobolCompiler "$.*$" contained
syn match cobolLine ".*$" contained contains=cobolReserved,@cobolLine
"#C22032019: Fix for PROCEDURE DIVISION USING highlighting, removed . from the
"end of the regex
"syn match cobolDivision \"[A-Z][A-Z0-9-]*[A-Z0-9]\s\+DIVISION\."he=e-1 contained contains=cobolDivisionName
syn match cobolDivision "[A-Z][A-Z0-9-]*[A-Z0-9]\s\+DIVISION" contained contains=cobolDivisionName
syn keyword cobolDivisionName contained IDENTIFICATION ENVIRONMENT DATA PROCEDURE
syn match cobolSection "[A-Z][A-Z0-9-]*[A-Z0-9]\s\+SECTION\."he=e-1 contained contains=cobolSectionName
syn keyword cobolSectionName contained CONFIGURATION INPUT-OUTPUT FILE WORKING-STORAGE LOCAL-STORAGE LINKAGE
syn match cobolParagraph "\a[A-Z0-9-]*[A-Z0-9]\.\|\d[A-Z0-9-]*[A-Z]\."he=e-1 contained contains=cobolParagraphName
syn keyword cobolParagraphName contained PROGRAM-ID SOURCE-COMPUTER OBJECT-COMPUTER SPECIAL-NAMES FILE-CONTROL I-O-CONTROL
"syn match cobolKeys "^\a\{1,6\}" contains=cobolReserved
"#C22032019: Remove BY, REPLACING, PROGRAM, TO, IN from 'keyword' group and add
"to 'match' group or other 'keyword' group
syn keyword cobolReserved contained ACCEPT ACCESS ADD ADDRESS ADVANCING AFTER ALPHABET ALPHABETIC
syn keyword cobolReserved contained ALPHABETIC-LOWER ALPHABETIC-UPPER ALPHANUMERIC ALPHANUMERIC-EDITED ALS
syn keyword cobolReserved contained ALTERNATE AND ANY ARE AREA AREAS ASCENDING ASSIGN AT AUTHOR BEFORE BINARY
syn keyword cobolReserved contained BLANK BLOCK BOTTOM CANCEL CBLL CD CF CH CHARACTER CHARACTERS CLASS
syn keyword cobolReserved contained CLOCK-UNITS CLOSE COBOL CODE CODE-SET COLLATING COLUMN COMMA COMMON
syn keyword cobolReserved contained COMMUNICATIONS COMPUTATIONAL COMPUTE CONTENT CONTINUE
syn keyword cobolReserved contained CONTROL CONVERTING CORR CORRESPONDING COUNT CURRENCY DATE DATE-COMPILED
syn keyword cobolReserved contained DATE-WRITTEN DAY DAY-OF-WEEK DE DEBUG-CONTENTS DEBUG-ITEM DEBUG-LINE
syn keyword cobolReserved contained DEBUG-NAME DEBUG-SUB-1 DEBUG-SUB-2 DEBUG-SUB-3 DEBUGGING DECIMAL-POINT
syn keyword cobolReserved contained DELARATIVES DELETE DELIMITED DELIMITER DEPENDING DESCENDING DESTINATION
syn keyword cobolReserved contained DETAIL DISABLE DISPLAY DIVIDE DIVISION DOWN DUPLICATES DYNAMIC EGI ELSE EMI
syn keyword cobolReserved contained ENABLE END-ADD END-COMPUTE END-DELETE END-DIVIDE END-EVALUATE END-IF
syn keyword cobolReserved contained END-MULTIPLY END-OF-PAGE END-READ END-RECEIVE END-RETURN
syn keyword cobolReserved contained END-REWRITE END-SEARCH END-START END-STRING END-SUBTRACT END-UNSTRING
syn keyword cobolReserved contained END-WRITE EQUAL ERROR ESI EVALUATE EVERY EXCEPTION EXIT
syn keyword cobolReserved contained EXTEND EXTERNAL FALSE FD FILLER FINAL FIRST FOOTING FOR FROM
syn keyword cobolReserved contained GENERATE GIVING GLOBAL GREATER GROUP HEADING HIGH-VALUE HIGH-VALUES I-O
syn keyword cobolReserved contained INDEX INDEXED INDICATE INITIAL INITIALIZE
syn keyword cobolReserved contained INITIATE INPUT INSPECT INSTALLATION INTO IS JUST
syn keyword cobolReserved contained JUSTIFIED KEY LABEL LAST LEADING LEFT LENGTH LOCK MEMORY
syn keyword cobolReserved contained MERGE MESSAGE MODE MODULES MOVE MULTIPLE MULTIPLY NATIVE NEGATIVE NEXT NO NOT
syn keyword cobolReserved contained NUMBER NUMERIC NUMERIC-EDITED OCCURS OF OFF OMITTED ON OPEN
syn keyword cobolReserved contained OPTIONAL OR ORDER ORGANIZATION OTHER OUTPUT OVERFLOW PACKED-DECIMAL PADDING
syn keyword cobolReserved contained PAGE PAGE-COUNTER PERFORM PF PH PIC PICTURE PLUS POINTER POSITION POSITIVE
syn keyword cobolReserved contained PRINTING PROCEDURES PROCEDD PURGE QUEUE QUOTES
syn keyword cobolReserved contained RANDOM RD READ RECEIVE RECORD RECORDS REDEFINES REEL REFERENCE REFERENCES
syn keyword cobolReserved contained RELATIVE RELEASE REMAINDER REMOVAL REPLACE REPORT REPORTING
syn keyword cobolReserved contained REPORTS RERUN RESERVE RESET RETURN RETURNING REVERSED REWIND REWRITE RF RH
syn keyword cobolReserved contained RIGHT ROUNDED RUN SAME SD SEARCH SECTION SECURITY SEGMENT SEGMENT-LIMITED
syn keyword cobolReserved contained SELECT SEND SENTENCE SEPARATE SEQUENCE SEQUENTIAL SET SIGN SIZE SORT
syn keyword cobolReserved contained SORT-MERGE SOURCE STANDARD
syn keyword cobolReserved contained STANDARD-1 STANDARD-2 START STATUS STOP STRING SUB-QUEUE-1 SUB-QUEUE-2
syn keyword cobolReserved contained SUB-QUEUE-3 SUBTRACT SUM SUPPRESS SYMBOLIC SYNC SYNCHRONIZED TABLE TALLYING
syn keyword cobolReserved contained TAPE TERMINAL TERMINATE TEST TEXT THAN THEN THROUGH THRU TIME TIMES TOP
syn keyword cobolReserved contained TRAILING TRUE TYPE UNIT UNSTRING UNTIL UP UPON USAGE USE USING VALUE VALUES
syn keyword cobolReserved contained VARYING WHEN WITH WORDS WRITE
syn match cobolReserved contained "\<CONTAINS\>"
syn match cobolReserved contained "\<\(IF\|INVALID\|END\|EOP\)\>"
syn match cobolReserved contained "\<ALL\>"
" #C22032019: Add BY as match instead of keyword: BY not followed by ==
syn match cobolReserved contained "\<BY\>\s\+\(==\)\@!"
syn match cobolReserved contained "\<TO\>"
syn cluster cobolLine add=cobolConstant,cobolNumber,cobolPic
syn keyword cobolConstant SPACE SPACES NULL ZERO ZEROES ZEROS LOW-VALUE LOW-VALUES
" #C22032019: Fix for many pic clauses
syn match cobolNumber "\<-\=\d*\.\=\d\+\>" contained
" syn match cobolPic \"\<S*9\+\>" contained
syn match cobolPic "\<S*9\+V*9*\>" contained
syn match cobolPic "\<$*\.\=9\+\>" contained
syn match cobolPic "\<Z*\.\=9\+\>" contained
syn match cobolPic "\<V9\+\>" contained
syn match cobolPic "\<9\+V\>" contained
" syn match cobolPic \"\<-\+[Z9]\+\>" contained
syn match cobolPic "\<-*[Z9]\+-*\>" contained
" #C22032019: Add Z,X and A to cobolPic
syn match cobolPic "\<[ZXA]\+\>" contained
syn match cobolTodo "todo" contained containedin=cobolInlineComment,cobolComment
" For MicroFocus or other inline comments, include this line.
if g:cobol_inline_comment == 1
syn region cobolInlineComment start="*>" end="$" contains=cobolTodo,cobolMarker
syn cluster cobolLine add=cobolInlineComment
endif
syn match cobolBadLine "[^ D\*$/-].*" contained
" If comment mark somehow gets into column past Column 7.
if g:cobol_inline_comment == 1
" #C22032019: It is a bad line only if * is not followed by > when inline
" comments enabled
syn match cobolBadLine "\s\+\*\(>\)\@!.*" contained
else
syn match cobolBadLine "\s\+\*.*" contained
endif
syn cluster cobolStart add=cobolBadLine
" #C22032019: Different highlighting for GO TO statements
" syn keyword cobolGoTo GO GOTO
syn keyword cobolGoTo GOTO
syn match cobolGoTo /\<GO\>\s\+\<TO\>/
syn match cobolGoToPara /\<GO\>\s\+\<TO\>\s\+[A-Z0-9-]\+/ contains=cobolGoTo
" #C22032019: Highlight copybook name and location in using different group
" syn keyword cobolCopy COPY
syn match cobolCopy "\<COPY\>\|\<IN\>"
syn match cobolCopy "\<REPLACING\>\s\+\(==\)\@="
syn match cobolCopy "\<BY\>\s\+\(==\)\@="
syn match cobolCopyName "\<COPY\>\s\+[A-Z0-9]\+\(\s\+\<IN\>\s\+[A-Z0-9]\+\)\?" contains=cobolCopy
syn cluster cobolLine add=cobolGoToPara,cobolCopyName
" cobolBAD: things that are BAD NEWS!
syn keyword cobolBAD ALTER ENTER RENAMES
syn cluster cobolLine add=cobolGoTo,cobolCopy,cobolBAD,cobolWatch,cobolEXECs
" cobolWatch: things that are important when trying to understand a program
syn keyword cobolWatch OCCURS DEPENDING VARYING BINARY COMP REDEFINES
" #C22032019: Remove REPLACING from cobolWatch 'keyword' group and add to cobolCopy &
" cobolWatch 'match' group
" syn keyword cobolWatch REPLACING RUN
syn keyword cobolWatch RUN PROGRAM
syn match cobolWatch contained "\<REPLACING\>\s\+\(==\)\@!"
" #C22032019: Look for word starting with COMP
" syn match cobolWatch \"COMP-[123456XN]"
syn match cobolWatch "\<COMP-[123456XN]"
syn keyword cobolEXECs EXEC END-EXEC
syn cluster cobolAreaA add=cobolDeclA
syn cluster cobolAreaAB add=cobolDecl
syn match cobolDeclA "\(0\=1\|77\|78\) " contained nextgroup=cobolLine
syn match cobolDecl "[1-4]\d " contained nextgroup=cobolLine
syn match cobolDecl "0\=[2-9] " contained nextgroup=cobolLine
syn match cobolDecl "66 " contained nextgroup=cobolLine
syn match cobolWatch "88 " contained nextgroup=cobolLine
"syn match cobolBadID "\k\+-\($\|[^-A-Z0-9]\)" contained
syn cluster cobolLine add=cobolCALLs,cobolString,cobolCondFlow
" #C22032019: Changes for cobolCALLs group to include thru
" syn keyword cobolCALLs CALL END-CALL CANCEL GOBACK PERFORM END-PERFORM INVOKE
syn keyword cobolCALLs END-CALL CANCEL GOBACK PERFORM END-PERFORM INVOKE THRU
" #C22032019: Highlight called program
" syn match cobolCALLs \"EXIT \+PROGRAM"
syn match cobolCALLs "\<CALL\>"
syn match cobolCALLProg /\<CALL\>\s\+"\{0,1\}[A-Z0-9]\+"\{0,1\}/ contains=cobolCALLs
syn match cobolExtras /\<VALUE \+\d\+\./hs=s+6,he=e-1
syn cluster cobolLine add=cobolCALLProg
syn match cobolString /"[^"]*\("\|$\)/
syn match cobolString /'[^']*\('\|$\)/
"syn region cobolLine start="^.\{6}[ D-]" end="$" contains=ALL
syn match cobolIndicator "\%7c[D-]" contained
if exists("cobol_legacy_code")
syn region cobolCondFlow contains=ALLBUT,cobolLine start="\<\(IF\|INVALID\|END\|EOP\)\>" skip=/\('\|"\)[^"]\{-}\("\|'\|$\)/ end="\." keepend
endif
" many legacy sources have junk in columns 1-6: must be before others
" Stuff after column 72 is in error - must be after all other "match" entries
if exists("cobol_legacy_code")
syn match cobolBadLine "\%73c.*" containedin=ALLBUT,cobolComment
else
" #C22032019: Use comment highlighting for bad lines
" syn match cobolBadLine \"\%73c.*" containedin=ALL
syn match cobolBadLine "\%73c.*" containedin=ALL,cobolInlineComment,cobolComment
endif
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link cobolBAD Error
hi def link cobolBadID Error
hi def link cobolBadLine Error
if exists("g:cobol_legacy_code")
hi def link cobolMarker Comment
else
hi def link cobolMarker Error
endif
hi def link cobolCALLs Function
hi def link cobolCALLProg Special
hi def link cobolComment Comment
hi def link cobolInlineComment Comment
hi def link cobolKeys Comment
hi def link cobolAreaB Special
hi def link cobolCompiler PreProc
hi def link cobolCondFlow Special
hi def link cobolCopy PreProc
hi def link cobolCopyName Special
hi def link cobolDeclA cobolDecl
hi def link cobolDecl Type
hi def link cobolExtras Special
hi def link cobolGoTo Special
hi def link cobolGoToPara Function
hi def link cobolConstant Constant
hi def link cobolNumber Constant
hi def link cobolPic Constant
hi def link cobolReserved Statement
hi def link cobolDivision Label
hi def link cobolSection Label
hi def link cobolParagraph Label
hi def link cobolDivisionName Keyword
hi def link cobolSectionName Keyword
hi def link cobolParagraphName Keyword
hi def link cobolString Constant
hi def link cobolTodo Todo
hi def link cobolWatch Special
hi def link cobolIndicator Special
hi def link cobolStart Comment
let b:current_syntax = "cobol"
" vim: ts=6 nowrap

View File

@@ -0,0 +1,33 @@
" Vim syntax file
" Language: Coco/R
" Maintainer: Ashish Shukla <wahjava@gmail.com>
" Last Change: 2022 Jun 14
" Remark: Coco/R syntax partially implemented.
" License: Vim license
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
syn keyword cocoKeywords ANY CHARACTERS COMMENTS COMPILER CONTEXT END FROM IF IGNORE IGNORECASE NESTED PRAGMAS PRODUCTIONS SYNC TO TOKENS WEAK
syn match cocoUnilineComment #//.*$#
syn match cocoIdentifier /[[:alpha:]][[:alnum:]]*/
syn region cocoMultilineComment start=#/[*]# end=#[*]/#
syn region cocoString start=/"/ skip=/\\"\|\\\\/ end=/"/
syn region cocoCharacter start=/'/ skip=/\\'\|\\\\/ end=/'/
syn match cocoOperator /+\||\|\.\.\|-\|(\|)\|{\|}\|\[\|\]\|=\|<\|>/
syn region cocoProductionCode start=/([.]/ end=/[.])/
syn match cocoPragma /[$][[:alnum:]]*/
hi def link cocoKeywords Keyword
hi def link cocoUnilineComment Comment
hi def link cocoMultilineComment Comment
hi def link cocoIdentifier Identifier
hi def link cocoString String
hi def link cocoCharacter Character
hi def link cocoOperator Operator
hi def link cocoProductionCode Statement
hi def link cocoPragma Special
let b:current_syntax = 'coco'

View File

@@ -0,0 +1,82 @@
" Vim script for testing colors
" Maintainer: The Vim Project <https://github.com/vim/vim>
" Contributors: Rafael Garcia-Suarez, Charles Campbell
" Last Change: 2023 Aug 10
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
" edit this file, then do ":source %", and check if the colors match
" black black_on_white white_on_black
" black_on_black black_on_black
" darkred darkred_on_white white_on_darkred
" darkred_on_black black_on_darkred
" darkgreen darkgreen_on_white white_on_darkgreen
" darkgreen_on_black black_on_darkgreen
" brown brown_on_white white_on_brown
" brown_on_black black_on_brown
" darkblue darkblue_on_white white_on_darkblue
" darkblue_on_black black_on_darkblue
" darkmagenta darkmagenta_on_white white_on_darkmagenta
" darkmagenta_on_black black_on_darkmagenta
" darkcyan darkcyan_on_white white_on_darkcyan
" darkcyan_on_black black_on_darkcyan
" lightgray lightgray_on_white white_on_lightgray
" lightgray_on_black black_on_lightgray
" darkgray darkgray_on_white white_on_darkgray
" darkgray_on_black black_on_darkgray
" red red_on_white white_on_red
" red_on_black black_on_red
" green green_on_white white_on_green
" green_on_black black_on_green
" yellow yellow_on_white white_on_yellow
" yellow_on_black black_on_yellow
" blue blue_on_white white_on_blue
" blue_on_black black_on_blue
" magenta magenta_on_white white_on_magenta
" magenta_on_black black_on_magenta
" cyan cyan_on_white white_on_cyan
" cyan_on_black black_on_cyan
" white white_on_white white_on_white
" white_on_black black_on_white
" grey grey_on_white white_on_grey
" grey_on_black black_on_grey
" lightred lightred_on_white white_on_lightred
" lightred_on_black black_on_lightred
" lightgreen lightgreen_on_white white_on_lightgreen
" lightgreen_on_black black_on_lightgreen
" lightyellow lightyellow_on_white white_on_lightyellow
" lightyellow_on_black black_on_lightyellow
" lightblue lightblue_on_white white_on_lightblue
" lightblue_on_black black_on_lightblue
" lightmagenta lightmagenta_on_white white_on_lightmagenta
" lightmagenta_on_black black_on_lightmagenta
" lightcyan lightcyan_on_white white_on_lightcyan
" lightcyan_on_black black_on_lightcyan
" Open this file in a window if it isn't edited yet.
" Use the current window if it's empty.
if expand('%:p') != expand('<sfile>:p')
let s:fname = expand('<sfile>')
if exists('*fnameescape')
let s:fname = fnameescape(s:fname)
else
let s:fname = escape(s:fname, ' \|')
endif
if &mod || line('$') != 1 || getline(1) != ''
exe "new " . s:fname
else
exe "edit " . s:fname
endif
unlet s:fname
endif
syn clear
8
while search("_on_", "W") < 55
let col1 = substitute(expand("<cword>"), '\(\a\+\)_on_\a\+', '\1', "")
let col2 = substitute(expand("<cword>"), '\a\+_on_\(\a\+\)', '\1', "")
exec 'hi col_'.col1.'_'.col2.' ctermfg='.col1.' guifg='.col1.' ctermbg='.col2.' guibg='.col2
exec 'syn keyword col_'.col1.'_'.col2.' '.col1.'_on_'.col2
endwhile
8,54g/^" \a/exec 'hi col_'.expand("<cword>").' ctermfg='.expand("<cword>").' guifg='.expand("<cword>")| exec 'syn keyword col_'.expand("<cword>")." ".expand("<cword>")
nohlsearch

View File

@@ -0,0 +1,137 @@
" Vim syntax file
" Language: Conary Recipe
" Maintainer: rPath Inc <http://www.rpath.com>
" Updated: 2007-12-08
if exists("b:current_syntax")
finish
endif
runtime! syntax/python.vim
syn keyword conarySFunction mainDir addAction addSource addArchive addPatch
syn keyword conarySFunction addRedirect addSvnSnapshot addMercurialSnapshot
syn keyword conarySFunction addCvsSnapshot addGitSnapshot addBzrSnapshot
syn keyword conaryGFunction add addAll addNewGroup addReference createGroup
syn keyword conaryGFunction addNewGroup startGroup remove removeComponents
syn keyword conaryGFunction replace setByDefault setDefaultGroup
syn keyword conaryGFunction setLabelPath addCopy setSearchPath AddAllFlags
syn keyword conaryGFunction GroupRecipe GroupReference TroveCacheWrapper
syn keyword conaryGFunction TroveCache buildGroups findTrovesForGroups
syn keyword conaryGFunction followRedirect processAddAllDirectives
syn keyword conaryGFunction processOneAddAllDirective removeDifferences
syn keyword conaryGFunction addTrovesToGroup addCopiedComponents
syn keyword conaryGFunction findAllWeakTrovesToRemove checkForRedirects
syn keyword conaryGFunction addPackagesForComponents getResolveSource
syn keyword conaryGFunction resolveGroupDependencies checkGroupDependencies
syn keyword conaryGFunction calcSizeAndCheckHashes findSourcesForGroup
syn keyword conaryGFunction addPostInstallScript addPostRollbackScript
syn keyword conaryGFunction addPostUpdateScript addPreUpdateScript
syn keyword conaryGFunction addTrove moveComponents copyComponents
syn keyword conaryGFunction removeItemsAlsoInNewGroup removeItemsAlsoInGroup
syn keyword conaryGFunction addResolveSource iterReplaceSpecs
syn keyword conaryGFunction setCompatibilityClass getLabelPath
syn keyword conaryGFunction getResolveTroveSpecs getSearchFlavor
syn keyword conaryGFunction getChildGroups getGroupMap
syn keyword conaryBFunction Run Automake Configure ManualConfigure
syn keyword conaryBFunction Make MakeParallelSubdir MakeInstall
syn keyword conaryBFunction MakePathsInstall CompilePython
syn keyword conaryBFunction Ldconfig Desktopfile Environment SetModes
syn keyword conaryBFunction Install Copy Move Symlink Link Remove Doc
syn keyword conaryBFunction Create MakeDirs disableParallelMake
syn keyword conaryBFunction ConsoleHelper Replace SGMLCatalogEntry
syn keyword conaryBFunction XInetdService XMLCatalogEntry TestSuite
syn keyword conaryBFunction PythonSetup CMake Ant JavaCompile ClassPath
syn keyword conaryBFunction JavaDoc IncludeLicense MakeFIFO
syn keyword conaryPFunction NonBinariesInBindirs FilesInMandir
syn keyword conaryPFunction ImproperlyShared CheckSonames CheckDestDir
syn keyword conaryPFunction ComponentSpec PackageSpec
syn keyword conaryPFunction Config InitScript GconfSchema SharedLibrary
syn keyword conaryPFunction ParseManifest MakeDevices DanglingSymlinks
syn keyword conaryPFunction AddModes WarnWriteable IgnoredSetuid
syn keyword conaryPFunction Ownership ExcludeDirectories
syn keyword conaryPFunction BadFilenames BadInterpreterPaths ByDefault
syn keyword conaryPFunction ComponentProvides ComponentRequires Flavor
syn keyword conaryPFunction EnforceConfigLogBuildRequirements Group
syn keyword conaryPFunction EnforceSonameBuildRequirements InitialContents
syn keyword conaryPFunction FilesForDirectories LinkCount
syn keyword conaryPFunction MakdeDevices NonMultilibComponent ObsoletePaths
syn keyword conaryPFunction NonMultilibDirectories NonUTF8Filenames TagSpec
syn keyword conaryPFunction Provides RequireChkconfig Requires TagHandler
syn keyword conaryPFunction TagDescription Transient User UtilizeGroup
syn keyword conaryPFunction WorldWritableExecutables UtilizeUser
syn keyword conaryPFunction WarnWritable Strip CheckDesktopFiles
syn keyword conaryPFunction FixDirModes LinkType reportMissingBuildRequires
syn keyword conaryPFunction reportErrors FixupManpagePaths FixObsoletePaths
syn keyword conaryPFunction NonLSBPaths PythonEggs
syn keyword conaryPFunction EnforcePythonBuildRequirements
syn keyword conaryPFunction EnforceJavaBuildRequirements
syn keyword conaryPFunction EnforceCILBuildRequirements
syn keyword conaryPFunction EnforcePerlBuildRequirements
syn keyword conaryPFunction EnforceFlagBuildRequirements
syn keyword conaryPFunction FixupMultilibPaths ExecutableLibraries
syn keyword conaryPFunction NormalizeLibrarySymlinks NormalizeCompression
syn keyword conaryPFunction NormalizeManPages NormalizeInfoPages
syn keyword conaryPFunction NormalizeInitscriptLocation
syn keyword conaryPFunction NormalizeInitscriptContents
syn keyword conaryPFunction NormalizeAppDefaults NormalizeInterpreterPaths
syn keyword conaryPFunction NormalizePamConfig ReadableDocs
syn keyword conaryPFunction WorldWriteableExecutables NormalizePkgConfig
syn keyword conaryPFunction EtcConfig InstallBucket SupplementalGroup
syn keyword conaryPFunction FixBuilddirSymlink RelativeSymlinks
" Most destdirPolicy aren't called from recipes, except for these
syn keyword conaryPFunction AutoDoc RemoveNonPackageFiles TestSuiteFiles
syn keyword conaryPFunction TestSuiteLinks
syn match conaryMacro "%(\w\+)[sd]" contained
syn match conaryBadMacro "%(\w*)[^sd]" contained " no final marker
syn keyword conaryArches contained x86 x86_64 alpha ia64 ppc ppc64 s390
syn keyword conaryArches contained sparc sparc64
syn keyword conarySubArches contained sse2 3dnow 3dnowext cmov i486 i586
syn keyword conarySubArches contained i686 mmx mmxext nx sse sse2
syn keyword conaryBad RPM_BUILD_ROOT EtcConfig InstallBucket subDir
syn keyword conaryBad RPM_OPT_FLAGS subdir
syn cluster conaryArchFlags contains=conaryArches,conarySubArches
syn match conaryArch "Arch\.[a-z0-9A-Z]\+" contains=conaryArches,conarySubArches
syn match conaryArch "Arch\.[a-z0-9A-Z]\+" contains=conaryArches,conarySubArches
syn keyword conaryKeywords name buildRequires version clearBuildReqs
syn keyword conaryUseFlag contained pcre tcpwrappers gcj gnat selinux pam
syn keyword conaryUseFlag contained bootstrap python perl
syn keyword conaryUseFlag contained readline gdbm emacs krb builddocs
syn keyword conaryUseFlag contained alternatives tcl tk X gtk gnome qt
syn keyword conaryUseFlag contained xfce gd ldap sasl pie desktop ssl kde
syn keyword conaryUseFlag contained slang netpbm nptl ipv6 buildtests
syn keyword conaryUseFlag contained ntpl xen dom0 domU
syn match conaryUse "Use\.[a-z0-9A-Z]\+" contains=conaryUseFlag
" strings
syn region pythonString matchgroup=Normal start=+[uU]\='+ end=+'+ skip=+\\\\\|\\'+ contains=pythonEscape,conaryMacro,conaryBadMacro
syn region pythonString matchgroup=Normal start=+[uU]\="+ end=+"+ skip=+\\\\\|\\"+ contains=pythonEscape,conaryMacro,conaryBadMacro
syn region pythonString matchgroup=Normal start=+[uU]\="""+ end=+"""+ contains=pythonEscape,conaryMacro,conaryBadMacro
syn region pythonString matchgroup=Normal start=+[uU]\='''+ end=+'''+ contains=pythonEscape,conaryMacro,conaryBadMacro
syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'+ end=+'+ skip=+\\\\\|\\'+ contains=conaryMacro,conaryBadMacro
syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"+ end=+"+ skip=+\\\\\|\\"+ contains=conaryMacro,conaryBadMacro
syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]"""+ end=+"""+ contains=conaryMacro,conaryBadMacro
syn region pythonRawString matchgroup=Normal start=+[uU]\=[rR]'''+ end=+'''+ contains=conaryMacro,conaryBadMacro
hi def link conaryMacro Special
hi def link conaryrecipeFunction Function
hi def link conaryError Error
hi def link conaryBFunction conaryrecipeFunction
hi def link conaryGFunction conaryrecipeFunction
hi def link conarySFunction Operator
hi def link conaryPFunction Typedef
hi def link conaryFlags PreCondit
hi def link conaryArches Special
hi def link conarySubArches Special
hi def link conaryBad conaryError
hi def link conaryBadMacro conaryError
hi def link conaryKeywords Special
hi def link conaryUseFlag Typedef
let b:current_syntax = "conaryrecipe"

Some files were not shown because too many files have changed in this diff Show More