diff options
author | Justin M. Keyes <justinkz@gmail.com> | 2014-07-11 04:05:51 +0000 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2014-07-29 02:12:31 +0000 |
commit | a98a6996c291b3e300d27b791eded9eed333d677 (patch) | |
tree | 51d92f6cac128f938cd0aaa9a8dd0ce7a83d63a9 /runtime/syntax/basic.vim | |
parent | 66bc13163398786c88e20b7cdd61c66978b4d3fb (diff) | |
download | rneovim-a98a6996c291b3e300d27b791eded9eed333d677.tar.gz rneovim-a98a6996c291b3e300d27b791eded9eed333d677.tar.bz2 rneovim-a98a6996c291b3e300d27b791eded9eed333d677.zip |
re-integrate runtime/ vim-patch:0 #938
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7
Excluding:
Amiga icons (*.info, icons/)
doc/hangulin.txt
tutor/
spell/
lang/ (only used for menu translations)
macros/maze/, macros/hanoi/, macros/life/, macros/urm/
These were used to test vi compatibility.
termcap
"Demonstration of a termcap file (for the Amiga and Archimedes)"
Helped-by: Rich Wareham <rjw57@cam.ac.uk>
Helped-by: John <john.schmidt.h@gmail.com>
Helped-by: Yann <yann@yann-salaun.com>
Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com>
Helped-by: drasill <github@tof2k.com>
Helped-by: Tae Sandoval Murgan <taecilla@gmail.com>
Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
Diffstat (limited to 'runtime/syntax/basic.vim')
-rw-r--r-- | runtime/syntax/basic.vim | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/runtime/syntax/basic.vim b/runtime/syntax/basic.vim new file mode 100644 index 0000000000..c72032da27 --- /dev/null +++ b/runtime/syntax/basic.vim @@ -0,0 +1,179 @@ +" Vim syntax file +" Language: BASIC +" Maintainer: Allan Kelly <allan@fruitloaf.co.uk> +" Last Change: 2011 Dec 25 by Thilo Six + +" First version based on Micro$soft QBASIC circa 1989, as documented in +" 'Learn BASIC Now' by Halvorson&Rygmyr. Microsoft Press 1989. +" This syntax file not a complete implementation yet. Send suggestions to the +" maintainer. + +" For version 5.x: Clear all syntax items +" For version 6.x: Quit when a syntax file was already loaded +if version < 600 + syntax clear +elseif exists("b:current_syntax") + finish +endif + +let s:cpo_save = &cpo +set cpo&vim + +" A bunch of useful BASIC keywords +syn keyword basicStatement BEEP beep Beep BLOAD bload Bload BSAVE bsave Bsave +syn keyword basicStatement CALL call Call ABSOLUTE absolute Absolute +syn keyword basicStatement CHAIN chain Chain CHDIR chdir Chdir +syn keyword basicStatement CIRCLE circle Circle CLEAR clear Clear +syn keyword basicStatement CLOSE close Close CLS cls Cls COLOR color Color +syn keyword basicStatement COM com Com COMMON common Common +syn keyword basicStatement CONST const Const DATA data Data +syn keyword basicStatement DECLARE declare Declare DEF def Def +syn keyword basicStatement DEFDBL defdbl Defdbl DEFINT defint Defint +syn keyword basicStatement DEFLNG deflng Deflng DEFSNG defsng Defsng +syn keyword basicStatement DEFSTR defstr Defstr DIM dim Dim +syn keyword basicStatement DO do Do LOOP loop Loop +syn keyword basicStatement DRAW draw Draw END end End +syn keyword basicStatement ENVIRON environ Environ ERASE erase Erase +syn keyword basicStatement ERROR error Error EXIT exit Exit +syn keyword basicStatement FIELD field Field FILES files Files +syn keyword basicStatement FOR for For NEXT next Next +syn keyword basicStatement FUNCTION function Function GET get Get +syn keyword basicStatement GOSUB gosub Gosub GOTO goto Goto +syn keyword basicStatement IF if If THEN then Then ELSE else Else +syn keyword basicStatement INPUT input Input INPUT# input# Input# +syn keyword basicStatement IOCTL ioctl Ioctl KEY key Key +syn keyword basicStatement KILL kill Kill LET let Let +syn keyword basicStatement LINE line Line LOCATE locate Locate +syn keyword basicStatement LOCK lock Lock UNLOCK unlock Unlock +syn keyword basicStatement LPRINT lprint Lprint USING using Using +syn keyword basicStatement LSET lset Lset MKDIR mkdir Mkdir +syn keyword basicStatement NAME name Name ON on On +syn keyword basicStatement ERROR error Error OPEN open Open +syn keyword basicStatement OPTION option Option BASE base Base +syn keyword basicStatement OUT out Out PAINT paint Paint +syn keyword basicStatement PALETTE palette Palette PCOPY pcopy Pcopy +syn keyword basicStatement PEN pen Pen PLAY play Play +syn keyword basicStatement PMAP pmap Pmap POKE poke Poke +syn keyword basicStatement PRESET preset Preset PRINT print Print +syn keyword basicStatement PRINT# print# Print# USING using Using +syn keyword basicStatement PSET pset Pset PUT put Put +syn keyword basicStatement RANDOMIZE randomize Randomize READ read Read +syn keyword basicStatement REDIM redim Redim RESET reset Reset +syn keyword basicStatement RESTORE restore Restore RESUME resume Resume +syn keyword basicStatement RETURN return Return RMDIR rmdir Rmdir +syn keyword basicStatement RSET rset Rset RUN run Run +syn keyword basicStatement SEEK seek Seek SELECT select Select +syn keyword basicStatement CASE case Case SHARED shared Shared +syn keyword basicStatement SHELL shell Shell SLEEP sleep Sleep +syn keyword basicStatement SOUND sound Sound STATIC static Static +syn keyword basicStatement STOP stop Stop STRIG strig Strig +syn keyword basicStatement SUB sub Sub SWAP swap Swap +syn keyword basicStatement SYSTEM system System TIMER timer Timer +syn keyword basicStatement TROFF troff Troff TRON tron Tron +syn keyword basicStatement TYPE type Type UNLOCK unlock Unlock +syn keyword basicStatement VIEW view View WAIT wait Wait +syn keyword basicStatement WHILE while While WEND wend Wend +syn keyword basicStatement WIDTH width Width WINDOW window Window +syn keyword basicStatement WRITE write Write DATE$ date$ Date$ +syn keyword basicStatement MID$ mid$ Mid$ TIME$ time$ Time$ + +syn keyword basicFunction ABS abs Abs ASC asc Asc +syn keyword basicFunction ATN atn Atn CDBL cdbl Cdbl +syn keyword basicFunction CINT cint Cint CLNG clng Clng +syn keyword basicFunction COS cos Cos CSNG csng Csng +syn keyword basicFunction CSRLIN csrlin Csrlin CVD cvd Cvd +syn keyword basicFunction CVDMBF cvdmbf Cvdmbf CVI cvi Cvi +syn keyword basicFunction CVL cvl Cvl CVS cvs Cvs +syn keyword basicFunction CVSMBF cvsmbf Cvsmbf EOF eof Eof +syn keyword basicFunction ERDEV erdev Erdev ERL erl Erl +syn keyword basicFunction ERR err Err EXP exp Exp +syn keyword basicFunction FILEATTR fileattr Fileattr FIX fix Fix +syn keyword basicFunction FRE fre Fre FREEFILE freefile Freefile +syn keyword basicFunction INP inp Inp INSTR instr Instr +syn keyword basicFunction INT int Int LBOUND lbound Lbound +syn keyword basicFunction LEN len Len LOC loc Loc +syn keyword basicFunction LOF lof Lof LOG log Log +syn keyword basicFunction LPOS lpos Lpos PEEK peek Peek +syn keyword basicFunction PEN pen Pen POINT point Point +syn keyword basicFunction POS pos Pos RND rnd Rnd +syn keyword basicFunction SADD sadd Sadd SCREEN screen Screen +syn keyword basicFunction SEEK seek Seek SETMEM setmem Setmem +syn keyword basicFunction SGN sgn Sgn SIN sin Sin +syn keyword basicFunction SPC spc Spc SQR sqr Sqr +syn keyword basicFunction STICK stick Stick STRIG strig Strig +syn keyword basicFunction TAB tab Tab TAN tan Tan +syn keyword basicFunction UBOUND ubound Ubound VAL val Val +syn keyword basicFunction VALPTR valptr Valptr VALSEG valseg Valseg +syn keyword basicFunction VARPTR varptr Varptr VARSEG varseg Varseg +syn keyword basicFunction CHR$ Chr$ chr$ COMMAND$ command$ Command$ +syn keyword basicFunction DATE$ date$ Date$ ENVIRON$ environ$ Environ$ +syn keyword basicFunction ERDEV$ erdev$ Erdev$ HEX$ hex$ Hex$ +syn keyword basicFunction INKEY$ inkey$ Inkey$ INPUT$ input$ Input$ +syn keyword basicFunction IOCTL$ ioctl$ Ioctl$ LCASES$ lcases$ Lcases$ +syn keyword basicFunction LAFT$ laft$ Laft$ LTRIM$ ltrim$ Ltrim$ +syn keyword basicFunction MID$ mid$ Mid$ MKDMBF$ mkdmbf$ Mkdmbf$ +syn keyword basicFunction MKD$ mkd$ Mkd$ MKI$ mki$ Mki$ +syn keyword basicFunction MKL$ mkl$ Mkl$ MKSMBF$ mksmbf$ Mksmbf$ +syn keyword basicFunction MKS$ mks$ Mks$ OCT$ oct$ Oct$ +syn keyword basicFunction RIGHT$ right$ Right$ RTRIM$ rtrim$ Rtrim$ +syn keyword basicFunction SPACE$ space$ Space$ STR$ str$ Str$ +syn keyword basicFunction STRING$ string$ String$ TIME$ time$ Time$ +syn keyword basicFunction UCASE$ ucase$ Ucase$ VARPTR$ varptr$ Varptr$ +syn keyword basicTodo contained TODO + +"integer number, or floating point number without a dot. +syn match basicNumber "\<\d\+\>" +"floating point number, with dot +syn match basicNumber "\<\d\+\.\d*\>" +"floating point number, starting with a dot +syn match basicNumber "\.\d\+\>" + +" String and Character contstants +syn match basicSpecial contained "\\\d\d\d\|\\." +syn region basicString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=basicSpecial + +syn region basicComment start="REM" end="$" contains=basicTodo +syn region basicComment start="^[ \t]*'" end="$" contains=basicTodo +syn region basicLineNumber start="^\d" end="\s" +syn match basicTypeSpecifier "[a-zA-Z0-9][\$%&!#]"ms=s+1 +" Used with OPEN statement +syn match basicFilenumber "#\d\+" +"syn sync ccomment basicComment +" syn match basicMathsOperator "[<>+\*^/\\=-]" +syn match basicMathsOperator "-\|=\|[:<>+\*^/\\]\|AND\|OR" + +" Define the default highlighting. +" For version 5.7 and earlier: only when not done already +" For version 5.8 and later: only when an item doesn't have highlighting yet +if version >= 508 || !exists("did_basic_syntax_inits") + if version < 508 + let did_basic_syntax_inits = 1 + command -nargs=+ HiLink hi link <args> + else + command -nargs=+ HiLink hi def link <args> + endif + + HiLink basicLabel Label + HiLink basicConditional Conditional + HiLink basicRepeat Repeat + HiLink basicLineNumber Comment + HiLink basicNumber Number + HiLink basicError Error + HiLink basicStatement Statement + HiLink basicString String + HiLink basicComment Comment + HiLink basicSpecial Special + HiLink basicTodo Todo + HiLink basicFunction Identifier + HiLink basicTypeSpecifier Type + HiLink basicFilenumber basicTypeSpecifier + "hi basicMathsOperator term=bold cterm=bold gui=bold + + delcommand HiLink +endif + +let b:current_syntax = "basic" + +let &cpo = s:cpo_save +unlet s:cpo_save +" vim: ts=8 |