mirror of
https://github.com/neovim/neovim.git
synced 2026-01-02 17:36:56 +10:00
This reverts commits:
- 6b652a785033fd4164e049492a7327c1ed7c3e5f
- 2f689d5abde0ccddca9e20d8c93a0299bd054e32
- a025a46d4169587145fb54f04af349cd05cb6122
Several email addresses that are known to be valid caused bounces
due to an issue with my email setup. The previous commits incorrectly
marked these addresses as invalid. So revert the whole thing again.
62d8f3dab5
N/A patch:
vim-patch:2f689d5: runtime: mark more invalid email addresses
Co-authored-by: Christian Brabandt <cb@256bit.org>
200 lines
7.0 KiB
VimL
200 lines
7.0 KiB
VimL
" Vim syntax file
|
|
" Language: Rebol
|
|
" Maintainer: Mike Williams <mrw@eandem.co.uk>
|
|
" Filenames: *.r
|
|
" Last Change: 27th June 2002
|
|
" URL: http://www.eandem.co.uk/mrw/vim
|
|
"
|
|
|
|
" quit when a syntax file was already loaded
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
" Rebol is case insensitive
|
|
syn case ignore
|
|
|
|
" As per current users documentation
|
|
setlocal isk=@,48-57,?,!,.,',+,-,*,&,\|,=,_,~
|
|
|
|
" Yer TODO highlighter
|
|
syn keyword rebolTodo contained TODO
|
|
|
|
" Comments
|
|
syn match rebolComment ";.*$" contains=rebolTodo
|
|
|
|
" Words
|
|
syn match rebolWord "\a\k*"
|
|
syn match rebolWordPath "[^[:space:]]/[^[:space]]"ms=s+1,me=e-1
|
|
|
|
" Booleans
|
|
syn keyword rebolBoolean true false on off yes no
|
|
|
|
" Values
|
|
" Integers
|
|
syn match rebolInteger "\<[+-]\=\d\+\('\d*\)*\>"
|
|
" Decimals
|
|
syn match rebolDecimal "[+-]\=\(\d\+\('\d*\)*\)\=[,.]\d*\(e[+-]\=\d\+\)\="
|
|
syn match rebolDecimal "[+-]\=\d\+\('\d*\)*\(e[+-]\=\d\+\)\="
|
|
" Time
|
|
syn match rebolTime "[+-]\=\(\d\+\('\d*\)*\:\)\{1,2}\d\+\('\d*\)*\([.,]\d\+\)\=\([AP]M\)\=\>"
|
|
syn match rebolTime "[+-]\=:\d\+\([.,]\d*\)\=\([AP]M\)\=\>"
|
|
" Dates
|
|
" DD-MMM-YY & YYYY format
|
|
syn match rebolDate "\d\{1,2}\([/-]\)\(Jan\|Feb\|Mar\|Apr\|May\|Jun\|Jul\|Aug\|Sep\|Oct\|Nov\|Dec\)\1\(\d\{2}\)\{1,2}\>"
|
|
" DD-month-YY & YYYY format
|
|
syn match rebolDate "\d\{1,2}\([/-]\)\(January\|February\|March\|April\|May\|June\|July\|August\|September\|October\|November\|December\)\1\(\d\{2}\)\{1,2}\>"
|
|
" DD-MM-YY & YY format
|
|
syn match rebolDate "\d\{1,2}\([/-]\)\d\{1,2}\1\(\d\{2}\)\{1,2}\>"
|
|
" YYYY-MM-YY format
|
|
syn match rebolDate "\d\{4}-\d\{1,2}-\d\{1,2}\>"
|
|
" DD.MM.YYYY format
|
|
syn match rebolDate "\d\{1,2}\.\d\{1,2}\.\d\{4}\>"
|
|
" Money
|
|
syn match rebolMoney "\a*\$\d\+\('\d*\)*\([,.]\d\+\)\="
|
|
" Strings
|
|
syn region rebolString oneline start=+"+ skip=+^"+ end=+"+ contains=rebolSpecialCharacter
|
|
syn region rebolString start=+[^#]{+ end=+}+ skip=+{[^}]*}+ contains=rebolSpecialCharacter
|
|
" Binary
|
|
syn region rebolBinary start=+\d*#{+ end=+}+ contains=rebolComment
|
|
" Email
|
|
syn match rebolEmail "\<\k\+@\(\k\+\.\)*\k\+\>"
|
|
" File
|
|
syn match rebolFile "%\(\k\+/\)*\k\+[/]\=" contains=rebolSpecialCharacter
|
|
syn region rebolFile oneline start=+%"+ end=+"+ contains=rebolSpecialCharacter
|
|
" URLs
|
|
syn match rebolURL "http://\k\+\(\.\k\+\)*\(:\d\+\)\=\(/\(\k\+/\)*\(\k\+\)\=\)*"
|
|
syn match rebolURL "file://\k\+\(\.\k\+\)*/\(\k\+/\)*\k\+"
|
|
syn match rebolURL "ftp://\(\k\+:\k\+@\)\=\k\+\(\.\k\+\)*\(:\d\+\)\=/\(\k\+/\)*\k\+"
|
|
syn match rebolURL "mailto:\k\+\(\.\k\+\)*@\k\+\(\.\k\+\)*"
|
|
" Issues
|
|
syn match rebolIssue "#\(\d\+-\)*\d\+"
|
|
" Tuples
|
|
syn match rebolTuple "\(\d\+\.\)\{2,}"
|
|
|
|
" Characters
|
|
syn match rebolSpecialCharacter contained "\^[^[:space:][]"
|
|
syn match rebolSpecialCharacter contained "%\d\+"
|
|
|
|
|
|
" Operators
|
|
" Math operators
|
|
syn match rebolMathOperator "\(\*\{1,2}\|+\|-\|/\{1,2}\)"
|
|
syn keyword rebolMathFunction abs absolute add arccosine arcsine arctangent cosine
|
|
syn keyword rebolMathFunction divide exp log-10 log-2 log-e max maximum min
|
|
syn keyword rebolMathFunction minimum multiply negate power random remainder sine
|
|
syn keyword rebolMathFunction square-root subtract tangent
|
|
" Binary operators
|
|
syn keyword rebolBinaryOperator complement and or xor ~
|
|
" Logic operators
|
|
syn match rebolLogicOperator "[<>=]=\="
|
|
syn match rebolLogicOperator "<>"
|
|
syn keyword rebolLogicOperator not
|
|
syn keyword rebolLogicFunction all any
|
|
syn keyword rebolLogicFunction head? tail?
|
|
syn keyword rebolLogicFunction negative? positive? zero? even? odd?
|
|
syn keyword rebolLogicFunction binary? block? char? date? decimal? email? empty?
|
|
syn keyword rebolLogicFunction file? found? function? integer? issue? logic? money?
|
|
syn keyword rebolLogicFunction native? none? object? paren? path? port? series?
|
|
syn keyword rebolLogicFunction string? time? tuple? url? word?
|
|
syn keyword rebolLogicFunction exists? input? same? value?
|
|
|
|
" Datatypes
|
|
syn keyword rebolType binary! block! char! date! decimal! email! file!
|
|
syn keyword rebolType function! integer! issue! logic! money! native!
|
|
syn keyword rebolType none! object! paren! path! port! string! time!
|
|
syn keyword rebolType tuple! url! word!
|
|
syn keyword rebolTypeFunction type?
|
|
|
|
" Control statements
|
|
syn keyword rebolStatement break catch exit halt reduce return shield
|
|
syn keyword rebolConditional if else
|
|
syn keyword rebolRepeat for forall foreach forskip loop repeat while until do
|
|
|
|
" Series statements
|
|
syn keyword rebolStatement change clear copy fifth find first format fourth free
|
|
syn keyword rebolStatement func function head insert last match next parse past
|
|
syn keyword rebolStatement pick remove second select skip sort tail third trim length?
|
|
|
|
" Context
|
|
syn keyword rebolStatement alias bind use
|
|
|
|
" Object
|
|
syn keyword rebolStatement import make make-object rebol info?
|
|
|
|
" I/O statements
|
|
syn keyword rebolStatement delete echo form format import input load mold prin
|
|
syn keyword rebolStatement print probe read save secure send write
|
|
syn keyword rebolOperator size? modified?
|
|
|
|
" Debug statement
|
|
syn keyword rebolStatement help probe trace
|
|
|
|
" Misc statements
|
|
syn keyword rebolStatement func function free
|
|
|
|
" Constants
|
|
syn keyword rebolConstant none
|
|
|
|
|
|
" Define the default highlighting.
|
|
" Only when an item doesn't have highlighting yet
|
|
|
|
hi def link rebolTodo Todo
|
|
|
|
hi def link rebolStatement Statement
|
|
hi def link rebolLabel Label
|
|
hi def link rebolConditional Conditional
|
|
hi def link rebolRepeat Repeat
|
|
|
|
hi def link rebolOperator Operator
|
|
hi def link rebolLogicOperator rebolOperator
|
|
hi def link rebolLogicFunction rebolLogicOperator
|
|
hi def link rebolMathOperator rebolOperator
|
|
hi def link rebolMathFunction rebolMathOperator
|
|
hi def link rebolBinaryOperator rebolOperator
|
|
hi def link rebolBinaryFunction rebolBinaryOperator
|
|
|
|
hi def link rebolType Type
|
|
hi def link rebolTypeFunction rebolOperator
|
|
|
|
hi def link rebolWord Identifier
|
|
hi def link rebolWordPath rebolWord
|
|
hi def link rebolFunction Function
|
|
|
|
hi def link rebolCharacter Character
|
|
hi def link rebolSpecialCharacter SpecialChar
|
|
hi def link rebolString String
|
|
|
|
hi def link rebolNumber Number
|
|
hi def link rebolInteger rebolNumber
|
|
hi def link rebolDecimal rebolNumber
|
|
hi def link rebolTime rebolNumber
|
|
hi def link rebolDate rebolNumber
|
|
hi def link rebolMoney rebolNumber
|
|
hi def link rebolBinary rebolNumber
|
|
hi def link rebolEmail rebolString
|
|
hi def link rebolFile rebolString
|
|
hi def link rebolURL rebolString
|
|
hi def link rebolIssue rebolNumber
|
|
hi def link rebolTuple rebolNumber
|
|
hi def link rebolFloat Float
|
|
hi def link rebolBoolean Boolean
|
|
|
|
hi def link rebolConstant Constant
|
|
|
|
hi def link rebolComment Comment
|
|
|
|
hi def link rebolError Error
|
|
|
|
|
|
if exists("my_rebol_file")
|
|
if file_readable(expand(my_rebol_file))
|
|
execute "source " . my_rebol_file
|
|
endif
|
|
endif
|
|
|
|
let b:current_syntax = "rebol"
|
|
|
|
" vim: ts=8
|