home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / runtime / syntax / cmake.vim < prev    next >
Encoding:
Text File  |  2012-05-31  |  4.3 KB  |  87 lines

  1. " Vim syntax file
  2. " Program:      CMake - Cross-Platform Makefile Generator
  3. " Module:       $RCSfile: cmake-syntax.vim,v $
  4. " Language:     CMake
  5. " Author:       Andy Cedilnik <andy.cedilnik@kitware.com>
  6. " Maintainer:   Karthik Krishnan <karthik.krishnan@kitware.com>
  7. " Last Change:  $Date: 2008-08-25 14:31:28 $
  8. " Version:      $Revision: 1.10 $
  9. "
  10. " Licence:      The CMake license applies to this file. See
  11. "               http://www.cmake.org/HTML/Copyright.html
  12. "               This implies that distribution with Vim is allowed
  13.  
  14. " For version 5.x: Clear all syntax items
  15. " For version 6.x: Quit when a syntax file was already loaded
  16. if version < 600
  17.   syntax clear
  18. elseif exists("b:current_syntax")
  19.   finish
  20. endif
  21. let s:keepcpo= &cpo
  22. set cpo&vim
  23.  
  24. syn case ignore
  25. syn match cmakeEscaped /\(\\\\\|\\"\|\\n\|\\t\)/ contained
  26. syn region cmakeComment start="#" end="$" contains=cmakeTodo
  27. syn region cmakeRegistry start=/\[/ end=/]/
  28.             \ contained oneline contains=CONTAINED,cmakeTodo,cmakeEscaped
  29. syn region cmakeVariableValue start=/\${/ end=/}/
  30.             \ contained oneline contains=CONTAINED,cmakeTodo
  31. syn region cmakeEnvironment start=/\$ENV{/ end=/}/
  32.             \ contained oneline contains=CONTAINED,cmakeTodo
  33. syn region cmakeString start=/"/ end=/"/ 
  34.             \ contains=CONTAINED,cmakeTodo,cmakeOperators
  35. syn region cmakeArguments start=/(/ end=/)/ 
  36.             \ contains=ALLBUT,cmakeArguments,cmakeTodo
  37. syn keyword cmakeSystemVariables
  38.             \ WIN32 UNIX APPLE CYGWIN BORLAND MINGW MSVC MSVC_IDE MSVC60 MSVC70 MSVC71 MSVC80 MSVC90
  39. syn keyword cmakeOperators
  40.             \ 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
  41.             \ contained
  42. 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
  43.            \ nextgroup=cmakeArguments
  44.  
  45. " The keywords are generated as:  cmake --help-command-list | tr "\n" " "
  46. syn keyword cmakeStatement 
  47.       \ 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
  48.             \ nextgroup=cmakeArguments
  49. syn keyword cmakeTodo 
  50.             \ TODO FIXME XXX 
  51.             \ contained
  52.  
  53. " Define the default highlighting.
  54. " For version 5.7 and earlier: only when not done already
  55. " For version 5.8 and later: only when an item doesn't have highlighting yet
  56. if version >= 508 || !exists("did_cmake_syntax_inits")
  57.   if version < 508
  58.     let did_cmake_syntax_inits = 1
  59.     command -nargs=+ HiLink hi link <args>
  60.   else
  61.     command -nargs=+ HiLink hi def link <args>
  62.   endif
  63.  
  64.   HiLink cmakeStatement Statement
  65.   HiLink cmakeComment Comment
  66.   HiLink cmakeString String
  67.   HiLink cmakeVariableValue Type
  68.   HiLink cmakeRegistry Underlined
  69.   HiLink cmakeArguments Identifier
  70.   HiLink cmakeArgument Constant
  71.   HiLink cmakeEnvironment Special
  72.   HiLink cmakeOperators Operator
  73.   HiLink cmakeMacro PreProc
  74.   HiLink cmakeError Error
  75.   HiLink cmakeTodo TODO
  76.   HiLink cmakeEscaped Special
  77.  
  78.   delcommand HiLink
  79. endif
  80.  
  81. let b:current_syntax = "cmake"
  82.  
  83. let &cpo = s:keepcpo
  84. unlet s:keepcpo
  85.  
  86. "EOF"
  87.