neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

cmod.vim (6271B)


      1 " Vim syntax file
      2 " Language:		Cmod
      3 " Current Maintainer:	Stephen R. van den Berg <srb@cuci.nl>
      4 " Last Change:		2018 Jan 23
      5 " Version:      	2.9
      6 " 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 loaded
     10 if exists("b:current_syntax")
     11  finish
     12 endif
     13 
     14 let s:cpo_save = &cpo
     15 set cpo&vim
     16 
     17 " Read the C syntax to start with
     18 runtime! syntax/c.vim
     19 unlet b:current_syntax
     20 
     21 if !exists("c_autodoc")
     22  " For embedded Autodoc documentation
     23  syn include @cmodAutodoc <sfile>:p:h/autodoc.vim
     24  unlet b:current_syntax
     25 endif
     26 
     27 " Supports rotating amongst several same-level preprocessor conditionals
     28 packadd! matchit
     29 let b:match_words = "({:}\\@1<=),^\s*#\s*\%(if\%(n\?def\)\|else\|el\%(se\)\?if\|endif\)\>"
     30 
     31 " Cmod extensions
     32 syn keyword cmodStatement	__INIT INIT EXIT GC_RECURSE GC_CHECK
     33 syn keyword cmodStatement	EXTRA OPTIMIZE RETURN
     34 syn keyword cmodStatement	ADD_EFUN ADD_EFUN2 ADD_FUNCTION
     35 syn keyword cmodStatement	MK_STRING MK_STRING_SVALUE CONSTANT_STRLEN
     36 
     37 syn keyword cmodStatement	SET_SVAL pop_n_elems pop_stack
     38 syn keyword cmodStatement	SIMPLE_ARG_TYPE_ERROR Pike_sp Pike_fp MKPCHARP
     39 syn keyword cmodStatement	SET_SVAL_TYPE REF_MAKE_CONST_STRING INC_PCHARP
     40 syn keyword cmodStatement	PTR_FROM_INT INHERIT_FROM_PTR
     41 syn keyword cmodStatement	DECLARE_CYCLIC BEGIN_CYCLIC END_CYCLIC
     42 syn keyword cmodStatement	UPDATE_LOCATION UNSAFE_IS_ZERO SAFE_IS_ZERO
     43 syn keyword cmodStatement	MKPCHARP_STR APPLY_MASTER current_storage
     44 syn keyword cmodStatement	PIKE_MAP_VARIABLE size_shift
     45 syn keyword cmodStatement	THREADS_ALLOW THREADS_DISALLOW
     46 
     47 syn keyword cmodStatement	add_integer_constant ref_push_object
     48 syn keyword cmodStatement	push_string apply_svalue free_svalue
     49 syn keyword cmodStatement	get_inherit_storage get_storage
     50 syn keyword cmodStatement	make_shared_binary_string push_int64
     51 syn keyword cmodStatement	begin_shared_string end_shared_string
     52 syn keyword cmodStatement	add_ref fast_clone_object clone_object
     53 syn keyword cmodStatement	push_undefined push_int ref_push_string
     54 syn keyword cmodStatement	free_string push_ulongest free_object
     55 syn keyword cmodStatement	convert_stack_top_to_bignum push_array
     56 syn keyword cmodStatement	push_object reduce_stack_top_bignum
     57 syn keyword cmodStatement	push_static_text apply_current
     58 syn keyword cmodStatement	assign_svalue free_program destruct_object
     59 syn keyword cmodStatement	start_new_program low_inherit stack_swap
     60 syn keyword cmodStatement	generic_error_program end_program
     61 syn keyword cmodStatement	free_array apply_external copy_mapping
     62 syn keyword cmodStatement	push_constant_text ref_push_mapping
     63 syn keyword cmodStatement	mapping_insert mapping_string_insert_string
     64 syn keyword cmodStatement	f_aggregate_mapping f_aggregate apply
     65 syn keyword cmodStatement	push_mapping push_svalue low_mapping_lookup
     66 syn keyword cmodStatement	assign_svalues_no_free f_add
     67 syn keyword cmodStatement	push_empty_string stack_dup assign_lvalue
     68 syn keyword cmodStatement	low_mapping_string_lookup allocate_mapping
     69 syn keyword cmodStatement	copy_shared_string make_shared_binary_string0
     70 syn keyword cmodStatement	f_call_function f_index f_utf8_to_string
     71 syn keyword cmodStatement	finish_string_builder init_string_builder
     72 syn keyword cmodStatement	reset_string_builder free_string_builder
     73 syn keyword cmodStatement	string_builder_putchar get_all_args
     74 syn keyword cmodStatement	add_shared_strings check_all_args
     75 syn keyword cmodStatement	do_inherit add_string_constant
     76 syn keyword cmodStatement	add_program_constant set_init_callback
     77 syn keyword cmodStatement	simple_mapping_string_lookup
     78 syn keyword cmodStatement	f_sprintf push_text string_has_null
     79 syn keyword cmodStatement	end_and_resize_shared_string
     80 
     81 syn keyword cmodStatement	args sp
     82 
     83 syn keyword cmodStatement	free
     84 
     85 syn keyword cmodConstant	ID_PROTECTED ID_FINAL PIKE_DEBUG
     86 syn keyword cmodConstant	NUMBER_NUMBER
     87 syn keyword cmodConstant	PIKE_T_INT PIKE_T_STRING PIKE_T_ARRAY
     88 syn keyword cmodConstant	PIKE_T_MULTISET PIKE_T_OBJECT PIKE_T_MAPPING
     89 syn keyword cmodConstant	NUMBER_UNDEFINED PIKE_T_PROGRAM PIKE_T_FUNCTION
     90 syn keyword cmodConstant	T_OBJECT T_STRING T_ARRAY T_MAPPING
     91 
     92 syn keyword cmodException	SET_ONERROR UNSET_ONERROR ONERROR
     93 syn keyword cmodException	CALL_AND_UNSET_ONERROR
     94 
     95 syn keyword cmodDebug		Pike_fatal Pike_error check_stack
     96 
     97 syn keyword cmodAccess		public protected private INHERIT
     98 syn keyword cmodAccess		CTYPE CVAR PIKEVAR PIKEFUN
     99 
    100 syn keyword cmodModifier	efun export flags optflags optfunc
    101 syn keyword cmodModifier	type rawtype errname name c_name prototype
    102 syn keyword cmodModifier	program_flags gc_trivial PMOD_EXPORT
    103 syn keyword cmodModifier	ATTRIBUTE noclone noinline
    104 syn keyword cmodModifier	tOr tFuncV tInt tMix tVoid tStr tMap tPrg
    105 syn keyword cmodModifier	tSetvar tArr tMult tMultiset
    106 syn keyword cmodModifier	tArray tMapping tString tSetvar tVar
    107 
    108 syn keyword cmodType		bool mapping string multiset array mixed
    109 syn keyword cmodType		object function program auto svalue
    110 syn keyword cmodType		bignum longest zero pike_string
    111 syn keyword cmodType		this this_program THIS INT_TYPE INT64 INT32
    112 syn keyword cmodType		p_wchar2 PCHARP p_wchar1 p_wchar0 MP_INT
    113 
    114 syn keyword cmodOperator	_destruct create __hash _sizeof _indices _values
    115 syn keyword cmodOperator	_is_type _sprintf _equal _m_delete _get_iterator
    116 syn keyword cmodOperator	_search _types _serialize _deserialize
    117 syn keyword cmodOperator	_size_object _random _sqrt TYPEOF SUBTYPEOF
    118 syn keyword cmodOperator	LIKELY UNLIKELY
    119 
    120 syn keyword cmodStructure	DECLARATIONS PIKECLASS DECLARE_STORAGE
    121 
    122 if !exists("c_autodoc")
    123  syn match cmodAutodocReal display contained "\%(//\|[/ \t\v]\*\|^\*\)\@2<=!.*" contains=@cmodAutodoc containedin=cComment,cCommentL
    124  syn cluster cCommentGroup add=cmodAutodocReal
    125  syn cluster cPreProcGroup add=cmodAutodocReal
    126 endif
    127 
    128 " Default highlighting
    129 hi def link cmodAccess		Statement
    130 hi def link cmodOperator	Operator
    131 hi def link cmodStatement	Statement
    132 hi def link cmodConstant	Constant
    133 hi def link cmodModifier	Type
    134 hi def link cmodType		Type
    135 hi def link cmodStorageClass	StorageClass
    136 hi def link cmodStructure	Structure
    137 hi def link cmodException	Exception
    138 hi def link cmodDebug		Debug
    139 
    140 let b:current_syntax = "cmod"
    141 
    142 let &cpo = s:cpo_save
    143 unlet s:cpo_save
    144 " vim: ts=8