| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- " Vim syntax file
- " Program: CMake - Cross-Platform Makefile Generator
- " Version: @VERSION@
- " Language: CMake
- " Author: Andy Cedilnik <[email protected]>,
- " Nicholas Hutchinson <[email protected]>,
- " Patrick Boettcher <[email protected]>
- " Maintainer: Dimitri Merejkowsky <[email protected]>
- " Former Maintainer: Karthik Krishnan <[email protected]>
- " Last Change: @DATE@
- "
- " License: The CMake license applies to this file. See
- " https://cmake.org/licensing
- " This implies that distribution with Vim is allowed
- if exists('b:current_syntax')
- finish
- endif
- let s:keepcpo= &cpoptions
- set cpoptions&vim
- syn cluster cmakeControl contains=
- \ cmakeIf,
- \ cmakeElse,
- \ cmakeForeach,
- \ cmakeWhile,
- \ cmakeBlock,
- \ cmakeFunction,
- \ cmakeMacro
- syn region cmakeBracketArgument start="\[\z(=*\)\[" end="\]\z1\]" fold contains=cmakeTodo,@Spell
- syn region cmakeComment start="#\(\[=*\[\)\@!" end="$" contains=cmakeTodo,@Spell
- syn region cmakeBracketComment start="#\[\z(=*\)\[" end="\]\z1\]" fold contains=cmakeTodo,@Spell
- syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained
- syn region cmakeRegistry start="\[" end="]" contained oneline contains=cmakeTodo,cmakeEscaped
- syn region cmakeGeneratorExpression start="$<" end=">" contained oneline contains=cmakeVariableValue,cmakeProperty,cmakeGeneratorExpressions,cmakeTodo
- syn region cmakeString start='"' end='"' contained contains=cmakeTodo,cmakeVariableValue,cmakeEscaped,@Spell
- syn region cmakeVariableValue start="${" end="}" contained oneline contains=cmakeVariable,cmakeTodo,cmakeVariableValue
- syn region cmakeEnvironment start="$ENV{" end="}" contained oneline contains=cmakeTodo
- syn region cmakeArguments start="(" end=")" contains=ALLBUT,@cmakeControl,cmakeGeneratorExpressions,cmakeCommand,cmakeCommandDeprecated,cmakeCommandManuallyAdded,cmakeArguments,cmakeTodo,@Spell fold
- syn region cmakeIf matchgroup=cmakeKeyword start=/^\s*\<if\>/ end=/^\s*\<endif\>/ transparent fold contains=@cmakeControl,cmakeArguments
- syn match cmakeElse /^\s*\<else\(if\)\?\>/ contained contains=NONE
- syn region cmakeForeach matchgroup=cmakeKeyword start=/^\s*\<foreach\>/ end=/^\s*\<endforeach\>/ transparent fold contains=@cmakeControl,cmakeArguments
- syn region cmakeWhile matchgroup=cmakeKeyword start=/^\s*\<while\>/ end=/^\s*\<endwhile\>/ transparent fold contains=@cmakeControl,cmakeArguments
- syn region cmakeFunction matchgroup=cmakeKeyword start=/^\s*\<function\>/ end=/^\s*\<endfunction\>/ transparent fold contains=@cmakeControl,cmakeArguments
- syn region cmakeBlock matchgroup=cmakeKeyword start=/^\s*\<block\>/ end=/^\s*\<endblock\>/ transparent fold contains=@cmakeControl,cmakeArguments
- syn region cmakeMacro matchgroup=cmakeKeyword start=/^\s*\<macro\>/ end=/^\s*\<endmacro\>/ transparent fold contains=@cmakeControl,cmakeArguments
- syn case match
- syn keyword cmakeProperty contained
- @PROPERTIES@
- syn keyword cmakeVariable contained
- @VARIABLE_LIST@
- syn keyword cmakeModule contained
- @MODULES@
- @KEYWORDS@
- syn keyword cmakeGeneratorExpressions contained
- @GENERATOR_EXPRESSIONS@
- syn case ignore
- syn keyword cmakeCommand
- @COMMAND_LIST@
- \ nextgroup=cmakeArguments
- syn keyword cmakeCommandDeprecated
- @DEPRECATED@
- \ nextgroup=cmakeArguments
- syn case match
- syn keyword cmakeTodo
- \ TODO FIXME XXX
- \ contained
- hi def link cmakeBracketArgument String
- hi def link cmakeBracketComment Comment
- hi def link cmakeCommand Function
- hi def link cmakeCommandDeprecated WarningMsg
- hi def link cmakeComment Comment
- hi def link cmakeElse Conditional
- hi def link cmakeEnvironment Special
- hi def link cmakeEscaped Special
- hi def link cmakeGeneratorExpression WarningMsg
- hi def link cmakeGeneratorExpressions Constant
- hi def link cmakeKeyword Conditional
- hi def link cmakeModule Include
- hi def link cmakeProperty Constant
- hi def link cmakeRegistry Underlined
- hi def link cmakeString String
- hi def link cmakeTodo TODO
- hi def link cmakeVariableValue Type
- hi def link cmakeVariable Identifier
- @KEYWORDS_HIGHLIGHT@
- " Manually added - difficult to parse out of documentation
- syn case ignore
- syn keyword cmakeCommandManuallyAdded
- \ configure_package_config_file write_basic_package_version_file
- \ nextgroup=cmakeArguments
- syn case match
- syn keyword cmakeKWconfigure_package_config_file contained
- \ INSTALL_DESTINATION PATH_VARS NO_SET_AND_CHECK_MACRO NO_CHECK_REQUIRED_COMPONENTS_MACRO INSTALL_PREFIX
- syn keyword cmakeKWconfigure_package_config_file_constants contained
- \ AnyNewerVersion SameMajorVersion SameMinorVersion ExactVersion
- syn keyword cmakeKWwrite_basic_package_version_file contained
- \ VERSION COMPATIBILITY
- hi def link cmakeCommandManuallyAdded Function
- hi def link cmakeKWconfigure_package_config_file ModeMsg
- hi def link cmakeKWwrite_basic_package_version_file ModeMsg
- hi def link cmakeKWconfigure_package_config_file_constants Constant
- let b:current_syntax = 'cmake'
- let &cpoptions = s:keepcpo
- unlet s:keepcpo
- " vim: set nowrap:
|