xref: /vim-8.2.3635/runtime/syntax/euphoria4.vim (revision 89bcfda6)
1251835e1SBram Moolenaar" Vim syntax file
20858917eSBram Moolenaar" Language:	Euphoria 4.0.5 (http://www.openeuphoria.org/)
3251835e1SBram Moolenaar" Maintainer:	Shian Lee
4a6878375SBram Moolenaar" Last Change:	2014 Feb 26 (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 strings and 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" Some keywords/Builtins for Debug - from $EUDIR/include/euphoria/keywords.e:
24251835e1SBram Moolenaarsyn keyword euphoria4Debug	with without trace profile batch check indirect
25251835e1SBram Moolenaarsyn keyword euphoria4Debug	includes inline warning define
26251835e1SBram Moolenaar
27251835e1SBram Moolenaar" Keywords for conditional compilation - from $EUDIR/include/euphoria/keywords.e:
28251835e1SBram Moolenaarsyn keyword euphoria4PreProc	elsedef elsifdef ifdef
29251835e1SBram Moolenaar
30251835e1SBram Moolenaar" Keywords (Statments) - from $EUDIR/include/euphoria/keywords.e:
31251835e1SBram Moolenaarsyn keyword euphoria4Keyword	and as break by case constant continue do else
32251835e1SBram Moolenaarsyn keyword euphoria4Keyword	elsif end entry enum exit export
33251835e1SBram Moolenaarsyn keyword euphoria4Keyword	fallthru for function global goto if include
34251835e1SBram Moolenaarsyn keyword euphoria4Keyword	label loop namespace not or override procedure
35251835e1SBram Moolenaarsyn keyword euphoria4Keyword	public retry return routine switch then to type
36251835e1SBram Moolenaarsyn keyword euphoria4Keyword	until while xor
37251835e1SBram Moolenaar
38251835e1SBram Moolenaar" Builtins (Identifiers) - from $EUDIR/include/euphoria/keywords.e:
39251835e1SBram Moolenaarsyn keyword euphoria4Builtin	abort and_bits append arctan atom c_func c_proc
40251835e1SBram Moolenaarsyn keyword euphoria4Builtin	call call_func call_proc clear_screen close
41251835e1SBram Moolenaarsyn keyword euphoria4Builtin	command_line compare cos date delete delete_routine
42251835e1SBram Moolenaarsyn keyword euphoria4Builtin	equal find floor get_key getc getenv gets hash
43251835e1SBram Moolenaarsyn keyword euphoria4Builtin	head include_paths insert integer length log
44251835e1SBram Moolenaarsyn keyword euphoria4Builtin	machine_func machine_proc match mem_copy mem_set
45251835e1SBram Moolenaarsyn keyword euphoria4Builtin	not_bits object open option_switches or_bits peek
46251835e1SBram Moolenaarsyn keyword euphoria4Builtin	peek2s peek2u peek4s peek4u peek_string peeks pixel
47251835e1SBram Moolenaarsyn keyword euphoria4Builtin	platform poke poke2 poke4 position power prepend
48251835e1SBram Moolenaarsyn keyword euphoria4Builtin	print printf puts rand remainder remove repeat
49251835e1SBram Moolenaarsyn keyword euphoria4Builtin	replace routine_id sequence sin splice sprintf
50251835e1SBram Moolenaarsyn keyword euphoria4Builtin	sqrt system system_exec tail tan task_clock_start
51251835e1SBram Moolenaarsyn keyword euphoria4Builtin	task_clock_stop task_create task_list task_schedule
52251835e1SBram Moolenaarsyn keyword euphoria4Builtin	task_self task_status task_suspend task_yield time
53251835e1SBram Moolenaarsyn keyword euphoria4Builtin	xor_bits
54251835e1SBram Moolenaar" Builtins (Identifiers) shortcuts for length() and print():
55251835e1SBram Moolenaarsyn match   euphoria4Builtin	"\$"
56251835e1SBram Moolenaarsyn match   euphoria4Builtin	"?"
57251835e1SBram Moolenaar
58251835e1SBram Moolenaar" Library Identifiers (Function) - grep from $EUDIR/include/*:
59251835e1SBram Moolenaarsyn keyword euphoria4Library	DEP_on SyntaxColor abbreviate_path abs absolute_path
60251835e1SBram Moolenaarsyn keyword euphoria4Library 	accept add add_item all_copyrights all_matches
61251835e1SBram Moolenaarsyn keyword euphoria4Library	allocate allocate_code allocate_data allocate_low
62251835e1SBram Moolenaarsyn keyword euphoria4Library 	allocate_pointer_array allocate_protect
63251835e1SBram Moolenaarsyn keyword euphoria4Library 	allocate_string allocate_string_pointer_array
64251835e1SBram Moolenaarsyn keyword euphoria4Library	allocate_wstring allocations allow_break any_key
65251835e1SBram Moolenaarsyn keyword euphoria4Library	append_lines apply approx arccos arccosh arcsin
66251835e1SBram Moolenaarsyn keyword euphoria4Library 	arcsinh arctanh assert at atan2 atom_to_float32
67251835e1SBram Moolenaarsyn keyword euphoria4Library 	atom_to_float64 attr_to_colors avedev average
68251835e1SBram Moolenaarsyn keyword euphoria4Library 	begins binary_search bind binop_ok bits_to_int
69251835e1SBram Moolenaarsyn keyword euphoria4Library 	bk_color breakup build_commandline build_list
70251835e1SBram Moolenaarsyn keyword euphoria4Library 	bytes_to_int calc_hash calc_primes call_back
71251835e1SBram Moolenaarsyn keyword euphoria4Library 	canon2win canonical canonical_path ceil
72251835e1SBram Moolenaarsyn keyword euphoria4Library 	central_moment chance char_test chdir
73251835e1SBram Moolenaarsyn keyword euphoria4Library 	check_all_blocks check_break check_free_list
74a6878375SBram Moolenaarsyn keyword euphoria4Library 	checksum clear clear_directory cmd_parse
75251835e1SBram Moolenaarsyn keyword euphoria4Library 	colors_to_attr columnize combine connect
76251835e1SBram Moolenaarsyn keyword euphoria4Library 	console_colors copy copy_file cosh count crash
77251835e1SBram Moolenaarsyn keyword euphoria4Library 	crash_file crash_message crash_routine create
78251835e1SBram Moolenaarsyn keyword euphoria4Library 	create_directory create_file curdir current_dir
79251835e1SBram Moolenaarsyn keyword euphoria4Library	cursor custom_sort datetime days_in_month
80251835e1SBram Moolenaarsyn keyword euphoria4Library 	days_in_year db_cache_clear db_clear_table db_close
81251835e1SBram Moolenaarsyn keyword euphoria4Library	db_compress db_connect db_create db_create_table
82251835e1SBram Moolenaarsyn keyword euphoria4Library 	db_current db_current_table db_delete_record
83251835e1SBram Moolenaarsyn keyword euphoria4Library 	db_delete_table db_dump db_fetch_record db_find_key
84251835e1SBram Moolenaarsyn keyword euphoria4Library	db_get_errors db_get_recid db_insert db_open
85251835e1SBram Moolenaarsyn keyword euphoria4Library	db_record_data db_record_key db_record_recid
86251835e1SBram Moolenaarsyn keyword euphoria4Library 	db_rename_table db_replace_data db_replace_recid
87251835e1SBram Moolenaarsyn keyword euphoria4Library 	db_select db_select_table db_set_caching
88251835e1SBram Moolenaarsyn keyword euphoria4Library 	db_table_list db_table_size deallocate decanonical
89251835e1SBram Moolenaarsyn keyword euphoria4Library 	decode defaulted_value defaultext define_c_func
90251835e1SBram Moolenaarsyn keyword euphoria4Library 	define_c_proc define_c_var deg2rad delete_file
91251835e1SBram Moolenaarsyn keyword euphoria4Library 	dep_works dequote deserialize diff dir dir_size
92251835e1SBram Moolenaarsyn keyword euphoria4Library 	dirname disk_metrics disk_size display
93251835e1SBram Moolenaarsyn keyword euphoria4Library 	display_text_image dnsquery driveid dump dup emovavg
94251835e1SBram Moolenaarsyn keyword euphoria4Library 	encode ends ensure_in_list ensure_in_range
95251835e1SBram Moolenaarsyn keyword euphoria4Library 	error_code error_message error_no error_string
96251835e1SBram Moolenaarsyn keyword euphoria4Library 	error_to_string escape euphoria_copyright exec
97251835e1SBram Moolenaarsyn keyword euphoria4Library 	exp extract fetch fib file_exists file_length
98251835e1SBram Moolenaarsyn keyword euphoria4Library 	file_timestamp file_type filebase fileext filename
99251835e1SBram Moolenaarsyn keyword euphoria4Library	filter find_all find_all_but find_any find_each
100251835e1SBram Moolenaarsyn keyword euphoria4Library 	find_nested find_replace find_replace_callback
101251835e1SBram Moolenaarsyn keyword euphoria4Library	find_replace_limit flags_to_string flatten
102251835e1SBram Moolenaarsyn keyword euphoria4Library 	float32_to_atom float64_to_atom flush for_each
103251835e1SBram Moolenaarsyn keyword euphoria4Library 	format frac free free_code free_console free_low
104251835e1SBram Moolenaarsyn keyword euphoria4Library	free_pointer_array from_date from_unix gcd geomean
105251835e1SBram Moolenaarsyn keyword euphoria4Library	get get_bytes get_charsets get_def_lang
106251835e1SBram Moolenaarsyn keyword euphoria4Library 	get_display_page get_dstring get_encoding_properties
107251835e1SBram Moolenaarsyn keyword euphoria4Library 	get_integer16 get_integer32 get_lang_path get_lcid
108251835e1SBram Moolenaarsyn keyword euphoria4Library 	get_mouse get_option get_ovector_size get_pid
109251835e1SBram Moolenaarsyn keyword euphoria4Library 	get_position get_rand get_screen_char get_text
110251835e1SBram Moolenaarsyn keyword euphoria4Library 	get_vector getaddrinfo getmxrr getnsrr graphics_mode
111251835e1SBram Moolenaarsyn keyword euphoria4Library 	harmean has has_console has_match hex_text
112251835e1SBram Moolenaarsyn keyword euphoria4Library 	host_by_addr host_by_name http_get http_post iff
113251835e1SBram Moolenaarsyn keyword euphoria4Library 	iif info init_class init_curdir insertion_sort
114251835e1SBram Moolenaarsyn keyword euphoria4Library 	instance int_to_bits int_to_bytes intdiv
115251835e1SBram Moolenaarsyn keyword euphoria4Library 	is_DEP_supported is_empty is_even is_even_obj
116251835e1SBram Moolenaarsyn keyword euphoria4Library 	is_in_list is_in_range is_inetaddr is_leap_year
117251835e1SBram Moolenaarsyn keyword euphoria4Library 	is_match is_using_DEP is_win_nt join join_path
118251835e1SBram Moolenaarsyn keyword euphoria4Library 	keep_comments keep_newlines key_codes keys keyvalues
119251835e1SBram Moolenaarsyn keyword euphoria4Library	kill kurtosis lang_load larger_of largest last
120251835e1SBram Moolenaarsyn keyword euphoria4Library 	listen load load_map locate_file lock_file
121251835e1SBram Moolenaarsyn keyword euphoria4Library	lock_memory log10 lookup lower malloc mapping
122251835e1SBram Moolenaarsyn keyword euphoria4Library 	match_all match_any match_replace matches max
123251835e1SBram Moolenaarsyn keyword euphoria4Library 	maybe_any_key median memory_used merge message_box
124251835e1SBram Moolenaarsyn keyword euphoria4Library	mid min minsize mod mode money mouse_events
125251835e1SBram Moolenaarsyn keyword euphoria4Library	mouse_pointer movavg move_file nested_get
126251835e1SBram Moolenaarsyn keyword euphoria4Library 	nested_put new new_extra new_from_kvpairs
127251835e1SBram Moolenaarsyn keyword euphoria4Library 	new_from_string new_time next_prime now now_gmt
128251835e1SBram Moolenaarsyn keyword euphoria4Library 	number open_dll optimize option_spec_to_string
129251835e1SBram Moolenaarsyn keyword euphoria4Library 	or_all	pad_head pad_tail pairs parse
130251835e1SBram Moolenaarsyn keyword euphoria4Library 	parse_commandline parse_ip_address parse_querystring
131251835e1SBram Moolenaarsyn keyword euphoria4Library 	parse_url patch pathinfo pathname pcre_copyright
132251835e1SBram Moolenaarsyn keyword euphoria4Library 	peek_end peek_top peek_wstring pivot platform_name
133251835e1SBram Moolenaarsyn keyword euphoria4Library 	poke_string poke_wstring pop powof2 prepare_block
134251835e1SBram Moolenaarsyn keyword euphoria4Library 	pretty_print pretty_sprint prime_list process_lines
135251835e1SBram Moolenaarsyn keyword euphoria4Library 	product project prompt_number prompt_string proper
136251835e1SBram Moolenaarsyn keyword euphoria4Library 	push put put_integer16 put_integer32 put_screen_char
137251835e1SBram Moolenaarsyn keyword euphoria4Library 	quote rad2deg rand_range range raw_frequency read
138251835e1SBram Moolenaarsyn keyword euphoria4Library 	read_bitmap read_file read_lines receive receive_from
139251835e1SBram Moolenaarsyn keyword euphoria4Library	register_block rehash remove_all remove_directory
140251835e1SBram Moolenaarsyn keyword euphoria4Library 	remove_dups remove_item remove_subseq rename_file
141251835e1SBram Moolenaarsyn keyword euphoria4Library	repeat_pattern reset retain_all reverse rfind rmatch
142251835e1SBram Moolenaarsyn keyword euphoria4Library 	rnd rnd_1 roll rotate rotate_bits round safe_address
143251835e1SBram Moolenaarsyn keyword euphoria4Library 	sample save_bitmap save_map save_text_image scroll
144251835e1SBram Moolenaarsyn keyword euphoria4Library	seek select send send_to serialize series
145251835e1SBram Moolenaarsyn keyword euphoria4Library	service_by_name service_by_port set
146251835e1SBram Moolenaarsyn keyword euphoria4Library 	set_accumulate_summary set_charsets set_colors
147251835e1SBram Moolenaarsyn keyword euphoria4Library 	set_decimal_mark set_def_lang set_default_charsets
148251835e1SBram Moolenaarsyn keyword euphoria4Library 	set_encoding_properties set_keycodes set_lang_path
149251835e1SBram Moolenaarsyn keyword euphoria4Library 	set_option set_rand set_test_abort set_test_verbosity
150251835e1SBram Moolenaarsyn keyword euphoria4Library 	set_vector set_wait_on_summary setenv shift_bits
151251835e1SBram Moolenaarsyn keyword euphoria4Library 	show_block show_help show_tokens shuffle shutdown
152251835e1SBram Moolenaarsyn keyword euphoria4Library 	sign sim_index sinh size skewness sleep slice small
153251835e1SBram Moolenaarsyn keyword euphoria4Library 	smaller_of smallest sort sort_columns sound split
154251835e1SBram Moolenaarsyn keyword euphoria4Library 	split_any split_limit split_path sprint start_time
155251835e1SBram Moolenaarsyn keyword euphoria4Library 	statistics stdev store string_numbers subtract sum
156251835e1SBram Moolenaarsyn keyword euphoria4Library 	sum_central_moments swap tanh task_delay temp_file
157251835e1SBram Moolenaarsyn keyword euphoria4Library 	test_equal test_exec test_fail test_false
158251835e1SBram Moolenaarsyn keyword euphoria4Library 	test_not_equal test_pass test_read test_report
159251835e1SBram Moolenaarsyn keyword euphoria4Library	test_true test_write text_color text_rows threshold
160251835e1SBram Moolenaarsyn keyword euphoria4Library 	tick_rate to_integer to_number to_string to_unix
161251835e1SBram Moolenaarsyn keyword euphoria4Library	tokenize_file tokenize_string top transform translate
162251835e1SBram Moolenaarsyn keyword euphoria4Library 	transmute trim trim_head trim_tail trsprintf trunc
163251835e1SBram Moolenaarsyn keyword euphoria4Library 	type_of uname unlock_file unregister_block unsetenv
164251835e1SBram Moolenaarsyn keyword euphoria4Library	upper use_vesa valid valid_index value values version
165251835e1SBram Moolenaarsyn keyword euphoria4Library	version_date version_major version_minor version_node
166251835e1SBram Moolenaarsyn keyword euphoria4Library 	version_patch version_revision version_string
167251835e1SBram Moolenaarsyn keyword euphoria4Library 	version_string_long version_string_short version_type
168251835e1SBram Moolenaarsyn keyword euphoria4Library 	video_config vlookup vslice wait_key walk_dir
169251835e1SBram Moolenaarsyn keyword euphoria4Library 	warning_file weeks_day where which_bit wildcard_file
170251835e1SBram Moolenaarsyn keyword euphoria4Library 	wildcard_match wrap write write_file write_lines
171251835e1SBram Moolenaarsyn keyword euphoria4Library 	writef writefln years_day
172251835e1SBram Moolenaar
173251835e1SBram Moolenaar" Library Identifiers (Type) - grep from $EUDIR/include/*:
174251835e1SBram Moolenaarsyn keyword euphoria4Type	ascii_string boolean bordered_address byte_range
175a6878375SBram Moolenaarsyn keyword euphoria4Type	case_flagset_type color cstring
176251835e1SBram Moolenaarsyn keyword euphoria4Type	file_number file_position graphics_point
177251835e1SBram Moolenaarsyn keyword euphoria4Type	integer_array lcid lock_type machine_addr map
178251835e1SBram Moolenaarsyn keyword euphoria4Type	mixture number_array option_spec
179251835e1SBram Moolenaarsyn keyword euphoria4Type	page_aligned_address positive_int process regex
180251835e1SBram Moolenaarsyn keyword euphoria4Type	sequence_array socket stack std_library_address
181251835e1SBram Moolenaarsyn keyword euphoria4Type	string t_alnum t_alpha t_ascii t_boolean
182251835e1SBram Moolenaarsyn keyword euphoria4Type	t_bytearray t_cntrl t_consonant t_digit t_display
183251835e1SBram Moolenaarsyn keyword euphoria4Type	t_graph t_identifier t_lower t_print t_punct
184251835e1SBram Moolenaarsyn keyword euphoria4Type	t_space t_specword t_text t_upper t_vowel t_xdigit
185251835e1SBram Moolenaarsyn keyword euphoria4Type	valid_memory_protection_constant valid_wordsize
186251835e1SBram Moolenaar
187251835e1SBram Moolenaar" Linux shell comment (#!...):
188251835e1SBram Moolenaarsyn match   euphoria4Comment	"\%^#!.*$"
189251835e1SBram Moolenaar" Single and multilines comments:
190251835e1SBram Moolenaarsyn region  euphoria4Comment 	start=/--/ end=/$/
191251835e1SBram Moolenaarsyn region  euphoria4Comment 	start="/\*" end="\*/"
192251835e1SBram Moolenaar
193251835e1SBram Moolenaar" Delimiters and brackets:
194251835e1SBram Moolenaarsyn match   euphoria4Delimit	"[([\])]"
195251835e1SBram Moolenaarsyn match   euphoria4Delimit	"\.\."
196251835e1SBram Moolenaarsyn match   euphoria4Delimit	":"
197251835e1SBram Moolenaarsyn match   euphoria4Operator	"[{}]"
198251835e1SBram Moolenaar
199251835e1SBram Moolenaar" Character constant:
200251835e1SBram Moolenaarsyn region  euphoria4Char	start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline
201251835e1SBram Moolenaar
202a6878375SBram Moolenaar" String constant (""" must be *after* "):
203a6878375SBram Moolenaarsyn region  euphoria4String	start=/"/ skip=/\\"\|\\\\/ end=/"/ oneline
204a6878375SBram Moolenaarsyn region  euphoria4String	start=/b"\|x"/ end=/"/
205251835e1SBram Moolenaarsyn region  euphoria4String	start=/`/ end=/`/
206251835e1SBram Moolenaarsyn region  euphoria4String	start=/"""/ end=/"""/
207251835e1SBram Moolenaar
208251835e1SBram Moolenaar" Binary/Octal/Decimal/Hexadecimal integer:
209251835e1SBram Moolenaarsyn match   euphoria4Number 	"\<0b[01_]\+\>"
210251835e1SBram Moolenaarsyn match   euphoria4Number 	"\<0t[0-7_]\+\>"
211251835e1SBram Moolenaarsyn match   euphoria4Number 	"\<0d[0-9_]\+\>"
212251835e1SBram Moolenaarsyn match   euphoria4Number 	"\<0x[0-9A-Fa-f_]\+\>"
213251835e1SBram Moolenaarsyn match   euphoria4Number 	"#[0-9A-Fa-f_]\+\>"
214251835e1SBram Moolenaar
215251835e1SBram Moolenaar" Integer/Floating point without a dot:
216251835e1SBram Moolenaarsyn match   euphoria4Number	"\<\d\+\>"
217251835e1SBram Moolenaar" Floating point with dot:
218251835e1SBram Moolenaarsyn match   euphoria4Number	"\<\d\+\.\d*\>"
219251835e1SBram Moolenaar" Floating point starting with a dot:
220251835e1SBram Moolenaarsyn match   euphoria4Number	"\.\d\+\>"
221251835e1SBram Moolenaar" Boolean constants:
222251835e1SBram Moolenaarsyn keyword euphoria4Boolean	true TRUE false FALSE
223251835e1SBram Moolenaar
224251835e1SBram Moolenaar" Define the default highlighting.
225251835e1SBram Moolenaar" Only used when an item doesn't have highlighting yet:
226251835e1SBram Moolenaarhi def link euphoria4Comment	Comment
227251835e1SBram Moolenaarhi def link euphoria4String	String
228251835e1SBram Moolenaarhi def link euphoria4Char	Character
229251835e1SBram Moolenaarhi def link euphoria4Number	Number
230251835e1SBram Moolenaarhi def link euphoria4Boolean	Boolean
231251835e1SBram Moolenaarhi def link euphoria4Builtin	Identifier
232251835e1SBram Moolenaarhi def link euphoria4Library 	Function
233251835e1SBram Moolenaarhi def link euphoria4Type 	Type
234251835e1SBram Moolenaarhi def link euphoria4Keyword	Statement
235251835e1SBram Moolenaarhi def link euphoria4Operator	Statement
236251835e1SBram Moolenaarhi def link euphoria4Debug	Debug
237251835e1SBram Moolenaarhi def link euphoria4Delimit	Delimiter
238251835e1SBram Moolenaarhi def link euphoria4PreProc	PreProc
239251835e1SBram Moolenaar
240251835e1SBram Moolenaarlet b:current_syntax = "euphoria4"
241251835e1SBram Moolenaar
2420858917eSBram Moolenaar" Restore current compatible-options:
2430858917eSBram Moolenaarlet &cpo = s:save_cpo
2440858917eSBram Moolenaarunlet s:save_cpo
2450858917eSBram Moolenaar
246