Mercurial > vim
annotate runtime/syntax/basic.vim @ 10844:1f16beccae3d
Added tag v8.0.0311 for changeset 678edb2542167667b21f548b18104ef1652db348
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sun, 05 Feb 2017 21:15:04 +0100 |
parents | 46763b01cd9a |
children | 34b4eb3a8458 |
rev | line source |
---|---|
7 | 1 " Vim syntax file |
2 " Language: BASIC | |
3 " Maintainer: Allan Kelly <allan@fruitloaf.co.uk> | |
3237 | 4 " Last Change: 2011 Dec 25 by Thilo Six |
7 | 5 |
6 " First version based on Micro$soft QBASIC circa 1989, as documented in | |
7 " 'Learn BASIC Now' by Halvorson&Rygmyr. Microsoft Press 1989. | |
8 " This syntax file not a complete implementation yet. Send suggestions to the | |
9 " maintainer. | |
10 | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3237
diff
changeset
|
11 " quit when a syntax file was already loaded |
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3237
diff
changeset
|
12 if exists("b:current_syntax") |
7 | 13 finish |
14 endif | |
15 | |
3237 | 16 let s:cpo_save = &cpo |
17 set cpo&vim | |
18 | |
7 | 19 " A bunch of useful BASIC keywords |
20 syn keyword basicStatement BEEP beep Beep BLOAD bload Bload BSAVE bsave Bsave | |
21 syn keyword basicStatement CALL call Call ABSOLUTE absolute Absolute | |
22 syn keyword basicStatement CHAIN chain Chain CHDIR chdir Chdir | |
23 syn keyword basicStatement CIRCLE circle Circle CLEAR clear Clear | |
24 syn keyword basicStatement CLOSE close Close CLS cls Cls COLOR color Color | |
25 syn keyword basicStatement COM com Com COMMON common Common | |
26 syn keyword basicStatement CONST const Const DATA data Data | |
27 syn keyword basicStatement DECLARE declare Declare DEF def Def | |
28 syn keyword basicStatement DEFDBL defdbl Defdbl DEFINT defint Defint | |
29 syn keyword basicStatement DEFLNG deflng Deflng DEFSNG defsng Defsng | |
30 syn keyword basicStatement DEFSTR defstr Defstr DIM dim Dim | |
31 syn keyword basicStatement DO do Do LOOP loop Loop | |
32 syn keyword basicStatement DRAW draw Draw END end End | |
33 syn keyword basicStatement ENVIRON environ Environ ERASE erase Erase | |
34 syn keyword basicStatement ERROR error Error EXIT exit Exit | |
35 syn keyword basicStatement FIELD field Field FILES files Files | |
36 syn keyword basicStatement FOR for For NEXT next Next | |
37 syn keyword basicStatement FUNCTION function Function GET get Get | |
38 syn keyword basicStatement GOSUB gosub Gosub GOTO goto Goto | |
39 syn keyword basicStatement IF if If THEN then Then ELSE else Else | |
40 syn keyword basicStatement INPUT input Input INPUT# input# Input# | |
41 syn keyword basicStatement IOCTL ioctl Ioctl KEY key Key | |
42 syn keyword basicStatement KILL kill Kill LET let Let | |
43 syn keyword basicStatement LINE line Line LOCATE locate Locate | |
44 syn keyword basicStatement LOCK lock Lock UNLOCK unlock Unlock | |
45 syn keyword basicStatement LPRINT lprint Lprint USING using Using | |
46 syn keyword basicStatement LSET lset Lset MKDIR mkdir Mkdir | |
47 syn keyword basicStatement NAME name Name ON on On | |
48 syn keyword basicStatement ERROR error Error OPEN open Open | |
49 syn keyword basicStatement OPTION option Option BASE base Base | |
50 syn keyword basicStatement OUT out Out PAINT paint Paint | |
51 syn keyword basicStatement PALETTE palette Palette PCOPY pcopy Pcopy | |
52 syn keyword basicStatement PEN pen Pen PLAY play Play | |
53 syn keyword basicStatement PMAP pmap Pmap POKE poke Poke | |
54 syn keyword basicStatement PRESET preset Preset PRINT print Print | |
55 syn keyword basicStatement PRINT# print# Print# USING using Using | |
56 syn keyword basicStatement PSET pset Pset PUT put Put | |
57 syn keyword basicStatement RANDOMIZE randomize Randomize READ read Read | |
58 syn keyword basicStatement REDIM redim Redim RESET reset Reset | |
59 syn keyword basicStatement RESTORE restore Restore RESUME resume Resume | |
60 syn keyword basicStatement RETURN return Return RMDIR rmdir Rmdir | |
61 syn keyword basicStatement RSET rset Rset RUN run Run | |
62 syn keyword basicStatement SEEK seek Seek SELECT select Select | |
63 syn keyword basicStatement CASE case Case SHARED shared Shared | |
64 syn keyword basicStatement SHELL shell Shell SLEEP sleep Sleep | |
65 syn keyword basicStatement SOUND sound Sound STATIC static Static | |
66 syn keyword basicStatement STOP stop Stop STRIG strig Strig | |
67 syn keyword basicStatement SUB sub Sub SWAP swap Swap | |
68 syn keyword basicStatement SYSTEM system System TIMER timer Timer | |
69 syn keyword basicStatement TROFF troff Troff TRON tron Tron | |
70 syn keyword basicStatement TYPE type Type UNLOCK unlock Unlock | |
71 syn keyword basicStatement VIEW view View WAIT wait Wait | |
72 syn keyword basicStatement WHILE while While WEND wend Wend | |
73 syn keyword basicStatement WIDTH width Width WINDOW window Window | |
74 syn keyword basicStatement WRITE write Write DATE$ date$ Date$ | |
75 syn keyword basicStatement MID$ mid$ Mid$ TIME$ time$ Time$ | |
76 | |
77 syn keyword basicFunction ABS abs Abs ASC asc Asc | |
78 syn keyword basicFunction ATN atn Atn CDBL cdbl Cdbl | |
79 syn keyword basicFunction CINT cint Cint CLNG clng Clng | |
80 syn keyword basicFunction COS cos Cos CSNG csng Csng | |
81 syn keyword basicFunction CSRLIN csrlin Csrlin CVD cvd Cvd | |
82 syn keyword basicFunction CVDMBF cvdmbf Cvdmbf CVI cvi Cvi | |
83 syn keyword basicFunction CVL cvl Cvl CVS cvs Cvs | |
84 syn keyword basicFunction CVSMBF cvsmbf Cvsmbf EOF eof Eof | |
85 syn keyword basicFunction ERDEV erdev Erdev ERL erl Erl | |
86 syn keyword basicFunction ERR err Err EXP exp Exp | |
87 syn keyword basicFunction FILEATTR fileattr Fileattr FIX fix Fix | |
88 syn keyword basicFunction FRE fre Fre FREEFILE freefile Freefile | |
89 syn keyword basicFunction INP inp Inp INSTR instr Instr | |
90 syn keyword basicFunction INT int Int LBOUND lbound Lbound | |
91 syn keyword basicFunction LEN len Len LOC loc Loc | |
92 syn keyword basicFunction LOF lof Lof LOG log Log | |
93 syn keyword basicFunction LPOS lpos Lpos PEEK peek Peek | |
94 syn keyword basicFunction PEN pen Pen POINT point Point | |
95 syn keyword basicFunction POS pos Pos RND rnd Rnd | |
96 syn keyword basicFunction SADD sadd Sadd SCREEN screen Screen | |
97 syn keyword basicFunction SEEK seek Seek SETMEM setmem Setmem | |
98 syn keyword basicFunction SGN sgn Sgn SIN sin Sin | |
99 syn keyword basicFunction SPC spc Spc SQR sqr Sqr | |
100 syn keyword basicFunction STICK stick Stick STRIG strig Strig | |
101 syn keyword basicFunction TAB tab Tab TAN tan Tan | |
102 syn keyword basicFunction UBOUND ubound Ubound VAL val Val | |
103 syn keyword basicFunction VALPTR valptr Valptr VALSEG valseg Valseg | |
104 syn keyword basicFunction VARPTR varptr Varptr VARSEG varseg Varseg | |
105 syn keyword basicFunction CHR$ Chr$ chr$ COMMAND$ command$ Command$ | |
106 syn keyword basicFunction DATE$ date$ Date$ ENVIRON$ environ$ Environ$ | |
107 syn keyword basicFunction ERDEV$ erdev$ Erdev$ HEX$ hex$ Hex$ | |
108 syn keyword basicFunction INKEY$ inkey$ Inkey$ INPUT$ input$ Input$ | |
109 syn keyword basicFunction IOCTL$ ioctl$ Ioctl$ LCASES$ lcases$ Lcases$ | |
110 syn keyword basicFunction LAFT$ laft$ Laft$ LTRIM$ ltrim$ Ltrim$ | |
111 syn keyword basicFunction MID$ mid$ Mid$ MKDMBF$ mkdmbf$ Mkdmbf$ | |
112 syn keyword basicFunction MKD$ mkd$ Mkd$ MKI$ mki$ Mki$ | |
113 syn keyword basicFunction MKL$ mkl$ Mkl$ MKSMBF$ mksmbf$ Mksmbf$ | |
114 syn keyword basicFunction MKS$ mks$ Mks$ OCT$ oct$ Oct$ | |
115 syn keyword basicFunction RIGHT$ right$ Right$ RTRIM$ rtrim$ Rtrim$ | |
116 syn keyword basicFunction SPACE$ space$ Space$ STR$ str$ Str$ | |
117 syn keyword basicFunction STRING$ string$ String$ TIME$ time$ Time$ | |
118 syn keyword basicFunction UCASE$ ucase$ Ucase$ VARPTR$ varptr$ Varptr$ | |
119 syn keyword basicTodo contained TODO | |
120 | |
121 "integer number, or floating point number without a dot. | |
122 syn match basicNumber "\<\d\+\>" | |
123 "floating point number, with dot | |
124 syn match basicNumber "\<\d\+\.\d*\>" | |
125 "floating point number, starting with a dot | |
126 syn match basicNumber "\.\d\+\>" | |
127 | |
128 " String and Character contstants | |
129 syn match basicSpecial contained "\\\d\d\d\|\\." | |
130 syn region basicString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=basicSpecial | |
131 | |
132 syn region basicComment start="REM" end="$" contains=basicTodo | |
133 syn region basicComment start="^[ \t]*'" end="$" contains=basicTodo | |
134 syn region basicLineNumber start="^\d" end="\s" | |
135 syn match basicTypeSpecifier "[a-zA-Z0-9][\$%&!#]"ms=s+1 | |
136 " Used with OPEN statement | |
137 syn match basicFilenumber "#\d\+" | |
138 "syn sync ccomment basicComment | |
139 " syn match basicMathsOperator "[<>+\*^/\\=-]" | |
140 syn match basicMathsOperator "-\|=\|[:<>+\*^/\\]\|AND\|OR" | |
141 | |
142 " Define the default highlighting. | |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3237
diff
changeset
|
143 " Only when an item doesn't have highlighting yet |
7 | 144 |
10051
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
145 hi def link basicLabel Label |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
146 hi def link basicConditional Conditional |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
147 hi def link basicRepeat Repeat |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
148 hi def link basicLineNumber Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
149 hi def link basicNumber Number |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
150 hi def link basicError Error |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
151 hi def link basicStatement Statement |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
152 hi def link basicString String |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
153 hi def link basicComment Comment |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
154 hi def link basicSpecial Special |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
155 hi def link basicTodo Todo |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
156 hi def link basicFunction Identifier |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
157 hi def link basicTypeSpecifier Type |
46763b01cd9a
commit https://github.com/vim/vim/commit/f37506f60f87d52a9e8850e30067645e2b13783c
Christian Brabandt <cb@256bit.org>
parents:
10048
diff
changeset
|
158 hi def link basicFilenumber basicTypeSpecifier |
10048
43efa4f5a8ea
commit https://github.com/vim/vim/commit/89bcfda6834aba724d12554a34b9ed49f5789fd5
Christian Brabandt <cb@256bit.org>
parents:
3237
diff
changeset
|
159 "hi basicMathsOperator term=bold cterm=bold gui=bold |
7 | 160 |
161 | |
162 let b:current_syntax = "basic" | |
163 | |
3237 | 164 let &cpo = s:cpo_save |
165 unlet s:cpo_save | |
7 | 166 " vim: ts=8 |