1" ============================================================================= 2" 3" Program: CMake - Cross-Platform Makefile Generator 4" Module: $RCSfile: cmake-syntax.vim,v $ 5" Language: VIM 6" Date: $Date: 2006/09/23 21:09:08 $ 7" Version: $Revision: 1.6 $ 8" 9" ============================================================================= 10 11" Vim syntax file 12" Language: CMake 13" Author: Andy Cedilnik <[email protected]> 14" Maintainer: Andy Cedilnik <[email protected]> 15" Last Change: $Date: 2006/09/23 21:09:08 $ 16" Version: $Revision: 1.6 $ 17" 18" Licence: The CMake license applies to this file. See 19" http://www.cmake.org/HTML/Copyright.html 20" This implies that distribution with Vim is allowed 21 22" For version 5.x: Clear all syntax items 23" For version 6.x: Quit when a syntax file was already loaded 24if version < 600 25 syntax clear 26elseif exists("b:current_syntax") 27 finish 28endif 29 30syn case ignore 31syn match cmakeComment /#.*$/ 32syn region cmakeRegistry start=/\[/ end=/\]/ skip=/\\[\[\]]/ 33 \ contained 34syn match cmakeArgument /[^()"]+/ 35 \ contained 36syn match cmakeVariableValue /\${[^}]*}/ 37 \ contained oneline 38syn match cmakeEnvironment /\$ENV{.*}/ 39 \ contained 40syn keyword cmakeSystemVariables 41 \ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80 42syn keyword cmakeOperators 43 \ AND BOOL CACHE COMMAND DEFINED DOC EQUAL EXISTS FALSE GREATER INTERNAL LESS MATCHES NAME NAMES NAME_WE NOT OFF ON OR PATH PATHS PROGRAM STREQUAL STRGREATER STRING STRLESS TRUE 44" \ contained 45syn region cmakeString start=/"/ end=/"/ skip=/\\"/ 46 \ contains=ALLBUT,cmakeString 47syn region cmakeArguments start=/\s*(/ end=/)/ 48 \ contains=ALLBUT,cmakeArguments 49syn keyword cmakeDeprecated ABSTRACT_FILES BUILD_NAME SOURCE_FILES SOURCE_FILES_REMOVE VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WRAP_EXCLUDE_FILES 50 \ nextgroup=cmakeArgument 51syn keyword cmakeStatement 52 \ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ELSEIF ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDIF ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE ENDMACRO 53 \ nextgroup=cmakeArgumnts 54 55"syn match cmakeMacro /^\s*[A-Z_]\+/ nextgroup=cmakeArgumnts 56 57" Define the default highlighting. 58" For version 5.7 and earlier: only when not done already 59" For version 5.8 and later: only when an item doesn't have highlighting yet 60if version >= 508 || !exists("did_cmake_syntax_inits") 61 if version < 508 62 let did_cmake_syntax_inits = 1 63 command -nargs=+ HiLink hi link <args> 64 else 65 command -nargs=+ HiLink hi def link <args> 66 endif 67 68 HiLink cmakeStatement Statement 69 HiLink cmakeComment Comment 70 HiLink cmakeString String 71 HiLink cmakeVariableValue Type 72 HiLink cmakeRegistry Underlined 73 HiLink cmakeArguments Identifier 74 HiLink cmakeArgument Constant 75 HiLink cmakeEnvironment Special 76 HiLink cmakeOperators Operator 77 HiLink cmakeMacro PreProc 78 HiLink cmakeError Error 79 80 delcommand HiLink 81endif 82 83let b:current_syntax = "cmake" 84 85"EOF" 86