0f15ed05b9
In addition (and in combination), try statements now support "catch" clauses at the end that catch JavaScript exceptions throw by any builtin or runtime function contained in the try block: try { ThrowTypeError(context, ...); } catch (e) { // e has type Object } Bug: v8:7793 Change-Id: Ie285ff888c49c112276240f7360f70c8b540ed19 Reviewed-on: https://chromium-review.googlesource.com/c/1302055 Commit-Queue: Daniel Clifford <danno@chromium.org> Reviewed-by: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57169}
85 lines
3.1 KiB
VimL
85 lines
3.1 KiB
VimL
" 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 Hole 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
|
|
syn keyword torqueKeyword cast convert from_constexpr min max unsafe_cast
|
|
syn keyword torqueLabel case
|
|
syn keyword torqueMatching try label catch
|
|
syn keyword torqueModifier extern javascript constexpr transitioning transient
|
|
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
|
|
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:
|