# HG changeset patch # User Bram Moolenaar # Date 1393206711 -3600 # Node ID 80e5f9584b021ed535e9df67ace854abc61cbb8c # Parent a073747c2a1e6e19546cfed720b5c096bd458834 Update runtime files. Add Euphoria syntax files. diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt --- a/runtime/doc/change.txt +++ b/runtime/doc/change.txt @@ -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* diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -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 ar 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", "", "", "" or "". 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 or :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 :S + :call system('chmod +w -- ' . expand('%:S')) Examples, when the file name is "src/version.c", current dir "/home/mool/vim": > diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -7460,7 +7460,7 @@ 7. Commands *expression-commands* 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" diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -593,7 +593,7 @@ illogical when compared to other command 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 is recommended for this (see |<>|). Example: > - :map _ls :!ls -l %:echo "the end" + :map _ls :!ls -l %:S:echo "the end" 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' diff --git a/runtime/doc/tags b/runtime/doc/tags --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -12,6 +12,7 @@ % 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 @@ 90.5 usr_90.txt /*90.5* :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* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -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 e *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? - -Patch to add :S modifier for excaping the current file name. -(ZyX, 2013 Nov 30) Update Dec 5. - -Issu 197: ]P doesn't paste over Visual selection. With patch from Christian -Brabandt, Feb 6. +Using autoconf 2.69 gives a lot of warnings. + +Patch to allow for negative index in string. (LCD, 2014 Feb 13) +Feb 14 with test. Or does this intentionally not work? + +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 @@ 8 non-ASCII font names don't work. Ne 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, S 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( 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 diff --git a/runtime/filetype.vim b/runtime/filetype.vim --- a/runtime/filetype.vim +++ b/runtime/filetype.vim @@ -1,7 +1,7 @@ " Vim support file to detect file types " " Maintainer: Bram Moolenaar -" 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/*.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 diff --git a/runtime/syntax/euphoria3.vim b/runtime/syntax/euphoria3.vim new file mode 100644 --- /dev/null +++ b/runtime/syntax/euphoria3.vim @@ -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" + diff --git a/runtime/syntax/euphoria4.vim b/runtime/syntax/euphoria4.vim new file mode 100644 --- /dev/null +++ b/runtime/syntax/euphoria4.vim @@ -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" + diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim --- a/runtime/syntax/help.vim +++ b/runtime/syntax/help.vim @@ -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 "\) " (previously Allan Kelly ) " Original: Robin Becker -" 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 - -" Commands that were added in Tcl 8.6 +" 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 -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 "$\(\(::\)\?\([[:aln " ${...} 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_sy 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