1<?php 2/************************************************************************************* 3 * c_loadrunner.php 4 * --------------------------------- 5 * Author: Stuart Moncrieff (stuart at myloadtest dot com) 6 * Copyright: (c) 2010 Stuart Moncrieff (http://www.myloadtest.com/loadrunner-syntax-highlighter/) 7 * Release Version: 1.0.9.1 8 * Date Started: 2010-07-25 9 * 10 * C (for LoadRunner) language file for GeSHi. 11 * 12 * Based on LoadRunner 9.52. 13 * 14 * CHANGES 15 * ------- 16 * 2010-08-01 (1.0.8.9) 17 * - Added highlighting support for LoadRunner {parameters}. 18 * 2010-07-25 (1.0.8.8) 19 * - First Release. Syntax highlighting support for lr_, web_, and sapgui_ functions only. 20 * 21 * TODO (updated 2010-07-25) 22 * ------------------------- 23 * - Add support for other vuser types: MMS, FTP, etc. 24 * 25 ************************************************************************************* 26 * 27 * This file is part of GeSHi. 28 * 29 * GeSHi is free software; you can redistribute it and/or modify 30 * it under the terms of the GNU General Public License as published by 31 * the Free Software Foundation; either version 2 of the License, or 32 * (at your option) any later version. 33 * 34 * GeSHi is distributed in the hope that it will be useful, 35 * but WITHOUT ANY WARRANTY; without even the implied warranty of 36 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 37 * GNU General Public License for more details. 38 * 39 * You should have received a copy of the GNU General Public License 40 * along with GeSHi; if not, write to the Free Software 41 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 42 * ************************************************************************************/ 43 44$language_data = array ( 45 // The First Indices 46 'LANG_NAME' => 'C (LoadRunner)', 47 'COMMENT_SINGLE' => array(1 => '//'), 48 'COMMENT_MULTI' => array('/*' => '*/'), 49 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 50 'QUOTEMARKS' => array("'", '"'), 51 'ESCAPE_CHAR' => '', 52 // Escape characters within strings (like \\) are not highlighted differently in LoadRunner, so 53 // I am using GeSHi escape characters (or regular expressions) to highlight LoadRunner {parameters}. 54 // LoadRunner {parameters} must begin with a letter and contain only alphanumeric characters and '_' 55 'ESCAPE_REGEXP' => array( 56 0 => "#\{[a-zA-Z]{1}[a-zA-Z_]{0,}\}#", 57 ), 58 59 // Keywords 60 'KEYWORDS' => array( 61 // Keywords from http://en.wikipedia.org/wiki/C_syntax 62 1 => array( 63 'auto', 'break', 'case', 'char', 'const', 'continue', 'default', 64 'do', 'double', 'else', 'enum', 'extern', 'float', 'for', 'goto', 65 'if', 'inline', 'int', 'long', 'register', 'restrict', 'return', 66 'short', 'signed', 'sizeof', 'static', 'struct', 'switch', 67 'typedef', 'union', 'unsigned', 'void', 'volatile', 'while', 68 '_Bool', '_Complex', '_Imaginary' 69 ), 70 // C preprocessor directives from http://en.wikipedia.org/wiki/C_preprocessor 71 2 => array( 72 '#define', '#if', '#ifdef', '#ifndef', '#include', '#else', '#elif', '#endif', '#pragma', '#undef' 73 ), 74 // Functions from lrun.h 75 3 => array( 76 'lr_start_transaction', 'lr_start_sub_transaction', 'lr_start_transaction_instance', 'lr_end_transaction', 77 'lr_end_sub_transaction', 'lr_end_transaction_instance', 'lr_stop_transaction', 'lr_stop_transaction_instance', 78 'lr_resume_transaction', 'lr_resume_transaction_instance', 'lr_wasted_time', 'lr_set_transaction', 'lr_user_data_point', 79 'lr_user_data_point_instance', 'lr_user_data_point_ex', 'lr_user_data_point_instance_ex', 'lr_get_transaction_duration', 80 'lr_get_trans_instance_duration', 'lr_get_transaction_think_time', 'lr_get_trans_instance_think_time', 81 'lr_get_transaction_wasted_time', 'lr_get_trans_instance_wasted_time', 'lr_get_transaction_status', 82 'lr_get_trans_instance_status', 'lr_set_transaction_status', 'lr_set_transaction_status_by_name', 83 'lr_set_transaction_instance_status', 'lr_start_timer', 'lr_end_timer', 'lr_rendezvous', 'lr_rendezvous_ex', 84 'lr_get_vuser_ip', 'lr_whoami', 'lr_get_host_name', 'lr_get_master_host_name', 'lr_get_attrib_long', 85 'lr_get_attrib_string', 'lr_get_attrib_double', 'lr_paramarr_idx', 'lr_paramarr_random', 'lr_paramarr_len', 86 'lr_param_unique', 'lr_param_sprintf', 'lr_load_dll', 'lr_continue_on_error', 'lr_decrypt', 'lr_abort', 'lr_exit', 87 'lr_peek_events', 'lr_think_time', 'lr_debug_message', 'lr_log_message', 'lr_message', 'lr_error_message', 88 'lr_output_message', 'lr_vuser_status_message', 'lr_fail_trans_with_error', 'lr_next_row', 'lr_advance_param', 89 'lr_eval_string', 'lr_eval_string_ext', 'lr_eval_string_ext_free', 'lr_param_increment', 'lr_save_var', 90 'lr_save_string', 'lr_save_int', 'lr_save_datetime', 'lr_save_searched_string', 'lr_set_debug_message', 91 'lr_get_debug_message', 'lr_enable_ip_spoofing', 'lr_disable_ip_spoofing', 'lr_convert_string_encoding' 92 ), 93 // Constants from lrun.h 94 4 => array( 95 'DP_FLAGS_NO_LOG', 'DP_FLAGS_STANDARD_LOG', 'DP_FLAGS_EXTENDED_LOG', 'merc_timer_handle_t', 'LR_EXIT_VUSER', 96 'LR_EXIT_ACTION_AND_CONTINUE', 'LR_EXIT_ITERATION_AND_CONTINUE', 'LR_EXIT_VUSER_AFTER_ITERATION', 97 'LR_EXIT_VUSER_AFTER_ACTION', 'LR_EXIT_MAIN_ITERATION_AND_CONTINUE', 'LR_MSG_CLASS_DISABLE_LOG', 98 'LR_MSG_CLASS_STANDARD_LOG', 'LR_MSG_CLASS_RETURNED_DATA', 'LR_MSG_CLASS_PARAMETERS', 'LR_MSG_CLASS_ADVANCED_TRACE', 99 'LR_MSG_CLASS_EXTENDED_LOG', 'LR_MSG_CLASS_SENT_DATA', 'LR_MSG_CLASS_JIT_LOG_ON_ERROR', 'LR_SWITCH_OFF', 'LR_SWITCH_ON', 100 'LR_SWITCH_DEFAULT', 'ONE_DAY', 'ONE_HOUR', 'ONE_MIN', 'DATE_NOW', 'TIME_NOW', 'LR_MSG_CLASS_BRIEF_LOG', 101 'LR_MSG_CLASS_RESULT_DATA', 'LR_MSG_CLASS_FULL_TRACE', 'LR_MSG_CLASS_AUTO_LOG', 'LR_MSG_OFF', 'LR_MSG_ON', 102 'LR_MSG_DEFAULT' 103 ), 104 // Functions from web_api.h 105 5 => array( 106 'web_reg_add_cookie', 'web_report_data_point', 'web_text_link', 'web_element', 'web_image_link', 'web_static_image', 107 'web_image_submit', 'web_button', 'web_edit_field', 'web_radio_group', 'web_check_box', 'web_list', 'web_text_area', 108 'web_map_area', 'web_eval_java_script', 'web_reg_dialog', 'web_reg_cross_step_download', 'web_browser', 109 'web_set_rts_key', 'web_save_param_length', 'web_save_timestamp_param', 'web_load_cache', 'web_dump_cache', 110 'web_add_cookie_ex' 111 ), 112 // Constants from web_api.h 113 6 => array( 114 'DESCRIPTION', 'ACTION', 'VERIFICATION', 'LR_NOT_FOUND', 'HTTP_INFO_TOTAL_REQUEST_STAT', 115 'HTTP_INFO_TOTAL_RESPONSE_STAT', 'LRW_OPT_STOP_VUSER_ON_ERROR', 'LRW_OPT_DISPLAY_IMAGE_BODY' 116 ), 117 // Functions from as_web.h 118 7 => array( 119 'web_add_filter', 'web_add_auto_filter', 'web_add_auto_header', 'web_add_header', 'web_add_cookie', 120 'web_cleanup_auto_headers', 'web_cleanup_cookies', 'web_concurrent_end', 'web_concurrent_start', 'web_create_html_param', 121 'web_create_html_param_ex', 'web_custom_request', 'web_disable_keep_alive', 'web_enable_keep_alive', 'web_find', 122 'web_get_int_property', 'web_image', 'web_image_check', 'web_link', 'web_global_verification', 'web_reg_find', 123 'web_reg_save_param', 'web_convert_param', 'web_remove_auto_filter', 'web_remove_auto_header', 'web_revert_auto_header', 124 'web_remove_cookie', 'web_save_header', 'web_set_certificate', 'web_set_certificate_ex', 'web_set_connections_limit', 125 'web_set_max_html_param_len', 'web_set_max_retries', 'web_set_proxy', 'web_set_proxy_bypass', 'web_set_secure_proxy', 126 'web_set_sockets_option', 'web_set_option', 'web_set_timeout', 'web_set_user', 'web_sjis_to_euc_param', 127 'web_submit_data', 'web_submit_form', 'web_url', 'web_set_proxy_bypass_local', 'web_cache_cleanup', 128 'web_create_html_query', 'web_create_radio_button_param', 'web_switch_net_layer' 129 ), 130 // Constants from as_web.h 131 8 => array( 132 'ENDFORM', 'LAST', 'ENDITEM', 'EXTRARES', 'ITEMDATA', 'STARTHIDDENS', 'ENDHIDDENS', 'CONNECT', 'RECEIVE', 'RESOLVE', 133 'STEP', 'REQUEST', 'RESPONSE', 'STARTQUERY', 'ENDQUERY', 'INPROPS', 'OUTPROPS', 'ENDPROPS', 'RAW_BODY_START', 134 'RAW_BODY_END', 'HTTP_INFO_RETURN_CODE', 'HTTP_INFO_DOWNLOAD_SIZE', 'HTTP_INFO_DOWNLOAD_TIME', 135 'LRW_NET_SOCKET_OPT_LOAD_VERIFY_FILE', 'LRW_NET_SOCKET_OPT_DEFAULT_VERIFY_PATH', 'LRW_NET_SOCKET_OPT_SSL_VERSION', 136 'LRW_NET_SOCKET_OPT_SSL_CIPHER_LIST', 'LRW_NET_SOCKET_OPT_SO_REUSE_ADDRESS', 'LRW_NET_SOCKET_OPT_USER_IP_ADDRESS', 137 'LRW_NET_SOCKET_OPT_IP_ADDRESS_BY_INDEX', 'LRW_NET_SOCKET_OPT_HELP', 'LRW_NET_SOCKET_OPT_PRINT_USER_IP_ADDRESS_LIST', 138 'LRW_OPT_HTML_CHAR_REF_BACKWARD_COMPATIBILITY', 'LRW_OPT_VALUE_YES', 'LRW_OPT_VALUE_NO' 139 ), 140 // Functions from as_sapgui.h 141 9 => array( 142 'sapgui_open_connection', 'sapgui_open_connection_ex', 'sapgui_logon', 'sapgui_create_session', 143 'sapgui_create_new_session', 'sapgui_call_method', 'sapgui_call_method_ex', 'sapgui_set_property', 144 'sapgui_get_property', 'sapgui_set_collection_property', 'sapgui_active_object_from_parent_method', 145 'sapgui_active_object_from_parent_property', 'sapgui_call_method_of_active_object', 146 'sapgui_call_method_of_active_object_ex', 'sapgui_set_property_of_active_object', 'sapgui_get_property_of_active_object', 147 'sapgui_select_active_connection', 'sapgui_select_active_session', 'sapgui_select_active_window ', 148 'sapgui_status_bar_get_text', 'sapgui_status_bar_get_param', 'sapgui_status_bar_get_type', 'sapgui_get_status_bar_text', 149 'sapgui_get_active_window_title', 'sapgui_is_object_available', 'sapgui_is_tab_selected', 'sapgui_is_object_changeable', 150 'sapgui_set_ok_code', 'sapgui_send_vkey', 'sapgui_resize_window', 'sapgui_window_resize', 'sapgui_window_maximize', 151 'sapgui_window_close', 'sapgui_window_restore', 'sapgui_window_scroll_to_row', 'sapgui_press_button', 152 'sapgui_select_radio_button', 'sapgui_set_password', 'sapgui_set_text', 'sapgui_select_menu', 'sapgui_select_tab', 153 'sapgui_set_checkbox', 'sapgui_set_focus', 'sapgui_select_combobox_entry', 'sapgui_get_ok_code', 154 'sapgui_is_radio_button_selected', 'sapgui_get_text', 'sapgui_is_checkbox_selected', 'sapgui_table_set_focus', 155 'sapgui_table_press_button', 'sapgui_table_select_radio_button', 'sapgui_table_set_password', 'sapgui_table_set_text', 156 'sapgui_table_set_checkbox', 'sapgui_table_select_combobox_entry', 'sapgui_table_set_row_selected', 157 'sapgui_table_set_column_selected', 'sapgui_table_set_column_width', 'sapgui_table_reorder', 'sapgui_table_fill_data', 158 'sapgui_table_get_text', 'sapgui_table_is_radio_button_selected', 'sapgui_table_is_checkbox_selected', 159 'sapgui_table_is_row_selected', 'sapgui_table_is_column_selected', 'sapgui_table_get_column_width', 160 'sapgui_grid_clear_selection', 'sapgui_grid_select_all', 'sapgui_grid_selection_changed', 161 'sapgui_grid_press_column_header', 'sapgui_grid_select_cell', 'sapgui_grid_select_rows', 'sapgui_grid_select_column', 162 'sapgui_grid_deselect_column', 'sapgui_grid_select_columns', 'sapgui_grid_select_cells', 'sapgui_grid_select_cell_row', 163 'sapgui_grid_select_cell_column', 'sapgui_grid_set_column_order', 'sapgui_grid_set_column_width', 164 'sapgui_grid_scroll_to_row', 'sapgui_grid_double_click', 'sapgui_grid_click', 'sapgui_grid_press_button', 165 'sapgui_grid_press_total_row', 'sapgui_grid_set_cell_data', 'sapgui_grid_set_checkbox', 166 'sapgui_grid_double_click_current_cell', 'sapgui_grid_click_current_cell', 'sapgui_grid_press_button_current_cell', 167 'sapgui_grid_press_total_row_current_cell', 'sapgui_grid_press_F1', 'sapgui_grid_press_F4', 'sapgui_grid_press_ENTER', 168 'sapgui_grid_press_toolbar_button', 'sapgui_grid_press_toolbar_context_button', 'sapgui_grid_open_context_menu', 169 'sapgui_grid_select_context_menu', 'sapgui_grid_select_toolbar_menu', 'sapgui_grid_fill_data', 170 'sapgui_grid_get_current_cell_row', 'sapgui_grid_get_current_cell_column', 'sapgui_grid_get_rows_count', 171 'sapgui_grid_get_columns_count', 'sapgui_grid_get_cell_data', 'sapgui_grid_is_checkbox_selected', 172 'sapgui_tree_scroll_to_node', 'sapgui_tree_set_hierarchy_header_width', 'sapgui_tree_set_selected_node', 173 'sapgui_tree_double_click_node', 'sapgui_tree_press_key', 'sapgui_tree_press_button', 'sapgui_tree_set_checkbox', 174 'sapgui_tree_double_click_item', 'sapgui_tree_click_link', 'sapgui_tree_open_default_context_menu', 175 'sapgui_tree_open_node_context_menu', 'sapgui_tree_open_header_context_menu', 'sapgui_tree_open_item_context_menu', 176 'sapgui_tree_select_context_menu', 'sapgui_tree_select_item', 'sapgui_tree_select_node', 'sapgui_tree_unselect_node', 177 'sapgui_tree_unselect_all', 'sapgui_tree_select_column', 'sapgui_tree_unselect_column', 'sapgui_tree_set_column_order', 178 'sapgui_tree_collapse_node', 'sapgui_tree_expand_node', 'sapgui_tree_scroll_to_item', 'sapgui_tree_set_column_width', 179 'sapgui_tree_press_header', 'sapgui_tree_is_checkbox_selected', 'sapgui_tree_get_node_text', 'sapgui_tree_get_item_text', 180 'sapgui_calendar_scroll_to_date', 'sapgui_calendar_focus_date', 'sapgui_calendar_select_interval', 181 'sapgui_apogrid_select_all', 'sapgui_apogrid_clear_selection', 'sapgui_apogrid_select_cell', 182 'sapgui_apogrid_deselect_cell', 'sapgui_apogrid_select_row', 'sapgui_apogrid_deselect_row', 183 'sapgui_apogrid_select_column', 'sapgui_apogrid_deselect_column', 'sapgui_apogrid_scroll_to_row', 184 'sapgui_apogrid_scroll_to_column', 'sapgui_apogrid_double_click', 'sapgui_apogrid_set_cell_data', 185 'sapgui_apogrid_get_cell_data', 'sapgui_apogrid_is_cell_changeable', 'sapgui_apogrid_get_cell_format', 186 'sapgui_apogrid_get_cell_tooltip', 'sapgui_apogrid_press_ENTER', 'sapgui_apogrid_open_cell_context_menu', 187 'sapgui_apogrid_select_context_menu_item', 'sapgui_text_edit_scroll_to_line', 'sapgui_text_edit_set_selection_indexes', 188 'sapgui_text_edit_set_unprotected_text_part', 'sapgui_text_edit_get_first_visible_line', 189 'sapgui_text_edit_get_selection_index_start', 'sapgui_text_edit_get_selection_index_end', 190 'sapgui_text_edit_get_number_of_unprotected_text_parts', 'sapgui_text_edit_double_click', 191 'sapgui_text_edit_single_file_dropped', 'sapgui_text_edit_multiple_files_dropped', 'sapgui_text_edit_press_F1', 192 'sapgui_text_edit_press_F4', 'sapgui_text_edit_open_context_menu', 'sapgui_text_edit_select_context_menu', 193 'sapgui_text_edit_modified_status_changed', 'sapgui_htmlviewer_send_event', 'sapgui_htmlviewer_dom_get_property', 194 'sapgui_toolbar_press_button', 'sapgui_toolbar_press_context_button', 'sapgui_toolbar_select_menu_item', 195 'sapgui_toolbar_select_menu_item_by_text', 'sapgui_toolbar_select_context_menu_item', 196 'sapgui_toolbar_select_context_menu_item_by_text' 197 ), 198 // Constants from as_sapgui.h 199 10 => array( 200 'BEGIN_OPTIONAL', 'END_OPTIONAL', 'al-keys', 'ENTER', 'HELP', 'F2', 'BACK', 'F4', 'F5', 'F6', 'F7', 'F8', 'F9', 201 'F10', 'F11', 'ESC', 'SHIFT_F1', 'SHIFT_F2', 'SHIFT_F3', 'SHIFT_F4', 'SHIFT_F5', 'SHIFT_F6', 'SHIFT_F7', 'SHIFT_F8', 202 'SHIFT_F9', 'SHIFT_F10', 'SHIFT_F11', 'SHIFT_F12', 'CTRL_F1', 'CTRL_F2', 'CTRL_F3', 'CTRL_F4', 'CTRL_F5', 'CTRL_F6', 203 'CTRL_F7', 'CTRL_F8', 'CTRL_F9', 'CTRL_F10', 'CTRL_F11', 'CTRL_F12', 'CTRL_SHIFT_F1', 'CTRL_SHIFT_F2', 'CTRL_SHIFT_F3', 204 'CTRL_SHIFT_F4', 'CTRL_SHIFT_F5', 'CTRL_SHIFT_F6', 'CTRL_SHIFT_F7', 'CTRL_SHIFT_F8', 'CTRL_SHIFT_F9', 'CTRL_SHIFT_F10', 205 'CTRL_SHIFT_F11', 'CTRL_SHIFT_F12', 'CANCEL', 'CTRL_F', 'CTRL_PAGE_UP', 'PAGE_UP', 'PAGE_DOWN', 'CTRL_PAGE_DOWN', 206 'CTRL_G', 'CTRL_P' 207 ), 208 ), 209 210 // Symbols and Case Sensitivity 211 // Symbols from: http://en.wikipedia.org/wiki/C_syntax 212 'SYMBOLS' => array( 213 '(', ')', '{', '}', '[', ']', 214 '+', '-', '*', '/', '%', 215 '=', '<', '>', '!', '^', '&', '|', '?', ':', ';', ',' 216 ), 217 'CASE_SENSITIVE' => array( 218 GESHI_COMMENTS => false, 219 1 => true, // Standard C reserved keywords 220 2 => true, // C preprocessor directives 221 3 => true, // Functions from lrun.h 222 4 => true, // Constants from lrun.h 223 5 => true, // Functions from web_api.h 224 6 => true, // Constants from web_api.h 225 7 => true, // Functions from as_web.h 226 8 => true, // Constants from as_web.h 227 9 => true, // Functions from as_sapgui.h 228 10 => true, // Constants from as_sapgui.h 229 ), 230 231 // Styles 232 'STYLES' => array( 233 'KEYWORDS' => array( 234 // Functions are brown, constants and reserved words are blue 235 1 => 'color: #0000ff;', // Standard C reserved keywords 236 2 => 'color: #0000ff;', // C preprocessor directives 237 3 => 'color: #8a0000;', // Functions from lrun.h 238 4 => 'color: #0000ff;', // Constants from lrun.h 239 5 => 'color: #8a0000;', // Functions from web_api.h 240 6 => 'color: #0000ff;', // Constants from web_api.h 241 7 => 'color: #8a0000;', // Functions from as_web.h 242 8 => 'color: #0000ff;', // Constants from as_web.h 243 9 => 'color: #8a0000;', // Functions from as_sapgui.h 244 10 => 'color: #0000ff;', // Constants from as_sapgui.h 245 ), 246 'COMMENTS' => array( 247 // Comments are grey 248 1 => 'color: #9b9b9b;', 249 'MULTI' => 'color: #9b9b9b;' 250 ), 251 'ESCAPE_CHAR' => array( 252 // GeSHi cannot define a separate style for ESCAPE_REGEXP. The style for ESCAPE_CHAR also applies to ESCAPE_REGEXP. 253 // This is used for LoadRunner {parameters} 254 // {parameters} are pink 255 0 => 'color: #c000c0;' 256 ), 257 'BRACKETS' => array( 258 0 => 'color: #000000;' 259 ), 260 'STRINGS' => array( 261 // Strings are green 262 0 => 'color: #008080;' 263 ), 264 'NUMBERS' => array( 265 // Numbers are green 266 0 => 'color: #008080;', 267 GESHI_NUMBER_BIN_PREFIX_0B => 'color: #008080;', 268 GESHI_NUMBER_OCT_PREFIX => 'color: #008080;', 269 GESHI_NUMBER_HEX_PREFIX => 'color: #008080;', 270 GESHI_NUMBER_FLT_SCI_SHORT => 'color:#008080;', 271 GESHI_NUMBER_FLT_SCI_ZERO => 'color:#008080;', 272 GESHI_NUMBER_FLT_NONSCI_F => 'color:#008080;', 273 GESHI_NUMBER_FLT_NONSCI => 'color:#008080;' 274 ), 275 'METHODS' => array( 276 1 => 'color: #000000;' 277 ), 278 'SYMBOLS' => array( 279 0 => 'color: #000000;' 280 ), 281 'REGEXPS' => array( 282 ), 283 'SCRIPT' => array( 284 ) 285 ), 286 287 // URLs for Functions 288 'URLS' => array( 289 1 => '', // Standard C reserved keywords 290 2 => '', // C preprocessor directives 291 3 => '', // Functions from lrun.h 292 4 => '', // Constants from lrun.h 293 5 => '', // Functions from web_api.h 294 6 => '', // Constants from web_api.h 295 7 => '', // Functions from as_web.h 296 8 => '', // Constants from as_web.h 297 9 => '', // Functions from as_sapgui.h 298 10 => '', // Constants from as_sapgui.h 299 ), 300 301 // Object Orientation 302 'OOLANG' => false, 303 'OBJECT_SPLITTERS' => array( 304 ), 305 306 // Regular Expressions 307 // Note that REGEXPS are not applied within strings. 308 'REGEXPS' => array( 309 ), 310 311 // Contextual Highlighting and Strict Mode 312 'STRICT_MODE_APPLIES' => GESHI_NEVER, 313 'SCRIPT_DELIMITERS' => array( 314 ), 315 'HIGHLIGHT_STRICT_BLOCK' => array( 316 ), 317 318 // Tabs 319 // Note that if you are using <pre> tags for your code, then the browser chooses how many spaces your tabs will translate to. 320 'TAB_WIDTH' => 4 321); 322