]> granicus.if.org Git - vim/commitdiff
Update runtime files. Add Euphoria syntax files.
authorBram Moolenaar <Bram@vim.org>
Mon, 24 Feb 2014 01:51:51 +0000 (02:51 +0100)
committerBram Moolenaar <Bram@vim.org>
Mon, 24 Feb 2014 01:51:51 +0000 (02:51 +0100)
runtime/doc/change.txt
runtime/doc/cmdline.txt
runtime/doc/eval.txt
runtime/doc/map.txt
runtime/doc/tags
runtime/doc/todo.txt
runtime/filetype.vim
runtime/syntax/euphoria3.vim [new file with mode: 0644]
runtime/syntax/euphoria4.vim [new file with mode: 0644]
runtime/syntax/help.vim
runtime/syntax/tcl.vim

index 1ff39c3999198883b52489b80f5dea6147cfda72..d6daf50d44c5ebfcfcd4bd6afdb373ede622d623 100644 (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*
index 9d7c5f56f0529480f2f1e1298d6fc59f930029ba..f58389af8c24d854569e4e4c88b25c6821332332 100644 (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": >
index 7b57e7fd4bfce8858d7d2a7b3601b6ccedbabbc0..efbac91e1c4eb3ef3094c7a9e31dff6a40dbf995 100644 (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"
index 4ae902c5788d10a4e8331dee707e34053c607de4..d77197996f1196b4e787c6ebcefead94c01ef399 100644 (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'
index f885e84a4e3ee9fdcfc07f75feac7ac0ba03cc94..2c46bff487c64e8e9918a939ab21d3cde8b54776 100644 (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*
index b15d633950dcc7750c60cd4a533019985c5825d8..a955ddaa3142ea3d6af4bfd9c3f65a8e7fac88bb 100644 (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
index 96207e0b273d6c146df48adf96d095ea8df7f38e..b2d34de0ba763d5f88e9ce0554a6a1b498059fab 100644 (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
diff --git a/runtime/syntax/euphoria3.vim b/runtime/syntax/euphoria3.vim
new file mode 100644 (file)
index 0000000..e449c51
--- /dev/null
@@ -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 (file)
index 0000000..8ea4622
--- /dev/null
@@ -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"
+
index 52c96fc66ba36c55d1bd29d499f69ef8744afb68..3368b1ddc57adaa6ff10044ddd2ae07b082f3b8b 100644 (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_..'"
index d15422daa8c55b5d698c807520f9a2b2875c4c66..3c598267dca593d93dd90e1db8a1df0f05a3ab94 100644 (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
-
-" 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
-
-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
+" 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.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
+
+" 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