summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-09-07 22:18:52 +0200
committerBram Moolenaar <Bram@vim.org>2020-09-07 22:18:52 +0200
commit1c6737b20a5cf71751b180461cea22fc76d8870c (patch)
treeb4fb75497cb2c47f09de1de5bea821af222756ce /runtime
parent9c929713b7588f2e44a1533809d2ba0bbd2631be (diff)
Update runtime files.
Diffstat (limited to 'runtime')
-rw-r--r--runtime/compiler/dart.vim26
-rw-r--r--runtime/compiler/dart2js.vim28
-rw-r--r--runtime/compiler/dart2native.vim28
-rw-r--r--runtime/compiler/dartanalyser.vim23
-rw-r--r--runtime/compiler/dartdevc.vim28
-rw-r--r--runtime/compiler/dartdoc.vim26
-rw-r--r--runtime/compiler/dartfmt.vim25
-rw-r--r--runtime/compiler/javac.vim15
-rw-r--r--runtime/compiler/rhino.vim30
-rw-r--r--runtime/compiler/xmllint.vim18
-rw-r--r--runtime/doc/eval.txt18
-rw-r--r--runtime/doc/map.txt69
-rw-r--r--runtime/doc/message.txt4
-rw-r--r--runtime/doc/options.txt11
-rw-r--r--runtime/doc/pattern.txt24
-rw-r--r--runtime/doc/tags4
-rw-r--r--runtime/doc/terminal.txt8
-rw-r--r--runtime/doc/testing.txt2
-rw-r--r--runtime/doc/todo.txt56
-rw-r--r--runtime/doc/usr_03.txt19
-rw-r--r--runtime/doc/usr_40.txt10
-rw-r--r--runtime/doc/usr_41.txt48
-rw-r--r--runtime/doc/version5.txt4
-rw-r--r--runtime/doc/vim9.txt122
-rw-r--r--runtime/doc/windows.txt8
-rw-r--r--runtime/ftplugin/spec.vim8
-rw-r--r--runtime/indent/json.vim22
-rw-r--r--runtime/keymap/french-azerty.vim81
-rw-r--r--runtime/keymap/german-qwertz.vim76
-rw-r--r--runtime/keymap/turkish-f.vim1
-rw-r--r--runtime/syntax/php.vim128
-rw-r--r--runtime/tutor/tutor6
-rw-r--r--runtime/tutor/tutor.utf-86
33 files changed, 735 insertions, 247 deletions
diff --git a/runtime/compiler/dart.vim b/runtime/compiler/dart.vim
new file mode 100644
index 0000000000..f9ebfe1b27
--- /dev/null
+++ b/runtime/compiler/dart.vim
@@ -0,0 +1,26 @@
+" Vim compiler file
+" Compiler: Dart VM
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2019 May 08
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "dart"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dart
+CompilerSet errorformat=%E%f:%l:%c:\ Error:\ %m,
+ \%CTry\ %.%#,
+ \%Z\ %#^%\\+,
+ \%C%.%#,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/dart2js.vim b/runtime/compiler/dart2js.vim
new file mode 100644
index 0000000000..b6a4e4d530
--- /dev/null
+++ b/runtime/compiler/dart2js.vim
@@ -0,0 +1,28 @@
+" Vim compiler file
+" Compiler: Dart to JavaScript Compiler
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2019 May 08
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "dart2js"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dart2js
+CompilerSet errorformat=%E%f:%l:%c:,
+ \%-GError:\ Compilation\ failed.,
+ \%CError:\ %m,
+ \%Z\ %#^%\\+,
+ \%C%.%#,
+ \%trror:\ %m,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/dart2native.vim b/runtime/compiler/dart2native.vim
new file mode 100644
index 0000000000..51bdab0cc3
--- /dev/null
+++ b/runtime/compiler/dart2native.vim
@@ -0,0 +1,28 @@
+" Vim compiler file
+" Compiler: Dart to Native Compiler
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2019 May 08
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "dart2native"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dart2native
+CompilerSet errorformat=%E%f:%l:%c:\ Error:\ %m,
+ \%CTry\ %.%#,
+ \%Z\ %#^%\\+,
+ \%Z%$,
+ \%C%.%#,
+ \%E%f:\ %trror:\ %m,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/dartanalyser.vim b/runtime/compiler/dartanalyser.vim
new file mode 100644
index 0000000000..e691d80b61
--- /dev/null
+++ b/runtime/compiler/dartanalyser.vim
@@ -0,0 +1,23 @@
+" Vim compiler file
+" Compiler: Dart Analyzer
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2019 May 08
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "dartanalyzer"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dartanalyzer\ --format\ machine
+CompilerSet errorformat=%t%\\w%\\+\|%\\w%\\+\|%\\w%\\+\|%f\|%l\|%c\|%\\d%\\+\|%m,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/dartdevc.vim b/runtime/compiler/dartdevc.vim
new file mode 100644
index 0000000000..e8d1988ed6
--- /dev/null
+++ b/runtime/compiler/dartdevc.vim
@@ -0,0 +1,28 @@
+" Vim compiler file
+" Compiler: Dart Development Compiler
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2019 May 08
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "dartdevc"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dartdevc
+CompilerSet errorformat=%E%f:%l:%c:\ Error:\ %m,
+ \%CTry\ %.%#,
+ \%Z\ %#^%\\+,
+ \%Z%$,
+ \%C%.%#,
+ \%E%f:\ %trror:\ %m,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/dartdoc.vim b/runtime/compiler/dartdoc.vim
new file mode 100644
index 0000000000..26b38d8dd4
--- /dev/null
+++ b/runtime/compiler/dartdoc.vim
@@ -0,0 +1,26 @@
+" Vim compiler file
+" Compiler: Dart Documentation Generator
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2019 May 08
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "dartdoc"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dartdoc
+CompilerSet errorformat=\ \ %tarning:\ %m,
+ \\ \ %trror:\ %m,
+ \%+EGeneration\ failed:\ %m,
+ \%+ISuccess!\ Docs\ generated\ into\ %f,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/dartfmt.vim b/runtime/compiler/dartfmt.vim
new file mode 100644
index 0000000000..2e4ab02ad3
--- /dev/null
+++ b/runtime/compiler/dartfmt.vim
@@ -0,0 +1,25 @@
+" Vim compiler file
+" Compiler: Dart Formatter
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2019 May 08
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "dartfmt"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+CompilerSet makeprg=dartfmt
+CompilerSet errorformat=%Eline\ %l\\,\ column\ %c\ of\ %f:\ %m,
+ \%Z\ %\\{3}│\ %\\+^%\\+,
+ \%C%.%#,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/javac.vim b/runtime/compiler/javac.vim
index a50bdca8f2..8507efd67c 100644
--- a/runtime/compiler/javac.vim
+++ b/runtime/compiler/javac.vim
@@ -1,7 +1,7 @@
" Vim compiler file
-" Compiler: javac
+" Compiler: Java Development Kit Compiler
" Maintainer: Doug Kearns <dougkearns@gmail.com>
-" Last Change: 2004 Nov 27
+" Last Change: 2019 Oct 21
if exists("current_compiler")
finish
@@ -12,6 +12,15 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
+let s:cpo_save = &cpo
+set cpo&vim
+
CompilerSet makeprg=javac
+CompilerSet errorformat=%E%f:%l:\ error:\ %m,
+ \%W%f:%l:\ warning:\ %m,
+ \%-Z%p^,
+ \%-C%.%#,
+ \%-G%.%#
-CompilerSet errorformat=%E%f:%l:\ %m,%-Z%p^,%-C%.%#,%-G%.%#
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/rhino.vim b/runtime/compiler/rhino.vim
new file mode 100644
index 0000000000..30f3dd3252
--- /dev/null
+++ b/runtime/compiler/rhino.vim
@@ -0,0 +1,30 @@
+" Vim compiler file
+" Compiler: Rhino Shell (JavaScript in Java)
+" Maintainer: Doug Kearns <dougkearns@gmail.com>
+" Last Change: 2019 Jul 10
+
+if exists("current_compiler")
+ finish
+endif
+let current_compiler = "rhino"
+
+if exists(":CompilerSet") != 2 " older Vim always used :setlocal
+ command -nargs=* CompilerSet setlocal <args>
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+" CompilerSet makeprg=java\ -jar\ lib/rhino-X.X.XX.jar\ -w\ -strict
+
+CompilerSet makeprg=rhino
+CompilerSet errorformat=%-Gjs:\ %.%#Compilation\ produced%.%#,
+ \%Ejs:\ \"%f\"\\,\ line\ %l:\ %m,
+ \%Ejs:\ uncaught\ JavaScript\ runtime\ exception:\ %m,
+ \%Wjs:\ warning:\ \"%f\"\\,\ line\ %l:\ %m,
+ \%Zjs:\ %p^,
+ \%Cjs:\ %.%#,
+ \%-G%.%#
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/compiler/xmllint.vim b/runtime/compiler/xmllint.vim
index 96cfa55383..79d38b4d14 100644
--- a/runtime/compiler/xmllint.vim
+++ b/runtime/compiler/xmllint.vim
@@ -1,7 +1,7 @@
" Vim compiler file
-" Compiler: xmllint
+" Compiler: Libxml2 Command-Line Tool
" Maintainer: Doug Kearns <dougkearns@gmail.com>
-" Last Change: 2013 Jul 8
+" Last Change: 2020 Jul 30
if exists("current_compiler")
finish
@@ -13,14 +13,16 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
endif
let s:cpo_save = &cpo
-set cpo-=C
+set cpo&vim
CompilerSet makeprg=xmllint\ --valid\ --noout
-
-CompilerSet errorformat=%+E%f:%l:\ %.%#\ error\ :\ %m,
- \%+W%f:%l:\ %.%#\ warning\ :\ %m,
- \%-Z%p^,
- \%-G%.%#
+CompilerSet errorformat=%E%f:%l:\ %.%#\ error\ :\ %m,
+ \%W%f:%l:\ %.%#\ warning\ :\ %m,
+ \%-Z%p^,
+ \%C%.%#,
+ \%terror:\ %m,
+ \%tarning:\ %m,
+ \%-G%.%#
let &cpo = s:cpo_save
unlet s:cpo_save
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 130e6423b9..e72a388302 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 8.2. Last change: 2020 aug 30
+*eval.txt* For Vim version 8.2. Last change: 2020 Sep 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -120,8 +120,9 @@ base, use |str2nr()|.
*TRUE* *FALSE* *Boolean*
For boolean operators Numbers are used. Zero is FALSE, non-zero is TRUE.
-You can also use |v:false| and |v:true|. When TRUE is returned from a
-function it is the Number one, FALSE is the number zero.
+You can also use |v:false| and |v:true|. In Vim9 script |false| and |true|.
+When TRUE is returned from a function it is the Number one, FALSE is the
+number zero.
Note that in the command: >
:if "foo"
@@ -2360,7 +2361,7 @@ assert_equalfile({fname-one}, {fname-two} [, {msg}])
Number assert file contents are equal
assert_exception({error} [, {msg}])
Number assert {error} is in v:exception
-assert_fails({cmd} [, {error} [, {msg} [, {lnum}]]])
+assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
Number assert {cmd} fails
assert_false({actual} [, {msg}])
Number assert {actual} is false
@@ -3362,7 +3363,7 @@ bufnr([{expr} [, {create}]])
above.
If the buffer doesn't exist, -1 is returned. Or, if the
- {create} argument is present and not zero, a new, unlisted,
+ {create} argument is present and TRUE, a new, unlisted,
buffer is created and its number is returned. Example: >
let newbuf = bufnr('Scratch001', 1)
< Using an empty name uses the current buffer. To create a new
@@ -3513,7 +3514,7 @@ char2nr({expr} [, {utf8}]) *char2nr()*
Example for "utf-8": >
char2nr("á") returns 225
char2nr("á"[0]) returns 195
-< With {utf8} set to 1, always treat as utf-8 characters.
+< With {utf8} set to TRUE, always treat as utf-8 characters.
A combining character is a separate character.
|nr2char()| does the opposite.
To turn a string into a list of character numbers: >
@@ -7608,7 +7609,7 @@ perleval({expr}) *perleval()*
< {only available when compiled with the |+perl| feature}
-popup_ functions are documented here: |popup-functions|.
+popup_ functions are documented here: |popup-functions|
pow({x}, {y}) *pow()*
@@ -11040,7 +11041,8 @@ win_screenpos({nr}) *win_screenpos()*
Return the screen position of window {nr} as a list with two
numbers: [row, col]. The first window always has position
[1, 1], unless there is a tabline, then it is [2, 1].
- {nr} can be the window number or the |window-ID|.
+ {nr} can be the window number or the |window-ID|. Use zero
+ for the current window.
Return [0, 0] if the window cannot be found in the current
tabpage.
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 83fdbbb825..8900026a1f 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt* For Vim version 8.2. Last change: 2020 Aug 30
+*map.txt* For Vim version 8.2. Last change: 2020 Sep 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -195,7 +195,7 @@ Note that this works when the <nowait> mapping fully matches and is found
before any partial matches. This works when:
- There is only one matching buffer-local mapping, since these are always
found before global mappings.
-- There is another buffer-local mapping that partly matches, but it is was
+- There is another buffer-local mapping that partly matches, but it is
defined earlier (last defined mapping is found first).
*:map-<silent>* *:map-silent*
@@ -289,15 +289,8 @@ Here is an example that inserts a list number that increases: >
CTRL-L inserts the next number, CTRL-R resets the count. CTRL-R returns an
empty string, so that nothing is inserted.
-Note that there are some tricks to make special keys work and escape CSI bytes
-in the text. The |:map| command also does this, thus you must avoid that it
-is done twice. This does not work: >
- :imap <expr> <F3> "<Char-0x611B>"
-Because the <Char- sequence is escaped for being a |:imap| argument and then
-again for using <expr>. This does work: >
- :imap <expr> <F3> "\u611B"
-Using 0x80 as a single byte before other text does not work, it will be seen
-as a special key.
+Note that using 0x80 as a single byte before other text does not work, it will
+be seen as a special key.
1.3 MAPPING AND MODES *:map-modes*
@@ -881,35 +874,47 @@ g@{motion} Call the function set by the 'operatorfunc' option.
Here is an example that counts the number of spaces with <F4>: >
- nmap <silent> <F4> :set opfunc=CountSpaces<CR>g@
- vmap <silent> <F4> :<C-U>call CountSpaces(visualmode(), 1)<CR>
+ nnoremap <expr> <F4> CountSpaces()
+ xnoremap <expr> <F4> CountSpaces()
+ " doubling <F4> works on a line
+ nnoremap <expr> <F4><F4> CountSpaces() .. '_'
- function! CountSpaces(type, ...)
- let sel_save = &selection
- let &selection = "inclusive"
- let reg_save = @@
-
- if a:0 " Invoked from Visual mode, use gv command.
- silent exe "normal! gvy"
- elseif a:type == 'line'
- silent exe "normal! '[V']y"
- else
- silent exe "normal! `[v`]y"
- endif
-
- echomsg strlen(substitute(@@, '[^ ]', '', 'g'))
+ function CountSpaces(type = '') abort
+ if a:type == ''
+ set opfunc=CountSpaces
+ return 'g@'
+ endif
- let &selection = sel_save
- let @@ = reg_save
+ let sel_save = &selection
+ let reg_save = getreginfo('"')
+ let cb_save = &clipboard
+ let visual_marks_save = [getpos("'<"), getpos("'>")]
+
+ try
+ set clipboard= selection=inclusive
+ let commands = #{line: "'[V']y", char: "`[v`]y", block: "`[\<c-v>`]y"}
+ silent exe 'noautocmd keepjumps normal! ' .. get(commands, a:type, '')
+ echom getreg('"')->count(' ')
+ finally
+ call setreg('"', reg_save)
+ call setpos("'<", visual_marks_save[0])
+ call setpos("'>", visual_marks_save[1])
+ let &clipboard = cb_save
+ let &selection = sel_save
+ endtry
endfunction
+An <expr> mapping is used to be able to fetch any prefixed count and register.
+This also avoids using a command line, which would trigger CmdlineEnter and
+CmdlineLeave autocommands.
+
Note that the 'selection' option is temporarily set to "inclusive" to be able
to yank exactly the right text by using Visual mode from the '[ to the ']
mark.
-Also note that there is a separate mapping for Visual mode. It removes the
-"'<,'>" range that ":" inserts in Visual mode and invokes the function with
-visualmode() and an extra argument.
+Also note that the 'clipboard' option is temporarily emptied to avoid
+clobbering the `"*` or `"+` registers, if its value contains the item `unnamed`
+or `unnamedplus`.
==============================================================================
2. Abbreviations *abbreviations* *Abbreviations*
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index 5024b3e1e2..9ce649db45 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt* For Vim version 8.2. Last change: 2020 Aug 20
+*message.txt* For Vim version 8.2. Last change: 2020 Sep 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -75,7 +75,7 @@ See `:messages` above.
LIST OF MESSAGES
- *E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*
+ *E222* *E228* *E232* *E293* *E298* *E304* *E317*
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
*E323* *E341* *E473* *E570* *E685* *E292* >
Add to read buffer
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index b5ceb38db5..85a0296e0b 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 8.2. Last change: 2020 Aug 28
+*options.txt* For Vim version 8.2. Last change: 2020 Sep 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -701,6 +701,7 @@ A jump table for the options with a short description can be found at |Q_op|.
"double": Use twice the width of ASCII characters.
*E834* *E835*
The value "double" cannot be used if 'listchars' or 'fillchars'
+ contains a character that would be double width.
The values are overruled for characters specified with
|setcellwidths()|.
@@ -6563,7 +6564,7 @@ A jump table for the options with a short description can be found at |Q_op|.
For the Amiga the default is ">". For MS-Windows the default is
">%s 2>&1". The output is directly saved in a file and not echoed to
the screen.
- For Unix the default it "| tee". The stdout of the compiler is saved
+ For Unix the default is "| tee". The stdout of the compiler is saved
in a file and echoed to the screen. If the 'shell' option is "csh" or
"tcsh" after initializations, the default becomes "|& tee". If the
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta",
@@ -7807,8 +7808,8 @@ A jump table for the options with a short description can be found at |Q_op|.
*'termwinsize'* *'tws'*
'termwinsize' 'tws' string (default "")
local to window
- Size of the |terminal| window. Format: {rows}x{columns} or
- {rows}*{columns}.
+ Size used when opening the |terminal| window. Format:
+ {rows}x{columns} or {rows}*{columns}.
- When empty the terminal gets the size from the window.
- When set with a "x" (e.g., "24x80") the terminal size is not
adjusted to the window size. If the window is smaller only the
@@ -7819,6 +7820,8 @@ A jump table for the options with a short description can be found at |Q_op|.
- When rows is zero then use the height of the window.
- When columns is zero then use the width of the window.
- Using "0x0" or "0*0" is the same as empty.
+ - Can be overruled in the |term_start()| options with "term_rows" and
+ "term_cols".
Examples:
"30x0" uses 30 rows and the current window width.
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index f9a34d4a2d..19edb7268b 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 8.2. Last change: 2020 Aug 15
+*pattern.txt* For Vim version 8.2. Last change: 2020 Sep 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -797,11 +797,12 @@ An ordinary atom can be:
^beep( the start of the C function "beep" (probably).
*/\^*
-\^ Matches literal '^'. Can be used at any position in the pattern.
+\^ Matches literal '^'. Can be used at any position in the pattern, but
+ not inside [].
*/\_^*
\_^ Matches start-of-line. |/zero-width| Can be used at any position in
- the pattern.
+ the pattern, but not inside [].
Example matches ~
\_s*\_^foo white space and blank lines and then "foo" at
start-of-line
@@ -812,12 +813,13 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|/zero-width|
*/\$*
-\$ Matches literal '$'. Can be used at any position in the pattern.
+\$ Matches literal '$'. Can be used at any position in the pattern, but
+ not inside [].
*/\_$*
\_$ Matches end-of-line. |/zero-width| Can be used at any position in the
- pattern. Note that "a\_$b" never matches, since "b" cannot match an
- end-of-line. Use "a\nb" instead |/\n|.
+ pattern, but not inside []. Note that "a\_$b" never matches, since
+ "b" cannot match an end-of-line. Use "a\nb" instead |/\n|.
Example matches ~
foo\_$\_s* "foo" at end-of-line and following white space and
blank lines
@@ -840,8 +842,9 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
|/zero-width|
*/\zs*
-\zs Matches at any position, and sets the start of the match there: The
- next char is the first char of the whole match. |/zero-width|
+\zs Matches at any position, but not inside [], and sets the start of the
+ match there: The next char is the first char of the whole match.
+ |/zero-width|
Example: >
/^\s*\zsif
< matches an "if" at the start of a line, ignoring white space.
@@ -852,8 +855,9 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
This cannot be followed by a multi. *E888*
{not available when compiled without the |+syntax| feature}
*/\ze*
-\ze Matches at any position, and sets the end of the match there: The
- previous char is the last char of the whole match. |/zero-width|
+\ze Matches at any position, but not inside [], and sets the end of the
+ match there: The previous char is the last char of the whole match.
+ |/zero-width|
Can be used multiple times, the last one encountered in a matching
branch is used.
Example: "end\ze\(if\|for\)" matches the "end" in "endif" and
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 6a93907968..d3202727a0 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4071,7 +4071,6 @@ E252 options.txt /*E252*
E253 mbyte.txt /*E253*
E254 message.txt /*E254*
E255 sign.txt /*E255*
-E256 message.txt /*E256*
E257 if_cscop.txt /*E257*
E258 remote.txt /*E258*
E259 if_cscop.txt /*E259*
@@ -6323,6 +6322,7 @@ extend() eval.txt /*extend()*
extension-removal cmdline.txt /*extension-removal*
extensions-improvements todo.txt /*extensions-improvements*
f motion.txt /*f*
+false vim9.txt /*false*
false-variable eval.txt /*false-variable*
faq intro.txt /*faq*
farsi farsi.txt /*farsi*
@@ -8485,6 +8485,7 @@ progname-variable eval.txt /*progname-variable*
progpath-variable eval.txt /*progpath-variable*
progress.vim syntax.txt /*progress.vim*
prompt-buffer channel.txt /*prompt-buffer*
+prompt_getprompt() eval.txt /*prompt_getprompt()*
prompt_setcallback() eval.txt /*prompt_setcallback()*
prompt_setinterrupt() eval.txt /*prompt_setinterrupt()*
prompt_setprompt() eval.txt /*prompt_setprompt()*
@@ -9644,6 +9645,7 @@ toupper() eval.txt /*toupper()*
tr() eval.txt /*tr()*
trim() eval.txt /*trim()*
trojan-horse starting.txt /*trojan-horse*
+true vim9.txt /*true*
true-variable eval.txt /*true-variable*
trunc() eval.txt /*trunc()*
try-conditionals eval.txt /*try-conditionals*
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index ff52078548..af6151c940 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1,4 +1,4 @@
-*terminal.txt* For Vim version 8.2. Last change: 2020 Jun 06
+*terminal.txt* For Vim version 8.2. Last change: 2020 Sep 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -476,9 +476,11 @@ term_dumpdiff({filename}, {filename} [, {options}])
"term_name" name to use for the buffer name, instead
of the first file name.
"term_rows" vertical size to use for the terminal,
- instead of using 'termwinsize'
+ instead of using 'termwinsize', but
+ respecting the minimal size
"term_cols" horizontal size to use for the terminal,
- instead of using 'termwinsize'
+ instead of using 'termwinsize', but
+ respecting the minimal size
"vertical" split the window vertically
"curwin" use the current window, do not split the
window; fails if the current buffer
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt
index 23d3e36378..96446853c7 100644
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -1,4 +1,4 @@
-*testing.txt* For Vim version 8.2. Last change: 2020 Aug 17
+*testing.txt* For Vim version 8.2. Last change: 2020 Sep 06
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index f9288faef2..bd05ecf624 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 8.2. Last change: 2020 Aug 29
+*todo.txt* For Vim version 8.2. Last change: 2020 Sep 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -41,15 +41,45 @@ browser use: https://github.com/vim/vim/issues/1234
Why does Test_invalid_sid() not work in the GUI?
Making everything work:
-- Check :const works the same as in legacy script.
+- Should :const work the same as in legacy script?
+ Or should it work like in Typescript: only the variable is fixed, not the
+ value itself.
+ Then use ":const!" to also fix/lock the value?
+ Typescript uses "as const", which is weird.
+ Alternative: const var = <const>value
+ looks quite strange quite verbose
+ But can be used in several places:
+ SomeFunc(<const>[1, 2, 3])
+ In Vim this basically means "lock this value".
+ How about:
+ SomeFunc(<const>[[1], [2], [3]]) # are sub-lists immutable?
+ SomeFunc(<const>myList) # is myList mutable afterwards?
+
- Run the same tests in :def and Vim9 script, like in Test_expr7_not()
- :put with a "=" register argument doesn't work, need to find the expression
and compile it. (#6397)
- At the Vim9 script level, keep script variables local to the block they are
- declared in? Need to remember what variables were declared and delete them
- when leaving the block.
-- Implement { } block at the script level.
-- Use the line number argument with assert_fails() in many more tests.
+ declared in, like in Javascript (using :let).
+ -> Need to remember what variables were declared and delete them when
+ leaving the block.
+ -> if a function is defined it may need to keep the block-locals
+ Then Implement { } block at the script level.
+- Recognize call to assert_fails() and execute it in the function context?
+ Won't work if the command itself fails, not an expression failure:
+ assert_fails("unknown", "E99:")
+ Use try/catch is complicated:
+ let did_catch = false
+ try
+ unknown
+ catch
+ assert_caught('E99:')
+ did_catch = true
+ endtry
+ assert_true('did_catch')
+ Add a new command,