Mercurial > vim
comparison runtime/syntax/basic.vim @ 7:3fc0f57ecb91 v7.0001
updated for version 7.0001
author | vimboss |
---|---|
date | Sun, 13 Jun 2004 20:20:40 +0000 |
parents | |
children | 91e53bcb7946 |
comparison
equal
deleted
inserted
replaced
6:c2daee826b8f | 7:3fc0f57ecb91 |
---|---|
1 " Vim syntax file | |
2 " Language: BASIC | |
3 " Maintainer: Allan Kelly <allan@fruitloaf.co.uk> | |
4 " Last Change: Tue Sep 14 14:24:23 BST 1999 | |
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 | |
11 " For version 5.x: Clear all syntax items | |
12 " For version 6.x: Quit when a syntax file was already loaded | |
13 if version < 600 | |
14 syntax clear | |
15 elseif exists("b:current_syntax") | |
16 finish | |
17 endif | |
18 | |
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. | |
143 " For version 5.7 and earlier: only when not done already | |
144 " For version 5.8 and later: only when an item doesn't have highlighting yet | |
145 if version >= 508 || !exists("did_basic_syntax_inits") | |
146 if version < 508 | |
147 let did_basic_syntax_inits = 1 | |
148 command -nargs=+ HiLink hi link <args> | |
149 else | |
150 command -nargs=+ HiLink hi def link <args> | |
151 endif | |
152 | |
153 HiLink basicLabel Label | |
154 HiLink basicConditional Conditional | |
155 HiLink basicRepeat Repeat | |
156 HiLink basicLineNumber Comment | |
157 HiLink basicNumber Number | |
158 HiLink basicError Error | |
159 HiLink basicStatement Statement | |
160 HiLink basicString String | |
161 HiLink basicComment Comment | |
162 HiLink basicSpecial Special | |
163 HiLink basicTodo Todo | |
164 HiLink basicFunction Identifier | |
165 HiLink basicTypeSpecifier Type | |
166 HiLink basicFilenumber basicTypeSpecifier | |
167 "hi basicMathsOperator term=bold cterm=bold gui=bold | |
168 | |
169 delcommand HiLink | |
170 endif | |
171 | |
172 let b:current_syntax = "basic" | |
173 | |
174 " vim: ts=8 |