v8/tools/torque/vim-torque/syntax/torque.vim
Tobias Tebbi 0dc9b63ed3 [torque] explicit exports of macros to CSA
Macros are now inaccessible from CSA except if their declaration is
marked with the "export" keyword. The implicit field accessors for class
fields are always exported.

In this CL, unwarranted access from CSA is prevented by appending a
pseudo-random suffix to non-exported names. This is to be replaced by
something more principled, namely by not including these macros at all in
the headers included from CSA.

Bug: v8:7793
Change-Id: I3ffb2e91a616623f81b4b4508e001ad0cf65d2c2
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1615258
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Simon Zünd <szuend@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61672}
2019-05-20 22:53:35 +00:00

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 intrinsic
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 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: