codekingpro/portable-devtools
115k
1" Vim syntax file2" Language: LPC3" Maintainer: Shizhu Pan <poet@mudbuilder.net>4" URL: http://poet.tomud.com/pub/lpc.vim.bz25" Last Change: 2016 Aug 316" Comments: If you are using Vim 6.2 or later, see :h lpc.vim for7" file type recognizing, if not, you had to use modeline.8 9 10" Nodule: This is the start nodule. {{{111 12" quit when a syntax file was already loaded13if exists("b:current_syntax")14 finish15endif16 17let s:cpo_save = &cpo18set cpo&vim19 20" Nodule: Keywords {{{121 22" LPC keywords23" keywords should always be highlighted so "contained" is not used.24syn cluster lpcKeywdGrp contains=lpcConditional,lpcLabel,lpcOperator,lpcRepeat,lpcStatement,lpcModifier,lpcReserved25 26syn keyword lpcConditional if else switch27syn keyword lpcLabel case default28syn keyword lpcOperator catch efun in inherit29syn keyword lpcRepeat do for foreach while30syn keyword lpcStatement break continue return31 32syn match lpcEfunError /efun[^:]/ display33 34" Illegal to use keyword as function35" It's not working, maybe in the next version.36syn keyword lpcKeywdError contained if for foreach return switch while37 38" These are keywords only because they take lvalue or type as parameter,39" so these keywords should only be used as function but cannot be names of40" user-defined functions.41syn keyword lpcKeywdFunc new parse_command sscanf time_expression42 43" Nodule: Type and modifiers {{{144 45" Type names list.46 47" Special types48syn keyword lpcType void mixed unknown49" Scalar/Value types.50syn keyword lpcType int float string51" Pointer types.52syn keyword lpcType array buffer class function mapping object53" Other types.54if exists("lpc_compat_32")55 syn keyword lpcType closure status funcall56else57 syn keyword lpcError closure status58 syn keyword lpcType multiset59endif60 61" Type modifier.62syn keyword lpcModifier nomask private public63syn keyword lpcModifier varargs virtual64 65" sensible modifiers66if exists("lpc_pre_v22")67 syn keyword lpcReserved nosave protected ref68 syn keyword lpcModifier static69else70 syn keyword lpcError static71 syn keyword lpcModifier nosave protected ref72endif73 74" Nodule: Applies {{{175 76" Match a function declaration or function pointer77syn match lpcApplyDecl excludenl /->\h\w*(/me=e-1 contains=lpcApplies transparent display78 79" We should note that in func_spec.c the efun definition syntax is so80" complicated that I use such a long regular expression to describe.81syn match lpcLongDecl excludenl /\(\s\|\*\)\h\+\s\h\+(/me=e-1 contains=@lpcEfunGroup,lpcType,@lpcKeywdGrp transparent display82 83" this is form for all functions84" ->foo() form had been excluded85syn match lpcFuncDecl excludenl /\h\w*(/me=e-1 contains=lpcApplies,@lpcEfunGroup,lpcKeywdError transparent display86 87" The (: :) parenthesis or $() forms a function pointer88syn match lpcFuncName /(:\s*\h\+\s*:)/me=e-1 contains=lpcApplies,@lpcEfunGroup transparent display contained89syn match lpcFuncName /(:\s*\h\+,/ contains=lpcApplies,@lpcEfunGroup transparent display contained90syn match lpcFuncName /\$(\h\+)/ contains=lpcApplies,@lpcEfunGroup transparent display contained91 92" Applies list.93" system applies94syn keyword lpcApplies contained __INIT clean_up create destructor heart_beat id init move_or_destruct reset95" interactive96syn keyword lpcApplies contained catch_tell logon net_dead process_input receive_message receive_snoop telnet_suboption terminal_type window_size write_prompt97" master applies98syn keyword lpcApplies contained author_file compile_object connect crash creator_file domain_file epilog error_handler flag get_bb_uid get_root_uid get_save_file_name log_error make_path_absolute object_name preload privs_file retrieve_ed_setup save_ed_setup slow_shutdown99syn keyword lpcApplies contained valid_asm valid_bind valid_compile_to_c valid_database valid_hide valid_link valid_object valid_override valid_read valid_save_binary valid_seteuid valid_shadow valid_socket valid_write100" parsing101syn keyword lpcApplies contained inventory_accessible inventory_visible is_living parse_command_adjectiv_id_list parse_command_adjective_id_list parse_command_all_word parse_command_id_list parse_command_plural_id_list parse_command_prepos_list parse_command_users parse_get_environment parse_get_first_inventory parse_get_next_inventory parser_error_message102 103 104" Nodule: Efuns {{{1105 106syn cluster lpcEfunGroup contains=lpc_efuns,lpcOldEfuns,lpcNewEfuns,lpcKeywdFunc107 108" Compat32 efuns109if exists("lpc_compat_32")110 syn keyword lpc_efuns contained closurep heart_beat_info m_delete m_values m_indices query_once_interactive strstr111else112 syn match lpcErrFunc /#`\h\w*/113 " Shell compatible first line comment.114 syn region lpcCommentFunc start=/^#!/ end=/$/115endif116 117" pre-v22 efuns which are removed in newer versions.118syn keyword lpcOldEfuns contained tail dump_socket_status119 120" new efuns after v22 should be added here!121syn keyword lpcNewEfuns contained socket_status122 123" LPC efuns list.124" DEBUG efuns Not included.125" New efuns should NOT be added to this list, see v22 efuns above.126" Efuns list {{{2127syn keyword lpc_efuns contained acos add_action all_inventory all_previous_objects allocate allocate_buffer allocate_mapping apply arrayp asin atan author_stats128syn keyword lpc_efuns contained bind break_string bufferp129syn keyword lpc_efuns contained cache_stats call_other call_out call_out_info call_stack capitalize catch ceil check_memory children classp clear_bit clone_object clonep command commands copy cos cp crc32 crypt ctime130syn keyword lpc_efuns contained db_close db_commit db_connect db_exec db_fetch db_rollback db_status debug_info debugmalloc debug_message deep_inherit_list deep_inventory destruct disable_commands disable_wizard domain_stats dumpallobj dump_file_descriptors dump_prog131syn keyword lpc_efuns contained each ed ed_cmd ed_start enable_commands enable_wizard environment error errorp eval_cost evaluate exec exp explode export_uid external_start132syn keyword lpc_efuns contained fetch_variable file_length file_name file_size filter filter_array filter_mapping find_call_out find_living find_object find_player first_inventory floatp floor flush_messages function_exists function_owner function_profile functionp functions133syn keyword lpc_efuns contained generate_source get_char get_config get_dir geteuid getuid134syn keyword lpc_efuns contained heart_beats135syn keyword lpc_efuns contained id_matrix implode in_edit in_input inherit_list inherits input_to interactive intp136syn keyword lpc_efuns contained keys137syn keyword lpc_efuns contained link living livings load_object localtime log log10 lookat_rotate lower_case lpc_info138syn keyword lpc_efuns contained malloc_check malloc_debug malloc_status map map_array map_delete map_mapping mapp master match_path max_eval_cost member_array memory_info memory_summary message mkdir moncontrol move_object mud_status139syn keyword lpc_efuns contained named_livings network_stats next_bit next_inventory notify_fail nullp140syn keyword lpc_efuns contained objectp objects oldcrypt opcprof origin141syn keyword lpc_efuns contained parse_add_rule parse_add_synonym parse_command parse_dump parse_init parse_my_rules parse_refresh parse_remove parse_sentence pluralize pointerp pow present previous_object printf process_string process_value program_info142syn keyword lpc_efuns contained query_ed_mode query_heart_beat query_host_name query_idle query_ip_name query_ip_number query_ip_port query_load_average query_notify_fail query_privs query_replaced_program query_shadowing query_snoop query_snooping query_verb143syn keyword lpc_efuns contained random read_buffer read_bytes read_file receive reclaim_objects refs regexp reg_assoc reload_object remove_action remove_call_out remove_interactive remove_shadow rename repeat_string replace_program replace_string replaceable reset_eval_cost resolve restore_object restore_variable rm rmdir rotate_x rotate_y rotate_z rusage144syn keyword lpc_efuns contained save_object save_variable say scale set_author set_bit set_eval_limit set_heart_beat set_hide set_light set_living_name set_malloc_mask set_privs set_reset set_this_player set_this_user seteuid shadow shallow_inherit_list shout shutdown sin sizeof snoop socket_accept socket_acquire socket_address socket_bind socket_close socket_connect socket_create socket_error socket_listen socket_release socket_write sort_array sprintf sqrt stat store_variable strcmp stringp strlen strsrch145syn keyword lpc_efuns contained tan tell_object tell_room terminal_colour test_bit this_interactive this_object this_player this_user throw time to_float to_int trace traceprefix translate typeof146syn keyword lpc_efuns contained undefinedp unique_array unique_mapping upper_case uptime userp users147syn keyword lpc_efuns contained values variables virtualp148syn keyword lpc_efuns contained wizardp write write_buffer write_bytes write_file149 150" Nodule: Constants {{{1151 152" LPC Constants.153" like keywords, constants are always highlighted, be careful to choose only154" the constants we used to add to this list.155syn keyword lpcConstant __ARCH__ __COMPILER__ __DIR__ __FILE__ __OPTIMIZATION__ __PORT__ __VERSION__156" Defines in options.h are all predefined in LPC sources surrounding by157" two underscores. Do we need to include all of that?158syn keyword lpcConstant __SAVE_EXTENSION__ __HEARTBEAT_INTERVAL__159" from the documentation we know that these constants remains only for160" backward compatibility and should not be used any more.161syn keyword lpcConstant HAS_ED HAS_PRINTF HAS_RUSAGE HAS_DEBUG_LEVEL162syn keyword lpcConstant MUD_NAME F__THIS_OBJECT163 164" Nodule: Todo for this file. {{{1165 166" TODO : need to check for LPC4 syntax and other series of LPC besides167" v22, b21 and l32, if you had a good idea, contact me at poet@mudbuilder.net168" and I will be appreciated about that.169 170" Notes about some FAQ:171"172" About variables : We adopts the same behavior for C because almost all the173" LPC programmers are also C programmers, so we don't need separate settings174" for C and LPC. That is the reason why I don't change variables like175" "c_no_utf"s to "lpc_no_utf"s.176"177" Copy : Some of the following seems to be copied from c.vim but not quite178" the same in details because the syntax for C and LPC is different.179"180" Color scheme : this syntax file had been thouroughly tested to work well181" for all of the dark-backgrounded color schemes Vim has provided officially,182" and it should be quite Ok for all of the bright-backgrounded color schemes,183" of course it works best for the color scheme that I am using, download it184" from http://poet.tomud.com/pub/ps_color.vim.bz2 if you want to try it.185"186 187" Nodule: String and Character {{{1188 189 190" String and Character constants191" Highlight special characters (those which have a backslash) differently192syn match lpcSpecial display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)"193if !exists("c_no_utf")194 syn match lpcSpecial display contained "\\\(u\x\{4}\|U\x\{8}\)"195endif196 197" LPC version of sprintf() format,198syn match lpcFormat display "%\(\d\+\)\=[-+ |=#@:.]*\(\d\+\)\=\('\I\+'\|'\I*\\'\I*'\)\=[OsdicoxXf]" contained199syn match lpcFormat display "%%" contained200syn region lpcString start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=lpcSpecial,lpcFormat201" lpcCppString: same as lpcString, but ends at end of line202syn region lpcCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=lpcSpecial,lpcFormat203 204" LPC preprocessor for the text formatting short cuts205" Thanks to Dr. Charles E. Campbell <cec@gryphon.gsfc.nasa.gov>206" he suggests the best way to do this.207syn region lpcTextString start=/@\z(\h\w*\)$/ end=/^\z1/ contains=lpcSpecial208syn region lpcArrayString start=/@@\z(\h\w*\)$/ end=/^\z1/ contains=lpcSpecial209 210" Character211syn match lpcCharacter "L\='[^\\]'"212syn match lpcCharacter "L'[^']*'" contains=lpcSpecial213syn match lpcSpecialError "L\='\\[^'\"?\\abefnrtv]'"214syn match lpcSpecialCharacter "L\='\\['\"?\\abefnrtv]'"215syn match lpcSpecialCharacter display "L\='\\\o\{1,3}'"216syn match lpcSpecialCharacter display "'\\x\x\{1,2}'"217syn match lpcSpecialCharacter display "L'\\x\x\+'"218 219" Nodule: White space {{{1220 221" when wanted, highlight trailing white space222if exists("c_space_errors")223 if !exists("c_no_trail_space_error")224 syn match lpcSpaceError display excludenl "\s\+$"225 endif226 if !exists("c_no_tab_space_error")227 syn match lpcSpaceError display " \+\t"me=e-1228 endif229endif230 231" Nodule: Parenthesis and brackets {{{1232 233" catch errors caused by wrong parenthesis and brackets234syn cluster lpcParenGroup contains=lpcParenError,lpcIncluded,lpcSpecial,lpcCommentSkip,lpcCommentString,lpcComment2String,@lpcCommentGroup,lpcCommentStartError,lpcUserCont,lpcUserLabel,lpcBitField,lpcCommentSkip,lpcOctalZero,lpcCppOut,lpcCppOut2,lpcCppSkip,lpcFormat,lpcNumber,lpcFloat,lpcOctal,lpcOctalError,lpcNumbersCom235syn region lpcParen transparent start='(' end=')' contains=ALLBUT,@lpcParenGroup,lpcCppParen,lpcErrInBracket,lpcCppBracket,lpcCppString,@lpcEfunGroup,lpcApplies,lpcKeywdError236" lpcCppParen: same as lpcParen but ends at end-of-line; used in lpcDefine237syn region lpcCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@lpcParenGroup,lpcErrInBracket,lpcParen,lpcBracket,lpcString,@lpcEfunGroup,lpcApplies,lpcKeywdError238syn match lpcParenError display ")"239syn match lpcParenError display "\]"240" for LPC:241" Here we should consider the array ({ }) parenthesis and mapping ([ ])242" parenthesis and multiset (< >) parenthesis.243syn match lpcErrInParen display contained "[^^]{"ms=s+1244syn match lpcErrInParen display contained "\(}\|\]\)[^)]"me=e-1245syn region lpcBracket transparent start='\[' end=']' contains=ALLBUT,@lpcParenGroup,lpcErrInParen,lpcCppParen,lpcCppBracket,lpcCppString,@lpcEfunGroup,lpcApplies,lpcFuncName,lpcKeywdError246" lpcCppBracket: same as lpcParen but ends at end-of-line; used in lpcDefine247syn region lpcCppBracket transparent start='\[' skip='\\$' excludenl end=']' end='$' contained contains=ALLBUT,@lpcParenGroup,lpcErrInParen,lpcParen,lpcBracket,lpcString,@lpcEfunGroup,lpcApplies,lpcFuncName,lpcKeywdError248syn match lpcErrInBracket display contained "[);{}]"249 250" Nodule: Numbers {{{1251 252" integer number, or floating point number without a dot and with "f".253syn case ignore254syn match lpcNumbers display transparent "\<\d\|\.\d" contains=lpcNumber,lpcFloat,lpcOctalError,lpcOctal255" Same, but without octal error (for comments)256syn match lpcNumbersCom display contained transparent "\<\d\|\.\d" contains=lpcNumber,lpcFloat,lpcOctal257syn match lpcNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"258" hex number259syn match lpcNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"260" Flag the first zero of an octal number as something special261syn match lpcOctal display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=lpcOctalZero262syn match lpcOctalZero display contained "\<0"263syn match lpcFloat display contained "\d\+f"264" floating point number, with dot, optional exponent265syn match lpcFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="266" floating point number, starting with a dot, optional exponent267syn match lpcFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"268" floating point number, without dot, with exponent269syn match lpcFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>"270" flag an octal number with wrong digits271syn match lpcOctalError display contained "0\o*[89]\d*"272syn case match273 274" Nodule: Comment string {{{1275 276" lpcCommentGroup allows adding matches for special things in comments277syn keyword lpcTodo contained TODO FIXME XXX278syn cluster lpcCommentGroup contains=lpcTodo279 280if exists("c_comment_strings")281 " A comment can contain lpcString, lpcCharacter and lpcNumber.282 syntax match lpcCommentSkip contained "^\s*\*\($\|\s\+\)"283 syntax region lpcCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=lpcSpecial,lpcCommentSkip284 syntax region lpcComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=lpcSpecial285 syntax region lpcCommentL start="//" skip="\\$" end="$" keepend contains=@lpcCommentGroup,lpcComment2String,lpcCharacter,lpcNumbersCom,lpcSpaceError286 syntax region lpcComment matchgroup=lpcCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@lpcCommentGroup,lpcCommentStartError,lpcCommentString,lpcCharacter,lpcNumbersCom,lpcSpaceError287else288 syn region lpcCommentL start="//" skip="\\$" end="$" keepend contains=@lpcCommentGroup,lpcSpaceError289 syn region lpcComment matchgroup=lpcCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@lpcCommentGroup,lpcCommentStartError,lpcSpaceError290endif291" keep a // comment separately, it terminates a preproc. conditional292syntax match lpcCommentError display "\*/"293syntax match lpcCommentStartError display "/\*"me=e-1 contained294 295" Nodule: Pre-processor {{{1296 297syn region lpcPreCondit start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=lpcComment,lpcCppString,lpcCharacter,lpcCppParen,lpcParenError,lpcNumbers,lpcCommentError,lpcSpaceError298syn match lpcPreCondit display "^\s*#\s*\(else\|endif\)\>"299if !exists("c_no_if0")300 syn region lpcCppOut start="^\s*#\s*if\s\+0\+\>" end=".\|$" contains=lpcCppOut2301 syn region lpcCppOut2 contained start="0" end="^\s*#\s*\(endif\>\|else\>\|elif\>\)" contains=lpcSpaceError,lpcCppSkip302 syn region lpcCppSkip contained start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*#\s*endif\>" contains=lpcSpaceError,lpcCppSkip303endif304syn region lpcIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+305syn match lpcIncluded display contained "<[^>]*>"306syn match lpcInclude display "^\s*#\s*include\>\s*["<]" contains=lpcIncluded307syn match lpcLineSkip "\\$"308syn cluster lpcPreProcGroup contains=lpcPreCondit,lpcIncluded,lpcInclude,lpcDefine,lpcErrInParen,lpcErrInBracket,lpcUserLabel,lpcSpecial,lpcOctalZero,lpcCppOut,lpcCppOut2,lpcCppSkip,lpcFormat,lpcNumber,lpcFloat,lpcOctal,lpcOctalError,lpcNumbersCom,lpcString,lpcCommentSkip,lpcCommentString,lpcComment2String,@lpcCommentGroup,lpcCommentStartError,lpcParen,lpcBracket,lpcMulti,lpcKeywdError309syn region lpcDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@lpcPreProcGroup310 311if exists("lpc_pre_v22")312 syn region lpcPreProc start="^\s*#\s*\(pragma\>\|echo\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@lpcPreProcGroup313else314 syn region lpcPreProc start="^\s*#\s*\(pragma\>\|echo\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@lpcPreProcGroup315endif316 317" Nodule: User labels {{{1318 319" Highlight Labels320" User labels in LPC is not allowed, only "case x" and "default" is supported321syn cluster lpcMultiGroup contains=lpcIncluded,lpcSpecial,lpcCommentSkip,lpcCommentString,lpcComment2String,@lpcCommentGroup,lpcCommentStartError,lpcUserCont,lpcUserLabel,lpcBitField,lpcOctalZero,lpcCppOut,lpcCppOut2,lpcCppSkip,lpcFormat,lpcNumber,lpcFloat,lpcOctal,lpcOctalError,lpcNumbersCom,lpcCppParen,lpcCppBracket,lpcCppString,lpcKeywdError322syn region lpcMulti transparent start='\(case\|default\|public\|protected\|private\)' skip='::' end=':' contains=ALLBUT,@lpcMultiGroup323 324syn cluster lpcLabelGroup contains=lpcUserLabel325syn match lpcUserCont display "^\s*lpc:$" contains=@lpcLabelGroup326 327" Don't want to match anything328syn match lpcUserLabel display "lpc" contained329 330" Nodule: Initializations {{{1331 332if exists("c_minlines")333 let b:c_minlines = c_minlines334else335 if !exists("c_no_if0")336 let b:c_minlines = 50 " #if 0 constructs can be long337 else338 let b:c_minlines = 15 " mostly for () constructs339 endif340endif341exec "syn sync ccomment lpcComment minlines=" . b:c_minlines342 343" Make sure these options take place since we no longer depend on file type344" plugin for C345setlocal cindent346setlocal fo-=t fo+=croql347setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://348 349" Win32 can filter files in the browse dialog350if has("gui_win32") && !exists("b:browsefilter")351 let b:browsefilter = "LPC Source Files (*.c *.d *.h)\t*.c;*.d;*.h\n" .352 \ "LPC Data Files (*.scr *.o *.dat)\t*.scr;*.o;*.dat\n" .353 \ "Text Documentation (*.txt)\t*.txt\n" .354 \ "All Files (*.*)\t*.*\n"355endif356 357" Nodule: Highlight links {{{1358 359" Define the default highlighting.360" Only when an item doesn't have highlighting yet361 362hi def link lpcModifier lpcStorageClass363 364hi def link lpcQuotedFmt lpcFormat365hi def link lpcFormat lpcSpecial366hi def link lpcCppString lpcString " Cpp means367 " C Pre-Processor368hi def link lpcCommentL lpcComment369hi def link lpcCommentStart lpcComment370hi def link lpcUserLabel lpcLabel371hi def link lpcSpecialCharacter lpcSpecial372hi def link lpcOctal lpcPreProc373hi def link lpcOctalZero lpcSpecial " LPC will treat octal numbers374 " as decimals, programmers should375 " be aware of that.376hi def link lpcEfunError lpcError377hi def link lpcKeywdError lpcError378hi def link lpcOctalError lpcError379hi def link lpcParenError lpcError380hi def link lpcErrInParen lpcError381hi def link lpcErrInBracket lpcError382hi def link lpcCommentError lpcError383hi def link lpcCommentStartError lpcError384hi def link lpcSpaceError lpcError385hi def link lpcSpecialError lpcError386hi def link lpcErrFunc lpcError387 388if exists("lpc_pre_v22")389 hi def link lpcOldEfuns lpc_efuns390 hi def link lpcNewEfuns lpcError391else392 hi def link lpcOldEfuns lpcReserved393 hi def link lpcNewEfuns lpc_efuns394endif395hi def link lpc_efuns lpcFunction396 397hi def link lpcReserved lpcPreProc398hi def link lpcTextString lpcString " This should be preprocessors, but399hi def link lpcArrayString lpcPreProc " let's make some difference400 " between text and array401 402hi def link lpcIncluded lpcString403hi def link lpcCommentString lpcString404hi def link lpcComment2String lpcString405hi def link lpcCommentSkip lpcComment406hi def link lpcCommentFunc lpcComment407 408hi def link lpcCppSkip lpcCppOut409hi def link lpcCppOut2 lpcCppOut410hi def link lpcCppOut lpcComment411 412" Standard type below413hi def link lpcApplies Special414hi def link lpcCharacter Character415hi def link lpcComment Comment416hi def link lpcConditional Conditional417hi def link lpcConstant Constant418hi def link lpcDefine Macro419hi def link lpcError Error420hi def link lpcFloat Float421hi def link lpcFunction Function422hi def link lpcIdentifier Identifier423hi def link lpcInclude Include424hi def link lpcLabel Label425hi def link lpcNumber Number426hi def link lpcOperator Operator427hi def link lpcPreCondit PreCondit428hi def link lpcPreProc PreProc429hi def link lpcRepeat Repeat430hi def link lpcStatement Statement431hi def link lpcStorageClass StorageClass432hi def link lpcString String433hi def link lpcStructure Structure434hi def link lpcSpecial LineNr435hi def link lpcTodo Todo436hi def link lpcType Type437 438 439" Nodule: This is the end nodule. {{{1440 441let b:current_syntax = "lpc"442 443let &cpo = s:cpo_save444unlet s:cpo_save445 446" vim:ts=8:nosta:sw=2:ai:si:447" vim600:set fdm=marker: }}}1448 