codekingpro/portable-devtools
114k
1" Vim syntax file2" Language: Cmod3" Current Maintainer: Stephen R. van den Berg <srb@cuci.nl>4" Last Change: 2018 Jan 235" Version: 2.96" Remark: Is used to edit Cmod files for Pike development.7" Remark: Includes a highlighter for any embedded Autodoc format.8 9" quit when a syntax file was already loaded10if exists("b:current_syntax")11 finish12endif13 14let s:cpo_save = &cpo15set cpo&vim16 17" Read the C syntax to start with18runtime! syntax/c.vim19unlet b:current_syntax20 21if !exists("c_autodoc")22 " For embedded Autodoc documentation23 syn include @cmodAutodoc <sfile>:p:h/autodoc.vim24 unlet b:current_syntax25endif26 27" Supports rotating amongst several same-level preprocessor conditionals28packadd! matchit29let b:match_words = "({:}\\@1<=),^\s*#\s*\%(if\%(n\?def\)\|else\|el\%(se\)\?if\|endif\)\>"30 31" Cmod extensions32syn keyword cmodStatement __INIT INIT EXIT GC_RECURSE GC_CHECK33syn keyword cmodStatement EXTRA OPTIMIZE RETURN34syn keyword cmodStatement ADD_EFUN ADD_EFUN2 ADD_FUNCTION35syn keyword cmodStatement MK_STRING MK_STRING_SVALUE CONSTANT_STRLEN36 37syn keyword cmodStatement SET_SVAL pop_n_elems pop_stack38syn keyword cmodStatement SIMPLE_ARG_TYPE_ERROR Pike_sp Pike_fp MKPCHARP39syn keyword cmodStatement SET_SVAL_TYPE REF_MAKE_CONST_STRING INC_PCHARP40syn keyword cmodStatement PTR_FROM_INT INHERIT_FROM_PTR41syn keyword cmodStatement DECLARE_CYCLIC BEGIN_CYCLIC END_CYCLIC42syn keyword cmodStatement UPDATE_LOCATION UNSAFE_IS_ZERO SAFE_IS_ZERO43syn keyword cmodStatement MKPCHARP_STR APPLY_MASTER current_storage44syn keyword cmodStatement PIKE_MAP_VARIABLE size_shift45syn keyword cmodStatement THREADS_ALLOW THREADS_DISALLOW46 47syn keyword cmodStatement add_integer_constant ref_push_object48syn keyword cmodStatement push_string apply_svalue free_svalue49syn keyword cmodStatement get_inherit_storage get_storage50syn keyword cmodStatement make_shared_binary_string push_int6451syn keyword cmodStatement begin_shared_string end_shared_string52syn keyword cmodStatement add_ref fast_clone_object clone_object53syn keyword cmodStatement push_undefined push_int ref_push_string54syn keyword cmodStatement free_string push_ulongest free_object55syn keyword cmodStatement convert_stack_top_to_bignum push_array56syn keyword cmodStatement push_object reduce_stack_top_bignum57syn keyword cmodStatement push_static_text apply_current58syn keyword cmodStatement assign_svalue free_program destruct_object59syn keyword cmodStatement start_new_program low_inherit stack_swap60syn keyword cmodStatement generic_error_program end_program61syn keyword cmodStatement free_array apply_external copy_mapping62syn keyword cmodStatement push_constant_text ref_push_mapping63syn keyword cmodStatement mapping_insert mapping_string_insert_string64syn keyword cmodStatement f_aggregate_mapping f_aggregate apply65syn keyword cmodStatement push_mapping push_svalue low_mapping_lookup66syn keyword cmodStatement assign_svalues_no_free f_add67syn keyword cmodStatement push_empty_string stack_dup assign_lvalue68syn keyword cmodStatement low_mapping_string_lookup allocate_mapping69syn keyword cmodStatement copy_shared_string make_shared_binary_string070syn keyword cmodStatement f_call_function f_index f_utf8_to_string71syn keyword cmodStatement finish_string_builder init_string_builder72syn keyword cmodStatement reset_string_builder free_string_builder73syn keyword cmodStatement string_builder_putchar get_all_args74syn keyword cmodStatement add_shared_strings check_all_args75syn keyword cmodStatement do_inherit add_string_constant76syn keyword cmodStatement add_program_constant set_init_callback77syn keyword cmodStatement simple_mapping_string_lookup78syn keyword cmodStatement f_sprintf push_text string_has_null79syn keyword cmodStatement end_and_resize_shared_string80 81syn keyword cmodStatement args sp82 83syn keyword cmodStatement free84 85syn keyword cmodConstant ID_PROTECTED ID_FINAL PIKE_DEBUG86syn keyword cmodConstant NUMBER_NUMBER87syn keyword cmodConstant PIKE_T_INT PIKE_T_STRING PIKE_T_ARRAY88syn keyword cmodConstant PIKE_T_MULTISET PIKE_T_OBJECT PIKE_T_MAPPING89syn keyword cmodConstant NUMBER_UNDEFINED PIKE_T_PROGRAM PIKE_T_FUNCTION90syn keyword cmodConstant T_OBJECT T_STRING T_ARRAY T_MAPPING91 92syn keyword cmodException SET_ONERROR UNSET_ONERROR ONERROR93syn keyword cmodException CALL_AND_UNSET_ONERROR94 95syn keyword cmodDebug Pike_fatal Pike_error check_stack96 97syn keyword cmodAccess public protected private INHERIT98syn keyword cmodAccess CTYPE CVAR PIKEVAR PIKEFUN99 100syn keyword cmodModifier efun export flags optflags optfunc101syn keyword cmodModifier type rawtype errname name c_name prototype102syn keyword cmodModifier program_flags gc_trivial PMOD_EXPORT103syn keyword cmodModifier ATTRIBUTE noclone noinline104syn keyword cmodModifier tOr tFuncV tInt tMix tVoid tStr tMap tPrg105syn keyword cmodModifier tSetvar tArr tMult tMultiset106syn keyword cmodModifier tArray tMapping tString tSetvar tVar107 108syn keyword cmodType bool mapping string multiset array mixed109syn keyword cmodType object function program auto svalue110syn keyword cmodType bignum longest zero pike_string111syn keyword cmodType this this_program THIS INT_TYPE INT64 INT32112syn keyword cmodType p_wchar2 PCHARP p_wchar1 p_wchar0 MP_INT113 114syn keyword cmodOperator _destruct create __hash _sizeof _indices _values115syn keyword cmodOperator _is_type _sprintf _equal _m_delete _get_iterator116syn keyword cmodOperator _search _types _serialize _deserialize117syn keyword cmodOperator _size_object _random _sqrt TYPEOF SUBTYPEOF118syn keyword cmodOperator LIKELY UNLIKELY119 120syn keyword cmodStructure DECLARATIONS PIKECLASS DECLARE_STORAGE121 122if !exists("c_autodoc")123 syn match cmodAutodocReal display contained "\%(//\|[/ \t\v]\*\|^\*\)\@2<=!.*" contains=@cmodAutodoc containedin=cComment,cCommentL124 syn cluster cCommentGroup add=cmodAutodocReal125 syn cluster cPreProcGroup add=cmodAutodocReal126endif127 128" Default highlighting129hi def link cmodAccess Statement130hi def link cmodOperator Operator131hi def link cmodStatement Statement132hi def link cmodConstant Constant133hi def link cmodModifier Type134hi def link cmodType Type135hi def link cmodStorageClass StorageClass136hi def link cmodStructure Structure137hi def link cmodException Exception138hi def link cmodDebug Debug139 140let b:current_syntax = "cmod"141 142let &cpo = s:cpo_save143unlet s:cpo_save144" vim: ts=8145 