mirror of
				https://github.com/vim/vim.git
				synced 2025-10-30 09:47:20 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			136 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			136 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
| " Vim syntax file
 | |
| " Language:	Euphoria 3.1.1 - supports DOS - (http://www.rapideuphoria.com/)
 | |
| " Maintainer:	Shian Lee  
 | |
| " Last Change:	2014 Feb 24 (for Vim 7.4)
 | |
| " Remark:       Euphoria has two syntax files, euphoria3.vim and euphoria4.vim; 
 | |
| "               For details see :help ft-euphoria-syntax
 | |
| 
 | |
| " Quit if a (custom) syntax file was already loaded (compatible with Vim 5.8): 
 | |
| if version < 600
 | |
|   syntax clear
 | |
| elseif 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 expressions:
 | |
| syn sync lines=40
 | |
| 
 | |
| " Euphoria is a case-sensitive language (with only 4 builtin types):
 | |
| syntax case match 
 | |
| 
 | |
| " Keywords/Builtins for Debug - from $EUDIR/bin/keywords.e:
 | |
| syn keyword euphoria3Debug	with without trace profile  
 | |
| syn keyword euphoria3Debug	profile_time warning type_check 
 | |
| 
 | |
| " Keywords (Statments) - from $EUDIR/bin/keywords.e:
 | |
| syn keyword euphoria3Keyword	if end then procedure else for return 	
 | |
| syn keyword euphoria3Keyword	do elsif while type constant to and or
 | |
| syn keyword euphoria3Keyword	exit function global by not include
 | |
| syn keyword euphoria3Keyword	xor                      
 | |
| 
 | |
| " Builtins (Identifiers) - from $EUDIR/bin/keywords.e:
 | |
| syn keyword euphoria3Builtin	length puts integer sequence position object
 | |
| syn keyword euphoria3Builtin	append prepend print printf 
 | |
| syn keyword euphoria3Builtin	clear_screen floor getc gets get_key
 | |
| syn keyword euphoria3Builtin	rand repeat atom compare find match
 | |
| syn keyword euphoria3Builtin	time command_line open close getenv
 | |
| syn keyword euphoria3Builtin	sqrt sin cos tan log system date remainder
 | |
| syn keyword euphoria3Builtin	power machine_func machine_proc abort peek poke 
 | |
| syn keyword euphoria3Builtin	call sprintf arctan and_bits or_bits xor_bits
 | |
| syn keyword euphoria3Builtin	not_bits pixel get_pixel mem_copy mem_set
 | |
| syn keyword euphoria3Builtin	c_proc c_func routine_id call_proc call_func 
 | |
| syn keyword euphoria3Builtin	poke4 peek4s peek4u equal system_exec
 | |
| syn keyword euphoria3Builtin	platform task_create task_schedule task_yield
 | |
| syn keyword euphoria3Builtin	task_self task_suspend task_list
 | |
| syn keyword euphoria3Builtin	task_status task_clock_stop task_clock_start 
 | |
| syn keyword euphoria3Builtin	find_from match_from  
 | |
| " Builtins (Identifiers) shortcuts for length() and print():
 | |
| syn match   euphoria3Builtin	"\$" 
 | |
| syn match   euphoria3Builtin	"?"
 | |
| 
 | |
| " Library Identifiers (Function) - from $EUDIR/doc/library.doc:
 | |
| syn keyword euphoria3Library	reverse sort custom_sort lower upper
 | |
| syn keyword euphoria3Library	wildcard_match wildcard_file arcsin 
 | |
| syn keyword euphoria3Library	arccos PI flush lock_file unlock_file
 | |
| syn keyword euphoria3Library	pretty_print sprint get_bytes prompt_string 
 | |
| syn keyword euphoria3Library	wait_key get prompt_number value seek where 
 | |
| syn keyword euphoria3Library	current_dir chdir dir walk_dir allow_break 
 | |
| syn keyword euphoria3Library	check_break get_mouse mouse_events mouse_pointer
 | |
| syn keyword euphoria3Library	tick_rate sleep get_position graphics_mode 
 | |
| syn keyword euphoria3Library	video_config scroll wrap text_color bk_color 
 | |
| syn keyword euphoria3Library	palette all_palette get_all_palette read_bitmap 
 | |
| syn keyword euphoria3Library	save_bitmap get_active_page set_active_page 
 | |
| syn keyword euphoria3Library	get_display_page set_display_page sound
 | |
| syn keyword euphoria3Library	cursor text_rows get_screen_char put_screen_char
 | |
| syn keyword euphoria3Library	save_text_image display_text_image draw_line 
 | |
| syn keyword euphoria3Library	polygon ellipse save_screen save_image display_image 
 | |
| syn keyword euphoria3Library	dos_interrupt allocate free allocate_low free_low 
 | |
| syn keyword euphoria3Library	allocate_string register_block unregister_block 
 | |
| syn keyword euphoria3Library	get_vector set_vector lock_memory int_to_bytes 
 | |
| syn keyword euphoria3Library	bytes_to_int int_to_bits bits_to_int atom_to_float64 
 | |
| syn keyword euphoria3Library	atom_to_float32 float64_to_atom float32_to_atom 
 | |
| syn keyword euphoria3Library	set_rand use_vesa crash_file crash_message
 | |
| syn keyword euphoria3Library	crash_routine open_dll define_c_proc define_c_func
 | |
| syn keyword euphoria3Library	define_c_var call_back message_box free_console 
 | |
| syn keyword euphoria3Library	instance
 | |
| 
 | |
| " Library Identifiers (Function) - from $EUDIR/doc/database.doc:
 | |
| syn keyword euphoria3Library 	db_create db_open db_select db_close db_create_table
 | |
| syn keyword euphoria3Library 	db_select_table db_rename_table db_delete_table
 | |
| syn keyword euphoria3Library 	db_table_list db_table_size db_find_key db_record_key
 | |
| syn keyword euphoria3Library 	db_record_data db_insert db_delete_record 
 | |
| syn keyword euphoria3Library	db_replace_data	db_compress db_dump db_fatal_id
 | |
| 
 | |
| " Linux shell comment (#!...):
 | |
| syn match   euphoria3Comment	"\%^#!.*$"
 | |
| " Comment on one line:
 | |
| syn region  euphoria3Comment 	start=/--/ end=/$/
 | |
| 
 | |
| " Delimiters and brackets:
 | |
| syn match   euphoria3Delimit	"[([\])]"
 | |
| syn match   euphoria3Delimit	"\.\."
 | |
| syn match   euphoria3Operator	"[{}]"
 | |
| 
 | |
| " Character constant:
 | |
| syn region  euphoria3Char	start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline
 | |
| 
 | |
| " String constant: 
 | |
| syn region  euphoria3String	start=/"/ skip=/\\"\|\\\\/ end=/"/ oneline
 | |
| 
 | |
| " Hexadecimal integer:
 | |
| syn match   euphoria3Number 	"#[0-9A-F]\+\>"
 | |
| 
 | |
| " Integer/Floating point without a dot:
 | |
| syn match   euphoria3Number	"\<\d\+\>"
 | |
| " Floating point with dot:
 | |
| syn match   euphoria3Number	"\<\d\+\.\d*\>"
 | |
| " Floating point starting with a dot:
 | |
| syn match   euphoria3Number	"\.\d\+\>"
 | |
| " Boolean constants: 
 | |
| syn keyword euphoria3Boolean	true TRUE false FALSE
 | |
| 
 | |
| " Define the default highlighting.
 | |
| " Only used when an item doesn't have highlighting yet:
 | |
| hi def link euphoria3Comment	Comment
 | |
| hi def link euphoria3String	String
 | |
| hi def link euphoria3Char	Character
 | |
| hi def link euphoria3Number	Number	
 | |
| hi def link euphoria3Boolean	Boolean	
 | |
| hi def link euphoria3Builtin	Identifier	
 | |
| hi def link euphoria3Library 	Function	
 | |
| hi def link euphoria3Keyword	Statement	
 | |
| hi def link euphoria3Operator	Statement	
 | |
| hi def link euphoria3Debug	Debug	
 | |
| hi def link euphoria3Delimit	Delimiter	
 | |
|  	
 | |
| let b:current_syntax = "euphoria3"
 | |
| 
 | |
| " Restore current compatible-options: 
 | |
| let &cpo = s:save_cpo
 | |
| unlet s:save_cpo
 | |
| 
 |