BASIS  r3148
basis.php
Go to the documentation of this file.
00001 <?php
00002 /**
00003  * @file basis.php
00004  * @brief BASIS/CMake language file for GeSHi.
00005  *
00006  * @note Based on cmake.php file of GeSHi release version 1.0.8.10.
00007  *
00008  * Copyright (c) 2011 University of Pennsylvania. All rights reserved.<br />
00009  * See https://www.cbica.upenn.edu/sbia/software/license.html or COPYING file.
00010  *
00011  * Contact: SBIA Group <sbia-software at uphs.upenn.edu>
00012  */
00013 
00014 $language_data = array (
00015     'LANG_NAME' => 'BASIS',
00016     'COMMENT_SINGLE' => array(1 => '#'),
00017     'COMMENT_MULTI' => array(),
00018     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
00019     'QUOTEMARKS' => array('"'),
00020     'ESCAPE_CHAR' => '\\',
00021     'ESCAPE_REGEXP' => array(
00022         // Quoted variables ${...}
00023         1 => "/\\$(ENV)?\\{[^\\n\\}]*?\\}/i",
00024         // Quoted registry keys [...]
00025         2 => "/\\[HKEY[^\n\\]]*?]/i"
00026         ),
00027     'KEYWORDS' => array(
00028         // BASIS commands
00029         1 => array(
00030             'basis_find_package',
00031             'basis_add_executable',
00032             'basis_add_library',
00033             'basis_target_link_libraries',
00034             'basis_add_definitions',
00035             'basis_add_test',
00036             'basis_get_target_property',
00037             'basis_set_target_properties',
00038             'basis_target_link_libraries',
00039             'basis_install'
00040             ),
00041         // CMake commands
00042         2 => array(
00043             'add_custom_command',
00044             'add_custom_target',
00045             'add_dependencies',
00046             'add_subdirectory',
00047             'aux_source_directory',
00048             'break',
00049             'build_command',
00050             'cmake_minimum_required',
00051             'cmake_policy',
00052             'configure_file',
00053             'create_test_sourcelist',
00054             'define_property',
00055             'else',
00056             'elseif',
00057             'enable_language',
00058             'enable_testing',
00059             'endforeach',
00060             'endfunction',
00061             'endif',
00062             'endmacro',
00063             'endwhile',
00064             'execute_process',
00065             'export',
00066             'file',
00067             'find_file',
00068             'find_library',
00069             'find_path',
00070             'find_program',
00071             'fltk_wrap_ui',
00072             'foreach',
00073             'function',
00074             'get_cmake_property',
00075             'get_directory_property',
00076             'get_property',
00077             'get_source_file_property',
00078             'get_test_property',
00079             'if',
00080             'include',
00081             'include_external_msproject',
00082             'include_regular_expression',
00083             'list',
00084             'load_cache',
00085             'load_command',
00086             'macro',
00087             'mark_as_advanced',
00088             'math',
00089             'message',
00090             'option',
00091             'output_required_files',
00092             'project',
00093             'qt_wrap_cpp',
00094             'qt_wrap_ui',
00095             'remove_definitions',
00096             'return',
00097             'separate_arguments',
00098             'set',
00099             'set_directory_properties',
00100             'set_property',
00101             'set_source_files_properties',
00102             'set_tests_properties',
00103             'site_name',
00104             'source_group',
00105             'string',
00106             'try_compile',
00107             'try_run',
00108             'unset',
00109             'variable_watch',
00110             'while'
00111             ),
00112         // overwritten CMake commands
00113         3 => array(
00114             'add_executable', 'add_library', 'add_definitions', 'add_test',
00115             'find_package', 'get_filename_component', 'include_directories',
00116             'link_directories'
00117             ),
00118         // deprecated CMake commands
00119         4 => array(
00120             'build_name',
00121             'exec_program',
00122             'export_library_dependencies',
00123             'install_files',
00124             'install_programs',
00125             'install_targets',
00126             'link_libraries',
00127             'make_directory',
00128             'remove',
00129             'subdir_depends',
00130             'subdirs',
00131             'use_mangled_mesa',
00132             'utility_source',
00133             'variable_requires',
00134             'write_file',
00135             'get_target_property',
00136             'set_target_properties',
00137             'install',
00138             'target_link_libraries'
00139             ),
00140         // special command arguments (BASIS)
00141         5 => array(
00142             'LIBEXEC',
00143             'TEST',
00144             'WITH_EXT',
00145             'WITH_PATH',
00146             'NO_BASIS_UTILITIES',
00147             'NO_EXPORT',
00148             'MEX',
00149             'LANGUAGE',
00150             'DESTINATION',
00151             'RUNTIME_DESTINATION',
00152             'LIBRARY_DESTINATION',
00153             'COMPONENT',
00154             'RUNTIME_COMPONENT',
00155             'LIBRARY_COMPONENT',
00156             'CONFIG',
00157             'CONFIG_FILE'
00158             ),
00159         // special command arguments (CMake)
00160         6 => array(
00161             'AFTER', 'AND', 'APPEND', 'ASCII',
00162             'BEFORE', 'BOOL', 'CACHE', 'COMMAND', 'COMMENT',
00163             'COMPARE', 'CONFIGURE', 'DEFINED', 'DEPENDS', 'DIRECTORY',
00164             'EQUAL', 'EXCLUDE_FROM_ALL', 'EXISTS', 'FALSE', 'FATAL_ERROR',
00165             'FILEPATH', 'FIND', 'FORCE', 'GET', 'GLOBAL', 'GREATER',
00166             'IMPLICIT_DEPENDS', 'INSERT', 'INTERNAL', 'IS_ABSOLUTE',
00167             'IS_DIRECTORY', 'IS_NEWER_THAN', 'LENGTH', 'LESS',
00168             'MAIN_DEPENDENCY', 'MATCH', 'MATCHALL', 'MATCHES', 'MODULE', 'NOT',
00169             'NOTFOUND', 'OFF', 'ON', 'OR', 'OUTPUT', 'PARENT_SCOPE', 'PATH',
00170             'POLICY', 'POST_BUILD', 'PRE_BUILD', 'PRE_LINK', 'PROPERTY',
00171             'RANDOM', 'REGEX', 'REMOVE_AT', 'REMOVE_DUPLICATES', 'REMOVE_ITEM',
00172             'REPLACE', 'REVERSE', 'SEND_ERROR', 'SHARED', 'SORT', 'SOURCE',
00173             'STATIC', 'STATUS', 'STREQUAL', 'STRGREATER', 'STRING', 'STRIP',
00174             'STRLESS', 'SUBSTRING', 'SYSTEM', 'TARGET', 'TEST', 'TOLOWER', 'TOUPPER',
00175             'TRUE', 'VERBATIM', 'VERSION', 'VERSION_EQUAL', 'VERSION_GREATOR',
00176             'VERSION_LESS', 'WORKING_DIRECTORY'
00177             )
00178         ),
00179     'CASE_SENSITIVE' => array(
00180         GESHI_COMMENTS => false,
00181         1 => false,
00182         2 => false,
00183         3 => false,
00184         4 => false,
00185         5 => true,
00186         6 => true
00187         ),
00188     'SYMBOLS' => array(
00189         0 => array('(', ')')
00190         ),
00191     'STYLES' => array(
00192         'KEYWORDS' => array(
00193             1 => 'color: #1f3f81; font-style: bold;',
00194             2 => 'color: #1f3f81; font-style: bold;',
00195             3 => 'color: #1f3f81;',
00196             4 => 'color: #1f3f81;',
00197             5 => 'color: #077807; font-sytle: italic;',
00198             6 => 'color: #077807; font-sytle: italic;'
00199             ),
00200         'BRACKETS' => array(),
00201         'COMMENTS' => array(
00202             1 => 'color: #666666; font-style: italic;'
00203             ),
00204         'ESCAPE_CHAR' => array(
00205             0 => 'color: #000099; font-weight: bold;',
00206             1 => 'color: #b08000;',
00207             2 => 'color: #0000cd;'
00208             ),
00209         'STRINGS' => array(
00210             0 => 'color: #912f11;',
00211             ),
00212         'SYMBOLS' => array(
00213             0 => 'color: #197d8b;'
00214             ),
00215         'NUMBERS' => array(),
00216         'METHODS' => array(),
00217         'REGEXPS' => array(
00218             0 => 'color: #b08000;',
00219             1 => 'color: #0000cd;'
00220             ),
00221         'SCRIPT' => array()
00222         ),
00223     'URLS' => array(
00224         1 => '',
00225         2 => 'http://www.cmake.org/cmake/help/cmake2.8docs.html#command:{FNAMEL}',
00226         3 => 'http://www.cmake.org/cmake/help/cmake2.8docs.html#command:{FNAMEL}',
00227         4 => 'http://www.cmake.org/cmake/help/cmake2.8docs.html#command:{FNAMEL}',
00228         5 => '',
00229         6 => ''
00230         ),
00231     'OOLANG' => false,
00232     'OBJECT_SPLITTERS' => array(),
00233     'REGEXPS' => array(
00234         // Unquoted variables
00235         0 => "\\$(ENV)?\\{[^\\n}]*?\\}",
00236         // Unquoted registry keys
00237         1 => "\\[HKEY[^\n\\]]*?]"
00238         ),
00239     'STRICT_MODE_APPLIES' => GESHI_NEVER,
00240     'SCRIPT_DELIMITERS' => array(),
00241     'HIGHLIGHT_STRICT_BLOCK' => array(),
00242     'TAB_WIDTH' => 4,
00243     'PARSER_CONTROL' => array(
00244         'KEYWORDS' => array(
00245             // These keywords cannot come after a open paren
00246             1 => array(
00247                 'DISALLOWED_AFTER' =>  '(?= *\()'
00248                 ),
00249             2 => array(
00250                 'DISALLOWED_AFTER' =>  '(?= *\()'
00251                 ),
00252             3 => array(
00253                 'DISALLOWED_AFTER' =>  '(?= *\()'
00254                 ),
00255             4 => array(
00256                 'DISALLOWED_AFTER' =>  '(?= *\()'
00257                 )
00258             ),
00259         'ENABLE_FLAGS' => array(
00260             'BRACKETS' => GESHI_NEVER,
00261             'METHODS' => GESHI_NEVER,
00262             'NUMBERS' => GESHI_NEVER
00263             )
00264         )
00265 );
00266 
00267 ?>