| " Copyright 2018 the V8 project authors. All rights reserved. |
| " Use of this source code is governed by a BSD-style license that can be |
| " found in the LICENSE file. |
| |
| if !exists("main_syntax") |
| " quit when a syntax file was already loaded |
| if exists("b:current_syntax") |
| finish |
| endif |
| let main_syntax = 'torque' |
| elseif exists("b:current_syntax") && b:current_syntax == "torque" |
| finish |
| endif |
| |
| let s:cpo_save = &cpo |
| set cpo&vim |
| |
| syn match torqueLineComment "\/\/.*" contains=@Spell |
| syn region torqueComment start="/\*" end="\*/" contains=@Spell |
| syn region torqueStringS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ |
| |
| syn keyword torqueAssert assert check debug unreachable |
| syn keyword torqueAtom True False Undefined TheHole Null |
| syn keyword torqueBoolean true false |
| syn keyword torqueBranch break continue goto |
| syn keyword torqueConditional if else typeswitch otherwise |
| syn match torqueConstant /\v<[A-Z][A-Z0-9_]+>/ |
| syn match torqueConstant /\v<k[A-Z][A-Za-z0-9]*>/ |
| syn keyword torqueFunction macro builtin runtime intrinsic |
| syn keyword torqueKeyword cast convert from_constexpr min max unsafe_cast js-implicit implicit |
| syn keyword torqueLabel case |
| syn keyword torqueMatching try label catch |
| syn keyword torqueModifier extern javascript constexpr transitioning transient weak export |
| syn match torqueNumber /\v<[0-9]+(\.[0-9]*)?>/ |
| syn match torqueNumber /\v<0x[0-9a-fA-F]+>/ |
| syn keyword torqueOperator operator |
| syn keyword torqueRel extends generates labels |
| syn keyword torqueRepeat while for of |
| syn keyword torqueStatement return tail |
| syn keyword torqueStructure module struct type class |
| syn keyword torqueVariable const let |
| |
| syn match torqueType /\v(\<)@<=([A-Za-z][0-9A-Za-z_]*)(>)@=/ |
| syn match torqueType /\v(:\s*(constexpr\s*)?)@<=([A-Za-z][0-9A-Za-z_]*)/ |
| " Include some common types also |
| syn keyword torqueType Arguments void never |
| syn keyword torqueType Tagged Smi HeapObject Object |
| syn keyword torqueType int32 uint32 int64 intptr uintptr float32 float64 |
| syn keyword torqueType bool string |
| syn keyword torqueType int31 RawPtr AbstractCode Code JSReceiver Context String |
| syn keyword torqueType Oddball HeapNumber Number BigInt Numeric Boolean JSProxy |
| syn keyword torqueType JSObject JSArray JSFunction JSBoundFunction Callable Map |
| |
| hi def link torqueAssert Statement |
| hi def link torqueAtom Constant |
| hi def link torqueBoolean Boolean |
| hi def link torqueBranch Conditional |
| hi def link torqueComment Comment |
| hi def link torqueConditional Conditional |
| hi def link torqueConstant Constant |
| hi def link torqueFunction Function |
| hi def link torqueKeyword Keyword |
| hi def link torqueLabel Label |
| hi def link torqueLineComment Comment |
| hi def link torqueMatching Exception |
| hi def link torqueModifier StorageClass |
| hi def link torqueNumber Number |
| hi def link torqueOperator Operator |
| hi def link torqueRel StorageClass |
| hi def link torqueRepeat Repeat |
| hi def link torqueStatement Statement |
| hi def link torqueStringS String |
| hi def link torqueStructure Structure |
| hi def link torqueType Type |
| hi def link torqueVariable Identifier |
| |
| let b:current_syntax = "torque" |
| if main_syntax == 'torque' |
| unlet main_syntax |
| endif |
| let &cpo = s:cpo_save |
| unlet s:cpo_save |
| |
| " vim: set ts=8: |