diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-12-31 15:30:45 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-12-31 15:30:45 +0000 |
commit | f1dcd14fc5d4370476cd82895a4479ca2d252e54 (patch) | |
tree | c5d20989d5b5d69af7f0935c7e6f929126c0e5b8 | |
parent | db4d88c2adfe8f8122341ac9d6cae27ef78451c8 (diff) |
Update runtime files
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 @@ -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 te |