annotate runtime/syntax/j.vim @ 19888:435726a03481 v8.2.0500

patch 8.2.0500: using the same loop in many places Commit: https://github.com/vim/vim/commit/aeea72151c31d686bcbb7b06d895006d7363585c Author: Bram Moolenaar <Bram@vim.org> Date: Thu Apr 2 18:50:46 2020 +0200 patch 8.2.0500: using the same loop in many places Problem: Using the same loop in many places. Solution: Define more FOR_ALL macros. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/5339)
author Bram Moolenaar <Bram@vim.org>
date Thu, 02 Apr 2020 19:00:05 +0200
parents cb3163d590a1
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
1 " Vim syntax file
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
2 " Language: J
18639
cb3163d590a1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 6505
diff changeset
3 " Maintainer: David Bürgin <dbuergin@gluet.ch>
cb3163d590a1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 6505
diff changeset
4 " URL: https://gitlab.com/glts/vim-j
cb3163d590a1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 6505
diff changeset
5 " Last Change: 2019-11-12
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
6
5734
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5425
diff changeset
7 if exists('b:current_syntax')
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
8 finish
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
9 endif
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
10
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
11 let s:save_cpo = &cpo
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
12 set cpo&vim
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
13
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
14 syntax case match
6292
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
15 syntax sync minlines=100
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
16
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
17 syntax cluster jStdlibItems contains=jStdlibNoun,jStdlibAdverb,jStdlibConjunction,jStdlibVerb
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
18 syntax cluster jPrimitiveItems contains=jNoun,jAdverb,jConjunction,jVerb,jCopula
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
19
5734
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5425
diff changeset
20 syntax match jControl /\<\%(assert\|break\|case\|catch[dt]\=\|continue\|do\|else\%(if\)\=\|end\|fcase\|for\|if\|return\|select\|throw\|try\|whil\%(e\|st\)\)\./
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5425
diff changeset
21 syntax match jControl /\<\%(for\|goto\|label\)_\a\k*\./
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
22
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
23 " Standard library names. A few names need to be defined with ":syntax match"
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
24 " because they would otherwise take precedence over the corresponding jControl
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
25 " and jDefineExpression items.
18639
cb3163d590a1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 6505
diff changeset
26 syntax keyword jStdlibNoun ARGV BINPATH CR CRLF DEL Debug EAV EMPTY FF FHS IF64 IFBE IFIOS IFJA IFJHS IFJNET IFQT IFRASPI IFUNIX IFWIN IFWINCE IFWINE IFWOW64 JB01 JBOXED JCHAR JCHAR2 JCHAR4 JCMPX JFL JINT JLIB JPTR JSB JSIZES JSTR JSTR2 JSTR4 JTYPES JVERSION LF LF2 LIBFILE TAB UNAME UNXLIB dbhelp libjqt
6505
198e1e498edf Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6292
diff changeset
27 syntax keyword jStdlibAdverb define each every fapplylines inv inverse items leaf rows rxapply rxmerge table
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
28 syntax keyword jStdlibConjunction bind cuts def on
18639
cb3163d590a1 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 6505
diff changeset
29 syntax keyword jStdlibVerb AND Endian IFDEF OR XOR abspath anddf android_exec_am android_exec_host android_getdisplaymetrics andunzip apply boxopen boxxopen bx calendar cd cdcb cder cderx cdf charsub chopstring clear coclass cocreate cocurrent codestroy coerase cofind cofindv cofullname coinfo coinsert compare coname conames conew conl conouns conounsx copath copathnl copathnlx coreset costate cut cutLF cutopen cutpara datatype dbctx dbcut dberm dberr dbg dbinto dbjmp dblocals dblxq dblxs dbnxt dbout dbover dbq dbr dbret dbrr dbrrx dbrun dbs dbsig dbsq dbss dbst dbstack dbstk dbstop dbstopme dbstopnext dbstops dbtrace dbview deb debc delstring detab dfh dir dircompare dircompares dirfind dirpath dirss dirssrplc dirtree dirused dlb dltb dltbs dquote drop dropafter dropto dtb dtbs echo empty endian erase evtloop exit expand f2utf8 fappend fappends fboxname fc fcompare fcompares fcopynew fdir ferase fetch fexist fexists fgets file2url fixdotdot fliprgb fmakex foldpara foldtext fpathcreate fpathname fputs fread freadblock freadr freads frename freplace fsize fss fssrplc fstamp fstringreplace ftype fview fwrite fwritenew fwrites getalpha getargs getdate getenv getqtbin hfd hostpathsep ic install iospath isatty isotimestamp isutf16 isutf8 jcwdpath joinstring jpath jpathsep jsystemdefs launch list ljust load loadd mema memf memr memu memw nameclass namelist names nc nl pick quote require rjust rplc rxE rxall rxcomp rxcut rxeq rxerror rxfirst rxfree rxfrom rxhandles rxin rxindex rxinfo rxmatch rxmatches rxrplc rxutf8 script scriptd scripts setalpha setbreak shell show sign sminfo smoutput sort split splitnostring splitstring ss startupandroid stderr stdin stdout stringreplace symdat symget symset take takeafter taketo timespacex timestamp timex tmoutput toCRLF toHOST toJ todate todayno tolist tolower topara toupper tsdiff tsrep tstamp type ucp ucpcount undquote unxlib usleep utf8 uucp valdate wcsize weekday weeknumber weeksinyear winpathsep xedit
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
30 syntax match jStdlibNoun /\<\%(adverb\|conjunction\|dyad\|monad\|noun\|verb\)\>/
6505
198e1e498edf Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6292
diff changeset
31 syntax match jStdlibVerb /\<\%(Note\|\%(assert\|break\|do\)\.\@!\)\>/
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
32
6292
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
33 " Numbers. Matching J numbers is difficult. In fact, the job cannot be done
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
34 " with regular expressions alone. Below is a sketch of the pattern used. It
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
35 " accepts most well-formed numbers and rejects most of the ill-formed ones.
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
36 " See http://www.jsoftware.com/help/dictionary/dcons.htm for reference.
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
37 "
6292
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
38 " "double1" and "double2" patterns:
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
39 " (_?\d+(\.\d*)?|_\.\d+)([eE]_?\d+)?
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
40 " (_?\d+(\.\d*)?|_\.\d+|\.\d+)([eE]_?\d+)?
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
41 "
6292
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
42 " "rational1" and "rational2" patterns:
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
43 " \k<double1>(r\k<double2>)?|__?
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
44 " \k<double2>(r\k<double2>)?|__?
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
45 "
6292
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
46 " "complex1" and "complex2" patterns:
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
47 " \k<rational1>((j|a[dr])\k<rational2>)?
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
48 " \k<rational2>((j|a[dr])\k<rational2>)?
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
49 "
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
50 " "basevalue" pattern:
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
51 " _?[0-9a-z]+(\.[0-9a-z]*)?|_?\.[0-9a-z]+
5734
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5425
diff changeset
52 "
6292
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
53 " all numbers:
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
54 " \b\k<complex1>([px]\k<complex2>)?(b\k<basevalue>)?(?![0-9A-Za-z_.])
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
55 syntax match jNumber /\<_\.[0-9A-Za-z_.]\@!/
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
56 syntax match jNumber /\<_\=\d\+x[0-9A-Za-z_.]\@!/
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
57 syntax match jNumber /\<\%(__\=r_\=\d\+\|_\=\d\+r__\=\)[0-9A-Za-z_.]\@!/
31f7581068a9 Update runtime files and translations.
Bram Moolenaar <bram@vim.org>
parents: 5968
diff changeset
58 syntax match jNumber /\<\%(\%(_\=\d\+\%(\.\d*\)\=\|_\.\d\+\)\%([eE]_\=\d\+\)\=\%(r\%(_\=\d\+\%(\.\d*\)\=\|_\.\d\+\|\.\d\+\)\%([eE]_\=\d\+\)\=\)\=\|__\=\)\%(\%(j\|a[dr]\)\%(\%(_\=\d\+\%(\.\d*\)\=\|_\.\d\+\|\.\d\+\)\%([eE]_\=\d\+\)\=\%(r\%(_\=\d\+\%(\.\d*\)\=\|_\.\d\+\|\.\d\+\)\%([eE]_\=\d\+\)\=\)\=\|__\=\)\)\=\%([px]\%(\%(_\=\d\+\%(\.\d*\)\=\|_\.\d\+\|\.\d\+\)\%([eE]_\=\d\+\)\=\%(r\%(_\=\d\+\%(\.\d*\)\=\|_\.\d\+\|\.\d\+\)\%([eE]_\=\d\+\)\=\)\=\|__\=\)\%(\%(j\|a[dr]\)\%(\%(_\=\d\+\%(\.\d*\)\=\|_\.\d\+\|\.\d\+\)\%([eE]_\=\d\+\)\=\%(r\%(_\=\d\+\%(\.\d*\)\=\|_\.\d\+\|\.\d\+\)\%([eE]_\=\d\+\)\=\)\=\|__\=\)\)\=\)\=\%(b\%(_\=[0-9a-z]\+\%(\.[0-9a-z]*\)\=\|_\=\.[0-9a-z]\+\)\)\=[0-9A-Za-z_.]\@!/
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
59
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
60 syntax region jString oneline start=/'/ skip=/''/ end=/'/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
61
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
62 syntax keyword jArgument contained x y u v m n
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
63
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
64 " Primitives. Order is significant both within the patterns and among
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
65 " ":syntax match" statements. Refer to "Parts of speech" in the J dictionary.
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
66 syntax match jNoun /\<a[.:]/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
67 syntax match jAdverb /[}~]\|[/\\]\.\=\|\<\%([Mbft]\.\|t:\)/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
68 syntax match jConjunction /"\|`:\=\|[.:@&][.:]\=\|&\.:\|\<\%([dDHT]\.\|[DLS]:\)/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
69 syntax match jVerb /[=!\]]\|[\^?]\.\=\|[;[]:\=\|{\.\|[_/\\]:\|[<>+*\-%$|,#][.:]\=\|[~}"][.:]\|{\%[::]\|\<\%([ACeEiIjLor]\.\|p\.\.\=\|[ipqsux]:\|0:\|_\=[1-9]:\)/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
70 syntax match jCopula /=[.:]/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
71 syntax match jConjunction /;\.\|\^:\|![.:]/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
72
5968
92751673cc37 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5815
diff changeset
73 " Explicit noun definition. The difficulty is that the define expression can
92751673cc37 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5815
diff changeset
74 " occur in the middle of a line but the jNounDefine region must only start on
92751673cc37 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5815
diff changeset
75 " the next line. The trick is to split the problem into two regions and link
92751673cc37 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5815
diff changeset
76 " them with "nextgroup=". The fold wrapper provides syntax folding.
92751673cc37 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5815
diff changeset
77 syntax region jNounDefineFold
6505
198e1e498edf Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6292
diff changeset
78 \ matchgroup=NONE start=/\%(\%(\%(^\s*Note\)\|\<\%(0\|noun\)\s\+\%(\:\s*0\|def\s\+0\|define\)\)\>\)\@=/
5968
92751673cc37 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5815
diff changeset
79 \ keepend matchgroup=NONE end=/^\s*)\s*$/
92751673cc37 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5815
diff changeset
80 \ contains=jNounDefineStart
92751673cc37 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5815
diff changeset
81 \ fold
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
82 syntax region jNounDefineStart
6505
198e1e498edf Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6292
diff changeset
83 \ matchgroup=jDefineExpression start=/\%(\%(^\s*Note\)\|\<\%(0\|noun\)\s\+\%(\:\s*0\|def\s\+0\|define\)\)\>/
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
84 \ keepend matchgroup=NONE end=/$/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
85 \ contains=@jStdlibItems,@jPrimitiveItems,jNumber,jString,jParenGroup,jParen,jComment
5968
92751673cc37 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5815
diff changeset
86 \ contained oneline skipempty nextgroup=jDefineEnd,jNounDefine
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
87 " These two items must have "contained", which allows them to match only after
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
88 " jNounDefineStart thanks to the "nextgroup=" above.
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
89 syntax region jNounDefine
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
90 \ matchgroup=NONE start=/^/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
91 \ matchgroup=jDefineEnd end=/^\s*)\s*$/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
92 \ contained
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
93 " This match is necessary in case of an empty noun definition
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
94 syntax match jDefineEnd contained /^\s*)\s*$/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
95
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
96 " Explicit verb, adverb, and conjunction definition
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
97 syntax region jDefine
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
98 \ matchgroup=jDefineExpression start=/\<\%([1-4]\|13\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
99 \ matchgroup=jDefineEnd end=/^\s*)\s*$/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
100 \ contains=jControl,@jStdlibItems,@jPrimitiveItems,jNumber,jString,jArgument,jParenGroup,jParen,jComment,jDefineMonadDyad
5968
92751673cc37 Update runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5815
diff changeset
101 \ fold
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
102 syntax match jDefineMonadDyad contained /^\s*:\s*$/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
103
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
104 " Paired parentheses. When a jDefineExpression such as "3 : 0" is
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
105 " parenthesised it will erroneously extend jParenGroup to span over the whole
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
106 " definition body. This situation receives a special treatment here.
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
107 syntax match jParen /(\%(\s*\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\s*)\)\@=/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
108 syntax match jParen contained /\%((\s*\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\s*\)\@<=)/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
109 syntax region jParenGroup
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
110 \ matchgroup=jParen start=/(\%(\s*\%([0-4]\|13\|noun\|adverb\|conjunction\|verb\|monad\|dyad\)\s\+\%(:\s*0\|def\s\+0\|define\)\>\)\@!/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
111 \ matchgroup=jParen end=/)/
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
112 \ oneline transparent
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
113
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
114 syntax keyword jTodo contained TODO FIXME XXX
6505
198e1e498edf Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 6292
diff changeset
115 syntax match jComment /\<NB\..*$/ contains=jTodo,@Spell
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
116
5734
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5425
diff changeset
117 syntax match jSharpBang /\%^#!.*$/
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
118
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
119 highlight default link jControl Statement
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
120 highlight default link jStdlibNoun Identifier
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
121 highlight default link jStdlibAdverb Function
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
122 highlight default link jStdlibConjunction Function
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
123 highlight default link jStdlibVerb Function
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
124 highlight default link jString String
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
125 highlight default link jNumber Number
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
126 highlight default link jNoun Constant
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
127 highlight default link jAdverb Normal
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
128 highlight default link jConjunction Normal
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
129 highlight default link jVerb Normal
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
130 highlight default link jCopula Normal
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
131 highlight default link jArgument Identifier
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
132 highlight default link jParen Delimiter
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
133
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
134 highlight default link jDefineExpression Define
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
135 highlight default link jDefineMonadDyad Delimiter
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
136 highlight default link jDefineEnd Delimiter
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
137 highlight default link jNounDefine Normal
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
138
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
139 highlight default link jTodo Todo
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
140 highlight default link jComment Comment
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
141 highlight default link jSharpBang PreProc
5362
ab1508486b12 Update runtime files. Add support for J.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
142
5734
657ade71d395 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5425
diff changeset
143 let b:current_syntax = 'j'
5815
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
144
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
145 let &cpo = s:save_cpo
d735e62f5925 Updated runtime files.
Bram Moolenaar <bram@vim.org>
parents: 5734
diff changeset
146 unlet s:save_cpo