1251835e1SBram Moolenaar" Vim syntax file 20858917eSBram Moolenaar" Language: Euphoria 3.1.1 - supports DOS - (http://www.rapideuphoria.com/) 3251835e1SBram Moolenaar" Maintainer: Shian Lee 40858917eSBram Moolenaar" Last Change: 2014 Feb 24 (for Vim 7.4) 50858917eSBram Moolenaar" Remark: Euphoria has two syntax files, euphoria3.vim and euphoria4.vim; 60858917eSBram Moolenaar" For details see :help ft-euphoria-syntax 7251835e1SBram Moolenaar 8*89bcfda6SBram Moolenaar" quit when a syntax file was already loaded 9*89bcfda6SBram Moolenaarif exists("b:current_syntax") 10251835e1SBram Moolenaar finish 11251835e1SBram Moolenaarendif 12251835e1SBram Moolenaar 130858917eSBram Moolenaar" Reset compatible-options to Vim default value, just in case: 140858917eSBram Moolenaarlet s:save_cpo = &cpo 150858917eSBram Moolenaarset cpo&vim 160858917eSBram Moolenaar 17251835e1SBram Moolenaar" Should suffice for very long expressions: 18251835e1SBram Moolenaarsyn sync lines=40 19251835e1SBram Moolenaar 20251835e1SBram Moolenaar" Euphoria is a case-sensitive language (with only 4 builtin types): 21251835e1SBram Moolenaarsyntax case match 22251835e1SBram Moolenaar 23251835e1SBram Moolenaar" Keywords/Builtins for Debug - from $EUDIR/bin/keywords.e: 24251835e1SBram Moolenaarsyn keyword euphoria3Debug with without trace profile 25251835e1SBram Moolenaarsyn keyword euphoria3Debug profile_time warning type_check 26251835e1SBram Moolenaar 27251835e1SBram Moolenaar" Keywords (Statments) - from $EUDIR/bin/keywords.e: 28251835e1SBram Moolenaarsyn keyword euphoria3Keyword if end then procedure else for return 29251835e1SBram Moolenaarsyn keyword euphoria3Keyword do elsif while type constant to and or 30251835e1SBram Moolenaarsyn keyword euphoria3Keyword exit function global by not include 31251835e1SBram Moolenaarsyn keyword euphoria3Keyword xor 32251835e1SBram Moolenaar 33251835e1SBram Moolenaar" Builtins (Identifiers) - from $EUDIR/bin/keywords.e: 34251835e1SBram Moolenaarsyn keyword euphoria3Builtin length puts integer sequence position object 35251835e1SBram Moolenaarsyn keyword euphoria3Builtin append prepend print printf 36251835e1SBram Moolenaarsyn keyword euphoria3Builtin clear_screen floor getc gets get_key 37251835e1SBram Moolenaarsyn keyword euphoria3Builtin rand repeat atom compare find match 38251835e1SBram Moolenaarsyn keyword euphoria3Builtin time command_line open close getenv 39251835e1SBram Moolenaarsyn keyword euphoria3Builtin sqrt sin cos tan log system date remainder 40251835e1SBram Moolenaarsyn keyword euphoria3Builtin power machine_func machine_proc abort peek poke 41251835e1SBram Moolenaarsyn keyword euphoria3Builtin call sprintf arctan and_bits or_bits xor_bits 42251835e1SBram Moolenaarsyn keyword euphoria3Builtin not_bits pixel get_pixel mem_copy mem_set 43251835e1SBram Moolenaarsyn keyword euphoria3Builtin c_proc c_func routine_id call_proc call_func 44251835e1SBram Moolenaarsyn keyword euphoria3Builtin poke4 peek4s peek4u equal system_exec 45251835e1SBram Moolenaarsyn keyword euphoria3Builtin platform task_create task_schedule task_yield 46251835e1SBram Moolenaarsyn keyword euphoria3Builtin task_self task_suspend task_list 47251835e1SBram Moolenaarsyn keyword euphoria3Builtin task_status task_clock_stop task_clock_start 48251835e1SBram Moolenaarsyn keyword euphoria3Builtin find_from match_from 49251835e1SBram Moolenaar" Builtins (Identifiers) shortcuts for length() and print(): 50251835e1SBram Moolenaarsyn match euphoria3Builtin "\$" 51251835e1SBram Moolenaarsyn match euphoria3Builtin "?" 52251835e1SBram Moolenaar 53251835e1SBram Moolenaar" Library Identifiers (Function) - from $EUDIR/doc/library.doc: 54251835e1SBram Moolenaarsyn keyword euphoria3Library reverse sort custom_sort lower upper 55251835e1SBram Moolenaarsyn keyword euphoria3Library wildcard_match wildcard_file arcsin 56251835e1SBram Moolenaarsyn keyword euphoria3Library arccos PI flush lock_file unlock_file 57251835e1SBram Moolenaarsyn keyword euphoria3Library pretty_print sprint get_bytes prompt_string 58251835e1SBram Moolenaarsyn keyword euphoria3Library wait_key get prompt_number value seek where 59251835e1SBram Moolenaarsyn keyword euphoria3Library current_dir chdir dir walk_dir allow_break 60251835e1SBram Moolenaarsyn keyword euphoria3Library check_break get_mouse mouse_events mouse_pointer 61251835e1SBram Moolenaarsyn keyword euphoria3Library tick_rate sleep get_position graphics_mode 62251835e1SBram Moolenaarsyn keyword euphoria3Library video_config scroll wrap text_color bk_color 63251835e1SBram Moolenaarsyn keyword euphoria3Library palette all_palette get_all_palette read_bitmap 64251835e1SBram Moolenaarsyn keyword euphoria3Library save_bitmap get_active_page set_active_page 65251835e1SBram Moolenaarsyn keyword euphoria3Library get_display_page set_display_page sound 66251835e1SBram Moolenaarsyn keyword euphoria3Library cursor text_rows get_screen_char put_screen_char 67251835e1SBram Moolenaarsyn keyword euphoria3Library save_text_image display_text_image draw_line 68251835e1SBram Moolenaarsyn keyword euphoria3Library polygon ellipse save_screen save_image display_image 69251835e1SBram Moolenaarsyn keyword euphoria3Library dos_interrupt allocate free allocate_low free_low 70251835e1SBram Moolenaarsyn keyword euphoria3Library allocate_string register_block unregister_block 71251835e1SBram Moolenaarsyn keyword euphoria3Library get_vector set_vector lock_memory int_to_bytes 72251835e1SBram Moolenaarsyn keyword euphoria3Library bytes_to_int int_to_bits bits_to_int atom_to_float64 73251835e1SBram Moolenaarsyn keyword euphoria3Library atom_to_float32 float64_to_atom float32_to_atom 74251835e1SBram Moolenaarsyn keyword euphoria3Library set_rand use_vesa crash_file crash_message 75251835e1SBram Moolenaarsyn keyword euphoria3Library crash_routine open_dll define_c_proc define_c_func 76251835e1SBram Moolenaarsyn keyword euphoria3Library define_c_var call_back message_box free_console 77251835e1SBram Moolenaarsyn keyword euphoria3Library instance 78251835e1SBram Moolenaar 79251835e1SBram Moolenaar" Library Identifiers (Function) - from $EUDIR/doc/database.doc: 80251835e1SBram Moolenaarsyn keyword euphoria3Library db_create db_open db_select db_close db_create_table 81251835e1SBram Moolenaarsyn keyword euphoria3Library db_select_table db_rename_table db_delete_table 82251835e1SBram Moolenaarsyn keyword euphoria3Library db_table_list db_table_size db_find_key db_record_key 83251835e1SBram Moolenaarsyn keyword euphoria3Library db_record_data db_insert db_delete_record 84251835e1SBram Moolenaarsyn keyword euphoria3Library db_replace_data db_compress db_dump db_fatal_id 85251835e1SBram Moolenaar 86251835e1SBram Moolenaar" Linux shell comment (#!...): 87251835e1SBram Moolenaarsyn match euphoria3Comment "\%^#!.*$" 88251835e1SBram Moolenaar" Comment on one line: 89251835e1SBram Moolenaarsyn region euphoria3Comment start=/--/ end=/$/ 90251835e1SBram Moolenaar 91251835e1SBram Moolenaar" Delimiters and brackets: 92251835e1SBram Moolenaarsyn match euphoria3Delimit "[([\])]" 93251835e1SBram Moolenaarsyn match euphoria3Delimit "\.\." 94251835e1SBram Moolenaarsyn match euphoria3Operator "[{}]" 95251835e1SBram Moolenaar 96251835e1SBram Moolenaar" Character constant: 97251835e1SBram Moolenaarsyn region euphoria3Char start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline 98251835e1SBram Moolenaar 99251835e1SBram Moolenaar" String constant: 100251835e1SBram Moolenaarsyn region euphoria3String start=/"/ skip=/\\"\|\\\\/ end=/"/ oneline 101251835e1SBram Moolenaar 102251835e1SBram Moolenaar" Hexadecimal integer: 103251835e1SBram Moolenaarsyn match euphoria3Number "#[0-9A-F]\+\>" 104251835e1SBram Moolenaar 105251835e1SBram Moolenaar" Integer/Floating point without a dot: 106251835e1SBram Moolenaarsyn match euphoria3Number "\<\d\+\>" 107251835e1SBram Moolenaar" Floating point with dot: 108251835e1SBram Moolenaarsyn match euphoria3Number "\<\d\+\.\d*\>" 109251835e1SBram Moolenaar" Floating point starting with a dot: 110251835e1SBram Moolenaarsyn match euphoria3Number "\.\d\+\>" 111251835e1SBram Moolenaar" Boolean constants: 112251835e1SBram Moolenaarsyn keyword euphoria3Boolean true TRUE false FALSE 113251835e1SBram Moolenaar 114251835e1SBram Moolenaar" Define the default highlighting. 115251835e1SBram Moolenaar" Only used when an item doesn't have highlighting yet: 116251835e1SBram Moolenaarhi def link euphoria3Comment Comment 117251835e1SBram Moolenaarhi def link euphoria3String String 118251835e1SBram Moolenaarhi def link euphoria3Char Character 119251835e1SBram Moolenaarhi def link euphoria3Number Number 120251835e1SBram Moolenaarhi def link euphoria3Boolean Boolean 121251835e1SBram Moolenaarhi def link euphoria3Builtin Identifier 122251835e1SBram Moolenaarhi def link euphoria3Library Function 123251835e1SBram Moolenaarhi def link euphoria3Keyword Statement 124251835e1SBram Moolenaarhi def link euphoria3Operator Statement 125251835e1SBram Moolenaarhi def link euphoria3Debug Debug 126251835e1SBram Moolenaarhi def link euphoria3Delimit Delimiter 127251835e1SBram Moolenaar 128251835e1SBram Moolenaarlet b:current_syntax = "euphoria3" 129251835e1SBram Moolenaar 1300858917eSBram Moolenaar" Restore current compatible-options: 1310858917eSBram Moolenaarlet &cpo = s:save_cpo 1320858917eSBram Moolenaarunlet s:save_cpo 1330858917eSBram Moolenaar 134