Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 1 | " Vim syntax file |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 2 | " Program: CMake - Cross-Platform Makefile Generator |
| 3 | " Module: $RCSfile: cmake-syntax.vim,v $ |
Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 4 | " Language: CMake |
Bram Moolenaar | 256972a | 2015-12-29 19:10:25 +0100 | [diff] [blame] | 5 | " Maintainer: Dimitri Merejkowsky <d.merej@gmail.com> |
| 6 | " Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com> |
Bram Moolenaar | 60cce2f | 2015-10-13 23:21:27 +0200 | [diff] [blame] | 7 | " Author: Andy Cedilnik <andy.cedilnik@kitware.com> |
Bram Moolenaar | 256972a | 2015-12-29 19:10:25 +0100 | [diff] [blame] | 8 | " Last Change: 2015 Dec 17 |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 9 | " Version: $Revision: 1.10 $ |
Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 10 | " |
| 11 | " Licence: The CMake license applies to this file. See |
| 12 | " http://www.cmake.org/HTML/Copyright.html |
| 13 | " This implies that distribution with Vim is allowed |
| 14 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 15 | " quit when a syntax file was already loaded |
| 16 | if exists("b:current_syntax") |
Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 17 | finish |
| 18 | endif |
Bram Moolenaar | 9a7224b | 2012-04-30 15:56:52 +0200 | [diff] [blame] | 19 | let s:keepcpo= &cpo |
| 20 | set cpo&vim |
Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 21 | |
| 22 | syn case ignore |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 23 | syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained |
Bram Moolenaar | c873442 | 2012-06-01 22:38:45 +0200 | [diff] [blame] | 24 | syn region cmakeComment start="#" end="$" contains=@Spell,cmakeTodo |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 25 | syn region cmakeRegistry start=/\[/ end=/]/ |
| 26 | \ contained oneline contains=CONTAINED,cmakeTodo,cmakeEscaped |
| 27 | syn region cmakeVariableValue start=/\${/ end=/}/ |
| 28 | \ contained oneline contains=CONTAINED,cmakeTodo |
| 29 | syn region cmakeEnvironment start=/\$ENV{/ end=/}/ |
| 30 | \ contained oneline contains=CONTAINED,cmakeTodo |
Bram Moolenaar | ca63501 | 2015-09-25 20:34:21 +0200 | [diff] [blame] | 31 | syn region cmakeString start=/"/ end=/"/ |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 32 | \ contains=CONTAINED,cmakeTodo,cmakeOperators |
Bram Moolenaar | ca63501 | 2015-09-25 20:34:21 +0200 | [diff] [blame] | 33 | syn region cmakeArguments start=/(/ end=/)/ |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 34 | \ contains=ALLBUT,cmakeArguments,cmakeTodo |
Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 35 | syn keyword cmakeSystemVariables |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 36 | \ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80 MSVC90 |
Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 37 | syn keyword cmakeOperators |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 38 | \ ABSOLUTE AND BOOL CACHE COMMAND DEFINED DOC EQUAL EXISTS EXT FALSE GREATER INTERNAL LESS MATCHES NAME NAMES NAME_WE NOT OFF ON OR PATH PATHS PROGRAM STREQUAL STRGREATER STRING STRLESS TRUE |
| 39 | \ contained |
Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 40 | syn 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 |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 41 | \ nextgroup=cmakeArguments |
Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 42 | |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 43 | " The keywords are generated as: cmake --help-command-list | tr "\n" " " |
Bram Moolenaar | ca63501 | 2015-09-25 20:34:21 +0200 | [diff] [blame] | 44 | syn keyword cmakeStatement |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 45 | \ 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 ENDFUNCTION ENDIF ENDMACRO ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH FUNCTION 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 UNSET USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE |
| 46 | \ nextgroup=cmakeArguments |
Bram Moolenaar | ca63501 | 2015-09-25 20:34:21 +0200 | [diff] [blame] | 47 | syn keyword cmakeTodo |
| 48 | \ TODO FIXME XXX |
Bram Moolenaar | 945e2db | 2010-06-05 17:43:32 +0200 | [diff] [blame] | 49 | \ contained |
Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 50 | |
| 51 | " Define the default highlighting. |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 52 | " Only when an item doesn't have highlighting yet |
| 53 | command -nargs=+ HiLink hi def link <args> |
Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 54 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 55 | HiLink cmakeStatement Statement |
| 56 | HiLink cmakeComment Comment |
| 57 | HiLink cmakeString String |
| 58 | HiLink cmakeVariableValue Type |
| 59 | HiLink cmakeRegistry Underlined |
| 60 | HiLink cmakeArguments Identifier |
| 61 | HiLink cmakeArgument Constant |
| 62 | HiLink cmakeEnvironment Special |
| 63 | HiLink cmakeOperators Operator |
| 64 | HiLink cmakeMacro PreProc |
| 65 | HiLink cmakeError Error |
| 66 | HiLink cmakeTodo TODO |
| 67 | HiLink cmakeEscaped Special |
Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 68 | |
Bram Moolenaar | 89bcfda | 2016-08-30 23:26:57 +0200 | [diff] [blame] | 69 | delcommand HiLink |
Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 70 | |
| 71 | let b:current_syntax = "cmake" |
| 72 | |
Bram Moolenaar | 9a7224b | 2012-04-30 15:56:52 +0200 | [diff] [blame] | 73 | let &cpo = s:keepcpo |
| 74 | unlet s:keepcpo |
| 75 | |
Bram Moolenaar | c1e3790 | 2006-04-18 21:55:01 +0000 | [diff] [blame] | 76 | "EOF" |