" Copyright 2015 The Chromium Authors. All rights reserved. " Use of this source code is governed by a BSD-style license that can be " found in the LICENSE file. " Vim syntax file " Language: Mojom " To get syntax highlighting for .mojom files, add the following to your .vimrc " file: " set runtimepath+=/path/to/src/tools/vim/mojom if exists("b:current_syntax") finish endif syn case match syntax region mojomFold start="{" end="}" transparent fold " Keywords syntax keyword mojomType bool string int8 int16 int32 int64 uint8 uint16 syntax keyword mojomType uint32 uint64 float double array syntax match mojomImport "^\(import\)\s" syntax keyword mojomKeyword const module interface enum struct union associated syntax match mojomOperator /=>/ syntax match mojomOperator /?/ " Comments syntax keyword mojomTodo contained TODO FIXME XXX syntax region mojomDocLink contained start="\[" end="\]" syntax region mojomComment start="/\*" end="\*/" contains=mojomTodo,mojomDocLink,@Spell syntax match mojomLineComment "//.*" contains=mojomTodo,mojomDocLink,@Spell " Literals syntax match mojomBoolean /true\|false/ " Negative lookahead for "." so floats are not partly highlighted as integers. syntax match mojomInteger /-\=[0-9]\(\.\)\@!/ syntax match mojomFloat /[0-9]\+\.[0-9]*\|[0-9]*\.[0-9]\+/ syntax region mojomString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell " Attributes syntax match mojomAttribute /\[[^\]]*\]/ " The default highlighting. highlight default link mojomTodo Todo highlight default link mojomComment Comment highlight default link mojomLineComment Comment highlight default link mojomDocLink SpecialComment highlight default link mojomType Type highlight default link mojomImport Include highlight default link mojomKeyword Keyword highlight default link mojomOperator Operator highlight default link mojomString String highlight default link mojomInteger Number highlight default link mojomBoolean Boolean highlight default link mojomFloat Float highlight default link mojomAttribute Label let b:current_syntax = "mojom" let b:spell_options = "contained" syn sync minlines=500