Update runtime files. Add Euphoria syntax files.

This commit is contained in:
Bram Moolenaar
2014-02-24 02:51:51 +01:00
parent 26df092843
commit 251835e14f
11 changed files with 459 additions and 64 deletions

View File

@ -1,4 +1,4 @@
*change.txt* For Vim version 7.4. Last change: 2014 Jan 23
*change.txt* For Vim version 7.4. Last change: 2014 Feb 11
VIM REFERENCE MANUAL by Bram Moolenaar
@ -156,6 +156,9 @@ only after a '.').
The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting
spaces before and after a multi-byte character |fo-table|.
The '[ mark is set at the end of the first line that was joined, '] at the end
of the resulting line.
==============================================================================
2. Delete and insert *delete-insert* *replacing*

View File

@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.4. Last change: 2013 Nov 25
*cmdline.txt* For Vim version 7.4. Last change: 2014 Feb 23
VIM REFERENCE MANUAL by Bram Moolenaar
@ -824,8 +824,8 @@ Note: these are typed literally, they are not special keys!
the start of the function.
*filename-modifiers*
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs*
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs*
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S*
The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
"<afile>" or "<abuf>". They are also used with the |fnamemodify()| function.
These are not available when Vim has been compiled without the |+modify_fname|
@ -880,6 +880,10 @@ These modifiers can be given, in this order:
:gs?pat?sub?
Substitute all occurrences of "pat" with "sub". Otherwise
this works like ":s".
:S Escape special characters for use with a shell command (see
|shellescape()|). Must be the last one. Examples: >
:!dir <cfile>:S
:call system('chmod +w -- ' . expand('%:S'))
Examples, when the file name is "src/version.c", current dir
"/home/mool/vim": >

View File

@ -7460,7 +7460,7 @@ This does NOT work: >
for Vim commands, |shellescape()| for |:!| commands.
Examples: >
:execute "e " . fnameescape(filename)
:execute "!ls " . shellescape(expand('%:h'), 1)
:execute "!ls " . shellescape(filename, 1)
<
Note: The executed string may be any command-line, but
you cannot start or end a "while", "for" or "if"

View File

@ -593,7 +593,7 @@ illogical when compared to other commands.
When you have a mapping that contains an Ex command, you need to put a line
terminator after it to have it executed. The use of <CR> is recommended for
this (see |<>|). Example: >
:map _ls :!ls -l %<CR>:echo "the end"<CR>
:map _ls :!ls -l %:S<CR>:echo "the end"<CR>
To avoid mapping of the characters you type in insert or Command-line mode,
type a CTRL-V first. The mapping in Insert mode is disabled if the 'paste'

View File

@ -12,6 +12,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
% motion.txt /*%*
%:. cmdline.txt /*%:.*
%:8 cmdline.txt /*%:8*
%:S cmdline.txt /*%:S*
%:e cmdline.txt /*%:e*
%:gs cmdline.txt /*%:gs*
%:h cmdline.txt /*%:h*
@ -1788,6 +1789,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:3match pattern.txt /*:3match*
::. cmdline.txt /*::.*
::8 cmdline.txt /*::8*
::S cmdline.txt /*::S*
::e cmdline.txt /*::e*
::gs cmdline.txt /*::gs*
::h cmdline.txt /*::h*

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.4. Last change: 2014 Feb 11
*todo.txt* For Vim version 7.4. Last change: 2014 Feb 23
VIM REFERENCE MANUAL by Bram Moolenaar
@ -34,11 +34,6 @@ not be repeated below, unless there is extra information.
*known-bugs*
-------------------- Known bugs and current work -----------------------
When 'paste' is changed with 'pastetoggle', the ruler doesn't reflect this
right away. (Samuel Ferencik, 2010 Dec 7)
Patch to fix that status line isn't redrawn when 'pastetoggle' is set.
(Nobuhiro Takasaki, 2014 Feb 11)
Regexp problems:
- NFA regexp doesn't count tab matches correctly. (Urtica Dioica / gaultheria
Shallon, 2013 Nov 18)
@ -54,7 +49,7 @@ Regexp problems:
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin Szamotulski
Remark from Brett 2014 Jan 6 and 7.
- Bug with back references. (Lech Lorens, 2014 Feb 3)
- Bug when using \>. (Ramel, 2014 Feb 2)
- Bug when using \>. (Ramel, 2014 Feb 2) (Aaron Bohannon, 2014 Feb 13)
Problem that a previous silent ":throw" causes a following try/catch not to
work. (ZyX, 2013 Sep 28)
@ -62,9 +57,6 @@ work. (ZyX, 2013 Sep 28)
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
directory exists. (Sergio Gallelli, 2013 Dec 29)
Patch 7.4.085 breaks Visual insert in some situations. (Issue 193)
Patch by Christian Brabandt, 2014 Jan 16.
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
Update for Clojure ftplugin. (Sung Pae). Await discussion about formatting in
@ -72,14 +64,15 @@ ftplugins.
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
Patch to make "J" set '[ and '] marks. (Christian Brabandt, 2013 Dec 11)
Any compatibility problems?
Using autoconf 2.69 gives a lot of warnings.
Patch to add :S modifier for excaping the current file name.
(ZyX, 2013 Nov 30) Update Dec 5.
Patch to allow for negative index in string. (LCD, 2014 Feb 13)
Feb 14 with test. Or does this intentionally not work?
Issu 197: ]P doesn't paste over Visual selection. With patch from Christian
Brabandt, Feb 6.
Issue 197: ]P doesn't paste over Visual selection. With patch from Christian
Brabandt, Feb 6. Issue 197.
Make 'lispwords' global-local. (Sung Pae, 2014 Feb 16)
Problem with 'spellsuggest' file, only works for some words.
(Cesar Romani, 2013 Aug 20) Depends on file name? (Aug 24)
@ -91,6 +84,11 @@ Additional remark by glts: the suggested words are marked bad?
Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21)
Problem with 'errorformat'. Patch by Lcd, 2014 Feb 21. With test.
Patch for the problem that a mapping where the second byte is 0x80 isn't
handled correcly. (Nobuhiro Takasaki, 2014 Feb 11)
Patch for mksession. (Nobuhiro Takasaki, 2014 Jan 31)
Also fixes another problem (following email)
@ -154,6 +152,9 @@ Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)
Some quickfix messages appear twice. (Gary Johnson, 2014 Feb 16)
Patch by Christian Brabandt, 2014 Feb 17.
Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
@ -1474,9 +1475,6 @@ Win32: When 'shell' is bash shellescape() doesn't always do the right thing.
Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape()
only takes 'shellslash' into account.
Pressing the 'pastetoggle' key doesn't update the statusline. (Jan Christoph
Ebersbach, 2008 Feb 1)
Menu item that does "xxd -r" doesn't work when 'fileencoding' is utf-16.
Check for this and use iconv? (Edward L. Fox, 2007 Sep 12)
Does the conversion in the other direction work when 'fileencodings' is set

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2014 Feb 11
" Last Change: 2014 Feb 23
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@ -539,6 +539,20 @@ au BufNewFile,BufRead *enlightenment/*.cfg setf c
" Eterm
au BufNewFile,BufRead *Eterm/*.cfg setf eterm
" Euphoria 3 or 4
au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw call s:EuphoriaCheck()
if has("fname_case")
au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW call s:EuphoriaCheck()
endif
func! s:EuphoriaCheck()
if exists('g:filetype_euphoria')
exe 'setf ' . g:filetype_euphoria
else
setf euphoria3
endif
endfunc
" Lynx config files
au BufNewFile,BufRead lynx.cfg setf lynx
@ -2244,7 +2258,7 @@ au BufNewFile,BufRead *.v setf verilog
au BufNewFile,BufRead *.va,*.vams setf verilogams
" SystemVerilog
au BufNewFile,BufRead *.sv setf systemverilog
au BufNewFile,BufRead *.sv,*.svh setf systemverilog
" VHDL
au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst setf vhdl

View File

@ -0,0 +1,129 @@
" Vim syntax file
" Language: Euphoria 3.1.1 - supports DOS - (http://www.RapidEuphoria.com)
" Maintainer: Shian Lee
" Last Change: 2014 Feb 23 (for Vim 7.4)
" Remark: Using 'euphoria3.vim' if "$EUDIR\BIN\EX.EXE" or "$EUDIR/bin/exu"
" file exist; else, using 'euphoria4.vim' for Euphoria 4.x.x.
" Filetype: *.e, *.eu, *.ew, *.ex, *.exu, *.exw (also in UPPER case).
" note: *.e|*.E are used by Eiffel; for solution see :help filetype.
" 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
" 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"

View File

@ -0,0 +1,240 @@
" Vim syntax file
" Language: Euphoria 4.0.5 (http://www.RapidEuphoria.com)
" Maintainer: Shian Lee
" Last Change: 2014 Feb 23 (for Vim 7.4)
" Remark: Using 'euphoria3.vim' if "$EUDIR\BIN\EX.EXE" or "$EUDIR/bin/exu"
" file exist; else, using 'euphoria4.vim' for Euphoria 4.x.x.
" Filetype: *.e, *.eu, *.ew, *.ex, *.exu, *.exw (also in UPPER case).
" note: *.e|*.E are used by Eiffel; for solution see :help filetype.
" 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
" 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 close 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 datetime
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
" Single and multiline string constant:
syn region euphoria4String start=/"\|b"\|x"/ skip=/\\"\|\\\\/ end=/"/ oneline
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"

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org)
" Last Change: 2013 Nov 17
" Last Change: 2014 Feb 12
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@ -40,7 +40,7 @@ endif
syn match helpNormal "|.*====*|"
syn match helpNormal "|||"
syn match helpNormal ":|vim:|" " for :help modeline
syn match helpVim "Vim version [0-9.a-z]\+"
syn match helpVim "\<Vim version [0-9][0-9.a-z]*"
syn match helpVim "VIM REFERENCE.*"
syn match helpOption "'[a-z]\{2,\}'"
syn match helpOption "'t_..'"

View File

@ -6,11 +6,9 @@
" (previously Matt Neumann <mattneu@purpleturtle.com>)
" (previously Allan Kelly <allan@fruitloaf.co.uk>)
" Original: Robin Becker <robin@jessikat.demon.co.uk>
" Last Change: 2009/04/06 02:38:36
" Version: 1.13
" URL: http://real.metasyntax.net:2357/cvs/cvsweb.cgi/Config/vim/syntax/tcl.vim
"
" Keywords TODO: click anchor
" Last Change: 2014-02-12
" Version: 1.14
" URL: http://bitbucket.org/taylor_venable/metasyntax/src/tip/Config/vim/syntax/tcl.vim
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@ -20,41 +18,39 @@ elseif exists("b:current_syntax")
finish
endif
" Basic Tcl commands: http://www.tcl.tk/man/tcl8.5/TclCmd/contents.htm
syn keyword tclCommand after append apply array bgerror binary catch cd chan clock
syn keyword tclCommand close concat dde dict encoding eof error eval exec exit
syn keyword tclCommand expr fblocked fconfigure fcopy file fileevent filename flush
syn keyword tclCommand format gets glob global history incr info interp join
syn keyword tclCommand lappend lassign lindex linsert list llength load lrange lrepeat
syn keyword tclCommand lreplace lreverse lsearch lset lsort memory namespace open package
syn keyword tclCommand pid proc puts pwd read regexp registry regsub rename return
syn keyword tclCommand scan seek set socket source split string subst tell time
syn keyword tclCommand trace unknown unload unset update uplevel upvar variable vwait
" Basic Tcl commands: http://www.tcl.tk/man/tcl8.6/TclCmd/contents.htm
syn keyword tclCommand after append array bgerror binary cd chan clock close concat
syn keyword tclCommand dde dict encoding eof error eval exec exit expr fblocked
syn keyword tclCommand fconfigure fcopy file fileevent flush format gets glob
syn keyword tclCommand global history http incr info interp join lappend lassign
syn keyword tclCommand lindex linsert list llength lmap load lrange lrepeat
syn keyword tclCommand lreplace lreverse lsearch lset lsort memory my namespace
syn keyword tclCommand next nextto open package pid puts pwd read refchan regexp
syn keyword tclCommand registry regsub rename scan seek self set socket source
syn keyword tclCommand split string subst tell time trace unknown unload unset
syn keyword tclCommand update uplevel upvar variable vwait
" The 'Tcl Standard Library' commands: http://www.tcl.tk/man/tcl8.5/TclCmd/library.htm
syn keyword tclCommand auto_execok auto_import auto_load auto_mkindex auto_mkindex_old
syn keyword tclCommand auto_qualify auto_reset parray tcl_endOfWord tcl_findLibrary
syn keyword tclCommand tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter
syn keyword tclCommand tcl_wordBreakBefore
" The 'Tcl Standard Library' commands: http://www.tcl.tk/man/tcl8.6/TclCmd/library.htm
syn keyword tclCommand auto_execok auto_import auto_load auto_mkindex auto_reset
syn keyword tclCommand auto_qualify tcl_findLibrary parray tcl_endOfWord
syn keyword tclCommand tcl_startOfNextWord tcl_startOfPreviousWord
syn keyword tclCommand tcl_wordBreakAfter tcl_wordBreakBefore
" Commands that were added in Tcl 8.6
syn keyword tclCommand my oo::copy oo::define oo::objdefine self
syn keyword tclCommand coroutine tailcall throw yield
" Global variables used by Tcl: http://www.tcl.tk/man/tcl8.5/TclCmd/tclvars.htm
syn keyword tclVars env errorCode errorInfo tcl_library tcl_patchLevel tcl_pkgPath
syn keyword tclVars tcl_platform tcl_precision tcl_rcFileName tcl_traceCompile
syn keyword tclVars tcl_traceExec tcl_wordchars tcl_nonwordchars tcl_version argc argv
syn keyword tclVars argv0 tcl_interactive geometry
" Global variables used by Tcl: http://www.tcl.tk/man/tcl8.6/TclCmd/tclvars.htm
syn keyword tclVars auto_path env errorCode errorInfo tcl_library tcl_patchLevel
syn keyword tclVars tcl_pkgPath tcl_platform tcl_precision tcl_rcFileName
syn keyword tclVars tcl_traceCompile tcl_traceExec tcl_wordchars
syn keyword tclVars tcl_nonwordchars tcl_version argc argv argv0 tcl_interactive
" Strings which expr accepts as boolean values, aside from zero / non-zero.
syn keyword tclBoolean true false on off yes no
syn keyword tclLabel case default
syn keyword tclProcCommand apply coroutine proc return tailcall yield yieldto
syn keyword tclConditional if then else elseif switch
syn keyword tclConditional try finally
syn keyword tclConditional catch try throw finally
syn keyword tclLabel default
syn keyword tclRepeat while for foreach break continue
syn keyword tcltkSwitch contained insert create polygon fill outline tag
" WIDGETS
@ -91,6 +87,11 @@ syn match tclVarRef "$\(\(::\)\?\([[:alnum:]_]*::\)*\)\a[[:alnum:]_]*"
" ${...} may contain any character except '}'
syn match tclVarRef "${[^}]*}"
" Used to facilitate hack to utilize string background for certain color
" schemes, e.g. inkpot and lettuce.
syn cluster tclVarRefC add=tclVarRef
syn cluster tclSpecialC add=tclSpecial
" The syntactic unquote-splicing replacement for [expand].
syn match tclExpand '\s{\*}'
syn match tclExpand '^{\*}'
@ -203,9 +204,9 @@ syn match tclSpecial contained '\\[\[\]\{\}\"\$]'
syn region tclEmbeddedStatement start='\[' end='\]' contained contains=tclCommand,tclNumber,tclLineContinue,tclString,tclVarRef,tclEmbeddedStatement
" A string needs the skip argument as it may legitimately contain \".
" Match at start of line
syn region tclString start=+^"+ end=+"+ contains=tclSpecial skip=+\\\\\|\\"+
syn region tclString start=+^"+ end=+"+ contains=@tclSpecialC skip=+\\\\\|\\"+
"Match all other legal strings.
syn region tclString start=+[^\\]"+ms=s+1 end=+"+ contains=tclSpecial,tclVarRef,tclEmbeddedStatement skip=+\\\\\|\\"+
syn region tclString start=+[^\\]"+ms=s+1 end=+"+ contains=@tclSpecialC,@tclVarRefC,tclEmbeddedStatement skip=+\\\\\|\\"+
" Line continuation is backslash immediately followed by newline.
syn match tclLineContinue '\\$'
@ -231,6 +232,9 @@ syn case match
syn region tclComment start="^\s*\#" skip="\\$" end="$" contains=tclTodo
syn region tclComment start=/;\s*\#/hs=s+1 skip="\\$" end="$" contains=tclTodo
"syn match tclComment /^\s*\#.*$/
"syn match tclComment /;\s*\#.*$/hs=s+1
"syn sync ccomment tclComment
" Define the default highlighting.
@ -252,6 +256,7 @@ if version >= 508 || !exists("did_tcl_syntax_inits")
HiLink tclNumber Number
HiLink tclError Error
HiLink tclCommand Statement
HiLink tclProcCommand Type
HiLink tclString String
HiLink tclComment Comment
HiLink tclSpecial Special
@ -279,4 +284,4 @@ endif
let b:current_syntax = "tcl"
" vim: ts=8 noet
" vim: ts=8 noet nolist