summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS1
-rw-r--r--README.md4
-rw-r--r--README.txt4
-rw-r--r--runtime/autoload/dist/ft.vim2
-rw-r--r--runtime/doc/autocmd.txt4
-rw-r--r--runtime/doc/builtin.txt6
-rw-r--r--runtime/doc/diff.txt6
-rw-r--r--runtime/doc/options.txt35
-rw-r--r--runtime/doc/quickref.txt5
-rw-r--r--runtime/doc/sign.txt8
-rw-r--r--runtime/doc/syntax.txt4
-rw-r--r--runtime/doc/tags24
-rw-r--r--runtime/doc/term.txt80
-rw-r--r--runtime/doc/testing.txt2
-rw-r--r--runtime/doc/textprop.txt16
-rw-r--r--runtime/doc/todo.txt80
-rw-r--r--runtime/doc/usr_41.txt2
-rw-r--r--runtime/doc/various.txt4
-rw-r--r--runtime/doc/vim9class.txt25
-rw-r--r--runtime/filetype.vim2
-rw-r--r--runtime/indent/nginx.vim77
-rw-r--r--runtime/indent/testdir/vb.in134
-rw-r--r--runtime/indent/testdir/vb.ok134
-rw-r--r--runtime/indent/vb.vim105
-rw-r--r--runtime/indent/vue.vim4
-rw-r--r--runtime/optwin.vim6
-rw-r--r--runtime/syntax/2html.vim4
-rw-r--r--runtime/syntax/fstab.vim12
-rw-r--r--runtime/syntax/hgcommit.vim21
-rw-r--r--runtime/syntax/shared/hgcommitDiff.vim390
-rw-r--r--runtime/syntax/vim.vim50
-rw-r--r--src/po/ca.po466
32 files changed, 1420 insertions, 297 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index d0d9ce5c13..735cce3ab6 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -299,6 +299,7 @@ runtime/plugin/tarPlugin.vim @cecamp
runtime/plugin/vimballPlugin.vim @cecamp
runtime/plugin/zipPlugin.vim @cecamp
runtime/plugin/manpager.vim @Konfekt
+runtime/syntax/shared/hgcommitDiff.vim @vegerot
runtime/syntax/abaqus.vim @costerwi
runtime/syntax/aidl.vim @dpelle
runtime/syntax/amiga.vim @cecamp
diff --git a/README.md b/README.md
index 67eaeedfcc..b7855179d2 100644
--- a/README.md
+++ b/README.md
@@ -101,7 +101,7 @@ for details (do `:help uganda` inside Vim).
Summary of the license: There are no restrictions on using or distributing an
unmodified copy of Vim. Parts of Vim may also be distributed, but the license
-text must always be included. For modified versions a few restrictions apply.
+text must always be included. For modified versions, a few restrictions apply.
The license is GPL compatible, you may compile Vim with GPL libraries and
distribute it.
@@ -122,7 +122,7 @@ For the most recent information about sponsoring look on the Vim web site:
## Contributing ##
-If you would like to help making Vim better, see the
+If you would like to help make Vim better, see the
[CONTRIBUTING.md](/CONTRIBUTING.md) file.
diff --git a/README.txt b/README.txt
index aa392c3054..ce3ed73bc7 100644
--- a/README.txt
+++ b/README.txt
@@ -84,7 +84,7 @@ encouraged to make a donation to help orphans in Uganda. Please read the file
Summary of the license: There are no restrictions on using or distributing an
unmodified copy of Vim. Parts of Vim may also be distributed, but the license
-text must always be included. For modified versions a few restrictions apply.
+text must always be included. For modified versions, a few restrictions apply.
The license is GPL compatible, you may compile Vim with GPL libraries and
distribute it.
@@ -106,7 +106,7 @@ For the most recent information about sponsoring look on the Vim web site:
CONTRIBUTING
-If you would like to help making Vim better, see the CONTRIBUTING.md file.
+If you would like to help make Vim better, see the CONTRIBUTING.md file.
INFORMATION
diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim
index 6a3c5e14d6..bfc325d240 100644
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -3,7 +3,7 @@ vim9script
# Vim functions for file type detection
#
# Maintainer: Bram Moolenaar <Bram@vim.org>
-# Last Change: 2022 Nov 24
+# Last Change: 2022 Dec 14
# These functions are moved here from runtime/filetype.vim to make startup
# faster.
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 5acf7333d3..73506cc4c0 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt* For Vim version 9.0. Last change: 2022 Nov 22
+*autocmd.txt* For Vim version 9.0. Last change: 2022 Dec 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -97,7 +97,7 @@ If the `:autocmd` is in Vim9 script (a script that starts with `:vim9script`
and in a `:def` function) then {cmd} will be executed as in Vim9
script. Thus this depends on where the autocmd is defined, not where it is
triggered.
-
+ *:autocmd-block*
{cmd} can be a block, like with `:command`, see |:command-repl|. Example: >
au BufReadPost *.xml {
setlocal matchpairs+=<:>
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 05e8d701f8..ea3ce61e91 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1,4 +1,4 @@
-*builtin.txt* For Vim version 9.0. Last change: 2022 Dec 05
+*builtin.txt* For Vim version 9.0. Last change: 2022 Dec 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -4137,7 +4137,7 @@ getscriptinfo([{opts}) *getscriptinfo()*
this script name links to, if any, otherwise
zero
variables A dictionary with the script-local variables.
- Present only when the a particular script is
+ Present only when a particular script is
specified using the "sid" item in {opts}.
Note that this is a copy, the value of
script-local variables cannot be changed using
@@ -9113,6 +9113,8 @@ string({expr}) Return {expr} converted to a String. If {expr} is a Number,
Blob 0z00112233.44556677.8899
List [item, item]
Dictionary {key: value, key: value}
+ Class class SomeName
+ Object object of SomeName {lnum: 1, col: 3}
When a |List| or |Dictionary| has a recursive reference it is
replaced by "[...]" or "{...}". Using eval() on the result
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index 1c93de4d78..2c1233bf63 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt* For Vim version 9.0. Last change: 2022 Oct 01
+*diff.txt* For Vim version 9.0. Last change: 2022 Dec 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -148,6 +148,10 @@ Otherwise they are set to their default value:
'foldmethod' "manual"
'foldcolumn' 0
+'foldenable' will most-likely be reset to off. That is when 'foldmethod' is
+is restored to "manual". The folds themselves are not cleared but they should
+not show up, resetting 'foldenable' is the best way to do that.
+
==============================================================================
2. Viewing diffs *view-diffs*
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 87fd2cf327..dc6e16bc75 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 9.0. Last change: 2022 Dec 09
+*options.txt* For Vim version 9.0. Last change: 2022 Dec 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -34,6 +34,8 @@ achieve special effects. These options come in three forms:
key codes are not shown, because they are generated
internally and can't be changed. Changing the terminal
codes in the GUI is not useful either...
+ The options have the form t_AB, see
+ |terminal-options|.
:se[t]! termcap Idem, but don't use multiple columns.
@@ -1249,7 +1251,7 @@ A jump table for the options with a short description can be found at |Q_op|.
\ ' on word "' .. v:beval_text .. '"'
endfunction
set bexpr=MyBalloonExpr()
- set ballooneval
+ set ballooneval balloonevalterm
<
Also see |balloon_show()|, it can be used if the content of the balloon
is to be fetched asynchronously. In that case evaluating
@@ -4936,6 +4938,12 @@ A jump table for the options with a short description can be found at |Q_op|.
CSI ?u request kitty keyboard protocol state
CSI >c request the termresponse
+ If you notice problems, such as characters being displayed that
+ disappear after `CTRL-L`, you might want to try making this option
+ empty. Then set the 'term' option to have it take effect: >
+ set keyprotocol=
+ let &term = &term
+
*'keywordprg'* *'kp'*
'keywordprg' 'kp' string (default "man" or "man -s", DOS: ":help",
@@ -7112,7 +7120,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'shortmess'* *'shm'*
'shortmess' 'shm' string (Vim default "filnxtToOS", Vi default: "S",
POSIX default: "AS")
- global
+ global *E1336*
This option helps to avoid all the |hit-enter| prompts caused by file
messages, for example with CTRL-G, and to avoid some other messages.
It is a list of flags:
@@ -7127,30 +7135,30 @@ A jump table for the options with a short description can be found at |Q_op|.
and "[a]" instead of "appended" for ':w >> file' command
x use "[dos]" instead of "[dos format]", "[unix]" *shm-x*
instead of "[unix format]" and "[mac]" instead of "[mac
- format]".
+ format]"
a all of the above abbreviations *shm-a*
o overwrite message for writing a file with subsequent *shm-o*
message for reading a file (useful for ":wn" or when
'autowrite' on)
- O message for reading a file overwrites any previous *smh-O*
- message. Also for quickfix message (e.g., ":cn").
+ O message for reading a file overwrites any previous *shm-O*
+ message; also for quickfix message (e.g., ":cn")
s don't give "search hit BOTTOM, continuing at TOP" or *shm-s*
"search hit TOP, continuing at BOTTOM" messages; when using
the search count do not show "W" after the count message (see
S below)
t truncate file message at the start if it is too long *shm-t*
to fit on the command-line, "<" will appear in the left most
- column. Ignored in Ex mode.
+ column; ignored in Ex mode
T truncate other messages in the middle if they are too *shm-T*
- long to fit on the command line. "..." will appear in the
- middle. Ignored in Ex mode.
+ long to fit on the command line; "..." will appear in the
+ middle; ignored in Ex mode
W don't give "written" or "[w]" when writing a file *shm-W*
A don't give the "ATTENTION" message when an existing *shm-A*
- swap file is found.
+ swap file is found
I don't give the intro message when starting Vim, *shm-I*
- see |:intro|.
- c don't give |ins-completion-menu| messages. For *shm-c*
+ see |:intro|
+ c don't give |ins-completion-menu| messages; for *shm-c*
example, "-- XXX completion (YYY)", "match 1 of 2", "The only
match", "Pattern not found", "Back at original", etc.
C don't give messages while scanning for ins-completion *shm-C*
@@ -7227,11 +7235,12 @@ A jump table for the options with a short description can be found at |Q_op|.
*'showcmdloc'* *'sloc'*
'showcmdloc' 'sloc' string (default "last")
+ global
This option can be used to display the (partially) entered command in
another location. Possible values are:
last Last line of the screen (default).
statusline Status line of the current window.
- tabline First line of the screen if 'showtabine' is enabled.
+ tabline First line of the screen if 'showtabline' is enabled.
Setting this option to "statusline" or "tabline" means that these will
be redrawn whenever the command changes, which can be on every key
pressed.
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index ff508b5db0..ffdfd108ac 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt* For Vim version 9.0. Last change: 2022 Nov 23
+*quickref.txt* For Vim version 9.0. Last change: 2022 Dec 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -902,7 +902,8 @@ Short explanation of each option: *option-list*
'shortmess' 'shm' list of flags, reduce length of messages
'shortname' 'sn' Filenames assumed to be 8.3 chars
'showbreak' 'sbr' string to use at the start of wrapped lines
-'showcmd' 'sc' show (partial) command in status line
+'showcmd' 'sc' show (partial) command somewhere
+'showcmdloc' 'sloc' where to show (partial) command
'showfulltag' 'sft' show full tag pattern when completing tag
'showmatch' 'sm' briefly jump to matching bracket if insert one
'showmode' 'smd' message on status line to show current mode
diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt
index c366ae5f59..c698499403 100644
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -1,4 +1,4 @@
-*sign.txt* For Vim version 9.0. Last change: 2021 Dec 05
+*sign.txt* For Vim version 9.0. Last change: 2022 Dec 20
VIM REFERENCE MANUAL by Gordon Prieur
@@ -625,9 +625,9 @@ sign_placelist({list})
then a new unique identifier is allocated.
Otherwise the specified number is used. See
|sign-identifier| for more information.
- lnum line number in the buffer {expr} where the
- sign is to be placed. For the accepted values,
- see |line()|.
+ lnum line number in the buffer where the sign is to
+ be placed. For the accepted values, see
+ |line()|.
name name of the sign to place. See |sign_define()|
for more information.
priority priority of the sign. When multiple signs are
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index cd3dbca531..27c65daccf 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 9.0. Last change: 2022 Nov 24
+*syntax.txt* For Vim version 9.0. Last change: 2022 Dec 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -5003,7 +5003,7 @@ in their own color.
*highlight-clear* *:hi-clear*
:hi[ghlight] clear Reset all highlighting to the defaults. Removes all
- highlighting for groups added by the user!
+ highlighting for groups added by the user.
Uses the current value of 'background' to decide which
default colors to use.
If there was a default link, restore it. |:hi-link|
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 9178c773b5..66dd96a144 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -438,10 +438,8 @@ $quote eval.txt /*$quote*
'keymap' options.txt /*'keymap'*
'keymodel' options.txt /*'keymodel'*
'keyprotocol' options.txt /*'keyprotocol'*
-'keywordprg' options.txt /*'keywordprg'*
'km' options.txt /*'km'*
'kmp' options.txt /*'kmp'*
-'kp' options.txt /*'kp'*
'kpc' options.txt /*'kpc'*
'langmap' options.txt /*'langmap'*
'langmenu' options.txt /*'langmenu'*
@@ -926,6 +924,7 @@ $quote eval.txt /*$quote*
'shortname' options.txt /*'shortname'*
'showbreak' options.txt /*'showbreak'*
'showcmd' options.txt /*'showcmd'*
+'showcmdloc' options.txt /*'showcmdloc'*
'showfulltag' options.txt /*'showfulltag'*
'showmatch' options.txt /*'showmatch'*
'showmode' options.txt /*'showmode'*
@@ -938,6 +937,7 @@ $quote eval.txt /*$quote*
'siso' options.txt /*'siso'*
'sj' options.txt /*'sj'*
'slm' options.txt /*'slm'*
+'sloc' options.txt /*'sloc'*
'slow' vi_diff.txt /*'slow'*
'slowopen' vi_diff.txt /*'slowopen'*
'sm' options.txt /*'sm'*
@@ -2201,6 +2201,7 @@ $quote eval.txt /*$quote*
:aun gui.txt /*:aun*
:aunmenu gui.txt /*:aunmenu*
:autocmd autocmd.txt /*:autocmd*
+:autocmd-block autocmd.txt /*:autocmd-block*
:autocmd-verbose autocmd.txt /*:autocmd-verbose*
:b windows.txt /*:b*
:bN windows.txt /*:bN*
@@ -3017,6 +3018,7 @@ $quote eval.txt /*$quote*
:pts tagsrch.txt /*:pts*
:ptselect tagsrch.txt /*:ptselect*
:pu change.txt /*:pu*
+:public vim9class.txt /*:public*
:put change.txt /*:put*
:pw editing.txt /*:pw*
:pwd editing.txt /*:pwd*
@@ -4383,7 +4385,19 @@ E1324 eval.txt /*E1324*
E1325 vim9class.txt /*E1325*
E1326 vim9class.txt /*E1326*
E1327 vim9class.txt /*E1327*
+E1328 vim9class.txt /*E1328*
+E1329 vim9class.txt /*E1329*
E133 userfunc.txt /*E133*
+E1330 vim9class.txt /*E1330*
+E1331 vim9class.txt /*E1331*
+E1332 vim9class.txt /*E1332*
+E1333 vim9class.txt /*E1333*
+E1334 vim9class.txt /*E1334*
+E1335 vim9class.txt /*E1335*
+E1336 options.txt /*E1336*
+E1337 vim9class.txt /*E1337*
+E1338 vim9class.txt /*E1338*
+E1339 textprop.txt /*E1339*
E134 change.txt /*E134*
E135 autocmd.txt /*E135*
E136 starting.txt /*E136*
@@ -8200,6 +8214,7 @@ keypad-point intro.txt /*keypad-point*
keys() builtin.txt /*keys()*
keytrans() builtin.txt /*keytrans()*
kitty-keyboard-protocol map.txt /*kitty-keyboard-protocol*
+kitty-terminal term.txt /*kitty-terminal*
known-bugs todo.txt /*known-bugs*
l motion.txt /*l*
l: eval.txt /*l:*
@@ -9575,6 +9590,7 @@ shm-A options.txt /*shm-A*
shm-C options.txt /*shm-C*
shm-F options.txt /*shm-F*
shm-I options.txt /*shm-I*
+shm-O options.txt /*shm-O*
shm-S options.txt /*shm-S*
shm-T options.txt /*shm-T*
shm-W options.txt /*shm-W*
@@ -9630,7 +9646,6 @@ slice() builtin.txt /*slice()*
slow-fast-terminal term.txt /*slow-fast-terminal*
slow-start starting.txt /*slow-start*
slow-terminal term.txt /*slow-terminal*
-smh-O options.txt /*smh-O*
socket-interface channel.txt /*socket-interface*
sort() builtin.txt /*sort()*
sorting change.txt /*sorting*
@@ -10312,6 +10327,7 @@ test_garbagecollect_soon() testing.txt /*test_garbagecollect_soon()*
test_getvalue() testing.txt /*test_getvalue()*
test_gui_event() testing.txt /*test_gui_event()*
test_ignore_error() testing.txt /*test_ignore_error()*
+test_mswin_event() testing.txt /*test_mswin_event()*
test_null_blob() testing.txt /*test_null_blob()*
test_null_channel() testing.txt /*test_null_channel()*
test_null_dict() testing.txt /*test_null_dict()*
@@ -11068,6 +11084,7 @@ xterm-cursor-keys term.txt /*xterm-cursor-keys*
xterm-end-home-keys term.txt /*xterm-end-home-keys*
xterm-focus-event term.txt /*xterm-focus-event*
xterm-function-keys term.txt /*xterm-function-keys*
+xterm-kitty term.txt /*xterm-kitty*
xterm-modifier-keys term.txt /*xterm-modifier-keys*
xterm-mouse options.txt /*xterm-mouse*
xterm-mouse-wheel scroll.txt /*xterm-mouse-wheel*
@@ -11076,6 +11093,7 @@ xterm-save-screen tips.txt /*xterm-save-screen*
xterm-screens tips.txt /*xterm-screens*
xterm-scroll-region term.txt /*xterm-scroll-region*
xterm-shifted-keys term.txt /*xterm-shifted-keys*
+xterm-terminfo-entries term.txt /*xterm-terminfo-entries*
xterm-true-color term.txt /*xterm-true-color*
y change.txt /*y*
yaml.vim syntax.txt /*yaml.vim*
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index 146ef478fe..f519bed762 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt* For Vim version 9.0. Last change: 2022 Dec 01
+*term.txt* For Vim version 9.0. Last change: 2022 Dec 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -88,7 +88,8 @@ Output resumes when you hit <BS>.
Note: When 't_ti' is not empty, Vim assumes that it causes switching to the
alternate screen. This may slightly change what happens when executing a
-shell command or exiting Vim. To avoid this use 't_TI' and 't_TE'.
+shell command or exiting Vim. To avoid this use 't_TI' and 't_TE' (but make
+sure to add to them, not overwrite).
Vim will try to detect what keyboard protocol the terminal is using with the
't_RK' termcap entry. This is sent after 't_TI', but only when there is no
@@ -126,7 +127,11 @@ automatically, you can try using something like this: >
exec "set t_PS=\e[200~"
exec "set t_PE=\e[201~"
endif
-<
+
+The terminfo entries "BE", "BD", "PS" and "PE" were added in ncurses version
+6.4, early 2023, for some terminals. If you have this version then you may
+not have to manually configure your terminal.
+
*tmux-integration*
If you experience issues when running Vim inside tmux, here are a few hints.
You can comment-out parts if something doesn't work (it may depend on the
@@ -294,13 +299,32 @@ When Vim receives a response to the |t_RV| (request version) sequence and it
starts with CSI, it assumes that the terminal is in 8-bit mode and will
convert all key sequences to their 8-bit variants.
+ *xterm-terminfo-entries*
+For some time the terminfo entries were insufficient to describe all the
+features tht Vim can use. The builtin xterm termcap entries did have these,
+with the result that several terminals that were similar enough to xterm took
+advantage of these by prefixing "xterm-" to the terminal name in $TERM.
+
+This leads to problems, because quite often these terminals are not 100%
+compatible with xterm. At the start of 2023 several entries have been added
+to the terminfo database to make it possible to use these features without
+using the "xterm" workaround. These are the relevant entries (so far):
+
+ name xterm value description ~
+ RV "\033[>c" Request version |t_RV|
+
+ BE "\033[?2004h" enable bracketed paste mode |t_BE|
+ BD "\033[?2004l" disable bracketed paste mode |t_BD|
+ PS "\033[200~" pasted text start |t_PS|
+ PE "\033[201~" pasted text end |t_PE|
+
*xterm-kitty* *kitty-terminal*
-The Kitty terminal is a special case. Mainly because it works different from
-most other terminals, but also because, instead of trying the fit in and make
-it behave like other terminals by default, it dictates how applications need
-to work when using Kitty. This makes it very difficult for Vim to work in a
-Kitty terminal. Some exceptions have been hard coded, but it is not at all
-nice to have to make exceptions for one specific terminal.
+The Kitty terminal is a special case. Mainly because it works differently
+from most other terminals, but also because, instead of trying the fit in and
+make it behave like other terminals by default, it dictates how applications
+need to work when using Kitty. This makes it very difficult for Vim to work
+in a Kitty terminal. Some exceptions have been hard coded, but it is not at
+all nice to have to make exceptions for one specific terminal.
One of the problems is that the value for $TERM is set to "xterm-kitty". For
Vim this is an indication that the terminal is xterm-compatible and the
@@ -448,10 +472,10 @@ Added by Vim (there are no standard codes for these):
t_Si save icon text to stack *t_Si* *'t_Si'*
t_Ri restore icon text from stack *t_Ri* *'t_Ri'*
t_TE end of "raw" mode *t_TE* *'t_TE'*
- t_TI put terminal into "raw" mode *t_TI* *'t_TI'*
- t_fe enable focus-event tracking *t_fe* *'t_fe'*
+ t_TI put terminal into "raw" mode *t_TI* *'t_TI'*
+ t_fe enable focus-event tracking *t_fe* *'t_fe'*
|xterm-focus-event|
- t_fd disable focus-event tracking *t_fd* *'t_fd'*
+ t_fd disable focus-event tracking *t_fd* *'t_fd'*
|xterm-focus-event|
Some codes have a start, middle and end part. The start and end are defined
@@ -461,8 +485,8 @@ by the termcap option, the middle part is text.
set cursor color: t_SC {color name} t_EC
t_SH must take one argument:
- 0, 1 or none blinking block cursor
- 2 block cursor
+ 0, 1 or none blinking block cursor
+ 2 block cursor
3 blinking underline cursor
4 underline cursor
5 blinking vertical bar cursor
@@ -531,6 +555,7 @@ Note: Use the <> form if possible
t_%1 <Help> help key *t_%1* *'t_%1'*
t_&8 <Undo> undo key *t_&8* *'t_&8'*
t_kI <Insert> insert key *t_kI* *'t_kI'*
+ <kInsert> keypad insert key
t_kD <Del> delete key *t_kD* *'t_kD'*
t_kb <BS> backspace key *t_kb* *'t_kb'*
t_kB <S-Tab> back-tab (shift-tab) *<S-Tab>* *t_kB* *'t_kB'*
@@ -563,9 +588,13 @@ Note: Use the <> form if possible
t_KK <k8> keypad 8 *<k8>* *t_KK* *'t_KK'*
t_KL <k9> keypad 9 *<k9>* *t_KL* *'t_KL'*
<Mouse> leader of mouse code *<Mouse>*
- *t_PS* *'t_PS'*
- t_PS start of bracketed paste |xterm-bracketed-paste|
- t_PE end of bracketed paste |xterm-bracketed-paste| *t_PE* *'t_PE'*
+
+ t_PS <PasteStart> start of bracketed paste *t_PS* *'t_PS'*
+ |xterm-bracketed-paste|
+ t_PE <PasteEnd> end of bracketed paste *t_PE* *'t_PE'*
+ |xterm-bracketed-paste|
+ <FocusGained> Vim window got focus (internal only)
+ <FocusLost> Vim window lost focus (internal only)
Note about t_so and t_mr: When the termcap entry "so" is not present the
entry for "mr" is used. And vice versa. The same is done for "se" and "me".
@@ -604,12 +633,15 @@ work the 'termguicolors' option needs to be set.
See https://github.com/termstandard/colors for a list of terminals that
support true colors.
-Sometimes setting 'termguicolors' is not enough and one has to set the |t_8f|
-and |t_8b| options explicitly. Default values of these options are
-"^[[38;2;%lu;%lu;%lum" and "^[[48;2;%lu;%lu;%lum" respectively, but it is only
-set when `$TERM` is `xterm`. Some terminals accept the same sequences, but
-with all semicolons replaced by colons (this is actually more compatible, but
-less widely supported): >
+For telling the terminal what RGB color to use the |t_8f| and |t_8b| termcap
+entries are used. These are set by default to values that work for most
+terminals. If that does not work for your terminal you can set them manually.
+The default values are set like this: >
+ let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
+ let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
+
+Some terminals accept the same sequences, but with all semicolons replaced by
+colons (this is actually more compatible, but less widely supported): >
let &t_8f = "\<Esc>[38:2:%lu:%lu:%lum"
let &t_8b = "\<Esc>[48:2:%lu:%lu:%lum"
@@ -627,7 +659,7 @@ is actually the case.
To overrule the default, put this line in your ~/.Xdefaults or
~/.Xresources:
>
- XTerm*allowWindowOps: true
+ XTerm*allowWindowOps: true
And run "xrdb -merge .Xresources" to make it effective. You can check the
value with the context menu (right mouse button while CTRL key is pressed),
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt
index 089e61fa04..beef79d486 100644
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -1,4 +1,4 @@
-*testing.txt* For Vim version 9.0. Last change: 2022 Nov 28
+*testing.txt* For Vim version 9.0. Last change: 2022 Dec 30
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/textprop.txt b/runtime/doc/textprop.txt
index 086742a8f8..c6178c39c1 100644
--- a/runtime/doc/textprop.txt
+++ b/runtime/doc/textprop.txt
@@ -1,4 +1,4 @@
-*textprop.txt* For Vim version 9.0. Last change: 2022 Nov 18
+*textprop.txt* For Vim version 9.0. Last change: 2022 Dec 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -220,10 +220,16 @@ prop_add({lnum}, {col}, {props})
Any Tab and other control character in the text will be
changed to a space (Rationale: otherwise the size of the text
is difficult to compute).
- A negative "id" will be chosen and is returned. Once a
- property with "text" has been added for a buffer then using a
- negative "id" for any other property will give an error:
- *E1293*
+ A negative "id" will be chosen and is returned.
+
+ Before text properties with text were supported it was
+ possible to use a negative "id", even though this was very
+ rare. Now that negative "id"s are reserved for text
+ properties with text an error is given when using a negative
+ "id". When a text property with text already exists using a
+ negative "id" results in *E1293* . If a negative "id" was
+ used and later a text property with text is added results in
+ *E1339* .
Can also be used as a |method|: >
GetLnum()->prop_add(col, props)
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 4474632c34..c7fefa6d82 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 9.0. Last change: 2022 Dec 11
+*todo.txt* For Vim version 9.0. Last change: 2022 Dec 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -54,13 +54,19 @@ Upcoming larger works:
Further Vim9 improvements, possibly after launch:
- implement :class and :interface: See |vim9-classes| #11544
- make default constructor use "this.member = void"
- make public / default read access / private work for members.
- string value of class and object in echo_string_core()
- object empty(), len() - can class define a method?
+ class members: add test for read/write access
+ Test for E1337
+ Should object members be declared with "var"? Looks more normal.
+ Don't use "class method" in the help but use "class function", more people
+ are used to that.
+ implement class functions: static def Method()
+ Disallow shadowing class members, e.g. by function arguments.
tv_equal() should compare values, not identity.
+ import/export of a class
+ using a class name as a type
garbage collection: set_ref_in_item(): Mark items in class as used ?
type() should return different type for each class?
+ object empty(), len() - can class define a method to be used for them?
how about lock/unlock?
- implement :type
- implement :enum
@@ -70,6 +76,56 @@ Further Vim9 improvements, possibly after launch:
has(featureName), len(someString)
- Implement as part of an expression: ++expr, --expr, expr++, expr--.
+Information missing in terminfo:
+Priority:
+- t_RV request terminal version string; xterm: "\033[>c"
+Codes used for focus gained and lost (currently using use_xterm_like_mouse())
+ termcodes are hard-coded in set_termname(), not named.
+- t_fe enable focus-event tracking
+- t_fd disable focus-event tracking
+Underline and similar:
+- t_AU - Set underline color: like "AF" and "AB" entries.
+- t_Ce undercurl and underline end
+- t_Cs undercurl (curly underline) mode
+- t_Us double underline mode
+- t_ds dotted underline mode
+- t_Ds dashed underline mode
+- t_Te strikethrough end
+- t_Ts strikethrough mode
+Cursor codes: |termcap-cursor-shape|
+- t_RC request terminal cursor blinking
+- t_RS request terminal cursor style
+- t_VS cursor normally visible (no blink)
+- t_SI start insert mode (bar cursor shape)
+- t_SR start replace mode (underline cursor shape)
+- t_EI end insert or replace mode (block cursor shape)
+- t_SC set cursor color start
+- t_EC set cursor color end
+- t_SH set cursor shape
+State requests:
+- t_RF request terminal foreground color
+- t_RB request terminal background color
+Less important (not needed for regular editing):
+- t_IS set icon text start
+- t_IE set icon text end
+- t_ST save window title to stack
+- t_RT restore window title from stack
+- t_Si save icon text to stack
+- t_Ri restore icon text from stack
+- t_WP set window position (Y, X) in pixels
+- t_GP get window position (Y, X) in pixels
+- t_WS set window size (height, width in cells)
+Vim internal, but there should be a terminfo entry for these:
+- t_8f set foreground color (R, G, B) in printf() format
+- t_8b set background color (R, G, B) in printf() format
+- t_8u set underline color (R, G, B) in printf() format
+Probably Vim internal, not in terminfo:
+- t_TE end of "raw" mode
+- t_TI put terminal into "raw" mode
+- t_RK request terminal keyboard protocol state; sent after |t_