summaryrefslogtreecommitdiff
path: root/uvim/runtime/syntax/basic.vim
diff options
context:
space:
mode:
Diffstat (limited to 'uvim/runtime/syntax/basic.vim')
-rw-r--r--uvim/runtime/syntax/basic.vim380
1 files changed, 0 insertions, 380 deletions
diff --git a/uvim/runtime/syntax/basic.vim b/uvim/runtime/syntax/basic.vim
deleted file mode 100644
index b6bf23a3ed..0000000000
--- a/uvim/runtime/syntax/basic.vim
+++ /dev/null
@@ -1,380 +0,0 @@
-" Vim syntax file
-" Language: BASIC (QuickBASIC 4.5)
-" Maintainer: Doug Kearns <dougkearns@gmail.com>
-" Previous Maintainer: Allan Kelly <allan@fruitloaf.co.uk>
-" Contributors: Thilo Six
-" Last Change: 2022 Jun 22
-
-" First version based on Micro$soft QBASIC circa 1989, as documented in
-" 'Learn BASIC Now' by Halvorson&Rygmyr. Microsoft Press 1989.
-"
-" Second version attempts to match Microsoft QuickBASIC 4.5 while keeping FreeBASIC
-" (-lang qb) and QB64 (excluding extensions) in mind. -- DJK
-
-" Prelude {{{1
-if exists("b:current_syntax")
- finish
-endif
-
-let s:cpo_save = &cpo
-set cpo&vim
-
-syn iskeyword @,48-57,.,!,#,%,&,$
-syn case ignore
-
-" Whitespace Errors {{{1
-if exists("basic_space_errors")
- if !exists("basic_no_trail_space_error")
- syn match basicSpaceError display excludenl "\s\+$"
- endif
- if !exists("basic_no_tab_space_error")
- syn match basicSpaceError display " \+\t"me=e-1
- endif
-endif
-
-" Comment Errors {{{1
-if !exists("basic_no_comment_errors")
- syn match basicCommentError "\<REM\>.*"
-endif
-
-" Not Top Cluster {{{1
-syn cluster basicNotTop contains=@basicLineIdentifier,basicDataString,basicDataSeparator,basicTodo
-
-" Statements {{{1
-
-syn cluster basicStatements contains=basicStatement,basicDataStatement,basicMetaRemStatement,basicPutStatement,basicRemStatement
-
-let s:statements =<< trim EOL " {{{2
- beep
- bload
- bsave
- call
- calls
- case
- chain
- chdir
- circle
- clear
- close
- cls
- color
- com
- common
- const
- declare
- def
- def\s\+seg
- defdbl
- defint
- deflng
- defsng
- defstr
- dim
- do
- draw
- elseif
- end
- end\s\+\%(def\|function\|if\|select\|sub\|type\)
- environ
- erase
- error
- exit\s\+\%(def\|do\|for\|function\|sub\)
- field
- files
- for
- function
- get
- gosub
- goto
- if
- input
- ioctl
- key
- kill
- let
- line
- line\s\+input
- locate
- lock
- loop
- lprint
- lset
- mkdir
- name
- next
- on
- on\s\+error
- on\s\+uevent
- open
- open\s\+com
- option
- out
- paint
- palette
- palette\s\+using
- pcopy
- pen
- pmap
- poke
- preset
- print
- pset
- randomize
- read
- redim
- reset
- restore
- resume
- return
- rmdir
- rset
- run
- select\s\+case
- shared
- shell
- sleep
- sound
- static
- stop
- strig
- sub
- swap
- system
- troff
- tron
- type
- uevent
- unlock
- using
- view
- view\s\+print
- wait
- wend
- while
- width
- window
- write
-EOL
-" }}}
-
-for s in s:statements
- exe 'syn match basicStatement "\<' .. s .. '\>" contained'
-endfor
-
-syn match basicStatement "\<\%(then\|else\)\>" nextgroup=@basicStatements skipwhite
-
-" DATA Statement
-syn match basicDataSeparator "," contained
-syn region basicDataStatement matchgroup=basicStatement start="\<data\>" matchgroup=basicStatementSeparator end=":\|$" contained contains=basicDataSeparator,basicDataString,basicNumber,basicFloat,basicString
-
-if !exists("basic_no_data_fold")
- syn region basicMultilineData start="^\s*\<data\>.*\n\%(^\s*\<data\>\)\@=" end="^\s*\<data\>.*\n\%(^\s*\<data\>\)\@!" contains=basicDataStatement transparent fold keepend
-endif
-
-" PUT File I/O and Graphics statements - needs special handling for graphics
-" action verbs
-syn match basicPutAction "\<\%(pset\|preset\|and\|or\|xor\)\>" contained
-syn region basicPutStatement matchgroup=basicStatement start="\<put\>" matchgroup=basicStatementSeparator end=":\|$" contained contains=basicKeyword,basicPutAction,basicFilenumber
-
-" Keywords {{{1
-let s:keywords =<< trim EOL " {{{2
- absolute
- access
- alias
- append
- as
- base
- binary
- byval
- cdecl
- com
- def
- do
- for
- function
- gosub
- goto
- input
- int86old
- int86xold
- interrupt
- interruptx
- is
- key
- len
- list
- local
- lock
- lprint
- next
- off
- on
- output
- pen
- play
- random
- read
- resume
- screen
- seg
- shared
- signal
- static
- step
- stop
- strig
- sub
- timer
- to
- until
- using
- while
- write
-EOL
-" }}}
-
-for k in s:keywords
- exe 'syn match basicKeyword "\<' .. k .. '\>"'
-endfor
-
-" Functions {{{1
-syn keyword basicFunction abs asc atn cdbl chr$ cint clng command$ cos csng
-syn keyword basicFunction csrlin cvd cvdmbf cvi cvl cvs cvsmbf environ$ eof
-syn keyword basicFunction erdev erdev$ erl err exp fileattr fix fre freefile
-syn keyword basicFunction hex$ inkey$ inp input$ instr int ioctl$ left$ lbound
-syn keyword basicFunction lcase$ len loc lof log lpos ltrim$ mkd$ mkdmbf$ mki$
-syn keyword basicFunction mkl$ mks$ mksmbf$ oct$ peek pen point pos right$ rnd
-syn keyword basicFunction rtrim$ sadd setmem sgn sin space$ spc sqr stick str$
-syn keyword basicFunction strig string$ tab tan ubound ucase$ val valptr
-syn keyword basicFunction valseg varptr varptr$ varseg
-
-" Functions and statements (same name) {{{1
-syn match basicStatement "\<\%(date\$\|mid\$\|play\|screen\|seek\|time\$\|timer\)\>" contained
-syn match basicFunction "\<\%(date\$\|mid\$\|play\|screen\|seek\|time\$\|timer\)\>"
-
-" Types {{{1
-syn keyword basicType integer long single double string any
-
-" Strings {{{1
-
-" Unquoted DATA strings - anything except [:,] and leading or trailing whitespace
-" Needs lower priority than numbers
-syn match basicDataString "[^[:space:],:]\+\%(\s\+[^[:space:],:]\+\)*" contained
-
-syn region basicString start=+"+ end=+"+ oneline
-
-" Booleans {{{1
-if exists("basic_booleans")
- syn keyword basicBoolean true false
-endif
-
-" Numbers {{{1
-
-" Integers
-syn match basicNumber "-\=&o\=\o\+[%&]\=\>"
-syn match basicNumber "-\=&h\x\+[%&]\=\>"
-syn match basicNumber "-\=\<\d\+[%&]\=\>"
-
-" Floats
-syn match basicFloat "-\=\<\d\+\.\=\d*\%(\%([ed][+-]\=\d*\)\|[!#]\)\=\>"
-syn match basicFloat "-\=\<\.\d\+\%(\%([ed][+-]\=\d*\)\|[!#]\)\=\>"
-
-" Statement anchors {{{1
-syn match basicLineStart "^" nextgroup=@basicStatements,@basicLineIdentifier skipwhite
-syn match basicStatementSeparator ":" nextgroup=@basicStatements skipwhite
-
-" Line numbers and labels {{{1
-
-" QuickBASIC limits these to 65,529 and 40 chars respectively
-syn match basicLineNumber "\d\+" nextgroup=@basicStatements skipwhite contained
-syn match basicLineLabel "\a[[:alnum:]]*\ze\s*:" nextgroup=@basicStatements skipwhite contained
-
-syn cluster basicLineIdentifier contains=basicLineNumber,basicLineLabel
-
-" Line Continuation {{{1
-syn match basicLineContinuation "\s*\zs_\ze\s*$"
-
-" Type suffixes {{{1
-if exists("basic_type_suffixes")
- syn match basicTypeSuffix "\a[[:alnum:].]*\zs[$%&!#]"
-endif
-
-" File numbers {{{1
-syn match basicFilenumber "#\d\+"
-syn match basicFilenumber "#\a[[:alnum:].]*[%&!#]\="
-
-" Operators {{{1
-if exists("basic_operators")
- syn match basicArithmeticOperator "[-+*/\\^]"
- syn match basicRelationalOperator "<>\|<=\|>=\|[><=]"
-endif
-syn match basicLogicalOperator "\<\%(not\|and\|or\|xor\|eqv\|imp\)\>"
-syn match basicArithmeticOperator "\<mod\>"
-
-" Metacommands {{{1
-" Note: No trailing word boundaries. Text may be freely mixed however there
-" must be only leading whitespace prior to the first metacommand
-syn match basicMetacommand "$INCLUDE\s*:\s*'[^']\+'" contained containedin=@basicMetaComments
-syn match basicMetacommand "$\%(DYNAMIC\|STATIC\)" contained containedin=@basicMetaComments
-
-" Comments {{{1
-syn keyword basicTodo TODO FIXME XXX NOTE contained
-
-syn region basicRemStatement matchgroup=basicStatement start="REM\>" end="$" contains=basicTodo,@Spell contained
-syn region basicComment start="'" end="$" contains=basicTodo,@Spell
-
-if !exists("basic_no_comment_fold")
- syn region basicMultilineComment start="^\s*'.*\n\%(\s*'\)\@=" end="^\s*'.*\n\%(\s*'\)\@!" contains=@basicComments transparent fold keepend
-endif
-
-" Metacommands
-syn region basicMetaRemStatement matchgroup=basicStatement start="REM\>\s*\$\@=" end="$" contains=basicTodo contained
-syn region basicMetaComment start="'\s*\$\@=" end="$" contains=basicTodo
-
-syn cluster basicMetaComments contains=basicMetaComment,basicMetaRemStatement
-syn cluster basicComments contains=basicComment,basicMetaComment
-
-"syn sync ccomment basicComment
-
-" Default Highlighting {{{1
-hi def link basicArithmeticOperator basicOperator
-hi def link basicBoolean Boolean
-hi def link basicComment Comment
-hi def link basicCommentError Error
-hi def link basicDataString basicString
-hi def link basicFilenumber basicTypeSuffix " TODO: better group
-hi def link basicFloat Float
-hi def link basicFunction Function
-hi def link basicKeyword Keyword
-hi def link basicLineIdentifier LineNr
-hi def link basicLineContinuation Special
-hi def link basicLineLabel basicLineIdentifier
-hi def link basicLineNumber basicLineIdentifier
-hi def link basicLogicalOperator basicOperator
-hi def link basicMetacommand SpecialComment
-hi def link basicMetaComment Comment
-hi def link basicMetaRemStatement Comment
-hi def link basicNumber Number
-hi def link basicOperator Operator
-hi def link basicPutAction Keyword
-hi def link basicRelationalOperator basicOperator
-hi def link basicRemStatement Comment
-hi def link basicSpaceError Error
-hi def link basicStatementSeparator Special
-hi def link basicStatement Statement
-hi def link basicString String
-hi def link basicTodo Todo
-hi def link basicType Type
-hi def link basicTypeSuffix Special
-if exists("basic_legacy_syntax_groups")
- hi def link basicTypeSpecifier Type
- hi def link basicTypeSuffix basicTypeSpecifier
-endif
-
-" Postscript {{{1
-let b:current_syntax = "basic"
-
-let &cpo = s:cpo_save
-unlet s:cpo_save
-
-" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker: