xref: /vim-8.2.3635/runtime/syntax/8th.vim (revision 96f45c0b)
1" Vim syntax file
2" Language:     8th
3" Version:      19.01d
4" Maintainer:   Ron Aaron <[email protected]>
5" URL:          https://8th-dev.com/
6" Filetypes:    *.8th
7" NOTE:         You should also have the ftplugin/8th.vim file to set 'isk'
8
9if version < 600
10  syntax clear
11  finish
12elseif exists("b:current_syntax")
13   finish
14endif
15
16let s:cpo_save = &cpo
17set cpo&vim
18syn clear
19" Synchronization method
20syn sync ccomment
21syn sync maxlines=100
22syn case match
23syn match eighthColonName "\S\+" contained
24syn match eighthColonDef ":\s\+\S\+" contains=eighthColonName
25
26" new words
27syn match eighthClasses "\<\S\+:" contained
28syn match eighthClassWord "\<\S\+:.\+" contains=eighthClasses
29
30syn keyword eighthEndOfColonDef ; i;
31syn keyword eighthDefine var var,
32
33" Built in words
34com! -nargs=+ Builtin syn keyword eighthBuiltin <args>
35"Builtin ^ < <# <#> = > - -- ,# ; ;; !  ???  / .  .# ' () @ * */ \
36
37Builtin  ! G:! #! G:#! ## G:## #> G:#> #if G:#if ' G:' ( G:( (* G:(* (:) G:(:) (code) G:(code) (getc) G:(getc)
38Builtin  (gets) G:(gets) (interp) G:(interp) (needs) G:(needs) (putc) G:(putc) (puts) G:(puts) (putslim) G:(putslim)
39Builtin  (say) G:(say) (stat) G:(stat) ) G:) +listener G:+listener +ref G:+ref ,# G:,# -- G:-- -----BEGIN G:-----BEGIN
40Builtin  -Inf G:-Inf -Inf? G:-Inf? -listener G:-listener -ref G:-ref -rot G:-rot . G:. .# G:.# .needs G:.needs
41Builtin  .r G:.r .s G:.s .stats G:.stats .ver G:.ver .with G:.with 0; G:0; 2dip G:2dip 2drop G:2drop
42Builtin  2dup G:2dup 2over G:2over 2swap G:2swap 3drop G:3drop 4drop G:4drop 8thdt? G:8thdt? 8thver? G:8thver?
43Builtin  : G:: ; G:; ;; G:;; ;;; G:;;; ;then G:;then ;with G:;with <# G:<# <#> G:<#> >clip G:>clip >json G:>json
44Builtin  >kind G:>kind >n G:>n >r G:>r >s G:>s ?: G:?: ??? G:??? @ G:@ Inf G:Inf Inf? G:Inf? NaN G:NaN
45Builtin  NaN? G:NaN? SED-CHECK G:SED-CHECK SED: G:SED: SED: G:SED: \ G:\ ` G:` `` G:`` actor: G:actor:
46Builtin  again G:again ahead G:ahead and G:and appname G:appname apropos G:apropos argc G:argc args G:args
47Builtin  array? G:array? assert G:assert base G:base bi G:bi bits G:bits break G:break break? G:break?
48Builtin  build? G:build? buildver? G:buildver? bye G:bye c# G:c# c/does G:c/does case G:case caseof G:caseof
49Builtin  chdir G:chdir clip> G:clip> clone G:clone clone-shallow G:clone-shallow cold G:cold compat-level G:compat-level
50Builtin  compile G:compile compile? G:compile? conflict G:conflict const G:const container? G:container?
51Builtin  cr G:cr curlang G:curlang curry G:curry curry: G:curry: decimal G:decimal defer: G:defer: deg>rad G:deg>rad
52Builtin  depth G:depth die G:die dip G:dip drop G:drop dstack G:dstack dump G:dump dup G:dup dup? G:dup?
53Builtin  else G:else enum: G:enum: eval G:eval eval! G:eval! eval0 G:eval0 execnull G:execnull expect G:expect
54Builtin  extra! G:extra! extra@ G:extra@ false G:false fnv G:fnv fourth G:fourth free G:free func: G:func:
55Builtin  getc G:getc getcwd G:getcwd getenv G:getenv gets G:gets handler G:handler header G:header help G:help
56Builtin  hex G:hex i: G:i: i; G:i; if G:if if; G:if; isa? G:isa? items-used G:items-used jcall G:jcall
57Builtin  jclass G:jclass jmethod G:jmethod json-nesting G:json-nesting json-pretty G:json-pretty json-throw G:json-throw
58Builtin  json> G:json> k32 G:k32 keep G:keep l: G:l: last G:last lib G:lib libbin G:libbin libc G:libc
59Builtin  listener@ G:listener@ literal G:literal locals: G:locals: lock G:lock lock-to G:lock-to locked? G:locked?
60Builtin  log G:log log-async G:log-async log-task G:log-task log-time G:log-time log-time-local G:log-time-local
61Builtin  long-days G:long-days long-months G:long-months loop G:loop loop- G:loop- map? G:map? mark G:mark
62Builtin  mark? G:mark? memfree G:memfree mobile? G:mobile? n# G:n# name>os G:name>os name>sem G:name>sem
63Builtin  ndrop G:ndrop needs G:needs new G:new next-arg G:next-arg nip G:nip noop G:noop not G:not ns G:ns
64Builtin  ns: G:ns: ns>ls G:ns>ls ns>s G:ns>s ns? G:ns? null G:null null; G:null; null? G:null? number? G:number?
65Builtin  off G:off on G:on onexit G:onexit only G:only op! G:op! or G:or os G:os os-names G:os-names
66Builtin  os>long-name G:os>long-name os>name G:os>name over G:over p: G:p: pack G:pack parse G:parse
67Builtin  parsech G:parsech parseln G:parseln parsews G:parsews pick G:pick poke G:poke pool-clear G:pool-clear
68Builtin  prior G:prior private G:private process-args G:process-args prompt G:prompt public G:public
69Builtin  putc G:putc puts G:puts putslim G:putslim quote G:quote r! G:r! r> G:r> r@ G:r@ rad>deg G:rad>deg
70Builtin  rand G:rand rand-pcg G:rand-pcg rand-pcg-seed G:rand-pcg-seed randbuf G:randbuf randbuf-pcg G:randbuf-pcg
71Builtin  rdrop G:rdrop recurse G:recurse recurse-stack G:recurse-stack ref@ G:ref@ reg! G:reg! reg@ G:reg@
72Builtin  regbin@ G:regbin@ remaining-args G:remaining-args repeat G:repeat reset G:reset roll G:roll
73Builtin  rop! G:rop! rot G:rot rpick G:rpick rroll G:rroll rstack G:rstack rswap G:rswap rusage G:rusage
74Builtin  s>ns G:s>ns same? G:same? scriptdir G:scriptdir scriptfile G:scriptfile sem G:sem sem-post G:sem-post
75Builtin  sem-rm G:sem-rm sem-wait G:sem-wait sem-wait? G:sem-wait? sem>name G:sem>name semi-throw G:semi-throw
76Builtin  set-wipe G:set-wipe setenv G:setenv settings! G:settings! settings![] G:settings![] settings@ G:settings@
77Builtin  settings@? G:settings@? settings@[] G:settings@[] sh G:sh sh$ G:sh$ short-days G:short-days
78Builtin  short-months G:short-months sleep G:sleep space G:space stack-check G:stack-check stack-size G:stack-size
79Builtin  step G:step string? G:string? struct: G:struct: swap G:swap syslang G:syslang sysregion G:sysregion
80Builtin  tab-hook G:tab-hook tell-conflict G:tell-conflict tempdir G:tempdir tempfilename G:tempfilename
81Builtin  then G:then third G:third throw G:throw thrownull G:thrownull times G:times tlog G:tlog tri G:tri
82Builtin  true G:true tuck G:tuck type-check G:type-check typeassert G:typeassert unlock G:unlock unpack G:unpack
83Builtin  until G:until until! G:until! var G:var var, G:var, while G:while while! G:while! with: G:with:
84Builtin  words G:words words-like G:words-like words/ G:words/ xchg G:xchg xor G:xor >auth HTTP:>auth
85Builtin  sh I:sh tpush I:tpush trace-word I:trace-word call JSONRPC:call auth-string OAuth:auth-string
86Builtin  gen-nonce OAuth:gen-nonce params OAuth:params call SOAP:call ! a:! + a:+ - a:- 2each a:2each
87Builtin  2map a:2map 2map+ a:2map+ 2map= a:2map= = a:= >map a:>map @ a:@ @@ a:@@ bsearch a:bsearch clear a:clear
88Builtin  close a:close diff a:diff dot a:dot each a:each each-slice a:each-slice exists? a:exists? filter a:filter
89Builtin  generate a:generate group a:group indexof a:indexof insert a:insert intersect a:intersect join a:join
90Builtin  len a:len map a:map map+ a:map+ map= a:map= mean a:mean mean&variance a:mean&variance new a:new
91Builtin  op a:op op! a:op! op= a:op= open a:open pop a:pop push a:push qsort a:qsort randeach a:randeach
92Builtin  reduce a:reduce reduce+ a:reduce+ rev a:rev shift a:shift shuffle a:shuffle slice a:slice slice+ a:slice+
93Builtin  slide a:slide sort a:sort union a:union when a:when when! a:when! x a:x x-each a:x-each xchg a:xchg
94Builtin  y a:y zip a:zip 8thdir app:8thdir asset app:asset atrun app:atrun atrun app:atrun atrun app:atrun
95Builtin  basedir app:basedir current app:current datadir app:datadir exename app:exename isgui app:isgui
96Builtin  main app:main oncrash app:oncrash orientation app:orientation pid app:pid restart app:restart
97Builtin  resumed app:resumed shared? app:shared? standalone app:standalone subdir app:subdir suspended app:suspended
98Builtin  sysquit app:sysquit (here) asm:(here) >n asm:>n avail asm:avail c, asm:c, here! asm:here! n> asm:n>
99Builtin  used asm:used w, asm:w, ! b:! + b:+ / b:/ = b:= >base64 b:>base64 >hex b:>hex >mpack b:>mpack
100Builtin  @ b:@ append b:append base64> b:base64> bit! b:bit! bit@ b:bit@ clear b:clear compress b:compress
101Builtin  conv b:conv each b:each each-slice b:each-slice expand b:expand fill b:fill getb b:getb hex> b:hex>
102Builtin  len b:len mem> b:mem> move b:move mpack-date b:mpack-date mpack-ignore b:mpack-ignore mpack> b:mpack>
103Builtin  new b:new op b:op rev b:rev search b:search shmem b:shmem slice b:slice splice b:splice ungetb b:ungetb
104Builtin  writable b:writable xor b:xor +block bc:+block .blocks bc:.blocks add-block bc:add-block block-hash bc:block-hash
105Builtin  block@ bc:block@ first-block bc:first-block hash bc:hash last-block bc:last-block load bc:load
106Builtin  new bc:new save bc:save set-sql bc:set-sql validate bc:validate validate-block bc:validate-block
107Builtin  add bloom:add filter bloom:filter in? bloom:in? accept bt:accept ch! bt:ch! ch@ bt:ch@ connect bt:connect
108Builtin  disconnect bt:disconnect err? bt:err? leconnect bt:leconnect lescan bt:lescan listen bt:listen
109Builtin  on? bt:on? read bt:read scan bt:scan service? bt:service? services? bt:services? write bt:write
110Builtin  * c:* * c:* + c:+ + c:+ = c:= = c:= >ri c:>ri >ri c:>ri abs c:abs abs c:abs arg c:arg arg c:arg
111Builtin  conj c:conj conj c:conj im c:im n> c:n> new c:new new c:new re c:re >aes128gcm cr:>aes128gcm
112Builtin  >aes256gcm cr:>aes256gcm >cp cr:>cp >cpe cr:>cpe >decrypt cr:>decrypt >edbox cr:>edbox >encrypt cr:>encrypt
113Builtin  >nbuf cr:>nbuf >rsabox cr:>rsabox >uuid cr:>uuid CBC cr:CBC CFB cr:CFB CTR cr:CTR ECB cr:ECB
114Builtin  GCM cr:GCM OFB cr:OFB aad? cr:aad? aes128box-sig cr:aes128box-sig aes128gcm> cr:aes128gcm>
115Builtin  aes256box-sig cr:aes256box-sig aes256gcm> cr:aes256gcm> aesgcm cr:aesgcm blakehash cr:blakehash
116Builtin  chacha20box-sig cr:chacha20box-sig chachapoly cr:chachapoly cipher! cr:cipher! cipher@ cr:cipher@
117Builtin  cp> cr:cp> cpe> cr:cpe> decrypt cr:decrypt decrypt+ cr:decrypt+ decrypt> cr:decrypt> dh-genkey cr:dh-genkey
118Builtin  dh-secret cr:dh-secret dh-sign cr:dh-sign dh-verify cr:dh-verify ebox-sig cr:ebox-sig ecc-genkey cr:ecc-genkey
119Builtin  ecc-secret cr:ecc-secret ecc-sign cr:ecc-sign ecc-verify cr:ecc-verify edbox-sig cr:edbox-sig
120Builtin  edbox> cr:edbox> encrypt cr:encrypt encrypt+ cr:encrypt+ encrypt> cr:encrypt> ensurekey cr:ensurekey
121Builtin  err? cr:err? gcm-tag-size cr:gcm-tag-size genkey cr:genkey hash cr:hash hash! cr:hash! hash+ cr:hash+
122Builtin  hash>b cr:hash>b hash>s cr:hash>s hash@ cr:hash@ hmac cr:hmac hotp cr:hotp iv? cr:iv? mode cr:mode
123Builtin  mode@ cr:mode@ randkey cr:randkey restore cr:restore root-certs cr:root-certs rsa_decrypt cr:rsa_decrypt
124Builtin  rsa_encrypt cr:rsa_encrypt rsa_sign cr:rsa_sign rsa_verify cr:rsa_verify rsabox-sig cr:rsabox-sig
125Builtin  rsabox> cr:rsabox> rsagenkey cr:rsagenkey save cr:save sbox-sig cr:sbox-sig sha1-hmac cr:sha1-hmac
126Builtin  shard cr:shard tag? cr:tag? totp cr:totp totp-epoch cr:totp-epoch totp-time-step cr:totp-time-step
127Builtin  unshard cr:unshard uuid cr:uuid uuid> cr:uuid> validate-pgp-sig cr:validate-pgp-sig (.hebrew) d:(.hebrew)
128Builtin  (.islamic) d:(.islamic) + d:+ +day d:+day +hour d:+hour +min d:+min +msec d:+msec - d:- .hebrew d:.hebrew
129Builtin  .islamic d:.islamic .time d:.time / d:/ = d:= >fixed d:>fixed >hebepoch d:>hebepoch >msec d:>msec
130Builtin  >unix d:>unix >ymd d:>ymd Adar d:Adar Adar2 d:Adar2 Adar2 d:Adar2 Av d:Av Elul d:Elul Fri d:Fri
131Builtin  Heshvan d:Heshvan Iyar d:Iyar Kislev d:Kislev Mon d:Mon Nissan d:Nissan Sat d:Sat Shevat d:Shevat
132Builtin  Sivan d:Sivan Sun d:Sun Tammuz d:Tammuz Tevet d:Tevet Thu d:Thu Tishrei d:Tishrei Tue d:Tue
133Builtin  Wed d:Wed adjust-dst d:adjust-dst between d:between d. d:d. dawn d:dawn days-in-hebrew-year d:days-in-hebrew-year
134Builtin  displaying-hebrew d:displaying-hebrew do-dawn d:do-dawn do-dusk d:do-dusk do-rise d:do-rise
135Builtin  doy d:doy dst? d:dst? dstquery d:dstquery dstzones? d:dstzones? dusk d:dusk elapsed-timer d:elapsed-timer
136Builtin  elapsed-timer-seconds d:elapsed-timer-seconds first-dow d:first-dow fixed> d:fixed> fixed>dow d:fixed>dow
137Builtin  fixed>hebrew d:fixed>hebrew fixed>islamic d:fixed>islamic format d:format hanukkah d:hanukkah
138Builtin  hebrew-epoch d:hebrew-epoch hebrew>fixed d:hebrew>fixed hebrewtoday d:hebrewtoday hmonth-name d:hmonth-name
139Builtin  islamic.epoch d:islamic.epoch islamic>fixed d:islamic>fixed islamictoday d:islamictoday join d:join
140Builtin  last-day-of-hebrew-month d:last-day-of-hebrew-month last-dow d:last-dow last-month d:last-month
141Builtin  last-week d:last-week last-year d:last-year latitude d:latitude longitude d:longitude longitude d:longitude
142Builtin  msec d:msec msec> d:msec> new d:new next-dow d:next-dow next-month d:next-month next-week d:next-week
143Builtin  next-year d:next-year number>hebrew d:number>hebrew omer d:omer parse d:parse pesach d:pesach
144Builtin  prev-dow d:prev-dow purim d:purim rosh-chodesh? d:rosh-chodesh? rosh-hashanah d:rosh-hashanah
145Builtin  shavuot d:shavuot start-timer d:start-timer sunrise d:sunrise taanit-esther d:taanit-esther
146Builtin  ticks d:ticks ticks/sec d:ticks/sec timer d:timer tisha-beav d:tisha-beav tzadjust d:tzadjust
147Builtin  unix> d:unix> updatetz d:updatetz year@ d:year@ ymd d:ymd ymd> d:ymd> yom-haatsmaut d:yom-haatsmaut
148Builtin  yom-kippur d:yom-kippur add-func db:add-func bind db:bind close db:close col db:col col[] db:col[]
149Builtin  col{} db:col{} err? db:err? errmsg db:errmsg exec db:exec exec-cb db:exec-cb key db:key mysql? db:mysql?
150Builtin  odbc? db:odbc? open db:open open? db:open? prepare db:prepare query db:query query-all db:query-all
151Builtin  rekey db:rekey sqlerrmsg db:sqlerrmsg bp dbg:bp except-task@ dbg:except-task@ go dbg:go line-info dbg:line-info
152Builtin  prompt dbg:prompt stop dbg:stop trace dbg:trace trace-enter dbg:trace-enter trace-leave dbg:trace-leave
153Builtin  abspath f:abspath append f:append associate f:associate atime f:atime canwrite? f:canwrite?
154Builtin  chmod f:chmod close f:close copy f:copy copydir f:copydir create f:create ctime f:ctime dir? f:dir?
155Builtin  dname f:dname eachbuf f:eachbuf eachline f:eachline enssep f:enssep eof? f:eof? err? f:err?
156Builtin  exists? f:exists? flush f:flush fname f:fname getb f:getb getc f:getc getline f:getline getmod f:getmod
157Builtin  glob f:glob glob-nocase f:glob-nocase include f:include launch f:launch link f:link link> f:link>
158Builtin  link? f:link? mkdir f:mkdir mmap f:mmap mmap-range f:mmap-range mmap-range? f:mmap-range? mtime f:mtime
159Builtin  mv f:mv open f:open open-ro f:open-ro popen f:popen print f:print read f:read relpath f:relpath
160Builtin  rglob f:rglob rm f:rm rmdir f:rmdir seek f:seek sep f:sep show f:show size f:size slurp f:slurp
161Builtin  stderr f:stderr stdin f:stdin stdout f:stdout tell f:tell times f:times trash f:trash ungetb f:ungetb
162Builtin  ungetc f:ungetc unzip f:unzip unzip-entry f:unzip-entry watch f:watch write f:write writen f:writen
163Builtin  zip+ f:zip+ zip@ f:zip@ zipentry f:zipentry zipnew f:zipnew zipopen f:zipopen zipsave f:zipsave
164Builtin  bold font:bold face? font:face? glyph-path font:glyph-path glyph-pos font:glyph-pos info font:info
165Builtin  italic font:italic ls font:ls measure font:measure new font:new pixels font:pixels pixels? font:pixels?
166Builtin  points font:points points? font:points? styles font:styles styles? font:styles? underline font:underline
167Builtin  +child g:+child +kind g:+kind +path g:+path -child g:-child /path g:/path >img g:>img >progress g:>progress
168Builtin  add-items g:add-items adjustwidth g:adjustwidth allow-orient g:allow-orient arc g:arc arc2 g:arc2
169Builtin  autohide g:autohide back g:back bezier g:bezier bg g:bg bg? g:bg? bounds g:bounds bounds? g:bounds?
170Builtin  box-label g:box-label btn-font g:btn-font bubble g:bubble button-size g:button-size buttons-visible g:buttons-visible
171Builtin  c-text g:c-text callout g:callout center g:center child g:child clear g:clear clearpath g:clearpath
172Builtin  clr>n g:clr>n coleven g:coleven colordlg g:colordlg colwidth g:colwidth connectededges g:connectededges
173Builtin  contrasting g:contrasting cp g:cp curmouse? g:curmouse? default-font g:default-font deselect-row g:deselect-row
174Builtin  dismiss g:dismiss do g:do draw-fitted-text g:draw-fitted-text draw-text g:draw-text draw-text-at g:draw-text-at
175Builtin  each g:each edit-on-double-click g:edit-on-double-click editable g:editable editdlg g:editdlg
176Builtin  empty-text g:empty-text enable g:enable enabled? g:enabled? fade g:fade fb-files g:fb-files
177Builtin  fcolor g:fcolor fg g:fg fg? g:fg? file-filter g:file-filter file-name g:file-name filedlg g:filedlg
178Builtin  fill g:fill fillall g:fillall fit-text g:fit-text flex! g:flex! focus g:focus fontdlg g:fontdlg
179Builtin  forward g:forward fullscreen g:fullscreen get-lasso-items g:get-lasso-items get-tab g:get-tab
180Builtin  getclr g:getclr getfont g:getfont getimage g:getimage getpath g:getpath getroot g:getroot gradient g:gradient
181Builtin  gui? g:gui? handle g:handle headerheight g:headerheight hide g:hide image g:image image-at g:image-at
182Builtin  invalidate g:invalidate ix? g:ix? justify g:justify keyinfo g:keyinfo l-text g:l-text laf g:laf
183Builtin  laf! g:laf! laf? g:laf? len g:len line-width g:line-width lineto g:lineto list+ g:list+ list- g:list-
184Builtin  loadcontent g:loadcontent localize g:localize m! g:m! m@ g:m@ menu-font g:menu-font menu-update g:menu-update
185Builtin  menuenabled g:menuenabled mouse? g:mouse? mousepos? g:mousepos? moveto g:moveto msgdlg g:msgdlg
186Builtin  multi g:multi name g:name named-skin g:named-skin new g:new new-laf g:new-laf next g:next obj g:obj
187Builtin  on g:on on? g:on? ontop g:ontop oshandle g:oshandle outlinethickness g:outlinethickness panel-size g:panel-size
188Builtin  panel-size? g:panel-size? parent g:parent path g:path path>s g:path>s pie g:pie pix! g:pix!
189Builtin  pop g:pop popmenu g:popmenu pos? g:pos? prev g:prev propval! g:propval! propval@ g:propval@
190Builtin  push g:push qbezier g:qbezier quit g:quit r-text g:r-text readonly g:readonly rect g:rect refresh g:refresh
191Builtin  restore g:restore root g:root root-item-visible g:root-item-visible rotate g:rotate rowheight g:rowheight
192Builtin  rrect g:rrect s>path g:s>path save g:save say g:say scale g:scale scolor g:scolor scrollthickness g:scrollthickness
193Builtin  sectionenable g:sectionenable select! g:select! select@ g:select@ selected-rows g:selected-rows
194Builtin  set-lasso g:set-lasso set-long-press g:set-long-press set-popup-font g:set-popup-font set-range g:set-range
195Builtin  set-swipe g:set-swipe set-value g:set-value setcursor g:setcursor setfont g:setfont setheader g:setheader
196Builtin  sethtml g:sethtml setimage g:setimage setname g:setname setroot g:setroot settab g:settab show g:show
197Builtin  show-line-numbers g:show-line-numbers show-pct g:show-pct showmenu g:showmenu showtooltip g:showtooltip
198Builtin  size g:size size? g:size? skin g:skin skin-class g:skin-class stackix g:stackix state g:state
199Builtin  state? g:state? stepsize g:stepsize stroke g:stroke stroke-fill g:stroke-fill style g:style
200Builtin  tabname g:tabname text g:text text-box-style g:text-box-style text? g:text? textcolor g:textcolor
201Builtin  textsize g:textsize timer! g:timer! timer@ g:timer@ toback g:toback tofront g:tofront toggle-row g:toggle-row
202Builtin  tooltip g:tooltip top g:top transition g:transition translate g:translate tree-open g:tree-open
203Builtin  triangle g:triangle update g:update updateitems g:updateitems url g:url user g:user user! g:user!
204Builtin  vertical g:vertical view g:view visible? g:visible? vpos! g:vpos! vpos@ g:vpos@ waitcursor g:waitcursor
205Builtin  winding g:winding xy g:xy xy? g:xy? +edge gr:+edge +edge+w gr:+edge+w +node gr:+node connect gr:connect
206Builtin  edges gr:edges m! gr:m! m@ gr:m@ neighbors gr:neighbors new gr:new node-edges gr:node-edges
207Builtin  nodes gr:nodes traverse gr:traverse + h:+ clear h:clear len h:len new h:new peek h:peek pop h:pop
208Builtin  push h:push unique h:unique arm? hw:arm? camera hw:camera camera-fmt hw:camera-fmt camera-img hw:camera-img
209Builtin  camera? hw:camera? cpu? hw:cpu? device? hw:device? displays? hw:displays? displaysize? hw:displaysize?
210Builtin  err? hw:err? gpio hw:gpio gpio! hw:gpio! gpio-mmap hw:gpio-mmap gpio@ hw:gpio@ i2c hw:i2c i2c! hw:i2c!
211Builtin  i2c!reg hw:i2c!reg i2c@ hw:i2c@ i2c@reg hw:i2c@reg isround? hw:isround? iswatch? hw:iswatch?
212Builtin  mac? hw:mac? mem? hw:mem? poll hw:poll sensor hw:sensor start hw:start stop hw:stop fetch-full imap:fetch-full
213Builtin  fetch-uid-mail imap:fetch-uid-mail login imap:login new imap:new select-inbox imap:select-inbox
214Builtin  >file img:>file copy img:copy crop img:crop data img:data desat img:desat fill img:fill filter img:filter
215Builtin  flip img:flip from-svg img:from-svg new img:new pix! img:pix! pix@ img:pix@ qr-gen img:qr-gen
216Builtin  qr-parse img:qr-parse rotate img:rotate scale img:scale scroll img:scroll size img:size countries iso:countries
217Builtin  find loc:find sort loc:sort ! m:! !? m:!? + m:+ +? m:+? - m:- @ m:@ @? m:@? @@ m:@@ clear m:clear
218Builtin  data m:data each m:each exists? m:exists? iter m:iter iter-all m:iter-all keys m:keys len m:len
219Builtin  map m:map new m:new op! m:op! open m:open vals m:vals xchg m:xchg ! mat:! * mat:* + mat:+ = mat:=
220Builtin  @ mat:@ col mat:col data mat:data det mat:det dim? mat:dim? get-n mat:get-n ident mat:ident
221Builtin  m. mat:m. minor mat:minor n* mat:n* new mat:new row mat:row same-size? mat:same-size? trans mat:trans
222Builtin  ! n:! * n:* */ n:*/ + n:+ +! n:+! - n:- / n:/ /mod n:/mod 1+ n:1+ 1- n:1- < n:< = n:= > n:>
223Builtin  BIGE n:BIGE BIGPI n:BIGPI E n:E PI n:PI ^ n:^ abs n:abs acos n:acos acos n:acos asin n:asin
224Builtin  asin n:asin atan n:atan atan n:atan atan2 n:atan2 band n:band between n:between bfloat n:bfloat
225Builtin  bic n:bic bint n:bint binv n:binv bnot n:bnot bor n:bor bxor n:bxor ceil n:ceil clamp n:clamp
226Builtin  cmp n:cmp comb n:comb cos n:cos cosd n:cosd exp n:exp expmod n:expmod float n:float floor n:floor
227Builtin  fmod n:fmod frac n:frac gcd n:gcd int n:int invmod n:invmod kind? n:kind? lcm n:lcm ln n:ln
228Builtin  max n:max median n:median min n:min mod n:mod neg n:neg odd? n:odd? perm n:perm prime? n:prime?
229Builtin  quantize n:quantize quantize! n:quantize! r+ n:r+ range n:range rot32l n:rot32l rot32r n:rot32r
230Builtin  round n:round round2 n:round2 running-variance n:running-variance running-variance-finalize n:running-variance-finalize
231Builtin  sgn n:sgn shl n:shl shr n:shr sin n:sin sind n:sind sqr n:sqr sqrt n:sqrt tan n:tan tand n:tand
232Builtin  trunc n:trunc ~= n:~= ! net:! >url net:>url @ net:@ DGRAM net:DGRAM INET4 net:INET4 INET6 net:INET6
233Builtin  PROTO_TCP net:PROTO_TCP PROTO_UDP net:PROTO_UDP STREAM net:STREAM accept net:accept addrinfo>o net:addrinfo>o
234Builtin  again? net:again? alloc-and-read net:alloc-and-read alloc-buf net:alloc-buf bind net:bind browse net:browse
235Builtin  close net:close connect net:connect err>s net:err>s err? net:err? get net:get getaddrinfo net:getaddrinfo
236Builtin  getpeername net:getpeername head net:head ifaces? net:ifaces? listen net:listen net-socket net:net-socket
237Builtin  opts net:opts port-is-ssl? net:port-is-ssl? post net:post proxy! net:proxy! read net:read recvfrom net:recvfrom
238Builtin  s>url net:s>url sendto net:sendto server net:server setsockopt net:setsockopt socket net:socket
239Builtin  tlshello net:tlshello url> net:url> user-agent net:user-agent wait net:wait write net:write
240Builtin  MAX ns:MAX cast ptr:cast len ptr:len pack ptr:pack unpack ptr:unpack unpack_orig ptr:unpack_orig
241Builtin  + q:+ clear q:clear len q:len new q:new notify q:notify overwrite q:overwrite peek q:peek pick q:pick
242Builtin  pop q:pop push q:push shift q:shift size q:size slide q:slide throwing q:throwing wait q:wait
243Builtin  ++match r:++match +/ r:+/ +match r:+match / r:/ @ r:@ err? r:err? len r:len match r:match new r:new
244Builtin  rx r:rx str r:str ! s:! * s:* + s:+ - s:- / s:/ /scripts s:/scripts <+ s:<+ = s:= =ic s:=ic
245Builtin  >base64 s:>base64 >ucs2 s:>ucs2 @ s:@ append s:append base64> s:base64> clear s:clear cmp s:cmp
246Builtin  cmpi s:cmpi compress s:compress days! s:days! each s:each eachline s:eachline expand s:expand
247Builtin  fill s:fill fmt s:fmt gershayim s:gershayim globmatch s:globmatch hexupr s:hexupr insert s:insert
248Builtin  intl s:intl intl! s:intl! lang s:lang lc s:lc len s:len lsub s:lsub ltrim s:ltrim map s:map
249Builtin  months! s:months! new s:new replace s:replace replace! s:replace! rev s:rev rsearch s:rsearch
250Builtin  rsub s:rsub rtrim s:rtrim script? s:script? search s:search size s:size slice s:slice strfmap s:strfmap
251Builtin  strfmt s:strfmt trim s:trim tsub s:tsub uc s:uc ucs2> s:ucs2> utf8? s:utf8? zt s:zt close sio:close
252Builtin  enum sio:enum open sio:open opts! sio:opts! opts@ sio:opts@ read sio:read write sio:write new smtp:new
253Builtin  send smtp:send apply-filter snd:apply-filter devices? snd:devices? end-record snd:end-record
254Builtin  filter snd:filter formats? snd:formats? freq snd:freq gain snd:gain gain? snd:gain? len snd:len
255Builtin  loop snd:loop mix snd:mix new snd:new pause snd:pause play snd:play played snd:played rate snd:rate
256Builtin  record snd:record seek snd:seek stop snd:stop stopall snd:stopall unmix snd:unmix volume snd:volume
257Builtin  volume? snd:volume? + st:+ . st:. clear st:clear len st:len ndrop st:ndrop new st:new op! st:op!
258Builtin  peek st:peek pick st:pick pop st:pop push st:push roll st:roll shift st:shift size st:size
259Builtin  slide st:slide swap st:swap throwing st:throwing >buf struct:>buf arr> struct:arr> buf struct:buf
260Builtin  buf> struct:buf> byte struct:byte double struct:double field! struct:field! field@ struct:field@
261Builtin  float struct:float ignore struct:ignore int struct:int long struct:long struct; struct:struct;
262Builtin  word struct:word ! t:! @ t:@ assign t:assign curtask t:curtask def-queue t:def-queue def-stack t:def-stack
263Builtin  done? t:done? err! t:err! err? t:err? getq t:getq guitask t:guitask handler t:handler kill t:kill
264Builtin  list t:list main t:main name! t:name! name@ t:name@ notify t:notify pop t:pop priority t:priority
265Builtin  push t:push push< t:push< q-notify t:q-notify q-wait t:q-wait qlen t:qlen result t:result task t:task
266Builtin  task-n t:task-n task-stop t:task-stop wait t:wait ! w:! @ w:@ alias: w:alias: cb w:cb deprecate w:deprecate
267Builtin  exec w:exec exec? w:exec? ffifail w:ffifail find w:find forget w:forget is w:is undo w:undo
268Builtin  >s xml:>s >txt xml:>txt parse xml:parse parse-html xml:parse-html parse-stream xml:parse-stream
269Builtin  getmsg[] zmq:getmsg[] sendmsg[] zmq:sendmsg[]
270" numbers
271syn keyword eighthMath decimal hex base@ base!
272syn match eighthInteger '\<-\=[0-9.]*[0-9.]\+\>'
273" recognize hex and binary numbers, the '$' and '%' notation is for eighth
274syn match eighthInteger '\<\$\x*\x\+\>' " *1* --- dont't mess
275syn match eighthInteger '\<\x*\d\x*\>'  " *2* --- this order!
276syn match eighthInteger '\<%[0-1]*[0-1]\+\>'
277syn match eighthInteger "\<'.\>"
278
279" Strings
280syn region eighthString start=+\.\?\"+ skip=+"+ end=+$+
281syn keyword jsonNull null
282syn keyword jsonBool /\(true\|false\)/
283 syn region eighthString start=/\<"/ end=/"\>/
284syn match jsonObjEntry /"\"[^"]\+\"\ze\s*:/
285
286"syn region jsonObject start=/{/ end=/}/ contained contains=jsonObjEntry,jsonArray,jsonObject, jsonBool, eighthString
287"syn region jsonArray start=/\[/ end=/\]/ contained contains=jsonArray,jsonObject, jsonBool, eighthString
288
289" Include files
290" syn match eighthInclude '\<\(libinclude\|include\|needs\)\s\+\S\+'
291syn region eighthComment start="\zs\\" end="$" contains=eighthTodo
292
293" Define the default highlighting.
294if !exists("did_eighth_syntax_inits")
295    let did_eighth_syntax_inits=1
296    " The default methods for highlighting. Can be overriden later.
297    hi def link eighthTodo Todo
298    hi def link eighthOperators Operator
299    hi def link eighthMath Number
300    hi def link eighthInteger Number
301    hi def link eighthStack Special
302    hi def link eighthFStack Special
303    hi def link eighthSP Special
304    hi def link eighthColonDef Define
305    hi def link eighthColonName Operator
306    hi def link eighthEndOfColonDef Define
307    hi def link eighthDefine Define
308    hi def link eighthDebug Debug
309    hi def link eighthCharOps Character
310    hi def link eighthConversion String
311    hi def link eighthForth Statement
312    hi def link eighthVocs Statement
313    hi def link eighthString String
314    hi def link eighthComment Comment
315    hi def link eighthClassDef Define
316    hi def link eighthEndOfClassDef Define
317    hi def link eighthObjectDef Define
318    hi def link eighthEndOfObjectDef Define
319    hi def link eighthInclude Include
320    hi def link eighthBuiltin Define
321    hi def link eighthClasses Define
322    hi def link eighthClassWord Keyword
323
324    hi def link jsonObject Delimiter
325    hi def link jsonObjEntry Label
326    hi def link jsonArray Special
327  hi def link jsonNull            Function
328  hi def link jsonBool         Boolean
329endif
330
331let b:current_syntax = "8th"
332let &cpo = s:cpo_save
333unlet s:cpo_save
334
335" vim: ts=8:sw=4:nocindent:smartindent:
336