Skip to content

Commit 4af622d

Browse files
committed
Merge remote-tracking branch 'vim/master'
2 parents 8969ff8 + d6e3c90 commit 4af622d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+1679
-1171
lines changed

.github/MAINTAINERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,7 @@ runtime/keymap/armenian-eastern_utf-8.vim @blinskey
406406
runtime/keymap/armenian-western_utf-8.vim @blinskey
407407
runtime/keymap/russian-typograph.vim @RestorerZ
408408
runtime/keymap/tamil_tscii.vim @yegappan
409+
runtime/keymap/ukrainian-enhanced.vim @Dolfost
409410
runtime/lang/menu_en_gb.latin1.vim @mrdubya
410411
runtime/lang/menu_ru_ru.cp1251.vim @RestorerZ
411412
runtime/lang/menu_ru_ru.koi8-r.vim @RestorerZ

runtime/doc/builtin.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*builtin.txt* For Vim version 9.1. Last change: 2025 Feb 06
1+
*builtin.txt* For Vim version 9.1. Last change: 2025 Feb 17
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3008,7 +3008,8 @@ extend({expr1}, {expr2} [, {expr3}]) *extend()*
30083008
When {expr3} is omitted then "force" is assumed.
30093009

30103010
{expr1} is changed when {expr2} is not empty. If necessary
3011-
make a copy of {expr1} first.
3011+
make a copy of {expr1} first or use |extendnew()| to return a
3012+
new List/Dictionary.
30123013
{expr2} remains unchanged.
30133014
When {expr1} is locked and {expr2} is not empty the operation
30143015
fails.

runtime/doc/insert.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*insert.txt* For Vim version 9.1. Last change: 2024 Dec 31
1+
*insert.txt* For Vim version 9.1. Last change: 2025 Feb 14
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -657,6 +657,11 @@ CTRL-N (next), and CTRL-P (previous).
657657
To get the current completion information, |complete_info()| can be used.
658658
Also see the 'infercase' option if you want to adjust the case of the match.
659659

660+
When inserting a selected candidate word from the |popup-menu|, the part of
661+
the candidate word that does not match the query is highlighted using
662+
|hl-ComplMatchIns|. If fuzzy is enabled in 'completopt', highlighting will not
663+
be applied.
664+
660665
*complete_CTRL-E*
661666
When completion is active you can use CTRL-E to stop it and go back to the
662667
originally typed text. The CTRL-E will not be inserted.

runtime/doc/options.txt

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*options.txt* For Vim version 9.1. Last change: 2025 Feb 08
1+
*options.txt* For Vim version 9.1. Last change: 2025 Feb 16
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -8652,15 +8652,6 @@ A jump table for the options with a short description can be found at |Q_op|.
86528652
When on, uses |highlight-guifg| and |highlight-guibg| attributes in
86538653
the terminal (thus using 24-bit color).
86548654

8655-
Will automatically be enabled, if Vim detects that it runs in a
8656-
capable terminal (when the terminal supports the RGB terminfo
8657-
capability or when the number of colors |t_Co| supported by the
8658-
terminal is 0x1000000, e.g. with $TERM=xterm-direct). Due to the async
8659-
nature of querying the terminal, enabling this automatically is
8660-
noticable. Use >
8661-
set notermguicolors
8662-
< to explicitly disable.
8663-
86648655
Requires a ISO-8613-3 compatible terminal. If setting this option
86658656
does not work (produces a colorless UI) reading |xterm-true-color|
86668657
might help.

runtime/doc/version9.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41583,8 +41583,6 @@ Adjusted default values ~
4158341583
increased to 12pt to accomodate modern high-dpi monitors
4158441584
- the default value of the 'keyprotocol' option has been updated and support
4158541585
for the ghostty terminal emulator (using kitty protocol) has been added
41586-
- 'termguicolors' is automatically enabled if the terminal supports the RGB
41587-
terminfo capability or supports 0x1000000 colors
4158841586

4158941587
*changed-9.2*
4159041588
Changed~

runtime/doc/vim9class.txt

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*vim9class.txt* For Vim version 9.1. Last change: 2025 Feb 11
1+
*vim9class.txt* For Vim version 9.1. Last change: 2025 Feb 16
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -52,7 +52,6 @@ An interface is used to specify properties of an object:
5252
The class hierarchy allows for single inheritance. Otherwise interfaces are
5353
to be used where needed.
5454

55-
5655
Class modeling ~
5756

5857
You can model classes any way you like. Keep in mind what you are building,
@@ -122,7 +121,6 @@ using the object name followed by a dot following by the member: >
122121
A class name cannot be used as an expression. A class name cannot be used in
123122
the left-hand-side of an assignment.
124123

125-
126124
Object variable write access ~
127125
*read-only-variable*
128126
Now try to change an object variable directly: >
@@ -626,13 +624,15 @@ once. They can appear in any order, although this order is recommended: >
626624
extends ClassName
627625
implements InterfaceName, OtherInterface
628626
specifies SomeInterface
629-
< *E1355* *E1369*
627+
<
628+
The "specifies" feature is currently not implemented.
629+
630+
*E1355* *E1369*
630631
Each variable and method name can be used only once. It is not possible to
631632
define a method with the same name and different type of arguments. It is not
632633
possible to use a public and protected member variable with the same name. An
633634
object variable name used in a super class cannot be reused in a child class.
634635

635-
636636
Object Variable Initialization ~
637637

638638
If the type of a variable is not explicitly specified in a class, then it is
@@ -689,13 +689,12 @@ A class can implement one or more interfaces. The "implements" keyword can
689689
only appear once *E1350* . Multiple interfaces can be specified, separated by
690690
commas. Each interface name can appear only once. *E1351*
691691

692-
693692
A class defining an interface ~
694693
*specifies*
695694
A class can declare its interface, the object variables and methods, with a
696695
named interface. This avoids the need for separately specifying the
697696
interface, which is often done in many languages, especially Java.
698-
697+
TODO: This is currently not implemented.
699698

700699
Items in a class ~
701700
*E1318* *E1325* *E1388*
@@ -736,25 +735,25 @@ Some of the builtin functions like |empty()|, |len()| and |string()| can be
736735
used with an object. An object can implement a method with the same name as
737736
these builtin functions to return an object-specific value.
738737

739-
*E1412*
738+
*E1412*
740739
The following builtin methods are supported:
741-
*object-empty()*
740+
*object-empty()*
742741
empty() Invoked by the |empty()| function to check whether an object is
743742
empty. If this method is missing, then true is returned. This
744743
method should not accept any arguments and must return a boolean.
745-
*object-len()*
744+
*object-len()*
746745
len() Invoked by the |len()| function to return the length of an
747746
object. If this method is missing in the class, then an error is
748747
given and zero is returned. This method should not accept any
749748
arguments and must return a number.
750-
*object-string()*
749+
*object-string()*
751750
string() Invoked by the |string()| function to get a textual
752751
representation of an object. Also used by the |:echo| command
753752
for an object. If this method is missing in the class, then a
754753
built-in default textual representation is used. This method
755754
should not accept any arguments and must return a string.
756755

757-
*E1413*
756+
*E1413*
758757
A class method cannot be used as a builtin method.
759758

760759
Defining an interface ~
@@ -786,7 +785,6 @@ An interface can only be defined in a |Vim9| script file. *E1342*
786785
An interface cannot "implement" another interface but it can "extend" another
787786
interface. *E1381*
788787

789-
790788
null object ~
791789

792790
When a variable is declared to have the type of an object, but it is not
@@ -795,7 +793,6 @@ does not know what class was supposed to be used. Vim then cannot check if
795793
a variable name is correct and you will get a "Using a null object" error,
796794
even when the variable name is invalid. *E1360* *E1362*
797795

798-
799796
Default constructor ~
800797
*default-constructor*
801798
In case you define a class without a new() method, one will be automatically
@@ -1118,7 +1115,6 @@ For |Vim9| script using the same method name for all constructors seemed like
11181115
the right choice, and by calling it new() the relation between the caller and
11191116
the method being called is obvious.
11201117

1121-
11221118
No overloading of the constructor ~
11231119

11241120
In Vim script, both legacy and |Vim9| script, there is no overloading of
@@ -1139,7 +1135,6 @@ That way multiple constructors with different arguments are possible, while it
11391135
is very easy to see which constructor is being used. And the type of
11401136
arguments can be properly checked.
11411137

1142-
11431138
No overloading of methods ~
11441139

11451140
Same reasoning as for the constructor: It is often not obvious what type
@@ -1148,7 +1143,6 @@ actually being called. Better just give the methods a different name, then
11481143
type checking will make sure it works as you intended. This rules out
11491144
polymorphism, which we don't really need anyway.
11501145

1151-
11521146
Single inheritance and interfaces ~
11531147

11541148
Some languages support multiple inheritance. Although that can be useful in
@@ -1164,7 +1158,6 @@ it will be checked if that change was also changed. The mechanism to assume a
11641158
class implements an interface just because the methods happen to match is
11651159
brittle and leads to obscure problems, let's not do that.
11661160

1167-
11681161
Using "this.variable" everywhere ~
11691162

11701163
The object variables in various programming languages can often be accessed in
@@ -1183,7 +1176,6 @@ variables. Simple and consistent. When looking at the code inside a class
11831176
it's also directly clear which variable references are object variables and
11841177
which aren't.
11851178

1186-
11871179
Using class variables ~
11881180

11891181
Using "static variable" to declare a class variable is very common, nothing
@@ -1197,7 +1189,6 @@ the class. This has two problems: The class name can be rather long, taking
11971189
up quite a bit of space, and when the class is renamed all these places need
11981190
to be changed too.
11991191

1200-
12011192
Declaring object and class variables ~
12021193

12031194
The main choice is whether to use "var" as with variable declarations.
@@ -1251,7 +1242,6 @@ function declaration syntax for class/object variables and methods. Vim9 also
12511242
reuses the general function declaration syntax for methods. So, for the sake
12521243
of consistency, we require "var" in these declarations.
12531244

1254-
12551245
Using "ClassName.new()" to construct an object ~
12561246

12571247
Many languages use the "new" operator to create an object, which is actually
@@ -1315,7 +1305,6 @@ An alternative would have been using the "protected" keyword, just like
13151305
"public" changes the access in the other direction. Well, that's just to
13161306
reduce the number of keywords.
13171307

1318-
13191308
No private object variables ~
13201309

13211310
Some languages provide several ways to control access to object variables.

runtime/keymap/ukrainian-enhanced.vim

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
" Vim Keymap file for ukrainian characters MS Windows enhanced variant.
2+
" This file is based on russian-jcukenwin.vim by Artem Chuprina <ran@ran.pp.ru>.
3+
" Keymap has been originally created by Ivan Korneliuk <vansha@gmail.com>.
4+
5+
" Maintainer: Vladyslav Rehan <rehanvladyslav@gmail.com>
6+
" Last Changed: 2025 feb 13
7+
8+
scriptencoding utf-8
9+
10+
let b:keymap_name = "uk"
11+
12+
loadkeymap
13+
~ ’ RIGHT SINGLE QUOTATION MARK
14+
` ' APOSTROPHE
15+
F А CYRILLIC CAPITAL LETTER A
16+
< Б CYRILLIC CAPITAL LETTER BE
17+
D В CYRILLIC CAPITAL LETTER VE
18+
U Г CYRILLIC CAPITAL LETTER GHE
19+
| Ґ CYRILLIC CAPITAL LETTER GHE WITH UPTURN
20+
L Д CYRILLIC CAPITAL LETTER DE
21+
T Е CYRILLIC CAPITAL LETTER IE
22+
: Ж CYRILLIC CAPITAL LETTER ZHE
23+
P З CYRILLIC CAPITAL LETTER ZE
24+
B И CYRILLIC CAPITAL LETTER I
25+
S І CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
26+
} Ї CYRILLIC CAPITAL LETTER YI
27+
Q Й CYRILLIC CAPITAL LETTER SHORT I
28+
R К CYRILLIC CAPITAL LETTER KA
29+
K Л CYRILLIC CAPITAL LETTER EL
30+
V М CYRILLIC CAPITAL LETTER EM
31+
Y Н CYRILLIC CAPITAL LETTER EN
32+
J О CYRILLIC CAPITAL LETTER O
33+
G П CYRILLIC CAPITAL LETTER PE
34+
H Р CYRILLIC CAPITAL LETTER ER
35+
C С CYRILLIC CAPITAL LETTER ES
36+
N Т CYRILLIC CAPITAL LETTER TE
37+
E У CYRILLIC CAPITAL LETTER U
38+
A Ф CYRILLIC CAPITAL LETTER EF
39+
{ Х CYRILLIC CAPITAL LETTER HA
40+
W Ц CYRILLIC CAPITAL LETTER TSE
41+
X Ч CYRILLIC CAPITAL LETTER CHE
42+
I Ш CYRILLIC CAPITAL LETTER SHA
43+
O Щ CYRILLIC CAPITAL LETTER SHCHA
44+
M Ь CYRILLIC CAPITAL LETTER SOFT SIGN
45+
\" Є CYRILLIC CAPITAL LETTER UKRAINIAN IE
46+
> Ю CYRILLIC CAPITAL LETTER YU
47+
Z Я CYRILLIC CAPITAL LETTER YA
48+
f а CYRILLIC SMALL LETTER A
49+
, б CYRILLIC SMALL LETTER BE
50+
d в CYRILLIC SMALL LETTER VE
51+
u г CYRILLIC SMALL LETTER GHE
52+
\\ ґ CYRILLIC SMALL LETTER GHE WITH UPTURN
53+
l д CYRILLIC SMALL LETTER DE
54+
t е CYRILLIC SMALL LETTER IE
55+
; ж CYRILLIC SMALL LETTER ZHE
56+
p з CYRILLIC SMALL LETTER ZE
57+
b и CYRILLIC SMALL LETTER I
58+
s і CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
59+
] ї CYRILLIC SMALL LETTER YI
60+
q й CYRILLIC SMALL LETTER SHORT I
61+
r к CYRILLIC SMALL LETTER KA
62+
k л CYRILLIC SMALL LETTER EL
63+
v м CYRILLIC SMALL LETTER EM
64+
y н CYRILLIC SMALL LETTER EN
65+
j о CYRILLIC SMALL LETTER O
66+
g п CYRILLIC SMALL LETTER PE
67+
h р CYRILLIC SMALL LETTER ER
68+
c с CYRILLIC SMALL LETTER ES
69+
n т CYRILLIC SMALL LETTER TE
70+
e у CYRILLIC SMALL LETTER U
71+
a ф CYRILLIC SMALL LETTER EF
72+
[ х CYRILLIC SMALL LETTER HA
73+
w ц CYRILLIC SMALL LETTER TSE
74+
x ч CYRILLIC SMALL LETTER CHE
75+
i ш CYRILLIC SMALL LETTER SHA
76+
o щ CYRILLIC SMALL LETTER SHCHA
77+
m ь CYRILLIC SMALL LETTER SOFT SIGN
78+
' є CYRILLIC SMALL LETTER UKRAINIAN IE
79+
. ю CYRILLIC SMALL LETTER YU
80+
z я CYRILLIC SMALL LETTER YA
81+
@ " QUOTATION MARK
82+
# № NUMERO SIGN
83+
$ ; SEMICOLON
84+
^ : COLON
85+
& ? QUESTION MARK
86+
/ . FULL STOP
87+
? , COMMA

0 commit comments

Comments
 (0)