123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246 |
- " Vim syntax file
- " Language: Euphoria 4.0.5 (http://www.openeuphoria.org/)
- " Maintainer: Shian Lee
- " Last Change: 2014 Feb 26 (for Vim 7.4)
- " Remark: Euphoria has two syntax files, euphoria3.vim and euphoria4.vim;
- " For details see :help ft-euphoria-syntax
- " quit when a syntax file was already loaded
- if exists("b:current_syntax")
- finish
- endif
- " Reset compatible-options to Vim default value, just in case:
- let s:save_cpo = &cpo
- set cpo&vim
- " Should suffice for very long strings and expressions:
- syn sync lines=40
- " Euphoria is a case-sensitive language (with only 4 builtin types):
- syntax case match
- " Some keywords/Builtins for Debug - from $EUDIR/include/euphoria/keywords.e:
- syn keyword euphoria4Debug with without trace profile batch check indirect
- syn keyword euphoria4Debug includes inline warning define
- " Keywords for conditional compilation - from $EUDIR/include/euphoria/keywords.e:
- syn keyword euphoria4PreProc elsedef elsifdef ifdef
- " Keywords (Statments) - from $EUDIR/include/euphoria/keywords.e:
- syn keyword euphoria4Keyword and as break by case constant continue do else
- syn keyword euphoria4Keyword elsif end entry enum exit export
- syn keyword euphoria4Keyword fallthru for function global goto if include
- syn keyword euphoria4Keyword label loop namespace not or override procedure
- syn keyword euphoria4Keyword public retry return routine switch then to type
- syn keyword euphoria4Keyword until while xor
- " Builtins (Identifiers) - from $EUDIR/include/euphoria/keywords.e:
- syn keyword euphoria4Builtin abort and_bits append arctan atom c_func c_proc
- syn keyword euphoria4Builtin call call_func call_proc clear_screen close
- syn keyword euphoria4Builtin command_line compare cos date delete delete_routine
- syn keyword euphoria4Builtin equal find floor get_key getc getenv gets hash
- syn keyword euphoria4Builtin head include_paths insert integer length log
- syn keyword euphoria4Builtin machine_func machine_proc match mem_copy mem_set
- syn keyword euphoria4Builtin not_bits object open option_switches or_bits peek
- syn keyword euphoria4Builtin peek2s peek2u peek4s peek4u peek_string peeks pixel
- syn keyword euphoria4Builtin platform poke poke2 poke4 position power prepend
- syn keyword euphoria4Builtin print printf puts rand remainder remove repeat
- syn keyword euphoria4Builtin replace routine_id sequence sin splice sprintf
- syn keyword euphoria4Builtin sqrt system system_exec tail tan task_clock_start
- syn keyword euphoria4Builtin task_clock_stop task_create task_list task_schedule
- syn keyword euphoria4Builtin task_self task_status task_suspend task_yield time
- syn keyword euphoria4Builtin xor_bits
- " Builtins (Identifiers) shortcuts for length() and print():
- syn match euphoria4Builtin "\$"
- syn match euphoria4Builtin "?"
- " Library Identifiers (Function) - grep from $EUDIR/include/*:
- syn keyword euphoria4Library DEP_on SyntaxColor abbreviate_path abs absolute_path
- syn keyword euphoria4Library accept add add_item all_copyrights all_matches
- syn keyword euphoria4Library allocate allocate_code allocate_data allocate_low
- syn keyword euphoria4Library allocate_pointer_array allocate_protect
- syn keyword euphoria4Library allocate_string allocate_string_pointer_array
- syn keyword euphoria4Library allocate_wstring allocations allow_break any_key
- syn keyword euphoria4Library append_lines apply approx arccos arccosh arcsin
- syn keyword euphoria4Library arcsinh arctanh assert at atan2 atom_to_float32
- syn keyword euphoria4Library atom_to_float64 attr_to_colors avedev average
- syn keyword euphoria4Library begins binary_search bind binop_ok bits_to_int
- syn keyword euphoria4Library bk_color breakup build_commandline build_list
- syn keyword euphoria4Library bytes_to_int calc_hash calc_primes call_back
- syn keyword euphoria4Library canon2win canonical canonical_path ceil
- syn keyword euphoria4Library central_moment chance char_test chdir
- syn keyword euphoria4Library check_all_blocks check_break check_free_list
- syn keyword euphoria4Library checksum clear clear_directory cmd_parse
- syn keyword euphoria4Library colors_to_attr columnize combine connect
- syn keyword euphoria4Library console_colors copy copy_file cosh count crash
- syn keyword euphoria4Library crash_file crash_message crash_routine create
- syn keyword euphoria4Library create_directory create_file curdir current_dir
- syn keyword euphoria4Library cursor custom_sort datetime days_in_month
- syn keyword euphoria4Library days_in_year db_cache_clear db_clear_table db_close
- syn keyword euphoria4Library db_compress db_connect db_create db_create_table
- syn keyword euphoria4Library db_current db_current_table db_delete_record
- syn keyword euphoria4Library db_delete_table db_dump db_fetch_record db_find_key
- syn keyword euphoria4Library db_get_errors db_get_recid db_insert db_open
- syn keyword euphoria4Library db_record_data db_record_key db_record_recid
- syn keyword euphoria4Library db_rename_table db_replace_data db_replace_recid
- syn keyword euphoria4Library db_select db_select_table db_set_caching
- syn keyword euphoria4Library db_table_list db_table_size deallocate decanonical
- syn keyword euphoria4Library decode defaulted_value defaultext define_c_func
- syn keyword euphoria4Library define_c_proc define_c_var deg2rad delete_file
- syn keyword euphoria4Library dep_works dequote deserialize diff dir dir_size
- syn keyword euphoria4Library dirname disk_metrics disk_size display
- syn keyword euphoria4Library display_text_image dnsquery driveid dump dup emovavg
- syn keyword euphoria4Library encode ends ensure_in_list ensure_in_range
- syn keyword euphoria4Library error_code error_message error_no error_string
- syn keyword euphoria4Library error_to_string escape euphoria_copyright exec
- syn keyword euphoria4Library exp extract fetch fib file_exists file_length
- syn keyword euphoria4Library file_timestamp file_type filebase fileext filename
- syn keyword euphoria4Library filter find_all find_all_but find_any find_each
- syn keyword euphoria4Library find_nested find_replace find_replace_callback
- syn keyword euphoria4Library find_replace_limit flags_to_string flatten
- syn keyword euphoria4Library float32_to_atom float64_to_atom flush for_each
- syn keyword euphoria4Library format frac free free_code free_console free_low
- syn keyword euphoria4Library free_pointer_array from_date from_unix gcd geomean
- syn keyword euphoria4Library get get_bytes get_charsets get_def_lang
- syn keyword euphoria4Library get_display_page get_dstring get_encoding_properties
- syn keyword euphoria4Library get_integer16 get_integer32 get_lang_path get_lcid
- syn keyword euphoria4Library get_mouse get_option get_ovector_size get_pid
- syn keyword euphoria4Library get_position get_rand get_screen_char get_text
- syn keyword euphoria4Library get_vector getaddrinfo getmxrr getnsrr graphics_mode
- syn keyword euphoria4Library harmean has has_console has_match hex_text
- syn keyword euphoria4Library host_by_addr host_by_name http_get http_post iff
- syn keyword euphoria4Library iif info init_class init_curdir insertion_sort
- syn keyword euphoria4Library instance int_to_bits int_to_bytes intdiv
- syn keyword euphoria4Library is_DEP_supported is_empty is_even is_even_obj
- syn keyword euphoria4Library is_in_list is_in_range is_inetaddr is_leap_year
- syn keyword euphoria4Library is_match is_using_DEP is_win_nt join join_path
- syn keyword euphoria4Library keep_comments keep_newlines key_codes keys keyvalues
- syn keyword euphoria4Library kill kurtosis lang_load larger_of largest last
- syn keyword euphoria4Library listen load load_map locate_file lock_file
- syn keyword euphoria4Library lock_memory log10 lookup lower malloc mapping
- syn keyword euphoria4Library match_all match_any match_replace matches max
- syn keyword euphoria4Library maybe_any_key median memory_used merge message_box
- syn keyword euphoria4Library mid min minsize mod mode money mouse_events
- syn keyword euphoria4Library mouse_pointer movavg move_file nested_get
- syn keyword euphoria4Library nested_put new new_extra new_from_kvpairs
- syn keyword euphoria4Library new_from_string new_time next_prime now now_gmt
- syn keyword euphoria4Library number open_dll optimize option_spec_to_string
- syn keyword euphoria4Library or_all pad_head pad_tail pairs parse
- syn keyword euphoria4Library parse_commandline parse_ip_address parse_querystring
- syn keyword euphoria4Library parse_url patch pathinfo pathname pcre_copyright
- syn keyword euphoria4Library peek_end peek_top peek_wstring pivot platform_name
- syn keyword euphoria4Library poke_string poke_wstring pop powof2 prepare_block
- syn keyword euphoria4Library pretty_print pretty_sprint prime_list process_lines
- syn keyword euphoria4Library product project prompt_number prompt_string proper
- syn keyword euphoria4Library push put put_integer16 put_integer32 put_screen_char
- syn keyword euphoria4Library quote rad2deg rand_range range raw_frequency read
- syn keyword euphoria4Library read_bitmap read_file read_lines receive receive_from
- syn keyword euphoria4Library register_block rehash remove_all remove_directory
- syn keyword euphoria4Library remove_dups remove_item remove_subseq rename_file
- syn keyword euphoria4Library repeat_pattern reset retain_all reverse rfind rmatch
- syn keyword euphoria4Library rnd rnd_1 roll rotate rotate_bits round safe_address
- syn keyword euphoria4Library sample save_bitmap save_map save_text_image scroll
- syn keyword euphoria4Library seek select send send_to serialize series
- syn keyword euphoria4Library service_by_name service_by_port set
- syn keyword euphoria4Library set_accumulate_summary set_charsets set_colors
- syn keyword euphoria4Library set_decimal_mark set_def_lang set_default_charsets
- syn keyword euphoria4Library set_encoding_properties set_keycodes set_lang_path
- syn keyword euphoria4Library set_option set_rand set_test_abort set_test_verbosity
- syn keyword euphoria4Library set_vector set_wait_on_summary setenv shift_bits
- syn keyword euphoria4Library show_block show_help show_tokens shuffle shutdown
- syn keyword euphoria4Library sign sim_index sinh size skewness sleep slice small
- syn keyword euphoria4Library smaller_of smallest sort sort_columns sound split
- syn keyword euphoria4Library split_any split_limit split_path sprint start_time
- syn keyword euphoria4Library statistics stdev store string_numbers subtract sum
- syn keyword euphoria4Library sum_central_moments swap tanh task_delay temp_file
- syn keyword euphoria4Library test_equal test_exec test_fail test_false
- syn keyword euphoria4Library test_not_equal test_pass test_read test_report
- syn keyword euphoria4Library test_true test_write text_color text_rows threshold
- syn keyword euphoria4Library tick_rate to_integer to_number to_string to_unix
- syn keyword euphoria4Library tokenize_file tokenize_string top transform translate
- syn keyword euphoria4Library transmute trim trim_head trim_tail trsprintf trunc
- syn keyword euphoria4Library type_of uname unlock_file unregister_block unsetenv
- syn keyword euphoria4Library upper use_vesa valid valid_index value values version
- syn keyword euphoria4Library version_date version_major version_minor version_node
- syn keyword euphoria4Library version_patch version_revision version_string
- syn keyword euphoria4Library version_string_long version_string_short version_type
- syn keyword euphoria4Library video_config vlookup vslice wait_key walk_dir
- syn keyword euphoria4Library warning_file weeks_day where which_bit wildcard_file
- syn keyword euphoria4Library wildcard_match wrap write write_file write_lines
- syn keyword euphoria4Library writef writefln years_day
- " Library Identifiers (Type) - grep from $EUDIR/include/*:
- syn keyword euphoria4Type ascii_string boolean bordered_address byte_range
- syn keyword euphoria4Type case_flagset_type color cstring
- syn keyword euphoria4Type file_number file_position graphics_point
- syn keyword euphoria4Type integer_array lcid lock_type machine_addr map
- syn keyword euphoria4Type mixture number_array option_spec
- syn keyword euphoria4Type page_aligned_address positive_int process regex
- syn keyword euphoria4Type sequence_array socket stack std_library_address
- syn keyword euphoria4Type string t_alnum t_alpha t_ascii t_boolean
- syn keyword euphoria4Type t_bytearray t_cntrl t_consonant t_digit t_display
- syn keyword euphoria4Type t_graph t_identifier t_lower t_print t_punct
- syn keyword euphoria4Type t_space t_specword t_text t_upper t_vowel t_xdigit
- syn keyword euphoria4Type valid_memory_protection_constant valid_wordsize
- " Linux shell comment (#!...):
- syn match euphoria4Comment "\%^#!.*$"
- " Single and multilines comments:
- syn region euphoria4Comment start=/--/ end=/$/
- syn region euphoria4Comment start="/\*" end="\*/"
- " Delimiters and brackets:
- syn match euphoria4Delimit "[([\])]"
- syn match euphoria4Delimit "\.\."
- syn match euphoria4Delimit ":"
- syn match euphoria4Operator "[{}]"
- " Character constant:
- syn region euphoria4Char start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline
- " String constant (""" must be *after* "):
- syn region euphoria4String start=/"/ skip=/\\"\|\\\\/ end=/"/ oneline
- syn region euphoria4String start=/b"\|x"/ end=/"/
- syn region euphoria4String start=/`/ end=/`/
- syn region euphoria4String start=/"""/ end=/"""/
- " Binary/Octal/Decimal/Hexadecimal integer:
- syn match euphoria4Number "\<0b[01_]\+\>"
- syn match euphoria4Number "\<0t[0-7_]\+\>"
- syn match euphoria4Number "\<0d[0-9_]\+\>"
- syn match euphoria4Number "\<0x[0-9A-Fa-f_]\+\>"
- syn match euphoria4Number "#[0-9A-Fa-f_]\+\>"
- " Integer/Floating point without a dot:
- syn match euphoria4Number "\<\d\+\>"
- " Floating point with dot:
- syn match euphoria4Number "\<\d\+\.\d*\>"
- " Floating point starting with a dot:
- syn match euphoria4Number "\.\d\+\>"
- " Boolean constants:
- syn keyword euphoria4Boolean true TRUE false FALSE
- " Define the default highlighting.
- " Only used when an item doesn't have highlighting yet:
- hi def link euphoria4Comment Comment
- hi def link euphoria4String String
- hi def link euphoria4Char Character
- hi def link euphoria4Number Number
- hi def link euphoria4Boolean Boolean
- hi def link euphoria4Builtin Identifier
- hi def link euphoria4Library Function
- hi def link euphoria4Type Type
- hi def link euphoria4Keyword Statement
- hi def link euphoria4Operator Statement
- hi def link euphoria4Debug Debug
- hi def link euphoria4Delimit Delimiter
- hi def link euphoria4PreProc PreProc
-
- let b:current_syntax = "euphoria4"
- " Restore current compatible-options:
- let &cpo = s:save_cpo
- unlet s:save_cpo
|