92 lines
8.9 KiB
VimL
92 lines
8.9 KiB
VimL
|
" vim: set nowrap:
|
||
|
" Vim syntax file
|
||
|
" Language: CMake
|
||
|
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>, Nicholas Hutchinson <nshutchinson@gmail.com>, Patrick Boettcher <patrick.boettcher@posteo.de>
|
||
|
" Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
||
|
" Last Change: $Date$
|
||
|
" Version: $Revision$
|
||
|
"
|
||
|
" Licence: 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
|
||
|
|
||
|
syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained
|
||
|
syn region cmakeComment start="#" end="$" contains=cmakeTodo,@Spell
|
||
|
syn region cmakeLuaComment start="\[\z(=*\)\[" end="\]\z1\]" contains=cmakeTodo,@Spell
|
||
|
syn region cmakeGeneratorExpression start=/$</ end=/>/
|
||
|
\ contained oneline contains=CONTAINED,cmakeTodo,cmakeVariable,cmakeProperty,cmakeGeneratorExpressions
|
||
|
syn region cmakeRegistry start=/\[/ end=/]/
|
||
|
\ contained oneline contains=CONTAINED,cmakeTodo,cmakeEscaped
|
||
|
syn region cmakeVariableValue start=/\${/ end=/}/
|
||
|
\ contained oneline contains=CONTAINED,cmakeTodo,cmakeVariable
|
||
|
syn region cmakeEnvironment start=/\$ENV{/ end=/}/
|
||
|
\ contained oneline contains=CONTAINED,cmakeTodo
|
||
|
syn region cmakeString start=/"/ end=/"/
|
||
|
\ contains=CONTAINED,cmakeTodo
|
||
|
syn region cmakeArguments start=/(/ end=/)/
|
||
|
\ contains=ALLBUT,cmakeArguments,cmakeTodo
|
||
|
|
||
|
syn case match
|
||
|
syn keyword cmakeProperty
|
||
|
\ ABSTRACT ADDITIONAL_MAKE_CLEAN_FILES ADVANCED ALIASED_TARGET ALLOW_DUPLICATE_CUSTOM_TARGETS ANDROID_ANT_ADDITIONAL_OPTIONS ANDROID_API ANDROID_API_MIN ANDROID_ARCH ANDROID_ASSETS_DIRECTORIES ANDROID_GUI ANDROID_JAR_DEPENDENCIES ANDROID_JAR_DIRECTORIES ANDROID_JAVA_SOURCE_DIR ANDROID_NATIVE_LIB_DEPENDENCIES ANDROID_NATIVE_LIB_DIRECTORIES ANDROID_PROCESS_MAX ANDROID_PROGUARD ANDROID_PROGUARD_CONFIG_PATH ANDROID_SECURE_PROPS_PATH ANDROID_SKIP_ANT_STEP ANDROID_STL_TYPE ARCHIVE_OUTPUT_DIRECTORY ARCHIVE_OUTPUT_DIRECTORY_DEBUG ARCHIVE_OUTPUT_DIRECTORY_RELEASE ARCHIVE_OUTPUT_NAME ARCHIVE_OUTPUT_NAME_DEBUG ARCHIVE_OUTPUT_NAME_RELEASE ATTACHED_FILES ATTACHED_FILES_ON_FAIL AUTOGEN_TARGETS_FOLDER AUTOGEN_TARGET_DEPENDS AUTOMOC AUTOMOC_MOC_OPTIONS AUTOMOC_TARGETS_FOLDER AUTORCC AUTORCC_OPTIONS AUTOUIC AUTOUIC_OPTIONS BINARY_DIR BUILD_WITH_INSTALL_RPATH BUNDLE BUNDLE_EXTENSION CACHE_VARIABLES CLEAN_NO_CUSTOM CMAKE_CONFIGURE_DEPENDS CMAKE_CXX_KNOWN_FEATURES CMAKE_C_KNOWN_FEATURES COMPATIBLE_INTERFACE_BOOL COMPATIBLE_INTERFACE_NUMBER_MAX COMPATIBLE_INTERFACE_NUMBER_MIN COMPATIBLE_INTERFACE_STRING COMPILE_DEFINITIONS COMPILE_DEFINITIONS_DEBUG COMPILE_DEFINITIONS_RELEASE COMPILE_FEATURES COMPILE_FLAGS COMPILE_OPTIONS COMPILE_PDB_NAME COMPILE_PDB_NAME_DEBUG COMPILE_PDB_NAME_RELEASE COMPILE_PDB_OUTPUT_DIRECTORY COMPILE_PDB_OUTPUT_DIRECTORY_DEBUG COMPILE_PDB_OUTPUT_DIRECTORY_RELEASE COST CPACK_DESKTOP_SHORTCUTS CPACK_NEVER_OVERWRITE CPACK_PERMANENT CPACK_STARTUP_SHORTCUTS CPACK_START_MENU_SHORTCUTS CPACK_WIX_ACL CROSSCOMPILING_EMULATOR CXX_EXTENSIONS CXX_STANDARD CXX_STANDARD_REQUIRED C_EXTENSIONS C_STANDARD C_STANDARD_REQUIRED DEBUG_CONFIGURATIONS DEBUG_POSTFIX DEFINE_SYMBOL DEFINITIONS DEPENDS DISABLED_FEATURES ECLIPSE_EXTRA_NATURES ENABLED_FEATURES ENABLED_LANGUAGES ENABLE_EXPORTS ENVIRONMENT EXCLUDE_FROM_ALL EXCLUDE_FROM_DEFAULT_BUILD EXCLUDE_FROM_DEFAULT_BUILD_DEBUG EXCLUDE_FROM_DEFAULT_BUILD_RELEASE EXPORT_NAME EXTERNAL_OBJECT EchoString FAIL_REGULAR_EXPRESSION FIND_LIBRARY_USE_LIB64_PATHS FIND_LIBRARY_USE_OPENBSD_VERSIONING FOLDER FRAMEWORK FRAMEWORK_VERSION Fortran_FORMAT Fortran_MODULE_DIRECTORY GENERATED GENERATOR_FILE_NAME GLOBAL_DEPENDS_DEBUG_MODE GLOBAL_DEPENDS_NO_CYCLES GNUtoMS HAS_CXX HEADER_FILE_ONLY HELPSTRING IMPLICIT_DEPENDS_INCLUDE_TRANSFORM IMPORTED IMPORTED_CONFIGURATIONS IMPORTED_IMPLIB IMPORTED_IMPLIB_DEBUG IMPORTED_IMPLIB_RELEASE IMPORTED_LINK_DEPENDENT_LIBRARIES IMPORTED_LINK_DEPENDENT_LIBRARIES_DEBUG IMPORTED_LINK_DEPENDENT_LIBRARIES_RELEASE IMPORTED_LINK_INTERFACE_LANGUAGES IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE IMPORTED_LINK_INTERFACE_LIBRARIES IMPORTED_LINK_INTERFACE_LIBRARIES_DEBUG IMPORTED_LINK_INTERFACE_LIBRARIES_RELEASE IMPORTED_LINK_INTERFACE_MULTIPLICITY IMPORTED_LINK_INTERFACE_MULTIPLICITY_DEBUG IMPORTED_LINK_INTERFACE_MULTIPLICITY_RELEASE IMPORTED_LOCATION IMPORTED_LOCATION_DEBUG IMPORTED_LOCATION_RELEASE IMPORTED_NO_SONAME IMPORTED_NO_SONAME_DEBUG IMPORTED_NO_SONAME_RELEASE IMPORTED_SONAME IMPORTED_SONAME_DEBUG IMPORTED_SONAME_RELEASE IMPORT_PREFIX IMPORT_SUFFIX INCLUDE_DIRECTORIES INCLUDE_REGULAR_EXPRESSION INSTALL_NAME_DIR INSTALL_RPATH INSTALL_RPATH_USE_LINK_PATH INTERFACE_AUTOUIC_OPTIONS INTERFACE_COMPILE_DEFINITIONS INTERFACE_COMPILE_FEATURES INTERFACE_COMPILE_OPTIONS INTERFACE_INCLUDE_DIRECTORIES INTERFACE_LINK_LIBRARIES INTERFACE_POSITION_INDEPENDENT_CODE INTERFACE_SOURCES INTERFACE_SYSTEM_INCLUDE_DIRECTORIES INTERPROCEDURAL_OPTIMIZATION INTERPROCEDURAL_OPTIMIZATION_DEBUG INTERPROCEDURAL_OPTIMIZATION_RELEASE IN_TRY_COMPILE JOB_POOLS JOB_POOL_COMPILE JOB_POOL_LINK KEEP_EXTENSION LABELS LANGUAGE LIBRARY_OUTPUT_DIRECTORY LIBRARY_OUTPUT_DIRECTORY_DEBUG LIBRARY_OUTPUT_DIRECTORY_RELEASE LIBRARY_OUTPUT_NAME LIBRARY_OUTPUT_NAME_DEBUG LIBRARY_OUTPUT_NAME_RELEASE LINKER_LANGUAGE LINK_DEPENDS LINK_DEPENDS_NO_SHARED LINK_DIRECTORIES LINK_FLAGS LINK_FLAGS_DEBUG LINK_FLAGS_RELEASE LINK_INTERFACE_LIBRARIES LINK_INTERFACE_LIBRARIES_DEBUG LINK_INTERFACE_LIBRARIES_RELEASE LINK_INTERFACE_MULTIPLICITY LINK_INTERFACE_MULTIPLICITY_DEBUG LINK_INTERFACE_MULTIPLIC
|
||
|
\ contained
|
||
|
|
||
|
syn keyword cmakeVariable
|
||
|
@VARIABLE_LIST@
|
||
|
\ contained
|
||
|
|
||
|
syn keyword cmakeModule
|
||
|
@MODULES@
|
||
|
\ contained
|
||
|
|
||
|
@KEYWORDS@
|
||
|
|
||
|
syn keyword cmakeGeneratorExpressions
|
||
|
@GENERATOR_EXPRESSIONS@
|
||
|
\ contained
|
||
|
|
||
|
syn case ignore
|
||
|
syn keyword cmakeCommand
|
||
|
@COMMAND_LIST@
|
||
|
\ nextgroup=cmakeArguments
|
||
|
syn keyword cmakeCommandConditional
|
||
|
@CONDITIONALS@
|
||
|
\ nextgroup=cmakeArguments
|
||
|
syn keyword cmakeCommandRepeat
|
||
|
@LOOPS@
|
||
|
\ nextgroup=cmakeArguments
|
||
|
syn keyword cmakeCommandDeprecated
|
||
|
@DEPRECATED@
|
||
|
\ nextgroup=cmakeArguments
|
||
|
syn case match
|
||
|
|
||
|
syn keyword cmakeTodo
|
||
|
\ TODO FIXME XXX
|
||
|
\ contained
|
||
|
|
||
|
hi def link cmakeCommand Function
|
||
|
hi def link cmakeCommandConditional Conditional
|
||
|
hi def link cmakeCommandDeprecated WarningMsg
|
||
|
hi def link cmakeCommandRepeat Repeat
|
||
|
hi def link cmakeComment Comment
|
||
|
hi def link cmakeEnvironment Special
|
||
|
hi def link cmakeEscaped Special
|
||
|
hi def link cmakeGeneratorExpression WarningMsg
|
||
|
hi def link cmakeGeneratorExpressions ModeMsg
|
||
|
hi def link cmakeLuaComment Comment
|
||
|
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 cmakeVariable Identifier
|
||
|
hi def link cmakeVariableValue Type
|
||
|
|
||
|
@KEYWORDS_HIGHLIGHT@
|
||
|
|
||
|
let b:current_syntax = "cmake"
|