mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-11 15:37:29 +02:00
Merge remote-tracking branch 'vim/master'
This commit is contained in:
+37
-20
@@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 8.2. Last change: 2022 Feb 08
|
||||
*builtin.txt* For Vim version 8.2. Last change: 2022 Feb 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -2082,9 +2082,12 @@ exists({expr}) The result is a Number, which is |TRUE| if {expr} is defined,
|
||||
dict.key |internal-variables|). Also works
|
||||
list[i] for |curly-braces-names|, |Dictionary|
|
||||
import.Func entries, |List| items, imported
|
||||
items,etc.
|
||||
items, etc.
|
||||
Does not work for local variables in a
|
||||
compiled `:def` function.
|
||||
Also works for a function in |Vim9|
|
||||
script, since it can be used as a
|
||||
function reference.
|
||||
Beware that evaluating an index may
|
||||
cause an error message for an invalid
|
||||
expression. E.g.: >
|
||||
@@ -2137,7 +2140,8 @@ exists({expr}) The result is a Number, which is |TRUE| if {expr} is defined,
|
||||
exists("&shortname")
|
||||
exists("$HOSTNAME")
|
||||
exists("*strftime")
|
||||
exists("*s:MyFunc")
|
||||
exists("*s:MyFunc") " only for legacy script
|
||||
exists("*MyFunc")
|
||||
exists("bufcount")
|
||||
exists(":Make")
|
||||
exists("#CursorHold")
|
||||
@@ -4999,12 +5003,12 @@ listener_add({callback} [, {buf}]) *listener_add()*
|
||||
Returns a unique ID that can be passed to |listener_remove()|.
|
||||
|
||||
The {callback} is invoked with five arguments:
|
||||
a:bufnr the buffer that was changed
|
||||
a:start first changed line number
|
||||
a:end first line number below the change
|
||||
a:added number of lines added, negative if lines were
|
||||
bufnr the buffer that was changed
|
||||
start first changed line number
|
||||
end first line number below the change
|
||||
added number of lines added, negative if lines were
|
||||
deleted
|
||||
a:changes a List of items with details about the changes
|
||||
changes a List of items with details about the changes
|
||||
|
||||
Example: >
|
||||
func Listener(bufnr, start, end, added, changes)
|
||||
@@ -5012,7 +5016,7 @@ listener_add({callback} [, {buf}]) *listener_add()*
|
||||
endfunc
|
||||
call listener_add('Listener', bufnr)
|
||||
|
||||
< The List cannot be changed. Each item in a:changes is a
|
||||
< The List cannot be changed. Each item in "changes" is a
|
||||
dictionary with these entries:
|
||||
lnum the first line number of the change
|
||||
end the first line below the change
|
||||
@@ -5139,7 +5143,7 @@ luaeval({expr} [, {expr}]) *luaeval()*
|
||||
|
||||
map({expr1}, {expr2}) *map()*
|
||||
{expr1} must be a |List|, |String|, |Blob| or |Dictionary|.
|
||||
When {expr1} is a |List|| or |Dictionary|, replace each
|
||||
When {expr1} is a |List| or |Dictionary|, replace each
|
||||
item in {expr1} with the result of evaluating {expr2}.
|
||||
For a |Blob| each byte is replaced.
|
||||
For a |String|, each character, including composing
|
||||
@@ -6617,16 +6621,22 @@ reltimestr({time}) *reltimestr()*
|
||||
|
||||
*remote_expr()* *E449*
|
||||
remote_expr({server}, {string} [, {idvar} [, {timeout}]])
|
||||
Send the {string} to {server}. The string is sent as an
|
||||
expression and the result is returned after evaluation.
|
||||
The result must be a String or a |List|. A |List| is turned
|
||||
into a String by joining the items with a line break in
|
||||
between (not at the end), like with join(expr, "\n").
|
||||
Send the {string} to {server}. The {server} argument is a
|
||||
string, also see |{server}|.
|
||||
|
||||
The string is sent as an expression and the result is returned
|
||||
after evaluation. The result must be a String or a |List|. A
|
||||
|List| is turned into a String by joining the items with a
|
||||
line break in between (not at the end), like with join(expr,
|
||||
"\n").
|
||||
|
||||
If {idvar} is present and not empty, it is taken as the name
|
||||
of a variable and a {serverid} for later use with
|
||||
|remote_read()| is stored there.
|
||||
|
||||
If {timeout} is given the read times out after this many
|
||||
seconds. Otherwise a timeout of 600 seconds is used.
|
||||
|
||||
See also |clientserver| |RemoteReply|.
|
||||
This function is not available in the |sandbox|.
|
||||
{only available when compiled with the |+clientserver| feature}
|
||||
@@ -6647,7 +6657,7 @@ remote_expr({server}, {string} [, {idvar} [, {timeout}]])
|
||||
|
||||
remote_foreground({server}) *remote_foreground()*
|
||||
Move the Vim server with the name {server} to the foreground.
|
||||
The {server} argument is a string.
|
||||
The {server} argument is a string, also see |{server}|.
|
||||
This works like: >
|
||||
remote_expr({server}, "foreground()")
|
||||
< Except that on Win32 systems the client does the work, to work
|
||||
@@ -6696,12 +6706,17 @@ remote_read({serverid}, [{timeout}]) *remote_read()*
|
||||
<
|
||||
*remote_send()* *E241*
|
||||
remote_send({server}, {string} [, {idvar}])
|
||||
Send the {string} to {server}. The string is sent as input
|
||||
keys and the function returns immediately. At the Vim server
|
||||
the keys are not mapped |:map|.
|
||||
Send the {string} to {server}. The {server} argument is a
|
||||
string, also see |{server}|.
|
||||
|
||||
The string is sent as input keys and the function returns
|
||||
immediately. At the Vim server the keys are not mapped
|
||||
|:map|.
|
||||
|
||||
If {idvar} is present, it is taken as the name of a variable
|
||||
and a {serverid} for later use with remote_read() is stored
|
||||
there.
|
||||
|
||||
See also |clientserver| |RemoteReply|.
|
||||
This function is not available in the |sandbox|.
|
||||
{only available when compiled with the |+clientserver| feature}
|
||||
@@ -6916,6 +6931,8 @@ screenpos({winid}, {lnum}, {col}) *screenpos()*
|
||||
as if 'conceallevel' is zero. You can set the cursor to the
|
||||
right position and use |screencol()| to get the value with
|
||||
|conceal| taken into account.
|
||||
If the position is in a closed fold the screen position of the
|
||||
first character is returned, {col} is not used.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetWinid()->screenpos(lnum, col)
|
||||
@@ -7897,7 +7914,7 @@ sha256({string}) *sha256()*
|
||||
shellescape({string} [, {special}]) *shellescape()*
|
||||
Escape {string} for use as a shell command argument.
|
||||
When the 'shell' contains powershell (MS-Windows) or pwsh
|
||||
(MS-Windows, Linux, and MacOS) then it will enclose {string}
|
||||
(MS-Windows, Linux, and macOS) then it will enclose {string}
|
||||
in single quotes and will double up all internal single
|
||||
quotes.
|
||||
On MS-Windows, when 'shellslash' is not set, it will enclose
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 8.2. Last change: 2022 Feb 04
|
||||
*editing.txt* For Vim version 8.2. Last change: 2022 Feb 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -222,7 +222,7 @@ If you want to keep the changed buffer without saving it, switch on the
|
||||
Edit {file} always. Discard any changes to the
|
||||
current buffer.
|
||||
Also see |++opt| and |+cmd|.
|
||||
|
||||
*:edit_#* *:e#*
|
||||
:e[dit] [++opt] [+cmd] #[count]
|
||||
Edit the [count]th buffer (as shown by |:files|).
|
||||
This command does the same as [count] CTRL-^. But ":e
|
||||
@@ -389,7 +389,7 @@ as a wildcard when "[" is in the 'isfname' option. A simple way to avoid this
|
||||
is to use "path\[[]abc]", this matches the file "path\[abc]".
|
||||
|
||||
*starstar-wildcard*
|
||||
Expanding "**" is possible on Unix, Win32, Mac OS/X and a few other systems.
|
||||
Expanding "**" is possible on Unix, Win32, macOS and a few other systems.
|
||||
This allows searching a directory tree. This goes up to 100 directories deep.
|
||||
Note there are some commands where this works slightly differently, see
|
||||
|file-searching|.
|
||||
@@ -1695,7 +1695,7 @@ which version of the file you want to keep.
|
||||
|
||||
The accuracy of the time check depends on the filesystem. On Unix it is
|
||||
usually sub-second. With old file sytems and on MS-Windows it is normally one
|
||||
second. Use has('nanotime') check if sub-second time stamp checks are
|
||||
second. Use `has('nanotime')` to check if sub-second time stamp checks are
|
||||
available.
|
||||
|
||||
There is one situation where you get the message while there is nothing wrong:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.2. Last change: 2022 Feb 04
|
||||
*eval.txt* For Vim version 8.2. Last change: 2022 Feb 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1371,7 +1371,7 @@ And NOT: >
|
||||
-(1.234->string())
|
||||
|
||||
What comes after "->" can be a name, a simple expression (not containing any
|
||||
parenthesis), or any expression in parenthesis: >
|
||||
parenthesis), or any expression in parentheses: >
|
||||
base->name(args)
|
||||
base->some.name(args)
|
||||
base->alist[idx](args)
|
||||
@@ -2182,7 +2182,8 @@ v:lnum Line number for the 'foldexpr' |fold-expr|, 'formatexpr' and
|
||||
|
||||
*v:maxcol* *maxcol-variable*
|
||||
v:maxcol Maximum line length. Depending on where it is used it can be
|
||||
screen columns, characters or bytes.
|
||||
screen columns, characters or bytes. The value currently is
|
||||
2147483647 on all systems.
|
||||
|
||||
*v:mouse_win* *mouse_win-variable*
|
||||
v:mouse_win Window number for a mouse click obtained with |getchar()|.
|
||||
@@ -3013,8 +3014,9 @@ Also note that if you have two script files, and one calls a function in the
|
||||
other and vice versa, before the used function is defined, it won't work.
|
||||
Avoid using the autoload functionality at the toplevel.
|
||||
|
||||
In |Vim9| script you will get error *E1263* if you use a function name with a
|
||||
"#" character when not in an autoload script.
|
||||
In |Vim9| script you will get error *E1263* if you define a function with
|
||||
a "#" character in the name. You should use a name without "#" and use
|
||||
`:export`.
|
||||
|
||||
Hint: If you distribute a bunch of scripts you can pack them together with the
|
||||
|vimball| utility. Also read the user manual |distribute-script|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.2. Last change: 2022 Feb 08
|
||||
*options.txt* For Vim version 8.2. Last change: 2022 Feb 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -4133,7 +4133,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'guitablabel' 'gtl' string (default empty)
|
||||
global
|
||||
{only available when compiled with GUI enabled}
|
||||
When nonempty describes the text to use in a label of the GUI tab
|
||||
When non-empty describes the text to use in a label of the GUI tab
|
||||
pages line. When empty and when the result is empty Vim will use a
|
||||
default label. See |setting-guitablabel| for more info.
|
||||
|
||||
@@ -4151,7 +4151,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'guitabtooltip' 'gtt' string (default empty)
|
||||
global
|
||||
{only available when compiled with GUI enabled}
|
||||
When nonempty describes the text to use in a tooltip for the GUI tab
|
||||
When non-empty describes the text to use in a tooltip for the GUI tab
|
||||
pages line. When empty Vim will use a default tooltip.
|
||||
This option is otherwise just like 'guitablabel' above.
|
||||
You can include a line break. Simplest method is to use |:let|: >
|
||||
@@ -7591,7 +7591,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global or local to window |global-local|
|
||||
{not available when compiled without the |+statusline|
|
||||
feature}
|
||||
When nonempty, this option determines the content of the status line.
|
||||
When non-empty, this option determines the content of the status line.
|
||||
Also see |status-line|.
|
||||
|
||||
The option consists of printf style '%' items interspersed with
|
||||
@@ -7899,7 +7899,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'tabline'* *'tal'*
|
||||
'tabline' 'tal' string (default empty)
|
||||
global
|
||||
When nonempty, this option determines the content of the tab pages
|
||||
When non-empty, this option determines the content of the tab pages
|
||||
line at the top of the Vim window. When empty Vim will use a default
|
||||
tab pages line. See |setting-tabline| for more info.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_win32.txt* For Vim version 8.2. Last change: 2021 Apr 05
|
||||
*os_win32.txt* For Vim version 8.2. Last change: 2022 Feb 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by George Reilly
|
||||
@@ -294,7 +294,7 @@ A. When using :! to run an external command, you can run it with "start". For
|
||||
/b no console window will be opened
|
||||
You can use only one of these flags at a time. A second one will be
|
||||
treated as the start of the command.
|
||||
|
||||
*windows-asynchronously*
|
||||
Q. How do I avoid getting a window for programs that I run asynchronously?
|
||||
A. You have two possible solutions depending on what you want:
|
||||
1) You may use the /min flag in order to run program in a minimized state
|
||||
@@ -308,17 +308,17 @@ A. You have two possible solutions depending on what you want:
|
||||
|
||||
Example for a console application, run Exuberant ctags: >
|
||||
:!start /min ctags -R .
|
||||
< When it has finished you should see file named "tags" in your current
|
||||
< When it has finished you should see file named "tags" in your current
|
||||
directory. You should notice the window title blinking on your taskbar.
|
||||
This is more noticeable for commands that take longer.
|
||||
Now delete the "tags" file and run this command: >
|
||||
:!start /b ctags -R .
|
||||
< You should have the same "tags" file, but this time there will be no
|
||||
< You should have the same "tags" file, but this time there will be no
|
||||
blinking on the taskbar.
|
||||
Example for a GUI application: >
|
||||
:!start /min notepad
|
||||
:!start /b notepad
|
||||
< The first command runs notepad minimized and the second one runs it
|
||||
< The first command runs notepad minimized and the second one runs it
|
||||
normally.
|
||||
|
||||
*windows-icon*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*remote.txt* For Vim version 8.2. Last change: 2021 Dec 27
|
||||
*remote.txt* For Vim version 8.2. Last change: 2022 Feb 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -121,6 +121,10 @@ when sending command to it.
|
||||
|
||||
The --serverlist argument will cause Vim to print a list of registered command
|
||||
servers on the standard output (stdout) and exit.
|
||||
*{server}*
|
||||
The {server} argument is used by several functions. When this is an empty
|
||||
string then on Unix the default server name is used, which is "GVIM". On
|
||||
MS-Windows an empty string does not work.
|
||||
|
||||
Win32 Note: Making the Vim server go to the foreground doesn't always work,
|
||||
because MS-Windows doesn't allow it. The client will move the server to the
|
||||
|
||||
@@ -2438,6 +2438,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:dsp tagsrch.txt /*:dsp*
|
||||
:dsplit tagsrch.txt /*:dsplit*
|
||||
:e editing.txt /*:e*
|
||||
:e# editing.txt /*:e#*
|
||||
:ea undo.txt /*:ea*
|
||||
:earlier undo.txt /*:earlier*
|
||||
:ec eval.txt /*:ec*
|
||||
@@ -2455,6 +2456,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:edit editing.txt /*:edit*
|
||||
:edit! editing.txt /*:edit!*
|
||||
:edit!_f editing.txt /*:edit!_f*
|
||||
:edit_# editing.txt /*:edit_#*
|
||||
:edit_f editing.txt /*:edit_f*
|
||||
:el eval.txt /*:el*
|
||||
:else eval.txt /*:else*
|
||||
@@ -4086,6 +4088,7 @@ E1075 vim9.txt /*E1075*
|
||||
E1076 eval.txt /*E1076*
|
||||
E1077 vim9.txt /*E1077*
|
||||
E108 eval.txt /*E108*
|
||||
E1080 vim9.txt /*E1080*
|
||||
E1081 eval.txt /*E1081*
|
||||
E1083 editing.txt /*E1083*
|
||||
E1084 eval.txt /*E1084*
|
||||
@@ -10677,6 +10680,7 @@ vim9-namespace vim9.txt /*vim9-namespace*
|
||||
vim9-no-dict-function vim9.txt /*vim9-no-dict-function*
|
||||
vim9-rationale vim9.txt /*vim9-rationale*
|
||||
vim9-reload vim9.txt /*vim9-reload*
|
||||
vim9-s-namespace vim9.txt /*vim9-s-namespace*
|
||||
vim9-scopes vim9.txt /*vim9-scopes*
|
||||
vim9-script-intro usr_46.txt /*vim9-script-intro*
|
||||
vim9-types vim9.txt /*vim9-types*
|
||||
@@ -10835,6 +10839,7 @@ windowid windows.txt /*windowid*
|
||||
windowid-variable eval.txt /*windowid-variable*
|
||||
windows windows.txt /*windows*
|
||||
windows-3.1 os_win32.txt /*windows-3.1*
|
||||
windows-asynchronously os_win32.txt /*windows-asynchronously*
|
||||
windows-icon os_win32.txt /*windows-icon*
|
||||
windows-intro windows.txt /*windows-intro*
|
||||
windows-starting windows.txt /*windows-starting*
|
||||
@@ -11008,6 +11013,7 @@ zz scroll.txt /*zz*
|
||||
{offset} pattern.txt /*{offset}*
|
||||
{register} change.txt /*{register}*
|
||||
{rhs} map.txt /*{rhs}*
|
||||
{server} remote.txt /*{server}*
|
||||
{subject} helphelp.txt /*{subject}*
|
||||
{} intro.txt /*{}*
|
||||
} motion.txt /*}*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.2. Last change: 2022 Feb 11
|
||||
*todo.txt* For Vim version 8.2. Last change: 2022 Feb 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,13 +38,9 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Disallow using "s:" in Vim9 script at the script level.
|
||||
Disallow a legacy function creating an s: variable in Vim9 script.
|
||||
|
||||
Once Vim9 is stable:
|
||||
- Use Vim9 for runtime files.
|
||||
- Check code coverage, add more tests if needed.
|
||||
vim9compile.c
|
||||
vim9execute.c
|
||||
vim9expr.c
|
||||
vim9instr.c
|
||||
@@ -421,9 +417,6 @@ When editing a file with ":edit" the output of :swapname is relative, while
|
||||
editing it with "vim file" it is absolute. (#355)
|
||||
Which one should it be?
|
||||
|
||||
:map output does not clear the reset of the command line.
|
||||
(#5623, also see #5962)
|
||||
|
||||
Problem with auto-formatting - inserting space and putting cursor before added
|
||||
character. (#6154)
|
||||
|
||||
|
||||
@@ -162,7 +162,7 @@ and avoid errors. Such as thinking that the "-0o36" above makes the number
|
||||
negative, while it is actually seen as a subtraction.
|
||||
|
||||
To actually have the minus sign be used for negation, you can put the second
|
||||
expression in parenthesis: >
|
||||
expression in parentheses: >
|
||||
|
||||
echo -0x7f (-0o36)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
.TH VIM 1 "2006 Apr 11"
|
||||
.TH VIM 1 "2021 Jun 13"
|
||||
.SH 名前
|
||||
vim \- Vi IMproved, プログラマのテキストエディタ
|
||||
.SH 書式
|
||||
|
||||
+48
-17
@@ -1,4 +1,4 @@
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2022 Feb 11
|
||||
*vim9.txt* For Vim version 8.2. Last change: 2022 Feb 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -282,13 +282,14 @@ If you do want to keep items, use: >
|
||||
vim9script noclear
|
||||
|
||||
You want to use this in scripts that use a `finish` command to bail out at
|
||||
some point when loaded again. E.g. when a buffer local option is set: >
|
||||
some point when loaded again. E.g. when a buffer local option is set to a
|
||||
function, the function does not need to be defined more than once: >
|
||||
vim9script noclear
|
||||
setlocal completefunc=SomeFunc
|
||||
if exists('*g:SomeFunc')
|
||||
if exists('*SomeFunc')
|
||||
finish
|
||||
endif
|
||||
def g:SomeFunc()
|
||||
def SomeFunc()
|
||||
....
|
||||
|
||||
|
||||
@@ -422,7 +423,7 @@ similar to how a function argument can be ignored: >
|
||||
[a, _, c] = theList
|
||||
To ignore any remaining items: >
|
||||
[a, b; _] = longList
|
||||
< *E1163*
|
||||
< *E1163* *E1080*
|
||||
Declaring more than one variable at a time, using the unpack notation, is
|
||||
possible. Each variable can have a type or infer it from the value: >
|
||||
var [v1: number, v2] = GetValues()
|
||||
@@ -837,6 +838,7 @@ Instead of `:k` you can use `:mark`.
|
||||
Comparators ~
|
||||
|
||||
The 'ignorecase' option is not used for comparators that use strings.
|
||||
Thus "=~" works like "=~#".
|
||||
|
||||
|
||||
Abort after error ~
|
||||
@@ -1430,32 +1432,61 @@ In legacy Vim script, where a number was expected, a string would be
|
||||
automatically converted to a number. This was convenient for an actual number
|
||||
such as "123", but leads to unexpected problems (and no error message) if the
|
||||
string doesn't start with a number. Quite often this leads to hard-to-find
|
||||
bugs.
|
||||
bugs. e.g.: >
|
||||
echo 123 == '123'
|
||||
< 1 ~
|
||||
With an accidental space: >
|
||||
echo 123 == ' 123'
|
||||
< 0 ~
|
||||
*E1206* *E1210* *E1212*
|
||||
In Vim9 script this has been made stricter. In most places it works just as
|
||||
before, if the value used matches the expected type. There will sometimes be
|
||||
before if the value used matches the expected type. There will sometimes be
|
||||
an error, thus breaking backwards compatibility. For example:
|
||||
- Using a number other than 0 or 1 where a boolean is expected. *E1023*
|
||||
- Using a string value when setting a number option.
|
||||
- Using a number where a string is expected. *E1024* *E1105*
|
||||
|
||||
One consequence is that the item type of a list or dict given to |map()| must
|
||||
not change. This will give an error in Vim9 script: >
|
||||
echo map([1, 2, 3], (i, v) => 'item ' .. i)
|
||||
E1012: Type mismatch; expected number but got string
|
||||
Instead use |mapnew()|: >
|
||||
echo mapnew([1, 2, 3], (i, v) => 'item ' .. i)
|
||||
['item 0', 'item 1', 'item 2']
|
||||
not change, if the type was declared. This will give an error in Vim9
|
||||
script: >
|
||||
var mylist: list<number> = [1, 2, 3]
|
||||
echo map(mylist, (i, v) => 'item ' .. i)
|
||||
< E1012: Type mismatch; expected number but got string in map() ~
|
||||
|
||||
If the item type was determined to be "any" it can change to a more specific
|
||||
type. E.g. when a list of mixed types gets changed to a list of strings: >
|
||||
Instead use |mapnew()|, it creates a new list: >
|
||||
var mylist: list<number> = [1, 2, 3]
|
||||
echo mapnew(mylist, (i, v) => 'item ' .. i)
|
||||
< ['item 0', 'item 1', 'item 2'] ~
|
||||
|
||||
If the item type was not declared or determined to be "any" it can change to a
|
||||
more specific type. E.g. when a list of mixed types gets changed to a list of
|
||||
strings: >
|
||||
var mylist = [1, 2.0, '3']
|
||||
# typename(mylist) == "list<any>"
|
||||
map(mylist, (i, v) => 'item ' .. i)
|
||||
# typename(mylist) == "list<string>", no error
|
||||
< *E1158*
|
||||
|
||||
There is a subtle difference between using a list constant directly and
|
||||
through a variable declaraiton. Because of type inference, when using a list
|
||||
constant to initialize a variable, this also sets the declared type: >
|
||||
var mylist = [1, 2, 3]
|
||||
# typename(mylist) == "list<number>"
|
||||
echo map(mylist, (i, v) => 'item ' .. i) # Error!
|
||||
|
||||
When using the list constant directly, the type is not declared and is allowed
|
||||
to change: >
|
||||
echo map([1, 2, 3], (i, v) => 'item ' .. i) # OK
|
||||
|
||||
The reasoning behind this is that when a type is declared and the list is
|
||||
passed around and changed, the declaration must always hold. So that you can
|
||||
rely on the type to match the declared type. For a constant this is not
|
||||
needed.
|
||||
|
||||
*E1158*
|
||||
Same for |extend()|, use |extendnew()| instead, and for |flatten()|, use
|
||||
|flattennew()| instead.
|
||||
|flattennew()| instead. Since |flatten()| is intended to always change the
|
||||
type, it can not be used in Vim9 script.
|
||||
|
||||
*E1211* *E1217* *E1218* *E1219* *E1220* *E1221*
|
||||
*E1222* *E1223* *E1224* *E1225* *E1226* *E1227*
|
||||
*E1228* *E1238* *E1250* *E1251* *E1252* *E1253*
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2022 Jan 31
|
||||
" Last Change: 2022 Feb 13
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
|
||||
@@ -2,13 +2,14 @@
|
||||
"
|
||||
" Menu Translations: Japanese (EUC-JP)
|
||||
" Last Translator: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 18-Jul-2018.
|
||||
" Generated from menu_ja_jp.utf-8.vim, DO NOT EDIT
|
||||
" Last Change: 20-Feb-2022.
|
||||
"
|
||||
" Copyright (C) 2001-2018 MURAOKA Taro <koron.kaoriya@gmail.com>,
|
||||
" Copyright (C) 2001-2022 MURAOKA Taro <koron.kaoriya@gmail.com>,
|
||||
" vim-jp <http://vim-jp.org/>
|
||||
"
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
"
|
||||
" Generated from menu_ja_jp.utf-8.vim, DO NOT EDIT
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
if exists("did_menu_trans")
|
||||
@@ -24,7 +25,7 @@ scriptencoding euc-jp
|
||||
menutrans &Help ヘルプ(&H)
|
||||
menutrans &Overview<Tab><F1> 概略(&O)<Tab><F1>
|
||||
menutrans &User\ Manual ユーザーマニュアル(&U)
|
||||
menutrans &How-to\ links &How-toリンク
|
||||
menutrans &How-To\ links &How-toリンク
|
||||
menutrans &Credits クレジット(&C)
|
||||
menutrans Co&pying 著作権情報(&P)
|
||||
menutrans &Sponsor/Register スポンサー/登録(&S)
|
||||
@@ -271,10 +272,9 @@ if has("toolbar")
|
||||
tmenu ToolBar.Cut クリップボードへ切り取り
|
||||
tmenu ToolBar.Copy クリップボードへコピー
|
||||
tmenu ToolBar.Paste クリップボードから貼り付け
|
||||
tmenu ToolBar.Find 検索...
|
||||
tmenu ToolBar.Replace 検索 / 置換...
|
||||
tmenu ToolBar.FindNext 次を検索
|
||||
tmenu ToolBar.FindPrev 前を検索
|
||||
tmenu ToolBar.Replace 置換...
|
||||
if 0 " disabled; These are in the Windows menu
|
||||
tmenu ToolBar.New 新規ウィンドウ作成
|
||||
tmenu ToolBar.WinSplit ウィンドウ分割
|
||||
|
||||
@@ -2,13 +2,14 @@
|
||||
"
|
||||
" Menu Translations: Japanese (UTF-8)
|
||||
" Last Translator: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 18-Jul-2018.
|
||||
" Original translations
|
||||
" Last Change: 20-Feb-2022.
|
||||
"
|
||||
" Copyright (C) 2001-2018 MURAOKA Taro <koron.kaoriya@gmail.com>,
|
||||
" Copyright (C) 2001-2022 MURAOKA Taro <koron.kaoriya@gmail.com>,
|
||||
" vim-jp <http://vim-jp.org/>
|
||||
"
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
"
|
||||
" Original translations
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
if exists("did_menu_trans")
|
||||
@@ -24,7 +25,7 @@ scriptencoding utf-8
|
||||
menutrans &Help ヘルプ(&H)
|
||||
menutrans &Overview<Tab><F1> 概略(&O)<Tab><F1>
|
||||
menutrans &User\ Manual ユーザーマニュアル(&U)
|
||||
menutrans &How-to\ links &How-toリンク
|
||||
menutrans &How-To\ links &How-toリンク
|
||||
menutrans &Credits クレジット(&C)
|
||||
menutrans Co&pying 著作権情報(&P)
|
||||
menutrans &Sponsor/Register スポンサー/登録(&S)
|
||||
@@ -271,10 +272,9 @@ if has("toolbar")
|
||||
tmenu ToolBar.Cut クリップボードへ切り取り
|
||||
tmenu ToolBar.Copy クリップボードへコピー
|
||||
tmenu ToolBar.Paste クリップボードから貼り付け
|
||||
tmenu ToolBar.Find 検索...
|
||||
tmenu ToolBar.Replace 検索 / 置換...
|
||||
tmenu ToolBar.FindNext 次を検索
|
||||
tmenu ToolBar.FindPrev 前を検索
|
||||
tmenu ToolBar.Replace 置換...
|
||||
if 0 " disabled; These are in the Windows menu
|
||||
tmenu ToolBar.New 新規ウィンドウ作成
|
||||
tmenu ToolBar.WinSplit ウィンドウ分割
|
||||
|
||||
@@ -2,13 +2,14 @@
|
||||
"
|
||||
" Menu Translations: Japanese (CP932)
|
||||
" Last Translator: MURAOKA Taro <koron.kaoriya@gmail.com>
|
||||
" Last Change: 18-Jul-2018.
|
||||
" Generated from menu_ja_jp.utf-8.vim, DO NOT EDIT
|
||||
" Last Change: 20-Feb-2022.
|
||||
"
|
||||
" Copyright (C) 2001-2018 MURAOKA Taro <koron.kaoriya@gmail.com>,
|
||||
" Copyright (C) 2001-2022 MURAOKA Taro <koron.kaoriya@gmail.com>,
|
||||
" vim-jp <http://vim-jp.org/>
|
||||
"
|
||||
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
|
||||
"
|
||||
" Generated from menu_ja_jp.utf-8.vim, DO NOT EDIT
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
if exists("did_menu_trans")
|
||||
@@ -24,7 +25,7 @@ scriptencoding cp932
|
||||
menutrans &Help ヘルプ(&H)
|
||||
menutrans &Overview<Tab><F1> 概略(&O)<Tab><F1>
|
||||
menutrans &User\ Manual ユーザーマニュアル(&U)
|
||||
menutrans &How-to\ links &How-toリンク
|
||||
menutrans &How-To\ links &How-toリンク
|
||||
menutrans &Credits クレジット(&C)
|
||||
menutrans Co&pying 著作権情報(&P)
|
||||
menutrans &Sponsor/Register スポンサー/登録(&S)
|
||||
@@ -271,10 +272,9 @@ if has("toolbar")
|
||||
tmenu ToolBar.Cut クリップボードへ切り取り
|
||||
tmenu ToolBar.Copy クリップボードへコピー
|
||||
tmenu ToolBar.Paste クリップボードから貼り付け
|
||||
tmenu ToolBar.Find 検索...
|
||||
tmenu ToolBar.Replace 検索 / 置換...
|
||||
tmenu ToolBar.FindNext 次を検索
|
||||
tmenu ToolBar.FindPrev 前を検索
|
||||
tmenu ToolBar.Replace 置換...
|
||||
if 0 " disabled; These are in the Windows menu
|
||||
tmenu ToolBar.New 新規ウィンドウ作成
|
||||
tmenu ToolBar.WinSplit ウィンドウ分割
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Structurizr DSL
|
||||
" Maintainer: Bastian Venthur <venthur@debian.org>
|
||||
" Last Change: 2021-08-16
|
||||
" Last Change: 2022-02-15
|
||||
" Remark: For a language reference, see
|
||||
" https://github.com/structurizr/dsl
|
||||
|
||||
@@ -30,6 +30,7 @@ syn keyword skeyword deployment
|
||||
syn keyword skeyword deploymentenvironment
|
||||
syn keyword skeyword deploymentgroup
|
||||
syn keyword skeyword deploymentnode
|
||||
syn keyword skeyword description
|
||||
syn keyword skeyword dynamic
|
||||
syn keyword skeyword element
|
||||
syn keyword skeyword enterprise
|
||||
@@ -37,7 +38,6 @@ syn keyword skeyword exclude
|
||||
syn keyword skeyword filtered
|
||||
syn keyword skeyword group
|
||||
syn keyword skeyword healthcheck
|
||||
syn keyword skeyword impliedrelationships
|
||||
syn keyword skeyword include
|
||||
syn keyword skeyword infrastructurenode
|
||||
syn keyword skeyword model
|
||||
@@ -51,6 +51,7 @@ syn keyword skeyword styles
|
||||
syn keyword skeyword systemcontext
|
||||
syn keyword skeyword systemlandscape
|
||||
syn keyword skeyword tags
|
||||
syn keyword skeyword technology
|
||||
syn keyword skeyword terminology
|
||||
syn keyword skeyword theme
|
||||
syn keyword skeyword title
|
||||
@@ -63,7 +64,11 @@ syn match skeyword "\!adrs\s\+"
|
||||
syn match skeyword "\!constant\s\+"
|
||||
syn match skeyword "\!docs\s\+"
|
||||
syn match skeyword "\!identifiers\s\+"
|
||||
syn match skeyword "\!impliedrelationships\s\+"
|
||||
syn match skeyword "\!include\s\+"
|
||||
syn match skeyword "\!plugin\s\+"
|
||||
syn match skeyword "\!ref\s\+"
|
||||
syn match skeyword "\!script\s\+"
|
||||
|
||||
syn region sstring oneline start='"' end='"'
|
||||
|
||||
|
||||
+58
-23
@@ -517,7 +517,7 @@ arg_filter_func(type_T *type, type_T *decl_type UNUSED, argcontext_T *context)
|
||||
}
|
||||
|
||||
/*
|
||||
* Check second argument of map().
|
||||
* Check second argument of map(), the function.
|
||||
*/
|
||||
static int
|
||||
arg_map_func(type_T *type, type_T *decl_type UNUSED, argcontext_T *context)
|
||||
@@ -530,34 +530,67 @@ arg_map_func(type_T *type, type_T *decl_type UNUSED, argcontext_T *context)
|
||||
|
||||
if (type->tt_type == VAR_FUNC)
|
||||
{
|
||||
if (type->tt_member != &t_any && type->tt_member != &t_unknown)
|
||||
type_T *expected_ret = NULL;
|
||||
type_T *(args[2]);
|
||||
type_T t_func_exp = {VAR_FUNC, 2, 0, 0, NULL, args};
|
||||
|
||||
if (context->arg_types[0].type_curr->tt_type == VAR_LIST
|
||||
|| context->arg_types[0].type_curr->tt_type == VAR_DICT)
|
||||
{
|
||||
type_T *expected = NULL;
|
||||
// Use the declared type if possible, so that an error is given if
|
||||
// a declared list changes type, but not if a constant list changes
|
||||
// type.
|
||||
if (context->arg_types[0].type_decl->tt_type == VAR_LIST
|
||||
|| context->arg_types[0].type_decl->tt_type == VAR_DICT)
|
||||
expected_ret = context->arg_types[0].type_decl->tt_member;
|
||||
else
|
||||
expected_ret = context->arg_types[0].type_curr->tt_member;
|
||||
}
|
||||
else if (context->arg_types[0].type_curr->tt_type == VAR_STRING)
|
||||
expected_ret = &t_string;
|
||||
else if (context->arg_types[0].type_curr->tt_type == VAR_BLOB)
|
||||
expected_ret = &t_number;
|
||||
|
||||
if (context->arg_types[0].type_curr->tt_type == VAR_LIST
|
||||
|| context->arg_types[0].type_curr->tt_type == VAR_DICT)
|
||||
args[0] = NULL;
|
||||
args[1] = &t_unknown;
|
||||
if (type->tt_argcount != -1)
|
||||
{
|
||||
if (!(type->tt_argcount == 2 || (type->tt_argcount == 1
|
||||
&& (type->tt_flags & TTFLAG_VARARGS))))
|
||||
{
|
||||
// Use the declared type, so that an error is given if a
|
||||
// declared list changes type, but not if a constant list
|
||||
// changes type.
|
||||
if (context->arg_types[0].type_decl->tt_type == VAR_LIST
|
||||
|| context->arg_types[0].type_decl->tt_type == VAR_DICT)
|
||||
expected = context->arg_types[0].type_decl->tt_member;
|
||||
else
|
||||
expected = context->arg_types[0].type_curr->tt_member;
|
||||
emsg(_(e_invalid_number_of_arguments));
|
||||
return FAIL;
|
||||
}
|
||||
else if (context->arg_types[0].type_curr->tt_type == VAR_STRING)
|
||||
expected = &t_string;
|
||||
else if (context->arg_types[0].type_curr->tt_type == VAR_BLOB)
|
||||
expected = &t_number;
|
||||
if (expected != NULL)
|
||||
if (type->tt_flags & TTFLAG_VARARGS)
|
||||
// check the argument types at runtime
|
||||
t_func_exp.tt_argcount = -1;
|
||||
else
|
||||
{
|
||||
type_T t_func_exp = {VAR_FUNC, -1, 0, TTFLAG_STATIC,
|
||||
NULL, NULL};
|
||||
if (context->arg_types[0].type_curr->tt_type == VAR_STRING
|
||||
|| context->arg_types[0].type_curr->tt_type == VAR_BLOB
|
||||
|| context->arg_types[0].type_curr->tt_type == VAR_LIST)
|
||||
args[0] = &t_number;
|
||||
else if (context->arg_types[0].type_decl->tt_type == VAR_DICT)
|
||||
args[0] = &t_string;
|
||||
if (args[0] != NULL)
|
||||
args[1] = expected_ret;
|
||||
}
|
||||
}
|
||||
|
||||
t_func_exp.tt_member = expected;
|
||||
return check_arg_type(&t_func_exp, type, context);
|
||||
}
|
||||
if ((type->tt_member != &t_any && type->tt_member != &t_unknown)
|
||||
|| args[0] != NULL)
|
||||
{
|
||||
where_T where = WHERE_INIT;
|
||||
|
||||
t_func_exp.tt_member = expected_ret == NULL
|
||||
|| type->tt_member == &t_any
|
||||
|| type->tt_member == &t_unknown
|
||||
? &t_any : expected_ret;
|
||||
if (args[0] == NULL)
|
||||
args[0] = &t_unknown;
|
||||
|
||||
where.wt_index = 2;
|
||||
return check_type(&t_func_exp, type, TRUE, where);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -4332,6 +4365,8 @@ common_function(typval_T *argvars, typval_T *rettv, int is_funcref)
|
||||
// would also work, but some plugins depend on the name being
|
||||
// printable text.
|
||||
name = get_scriptlocal_funcname(s);
|
||||
else if (trans_name != NULL && *trans_name == K_SPECIAL)
|
||||
name = alloc_printable_func_name(trans_name);
|
||||
else
|
||||
name = vim_strsave(s);
|
||||
|
||||
|
||||
+156
-170
@@ -2201,12 +2201,7 @@ get_user_var_name(expand_T *xp, int idx)
|
||||
}
|
||||
|
||||
// b: variables
|
||||
ht =
|
||||
#ifdef FEAT_CMDWIN
|
||||
// In cmdwin, the alternative buffer should be used.
|
||||
is_in_cmdwin() ? &prevwin->w_buffer->b_vars->dv_hashtab :
|
||||
#endif
|
||||
&curbuf->b_vars->dv_hashtab;
|
||||
ht = &prevwin_curwin()->w_buffer->b_vars->dv_hashtab;
|
||||
if (bdone < ht->ht_used)
|
||||
{
|
||||
if (bdone++ == 0)
|
||||
@@ -2219,12 +2214,7 @@ get_user_var_name(expand_T *xp, int idx)
|
||||
}
|
||||
|
||||
// w: variables
|
||||
ht =
|
||||
#ifdef FEAT_CMDWIN
|
||||
// In cmdwin, the alternative window should be used.
|
||||
is_in_cmdwin() ? &prevwin->w_vars->dv_hashtab :
|
||||
#endif
|
||||
&curwin->w_vars->dv_hashtab;
|
||||
ht = &prevwin_curwin()->w_vars->dv_hashtab;
|
||||
if (wdone < ht->ht_used)
|
||||
{
|
||||
if (wdone++ == 0)
|
||||
@@ -3421,7 +3411,7 @@ set_var_const(
|
||||
type_T *type = type_arg;
|
||||
typval_T bool_tv;
|
||||
dictitem_T *di;
|
||||
typval_T *dest_tv = NULL;
|
||||
typval_T *dest_tv;
|
||||
char_u *varname;
|
||||
char_u *name_tofree = NULL;
|
||||
hashtab_T *ht = NULL;
|
||||
@@ -3515,185 +3505,181 @@ set_var_const(
|
||||
}
|
||||
}
|
||||
|
||||
if (dest_tv == NULL)
|
||||
// Search in parent scope which is possible to reference from lambda
|
||||
if (di == NULL)
|
||||
di = find_var_in_scoped_ht(name, TRUE);
|
||||
|
||||
if ((tv->v_type == VAR_FUNC || tv->v_type == VAR_PARTIAL)
|
||||
&& var_wrong_func_name(name, di == NULL))
|
||||
goto failed;
|
||||
|
||||
if (need_convert_to_bool(type, tv))
|
||||
{
|
||||
// Search in parent scope which is possible to reference from lambda
|
||||
if (di == NULL)
|
||||
di = find_var_in_scoped_ht(name, TRUE);
|
||||
// Destination is a bool and the value is not, but it can be
|
||||
// converted.
|
||||
CLEAR_FIELD(bool_tv);
|
||||
bool_tv.v_type = VAR_BOOL;
|
||||
bool_tv.vval.v_number = tv2bool(tv) ? VVAL_TRUE : VVAL_FALSE;
|
||||
tv = &bool_tv;
|
||||
}
|
||||
|
||||
if ((tv->v_type == VAR_FUNC || tv->v_type == VAR_PARTIAL)
|
||||
&& var_wrong_func_name(name, di == NULL))
|
||||
goto failed;
|
||||
|
||||
if (need_convert_to_bool(type, tv))
|
||||
if (di != NULL)
|
||||
{
|
||||
// Item already exists. Allowed to replace when reloading.
|
||||
if ((di->di_flags & DI_FLAGS_RELOAD) == 0)
|
||||
{
|
||||
// Destination is a bool and the value is not, but it can be
|
||||
// converted.
|
||||
CLEAR_FIELD(bool_tv);
|
||||
bool_tv.v_type = VAR_BOOL;
|
||||
bool_tv.vval.v_number = tv2bool(tv) ? VVAL_TRUE : VVAL_FALSE;
|
||||
tv = &bool_tv;
|
||||
}
|
||||
|
||||
if (di != NULL)
|
||||
{
|
||||
// Item already exists. Allowed to replace when reloading.
|
||||
if ((di->di_flags & DI_FLAGS_RELOAD) == 0)
|
||||
if ((flags & (ASSIGN_CONST | ASSIGN_FINAL))
|
||||
&& (flags & ASSIGN_FOR_LOOP) == 0)
|
||||
{
|
||||
if ((flags & (ASSIGN_CONST | ASSIGN_FINAL))
|
||||
&& (flags & ASSIGN_FOR_LOOP) == 0)
|
||||
{
|
||||
emsg(_(e_cannot_modify_existing_variable));
|
||||
goto failed;
|
||||
}
|
||||
|
||||
if (is_script_local && vim9script
|
||||
&& (flags & (ASSIGN_NO_DECL | ASSIGN_DECL)) == 0)
|
||||
{
|
||||
semsg(_(e_redefining_script_item_str), name);
|
||||
goto failed;
|
||||
}
|
||||
|
||||
if (var_in_vim9script && (flags & ASSIGN_FOR_LOOP) == 0)
|
||||
{
|
||||
where_T where = WHERE_INIT;
|
||||
svar_T *sv = find_typval_in_script(&di->di_tv, sid);
|
||||
|
||||
if (sv != NULL)
|
||||
{
|
||||
// check the type and adjust to bool if needed
|
||||
where.wt_index = var_idx;
|
||||
where.wt_variable = TRUE;
|
||||
if (check_script_var_type(sv, tv, name, where) == FAIL)
|
||||
goto failed;
|
||||
if (type == NULL)
|
||||
type = sv->sv_type;
|
||||
}
|
||||
}
|
||||
|
||||
if ((flags & ASSIGN_FOR_LOOP) == 0
|
||||
&& var_check_permission(di, name) == FAIL)
|
||||
goto failed;
|
||||
}
|
||||
else
|
||||
{
|
||||
// can only redefine once
|
||||
di->di_flags &= ~DI_FLAGS_RELOAD;
|
||||
|
||||
// A Vim9 script-local variable is also present in sn_all_vars
|
||||
// and sn_var_vals. It may set "type" from "tv".
|
||||
if (var_in_vim9script || var_in_autoload)
|
||||
update_vim9_script_var(FALSE, di,
|
||||
var_in_autoload ? name : di->di_key, flags,
|
||||
tv, &type, (flags & ASSIGN_NO_MEMBER_TYPE) == 0);
|
||||
emsg(_(e_cannot_modify_existing_variable));
|
||||
goto failed;
|
||||
}
|
||||
|
||||
// existing variable, need to clear the value
|
||||
|
||||
// Handle setting internal di: variables separately where needed to
|
||||
// prevent changing the type.
|
||||
if (ht == &vimvarht)
|
||||
{
|
||||
if (di->di_tv.v_type == VAR_STRING)
|
||||
{
|
||||
VIM_CLEAR(di->di_tv.vval.v_string);
|
||||
if (copy || tv->v_type != VAR_STRING)
|
||||
{
|
||||
char_u *val = tv_get_string(tv);
|
||||
|
||||
// Careful: when assigning to v:errmsg and
|
||||
// tv_get_string() causes an error message the variable
|
||||
// will already be set.
|
||||
if (di->di_tv.vval.v_string == NULL)
|
||||
di->di_tv.vval.v_string = vim_strsave(val);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Take over the string to avoid an extra alloc/free.
|
||||
di->di_tv.vval.v_string = tv->vval.v_string;
|
||||
tv->vval.v_string = NULL;
|
||||
}
|
||||
goto failed;
|
||||
}
|
||||
else if (di->di_tv.v_type == VAR_NUMBER)
|
||||
{
|
||||
di->di_tv.vval.v_number = tv_get_number(tv);
|
||||
if (STRCMP(varname, "searchforward") == 0)
|
||||
set_search_direction(di->di_tv.vval.v_number
|
||||
? '/' : '?');
|
||||
#ifdef FEAT_SEARCH_EXTRA
|
||||
else if (STRCMP(varname, "hlsearch") == 0)
|
||||
{
|
||||
no_hlsearch = !di->di_tv.vval.v_number;
|
||||
redraw_all_later(SOME_VALID);
|
||||
}
|
||||
#endif
|
||||
goto failed;
|
||||
}
|
||||
else if (di->di_tv.v_type != tv->v_type)
|
||||
{
|
||||
semsg(_(e_setting_str_to_value_with_wrong_type), name);
|
||||
goto failed;
|
||||
}
|
||||
}
|
||||
|
||||
clear_tv(&di->di_tv);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Item not found, check if a function already exists.
|
||||
if (is_script_local && (flags & (ASSIGN_NO_DECL | ASSIGN_DECL)) == 0
|
||||
&& lookup_scriptitem(name, STRLEN(name), FALSE, NULL) == OK)
|
||||
if (is_script_local && vim9script
|
||||
&& (flags & (ASSIGN_NO_DECL | ASSIGN_DECL)) == 0)
|
||||
{
|
||||
semsg(_(e_redefining_script_item_str), name);
|
||||
goto failed;
|
||||
}
|
||||
|
||||
// add a new variable
|
||||
if (var_in_vim9script && (flags & ASSIGN_NO_DECL))
|
||||
if (var_in_vim9script && (flags & ASSIGN_FOR_LOOP) == 0)
|
||||
{
|
||||
semsg(_(e_unknown_variable_str), name);
|
||||
goto failed;
|
||||
where_T where = WHERE_INIT;
|
||||
svar_T *sv = find_typval_in_script(&di->di_tv, sid);
|
||||
|
||||
if (sv != NULL)
|
||||
{
|
||||
// check the type and adjust to bool if needed
|
||||
where.wt_index = var_idx;
|
||||
where.wt_variable = TRUE;
|
||||
if (check_script_var_type(sv, tv, name, where) == FAIL)
|
||||
goto failed;
|
||||
if (type == NULL)
|
||||
type = sv->sv_type;
|
||||
}
|
||||
}
|
||||
|
||||
// Can't add "v:" or "a:" variable.
|
||||
if (ht == &vimvarht || ht == get_funccal_args_ht())
|
||||
{
|
||||
semsg(_(e_illegal_variable_name_str), name);
|
||||
if ((flags & ASSIGN_FOR_LOOP) == 0
|
||||
&& var_check_permission(di, name) == FAIL)
|
||||
goto failed;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// can only redefine once
|
||||
di->di_flags &= ~DI_FLAGS_RELOAD;
|
||||
|
||||
// Make sure the variable name is valid. In Vim9 script an
|
||||
// autoload variable must be prefixed with "g:" unless in an
|
||||
// autoload script.
|
||||
if (!valid_varname(varname, -1, !vim9script
|
||||
|| STRNCMP(name, "g:", 2) == 0 || var_in_autoload))
|
||||
goto failed;
|
||||
|
||||
di = alloc(sizeof(dictitem_T) + STRLEN(varname));
|
||||
if (di == NULL)
|
||||
goto failed;
|
||||
STRCPY(di->di_key, varname);
|
||||
if (hash_add(ht, DI2HIKEY(di)) == FAIL)
|
||||
{
|
||||
vim_free(di);
|
||||
goto failed;
|
||||
}
|
||||
di->di_flags = DI_FLAGS_ALLOC;
|
||||
if (flags & (ASSIGN_CONST | ASSIGN_FINAL))
|
||||
di->di_flags |= DI_FLAGS_LOCK;
|
||||
|
||||
// A Vim9 script-local variable is also added to sn_all_vars and
|
||||
// sn_var_vals. It may set "type" from "tv".
|
||||
// A Vim9 script-local variable is also present in sn_all_vars
|
||||
// and sn_var_vals. It may set "type" from "tv".
|
||||
if (var_in_vim9script || var_in_autoload)
|
||||
update_vim9_script_var(TRUE, di,
|
||||
update_vim9_script_var(FALSE, di,
|
||||
var_in_autoload ? name : di->di_key, flags,
|
||||
tv, &type, (flags & ASSIGN_NO_MEMBER_TYPE) == 0);
|
||||
tv, &type, (flags & ASSIGN_NO_MEMBER_TYPE) == 0);
|
||||
}
|
||||
|
||||
dest_tv = &di->di_tv;
|
||||
// existing variable, need to clear the value
|
||||
|
||||
// Handle setting internal di: variables separately where needed to
|
||||
// prevent changing the type.
|
||||
if (ht == &vimvarht)
|
||||
{
|
||||
if (di->di_tv.v_type == VAR_STRING)
|
||||
{
|
||||
VIM_CLEAR(di->di_tv.vval.v_string);
|
||||
if (copy || tv->v_type != VAR_STRING)
|
||||
{
|
||||
char_u *val = tv_get_string(tv);
|
||||
|
||||
// Careful: when assigning to v:errmsg and
|
||||
// tv_get_string() causes an error message the variable
|
||||
// will already be set.
|
||||
if (di->di_tv.vval.v_string == NULL)
|
||||
di->di_tv.vval.v_string = vim_strsave(val);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Take over the string to avoid an extra alloc/free.
|
||||
di->di_tv.vval.v_string = tv->vval.v_string;
|
||||
tv->vval.v_string = NULL;
|
||||
}
|
||||
goto failed;
|
||||
}
|
||||
else if (di->di_tv.v_type == VAR_NUMBER)
|
||||
{
|
||||
di->di_tv.vval.v_number = tv_get_number(tv);
|
||||
if (STRCMP(varname, "searchforward") == 0)
|
||||
set_search_direction(di->di_tv.vval.v_number
|
||||
? '/' : '?');
|
||||
#ifdef FEAT_SEARCH_EXTRA
|
||||
else if (STRCMP(varname, "hlsearch") == 0)
|
||||
{
|
||||
no_hlsearch = !di->di_tv.vval.v_number;
|
||||
redraw_all_later(SOME_VALID);
|
||||
}
|
||||
#endif
|
||||
goto failed;
|
||||
}
|
||||
else if (di->di_tv.v_type != tv->v_type)
|
||||
{
|
||||
semsg(_(e_setting_str_to_value_with_wrong_type), name);
|
||||
goto failed;
|
||||
}
|
||||
}
|
||||
|
||||
clear_tv(&di->di_tv);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Item not found, check if a function already exists.
|
||||
if (is_script_local && (flags & (ASSIGN_NO_DECL | ASSIGN_DECL)) == 0
|
||||
&& lookup_scriptitem(name, STRLEN(name), FALSE, NULL) == OK)
|
||||
{
|
||||
semsg(_(e_redefining_script_item_str), name);
|
||||
goto failed;
|
||||
}
|
||||
|
||||
// add a new variable
|
||||
if (var_in_vim9script && (flags & ASSIGN_NO_DECL))
|
||||
{
|
||||
semsg(_(e_unknown_variable_str), name);
|
||||
goto failed;
|
||||
}
|
||||
|
||||
// Can't add "v:" or "a:" variable.
|
||||
if (ht == &vimvarht || ht == get_funccal_args_ht())
|
||||
{
|
||||
semsg(_(e_illegal_variable_name_str), name);
|
||||
goto failed;
|
||||
}
|
||||
|
||||
// Make sure the variable name is valid. In Vim9 script an
|
||||
// autoload variable must be prefixed with "g:" unless in an
|
||||
// autoload script.
|
||||
if (!valid_varname(varname, -1, !vim9script
|
||||
|| STRNCMP(name, "g:", 2) == 0 || var_in_autoload))
|
||||
goto failed;
|
||||
|
||||
di = alloc(sizeof(dictitem_T) + STRLEN(varname));
|
||||
if (di == NULL)
|
||||
goto failed;
|
||||
STRCPY(di->di_key, varname);
|
||||
if (hash_add(ht, DI2HIKEY(di)) == FAIL)
|
||||
{
|
||||
vim_free(di);
|
||||
goto failed;
|
||||
}
|
||||
di->di_flags = DI_FLAGS_ALLOC;
|
||||
if (flags & (ASSIGN_CONST | ASSIGN_FINAL))
|
||||
di->di_flags |= DI_FLAGS_LOCK;
|
||||
|
||||
// A Vim9 script-local variable is also added to sn_all_vars and
|
||||
// sn_var_vals. It may set "type" from "tv".
|
||||
if (var_in_vim9script || var_in_autoload)
|
||||
update_vim9_script_var(TRUE, di,
|
||||
var_in_autoload ? name : di->di_key, flags,
|
||||
tv, &type, (flags & ASSIGN_NO_MEMBER_TYPE) == 0);
|
||||
}
|
||||
|
||||
dest_tv = &di->di_tv;
|
||||
if (copy || tv->v_type == VAR_NUMBER || tv->v_type == VAR_FLOAT)
|
||||
copy_tv(tv, dest_tv);
|
||||
else
|
||||
|
||||
+4
-1
@@ -3463,7 +3463,8 @@ find_ex_command(
|
||||
char_u *pskip = skip_option_env_lead(eap->cmd);
|
||||
|
||||
if (vim_strchr((char_u *)"{('[\"@&$", *p) != NULL
|
||||
|| ((p = to_name_const_end(pskip)) > eap->cmd && *p != NUL))
|
||||
|| ((p = to_name_const_end(pskip)) > eap->cmd && *p != NUL)
|
||||
|| (p[0] == '0' && p[1] == 'z'))
|
||||
{
|
||||
int oplen;
|
||||
int heredoc;
|
||||
@@ -3509,6 +3510,8 @@ find_ex_command(
|
||||
// "'string'->func()" is an expression.
|
||||
|| *eap->cmd == '\''
|
||||
// '"string"->func()' is an expression.
|
||||
|| (eap->cmd[0] == '0' && eap->cmd[1] == 'z')
|
||||
// '"string"->func()' is an expression.
|
||||
|| *eap->cmd == '"'
|
||||
// "g:varname" is an expression.
|
||||
|| eap->cmd[1] == ':'
|
||||
|
||||
+7
-2
@@ -759,8 +759,13 @@ readfile(
|
||||
// Also write a message in the GUI window, if there is one.
|
||||
if (gui.in_use && !gui.dying && !gui.starting)
|
||||
{
|
||||
p = (char_u *)_("Reading from stdin...");
|
||||
gui_write(p, (int)STRLEN(p));
|
||||
// make a copy, gui_write() may try to change it
|
||||
p = vim_strsave((char_u *)_("Reading from stdin..."));
|
||||
if (p != NULL)
|
||||
{
|
||||
gui_write(p, (int)STRLEN(p));
|
||||
vim_free(p);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
+1
-1
@@ -2103,7 +2103,7 @@ getchar_common(typval_T *argvars, typval_T *rettv)
|
||||
set_vim_var_nr(VV_MOUSE_COL, 0);
|
||||
|
||||
rettv->vval.v_number = n;
|
||||
if (IS_SPECIAL(n) || mod_mask != 0)
|
||||
if (n != 0 && (IS_SPECIAL(n) || mod_mask != 0))
|
||||
{
|
||||
char_u temp[10]; // modifier: 3, mbyte-char: 6, NUL: 1
|
||||
int i = 0;
|
||||
|
||||
@@ -1338,6 +1338,8 @@ change_indent(
|
||||
new_cursor_col += (*mb_ptr2len)(ptr + new_cursor_col);
|
||||
else
|
||||
++new_cursor_col;
|
||||
if (ptr[new_cursor_col] == NUL)
|
||||
break;
|
||||
vcol += lbr_chartabsize(ptr, ptr + new_cursor_col, (colnr_T)vcol);
|
||||
}
|
||||
vcol = last_vcol;
|
||||
|
||||
@@ -10038,5 +10038,3 @@ msgstr "Name der dynamischen MzScheme Bibliothek"
|
||||
|
||||
msgid "name of the MzScheme GC dynamic library"
|
||||
msgstr "Name der dynamischen MzScheme GC Bibliothek"
|
||||
|
||||
|
||||
|
||||
@@ -557,7 +557,6 @@ msgid "E536: comma required"
|
||||
msgstr "E536: Comma required"
|
||||
|
||||
|
||||
|
||||
msgid "E542: unbalanced groups"
|
||||
msgstr "E542: Unbalanced groups"
|
||||
|
||||
@@ -761,5 +760,3 @@ msgstr "E749: Empty buffer"
|
||||
|
||||
msgid "can't delete OutputObject attributes"
|
||||
msgstr "cannot delete OutputObject attributes"
|
||||
|
||||
|
||||
|
||||
@@ -6345,5 +6345,3 @@ msgstr "La búsqueda ha llegado al PRINCIPIO, continuando desde el FINAL"
|
||||
|
||||
msgid "search hit BOTTOM, continuing at TOP"
|
||||
msgstr "La búsqueda ha llegado al FINAL, continuando desde el PRINCIPIO"
|
||||
|
||||
|
||||
|
||||
@@ -9883,5 +9883,3 @@ msgstr "MzSchemen dynaamisen kirjaston nimi"
|
||||
|
||||
msgid "name of the MzScheme GC dynamic library"
|
||||
msgstr "MzSchemen GC:n dynaamisen kirjaston nimi"
|
||||
|
||||
|
||||
|
||||
@@ -9278,4 +9278,3 @@ msgstr "nome della libreria dinamica MzScheme"
|
||||
|
||||
msgid "name of the MzScheme GC dynamic library"
|
||||
msgstr "nome della libreria dinamica MzScheme GC"
|
||||
|
||||
|
||||
+74
-56
@@ -14,8 +14,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Vim 8.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-16 10:46+0900\n"
|
||||
"PO-Revision-Date: 2022-01-16 12:43+0900\n"
|
||||
"POT-Creation-Date: 2022-02-18 13:52+0900\n"
|
||||
"PO-Revision-Date: 2022-02-20 01:53+0900\n"
|
||||
"Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
|
||||
"Language-Team: Japanese <https://github.com/vim-jp/lang-ja>\n"
|
||||
"Language: ja\n"
|
||||
@@ -780,10 +780,12 @@ msgstr "
|
||||
|
||||
msgid ""
|
||||
"&OK\n"
|
||||
"&Load File"
|
||||
"&Load File\n"
|
||||
"Load File &and Options"
|
||||
msgstr ""
|
||||
"&OK\n"
|
||||
"ファイル読込(&L)"
|
||||
"ファイル読込(&L)\n"
|
||||
"ファイルとオプションを読込(&A)"
|
||||
|
||||
msgid "<empty>"
|
||||
msgstr "<空>"
|
||||
@@ -3082,36 +3084,6 @@ msgstr "
|
||||
msgid "'redrawtime' exceeded, syntax highlighting disabled"
|
||||
msgstr "'redrawtime' を超過したため、構文ハイライトは無効化されます"
|
||||
|
||||
msgid "syntax conceal on"
|
||||
msgstr "構文の conceal は現在 on です"
|
||||
|
||||
msgid "syntax conceal off"
|
||||
msgstr "構文の conceal は現在 off です"
|
||||
|
||||
msgid "syntax case ignore"
|
||||
msgstr "構文の大文字小文字は現在 ignore です"
|
||||
|
||||
msgid "syntax case match"
|
||||
msgstr "構文の大文字小文字は現在 match です"
|
||||
|
||||
msgid "syntax foldlevel start"
|
||||
msgstr "構文の foldlevel は現在 start です"
|
||||
|
||||
msgid "syntax foldlevel minimum"
|
||||
msgstr "構文の foldlevel は現在 minimum です"
|
||||
|
||||
msgid "syntax spell toplevel"
|
||||
msgstr "構文の spell は現在 toplevel です"
|
||||
|
||||
msgid "syntax spell notoplevel"
|
||||
msgstr "構文の spell は現在 notoplevel です"
|
||||
|
||||
msgid "syntax spell default"
|
||||
msgstr "構文の spell は現在 default です"
|
||||
|
||||
msgid "syntax iskeyword "
|
||||
msgstr "構文用 iskeyword "
|
||||
|
||||
msgid "syntax iskeyword not set"
|
||||
msgstr "構文用 iskeyword はセットされていません"
|
||||
|
||||
@@ -3248,7 +3220,7 @@ msgstr "
|
||||
msgid "(Invalid)"
|
||||
msgstr "(無効)"
|
||||
|
||||
# no-c-format
|
||||
#, no-c-format
|
||||
msgid "%a %b %d %H:%M:%S %Y"
|
||||
msgstr "%Y/%m/%d (%a) %H:%M:%S"
|
||||
|
||||
@@ -3824,11 +3796,6 @@ msgstr ""
|
||||
"このコマンドは無効です、ごめんなさい: Perlライブラリをロードできませんでし"
|
||||
"た。"
|
||||
|
||||
msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
|
||||
msgstr ""
|
||||
"E299: サンドボックスでは Safe モジュールを使用しないPerlスクリプトは禁じられ"
|
||||
"ています"
|
||||
|
||||
msgid "Edit with Vim using &tabpages"
|
||||
msgstr "Vimでタブページを使って編集する (&T)"
|
||||
|
||||
@@ -4844,6 +4811,11 @@ msgstr "E298:
|
||||
msgid "E298: Didn't get block nr 2?"
|
||||
msgstr "E298: ブロック 2 を取得できません?"
|
||||
|
||||
msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
|
||||
msgstr ""
|
||||
"E299: サンドボックスでは Safe モジュールを使用しないPerlスクリプトは禁じられ"
|
||||
"ています"
|
||||
|
||||
msgid "E300: Swap file already exists (symlink attack?)"
|
||||
msgstr "E300: スワップファイルが既に存在します (symlinkによる攻撃?)"
|
||||
|
||||
@@ -5426,6 +5398,10 @@ msgstr "E463:
|
||||
msgid "E464: Ambiguous use of user-defined command"
|
||||
msgstr "E464: ユーザー定義コマンドのあいまいな使用です"
|
||||
|
||||
#, c-format
|
||||
msgid "E464: Ambiguous use of user-defined command: %s"
|
||||
msgstr "E464: ユーザー定義コマンドのあいまいな使用です: %s"
|
||||
|
||||
msgid "E465: :winsize requires two number arguments"
|
||||
msgstr "E465: :winsize には2つの数値の引数が必要です"
|
||||
|
||||
@@ -6506,6 +6482,7 @@ msgstr "E802: ̵
|
||||
msgid "E803: ID not found: %d"
|
||||
msgstr "E803: ID はありません: %d"
|
||||
|
||||
#, no-c-format
|
||||
msgid "E804: Cannot use '%' with Float"
|
||||
msgstr "E804: '%' を浮動小数点数と組み合わせては使えません"
|
||||
|
||||
@@ -6704,6 +6681,7 @@ msgstr "E862:
|
||||
msgid "E863: Not allowed for a terminal in a popup window"
|
||||
msgstr "E863: 端末はポップアップウィンドウでは許されません"
|
||||
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
"E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be "
|
||||
"used"
|
||||
@@ -7027,6 +7005,7 @@ msgstr "E949:
|
||||
msgid "E950: Cannot convert between %s and %s"
|
||||
msgstr "E950: %s と %s の間で変換できません"
|
||||
|
||||
#, no-c-format
|
||||
msgid "E951: \\% value too large"
|
||||
msgstr "E951: \\% 値が大き過ぎます"
|
||||
|
||||
@@ -7333,6 +7312,7 @@ msgstr "E1033:
|
||||
msgid "E1034: Cannot use reserved name %s"
|
||||
msgstr "E1034: 予約名 %s は使用できません"
|
||||
|
||||
#, no-c-format
|
||||
msgid "E1035: % requires number arguments"
|
||||
msgstr "E1035: % には数値の引数が必要です"
|
||||
|
||||
@@ -7474,10 +7454,16 @@ msgstr "E1076:
|
||||
msgid "E1077: Missing argument type for %s"
|
||||
msgstr "E1077: %s の引数の型がありません"
|
||||
|
||||
msgid "E1080: Invalid assignment"
|
||||
msgstr "E1080: 無効な代入です"
|
||||
|
||||
#, c-format
|
||||
msgid "E1081: Cannot unlet %s"
|
||||
msgstr "E1081: %s を unlet できません"
|
||||
|
||||
msgid "E1082: Command modifier without command"
|
||||
msgstr "E1082: コマンドなしのコマンド修飾子です"
|
||||
|
||||
msgid "E1083: Missing backtick"
|
||||
msgstr "E1083: バッククォートがありません"
|
||||
|
||||
@@ -7495,6 +7481,9 @@ msgstr "E1086:
|
||||
msgid "E1087: Cannot use an index when declaring a variable"
|
||||
msgstr "E1087: 変数を宣言する際にインデックスは使用できません"
|
||||
|
||||
msgid "E1088: Script cannot import itself"
|
||||
msgstr "E1088: スクリプト自身をインポートできません"
|
||||
|
||||
#, c-format
|
||||
msgid "E1089: Unknown variable: %s"
|
||||
msgstr "E1089: 不明な変数: %s"
|
||||
@@ -7507,6 +7496,9 @@ msgstr "E1090:
|
||||
msgid "E1091: Function is not compiled: %s"
|
||||
msgstr "E1091: 関数はコンパイルされていません: %s"
|
||||
|
||||
msgid "E1092: Cannot nest :redir"
|
||||
msgstr "E1092: :redir は入れ子にできません"
|
||||
|
||||
#, c-format
|
||||
msgid "E1093: Expected %d items but got %d"
|
||||
msgstr "E1093: %d 個の要素が期待されていますが %d 個でした"
|
||||
@@ -7599,11 +7591,11 @@ msgstr "E1116: \"assert_fails()\"
|
||||
msgid "E1117: Cannot use ! with nested :def"
|
||||
msgstr "E1117: ! を入れ子になった :def と組み合わせては使えません"
|
||||
|
||||
msgid "E1118: Cannot change list"
|
||||
msgstr "E1118: リストを変更できません"
|
||||
msgid "E1118: Cannot change locked list"
|
||||
msgstr "E1118: ロックされたリストを変更できません"
|
||||
|
||||
msgid "E1119: Cannot change list item"
|
||||
msgstr "E1119: リストの要素を変更できません"
|
||||
msgid "E1119: Cannot change locked list item"
|
||||
msgstr "E1119: ロックされたリストの要素を変更できません"
|
||||
|
||||
msgid "E1120: Cannot change dict"
|
||||
msgstr "E1120: 辞書を変更できません"
|
||||
@@ -7677,6 +7669,11 @@ msgstr "E1140: :for
|
||||
msgid "E1141: Indexable type required"
|
||||
msgstr "E1141: インデックス可能な型が必要です"
|
||||
|
||||
msgid "E1142: Calling test_garbagecollect_now() while v:testing is not set"
|
||||
msgstr ""
|
||||
"E1142: v:testing が設定されていない状態で test_garbagecollect_now() を呼んで"
|
||||
"います"
|
||||
|
||||
#, c-format
|
||||
msgid "E1143: Empty expression: \"%s\""
|
||||
msgstr "E1143: 空の式です: \"%s\""
|
||||
@@ -7729,8 +7726,10 @@ msgstr "E1156:
|
||||
msgid "E1157: Missing return type"
|
||||
msgstr "E1157: 戻り値の型がありません"
|
||||
|
||||
msgid "E1158: Cannot use flatten() in Vim9 script"
|
||||
msgstr "E1158: Vim9 スクリプトでは flatten() は使用できません"
|
||||
msgid "E1158: Cannot use flatten() in Vim9 script, use flattennew()"
|
||||
msgstr ""
|
||||
"E1158: Vim9 スクリプトでは flatten() は使用できません、flattennew() を使って"
|
||||
"ください"
|
||||
|
||||
msgid "E1159: Cannot split a window when closing the buffer"
|
||||
msgstr "E1159: バッファを閉じている間にウィンドウを分割することはできません"
|
||||
@@ -7772,8 +7771,9 @@ msgstr "E1167:
|
||||
msgid "E1168: Argument already declared in the script: %s"
|
||||
msgstr "E1168: 引数は既にスクリプト内で宣言されています: %s"
|
||||
|
||||
msgid "E1169: 'import * as {name}' not supported here"
|
||||
msgstr "E1169: 'import * as {name}' はここではサポートされていません"
|
||||
#, c-format
|
||||
msgid "E1169: Expression too recursive: %s"
|
||||
msgstr "E1169: 式の再帰が深すぎます: %s"
|
||||
|
||||
msgid "E1170: Cannot use #{ to start a comment"
|
||||
msgstr "E1170: コメントの開始に #{ は使用できません"
|
||||
@@ -7821,9 +7821,6 @@ msgstr "E1180:
|
||||
msgid "E1181: Cannot use an underscore here"
|
||||
msgstr "E1181: ここではアンダースコアは使えません"
|
||||
|
||||
msgid "E1182: Blob required"
|
||||
msgstr "E1182: Blob型が必要です"
|
||||
|
||||
#, c-format
|
||||
msgid "E1183: Cannot use a range with an assignment operator: %s"
|
||||
msgstr "E1183: 代入演算子で範囲は使用できません: %s"
|
||||
@@ -7831,9 +7828,6 @@ msgstr "E1183:
|
||||
msgid "E1184: Blob not set"
|
||||
msgstr "E1184: Blob は設定されていません"
|
||||
|
||||
msgid "E1185: Cannot nest :redir"
|
||||
msgstr "E1185: :redir は入れ子にできません"
|
||||
|
||||
msgid "E1185: Missing :redir END"
|
||||
msgstr "E1185: :redir END がありません"
|
||||
|
||||
@@ -8123,14 +8117,38 @@ msgstr "E1261: \"as\"
|
||||
msgid "E1262: Cannot import the same script twice: %s"
|
||||
msgstr "E1262: 同じスクリプトを2回インポートすることはできません: %s"
|
||||
|
||||
msgid "E1263: Using autoload in a script not under an autoload directory"
|
||||
msgstr "E1263: autoloadディレクトリに無いスクリプトでautoloadを使っています"
|
||||
msgid "E1263: cannot use name with # in Vim9 script, use export instead"
|
||||
msgstr ""
|
||||
"E1263: Vim9 スクリプトでは # 入りの名前は使用できません、代わりに export を使"
|
||||
"用してください"
|
||||
|
||||
#, c-format
|
||||
msgid "E1264: Autoload import cannot use absolute or relative path: %s"
|
||||
msgstr ""
|
||||
"E1264: autoloadインポートで絶対または相対パスを使うことはできません: %s"
|
||||
|
||||
msgid "E1265: Cannot use a partial here"
|
||||
msgstr "E1265: ここでは部分適用は使えません"
|
||||
|
||||
msgid ""
|
||||
"E1266: Critical error in python3 initialization, check your python3 "
|
||||
"installation"
|
||||
msgstr ""
|
||||
"E1266: python3初期化中に重大なエラーが起きました。python3のインストール状況を"
|
||||
"確認してください"
|
||||
|
||||
#, c-format
|
||||
msgid "E1267: Function name must start with a capital: %s"
|
||||
msgstr "E1267: 関数名は大文字で始まらなければなりません: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E1268: Cannot use s: in Vim9 script: %s"
|
||||
msgstr "E1268: Vim9 スクリプトでは :s は使用できません: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E1269: Cannot create a Vim9 script variable in a function: %s"
|
||||
msgstr "E1269: 関数内で Vim9 スクリプト変数は作成できません: %s"
|
||||
|
||||
msgid "--No lines in buffer--"
|
||||
msgstr "--バッファに行がありません--"
|
||||
|
||||
|
||||
+74
-56
@@ -14,8 +14,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Vim 8.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-16 10:46+0900\n"
|
||||
"PO-Revision-Date: 2022-01-16 12:43+0900\n"
|
||||
"POT-Creation-Date: 2022-02-18 13:52+0900\n"
|
||||
"PO-Revision-Date: 2022-02-20 01:53+0900\n"
|
||||
"Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
|
||||
"Language-Team: Japanese <https://github.com/vim-jp/lang-ja>\n"
|
||||
"Language: ja\n"
|
||||
@@ -780,10 +780,12 @@ msgstr "警告"
|
||||
|
||||
msgid ""
|
||||
"&OK\n"
|
||||
"&Load File"
|
||||
"&Load File\n"
|
||||
"Load File &and Options"
|
||||
msgstr ""
|
||||
"&OK\n"
|
||||
"ファイル読込(&L)"
|
||||
"ファイル読込(&L)\n"
|
||||
"ファイルとオプションを読込(&A)"
|
||||
|
||||
msgid "<empty>"
|
||||
msgstr "<空>"
|
||||
@@ -3082,36 +3084,6 @@ msgstr "このバッファに定義された構文要素はありません"
|
||||
msgid "'redrawtime' exceeded, syntax highlighting disabled"
|
||||
msgstr "'redrawtime' を超過したため、構文ハイライトは無効化されます"
|
||||
|
||||
msgid "syntax conceal on"
|
||||
msgstr "構文の conceal は現在 on です"
|
||||
|
||||
msgid "syntax conceal off"
|
||||
msgstr "構文の conceal は現在 off です"
|
||||
|
||||
msgid "syntax case ignore"
|
||||
msgstr "構文の大文字小文字は現在 ignore です"
|
||||
|
||||
msgid "syntax case match"
|
||||
msgstr "構文の大文字小文字は現在 match です"
|
||||
|
||||
msgid "syntax foldlevel start"
|
||||
msgstr "構文の foldlevel は現在 start です"
|
||||
|
||||
msgid "syntax foldlevel minimum"
|
||||
msgstr "構文の foldlevel は現在 minimum です"
|
||||
|
||||
msgid "syntax spell toplevel"
|
||||
msgstr "構文の spell は現在 toplevel です"
|
||||
|
||||
msgid "syntax spell notoplevel"
|
||||
msgstr "構文の spell は現在 notoplevel です"
|
||||
|
||||
msgid "syntax spell default"
|
||||
msgstr "構文の spell は現在 default です"
|
||||
|
||||
msgid "syntax iskeyword "
|
||||
msgstr "構文用 iskeyword "
|
||||
|
||||
msgid "syntax iskeyword not set"
|
||||
msgstr "構文用 iskeyword はセットされていません"
|
||||
|
||||
@@ -3248,7 +3220,7 @@ msgstr "終了"
|
||||
msgid "(Invalid)"
|
||||
msgstr "(無効)"
|
||||
|
||||
# no-c-format
|
||||
#, no-c-format
|
||||
msgid "%a %b %d %H:%M:%S %Y"
|
||||
msgstr "%Y/%m/%d (%a) %H:%M:%S"
|
||||
|
||||
@@ -3824,11 +3796,6 @@ msgstr ""
|
||||
"このコマンドは無効です、ごめんなさい: Perlライブラリをロードできませんでし"
|
||||
"た。"
|
||||
|
||||
msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
|
||||
msgstr ""
|
||||
"E299: サンドボックスでは Safe モジュールを使用しないPerlスクリプトは禁じられ"
|
||||
"ています"
|
||||
|
||||
msgid "Edit with Vim using &tabpages"
|
||||
msgstr "Vimでタブページを使って編集する (&T)"
|
||||
|
||||
@@ -4844,6 +4811,11 @@ msgstr "E298: ブロック 1 を取得できません?"
|
||||
msgid "E298: Didn't get block nr 2?"
|
||||
msgstr "E298: ブロック 2 を取得できません?"
|
||||
|
||||
msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
|
||||
msgstr ""
|
||||
"E299: サンドボックスでは Safe モジュールを使用しないPerlスクリプトは禁じられ"
|
||||
"ています"
|
||||
|
||||
msgid "E300: Swap file already exists (symlink attack?)"
|
||||
msgstr "E300: スワップファイルが既に存在します (symlinkによる攻撃?)"
|
||||
|
||||
@@ -5426,6 +5398,10 @@ msgstr "E463: 領域が保護されているので、変更できません"
|
||||
msgid "E464: Ambiguous use of user-defined command"
|
||||
msgstr "E464: ユーザー定義コマンドのあいまいな使用です"
|
||||
|
||||
#, c-format
|
||||
msgid "E464: Ambiguous use of user-defined command: %s"
|
||||
msgstr "E464: ユーザー定義コマンドのあいまいな使用です: %s"
|
||||
|
||||
msgid "E465: :winsize requires two number arguments"
|
||||
msgstr "E465: :winsize には2つの数値の引数が必要です"
|
||||
|
||||
@@ -6506,6 +6482,7 @@ msgstr "E802: 無効な ID: %d (1 以上でなければなりません)"
|
||||
msgid "E803: ID not found: %d"
|
||||
msgstr "E803: ID はありません: %d"
|
||||
|
||||
#, no-c-format
|
||||
msgid "E804: Cannot use '%' with Float"
|
||||
msgstr "E804: '%' を浮動小数点数と組み合わせては使えません"
|
||||
|
||||
@@ -6704,6 +6681,7 @@ msgstr "E862: ここでは g: は使えません"
|
||||
msgid "E863: Not allowed for a terminal in a popup window"
|
||||
msgstr "E863: 端末はポップアップウィンドウでは許されません"
|
||||
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
"E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be "
|
||||
"used"
|
||||
@@ -7027,6 +7005,7 @@ msgstr "E949: 書込み中にファイルが変更されました"
|
||||
msgid "E950: Cannot convert between %s and %s"
|
||||
msgstr "E950: %s と %s の間で変換できません"
|
||||
|
||||
#, no-c-format
|
||||
msgid "E951: \\% value too large"
|
||||
msgstr "E951: \\% 値が大き過ぎます"
|
||||
|
||||
@@ -7333,6 +7312,7 @@ msgstr "E1033: 全てをcatchした後のcatchには到達しません"
|
||||
msgid "E1034: Cannot use reserved name %s"
|
||||
msgstr "E1034: 予約名 %s は使用できません"
|
||||
|
||||
#, no-c-format
|
||||
msgid "E1035: % requires number arguments"
|
||||
msgstr "E1035: % には数値の引数が必要です"
|
||||
|
||||
@@ -7474,10 +7454,16 @@ msgstr "E1076: このVimは浮動小数点数サポート付きでコンパイ
|
||||
msgid "E1077: Missing argument type for %s"
|
||||
msgstr "E1077: %s の引数の型がありません"
|
||||
|
||||
msgid "E1080: Invalid assignment"
|
||||
msgstr "E1080: 無効な代入です"
|
||||
|
||||
#, c-format
|
||||
msgid "E1081: Cannot unlet %s"
|
||||
msgstr "E1081: %s を unlet できません"
|
||||
|
||||
msgid "E1082: Command modifier without command"
|
||||
msgstr "E1082: コマンドなしのコマンド修飾子です"
|
||||
|
||||
msgid "E1083: Missing backtick"
|
||||
msgstr "E1083: バッククォートがありません"
|
||||
|
||||
@@ -7495,6 +7481,9 @@ msgstr "E1086: 関数参照が不正です"
|
||||
msgid "E1087: Cannot use an index when declaring a variable"
|
||||
msgstr "E1087: 変数を宣言する際にインデックスは使用できません"
|
||||
|
||||
msgid "E1088: Script cannot import itself"
|
||||
msgstr "E1088: スクリプト自身をインポートできません"
|
||||
|
||||
#, c-format
|
||||
msgid "E1089: Unknown variable: %s"
|
||||
msgstr "E1089: 不明な変数: %s"
|
||||
@@ -7507,6 +7496,9 @@ msgstr "E1090: 引数 %s に対して代入できません"
|
||||
msgid "E1091: Function is not compiled: %s"
|
||||
msgstr "E1091: 関数はコンパイルされていません: %s"
|
||||
|
||||
msgid "E1092: Cannot nest :redir"
|
||||
msgstr "E1092: :redir は入れ子にできません"
|
||||
|
||||
#, c-format
|
||||
msgid "E1093: Expected %d items but got %d"
|
||||
msgstr "E1093: %d 個の要素が期待されていますが %d 個でした"
|
||||
@@ -7599,11 +7591,11 @@ msgstr "E1116: \"assert_fails()\" の第5引数は文字列でなければなり
|
||||
msgid "E1117: Cannot use ! with nested :def"
|
||||
msgstr "E1117: ! を入れ子になった :def と組み合わせては使えません"
|
||||
|
||||
msgid "E1118: Cannot change list"
|
||||
msgstr "E1118: リストを変更できません"
|
||||
msgid "E1118: Cannot change locked list"
|
||||
msgstr "E1118: ロックされたリストを変更できません"
|
||||
|
||||
msgid "E1119: Cannot change list item"
|
||||
msgstr "E1119: リストの要素を変更できません"
|
||||
msgid "E1119: Cannot change locked list item"
|
||||
msgstr "E1119: ロックされたリストの要素を変更できません"
|
||||
|
||||
msgid "E1120: Cannot change dict"
|
||||
msgstr "E1120: 辞書を変更できません"
|
||||
@@ -7677,6 +7669,11 @@ msgstr "E1140: :for の引数はリストのシーケンスでなければなり
|
||||
msgid "E1141: Indexable type required"
|
||||
msgstr "E1141: インデックス可能な型が必要です"
|
||||
|
||||
msgid "E1142: Calling test_garbagecollect_now() while v:testing is not set"
|
||||
msgstr ""
|
||||
"E1142: v:testing が設定されていない状態で test_garbagecollect_now() を呼んで"
|
||||
"います"
|
||||
|
||||
#, c-format
|
||||
msgid "E1143: Empty expression: \"%s\""
|
||||
msgstr "E1143: 空の式です: \"%s\""
|
||||
@@ -7729,8 +7726,10 @@ msgstr "E1156: 引数リストを再帰的に変更することはできませ
|
||||
msgid "E1157: Missing return type"
|
||||
msgstr "E1157: 戻り値の型がありません"
|
||||
|
||||
msgid "E1158: Cannot use flatten() in Vim9 script"
|
||||
msgstr "E1158: Vim9 スクリプトでは flatten() は使用できません"
|
||||
msgid "E1158: Cannot use flatten() in Vim9 script, use flattennew()"
|
||||
msgstr ""
|
||||
"E1158: Vim9 スクリプトでは flatten() は使用できません、flattennew() を使って"
|
||||
"ください"
|
||||
|
||||
msgid "E1159: Cannot split a window when closing the buffer"
|
||||
msgstr "E1159: バッファを閉じている間にウィンドウを分割することはできません"
|
||||
@@ -7772,8 +7771,9 @@ msgstr "E1167: 引数名が既存の変数を隠しています: %s"
|
||||
msgid "E1168: Argument already declared in the script: %s"
|
||||
msgstr "E1168: 引数は既にスクリプト内で宣言されています: %s"
|
||||
|
||||
msgid "E1169: 'import * as {name}' not supported here"
|
||||
msgstr "E1169: 'import * as {name}' はここではサポートされていません"
|
||||
#, c-format
|
||||
msgid "E1169: Expression too recursive: %s"
|
||||
msgstr "E1169: 式の再帰が深すぎます: %s"
|
||||
|
||||
msgid "E1170: Cannot use #{ to start a comment"
|
||||
msgstr "E1170: コメントの開始に #{ は使用できません"
|
||||
@@ -7821,9 +7821,6 @@ msgstr "E1180: 可変引数の型はリストでなければなりません: %s"
|
||||
msgid "E1181: Cannot use an underscore here"
|
||||
msgstr "E1181: ここではアンダースコアは使えません"
|
||||
|
||||
msgid "E1182: Blob required"
|
||||
msgstr "E1182: Blob型が必要です"
|
||||
|
||||
#, c-format
|
||||
msgid "E1183: Cannot use a range with an assignment operator: %s"
|
||||
msgstr "E1183: 代入演算子で範囲は使用できません: %s"
|
||||
@@ -7831,9 +7828,6 @@ msgstr "E1183: 代入演算子で範囲は使用できません: %s"
|
||||
msgid "E1184: Blob not set"
|
||||
msgstr "E1184: Blob は設定されていません"
|
||||
|
||||
msgid "E1185: Cannot nest :redir"
|
||||
msgstr "E1185: :redir は入れ子にできません"
|
||||
|
||||
msgid "E1185: Missing :redir END"
|
||||
msgstr "E1185: :redir END がありません"
|
||||
|
||||
@@ -8123,14 +8117,38 @@ msgstr "E1261: \"as\" を使わずに .vim をインポートすることはで
|
||||
msgid "E1262: Cannot import the same script twice: %s"
|
||||
msgstr "E1262: 同じスクリプトを2回インポートすることはできません: %s"
|
||||
|
||||
msgid "E1263: Using autoload in a script not under an autoload directory"
|
||||
msgstr "E1263: autoloadディレクトリに無いスクリプトでautoloadを使っています"
|
||||
msgid "E1263: cannot use name with # in Vim9 script, use export instead"
|
||||
msgstr ""
|
||||
"E1263: Vim9 スクリプトでは # 入りの名前は使用できません、代わりに export を使"
|
||||
"用してください"
|
||||
|
||||
#, c-format
|
||||
msgid "E1264: Autoload import cannot use absolute or relative path: %s"
|
||||
msgstr ""
|
||||
"E1264: autoloadインポートで絶対または相対パスを使うことはできません: %s"
|
||||
|
||||
msgid "E1265: Cannot use a partial here"
|
||||
msgstr "E1265: ここでは部分適用は使えません"
|
||||
|
||||
msgid ""
|
||||
"E1266: Critical error in python3 initialization, check your python3 "
|
||||
"installation"
|
||||
msgstr ""
|
||||
"E1266: python3初期化中に重大なエラーが起きました。python3のインストール状況を"
|
||||
"確認してください"
|
||||
|
||||
#, c-format
|
||||
msgid "E1267: Function name must start with a capital: %s"
|
||||
msgstr "E1267: 関数名は大文字で始まらなければなりません: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E1268: Cannot use s: in Vim9 script: %s"
|
||||
msgstr "E1268: Vim9 スクリプトでは :s は使用できません: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E1269: Cannot create a Vim9 script variable in a function: %s"
|
||||
msgstr "E1269: 関数内で Vim9 スクリプト変数は作成できません: %s"
|
||||
|
||||
msgid "--No lines in buffer--"
|
||||
msgstr "--バッファに行がありません--"
|
||||
|
||||
|
||||
+74
-56
@@ -14,8 +14,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Vim 8.2\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2022-01-16 10:46+0900\n"
|
||||
"PO-Revision-Date: 2022-01-16 12:43+0900\n"
|
||||
"POT-Creation-Date: 2022-02-18 13:52+0900\n"
|
||||
"PO-Revision-Date: 2022-02-20 01:53+0900\n"
|
||||
"Last-Translator: MURAOKA Taro <koron.kaoriya@gmail.com>\n"
|
||||
"Language-Team: Japanese <https://github.com/vim-jp/lang-ja>\n"
|
||||
"Language: ja\n"
|
||||
@@ -780,10 +780,12 @@ msgstr "
|
||||
|
||||
msgid ""
|
||||
"&OK\n"
|
||||
"&Load File"
|
||||
"&Load File\n"
|
||||
"Load File &and Options"
|
||||
msgstr ""
|
||||
"&OK\n"
|
||||
"ファイル読込(&L)"
|
||||
"ファイル読込(&L)\n"
|
||||
"ファイルとオプションを読込(&A)"
|
||||
|
||||
msgid "<empty>"
|
||||
msgstr "<空>"
|
||||
@@ -3082,36 +3084,6 @@ msgstr "
|
||||
msgid "'redrawtime' exceeded, syntax highlighting disabled"
|
||||
msgstr "'redrawtime' を超過したため、構\文ハイライトは無効化されます"
|
||||
|
||||
msgid "syntax conceal on"
|
||||
msgstr "構\文の conceal は現在 on です"
|
||||
|
||||
msgid "syntax conceal off"
|
||||
msgstr "構\文の conceal は現在 off です"
|
||||
|
||||
msgid "syntax case ignore"
|
||||
msgstr "構\文の大文字小文字は現在 ignore です"
|
||||
|
||||
msgid "syntax case match"
|
||||
msgstr "構\文の大文字小文字は現在 match です"
|
||||
|
||||
msgid "syntax foldlevel start"
|
||||
msgstr "構\文の foldlevel は現在 start です"
|
||||
|
||||
msgid "syntax foldlevel minimum"
|
||||
msgstr "構\文の foldlevel は現在 minimum です"
|
||||
|
||||
msgid "syntax spell toplevel"
|
||||
msgstr "構\文の spell は現在 toplevel です"
|
||||
|
||||
msgid "syntax spell notoplevel"
|
||||
msgstr "構\文の spell は現在 notoplevel です"
|
||||
|
||||
msgid "syntax spell default"
|
||||
msgstr "構\文の spell は現在 default です"
|
||||
|
||||
msgid "syntax iskeyword "
|
||||
msgstr "構\文用 iskeyword "
|
||||
|
||||
msgid "syntax iskeyword not set"
|
||||
msgstr "構\文用 iskeyword はセットされていません"
|
||||
|
||||
@@ -3248,7 +3220,7 @@ msgstr "
|
||||
msgid "(Invalid)"
|
||||
msgstr "(無効)"
|
||||
|
||||
# no-c-format
|
||||
#, no-c-format
|
||||
msgid "%a %b %d %H:%M:%S %Y"
|
||||
msgstr "%Y/%m/%d (%a) %H:%M:%S"
|
||||
|
||||
@@ -3824,11 +3796,6 @@ msgstr ""
|
||||
"このコマンドは無効です、ごめんなさい: Perlライブラリをロードできませんでし"
|
||||
"た。"
|
||||
|
||||
msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
|
||||
msgstr ""
|
||||
"E299: サンドボックスでは Safe モジュールを使用しないPerlスクリプトは禁じられ"
|
||||
"ています"
|
||||
|
||||
msgid "Edit with Vim using &tabpages"
|
||||
msgstr "Vimでタブページを使って編集する (&T)"
|
||||
|
||||
@@ -4844,6 +4811,11 @@ msgstr "E298:
|
||||
msgid "E298: Didn't get block nr 2?"
|
||||
msgstr "E298: ブロック 2 を取得できません?"
|
||||
|
||||
msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
|
||||
msgstr ""
|
||||
"E299: サンドボックスでは Safe モジュールを使用しないPerlスクリプトは禁じられ"
|
||||
"ています"
|
||||
|
||||
msgid "E300: Swap file already exists (symlink attack?)"
|
||||
msgstr "E300: スワップファイルが既に存在します (symlinkによる攻撃?)"
|
||||
|
||||
@@ -5426,6 +5398,10 @@ msgstr "E463:
|
||||
msgid "E464: Ambiguous use of user-defined command"
|
||||
msgstr "E464: ユーザー定義コマンドのあいまいな使用です"
|
||||
|
||||
#, c-format
|
||||
msgid "E464: Ambiguous use of user-defined command: %s"
|
||||
msgstr "E464: ユーザー定義コマンドのあいまいな使用です: %s"
|
||||
|
||||
msgid "E465: :winsize requires two number arguments"
|
||||
msgstr "E465: :winsize には2つの数値の引数が必要です"
|
||||
|
||||
@@ -6506,6 +6482,7 @@ msgstr "E802:
|
||||
msgid "E803: ID not found: %d"
|
||||
msgstr "E803: ID はありません: %d"
|
||||
|
||||
#, no-c-format
|
||||
msgid "E804: Cannot use '%' with Float"
|
||||
msgstr "E804: '%' を浮動小数点数と組み合わせては使えません"
|
||||
|
||||
@@ -6704,6 +6681,7 @@ msgstr "E862:
|
||||
msgid "E863: Not allowed for a terminal in a popup window"
|
||||
msgstr "E863: 端末はポップアップウィンドウでは許されません"
|
||||
|
||||
#, no-c-format
|
||||
msgid ""
|
||||
"E864: \\%#= can only be followed by 0, 1, or 2. The automatic engine will be "
|
||||
"used"
|
||||
@@ -7027,6 +7005,7 @@ msgstr "E949:
|
||||
msgid "E950: Cannot convert between %s and %s"
|
||||
msgstr "E950: %s と %s の間で変換できません"
|
||||
|
||||
#, no-c-format
|
||||
msgid "E951: \\% value too large"
|
||||
msgstr "E951: \\% 値が大き過ぎます"
|
||||
|
||||
@@ -7333,6 +7312,7 @@ msgstr "E1033:
|
||||
msgid "E1034: Cannot use reserved name %s"
|
||||
msgstr "E1034: 予\約名 %s は使用できません"
|
||||
|
||||
#, no-c-format
|
||||
msgid "E1035: % requires number arguments"
|
||||
msgstr "E1035: % には数値の引数が必要です"
|
||||
|
||||
@@ -7474,10 +7454,16 @@ msgstr "E1076:
|
||||
msgid "E1077: Missing argument type for %s"
|
||||
msgstr "E1077: %s の引数の型がありません"
|
||||
|
||||
msgid "E1080: Invalid assignment"
|
||||
msgstr "E1080: 無効な代入です"
|
||||
|
||||
#, c-format
|
||||
msgid "E1081: Cannot unlet %s"
|
||||
msgstr "E1081: %s を unlet できません"
|
||||
|
||||
msgid "E1082: Command modifier without command"
|
||||
msgstr "E1082: コマンドなしのコマンド修飾子です"
|
||||
|
||||
msgid "E1083: Missing backtick"
|
||||
msgstr "E1083: バッククォートがありません"
|
||||
|
||||
@@ -7495,6 +7481,9 @@ msgstr "E1086:
|
||||
msgid "E1087: Cannot use an index when declaring a variable"
|
||||
msgstr "E1087: 変数を宣言する際にインデックスは使用できません"
|
||||
|
||||
msgid "E1088: Script cannot import itself"
|
||||
msgstr "E1088: スクリプト自身をインポートできません"
|
||||
|
||||
#, c-format
|
||||
msgid "E1089: Unknown variable: %s"
|
||||
msgstr "E1089: 不明な変数: %s"
|
||||
@@ -7507,6 +7496,9 @@ msgstr "E1090:
|
||||
msgid "E1091: Function is not compiled: %s"
|
||||
msgstr "E1091: 関数はコンパイルされていません: %s"
|
||||
|
||||
msgid "E1092: Cannot nest :redir"
|
||||
msgstr "E1092: :redir は入れ子にできません"
|
||||
|
||||
#, c-format
|
||||
msgid "E1093: Expected %d items but got %d"
|
||||
msgstr "E1093: %d 個の要素が期待されていますが %d 個でした"
|
||||
@@ -7599,11 +7591,11 @@ msgstr "E1116: \"assert_fails()\"
|
||||
msgid "E1117: Cannot use ! with nested :def"
|
||||
msgstr "E1117: ! を入れ子になった :def と組み合わせては使えません"
|
||||
|
||||
msgid "E1118: Cannot change list"
|
||||
msgstr "E1118: リストを変更できません"
|
||||
msgid "E1118: Cannot change locked list"
|
||||
msgstr "E1118: ロックされたリストを変更できません"
|
||||
|
||||
msgid "E1119: Cannot change list item"
|
||||
msgstr "E1119: リストの要素を変更できません"
|
||||
msgid "E1119: Cannot change locked list item"
|
||||
msgstr "E1119: ロックされたリストの要素を変更できません"
|
||||
|
||||
msgid "E1120: Cannot change dict"
|
||||
msgstr "E1120: 辞書を変更できません"
|
||||
@@ -7677,6 +7669,11 @@ msgstr "E1140: :for
|
||||
msgid "E1141: Indexable type required"
|
||||
msgstr "E1141: インデックス可能\な型が必要です"
|
||||
|
||||
msgid "E1142: Calling test_garbagecollect_now() while v:testing is not set"
|
||||
msgstr ""
|
||||
"E1142: v:testing が設定されていない状態で test_garbagecollect_now() を呼んで"
|
||||
"います"
|
||||
|
||||
#, c-format
|
||||
msgid "E1143: Empty expression: \"%s\""
|
||||
msgstr "E1143: 空の式です: \"%s\""
|
||||
@@ -7729,8 +7726,10 @@ msgstr "E1156:
|
||||
msgid "E1157: Missing return type"
|
||||
msgstr "E1157: 戻り値の型がありません"
|
||||
|
||||
msgid "E1158: Cannot use flatten() in Vim9 script"
|
||||
msgstr "E1158: Vim9 スクリプトでは flatten() は使用できません"
|
||||
msgid "E1158: Cannot use flatten() in Vim9 script, use flattennew()"
|
||||
msgstr ""
|
||||
"E1158: Vim9 スクリプトでは flatten() は使用できません、flattennew() を使って"
|
||||
"ください"
|
||||
|
||||
msgid "E1159: Cannot split a window when closing the buffer"
|
||||
msgstr "E1159: バッファを閉じている間にウィンドウを分割することはできません"
|
||||
@@ -7772,8 +7771,9 @@ msgstr "E1167:
|
||||
msgid "E1168: Argument already declared in the script: %s"
|
||||
msgstr "E1168: 引数は既にスクリプト内で宣言されています: %s"
|
||||
|
||||
msgid "E1169: 'import * as {name}' not supported here"
|
||||
msgstr "E1169: 'import * as {name}' はここではサポートされていません"
|
||||
#, c-format
|
||||
msgid "E1169: Expression too recursive: %s"
|
||||
msgstr "E1169: 式の再帰が深すぎます: %s"
|
||||
|
||||
msgid "E1170: Cannot use #{ to start a comment"
|
||||
msgstr "E1170: コメントの開始に #{ は使用できません"
|
||||
@@ -7821,9 +7821,6 @@ msgstr "E1180:
|
||||
msgid "E1181: Cannot use an underscore here"
|
||||
msgstr "E1181: ここではアンダースコアは使えません"
|
||||
|
||||
msgid "E1182: Blob required"
|
||||
msgstr "E1182: Blob型が必要です"
|
||||
|
||||
#, c-format
|
||||
msgid "E1183: Cannot use a range with an assignment operator: %s"
|
||||
msgstr "E1183: 代入演算子で範囲は使用できません: %s"
|
||||
@@ -7831,9 +7828,6 @@ msgstr "E1183:
|
||||
msgid "E1184: Blob not set"
|
||||
msgstr "E1184: Blob は設定されていません"
|
||||
|
||||
msgid "E1185: Cannot nest :redir"
|
||||
msgstr "E1185: :redir は入れ子にできません"
|
||||
|
||||
msgid "E1185: Missing :redir END"
|
||||
msgstr "E1185: :redir END がありません"
|
||||
|
||||
@@ -8123,14 +8117,38 @@ msgstr "E1261: \"as\"
|
||||
msgid "E1262: Cannot import the same script twice: %s"
|
||||
msgstr "E1262: 同じスクリプトを2回インポートすることはできません: %s"
|
||||
|
||||
msgid "E1263: Using autoload in a script not under an autoload directory"
|
||||
msgstr "E1263: autoloadディレクトリに無いスクリプトでautoloadを使っています"
|
||||
msgid "E1263: cannot use name with # in Vim9 script, use export instead"
|
||||
msgstr ""
|
||||
"E1263: Vim9 スクリプトでは # 入りの名前は使用できません、代わりに export を使"
|
||||
"用してください"
|
||||
|
||||
#, c-format
|
||||
msgid "E1264: Autoload import cannot use absolute or relative path: %s"
|
||||
msgstr ""
|
||||
"E1264: autoloadインポートで絶対または相対パスを使うことはできません: %s"
|
||||
|
||||
msgid "E1265: Cannot use a partial here"
|
||||
msgstr "E1265: ここでは部分適用は使えません"
|
||||
|
||||
msgid ""
|
||||
"E1266: Critical error in python3 initialization, check your python3 "
|
||||
"installation"
|
||||
msgstr ""
|
||||
"E1266: python3初期化中に重大なエラーが起きました。python3のインストール状況を"
|
||||
"確認してください"
|
||||
|
||||
#, c-format
|
||||
msgid "E1267: Function name must start with a capital: %s"
|
||||
msgstr "E1267: 関数名は大文字で始まらなければなりません: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E1268: Cannot use s: in Vim9 script: %s"
|
||||
msgstr "E1268: Vim9 スクリプトでは :s は使用できません: %s"
|
||||
|
||||
#, c-format
|
||||
msgid "E1269: Cannot create a Vim9 script variable in a function: %s"
|
||||
msgstr "E1269: 関数内で Vim9 スクリプト変数は作成できません: %s"
|
||||
|
||||
msgid "--No lines in buffer--"
|
||||
msgstr "--バッファに行がありません--"
|
||||
|
||||
|
||||
@@ -284,9 +284,6 @@ msgstr "Preh
|
||||
msgid " Adding"
|
||||
msgstr " Pridávam"
|
||||
|
||||
#. showmode might reset the internal line pointers, so it must
|
||||
#. * be called before line = ml_get(), or when this address is no
|
||||
#. * longer needed. -- Acevedo.
|
||||
#.
|
||||
msgid "-- Searching..."
|
||||
msgstr "-- H¾adám..."
|
||||
@@ -476,10 +473,6 @@ msgstr "E724: premenn
|
||||
msgid "E699: Too many arguments"
|
||||
msgstr "E699: Príliš mnoho argumentov"
|
||||
|
||||
#.
|
||||
#. * Yes this is ugly, I don't particularly like it either. But doing it
|
||||
#. * this way has the compelling advantage that translations need not to
|
||||
#. * be touched at all. See below what 'ok' and 'ync' are used for.
|
||||
#.
|
||||
msgid "&Ok"
|
||||
msgstr "&Ok"
|
||||
@@ -709,7 +702,6 @@ msgstr "E138: Ned
|
||||
msgid "Writing viminfo file \"%s\""
|
||||
msgstr "Ukládám viminfo súboru \"%s\""
|
||||
|
||||
#. Write the info:
|
||||
#, c-format
|
||||
msgid "# This viminfo file was generated by Vim %s.\n"
|
||||
msgstr "# Tento viminfo súbor bol vytvorený editorom Vim %s.\n"
|
||||
@@ -1212,7 +1204,6 @@ msgstr "E196: V tejto verzi nie s
|
||||
msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
|
||||
msgstr "E608: Nemožno spracova� výnimku :throw s preponou 'Vim'"
|
||||
|
||||
#. always scroll up, don't overwrite
|
||||
#, c-format
|
||||
msgid "Exception thrown: %s"
|
||||
msgstr "Spracovanie výnimky: %s"
|
||||
@@ -1295,7 +1286,6 @@ msgstr "E601: vnorenie :try je pr
|
||||
msgid "E603: :catch without :try"
|
||||
msgstr "E603: :catch bez :try"
|
||||
|
||||
#. Give up for a ":catch" after ":finally" and ignore it.
|
||||
#. * Just parse.
|
||||
msgid "E604: :catch after :finally"
|
||||
msgstr "E604: :catch nasleduje po :finally"
|
||||
@@ -1568,8 +1558,6 @@ msgstr "[bez znaku konca riadku]"
|
||||
msgid "[Incomplete last line]"
|
||||
msgstr "[neúplný posledný riadok]"
|
||||
|
||||
#. don't overwrite messages here
|
||||
#. must give this prompt
|
||||
#. don't use emsg() here, don't want to flush the buffers
|
||||
msgid "WARNING: The file has been changed since reading it!!!"
|
||||
msgstr "VAROVANIE: Súbor bol zmenený od jeho naèítania!!!"
|
||||
@@ -1649,7 +1637,6 @@ msgstr "--Vymazan
|
||||
msgid "auto-removing autocommand: %s <buffer=%d>"
|
||||
msgstr "samomazací automatický príkaz: %s <buffer=%d>"
|
||||
|
||||
#. the group doesn't exist
|
||||
#, c-format
|
||||
msgid "E367: No such group: \"%s\""
|
||||
msgstr "E367: Skupina \"%s\" neexistuje"
|
||||
@@ -1923,7 +1910,6 @@ msgstr "N
|
||||
msgid "Find & Replace (use '\\\\' to find a '\\')"
|
||||
msgstr "Nájs� a Nahradi� (použite '\\\\' ak chcete nájs� '\\')"
|
||||
|
||||
#. We fake this: Use a filter that doesn't select anything and a default
|
||||
#. * file name that won't be used.
|
||||
msgid "Not Used"
|
||||
msgstr "[neupravovaný]"
|
||||
@@ -2960,7 +2946,6 @@ msgstr ""
|
||||
"\n"
|
||||
"# Súborové znaèky:\n"
|
||||
|
||||
#. Write the jumplist with -'
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -3329,7 +3314,6 @@ msgstr "Pri otv
|
||||
msgid " NEWER than swap file!\n"
|
||||
msgstr " NOVŠÍ ako odkladací súbor!\n"
|
||||
|
||||
#. Some of these messages are long to allow translation to
|
||||
#. * other languages.
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -3433,7 +3417,6 @@ msgstr "E331: Polo
|
||||
msgid "E332: Separator cannot be part of a menu path"
|
||||
msgstr "E332: Odde¾ovaè nesmie by� èas�ou cesty ponuky"
|
||||
|
||||
#. Now we have found the matching menu, and we list the mappings
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -4714,7 +4697,6 @@ msgstr "Prep
|
||||
msgid "Sorry, only %ld suggestions"
|
||||
msgstr "Prepáète, iba %ld návrhov"
|
||||
|
||||
#. avoid more prompt
|
||||
#, c-format
|
||||
msgid "Change \"%.*s\" to:"
|
||||
msgstr "Zmeni� \"%.*s\" na:"
|
||||
@@ -4730,7 +4712,6 @@ msgstr "E752:
|
||||
msgid "E753: Not found: %s"
|
||||
msgstr "E753: Nenájdené: %s"
|
||||
|
||||
#. This should have been checked when generating the .spl
|
||||
#. * file.
|
||||
msgid "E783: duplicate char in MAP entry"
|
||||
msgstr "E783: duplicitný znak v MAP položke"
|
||||
@@ -4955,7 +4936,6 @@ msgstr "E428: Za posledn
|
||||
msgid "File \"%s\" does not exist"
|
||||
msgstr "Súbor \"%s\" neexistuje"
|
||||
|
||||
#. Give an indication of the number of matching tags
|
||||
#, c-format
|
||||
msgid "tag %d of %d%s"
|
||||
msgstr "tag %d z %d%s"
|
||||
@@ -5435,9 +5415,6 @@ msgstr "Pr
|
||||
msgid "--No lines in buffer--"
|
||||
msgstr "--Buffer neobsahuje žiadne riadky--"
|
||||
|
||||
#.
|
||||
#. * The error messages that can be shared are included here.
|
||||
#. * Excluded are errors that are only used once and debugging messages.
|
||||
#.
|
||||
msgid "E470: Command aborted"
|
||||
msgstr "E470: Príkaz prerušený"
|
||||
@@ -5775,4 +5752,3 @@ msgstr "h
|
||||
|
||||
msgid "search hit BOTTOM, continuing at TOP"
|
||||
msgstr "h¾adanie dosiahlo koniec, pokraèovanie od zaèiatku"
|
||||
|
||||
|
||||
@@ -284,9 +284,6 @@ msgstr "Preh
|
||||
msgid " Adding"
|
||||
msgstr " Pridávam"
|
||||
|
||||
#. showmode might reset the internal line pointers, so it must
|
||||
#. * be called before line = ml_get(), or when this address is no
|
||||
#. * longer needed. -- Acevedo.
|
||||
#.
|
||||
msgid "-- Searching..."
|
||||
msgstr "-- Hµadám..."
|
||||
@@ -476,10 +473,6 @@ msgstr "E724: premenn
|
||||
msgid "E699: Too many arguments"
|
||||
msgstr "E699: Príli¹ mnoho argumentov"
|
||||
|
||||
#.
|
||||
#. * Yes this is ugly, I don't particularly like it either. But doing it
|
||||
#. * this way has the compelling advantage that translations need not to
|
||||
#. * be touched at all. See below what 'ok' and 'ync' are used for.
|
||||
#.
|
||||
msgid "&Ok"
|
||||
msgstr "&Ok"
|
||||
@@ -709,7 +702,6 @@ msgstr "E138: Ned
|
||||
msgid "Writing viminfo file \"%s\""
|
||||
msgstr "Ukládám viminfo súboru \"%s\""
|
||||
|
||||
#. Write the info:
|
||||
#, c-format
|
||||
msgid "# This viminfo file was generated by Vim %s.\n"
|
||||
msgstr "# Tento viminfo súbor bol vytvorený editorom Vim %s.\n"
|
||||
@@ -1212,7 +1204,6 @@ msgstr "E196: V tejto verzi nie s
|
||||
msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
|
||||
msgstr "E608: Nemo¾no spracova» výnimku :throw s preponou 'Vim'"
|
||||
|
||||
#. always scroll up, don't overwrite
|
||||
#, c-format
|
||||
msgid "Exception thrown: %s"
|
||||
msgstr "Spracovanie výnimky: %s"
|
||||
@@ -1295,7 +1286,6 @@ msgstr "E601: vnorenie :try je pr
|
||||
msgid "E603: :catch without :try"
|
||||
msgstr "E603: :catch bez :try"
|
||||
|
||||
#. Give up for a ":catch" after ":finally" and ignore it.
|
||||
#. * Just parse.
|
||||
msgid "E604: :catch after :finally"
|
||||
msgstr "E604: :catch nasleduje po :finally"
|
||||
@@ -1568,8 +1558,6 @@ msgstr "[bez znaku konca riadku]"
|
||||
msgid "[Incomplete last line]"
|
||||
msgstr "[neúplný posledný riadok]"
|
||||
|
||||
#. don't overwrite messages here
|
||||
#. must give this prompt
|
||||
#. don't use emsg() here, don't want to flush the buffers
|
||||
msgid "WARNING: The file has been changed since reading it!!!"
|
||||
msgstr "VAROVANIE: Súbor bol zmenený od jeho naèítania!!!"
|
||||
@@ -1649,7 +1637,6 @@ msgstr "--Vymazan
|
||||
msgid "auto-removing autocommand: %s <buffer=%d>"
|
||||
msgstr "samomazací automatický príkaz: %s <buffer=%d>"
|
||||
|
||||
#. the group doesn't exist
|
||||
#, c-format
|
||||
msgid "E367: No such group: \"%s\""
|
||||
msgstr "E367: Skupina \"%s\" neexistuje"
|
||||
@@ -1923,7 +1910,6 @@ msgstr "N
|
||||
msgid "Find & Replace (use '\\\\' to find a '\\')"
|
||||
msgstr "Nájs» a Nahradi» (pou¾ite '\\\\' ak chcete nájs» '\\')"
|
||||
|
||||
#. We fake this: Use a filter that doesn't select anything and a default
|
||||
#. * file name that won't be used.
|
||||
msgid "Not Used"
|
||||
msgstr "[neupravovaný]"
|
||||
@@ -2960,7 +2946,6 @@ msgstr ""
|
||||
"\n"
|
||||
"# Súborové znaèky:\n"
|
||||
|
||||
#. Write the jumplist with -'
|
||||
#, c-format
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -3329,7 +3314,6 @@ msgstr "Pri otv
|
||||
msgid " NEWER than swap file!\n"
|
||||
msgstr " NOV©Í ako odkladací súbor!\n"
|
||||
|
||||
#. Some of these messages are long to allow translation to
|
||||
#. * other languages.
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -3433,7 +3417,6 @@ msgstr "E331: Polo
|
||||
msgid "E332: Separator cannot be part of a menu path"
|
||||
msgstr "E332: Oddeµovaè nesmie by» èas»ou cesty ponuky"
|
||||
|
||||
#. Now we have found the matching menu, and we list the mappings
|
||||
#. Highlight title
|
||||
msgid ""
|
||||
"\n"
|
||||
@@ -4714,7 +4697,6 @@ msgstr "Prep
|
||||
msgid "Sorry, only %ld suggestions"
|
||||
msgstr "Prepáète, iba %ld návrhov"
|
||||
|
||||
#. avoid more prompt
|
||||
#, c-format
|
||||
msgid "Change \"%.*s\" to:"
|
||||
msgstr "Zmeni» \"%.*s\" na:"
|
||||
@@ -4730,7 +4712,6 @@ msgstr "E752:
|
||||
msgid "E753: Not found: %s"
|
||||
msgstr "E753: Nenájdené: %s"
|
||||
|
||||
#. This should have been checked when generating the .spl
|
||||
#. * file.
|
||||
msgid "E783: duplicate char in MAP entry"
|
||||
msgstr "E783: duplicitný znak v MAP polo¾ke"
|
||||
@@ -4955,7 +4936,6 @@ msgstr "E428: Za posledn
|
||||
msgid "File \"%s\" does not exist"
|
||||
msgstr "Súbor \"%s\" neexistuje"
|
||||
|
||||
#. Give an indication of the number of matching tags
|
||||
#, c-format
|
||||
msgid "tag %d of %d%s"
|
||||
msgstr "tag %d z %d%s"
|
||||
@@ -5435,9 +5415,6 @@ msgstr "Pr
|
||||
msgid "--No lines in buffer--"
|
||||
msgstr "--Buffer neobsahuje ¾iadne riadky--"
|
||||
|
||||
#.
|
||||
#. * The error messages that can be shared are included here.
|
||||
#. * Excluded are errors that are only used once and debugging messages.
|
||||
#.
|
||||
msgid "E470: Command aborted"
|
||||
msgstr "E470: Príkaz preru¹ený"
|
||||
@@ -5775,4 +5752,3 @@ msgstr "h
|
||||
|
||||
msgid "search hit BOTTOM, continuing at TOP"
|
||||
msgstr "hµadanie dosiahlo koniec, pokraèovanie od zaèiatku"
|
||||
|
||||
|
||||
@@ -9972,5 +9972,3 @@ msgstr "име MzScheme динамичке библиотеке"
|
||||
|
||||
msgid "name of the MzScheme GC dynamic library"
|
||||
msgstr "име MzScheme GC динамичке библиотеке"
|
||||
|
||||
|
||||
|
||||
+10
-10
@@ -9,7 +9,7 @@
|
||||
# Edyfox <edyfox@gmail.com>
|
||||
# Yuheng Xie <elephant@linux.net.cn>
|
||||
#
|
||||
# Original translations.
|
||||
# Generated from zh_CN.UTF-8.po, DO NOT EDIT.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
@@ -17,8 +17,8 @@ msgstr ""
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2006-04-21 15:16+0800\n"
|
||||
"PO-Revision-Date: 2006-04-21 14:00+0800\n"
|
||||
"Last-Translator: Yuheng Xie <elephant@linux.net.cn>\n"
|
||||
"Language-Team: Simplified Chinese <i18n-translation@lists.linux.net.cn>\n"
|
||||
"Last-Translator: Yuheng Xie\n"
|
||||
"Language-Team: Simplified Chinese\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=gb2312\n"
|
||||
"Content-Transfer-Encoding: 8-bit\n"
|
||||
@@ -241,9 +241,8 @@ msgstr "
|
||||
msgid " Tag completion (^]^N^P)"
|
||||
msgstr " Tag 补全 (^]^N^P)"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid " Path pattern completion (^N^P)"
|
||||
#~ msgstr " 路径模式补全 (^N^P)"
|
||||
msgid " Path pattern completion (^N^P)"
|
||||
msgstr " 头文件模式补全 (^N^P)"
|
||||
|
||||
msgid " Definition completion (^D^N^P)"
|
||||
msgstr " 定义补全 (^D^N^P)"
|
||||
@@ -2862,7 +2861,8 @@ msgstr "-X\t\t\t
|
||||
msgid "--remote <files>\tEdit <files> in a Vim server if possible"
|
||||
msgstr "--remote <files>\t如有可能,在 Vim 服务器上编辑文件 <files>"
|
||||
|
||||
msgid "--remote-silent <files> Same, don't complain if there is no server"
|
||||
msgid ""
|
||||
"--remote-silent <files> Same, don't complain if there is no server"
|
||||
msgstr "--remote-silent <files> 同上,找不到服务器时不抱怨"
|
||||
|
||||
msgid ""
|
||||
@@ -5243,7 +5243,7 @@ msgstr "Vim:
|
||||
|
||||
#. must display the prompt
|
||||
msgid "No undo possible; continue anyway"
|
||||
msgstr "无法撤销;请继续"
|
||||
msgstr "无法撤销;仍然继续"
|
||||
|
||||
msgid "Already at oldest change"
|
||||
msgstr "已位于最旧的改变"
|
||||
@@ -5568,13 +5568,13 @@ msgid "type :help cp-default<Enter> for info on this"
|
||||
msgstr "输入 :help cp-default<Enter> 查看相关说明 "
|
||||
|
||||
msgid "menu Help->Orphans for information "
|
||||
msgstr "菜单 Help->Orphans 查看说明 "
|
||||
msgstr "菜单 帮助->孤儿 查看说明 "
|
||||
|
||||
msgid "Running modeless, typed text is inserted"
|
||||
msgstr "无模式运行,输入文字即插入"
|
||||
|
||||
msgid "menu Edit->Global Settings->Toggle Insert Mode "
|
||||
msgstr "菜单 Edit->Global Settings->Toggle Insert Mode "
|
||||
msgstr "菜单 编辑->全局设定->开/关插入模式 "
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid " for two modes "
|
||||
|
||||
@@ -38,6 +38,7 @@ char_u *printable_func_name(ufunc_T *fp);
|
||||
char_u *trans_function_name(char_u **pp, int *is_global, int skip, int flags, funcdict_T *fdp, partial_T **partial, type_T **type);
|
||||
char_u *untrans_function_name(char_u *name);
|
||||
char_u *get_scriptlocal_funcname(char_u *funcname);
|
||||
char_u *alloc_printable_func_name(char_u *fname);
|
||||
char_u *save_function_name(char_u **name, int *is_global, int skip, int flags, funcdict_T *fudi);
|
||||
void list_functions(regmatch_T *regmatch);
|
||||
ufunc_T *define_function(exarg_T *eap, char_u *name_arg, garray_T *lines_to_free);
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
/* window.c */
|
||||
win_T *prevwin_curwin(void);
|
||||
void do_window(int nchar, long Prenum, int xchar);
|
||||
void get_wincmd_addr_type(char_u *arg, exarg_T *eap);
|
||||
int win_split(int size, int flags);
|
||||
|
||||
@@ -1818,6 +1818,10 @@ func Test_getchar()
|
||||
call assert_equal('', getcharstr(0))
|
||||
call assert_equal('', getcharstr(1))
|
||||
|
||||
call feedkeys("\<M-F2>", '')
|
||||
call assert_equal("\<M-F2>", getchar(0))
|
||||
call assert_equal(0, getchar(0))
|
||||
|
||||
call setline(1, 'xxxx')
|
||||
call test_setmouse(1, 3)
|
||||
let v:mouse_win = 9
|
||||
|
||||
@@ -442,4 +442,16 @@ func Test_shiftwidth_vartabstop()
|
||||
setlocal shiftwidth& vartabstop& tabstop&
|
||||
endfunc
|
||||
|
||||
func Test_vartabstop_latin1()
|
||||
let save_encoding = &encoding
|
||||
new
|
||||
set encoding=iso8859
|
||||
silent norm :se
|
||||
set vartabstop=400
|
||||
norm i00
|
||||
bwipe!
|
||||
let &encoding = save_encoding
|
||||
endfunc
|
||||
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
|
||||
@@ -2289,11 +2289,11 @@ def Test_map_function_arg()
|
||||
lines =<< trim END
|
||||
range(3)->map((a, b, c) => a + b + c)
|
||||
END
|
||||
v9.CheckDefExecAndScriptFailure(lines, 'E1190: One argument too few')
|
||||
v9.CheckDefAndScriptFailure(lines, ['E176:', 'E1190: One argument too few'])
|
||||
lines =<< trim END
|
||||
range(3)->map((a, b, c, d) => a + b + c + d)
|
||||
END
|
||||
v9.CheckDefExecAndScriptFailure(lines, 'E1190: 2 arguments too few')
|
||||
v9.CheckDefAndScriptFailure(lines, ['E176:', 'E1190: 2 arguments too few'])
|
||||
|
||||
# declared list cannot change type
|
||||
lines =<< trim END
|
||||
@@ -2303,7 +2303,7 @@ def Test_map_function_arg()
|
||||
var ll: list<number> = [1, 2, 3]
|
||||
echo map(ll, Map)
|
||||
END
|
||||
v9.CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): number but got func(number, number): string', 'E1012: Type mismatch; expected number but got string in map()'])
|
||||
v9.CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(?number, ?number): number but got func(number, number): string', 'E1012: Type mismatch; expected number but got string in map()'])
|
||||
|
||||
# not declared list can change type
|
||||
echo [1, 2, 3]->map((..._) => 'x')
|
||||
@@ -2321,19 +2321,19 @@ def Test_map_item_type()
|
||||
var l: list<number> = [0]
|
||||
echo map(l, (_, v) => [])
|
||||
END
|
||||
v9.CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): number but got func(any, any): list<unknown>', 'E1012: Type mismatch; expected number but got list<unknown> in map()'], 2)
|
||||
v9.CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(?number, ?number): number but got func(any, any): list<unknown>', 'E1012: Type mismatch; expected number but got list<unknown> in map()'], 2)
|
||||
|
||||
lines =<< trim END
|
||||
var l: list<number> = range(2)
|
||||
echo map(l, (_, v) => [])
|
||||
END
|
||||
v9.CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): number but got func(any, any): list<unknown>', 'E1012: Type mismatch; expected number but got list<unknown> in map()'], 2)
|
||||
v9.CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(?number, ?number): number but got func(any, any): list<unknown>', 'E1012: Type mismatch; expected number but got list<unknown> in map()'], 2)
|
||||
|
||||
lines =<< trim END
|
||||
var d: dict<number> = {key: 0}
|
||||
echo map(d, (_, v) => [])
|
||||
END
|
||||
v9.CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(...): number but got func(any, any): list<unknown>', 'E1012: Type mismatch; expected number but got list<unknown> in map()'], 2)
|
||||
v9.CheckDefAndScriptFailure(lines, ['E1013: Argument 2: type mismatch, expected func(?string, ?number): number but got func(any, any): list<unknown>', 'E1012: Type mismatch; expected number but got list<unknown> in map()'], 2)
|
||||
enddef
|
||||
|
||||
def Test_maparg()
|
||||
@@ -2359,6 +2359,52 @@ def Test_maparg()
|
||||
v9.CheckDefAndScriptFailure(['maparg("a", "b", 2)'], ['E1013: Argument 3: type mismatch, expected bool but got number', 'E1212: Bool required for argument 3'])
|
||||
v9.CheckDefAndScriptFailure(['maparg("a", "b", true, 2)'], ['E1013: Argument 4: type mismatch, expected bool but got number', 'E1212: Bool required for argument 4'])
|
||||
maparg('')->assert_equal('')
|
||||
|
||||
# value argument type is checked at compile time
|
||||
var lines =<< trim END
|
||||
var l = [123]
|
||||
l->map((i: number, v: string) => 0)
|
||||
END
|
||||
v9.CheckDefFailure(lines, 'E1013: Argument 2: type mismatch, expected func(?number, ?number): number but got func(number, string): number')
|
||||
|
||||
lines =<< trim END
|
||||
var d = {a: 123}
|
||||
d->map((i: string, v: string) => 0)
|
||||
END
|
||||
v9.CheckDefFailure(lines, 'E1013: Argument 2: type mismatch, expected func(?string, ?number): number but got func(string, string): number')
|
||||
|
||||
lines =<< trim END
|
||||
var s = 'abc'
|
||||
s->map((i: number, v: number) => 'x')
|
||||
END
|
||||
v9.CheckDefFailure(lines, 'E1013: Argument 2: type mismatch, expected func(?number, ?string): string but got func(number, number): string')
|
||||
|
||||
lines =<< trim END
|
||||
var s = 0z1122
|
||||
s->map((i: number, v: string) => 0)
|
||||
END
|
||||
v9.CheckDefFailure(lines, 'E1013: Argument 2: type mismatch, expected func(?number, ?number): number but got func(number, string): number')
|
||||
|
||||
# index argument type is checked at compile time
|
||||
lines =<< trim END
|
||||
['x']->map((i: string, v: string) => 'y')
|
||||
END
|
||||
v9.CheckDefFailure(lines, 'E1013: Argument 2: type mismatch, expected func(?number, ?any): any but got func(string, string): string')
|
||||
|
||||
lines =<< trim END
|
||||
{a: 1}->map((i: number, v: number) => 0)
|
||||
END
|
||||
v9.CheckDefFailure(lines, 'E1013: Argument 2: type mismatch, expected func(?string, ?any): any but got func(number, number): number')
|
||||
|
||||
lines =<< trim END
|
||||
'abc'->map((i: string, v: string) => 'x')
|
||||
END
|
||||
v9.CheckDefFailure(lines, 'E1013: Argument 2: type mismatch, expected func(?number, ?string): string but got func(string, string): string')
|
||||
|
||||
lines =<< trim END
|
||||
0z1122->map((i: string, v: number) => 0)
|
||||
END
|
||||
v9.CheckDefFailure(lines, 'E1013: Argument 2: type mismatch, expected func(?number, ?number): number but got func(string, number): number')
|
||||
enddef
|
||||
|
||||
def Test_maparg_mapset()
|
||||
|
||||
@@ -3732,12 +3732,12 @@ def Test_too_many_arguments()
|
||||
var lines =<< trim END
|
||||
echo [0, 1, 2]->map(() => 123)
|
||||
END
|
||||
v9.CheckDefExecAndScriptFailure(lines, 'E1106: 2 arguments too many', 1)
|
||||
v9.CheckDefAndScriptFailure(lines, ['E176:', 'E1106: 2 arguments too many'], 1)
|
||||
|
||||
lines =<< trim END
|
||||
echo [0, 1, 2]->map((_) => 123)
|
||||
END
|
||||
v9.CheckDefExecAndScriptFailure(lines, 'E1106: One argument too many', 1)
|
||||
v9.CheckDefAndScriptFailure(lines, ['E176', 'E1106: One argument too many'], 1)
|
||||
enddef
|
||||
|
||||
def Test_closing_brace_at_start_of_line()
|
||||
|
||||
@@ -423,6 +423,46 @@ def Test_import_funcref()
|
||||
delete('Xlib.vim')
|
||||
enddef
|
||||
|
||||
def Test_import_duplicate_function()
|
||||
# Function Hover() exists in both scripts, partial should refer to the right
|
||||
# one.
|
||||
var lines =<< trim END
|
||||
vim9script
|
||||
|
||||
def Hover(d: dict<any>): string
|
||||
return 'found it'
|
||||
enddef
|
||||
|
||||
export def NewLspServer(): dict<any>
|
||||
var d: dict<any> = {}
|
||||
d->extend({hover: function('Hover', [d])})
|
||||
return d
|
||||
enddef
|
||||
|
||||
NewLspServer()
|
||||
END
|
||||
writefile(lines, 'Xserver.vim')
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
|
||||
import './Xserver.vim' as server
|
||||
|
||||
export def Hover()
|
||||
enddef
|
||||
|
||||
def AddServer()
|
||||
var d: dict<any> = server.NewLspServer()
|
||||
assert_equal('found it', d.hover())
|
||||
enddef
|
||||
AddServer()
|
||||
END
|
||||
v9.CheckScriptSuccess(lines)
|
||||
|
||||
delete('Xserver.vim')
|
||||
enddef
|
||||
|
||||
|
||||
def Test_import_fails()
|
||||
writefile([], 'Xfoo.vim')
|
||||
var lines =<< trim END
|
||||
|
||||
+4
-20
@@ -141,11 +141,7 @@ find_ucmd(
|
||||
/*
|
||||
* Look for buffer-local user commands first, then global ones.
|
||||
*/
|
||||
gap =
|
||||
#ifdef FEAT_CMDWIN
|
||||
is_in_cmdwin() ? &prevwin->w_buffer->b_ucmds :
|
||||
#endif
|
||||
&curbuf->b_ucmds;
|
||||
gap = &prevwin_curwin()->w_buffer->b_ucmds;
|
||||
for (;;)
|
||||
{
|
||||
for (j = 0; j < gap->ga_len; ++j)
|
||||
@@ -358,11 +354,7 @@ expand_user_command_name(int idx)
|
||||
get_user_commands(expand_T *xp UNUSED, int idx)
|
||||
{
|
||||
// In cmdwin, the alternative buffer should be used.
|
||||
buf_T *buf =
|
||||
#ifdef FEAT_CMDWIN
|
||||
is_in_cmdwin() ? prevwin->w_buffer :
|
||||
#endif
|
||||
curbuf;
|
||||
buf_T *buf = prevwin_curwin()->w_buffer;
|
||||
|
||||
if (idx < buf->b_ucmds.ga_len)
|
||||
return USER_CMD_GA(&buf->b_ucmds, idx)->uc_name;
|
||||
@@ -386,11 +378,7 @@ get_user_command_name(int idx, int cmdidx)
|
||||
if (cmdidx == CMD_USER_BUF)
|
||||
{
|
||||
// In cmdwin, the alternative buffer should be used.
|
||||
buf_T *buf =
|
||||
#ifdef FEAT_CMDWIN
|
||||
is_in_cmdwin() ? prevwin->w_buffer :
|
||||
#endif
|
||||
curbuf;
|
||||
buf_T *buf = prevwin_curwin()->w_buffer;
|
||||
|
||||
if (idx < buf->b_ucmds.ga_len)
|
||||
return USER_CMD_GA(&buf->b_ucmds, idx)->uc_name;
|
||||
@@ -478,11 +466,7 @@ uc_list(char_u *name, size_t name_len)
|
||||
garray_T *gap;
|
||||
|
||||
// In cmdwin, the alternative buffer should be used.
|
||||
gap =
|
||||
#ifdef FEAT_CMDWIN
|
||||
is_in_cmdwin() ? &prevwin->w_buffer->b_ucmds :
|
||||
#endif
|
||||
&curbuf->b_ucmds;
|
||||
gap = &prevwin_curwin()->w_buffer->b_ucmds;
|
||||
for (;;)
|
||||
{
|
||||
for (i = 0; i < gap->ga_len; ++i)
|
||||
|
||||
+34
-5
@@ -1958,17 +1958,29 @@ find_func_even_dead(char_u *name, int flags)
|
||||
|
||||
if ((flags & FFED_IS_GLOBAL) == 0)
|
||||
{
|
||||
int find_script_local = in_vim9script() && eval_isnamec1(*name)
|
||||
&& (name[1] != ':' || *name == 's');
|
||||
|
||||
if (find_script_local)
|
||||
// Find script-local function before global one.
|
||||
if (in_vim9script() && eval_isnamec1(*name)
|
||||
&& (name[1] != ':' || *name == 's'))
|
||||
{
|
||||
// Find script-local function before global one.
|
||||
func = find_func_with_sid(name[0] == 's' && name[1] == ':'
|
||||
? name + 2 : name, current_sctx.sc_sid);
|
||||
if (func != NULL)
|
||||
return func;
|
||||
}
|
||||
if (in_vim9script() && STRNCMP(name, "<SNR>", 5) == 0)
|
||||
{
|
||||
char_u *p = name + 5;
|
||||
long sid;
|
||||
|
||||
// printable "<SNR>123_Name" form
|
||||
sid = getdigits(&p);
|
||||
if (*p == '_')
|
||||
{
|
||||
func = find_func_with_sid(p + 1, (int)sid);
|
||||
if (func != NULL)
|
||||
return func;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ((flags & FFED_NO_GLOBAL) == 0)
|
||||
@@ -4067,6 +4079,23 @@ get_scriptlocal_funcname(char_u *funcname)
|
||||
return newname;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return script-local "fname" with the 3-byte sequence replaced by
|
||||
* printable <SNR> in allocated memory.
|
||||
*/
|
||||
char_u *
|
||||
alloc_printable_func_name(char_u *fname)
|
||||
{
|
||||
char_u *n = alloc(STRLEN(fname + 3) + 6);
|
||||
|
||||
if (n != NULL)
|
||||
{
|
||||
STRCPY(n, "<SNR>");
|
||||
STRCPY(n + 5, fname + 3);
|
||||
}
|
||||
return n;
|
||||
}
|
||||
|
||||
/*
|
||||
* Call trans_function_name(), except that a lambda is returned as-is.
|
||||
* Returns the name in allocated memory.
|
||||
|
||||
@@ -765,6 +765,30 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
4436,
|
||||
/**/
|
||||
4435,
|
||||
/**/
|
||||
4434,
|
||||
/**/
|
||||
4433,
|
||||
/**/
|
||||
4432,
|
||||
/**/
|
||||
4431,
|
||||
/**/
|
||||
4430,
|
||||
/**/
|
||||
4429,
|
||||
/**/
|
||||
4428,
|
||||
/**/
|
||||
4427,
|
||||
/**/
|
||||
4426,
|
||||
/**/
|
||||
4425,
|
||||
/**/
|
||||
4424,
|
||||
/**/
|
||||
|
||||
+5
-2
@@ -2818,13 +2818,16 @@ compile_def_function(
|
||||
/*
|
||||
* COMMAND after range
|
||||
* 'text'->func() should not be confused with 'a mark
|
||||
* 0z1234->func() should not be confused with a zero line number
|
||||
* "++nr" and "--nr" are eval commands
|
||||
* in "$ENV->func()" the "$" is not a range
|
||||
*/
|
||||
cmd = ea.cmd;
|
||||
if ((*cmd != '$' || starts_with_colon)
|
||||
&& (starts_with_colon || !(*cmd == '\''
|
||||
|| (cmd[0] != NUL && cmd[0] == cmd[1]
|
||||
&& (starts_with_colon
|
||||
|| !(*cmd == '\''
|
||||
|| (cmd[0] == '0' && cmd[1] == 'z')
|
||||
|| (cmd[0] != NUL && cmd[0] == cmd[1]
|
||||
&& (*cmd == '+' || *cmd == '-')))))
|
||||
{
|
||||
ea.cmd = skip_range(ea.cmd, TRUE, NULL);
|
||||
|
||||
+1
-1
@@ -457,7 +457,7 @@ typval2type_int(typval_T *tv, int copyID, garray_T *type_gap, int flags)
|
||||
{
|
||||
type->tt_argcount -= tv->vval.v_partial->pt_argc;
|
||||
type->tt_min_argcount -= tv->vval.v_partial->pt_argc;
|
||||
if (type->tt_argcount == 0)
|
||||
if (type->tt_argcount <= 0)
|
||||
type->tt_args = NULL;
|
||||
else
|
||||
{
|
||||
|
||||
@@ -110,6 +110,21 @@ log_frame_layout(frame_T *frame)
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Return the current window, unless in the cmdline window and "prevwin" is
|
||||
* set, then return "prevwin".
|
||||
*/
|
||||
win_T *
|
||||
prevwin_curwin(void)
|
||||
{
|
||||
return
|
||||
#ifdef FEAT_CMDWIN
|
||||
// In cmdwin, the alternative buffer should be used.
|
||||
is_in_cmdwin() && prevwin != NULL ? prevwin :
|
||||
#endif
|
||||
curwin;
|
||||
}
|
||||
|
||||
/*
|
||||
* All CTRL-W window commands are handled here, called from normal_cmd().
|
||||
*/
|
||||
@@ -3932,6 +3947,14 @@ win_new_tabpage(int after)
|
||||
tabpage_T *newtp;
|
||||
int n;
|
||||
|
||||
#ifdef FEAT_CMDWIN
|
||||
if (cmdwin_type != 0)
|
||||
{
|
||||
emsg(_(e_invalid_in_cmdline_window));
|
||||
return FAIL;
|
||||
}
|
||||
#endif
|
||||
|
||||
newtp = alloc_tabpage();
|
||||
if (newtp == NULL)
|
||||
return FAIL;
|
||||
@@ -4373,6 +4396,9 @@ goto_tabpage_tp(
|
||||
int trigger_enter_autocmds,
|
||||
int trigger_leave_autocmds)
|
||||
{
|
||||
if (trigger_enter_autocmds || trigger_leave_autocmds)
|
||||
CHECK_CMDWIN;
|
||||
|
||||
// Don't repeat a message in another tab page.
|
||||
set_keep_msg(NULL, 0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user