mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-05 03:36:08 +03:00
85 lines
3.2 KiB
VimL
85 lines
3.2 KiB
VimL
" Copyright 2014 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.
|
|
"
|
|
" gn.vim: Vim syntax file for GN.
|
|
"
|
|
" Quit when a (custom) syntax file was already loaded
|
|
"if exists("b:current_syntax")
|
|
"finish
|
|
"endif
|
|
|
|
syn case match
|
|
|
|
" Keywords within functions
|
|
syn keyword gnConditional if else
|
|
hi def link gnConditional Conditional
|
|
|
|
" Predefined variables
|
|
syn keyword gnPredefVar current_cpu current_os current_toolchain
|
|
syn keyword gnPredefVar default_toolchain host_cpu host_os
|
|
syn keyword gnPredefVar root_build_dir root_gen_dir root_out_dir
|
|
syn keyword gnPredefVar target_cpu target_gen_dir target_out_dir
|
|
syn keyword gnPredefVar target_os
|
|
syn keyword gnPredefVar true false
|
|
hi def link gnPredefVar Constant
|
|
|
|
" Target declarations
|
|
syn keyword gnTarget action action_foreach copy executable group
|
|
syn keyword gnTarget shared_library source_set static_library
|
|
syn keyword gnTarget loadable_module
|
|
hi def link gnTarget Type
|
|
|
|
" Buildfile functions
|
|
syn keyword gnFunctions assert config declare_args defined exec_script
|
|
syn keyword gnFunctions foreach get_label_info get_path_info
|
|
syn keyword gnFunctions get_target_outputs getenv import print
|
|
syn keyword gnFunctions process_file_template read_file rebase_path
|
|
syn keyword gnFunctions set_default_toolchain set_defaults
|
|
syn keyword gnFunctions set_sources_assignment_filter template tool
|
|
syn keyword gnFunctions toolchain toolchain_args write_file
|
|
hi def link gnFunctions Macro
|
|
|
|
" Variables
|
|
syn keyword gnVariable all_dependent_configs allow_circular_includes_from
|
|
syn keyword gnVariable args asmflags cflags cflags_c cflags_cc cflags_objc
|
|
syn keyword gnVariable cflags_objcc check_includes complete_static_lib
|
|
syn keyword gnVariable configs data data_deps defines depfile deps
|
|
syn keyword gnVariable include_dirs inputs ldflags lib_dirs libs
|
|
syn keyword gnVariable output_extension output_name outputs public
|
|
syn keyword gnVariable public_configs public_deps scripte sources testonly
|
|
syn keyword gnVariable visibility
|
|
hi def link gnVariable Keyword
|
|
|
|
" Strings
|
|
syn region gnString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,gnTargetName
|
|
syn match gnTargetName '\v:[^"]+' contained
|
|
hi def link gnString String
|
|
hi def link gnTargetName Special
|
|
|
|
" Comments
|
|
syn keyword gnTodo contained TODO FIXME XXX BUG NOTE
|
|
syn cluster gnCommentGroup contains=gnTodo
|
|
syn region gnComment start="#" end="$" contains=@gnCommentGroup,@Spell
|
|
|
|
hi def link gnComment Comment
|
|
hi def link gnTodo Todo
|
|
|
|
" Operators; I think this is a bit too colourful.
|
|
"syn match gnOperator /=/
|
|
"syn match gnOperator /!=/
|
|
"syn match gnOperator />=/
|
|
"syn match gnOperator /<=/
|
|
"syn match gnOperator /==/
|
|
"syn match gnOperator /+=/
|
|
"syn match gnOperator /-=/
|
|
"syn match gnOperator /\s>\s/
|
|
"syn match gnOperator /\s<\s/
|
|
"syn match gnOperator /\s+\s/
|
|
"syn match gnOperator /\s-\s/
|
|
"hi def link gnOperator Operator
|
|
|
|
syn sync minlines=500
|
|
|
|
let b:current_syntax = "gn"
|