xref: /vim-8.2.3635/runtime/syntax/euphoria3.vim (revision 89bcfda6)
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