History

initial import

phil9 committed 5 years ago

Commit dd360bcNo parent (first commit)1336 files · +557163 −-5Browse files

Showing the changes to lib/vimfiles/syntax/basic.vim (1 of 1336 files). Show all

Unified · Split

lib/vimfiles/syntax/basic.vim+174−0
@@ -0,0 +1,174 @@
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