mc/cmake.syntax

500 lines
14 KiB
YAML

# CMake syntax
# Author: Henrik Pauli <henrik.pauli@uhusystems.com>
# Author: Emil Biserov <biserov@gmail.com>
caseinsensitive
context default
keyword \( brightcyan
keyword \) brightcyan
### Commands ##################################################################
keyword whole add_custom_command yellow
keyword whole add_custom_target yellow
keyword whole add_definitions yellow
keyword whole add_dependencies yellow
keyword whole add_executable yellow
keyword whole add_library yellow
keyword whole add_subdirectory yellow
keyword whole add_test yellow
keyword whole aux_source_directory yellow
keyword whole break magenta
keyword whole build_command yellow
keyword whole cmake_minimum_required yellow
keyword whole cmake_policy yellow
keyword whole configure_file yellow
keyword whole create_test_sourcelist yellow
keyword whole define_property yellow
keyword whole else magenta
keyword whole elseif magenta
keyword whole enable_language yellow
keyword whole enable_testing yellow
keyword whole endforeach magenta
keyword whole endfunction magenta
keyword whole endif magenta
keyword whole endmacro magenta
keyword whole endwhile magenta
keyword whole execute_process yellow
keyword whole export yellow
keyword whole file yellow
keyword whole find_file yellow
keyword whole find_library yellow
keyword whole find_package yellow
keyword whole find_path yellow
keyword whole find_program yellow
keyword whole fltk_wrap_ui yellow
keyword whole foreach magenta
keyword whole function magenta
keyword whole get_cmake_property yellow
keyword whole get_directory_property yellow
keyword whole get_filename_component yellow
keyword whole get_property yellow
keyword whole get_source_file_property yellow
keyword whole get_target_property yellow
keyword whole get_test_property yellow
keyword whole if magenta
keyword whole include yellow
keyword whole include_directories yellow
keyword whole include_external_msproject yellow
keyword whole include_regular_expression yellow
keyword whole install yellow
keyword whole link_directories yellow
keyword whole list yellow
keyword whole load_cache yellow
keyword whole load_command yellow
keyword whole macro magenta
keyword whole mark_as_advanced yellow
keyword whole math yellow
keyword whole message yellow
keyword whole option yellow
keyword whole project yellow
keyword whole qt_wrap_cpp yellow
keyword whole qt_wrap_ui yellow
keyword whole remove_definitions yellow
keyword whole return yellow
keyword whole separate_arguments yellow
keyword whole set yellow
keyword whole set_directory_properties yellow
keyword whole set_property yellow
keyword whole set_source_files_properties yellow
keyword whole set_target_properties yellow
keyword whole set_tests_properties yellow
keyword whole site_name yellow
keyword whole source_group yellow
keyword whole string yellow
keyword whole target_link_libraries yellow
keyword whole try_compile yellow
keyword whole try_run yellow
keyword whole unset yellow
keyword whole variable_watch yellow
keyword whole while magenta
###############################################################################
keyword ${\[^}\]+} brightgreen
# keyword whole cpack_+ yellow
# keyword whole get_+ yellow
# keyword whole set_+ yellow
# keyword whole target_+ yellow
# keyword whole find_+ yellow
# keyword whole file_+ yellow
# keyword whole configure_+ yellow
# keyword whole install yellow
# keyword whole qt4_+ yellow
keyword whole ON brightcyan
keyword whole OFF brightcyan
keyword whole TRUE brightcyan
keyword whole FALSE brightcyan
###############################################################################
###context exclusive add_custom_command\( \)
keyword whole OUTPUT white
keyword whole COMMAND white
keyword whole MAIN_DEPENDENCY white
keyword whole DEPENDS white
keyword whole IMPLICIT_DEPENDS white
keyword whole WORKING_DIRECTORY white
keyword whole COMMENT white
keyword whole VERBATIM white
keyword whole APPEND white
###context exclusive add_custom_target\( \)
keyword whole ALL white
keyword whole COMMAND white
keyword whole DEPENDS white
keyword whole WORKING_DIRECTORY white
keyword whole COMMENT white
keyword whole VERBATIM white
keyword whole SOURCES white
###context exclusive add_executable\( \)
keyword whole WIN32 white
keyword whole MACOSX_BUNDLE white
keyword whole EXCLUDE_FROM_ALL white
keyword whole IMPORTED white
keyword whole GLOBAL white
###context exclusive add_library\( \)
keyword whole STATIC white
keyword whole SHARED white
keyword whole MODULE white
keyword whole EXCLUDE_FROM_ALL white
keyword whole UNKNOWN white
keyword whole IMPORTED white
keyword whole GLOBAL white
keyword whole OBJECT white
###context exclusive add_subdirectory\( \)
keyword whole EXCLUDE_FROM_ALL white
### context exclusive add_test\( \)
keyword whole NAME white
keyword whole CONFIGURATIONS white
keyword whole WORKING_DIRECTORY white
keyword whole COMMAND white
# build_command
# cmake_minimum_required
# cmake_policy
### context exclusive configure_file\( \)
keyword whole COPYONLY white
keyword whole ESCAPE_QUOTES white
keyword whole @ONLY white
keyword whole NEWLINE_STYLE white
keyword whole UNIX white
keyword whole DOS white
keyword whole WIN32 white
keyword whole LF white
keyword whole CRLF white
# create_test_sourcelist
### context exclusive define_property\( \)
keyword whole GLOBAL white
keyword whole DIRECTORY white
keyword whole TARGET white
keyword whole SOURCE white
keyword whole TEST white
keyword whole VARIABLE white
keyword whole CACHED_VARIABLE white
keyword whole PROPERTY white
keyword whole INHERITED white
keyword whole BRIEF_DOCS white
keyword whole FULL_DOCS white
### context exclusive enable_language\( \)
keyword whole OPTIONAL white
### context exclusive execute_process\( \)
keyword whole COMMAND white
keyword whole WORKING_DIRECTORY white
keyword whole TIMEOUT white
keyword whole RESULT_VARIABLE white
keyword whole OUTPUT_VARIABLE white
keyword whole ERROR_VARIABLE white
keyword whole INPUT_FILE white
keyword whole OUTPUT_FILE white
keyword whole ERROR_FILE white
keyword whole OUTPUT_QUIET white
keyword whole ERROR_QUIET white
keyword whole OUTPUT_STRIP_TRAILING_WHITESPACE white
keyword whole ERROR_STRIP_TRAILING_WHITESPACE white
### context exclusive export\( \)
keyword whole TARGETS white
keyword whole NAMESPACE white
keyword whole APPEND white
keyword whole FILE white
### context exclusive file\( \)
keyword whole WRITE white
keyword whole APPEND white
keyword whole READ white
keyword whole LIMIT white
keyword whole OFFSET white
keyword whole HEX white
keyword whole MD5 white
keyword whole SHA1 white
keyword whole SHA224 white
keyword whole SHA256 white
keyword whole SHA384 white
keyword whole SHA512 white
keyword whole STRINGS white
keyword whole LIMIT_COUNT white
keyword whole LIMIT_INPUT white
keyword whole LIMIT_OUTPUT white
keyword whole LENGTH_MINIMUM white
keyword whole LENGTH_MAXIMUM white
keyword whole NEWLINE_CONSUME white
keyword whole REGEX white
keyword whole NO_HEX_CONVERSION white
keyword whole GLOB white
keyword whole GLOB_RECURSE white
keyword whole RELATIVE white
keyword whole FOLLOW_SYMLINKS white
keyword whole RENAME white
keyword whole REMOVE white
keyword whole REMOVE_RECURSE white
keyword whole MAKE_DIRECTORY white
keyword whole RELATIVE_PATH white
keyword whole TO_CMAKE_PATH white
keyword whole TO_NATIVE_PATH white
keyword whole DOWNLOAD white
keyword whole INACTIVITY_TIMEOUT white
keyword whole TIMEOUT white
keyword whole STATUS white
keyword whole LOG white
keyword whole SHOW_PROGRESS white
keyword whole EXPECTED_MD5 white
keyword whole UPLOAD white
keyword whole COPY white
keyword whole INSTALL white
keyword whole DESTINATION white
keyword whole FILE_PERMISSIONS white
keyword whole DIRECTORY_PERMISSIONS white
keyword whole NO_SOURCE_PERMISSIONS white
keyword whole USE_SOURCE_PERMISSIONS white
keyword whole FILES_MATCHING white
keyword whole PATTERN white
keyword whole REGEX white
keyword whole EXCLUDE white
keyword whole PERMISSIONS white
# find_file
# find_library
# find_package
# find_path
# find_program
# fltk_wrap_ui
# get_cmake_property
# get_directory_property
### context exclusive get_filename_component\( \)
keyword whole PATH white
keyword whole ABSOLUTE white
keyword whole NAME white
keyword whole EXT white
keyword whole NAME_WE white
keyword whole REALPATH white
keyword whole CACHE white
keyword whole PROGRAM white
keyword whole PROGRAM_ARGS white
# get_property
# get_source_file_property
# get_target_property
# get_test_property
### context exclusive if\( \)
keyword whole NOT brightcyan
keyword whole AND brightcyan
keyword whole OR brightcyan
keyword whole COMMAND brightcyan
keyword whole POLICY brightcyan
keyword whole TARGET brightcyan
keyword whole EXISTS brightcyan
keyword whole IS_NEWER_THAN brightcyan
keyword whole IS_DIRECTORY brightcyan
keyword whole IS_SYMLINK brightcyan
keyword whole IS_ABSOLUTE brightcyan
keyword whole MATCHES brightcyan
keyword whole LESS brightcyan
keyword whole GREATER brightcyan
keyword whole EQUAL brightcyan
keyword whole STRLESS brightcyan
keyword whole STRGREATER brightcyan
keyword whole STREQUAL brightcyan
keyword whole VERSION_LESS brightcyan
keyword whole VERSION_EQUAL brightcyan
keyword whole VERSION_GREATER brightcyan
keyword whole DEFINED brightcyan
### context exclusive include\( \)
keyword whole OPTIONAL white
keyword whole RESULT_VARIABLE white
keyword whole NO_POLICY_SCOPE white
# include_directories
# include_external_msproject
# include_regular_expression
###context exclusive install\( \)
keyword whole TARGETS white
keyword whole EXPORT white
keyword whole ARCHIVE white
keyword whole LIBRARY white
keyword whole RUNTIME white
keyword whole FRAMEWORK white
keyword whole BUNDLE white
keyword whole PRIVATE_HEADER white
keyword whole PUBLIC_HEADER white
keyword whole RESOURCE white
keyword whole DESTINATION white
keyword whole PERMISSIONS white
keyword whole CONFIGURATIONS white
keyword whole COMPONENT white
keyword whole OPTIONAL white
keyword whole NAMELINK_ONLY white
keyword whole NAMELINK_SKIP white
keyword whole FILES white
keyword whole DESTINATION white
keyword whole PERMISSIONS white
keyword whole CONFIGURATIONS white
keyword whole COMPONENT white
keyword whole RENAME white
keyword whole OPTIONAL white
keyword whole OWNER_READ brightcyan
keyword whole OWNER_WRITE brightcyan
keyword whole OWNER_EXECUTE brightcyan
keyword whole GROUP_READ brightcyan
keyword whole GROUP_WRITE brightcyan
keyword whole GROUP_EXECUTE brightcyan
keyword whole WORLD_READ brightcyan
keyword whole WORLD_WRITE brightcyan
keyword whole WORLD_EXECUTE brightcyan
keyword whole SETUID brightcyan
keyword whole SETGID brightcyan
### FIXME: !!! install unfinished !!!
# link_directories
###context exclusive list\( \)
keyword whole LENGTH white
keyword whole GET white
keyword whole APPEND white
keyword whole FIND white
keyword whole INSERT white
keyword whole REMOVE_ITEM white
keyword whole REMOVE_AT white
keyword whole REMOVE_DUPLICATES white
keyword whole REVERSE white
keyword whole SORT white
# load_cache
# load_command
### context exclusive mark_as_advanced\( \)
keyword whole CLEAR white
keyword whole FORCE white
### context exclusive math\( \)
keyword whole EXPR white
### context exclusive message\( \)
keyword whole STATUS white
keyword whole WARNING white
keyword whole AUTHOR_WARNING white
keyword whole FATAL_ERROR white
keyword whole SEND_ERROR white
# qt_wrap_cpp
# qt_wrap_ui
# remove_definitions
# separate_arguments
### context exclusive set\( \)
keyword whole CACHE white
keyword whole FORCE white
keyword whole PARENT_SCOPE white
# types
keyword whole FILEPATH cyan
keyword whole PATH cyan
keyword whole STRING cyan
keyword whole BOOL cyan
keyword whole INTERNAL cyan
# set_directory_properties
# set_property
# set_source_files_properties
# set_target_properties
# set_tests_properties
# site_name
# source_group
### context exclusive string\( \)
keyword whole REGEX white
keyword whole MATCH white
keyword whole MATCHALL white
keyword whole REPLACE white
keyword whole MD5 white
keyword whole SHA1 white
keyword whole SHA224 white
keyword whole SHA256 white
keyword whole SHA384 white
keyword whole SHA512 white
keyword whole COMPARE white
keyword whole EQUAL white
keyword whole NOTEQUAL white
keyword whole LESS white
keyword whole GREATER white
keyword whole ASCII white
keyword whole CONFIGURE white
keyword whole \@ONLY white
keyword whole ESCAPE_QUOTES white
keyword whole TOUPPER white
keyword whole TOLOWER white
keyword whole LENGTH white
keyword whole SUBSTRING white
keyword whole STRIP white
keyword whole RANDOM white
keyword whole LENGTH white
keyword whole ALPHABET white
keyword whole RANDOM_SEED white
keyword whole FIND white
keyword whole REVERSE white
### context exclusive target_link_libraries\( \)
### context exclusive try_compile\( \)
keyword whole CMAKE_FLAGS white
keyword whole OUTPUT_VARIABLE white
keyword whole COMPILE_DEFINITIONS white
keyword whole OUTPUT_VARIABLE white
keyword whole COPY_FILE white
### context exclusive try_run\( \)
keyword whole CMAKE_FLAGS white
keyword whole COMPILE_DEFINITIONS white
keyword whole COMPILE_OUTPUT_VARIABLE white
keyword whole RUN_OUTPUT_VARIABLE white
keyword whole OUTPUT_VARIABLE white
keyword whole ARGS white
### context exclusive unset\( \)
keyword whole CACHE white
context # \n brown
context " " green
keyword ${\[^}\]+} brightgreen
spellcheck