changeset 6091:7090d7f160f7

Update runtime files. Add vroom file support.
author Bram Moolenaar <bram@vim.org>
date Sat, 26 Jul 2014 13:40:44 +0200
parents 7b2d05a51e76
children 6f88e2dafbf6
files runtime/doc/if_pyth.txt runtime/doc/options.txt runtime/doc/tags runtime/doc/todo.txt runtime/filetype.vim runtime/ftplugin/vroom.vim runtime/indent/vroom.vim runtime/syntax/django.vim runtime/syntax/htmldjango.vim runtime/syntax/vroom.vim
diffstat 10 files changed, 191 insertions(+), 35 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 7.4.  Last change: 2013 Jul 10
+*if_pyth.txt*   For Vim version 7.4.  Last change: 2014 Jul 23
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -28,7 +28,7 @@ Both can be available at the same time, 
 ==============================================================================
 1. Commands						*python-commands*
 
-					*:python* *:py* *E205* *E263* *E264*
+					*:python* *:py* *E263* *E264* *E887*
 :[range]py[thon] {stmt}
 			Execute Python statement {stmt}.  A simple check if
 			the `:python` command is working: >
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.4.  Last change: 2014 Jun 26
+*options.txt*	For Vim version 7.4.  Last change: 2014 Jul 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5369,7 +5369,7 @@ A jump table for the options with a shor
 	Expression which is evaluated to apply a patch to a file and generate
 	the resulting new version of the file.  See |diff-patchexpr|.
 
-						*'patchmode'* *'pm'* *E206*
+					*'patchmode'* *'pm'* *E205* *E206*
 'patchmode' 'pm'	string	(default "")
 			global
 			{not in Vi}
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3592,7 +3592,7 @@ E201	autocmd.txt	/*E201*
 E202	options.txt	/*E202*
 E203	autocmd.txt	/*E203*
 E204	autocmd.txt	/*E204*
-E205	if_pyth.txt	/*E205*
+E205	options.txt	/*E205*
 E206	options.txt	/*E206*
 E207	editing.txt	/*E207*
 E208	message.txt	/*E208*
@@ -4324,6 +4324,7 @@ E883	eval.txt	/*E883*
 E884	eval.txt	/*E884*
 E885	sign.txt	/*E885*
 E886	starting.txt	/*E886*
+E887	if_pyth.txt	/*E887*
 E89	message.txt	/*E89*
 E90	message.txt	/*E90*
 E91	options.txt	/*E91*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2014 Jul 19
+*todo.txt*      For Vim version 7.4.  Last change: 2014 Jul 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,8 +34,6 @@ not be repeated below, unless there is e
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Completion menu: remove redraw (Hirohito Higashi)
-
 Regexp problems:
 - Bug with pattern: '\vblock (\d+)\.\n.*\d+%(\1)@<!\.$'
   (Lech Lorens, 2014 Feb 3)
@@ -48,28 +46,13 @@ Regexp problems:
 - NFA regexp doesn't handle \%<v correctly. (Ingo Karkat, 2014 May 12)
 - Does not work with NFA regexp engine:
   \%u, \%x, \%o, \%d followed by a composing character
-
-Crash when splitting the window when the size is tiny.
-(Yukihiro Nakadaira, 2014 Jul 15-16)
-
-Another problem with splitting window. (Yukihiro Nakadaira, 2014 Jul 17)
-Patch Jul 17.
-
-Using freed memory when jumping from a quickfix list. (lcd47, 2014 Jul 17)
-
-Patch to fix valgrind error. (Dominique Pelle, 2014 Jul 9)
-
-Vroom filetype support. (David Barnett, 2014 Jul 10)
-
-u_undo error.  Reproduce with description from Ayberk Ozgur, 2014 Jul 17.
-
-Updated Django files. (Dave Hodder, 2014 Jul 13)
-
-Title of quickfist list is not kept for setqflist(list 'r').
-(Lcd, 2014 Jul 17)  With test Jul 18.
-
-Patch to fix noremap flags not cleared after typing Esc. (Jacob Niehus, 2014
-Jul 9)
+- Bug relating to back references. (Ingo Karkat, 2014 Jul 24)
+
+Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
+
+Patch to make getregtype() return the right size for non-linux systems.
+(Yasuhiro Matsumoto, 2014 Jul 8)
+Breaks test_eval.  Inefficient, can we only compute y_width when needed?
 
 Problem that a previous silent ":throw" causes a following try/catch not to
 work. (ZyX, 2013 Sep 28)
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2014 Jul 16
+" Last Change:	2014 Jul 23
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -2314,6 +2314,9 @@ au BufNewFile,BufRead vgrindefs			setf v
 " VRML V1.0c
 au BufNewFile,BufRead *.wrl			setf vrml
 
+" Vroom (vim testing and executable documentation)
+au BufNewFile,BufRead *.vroom			setf vroom
+
 " Webmacro
 au BufNewFile,BufRead *.wm			setf webmacro
 
new file mode 100644
--- /dev/null
+++ b/runtime/ftplugin/vroom.vim
@@ -0,0 +1,35 @@
+" Vim filetype plugin file
+" Language:	Vroom (vim testing and executable documentation)
+" Maintainer:	David Barnett (https://github.com/google/vim-ft.vroom)
+" Last Change:	2014 Jul 23
+
+if exists('b:did_ftplugin')
+  finish
+endif
+let b:did_ftplugin = 1
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+
+let b:undo_ftplugin = 'setlocal formatoptions< shiftwidth< softtabstop<' .
+    \ ' expandtab< iskeyword< comments< commentstring<'
+
+setlocal formatoptions-=t
+
+" The vroom interpreter doesn't accept anything but 2-space indent.
+setlocal shiftwidth=2
+setlocal softtabstop=2
+setlocal expandtab
+
+" To allow tag lookup and autocomplete for whole autoload functions, '#' must be
+" a keyword character. This also conforms to the behavior of ftplugin/vim.vim.
+setlocal iskeyword+=#
+
+" Vroom files have no comments (text is inert documentation unless indented).
+setlocal comments=
+setlocal commentstring=
+
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
new file mode 100644
--- /dev/null
+++ b/runtime/indent/vroom.vim
@@ -0,0 +1,21 @@
+" Vim indent file
+" Language:	Vroom (vim testing and executable documentation)
+" Maintainer:	David Barnett (https://github.com/google/vim-ft.vroom)
+" Last Change:	2014 Jul 23
+
+if exists('b:did_indent')
+  finish
+endif
+let b:did_indent = 1
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+
+let b:undo_indent = 'setlocal autoindent<'
+
+setlocal autoindent
+
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
--- a/runtime/syntax/django.vim
+++ b/runtime/syntax/django.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Django template
 " Maintainer:	Dave Hodder <dmh@dmh.org.uk>
-" Last Change:	2012 Apr 09
+" Last Change:	2014 Jul 13
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -64,7 +64,7 @@ syn region djangoTagBlock start="{%" end
 syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display
 
 " Django template 'comment' tag and comment block
-syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=djangoTodo
+syn region djangoComment start="{%\s*comment\(\s\+.\{-}\)\?%}" end="{%\s*endcomment\s*%}" contains=djangoTodo
 syn region djangoComBlock start="{#" end="#}" contains=djangoTodo
 
 " Define the default highlighting.
--- a/runtime/syntax/htmldjango.vim
+++ b/runtime/syntax/htmldjango.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Django HTML template
 " Maintainer:	Dave Hodder <dmh@dmh.org.uk>
-" Last Change:	2007 Jan 26
+" Last Change:	2014 Jul 13
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -28,7 +28,7 @@ syn cluster djangoBlocks add=djangoTagBl
 
 syn region djangoTagBlock start="{%" end="%}" contains=djangoStatement,djangoFilter,djangoArgument,djangoTagError display containedin=ALLBUT,@djangoBlocks
 syn region djangoVarBlock start="{{" end="}}" contains=djangoFilter,djangoArgument,djangoVarError display containedin=ALLBUT,@djangoBlocks
-syn region djangoComment start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
+syn region djangoComment start="{%\s*comment\(\s\+.\{-}\)\?%}" end="{%\s*endcomment\s*%}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
 syn region djangoComBlock start="{#" end="#}" contains=djangoTodo containedin=ALLBUT,@djangoBlocks
 
 let b:current_syntax = "htmldjango"
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/vroom.vim
@@ -0,0 +1,113 @@
+" Vim syntax file
+" Language:	Vroom (vim testing and executable documentation)
+" Maintainer:	David Barnett (https://github.com/google/vim-ft.vroom)
+" Last Change:	2014 Jul 23
+
+" For version 5.x: Clear all syntax items.
+" For version 6.x and later: Quit when a syntax file was already loaded.
+if v:version < 600
+  syntax clear
+elseif exists('b:current_syntax')
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo-=C
+
+
+syn include @vroomVim syntax/vim.vim
+syn include @vroomShell syntax/sh.vim
+
+syntax region vroomAction
+    \ matchgroup=vroomOutput
+    \ start='\m^  ' end='\m$' keepend
+    \ contains=vroomControlBlock
+
+syntax region vroomAction
+    \ matchgroup=vroomOutput
+    \ start='\m^  & ' end='\m$' keepend
+    \ contains=vroomControlBlock
+
+syntax match vroomOutput '\m^  &$'
+
+syntax region vroomMessageBody
+    \ matchgroup=vroomMessage
+    \ start='\m^  \~ ' end='\m$' keepend
+    \ contains=vroomControlBlock
+
+syntax region vroomColoredAction
+    \ matchgroup=vroomInput
+    \ start='\m^  > ' end='\m$' keepend
+    \ contains=vimNotation,vroomControlBlock
+syntax region vroomAction
+    \ matchgroup=vroomInput
+    \ start='\m^  % ' end='\m$' keepend
+    \ contains=vimNotation,vroomControlBlock
+
+syntax region vroomAction
+    \ matchgroup=vroomContinuation
+    \ start='\m^  |' end='\m$' keepend
+
+syntax region vroomAction
+    \ start='\m^  \ze:' end='\m$' keepend
+    \ contains=@vroomVim,vroomControlBlock
+
+syntax region vroomAction
+    \ matchgroup=vroomDirective
+    \ start='\m^  @\i\+' end='\m$' keepend
+    \ contains=vroomControlBlock
+
+syntax region vroomSystemAction
+    \ matchgroup=vroomSystem
+    \ start='\m^  ! ' end='\m$' keepend
+    \ contains=@vroomShell,vroomControlBlock
+
+syntax region vroomHijackAction
+    \ matchgroup=vroomHijack
+    \ start='\m^  \$ ' end='\m$' keepend
+    \ contains=vroomControlBlock
+
+syntax match vroomControlBlock contains=vroomControlEscape,@vroomControls
+    \ '\v \([^&()][^()]*\)$'
+
+syntax match vroomControlEscape '\m&' contained
+
+syntax cluster vroomControls
+    \ contains=vroomDelay,vroomMode,vroomBuffer,vroomRange
+    \,vroomChannel,vroomBind,vroomStrictness
+syntax match vroomRange '\v\.(,\+?(\d+|\$)?)?' contained
+syntax match vroomRange '\v\d*,\+?(\d+|\$)?' contained
+syntax match vroomBuffer '\v\d+,@!' contained
+syntax match vroomDelay '\v\d+(\.\d+)?s' contained
+syntax match vroomMode '\v<%(regex|glob|verbatim)' contained
+syntax match vroomChannel '\v<%(stderr|stdout|command|status)>' contained
+syntax match vroomBind '\v<bind>' contained
+syntax match vroomStrictness '\v\<%(STRICT|RELAXED|GUESS-ERRORS)\>' contained
+
+highlight default link vroomInput Identifier
+highlight default link vroomDirective vroomInput
+highlight default link vroomControlBlock vroomInput
+highlight default link vroomSystem vroomInput
+highlight default link vroomOutput Statement
+highlight default link vroomContinuation Constant
+highlight default link vroomHijack Special
+highlight default link vroomColoredAction Statement
+highlight default link vroomSystemAction vroomSystem
+highlight default link vroomHijackAction vroomHijack
+highlight default link vroomMessage vroomOutput
+highlight default link vroomMessageBody Constant
+
+highlight default link vroomControlEscape Special
+highlight default link vroomBuffer vroomInput
+highlight default link vroomRange Include
+highlight default link vroomMode Constant
+highlight default link vroomDelay Type
+highlight default link vroomStrictness vroomMode
+highlight default link vroomChannel vroomMode
+highlight default link vroomBind vroomMode
+
+let b:current_syntax = 'vroom'
+
+
+let &cpo = s:cpo_save
+unlet s:cpo_save