diff --git a/runtime/colors/README.txt b/runtime/colors/README.txt index a435c2dd19..4511748daf 100644 --- a/runtime/colors/README.txt +++ b/runtime/colors/README.txt @@ -42,7 +42,16 @@ this autocmd might be useful: Replace "blue_sky" with the name of the colorscheme. In case you want to tweak a colorscheme after it was loaded, check out the -ColorScheme autocmd event. +ColorScheme autocommand event. + +To clean up just before loading another colorscheme, use the ColorSchemePre +autocommand event. For example: + let g:term_ansi_colors = ... + augroup MyColorscheme + au! + au ColorSchemePre * unlet g:term_ansi_colors + au ColorSchemePre * au! MyColorscheme + augroup END To customize a colorscheme use another name, e.g. "~/.vim/colors/mine.vim", and use `:runtime` to load the original colorscheme: diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index 0c2fa52ac9..c3f04cc7aa 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 8.0. Last change: 2018 Apr 19 +*autocmd.txt* For Vim version 8.0. Last change: 2018 Apr 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -347,6 +347,7 @@ Name triggered by ~ when popup menu visible |TextYankPost| after text is yanked or deleted +|ColorSchemePre| before loading a color scheme |ColorScheme| after loading a color scheme |RemoteReply| a reply from a server Vim was received @@ -562,6 +563,10 @@ ColorScheme After loading a color scheme. |:colorscheme| set, and for the new colorscheme name. + *ColorSchemePre* +ColorSchemePre Before loading a color scheme. |:colorscheme| + Useful to setup removing things added by a + color scheme, before another one is loaded. *CompleteDone* CompleteDone After Insert mode completion is done. Either diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt index d87d4fe957..25577a2b6a 100644 --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -175,12 +175,14 @@ CTRL-R CTRL-F *c_CTRL-R_CTRL-F* *c__* CTRL-R CTRL-P *c_CTRL-R_CTRL-P* *c__* CTRL-R CTRL-W *c_CTRL-R_CTRL-W* *c__* CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c__* +CTRL-R CTRL-L *c_CTRL-R_CTRL-L* *c__* Insert the object under the cursor: CTRL-F the Filename under the cursor CTRL-P the Filename under the cursor, expanded with 'path' as in |gf| CTRL-W the Word under the cursor CTRL-A the WORD under the cursor; see |WORD| + CTRL-L the line under the cursor When 'incsearch' is set the cursor position at the end of the currently displayed match is used. With CTRL-W the part of @@ -192,8 +194,8 @@ CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c__* *c_CTRL-R_CTRL-R* *c__* *c_CTRL-R_CTRL-O* *c__* -CTRL-R CTRL-R {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A} -CTRL-R CTRL-O {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A} +CTRL-R CTRL-R {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L} +CTRL-R CTRL-O {0-9a-z"%#:-=. CTRL-F CTRL-P CTRL-W CTRL-A CTRL-L} Insert register or object under the cursor. Works like |c_CTRL-R| but inserts the text literally. For example, if register a contains "xy^Hz" (where ^H is a backspace), diff --git a/runtime/doc/develop.txt b/runtime/doc/develop.txt index 97823f36f7..e9c0ee9a01 100644 --- a/runtime/doc/develop.txt +++ b/runtime/doc/develop.txt @@ -1,4 +1,4 @@ -*develop.txt* For Vim version 8.0. Last change: 2018 Apr 18 +*develop.txt* For Vim version 8.0. Last change: 2018 Apr 23 VIM REFERENCE MANUAL by Bram Moolenaar @@ -182,7 +182,7 @@ The basic steps to make changes to the code: include the diff. Or create a pull request on github. -C COMPILER *style-compiler* +C COMPILER *style-compiler* *ANSI-C* *C89* *C99* The minimal C compiler version supported is C89, also known as ANSI C. Later standards, such as C99, are not widely supported, or at least not 100% diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index b9697ab6a2..d125c2e052 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 8.0. Last change: 2018 Apr 20 +*eval.txt* For Vim version 8.0. Last change: 2018 Apr 28 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1548,10 +1548,12 @@ v:errmsg Last given error message. It's allowed to set this variable. : ... handle error < "errmsg" also works, for backwards compatibility. - *v:errors* *errors-variable* + *v:errors* *errors-variable* *assert-return* v:errors Errors found by assert functions, such as |assert_true()|. This is a list of strings. The assert functions append an item when an assert fails. + The return value indicates this: a one is returned if an item + was added to v:errors, otherwise zero is returned. To remove old results make it empty: > :let v:errors = [] < If v:errors is set to anything but a list it is made an empty @@ -2020,26 +2022,26 @@ argidx() Number current index in the argument list arglistid([{winnr} [, {tabnr}]]) Number argument list id argv({nr}) String {nr} entry of the argument list argv() List the argument list -assert_beeps({cmd}) none assert {cmd} causes a beep +assert_beeps({cmd}) Number assert {cmd} causes a beep assert_equal({exp}, {act} [, {msg}]) - none assert {exp} is equal to {act} + Number assert {exp} is equal to {act} assert_equalfile({fname-one}, {fname-two}) - none assert file contents is equal + Number assert file contents is equal assert_exception({error} [, {msg}]) - none assert {error} is in v:exception -assert_fails({cmd} [, {error}]) none assert {cmd} fails + Number assert {error} is in v:exception +assert_fails({cmd} [, {error}]) Number assert {cmd} fails assert_false({actual} [, {msg}]) - none assert {actual} is false + Number assert {actual} is false assert_inrange({lower}, {upper}, {actual} [, {msg}]) - none assert {actual} is inside the range + Number assert {actual} is inside the range assert_match({pat}, {text} [, {msg}]) - none assert {pat} matches {text} + Number assert {pat} matches {text} assert_notequal({exp}, {act} [, {msg}]) - none assert {exp} is not equal {act} + Number assert {exp} is not equal {act} assert_notmatch({pat}, {text} [, {msg}]) - none assert {pat} not matches {text} -assert_report({msg}) none report a test failure -assert_true({actual} [, {msg}]) none assert {actual} is true + Number assert {pat} not matches {text} +assert_report({msg}) Number report a test failure +assert_true({actual} [, {msg}]) Number assert {actual} is true asin({expr}) Float arc sine of {expr} atan({expr}) Float arc tangent of {expr} atan2({expr1}, {expr2}) Float arc tangent of {expr1} / {expr2} @@ -2593,12 +2595,13 @@ argv([{nr}]) The result is the {nr}th file in the argument list of the assert_beeps({cmd}) *assert_beeps()* Run {cmd} and add an error message to |v:errors| if it does NOT produce a beep or visual bell. - Also see |assert_fails()|. + Also see |assert_fails()| and |assert-return|. *assert_equal()* assert_equal({expected}, {actual} [, {msg}]) When {expected} and {actual} are not equal an error message is - added to |v:errors|. + added to |v:errors| and 1 is returned. Otherwise zero is + returned |assert-return|. There is no automatic conversion, the String "4" is different from the Number 4. And the number 4 is different from the Float 4.0. The value of 'ignorecase' is not used here, case @@ -2614,13 +2617,14 @@ assert_equal({expected}, {actual} [, {msg}]) assert_equalfile({fname-one}, {fname-two}) When the files {fname-one} and {fname-two} do not contain exactly the same text an error message is added to |v:errors|. + Also see |assert-return|. When {fname-one} or {fname-two} does not exist the error will mention that. Mainly useful with |terminal-diff|. assert_exception({error} [, {msg}]) *assert_exception()* When v:exception does not contain the string {error} an error - message is added to |v:errors|. + message is added to |v:errors|. Also see |assert-return|. This can be used to assert that a command throws an exception. Using the error number, followed by a colon, avoids problems with translations: > @@ -2633,14 +2637,15 @@ assert_exception({error} [, {msg}]) *assert_exception()* assert_fails({cmd} [, {error}]) *assert_fails()* Run {cmd} and add an error message to |v:errors| if it does - NOT produce an error. + NOT produce an error. Also see |assert-return|. When {error} is given it must match in |v:errmsg|. Note that beeping is not considered an error, and some failing commands only beep. Use |assert_beeps()| for those. assert_false({actual} [, {msg}]) *assert_false()* When {actual} is not false an error message is added to - |v:errors|, like with |assert_equal()|. + |v:errors|, like with |assert_equal()|. + Also see |assert-return|. A value is false when it is zero. When {actual} is not a number the assert fails. When {msg} is omitted an error in the form @@ -2649,7 +2654,7 @@ assert_false({actual} [, {msg}]) *assert_false()* assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()* This asserts number values. When {actual} is lower than {lower} or higher than {upper} an error message is added to - |v:errors|. + |v:errors|. Also see |assert-return|. When {msg} is omitted an error in the form "Expected range {lower} - {upper}, but got {actual}" is produced. @@ -2657,7 +2662,7 @@ assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()* *assert_match()* assert_match({pattern}, {actual} [, {msg}]) When {pattern} does not match {actual} an error message is - added to |v:errors|. + added to |v:errors|. Also see |assert-return|. {pattern} is used as with |=~|: The matching is always done like 'magic' was set and 'cpoptions' is empty, no matter what @@ -2678,18 +2683,22 @@ assert_match({pattern}, {actual} [, {msg}]) assert_notequal({expected}, {actual} [, {msg}]) The opposite of `assert_equal()`: add an error message to |v:errors| when {expected} and {actual} are equal. + Also see |assert-return|. *assert_notmatch()* assert_notmatch({pattern}, {actual} [, {msg}]) The opposite of `assert_match()`: add an error message to |v:errors| when {pattern} matches {actual}. + Also see |assert-return|. assert_report({msg}) *assert_report()* Report a test failure directly, using {msg}. + Always returns one. assert_true({actual} [, {msg}]) *assert_true()* When {actual} is not true an error message is added to |v:errors|, like with |assert_equal()|. + Also see |assert-return|. A value is TRUE when it is a non-zero number. When {actual} is not a number the assert fails. When {msg} is omitted an error in the form "Expected True but @@ -4728,6 +4737,7 @@ getqflist([{what}]) *getqflist()* list item is a dictionary with these entries: bufnr number of buffer that has the file name, use bufname() to get the name + module module name lnum line number in the buffer (first line is 1) col column number (first column is 1) vcol |TRUE|: "col" is visual column @@ -4753,8 +4763,8 @@ getqflist([{what}]) *getqflist()* returns only the items listed in {what} as a dictionary. The following string items are supported in {what}: changedtick get the total number of changes made - to the list - context get the context stored with |setqflist()| + to the list |quickfix-changedtick| + context get the |quickfix-context| efm errorformat to use when parsing "lines". If not present, then the 'errorformat' option value is used. @@ -4763,15 +4773,15 @@ getqflist([{what}]) *getqflist()* current list or the list specified by "nr" idx index of the current entry in the list items quickfix list entries - lines use 'errorformat' to extract items from a list - of lines and return the resulting entries. - Only a |List| type is accepted. The current - quickfix list is not modified. + lines parse a list of lines using 'efm' and return + the resulting entries. Only a |List| type is + accepted. The current quickfix list is not + modified. See |quickfix-parse|. nr get information for this quickfix list; zero means the current quickfix list and "$" means the last quickfix list size number of entries in the quickfix list - title get the list title + title get the list title |quickfix-title| winid get the quickfix |window-ID| all all of the above quickfix properties Non-string items in {what} are ignored. To get the value of a @@ -4789,7 +4799,7 @@ getqflist([{what}]) *getqflist()* The returned dictionary contains the following entries: changedtick total number of changes made to the list |quickfix-changedtick| - context context information stored with |setqflist()|. + context quickfix list context. See |quickfix-context| If not present, set to "". id quickfix list ID |quickfix-ID|. If not present, set to 0. @@ -4804,12 +4814,11 @@ getqflist([{what}]) *getqflist()* to "". winid quickfix |window-ID|. If not present, set to 0 - Examples: > + Examples (See also |getqflist-examples|): > :echo getqflist({'all': 1}) :echo getqflist({'nr': 2, 'title': 1}) :echo getqflist({'lines' : ["F1:10:L10"]}) < - getreg([{regname} [, 1 [, {list}]]]) *getreg()* The result is a String, which is the contents of register {regname}. Example: > @@ -5392,10 +5401,11 @@ job_getchannel({job}) *job_getchannel()* < {only available when compiled with the |+job| feature} -job_info({job}) *job_info()* +job_info([{job}]) *job_info()* Returns a Dictionary with information about {job}: "status" what |job_status()| returns "channel" what |job_getchannel()| returns + "cmd" List of command arguments used to start the job "process" process ID "tty_in" terminal input name, empty when none "tty_out" terminal output name, empty when none @@ -5403,6 +5413,8 @@ job_info({job}) *job_info()* "exit_cb" function to be called on exit "stoponexit" |job-stoponexit| + Without any arguments, returns a List with all Job objects. + job_setoptions({job}, {options}) *job_setoptions()* Change options for {job}. Supported are: "stoponexit" |job-stoponexit| @@ -7210,6 +7222,8 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()* buffer filename name of a file; only used when "bufnr" is not present or it is invalid. + module name of a module; if given it will be used in + quickfix error window instead of the filename. lnum line number in the file pattern search pattern used to locate the error col column number @@ -7258,7 +7272,7 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()* only the items listed in {what} are set. The first {list} argument is ignored. The following items can be specified in {what}: - context any Vim type can be stored as a context + context quickfix list context. See |quickfix-context| efm errorformat to use when parsing text from "lines". If this is not present, then the 'errorformat' option value is used. @@ -7280,10 +7294,10 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()* list is modified, "id" should be used instead of "nr" to specify the list. - Examples: > + Examples (See also |setqflist-examples|): > :call setqflist([], 'r', {'title': 'My search'}) :call setqflist([], 'r', {'nr': 2, 'title': 'Errors'}) - :call setqflist([], 'a', {'id':myid, 'lines':["F1:10:L10"]}) + :call setqflist([], 'a', {'id':qfid, 'lines':["F1:10:L10"]}) < Returns zero for success, -1 for failure. diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index 4950097972..1d5bd3fa15 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 8.0. Last change: 2018 Apr 21 +*options.txt* For Vim version 8.0. Last change: 2018 Apr 22 VIM REFERENCE MANUAL by Bram Moolenaar @@ -2140,7 +2140,7 @@ A jump table for the options with a short description can be found at |Q_op|. *cpo-E* E It is an error when using "y", "d", "c", "g~", "gu" or "gU" on an Empty region. The operators only work when - at least one character is to be operate on. Example: + at least one character is to be operated on. Example: This makes "y0" fail in the first column. *cpo-f* f When included, a ":read" command with a file name @@ -6245,7 +6245,7 @@ A jump table for the options with a short description can be found at |Q_op|. {only available when compiled with the |+reltime| feature} The time in milliseconds for redrawing the display. This applies to - searching for patterns for 'hlsearch', |:match| highlighting an syntax + searching for patterns for 'hlsearch', |:match| highlighting and syntax highlighting. When redrawing takes more than this many milliseconds no further matches will be highlighted. diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt index e627686bfc..96085d2e2c 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -1,4 +1,4 @@ -*quickfix.txt* For Vim version 8.0. Last change: 2018 Mar 29 +*quickfix.txt* For Vim version 8.0. Last change: 2018 Apr 28 VIM REFERENCE MANUAL by Bram Moolenaar @@ -596,6 +596,96 @@ window ID of the quickfix window and location list window respectively (if present). Examples: > echo getqflist({'winid' : 1}).winid echo getloclist(2, {'winid' : 1}).winid +< + *getqflist-examples* +The getqflist() and getloclist() functions can be used to get the various +attributes of a quickfix and location list respectively. Some examples for +using these functions are below: +> + " get the title of the current quickfix list + :echo getqflist({'title' : 0}).title + + " get the identifier of the current quickfix list + :let qfid = getqflist({'id' : 0}).id + + " get the index of the current quickfix list in the stack + :let qfnum = getqflist({'nr' : 0}).nr + + " get the items of a quickfix list specified by an identifier + :echo getqflist({'id' : qfid, 'items' : 0}).items + + " get the number of entries in a quickfix list specified by an id + :echo getqflist({'id' : qfid, 'size' : 0}).size + + " get the context of the third quickfix list in the stack + :echo getqflist({'nr' : 3, 'context' : 0}).context + + " get the number of quickfix lists in the stack + :echo getqflist({'nr' : '$'}).nr + + " get the number of times the current quickfix list is changed + :echo getqflist({'changedtick' : 0}).changedtick + + " get the current entry in a quickfix list specified by an identifier + :echo getqflist({'id' : qfid, 'idx' : 0}).idx + + " get all the quickfix list attributes using an identifier + :echo getqflist({'id' : qfid, 'all' : 0}) + + " parse text from a List of lines and return a quickfix list + :let myList = ["a.java:10:L10", "b.java:20:L20"] + :echo getqflist({'lines' : myList}).items + + " parse text using a custom 'efm' and return a quickfix list + :echo getqflist({'lines' : ['a.c#10#Line 10'], 'efm':'%f#%l#%m'}).items + + " get the quickfix list window id + :echo getqflist({'winid' : 0}).winid + + " get the context of the current location list + :echo getloclist(0, {'context' : 0}).context + + " get the location list window id of the third window + :echo getloclist(3, {'winid' : 0}).winid +< + *setqflist-examples* +The setqflist() and setloclist() functions can be used to set the various +attributes of a quickfix and location list respectively. Some examples for +using these functions are below: +> + " set the title of the current quickfix list + :call setqflist([], 'a', {'title' : 'Mytitle'}) + + " set the context of a quickfix list specified by an identifier + :call setqflist([], 'a', {'id' : qfid, 'context' : {'val' : 100}}) + + " create a new quickfix list from a command output + :call setqflist([], ' ', {'lines' : systemlist('grep -Hn main *.c')}) + + " parse text using a custom efm and add to a particular quickfix list + :call setqflist([], 'a', {'id' : qfid, + \ 'lines' : ["a.c#10#L10", "b.c#20#L20"], 'efm':'%f#%l#%m'}) + + " add items to the quickfix list specified by an identifier + :let newItems = [{'filename' : 'a.txt', 'lnum' : 10, 'text' : "Apple"}, + \ {'filename' : 'b.txt', 'lnum' : 20, 'text' : "Orange"}] + :call setqflist([], 'a', {'id' : qfid, 'items' : newItems}) + + " free all the quickfix lists in the stack + :call setqflist([], 'f') + + " set the title of the fourth quickfix list + :call setqflist([], 'a', {'nr' : 4, 'title' : 'SomeTitle'}) + + " create a new quickfix list at the end of the stack + :call setqflist([], ' ', {'nr' : '$', + \ 'lines' : systemlist('grep -Hn class *.java')}) + + " create a new location list from a command output + :call setloclist(0, [], ' ', {'lines' : systemlist('grep -Hn main *.c')}) + + " replace the location list entries for the third window + :call setloclist(3, [], 'r', {'items' : newItems}) < ============================================================================= 3. Using more than one list of errors *quickfix-error-lists* @@ -1130,6 +1220,7 @@ you want to match case, add "\C" to the pattern |/\C|. Basic items %f file name (finds a string) + %o module name (finds a string) %l line number (finds a number) %c column number (finds a number representing character column of the error, (1 == 1 character column)) @@ -1174,6 +1265,11 @@ conversion can be used to locate lines without a line number in the error output. Like the output of the "grep" shell command. When the pattern is present the line number will not be used. +The "%o" conversion specifies the module name in quickfix entry. If present +it will be used in quickfix error window instead of the filename. The module +name is used only for displaying purposes, the file name is used when jumping +to the file. + Changing directory The following uppercase conversion characters specify the type of special diff --git a/runtime/doc/scroll.txt b/runtime/doc/scroll.txt index 35301f618c..653e7edffc 100644 --- a/runtime/doc/scroll.txt +++ b/runtime/doc/scroll.txt @@ -1,4 +1,4 @@ -*scroll.txt* For Vim version 8.0. Last change: 2016 Nov 10 +*scroll.txt* For Vim version 8.0. Last change: 2018 Apr 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -32,6 +32,7 @@ seen): *CTRL-E* CTRL-E Scroll window [count] lines downwards in the buffer. + The text moves upwards on the screen. Mnemonic: Extra lines. *CTRL-D* @@ -70,6 +71,7 @@ seen): *CTRL-Y* CTRL-Y Scroll window [count] lines upwards in the buffer. + The text moves downwards on the screen. Note: When using the MS-Windows key bindings CTRL-Y is remapped to redo. diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt index eaa78b3c0c..b5db73344c 100644 --- a/runtime/doc/syntax.txt +++ b/runtime/doc/syntax.txt @@ -1,4 +1,4 @@ -*syntax.txt* For Vim version 8.0. Last change: 2018 Jan 31 +*syntax.txt* For Vim version 8.0. Last change: 2018 Apr 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -4627,7 +4627,9 @@ in their own color. runtime colors/evening.vim hi Statement ctermfg=Blue guifg=Blue -< After the color scheme has been loaded the +< Before the color scheme will be loaded the + |ColorSchemePre| autocommand event is triggered. + After the color scheme has been loaded the |ColorScheme| autocommand event is triggered. For info about writing a colorscheme file: > :edit $VIMRUNTIME/colors/README.txt diff --git a/runtime/doc/tags b/runtime/doc/tags index dc3444eae2..a34f9f51be 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -3570,6 +3570,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* @r eval.txt /*@r* A insert.txt /*A* ACL editing.txt /*ACL* +ANSI-C develop.txt /*ANSI-C* ATTENTION usr_11.txt /*ATTENTION* Abbreviations map.txt /*Abbreviations* Actions.plist gui_mac.txt /*Actions.plist* @@ -3611,6 +3612,8 @@ BufWritePre autocmd.txt /*BufWritePre* C change.txt /*C* C-editing tips.txt /*C-editing* C-indenting indent.txt /*C-indenting* +C89 develop.txt /*C89* +C99 develop.txt /*C99* COMSPEC starting.txt /*COMSPEC* CR-used-for-NL pattern.txt /*CR-used-for-NL* CTRL-6 editing.txt /*CTRL-6* @@ -3745,6 +3748,7 @@ CmdlineLeave autocmd.txt /*CmdlineLeave* CmdwinEnter autocmd.txt /*CmdwinEnter* CmdwinLeave autocmd.txt /*CmdwinLeave* ColorScheme autocmd.txt /*ColorScheme* +ColorSchemePre autocmd.txt /*ColorSchemePre* Colors.plist gui_mac.txt /*Colors.plist* Command-line cmdline.txt /*Command-line* Command-line-mode cmdline.txt /*Command-line-mode* @@ -5172,6 +5176,7 @@ asin() eval.txt /*asin()* asm.vim syntax.txt /*asm.vim* asm68k syntax.txt /*asm68k* asmh8300.vim syntax.txt /*asmh8300.vim* +assert-return eval.txt /*assert-return* assert_beeps() eval.txt /*assert_beeps()* assert_equal() eval.txt /*assert_equal()* assert_equalfile() eval.txt /*assert_equalfile()* @@ -6678,6 +6683,7 @@ getmatches() eval.txt /*getmatches()* getpid() eval.txt /*getpid()* getpos() eval.txt /*getpos()* getqflist() eval.txt /*getqflist()* +getqflist-examples quickfix.txt /*getqflist-examples* getreg() eval.txt /*getreg()* getregtype() eval.txt /*getregtype()* getscript pi_getscript.txt /*getscript* @@ -8454,6 +8460,7 @@ setloclist() eval.txt /*setloclist()* setmatches() eval.txt /*setmatches()* setpos() eval.txt /*setpos()* setqflist() eval.txt /*setqflist()* +setqflist-examples quickfix.txt /*setqflist-examples* setreg() eval.txt /*setreg()* settabvar() eval.txt /*settabvar()* settabwinvar() eval.txt /*settabwinvar()* @@ -9829,6 +9836,7 @@ zz scroll.txt /*zz* {Visual} intro.txt /*{Visual}* {address} cmdline.txt /*{address}* {arglist} editing.txt /*{arglist}* +{bufname} windows.txt /*{bufname}* {char1-char2} intro.txt /*{char1-char2}* {event} autocmd.txt /*{event}* {file} editing.txt /*{file}* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 9c2625587a..b9c61cd5a9 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.0. Last change: 2018 Apr 20 +*todo.txt* For Vim version 8.0. Last change: 2018 Apr 30 VIM REFERENCE MANUAL by Bram Moolenaar @@ -40,32 +40,31 @@ Terminal emulator window: Problem with sudo. #2758 +Make assert_functions return non-zero on failure. Make sure they add one +entry to v:errors then. +Use WaitForAssert() in tests: give error when failed. +Remove asserts after WaitFor(). + +balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec +20, #2481) +Also see #2352, want better control over balloon, perhaps set the position. + Errors found with random data: heap-buffer-overflow in alist_add (#2472) -Patch to avoid bad highlighting caused by #if. (ichizok, #2731) +Patch to shorten filenames in quickfix window. (Yegappan, 2018 Apr 28, #2851, +closes #2846) -Patch to refactor qf_set_properties(). (Yegappan, Apr 17, #2812) - -Patch for static analysis warnings. (Christian Brabandt, 2018 Apr 1, #2770) -Ther are more here: https://lgtm.com/projects/g/vim/vim/alerts/?mode=list - -Patch to refactor ex_helpgrep. (Yegappan, #2766, 2018 Mar 30) -Also in email, take the one with a test. - -Allow for C99 features, decide which ones are OK: -- "inline" -- "long long" -- flexible array members (change code to avoid FORTIFY_SOURCE problems) +More warnings from static analysis: +https://lgtm.com/projects/g/vim/vim/alerts/?mode=list Looks like an error for inserting register makes ":file other" not work. (Tom M, 2018 Mar 28) Reset did_emsg after inserting a register. Or at the top of the loop? (Apr 4) -Patch to fix mouse pointer after :tselect. (Hirohito Higashi, #2709) -How to reproduce the problem? Remarks by Hirohito, Apr 8. - -Patch to avoid job killed when I/O is disconnected. (ichizok, #2734) +Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun +8, #1757) Now part of #2322. Or #2327? #1757 was re-opened, include that +first. When opening foo/x.txt and bar/x.txt get swap file warning. Should check the file name. (Juergen Weigert) @@ -80,14 +79,6 @@ Tests failing for "make testgui" with GTK: - Test_setbufvar_options() - Test_exit_callback_interval() -Mouse pointer sticks to stop shape. Only on Windows GUI? #2709 - -Patch to make log_tr() use variable arguments. (Ichizok, 2018 Mar 20, #2730) - -balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec -20, #2481) -Also see #2352, want better control over balloon, perhaps set the position. - Try out background make plugin: https://github.com/AndrewVos/vim-make-background or asyncmake: @@ -96,18 +87,13 @@ or asyncmake: Add a ModeChanged autocommand that has an argument indicating the old and new mode. Also used for switching Terminal mode. -Cursor in status line after search. (#2530) +Patch to shorten filenames in quickfix window. (Yegappan Lakshmanan, 2018 +Apr 27) Add an option with file patterns, to be used when unloading a buffer: If there is a match, remove entries for the buffer from marks, jumplist, etc. To be used for git temp files. -Patch to fix that an empty buffer remains when using :argedit. (Christian, -#2713) Updated patch. - -Patch to fix interaction between 'virtualedit' and i_CTRL-G_j. (Christian -Brabandt, #2743) - Cursor in wrong position when line wraps. (#2540) Add an option similar to 'lazyredraw' to skip redrawing while executing a @@ -131,6 +117,9 @@ Jan 15, #2555) Check argument of systemlist(). (Pavlov) +Patch to support 256 colors in Windows console. (Nobuhiro Takasaki, 2018 Apr +25, #2821) + Patch to add reg_executing() and reg_recording(). (Hirohito Higashi, #2745) No maintainer for Vietnamese translations. @@ -146,10 +135,6 @@ Should be supported with a flag. Starting job with cwd option, when the directory does not exist, gives a confusing error message. (Wang Shidong, 2018 Jan 2, #2519) -Patch to add "module" to quickfix entries. (Marcin Szamotulski, Coot, 2017 Jun -8, #1757) Now part of #2322. Or #2327? #1757 was re-opened, include that -first. - Add the debug command line history to viminfo. Avoid that "sign unplace id" does a redraw right away, esp. when there is a @@ -163,6 +148,9 @@ Add Makefiles to the runtime/spell directory tree, since nobody uses Aap. Will have to explain the manual steps (downloading the .aff and .dic files, applying the diff, etc. +Pasting a register in Visual mode cannot be repeated. (Mahmoud Al-Qudsi, 2018 +Apr 26, #2849) + User dictionary ~/.vim/spell/lang.utf-8.add not used for spell checking until a word is re-added to it. (Matej Cepl, 2018 Feb 6) @@ -252,9 +240,6 @@ ml_get errors with buggy script. (Dominique, 2017 Apr 30) Error in emsg with buggy script. (Dominique, 2017 Apr 30) -Using CTRL-G j in insert mode in combination with 'virtualedit' doesn't work -as expected. (Rich, 2018 March 23, #2743) - Patch to fix encoding in print document name (Yasuhiro Matsumoto, 2017 Dec 20, #2478) diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt index c5021cd48c..c6c8cadf19 100644 --- a/runtime/doc/windows.txt +++ b/runtime/doc/windows.txt @@ -1,4 +1,4 @@ -*windows.txt* For Vim version 8.0. Last change: 2018 Mar 29 +*windows.txt* For Vim version 8.0. Last change: 2018 Apr 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1083,10 +1083,8 @@ list of buffers. |unlisted-buffer| < :bdelete[!] {bufname} *E93* *E94* - Like ":bdelete[!] [N]", but buffer given by name. Note that a - buffer whose name is a number cannot be referenced by that - name; use the buffer number instead. Insert a backslash - before a space in a buffer name. + Like ":bdelete[!] [N]", but buffer given by name, see + |{bufname}|. :bdelete[!] N1 N2 ... Do ":bdelete[!]" for buffer N1, N2, etc. The arguments can be @@ -1123,10 +1121,8 @@ list of buffers. |unlisted-buffer| into a loaded buffer. :bunload[!] {bufname} - Like ":bunload[!] [N]", but buffer given by name. Note that a - buffer whose name is a number cannot be referenced by that - name; use the buffer number instead. Insert a backslash - before a space in a buffer name. + Like ":bunload[!] [N]", but buffer given by name. + Also see |{bufname}|. :N,Mbunload[!] Do ":bunload[!]" for all buffers in the range N to M |inclusive|. @@ -1144,10 +1140,16 @@ list of buffers. |unlisted-buffer| list, without setting the 'buflisted' flag. Also see |+cmd|. -:[N]b[uffer][!] [+cmd] {bufname} - Edit buffer for {bufname} from the buffer list. See - |:buffer-!| for [!]. This will also edit a buffer that is not - in the buffer list, without setting the 'buflisted' flag. +:[N]b[uffer][!] [+cmd] {bufname} *{bufname}* + Edit buffer for {bufname} from the buffer list. A partial + name also works, so long as it is unique in the list of + buffers. + Note that a buffer whose name is a number cannot be referenced + by that name; use the buffer number instead. + Insert a backslash before a space in a buffer name. + See |:buffer-!| for [!]. + This will also edit a buffer that is not in the buffer list, + without setting the 'buflisted' flag. Also see |+cmd|. :[N]sb[uffer] [+cmd] [N] *:sb* *:sbuffer* @@ -1159,7 +1161,7 @@ list of buffers. |unlisted-buffer| Also see |+cmd|. :[N]sb[uffer] [+cmd] {bufname} - Split window and edit buffer for {bufname} from the buffer + Split window and edit buffer for |{bufname}| from the buffer list. This will also edit a buffer that is not in the buffer list, without setting the 'buflisted' flag. Note: If what you want to do is split the buffer, make a copy diff --git a/runtime/lang/menu_fr_fr.latin1.vim b/runtime/lang/menu_fr_fr.latin1.vim index c4b63c7833..940bd96545 100644 --- a/runtime/lang/menu_fr_fr.latin1.vim +++ b/runtime/lang/menu_fr_fr.latin1.vim @@ -2,7 +2,7 @@ " Maintainer: Adrien Beau " First Version: Francois Thunus " Last Modification: David Blanchet -" Last Change: 2012 May 01 +" Last Change: 2018 Apr 25 " Quit when menu translations have already been done. if exists("did_menu_trans") @@ -47,7 +47,7 @@ menutrans &Close:close &Fermer:close menutrans &Save:w &Enregistrer:w menutrans Save\ &As\.\.\.:sav Enregistrer\ &sous\.\.\.:sav " -SEP2- -menutrans Split\ &Diff\ with\.\.\. &Difference\ avec\.\.\. +menutrans Split\ &Diff\ with\.\.\. &Différence\ avec\.\.\. "menutrans Split\ Patched\ &By\.\.\. &Patcher\ avec\.\.\. menutrans Split\ Patched\ &By\.\.\. &Tester\ un\ patch\.\.\. " -SEP3- @@ -121,7 +121,7 @@ menutrans Soft\ &Tabstop &Pseudo-tabulations menutrans Te&xt\ Width\.\.\. Largeur\ du\ te&xte\.\.\. menutrans &File\ Format\.\.\. Format\ du\ &fichier\.\.\. -let g:menutrans_textwidth_dialog = "Entrez la nouvelle largeur du texte\n(0 pour désactiver le formattage)." +let g:menutrans_textwidth_dialog = "Entrez la nouvelle largeur du texte\n(0 pour désactiver le formatage)." let g:menutrans_fileformat_dialog = "Choisissez le format dans lequel écrire le fichier." let g:menutrans_fileformat_choices = " &Unix \n &Dos \n &Mac \n &Annuler " @@ -340,7 +340,7 @@ fun! Do_toolbar_tmenu() tmenu ToolBar.WinClose Fermer fenêtre endif tmenu ToolBar.LoadSesn Ouvrir session - tmenu ToolBar.SaveSesn Enregister session courante + tmenu ToolBar.SaveSesn Enregistrer session courante tmenu ToolBar.RunScript Lancer un script Vim tmenu ToolBar.Make Lancer make tmenu ToolBar.RunCtags Créer les étiquettes diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim index 012d2ae2a5..7b255e2826 100644 --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -1,9 +1,9 @@ " Vim syntax file " Language: Vim 8.0 script " Maintainer: Charles E. Campbell -" Last Change: February 13, 2018 -" Version: 8.0-12 -" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM +" Last Change: April 30, 2018 +" Version: 8.0-14 +" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM " Automatically generated keyword lists: {{{1 " Quit when a syntax file was already loaded {{{2 @@ -19,34 +19,34 @@ syn keyword vimTodo contained COMBAK FIXME TODO XXX syn cluster vimCommentGroup contains=vimTodo,@Spell " regular vim commands {{{2 -syn keyword vimCommand contained a arga[dd] argu[ment] bad[d] bn[ext] breakd[el] bw[ipeout] cadde[xpr] cc cf[ile] changes cla[st] cnf[ile] comp[iler] cq[uit] cw[indow] delep dell diffg[et] dig[raphs] doau ea el[se] endt[ry] f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] isp[lit] keepa l[ist] lat lcl[ose] lex[pr] lgete[xpr] lla[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkv[imrc] n[ext] nmapc[lear] nore omapc[lear] pa[ckadd] perld[o] prev[ious] promptr[epl] ptj[ump] pts[elect] py[thon] pyx quita[ll] redr[aw] retu[rn] rub[y] sI sIn sal[l] sba[ll] sbp[revious] scg scripte[ncoding] setg[lobal] sgI sgn sic sim[alt] sla[st] smile so[urce] spelli[nfo] sr sri sta[g] stopi[nsert] sus[pend] sync ta[g] tabe[dit] tabn[ext] tabs te[aroff] tm[enu] to[pleft] tu[nmenu] undol[ist] up[date] vi[sual] vmapc[lear] wa[ll] winp[os] ws[verb] xmapc[lear] xprop -syn keyword vimCommand contained ab argd[elete] as[cii] bd[elete] bo[tright] breakl[ist] cN[ext] caddf[ile] ccl[ose] cfdo chd[ir] cle[arjumps] co[py] con[tinue] cr[ewind] d[elete] deletel delm[arks] diffo[ff] dir dp earlier elsei[f] endw[hile] files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] iuna[bbrev] keepalt la[st] later lcs lf[ile] lgr[ep] lli[st] lo[adview] lop[en] lua m[ove] mes mkvie[w] nb[key] noa nos[wapfile] on[ly] packl[oadall] po[p] pro ps[earch] ptl[ast] pu[t] pydo pyxdo r[ead] redraws[tatus] rew[ind] rubyd[o] sIc sIp san[dbox] sbf[irst] sbr[ewind] sci scs setl[ocal] sgc sgp sie sin sm[agic] sn[ext] sor[t] spellr[epall] srI srl star[tinsert] sts[elect] sv[iew] syncbind tab tabf[ind] tabnew tags tf[irst] tma[p] tp[revious] tunma[p] unh[ide] v vie[w] vne[w] wh[ile] wn[ext] wundo xme xunme -syn keyword vimCommand contained abc[lear] argdo au bel[owright] bp[revious] bro[wse] cNf[ile] cal[l] cd cfir[st] che[ckpath] clo[se] col[der] conf[irm] cs debug deletep delp diffp[atch] dj[ump] dr[op] ec em[enu] ene[w] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] j[oin] keepj[umps] lad[dexpr] lb[uffer] lcscope lfdo lgrepa[dd] lmak[e] loadk lp[revious] luado ma[rk] messages mod[e] nbc[lose] noautocmd nu[mber] opt[ions] pc[lose] popu[p] prof[ile] ptN[ext] ptn[ext] pw[d] pyf[ile] pyxfile rec[over] reg[isters] ri[ght] rubyf[ile] sIe sIr sav[eas] sbl[ast] sc scl scscope sf[ind] sge sgr sig sip sm[ap] sno[magic] sp[lit] spellu[ndo] src srn startg[replace] sun[hide] sw[apname] syntime tabN[ext] tabfir[st] tabo[nly] tc[l] th[row] tmapc[lear] tr[ewind] u[ndo] unl ve[rsion] vim[grep] vs[plit] win[size] wp[revious] wv[iminfo] xmenu xunmenu -syn keyword vimCommand contained abo[veleft] arge[dit] bN[ext] bf[irst] br[ewind] bufdo c[hange] cat[ch] cdo cg[etfile] checkt[ime] cmapc[lear] colo[rscheme] cope[n] cscope debugg[reedy] deletl dep diffpu[t] dl ds[earch] echoe[rr] en[dif] ex filetype fix[del] for gui helpg[rep] ia in ju[mps] keepp[atterns] laddb[uffer] lbo[ttom] ld[o] lfir[st] lh[elpgrep] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mk[exrc] mz[scheme] nbs[tart] noh[lsearch] o[pen] ownsyntax pe[rl] pp[op] profd[el] pta[g] ptp[revious] py3 python3 q[uit] red[o] res[ize] rightb[elow] rundo sIg sN[ext] sbN[ext] sbm[odified] scI scp se[t] sfir[st] sgi sh[ell] sign sir sme snoreme spe[llgood] spellw[rong] sre[wind] srp startr[eplace] sunme sy t tabc[lose] tabl[ast] tabp[revious] tcld[o] tj[ump] tn[ext] try una[bbreviate] unlo[ckvar] verb[ose] vimgrepa[dd] wN[ext] winc[md] wq x[it] xnoreme xwininfo -syn keyword vimCommand contained al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers cabc[lear] cb[uffer] ce[nter] cgetb[uffer] chi[story] cn[ext] com cp[revious] cstag delc[ommand] deletp di[splay] diffs[plit] dli[st] dsp[lit] echom[sg] endf[unction] exi[t] filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] intro k lN[ext] laddf[ile] lc[d] le[ft] lg[etfile] lhi[story] lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mks[ession] mzf[ile] new nor ol[dfiles] p[rint] ped[it] pre[serve] promptf[ind] ptf[irst] ptr[ewind] py3do pythonx qa[ll] redi[r] ret[ab] ru[ntime] rv[iminfo] sIl sa[rgument] sb[uffer] sbn[ext] sce scr[iptnames] setf[iletype] sg sgl si sil[ent] sl[eep] smenu snoremenu spelld[ump] spr[evious] srg st[op] stj[ump] sunmenu syn tN[ext] tabd[o] tabm[ove] tabr[ewind] tclf[ile] tl[ast] tno[remap] ts[elect] undoj[oin] uns[ilent] vert[ical] viu[sage] w[rite] windo wqa[ll] xa[ll] xnoremenu y[ank] -syn keyword vimCommand contained ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cad[dbuffer] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cnew[er] comc[lear] cpf[ile] cuna[bbrev] delel delf[unction] dif[fupdate] difft[his] do e[dit] echon endfo[r] exu[sage] fin[d] foldc[lose] g h[elp] hi if is[earch] kee[pmarks] lNf[ile] lan[guage] lch[dir] lefta[bove] lgetb[uffer] ll lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mksp[ell] +syn keyword vimCommand contained a arga[dd] argu[ment] bad[d] bn[ext] breakd[el] bw[ipeout] cadde[xpr] cc cf[ile] changes cla[st] cnf[ile] comp[iler] cq[uit] cw[indow] delep dell diffg[et] dig[raphs] doau ea el[se] endt[ry] f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] isp[lit] keepa l[ist] lat lcl[ose] lex[pr] lgete[xpr] lla[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkv[imrc] n[ext] nmapc[lear] nore omapc[lear] pa[ckadd] perld[o] prev[ious] promptr[epl] ptj[ump] pts[elect] py[thon] pyx quita[ll] redr[aw] retu[rn] rub[y] sI sIn sal[l] sba[ll] sbp[revious] scg scripte[ncoding] setg[lobal] sgI sgn sic sim[alt] sla[st] smile so[urce] spelli[nfo] sr sri sta[g] stopi[nsert] sus[pend] sync ta[g] tabe[dit] tabn[ext] tabs te[aroff] tm[enu] to[pleft] tu[nmenu] undol[ist] up[date] vi[sual] vmapc[lear] wa[ll] winp[os] ws[verb] xmapc[lear] xprop +syn keyword vimCommand contained ab argd[elete] as[cii] bd[elete] bo[tright] breakl[ist] cN[ext] caddf[ile] ccl[ose] cfdo chd[ir] cle[arjumps] co[py] con[tinue] cr[ewind] d[elete] deletel delm[arks] diffo[ff] dir dp earlier elsei[f] endw[hile] files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] iuna[bbrev] keepalt la[st] later lcs lf[ile] lgr[ep] lli[st] lo[adview] lop[en] lua m[ove] mes mkvie[w] nb[key] noa nos[wapfile] on[ly] packl[oadall] po[p] pro ps[earch] ptl[ast] pu[t] pydo pyxdo r[ead] redraws[tatus] rew[ind] rubyd[o] sIc sIp san[dbox] sbf[irst] sbr[ewind] sci scs setl[ocal] sgc sgp sie sin sm[agic] sn[ext] sor[t] spellr[epall] srI srl star[tinsert] sts[elect] sv[iew] syncbind tab tabf[ind] tabnew tags tf[irst] tma[p] tp[revious] tunma[p] unh[ide] v vie[w] vne[w] wh[ile] wn[ext] wundo xme xunme +syn keyword vimCommand contained abc[lear] argdo au bel[owright] bp[revious] bro[wse] cNf[ile] cal[l] cd cfir[st] che[ckpath] clo[se] col[der] conf[irm] cs debug deletep delp diffp[atch] dj[ump] dr[op] ec em[enu] ene[w] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] j[oin] keepj[umps] lad[dexpr] lb[uffer] lcscope lfdo lgrepa[dd] lmak[e] loadk lp[revious] luado ma[rk] messages mod[e] nbc[lose] noautocmd nu[mber] opt[ions] pc[lose] popu[p] prof[ile] ptN[ext] ptn[ext] pw[d] pyf[ile] pyxfile rec[over] reg[isters] ri[ght] rubyf[ile] sIe sIr sav[eas] sbl[ast] sc scl scscope sf[ind] sge sgr sig sip sm[ap] sno[magic] sp[lit] spellu[ndo] src srn startg[replace] sun[hide] sw[apname] syntime tabN[ext] tabfir[st] tabo[nly] tc[l] th[row] tmapc[lear] tr[ewind] u[ndo] unl ve[rsion] vim[grep] vs[plit] win[size] wp[revious] wv[iminfo] xmenu xunmenu +syn keyword vimCommand contained abo[veleft] arge[dit] bN[ext] bf[irst] br[ewind] bufdo c[hange] cat[ch] cdo cg[etfile] checkt[ime] cmapc[lear] colo[rscheme] cope[n] cscope debugg[reedy] deletl dep diffpu[t] dl ds[earch] echoe[rr] en[dif] ex filetype fix[del] for gui helpg[rep] ia in ju[mps] keepp[atterns] laddb[uffer] lbo[ttom] ld[o] lfir[st] lh[elpgrep] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mk[exrc] mz[scheme] nbs[tart] noh[lsearch] o[pen] ownsyntax pe[rl] pp[op] profd[el] pta[g] ptp[revious] py3 python3 q[uit] red[o] res[ize] rightb[elow] rundo sIg sN[ext] sbN[ext] sbm[odified] scI scp se[t] sfir[st] sgi sh[ell] sign sir sme snoreme spe[llgood] spellw[rong] sre[wind] srp startr[eplace] sunme sy t tabc[lose] tabl[ast] tabp[revious] tcld[o] tj[ump] tn[ext] try una[bbreviate] unlo[ckvar] verb[ose] vimgrepa[dd] wN[ext] winc[md] wq x[it] xnoreme xwininfo +syn keyword vimCommand contained al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers cabc[lear] cb[uffer] ce[nter] cgetb[uffer] chi[story] cn[ext] com cp[revious] cstag delc[ommand] deletp di[splay] diffs[plit] dli[st] dsp[lit] echom[sg] endf[unction] exi[t] filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] intro k lN[ext] laddf[ile] lc[d] le[ft] lg[etfile] lhi[story] lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mks[ession] mzf[ile] new nor ol[dfiles] p[rint] ped[it] pre[serve] promptf[ind] ptf[irst] ptr[ewind] py3do pythonx qa[ll] redi[r] ret[ab] ru[ntime] rv[iminfo] sIl sa[rgument] sb[uffer] sbn[ext] sce scr[iptnames] setf[iletype] sg sgl si sil[ent] sl[eep] smenu snoremenu spelld[ump] spr[evious] srg st[op] stj[ump] sunmenu syn tN[ext] tabd[o] tabm[ove] tabr[ewind] tclf[ile] tl[ast] tno[remap] ts[elect] undoj[oin] uns[ilent] vert[ical] viu[sage] w[rite] windo wqa[ll] xa[ll] xnoremenu y[ank] +syn keyword vimCommand contained ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cad[dbuffer] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cnew[er] comc[lear] cpf[ile] cuna[bbrev] delel delf[unction] dif[fupdate] difft[his] do e[dit] echon endfo[r] exu[sage] fin[d] foldc[lose] g h[elp] hi if is[earch] kee[pmarks] lNf[ile] lan[guage] lch[dir] lefta[bove] lgetb[uffer] ll lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mksp[ell] syn match vimCommand contained "\" -syn keyword vimStdPlugin contained DiffOrig Man N[ext] P[rint] S TOhtml XMLent XMLns +syn keyword vimStdPlugin contained DiffOrig Man N[ext] P[rint] S TOhtml XMLent XMLns " vimOptions are caught only when contained in a vimSet {{{2 -syn keyword vimOption contained acd ambw arshape background ballooneval bg bomb bs cb ch cinoptions cms commentstring copyindent cscopepathcomp csprg cursorbind delcombine digraph eadirection emo equalprg expandtab fdls fex fileignorecase fml foldlevel formatexpr gcr go guifontset helpheight history hlsearch imactivatekey imi imstyle indentkeys isf isprint km laststatus lisp loadplugins lz mat maxmempattern mh mmp more mouses mzq number opendevice paragraphs penc pi previewheight printmbcharset pvw rdt renderoptions rl ru sbo scrollbind secure shcf shelltemp shortmess showtabline sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs termguicolors tf title tms ts ttybuiltin tx undolevels vbs viewdir vop wd wic wildmode winheight wm wrapscan -syn keyword vimOption contained ai anti autochdir backspace balloonexpr bh breakat bsdir cc charconvert cinw co compatible cot cscopeprg csqf cursorcolumn dex dip eb emoji errorbells exrc fdm ff filetype fmr foldlevelstart formatlistpat gd gp guifontwide helplang hk ic imaf iminsert inc indk isfname joinspaces kmp lazyredraw lispwords lpl ma matchpairs maxmemtot mis mmt mouse mouseshape mzquantum numberwidth operatorfunc paste perldll pm previewwindow printmbfont pythondll re report rlc rubydll sbr scrolljump sel shell shelltype shortname shq slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc termkey tgc titlelen to tsl ttyfast uc undoreload vdir viewoptions wa weirdinvert wig wildoptions winminheight wmh write -syn keyword vimOption contained akm antialias autoindent backup bdir bin breakindent bsk ccv ci cinwords cocu complete cp cscopequickfix csre cursorline dg dir ed enc errorfile fcl fdn ffs fillchars fo foldmarker formatoptions gdefault grepformat guiheadroom hf hkmap icon imak ims include inex isi js kp lbr list lrm macatsui matchtime mco mkspellmem mod mousef mouset mzschemedll nuw opfunc pastetoggle pex pmbcs printdevice printoptions pythonthreedll readonly restorescreen rnu ruf sc scrolloff selection shellcmdflag shellxescape showbreak si sm so spellfile spr st sts swapsync syn tag tal tcldll termsize tgst titleold toolbar tsr ttym udf updatecount ve vif wak wfh wildchar wim winminwidth wmnu writeany -syn keyword vimOption contained al ar autoread backupcopy bdlay binary breakindentopt bt cd cin clipboard cole completefunc cpo cscoperelative cst cwh dict directory edcompatible encoding errorformat fcs fdo fic fixendofline foldclose foldmethod formatprg gfm grepprg guioptions hh hkmapp iconstring imc imsearch includeexpr inf isident key langmap lcs listchars ls magic maxcombine mef ml modeline mousefocus mousetime mzschemegcdll odev osfiletype patchexpr pexpr pmbfn printencoding prompt pyx redrawtime revins ro ruler scb scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb tenc terse thesaurus titlestring toolbariconsize ttimeout ttymouse udir updatetime verbose viminfo warn wfw wildcharm winaltkeys winptydll wmw writebackup -syn keyword vimOption contained aleph arab autowrite backupdir belloff bk bri bufhidden cdpath cindent cm colorcolumn completeopt cpoptions cscopetag csto debug dictionary display ef endofline esckeys fdc fdt fileencoding fixeol foldcolumn foldminlines fp gfn gtl guipty hi hkp ignorecase imcmdline imsf incsearch infercase isk keymap langmenu linebreak lm lsp makeef maxfuncdepth menc mls modelines mousehide mp nf oft pa patchmode pfn popt printexpr pt pyxversion regexpengine ri rop rulerformat scl scs sessionoptions shellquote shiftround showfulltag sidescrolloff smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi term textauto tildeop tk top ttimeoutlen ttyscroll ul ur verbosefile viminfofile wb wh wildignore window winwidth wop writedelay -syn keyword vimOption contained allowrevins arabic autowriteall backupext beval bkc briopt buflisted cedit cink cmdheight columns concealcursor cpt cscopetagorder csverb deco diff dy efm eol et fde fen fileencodings fk foldenable foldnestmax fs gfs gtt guitablabel hid hl im imd imst inde insertmode iskeyword keymodel langnoremap lines lmap luadll makeencoding maxmapdepth menuitems mm modifiable mousem mps nrformats ofu packpath path ph pp printfont pumheight qe relativenumber rightleft rs runtimepath scr sect sft shellredir shiftwidth showmatch signcolumn smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termbidi textmode timeout tl tpm ttm ttytype undodir ut vfile virtualedit wc whichwrap wildignorecase winfixheight wiv wrap ws -syn keyword vimOption contained altkeymap arabicshape aw backupskip bex bl brk buftype cf cinkeys cmdwinheight com conceallevel crb cscopeverbose cuc def diffexpr ea ei ep eventignore fdi fenc fileformat fkmap foldexpr foldopen fsync gfw guicursor guitabtooltip hidden hlg imactivatefunc imdisable imstatusfunc indentexpr is isp keywordprg langremap linespace lnr lw makeprg maxmem mfd mmd modified mousemodel msm nu omnifunc para pdev pheader preserveindent printheader pvh quoteescape remap rightleftcmd rtp sb scroll sections sh shellslash shm showmode siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis termencoding textwidth timeoutlen tm tr tty tw undofile vb vi visualbell wcm wi wildmenu winfixwidth wiw wrapmargin ww -syn keyword vimOption contained ambiwidth ari awa balloondelay bexpr bo browsedir casemap cfu cino cmp comments confirm cryptmethod cspc cul define diffopt ead ek equalalways ex fdl fencs fileformats flp foldignore foldtext ft ghr guifont helpfile highlight hls +syn keyword vimOption contained acd ambw arshape background ballooneval bex bl brk buftype cf cinkeys cmdwinheight com conceallevel crb cscopeverbose cuc def diffexpr ea ei ep eventignore fdi fenc fileformat fkmap foldexpr foldopen fsync gfw guicursor guitabtooltip hidden hlg imactivatefunc imi inc inex isident keymap langnoremap linespace lnr lw makeprg maxmem mfd mmd modified mousemodel msm nu omnifunc para pdev pheader preserveindent printheader pumwidth pythonthreehome readonly restorescreen rnu ruf sc scrolloff selection shellcmdflag shellxescape showbreak si sm so spellfile spr st sts swapsync syn tag tal tcldll termwinscroll tgc titlelen toolbariconsize ttimeout ttymouse tx undolevels vbs viewdir vop wd wic wildmode winheight wm wrapscan +syn keyword vimOption contained ai anti autochdir backspace balloonevalterm bexpr bo browsedir casemap cfu cino cmp comments confirm cryptmethod cspc cul define diffopt ead ek equalalways ex fdl fencs fileformats flp foldignore foldtext ft ghr guifont helpfile highlight hls imactivatekey iminsert include inf isk keymodel langremap lisp loadplugins lz mat maxmempattern mh mmp more mouses mzq number opendevice paragraphs penc pi previewheight printmbcharset pvh pyx redrawtime revins ro ruler scb scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb tenc termwinsize tgst titleold top ttimeoutlen ttyscroll uc undoreload vdir viewoptions wa weirdinvert wig wildoptions winminheight wmh write +syn keyword vimOption contained akm antialias autoindent backup balloonexpr bg bomb bs cb ch cinoptions cms commentstring copyindent cscopepathcomp csprg cursorbind delcombine digraph eadirection emo equalprg expandtab fdls fex fileignorecase fml foldlevel formatexpr gcr go guifontset helpheight history hlsearch imaf ims includeexpr infercase iskeyword keywordprg laststatus lispwords lpl ma matchpairs maxmemtot mis mmt mouse mouseshape mzquantum numberwidth operatorfunc paste perldll pm previewwindow printmbfont pvw pyxversion regexpengine ri rop rulerformat scl scs sessionoptions shellquote shiftround showfulltag sidescrolloff smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi term terse thesaurus titlestring tpm ttm ttytype udf updatecount ve vif wak wfh wildchar wim winminwidth wmnu writeany +syn keyword vimOption contained al ar autoread backupcopy bdir bh breakat bsdir cc charconvert cinw co compatible cot cscopeprg csqf cursorcolumn dex dip eb emoji errorbells exrc fdm ff filetype fmr foldlevelstart formatlistpat gd gp guifontwide helplang hk ic imak imsearch incsearch insertmode isp km lazyredraw list lrm macatsui matchtime mco mkspellmem mod mousef mouset mzschemedll nuw opfunc pastetoggle pex pmbcs printdevice printoptions pw qe relativenumber rightleft rs runtimepath scr sect sft shellredir shiftwidth showmatch signcolumn smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termbidi textauto tildeop tl tr tty tw udir updatetime verbose viminfo warn wfw wildcharm winaltkeys winptydll wmw writebackup +syn keyword vimOption contained aleph arab autowrite backupdir bdlay bin breakindent bsk ccv ci cinwords cocu complete cp cscopequickfix csre cursorline dg dir ed enc errorfile fcl fdn ffs fillchars fo foldmarker formatoptions gdefault grepformat guiheadroom hf hkmap icon imc imsf inde is isprint kmp lbr listchars ls magic maxcombine mef ml modeline mousefocus mousetime mzschemegcdll odev osfiletype patchexpr pexpr pmbfn printencoding prompt pythondll quoteescape remap rightleftcmd rtp sb scroll sections sh shellslash shm showmode siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis termencoding textmode timeout tm ts ttybuiltin twk ul ur verbosefile viminfofile wb wh wildignore window winwidth wop writedelay +syn keyword vimOption contained allowrevins arabic autowriteall backupext belloff binary breakindentopt bt cd cin clipboard cole completefunc cpo cscoperelative cst cwh dict directory edcompatible encoding errorformat fcs fdo fic fixendofline foldclose foldmethod formatprg gfm grepprg guioptions hh hkmapp iconstring imcmdline imst indentexpr isf joinspaces kp lcs lm lsp makeef maxfuncdepth menc mls modelines mousehide mp nf oft pa patchmode pfn popt printexpr pt pythonhome rdt renderoptions rl ru sbo scrollbind secure shcf shelltemp shortmess showtabline sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs termguicolors textwidth timeoutlen to tsl ttyfast tws undodir ut vfile virtualedit wc whichwrap wildignorecase winfixheight wiv wrap ws +syn keyword vimOption contained altkeymap arabicshape aw backupskip beval bk bri bufhidden cdpath cindent cm colorcolumn completeopt cpoptions cscopetag csto debug dictionary display ef endofline esckeys fdc fdt fileencoding fixeol foldcolumn foldminlines fp gfn gtl guipty hi hkp ignorecase imd imstatusfunc indentkeys isfname js langmap linebreak lmap luadll makeencoding maxmapdepth menuitems mm modifiable mousem mps nrformats ofu packpath path ph pp printfont pumheight pythonthreedll re report rlc rubydll sbr scrolljump sel shell shelltype shortname shq slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc termwinkey tf title toolbar tsr ttym twsl undofile vb vi visualbell wcm wi wildmenu winfixwidth wiw wrapmargin ww +syn keyword vimOption contained ambiwidth ari awa balloondelay bevalterm bkc briopt buflisted cedit cink cmdheight columns concealcursor cpt cscopetagorder csverb deco diff dy efm eol et fde fen fileencodings fk foldenable foldnestmax fs gfs gtt guitablabel hid hl im imdisable imstyle indk isi key langmenu lines " vimOptions: These are the turn-off setting variants {{{2 -syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobomb nobuflisted nocin noconfirm nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noinf nois nolangnoremap nolazyredraw nolinebreak nolist noloadplugins nolrm noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup -syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangremap nolbr nolisp nolnr nolpl nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows -syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobl nobri noci nocompatible nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noemoji noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noincsearch noinsertmode nojs +syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobevalterm nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangremap nolinebreak nolist noloadplugins nolrm noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup +syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa noballoonevalterm nobin nobl nobri noci nocompatible nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noemoji noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noincsearch noinsertmode nojs nolazyredraw nolisp nolnr nolpl nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows +syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobeval nobinary nobomb nobuflisted nocin noconfirm nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noinf nois nolangnoremap nolbr " vimOptions: These are the invertible variants {{{2 -syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbomb invbuflisted invcin invconfirm invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invinf invis invlangnoremap invlazyredraw invlinebreak invlist invloadplugins invlrm invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup -syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbk invbreakindent invcf invcindent invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invemo inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc invimdisable invinfercase invjoinspaces invlangremap invlbr invlisp invlnr invlpl invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws -syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbl invbri invci invcompatible invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible invemoji invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch invinsertmode invjs +syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbevalterm invbk invbreakindent invcf invcindent invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invemo inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc invimdisable invinfercase invjoinspaces invlangremap invlinebreak invlist invloadplugins invlrm invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup +syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invballoonevalterm invbin invbl invbri invci invcompatible invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible invemoji invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch invinsertmode invjs invlazyredraw invlisp invlnr invlpl invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws +syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbeval invbinary invbomb invbuflisted invcin invconfirm invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invinf invis invlangnoremap invlbr " termcap codes (which can also be set) {{{2 syn keyword vimOption contained t_8b t_AB t_al t_bc t_BE t_ce t_cl t_Co t_Cs t_CV t_db t_DL t_EI t_F2 t_F4 t_F6 t_F8 t_fs t_IE t_k1 t_k2 t_K3 t_K4 t_K5 t_K6 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_PE t_PS t_RB t_RC t_RF t_RI t_RS t_RV t_Sb t_SC t_se t_Sf t_SH t_SI t_so t_sr t_SR t_te t_Te t_ti t_ts t_Ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_VS t_WP t_WS t_xn t_xs t_ZH t_ZR @@ -66,21 +66,21 @@ syn keyword vimErrSetting contained bioskey biosk conskey consk autoprint beauti " AutoCmd Events {{{2 syn case ignore -syn keyword vimAutoEvent contained BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre CmdlineEnter CmdlineLeave CmdUndefined CmdwinEnter CmdwinLeave ColorScheme CompleteDone CursorHold CursorHoldI CursorMoved CursorMovedI EncodingChanged FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave MenuPopup OptionSet QuickFixCmdPost QuickFixCmdPre QuitPre RemoteReply SessionLoadPost ShellCmdPost ShellFilterPost SourceCmd SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabClosed TabEnter TabLeave TabNew TermChanged TermResponse TextChanged TextChangedI User VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave WinNew +syn keyword vimAutoEvent contained BufAdd BufCreate BufDelete BufEnter BufFilePost BufFilePre BufHidden BufLeave BufNew BufNewFile BufRead BufReadCmd BufReadPost BufReadPre BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre CmdlineChanged CmdlineEnter CmdlineLeave CmdUndefined CmdwinEnter CmdwinLeave ColorScheme CompleteDone CursorHold CursorHoldI CursorMoved CursorMovedI DirChanged EncodingChanged ExitPre FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave MenuPopup OptionSet QuickFixCmdPost QuickFixCmdPre QuitPre RemoteReply SessionLoadPost ShellCmdPost ShellFilterPost SourceCmd SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabClosed TabEnter TabLeave TabNew TermChanged TerminalOpen TermResponse TextChanged TextChangedI TextChangedP TextYankPost User VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave WinNew " Highlight commonly used Groupnames {{{2 syn keyword vimGroup contained Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo " Default highlighting groups {{{2 -syn keyword vimHLGroup contained ColorColumn Cursor CursorColumn CursorIM CursorLine CursorLineNr DiffAdd DiffChange DiffDelete DiffText Directory EndOfBuffer ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question QuickFixLine Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC TabLine TabLineFill TabLineSel Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu +syn keyword vimHLGroup contained ColorColumn Cursor CursorColumn CursorIM CursorLine CursorLineNr DiffAdd DiffChange DiffDelete DiffText Directory EndOfBuffer ErrorMsg FoldColumn Folded IncSearch LineNr MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question QuickFixLine Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC StatusLineTerm TabLine TabLineFill TabLineSel Terminal Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu syn match vimHLGroup contained "Conceal" syn case match " Function Names {{{2 -syn keyword vimFuncName contained abs append argv assert_fails assert_notequal atan browsedir bufname byte2line ceil ch_close ch_getbufnr ch_logfile ch_sendexpr cindent complete_add cos cursor diff_filler eval exepath extend filter floor foldclosed foldtextresult garbagecollect getbufvar getcmdline getcompletion getfperm getline getpos gettabinfo getwinposx glob2regpat haslocaldir histget hostname input inputsave isdirectory job_getchannel job_status js_encode len line2byte log10 mapcheck matcharg matchstr mkdir nr2char pow py3eval readfile remote_expr remote_send repeat screenattr search searchpos setbufvar setline setqflist setwinvar simplify soundfold sqrt strcharpart strftime string strridx submatch synID synstack tabpagebuflist tagfiles tanh term_getattr term_getline term_getstatus term_gettty term_sendkeys term_wait test_feedinput test_null_channel test_null_list test_override timer_pause timer_stopall tr undofile values wildmenumode win_findbuf winheight winline winrestview wordcount -syn keyword vimFuncName contained acos argc asin assert_false assert_notmatch atan2 bufexists bufnr byteidx changenr ch_close_in ch_getjob ch_open ch_sendraw clearmatches complete_check cosh deepcopy diff_hlID eventhandler exists feedkeys finddir fmod foldclosedend foreground get getchar getcmdpos getcurpos getfsize getloclist getqflist gettabvar getwinposy globpath hasmapto histnr iconv inputdialog inputsecret islocked job_info job_stop json_decode libcall lispindent luaeval match matchdelete matchstrpos mode or prevnonblank pyeval reltime remote_foreground remote_startserver resolve screenchar searchdecl server2client setcharsearch setloclist setreg sha256 sin spellbadword str2float strchars strgetchar strlen strtrans substitute synIDattr system tabpagenr taglist tempname term_getcursor term_getscrolled term_gettitle term_list term_setsize test_alloc_fail test_garbagecollect_now test_null_dict test_null_partial test_settime timer_start tolower trunc undotree virtcol winbufnr win_getid win_id2tabwin winnr winsaveview writefile -syn keyword vimFuncName contained add argidx assert_equal assert_inrange assert_report balloon_show buflisted bufwinid byteidxcomp char2nr ch_evalexpr ch_info ch_read ch_setoptions col confirm count delete empty executable exp filereadable findfile fnameescape foldlevel funcref getbufinfo getcharmod getcmdtype getcwd getftime getmatches getreg gettabwinvar getwinvar has histadd hlexists indent inputlist insert isnan job_setoptions join json_encode libcallnr localtime map matchadd matchend max mzeval pathshorten printf pyxeval reltimefloat remote_peek remove reverse screencol searchpair serverlist setcmdpos setmatches settabvar shellescape sinh spellsuggest str2nr strdisplaywidth stridx strpart strwidth synconcealed synIDtrans systemlist tabpagewinnr tan term_getaltscreen term_getjob term_getsize term_getttty term_scrape term_start test_autochdir test_ignore_error test_null_job test_null_string timer_info timer_stop toupper type uniq visualmode wincol win_gotoid win_id2win winrestcmd winwidth xor -syn keyword vimFuncName contained and arglistid assert_exception assert_match assert_true browse bufloaded bufwinnr call ch_canread ch_evalraw ch_log ch_readraw ch_status complete copy cscope_connection did_filetype escape execute expand filewritable float2nr fnamemodify foldtext function getbufline getcharsearch getcmdwintype getfontname getftype getpid getregtype getwininfo glob has_key histdel hlID index inputrestore invert items job_start js_decode keys line log maparg matchaddpos matchlist min nextnonblank perleval pumvisible range reltimestr remote_read rename round screenrow searchpairpos setbufline setfperm setpos settabwinvar shiftwidth sort split +syn keyword vimFuncName contained abs append argv assert_equalfile assert_inrange assert_report balloon_show bufexists bufnr byteidx changenr ch_close_in ch_getjob ch_open ch_sendraw clearmatches complete_check cosh deepcopy diff_hlID eventhandler exists feedkeys finddir fmod foldclosedend foreground get getchangelist getcmdline getcompletion getfperm getjumplist getpid getregtype getwininfo getwinvar has histadd hlexists indent inputlist insert isnan job_setoptions join json_encode libcallnr localtime map matchadd matchend max mzeval option_save pow py3eval readfile remote_expr remote_send repeat screenattr search searchpos setbufvar setline setqflist setwinvar simplify soundfold sqrt strchars stridx strridx substitute synIDtrans tabpagebuflist taglist term_dumpdiff term_getansicolors term_getline term_gettitle term_sendkeys term_setsize test_autochdir test_ignore_error test_null_job test_null_string timer_info timer_stop toupper trunc undotree virtcol winbufnr win_getid win_id2tabwin winnr winsaveview wordcount +syn keyword vimFuncName contained acos argc asin assert_exception assert_match assert_true balloon_split buflisted bufwinid byteidxcomp char2nr ch_evalexpr ch_info ch_read ch_setoptions col confirm count delete empty executable exp filereadable findfile fnameescape foldlevel funcref getbufinfo getchar getcmdpos getcurpos getfsize getline getpos gettabinfo getwinpos glob has_key histdel hlID index inputrestore invert items job_start js_decode keys line log maparg matchaddpos matchlist min nextnonblank or prevnonblank pyeval reltime remote_foreground remote_startserver resolve screenchar searchdecl server2client setcharsearch setloclist setreg sha256 sin spellbadword str2float strdisplaywidth string strtrans synconcealed synstack tabpagenr tan term_dumpload term_getattr term_getscrolled term_gettty term_setansicolors term_start test_feedinput test_null_channel test_null_list test_override timer_pause timer_stopall tr type uniq visualmode wincol win_gotoid win_id2win winrestcmd win_screenpos writefile +syn keyword vimFuncName contained add argidx assert_beeps assert_fails assert_notequal atan browse bufloaded bufwinnr call ch_canread ch_evalraw ch_log ch_readraw ch_status complete copy cscope_connection did_filetype escape execute expand filewritable float2nr fnamemodify foldtext function getbufline getcharmod getcmdtype getcwd getftime getloclist getqflist gettabvar getwinposx glob2regpat haslocaldir histget hostname input inputsave isdirectory job_getchannel job_status js_encode len line2byte log10 mapcheck matcharg matchstr mkdir nr2char pathshorten printf pyxeval reltimefloat remote_peek remove reverse screencol searchpair serverlist setcmdpos setmatches settabvar shellescape sinh spellsuggest str2nr strftime strlen strwidth synID system tabpagewinnr tanh term_dumpwrite term_getcursor term_getsize term_list term_setkill term_wait test_garbagecollect_now test_null_dict test_null_partial test_settime timer_start tolower trim undofile values wildmenumode win_findbuf winheight winline winrestview winwidth xor +syn keyword vimFuncName contained and arglistid assert_equal assert_false assert_notmatch atan2 browsedir bufname byte2line ceil ch_close ch_getbufnr ch_logfile ch_sendexpr cindent complete_add cos cursor diff_filler eval exepath extend filter floor foldclosed foldtextresult garbagecollect getbufvar getcharsearch getcmdwintype getfontname getftype getmatches getreg gettabwinvar getwinposy globpath hasmapto histnr iconv inputdialog inputsecret islocked job_info job_stop json_decode libcall lispindent luaeval match matchdelete matchstrpos mode option_restore perleval pumvisible range reltimestr remote_read rename round screenrow searchpairpos setbufline setfperm setpos settabwinvar shiftwidth sort split strcharpart strgetchar strpart submatch synIDattr systemlist tagfiles tempname term_getaltscreen term_getjob term_getstatus term_scrape term_setrestore test_alloc_fail "--- syntax here and above generated by mkvimvim --- " Special Vim Highlighting (not automatic) {{{1 @@ -670,8 +670,8 @@ if (g:vimsyn_embed =~# 'p' && has("perl")) && filereadable(s:perlpath) unlet! b:current_syntax syn cluster vimFuncBodyList add=vimPerlRegion exe "syn include @vimPerlScript ".s:perlpath - VimFoldp syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPerlScript - VimFoldp syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript + VimFoldp syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*\z(\S*\)\ze\(\s*["#].*\)\=$+ end=+^\z1\ze\(\s*[#"].*\)\=$+ contains=@vimPerlScript + VimFoldp syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript syn cluster vimFuncBodyList add=vimPerlRegion else syn region vimEmbedError start=+pe\%[rl]\s*<<\s*\z(.*\)$+ end=+^\z1$+ @@ -693,8 +693,8 @@ if (g:vimsyn_embed =~# 'r' && has("ruby")) && filereadable(s:rubypath) syn cluster vimFuncBodyList add=vimRubyRegion unlet! b:current_syntax exe "syn include @vimRubyScript ".s:rubypath - VimFoldr syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimRubyScript - syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*$+ end=+\.$+ contains=@vimRubyScript + VimFoldr syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimRubyScript + syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*$+ end=+\.$+ contains=@vimRubyScript syn cluster vimFuncBodyList add=vimRubyRegion else syn region vimEmbedError start=+rub[y]\s*<<\s*\z(.*\)$+ end=+^\z1$+ @@ -716,10 +716,10 @@ if g:vimsyn_embed =~# 'P' && has("pythonx") && filereadable(s:pythonpath) unlet! b:current_syntax syn cluster vimFuncBodyList add=vimPythonRegion exe "syn include @vimPythonScript ".s:pythonpath - VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript - VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript - VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript - VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript + VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimPythonScript + VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript + VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimPythonScript + VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript syn cluster vimFuncBodyList add=vimPythonRegion else syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ diff --git a/runtime/tutor/tutor.ru b/runtime/tutor/tutor.ru index 1194f60635..be6c1bd2f3 100644 --- a/runtime/tutor/tutor.ru +++ b/runtime/tutor/tutor.ru @@ -69,7 +69,7 @@ vimtutor 4. åÓÌÉ ×Ù Õ×ÅÒÅÎÙ × ÔÏÍ, ÞÔÏ ÚÁÐÏÍÎÉÌÉ ÜÔÉ ÛÁÇÉ, ×ÙÐÏÌÎÉÔÅ ÛÁÇÉ ÏÔ 1 ÄÏ 3 - ÞÔÏÂÙ ×ÙÊÔÉ ÓÎÏ×Á ÚÁÐÕÓÔÉÔØ ÒÅÄÁËÔÏÒ. + ÞÔÏÂÙ ×ÙÊÔÉ É ÓÎÏ×Á ÚÁÐÕÓÔÉÔØ ÒÅÄÁËÔÏÒ. úÁÍÅÞÁÎÉÅ! :q! ÏÔÂÒÁÓÙ×ÁÅÔ ÌÀÂÙÅ ÓÄÅÌÁÎÎÙÅ ×ÁÍÉ ÉÚÍÅÎÅÎÉÑ. þÅÒÅÚ ÎÅÓËÏÌØËÏ ÕÒÏËÏ× ×Ù ÕÚÎÁÅÔÅ ËÁË ÓÏÈÒÁÎÑÔØ ÉÚÍÅÎÅÎÉÑ × ÆÁÊÌ. @@ -790,10 +790,10 @@ 1. ðÅÒÅÍÅÓÔÉÔÅ ËÕÒÓÏÒ ×ÎÉÚ, Ë ÐÅÒ×ÏÊ ÓÔÒÏËÅ ÐÏÍÅÞÅÎÎÏÊ --->, É × ÎÁÞÁÌÏ ÐÅÒ×ÏÇÏ ÓÌÏ×Á xxx. - 2. ôÅÐÅÒØ ÎÁÖÍÉÔÅ R É ××ÅÄÉÔÅ ÞÉÓÌÏ ÕËÁÚÁÎÎÙÊ ÎÉÖÅ ×Ï ×ÔÏÒÏÊ ÓÔÒÏËÅ ÞÔÏÂÙ + 2. ôÅÐÅÒØ ÎÁÖÍÉÔÅ R É ××ÅÄÉÔÅ ÞÉÓÌÏ, ÕËÁÚÁÎÎÏÅ ÎÉÖÅ ×Ï ×ÔÏÒÏÊ ÓÔÒÏËÅ, ÞÔÏÂÙ ÚÁÍÅÎÉÔØ xxx. - 3. îÁÖÍÉÔÅ ÄÌÑ ×ÙÈÏÄÁ ÉÚ ÒÅÖÉÍÁ ÚÁÍÅÎÙ. úÁÍÅÔØÔÅ ÞÔÏ ÏÓÔÁÔÏË ÓÔÒÏËÉ + 3. îÁÖÍÉÔÅ ÄÌÑ ×ÙÈÏÄÁ ÉÚ ÒÅÖÉÍÁ ÚÁÍÅÎÙ. úÁÍÅÔØÔÅ, ÞÔÏ ÏÓÔÁÔÏË ÓÔÒÏËÉ ÎÅ ÂÙÌ ÉÚÍÅΣÎ. 4. ðÏ×ÔÏÒÉÔÅ ÜÔÉ ÛÁÇÉ ÄÌÑ ÚÁÍÅÎÙ ÏÓÔÁ×ÛÉÈÓÑ xxx. diff --git a/runtime/tutor/tutor.ru.cp1251 b/runtime/tutor/tutor.ru.cp1251 index 3cd051f3cc..1cff3eae7d 100644 --- a/runtime/tutor/tutor.ru.cp1251 +++ b/runtime/tutor/tutor.ru.cp1251 @@ -69,7 +69,7 @@ vimtutor 4. Åñëè âû óâåðåíû â òîì, ÷òî çàïîìíèëè ýòè øàãè, âûïîëíèòå øàãè îò 1 äî 3 - ÷òîáû âûéòè ñíîâà çàïóñòèòü ðåäàêòîð. + ÷òîáû âûéòè è ñíîâà çàïóñòèòü ðåäàêòîð. Çàìå÷àíèå! :q! îòáðàñûâàåò ëþáûå ñäåëàííûå âàìè èçìåíåíèÿ. ×åðåç íåñêîëüêî óðîêîâ âû óçíàåòå êàê ñîõðàíÿòü èçìåíåíèÿ â ôàéë. @@ -790,10 +790,10 @@ 1. Ïåðåìåñòèòå êóðñîð âíèç, ê ïåðâîé ñòðîêå ïîìå÷åííîé --->, è â íà÷àëî ïåðâîãî ñëîâà xxx. - 2. Òåïåðü íàæìèòå R è ââåäèòå ÷èñëî óêàçàííûé íèæå âî âòîðîé ñòðîêå ÷òîáû + 2. Òåïåðü íàæìèòå R è ââåäèòå ÷èñëî, óêàçàííîå íèæå âî âòîðîé ñòðîêå, ÷òîáû çàìåíèòü xxx. - 3. Íàæìèòå äëÿ âûõîäà èç ðåæèìà çàìåíû. Çàìåòüòå ÷òî îñòàòîê ñòðîêè + 3. Íàæìèòå äëÿ âûõîäà èç ðåæèìà çàìåíû. Çàìåòüòå, ÷òî îñòàòîê ñòðîêè íå áûë èçìåí¸í. 4. Ïîâòîðèòå ýòè øàãè äëÿ çàìåíû îñòàâøèõñÿ xxx. diff --git a/src/alloc.h b/src/alloc.h index 715f5cc25c..60fa4bd66e 100644 --- a/src/alloc.h +++ b/src/alloc.h @@ -15,6 +15,7 @@ typedef enum { aid_qf_dirname_start, aid_qf_dirname_now, aid_qf_namebuf, + aid_qf_module, aid_qf_errmsg, aid_qf_pattern, aid_last diff --git a/src/channel.c b/src/channel.c index e322d215ea..164bdb3fa8 100644 --- a/src/channel.c +++ b/src/channel.c @@ -5538,12 +5538,12 @@ job_start(typval_T *argvars, char **argv_arg, jobopt_T *opt_arg) int argc = 0; #if defined(UNIX) # define USE_ARGV + int i; #else garray_T ga; #endif jobopt_T opt; ch_part_T part; - int i; job = job_alloc(); if (job == NULL) diff --git a/src/diff.c b/src/diff.c index b69b69e31d..cc9e6de8fd 100644 --- a/src/diff.c +++ b/src/diff.c @@ -909,7 +909,8 @@ ex_diffpatch(exarg_T *eap) if (cmdmod.browse) { browseFile = do_browse(0, (char_u *)_("Patch file"), - eap->arg, NULL, NULL, BROWSE_FILTER_ALL_FILES, NULL); + eap->arg, NULL, NULL, + (char_u *)_(BROWSE_FILTER_ALL_FILES), NULL); if (browseFile == NULL) return; /* operation cancelled */ eap->arg = browseFile; diff --git a/src/eval.c b/src/eval.c index cfeba2edaa..63f8bde329 100644 --- a/src/eval.c +++ b/src/eval.c @@ -8815,7 +8815,7 @@ assert_error(garray_T *gap) list_append_string(vimvars[VV_ERRORS].vv_list, gap->ga_data, gap->ga_len); } - void + int assert_equal_common(typval_T *argvars, assert_type_T atype) { garray_T ga; @@ -8828,10 +8828,12 @@ assert_equal_common(typval_T *argvars, assert_type_T atype) atype); assert_error(&ga); ga_clear(&ga); + return 1; } + return 0; } - void + int assert_equalfile(typval_T *argvars) { char_u buf1[NUMBUFLEN]; @@ -8843,7 +8845,7 @@ assert_equalfile(typval_T *argvars) FILE *fd2; if (fname1 == NULL || fname2 == NULL) - return; + return 0; IObuff[0] = NUL; fd1 = mch_fopen((char *)fname1, READBIN); @@ -8897,10 +8899,12 @@ assert_equalfile(typval_T *argvars) ga_concat(&ga, IObuff); assert_error(&ga); ga_clear(&ga); + return 1; } + return 0; } - void + int assert_match_common(typval_T *argvars, assert_type_T atype) { garray_T ga; @@ -8918,10 +8922,12 @@ assert_match_common(typval_T *argvars, assert_type_T atype) atype); assert_error(&ga); ga_clear(&ga); + return 1; } + return 0; } - void + int assert_inrange(typval_T *argvars) { garray_T ga; @@ -8934,7 +8940,7 @@ assert_inrange(typval_T *argvars) char_u numbuf[NUMBUFLEN]; if (error) - return; + return 0; if (actual < lower || actual > upper) { prepare_assert_error(&ga); @@ -8951,13 +8957,16 @@ assert_inrange(typval_T *argvars) } assert_error(&ga); ga_clear(&ga); + return 1; } + return 0; } /* * Common for assert_true() and assert_false(). + * Return non-zero for failure. */ - void + int assert_bool(typval_T *argvars, int isTrue) { int error = FALSE; @@ -8965,7 +8974,7 @@ assert_bool(typval_T *argvars, int isTrue) if (argvars[0].v_type == VAR_SPECIAL && argvars[0].vval.v_number == (isTrue ? VVAL_TRUE : VVAL_FALSE)) - return; + return 0; if (argvars[0].v_type != VAR_NUMBER || (get_tv_number_chk(&argvars[0], &error) == 0) == isTrue || error) @@ -8976,10 +8985,12 @@ assert_bool(typval_T *argvars, int isTrue) NULL, &argvars[0], ASSERT_OTHER); assert_error(&ga); ga_clear(&ga); + return 1; } + return 0; } - void + int assert_report(typval_T *argvars) { garray_T ga; @@ -8988,9 +8999,10 @@ assert_report(typval_T *argvars) ga_concat(&ga, get_tv_string(&argvars[0])); assert_error(&ga); ga_clear(&ga); + return 1; } - void + int assert_exception(typval_T *argvars) { garray_T ga; @@ -9002,6 +9014,7 @@ assert_exception(typval_T *argvars) ga_concat(&ga, (char_u *)"v:exception is not set"); assert_error(&ga); ga_clear(&ga); + return 1; } else if (error != NULL && strstr((char *)vimvars[VV_EXCEPTION].vv_str, (char *)error) == NULL) @@ -9011,14 +9024,17 @@ assert_exception(typval_T *argvars) &vimvars[VV_EXCEPTION].vv_tv, ASSERT_OTHER); assert_error(&ga); ga_clear(&ga); + return 1; } + return 0; } - void + int assert_beeps(typval_T *argvars) { char_u *cmd = get_tv_string_chk(&argvars[0]); garray_T ga; + int ret = 0; called_vim_beep = FALSE; suppress_errthrow = TRUE; @@ -9031,17 +9047,20 @@ assert_beeps(typval_T *argvars) ga_concat(&ga, cmd); assert_error(&ga); ga_clear(&ga); + ret = 1; } suppress_errthrow = FALSE; emsg_on_display = FALSE; + return ret; } - void + int assert_fails(typval_T *argvars) { char_u *cmd = get_tv_string_chk(&argvars[0]); garray_T ga; + int ret = 0; called_emsg = FALSE; suppress_errthrow = TRUE; @@ -9054,6 +9073,7 @@ assert_fails(typval_T *argvars) ga_concat(&ga, cmd); assert_error(&ga); ga_clear(&ga); + ret = 1; } else if (argvars[1].v_type != VAR_UNKNOWN) { @@ -9068,6 +9088,7 @@ assert_fails(typval_T *argvars) &vimvars[VV_ERRMSG].vv_tv, ASSERT_OTHER); assert_error(&ga); ga_clear(&ga); + ret = 1; } } @@ -9076,6 +9097,7 @@ assert_fails(typval_T *argvars) emsg_silent = FALSE; emsg_on_display = FALSE; set_vim_var_string(VV_ERRMSG, NULL, 0); + return ret; } /* diff --git a/src/evalfunc.c b/src/evalfunc.c index a283e43f74..589b9c6849 100644 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -1300,108 +1300,108 @@ f_argv(typval_T *argvars, typval_T *rettv) * "assert_beeps(cmd [, error])" function */ static void -f_assert_beeps(typval_T *argvars, typval_T *rettv UNUSED) +f_assert_beeps(typval_T *argvars, typval_T *rettv) { - assert_beeps(argvars); + rettv->vval.v_number = assert_beeps(argvars); } /* * "assert_equal(expected, actual[, msg])" function */ static void -f_assert_equal(typval_T *argvars, typval_T *rettv UNUSED) +f_assert_equal(typval_T *argvars, typval_T *rettv) { - assert_equal_common(argvars, ASSERT_EQUAL); + rettv->vval.v_number = assert_equal_common(argvars, ASSERT_EQUAL); } /* * "assert_equalfile(fname-one, fname-two)" function */ static void -f_assert_equalfile(typval_T *argvars, typval_T *rettv UNUSED) +f_assert_equalfile(typval_T *argvars, typval_T *rettv) { - assert_equalfile(argvars); + rettv->vval.v_number = assert_equalfile(argvars); } /* * "assert_notequal(expected, actual[, msg])" function */ static void -f_assert_notequal(typval_T *argvars, typval_T *rettv UNUSED) +f_assert_notequal(typval_T *argvars, typval_T *rettv) { - assert_equal_common(argvars, ASSERT_NOTEQUAL); + rettv->vval.v_number = assert_equal_common(argvars, ASSERT_NOTEQUAL); } /* * "assert_exception(string[, msg])" function */ static void -f_assert_exception(typval_T *argvars, typval_T *rettv UNUSED) +f_assert_exception(typval_T *argvars, typval_T *rettv) { - assert_exception(argvars); + rettv->vval.v_number = assert_exception(argvars); } /* * "assert_fails(cmd [, error])" function */ static void -f_assert_fails(typval_T *argvars, typval_T *rettv UNUSED) +f_assert_fails(typval_T *argvars, typval_T *rettv) { - assert_fails(argvars); + rettv->vval.v_number = assert_fails(argvars); } /* * "assert_false(actual[, msg])" function */ static void -f_assert_false(typval_T *argvars, typval_T *rettv UNUSED) +f_assert_false(typval_T *argvars, typval_T *rettv) { - assert_bool(argvars, FALSE); + rettv->vval.v_number = assert_bool(argvars, FALSE); } /* * "assert_inrange(lower, upper[, msg])" function */ static void -f_assert_inrange(typval_T *argvars, typval_T *rettv UNUSED) +f_assert_inrange(typval_T *argvars, typval_T *rettv) { - assert_inrange(argvars); + rettv->vval.v_number = assert_inrange(argvars); } /* * "assert_match(pattern, actual[, msg])" function */ static void -f_assert_match(typval_T *argvars, typval_T *rettv UNUSED) +f_assert_match(typval_T *argvars, typval_T *rettv) { - assert_match_common(argvars, ASSERT_MATCH); + rettv->vval.v_number = assert_match_common(argvars, ASSERT_MATCH); } /* * "assert_notmatch(pattern, actual[, msg])" function */ static void -f_assert_notmatch(typval_T *argvars, typval_T *rettv UNUSED) +f_assert_notmatch(typval_T *argvars, typval_T *rettv) { - assert_match_common(argvars, ASSERT_NOTMATCH); + rettv->vval.v_number = assert_match_common(argvars, ASSERT_NOTMATCH); } /* * "assert_report(msg)" function */ static void -f_assert_report(typval_T *argvars, typval_T *rettv UNUSED) +f_assert_report(typval_T *argvars, typval_T *rettv) { - assert_report(argvars); + rettv->vval.v_number = assert_report(argvars); } /* * "assert_true(actual[, msg])" function */ static void -f_assert_true(typval_T *argvars, typval_T *rettv UNUSED) +f_assert_true(typval_T *argvars, typval_T *rettv) { - assert_bool(argvars, TRUE); + rettv->vval.v_number = assert_bool(argvars, TRUE); } #ifdef FEAT_FLOAT @@ -3311,18 +3311,12 @@ f_feedkeys(typval_T *argvars, typval_T *rettv UNUSED) /* Avoid a 1 second delay when the keys start Insert mode. */ msg_scroll = FALSE; -#ifdef FEAT_TERMINAL - if (term_use_loop()) - terminal_loop(FALSE); - else -#endif - { - if (!dangerous) - ++ex_normal_busy; - exec_normal(TRUE); - if (!dangerous) - --ex_normal_busy; - } + if (!dangerous) + ++ex_normal_busy; + exec_normal(TRUE); + if (!dangerous) + --ex_normal_busy; + msg_scroll |= save_msg_scroll; } } diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c index 5e892c451f..e124a4c64b 100644 --- a/src/ex_cmds2.c +++ b/src/ex_cmds2.c @@ -4213,7 +4213,8 @@ ex_source(exarg_T *eap) char_u *fname = NULL; fname = do_browse(0, (char_u *)_("Source Vim script"), eap->arg, - NULL, NULL, BROWSE_FILTER_MACROS, NULL); + NULL, NULL, + (char_u *)_(BROWSE_FILTER_MACROS), NULL); if (fname != NULL) { cmd_source(fname, eap); diff --git a/src/ex_docmd.c b/src/ex_docmd.c index ffb62814a5..a4e05c7067 100644 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -9638,7 +9638,8 @@ ex_redir(exarg_T *eap) browseFile = do_browse(BROWSE_SAVE, (char_u *)_("Save Redirection"), - fname, NULL, NULL, BROWSE_FILTER_ALL_FILES, curbuf); + fname, NULL, NULL, + (char_u *)_(BROWSE_FILTER_ALL_FILES), curbuf); if (browseFile == NULL) return; /* operation cancelled */ vim_free(fname); @@ -9872,7 +9873,8 @@ ex_mkrc( eap->cmdidx == CMD_mksession ? (char_u *)_("Save Session") : # endif (char_u *)_("Save Setup"), - fname, (char_u *)"vim", NULL, BROWSE_FILTER_MACROS, NULL); + fname, (char_u *)"vim", NULL, + (char_u *)_(BROWSE_FILTER_MACROS), NULL); if (browseFile == NULL) goto theend; fname = browseFile; @@ -10365,7 +10367,21 @@ exec_normal(int was_typed) && typebuf.tb_len > 0)) && !got_int) { update_topline_cursor(); - normal_cmd(&oa, TRUE); /* execute a Normal mode cmd */ +#ifdef FEAT_TERMINAL + if (term_use_loop() + && oa.op_type == OP_NOP && oa.regname == NUL + && !VIsual_active) + { + /* If terminal_loop() returns OK we got a key that is handled + * in Normal model. With FAIL we first need to position the + * cursor and the screen needs to be redrawn. */ + if (terminal_loop(TRUE) == OK) + normal_cmd(&oa, TRUE); + } + else +#endif + /* execute a Normal mode cmd */ + normal_cmd(&oa, TRUE); } } diff --git a/src/ex_getln.c b/src/ex_getln.c index de613f5040..f5d9d4d0fa 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -187,6 +187,45 @@ empty_pattern(char_u *p) } #endif +#ifdef FEAT_SEARCH_EXTRA +typedef struct { + colnr_T vs_curswant; + colnr_T vs_leftcol; + linenr_T vs_topline; +# ifdef FEAT_DIFF + int vs_topfill; +# endif + linenr_T vs_botline; + linenr_T vs_empty_rows; +} viewstate_T; + + static void +save_viewstate(viewstate_T *vs) +{ + vs->vs_curswant = curwin->w_curswant; + vs->vs_leftcol = curwin->w_leftcol; + vs->vs_topline = curwin->w_topline; +# ifdef FEAT_DIFF + vs->vs_topfill = curwin->w_topfill; +# endif + vs->vs_botline = curwin->w_botline; + vs->vs_empty_rows = curwin->w_empty_rows; +} + + static void +restore_viewstate(viewstate_T *vs) +{ + curwin->w_curswant = vs->vs_curswant; + curwin->w_leftcol = vs->vs_leftcol; + curwin->w_topline = vs->vs_topline; +# ifdef FEAT_DIFF + curwin->w_topfill = vs->vs_topfill; +# endif + curwin->w_botline = vs->vs_botline; + curwin->w_empty_rows = vs->vs_empty_rows; +} +#endif + /* * getcmdline() - accept a command line starting with firstc. * @@ -225,21 +264,10 @@ getcmdline( #ifdef FEAT_SEARCH_EXTRA pos_T search_start; /* where 'incsearch' starts searching */ pos_T save_cursor; - colnr_T old_curswant; - colnr_T init_curswant = curwin->w_curswant; - colnr_T old_leftcol; - colnr_T init_leftcol = curwin->w_leftcol; - linenr_T old_topline; - linenr_T init_topline = curwin->w_topline; + viewstate_T init_viewstate; + viewstate_T old_viewstate; pos_T match_start = curwin->w_cursor; pos_T match_end; -# ifdef FEAT_DIFF - int old_topfill; - int init_topfill = curwin->w_topfill; -# endif - linenr_T old_botline, old_empty_rows; - linenr_T init_botline = curwin->w_botline; - linenr_T init_empty_rows = curwin->w_empty_rows; int did_incsearch = FALSE; int incsearch_postponed = FALSE; #endif @@ -285,14 +313,8 @@ getcmdline( CLEAR_POS(&match_end); save_cursor = curwin->w_cursor; /* may be restored later */ search_start = curwin->w_cursor; - old_curswant = curwin->w_curswant; - old_leftcol = curwin->w_leftcol; - old_topline = curwin->w_topline; -# ifdef FEAT_DIFF - old_topfill = curwin->w_topfill; -# endif - old_botline = curwin->w_botline; - old_empty_rows = curwin->w_empty_rows; + save_viewstate(&init_viewstate); + save_viewstate(&old_viewstate); #endif /* @@ -1070,14 +1092,7 @@ getcmdline( search_start = save_cursor; /* save view settings, so that the screen * won't be restored at the wrong position */ - old_curswant = init_curswant; - old_leftcol = init_leftcol; - old_topline = init_topline; -# ifdef FEAT_DIFF - old_topfill = init_topfill; -# endif - old_botline = init_botline; - old_empty_rows = init_empty_rows; + old_viewstate = init_viewstate; } #endif redrawcmd(); @@ -1808,14 +1823,7 @@ getcmdline( update_topline(); validate_cursor(); highlight_match = TRUE; - old_curswant = curwin->w_curswant; - old_leftcol = curwin->w_leftcol; - old_topline = curwin->w_topline; -# ifdef FEAT_DIFF - old_topfill = curwin->w_topfill; -# endif - old_botline = curwin->w_botline; - old_empty_rows = curwin->w_empty_rows; + save_viewstate(&old_viewstate); update_screen(NOT_VALID); redrawcmdline(); } @@ -2026,13 +2034,7 @@ cmdline_changed: /* first restore the old curwin values, so the screen is * positioned in the same way as the actual search command */ - curwin->w_leftcol = old_leftcol; - curwin->w_topline = old_topline; -# ifdef FEAT_DIFF - curwin->w_topfill = old_topfill; -# endif - curwin->w_botline = old_botline; - curwin->w_empty_rows = old_empty_rows; + restore_viewstate(&old_viewstate); changed_cline_bef_curs(); update_topline(); @@ -2120,14 +2122,7 @@ returncmd: } curwin->w_cursor = search_start; } - curwin->w_curswant = old_curswant; - curwin->w_leftcol = old_leftcol; - curwin->w_topline = old_topline; -# ifdef FEAT_DIFF - curwin->w_topfill = old_topfill; -# endif - curwin->w_botline = old_botline; - curwin->w_empty_rows = old_empty_rows; + restore_viewstate(&old_viewstate); highlight_match = FALSE; validate_cursor(); /* needed for TAB */ redraw_all_later(SOME_VALID); @@ -3315,7 +3310,8 @@ cmdline_paste( /* check for valid regname; also accept special characters for CTRL-R in * the command line */ if (regname != Ctrl_F && regname != Ctrl_P && regname != Ctrl_W - && regname != Ctrl_A && !valid_yank_reg(regname, FALSE)) + && regname != Ctrl_A && regname != Ctrl_L + && !valid_yank_reg(regname, FALSE)) return FAIL; /* A register containing CTRL-R can cause an endless loop. Allow using diff --git a/src/fileio.c b/src/fileio.c index 87ed161ff3..8b933e847d 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -1209,28 +1209,42 @@ retry: * The amount is limited by the fact that read() only can read * upto max_unsigned characters (and other things). */ + if (!skip_read) + { +#if VIM_SIZEOF_INT > 2 +# if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L) + size = SSIZE_MAX; /* use max I/O size, 52K */ +# else + /* Use buffer >= 64K. Add linerest to double the size if the + * line gets very long, to avoid a lot of copying. But don't + * read more than 1 Mbyte at a time, so we can be interrupted. + */ + size = 0x10000L + linerest; + if (size > 0x100000L) + size = 0x100000L; +# endif +#else + size = 0x7ff0L - linerest; /* limit buffer to 32K */ +#endif + } + + /* Protect against the argument of lalloc() going negative. */ + if ( #if VIM_SIZEOF_INT <= 2 - if (linerest >= 0x7ff0) + linerest >= 0x7ff0 +#else + size < 0 || size + linerest + 1 < 0 || linerest >= MAXCOL +#endif + ) { ++split; *ptr = NL; /* split line by inserting a NL */ size = 1; } else -#endif { if (!skip_read) { -#if VIM_SIZEOF_INT > 2 -# if defined(SSIZE_MAX) && (SSIZE_MAX < 0x10000L) - size = SSIZE_MAX; /* use max I/O size, 52K */ -# else - size = 0x10000L; /* use buffer >= 64K */ -# endif -#else - size = 0x7ff0L - linerest; /* limit buffer to 32K */ -#endif - for ( ; size >= 10; size = (long)((long_u)size >> 1)) { if ((new_buffer = lalloc((long_u)(size + linerest + 1), @@ -6153,7 +6167,7 @@ shorten_fname(char_u *full_path, char_u *dir_name) } /* - * Shorten filenames for all buffers. + * Shorten filename of a buffer. * When "force" is TRUE: Use full path from now on for files currently being * edited, both for file name and swap file name. Try to shorten the file * names a bit, if safe to do so. @@ -6162,34 +6176,44 @@ shorten_fname(char_u *full_path, char_u *dir_name) * name. */ void +shorten_buf_fname(buf_T *buf, char_u *dirname, int force) +{ + char_u *p; + + if (buf->b_fname != NULL +#ifdef FEAT_QUICKFIX + && !bt_nofile(buf) +#endif + && !path_with_url(buf->b_fname) + && (force + || buf->b_sfname == NULL + || mch_isFullName(buf->b_sfname))) + { + VIM_CLEAR(buf->b_sfname); + p = shorten_fname(buf->b_ffname, dirname); + if (p != NULL) + { + buf->b_sfname = vim_strsave(p); + buf->b_fname = buf->b_sfname; + } + if (p == NULL || buf->b_fname == NULL) + buf->b_fname = buf->b_ffname; + } +} + +/* + * Shorten filenames for all buffers. + */ + void shorten_fnames(int force) { char_u dirname[MAXPATHL]; buf_T *buf; - char_u *p; mch_dirname(dirname, MAXPATHL); FOR_ALL_BUFFERS(buf) { - if (buf->b_fname != NULL -#ifdef FEAT_QUICKFIX - && !bt_nofile(buf) -#endif - && !path_with_url(buf->b_fname) - && (force - || buf->b_sfname == NULL - || mch_isFullName(buf->b_sfname))) - { - VIM_CLEAR(buf->b_sfname); - p = shorten_fname(buf->b_ffname, dirname); - if (p != NULL) - { - buf->b_sfname = vim_strsave(p); - buf->b_fname = buf->b_sfname; - } - if (p == NULL || buf->b_fname == NULL) - buf->b_fname = buf->b_ffname; - } + shorten_buf_fname(buf, dirname, force); /* Always make the swap file name a full path, a "nofile" buffer may * also have a swap file. */ @@ -7758,6 +7782,7 @@ static struct event_name {"CmdwinLeave", EVENT_CMDWINLEAVE}, {"CmdUndefined", EVENT_CMDUNDEFINED}, {"ColorScheme", EVENT_COLORSCHEME}, + {"ColorSchemePre", EVENT_COLORSCHEMEPRE}, {"CompleteDone", EVENT_COMPLETEDONE}, {"CursorHold", EVENT_CURSORHOLD}, {"CursorHoldI", EVENT_CURSORHOLDI}, @@ -9503,7 +9528,8 @@ apply_autocmds_group( */ if (fname_io == NULL) { - if (event == EVENT_COLORSCHEME || event == EVENT_OPTIONSET) + if (event == EVENT_COLORSCHEME || event == EVENT_COLORSCHEMEPRE + || event == EVENT_OPTIONSET) autocmd_fname = NULL; else if (fname != NULL && !ends_excmd(*fname)) autocmd_fname = fname; @@ -9573,6 +9599,7 @@ apply_autocmds_group( || event == EVENT_SPELLFILEMISSING || event == EVENT_QUICKFIXCMDPRE || event == EVENT_COLORSCHEME + || event == EVENT_COLORSCHEMEPRE || event == EVENT_OPTIONSET || event == EVENT_QUICKFIXCMDPOST || event == EVENT_DIRCHANGED) diff --git a/src/getchar.c b/src/getchar.c index 20ef09efc3..a19b302e2c 100644 --- a/src/getchar.c +++ b/src/getchar.c @@ -2059,7 +2059,7 @@ vgetorpeek(int advance) c = inchar(typebuf.tb_buf, typebuf.tb_buflen - 1, 0L); /* * If inchar() returns TRUE (script file was active) or we - * are inside a mapping, get out of insert mode. + * are inside a mapping, get out of Insert mode. * Otherwise we behave like having gotten a CTRL-C. * As a result typing CTRL-C in insert mode will * really insert a CTRL-C. @@ -2755,6 +2755,10 @@ vgetorpeek(int advance) * cmdline window. */ if (p_im && (State & INSERT)) c = Ctrl_L; +#ifdef FEAT_TERMINAL + else if (terminal_is_active()) + c = K_CANCEL; +#endif else if ((State & CMDLINE) #ifdef FEAT_CMDWIN || (cmdwin_type > 0 && tc == ESC) @@ -2898,8 +2902,8 @@ vgetorpeek(int advance) } /* for (;;) */ } /* if (!character from stuffbuf) */ - /* if advance is FALSE don't loop on NULs */ - } while (c < 0 || (advance && c == NUL)); + /* if advance is FALSE don't loop on NULs */ + } while ((c < 0 && c != K_CANCEL) || (advance && c == NUL)); /* * The "INSERT" message is taken care of here: diff --git a/src/keymap.h b/src/keymap.h index 3a0e392dd7..69b59e401e 100644 --- a/src/keymap.h +++ b/src/keymap.h @@ -270,12 +270,13 @@ enum key_extra , KE_FOCUSGAINED = 98 /* focus gained */ , KE_FOCUSLOST = 99 /* focus lost */ , KE_MOUSEMOVE = 100 /* mouse moved with no button down */ + , KE_CANCEL = 101 /* return from vgetc() */ #ifdef FEAT_GUI_MACVIM - , KE_SWIPELEFT = 101 /* Swipe trackpad left */ - , KE_SWIPERIGHT = 102 /* Swipe trackpad right */ - , KE_SWIPEUP = 103 /* Swipe trackpad up */ - , KE_SWIPEDOWN = 104 /* Swipe trackpad down */ + , KE_SWIPELEFT = 102 /* Swipe trackpad left */ + , KE_SWIPERIGHT = 103 /* Swipe trackpad right */ + , KE_SWIPEUP = 104 /* Swipe trackpad up */ + , KE_SWIPEDOWN = 105 /* Swipe trackpad down */ #endif }; @@ -462,6 +463,7 @@ enum key_extra #define K_IGNORE TERMCAP2KEY(KS_EXTRA, KE_IGNORE) #define K_NOP TERMCAP2KEY(KS_EXTRA, KE_NOP) +#define K_CANCEL TERMCAP2KEY(KS_EXTRA, KE_CANCEL) #define K_MOUSEDOWN TERMCAP2KEY(KS_EXTRA, KE_MOUSEDOWN) #define K_MOUSEUP TERMCAP2KEY(KS_EXTRA, KE_MOUSEUP) diff --git a/src/message.c b/src/message.c index 7b45af8d1d..9f7c7a9759 100644 --- a/src/message.c +++ b/src/message.c @@ -4061,7 +4061,7 @@ do_browse( } else fname = gui_mch_browse(flags & BROWSE_SAVE, - title, dflt, ext, initdir, filter); + title, dflt, ext, initdir, (char_u *)_(filter)); /* We hang around in the dialog for a while, the user might do some * things to our files. The Win32 dialog allows deleting or renaming diff --git a/src/misc1.c b/src/misc1.c index 102c4095fb..bc2cf42a1a 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -3729,7 +3729,7 @@ vim_beep( /* No restore color information, refresh the screen. */ if (has_vtp_working() != 0 # ifdef FEAT_TERMGUICOLORS - && p_tgc + && (p_tgc || (!p_tgc && t_colors >= 256)) # endif ) { diff --git a/src/ops.c b/src/ops.c index fe29e8ae74..9af466b3f3 100644 --- a/src/ops.c +++ b/src/ops.c @@ -1573,6 +1573,14 @@ get_spec_reg( *allocated = TRUE; return TRUE; + case Ctrl_L: /* Line under cursor */ + if (!errmsg) + return FALSE; + + *argp = ml_get_buf(curwin->w_buffer, + curwin->w_cursor.lnum, FALSE); + return TRUE; + case '_': /* black hole: always empty */ *argp = (char_u *)""; return TRUE; @@ -2703,6 +2711,8 @@ op_insert(oparg_T *oap, long count1) { struct block_def bd2; int did_indent = FALSE; + size_t len; + int add; /* If indent kicked in, the firstline might have changed * but only do that, if the indent actually increased. */ @@ -2781,9 +2791,15 @@ op_insert(oparg_T *oap, long count1) * Subsequent calls to ml_get() flush the firstline data - take a * copy of the required string. */ - firstline = ml_get(oap->start.lnum) + bd.textcol; + firstline = ml_get(oap->start.lnum); + len = STRLEN(firstline); + add = bd.textcol; if (oap->op_type == OP_APPEND) - firstline += bd.textlen; + add += bd.textlen; + if ((size_t)add > len) + firstline += len; // short line, point to the NUL + else + firstline += add; if (pre_textlen >= 0 && (ins_len = (long)STRLEN(firstline) - pre_textlen) > 0) { diff --git a/src/option.c b/src/option.c index eb237ae9f0..20e2f19779 100644 --- a/src/option.c +++ b/src/option.c @@ -6190,6 +6190,9 @@ did_set_string_option( int redraw_gui_only = FALSE; #endif int ft_changed = FALSE; +#if defined(FEAT_VTP) && defined(FEAT_TERMGUICOLORS) + int did_swaptcap = FALSE; +#endif /* Get the global option to compare with, otherwise we would have to check * two values for all local options. */ @@ -6933,6 +6936,13 @@ did_set_string_option( vim_free(T_CCO); T_CCO = empty_option; } +#if defined(FEAT_VTP) && defined(FEAT_TERMGUICOLORS) + if (is_term_win32()) + { + swap_tcap(); + did_swaptcap = TRUE; + } +#endif /* We now have a different color setup, initialize it again. */ init_highlight(TRUE, FALSE); } @@ -7797,6 +7807,16 @@ did_set_string_option( #endif check_redraw(options[opt_idx].flags); +#if defined(FEAT_VTP) && defined(FEAT_TERMGUICOLORS) + if (did_swaptcap) + { + if (t_colors < 256) + p_tgc = 0; + set_termname((char_u *)"win32"); + init_highlight(TRUE, FALSE); + } +#endif + return errmsg; } @@ -8887,7 +8907,8 @@ set_bool_option( p_tgc = 0; return (char_u*)N_("E954: 24-bit colors are not supported on this environment"); } - swap_tcap(); + if (is_term_win32()) + swap_tcap(); # endif # ifdef FEAT_GUI if (!gui.in_use && !gui.starting) @@ -8896,7 +8917,7 @@ set_bool_option( # ifdef FEAT_VTP control_console_color_rgb(); /* reset t_Co */ - if (STRCMP(T_NAME, "win32") == 0) + if (is_term_win32()) set_termname(T_NAME); # endif } diff --git a/src/os_win32.c b/src/os_win32.c index 0cb311337d..c474415c8b 100644 --- a/src/os_win32.c +++ b/src/os_win32.c @@ -214,7 +214,7 @@ static guicolor_T save_console_bg_rgb; static guicolor_T save_console_fg_rgb; # ifdef FEAT_TERMGUICOLORS -# define USE_VTP (vtp_working && p_tgc) +# define USE_VTP (vtp_working && is_term_win32() && (p_tgc || (!p_tgc && t_colors >= 256))) # else # define USE_VTP 0 # endif @@ -2630,7 +2630,6 @@ mch_init(void) /* set termcap codes to current text attributes */ update_tcap(g_attrCurrent); - swap_tcap(); GetConsoleCursorInfo(g_hConOut, &g_cci); GetConsoleMode(g_hConIn, &g_cmodein); @@ -5763,7 +5762,11 @@ clear_chars( if (!USE_VTP) FillConsoleOutputAttribute(g_hConOut, g_attrCurrent, n, coord, &dwDummy); else - FillConsoleOutputAttribute(g_hConOut, 0, n, coord, &dwDummy); + { + set_console_color_rgb(); + gotoxy(coord.X + 1, coord.Y + 1); + vtp_printf("\033[%dX", n); + } } @@ -7653,6 +7656,18 @@ vtp_sgr_bulks( vtp_printf((char *)buf); } +# ifdef FEAT_TERMGUICOLORS + static int +ctermtoxterm( + int cterm) +{ + uint8_t r, g, b, idx; + + cterm_color2rgb(cterm, &r, &g, &b, &idx); + return (((int)r << 16) | ((int)g << 8) | (int)b); +} +# endif + static void set_console_color_rgb(void) { @@ -7661,6 +7676,8 @@ set_console_color_rgb(void) int id; guicolor_T fg = INVALCOLOR; guicolor_T bg = INVALCOLOR; + int ctermfg; + int ctermbg; if (!USE_VTP) return; @@ -7669,9 +7686,19 @@ set_console_color_rgb(void) if (id > 0) syn_id2colors(id, &fg, &bg); if (fg == INVALCOLOR) - fg = 0xc0c0c0; /* white text */ + { + ctermfg = -1; + if (id > 0) + syn_id2cterm_bg(id, &ctermfg, &ctermbg); + fg = ctermfg != -1 ? ctermtoxterm(ctermfg) : 0xc0c0c0; /* white */ + } if (bg == INVALCOLOR) - bg = 0x000000; /* black background */ + { + ctermbg = -1; + if (id > 0) + syn_id2cterm_bg(id, &ctermfg, &ctermbg); + bg = ctermbg != -1 ? ctermtoxterm(ctermbg) : 0x000000; /* black */ + } fg = (GetRValue(fg) << 16) | (GetGValue(fg) << 8) | GetBValue(fg); bg = (GetRValue(bg) << 16) | (GetGValue(bg) << 8) | GetBValue(bg); @@ -7730,4 +7757,10 @@ use_vtp(void) return USE_VTP; } + int +is_term_win32(void) +{ + return T_NAME != NULL && STRCMP(T_NAME, "win32") == 0; +} + #endif diff --git a/src/po/Make_cyg.mak b/src/po/Make_cyg.mak index 4ee21a1507..5f6f6cca35 100644 --- a/src/po/Make_cyg.mak +++ b/src/po/Make_cyg.mak @@ -130,11 +130,11 @@ all: $(MOFILES) first_time: $(XGETTEXT) --default-domain=$(LANGUAGE) \ - --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h + --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h ../vim.h $(LANGUAGES): $(XGETTEXT) --default-domain=$(PACKAGE) \ - --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h + --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h ../vim.h $(MV) $(PACKAGE).po $(PACKAGE).pot $(CP) $@.po $@.po.orig $(MV) $@.po $@.po.old diff --git a/src/po/Make_ming.mak b/src/po/Make_ming.mak index 6973ad79c8..70b2c1efad 100644 --- a/src/po/Make_ming.mak +++ b/src/po/Make_ming.mak @@ -139,11 +139,11 @@ all: $(MOFILES) first_time: $(XGETTEXT) --default-domain=$(LANGUAGE) \ - --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h + --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h ../vim.h $(LANGUAGES): $(XGETTEXT) --default-domain=$(PACKAGE) \ - --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h + --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 $(wildcard ../*.c) ../if_perl.xs ../GvimExt/gvimext.cpp $(wildcard ../globals.h) ../if_py_both.h ../vim.h $(MV) $(PACKAGE).po $(PACKAGE).pot $(CP) $@.po $@.po.orig $(MV) $@.po $@.po.old diff --git a/src/po/Make_mvc.mak b/src/po/Make_mvc.mak index 0f0adebb6e..0748bdf06b 100644 --- a/src/po/Make_mvc.mak +++ b/src/po/Make_mvc.mak @@ -119,7 +119,7 @@ INSTALLDIR = $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES all: $(MOFILES) files: - $(LS) $(LSFLAGS) ..\*.c ..\if_perl.xs ..\GvimExt\gvimext.cpp ..\globals.h ..\if_py_both.h > .\files + $(LS) $(LSFLAGS) ..\*.c ..\if_perl.xs ..\GvimExt\gvimext.cpp ..\globals.h ..\if_py_both.h ..\vim.h > .\files first_time: files set OLD_PO_FILE_INPUT=yes diff --git a/src/po/Makefile b/src/po/Makefile index fc78c43086..386cb64433 100644 --- a/src/po/Makefile +++ b/src/po/Makefile @@ -281,10 +281,10 @@ distclean: clean checkclean: rm -f *.ck -$(PACKAGE).pot: ../*.c ../if_perl.xs ../GvimExt/gvimext.cpp ../globals.h ../if_py_both.h +$(PACKAGE).pot: ../*.c ../if_perl.xs ../GvimExt/gvimext.cpp ../globals.h ../if_py_both.h ../vim.h cd ..; $(XGETTEXT) --default-domain=$(PACKAGE) \ --add-comments --keyword=_ --keyword=N_ --keyword=NGETTEXT:1,2 \ - *.c if_perl.xs GvimExt/gvimext.cpp globals.h if_py_both.h + *.c if_perl.xs GvimExt/gvimext.cpp globals.h if_py_both.h vim.h mv -f ../$(PACKAGE).po $(PACKAGE).pot update-po: $(LANGUAGES) diff --git a/src/po/check.vim b/src/po/check.vim index a1ec6237e7..9cfa36a7cd 100644 --- a/src/po/check.vim +++ b/src/po/check.vim @@ -121,6 +121,7 @@ endfunc " Check that the \n at the end of the msgid line is also present in the msgstr " line. Skip over the header. +1 /^"MIME-Version: while 1 let lnum = search('^msgid\>') diff --git a/src/po/de.po b/src/po/de.po index e7239e3aad..fa4ee9ca1b 100644 --- a/src/po/de.po +++ b/src/po/de.po @@ -11,14 +11,15 @@ msgid "" msgstr "" "Project-Id-Version: Vim(deutsch)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-15 22:00+0200\n" +"POT-Creation-Date: 2018-04-30 15:16+0200\n" "PO-Revision-Date: 2008-05-24 17:26+0200\n" -"Last-Translator: Christian Brabandt\n" -"Language-Team: German \n" +"Last-Translator: Christian Brabandt \n" +"Language-Team: German\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO_8859-1\n" "Content-Transfer-Encoding: 8-bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" msgid "E831: bf_key_init() called with empty password" msgstr "E831: bf_key_init() mit leerem passwort aufgerufen." @@ -535,21 +536,6 @@ msgstr "E743: Variable ist zu tief verschachtelt f msgid "E109: Missing ':' after '?'" msgstr "E109: Fehlender ':' nach '?'" -msgid "E691: Can only compare List with List" -msgstr "E691: Kann nur eine Liste mit einer Liste vergleichen." - -msgid "E692: Invalid operation for List" -msgstr "E692: Unzulässige Operation für Listen" - -msgid "E735: Can only compare Dictionary with Dictionary" -msgstr "E735: Kann nur ein Dictionary mit einem Dictionary vergleichen" - -msgid "E736: Invalid operation for Dictionary" -msgstr "E736: Unzulässige Funktion für ein Dictionary" - -msgid "E694: Invalid operation for Funcrefs" -msgstr "E694: Unzulässige Operation für Funktionsreferenzen" - msgid "E804: Cannot use '%' with Float" msgstr "E804: Kann '%' mit Floats benutzen." @@ -678,6 +664,21 @@ msgstr "" "\n" "\tZuletzt gesetzt in " +msgid "E691: Can only compare List with List" +msgstr "E691: Kann nur eine Liste mit einer Liste vergleichen." + +msgid "E692: Invalid operation for List" +msgstr "E692: Unzulässige Operation für Listen" + +msgid "E735: Can only compare Dictionary with Dictionary" +msgstr "E735: Kann nur ein Dictionary mit einem Dictionary vergleichen" + +msgid "E736: Invalid operation for Dictionary" +msgstr "E736: Unzulässige Funktion für ein Dictionary" + +msgid "E694: Invalid operation for Funcrefs" +msgstr "E694: Unzulässige Operation für Funktionsreferenzen" + msgid "map() argument" msgstr "map() Argument" @@ -703,6 +704,11 @@ msgstr "E785: complete() kann nur im Einf msgid "&Ok" msgstr "&Ok" +msgid "+-%s%3ld line: " +msgid_plural "+-%s%3ld lines: " +msgstr[0] "+-%s%3ld Zeile, " +msgstr[1] "+-%s%3ld Zeilen, " + #, c-format msgid "E700: Unknown function: %s" msgstr "E700: Unbekannte Funktion: %s" @@ -807,10 +813,19 @@ msgstr "E677: Fehler beim Schreiben einer tempor msgid "E921: Invalid callback argument" msgstr "E921: Ungülgültiges Callback Argument" +msgid "<%s>%s%s %d, Hex %02x, Oct %03o, Digr %s" +msgstr "<%s>%s%s %d, Hex %02x, Oktal %03o, Digr %s" + #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" msgstr "<%s>%s%s %d, Hex %02x, Oktal %03o" +msgid "> %d, Hex %04x, Oct %o, Digr %s" +msgstr "> %d, Hex %04x, Oktal %o, Digr %s" + +msgid "> %d, Hex %08x, Oct %o, Digr %s" +msgstr "> %d, Hex %08x, Oktal %o, Digr %s" + #, c-format msgid "> %d, Hex %04x, Octal %o" msgstr "> %d, Hex %04x, Oktal %o" @@ -1117,6 +1132,13 @@ msgstr "Keine Alt-Dateien" msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "Debug-Modus. Geben Sie \"cont\" zum Fortsetzen ein." +msgid "Oldval = \"%s\"" +msgstr "Alter Wert = \"%s\"" + +#, c-format +msgid "Newval = \"%s\"" +msgstr "Neuer Wert = \"%s\"" + #, c-format msgid "line %ld: %s" msgstr "Zeile %ld: %s" @@ -1147,6 +1169,10 @@ msgstr "Keine Haltepunkte definiert" msgid "%3d %s %s line %ld" msgstr "%3d %s %s Zeile %ld" +#, c-format +msgid "%3d expr %s" +msgstr "%3d expr %s" + msgid "E750: First use \":profile start {fname}\"" msgstr "E750: Benutze vorher :profile start " @@ -1154,6 +1180,7 @@ msgstr "E750: Benutze vorher :profile start " msgid "Save changes to \"%s\"?" msgstr "Änderungen in \"%s\" speichern?" +#, c-format msgid "E947: Job still running in buffer \"%s\"" msgstr "E947: Job noch aktiv in Puffer \"%s\"" @@ -1306,9 +1333,6 @@ msgstr "" msgid "E319: Sorry, the command is not available in this version" msgstr "E319: Der Befehl ist in dieser Version nicht implementiert" -msgid "E172: Only one file name allowed" -msgstr "E172: Nur ein Dateiname erlaubt" - msgid "1 more file to edit. Quit anyway?" msgstr "Eine weitere Datei zum Editieren. Trotzdem beenden?" @@ -1793,9 +1817,6 @@ msgstr "E509: Sicherungsdatei kann nicht angelegt werden (erzwinge mit !)" msgid "E510: Can't make backup file (add ! to override)" msgstr "E510: Sicherungsdatei kann nicht erstellt werden (erzwinge mit !)" -msgid "E460: The resource fork would be lost (add ! to override)" -msgstr "E460: Der Ressourcefork geht verloren (erzwinge mit !)" - msgid "E214: Can't find temp file for writing" msgstr "E214: Temporäre Datei kann nicht zum Schreiben geöffnet werden" @@ -1808,8 +1829,8 @@ msgstr "E166: Gelinkte Datei kann nicht zum Schreiben ge msgid "E212: Can't open file for writing" msgstr "E212: Datei kann nicht zum Schreiben geöffnet werden" -msgid "E667: Fsync failed" -msgstr "E667: Fsync fehlgeschlagen" +msgid "E949: File changed while writing" +msgstr "E949: Datei wurde während des Schreibens verändert" msgid "E512: Close failed" msgstr "E512: Fehler beim Schließen" @@ -2069,6 +2090,11 @@ msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "" "E351: Faltung kann mit der aktuellen Faltungsmethode nicht gelöscht werden" +msgid "+--%3ld line folded " +msgid_plural "+--%3ld lines folded " +msgstr[0] "%3ld Zeile gefaltet " +msgstr[1] "%3ld Zeilen gefaltet " + msgid "E222: Add to read buffer" msgstr "E222: Zum Lesepuffer hinzufügen" @@ -4273,9 +4299,8 @@ msgstr "" "Sp %s von %s; Zeile %ld von %ld; Wort %lld von %lld; Zeichen %lld von %lld; " "Byte %lld von %lld" -#, c-format -msgid "(+%ld for BOM)" -msgstr "(+%ld für BOM)" +msgid "(+%lld for BOM)" +msgstr "(+%lld für BOM)" msgid "Thanks for flying Vim" msgstr "Danke für die Benutzung von Vim" @@ -4327,6 +4352,9 @@ msgstr "E835: Widerspricht Wert aus 'fillchars'" msgid "E617: Cannot be changed in the GTK+ 2 GUI" msgstr "E617: Kann in der GTK+ 2 GUI nicht verändert werden" +msgid "E950: Cannot convert between %s and %s" +msgstr "E950: Kann nicht zwischen %s und %s konvertieren." + msgid "E524: Missing colon" msgstr "E524: Fehlender Doppelpunkt" @@ -4393,6 +4421,9 @@ msgstr "E590: Ein Vorschaufenster existiert bereits" msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" msgstr "W17: Arabisch benötigt UTF-8, bitte ':set encoding=utf-8' ausführen" +msgid "E954: 24-bit colors are not supported on this environment" +msgstr "E954: 24-bit Farben werden in dieser Umgebung nicht unterstützt" + #, c-format msgid "E593: Need at least %d lines" msgstr "E593: Mindestens %d Zeilen werden benötigt" @@ -4678,6 +4709,9 @@ msgstr "Vim Achtung" msgid "shell returned %d" msgstr "Shell gab %d zurück" +msgid "E926: Current location list was changed" +msgstr "E926: Aktuelle Positionsliste wurde geändert." + #, c-format msgid "E372: Too many %%%c in format string" msgstr "E372: Zu viele %%%c im Format" @@ -4716,9 +4750,6 @@ msgstr "E924: Aktuelles Fenster wurde geschlossen." msgid "E925: Current quickfix was changed" msgstr "E925: Aktuelle Quickfix wurde geändert." -msgid "E926: Current location list was changed" -msgstr "E926: Aktuelle Positionsliste wurde geändert." - #, c-format msgid "(%d of %d)%s%s: " msgstr "(%d aus %d)%s%s: " @@ -4881,6 +4912,9 @@ msgstr "E877: (NFA regexp) Ung msgid "E867: (NFA) Unknown operator '\\z%c'" msgstr "E867: (NFA) Unbekannter Operator '\\z%c'" +msgid "E951: \\% value too large" +msgstr "E951: \\% Wert zu groß" + #, c-format msgid "E867: (NFA) Unknown operator '\\%%%c'" msgstr "E867: (NFA) Unbekannter Operator '\\%%%c'" @@ -5302,9 +5336,8 @@ msgstr "Lese W msgid "E760: No word count in %s" msgstr "E760: Keine Wörter gezählt in %s" -#, c-format -msgid "line %6d, word %6d - %s" -msgstr "Zeile %6d, Wort %6d - %s" +msgid "line %6d, word %6ld - %s" +msgstr "Zeile %6d, Wort %6ld - %s" #, c-format msgid "Duplicate word in %s line %d: %s" @@ -5390,8 +5423,8 @@ msgstr "Gesch msgid "E751: Output file name must not have region name" msgstr "E751: Ausgabedatei darf keinen Regionsnamen haben" -msgid "E754: Only up to 8 regions supported" -msgstr "E754: Maximal 8 Regionen unterstützt" +msgid "E754: Only up to %ld regions supported" +msgstr "E754: Maximal %ld Regionen unterstützt" #, c-format msgid "E755: Invalid region in %s" @@ -5781,6 +5814,10 @@ msgstr "" msgid "Cannot open $VIMRUNTIME/rgb.txt" msgstr "Kann Datei $VIMRUNTIME/rgb.txt nicht öffnen." +#, c-format +msgid "Kill job in \"%s\"?" +msgstr "Beende job in \"%s\"?" + msgid "Terminal" msgstr "Terminal" @@ -5796,6 +5833,12 @@ msgstr "F msgid "finished" msgstr "beendet" +msgid "E953: File exists: %s" +msgstr "E953: Datei existiert bereits: %s" + +msgid "E955: Not a terminal buffer" +msgstr "E955: Kein Terminal Puffer" + msgid "new shell started\n" msgstr "neue Shell gestartet\n" @@ -6109,25 +6152,18 @@ msgstr "" msgid "" "\n" -"MacOS X (unix) version" -msgstr "" -"\n" -"MacOS X (unix) Version" - -msgid "" -"\n" -"MacOS X version" -msgstr "" -"\n" -"MacOS X Version" - -msgid "" -"\n" -"MacOS version" +"macOS version" msgstr "" "\n" "MacOS Version" +msgid "" +"\n" +"macOS version w/o darwin feat." +msgstr "" +"\n" +"MacOS Version ohne Darwin" + msgid "" "\n" "OpenVMS version" @@ -6230,9 +6266,6 @@ msgstr "mit Carbon GUI." msgid "with Cocoa GUI." msgstr "mit Cocoa GUI." -msgid "with (classic) GUI." -msgstr "mit (klassischem) GUI." - msgid " Features included (+) or not (-):\n" msgstr " Ein- (+) oder ausschließlich (-) der Eigenschaften:\n" @@ -6532,6 +6565,12 @@ msgstr "E474: Ung msgid "E475: Invalid argument: %s" msgstr "E475: Ungültiges Argument: %s" +msgid "E475: Invalid value for argument %s" +msgstr "E475: Ungültiger Wert für Argument: %s" + +msgid "E475: Invalid value for argument %s: %s" +msgstr "E475: Ungültiger Wert für Argument %s: %s" + #, c-format msgid "E15: Invalid expression: %s" msgstr "E15: ungültiger Ausdruck: %s" @@ -6550,6 +6589,9 @@ msgstr "E17: \"%s\" ist ein Verzeichnis" msgid "E364: Library call failed for \"%s()\"" msgstr "E364: Bibliotheksaufruf für \"%s()\" schlug fehl" +msgid "E667: Fsync failed" +msgstr "E667: Fsync fehlgeschlagen" + #, c-format msgid "E448: Could not load library function %s" msgstr "E448: Bibliotheksfunktion %s konnte nicht geladen werden" @@ -6828,6 +6870,9 @@ msgstr "E850: Ung msgid "E919: Directory not found in '%s': \"%s\"" msgstr "E919: Verzeichnis nicht gefunden in '%s': \"%s\"" +msgid "E952: Autocommand caused recursive behavior" +msgstr "E952: Autokommando verursachten Rekursion" + msgid "search hit TOP, continuing at BOTTOM" msgstr "Suche erreichte den ANFANG und wurde am ENDE fortgesetzt" @@ -7101,3 +7146,48 @@ msgid "" msgstr "" "Fehler beim setzen des Pfades: sys.path ist keine Liste\n" "Fügen Sie vim.VIM_SPECIAL_PATH zu sys.path hinzu" + +msgid "" +"Vim macro files (*.vim)\t*.vim\n" +"All Files (*.*)\t*.*\n" +msgstr "" +"Vim Dateien (*.vim)\t*.vim\n" +"Alle Dateien (*.*)\t*.*\n" + +msgid "All Files (*.*)\t*.*\n" +msgstr "Alle Dateien (*.*)\t*.*\n" + +msgid "" +"All Files (*.*)\t*.*\n" +"C source (*.c, *.h)\t*.c;*.h\n" +"C++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\n" +"VB code (*.bas, *.frm)\t*.bas;*.frm\n" +"Vim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n" +msgstr "" +"Alle Dateien (*.*)\t*.*\n" +"C Quellcode (*.c, *.h)\t*.c;*.h\n" +"C++ Quellcode (*.cpp, *.hpp)\t*.cpp;*.hpp\n" +"VB Quellcode (*.bas, *.frm)\t*.bas;*.frm\n" +"Vim Dateien (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n" + +msgid "" +"Vim macro files (*.vim)\t*.vim\n" +"All Files (*)\t*\n" +msgstr "" +"Vim Dateien (*.vim)\t*.vim\n" +"Alle Dateien (*)\t*\n" + +msgid "All Files (*)\t*\n" +msgstr "" +"Alle Dateien (*)\t*\n" + +msgid "" +"All Files (*)\t*\n" +"C source (*.c, *.h)\t*.c;*.h\n" +"C++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\n" +"Vim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n" +msgstr "" +"Alle Dateien (*)\t*\n" +"C Quellcode (*.c, *.h)\t*.c;*.h\n" +"C++ Quellcode (*.cpp, *.hpp)\t*.cpp;*.hpp\n" +"Vim Dateien (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n" diff --git a/src/po/eo.po b/src/po/eo.po index cc0893de3a..8654fbc14d 100644 --- a/src/po/eo.po +++ b/src/po/eo.po @@ -17,8 +17,8 @@ msgid "" msgstr "" "Project-Id-Version: Vim(Esperanto)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-02 22:42+0200\n" -"PO-Revision-Date: 2017-10-02 22:57+0200\n" +"POT-Creation-Date: 2018-04-30 19:32+0200\n" +"PO-Revision-Date: 2018-05-30 20:14+0200\n" "Last-Translator: Dominique PELLÉ \n" "Language-Team: \n" "Language: eo\n" @@ -543,21 +543,6 @@ msgstr "E743: variablo ingita tro profunde por (mal)Ålosi" msgid "E109: Missing ':' after '?'" msgstr "E109: Mankas ':' malantaÅ­ '?'" -msgid "E691: Can only compare List with List" -msgstr "E691: Eblas nur kompari Liston kun Listo" - -msgid "E692: Invalid operation for List" -msgstr "E692: Nevalida operacio de Listoj" - -msgid "E735: Can only compare Dictionary with Dictionary" -msgstr "E735: Eblas nur kompari Vortaron kun Vortaro" - -msgid "E736: Invalid operation for Dictionary" -msgstr "E736: Nevalida operacio de Vortaro" - -msgid "E694: Invalid operation for Funcrefs" -msgstr "E694: Nevalida operacio de Funcref-oj" - msgid "E804: Cannot use '%' with Float" msgstr "E804: Ne eblas uzi '%' kun Glitpunktnombro" @@ -683,6 +668,21 @@ msgstr "" "\n" "\tLaste Åaltita de " +msgid "E691: Can only compare List with List" +msgstr "E691: Eblas nur kompari Liston kun Listo" + +msgid "E692: Invalid operation for List" +msgstr "E692: Nevalida operacio de Listoj" + +msgid "E735: Can only compare Dictionary with Dictionary" +msgstr "E735: Eblas nur kompari Vortaron kun Vortaro" + +msgid "E736: Invalid operation for Dictionary" +msgstr "E736: Nevalida operacio de Vortaro" + +msgid "E694: Invalid operation for Funcrefs" +msgstr "E694: Nevalida operacio de Funcref-oj" + msgid "map() argument" msgstr "argumento de map()" @@ -708,6 +708,12 @@ msgstr "E785: complete() uzeblas nur en Enmeta reÄimo" msgid "&Ok" msgstr "&Bone" +#, c-format +msgid "+-%s%3ld line: " +msgid_plural "+-%s%3ld lines: " +msgstr[0] "+-%s%3ld linio: " +msgstr[1] "+-%s%3ld linioj: " + #, c-format msgid "E700: Unknown function: %s" msgstr "E700: Nekonata funkcio: %s" @@ -810,10 +816,22 @@ msgstr "E677: Eraro dum skribo de provizora dosiero" msgid "E921: Invalid callback argument" msgstr "E921: Nevalida argumento de reagfunctio" +#, c-format +msgid "<%s>%s%s %d, Hex %02x, Oct %03o, Digr %s" +msgstr "<%s>%s%s %d, Deksesuma %02x, Okuma %03o, Digr %s" + #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" msgstr "<%s>%s%s %d, Deksesuma %02x, Okuma %03o" +#, c-format +msgid "> %d, Hex %04x, Oct %o, Digr %s" +msgstr "> %d, Deksesuma %04x, Okuma %o, Digr %s" + +#, c-format +msgid "> %d, Hex %08x, Oct %o, Digr %s" +msgstr "> %d, Deksesuma %08x, Okuma %o, Digr %s" + #, c-format msgid "> %d, Hex %04x, Octal %o" msgstr "> %d, Deksesuma %04x, Okuma %o" @@ -1118,6 +1136,14 @@ msgstr "Neniu malnova dosiero" msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "Eniras sencimigan reÄimon. Tajpu \"cont\" por daÅ­rigi." +#, c-format +msgid "Oldval = \"%s\"" +msgstr "Malnovaval = \"%s\"" + +#, c-format +msgid "Newval = \"%s\"" +msgstr "Novaval = \"%s\"" + #, c-format msgid "line %ld: %s" msgstr "linio %ld: %s" @@ -1148,6 +1174,10 @@ msgstr "Neniu kontrolpunkto estas difinita" msgid "%3d %s %s line %ld" msgstr "%3d %s %s linio %ld" +#, c-format +msgid "%3d expr %s" +msgstr "%3d espr %s" + msgid "E750: First use \":profile start {fname}\"" msgstr "E750: Uzu unue \":profile start {dosiernomo}\"" @@ -1302,9 +1332,6 @@ msgstr "E943: Tabulo de komandoj estas Äisdatigenda, lanĉu 'make cmdidx'" msgid "E319: Sorry, the command is not available in this version" msgstr "E319: BedaÅ­rinde, tiu komando ne haveblas en tiu versio" -msgid "E172: Only one file name allowed" -msgstr "E172: Nur unu dosiernomo permesebla" - msgid "1 more file to edit. Quit anyway?" msgstr "1 plia redaktenda dosiero. Ĉu tamen eliri?" @@ -1781,9 +1808,6 @@ msgstr "E509: Ne eblas krei restaÅ­rkopion (aldonu ! por transpasi)" msgid "E510: Can't make backup file (add ! to override)" msgstr "E510: Ne eblas krei restaÅ­rkopion (aldonu ! por transpasi)" -msgid "E460: The resource fork would be lost (add ! to override)" -msgstr "E460: La rimeda forko estus perdita (aldonu ! por transpasi)" - msgid "E214: Can't find temp file for writing" msgstr "E214: Ne eblas trovi provizoran dosieron por skribi" @@ -1796,9 +1820,8 @@ msgstr "E166: Ne eblas malfermi ligitan dosieron por skribi" msgid "E212: Can't open file for writing" msgstr "E212: Ne eblas malfermi la dosieron por skribi" -# AM: fsync: ne traduku (nomo de C-komando) -msgid "E667: Fsync failed" -msgstr "E667: Fsync malsukcesis" +msgid "E949: File changed while writing" +msgstr "E949: Dosiero ÅanÄiÄis dum skribo" msgid "E512: Close failed" msgstr "E512: Fermo malsukcesis" @@ -2047,11 +2070,17 @@ msgstr "E350: Ne eblas krei faldon per la aktuala 'foldmethod'" msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: Ne eblas forviÅi faldon per la aktuala 'foldmethod'" +#, c-format +msgid "+--%3ld line folded " +msgid_plural "+--%3ld lines folded " +msgstr[0] "+--%3ld linio faldita" +msgstr[1] "+--%3ld linioj falditaj" + msgid "E222: Add to read buffer" msgstr "E222: Aldoni al lega bufro" msgid "E223: recursive mapping" -msgstr "E223: rekursia mapo" +msgstr "E223: rikura mapo" #, c-format msgid "E224: global abbreviation already exists for %s" @@ -4221,8 +4250,8 @@ msgstr "" "Bajto %lld de %lld" #, c-format -msgid "(+%ld for BOM)" -msgstr "(+%ld por BOM)" +msgid "(+%lld for BOM)" +msgstr "(+%lld por BOM)" msgid "Thanks for flying Vim" msgstr "Dankon pro flugi per Vim" @@ -4274,6 +4303,10 @@ msgstr "E835: Konfliktoj kun la valoro de 'fillchars'" msgid "E617: Cannot be changed in the GTK+ 2 GUI" msgstr "E617: Ne ÅanÄeblas en la grafika interfaco GTK+ 2" +#, c-format +msgid "E950: Cannot convert between %s and %s" +msgstr "E950: Ne eblas konverti de %s al %s" + msgid "E524: Missing colon" msgstr "E524: Mankas dupunkto" @@ -4340,6 +4373,9 @@ msgstr "E590: AntaÅ­vida fenestro jam ekzistas" msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" msgstr "W17: La araba bezonas UTF-8, tajpu \":set encoding=utf-8\"" +msgid "E954: 24-bit colors are not supported on this environment" +msgstr "E954: 24-bitaj koloroj ne estas subtenataj en tiu sistemo" + #, c-format msgid "E593: Need at least %d lines" msgstr "E593: Bezonas almenaÅ­ %d liniojn" @@ -4626,6 +4662,9 @@ msgstr "Averto de Vim" msgid "shell returned %d" msgstr "la Åelo liveris %d" +msgid "E926: Current location list was changed" +msgstr "E926: Aktuala listo de lokoj ÅanÄiÄis" + #, c-format msgid "E372: Too many %%%c in format string" msgstr "E372: Tro da %%%c en formata ĉeno" @@ -4664,9 +4703,6 @@ msgstr "E924: Aktuala vindozo fermiÄis" msgid "E925: Current quickfix was changed" msgstr "E925: Aktuala rapidriparo ÅanÄiÄis" -msgid "E926: Current location list was changed" -msgstr "E926: Aktuala listo de lokoj ÅanÄiÄis" - #, c-format msgid "(%d of %d)%s%s: " msgstr "(%d de %d)%s%s: " @@ -4830,6 +4866,9 @@ msgstr "E877: (NFA-regulesprimo) Nevalida klaso de signoj: %ld" msgid "E867: (NFA) Unknown operator '\\z%c'" msgstr "E867: (NFA) Nekonata operatoro '\\z%c'" +msgid "E951: \\% value too large" +msgstr "E951: tro larga valoro de \\%" + #, c-format msgid "E867: (NFA) Unknown operator '\\%%%c'" msgstr "E867: (NFA) Nekonata operatoro '\\%%%c'" @@ -5248,8 +5287,8 @@ msgid "E760: No word count in %s" msgstr "E760: Ne estas nombro de vortoj en %s" #, c-format -msgid "line %6d, word %6d - %s" -msgstr "linio %6d, vorto %6d - %s" +msgid "line %6d, word %6ld - %s" +msgstr "linio %6d, vorto %6ld - %s" #, c-format msgid "Duplicate word in %s line %d: %s" @@ -5335,8 +5374,9 @@ msgstr "Evaluo de memoro uzata: %d bajtoj" msgid "E751: Output file name must not have region name" msgstr "E751: Nomo de eliga dosiero ne devas havi nomon de regiono" -msgid "E754: Only up to 8 regions supported" -msgstr "E754: Nur 8 regionoj subtenataj" +#, c-format +msgid "E754: Only up to %ld regions supported" +msgstr "E754: Nur Äis %ld regionoj subtenataj" #, c-format msgid "E755: Invalid region in %s" @@ -5723,6 +5763,10 @@ msgstr "" msgid "Cannot open $VIMRUNTIME/rgb.txt" msgstr "Ne povas malfermi $VIMRUNTIME/rgb.txt" +#, c-format +msgid "Kill job in \"%s\"?" +msgstr "Ĉu ĉesigi taskon en \"%s\"?" + msgid "Terminal" msgstr "Terminalo" @@ -5738,6 +5782,13 @@ msgstr "ruliÄas" msgid "finished" msgstr "finiÄis" +#, c-format +msgid "E953: File exists: %s" +msgstr "E953: Dosiero jam ekzistas: %s" + +msgid "E955: Not a terminal buffer" +msgstr "E955: Ne estas bufro de terminalo" + msgid "new shell started\n" msgstr "nova Åelo lanĉita\n" @@ -6043,24 +6094,17 @@ msgstr "" msgid "" "\n" -"MacOS X (unix) version" +"macOS version" msgstr "" "\n" -"Versio Mak OS X (unikso)" +"Versio makOS" msgid "" "\n" -"MacOS X version" +"macOS version w/o darwin feat." msgstr "" "\n" -"Versio Mak OS X" - -msgid "" -"\n" -"MacOS version" -msgstr "" -"\n" -"Versio Mak OS" +"Versio makOS sen ebloj de darwin." msgid "" "\n" @@ -6164,9 +6208,6 @@ msgstr "kun grafika interfaco Carbon." msgid "with Cocoa GUI." msgstr "kun grafika interfaco Cocoa." -msgid "with (classic) GUI." -msgstr "kun (klasika) grafika interfaco." - msgid " Features included (+) or not (-):\n" msgstr " Ebloj inkluzivitaj (+) aÅ­ ne (-):\n" @@ -6474,6 +6515,14 @@ msgstr "E474: Nevalida argumento" msgid "E475: Invalid argument: %s" msgstr "E475: Nevalida argumento: %s" +#, c-format +msgid "E475: Invalid value for argument %s" +msgstr "E475: Nevalida valoro de argumento: %s" + +#, c-format +msgid "E475: Invalid value for argument %s: %s" +msgstr "E475: Nevalida valoro de argumento %s: %s" + #, c-format msgid "E15: Invalid expression: %s" msgstr "E15: Nevalida esprimo: %s" @@ -6492,6 +6541,10 @@ msgstr "E17: \"%s\" estas dosierujo" msgid "E364: Library call failed for \"%s()\"" msgstr "E364: Alvoko al biblioteko malsukcesis por \"%s()\"" +# AM: fsync: ne traduku (nomo de C-komando) +msgid "E667: Fsync failed" +msgstr "E667: Fsync malsukcesis" + #, c-format msgid "E448: Could not load library function %s" msgstr "E448: Ne eblis Åargi bibliotekan funkcion %s" @@ -6762,6 +6815,9 @@ msgstr "E850: Nevalida nomo de reÄistro" msgid "E919: Directory not found in '%s': \"%s\"" msgstr "E919: Dosierujo ne trovita en '%s': \"%s\"" +msgid "E952: Autocommand caused recursive behavior" +msgstr "E952: AÅ­tokomandoj kaÅ­zis rikiran konduton" + msgid "search hit TOP, continuing at BOTTOM" msgstr "serĉo atingis SUPRON, daÅ­rigonte al SUBO" @@ -7024,3 +7080,47 @@ msgid "" msgstr "" "Agordo de serĉvojo malsukcesis: sys.path ne estas listo\n" "Vi nun devas aldoni vim.VIM_SPECIAL_PATH al sys.path" + +msgid "" +"Vim macro files (*.vim)\t*.vim\n" +"All Files (*.*)\t*.*\n" +msgstr "" +"Doserioj de vim-makrooj (*.vim)\t*.vim\n" +"Ĉiuj dosieroj (*.*)\t*.*\n" + +msgid "All Files (*.*)\t*.*\n" +msgstr "Ĉiuj dosieroj (*.*)\t*.*\n" + +msgid "" +"All Files (*.*)\t*.*\n" +"C source (*.c, *.h)\t*.c;*.h\n" +"C++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\n" +"VB code (*.bas, *.frm)\t*.bas;*.frm\n" +"Vim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n" +msgstr "" +"Ĉiuj dosieroj (*.*)\t*.*\n" +"Dosieroj C (*.c, *.h)\t*.c;*.h\n" +"Dosieroj C++ (*.cpp, *.hpp)\t*.cpp;*.hpp\n" +"Fonto VB (*.bas, *.frm)\t.bas;*.frm\n" +"Dosieroj Vim (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n" + +msgid "" +"Vim macro files (*.vim)\t*.vim\n" +"All Files (*)\t*\n" +msgstr "" +"Doserioj de vim-makrooj (*.vim)\t*.vim\n" +"Ĉiuj dosieroj (*)\t*\n" + +msgid "All Files (*)\t*\n" +msgstr "Ĉiuj dosieroj (*)\t*\n" + +msgid "" +"All Files (*)\t*\n" +"C source (*.c, *.h)\t*.c;*.h\n" +"C++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\n" +"Vim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n" +msgstr "" +"Ĉiuj dosieroj (*)\t*\n" +"Dosieroj C (*.c, *.h)\t*.c;*.h\n" +"Dosieroj C++ (*.cpp, *.hpp)\t*.cpp;*.hpp\n" +"Dosieroj Vim (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n" diff --git a/src/po/fr.po b/src/po/fr.po index c1bd43ac6d..3b8328c3ad 100644 --- a/src/po/fr.po +++ b/src/po/fr.po @@ -6,14 +6,14 @@ # FIRST AUTHOR DindinX 2000. # SECOND AUTHOR Adrien Beau 2002, 2003. # THIRD AUTHOR David Blanchet 2006, 2008. -# FOURTH AUTHOR Dominique Pellé 2008, 2017. +# FOURTH AUTHOR Dominique Pellé 2008, 2018. # msgid "" msgstr "" "Project-Id-Version: Vim(Français)\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-10-04 23:32+0200\n" -"PO-Revision-Date: 2017-10-04 23:44+0200\n" +"POT-Creation-Date: 2018-04-27 17:51+0200\n" +"PO-Revision-Date: 2018-04-27 18:06+0200\n" "Last-Translator: Dominique Pellé \n" "Language-Team: \n" "Language: fr\n" @@ -592,7 +592,7 @@ msgstr "E108: Variable inexistante : %s" #, c-format msgid "E940: Cannot lock or unlock variable %s" -msgstr "E940: Impossible de (dé)verrouiler la variable %s" +msgstr "E940: Impossible de (dé)verrouiller la variable %s" msgid "E743: variable nested too deep for (un)lock" msgstr "E743: variable trop imbriquée pour la (dé)verrouiller" @@ -602,21 +602,6 @@ msgstr "E743: variable trop imbriqu msgid "E109: Missing ':' after '?'" msgstr "E109: Il manque ':' après '?'" -msgid "E691: Can only compare List with List" -msgstr "E691: Une Liste ne peut être comparée qu'avec une Liste" - -msgid "E692: Invalid operation for List" -msgstr "E692: Opération invalide avec les Liste" - -msgid "E735: Can only compare Dictionary with Dictionary" -msgstr "E735: Un Dictionnaire ne peut être comparé qu'avec un Dictionnaire" - -msgid "E736: Invalid operation for Dictionary" -msgstr "E736: Opération invalide avec les Dictionnaires" - -msgid "E694: Invalid operation for Funcrefs" -msgstr "E694: Opération invalide avec les Funcrefs" - msgid "E804: Cannot use '%' with Float" msgstr "E804: Impossible d'utiliser '%' avec un Flottant" @@ -751,6 +736,21 @@ msgstr "" "\n" "\tModifié la dernière fois dans " +msgid "E691: Can only compare List with List" +msgstr "E691: Une Liste ne peut être comparée qu'avec une Liste" + +msgid "E692: Invalid operation for List" +msgstr "E692: Opération invalide avec les Liste" + +msgid "E735: Can only compare Dictionary with Dictionary" +msgstr "E735: Un Dictionnaire ne peut être comparé qu'avec un Dictionnaire" + +msgid "E736: Invalid operation for Dictionary" +msgstr "E736: Opération invalide avec les Dictionnaires" + +msgid "E694: Invalid operation for Funcrefs" +msgstr "E694: Opération invalide avec les Funcrefs" + msgid "map() argument" msgstr "argument de map()" @@ -778,6 +778,12 @@ msgstr "E785: complete() n'est utilisable que dans le mode Insertion" msgid "&Ok" msgstr "&Ok" +#, c-format +msgid "+-%s%3ld line: " +msgid_plural "+-%s%3ld lines: " +msgstr[0] "+-%s%3ld ligne : " +msgstr[1] "+-%s%3ld lignes : " + #, c-format msgid "E700: Unknown function: %s" msgstr "E700: Fonction inconnue : %s" @@ -885,10 +891,22 @@ msgstr "E677: Erreur lors de l' msgid "E921: Invalid callback argument" msgstr "E921: Argument de callback invalide" +#, c-format +msgid "<%s>%s%s %d, Hex %02x, Oct %03o, Digr %s" +msgstr "<%s>%s%s %d, Hexa %02x, Octal %03o, Digr %s" + #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" msgstr "<%s>%s%s %d, Hexa %02x, Octal %03o" +#, c-format +msgid "> %d, Hex %04x, Oct %o, Digr %s" +msgstr "> %d, Hexa %04x, Octal %o, Digr %s" + +#, c-format +msgid "> %d, Hex %08x, Oct %o, Digr %s" +msgstr "> %d, Hexa %08x, Octal %o, Digr %s" + #, c-format msgid "> %d, Hex %04x, Octal %o" msgstr "> %d, Hexa %04x, Octal %o" @@ -1278,6 +1296,14 @@ msgstr "Aucun vieux fichier" msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "Mode débogage activé. Tapez \"cont\" pour continuer." +#, c-format +msgid "Oldval = \"%s\"" +msgstr "Ancienneval = \"%s\"" + +#, c-format +msgid "Newval = \"%s\"" +msgstr "Nouvelleval = \"%s\"" + #, c-format msgid "line %ld: %s" msgstr "ligne %ld : %s" @@ -1310,6 +1336,10 @@ msgstr "Aucun point d'arr msgid "%3d %s %s line %ld" msgstr "%3d %s %s ligne %ld" +#, c-format +msgid "%3d expr %s" +msgstr "%3d expr %s" + msgid "E750: First use \":profile start {fname}\"" msgstr "E750: Utilisez d'abord \":profile start {nomfichier}\"" @@ -1472,9 +1502,6 @@ msgstr "" msgid "E319: Sorry, the command is not available in this version" msgstr "E319: Désolé, cette commande n'est pas disponible dans cette version" -msgid "E172: Only one file name allowed" -msgstr "E172: Un seul nom de fichier autorisé" - msgid "1 more file to edit. Quit anyway?" msgstr "Encore 1 fichier à éditer. Quitter tout de même ?" @@ -1964,10 +1991,6 @@ msgid "E510: Can't make backup file (add ! to override)" msgstr "" "E510: Impossible de générer la copie de secours (ajoutez ! pour passer outre)" -msgid "E460: The resource fork would be lost (add ! to override)" -msgstr "" -"E460: Les ressources partagées seraient perdues (ajoutez ! pour passer outre)" - msgid "E214: Can't find temp file for writing" msgstr "E214: Impossible de générer un fichier temporaire pour y écrire" @@ -1980,8 +2003,8 @@ msgstr "E166: Impossible d'ouvrir le lien pour y msgid "E212: Can't open file for writing" msgstr "E212: Impossible d'ouvrir le fichier pour y écrire" -msgid "E667: Fsync failed" -msgstr "E667: Fsynch a échoué" +msgid "E949: File changed while writing" +msgstr "E949: Fichier modifié après écriture" msgid "E512: Close failed" msgstr "E512: Erreur de fermeture de fichier" @@ -2237,6 +2260,12 @@ msgstr "E350: Impossible de cr msgid "E351: Cannot delete fold with current 'foldmethod'" msgstr "E351: Impossible de supprimer un repli avec la 'foldmethod'e actuelle" +#, c-format +msgid "+--%3ld line folded " +msgid_plural "+--%3ld lines folded " +msgstr[0] "+--%3ld ligne déplacée " +msgstr[1] "+--%3ld lignes déplacées " + msgid "E222: Add to read buffer" msgstr "E222: Ajout au tampon de lecture" @@ -3370,7 +3399,8 @@ msgid "-i \t\tUse instead of .viminfo" msgstr "-i \t\tUtiliser au lieu du viminfo habituel" msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo" -msgstr "--clean\t\t'nocompatible', réglages par défaut, aucun greffon ni viminfo" +msgstr "" +"--clean\t\t'nocompatible', réglages par défaut, aucun greffon ni viminfo" msgid "-h or --help\tPrint Help (this message) and exit" msgstr "-h ou --help\t\tAfficher l'aide (ce message) puis quitter" @@ -4448,8 +4478,8 @@ msgstr "" "sur %lld ; Octet %lld sur %lld" #, c-format -msgid "(+%ld for BOM)" -msgstr "(+%ld pour le BOM)" +msgid "(+%lld for BOM)" +msgstr "(+%lld pour le BOM)" msgid "Thanks for flying Vim" msgstr "Merci d'avoir choisi Vim" @@ -4501,6 +4531,10 @@ msgstr "E835: Conflits avec la valeur de 'fillchars'" msgid "E617: Cannot be changed in the GTK+ 2 GUI" msgstr "E617: Non modifiable dans l'interface graphique GTK+ 2" +#, c-format +msgid "E950: Cannot convert between %s and %s" +msgstr "E950: Impossible de convertir de %s à %s" + msgid "E524: Missing colon" msgstr "E524: ':' manquant" @@ -4562,7 +4596,8 @@ msgid "E542: unbalanced groups" msgstr "E542: parenthèses non équilibrées" msgid "E946: Cannot make a terminal with running job modifiable" -msgstr "E946: terminal avec tâche en cours d'exécution ne peut pas être modifiable" +msgstr "" +"E946: terminal avec tâche en cours d'exécution ne peut pas être modifiable" msgid "E590: A preview window already exists" msgstr "E590: Il existe déjà une fenêtre de prévisualisation" @@ -4570,6 +4605,9 @@ msgstr "E590: Il existe d msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" msgstr "W17: L'arabe nécessite l'UTF-8, tapez ':set encoding=utf-8'" +msgid "E954: 24-bit colors are not supported on this environment" +msgstr "E954: Couleurs en 24-bits non-supportées sur cet environnement." + #, c-format msgid "E593: Need at least %d lines" msgstr "E593: Au moins %d lignes sont nécessaires" @@ -4857,6 +4895,9 @@ msgstr "Alerte Vim" msgid "shell returned %d" msgstr "le shell a retourné %d" +msgid "E926: Current location list was changed" +msgstr "E926: La liste d'emplacements courante a changé" + #, c-format msgid "E372: Too many %%%c in format string" msgstr "E372: Trop de %%%c dans la chaîne de format" @@ -4895,9 +4936,6 @@ msgstr "E924: La fen msgid "E925: Current quickfix was changed" msgstr "E925: Le quickfix courant a changé" -msgid "E926: Current location list was changed" -msgstr "E926: La liste d'emplacements courante a changé" - #, c-format msgid "(%d of %d)%s%s: " msgstr "(%d sur %d)%s%s : " @@ -5060,6 +5098,9 @@ msgstr "E877: (regexp NFA) Classe de caract msgid "E867: (NFA) Unknown operator '\\z%c'" msgstr "E867: (NFA) Opérateur inconnu '\\z%c'" +msgid "E951: \\% value too large" +msgstr "E951: valeur \\% trop grande" + #, c-format msgid "E867: (NFA) Unknown operator '\\%%%c'" msgstr "E867: (NFA) Opérateur inconnu '\\%%%c'" @@ -5483,8 +5524,8 @@ msgid "E760: No word count in %s" msgstr "E760: Nombre de mots non indiqué dans %s" #, c-format -msgid "line %6d, word %6d - %s" -msgstr "ligne %6d, mot %6d - %s" +msgid "line %6d, word %6ld - %s" +msgstr "ligne %6d, mot %6ld - %s" #, c-format msgid "Duplicate word in %s line %d: %s" @@ -5570,8 +5611,9 @@ msgstr "Estimation de m msgid "E751: Output file name must not have region name" msgstr "E751: Le nom du fichier ne doit pas contenir de nom de région" -msgid "E754: Only up to 8 regions supported" -msgstr "E754: 8 régions au maximum sont supportées" +#, c-format +msgid "E754: Only up to %ld regions supported" +msgstr "E754: %ld régions au maximum supportées" #, c-format msgid "E755: Invalid region in %s" @@ -5966,6 +6008,10 @@ msgstr "" msgid "Cannot open $VIMRUNTIME/rgb.txt" msgstr "Impossible d'ouvrir $VIMRUNTIME/rgb.txt" +#, c-format +msgid "Kill job in \"%s\"?" +msgstr "Terminer la tâche d'exécution dans \"%s\"?" + msgid "Terminal" msgstr "Terminal" @@ -5981,6 +6027,13 @@ msgstr "en cours" msgid "finished" msgstr "fini" +#, c-format +msgid "E953: File exists: %s" +msgstr "E953: Le fichier existe déjà : %s" + +msgid "E955: Not a terminal buffer" +msgstr "E955: Ce n'est pas un buffer de terminal" + msgid "new shell started\n" msgstr "nouveau shell démarré\n" @@ -6312,24 +6365,17 @@ msgstr "" msgid "" "\n" -"MacOS X (unix) version" +"macOS version" msgstr "" "\n" -"Version MaxOS X (unix)" +"Version macOS" msgid "" "\n" -"MacOS X version" +"macOS version w/o darwin feat." msgstr "" "\n" -"Version MacOS X" - -msgid "" -"\n" -"MacOS version" -msgstr "" -"\n" -"Version MacOS" +"Version macOS sans fonctionalités darwin" msgid "" "\n" @@ -6433,9 +6479,6 @@ msgstr "avec interface graphique Carbon." msgid "with Cocoa GUI." msgstr "avec interface graphique Cocoa." -msgid "with (classic) GUI." -msgstr "avec interface graphique (classic)." - msgid " Features included (+) or not (-):\n" msgstr " Fonctionnalités incluses (+) ou non (-) :\n" @@ -6740,6 +6783,14 @@ msgstr "E474: Argument invalide" msgid "E475: Invalid argument: %s" msgstr "E475: Argument invalide : %s" +#, c-format +msgid "E475: Invalid value for argument %s" +msgstr "E475: Valeur d'argument invalide : %s" + +#, c-format +msgid "E475: Invalid value for argument %s: %s" +msgstr "E475: Valeur d'argument invalide %s : %s" + #, c-format msgid "E15: Invalid expression: %s" msgstr "E15: Expression invalide : %s" @@ -6758,6 +6809,9 @@ msgstr "E17: \"%s\" est un r msgid "E364: Library call failed for \"%s()\"" msgstr "E364: L'appel à la bibliothèque a échoué pour \"%s()\"" +msgid "E667: Fsync failed" +msgstr "E667: Fsynch a échoué" + #, c-format msgid "E448: Could not load library function %s" msgstr "E448: Impossible de charger la fonction %s de la bibliothèque" @@ -7032,6 +7086,9 @@ msgstr "E850: Nom de registre invalide" msgid "E919: Directory not found in '%s': \"%s\"" msgstr "E919: Répertoire introuvable dans '%s' : \"%s\"" +msgid "E952: Autocommand caused recursive behavior" +msgstr "E952: Une autocommande a causé une récursivité" + msgid "search hit TOP, continuing at BOTTOM" msgstr "La recherche a atteint le HAUT, et continue en BAS" diff --git a/src/po/ru.cp1251.po b/src/po/ru.cp1251.po index 6170f3b128..74aab64108 100644 --- a/src/po/ru.cp1251.po +++ b/src/po/ru.cp1251.po @@ -3,20 +3,22 @@ # Îá óñëîâèÿõ èñïîëüçîâàíèÿ ÷èòàéòå â ðåäàêòîðå Vim ":help uganda" # # vassily "vr" ragosin , 2004 -# Sergey Alyoshin , 2013-2014 +# Sergey Alyoshin , 2013-2014, 2016, 2018 # msgid "" msgstr "" "Project-Id-Version: vim_ru\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-10-10 11:52+0400\n" -"PO-Revision-Date: 2014-10-10 12:00+0400\n" +"POT-Creation-Date: 2018-04-28 21:50+0300\n" +"PO-Revision-Date: 2018-04-28 21:51+0300\n" "Last-Translator: Sergey Alyoshin \n" "Language-Team: \n" "Language: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=cp1251\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgid "E831: bf_key_init() called with empty password" msgstr "E831: bf_key_init() âûçâàí ñ ïóñòûì ïàðîëåì" @@ -49,6 +51,12 @@ msgstr "E82: msgid "E83: Cannot allocate buffer, using other one..." msgstr "E83: Íåâîçìîæíî âûäåëèòü ïàìÿòü äëÿ áóôåðà, èñïîëüçóåì äðóãîé áóôåð..." +msgid "E931: Buffer cannot be registered" +msgstr "E931: Íåâîçìîæíî çàðåãèñòðèðîâàòü áóôåð" + +msgid "E937: Attempt to delete a buffer that is in use" +msgstr "E937: Ïîïûòêà óäàëèòü èñïîëüçóåìûé áóôåð" + msgid "E515: No buffers were unloaded" msgstr "E515: Íè îäèí áóôåð íå áûë âûãðóæåí èç ïàìÿòè" @@ -85,14 +93,9 @@ msgstr "E90: msgid "E84: No modified buffer found" msgstr "E84: Èçìåí¸ííûõ áóôåðîâ íå îáíàðóæåíî" -#. back where we started, didn't find anything. msgid "E85: There is no listed buffer" msgstr "E85: Áóôåðû â ñïèñêå îòñóòñòâóþò" -#, c-format -msgid "E86: Buffer %ld does not exist" -msgstr "E86: Áóôåð %ld íå ñóùåñòâóåò" - msgid "E87: Cannot go beyond last buffer" msgstr "E87: Ýòî ïîñëåäíèé áóôåð" @@ -104,6 +107,18 @@ msgid "E89: No write since last change for buffer %ld (add ! to override)" msgstr "" "E89: Èçìåíåíèÿ â áóôåðå %ld íå ñîõðàíåíû (äîáàâüòå !, ÷òîáû îáîéòè ïðîâåðêó)" +msgid "E948: Job still running (add ! to end the job)" +msgstr "E948: Çàäàíèå åù¸ âûïîëíÿåòñÿ (äîáàâüòå !, ÷òîáû çàâåðøèòü)" + +msgid "E37: No write since last change (add ! to override)" +msgstr "E37: Èçìåíåíèÿ íå ñîõðàíåíû (äîáàâüòå !, ÷òîáû îáîéòè ïðîâåðêó)" + +msgid "E948: Job still running" +msgstr "E948: Çàäàíèå åù¸ âûïîëíÿåòñÿ" + +msgid "E37: No write since last change" +msgstr "E37: Èçìåíåíèÿ íå ñîõðàíåíû" + msgid "W14: Warning: List of file names overflow" msgstr "W14: Ïðåäóïðåæäåíèå: ïåðåïîëíåíèå ñïèñêà èì¸í ôàéëîâ" @@ -159,7 +174,6 @@ msgstr " msgid "[No Name]" msgstr "[Íåò èìåíè]" -#. must be a help buffer msgid "help" msgstr "ñïðàâêà" @@ -185,6 +199,10 @@ msgstr "" "\n" "# Ñïèñîê áóôåðîâ:\n" +msgid "E382: Cannot write, 'buftype' option is set" +msgstr "" +"E382: Çàïèñü íåâîçìîæíà, çíà÷åíèå îïöèè 'buftype' íå ÿâëÿåòñÿ ïóñòîé ñòðîêîé" + msgid "[Scratch]" msgstr "[Âðåìåííûé]" @@ -203,9 +221,64 @@ msgstr " msgid " line=%ld id=%d name=%s" msgstr " ñòðîêà=%ld id=%d èìÿ=%s" +msgid "E902: Cannot connect to port" +msgstr "E902: Íåâîçìîæíî ñîåäèíèòüñÿ ñ ïîðòîì" + +msgid "E901: gethostbyname() in channel_open()" +msgstr "E901: gethostbyname() â channel_open()" + +msgid "E898: socket() in channel_open()" +msgstr "E898: socket() â channel_open()" + +msgid "E903: received command with non-string argument" +msgstr "E903: Ïîëó÷åíà êîìàíäà ñ íå ñòðîêîâûì ïàðàìåòðîì" + +msgid "E904: last argument for expr/call must be a number" +msgstr "E904: Ïîñëåäíèé ïàðàìåòð äëÿ âûðàæåíèÿ èëè âûçîâà äîëæåí áûòü ÷èñëîì" + +msgid "E904: third argument for call must be a list" +msgstr "E904: Òðåòèé ïàðàìåòð äëÿ âûçîâà äîëæåí áûòü ñïèñêîì" + +#, c-format +msgid "E905: received unknown command: %s" +msgstr "E905: Ïîëó÷åíà íåèçâåñòíàÿ êîìàíäà %s" + +#, c-format +msgid "E630: %s(): write while not connected" +msgstr "E630: %s(): çàïèñü áåç ñîåäèíåíèÿ" + +#, c-format +msgid "E631: %s(): write failed" +msgstr "E631: Îøèáêà çàïèñè â %s()" + +#, c-format +msgid "E917: Cannot use a callback with %s()" +msgstr "E917: Íåâîçìîæíî èñïîëüçîâàòü îáðàòíûé âûçîâ ñ %s()" + +msgid "E912: cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel" +msgstr "" +"E912: Íåâîçìîæíî èñïîëüçîâàòü ch_evalexpr() èëè ch_sendexpr() ñ êàíàëîì nl " +"èëè raw" + +msgid "E906: not an open channel" +msgstr "E906: Íå îòêðûòûé êàíàë" + +msgid "E920: _io file requires _name to be set" +msgstr "E920: Ôàéë _io òðåáóåò óñòàíîâëåííîãî _name" + +msgid "E915: in_io buffer requires in_buf or in_name to be set" +msgstr "E915: áóôåð in_io òðåáóåò óñòàíîâëåííîãî in_buf èëè in_name" + +#, c-format +msgid "E918: buffer must be loaded: %s" +msgstr "E918: Áóôåð äîëæåí áûòü çàãðóæåí: %s" + msgid "E821: File is encrypted with unknown method" msgstr "E821: Ôàéë çàøèôðîâàí íåèçâåñòíûì ìåòîäîì" +msgid "Warning: Using a weak encryption method; see :help 'cm'" +msgstr "Ïðåäóïðåæäåíèå: Èñïîëüçóåòñÿ ñëàáûé ìåòîä øèôðîâàíèÿ, ñì. :help 'cm'" + msgid "Enter encryption key: " msgstr "Ââåäèòå ïàðîëü äëÿ øèôðîâàíèÿ: " @@ -219,7 +292,30 @@ msgid "[crypted]" msgstr "[çàøèôðîâàíî]" #, c-format -msgid "E96: Can not diff more than %ld buffers" +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: Ïðîïóùåíî äâîåòî÷èå â ñëîâàðå: %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Ïîâòîð êëþ÷à â ñëîâàðå: \"%s\"" + +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: Ïðîïóùåíà çàïÿòàÿ â ñëîâàðå: %s" + +#, c-format +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: Ïðîïóùåíî îêîí÷àíèå ñëîâàðÿ '}': %s" + +msgid "extend() argument" +msgstr "ïàðàìåòðà extend()" + +#, c-format +msgid "E737: Key already exists: %s" +msgstr "E737: Êëþ÷ óæå ñóùåñòâóåò: %s" + +#, c-format +msgid "E96: Cannot diff more than %ld buffers" msgstr "E96: Ñëåäèòü çà îòëè÷èÿìè ìîæíî íå áîëåå ÷åì â %ld áóôåðàõ" msgid "E810: Cannot read or write temp files" @@ -275,7 +371,6 @@ msgstr "E791: msgid " Keyword completion (^N^P)" msgstr " Àâòîäîïîëíåíèå êëþ÷åâîãî ñëîâà (^N^P)" -#. ctrl_x_mode == 0, ^P/^N compl. msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" msgstr " Ðåæèì ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" @@ -347,13 +442,12 @@ msgstr " msgid "Scanning tags." msgstr "Âûïîëíÿåòñÿ ïîèñê ñðåäè ìåòîê." +msgid "match in file" +msgstr "ñîîòâåòñòâèå â ôàéëå" + msgid " Adding" msgstr " Äîáàâëåíèå" -#. 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 "-- Ïîèñê..." @@ -377,10 +471,6 @@ msgstr " msgid "E18: Unexpected characters in :let" msgstr "E18: Íåîæèäàííûå ñèìâîëû â :let" -#, c-format -msgid "E684: list index out of range: %ld" -msgstr "E684: Èíäåêñ ñïèñêà çà ïðåäåëàìè äèàïàçîíà: %ld" - #, c-format msgid "E121: Undefined variable: %s" msgstr "E121: Íåîïðåäåë¸ííàÿ ïåðåìåííàÿ: %s" @@ -388,41 +478,6 @@ msgstr "E121: msgid "E111: Missing ']'" msgstr "E111: Ïðîïóùåíà ']'" -#, c-format -msgid "E686: Argument of %s must be a List" -msgstr "E686: Ïàðàìåòð %s äîëæåí áûòü ñïèñêîì" - -#, c-format -msgid "E712: Argument of %s must be a List or Dictionary" -msgstr "E712: Ïàðàìåòð %s äîëæåí áûòü ñïèñêîì èëè ñëîâàð¸ì" - -msgid "E713: Cannot use empty key for Dictionary" -msgstr "E713: Íåâîçìîæíî èñïîëüçîâàòü ïóñòîé êëþ÷ äëÿ ñëîâàðÿ" - -msgid "E714: List required" -msgstr "E714: Òðåáóåòñÿ ñïèñîê" - -msgid "E715: Dictionary required" -msgstr "E715: Òðåáóåòñÿ ñëîâàðü" - -#, c-format -msgid "E118: Too many arguments for function: %s" -msgstr "E118: Ñëèøêîì ìíîãî ïàðàìåòðîâ äëÿ ôóíêöèè %s" - -#, c-format -msgid "E716: Key not present in Dictionary: %s" -msgstr "E716: Íåò êëþ÷à â ñëîâàðå: %s" - -#, c-format -msgid "E122: Function %s already exists, add ! to replace it" -msgstr "E122: Ôóíêöèÿ %s óæå ñóùåñòâóåò. Äîáàâüòå !, ÷òîáû çàìåíèòü å¸." - -msgid "E717: Dictionary entry already exists" -msgstr "E717: Çàïèñü óæå ñóùåñòâóåò â ñëîâàðå" - -msgid "E718: Funcref required" -msgstr "E718: Òðåáóåòñÿ ññûëêà íà ôóíêöèþ" - msgid "E719: Cannot use [:] with a Dictionary" msgstr "E719: Íåâîçìîæíî èñïîëüçîâàòü [:] ñî ñëîâàð¸ì" @@ -430,10 +485,6 @@ msgstr "E719: msgid "E734: Wrong variable type for %s=" msgstr "E734: Íåïðàâèëüíûé òèï ïåðåìåííîé äëÿ %s=" -#, c-format -msgid "E130: Unknown function: %s" -msgstr "E130: Íåèçâåñòíàÿ ôóíêöèÿ: %s" - #, c-format msgid "E461: Illegal variable name: %s" msgstr "E461: Íåäîïóñòèìîå èìÿ ïåðåìåííîé: %s" @@ -472,38 +523,20 @@ msgstr "E711: msgid "E690: Missing \"in\" after :for" msgstr "E690: Ïðîïóùåíî \"in\" ïîñëå :for" -#, c-format -msgid "E107: Missing parentheses: %s" -msgstr "E107: Ïðîïóùåíû ñêîáêè: %s" - #, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: Íåò òàêîé ïåðåìåííîé: \"%s\"" +#, c-format +msgid "E940: Cannot lock or unlock variable %s" +msgstr "E940: Íåâîçìîæíî (ðàç)áëîêèðîâàòü ïåðåìåííóþ %s" + msgid "E743: variable nested too deep for (un)lock" msgstr "E743: Ñëèøêîì ãëóáîêî âëîæåííûå ïåðåìåííûå äëÿ (ðàç)áëîêèðîâêè" msgid "E109: Missing ':' after '?'" msgstr "E109: Ïðîïóùåíî ':' ïîñëå '?'" -msgid "E691: Can only compare List with List" -msgstr "E691: Ñïèñîê ìîæíî ñðàâíèâàòü òîëüêî ñî ñïèñêîì" - -msgid "E692: Invalid operation for List" -msgstr "E692: Íåäîïóñòèìàÿ îïåðàöèÿ äëÿ ñïèñêîâ" - -msgid "E735: Can only compare Dictionary with Dictionary" -msgstr "E735: Ñëîâàðü ìîæíî ñðàâíèâàòü òîëüêî ñî ñëîâàð¸ì" - -msgid "E736: Invalid operation for Dictionary" -msgstr "E736: Íåäîïóñòèìàÿ îïåðàöèÿ äëÿ ñëîâàðÿ" - -msgid "E693: Can only compare Funcref with Funcref" -msgstr "E693: Ññûëêó íà ôóíêöèþ ìîæíî ñðàâíèâàòü òîëüêî ñ ññûëêîé íà ôóíêöèþ" - -msgid "E694: Invalid operation for Funcrefs" -msgstr "E694: Íåäîïóñòèìàÿ îïåðàöèÿ äëÿ ññûëêè íà ôóíêöèþ" - msgid "E804: Cannot use '%' with Float" msgstr "E804: Íåâîçìîæíî èñïîëüçîâàòü '%' ñ ÷èñëîì ñ ïëàâàþùåé òî÷êîé" @@ -513,6 +546,9 @@ msgstr "E110: msgid "E695: Cannot index a Funcref" msgstr "E695: Íåâîçìîæíî èíäåêñèðîâàòü ññûëêó íà ôóíêöèþ" +msgid "E909: Cannot index a special variable" +msgstr "E909: Íåâîçìîæíî èíäåêñèðîâàòü ñïåöèàëüíóþ ïåðåìåííóþ" + #, c-format msgid "E112: Option name missing: %s" msgstr "E112: Íå óêàçàíî èìÿ îïöèè: %s" @@ -529,167 +565,12 @@ msgstr "E114: msgid "E115: Missing quote: %s" msgstr "E115: Ïðîïóùåíà êàâû÷êà: %s" -#, c-format -msgid "E696: Missing comma in List: %s" -msgstr "E696: Ïðîïóùåíà çàïÿòàÿ â ñïèñêå: %s" - -#, c-format -msgid "E697: Missing end of List ']': %s" -msgstr "E697: Ïðîïóùåíî îêîí÷àíèå ñïèñêà ']': %s" - -#, c-format -msgid "E720: Missing colon in Dictionary: %s" -msgstr "E720: Ïðîïóùåíî äâîåòî÷èå â ñëîâàðå: %s" - -#, c-format -msgid "E721: Duplicate key in Dictionary: \"%s\"" -msgstr "E721: Ïîâòîð êëþ÷à â ñëîâàðå: \"%s\"" - -#, c-format -msgid "E722: Missing comma in Dictionary: %s" -msgstr "E722: Ïðîïóùåíà çàïÿòàÿ â ñëîâàðå: %s" - -#, c-format -msgid "E723: Missing end of Dictionary '}': %s" -msgstr "E723: Ïðîïóùåíî îêîí÷àíèå ñëîâàðÿ '}': %s" +msgid "Not enough memory to set references, garbage collection aborted!" +msgstr "Íåäîñòàòî÷íî ïàìÿòè äëÿ óñòàíîâêè ññûëêè, ñáîðêà ìóñîðà ïðåêðàùåíà!" msgid "E724: variable nested too deep for displaying" msgstr "E724: Ñëèøêîì ãëóáîêî âëîæåííûå ïåðåìåííûå äëÿ îòîáðàæåíèÿ" -#, c-format -msgid "E740: Too many arguments for function %s" -msgstr "E740: Ñëèøêîì ìíîãî ïàðàìåòðîâ äëÿ ôóíêöèè %s" - -#, c-format -msgid "E116: Invalid arguments for function %s" -msgstr "E116: Ïàðàìåòðû äëÿ ôóíêöèè %s çàäàíû íåâåðíî" - -#, c-format -msgid "E117: Unknown function: %s" -msgstr "E117: Íåèçâåñòíàÿ ôóíêöèÿ: %s" - -#, c-format -msgid "E119: Not enough arguments for function: %s" -msgstr "E119: Íåäîñòàòî÷íî ïàðàìåòðîâ äëÿ ôóíêöèè %s" - -#, c-format -msgid "E120: Using not in a script context: %s" -msgstr "E120: èñïîëüçóåòñÿ âíå ñöåíàðèÿ: %s" - -#, c-format -msgid "E725: Calling dict function without Dictionary: %s" -msgstr "E725: Âûçîâ ôóíêöèè dict áåç ñëîâàðÿ: %s" - -msgid "E808: Number or Float required" -msgstr "E808: Òðåáóåòñÿ öåëîå ÷èñëî èëè ñ ïëàâàþùåé òî÷êîé" - -msgid "add() argument" -msgstr "ïàðàìåòðà add()" - -msgid "E699: Too many arguments" -msgstr "E699: Ñëèøêîì ìíîãî ïàðàìåòðîâ" - -msgid "E785: complete() can only be used in Insert mode" -msgstr "E785: complete() ìîæåò èñïîëüçîâàòüñÿ òîëüêî â ðåæèìå Âñòàâêè" - -#. -#. * 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" - -#, c-format -msgid "E737: Key already exists: %s" -msgstr "E737: Êëþ÷ óæå ñóùåñòâóåò: %s" - -msgid "extend() argument" -msgstr "ïàðàìåòðà extend()" - -msgid "map() argument" -msgstr "ïàðàìåòðà map()" - -msgid "filter() argument" -msgstr "ïàðàìåòðà filter()" - -#, c-format -msgid "+-%s%3ld lines: " -msgstr "+-%s%3ld ñòðîê: " - -#, c-format -msgid "E700: Unknown function: %s" -msgstr "E700: Íåèçâåñòíàÿ ôóíêöèÿ: %s" - -msgid "" -"&OK\n" -"&Cancel" -msgstr "" -"&OK\n" -"&C Îòìåíà" - -msgid "called inputrestore() more often than inputsave()" -msgstr "Ôóíêöèÿ inputrestore() âûçûâàåòñÿ ÷àùå, ÷åì ôóíêöèÿ inputsave()" - -msgid "insert() argument" -msgstr "ïàðàìåòðà insert()" - -msgid "E786: Range not allowed" -msgstr "E786: Äèàïàçîí íå äîïóñêàåòñÿ" - -msgid "E701: Invalid type for len()" -msgstr "E701: Íåïðàâèëüíûå òèï äëÿ len()" - -msgid "E726: Stride is zero" -msgstr "E726: Íóëåâîé øàã" - -msgid "E727: Start past end" -msgstr "E727: Íà÷àëî ïîñëå êîíöà" - -msgid "" -msgstr "<ïóñòî>" - -msgid "E240: No connection to Vim server" -msgstr "E240: Íåò ñâÿçè ñ ñåðâåðîì Vim" - -#, c-format -msgid "E241: Unable to send to %s" -msgstr "E241: Íå ìîãó îòïðàâèòü ñîîáùåíèå äëÿ %s" - -msgid "E277: Unable to read a server reply" -msgstr "E277: Ñåðâåð íå îòâå÷àåò" - -msgid "remove() argument" -msgstr "ïàðàìåòðà remove()" - -msgid "E655: Too many symbolic links (cycle?)" -msgstr "E655: Ñëèøêîì ìíîãî ñèìâîëè÷åñêèõ ññûëîê (öèêë?)" - -msgid "reverse() argument" -msgstr "ïàðàìåòðà reverse()" - -msgid "E258: Unable to send to client" -msgstr "E258: Íå ìîãó îòâåòèòü êëèåíòó" - -msgid "sort() argument" -msgstr "ïàðàìåòðà sort()" - -msgid "uniq() argument" -msgstr "ïàðàìåòðà uniq()" - -msgid "E702: Sort compare function failed" -msgstr "E702: Íåóäà÷íîå çàâåðøåíèå ôóíêöèè ñðàâíåíèÿ ïðè ñîðòèðîâêå" - -msgid "E882: Uniq compare function failed" -msgstr "" -"E882: Íåóäà÷íîå çàâåðøåíèå ôóíêöèè ñðàâíåíèÿ ïðè ïðîâåðêå åäèíñòâåííîñòè" - -msgid "(Invalid)" -msgstr "(Íåïðàâèëüíî)" - -msgid "E677: Error writing temp file" -msgstr "E677: Îøèáêà çàïèñè âî âðåìåííûé ôàéë" - msgid "E805: Using a Float as a Number" msgstr "E805: Èñïîëüçîâàíèå ÷èñëà ñ ïëàâàþùåé òî÷êîé êàê öåëîãî" @@ -702,6 +583,33 @@ msgstr "E745: msgid "E728: Using a Dictionary as a Number" msgstr "E728: Èñïîëüçîâàíèå ñëîâàðÿ êàê ÷èñëà" +msgid "E910: Using a Job as a Number" +msgstr "E910: Èñïîëüçîâàíèå çàäàíèÿ êàê ÷èñëà" + +msgid "E913: Using a Channel as a Number" +msgstr "E913: Èñïîëüçîâàíèå êàíàëà êàê ÷èñëà" + +msgid "E891: Using a Funcref as a Float" +msgstr "E891: Èñïîëüçîâàíèå ññûëêè íà ôóíêöèþ êàê ÷èñëà ñ ïëàâàþùåé òî÷êîé" + +msgid "E892: Using a String as a Float" +msgstr "E892: Èñïîëüçîâàíèå ñòðîêè êàê ÷èñëà ñ ïëàâàþùåé òî÷êîé" + +msgid "E893: Using a List as a Float" +msgstr "E893: Èñïîëüçîâàíèå ñïèñêà êàê ÷èñëà ñ ïëàâàþùåé òî÷êîé" + +msgid "E894: Using a Dictionary as a Float" +msgstr "E894: Èñïîëüçîâàíèå ñëîâàðÿ êàê ÷èñëà ñ ïëàâàþùåé òî÷êîé" + +msgid "E907: Using a special value as a Float" +msgstr "E907: Èñïîëüçîâàíèå ñïåöèàëüíîãî çíà÷åíèÿ êàê ÷èñëà ñ ïëàâàþùåé òî÷êîé" + +msgid "E911: Using a Job as a Float" +msgstr "E911: Èñïîëüçîâàíèå çàäàíèÿ êàê ÷èñëà ñ ïëàâàþùåé òî÷êîé" + +msgid "E914: Using a Channel as a Float" +msgstr "E914: Èñïîëüçîâàíèå êàíàëà êàê ÷èñëà ñ ïëàâàþùåé òî÷êîé" + msgid "E729: using Funcref as a String" msgstr "E729: Èñïîëüçîâàíèå ññûëêè íà ôóíêöèþ êàê ñòðîêè" @@ -711,9 +619,8 @@ msgstr "E730: msgid "E731: using Dictionary as a String" msgstr "E731: Èñïîëüçîâàíèå ñëîâàðÿ êàê ñòðîêè" -#, c-format -msgid "E706: Variable type mismatch for: %s" -msgstr "E706: Íåñîîòâåòñòâèå òèïà ïåðåìåííîé äëÿ: %s" +msgid "E908: using an invalid value as a String" +msgstr "E908: Èñïîëüçîâàíèå íåïðàâèëüíîãî çíà÷åíèÿ êàê ñòðîêè" #, c-format msgid "E795: Cannot delete variable %s" @@ -743,81 +650,6 @@ msgstr "E742: msgid "E698: variable nested too deep for making a copy" msgstr "E698: Ñëèøêîì ãëóáîêî âëîæåííûå ïåðåìåííûå äëÿ êîïèðîâàíèÿ" -#, c-format -msgid "E123: Undefined function: %s" -msgstr "E123: Íåîïðåäåë¸ííàÿ ôóíêöèÿ: %s" - -#, c-format -msgid "E124: Missing '(': %s" -msgstr "E124: Ïðîïóùåíà '(': %s" - -msgid "E862: Cannot use g: here" -msgstr "E862: Çäåñü íåâîçìîæíî èñïîëüçîâàòü g:" - -#, c-format -msgid "E125: Illegal argument: %s" -msgstr "E125: Íåäîïóñòèìûé ïàðàìåòð: %s" - -#, c-format -msgid "E853: Duplicate argument name: %s" -msgstr "E853: Ïîâòîðÿþùååñÿ èìÿ ïàðàìåòðà: %s" - -msgid "E126: Missing :endfunction" -msgstr "E126: Ïðîïóùåíà êîìàíäà :endfunction" - -#, c-format -msgid "E707: Function name conflicts with variable: %s" -msgstr "E707: Èìÿ ôóíêöèè êîíôëèêòóåò ñ ïåðåìåííîé: %s" - -#, c-format -msgid "E127: Cannot redefine function %s: It is in use" -msgstr "E127: Íåâîçìîæíî ïåðåîïðåäåëèòü ôóíêöèþ %s, îíà èñïîëüçóåòñÿ" - -#, c-format -msgid "E746: Function name does not match script file name: %s" -msgstr "E746: Èìÿ ôóíêöèè íå ñîîòâåòñòâóåò èìåíè ôàéëà ñöåíàðèÿ: %s" - -msgid "E129: Function name required" -msgstr "E129: Òðåáóåòñÿ èìÿ ôóíêöèè" - -#, c-format -msgid "E128: Function name must start with a capital or \"s:\": %s" -msgstr "E128: Èìÿ ôóíêöèè äîëæíî íà÷èíàòüñÿ ñ çàãëàâíîé áóêâû èëè \"s:\": %s" - -#, c-format -msgid "E884: Function name cannot contain a colon: %s" -msgstr "E884: Èìÿ ôóíêöèè íå ìîæåò ñîäåðæàòü äâîåòî÷èå: %s" - -#, c-format -msgid "E131: Cannot delete function %s: It is in use" -msgstr "E131: Íåâîçìîæíî óäàëèòü ôóíêöèþ %s, îíà èñïîëüçóåòñÿ" - -msgid "E132: Function call depth is higher than 'maxfuncdepth'" -msgstr "E132: Ãëóáèíà âûçîâà ôóíêöèè áîëüøå, ÷åì çíà÷åíèå 'maxfuncdepth'" - -#, c-format -msgid "calling %s" -msgstr "âûçîâ %s" - -#, c-format -msgid "%s aborted" -msgstr "%s ïðåðâàíà" - -#, c-format -msgid "%s returning #%ld" -msgstr "%s âîçâðàùàåò #%ld" - -#, c-format -msgid "%s returning %s" -msgstr "%s âîçâðàùàåò %s" - -#, c-format -msgid "continuing in %s" -msgstr "ïðîäîëæåíèå â %s" - -msgid "E133: :return not inside a function" -msgstr "E133: êîìàíäà :return âíå ôóíêöèè" - msgid "" "\n" "# global variables:\n" @@ -832,20 +664,179 @@ msgstr "" "\n" "\t ïîñëåäíèé ðàç îïöèÿ èçìåíåíà â " -msgid "No old files" -msgstr "Íåò ñòàðûõ ôàéëîâ" +msgid "E691: Can only compare List with List" +msgstr "E691: Ñïèñîê ìîæíî ñðàâíèâàòü òîëüêî ñî ñïèñêîì" + +msgid "E692: Invalid operation for List" +msgstr "E692: Íåäîïóñòèìàÿ îïåðàöèÿ äëÿ ñïèñêîâ" + +msgid "E735: Can only compare Dictionary with Dictionary" +msgstr "E735: Ñëîâàðü ìîæíî ñðàâíèâàòü òîëüêî ñî ñëîâàð¸ì" + +msgid "E736: Invalid operation for Dictionary" +msgstr "E736: Íåäîïóñòèìàÿ îïåðàöèÿ äëÿ ñëîâàðÿ" + +msgid "E694: Invalid operation for Funcrefs" +msgstr "E694: Íåäîïóñòèìàÿ îïåðàöèÿ äëÿ ññûëêè íà ôóíêöèþ" + +msgid "map() argument" +msgstr "ïàðàìåòðà map()" + +msgid "filter() argument" +msgstr "ïàðàìåòðà filter()" + +#, c-format +msgid "E686: Argument of %s must be a List" +msgstr "E686: Ïàðàìåòð %s äîëæåí áûòü ñïèñêîì" + +msgid "E928: String required" +msgstr "E928: Òðåáóåòñÿ ñòðîêà" + +msgid "E808: Number or Float required" +msgstr "E808: Òðåáóåòñÿ öåëîå ÷èñëî èëè ñ ïëàâàþùåé òî÷êîé" + +msgid "add() argument" +msgstr "ïàðàìåòðà add()" + +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: complete() ìîæåò èñïîëüçîâàòüñÿ òîëüêî â ðåæèìå Âñòàâêè" + +msgid "&Ok" +msgstr "&Ok" + +#, c-format +msgid "+-%s%3ld line: " +msgid_plural "+-%s%3ld lines: " +msgstr[0] "+-%s%3ld ñòðîêà: " +msgstr[1] "+-%s%3ld ñòðîêè: " +msgstr[2] "+-%s%3ld ñòðîê: " + +#, c-format +msgid "E700: Unknown function: %s" +msgstr "E700: Íåèçâåñòíàÿ ôóíêöèÿ: %s" + +msgid "E922: expected a dict" +msgstr "E922: Îæèäàëñÿ ñëîâàðü" + +msgid "E923: Second argument of function() must be a list or a dict" +msgstr "E923: Âòîðîé ïàðàìåòð ôóíêöèè() äîëæåí áûòü ñïèñêîì èëè ñëîâàð¸ì" + +msgid "" +"&OK\n" +"&Cancel" +msgstr "" +"&OK\n" +"&C Îòìåíà" + +msgid "called inputrestore() more often than inputsave()" +msgstr "Ôóíêöèÿ inputrestore() âûçûâàåòñÿ ÷àùå, ÷åì ôóíêöèÿ inputsave()" + +msgid "insert() argument" +msgstr "ïàðàìåòðà insert()" + +msgid "E786: Range not allowed" +msgstr "E786: Äèàïàçîí íå äîïóñêàåòñÿ" + +msgid "E916: not a valid job" +msgstr "E916: Íåäîïóñòèìîå çàäàíèå" + +msgid "E701: Invalid type for len()" +msgstr "E701: Íåïðàâèëüíûå òèï äëÿ len()" + +#, c-format +msgid "E798: ID is reserved for \":match\": %ld" +msgstr "E798: ID çàðåçåðâèðîâàí äëÿ \":match\": %ld" + +msgid "E726: Stride is zero" +msgstr "E726: Íóëåâîé øàã" + +msgid "E727: Start past end" +msgstr "E727: Íà÷àëî ïîñëå êîíöà" + +msgid "" +msgstr "<ïóñòî>" + +msgid "E240: No connection to the X server" +msgstr "E240: Íåò ñâÿçè ñ X-ñåðâåðîì" + +#, c-format +msgid "E241: Unable to send to %s" +msgstr "E241: Íå ìîãó îòïðàâèòü ñîîáùåíèå äëÿ %s" + +msgid "E277: Unable to read a server reply" +msgstr "E277: Ñåðâåð íå îòâå÷àåò" + +msgid "E941: already started a server" +msgstr "E941: Ñåðâåð óæå çàïóùåí" + +msgid "E942: +clientserver feature not available" +msgstr "E942: Îñîáåííîñòü +clientserver íåäîñòóïíà" + +msgid "remove() argument" +msgstr "ïàðàìåòðà remove()" + +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: Ñëèøêîì ìíîãî ñèìâîëè÷åñêèõ ññûëîê (öèêë?)" + +msgid "reverse() argument" +msgstr "ïàðàìåòðà reverse()" + +msgid "E258: Unable to send to client" +msgstr "E258: Íå ìîãó îòâåòèòü êëèåíòó" + +#, c-format +msgid "E927: Invalid action: '%s'" +msgstr "E927: Íåïðàâèëüíîå äåéñòâèå: '%s'" + +msgid "sort() argument" +msgstr "ïàðàìåòðà sort()" + +msgid "uniq() argument" +msgstr "ïàðàìåòðà uniq()" + +msgid "E702: Sort compare function failed" +msgstr "E702: Íåóäà÷íîå çàâåðøåíèå ôóíêöèè ñðàâíåíèÿ ïðè ñîðòèðîâêå" + +msgid "E882: Uniq compare function failed" +msgstr "" +"E882: Íåóäà÷íîå çàâåðøåíèå ôóíêöèè ñðàâíåíèÿ ïðè ïðîâåðêå åäèíñòâåííîñòè" + +msgid "(Invalid)" +msgstr "(Íåïðàâèëüíî)" + +#, c-format +msgid "E935: invalid submatch number: %d" +msgstr "E935: Íåäîïóñòèìûé íîìåð ïîäñîîòâåòñòâèÿ: %d" + +msgid "E677: Error writing temp file" +msgstr "E677: Îøèáêà çàïèñè âî âðåìåííûé ôàéë" + +msgid "E921: Invalid callback argument" +msgstr "E921: Íåäîïóñòèìûé ïàðàìåòð îáðàòíîãî âûçîâà" + +#, c-format +msgid "<%s>%s%s %d, Hex %02x, Oct %03o, Digr %s" +msgstr "<%s>%s%s %d, Øåñ %02x, Âîñ %03o, Äèãð %s" #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" -msgstr "<%s>%s%s %d, Hex %02x, Octal %03o" +msgstr "<%s>%s%s %d, Øåñ %02x, Âîñ %03o" + +#, c-format +msgid "> %d, Hex %04x, Oct %o, Digr %s" +msgstr "> %d, Øåñ %04x, Âîñ %o, Äèãð %s" + +#, c-format +msgid "> %d, Hex %08x, Oct %o, Digr %s" +msgstr "> %d, Øåñ %08x, Âîñ %o, Äèãð %s" #, c-format msgid "> %d, Hex %04x, Octal %o" -msgstr "> %d, Hex %04x, Octal %o" +msgstr "> %d, Øåñ %04x, Âîñ %o" #, c-format msgid "> %d, Hex %08x, Octal %o" -msgstr "> %d, Hex %08x, Octal %o" +msgstr "> %d, Øåñ %08x, Âîñ %o" msgid "E134: Move lines into themselves" msgstr "E134: Ñòðîêè ïåðåìåùàþòñÿ ñàìè íà ñåáÿ" @@ -891,11 +882,14 @@ msgstr " msgid " FAILED" msgstr " ÍÅÓÄÀ×ÍÎ" -#. avoid a wait_return for this message, it's annoying #, c-format msgid "E137: Viminfo file is not writable: %s" msgstr "E137: Ïðàâà íà çàïèñü ôàéëà viminfo îòñóòñòâóþò: %s" +#, c-format +msgid "E929: Too many viminfo temp files, like %s!" +msgstr "E929: Ñëèøêîì ìíîãî âðåìåííûõ ôàéëîâ viminfo, òàêèõ êàê %s" + #, c-format msgid "E138: Can't write viminfo file %s!" msgstr "E138: Íåâîçìîæíî çàïèñàòü ôàéë viminfo %s!" @@ -908,7 +902,6 @@ msgstr " msgid "E886: Can't rename viminfo file to %s!" msgstr "E886: Íåâîçìîæíî ïåðåèìåíîâàòü ôàéë viminfo â %s!" -#. Write the info: #, c-format msgid "# This viminfo file was generated by Vim %s.\n" msgstr "# Ýòîò ôàéë viminfo àâòîìàòè÷åñêè ñîçäàí Vim %s.\n" @@ -926,6 +919,13 @@ msgstr "# msgid "Illegal starting char" msgstr "Íåäîïóñòèìûé íà÷àëüíûé ñèìâîë" +msgid "" +"\n" +"# Bar lines, copied verbatim:\n" +msgstr "" +"\n" +"# Ñòðîê ñ '|', òî÷íî ñêîïèðîâàíî:\n" + msgid "Save As" msgstr "Ñîõðàíèòü êàê" @@ -1015,14 +1015,14 @@ msgid "%ld substitutions" msgstr "%ld çàìåí" msgid " on 1 line" -msgstr " â îäíîé ñòðîêå" +msgstr " â 1 ñòð." #, c-format msgid " on %ld lines" msgstr " â %ld ñòð." -msgid "E147: Cannot do :global recursive" -msgstr "E147: Êîìàíäà :global íå ìîæåò áûòü ðåêóðñèâíîé" +msgid "E147: Cannot do :global recursive with a range" +msgstr "E147: Íåâîçìîæíî âûïîëíèòü :global ðåêóðñèâíî ñ äèàïàçîíîì" msgid "E148: Regular expression missing from global" msgstr "E148:  êîìàíäå :global ïðîïóùåíî ðåãóëÿðíîå âûðàæåíèå" @@ -1060,8 +1060,8 @@ msgid "Sorry, help file \"%s\" not found" msgstr "Èçâèíèòå, ôàéë ñïðàâêè \"%s\" íå íàéäåí" #, c-format -msgid "E150: Not a directory: %s" -msgstr "E150: %s íå ÿâëÿåòñÿ êàòàëîãîì" +msgid "E151: No match: %s" +msgstr "E151: Íåò ñîîòâåòñòâèÿ: %s" #, c-format msgid "E152: Cannot open %s for writing" @@ -1079,6 +1079,10 @@ msgstr "E670: msgid "E154: Duplicate tag \"%s\" in file %s/%s" msgstr "E154: Ïîâòîðÿþùàÿñÿ ìåòêà \"%s\" â ôàéëå %s/%s" +#, c-format +msgid "E150: Not a directory: %s" +msgstr "E150: %s íå ÿâëÿåòñÿ êàòàëîãîì" + #, c-format msgid "E160: Unknown sign command: %s" msgstr "E160: Íåèçâåñòíàÿ êîìàíäà çíà÷êà %s" @@ -1104,6 +1108,9 @@ msgstr "E159: msgid "E158: Invalid buffer name: %s" msgstr "E158: Íåïðàâèëüíîå èìÿ áóôåðà: %s" +msgid "E934: Cannot jump to a buffer that does not have a name" +msgstr "E934: Íåâîçìîæíî ïåðåéòè ê áóôåðó áåç èìåíè" + #, c-format msgid "E157: Invalid sign ID: %ld" msgstr "E157: Íåïðàâèëüíûé ID çíà÷êà: %ld" @@ -1121,9 +1128,20 @@ msgstr " ( msgid "[Deleted]" msgstr "[Óäàëåíî]" +msgid "No old files" +msgstr "Íåò ñòàðûõ ôàéëîâ" + msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "Âêëþ÷¸í ðåæèì îòëàäêè. Äëÿ ïðîäîëæåíèÿ íàáåðèòå \"cont\"" +#, c-format +msgid "Oldval = \"%s\"" +msgstr "Ïðåæ.çí. = \"%s\"" + +#, c-format +msgid "Newval = \"%s\"" +msgstr "Íîâ.çí. = \"%s\"" + #, c-format msgid "line %ld: %s" msgstr "ñòðîêà %ld: %s" @@ -1132,6 +1150,13 @@ msgstr " msgid "cmd: %s" msgstr "êîìàíäà: %s" +msgid "frame is zero" +msgstr "íóëåâîé ôðåéì" + +#, c-format +msgid "frame at highest level: %d" +msgstr "ìàêñèìàëüíûé ôðåéì: %d" + #, c-format msgid "Breakpoint in \"%s%s\" line %ld" msgstr "Òî÷êà îñòàíîâêè â \"%s%s\" ñòð. %ld" @@ -1147,6 +1172,10 @@ msgstr " msgid "%3d %s %s line %ld" msgstr "%3d %s %s ñòð. %ld" +#, c-format +msgid "%3d expr %s" +msgstr "%3d âûð. %s" + msgid "E750: First use \":profile start {fname}\"" msgstr "E750: Ïåðâîå èñïîëüçîâàíèå \":profile start {èìÿ-ôàéëà}\"" @@ -1154,8 +1183,9 @@ msgstr "E750: msgid "Save changes to \"%s\"?" msgstr "Ñîõðàíèòü èçìåíåíèÿ â \"%s\"?" -msgid "Untitled" -msgstr "Áåç èìåíè" +#, c-format +msgid "E947: Job still running in buffer \"%s\"" +msgstr "E947: Çàäàíèå åù¸ âûïîëíÿåòñÿ â áóôåðå \"%s\"" #, c-format msgid "E162: No write since last change for buffer \"%s\"" @@ -1187,8 +1217,18 @@ msgid "Searching for \"%s\"" msgstr "Ïîèñê \"%s\"" #, c-format -msgid "not found in 'runtimepath': \"%s\"" -msgstr "íå íàéäåíî â 'runtimepath': \"%s\"" +msgid "not found in '%s': \"%s\"" +msgstr "íå íàéäåíî â '%s': \"%s\"" + +#, c-format +msgid "W20: Required python version 2.x not supported, ignoring file: %s" +msgstr "" +"W20: Íå ïîääåðæèâàåòñÿ python òðåáóåìîé âåðñèè 2.x, ôàéë ïðîèãíîðèðîâàí: %s" + +#, c-format +msgid "W21: Required python version 3.x not supported, ignoring file: %s" +msgstr "" +"W21: Íå ïîääåðæèâàåòñÿ python òðåáóåìîé âåðñèè 3.x, ôàéë ïðîèãíîðèðîâàí: %s" msgid "Source Vim script" msgstr "Âûïîëíèòü ñöåíàðèé Vim" @@ -1217,6 +1257,10 @@ msgstr " msgid "finished sourcing %s" msgstr "ñ÷èòûâàíèå ñöåíàðèÿ %s çàâåðøåíî" +#, c-format +msgid "continuing in %s" +msgstr "ïðîäîëæåíèå â %s" + msgid "modeline" msgstr "ðåæèìíàÿ ñòðîêà" @@ -1284,12 +1328,12 @@ msgstr " msgid "E494: Use w or w>>" msgstr "E494: Èñïîëüçóéòå w èëè w>>" +msgid "E943: Command table needs to be updated, run 'make cmdidxs'" +msgstr "E943: Òàáëèöà êîìàíä äîëæíà áûòü îáíîâëåíà, âûïîëíèòå 'make cmdidxs'" + msgid "E319: Sorry, the command is not available in this version" msgstr "E319: Èçâèíèòå, ýòà êîìàíäà íåäîñòóïíà â äàííîé âåðñèè" -msgid "E172: Only one file name allowed" -msgstr "E172: Ðàçðåøåíî èñïîëüçîâàòü òîëüêî îäíî èìÿ ôàéëà" - msgid "1 more file to edit. Quit anyway?" msgstr "1 ôàéë îæèäàåò ðåäàêòèðîâàíèÿ. Âûéòè?" @@ -1309,10 +1353,10 @@ msgstr "E174: msgid "" "\n" -" Name Args Range Complete Definition" +" Name Args Address Complete Definition" msgstr "" "\n" -" Èìÿ Ïàðàì. Äèàï. Äîïîëí. Îïðåäåëåíèå" +" Èìÿ Ïàðàì. Äèàï. Äîïîëí. Îïðåäåëåíèå" msgid "No user-defined commands found" msgstr "Êîìàíäû, îïðåäåë¸ííûå ïîëüçîâàòåëåì, íå îáíàðóæåíû." @@ -1332,6 +1376,9 @@ msgstr "E178: msgid "E179: argument required for -complete" msgstr "E179: Äëÿ -complete òðåáóåòñÿ óêàçàòü ïàðàìåòð" +msgid "E179: argument required for -addr" +msgstr "E179: Äëÿ -addr òðåáóåòñÿ óêàçàòü ïàðàìåòð" + #, c-format msgid "E181: Invalid attribute: %s" msgstr "E181: Íåïðàâèëüíûé àòðèáóò: %s" @@ -1350,6 +1397,10 @@ msgstr "" msgid "E184: No such user-defined command: %s" msgstr "E184: Íåò òàêîé êîìàíäû ïîëüçîâàòåëÿ: %s" +#, c-format +msgid "E180: Invalid address type value: %s" +msgstr "E180: Íåïðàâèëüíîå çíà÷åíèå òèïà àäðåñà: %s" + #, c-format msgid "E180: Invalid complete value: %s" msgstr "E180: Íåïðàâèëüíîå çíà÷åíèå äîïîëíåíèÿ: %s" @@ -1414,6 +1465,9 @@ msgstr "E188: msgid "E466: :winpos requires two number arguments" msgstr "E466: Êîìàíäà :winpos òðåáóåò óêàçàíèÿ äâóõ ÷èñëîâûõ ïàðàìåòðîâ" +msgid "E930: Cannot use :redir inside execute()" +msgstr "E930: Íåâîçìîæíî èñïîëüçîâàòü :redir âíóòðè execute()" + msgid "Save Redirection" msgstr "Ïåðåíàïðàâëåíèå çàïèñè" @@ -1438,7 +1492,6 @@ msgstr "E189: \"%s\" msgid "E190: Cannot open \"%s\" for writing" msgstr "E190: Íåâîçìîæíî îòêðûòü äëÿ çàïèñè \"%s\"" -#. set mark msgid "E191: Argument must be a letter or forward/backward quote" msgstr "E191: Ïàðàìåòð äîëæåí áûòü ïðÿìîé/îáðàòíîé êàâû÷êîé èëè áóêâîé" @@ -1476,6 +1529,9 @@ msgstr "E500: msgid "E195: Cannot open viminfo file for reading" msgstr "E195: Íåâîçìîæíî îòêðûòü ôàéë viminfo äëÿ ÷òåíèÿ" +msgid "Untitled" +msgstr "Áåç èìåíè" + msgid "E196: No digraphs in this version" msgstr "E196:  ýòîé âåðñèè äèãðàôû íå ðàáîòàþò" @@ -1483,7 +1539,6 @@ msgid "E608: Cannot :throw exceptions with 'Vim' prefix" msgstr "" "E608: Íåâîçìîæíî âûïîëíèòü êîìàíäó :throw äëÿ èñêëþ÷åíèé ñ ïðèñòàâêîé 'Vim'" -#. always scroll up, don't overwrite #, c-format msgid "Exception thrown: %s" msgstr "Èñêëþ÷èòåëüíàÿ ñèòóàöèÿ: %s" @@ -1500,7 +1555,6 @@ msgstr " msgid "%s, line %ld" msgstr "%s, ñòðîêà %ld" -#. always scroll up, don't overwrite #, c-format msgid "Exception caught: %s" msgstr "Îáðàáîòêà èñêëþ÷èòåëüíîé ñèòóàöèè: %s" @@ -1526,7 +1580,6 @@ msgstr " msgid "Error" msgstr "Îøèáêà" -#. if (pending & CSTP_INTERRUPT) msgid "Interrupt" msgstr "Ïðåðûâàíèå" @@ -1569,15 +1622,12 @@ msgstr "E601: msgid "E603: :catch without :try" msgstr "E603: :catch áåç :try" -#. Give up for a ":catch" after ":finally" and ignore it. -#. * Just parse. msgid "E604: :catch after :finally" msgstr "E604: :catch ïîñëå :finally" msgid "E606: :finally without :try" msgstr "E606: :finally áåç :try" -#. Give up for a multiple ":finally" and ignore it. msgid "E607: multiple :finally" msgstr "E607: Îáíàðóæåíî íåñêîëüêî :finally" @@ -1622,6 +1672,9 @@ msgstr " msgid "Input Line" msgstr "Ñòðîêà ââîäà" +msgid "Debug Line" +msgstr "Ñòðîêà îòëàäêè" + msgid "E198: cmd_pchar beyond the command length" msgstr "E198: cmd_pchar áîëüøå äëèíû êîìàíäû" @@ -1667,7 +1720,6 @@ msgstr "Vim: msgid "Reading from stdin..." msgstr "×òåíèå èç ñòàíäàðòíîãî ïîòîêà ââîäà stdin..." -#. Re-opening the original file failed! msgid "E202: Conversion made file unreadable!" msgstr "E202:  ðåçóëüòàòå ïðåîáðàçîâàíèÿ ôàéë ñòàë íå÷èòàåìûì!" @@ -1760,9 +1812,6 @@ msgid "E510: Can't make backup file (add ! to override)" msgstr "" "E510: Íåâîçìîæíî ñîçäàòü ðåçåðâíûé ôàéë (äîáàâüòå !, ÷òîáû îáîéòè ïðîâåðêó)" -msgid "E460: The resource fork would be lost (add ! to override)" -msgstr "E460: Âåòâü ðåñóðñà áóäåò ïîòåðÿíà (äîáàâüòå !, ÷òîáû îáîéòè ïðîâåðêó)" - msgid "E214: Can't find temp file for writing" msgstr "E214: Âðåìåííûé ôàéë äëÿ çàïèñè íå íàéäåí" @@ -1771,13 +1820,13 @@ msgstr "" "E213: Ïåðåêîäèðîâêà íåâîçìîæíà (äîáàâüòå ! äëÿ çàïèñè áåç ïåðåêîäèðîâêè)" msgid "E166: Can't open linked file for writing" -msgstr "E166: Íåâîçìîæíî îòêðûòü ñâÿçàííûé ôàéë äëÿ çàïèñè" +msgstr "E166: Íåâîçìîæíî îòêðûòü ôàéë ïî ññûëêå äëÿ çàïèñè" msgid "E212: Can't open file for writing" msgstr "E212: Íåâîçìîæíî îòêðûòü ôàéë äëÿ çàïèñè" -msgid "E667: Fsync failed" -msgstr "E667: Íå óäàëîñü âûïîëíèòü ôóíêöèþ fsync()" +msgid "E949: File changed while writing" +msgstr "E949: Ôàéë áûë èçìåí¸í ïîñëå çàïèñè" msgid "E512: Close failed" msgstr "E512: Îïåðàöèÿ çàêðûòèÿ íå óäàëàñü" @@ -1875,20 +1924,12 @@ msgstr "1 msgid "%lld characters" msgstr "ñèìâîëîâ: %lld" -#. Explicit typecast avoids warning on Mac OS X 10.6 -#, c-format -msgid "%ld characters" -msgstr "ñèìâîëîâ: %ld" - msgid "[noeol]" msgstr "[noeol]" msgid "[Incomplete last line]" msgstr "[Íåçàâåðø¸ííàÿ ïîñëåäíÿÿ ñòðîêà]" -#. 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 "ÏÐÅÄÓÏÐÅÆÄÅÍÈÅ: Ôàéë èçìåí¸í ñ ìîìåíòà ÷òåíèÿ!!!" @@ -1972,11 +2013,16 @@ msgstr "-- msgid "auto-removing autocommand: %s " msgstr "àâòî-óäàëåíèå àâòîêîìàíäû: %s <áóôôåð=%d>" -#. the group doesn't exist #, c-format msgid "E367: No such group: \"%s\"" msgstr "E367: Ãðóïïà \"%s\" íå ñóùåñòâóåò" +msgid "E936: Cannot delete the current group" +msgstr "E936: Íåâîçìîæíî óäàëèòü òåêóùóþ ãðóïïó" + +msgid "W19: Deleting augroup that is still in use" +msgstr "W19: Óäàëåíèå åù¸ èñïîëüçóåìîé ãðóïïû àâòîêîìàíä" + #, c-format msgid "E215: Illegal character after *: %s" msgstr "E215: Íåäîïóñòèìûå ñèìâîëû ïîñëå *: %s" @@ -1989,7 +2035,6 @@ msgstr "E216: msgid "E216: No such group or event: %s" msgstr "E216: Íåñóùåñòâóþùàÿ ãðóïïà èëè ñîáûòèå: %s" -#. Highlight title msgid "" "\n" "--- Auto-Commands ---" @@ -2040,8 +2085,11 @@ msgstr "" "E351: Ñêëàäêà íå ìîæåò áûòü óäàëåíà ñ òåêóùèì çíà÷åíèåì îïöèè 'foldmethod'" #, c-format -msgid "+--%3ld lines folded " -msgstr "+--%3ld ñòðîê â ñêëàäêå" +msgid "+--%3ld line folded " +msgid_plural "+--%3ld lines folded " +msgstr[0] "+--%3ld ñòðîêà â ñêëàäêå " +msgstr[1] "+--%3ld ñòðîêè â ñêëàäêå " +msgstr[2] "+--%3ld ñòðîê â ñêëàäêå " msgid "E222: Add to read buffer" msgstr "E222: Äîáàâëåíèå â áóôåð ÷òåíèÿ" @@ -2137,6 +2185,18 @@ msgstr "" "E232: \"Ïóçûðü\" äëÿ âû÷èñëåíèé, âêëþ÷àþùèé è ñîîáùåíèå, è îáðàòíûé âûçîâ, " "íå ìîæåò áûòü ñîçäàí" +msgid "_Cancel" +msgstr "Î_òìåíà" + +msgid "_Save" +msgstr "Ñîõðàíèòü _êàê" + +msgid "_Open" +msgstr "_Îòêðûòü" + +msgid "_OK" +msgstr "_Äà" + msgid "" "&Yes\n" "&No\n" @@ -2146,8 +2206,14 @@ msgstr "" "&Íåò\n" "Î&òìåíà" +msgid "Yes" +msgstr "Äà" + +msgid "No" +msgstr "Íåò" + msgid "Input _Methods" -msgstr "Ìåòîäû Ââîäà" +msgstr "_Ìåòîäû Ââîäà" msgid "VIM - Search and Replace..." msgstr "VIM — Ïîèñê è çàìåíà..." @@ -2156,46 +2222,43 @@ msgid "VIM - Search..." msgstr "VIM — Ïîèñê..." msgid "Find what:" -msgstr "×òî èùåì:" +msgstr "×òî íàéòè:" msgid "Replace with:" -msgstr "Íà ÷òî çàìåíÿåì:" +msgstr "Çàìåíèòü íà:" -#. whole word only button msgid "Match whole word only" msgstr "Òîëüêî òî÷íûå ñîîòâåòñòâèÿ" -#. match case button msgid "Match case" -msgstr "Ðåãèñòðîçàâèñèìûå ñîîòâåòñòâèÿ" +msgstr "Ó÷èòûâàòü ðåãèñòð" msgid "Direction" msgstr "Íàïðàâëåíèå" -#. 'Up' and 'Down' buttons msgid "Up" msgstr "Ââåðõ" msgid "Down" msgstr "Âíèç" -#. 'Find Next' button msgid "Find Next" msgstr "Íàéòè ñëåäóþùåå" -#. 'Replace' button msgid "Replace" -msgstr "Çàìåíà" +msgstr "Çàìåíèòü" -#. 'Replace All' button msgid "Replace All" msgstr "Çàìåíèòü âñå" +msgid "_Close" +msgstr "_Çàêðûòü" + msgid "Vim: Received \"die\" request from session manager\n" msgstr "Vim: Ïîëó÷åí çàïðîñ íà ïðåêðàùåíèå ðàáîòû îò äèñïåò÷åðà ñåàíñîâ\n" -msgid "Close" -msgstr "Çàêðûòü" +msgid "Close tab" +msgstr "Çàêðûòü âêëàäêó" msgid "New tab" msgstr "Íîâàÿ âêëàäêà" @@ -2242,6 +2305,21 @@ msgstr " msgid "&Undo" msgstr "Î&òìåíà" +msgid "Open tab..." +msgstr "Îòêðûòü âêëàäêó..." + +msgid "Find string (use '\\\\' to find a '\\')" +msgstr "Ïîèñê ñòðîêè (èñïîëüçóéòå '\\\\' äëÿ ïîèñêà '\\')" + +msgid "Find & Replace (use '\\\\' to find a '\\')" +msgstr "Ïîèñê è çàìåíà (èñïîëüçóéòå '\\\\' äëÿ ïîèñêà '\\')" + +msgid "Not Used" +msgstr "Íå èñïîëüçóåòñÿ" + +msgid "Directory\t*.nothing\n" +msgstr "Êàòàëîã\t*.íè÷åãî\n" + #, c-format msgid "E671: Cannot find window title \"%s\"" msgstr "E671: Îêíî ñ çàãîëîâêîì \"%s\" íå îáíàðóæåíî" @@ -2253,26 +2331,6 @@ msgstr "E243: msgid "E672: Unable to open window inside MDI application" msgstr "E672: Íåâîçìîæíî îòêðûòü îêíî âíóòðè ïðèëîæåíèÿ MDI" -msgid "Close tab" -msgstr "Çàêðûòü âêëàäêó" - -msgid "Open tab..." -msgstr "Îòêðûòü âêëàäêó..." - -msgid "Find string (use '\\\\' to find a '\\')" -msgstr "Ïîèñê ñòðîêè (èñïîëüçóéòå '\\\\' äëÿ ïîèñêà '\\')" - -msgid "Find & Replace (use '\\\\' to find a '\\')" -msgstr "Ïîèñê è çàìåíà (èñïîëüçóéòå '\\\\' äëÿ ïîèñêà '\\')" - -#. 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 "Íå èñïîëüçóåòñÿ" - -msgid "Directory\t*.nothing\n" -msgstr "Êàòàëîã\t*.íè÷åãî\n" - msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" msgstr "" "Vim E458: Íåâîçìîæíî âûäåëèòü çàïèñü â òàáëèöå öâåòà, íåêîòîðûå öâåòà ìîãóò " @@ -2329,7 +2387,6 @@ msgstr "Vim msgid "Name:" msgstr "Íàçâàíèå:" -#. create toggle button msgid "Show size in Points" msgstr "Ïîêàçûâàòü ðàçìåð â ïóíêòàõ" @@ -2535,6 +2592,7 @@ msgstr "%-5s: %s%*s ( msgid "" "\n" +" a: Find assignments to this symbol\n" " c: Find functions calling this function\n" " d: Find functions called by this function\n" " e: Find this egrep pattern\n" @@ -2545,6 +2603,7 @@ msgid "" " t: Find this text string\n" msgstr "" "\n" +" a: Íàéòè ïðèñâàèâàíèÿ äëÿ ýòîãî ñèìâîëà\n" " c: Íàéòè ôóíêöèè âûçûâàþùèå ýòó ôóíêöèþ\n" " d: Íàéòè ôóíêöèè âûçûâàåìûå ýòîé ôóíêöèåé\n" " e: Íàéòè ýòîò øàáëîí egrep\n" @@ -2559,7 +2618,7 @@ msgid "E625: cannot open cscope database: %s" msgstr "E625: Íåâîçìîæíî îòêðûòü áàçó äàííûõ cscope: %s" msgid "E626: cannot get cscope database information" -msgstr "E626: Èíôîðìàöèÿ î áàçå äàííûõ cscope íå äîñòóïíà" +msgstr "E626: Èíôîðìàöèÿ î áàçå äàííûõ cscope íåäîñòóïíà" msgid "E568: duplicate cscope database not added" msgstr "E568: Äàííàÿ áàçà äàííûõ cscope óæå ïîäñîåäèíåíà" @@ -2572,7 +2631,6 @@ msgstr "E261: msgid "cscope connection %s closed" msgstr "ñîåäèíåíèå ñ cscope %s çàêðûòî" -#. should not reach here msgid "E570: fatal error in cs_manage_matches" msgstr "E570: Êðèòè÷åñêàÿ îøèáêà â cs_manage_matches" @@ -2614,7 +2672,14 @@ msgid "" "loaded." msgstr "" "E815: Ê ñîæàëåíèþ ýòà êîìàíäà íå ðàáîòàåò, ïîñêîëüêó íå çàãðóæåíà áèáëèîòåêà " -"MzScheme" +"MzScheme." + +msgid "" +"E895: Sorry, this command is disabled, the MzScheme's racket/base module " +"could not be loaded." +msgstr "" +"E895: Ê ñîæàëåíèþ ýòà êîìàíäà íå ðàáîòàåò, ïîñêîëüêó íå çàãðóæåí ìîäóëü " +"racket/base äëÿ MzScheme." msgid "invalid expression" msgstr "íåïðàâèëüíîå âûðàæåíèå" @@ -2721,102 +2786,12 @@ msgstr "E272: msgid "E273: unknown longjmp status %d" msgstr "E273: Íåèçâåñòíîå ñîñòîÿíèå longjmp %d" -msgid "Toggle implementation/definition" -msgstr "Ïåðåêëþ÷åíèå ìåæäó ðåàëèçàöèåé/îïðåäåëåíèåì" - -msgid "Show base class of" -msgstr "Ïîêàçàòü îñíîâíîé êëàññ" - -msgid "Show overridden member function" -msgstr "Ïîêàçàòü ïåðåãðóæåííûå ôóíêöèè" - -msgid "Retrieve from file" -msgstr "Ïîëó÷èòü èç ôàéëà" - -msgid "Retrieve from project" -msgstr "Ïîëó÷èòü èç ïðîåêòà" - -msgid "Retrieve from all projects" -msgstr "Ïîëó÷èòü èç âñåõ ïðîåêòîâ" - -msgid "Retrieve" -msgstr "Ïîëó÷èòü" - -msgid "Show source of" -msgstr "Ïîêàçàòü èñõîäíûé êîä" - -msgid "Find symbol" -msgstr "Íàéòè ñèìâîë" - -msgid "Browse class" -msgstr "Ïðîñìîòð êëàññà" - -msgid "Show class in hierarchy" -msgstr "Ïîêàçàòü êëàññ â èåðàðõèè" - -msgid "Show class in restricted hierarchy" -msgstr "Ïîêàçàòü êëàññ â îãðàíè÷åííîé èåðàðõèè" - -msgid "Xref refers to" -msgstr "Xref ññûëàåòñÿ íà" - -msgid "Xref referred by" -msgstr "Ññûëêà íà xref èç" - -msgid "Xref has a" -msgstr "Xref èìååò" - -msgid "Xref used by" -msgstr "Xref èñïîëüçóåòñÿ" - -msgid "Show docu of" -msgstr "Ïîêàçàòü docu" - -msgid "Generate docu for" -msgstr "Ñîçäàòü docu" - -msgid "" -"Cannot connect to SNiFF+. Check environment (sniffemacs must be found in " -"$PATH).\n" -msgstr "" -"Íåâîçìîæíî ïîäñîåäèíèòüñÿ ê SNiFF+. Ïðîâåðüòå íàñòðîéêè îêðóæåíèÿ." -"(sniffemacs äîëæíû áûòü óêàçàíû â ïåðåìåííîé $PATH).\n" - -msgid "E274: Sniff: Error during read. Disconnected" -msgstr "E274: Sniff: Îøèáêà âî âðåìÿ ÷òåíèÿ. Îòñîåäèíåíèå" - -msgid "SNiFF+ is currently " -msgstr " íàñòîÿùèé ìîìåíò SNiFF+ " - -msgid "not " -msgstr "íå " - -msgid "connected" -msgstr "ïîäñîåäèí¸í" - -#, c-format -msgid "E275: Unknown SNiFF+ request: %s" -msgstr "E275: Íåèçâåñòíûé çàïðîñ SNiFF+: %s" - -msgid "E276: Error connecting to SNiFF+" -msgstr "E276: Îøèáêà ñîåäèíåíèÿ ñî SNiFF+" - -msgid "E278: SNiFF+ not connected" -msgstr "E278: SNiFF+ íå ïîäñîåäèí¸í" - -msgid "E279: Not a SNiFF+ buffer" -msgstr "E279: Ýòî íå áóôåð SNiFF+" - -msgid "Sniff: Error during write. Disconnected" -msgstr "Sniff: Îøèáêà âî âðåìÿ çàïèñè. Îòñîåäèíåíèå" - msgid "invalid buffer number" msgstr "íåïðàâèëüíûé íîìåð áóôåðà" msgid "not implemented yet" msgstr "ïîêà íå ðåàëèçîâàíî" -#. ??? msgid "cannot set line(s)" msgstr "íåâîçìîæíî íàçíà÷èòü ñòðîêó èëè ñòðîêè" @@ -2857,7 +2832,6 @@ msgstr "" "íåâîçìîæíî çàðåãèñòðèðîâàòü êîìàíäó ñ îáðàòíûì âûçîâîì: áóôåð èëè îêíî â " "ïðîöåññå óäàëåíèÿ" -#. This should never happen. Famous last word? msgid "" "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim." "org" @@ -2898,6 +2872,18 @@ msgstr "" "E251: Íåïðàâèëüíî ñôîðìèðîâàíî çíà÷åíèå äàííîãî ïðîöåññà VIM â ðååñòðå. " "Óäàëåíî!" +#, c-format +msgid "E938: Duplicate key in JSON: \"%s\"" +msgstr "E938: Ïîâòîð êëþ÷à â JSON: \"%s\"" + +#, c-format +msgid "E696: Missing comma in List: %s" +msgstr "E696: Ïðîïóùåíà çàïÿòàÿ â ñïèñêå: %s" + +#, c-format +msgid "E697: Missing end of List ']': %s" +msgstr "E697: Ïðîïóùåíî îêîí÷àíèå ñïèñêà ']': %s" + msgid "Unknown option argument" msgstr "Íåèçâåñòíûé íåîáÿçàòåëüíûé ïàðàìåòð" @@ -2924,13 +2910,13 @@ msgstr " msgid "netbeans is not supported with this GUI\n" msgstr "NetBeans íå ïîääåðæèâàåòñÿ ñ ýòèì ãðàôè÷åñêèì èíòåðôåéñîì\n" +msgid "'-nb' cannot be used: not enabled at compile time\n" +msgstr "Íåâîçìîæíî èñïîëüçîâàòü '-nb': íå âêëþ÷åíî ïðè êîìïèëÿöèè\n" + msgid "This Vim was not compiled with the diff feature." msgstr "" "Äàííûé Vim áûë ñêîìïèëèðîâàí ñ âûêëþ÷åííîé îñîáåííîñòüþ ïðîñìîòðà îòëè÷èé" -msgid "'-nb' cannot be used: not enabled at compile time\n" -msgstr "Íåâîçìîæíî èñïîëüçîâàòü '-nb': íå âêëþ÷åíî ïðè êîìïèëÿöèè\n" - msgid "Attempt to open script file again: \"" msgstr "Ïîïûòêà ïîâòîðíîãî îòêðûòèÿ ôàéëà ñöåíàðèÿ: \"" @@ -2943,13 +2929,15 @@ msgstr " msgid "Vim: Error: Failure to start gvim from NetBeans\n" msgstr "Vim: Îøèáêà: Íå óäàëîñü çàïóñòèòü gvim èç NetBeans\n" +msgid "Vim: Error: This version of Vim does not run in a Cygwin terminal\n" +msgstr "Vim: Îøèáêà: Äàííàÿ âåðñèÿ Vim íå ðàáîòàåò â òåðìèíàëå Cygwin\n" + msgid "Vim: Warning: Output is not to a terminal\n" msgstr "Vim: Ïðåäóïðåæäåíèå: Âûâîä îñóùåñòâëÿåòñÿ íå íà òåðìèíàë\n" msgid "Vim: Warning: Input is not from a terminal\n" msgstr "Vim: Ïðåäóïðåæäåíèå: Ââîä ïðîèñõîäèò íå ñ òåðìèíàëà\n" -#. just in case.. msgid "pre-vimrc command line" msgstr "êîìàíäíàÿ ñòðîêà ïåðåä âûïîëíåíèåì vimrc" @@ -2976,7 +2964,8 @@ msgstr "-t # \n\t\t.. äëÿ óìåùåíèÿ â 80 ñòîëáöîâ msgid "-q [errorfile] edit file with first error" msgstr "" -"-q [ôàéë-îøèáîê] ðåäàêòèðîâàíèå ôàéëà ñ ïåðâîé îøèáêîé" +"-q [ôàéë-îøèáîê]\n" +"\t\t\t\t ðåäàêòèðîâàíèå ôàéëà ñ ïåðâîé îøèáêîé" msgid "" "\n" @@ -3076,8 +3065,8 @@ msgstr "-N\t\t\t # \n\t\t.. äëÿ óìåùåíèÿ â 80 ñòîëáöîâ msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" msgstr "" -"-V[N][ôàéë]\t\tÂûâîäèòü äîïîëíèòåëüíûå ñîîáùåíèÿ " -"[óðîâåíü N] [çàïèñûâàòü â ôàéë]" +"-V[N][ôàéë]\t\tÂûâîäèòü äîïîëíèòåëüíûå ñîîáùåíèÿ\n" +"\t\t\t\t[óðîâåíü N] [çàïèñûâàòü â ôàéë]" msgid "-D\t\t\tDebugging mode" msgstr "-D\t\t\tÐåæèì îòëàäêè" @@ -3112,6 +3101,12 @@ msgstr "-F\t\t\t msgid "-T \tSet terminal type to " msgstr "-T <òåðìèíàë>\tÍàçíà÷èòü óêàçàííûé òèï <òåðìèíàëà>" +msgid "--not-a-term\t\tSkip warning for input/output not being a terminal" +msgstr "--not-a-term\t\tÍå ïðåäóïðåæäàòü ïðè ââîäå/âûâîäå íå â òåðìèíàë" + +msgid "--ttyfail\t\tExit if input or output is not a terminal" +msgstr "--ttyfail\t\tÂûéòè ïðè ââîäå/âûâîäå íå â òåðìèíàë" + msgid "-u \t\tUse instead of any .vimrc" msgstr "-u \t\tÈñïîëüçîâàòü âìåñòî ëþáûõ ôàéëîâ .vimrc" @@ -3124,12 +3119,14 @@ msgstr "--noplugin\t\t # \n\t\t.. äëÿ óìåùåíèÿ â 80 ñòîëáöîâ msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" msgstr "" -"-p[N]\t\tÎòêðûòü N âêëàäîê (ïî óìîë÷àíèþ: ïî îäíîé íà êàæäûé ôàéë)" +"-p[N]\t\tÎòêðûòü N âêëàäîê (ïî óìîë÷àíèþ: ïî îäíîé\n" +"\t\t\t\tíà êàæäûé ôàéë)" # \n\t\t.. äëÿ óìåùåíèÿ â 80 ñòîëáöîâ msgid "-o[N]\t\tOpen N windows (default: one for each file)" msgstr "" -"-o[N]\t\tÎòêðûòü N îêîí (ïî óìîë÷àíèþ: ïî îäíîìó íà êàæäûé ôàéë)" +"-o[N]\t\tÎòêðûòü N îêîí (ïî óìîë÷àíèþ: ïî îäíîìó\n" +"\t\t\t\tíà êàæäûé ôàéë)" msgid "-O[N]\t\tLike -o but split vertically" msgstr "-O[N]\t\tÒî æå, ÷òî è -o, íî ñ âåðòèêàëüíûì ðàçäåëåíèåì îêîí" @@ -3149,13 +3146,14 @@ msgstr "-c < # \n\t\t.. äëÿ óìåùåíèÿ â 80 ñòîëáöîâ msgid "-S \t\tSource file after loading the first file" msgstr "" -"-S <ñåàíñ>\t\tÏðî÷èòàòü ñöåíàðèé <ñåàíñà> ïîñëå çàãðóçêè " -"ïåðâîãî ôàéëà" +"-S <ñåàíñ>\t\tÏðî÷èòàòü ñöåíàðèé <ñåàíñà> ïîñëå çàãðóçêè\n" +"\t\t\t\tïåðâîãî ôàéëà" # \n\t\t.. äëÿ óìåùåíèÿ â 80 ñòîëáöîâ msgid "-s \tRead Normal mode commands from file " msgstr "" -"-s <ñöåíàðèé>\tÏðî÷èòàòü êîìàíäû Îáû÷íîãî ðåæèìà èç ôàéëà <ñöåíàðèÿ>" +"-s <ñöåíàðèé>\tÏðî÷èòàòü êîìàíäû Îáû÷íîãî ðåæèìà èç\n" +"\t\t\t\tôàéëà <ñöåíàðèÿ>" msgid "-w \tAppend all typed commands to file " msgstr "-w <ñöåíàðèé>\tÄîáàâëÿòü âñå ââåä¸ííûå êîìàíäû â ôàéë <ñöåíàðèÿ>" @@ -3167,7 +3165,7 @@ msgid "-x\t\t\tEdit encrypted files" msgstr "-x\t\t\tÐåäàêòèðîâàíèå çàøèôðîâàííûõ ôàéëîâ" msgid "-display \tConnect vim to this particular X-server" -msgstr "-display <ýêðàí>\tÏîäñîåäèíèòü VIM ê óêàçàííîìó X-ñåðâåðó" +msgstr "-display <ýêðàí>\tÏîäñîåäèíèòü Vim ê óêàçàííîìó X-ñåðâåðó" msgid "-X\t\t\tDo not connect to X server" msgstr "-X\t\t\tÍå âûïîëíÿòü ñîåäèíåíèå ñ ñåðâåðîì X" @@ -3212,6 +3210,11 @@ msgstr "--startuptime < msgid "-i \t\tUse instead of .viminfo" msgstr "-i \t\tÈñïîëüçîâàòü âìåñòî .viminfo ôàéë " +msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo" +msgstr "" +"--clean\t\tÍåïîëíàÿ ñîâìåñòèìîñòü ñ Vi, Vim ïî óìîë÷àíèþ,\n" +"\t\t\t\táåç ìîäóëåé, áåç viminfo" + msgid "-h or --help\tPrint Help (this message) and exit" msgstr "-h èëè --help\tÂûâåñòè ñïðàâêó (ýòî ñîîáùåíèå) è çàâåðøèòü ðàáîòó" @@ -3240,21 +3243,19 @@ msgstr "" "Ïàðàìåòðû äëÿ gvim (âåðñèÿ Athena):\n" msgid "-display \tRun vim on " -msgstr "-display <äèñïëåé>\tÇàïóñòèòü VIM íà óêàçàííîì <äèñïëåå>" +msgstr "-display <äèñïëåé>\tÇàïóñòèòü Vim íà óêàçàííîì <äèñïëåå>" msgid "-iconic\t\tStart vim iconified" -msgstr "-iconic\t\tÇàïóñòèòü VIM â ñâ¸ðíóòîì âèäå" +msgstr "-iconic\t\tÇàïóñòèòü Vim â ñâ¸ðíóòîì âèäå" msgid "-background \tUse for the background (also: -bg)" -msgstr "" -"-background <öâåò>\tÈñïîëüçîâàòü óêàçàííûé <öâåò> äëÿ ôîíà (òàêæå: -bg)" +msgstr "-background <öâåò>\tÈñïîëüçîâàòü óêàçàííûé <öâåò> äëÿ ôîíà (èëè -bg)" msgid "-foreground \tUse for normal text (also: -fg)" -msgstr "" -"-foreground <öâåò>\tÈñïîëüçîâàòü <öâåò> äëÿ îáû÷íîãî òåêñòà (òàêæå: -fg)" +msgstr "-foreground <öâåò>\tÈñïîëüçîâàòü <öâåò> äëÿ îáû÷íîãî òåêñòà (èëè -fg)" msgid "-font \t\tUse for normal text (also: -fn)" -msgstr "-font <øðèôò>\t\tÈñïîëüçîâàòü <øðèôò> äëÿ îáû÷íîãî òåêñòà (òàêæå: -fn)" +msgstr "-font <øðèôò>\tÈñïîëüçîâàòü <øðèôò> äëÿ îáû÷íîãî òåêñòà (èëè -fn)" msgid "-boldfont \tUse for bold text" msgstr "-boldfont <øðèôò>\tÈñïîëüçîâàòü <øðèôò> äëÿ æèðíîãî òåêñòà" @@ -3263,24 +3264,23 @@ msgid "-italicfont \tUse for italic text" msgstr "-italicfont <øðèôò>\tÈñïîëüçîâàòü <øðèôò> äëÿ íàêëîííîãî òåêñòà" msgid "-geometry \tUse for initial geometry (also: -geom)" -msgstr "" -"-geometry <ãåîìåòðèÿ>\tÈñïîëüçîâàòü íà÷àëüíóþ <ãåîìåòðèþ> (òàêæå: -geom)" +msgstr "-geometry <ãåîìåòðèÿ>\tÈñïîëüçîâàòü íà÷àëüíóþ <ãåîìåòðèþ> (èëè -geom)" msgid "-borderwidth \tUse a border width of (also: -bw)" -msgstr "-borderwidth <øèðèíà>\tÈñïîëüçîâàòü <øèðèíó> áîðäþðà (òàêæå: -bw)" +msgstr "-borderwidth <øèðèíà>\tÈñïîëüçîâàòü <øèðèíó> áîðäþðà (èëè -bw)" msgid "-scrollbarwidth Use a scrollbar width of (also: -sw)" msgstr "" -"-scrollbarwidth <øèðèíà> Èñïîëüçîâàòü øèðèíó ïîëîñû ïðîêðóòêè (òàêæå: -sw)" +"-scrollbarwidth <øèðèíà> Èñïîëüçîâàòü øèðèíó ïîëîñû ïðîêðóòêè (èëè -sw)" msgid "-menuheight \tUse a menu bar height of (also: -mh)" -msgstr "-menuheight <âûñîòà>\tÈñïîëüçîâàòü <âûñîòó> ìåíþ (òàêæå: -mh)" +msgstr "-menuheight <âûñîòà>\tÈñïîëüçîâàòü <âûñîòó> ìåíþ (èëè -mh)" msgid "-reverse\t\tUse reverse video (also: -rv)" -msgstr "-reverse\t\tÈñïîëüçîâàòü èíâåðñíûé âèäåîðåæèì (òàêæå: -rv)" +msgstr "-reverse\t\tÈñïîëüçîâàòü èíâåðñíûé âèäåîðåæèì (èëè -rv)" msgid "+reverse\t\tDon't use reverse video (also: +rv)" -msgstr "+reverse\t\tÍå èñïîëüçîâàòü èíâåðñíûé âèäåîðåæèì (òàêæå: +rv)" +msgstr "+reverse\t\tÍå èñïîëüçîâàòü èíâåðñíûé âèäåîðåæèì (èëè +rv)" msgid "-xrm \tSet the specified resource" msgstr "-xrm <ðåñóðñ>\tÓñòàíîâèòü óêàçàííûé <ðåñóðñ>" @@ -3294,11 +3294,12 @@ msgstr "" msgid "-display \tRun vim on (also: --display)" msgstr "" -"-display <äèñïëåé>\tÇàïóñòèòü VIM íà óêàçàííîì <äèñïëåå> (òàêæå: --display)" +"-display <äèñïëåé>\tÇàïóñòèòü Vim íà óêàçàííîì <äèñïëåå> (èëè --display)" msgid "--role \tSet a unique role to identify the main window" msgstr "" -"--role <ðîëü>\tÓñòàíîâèòü óíèêàëüíóþ <ðîëü> äëÿ èäåíòèôèêàöèè ãëàâíîãî îêíà" +"--role <ðîëü>\tÓñòàíîâèòü óíèêàëüíóþ <ðîëü>\n" +"\t\t\t\täëÿ èäåíòèôèêàöèè ãëàâíîãî îêíà" msgid "--socketid \tOpen Vim inside another GTK widget" msgstr "--socketid \tÎòêðûòü Vim âíóòðè äðóãîãî êîìïîíåíòà GTK" @@ -3315,11 +3316,9 @@ msgstr "--windowid \t msgid "No display" msgstr "Íåò äèñïëåÿ" -#. Failed to send, abort. msgid ": Send failed.\n" msgstr ": Îòïðàâêà íå óäàëàñü.\n" -#. Let vim start normally. msgid ": Send failed. Trying to execute locally\n" msgstr ": Îòïðàâêà íå óäàëàñü. Ïîïûòêà ìåñòíîãî âûïîëíåíèÿ\n" @@ -3340,7 +3339,6 @@ msgstr " msgid "E283: No marks matching \"%s\"" msgstr "E283: Íåò îòìåòîê, ñîâïàäàþùèõ ñ \"%s\"" -#. Highlight title msgid "" "\n" "mark line col file/text" @@ -3348,7 +3346,6 @@ msgstr "" "\n" "îòìåò ñòð êîë ôàéë/òåêñò" -#. Highlight title msgid "" "\n" " jump line col file/text" @@ -3356,7 +3353,6 @@ msgstr "" "\n" "ïðûæîê ñòð êîë ôàéë/òåêñò" -#. Highlight title msgid "" "\n" "change line col text" @@ -3371,7 +3367,6 @@ msgstr "" "\n" "# Ãëîáàëüíûå îòìåòêè:\n" -#. Write the jumplist with -' msgid "" "\n" "# Jumplist (newest first):\n" @@ -3444,7 +3439,6 @@ msgstr "E298: msgid "E843: Error while updating swap file crypt" msgstr "E843: Îøèáêà ïðè îáíîâëåíèè øèôðîâàíèÿ ñâîï-ôàéëà" -#. could not (re)open the swap file, what can we do???? msgid "E301: Oops, lost the swap file!!!" msgstr "E301: Îé, ïîòåðÿëñÿ ñâîï-ôàéë!!!" @@ -3629,7 +3623,6 @@ msgstr "" msgid "Using crypt key from swap file for the text file.\n" msgstr "Èñïîëüçîâàíèå êëþ÷à øèôðîâàíèÿ èç ñâîï-ôàéëà äëÿ òåêñòîâîãî ôàéëà.\n" -#. use msg() to start the scrolling properly msgid "Swap files found:" msgstr "Îáíàðóæåíû ñâîï-ôàéëû:" @@ -3800,23 +3793,17 @@ msgstr " msgid " NEWER than swap file!\n" msgstr " Áîëåå ÑÂÅÆÈÉ, ÷åì ñâîï-ôàéë!\n" -#. Some of these messages are long to allow translation to -#. * other languages. msgid "" "\n" "(1) Another program may be editing the same file. If this is the case,\n" " be careful not to end up with two different instances of the same\n" -" file when making changes." +" file when making changes. Quit, or continue with caution.\n" msgstr "" "\n" "(1) Âîçìîæíî, ðåäàêòèðîâàíèå ýòîãî æå ôàéëà âûïîëíÿåòñÿ â äðóãîé ïðîãðàììå.\n" " Åñëè ýòî òàê, òî áóäüòå âíèìàòåëüíû ïðè âíåñåíèè èçìåíåíèé, ÷òîáû\n" -" ó âàñ íå ïîÿâèëîñü äâà ðàçíûõ âàðèàíòà îäíîãî è òîãî æå ôàéëà." - -# Ñîîáùåíèå ðàçäåëåíî, " \n" äîáàâëåíî ò.ê. ñòðîêà íå ïîìåùàåòñÿ. -msgid " Quit, or continue with caution.\n" -msgstr "" -" Çàâåðøèòå ðàáîòó èëè ïðîäîëæàéòå ñ îñòîðîæíîñòüþ.\n" +" ó âàñ íå ïîÿâèëîñü äâà ðàçíûõ âàðèàíòà îäíîãî è òîãî æå ôàéëà.\n" +" Âûéäèòå èëè ïðîäîëæàéòå ñ îñòîðîæíîñòüþ.\n" msgid "(2) An edit session for this file crashed.\n" msgstr "(2) Ñåàíñ ðåäàêòèðîâàíèÿ ýòîãî ôàéëà çàâåðø¸í àâàðèéíî.\n" @@ -3894,7 +3881,6 @@ msgstr "E328: msgid "E329: No menu \"%s\"" msgstr "E329: Íåò ìåíþ %s" -#. Only a mnemonic or accelerator is not valid. msgid "E792: Empty menu name" msgstr "E792: Ïóñòîå èìÿ ìåíþ" @@ -3907,8 +3893,6 @@ msgstr "E331: msgid "E332: Separator cannot be part of a menu path" msgstr "E332: Ðàçäåëèòåëè íå ìîãóò áûòü êîìïîíåíòîì ïóòè ê ìåíþ" -#. Now we have found the matching menu, and we list the mappings -#. Highlight title msgid "" "\n" "--- Menus ---" @@ -3919,6 +3903,10 @@ msgstr "" msgid "Tear off this menu" msgstr "Îòîðâàòü ýòî ìåíþ" +#, c-format +msgid "E335: Menu not defined for %s mode" +msgstr "E335: Ìåíþ íå îïðåäåëåíî äëÿ ðåæèìà %s" + msgid "E333: Menu path must lead to a menu item" msgstr "E333: Ïóòü ê ìåíþ äîëæåí âåñòè ê ýëåìåíòó ìåíþ" @@ -3926,10 +3914,6 @@ msgstr "E333: msgid "E334: Menu not found: %s" msgstr "E334: Ìåíþ íå íàéäåíî: %s" -#, c-format -msgid "E335: Menu not defined for %s mode" -msgstr "E335: Ìåíþ íå îïðåäåëåíî äëÿ ðåæèìà %s" - msgid "E336: Menu path must lead to a sub-menu" msgstr "E336: Ïóòü ê ìåíþ äîëæåí âåñòè ê ïîäìåíþ" @@ -4001,7 +3985,6 @@ msgstr " msgid "Open File dialog" msgstr "Îòêðûòèå ôàéëà" -#. TODO: non-GUI file selector here msgid "E338: Sorry, no file browser in console mode" msgstr "" "E338: Èçâèíèòå, íî â êîíñîëüíîì ðåæèìå íåò ïðîâîäíèêà ïî ôàéëîâîé ñèñòåìå" @@ -4120,20 +4103,11 @@ msgstr "E346: msgid "E347: No more file \"%s\" found in path" msgstr "E347:  èçâåñòíûõ êàòàëîãàõ áîëüøå íåò ôàéëîâ \"%s\"" -msgid "Cannot connect to Netbeans #2" -msgstr "Íåâîçìîæíî ñîåäèíèòüñÿ ñ NetBeans #2" - -msgid "Cannot connect to Netbeans" -msgstr "Íåâîçìîæíî ñîåäèíèòüñÿ ñ NetBeans" - #, c-format msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" msgstr "" "E668: Íåïðàâèëüíûé ðåæèì äîñòóïà ê èíôîðìàöèè î ñîåäèíåíèè ñ NetBeans: \"%s\"" -msgid "read from Netbeans socket" -msgstr "÷òåíèå èç ãíåçäà NetBeans" - #, c-format msgid "E658: NetBeans connection lost for buffer %ld" msgstr "E658: Ïîòåðÿíî ñîåäèíåíèå ñ NetBeans äëÿ áóôåðà %ld" @@ -4155,7 +4129,7 @@ msgid "E774: 'operatorfunc' is empty" msgstr "E774: Çíà÷åíèåì îïöèè 'operatorfunc' ÿâëÿåòñÿ ïóñòàÿ ñòðîêà" msgid "E775: Eval feature not available" -msgstr "E775: eval íå äîñòóïíà" +msgstr "E775: eval íåäîñòóïíà" msgid "Warning: terminal cannot highlight" msgstr "Ïðåäóïðåæäåíèå: òåðìèíàë íå ìîæåò âûïîëíÿòü ïîäñâåòêó" @@ -4176,8 +4150,9 @@ msgstr "E662: msgid "E663: At end of changelist" msgstr "E663:  êîíöå ñïèñêà èçìåíåíèé" -msgid "Type :quit to exit Vim" -msgstr "Ââåäèòå :quit äëÿ âûõîäà èç Vim" +msgid "Type :qa! and press to abandon all changes and exit Vim" +msgstr "" +"Ââåäèòå :qa! è íàæìèòå äëÿ îòìåíû âñåõ èçìåíåíèé è âûõîäà èç Vim" #, c-format msgid "1 line %sed 1 time" @@ -4209,7 +4184,6 @@ msgstr " msgid "E748: No previously used register" msgstr "E748: Íåò ïðåäûäóùåãî èñïîëüçîâàííîãî ðåãèñòðà" -#. must display the prompt msgid "cannot yank; delete anyway" msgstr "ñêîïèðîâàòü íå óäàëîñü, óäàëåíèå âûïîëíåíî" @@ -4224,25 +4198,30 @@ msgstr " msgid "freeing %ld lines" msgstr "î÷èùåíî ñòðîê: %ld" -msgid "block of 1 line yanked" -msgstr "ñêîïèðîâàí áëîê èç îäíîé ñòðîêè" - -msgid "1 line yanked" -msgstr "ñêîïèðîâàíà îäíà ñòðîêà" +#, c-format +msgid " into \"%c" +msgstr " â \"%c" #, c-format -msgid "block of %ld lines yanked" -msgstr "ñêîïèðîâàí áëîê èç ñòðîê: %ld" +msgid "block of 1 line yanked%s" +msgstr "ñêîïèðîâàí áëîê èç îäíîé ñòðîêè%s" #, c-format -msgid "%ld lines yanked" -msgstr "ñêîïèðîâàíî ñòðîê: %ld" +msgid "1 line yanked%s" +msgstr "ñêîïèðîâàíà îäíà ñòðîêà%s" + +#, c-format +msgid "block of %ld lines yanked%s" +msgstr "ñêîïèðîâàí áëîê èç %ld ñòðîê%s" + +#, c-format +msgid "%ld lines yanked%s" +msgstr "ñêîïèðîâàíî %ld ñòðîê%s" #, c-format msgid "E353: Nothing in register %s" msgstr "E353:  ðåãèñòðå %s íè÷åãî íåò" -#. Highlight title msgid "" "\n" "--- Registers ---" @@ -4276,35 +4255,32 @@ msgid "%ld Cols; " msgstr "Êîëîíîê: %ld; " #, c-format -msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes" -msgstr "Âûäåëåíî %s%ld èç %ld ñòðîê; %ld èç %ld ñëîâ; %ld èç %ld áàéò" +msgid "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Bytes" +msgstr "Âûäåëåíî %s%ld èç %ld ñòðîê; %lld èç %lld ñëîâ; %lld èç %lld áàéò" #, c-format msgid "" -"Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld " -"Bytes" +"Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of " +"%lld Bytes" msgstr "" -"Âûäåëåíî %s%ld èç %ld ñòð.; %ld èç %ld ñëîâ; %ld èç %ld ñèìâ.; %ld èç %ld " -"áàéò" +"Âûäåëåíî %s%ld èç %ld ñòð.; %lld èç %lld ñëîâ; %lld èç %lld ñèìâ.; %lld èç " +"%lld áàéò" #, c-format -msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld" -msgstr "Êîë. %s èç %s; ñòð. %ld èç %ld; ñë. %ld èç %ld; áàéò %ld èç %ld" +msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld" +msgstr "Êîë. %s èç %s; ñòð. %ld èç %ld; ñë. %lld èç %lld; áàéò %lld èç %lld" #, c-format msgid "" -"Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of " -"%ld" +"Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte " +"%lld of %lld" msgstr "" -"Êîë. %s èç %s; ñòð. %ld èç %ld; ñë. %ld èç %ld; ñèìâ. %ld èç %ld; áàéò %ld " -"èç %ld" +"Êîë. %s èç %s; ñòð. %ld èç %ld; ñë. %lld èç %lld; ñèìâ. %lld èç %lld; áàéò " +"%lld èç %lld" #, c-format -msgid "(+%ld for BOM)" -msgstr "(+%ld ñ ó÷¸òîì BOM)" - -msgid "%<%f%h%m%=Page %N" -msgstr "%<%f%h%m%=Ñòð. %N" +msgid "(+%lld for BOM)" +msgstr "(+%lld ñ ó÷¸òîì BOM)" msgid "Thanks for flying Vim" msgstr "Áëàãîäàðèì çà èñïîëüçîâàíèå Vim" @@ -4331,6 +4307,10 @@ msgstr "E522: msgid "E539: Illegal character <%s>" msgstr "E539: Íåäîïóñòèìûé ñèìâîë <%s>" +#, c-format +msgid "For option %s" +msgstr "Äëÿ îïöèè %s" + msgid "E529: Cannot set 'term' to empty string" msgstr "E529: Çíà÷åíèå îïöèè 'term' íå ìîæåò áûòü ïóñòîé ñòðîêîé" @@ -4352,6 +4332,10 @@ msgstr "E835: msgid "E617: Cannot be changed in the GTK+ 2 GUI" msgstr "E617: Íå ìîæåò áûòü èçìåíåíî â ãðàôè÷åñêîì èíòåðôåéñå GTK+ 2" +#, c-format +msgid "E950: Cannot convert between %s and %s" +msgstr "E950: Íåâîçìîæíî ïðåîáðàçîâàòü %s è %s" + msgid "E524: Missing colon" msgstr "E524: Ïðîïóùåíî äâîåòî÷èå" @@ -4411,6 +4395,9 @@ msgstr "E541: msgid "E542: unbalanced groups" msgstr "E542: Íåñáàëàíñèðîâàííûå ãðóïïû" +msgid "E946: Cannot make a terminal with running job modifiable" +msgstr "E946: Íåâîçìîæíî ñäåëàòü òåðìèíàë èçìåí¸ííûì ñ çàïóùåííûì çàäàíèåì" + msgid "E590: A preview window already exists" msgstr "E590: Îêíî ïðåäïðîñìîòðà óæå åñòü" @@ -4418,6 +4405,9 @@ msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" msgstr "" "W17: Àðàáñêèé òðåáóåò èñïîëüçîâàíèÿ UTF-8, ââåäèòå ':set encoding=utf-8'" +msgid "E954: 24-bit colors are not supported on this environment" +msgstr "E954: 24 áèòíûé öâåò íå ïîääåðæèâàåòñÿ â ýòîì îêðóæåíèè" + #, c-format msgid "E593: Need at least %d lines" msgstr "E593: Íóæíî õîòÿ áû %d ñòðîê" @@ -4430,9 +4420,6 @@ msgstr "E594: msgid "E355: Unknown option: %s" msgstr "E355: Íåèçâåñòíàÿ îïöèÿ: %s" -#. There's another character after zeros or the string -#. * is empty. In both cases, we are trying to set a -#. * num option using a string. #, c-format msgid "E521: Number required: &%s = '%s'" msgstr "E521: Òðåáóåòñÿ óêàçàòü ÷èñëî: &%s = '%s'" @@ -4456,7 +4443,7 @@ msgid "" "--- Local option values ---" msgstr "" "\n" -"--- Ìåñòíûå çíà÷åíèÿ îïöèé ---" +"--- Ëîêàëüíûå çíà÷åíèÿ îïöèé ---" msgid "" "\n" @@ -4505,7 +4492,6 @@ msgstr " msgid "mch_get_shellsize: not a console??\n" msgstr "mch_get_shellsize: íå â êîíñîëè??\n" -#. if Vim opened a window: Executing a shell may cause crashes msgid "E360: Cannot execute shell with -f option" msgstr "E360: Íåâîçìîæíî âûïîëíèòü îáîëî÷êó ñ ïàðàìåòðîì -f" @@ -4527,9 +4513,6 @@ msgstr " msgid "Message" msgstr "Ñîîáùåíèå" -msgid "'columns' is not 80, cannot execute external commands" -msgstr "Çíà÷åíèå îïöèè 'columns' íå ðàâíî 80, âíåøíèå ïðîãðàììû íå âûïîëíÿþòñÿ" - msgid "E237: Printer selection failed" msgstr "E237: Íåóäà÷íîå çàâåðøåíèå âûáîðà ïðèíòåðà" @@ -4553,6 +4536,10 @@ msgstr " msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" msgstr "E244: Íåäîïóñòèìîå èìÿ êîäèðîâêè \"%s\" â èìåíè øðèôòà \"%s\"" +#, c-format +msgid "E244: Illegal quality name \"%s\" in font name \"%s\"" +msgstr "E244: Íåäîïóñòèìîå èìÿ ñâîéñòâà \"%s\" â èìåíè øðèôòà \"%s\"" + #, c-format msgid "E245: Illegal char '%c' in font name \"%s\"" msgstr "E245: Íåäîïóñòèìûé ñèìâîë '%c' â èìåíè øðèôòà \"%s\"" @@ -4588,25 +4575,13 @@ msgstr "" "\n" "Íåâîçìîæíî óñòàíîâèòü êîíòåêñò áåçîïàñíîñòè äëÿ " -msgid "Could not set security context " -msgstr "Íåâîçìîæíî óñòàíîâèòü êîíòåêñò áåçîïàñíîñòè " +#, c-format +msgid "Could not set security context %s for %s" +msgstr "Íåâîçìîæíî óñòàíîâèòü êîíòåêñò áåçîïàñíîñòè %s äëÿ äëÿ %s" -msgid " for " -msgstr " äëÿ " - -#. no enough size OR unexpected error -msgid "Could not get security context " -msgstr "Íåâîçìîæíî ïîëó÷èòü êîíòåêñò áåçîïàñíîñòè " - -msgid ". Removing it!\n" -msgstr ". Áóäåò óäàë¸í!\n" - -msgid "" -"\n" -"Cannot execute shell " -msgstr "" -"\n" -"Íåâîçìîæíî çàïóñòèòü îáîëî÷êó " +#, c-format +msgid "Could not get security context %s for %s. Removing it!" +msgstr "Íåâîçìîæíî ïîëó÷èòü êîíòåêñò áåçîïàñíîñòè %s äëÿ %s. Áóäåò óäàëåíî!" msgid "" "\n" @@ -4636,6 +4611,13 @@ msgstr "" "\n" "Íåâîçìîæíî âûïîëíèòü fork()\n" +msgid "" +"\n" +"Cannot execute shell " +msgstr "" +"\n" +"Íåâîçìîæíî çàïóñòèòü îáîëî÷êó " + msgid "" "\n" "Command terminated\n" @@ -4678,10 +4660,6 @@ msgstr " msgid "Could not fix up function pointers to the DLL!" msgstr "Íåâîçìîæíî èñïðàâèòü óêàçàòåëè ôóíêöèé äëÿ DLL!" -#, c-format -msgid "shell returned %d" -msgstr "çàâåðøåíèå ðàáîòû îáîëî÷êè ñ êîäîì %d" - #, c-format msgid "Vim: Caught %s event\n" msgstr "Vim: Ïåðåõâà÷åíî ñîáûòèå %s\n" @@ -4710,6 +4688,13 @@ msgstr "" msgid "Vim Warning" msgstr "Ïðåäóïðåæäåíèå Vim" +#, c-format +msgid "shell returned %d" +msgstr "çàâåðøåíèå ðàáîòû îáîëî÷êè ñ êîäîì %d" + +msgid "E926: Current location list was changed" +msgstr "E926: Èçìåí¸í ñïèñîê òåêóùèõ ðàñïîëîæåíèé" + #, c-format msgid "E372: Too many %%%c in format string" msgstr "E372:  ñòðîêå ôîðìàòà ñëèøêîì ìíîãî %%%c" @@ -4742,6 +4727,12 @@ msgstr "E379: msgid "E553: No more items" msgstr "E553: Áîëüøå íåò ýëåìåíòîâ" +msgid "E924: Current window was closed" +msgstr "E924: Òåêóùåå îêíî áûëî çàêðûòî" + +msgid "E925: Current quickfix was changed" +msgstr "E925: Èçìåí¸í ñïèñîê òåêóùèõ áûñòðûõ èñïðàâëåíèé" + #, c-format msgid "(%d of %d)%s%s: " msgstr "(%d èç %d)%s%s: " @@ -4749,19 +4740,18 @@ msgstr "(%d msgid " (line deleted)" msgstr " (ñòðîêà óäàëåíà)" +#, c-format +msgid "%serror list %d of %d; %d errors " +msgstr "%sñïèñîê îøèáîê %d èç %d; %d îøèáîê" + msgid "E380: At bottom of quickfix stack" msgstr "E380: Âíèçó ñòåêà áûñòðûõ èñïðàâëåíèé" msgid "E381: At top of quickfix stack" msgstr "E381: Íàâåðõó ñòåêà áûñòðûõ èñïðàâëåíèé" -#, c-format -msgid "error list %d of %d; %d errors" -msgstr "ñïèñîê îøèáîê %d èç %d; %d îøèáîê" - -msgid "E382: Cannot write, 'buftype' option is set" -msgstr "" -"E382: Çàïèñü íåâîçìîæíà, çíà÷åíèå îïöèè 'buftype' íå ÿâëÿåòñÿ ïóñòîé ñòðîêîé" +msgid "No entries" +msgstr "Íåò ýëåìåíòîâ" msgid "Error file" msgstr "Ôàéë îøèáîê" @@ -4787,6 +4777,12 @@ msgstr "E369: msgid "E769: Missing ] after %s[" msgstr "E769: Ïðîïóùåíà ] ïîñëå %s[" +msgid "E944: Reverse range in character class" +msgstr "E944: Îáðàòíûé äèàïàçîí â ñèìâîëüíîì êëàññå" + +msgid "E945: Range too large in character class" +msgstr "E945: Äèàïàçîí ñëèøêîì âåëèê â ñèìâîëüíîì êëàññå" + #, c-format msgid "E53: Unmatched %s%%(" msgstr "E53: Íåò ïàðû äëÿ %s%%(" @@ -4813,6 +4809,9 @@ msgstr "E69: msgid "E70: Empty %s%%[]" msgstr "E70: Ïóñòîå %s%%[]" +msgid "E65: Illegal back reference" +msgstr "E65: Íåäîïóñòèìàÿ îáðàòíàÿ ññûëêà" + msgid "E339: Pattern too long" msgstr "E339: Ñëèøêîì äëèííûé øàáëîí" @@ -4849,9 +4848,6 @@ msgstr "E63: msgid "E64: %s%c follows nothing" msgstr "E64: %s%c íè çà ÷åì íå ñëåäóåò" -msgid "E65: Illegal back reference" -msgstr "E65: Íåäîïóñòèìàÿ îáðàòíàÿ ññûëêà" - msgid "E68: Invalid character after \\z" msgstr "E68: Íåäîïóñòèìûé ñèìâîë ïîñëå \\z" @@ -4881,6 +4877,9 @@ msgstr "" "E864: ïîñëå \\%#= ìîæåò áûòü òîëüêî 0, 1 èëè 2. Áóäåò èñïîëüçîâàòüñÿ " "àâòîìàòè÷åñêàÿ ìàøèíà" +msgid "Switching to backtracking RE engine for pattern: " +msgstr "Âêëþ÷åíî îòñëåæèâàíèå äâèæêà ðåã. âûðàæåíèé äëÿ øàáëîíà: " + msgid "E865: (NFA) Regexp end encountered prematurely" msgstr "E865: (ÍÊÀ) íåîæèäàííûé êîíåö ðåãóëÿðíîãî âûðàæåíèÿ" @@ -4896,11 +4895,13 @@ msgstr "E877: ( msgid "E867: (NFA) Unknown operator '\\z%c'" msgstr "E867: (ÍÊÀ) íåèçâåñòíûé îïåðàòîð '\\z%c'" +msgid "E951: \\% value too large" +msgstr "E951: \\% çíà÷åíèå ñëèøêîì áîëüøîå" + #, c-format msgid "E867: (NFA) Unknown operator '\\%%%c'" msgstr "E867: (ÍÊÀ) íåèçâåñòíûé îïåðàòîð '\\%%%c'" -#. should never happen msgid "E868: Error building NFA with equivalence class!" msgstr "E868: îøèáêà ïðè ñîçäàíèè ÍÊÀ ñ êëàññîì ýêâèâàëåíòíîñòè!" @@ -4911,11 +4912,9 @@ msgstr "E869: ( msgid "E870: (NFA regexp) Error reading repetition limits" msgstr "E870: (ðåã. âûðàæåíèå ÍÊÀ) îøèáêà ïðè ÷òåíèè ãðàíèö ïîâòîðåíèÿ" -#. Can't have a multi follow a multi. msgid "E871: (NFA regexp) Can't have a multi follow a multi !" msgstr "E871: (ðåã. âûðàæåíèå ÍÊÀ) ìíîæåñòâî íå ìîæåò ñëåäîâàòü çà ìíîæåñòâîì!" -#. Too many `(' msgid "E872: (NFA regexp) Too many '('" msgstr "E872: (ðåã. âûðàæåíèå ÍÊÀ) ñëèøêîì ìíîãî '('" @@ -4980,9 +4979,6 @@ msgstr " msgid " Arabic" msgstr " Àðàáñêèé" -msgid " (lang)" -msgstr " (ÿçûê)" - msgid " (paste)" msgstr " (âêëåéêà)" @@ -5025,7 +5021,6 @@ msgstr "E386: msgid " (includes previously listed match)" msgstr " (âêëþ÷àåò ðàííåå ïîêàçàííûå ñîîòâåòñòâèÿ)" -#. cursor at status line msgid "--- Included files " msgstr "--- Âêëþ÷¸ííûå ôàéëû " @@ -5077,8 +5072,49 @@ msgstr "" "# Ïîñëåäíèé %sØàáëîí ïîèñêà:\n" "~" -msgid "E759: Format error in spell file" -msgstr "E759: Îøèáêà ôîðìàòà â ôàéëå ïðàâîïèñàíèÿ" +msgid "E756: Spell checking is not enabled" +msgstr "E756: Ïðîâåðêà ïðàâîïèñàíèÿ âûêëþ÷åíà" + +#, c-format +msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" +msgstr "" +"Ïðåäóïðåæäåíèå: Íåâîçìîæíî íàéòè ñïèñîê ñëîâ \"%s_%s.spl\" èëè \"%s_ascii.spl" +"\"" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "" +"Ïðåäóïðåæäåíèå: Íåâîçìîæíî íàéòè ñïèñîê ñëîâ \"%s.%s.spl\" èëè \"%s.ascii.spl" +"\"" + +msgid "E797: SpellFileMissing autocommand deleted buffer" +msgstr "E797: Áóôåð óäàë¸í ïðè âûïîëíåíèè àâòîêîìàíäû SpellFileMissing" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "Ïðåäóïðåæäåíèå: ðåãèîí %s íå ïîääåðæèâàåòñÿ" + +msgid "Sorry, no suggestions" +msgstr "Èçâèíèòå, íåò ïðåäïîëîæåíèé" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "Èçâèíèòå, òîëüêî %ld ïðåäïîëîæåíèé" + +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "Çàìåíèòü \"%.*s\" íà:" + +#, c-format +msgid " < \"%.*s\"" +msgstr " < \"%.*s\"" + +msgid "E752: No previous spell replacement" +msgstr "E752: Íåò ïðåäûäóùåé çàìåíû ïðàâîïèñàíèÿ" + +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: Íå íàéäåíî: %s" msgid "E758: Truncated spell file" msgstr "E758: Ôàéë ïðàâîïèñàíèÿ îáðåçàí" @@ -5100,21 +5136,6 @@ msgstr "E762: msgid "Compressing word tree..." msgstr "Ñæàòèå äåðåâà ñëîâ..." -msgid "E756: Spell checking is not enabled" -msgstr "E756: Ïðîâåðêà ïðàâîïèñàíèÿ âûêëþ÷åíà" - -#, c-format -msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" -msgstr "" -"Ïðåäóïðåæäåíèå: Íåâîçìîæíî íàéòè ñïèñîê ñëîâ \"%s_%s.spl\" èëè \"%s_ascii.spl" -"\"" - -#, c-format -msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" -msgstr "" -"Ïðåäóïðåæäåíèå: Íåâîçìîæíî íàéòè ñïèñîê ñëîâ \"%s.%s.spl\" èëè \"%s.ascii.spl" -"\"" - #, c-format msgid "Reading spell file \"%s\"" msgstr "×òåíèå ôàéëà ïðàâîïèñàíèÿ \"%s\"" @@ -5132,8 +5153,24 @@ msgid "E770: Unsupported section in spell file" msgstr "E770: Íåïîääåðæèâàåìûé ðàçäåë â ôàéëå ïðàâîïèñàíèÿ" #, c-format -msgid "Warning: region %s not supported" -msgstr "Ïðåäóïðåæäåíèå: ðåãèîí %s íå ïîääåðæèâàåòñÿ" +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: Ýòî íå ïîõîæå íà ôàéë .sug: %s" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: Ñòàðûé ôàéë .sug, òðåáóåò îáíîâëåíèÿ: %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: Ôàéë .sug äëÿ áîëåå íîâîé âåðñèè Vim: %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: Ôàéë .sug íå ñîîòâåòñòâóåò ôàéëó .spl: %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: Îøèáêà ïðè ÷òåíèè ôàéëà .sug: %s" #, c-format msgid "Reading affix file %s ..." @@ -5281,8 +5318,8 @@ msgid "E760: No word count in %s" msgstr "E760: Êîëè÷åñòâî ñëîâ íå óêàçàíî â %s" #, c-format -msgid "line %6d, word %6d - %s" -msgstr "ñòðîêà %6d, ñëîâî %6d — %s" +msgid "line %6d, word %6ld - %s" +msgstr "ñòðîêà %6d, ñëîâî %6ld — %s" #, c-format msgid "Duplicate word in %s line %d: %s" @@ -5346,10 +5383,6 @@ msgstr " msgid "Reading back spell file..." msgstr "×òåíèå çàïèñàííîãî ôàéëà ïðàâîïèñàíèÿ..." -#. -#. * Go through the trie of good words, soundfold each word and add it to -#. * the soundfold trie. -#. msgid "Performing soundfolding..." msgstr "Âûïîëíåíèå çâóêîâîé ñâ¸ðòêè..." @@ -5372,8 +5405,9 @@ msgstr " msgid "E751: Output file name must not have region name" msgstr "E751: Èìÿ âûõîäíîãî ôàéëà íå äîëæíî ñîäåðæàòü íàçâàíèÿ ðåãèîíà" -msgid "E754: Only up to 8 regions supported" -msgstr "E754: Ïîääåðæèâàåòñÿ íå áîëåå 8-ìè ðåãèîíîâ" +#, c-format +msgid "E754: Only up to %ld regions supported" +msgstr "E754: Ïîääåðæèâàåòñÿ íå áîëåå %ld ðåãèîíîâ" #, c-format msgid "E755: Invalid region in %s" @@ -5404,62 +5438,40 @@ msgstr " msgid "E763: Word characters differ between spell files" msgstr "E763: Ñèìâîëû ñëîâ îòëè÷àþòñÿ â ôàéëàõ ïðàâîïèñàíèÿ" -msgid "Sorry, no suggestions" -msgstr "Èçâèíèòå, íåò ïðåäïîëîæåíèé" - -#, c-format -msgid "Sorry, only %ld suggestions" -msgstr "Èçâèíèòå, òîëüêî %ld ïðåäïîëîæåíèé" - -#. for when 'cmdheight' > 1 -#. avoid more prompt -#, c-format -msgid "Change \"%.*s\" to:" -msgstr "Çàìåíèòü \"%.*s\" íà:" - -#, c-format -msgid " < \"%.*s\"" -msgstr " < \"%.*s\"" - -msgid "E752: No previous spell replacement" -msgstr "E752: Íåò ïðåäûäóùåé çàìåíû ïðàâîïèñàíèÿ" - -#, c-format -msgid "E753: Not found: %s" -msgstr "E753: Íå íàéäåíî: %s" - -#, c-format -msgid "E778: This does not look like a .sug file: %s" -msgstr "E778: Ýòî íå ïîõîæå íà ôàéë .sug: %s" - -#, c-format -msgid "E779: Old .sug file, needs to be updated: %s" -msgstr "E779: Ñòàðûé ôàéë .sug, òðåáóåò îáíîâëåíèÿ: %s" - -#, c-format -msgid "E780: .sug file is for newer version of Vim: %s" -msgstr "E780: Ôàéë .sug äëÿ áîëåå íîâîé âåðñèè Vim: %s" - -#, c-format -msgid "E781: .sug file doesn't match .spl file: %s" -msgstr "E781: Ôàéë .sug íå ñîîòâåòñòâóåò ôàéëó .spl: %s" - -#, c-format -msgid "E782: error while reading .sug file: %s" -msgstr "E782: Îøèáêà ïðè ÷òåíèè ôàéëà .sug: %s" - -#. This should have been checked when generating the .spl -#. * file. msgid "E783: duplicate char in MAP entry" msgstr "E783: Ïîâòîðÿþùèéñÿ ñèìâîë â ýëåìåíòå MAP" msgid "No Syntax items defined for this buffer" msgstr "Ñèíòàêñè÷åñêèå ýëåìåíòû äëÿ äàííîãî áóôåðà íå îïðåäåëåíû" +msgid "syntax conceal on" +msgstr "ñèíòàêñè÷åñêîå ñêðûòèå âêëþ÷åíî" + +msgid "syntax conceal off" +msgstr "ñèíòàêñè÷åñêîå ñêðûòèå îòêëþ÷åíî" + #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: Íåäîïóñòèìûé ïàðàìåòð: %s" +msgid "syntax case ignore" +msgstr "ñèíòàêñè÷åñêîå èãíîðèðîâàíèå ðåãèñòðà" + +msgid "syntax case match" +msgstr "ñèíòàêñè÷åñêîå ñîîòâåòñòâèå ðåãèñòðà" + +msgid "syntax spell toplevel" +msgstr "ñèíòàêñè÷åñêàÿ ïðîâåðêà ïðàâîïèñàíèÿ âåðõíåãî óðîâíÿ" + +msgid "syntax spell notoplevel" +msgstr "ñèíòàêñè÷åñêàÿ ïðîâåðêà ïðàâîïèñàíèÿ áåç âåðõíåãî óðîâíÿ" + +msgid "syntax spell default" +msgstr "ñèíòàêñè÷åñêàÿ ïðîâåðêà ïðàâîïèñàíèÿ ïî óìîë÷àíèþ" + +msgid "syntax iskeyword " +msgstr "ñèíòàêñè÷åñêîå êëþ÷åâîå ñëîâî" + #, c-format msgid "E391: No such syntax cluster: %s" msgstr "E391: Ñèíòàêñè÷åñêèé êëàñòåð %s íå íàéäåí" @@ -5536,6 +5548,10 @@ msgstr "E847: msgid "E789: Missing ']': %s" msgstr "E789: Ïðîïóùåíî ']': %s" +#, c-format +msgid "E890: trailing char after ']': %s]%s" +msgstr "E890: Ëèøíèå ñèìâîëû ïîñëå ']': %s]%s" + #, c-format msgid "E398: Missing '=': %s" msgstr "E398: Ïðîïóùåíî '=': %s" @@ -5688,7 +5704,6 @@ msgstr "E428: msgid "File \"%s\" does not exist" msgstr "Ôàéë \"%s\" íå ñóùåñòâóåò" -#. Give an indication of the number of matching tags #, c-format msgid "tag %d of %d%s" msgstr "ìåòêà %d èç %d%s" @@ -5703,7 +5718,6 @@ msgstr " msgid "E429: File \"%s\" does not exist" msgstr "E429: Ôàéë \"%s\" íå ñóùåñòâóåò" -#. Highlight title msgid "" "\n" " # TO tag FROM line in file/text" @@ -5734,7 +5748,6 @@ msgstr " msgid "E432: Tags file not sorted: %s" msgstr "E432: Ôàéë ìåòîê íå îòñîðòèðîâàí: %s" -#. never opened any tags file msgid "E433: No tags file" msgstr "E433: Ôàéë ìåòîê íå îáíàðóæåí" @@ -5770,7 +5783,6 @@ msgstr "E436: msgid "E437: terminal capability \"cm\" required" msgstr "E437: Òðåáóåòñÿ ñïîñîáíîñòü òåðìèíàëà \"cm\"" -#. Highlight title msgid "" "\n" "--- Terminal keys ---" @@ -5778,6 +5790,35 @@ msgstr "" "\n" "--- Êíîïêè òåðìèíàëà ---" +msgid "Cannot open $VIMRUNTIME/rgb.txt" +msgstr "Íåâîçìîæíî îòêðûòü $VIMRUNTIME/rgb.txt" + +#, c-format +msgid "Kill job in \"%s\"?" +msgstr "Óáèòü çàäàíèå â \"%s\"?" + +msgid "Terminal" +msgstr "Òåðìèíàë" + +msgid "Terminal-finished" +msgstr "Òåðìèíàë-çàâåðøåíî" + +msgid "active" +msgstr "àêòèâíî" + +msgid "running" +msgstr "âûïîëíåíèå" + +msgid "finished" +msgstr "çàâåðøåíî" + +#, c-format +msgid "E953: File exists: %s" +msgstr "E953: Ôàéë ñóùåñòâóåò: %s" + +msgid "E955: Not a terminal buffer" +msgstr "E955: Íå ÿâëÿåòñÿ áóôåðîì òåðìèíàëà" + msgid "new shell started\n" msgstr "çàïóñê íîâîé îáîëî÷êè\n" @@ -5787,12 +5828,9 @@ msgstr "Vim: msgid "Used CUT_BUFFER0 instead of empty selection" msgstr "Âìåñòî ïóñòîãî âûäåëåíèÿ èñïîëüçóåòñÿ CUT_BUFFER0" -#. This happens when the FileChangedRO autocommand changes the -#. * file in a way it becomes shorter. msgid "E881: Line count changed unexpectedly" msgstr "E881: Íåîæèäàííî èçìåíèëñÿ ñ÷¸ò÷èê ñòðîê" -#. must display the prompt msgid "No undo possible; continue anyway" msgstr "Îòìåíà íåâîçìîæíà; ïðîäîëæàòü âûïîëíåíèå" @@ -5915,7 +5953,7 @@ msgstr " #, c-format msgid "%ld seconds ago" -msgstr "%ld ñ íàçàä" +msgstr "%ldñ íàçàä" msgid "E790: undojoin is not allowed after undo" msgstr "E790: Îáúåäèíåíèå îòìåí íå äîïóñêàåòñÿ ïîñëå îòìåíû" @@ -5926,13 +5964,133 @@ msgstr "E439: msgid "E440: undo line missing" msgstr "E440: Ïîòåðÿíà ñòðîêà îòìåíû" -#. Only MS VC 4.1 and earlier can do Win32s -msgid "" -"\n" -"MS-Windows 16/32-bit GUI version" -msgstr "" -"\n" -"Âåðñèÿ ñ ãðàôè÷åñêèì èíòåðôåéñîì äëÿ MS-Windows 16/32 áèò" +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: Ôóíêöèÿ %s óæå ñóùåñòâóåò. Äîáàâüòå !, ÷òîáû çàìåíèòü å¸." + +msgid "E717: Dictionary entry already exists" +msgstr "E717: Çàïèñü óæå ñóùåñòâóåò â ñëîâàðå" + +msgid "E718: Funcref required" +msgstr "E718: Òðåáóåòñÿ ññûëêà íà ôóíêöèþ" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: Íåèçâåñòíàÿ ôóíêöèÿ: %s" + +#, c-format +msgid "E125: Illegal argument: %s" +msgstr "E125: Íåäîïóñòèìûé ïàðàìåòð: %s" + +#, c-format +msgid "E853: Duplicate argument name: %s" +msgstr "E853: Ïîâòîðÿþùååñÿ èìÿ ïàðàìåòðà: %s" + +#, c-format +msgid "E740: Too many arguments for function %s" +msgstr "E740: Ñëèøêîì ìíîãî ïàðàìåòðîâ äëÿ ôóíêöèè %s" + +#, c-format +msgid "E116: Invalid arguments for function %s" +msgstr "E116: Ïàðàìåòðû äëÿ ôóíêöèè %s çàäàíû íåâåðíî" + +msgid "E132: Function call depth is higher than 'maxfuncdepth'" +msgstr "E132: Ãëóáèíà âûçîâà ôóíêöèè áîëüøå, ÷åì çíà÷åíèå 'maxfuncdepth'" + +#, c-format +msgid "calling %s" +msgstr "âûçîâ %s" + +#, c-format +msgid "%s aborted" +msgstr "%s ïðåðâàíà" + +#, c-format +msgid "%s returning #%ld" +msgstr "%s âîçâðàùàåò #%ld" + +#, c-format +msgid "%s returning %s" +msgstr "%s âîçâðàùàåò %s" + +msgid "E699: Too many arguments" +msgstr "E699: Ñëèøêîì ìíîãî ïàðàìåòðîâ" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: Íåèçâåñòíàÿ ôóíêöèÿ: %s" + +#, c-format +msgid "E933: Function was deleted: %s" +msgstr "E933: Ôóíêöèÿ óäàëåíà: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: Íåäîñòàòî÷íî ïàðàìåòðîâ äëÿ ôóíêöèè %s" + +#, c-format +msgid "E120: Using not in a script context: %s" +msgstr "E120: èñïîëüçóåòñÿ âíå ñöåíàðèÿ: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: Âûçîâ ôóíêöèè dict áåç ñëîâàðÿ: %s" + +msgid "E129: Function name required" +msgstr "E129: Òðåáóåòñÿ èìÿ ôóíêöèè" + +#, c-format +msgid "E128: Function name must start with a capital or \"s:\": %s" +msgstr "E128: Èìÿ ôóíêöèè äîëæíî íà÷èíàòüñÿ ñ çàãëàâíîé áóêâû èëè \"s:\": %s" + +#, c-format +msgid "E884: Function name cannot contain a colon: %s" +msgstr "E884: Èìÿ ôóíêöèè íå ìîæåò ñîäåðæàòü äâîåòî÷èå: %s" + +#, c-format +msgid "E123: Undefined function: %s" +msgstr "E123: Íåîïðåäåë¸ííàÿ ôóíêöèÿ: %s" + +#, c-format +msgid "E124: Missing '(': %s" +msgstr "E124: Ïðîïóùåíà '(': %s" + +msgid "E862: Cannot use g: here" +msgstr "E862: Çäåñü íåâîçìîæíî èñïîëüçîâàòü g:" + +#, c-format +msgid "E932: Closure function should not be at top level: %s" +msgstr "E932: ôóíêöèÿ-çàìûêàíèå íå äîëæíà áûòü íà âåðõíåì óðîâíå: %s" + +msgid "E126: Missing :endfunction" +msgstr "E126: Ïðîïóùåíà êîìàíäà :endfunction" + +#, c-format +msgid "W22: Text found after :endfunction: %s" +msgstr "W22: Òåêñò ïîñëå :endfunction: %s" + +#, c-format +msgid "E707: Function name conflicts with variable: %s" +msgstr "E707: Èìÿ ôóíêöèè êîíôëèêòóåò ñ ïåðåìåííîé: %s" + +#, c-format +msgid "E127: Cannot redefine function %s: It is in use" +msgstr "E127: Íåâîçìîæíî ïåðåîïðåäåëèòü ôóíêöèþ %s, îíà èñïîëüçóåòñÿ" + +#, c-format +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: Èìÿ ôóíêöèè íå ñîîòâåòñòâóåò èìåíè ôàéëà ñöåíàðèÿ: %s" + +#, c-format +msgid "E131: Cannot delete function %s: It is in use" +msgstr "E131: Íåâîçìîæíî óäàëèòü ôóíêöèþ %s, îíà èñïîëüçóåòñÿ" + +msgid "E133: :return not inside a function" +msgstr "E133: êîìàíäà :return âíå ôóíêöèè" + +#, c-format +msgid "E107: Missing parentheses: %s" +msgstr "E107: Ïðîïóùåíû ñêîáêè: %s" msgid "" "\n" @@ -5948,9 +6106,6 @@ msgstr "" "\n" "Âåðñèÿ ñ ãðàôè÷åñêèì èíòåðôåéñîì äëÿ MS-Windows 32 áèò" -msgid " in Win32s mode" -msgstr " â ðåæèìå Win32" - msgid " with OLE support" msgstr " ñ ïîääåðæêîé OLE" @@ -5970,45 +6125,17 @@ msgstr "" msgid "" "\n" -"MS-Windows 16-bit version" +"macOS version" msgstr "" "\n" -"Âåðñèÿ äëÿ MS-Windows 16 áèò" +"Âåðñèÿ äëÿ macOS" msgid "" "\n" -"32-bit MS-DOS version" +"macOS version w/o darwin feat." msgstr "" "\n" -"Âåðñèÿ äëÿ MS-DOS 32 áèò" - -msgid "" -"\n" -"16-bit MS-DOS version" -msgstr "" -"\n" -"Âåðñèÿ äëÿ MS-DOS 16 áèò" - -msgid "" -"\n" -"MacOS X (unix) version" -msgstr "" -"\n" -"Âåðñèÿ äëÿ MacOS X (unix)" - -msgid "" -"\n" -"MacOS X version" -msgstr "" -"\n" -"Âåðñèÿ äëÿ MacOS X" - -msgid "" -"\n" -"MacOS version" -msgstr "" -"\n" -"Âåðñèÿ äëÿ MacOS" +"Âåðñèÿ äëÿ macOS áåç darwin" msgid "" "\n" @@ -6039,7 +6166,7 @@ msgid "" "Compiled " msgstr "" "\n" -"Ñêîìïèëèðîâàí " +"Ñêîìïèëèðîâàíî: " msgid "by " msgstr " " @@ -6077,11 +6204,14 @@ msgid "" "Tiny version " msgstr "" "\n" -"Âåðñèÿ \"Êðîõà\" " +"Êðîõîòíàÿ âåðñèÿ " msgid "without GUI." msgstr "áåç ãðàôè÷åñêîãî èíòåðôåéñà." +msgid "with GTK3 GUI." +msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì GTK3." + msgid "with GTK2-GNOME GUI." msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì GTK2-GNOME." @@ -6109,11 +6239,8 @@ msgstr " msgid "with Cocoa GUI." msgstr "ñ ãðàôè÷åñêèì èíòåðôåéñîì Cocoa." -msgid "with (classic) GUI." -msgstr "ñ êëàññè÷åñêèì ãðàôè÷åñêèì èíòåðôåéñîì." - msgid " Features included (+) or not (-):\n" -msgstr " Âêëþ÷¸ííûå (+) è îòêëþ÷¸ííûå (-) îñîáåííîñòè:\n" +msgstr " Âêëþ÷¸ííûå(+) è îòêëþ÷¸ííûå(-) îñîáåííîñòè:\n" msgid " system vimrc file: \"" msgstr " îáùåñèñòåìíûé ôàéë vimrc: \"" @@ -6145,6 +6272,9 @@ msgstr " msgid "3rd user gvimrc file: \"" msgstr " òðåòèé ïîëüçîâàòåëüñêèé ôàéë gvimrc: \"" +msgid " defaults file: \"" +msgstr " ôàéë óìîë÷àíèé: \"" + msgid " system menu file: \"" msgstr " îáùåñèñòåìíûé ôàéë ìåíþ: \"" @@ -6176,7 +6306,7 @@ msgid "by Bram Moolenaar et al." msgstr "Áðàì Ìîîëåíààð è äðóãèå" msgid "Vim is open source and freely distributable" -msgstr "Vim ýòî ñâîáîäíî ðàñïðîñòðàíÿåìàÿ ïðîãðàììà ñ îòêðûòûì êîäîì" +msgstr "Vim — ñâîáîäíî ðàñïðîñòðàíÿåìàÿ ïðîãðàììà ñ îòêðûòûì êîäîì" msgid "Help poor children in Uganda!" msgstr "Áåäíûì äåòÿì â Óãàíäå íóæíà âàøà ïîìîùü!" @@ -6191,7 +6321,7 @@ msgid "type :help or for on-line help" msgstr "íàáåðèòå :help èëè äëÿ ïîëó÷åíèÿ ñïðàâêè " msgid "type :help version8 for version info" -msgstr "íàáåðèòå :help version8 ÷òîáû óçíàòü îá ýòîé âåðñèè " +msgstr "íàáåðèòå :help version8 äëÿ èíôîðìàöèè î âåðñèè " msgid "Running in Vi compatible mode" msgstr "Ðàáîòà â Vi-ñîâìåñòèìîì ðåæèìå" @@ -6235,12 +6365,6 @@ msgstr " msgid "menu Help->Sponsor/Register for information " msgstr "ìåíþ Ñïðàâêà->Ïîìîùü/Ðåãèñòðàöèÿ äëÿ ïîëó÷åíèÿ èíôîðìàöèè " -msgid "WARNING: Windows 95/98/ME detected" -msgstr "ÏÐÅÄÓÏÐÅÆÄÅÍÈÅ: îáíàðóæåíà Windows 95/98/ME" - -msgid "type :help windows95 for info on this" -msgstr "íàáåðèòå :help windows95 äëÿ ïîëó÷åíèÿ èíôîðìàöèè " - msgid "Already only one window" msgstr "Íà ýêðàíå âñåãî îäíî îêíî" @@ -6272,9 +6396,25 @@ msgstr "E446: msgid "E447: Can't find file \"%s\" in path" msgstr "E447: Ôàéë \"%s\" íå íàéäåí ïî èçâåñòíûì ïóòÿì" +#, c-format +msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E799: Íåâåðíûé ID: %ld (äîëæåí áûòü áîëüøå èëè ðàâåí 1)" + +#, c-format +msgid "E801: ID already taken: %ld" +msgstr "E801: ID óæå çàíÿò: %ld" + msgid "List or number required" msgstr "Òðåáóåòñÿ ñïèñîê èëè ÷èñëî" +#, c-format +msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E802: Íåâåðíûé ID: %ld (äîëæåí áûòü áîëüøå èëè ðàâåí 1)" + +#, c-format +msgid "E803: ID not found: %ld" +msgstr "E803: ID íå íàéäåí: %ld" + #, c-format msgid "E370: Could not load library %s" msgstr "E370: Íåâîçìîæíî çàãðóçèòü áèáëèîòåêó %s" @@ -6299,7 +6439,6 @@ msgstr " msgid "Edit with &Vim" msgstr "Ðå&äàêòèðîâàòü ñ ïîìîùüþ Vim" -#. Now concatenate msgid "Edit with existing Vim - " msgstr "Ðåäàêòèðîâàòü â çàïóùåííîì Vim — " @@ -6318,10 +6457,6 @@ msgstr " msgid "--No lines in buffer--" msgstr "-- Íåò ñòðîê â áóôåðå --" -#. -#. * 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: Âûïîëíåíèå êîìàíäû ïðåðâàíî" @@ -6378,6 +6513,10 @@ msgstr "E236: msgid "E473: Internal error" msgstr "E473: Âíóòðåííÿÿ îøèáêà" +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: Âíóòðåííÿÿ îøèáêà: %s" + msgid "Interrupted" msgstr "Ïðåðâàíî" @@ -6391,6 +6530,14 @@ msgstr "E474: msgid "E475: Invalid argument: %s" msgstr "E475: Íåäîïóñòèìûé ïàðàìåòð: %s" +#, c-format +msgid "E475: Invalid value for argument %s" +msgstr "E475: Íåäîïóñòèìîå çíà÷åíèå ïàðàìåòðà: %s" + +#, c-format +msgid "E475: Invalid value for argument %s: %s" +msgstr "E475: Íåäîïóñòèìîå çíà÷åíèå ïàðàìåòðà %s: %s" + #, c-format msgid "E15: Invalid expression: %s" msgstr "E15: Íåäîïóñòèìîå âûðàæåíèå: %s" @@ -6409,6 +6556,9 @@ msgstr "E17: \"%s\" msgid "E364: Library call failed for \"%s()\"" msgstr "E364: Íåóäà÷íûé âûçîâ ôóíêöèè \"%s()\" èç áèáëèîòåêè" +msgid "E667: Fsync failed" +msgstr "E667: Íå óäàëîñü âûïîëíèòü ôóíêöèþ fsync()" + #, c-format msgid "E448: Could not load library function %s" msgstr "E448: Íå óäàëîñü çàãðóçèòü ôóíêöèþ %s èç áèáëèîòåêè" @@ -6505,12 +6655,6 @@ msgstr "E484: msgid "E485: Can't read file %s" msgstr "E485: Íåâîçìîæíî ïðî÷èòàòü ôàéë %s" -msgid "E37: No write since last change (add ! to override)" -msgstr "E37: Èçìåíåíèÿ íå ñîõðàíåíû (äîáàâüòå !, ÷òîáû îáîéòè ïðîâåðêó)" - -msgid "E37: No write since last change" -msgstr "E37: Èçìåíåíèÿ íå ñîõðàíåíû" - msgid "E38: Null argument" msgstr "E38: Íóëåâîé ïàðàìåòð" @@ -6563,6 +6707,31 @@ msgstr "E46: msgid "E794: Cannot set variable in the sandbox: \"%s\"" msgstr "E794: Íåâîçìîæíî èçìåíèòü ïåðåìåííóþ â ïåñî÷íèöå: \"%s\"" +msgid "E713: Cannot use empty key for Dictionary" +msgstr "E713: Íåâîçìîæíî èñïîëüçîâàòü ïóñòîé êëþ÷ äëÿ ñëîâàðÿ" + +msgid "E715: Dictionary required" +msgstr "E715: Òðåáóåòñÿ ñëîâàðü" + +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: Èíäåêñ ñïèñêà çà ïðåäåëàìè äèàïàçîíà: %ld" + +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: Ñëèøêîì ìíîãî ïàðàìåòðîâ äëÿ ôóíêöèè %s" + +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: Íåò êëþ÷à â ñëîâàðå: %s" + +msgid "E714: List required" +msgstr "E714: Òðåáóåòñÿ ñïèñîê" + +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: Ïàðàìåòð %s äîëæåí áûòü ñïèñêîì èëè ñëîâàð¸ì" + msgid "E47: Error while reading errorfile" msgstr "E47: Îøèáêà ïðè ÷òåíèè ôàéëà îøèáîê" @@ -6622,8 +6791,8 @@ msgstr "" msgid "E80: Error while writing" msgstr "E80: Îøèáêà ïðè çàïèñè" -msgid "Zero count" -msgstr "Íóëåâîå çíà÷åíèå ñ÷¸ò÷èêà" +msgid "E939: Positive count required" +msgstr "E939: Òðåáóåòñÿ ïîëîæèòåëüíûé ñ÷¸ò÷èê" msgid "E81: Using not in a script context" msgstr "E81: Èñïîëüçîâàíèå âíå êîíòåêñòà ñöåíàðèÿ" @@ -6637,16 +6806,16 @@ msgstr "E463: msgid "E744: NetBeans does not allow changes in read-only files" msgstr "E744: NetBeans íå äîïóñêàåò èçìåíåíèé â ôàéëàõ òîëüêî äëÿ ÷òåíèÿ" -#, c-format -msgid "E685: Internal error: %s" -msgstr "E685: Âíóòðåííÿÿ îøèáêà: %s" - msgid "E363: pattern uses more memory than 'maxmempattern'" msgstr "E363: Øàáëîí èñïîëüçóåò áîëüøå ïàìÿòè ÷åì 'maxmempattern'" msgid "E749: empty buffer" msgstr "E749: Ïóñòîé áóôåð" +#, c-format +msgid "E86: Buffer %ld does not exist" +msgstr "E86: Áóôåð %ld íå ñóùåñòâóåò" + msgid "E682: Invalid search pattern or delimiter" msgstr "E682: Íåïðàâèëüíàÿ ñòðîêà ïîèñêà èëè ðàçäåëèòåëü" @@ -6660,6 +6829,13 @@ msgstr "E764: msgid "E850: Invalid register name" msgstr "E850: Íåäîïóñòèìîå èìÿ ðåãèñòðà" +#, c-format +msgid "E919: Directory not found in '%s': \"%s\"" +msgstr "E919: Êàòàëîã íå íàéäåí â '%s': \"%s\"" + +msgid "E952: Autocommand caused recursive behavior" +msgstr "E952: Àâòîêîìàíäà âûçâàëà ðåêóðñèâíîå ïîâåäåíèå" + msgid "search hit TOP, continuing at BOTTOM" msgstr "Ïîèñê áóäåò ïðîäîëæåí ñ ÊÎÍÖÀ äîêóìåíòà" @@ -6767,7 +6943,6 @@ msgstr " msgid "list index out of range" msgstr "Èíäåêñ ñïèñêà çà ïðåäåëàìè äèàïàçîíà" -#. No more suitable format specifications in python-2.3 #, c-format msgid "internal error: failed to get vim list item %d" msgstr "Âíóòðåííÿÿ îøèáêà: íå óäàëîñü ïîëó÷èòü ýëåìåíò VIM-ñïèñêà %d" @@ -6814,9 +6989,6 @@ msgstr " msgid "function %s does not exist" msgstr "Ôóíêöèÿ %s íå ñóùåñòâóåò" -msgid "function constructor does not accept keyword arguments" -msgstr "Êîíñòðóêòîð ôóíêöèè íå äîïóñêàåò êëþ÷åâûå ñëîâà êàê àðãóìåíòû" - #, c-format msgid "failed to run function %s" msgstr "Íåâîçìîæíî âûïîëíèòü ôóíêöèþ %s" @@ -6904,6 +7076,10 @@ msgstr "" msgid "unable to convert %s to vim dictionary" msgstr "Íåâîçìîæíî ïðåîáðàçîâàòü %s â ñëîâàðü VIM" +#, c-format +msgid "unable to convert %s to vim list" +msgstr "Íåâîçìîæíî ïðåîáðàçîâàòü %s â ñïèñîê VIM" + #, c-format msgid "unable to convert %s to vim structure" msgstr "Íåâîçìîæíî ïðåîáðàçîâàòü %s â ñòðóêòóðó VIM" @@ -6932,3 +7108,4 @@ msgstr "" "Îøèáêà ïðè óñòàíîâêå ïóòè: sys.path íå ÿâëÿåòñÿ ñïèñêîì\n" "Ñëåäóåò äîáàâèòü vim.VIM_SPECIAL_PATH â sys.path" + diff --git a/src/po/ru.po b/src/po/ru.po index 82b4c9e454..e9b2ac197c 100644 --- a/src/po/ru.po +++ b/src/po/ru.po @@ -3,20 +3,22 @@ # Об уÑловиÑÑ… иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‡Ð¸Ñ‚Ð°Ð¹Ñ‚Ðµ в редакторе Vim ":help uganda" # # vassily "vr" ragosin , 2004 -# Sergey Alyoshin , 2013-2014 +# Sergey Alyoshin , 2013-2014, 2016, 2018 # msgid "" msgstr "" "Project-Id-Version: vim_ru\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2014-10-10 11:52+0400\n" -"PO-Revision-Date: 2014-10-10 12:00+0400\n" +"POT-Creation-Date: 2018-04-28 21:50+0300\n" +"PO-Revision-Date: 2018-04-28 21:51+0300\n" "Last-Translator: Sergey Alyoshin \n" "Language-Team: \n" "Language: Russian\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" msgid "E831: bf_key_init() called with empty password" msgstr "E831: bf_key_init() вызван Ñ Ð¿ÑƒÑтым паролем" @@ -49,6 +51,12 @@ msgstr "E82: Ðевозможно выделить памÑть даже Ð´Ð»Ñ msgid "E83: Cannot allocate buffer, using other one..." msgstr "E83: Ðевозможно выделить памÑть Ð´Ð»Ñ Ð±ÑƒÑ„ÐµÑ€Ð°, иÑпользуем другой буфер..." +msgid "E931: Buffer cannot be registered" +msgstr "E931: Ðевозможно зарегиÑтрировать буфер" + +msgid "E937: Attempt to delete a buffer that is in use" +msgstr "E937: Попытка удалить иÑпользуемый буфер" + msgid "E515: No buffers were unloaded" msgstr "E515: Ðи один буфер не был выгружен из памÑти" @@ -85,14 +93,9 @@ msgstr "E90: Ðевозможно выгрузить из памÑти поÑл msgid "E84: No modified buffer found" msgstr "E84: Изменённых буферов не обнаружено" -#. back where we started, didn't find anything. msgid "E85: There is no listed buffer" msgstr "E85: Буферы в ÑпиÑке отÑутÑтвуют" -#, c-format -msgid "E86: Buffer %ld does not exist" -msgstr "E86: Буфер %ld не ÑущеÑтвует" - msgid "E87: Cannot go beyond last buffer" msgstr "E87: Это поÑледний буфер" @@ -104,6 +107,18 @@ msgid "E89: No write since last change for buffer %ld (add ! to override)" msgstr "" "E89: Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² буфере %ld не Ñохранены (добавьте !, чтобы обойти проверку)" +msgid "E948: Job still running (add ! to end the job)" +msgstr "E948: Задание ещё выполнÑетÑÑ (добавьте !, чтобы завершить)" + +msgid "E37: No write since last change (add ! to override)" +msgstr "E37: Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ Ñохранены (добавьте !, чтобы обойти проверку)" + +msgid "E948: Job still running" +msgstr "E948: Задание ещё выполнÑетÑÑ" + +msgid "E37: No write since last change" +msgstr "E37: Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ Ñохранены" + msgid "W14: Warning: List of file names overflow" msgstr "W14: Предупреждение: переполнение ÑпиÑка имён файлов" @@ -159,7 +174,6 @@ msgstr "Ñтр. %ld из %ld --%d%%-- кол. " msgid "[No Name]" msgstr "[Ðет имени]" -#. must be a help buffer msgid "help" msgstr "Ñправка" @@ -185,6 +199,10 @@ msgstr "" "\n" "# СпиÑок буферов:\n" +msgid "E382: Cannot write, 'buftype' option is set" +msgstr "" +"E382: ЗапиÑÑŒ невозможна, значение опции 'buftype' не ÑвлÑетÑÑ Ð¿ÑƒÑтой Ñтрокой" + msgid "[Scratch]" msgstr "[Временный]" @@ -203,9 +221,64 @@ msgstr "Значки Ð´Ð»Ñ %s:" msgid " line=%ld id=%d name=%s" msgstr " Ñтрока=%ld id=%d имÑ=%s" +msgid "E902: Cannot connect to port" +msgstr "E902: Ðевозможно ÑоединитьÑÑ Ñ Ð¿Ð¾Ñ€Ñ‚Ð¾Ð¼" + +msgid "E901: gethostbyname() in channel_open()" +msgstr "E901: gethostbyname() в channel_open()" + +msgid "E898: socket() in channel_open()" +msgstr "E898: socket() в channel_open()" + +msgid "E903: received command with non-string argument" +msgstr "E903: Получена команда Ñ Ð½Ðµ Ñтроковым параметром" + +msgid "E904: last argument for expr/call must be a number" +msgstr "E904: ПоÑледний параметр Ð´Ð»Ñ Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ вызова должен быть чиÑлом" + +msgid "E904: third argument for call must be a list" +msgstr "E904: Третий параметр Ð´Ð»Ñ Ð²Ñ‹Ð·Ð¾Ð²Ð° должен быть ÑпиÑком" + +#, c-format +msgid "E905: received unknown command: %s" +msgstr "E905: Получена неизвеÑÑ‚Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° %s" + +#, c-format +msgid "E630: %s(): write while not connected" +msgstr "E630: %s(): запиÑÑŒ без ÑоединениÑ" + +#, c-format +msgid "E631: %s(): write failed" +msgstr "E631: Ошибка запиÑи в %s()" + +#, c-format +msgid "E917: Cannot use a callback with %s()" +msgstr "E917: Ðевозможно иÑпользовать обратный вызов Ñ %s()" + +msgid "E912: cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel" +msgstr "" +"E912: Ðевозможно иÑпользовать ch_evalexpr() или ch_sendexpr() Ñ ÐºÐ°Ð½Ð°Ð»Ð¾Ð¼ nl " +"или raw" + +msgid "E906: not an open channel" +msgstr "E906: Ðе открытый канал" + +msgid "E920: _io file requires _name to be set" +msgstr "E920: Файл _io требует уÑтановленного _name" + +msgid "E915: in_io buffer requires in_buf or in_name to be set" +msgstr "E915: буфер in_io требует уÑтановленного in_buf или in_name" + +#, c-format +msgid "E918: buffer must be loaded: %s" +msgstr "E918: Буфер должен быть загружен: %s" + msgid "E821: File is encrypted with unknown method" msgstr "E821: Файл зашифрован неизвеÑтным методом" +msgid "Warning: Using a weak encryption method; see :help 'cm'" +msgstr "Предупреждение: ИÑпользуетÑÑ Ñлабый метод шифрованиÑ, Ñм. :help 'cm'" + msgid "Enter encryption key: " msgstr "Введите пароль Ð´Ð»Ñ ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ: " @@ -219,7 +292,30 @@ msgid "[crypted]" msgstr "[зашифровано]" #, c-format -msgid "E96: Can not diff more than %ld buffers" +msgid "E720: Missing colon in Dictionary: %s" +msgstr "E720: Пропущено двоеточие в Ñловаре: %s" + +#, c-format +msgid "E721: Duplicate key in Dictionary: \"%s\"" +msgstr "E721: Повтор ключа в Ñловаре: \"%s\"" + +#, c-format +msgid "E722: Missing comma in Dictionary: %s" +msgstr "E722: Пропущена запÑÑ‚Ð°Ñ Ð² Ñловаре: %s" + +#, c-format +msgid "E723: Missing end of Dictionary '}': %s" +msgstr "E723: Пропущено окончание ÑÐ»Ð¾Ð²Ð°Ñ€Ñ '}': %s" + +msgid "extend() argument" +msgstr "параметра extend()" + +#, c-format +msgid "E737: Key already exists: %s" +msgstr "E737: Ключ уже ÑущеÑтвует: %s" + +#, c-format +msgid "E96: Cannot diff more than %ld buffers" msgstr "E96: Следить за отличиÑми можно не более чем в %ld буферах" msgid "E810: Cannot read or write temp files" @@ -275,7 +371,6 @@ msgstr "E791: пуÑÑ‚Ð°Ñ Ð·Ð°Ð¿Ð¸ÑÑŒ раÑкладки клавиатуры" msgid " Keyword completion (^N^P)" msgstr " Ðвтодополнение ключевого Ñлова (^N^P)" -#. ctrl_x_mode == 0, ^P/^N compl. msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" msgstr " Режим ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)" @@ -347,13 +442,12 @@ msgstr "ПроÑмотр: %s" msgid "Scanning tags." msgstr "ВыполнÑетÑÑ Ð¿Ð¾Ð¸Ñк Ñреди меток." +msgid "match in file" +msgstr "ÑоответÑтвие в файле" + msgid " Adding" msgstr " Добавление" -#. 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 "-- ПоиÑк..." @@ -377,10 +471,6 @@ msgstr "ÑоответÑтвие %d" msgid "E18: Unexpected characters in :let" msgstr "E18: Ðеожиданные Ñимволы в :let" -#, c-format -msgid "E684: list index out of range: %ld" -msgstr "E684: Ð˜Ð½Ð´ÐµÐºÑ ÑпиÑка за пределами диапазона: %ld" - #, c-format msgid "E121: Undefined variable: %s" msgstr "E121: ÐÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ: %s" @@ -388,41 +478,6 @@ msgstr "E121: ÐÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ: %s" msgid "E111: Missing ']'" msgstr "E111: Пропущена ']'" -#, c-format -msgid "E686: Argument of %s must be a List" -msgstr "E686: Параметр %s должен быть ÑпиÑком" - -#, c-format -msgid "E712: Argument of %s must be a List or Dictionary" -msgstr "E712: Параметр %s должен быть ÑпиÑком или Ñловарём" - -msgid "E713: Cannot use empty key for Dictionary" -msgstr "E713: Ðевозможно иÑпользовать пуÑтой ключ Ð´Ð»Ñ ÑловарÑ" - -msgid "E714: List required" -msgstr "E714: ТребуетÑÑ ÑпиÑок" - -msgid "E715: Dictionary required" -msgstr "E715: ТребуетÑÑ Ñловарь" - -#, c-format -msgid "E118: Too many arguments for function: %s" -msgstr "E118: Слишком много параметров Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %s" - -#, c-format -msgid "E716: Key not present in Dictionary: %s" -msgstr "E716: Ðет ключа в Ñловаре: %s" - -#, c-format -msgid "E122: Function %s already exists, add ! to replace it" -msgstr "E122: Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ %s уже ÑущеÑтвует. Добавьте !, чтобы заменить её." - -msgid "E717: Dictionary entry already exists" -msgstr "E717: ЗапиÑÑŒ уже ÑущеÑтвует в Ñловаре" - -msgid "E718: Funcref required" -msgstr "E718: ТребуетÑÑ ÑÑылка на функцию" - msgid "E719: Cannot use [:] with a Dictionary" msgstr "E719: Ðевозможно иÑпользовать [:] Ñо Ñловарём" @@ -430,10 +485,6 @@ msgstr "E719: Ðевозможно иÑпользовать [:] Ñо Ñлова msgid "E734: Wrong variable type for %s=" msgstr "E734: Ðеправильный тип переменной Ð´Ð»Ñ %s=" -#, c-format -msgid "E130: Unknown function: %s" -msgstr "E130: ÐеизвеÑÑ‚Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ: %s" - #, c-format msgid "E461: Illegal variable name: %s" msgstr "E461: ÐедопуÑтимое Ð¸Ð¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹: %s" @@ -472,38 +523,20 @@ msgstr "E711: СпиÑок-значение не Ñодержит доÑтато msgid "E690: Missing \"in\" after :for" msgstr "E690: Пропущено \"in\" поÑле :for" -#, c-format -msgid "E107: Missing parentheses: %s" -msgstr "E107: Пропущены Ñкобки: %s" - #, c-format msgid "E108: No such variable: \"%s\"" msgstr "E108: Ðет такой переменной: \"%s\"" +#, c-format +msgid "E940: Cannot lock or unlock variable %s" +msgstr "E940: Ðевозможно (раз)блокировать переменную %s" + msgid "E743: variable nested too deep for (un)lock" msgstr "E743: Слишком глубоко вложенные переменные Ð´Ð»Ñ (раз)блокировки" msgid "E109: Missing ':' after '?'" msgstr "E109: Пропущено ':' поÑле '?'" -msgid "E691: Can only compare List with List" -msgstr "E691: СпиÑок можно Ñравнивать только Ñо ÑпиÑком" - -msgid "E692: Invalid operation for List" -msgstr "E692: ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ ÑпиÑков" - -msgid "E735: Can only compare Dictionary with Dictionary" -msgstr "E735: Словарь можно Ñравнивать только Ñо Ñловарём" - -msgid "E736: Invalid operation for Dictionary" -msgstr "E736: ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ ÑловарÑ" - -msgid "E693: Can only compare Funcref with Funcref" -msgstr "E693: СÑылку на функцию можно Ñравнивать только Ñ ÑÑылкой на функцию" - -msgid "E694: Invalid operation for Funcrefs" -msgstr "E694: ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ ÑÑылки на функцию" - msgid "E804: Cannot use '%' with Float" msgstr "E804: Ðевозможно иÑпользовать '%' Ñ Ñ‡Ð¸Ñлом Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой" @@ -513,6 +546,9 @@ msgstr "E110: Пропущена ')'" msgid "E695: Cannot index a Funcref" msgstr "E695: Ðевозможно индекÑировать ÑÑылку на функцию" +msgid "E909: Cannot index a special variable" +msgstr "E909: Ðевозможно индекÑировать Ñпециальную переменную" + #, c-format msgid "E112: Option name missing: %s" msgstr "E112: Ðе указано Ð¸Ð¼Ñ Ð¾Ð¿Ñ†Ð¸Ð¸: %s" @@ -529,167 +565,12 @@ msgstr "E114: Пропущена кавычка: %s" msgid "E115: Missing quote: %s" msgstr "E115: Пропущена кавычка: %s" -#, c-format -msgid "E696: Missing comma in List: %s" -msgstr "E696: Пропущена запÑÑ‚Ð°Ñ Ð² ÑпиÑке: %s" - -#, c-format -msgid "E697: Missing end of List ']': %s" -msgstr "E697: Пропущено окончание ÑпиÑка ']': %s" - -#, c-format -msgid "E720: Missing colon in Dictionary: %s" -msgstr "E720: Пропущено двоеточие в Ñловаре: %s" - -#, c-format -msgid "E721: Duplicate key in Dictionary: \"%s\"" -msgstr "E721: Повтор ключа в Ñловаре: \"%s\"" - -#, c-format -msgid "E722: Missing comma in Dictionary: %s" -msgstr "E722: Пропущена запÑÑ‚Ð°Ñ Ð² Ñловаре: %s" - -#, c-format -msgid "E723: Missing end of Dictionary '}': %s" -msgstr "E723: Пропущено окончание ÑÐ»Ð¾Ð²Ð°Ñ€Ñ '}': %s" +msgid "Not enough memory to set references, garbage collection aborted!" +msgstr "ÐедоÑтаточно памÑти Ð´Ð»Ñ ÑƒÑтановки ÑÑылки, Ñборка муÑора прекращена!" msgid "E724: variable nested too deep for displaying" msgstr "E724: Слишком глубоко вложенные переменные Ð´Ð»Ñ Ð¾Ñ‚Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ" -#, c-format -msgid "E740: Too many arguments for function %s" -msgstr "E740: Слишком много параметров Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %s" - -#, c-format -msgid "E116: Invalid arguments for function %s" -msgstr "E116: Параметры Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %s заданы неверно" - -#, c-format -msgid "E117: Unknown function: %s" -msgstr "E117: ÐеизвеÑÑ‚Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ: %s" - -#, c-format -msgid "E119: Not enough arguments for function: %s" -msgstr "E119: ÐедоÑтаточно параметров Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %s" - -#, c-format -msgid "E120: Using not in a script context: %s" -msgstr "E120: иÑпользуетÑÑ Ð²Ð½Ðµ ÑценариÑ: %s" - -#, c-format -msgid "E725: Calling dict function without Dictionary: %s" -msgstr "E725: Вызов функции dict без ÑловарÑ: %s" - -msgid "E808: Number or Float required" -msgstr "E808: ТребуетÑÑ Ñ†ÐµÐ»Ð¾Ðµ чиÑло или Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой" - -msgid "add() argument" -msgstr "параметра add()" - -msgid "E699: Too many arguments" -msgstr "E699: Слишком много параметров" - -msgid "E785: complete() can only be used in Insert mode" -msgstr "E785: complete() может иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в режиме Ð’Ñтавки" - -#. -#. * 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" - -#, c-format -msgid "E737: Key already exists: %s" -msgstr "E737: Ключ уже ÑущеÑтвует: %s" - -msgid "extend() argument" -msgstr "параметра extend()" - -msgid "map() argument" -msgstr "параметра map()" - -msgid "filter() argument" -msgstr "параметра filter()" - -#, c-format -msgid "+-%s%3ld lines: " -msgstr "+-%s%3ld Ñтрок: " - -#, c-format -msgid "E700: Unknown function: %s" -msgstr "E700: ÐеизвеÑÑ‚Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ: %s" - -msgid "" -"&OK\n" -"&Cancel" -msgstr "" -"&OK\n" -"&C Отмена" - -msgid "called inputrestore() more often than inputsave()" -msgstr "Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ inputrestore() вызываетÑÑ Ñ‡Ð°Ñ‰Ðµ, чем Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ inputsave()" - -msgid "insert() argument" -msgstr "параметра insert()" - -msgid "E786: Range not allowed" -msgstr "E786: Диапазон не допуÑкаетÑÑ" - -msgid "E701: Invalid type for len()" -msgstr "E701: Ðеправильные тип Ð´Ð»Ñ len()" - -msgid "E726: Stride is zero" -msgstr "E726: Ðулевой шаг" - -msgid "E727: Start past end" -msgstr "E727: Ðачало поÑле конца" - -msgid "" -msgstr "<пуÑто>" - -msgid "E240: No connection to Vim server" -msgstr "E240: Ðет ÑвÑзи Ñ Ñервером Vim" - -#, c-format -msgid "E241: Unable to send to %s" -msgstr "E241: Ðе могу отправить Ñообщение Ð´Ð»Ñ %s" - -msgid "E277: Unable to read a server reply" -msgstr "E277: Сервер не отвечает" - -msgid "remove() argument" -msgstr "параметра remove()" - -msgid "E655: Too many symbolic links (cycle?)" -msgstr "E655: Слишком много ÑимволичеÑких ÑÑылок (цикл?)" - -msgid "reverse() argument" -msgstr "параметра reverse()" - -msgid "E258: Unable to send to client" -msgstr "E258: Ðе могу ответить клиенту" - -msgid "sort() argument" -msgstr "параметра sort()" - -msgid "uniq() argument" -msgstr "параметра uniq()" - -msgid "E702: Sort compare function failed" -msgstr "E702: Ðеудачное завершение функции ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ Ñортировке" - -msgid "E882: Uniq compare function failed" -msgstr "" -"E882: Ðеудачное завершение функции ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ проверке единÑтвенноÑти" - -msgid "(Invalid)" -msgstr "(Ðеправильно)" - -msgid "E677: Error writing temp file" -msgstr "E677: Ошибка запиÑи во временный файл" - msgid "E805: Using a Float as a Number" msgstr "E805: ИÑпользование чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой как целого" @@ -702,6 +583,33 @@ msgstr "E745: ИÑпользование ÑпиÑка как чиÑла" msgid "E728: Using a Dictionary as a Number" msgstr "E728: ИÑпользование ÑÐ»Ð¾Ð²Ð°Ñ€Ñ ÐºÐ°Ðº чиÑла" +msgid "E910: Using a Job as a Number" +msgstr "E910: ИÑпользование Ð·Ð°Ð´Ð°Ð½Ð¸Ñ ÐºÐ°Ðº чиÑла" + +msgid "E913: Using a Channel as a Number" +msgstr "E913: ИÑпользование канала как чиÑла" + +msgid "E891: Using a Funcref as a Float" +msgstr "E891: ИÑпользование ÑÑылки на функцию как чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой" + +msgid "E892: Using a String as a Float" +msgstr "E892: ИÑпользование Ñтроки как чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой" + +msgid "E893: Using a List as a Float" +msgstr "E893: ИÑпользование ÑпиÑка как чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой" + +msgid "E894: Using a Dictionary as a Float" +msgstr "E894: ИÑпользование ÑÐ»Ð¾Ð²Ð°Ñ€Ñ ÐºÐ°Ðº чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой" + +msgid "E907: Using a special value as a Float" +msgstr "E907: ИÑпользование Ñпециального Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ°Ðº чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой" + +msgid "E911: Using a Job as a Float" +msgstr "E911: ИÑпользование Ð·Ð°Ð´Ð°Ð½Ð¸Ñ ÐºÐ°Ðº чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой" + +msgid "E914: Using a Channel as a Float" +msgstr "E914: ИÑпользование канала как чиÑла Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой" + msgid "E729: using Funcref as a String" msgstr "E729: ИÑпользование ÑÑылки на функцию как Ñтроки" @@ -711,9 +619,8 @@ msgstr "E730: ИÑпользование ÑпиÑка как Ñтроки" msgid "E731: using Dictionary as a String" msgstr "E731: ИÑпользование ÑÐ»Ð¾Ð²Ð°Ñ€Ñ ÐºÐ°Ðº Ñтроки" -#, c-format -msgid "E706: Variable type mismatch for: %s" -msgstr "E706: ÐеÑоответÑтвие типа переменной длÑ: %s" +msgid "E908: using an invalid value as a String" +msgstr "E908: ИÑпользование неправильного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ ÐºÐ°Ðº Ñтроки" #, c-format msgid "E795: Cannot delete variable %s" @@ -743,81 +650,6 @@ msgstr "E742: Ðевозможно изменить значение %s" msgid "E698: variable nested too deep for making a copy" msgstr "E698: Слишком глубоко вложенные переменные Ð´Ð»Ñ ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ" -#, c-format -msgid "E123: Undefined function: %s" -msgstr "E123: ÐÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ: %s" - -#, c-format -msgid "E124: Missing '(': %s" -msgstr "E124: Пропущена '(': %s" - -msgid "E862: Cannot use g: here" -msgstr "E862: ЗдеÑÑŒ невозможно иÑпользовать g:" - -#, c-format -msgid "E125: Illegal argument: %s" -msgstr "E125: ÐедопуÑтимый параметр: %s" - -#, c-format -msgid "E853: Duplicate argument name: %s" -msgstr "E853: ПовторÑющееÑÑ Ð¸Ð¼Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°: %s" - -msgid "E126: Missing :endfunction" -msgstr "E126: Пропущена команда :endfunction" - -#, c-format -msgid "E707: Function name conflicts with variable: %s" -msgstr "E707: Ð˜Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ конфликтует Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹: %s" - -#, c-format -msgid "E127: Cannot redefine function %s: It is in use" -msgstr "E127: Ðевозможно переопределить функцию %s, она иÑпользуетÑÑ" - -#, c-format -msgid "E746: Function name does not match script file name: %s" -msgstr "E746: Ð˜Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ не ÑоответÑтвует имени файла ÑценариÑ: %s" - -msgid "E129: Function name required" -msgstr "E129: ТребуетÑÑ Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸" - -#, c-format -msgid "E128: Function name must start with a capital or \"s:\": %s" -msgstr "E128: Ð˜Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ должно начинатьÑÑ Ñ Ð·Ð°Ð³Ð»Ð°Ð²Ð½Ð¾Ð¹ буквы или \"s:\": %s" - -#, c-format -msgid "E884: Function name cannot contain a colon: %s" -msgstr "E884: Ð˜Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ не может Ñодержать двоеточие: %s" - -#, c-format -msgid "E131: Cannot delete function %s: It is in use" -msgstr "E131: Ðевозможно удалить функцию %s, она иÑпользуетÑÑ" - -msgid "E132: Function call depth is higher than 'maxfuncdepth'" -msgstr "E132: Глубина вызова функции больше, чем значение 'maxfuncdepth'" - -#, c-format -msgid "calling %s" -msgstr "вызов %s" - -#, c-format -msgid "%s aborted" -msgstr "%s прервана" - -#, c-format -msgid "%s returning #%ld" -msgstr "%s возвращает #%ld" - -#, c-format -msgid "%s returning %s" -msgstr "%s возвращает %s" - -#, c-format -msgid "continuing in %s" -msgstr "продолжение в %s" - -msgid "E133: :return not inside a function" -msgstr "E133: команда :return вне функции" - msgid "" "\n" "# global variables:\n" @@ -832,20 +664,179 @@ msgstr "" "\n" "\tÐ’ поÑледний раз Ð¾Ð¿Ñ†Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð° в " -msgid "No old files" -msgstr "Ðет Ñтарых файлов" +msgid "E691: Can only compare List with List" +msgstr "E691: СпиÑок можно Ñравнивать только Ñо ÑпиÑком" + +msgid "E692: Invalid operation for List" +msgstr "E692: ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ ÑпиÑков" + +msgid "E735: Can only compare Dictionary with Dictionary" +msgstr "E735: Словарь можно Ñравнивать только Ñо Ñловарём" + +msgid "E736: Invalid operation for Dictionary" +msgstr "E736: ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ ÑловарÑ" + +msgid "E694: Invalid operation for Funcrefs" +msgstr "E694: ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ ÑÑылки на функцию" + +msgid "map() argument" +msgstr "параметра map()" + +msgid "filter() argument" +msgstr "параметра filter()" + +#, c-format +msgid "E686: Argument of %s must be a List" +msgstr "E686: Параметр %s должен быть ÑпиÑком" + +msgid "E928: String required" +msgstr "E928: ТребуетÑÑ Ñтрока" + +msgid "E808: Number or Float required" +msgstr "E808: ТребуетÑÑ Ñ†ÐµÐ»Ð¾Ðµ чиÑло или Ñ Ð¿Ð»Ð°Ð²Ð°ÑŽÑ‰ÐµÐ¹ точкой" + +msgid "add() argument" +msgstr "параметра add()" + +msgid "E785: complete() can only be used in Insert mode" +msgstr "E785: complete() может иÑпользоватьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в режиме Ð’Ñтавки" + +msgid "&Ok" +msgstr "&Ok" + +#, c-format +msgid "+-%s%3ld line: " +msgid_plural "+-%s%3ld lines: " +msgstr[0] "+-%s%3ld Ñтрока: " +msgstr[1] "+-%s%3ld Ñтроки: " +msgstr[2] "+-%s%3ld Ñтрок: " + +#, c-format +msgid "E700: Unknown function: %s" +msgstr "E700: ÐеизвеÑÑ‚Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ: %s" + +msgid "E922: expected a dict" +msgstr "E922: ОжидалÑÑ Ñловарь" + +msgid "E923: Second argument of function() must be a list or a dict" +msgstr "E923: Второй параметр функции() должен быть ÑпиÑком или Ñловарём" + +msgid "" +"&OK\n" +"&Cancel" +msgstr "" +"&OK\n" +"&C Отмена" + +msgid "called inputrestore() more often than inputsave()" +msgstr "Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ inputrestore() вызываетÑÑ Ñ‡Ð°Ñ‰Ðµ, чем Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ inputsave()" + +msgid "insert() argument" +msgstr "параметра insert()" + +msgid "E786: Range not allowed" +msgstr "E786: Диапазон не допуÑкаетÑÑ" + +msgid "E916: not a valid job" +msgstr "E916: ÐедопуÑтимое задание" + +msgid "E701: Invalid type for len()" +msgstr "E701: Ðеправильные тип Ð´Ð»Ñ len()" + +#, c-format +msgid "E798: ID is reserved for \":match\": %ld" +msgstr "E798: ID зарезервирован Ð´Ð»Ñ \":match\": %ld" + +msgid "E726: Stride is zero" +msgstr "E726: Ðулевой шаг" + +msgid "E727: Start past end" +msgstr "E727: Ðачало поÑле конца" + +msgid "" +msgstr "<пуÑто>" + +msgid "E240: No connection to the X server" +msgstr "E240: Ðет ÑвÑзи Ñ X-Ñервером" + +#, c-format +msgid "E241: Unable to send to %s" +msgstr "E241: Ðе могу отправить Ñообщение Ð´Ð»Ñ %s" + +msgid "E277: Unable to read a server reply" +msgstr "E277: Сервер не отвечает" + +msgid "E941: already started a server" +msgstr "E941: Сервер уже запущен" + +msgid "E942: +clientserver feature not available" +msgstr "E942: ОÑобенноÑть +clientserver недоÑтупна" + +msgid "remove() argument" +msgstr "параметра remove()" + +msgid "E655: Too many symbolic links (cycle?)" +msgstr "E655: Слишком много ÑимволичеÑких ÑÑылок (цикл?)" + +msgid "reverse() argument" +msgstr "параметра reverse()" + +msgid "E258: Unable to send to client" +msgstr "E258: Ðе могу ответить клиенту" + +#, c-format +msgid "E927: Invalid action: '%s'" +msgstr "E927: Ðеправильное дейÑтвие: '%s'" + +msgid "sort() argument" +msgstr "параметра sort()" + +msgid "uniq() argument" +msgstr "параметра uniq()" + +msgid "E702: Sort compare function failed" +msgstr "E702: Ðеудачное завершение функции ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ Ñортировке" + +msgid "E882: Uniq compare function failed" +msgstr "" +"E882: Ðеудачное завершение функции ÑÑ€Ð°Ð²Ð½ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ проверке единÑтвенноÑти" + +msgid "(Invalid)" +msgstr "(Ðеправильно)" + +#, c-format +msgid "E935: invalid submatch number: %d" +msgstr "E935: ÐедопуÑтимый номер подÑоответÑтвиÑ: %d" + +msgid "E677: Error writing temp file" +msgstr "E677: Ошибка запиÑи во временный файл" + +msgid "E921: Invalid callback argument" +msgstr "E921: ÐедопуÑтимый параметр обратного вызова" + +#, c-format +msgid "<%s>%s%s %d, Hex %02x, Oct %03o, Digr %s" +msgstr "<%s>%s%s %d, Ð¨ÐµÑ %02x, Ð’Ð¾Ñ %03o, Дигр %s" #, c-format msgid "<%s>%s%s %d, Hex %02x, Octal %03o" -msgstr "<%s>%s%s %d, Hex %02x, Octal %03o" +msgstr "<%s>%s%s %d, Ð¨ÐµÑ %02x, Ð’Ð¾Ñ %03o" + +#, c-format +msgid "> %d, Hex %04x, Oct %o, Digr %s" +msgstr "> %d, Ð¨ÐµÑ %04x, Ð’Ð¾Ñ %o, Дигр %s" + +#, c-format +msgid "> %d, Hex %08x, Oct %o, Digr %s" +msgstr "> %d, Ð¨ÐµÑ %08x, Ð’Ð¾Ñ %o, Дигр %s" #, c-format msgid "> %d, Hex %04x, Octal %o" -msgstr "> %d, Hex %04x, Octal %o" +msgstr "> %d, Ð¨ÐµÑ %04x, Ð’Ð¾Ñ %o" #, c-format msgid "> %d, Hex %08x, Octal %o" -msgstr "> %d, Hex %08x, Octal %o" +msgstr "> %d, Ð¨ÐµÑ %08x, Ð’Ð¾Ñ %o" msgid "E134: Move lines into themselves" msgstr "E134: Строки перемещаютÑÑ Ñами на ÑебÑ" @@ -891,11 +882,14 @@ msgstr " Ñтарых файлов" msgid " FAILED" msgstr " ÐЕУДÐЧÐО" -#. avoid a wait_return for this message, it's annoying #, c-format msgid "E137: Viminfo file is not writable: %s" msgstr "E137: Права на запиÑÑŒ файла viminfo отÑутÑтвуют: %s" +#, c-format +msgid "E929: Too many viminfo temp files, like %s!" +msgstr "E929: Слишком много временных файлов viminfo, таких как %s" + #, c-format msgid "E138: Can't write viminfo file %s!" msgstr "E138: Ðевозможно запиÑать файл viminfo %s!" @@ -908,7 +902,6 @@ msgstr "ЗапиÑÑŒ файла viminfo \"%s\"" msgid "E886: Can't rename viminfo file to %s!" msgstr "E886: Ðевозможно переименовать файл viminfo в %s!" -#. Write the info: #, c-format msgid "# This viminfo file was generated by Vim %s.\n" msgstr "# Этот файл viminfo автоматичеÑки Ñоздан Vim %s.\n" @@ -926,6 +919,13 @@ msgstr "# Значение опции 'encoding' в момент запиÑи Ñ„ msgid "Illegal starting char" msgstr "ÐедопуÑтимый начальный Ñимвол" +msgid "" +"\n" +"# Bar lines, copied verbatim:\n" +msgstr "" +"\n" +"# Строк Ñ '|', точно Ñкопировано:\n" + msgid "Save As" msgstr "Сохранить как" @@ -1015,14 +1015,14 @@ msgid "%ld substitutions" msgstr "%ld замен" msgid " on 1 line" -msgstr " в одной Ñтроке" +msgstr " в 1 Ñтр." #, c-format msgid " on %ld lines" msgstr " в %ld Ñтр." -msgid "E147: Cannot do :global recursive" -msgstr "E147: Команда :global не может быть рекурÑивной" +msgid "E147: Cannot do :global recursive with a range" +msgstr "E147: Ðевозможно выполнить :global рекурÑивно Ñ Ð´Ð¸Ð°Ð¿Ð°Ð·Ð¾Ð½Ð¾Ð¼" msgid "E148: Regular expression missing from global" msgstr "E148: Ð’ команде :global пропущено регулÑрное выражение" @@ -1060,8 +1060,8 @@ msgid "Sorry, help file \"%s\" not found" msgstr "Извините, файл Ñправки \"%s\" не найден" #, c-format -msgid "E150: Not a directory: %s" -msgstr "E150: %s не ÑвлÑетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼" +msgid "E151: No match: %s" +msgstr "E151: Ðет ÑоответÑтвиÑ: %s" #, c-format msgid "E152: Cannot open %s for writing" @@ -1079,6 +1079,10 @@ msgstr "E670: Файлы Ñправки иÑпользуют разные код msgid "E154: Duplicate tag \"%s\" in file %s/%s" msgstr "E154: ПовторÑющаÑÑÑ Ð¼ÐµÑ‚ÐºÐ° \"%s\" в файле %s/%s" +#, c-format +msgid "E150: Not a directory: %s" +msgstr "E150: %s не ÑвлÑетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼" + #, c-format msgid "E160: Unknown sign command: %s" msgstr "E160: ÐеизвеÑÑ‚Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° значка %s" @@ -1104,6 +1108,9 @@ msgstr "E159: Пропущен номер значка" msgid "E158: Invalid buffer name: %s" msgstr "E158: Ðеправильное Ð¸Ð¼Ñ Ð±ÑƒÑ„ÐµÑ€Ð°: %s" +msgid "E934: Cannot jump to a buffer that does not have a name" +msgstr "E934: Ðевозможно перейти к буферу без имени" + #, c-format msgid "E157: Invalid sign ID: %ld" msgstr "E157: Ðеправильный ID значка: %ld" @@ -1121,9 +1128,20 @@ msgstr " (не поддерживаетÑÑ)" msgid "[Deleted]" msgstr "[Удалено]" +msgid "No old files" +msgstr "Ðет Ñтарых файлов" + msgid "Entering Debug mode. Type \"cont\" to continue." msgstr "Включён режим отладки. Ð”Ð»Ñ Ð¿Ñ€Ð¾Ð´Ð¾Ð»Ð¶ÐµÐ½Ð¸Ñ Ð½Ð°Ð±ÐµÑ€Ð¸Ñ‚Ðµ \"cont\"" +#, c-format +msgid "Oldval = \"%s\"" +msgstr "Преж.зн. = \"%s\"" + +#, c-format +msgid "Newval = \"%s\"" +msgstr "Ðов.зн. = \"%s\"" + #, c-format msgid "line %ld: %s" msgstr "Ñтрока %ld: %s" @@ -1132,6 +1150,13 @@ msgstr "Ñтрока %ld: %s" msgid "cmd: %s" msgstr "команда: %s" +msgid "frame is zero" +msgstr "нулевой фрейм" + +#, c-format +msgid "frame at highest level: %d" +msgstr "макÑимальный фрейм: %d" + #, c-format msgid "Breakpoint in \"%s%s\" line %ld" msgstr "Точка оÑтановки в \"%s%s\" Ñтр. %ld" @@ -1147,6 +1172,10 @@ msgstr "Точки оÑтановки не определены" msgid "%3d %s %s line %ld" msgstr "%3d %s %s Ñтр. %ld" +#, c-format +msgid "%3d expr %s" +msgstr "%3d выр. %s" + msgid "E750: First use \":profile start {fname}\"" msgstr "E750: Первое иÑпользование \":profile start {имÑ-файла}\"" @@ -1154,8 +1183,9 @@ msgstr "E750: Первое иÑпользование \":profile start {имÑ- msgid "Save changes to \"%s\"?" msgstr "Сохранить Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð² \"%s\"?" -msgid "Untitled" -msgstr "Без имени" +#, c-format +msgid "E947: Job still running in buffer \"%s\"" +msgstr "E947: Задание ещё выполнÑетÑÑ Ð² буфере \"%s\"" #, c-format msgid "E162: No write since last change for buffer \"%s\"" @@ -1187,8 +1217,18 @@ msgid "Searching for \"%s\"" msgstr "ПоиÑк \"%s\"" #, c-format -msgid "not found in 'runtimepath': \"%s\"" -msgstr "не найдено в 'runtimepath': \"%s\"" +msgid "not found in '%s': \"%s\"" +msgstr "не найдено в '%s': \"%s\"" + +#, c-format +msgid "W20: Required python version 2.x not supported, ignoring file: %s" +msgstr "" +"W20: Ðе поддерживаетÑÑ python требуемой верÑии 2.x, файл проигнорирован: %s" + +#, c-format +msgid "W21: Required python version 3.x not supported, ignoring file: %s" +msgstr "" +"W21: Ðе поддерживаетÑÑ python требуемой верÑии 3.x, файл проигнорирован: %s" msgid "Source Vim script" msgstr "Выполнить Ñценарий Vim" @@ -1217,6 +1257,10 @@ msgstr "Ñтрока %ld: Ñчитывание \"%s\"" msgid "finished sourcing %s" msgstr "Ñчитывание ÑÑ†ÐµÐ½Ð°Ñ€Ð¸Ñ %s завершено" +#, c-format +msgid "continuing in %s" +msgstr "продолжение в %s" + msgid "modeline" msgstr "Ñ€ÐµÐ¶Ð¸Ð¼Ð½Ð°Ñ Ñтрока" @@ -1284,12 +1328,12 @@ msgstr "Задан обратный диапазон, менÑем границ msgid "E494: Use w or w>>" msgstr "E494: ИÑпользуйте w или w>>" +msgid "E943: Command table needs to be updated, run 'make cmdidxs'" +msgstr "E943: Таблица команд должна быть обновлена, выполните 'make cmdidxs'" + msgid "E319: Sorry, the command is not available in this version" msgstr "E319: Извините, Ñта команда недоÑтупна в данной верÑии" -msgid "E172: Only one file name allowed" -msgstr "E172: Разрешено иÑпользовать только одно Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð°" - msgid "1 more file to edit. Quit anyway?" msgstr "1 файл ожидает редактированиÑ. Выйти?" @@ -1309,10 +1353,10 @@ msgstr "E174: Команда уже ÑущеÑтвует. Добавьте ! д msgid "" "\n" -" Name Args Range Complete Definition" +" Name Args Address Complete Definition" msgstr "" "\n" -" Ð˜Ð¼Ñ ÐŸÐ°Ñ€Ð°Ð¼. Диап. Дополн. Определение" +" Ð˜Ð¼Ñ ÐŸÐ°Ñ€Ð°Ð¼. Диап. Дополн. Определение" msgid "No user-defined commands found" msgstr "Команды, определённые пользователем, не обнаружены." @@ -1332,6 +1376,9 @@ msgstr "E178: Ðеправильное значение чиÑла-приÑта msgid "E179: argument required for -complete" msgstr "E179: Ð”Ð»Ñ -complete требуетÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ параметр" +msgid "E179: argument required for -addr" +msgstr "E179: Ð”Ð»Ñ -addr требуетÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ параметр" + #, c-format msgid "E181: Invalid attribute: %s" msgstr "E181: Ðеправильный атрибут: %s" @@ -1350,6 +1397,10 @@ msgstr "" msgid "E184: No such user-defined command: %s" msgstr "E184: Ðет такой команды пользователÑ: %s" +#, c-format +msgid "E180: Invalid address type value: %s" +msgstr "E180: Ðеправильное значение типа адреÑа: %s" + #, c-format msgid "E180: Invalid complete value: %s" msgstr "E180: Ðеправильное значение дополнениÑ: %s" @@ -1414,6 +1465,9 @@ msgstr "E188: Ð’ данной ÑиÑтеме определение положе msgid "E466: :winpos requires two number arguments" msgstr "E466: Команда :winpos требует ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð´Ð²ÑƒÑ… чиÑловых параметров" +msgid "E930: Cannot use :redir inside execute()" +msgstr "E930: Ðевозможно иÑпользовать :redir внутри execute()" + msgid "Save Redirection" msgstr "Перенаправление запиÑи" @@ -1438,7 +1492,6 @@ msgstr "E189: \"%s\" ÑущеÑтвует (добавьте !, чтобы обо msgid "E190: Cannot open \"%s\" for writing" msgstr "E190: Ðевозможно открыть Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи \"%s\"" -#. set mark msgid "E191: Argument must be a letter or forward/backward quote" msgstr "E191: Параметр должен быть прÑмой/обратной кавычкой или буквой" @@ -1476,6 +1529,9 @@ msgstr "E500: Результатом Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑвлÑетÑÑ Ð¿ÑƒÑ msgid "E195: Cannot open viminfo file for reading" msgstr "E195: Ðевозможно открыть файл viminfo Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ" +msgid "Untitled" +msgstr "Без имени" + msgid "E196: No digraphs in this version" msgstr "E196: Ð’ Ñтой верÑии диграфы не работают" @@ -1483,7 +1539,6 @@ msgid "E608: Cannot :throw exceptions with 'Vim' prefix" msgstr "" "E608: Ðевозможно выполнить команду :throw Ð´Ð»Ñ Ð¸Ñключений Ñ Ð¿Ñ€Ð¸Ñтавкой 'Vim'" -#. always scroll up, don't overwrite #, c-format msgid "Exception thrown: %s" msgstr "ИÑÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÑитуациÑ: %s" @@ -1500,7 +1555,6 @@ msgstr "ИÑÐºÐ»ÑŽÑ‡Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ ÑÐ¸Ñ‚ÑƒÐ°Ñ†Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð³Ð½Ð¾Ñ€Ð¸Ñ€Ð¾Ð²Ð° msgid "%s, line %ld" msgstr "%s, Ñтрока %ld" -#. always scroll up, don't overwrite #, c-format msgid "Exception caught: %s" msgstr "Обработка иÑключительной Ñитуации: %s" @@ -1526,7 +1580,6 @@ msgstr "Ошибка и прерывание" msgid "Error" msgstr "Ошибка" -#. if (pending & CSTP_INTERRUPT) msgid "Interrupt" msgstr "Прерывание" @@ -1569,15 +1622,12 @@ msgstr "E601: Слишком глубоко вложенный :try" msgid "E603: :catch without :try" msgstr "E603: :catch без :try" -#. Give up for a ":catch" after ":finally" and ignore it. -#. * Just parse. msgid "E604: :catch after :finally" msgstr "E604: :catch поÑле :finally" msgid "E606: :finally without :try" msgstr "E606: :finally без :try" -#. Give up for a multiple ":finally" and ignore it. msgid "E607: multiple :finally" msgstr "E607: Обнаружено неÑколько :finally" @@ -1622,6 +1672,9 @@ msgstr "Выражение" msgid "Input Line" msgstr "Строка ввода" +msgid "Debug Line" +msgstr "Строка отладки" + msgid "E198: cmd_pchar beyond the command length" msgstr "E198: cmd_pchar больше длины команды" @@ -1667,7 +1720,6 @@ msgstr "Vim: Чтение из Ñтандартного потока ввода msgid "Reading from stdin..." msgstr "Чтение из Ñтандартного потока ввода stdin..." -#. Re-opening the original file failed! msgid "E202: Conversion made file unreadable!" msgstr "E202: Ð’ результате Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ„Ð°Ð¹Ð» Ñтал нечитаемым!" @@ -1760,9 +1812,6 @@ msgid "E510: Can't make backup file (add ! to override)" msgstr "" "E510: Ðевозможно Ñоздать резервный файл (добавьте !, чтобы обойти проверку)" -msgid "E460: The resource fork would be lost (add ! to override)" -msgstr "E460: Ветвь реÑурÑа будет потерÑна (добавьте !, чтобы обойти проверку)" - msgid "E214: Can't find temp file for writing" msgstr "E214: Временный файл Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи не найден" @@ -1771,13 +1820,13 @@ msgstr "" "E213: Перекодировка невозможна (добавьте ! Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи без перекодировки)" msgid "E166: Can't open linked file for writing" -msgstr "E166: Ðевозможно открыть ÑвÑзанный файл Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи" +msgstr "E166: Ðевозможно открыть файл по ÑÑылке Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи" msgid "E212: Can't open file for writing" msgstr "E212: Ðевозможно открыть файл Ð´Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи" -msgid "E667: Fsync failed" -msgstr "E667: Ðе удалоÑÑŒ выполнить функцию fsync()" +msgid "E949: File changed while writing" +msgstr "E949: Файл был изменён поÑле запиÑи" msgid "E512: Close failed" msgstr "E512: ÐžÐ¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð·Ð°ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ð½Ðµ удалаÑÑŒ" @@ -1875,20 +1924,12 @@ msgstr "1 Ñимвол" msgid "%lld characters" msgstr "Ñимволов: %lld" -#. Explicit typecast avoids warning on Mac OS X 10.6 -#, c-format -msgid "%ld characters" -msgstr "Ñимволов: %ld" - msgid "[noeol]" msgstr "[noeol]" msgid "[Incomplete last line]" msgstr "[ÐÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ Ð¿Ð¾ÑледнÑÑ Ñтрока]" -#. 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 "ПРЕДУПРЕЖДЕÐИЕ: Файл изменён Ñ Ð¼Ð¾Ð¼ÐµÐ½Ñ‚Ð° чтениÑ!!!" @@ -1972,11 +2013,16 @@ msgstr "--Удалено--" msgid "auto-removing autocommand: %s " msgstr "авто-удаление автокоманды: %s <буффер=%d>" -#. the group doesn't exist #, c-format msgid "E367: No such group: \"%s\"" msgstr "E367: Группа \"%s\" не ÑущеÑтвует" +msgid "E936: Cannot delete the current group" +msgstr "E936: Ðевозможно удалить текущую группу" + +msgid "W19: Deleting augroup that is still in use" +msgstr "W19: Удаление ещё иÑпользуемой группы автокоманд" + #, c-format msgid "E215: Illegal character after *: %s" msgstr "E215: ÐедопуÑтимые Ñимволы поÑле *: %s" @@ -1989,7 +2035,6 @@ msgstr "E216: ÐеÑущеÑтвующее Ñобытие: %s" msgid "E216: No such group or event: %s" msgstr "E216: ÐеÑущеÑÑ‚Ð²ÑƒÑŽÑ‰Ð°Ñ Ð³Ñ€ÑƒÐ¿Ð¿Ð° или Ñобытие: %s" -#. Highlight title msgid "" "\n" "--- Auto-Commands ---" @@ -2040,8 +2085,11 @@ msgstr "" "E351: Складка не может быть удалена Ñ Ñ‚ÐµÐºÑƒÑ‰Ð¸Ð¼ значением опции 'foldmethod'" #, c-format -msgid "+--%3ld lines folded " -msgstr "+--%3ld Ñтрок в Ñкладке" +msgid "+--%3ld line folded " +msgid_plural "+--%3ld lines folded " +msgstr[0] "+--%3ld Ñтрока в Ñкладке " +msgstr[1] "+--%3ld Ñтроки в Ñкладке " +msgstr[2] "+--%3ld Ñтрок в Ñкладке " msgid "E222: Add to read buffer" msgstr "E222: Добавление в буфер чтениÑ" @@ -2137,6 +2185,18 @@ msgstr "" "E232: \"Пузырь\" Ð´Ð»Ñ Ð²Ñ‹Ñ‡Ð¸Ñлений, включающий и Ñообщение, и обратный вызов, " "не может быть Ñоздан" +msgid "_Cancel" +msgstr "О_тмена" + +msgid "_Save" +msgstr "Сохранить _как" + +msgid "_Open" +msgstr "_Открыть" + +msgid "_OK" +msgstr "_Да" + msgid "" "&Yes\n" "&No\n" @@ -2146,8 +2206,14 @@ msgstr "" "&Ðет\n" "О&тмена" +msgid "Yes" +msgstr "Да" + +msgid "No" +msgstr "Ðет" + msgid "Input _Methods" -msgstr "Методы Ввода" +msgstr "_Методы Ввода" msgid "VIM - Search and Replace..." msgstr "VIM — ПоиÑк и замена..." @@ -2156,46 +2222,43 @@ msgid "VIM - Search..." msgstr "VIM — ПоиÑк..." msgid "Find what:" -msgstr "Что ищем:" +msgstr "Что найти:" msgid "Replace with:" -msgstr "Ðа что заменÑем:" +msgstr "Заменить на:" -#. whole word only button msgid "Match whole word only" msgstr "Только точные ÑоответÑтвиÑ" -#. match case button msgid "Match case" -msgstr "РегиÑтрозавиÑимые ÑоответÑтвиÑ" +msgstr "Учитывать региÑтр" msgid "Direction" msgstr "Ðаправление" -#. 'Up' and 'Down' buttons msgid "Up" msgstr "Вверх" msgid "Down" msgstr "Вниз" -#. 'Find Next' button msgid "Find Next" msgstr "Ðайти Ñледующее" -#. 'Replace' button msgid "Replace" -msgstr "Замена" +msgstr "Заменить" -#. 'Replace All' button msgid "Replace All" msgstr "Заменить вÑе" +msgid "_Close" +msgstr "_Закрыть" + msgid "Vim: Received \"die\" request from session manager\n" msgstr "Vim: Получен Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð½Ð° прекращение работы от диÑпетчера ÑеанÑов\n" -msgid "Close" -msgstr "Закрыть" +msgid "Close tab" +msgstr "Закрыть вкладку" msgid "New tab" msgstr "ÐÐ¾Ð²Ð°Ñ Ð²ÐºÐ»Ð°Ð´ÐºÐ°" @@ -2242,6 +2305,21 @@ msgstr "Заменить &вÑе" msgid "&Undo" msgstr "О&тмена" +msgid "Open tab..." +msgstr "Открыть вкладку..." + +msgid "Find string (use '\\\\' to find a '\\')" +msgstr "ПоиÑк Ñтроки (иÑпользуйте '\\\\' Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка '\\')" + +msgid "Find & Replace (use '\\\\' to find a '\\')" +msgstr "ПоиÑк и замена (иÑпользуйте '\\\\' Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка '\\')" + +msgid "Not Used" +msgstr "Ðе иÑпользуетÑÑ" + +msgid "Directory\t*.nothing\n" +msgstr "Каталог\t*.ничего\n" + #, c-format msgid "E671: Cannot find window title \"%s\"" msgstr "E671: Окно Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ¾Ð¼ \"%s\" не обнаружено" @@ -2253,26 +2331,6 @@ msgstr "E243: Параметр не поддерживаетÑÑ: \"-%s\"; Ð¸Ñ msgid "E672: Unable to open window inside MDI application" msgstr "E672: Ðевозможно открыть окно внутри Ð¿Ñ€Ð¸Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ MDI" -msgid "Close tab" -msgstr "Закрыть вкладку" - -msgid "Open tab..." -msgstr "Открыть вкладку..." - -msgid "Find string (use '\\\\' to find a '\\')" -msgstr "ПоиÑк Ñтроки (иÑпользуйте '\\\\' Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка '\\')" - -msgid "Find & Replace (use '\\\\' to find a '\\')" -msgstr "ПоиÑк и замена (иÑпользуйте '\\\\' Ð´Ð»Ñ Ð¿Ð¾Ð¸Ñка '\\')" - -#. 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 "Ðе иÑпользуетÑÑ" - -msgid "Directory\t*.nothing\n" -msgstr "Каталог\t*.ничего\n" - msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect" msgstr "" "Vim E458: Ðевозможно выделить запиÑÑŒ в таблице цвета, некоторые цвета могут " @@ -2329,7 +2387,6 @@ msgstr "Vim — Выбор шрифта" msgid "Name:" msgstr "Ðазвание:" -#. create toggle button msgid "Show size in Points" msgstr "Показывать размер в пунктах" @@ -2535,6 +2592,7 @@ msgstr "%-5s: %s%*s (иÑпользование: %s)" msgid "" "\n" +" a: Find assignments to this symbol\n" " c: Find functions calling this function\n" " d: Find functions called by this function\n" " e: Find this egrep pattern\n" @@ -2545,6 +2603,7 @@ msgid "" " t: Find this text string\n" msgstr "" "\n" +" a: Ðайти приÑÐ²Ð°Ð¸Ð²Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ñтого Ñимвола\n" " c: Ðайти функции вызывающие Ñту функцию\n" " d: Ðайти функции вызываемые Ñтой функцией\n" " e: Ðайти Ñтот шаблон egrep\n" @@ -2559,7 +2618,7 @@ msgid "E625: cannot open cscope database: %s" msgstr "E625: Ðевозможно открыть базу данных cscope: %s" msgid "E626: cannot get cscope database information" -msgstr "E626: Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ базе данных cscope не доÑтупна" +msgstr "E626: Ð˜Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ñ Ð¾ базе данных cscope недоÑтупна" msgid "E568: duplicate cscope database not added" msgstr "E568: Ð”Ð°Ð½Ð½Ð°Ñ Ð±Ð°Ð·Ð° данных cscope уже подÑоединена" @@ -2572,7 +2631,6 @@ msgstr "E261: Соединение Ñ cscope %s не обнаружено" msgid "cscope connection %s closed" msgstr "Ñоединение Ñ cscope %s закрыто" -#. should not reach here msgid "E570: fatal error in cs_manage_matches" msgstr "E570: КритичеÑÐºÐ°Ñ Ð¾ÑˆÐ¸Ð±ÐºÐ° в cs_manage_matches" @@ -2614,7 +2672,14 @@ msgid "" "loaded." msgstr "" "E815: К Ñожалению Ñта команда не работает, поÑкольку не загружена библиотека " -"MzScheme" +"MzScheme." + +msgid "" +"E895: Sorry, this command is disabled, the MzScheme's racket/base module " +"could not be loaded." +msgstr "" +"E895: К Ñожалению Ñта команда не работает, поÑкольку не загружен модуль " +"racket/base Ð´Ð»Ñ MzScheme." msgid "invalid expression" msgstr "неправильное выражение" @@ -2721,102 +2786,12 @@ msgstr "E272: Ðеобработанное иÑключение" msgid "E273: unknown longjmp status %d" msgstr "E273: ÐеизвеÑтное ÑоÑтоÑние longjmp %d" -msgid "Toggle implementation/definition" -msgstr "Переключение между реализацией/определением" - -msgid "Show base class of" -msgstr "Показать оÑновной клаÑÑ" - -msgid "Show overridden member function" -msgstr "Показать перегруженные функции" - -msgid "Retrieve from file" -msgstr "Получить из файла" - -msgid "Retrieve from project" -msgstr "Получить из проекта" - -msgid "Retrieve from all projects" -msgstr "Получить из вÑех проектов" - -msgid "Retrieve" -msgstr "Получить" - -msgid "Show source of" -msgstr "Показать иÑходный код" - -msgid "Find symbol" -msgstr "Ðайти Ñимвол" - -msgid "Browse class" -msgstr "ПроÑмотр клаÑÑа" - -msgid "Show class in hierarchy" -msgstr "Показать клаÑÑ Ð² иерархии" - -msgid "Show class in restricted hierarchy" -msgstr "Показать клаÑÑ Ð² ограниченной иерархии" - -msgid "Xref refers to" -msgstr "Xref ÑÑылаетÑÑ Ð½Ð°" - -msgid "Xref referred by" -msgstr "СÑылка на xref из" - -msgid "Xref has a" -msgstr "Xref имеет" - -msgid "Xref used by" -msgstr "Xref иÑпользуетÑÑ" - -msgid "Show docu of" -msgstr "Показать docu" - -msgid "Generate docu for" -msgstr "Создать docu" - -msgid "" -"Cannot connect to SNiFF+. Check environment (sniffemacs must be found in " -"$PATH).\n" -msgstr "" -"Ðевозможно подÑоединитьÑÑ Ðº SNiFF+. Проверьте наÑтройки окружениÑ." -"(sniffemacs должны быть указаны в переменной $PATH).\n" - -msgid "E274: Sniff: Error during read. Disconnected" -msgstr "E274: Sniff: Ошибка во Ð²Ñ€ÐµÐ¼Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ. ОтÑоединение" - -msgid "SNiFF+ is currently " -msgstr "Ð’ наÑтоÑщий момент SNiFF+ " - -msgid "not " -msgstr "не " - -msgid "connected" -msgstr "подÑоединён" - -#, c-format -msgid "E275: Unknown SNiFF+ request: %s" -msgstr "E275: ÐеизвеÑтный Ð·Ð°Ð¿Ñ€Ð¾Ñ SNiFF+: %s" - -msgid "E276: Error connecting to SNiFF+" -msgstr "E276: Ошибка ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ñо SNiFF+" - -msgid "E278: SNiFF+ not connected" -msgstr "E278: SNiFF+ не подÑоединён" - -msgid "E279: Not a SNiFF+ buffer" -msgstr "E279: Это не буфер SNiFF+" - -msgid "Sniff: Error during write. Disconnected" -msgstr "Sniff: Ошибка во Ð²Ñ€ÐµÐ¼Ñ Ð·Ð°Ð¿Ð¸Ñи. ОтÑоединение" - msgid "invalid buffer number" msgstr "неправильный номер буфера" msgid "not implemented yet" msgstr "пока не реализовано" -#. ??? msgid "cannot set line(s)" msgstr "невозможно назначить Ñтроку или Ñтроки" @@ -2857,7 +2832,6 @@ msgstr "" "невозможно зарегиÑтрировать команду Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ñ‹Ð¼ вызовом: буфер или окно в " "процеÑÑе удалениÑ" -#. This should never happen. Famous last word? msgid "" "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim." "org" @@ -2898,6 +2872,18 @@ msgstr "" "E251: Ðеправильно Ñформировано значение данного процеÑÑа VIM в рееÑтре. " "Удалено!" +#, c-format +msgid "E938: Duplicate key in JSON: \"%s\"" +msgstr "E938: Повтор ключа в JSON: \"%s\"" + +#, c-format +msgid "E696: Missing comma in List: %s" +msgstr "E696: Пропущена запÑÑ‚Ð°Ñ Ð² ÑпиÑке: %s" + +#, c-format +msgid "E697: Missing end of List ']': %s" +msgstr "E697: Пропущено окончание ÑпиÑка ']': %s" + msgid "Unknown option argument" msgstr "ÐеизвеÑтный необÑзательный параметр" @@ -2924,13 +2910,13 @@ msgstr "Файлов Ð´Ð»Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ: %d\n" msgid "netbeans is not supported with this GUI\n" msgstr "NetBeans не поддерживаетÑÑ Ñ Ñтим графичеÑким интерфейÑом\n" +msgid "'-nb' cannot be used: not enabled at compile time\n" +msgstr "Ðевозможно иÑпользовать '-nb': не включено при компилÑции\n" + msgid "This Vim was not compiled with the diff feature." msgstr "" "Данный Vim был Ñкомпилирован Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ð¾Ð¹ оÑобенноÑтью проÑмотра отличий" -msgid "'-nb' cannot be used: not enabled at compile time\n" -msgstr "Ðевозможно иÑпользовать '-nb': не включено при компилÑции\n" - msgid "Attempt to open script file again: \"" msgstr "Попытка повторного Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð° ÑценариÑ: \"" @@ -2943,13 +2929,15 @@ msgstr "Ðевозможно открыть Ð´Ð»Ñ Ð²Ñ‹Ð²Ð¾Ð´Ð° ÑÑ†ÐµÐ½Ð°Ñ€Ð¸Ñ msgid "Vim: Error: Failure to start gvim from NetBeans\n" msgstr "Vim: Ошибка: Ðе удалоÑÑŒ запуÑтить gvim из NetBeans\n" +msgid "Vim: Error: This version of Vim does not run in a Cygwin terminal\n" +msgstr "Vim: Ошибка: Ð”Ð°Ð½Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ Vim не работает в терминале Cygwin\n" + msgid "Vim: Warning: Output is not to a terminal\n" msgstr "Vim: Предупреждение: Вывод оÑущеÑтвлÑетÑÑ Ð½Ðµ на терминал\n" msgid "Vim: Warning: Input is not from a terminal\n" msgstr "Vim: Предупреждение: Ввод проиÑходит не Ñ Ñ‚ÐµÑ€Ð¼Ð¸Ð½Ð°Ð»Ð°\n" -#. just in case.. msgid "pre-vimrc command line" msgstr "ÐºÐ¾Ð¼Ð°Ð½Ð´Ð½Ð°Ñ Ñтрока перед выполнением vimrc" @@ -2976,7 +2964,8 @@ msgstr "-t метка редактирование файла Ñ ÑƒÐºÐ°Ð·Ð°Ð½ # \n\t\t.. Ð´Ð»Ñ ÑƒÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² 80 Ñтолбцов msgid "-q [errorfile] edit file with first error" msgstr "" -"-q [файл-ошибок] редактирование файла Ñ Ð¿ÐµÑ€Ð²Ð¾Ð¹ ошибкой" +"-q [файл-ошибок]\n" +"\t\t\t\t редактирование файла Ñ Ð¿ÐµÑ€Ð²Ð¾Ð¹ ошибкой" msgid "" "\n" @@ -3076,8 +3065,8 @@ msgstr "-N\t\t\tРежим неполной ÑовмеÑтимоÑти Ñ Vi: 'n # \n\t\t.. Ð´Ð»Ñ ÑƒÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² 80 Ñтолбцов msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]" msgstr "" -"-V[N][файл]\t\tВыводить дополнительные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ " -"[уровень N] [запиÑывать в файл]" +"-V[N][файл]\t\tВыводить дополнительные ÑообщениÑ\n" +"\t\t\t\t[уровень N] [запиÑывать в файл]" msgid "-D\t\t\tDebugging mode" msgstr "-D\t\t\tРежим отладки" @@ -3112,6 +3101,12 @@ msgstr "-F\t\t\tЗапуÑк в режиме \"ФарÑи\"" msgid "-T \tSet terminal type to " msgstr "-T <терминал>\tÐазначить указанный тип <терминала>" +msgid "--not-a-term\t\tSkip warning for input/output not being a terminal" +msgstr "--not-a-term\t\tÐе предупреждать при вводе/выводе не в терминал" + +msgid "--ttyfail\t\tExit if input or output is not a terminal" +msgstr "--ttyfail\t\tВыйти при вводе/выводе не в терминал" + msgid "-u \t\tUse instead of any .vimrc" msgstr "-u \t\tИÑпользовать вмеÑто любых файлов .vimrc" @@ -3124,12 +3119,14 @@ msgstr "--noplugin\t\tÐе загружать Ñценарии модулей" # \n\t\t.. Ð´Ð»Ñ ÑƒÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² 80 Ñтолбцов msgid "-p[N]\t\tOpen N tab pages (default: one for each file)" msgstr "" -"-p[N]\t\tОткрыть N вкладок (по умолчанию: по одной на каждый файл)" +"-p[N]\t\tОткрыть N вкладок (по умолчанию: по одной\n" +"\t\t\t\tна каждый файл)" # \n\t\t.. Ð´Ð»Ñ ÑƒÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² 80 Ñтолбцов msgid "-o[N]\t\tOpen N windows (default: one for each file)" msgstr "" -"-o[N]\t\tОткрыть N окон (по умолчанию: по одному на каждый файл)" +"-o[N]\t\tОткрыть N окон (по умолчанию: по одному\n" +"\t\t\t\tна каждый файл)" msgid "-O[N]\t\tLike -o but split vertically" msgstr "-O[N]\t\tТо же, что и -o, но Ñ Ð²ÐµÑ€Ñ‚Ð¸ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼ разделением окон" @@ -3149,13 +3146,14 @@ msgstr "-c <команда>\t\tВыполнить <команду> поÑле з # \n\t\t.. Ð´Ð»Ñ ÑƒÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² 80 Ñтолбцов msgid "-S \t\tSource file after loading the first file" msgstr "" -"-S <ÑеанÑ>\t\tПрочитать Ñценарий <ÑеанÑа> поÑле загрузки " -"первого файла" +"-S <ÑеанÑ>\t\tПрочитать Ñценарий <ÑеанÑа> поÑле загрузки\n" +"\t\t\t\tпервого файла" # \n\t\t.. Ð´Ð»Ñ ÑƒÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² 80 Ñтолбцов msgid "-s \tRead Normal mode commands from file " msgstr "" -"-s <Ñценарий>\tПрочитать команды Обычного режима из файла <ÑценариÑ>" +"-s <Ñценарий>\tПрочитать команды Обычного режима из\n" +"\t\t\t\tфайла <ÑценариÑ>" msgid "-w \tAppend all typed commands to file " msgstr "-w <Ñценарий>\tДобавлÑть вÑе введённые команды в файл <ÑценариÑ>" @@ -3167,7 +3165,7 @@ msgid "-x\t\t\tEdit encrypted files" msgstr "-x\t\t\tРедактирование зашифрованных файлов" msgid "-display \tConnect vim to this particular X-server" -msgstr "-display <Ñкран>\tПодÑоединить VIM к указанному X-Ñерверу" +msgstr "-display <Ñкран>\tПодÑоединить Vim к указанному X-Ñерверу" msgid "-X\t\t\tDo not connect to X server" msgstr "-X\t\t\tÐе выполнÑть Ñоединение Ñ Ñервером X" @@ -3212,6 +3210,11 @@ msgstr "--startuptime <файл>\tЗапиÑать временную метку msgid "-i \t\tUse instead of .viminfo" msgstr "-i \t\tИÑпользовать вмеÑто .viminfo файл " +msgid "--clean\t\t'nocompatible', Vim defaults, no plugins, no viminfo" +msgstr "" +"--clean\t\tÐÐµÐ¿Ð¾Ð»Ð½Ð°Ñ ÑовмеÑтимоÑть Ñ Vi, Vim по умолчанию,\n" +"\t\t\t\tбез модулей, без viminfo" + msgid "-h or --help\tPrint Help (this message) and exit" msgstr "-h или --help\tВывеÑти Ñправку (Ñто Ñообщение) и завершить работу" @@ -3240,21 +3243,19 @@ msgstr "" "Параметры Ð´Ð»Ñ gvim (верÑÐ¸Ñ Athena):\n" msgid "-display \tRun vim on " -msgstr "-display <диÑплей>\tЗапуÑтить VIM на указанном <диÑплее>" +msgstr "-display <диÑплей>\tЗапуÑтить Vim на указанном <диÑплее>" msgid "-iconic\t\tStart vim iconified" -msgstr "-iconic\t\tЗапуÑтить VIM в Ñвёрнутом виде" +msgstr "-iconic\t\tЗапуÑтить Vim в Ñвёрнутом виде" msgid "-background \tUse for the background (also: -bg)" -msgstr "" -"-background <цвет>\tИÑпользовать указанный <цвет> Ð´Ð»Ñ Ñ„Ð¾Ð½Ð° (также: -bg)" +msgstr "-background <цвет>\tИÑпользовать указанный <цвет> Ð´Ð»Ñ Ñ„Ð¾Ð½Ð° (или -bg)" msgid "-foreground \tUse for normal text (also: -fg)" -msgstr "" -"-foreground <цвет>\tИÑпользовать <цвет> Ð´Ð»Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð³Ð¾ текÑта (также: -fg)" +msgstr "-foreground <цвет>\tИÑпользовать <цвет> Ð´Ð»Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð³Ð¾ текÑта (или -fg)" msgid "-font \t\tUse for normal text (also: -fn)" -msgstr "-font <шрифт>\t\tИÑпользовать <шрифт> Ð´Ð»Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð³Ð¾ текÑта (также: -fn)" +msgstr "-font <шрифт>\tИÑпользовать <шрифт> Ð´Ð»Ñ Ð¾Ð±Ñ‹Ñ‡Ð½Ð¾Ð³Ð¾ текÑта (или -fn)" msgid "-boldfont \tUse for bold text" msgstr "-boldfont <шрифт>\tИÑпользовать <шрифт> Ð´Ð»Ñ Ð¶Ð¸Ñ€Ð½Ð¾Ð³Ð¾ текÑта" @@ -3263,24 +3264,23 @@ msgid "-italicfont \tUse for italic text" msgstr "-italicfont <шрифт>\tИÑпользовать <шрифт> Ð´Ð»Ñ Ð½Ð°ÐºÐ»Ð¾Ð½Ð½Ð¾Ð³Ð¾ текÑта" msgid "-geometry \tUse for initial geometry (also: -geom)" -msgstr "" -"-geometry <геометриÑ>\tИÑпользовать начальную <геометрию> (также: -geom)" +msgstr "-geometry <геометриÑ>\tИÑпользовать начальную <геометрию> (или -geom)" msgid "-borderwidth \tUse a border width of (also: -bw)" -msgstr "-borderwidth <ширина>\tИÑпользовать <ширину> бордюра (также: -bw)" +msgstr "-borderwidth <ширина>\tИÑпользовать <ширину> бордюра (или -bw)" msgid "-scrollbarwidth Use a scrollbar width of (also: -sw)" msgstr "" -"-scrollbarwidth <ширина> ИÑпользовать ширину полоÑÑ‹ прокрутки (также: -sw)" +"-scrollbarwidth <ширина> ИÑпользовать ширину полоÑÑ‹ прокрутки (или -sw)" msgid "-menuheight \tUse a menu bar height of (also: -mh)" -msgstr "-menuheight <выÑота>\tИÑпользовать <выÑоту> меню (также: -mh)" +msgstr "-menuheight <выÑота>\tИÑпользовать <выÑоту> меню (или -mh)" msgid "-reverse\t\tUse reverse video (also: -rv)" -msgstr "-reverse\t\tИÑпользовать инверÑный видеорежим (также: -rv)" +msgstr "-reverse\t\tИÑпользовать инверÑный видеорежим (или -rv)" msgid "+reverse\t\tDon't use reverse video (also: +rv)" -msgstr "+reverse\t\tÐе иÑпользовать инверÑный видеорежим (также: +rv)" +msgstr "+reverse\t\tÐе иÑпользовать инверÑный видеорежим (или +rv)" msgid "-xrm \tSet the specified resource" msgstr "-xrm <реÑурÑ>\tУÑтановить указанный <реÑурÑ>" @@ -3294,11 +3294,12 @@ msgstr "" msgid "-display \tRun vim on (also: --display)" msgstr "" -"-display <диÑплей>\tЗапуÑтить VIM на указанном <диÑплее> (также: --display)" +"-display <диÑплей>\tЗапуÑтить Vim на указанном <диÑплее> (или --display)" msgid "--role \tSet a unique role to identify the main window" msgstr "" -"--role <роль>\tУÑтановить уникальную <роль> Ð´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ главного окна" +"--role <роль>\tУÑтановить уникальную <роль>\n" +"\t\t\t\tÐ´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ главного окна" msgid "--socketid \tOpen Vim inside another GTK widget" msgstr "--socketid \tОткрыть Vim внутри другого компонента GTK" @@ -3315,11 +3316,9 @@ msgstr "--windowid \tОткрыть Vim внутри другого ком msgid "No display" msgstr "Ðет диÑплеÑ" -#. Failed to send, abort. msgid ": Send failed.\n" msgstr ": Отправка не удалаÑÑŒ.\n" -#. Let vim start normally. msgid ": Send failed. Trying to execute locally\n" msgstr ": Отправка не удалаÑÑŒ. Попытка меÑтного выполнениÑ\n" @@ -3340,7 +3339,6 @@ msgstr "Ðет уÑтановленных отметок" msgid "E283: No marks matching \"%s\"" msgstr "E283: Ðет отметок, Ñовпадающих Ñ \"%s\"" -#. Highlight title msgid "" "\n" "mark line col file/text" @@ -3348,7 +3346,6 @@ msgstr "" "\n" "отмет Ñтр кол файл/текÑÑ‚" -#. Highlight title msgid "" "\n" " jump line col file/text" @@ -3356,7 +3353,6 @@ msgstr "" "\n" "прыжок Ñтр кол файл/текÑÑ‚" -#. Highlight title msgid "" "\n" "change line col text" @@ -3371,7 +3367,6 @@ msgstr "" "\n" "# Глобальные отметки:\n" -#. Write the jumplist with -' msgid "" "\n" "# Jumplist (newest first):\n" @@ -3444,7 +3439,6 @@ msgstr "E298: Ðе получен блок номер 2?" msgid "E843: Error while updating swap file crypt" msgstr "E843: Ошибка при обновлении ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñвоп-файла" -#. could not (re)open the swap file, what can we do???? msgid "E301: Oops, lost the swap file!!!" msgstr "E301: Ой, потерÑлÑÑ Ñвоп-файл!!!" @@ -3629,7 +3623,6 @@ msgstr "" msgid "Using crypt key from swap file for the text file.\n" msgstr "ИÑпользование ключа ÑˆÐ¸Ñ„Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð· Ñвоп-файла Ð´Ð»Ñ Ñ‚ÐµÐºÑтового файла.\n" -#. use msg() to start the scrolling properly msgid "Swap files found:" msgstr "Обнаружены Ñвоп-файлы:" @@ -3800,23 +3793,17 @@ msgstr "при открытии файла: \"" msgid " NEWER than swap file!\n" msgstr " Более СВЕЖИЙ, чем Ñвоп-файл!\n" -#. Some of these messages are long to allow translation to -#. * other languages. msgid "" "\n" "(1) Another program may be editing the same file. If this is the case,\n" " be careful not to end up with two different instances of the same\n" -" file when making changes." +" file when making changes. Quit, or continue with caution.\n" msgstr "" "\n" "(1) Возможно, редактирование Ñтого же файла выполнÑетÑÑ Ð² другой программе.\n" " ЕÑли Ñто так, то будьте внимательны при внеÑении изменений, чтобы\n" -" у Ð²Ð°Ñ Ð½Ðµ поÑвилоÑÑŒ два разных варианта одного и того же файла." - -# Сообщение разделено, " \n" добавлено Ñ‚.к. Ñтрока не помещаетÑÑ. -msgid " Quit, or continue with caution.\n" -msgstr "" -" Завершите работу или продолжайте Ñ Ð¾ÑторожноÑтью.\n" +" у Ð²Ð°Ñ Ð½Ðµ поÑвилоÑÑŒ два разных варианта одного и того же файла.\n" +" Выйдите или продолжайте Ñ Ð¾ÑторожноÑтью.\n" msgid "(2) An edit session for this file crashed.\n" msgstr "(2) Ð¡ÐµÐ°Ð½Ñ Ñ€ÐµÐ´Ð°ÐºÑ‚Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñтого файла завершён аварийно.\n" @@ -3894,7 +3881,6 @@ msgstr "E328: Меню в Ñтом режиме не ÑущеÑтвует" msgid "E329: No menu \"%s\"" msgstr "E329: Ðет меню %s" -#. Only a mnemonic or accelerator is not valid. msgid "E792: Empty menu name" msgstr "E792: ПуÑтое Ð¸Ð¼Ñ Ð¼ÐµÐ½ÑŽ" @@ -3907,8 +3893,6 @@ msgstr "E331: Элементы меню Ð½ÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð°Ð²Ð»Ñть непо msgid "E332: Separator cannot be part of a menu path" msgstr "E332: Разделители не могут быть компонентом пути к меню" -#. Now we have found the matching menu, and we list the mappings -#. Highlight title msgid "" "\n" "--- Menus ---" @@ -3919,6 +3903,10 @@ msgstr "" msgid "Tear off this menu" msgstr "Оторвать Ñто меню" +#, c-format +msgid "E335: Menu not defined for %s mode" +msgstr "E335: Меню не определено Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð° %s" + msgid "E333: Menu path must lead to a menu item" msgstr "E333: Путь к меню должен веÑти к Ñлементу меню" @@ -3926,10 +3914,6 @@ msgstr "E333: Путь к меню должен веÑти к Ñлементу msgid "E334: Menu not found: %s" msgstr "E334: Меню не найдено: %s" -#, c-format -msgid "E335: Menu not defined for %s mode" -msgstr "E335: Меню не определено Ð´Ð»Ñ Ñ€ÐµÐ¶Ð¸Ð¼Ð° %s" - msgid "E336: Menu path must lead to a sub-menu" msgstr "E336: Путь к меню должен веÑти к подменю" @@ -4001,7 +3985,6 @@ msgstr "Сохранение файла" msgid "Open File dialog" msgstr "Открытие файла" -#. TODO: non-GUI file selector here msgid "E338: Sorry, no file browser in console mode" msgstr "" "E338: Извините, но в конÑольном режиме нет проводника по файловой ÑиÑтеме" @@ -4120,20 +4103,11 @@ msgstr "E346: Ð’ пути Ñмены каталога больше нет кат msgid "E347: No more file \"%s\" found in path" msgstr "E347: Ð’ извеÑтных каталогах больше нет файлов \"%s\"" -msgid "Cannot connect to Netbeans #2" -msgstr "Ðевозможно ÑоединитьÑÑ Ñ NetBeans #2" - -msgid "Cannot connect to Netbeans" -msgstr "Ðевозможно ÑоединитьÑÑ Ñ NetBeans" - #, c-format msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\"" msgstr "" "E668: Ðеправильный режим доÑтупа к информации о Ñоединении Ñ NetBeans: \"%s\"" -msgid "read from Netbeans socket" -msgstr "чтение из гнезда NetBeans" - #, c-format msgid "E658: NetBeans connection lost for buffer %ld" msgstr "E658: ПотерÑно Ñоединение Ñ NetBeans Ð´Ð»Ñ Ð±ÑƒÑ„ÐµÑ€Ð° %ld" @@ -4155,7 +4129,7 @@ msgid "E774: 'operatorfunc' is empty" msgstr "E774: Значением опции 'operatorfunc' ÑвлÑетÑÑ Ð¿ÑƒÑÑ‚Ð°Ñ Ñтрока" msgid "E775: Eval feature not available" -msgstr "E775: eval не доÑтупна" +msgstr "E775: eval недоÑтупна" msgid "Warning: terminal cannot highlight" msgstr "Предупреждение: терминал не может выполнÑть подÑветку" @@ -4176,8 +4150,9 @@ msgstr "E662: Ð’ начале ÑпиÑка изменений" msgid "E663: At end of changelist" msgstr "E663: Ð’ конце ÑпиÑка изменений" -msgid "Type :quit to exit Vim" -msgstr "Введите :quit Ð´Ð»Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð° из Vim" +msgid "Type :qa! and press to abandon all changes and exit Vim" +msgstr "" +"Введите :qa! и нажмите Ð´Ð»Ñ Ð¾Ñ‚Ð¼ÐµÐ½Ñ‹ вÑех изменений и выхода из Vim" #, c-format msgid "1 line %sed 1 time" @@ -4209,7 +4184,6 @@ msgstr "Изменены отÑтупы в Ñтроках (%ld) " msgid "E748: No previously used register" msgstr "E748: Ðет предыдущего иÑпользованного региÑтра" -#. must display the prompt msgid "cannot yank; delete anyway" msgstr "Ñкопировать не удалоÑÑŒ, удаление выполнено" @@ -4224,25 +4198,30 @@ msgstr "изменено Ñтрок: %ld" msgid "freeing %ld lines" msgstr "очищено Ñтрок: %ld" -msgid "block of 1 line yanked" -msgstr "Ñкопирован блок из одной Ñтроки" - -msgid "1 line yanked" -msgstr "Ñкопирована одна Ñтрока" +#, c-format +msgid " into \"%c" +msgstr " в \"%c" #, c-format -msgid "block of %ld lines yanked" -msgstr "Ñкопирован блок из Ñтрок: %ld" +msgid "block of 1 line yanked%s" +msgstr "Ñкопирован блок из одной Ñтроки%s" #, c-format -msgid "%ld lines yanked" -msgstr "Ñкопировано Ñтрок: %ld" +msgid "1 line yanked%s" +msgstr "Ñкопирована одна Ñтрока%s" + +#, c-format +msgid "block of %ld lines yanked%s" +msgstr "Ñкопирован блок из %ld Ñтрок%s" + +#, c-format +msgid "%ld lines yanked%s" +msgstr "Ñкопировано %ld Ñтрок%s" #, c-format msgid "E353: Nothing in register %s" msgstr "E353: Ð’ региÑтре %s ничего нет" -#. Highlight title msgid "" "\n" "--- Registers ---" @@ -4276,35 +4255,32 @@ msgid "%ld Cols; " msgstr "Колонок: %ld; " #, c-format -msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes" -msgstr "Выделено %s%ld из %ld Ñтрок; %ld из %ld Ñлов; %ld из %ld байт" +msgid "Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Bytes" +msgstr "Выделено %s%ld из %ld Ñтрок; %lld из %lld Ñлов; %lld из %lld байт" #, c-format msgid "" -"Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld " -"Bytes" +"Selected %s%ld of %ld Lines; %lld of %lld Words; %lld of %lld Chars; %lld of " +"%lld Bytes" msgstr "" -"Выделено %s%ld из %ld Ñтр.; %ld из %ld Ñлов; %ld из %ld Ñимв.; %ld из %ld " -"байт" +"Выделено %s%ld из %ld Ñтр.; %lld из %lld Ñлов; %lld из %lld Ñимв.; %lld из " +"%lld байт" #, c-format -msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld" -msgstr "Кол. %s из %s; Ñтр. %ld из %ld; Ñл. %ld из %ld; байт %ld из %ld" +msgid "Col %s of %s; Line %ld of %ld; Word %lld of %lld; Byte %lld of %lld" +msgstr "Кол. %s из %s; Ñтр. %ld из %ld; Ñл. %lld из %lld; байт %lld из %lld" #, c-format msgid "" -"Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of " -"%ld" +"Col %s of %s; Line %ld of %ld; Word %lld of %lld; Char %lld of %lld; Byte " +"%lld of %lld" msgstr "" -"Кол. %s из %s; Ñтр. %ld из %ld; Ñл. %ld из %ld; Ñимв. %ld из %ld; байт %ld " -"из %ld" +"Кол. %s из %s; Ñтр. %ld из %ld; Ñл. %lld из %lld; Ñимв. %lld из %lld; байт " +"%lld из %lld" #, c-format -msgid "(+%ld for BOM)" -msgstr "(+%ld Ñ ÑƒÑ‡Ñ‘Ñ‚Ð¾Ð¼ BOM)" - -msgid "%<%f%h%m%=Page %N" -msgstr "%<%f%h%m%=Стр. %N" +msgid "(+%lld for BOM)" +msgstr "(+%lld Ñ ÑƒÑ‡Ñ‘Ñ‚Ð¾Ð¼ BOM)" msgid "Thanks for flying Vim" msgstr "Благодарим за иÑпользование Vim" @@ -4331,6 +4307,10 @@ msgstr "E522: Ðе обнаружено в termcap" msgid "E539: Illegal character <%s>" msgstr "E539: ÐедопуÑтимый Ñимвол <%s>" +#, c-format +msgid "For option %s" +msgstr "Ð”Ð»Ñ Ð¾Ð¿Ñ†Ð¸Ð¸ %s" + msgid "E529: Cannot set 'term' to empty string" msgstr "E529: Значение опции 'term' не может быть пуÑтой Ñтрокой" @@ -4352,6 +4332,10 @@ msgstr "E835: Конфликтует Ñо значением 'fillchars'" msgid "E617: Cannot be changed in the GTK+ 2 GUI" msgstr "E617: Ðе может быть изменено в графичеÑком интерфейÑе GTK+ 2" +#, c-format +msgid "E950: Cannot convert between %s and %s" +msgstr "E950: Ðевозможно преобразовать %s и %s" + msgid "E524: Missing colon" msgstr "E524: Пропущено двоеточие" @@ -4411,6 +4395,9 @@ msgstr "E541: Слишком много Ñлементов" msgid "E542: unbalanced groups" msgstr "E542: ÐеÑбаланÑированные группы" +msgid "E946: Cannot make a terminal with running job modifiable" +msgstr "E946: Ðевозможно Ñделать терминал изменённым Ñ Ð·Ð°Ð¿ÑƒÑ‰ÐµÐ½Ð½Ñ‹Ð¼ заданием" + msgid "E590: A preview window already exists" msgstr "E590: Окно предпроÑмотра уже еÑть" @@ -4418,6 +4405,9 @@ msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'" msgstr "" "W17: ÐрабÑкий требует иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ UTF-8, введите ':set encoding=utf-8'" +msgid "E954: 24-bit colors are not supported on this environment" +msgstr "E954: 24 битный цвет не поддерживаетÑÑ Ð² Ñтом окружении" + #, c-format msgid "E593: Need at least %d lines" msgstr "E593: Ðужно Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ %d Ñтрок" @@ -4430,9 +4420,6 @@ msgstr "E594: Ðужно Ñ…Ð¾Ñ‚Ñ Ð±Ñ‹ %d колонок" msgid "E355: Unknown option: %s" msgstr "E355: ÐеизвеÑÑ‚Ð½Ð°Ñ Ð¾Ð¿Ñ†Ð¸Ñ: %s" -#. There's another character after zeros or the string -#. * is empty. In both cases, we are trying to set a -#. * num option using a string. #, c-format msgid "E521: Number required: &%s = '%s'" msgstr "E521: ТребуетÑÑ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ чиÑло: &%s = '%s'" @@ -4456,7 +4443,7 @@ msgid "" "--- Local option values ---" msgstr "" "\n" -"--- МеÑтные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ð¿Ñ†Ð¸Ð¹ ---" +"--- Локальные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ð¿Ñ†Ð¸Ð¹ ---" msgid "" "\n" @@ -4505,7 +4492,6 @@ msgstr "невозможно Ñменить режим конÑоли?!\n" msgid "mch_get_shellsize: not a console??\n" msgstr "mch_get_shellsize: не в конÑоли??\n" -#. if Vim opened a window: Executing a shell may cause crashes msgid "E360: Cannot execute shell with -f option" msgstr "E360: Ðевозможно выполнить оболочку Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ -f" @@ -4527,9 +4513,6 @@ msgstr "ОШИБКРВВОДÐ/ВЫВОДÐ" msgid "Message" msgstr "Сообщение" -msgid "'columns' is not 80, cannot execute external commands" -msgstr "Значение опции 'columns' не равно 80, внешние программы не выполнÑÑŽÑ‚ÑÑ" - msgid "E237: Printer selection failed" msgstr "E237: Ðеудачное завершение выбора принтера" @@ -4553,6 +4536,10 @@ msgstr "Печать '%s'" msgid "E244: Illegal charset name \"%s\" in font name \"%s\"" msgstr "E244: ÐедопуÑтимое Ð¸Ð¼Ñ ÐºÐ¾Ð´Ð¸Ñ€Ð¾Ð²ÐºÐ¸ \"%s\" в имени шрифта \"%s\"" +#, c-format +msgid "E244: Illegal quality name \"%s\" in font name \"%s\"" +msgstr "E244: ÐедопуÑтимое Ð¸Ð¼Ñ ÑвойÑтва \"%s\" в имени шрифта \"%s\"" + #, c-format msgid "E245: Illegal char '%c' in font name \"%s\"" msgstr "E245: ÐедопуÑтимый Ñимвол '%c' в имени шрифта \"%s\"" @@ -4588,25 +4575,13 @@ msgstr "" "\n" "Ðевозможно уÑтановить контекÑÑ‚ безопаÑноÑти Ð´Ð»Ñ " -msgid "Could not set security context " -msgstr "Ðевозможно уÑтановить контекÑÑ‚ безопаÑноÑти " +#, c-format +msgid "Could not set security context %s for %s" +msgstr "Ðевозможно уÑтановить контекÑÑ‚ безопаÑноÑти %s Ð´Ð»Ñ Ð´Ð»Ñ %s" -msgid " for " -msgstr " Ð´Ð»Ñ " - -#. no enough size OR unexpected error -msgid "Could not get security context " -msgstr "Ðевозможно получить контекÑÑ‚ безопаÑноÑти " - -msgid ". Removing it!\n" -msgstr ". Будет удалён!\n" - -msgid "" -"\n" -"Cannot execute shell " -msgstr "" -"\n" -"Ðевозможно запуÑтить оболочку " +#, c-format +msgid "Could not get security context %s for %s. Removing it!" +msgstr "Ðевозможно получить контекÑÑ‚ безопаÑноÑти %s Ð´Ð»Ñ %s. Будет удалено!" msgid "" "\n" @@ -4636,6 +4611,13 @@ msgstr "" "\n" "Ðевозможно выполнить fork()\n" +msgid "" +"\n" +"Cannot execute shell " +msgstr "" +"\n" +"Ðевозможно запуÑтить оболочку " + msgid "" "\n" "Command terminated\n" @@ -4678,10 +4660,6 @@ msgstr "Ошибка VIM" msgid "Could not fix up function pointers to the DLL!" msgstr "Ðевозможно иÑправить указатели функций Ð´Ð»Ñ DLL!" -#, c-format -msgid "shell returned %d" -msgstr "завершение работы оболочки Ñ ÐºÐ¾Ð´Ð¾Ð¼ %d" - #, c-format msgid "Vim: Caught %s event\n" msgstr "Vim: Перехвачено Ñобытие %s\n" @@ -4710,6 +4688,13 @@ msgstr "" msgid "Vim Warning" msgstr "Предупреждение Vim" +#, c-format +msgid "shell returned %d" +msgstr "завершение работы оболочки Ñ ÐºÐ¾Ð´Ð¾Ð¼ %d" + +msgid "E926: Current location list was changed" +msgstr "E926: Изменён ÑпиÑок текущих раÑположений" + #, c-format msgid "E372: Too many %%%c in format string" msgstr "E372: Ð’ Ñтроке формата Ñлишком много %%%c" @@ -4742,6 +4727,12 @@ msgstr "E379: Ð˜Ð¼Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° не задано или равно Ð¿ÑƒÑ msgid "E553: No more items" msgstr "E553: Больше нет Ñлементов" +msgid "E924: Current window was closed" +msgstr "E924: Текущее окно было закрыто" + +msgid "E925: Current quickfix was changed" +msgstr "E925: Изменён ÑпиÑок текущих быÑтрых иÑправлений" + #, c-format msgid "(%d of %d)%s%s: " msgstr "(%d из %d)%s%s: " @@ -4749,19 +4740,18 @@ msgstr "(%d из %d)%s%s: " msgid " (line deleted)" msgstr " (Ñтрока удалена)" +#, c-format +msgid "%serror list %d of %d; %d errors " +msgstr "%sÑпиÑок ошибок %d из %d; %d ошибок" + msgid "E380: At bottom of quickfix stack" msgstr "E380: Внизу Ñтека быÑтрых иÑправлений" msgid "E381: At top of quickfix stack" msgstr "E381: Ðаверху Ñтека быÑтрых иÑправлений" -#, c-format -msgid "error list %d of %d; %d errors" -msgstr "ÑпиÑок ошибок %d из %d; %d ошибок" - -msgid "E382: Cannot write, 'buftype' option is set" -msgstr "" -"E382: ЗапиÑÑŒ невозможна, значение опции 'buftype' не ÑвлÑетÑÑ Ð¿ÑƒÑтой Ñтрокой" +msgid "No entries" +msgstr "Ðет Ñлементов" msgid "Error file" msgstr "Файл ошибок" @@ -4787,6 +4777,12 @@ msgstr "E369: ÐедопуÑтимый Ñлемент в %s%%[]" msgid "E769: Missing ] after %s[" msgstr "E769: Пропущена ] поÑле %s[" +msgid "E944: Reverse range in character class" +msgstr "E944: Обратный диапазон в Ñимвольном клаÑÑе" + +msgid "E945: Range too large in character class" +msgstr "E945: Диапазон Ñлишком велик в Ñимвольном клаÑÑе" + #, c-format msgid "E53: Unmatched %s%%(" msgstr "E53: Ðет пары Ð´Ð»Ñ %s%%(" @@ -4813,6 +4809,9 @@ msgstr "E69: Пропущена ] поÑле %s%%[" msgid "E70: Empty %s%%[]" msgstr "E70: ПуÑтое %s%%[]" +msgid "E65: Illegal back reference" +msgstr "E65: ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑÑылка" + msgid "E339: Pattern too long" msgstr "E339: Слишком длинный шаблон" @@ -4849,9 +4848,6 @@ msgstr "E63: ÐедопуÑтимое иÑпользование \\_" msgid "E64: %s%c follows nothing" msgstr "E64: %s%c ни за чем не Ñледует" -msgid "E65: Illegal back reference" -msgstr "E65: ÐедопуÑÑ‚Ð¸Ð¼Ð°Ñ Ð¾Ð±Ñ€Ð°Ñ‚Ð½Ð°Ñ ÑÑылка" - msgid "E68: Invalid character after \\z" msgstr "E68: ÐедопуÑтимый Ñимвол поÑле \\z" @@ -4881,6 +4877,9 @@ msgstr "" "E864: поÑле \\%#= может быть только 0, 1 или 2. Будет иÑпользоватьÑÑ " "автоматичеÑÐºÐ°Ñ Ð¼Ð°ÑˆÐ¸Ð½Ð°" +msgid "Switching to backtracking RE engine for pattern: " +msgstr "Включено отÑлеживание движка рег. выражений Ð´Ð»Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ð°: " + msgid "E865: (NFA) Regexp end encountered prematurely" msgstr "E865: (ÐКÐ) неожиданный конец регулÑрного выражениÑ" @@ -4896,11 +4895,13 @@ msgstr "E877: (рег. выражение ÐКÐ) неправильный кл msgid "E867: (NFA) Unknown operator '\\z%c'" msgstr "E867: (ÐКÐ) неизвеÑтный оператор '\\z%c'" +msgid "E951: \\% value too large" +msgstr "E951: \\% значение Ñлишком большое" + #, c-format msgid "E867: (NFA) Unknown operator '\\%%%c'" msgstr "E867: (ÐКÐ) неизвеÑтный оператор '\\%%%c'" -#. should never happen msgid "E868: Error building NFA with equivalence class!" msgstr "E868: ошибка при Ñоздании ÐÐšÐ Ñ ÐºÐ»Ð°ÑÑом ÑквивалентноÑти!" @@ -4911,11 +4912,9 @@ msgstr "E869: (ÐКÐ) неизвеÑтный оператор '\\@%c'" msgid "E870: (NFA regexp) Error reading repetition limits" msgstr "E870: (рег. выражение ÐКÐ) ошибка при чтении границ повторениÑ" -#. Can't have a multi follow a multi. msgid "E871: (NFA regexp) Can't have a multi follow a multi !" msgstr "E871: (рег. выражение ÐКÐ) множеÑтво не может Ñледовать за множеÑтвом!" -#. Too many `(' msgid "E872: (NFA regexp) Too many '('" msgstr "E872: (рег. выражение ÐКÐ) Ñлишком много '('" @@ -4980,9 +4979,6 @@ msgstr " Иврит" msgid " Arabic" msgstr " ÐрабÑкий" -msgid " (lang)" -msgstr " (Ñзык)" - msgid " (paste)" msgstr " (вклейка)" @@ -5025,7 +5021,6 @@ msgstr "E386: ПоÑле ';' ожидаетÑÑ Ð²Ð²Ð¾Ð´ '?' или '/'" msgid " (includes previously listed match)" msgstr " (включает раннее показанные ÑоответÑтвиÑ)" -#. cursor at status line msgid "--- Included files " msgstr "--- Включённые файлы " @@ -5077,8 +5072,49 @@ msgstr "" "# ПоÑледний %sШаблон поиÑка:\n" "~" -msgid "E759: Format error in spell file" -msgstr "E759: Ошибка формата в файле правопиÑаниÑ" +msgid "E756: Spell checking is not enabled" +msgstr "E756: Проверка правопиÑÐ°Ð½Ð¸Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°" + +#, c-format +msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" +msgstr "" +"Предупреждение: Ðевозможно найти ÑпиÑок Ñлов \"%s_%s.spl\" или \"%s_ascii.spl" +"\"" + +#, c-format +msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" +msgstr "" +"Предупреждение: Ðевозможно найти ÑпиÑок Ñлов \"%s.%s.spl\" или \"%s.ascii.spl" +"\"" + +msgid "E797: SpellFileMissing autocommand deleted buffer" +msgstr "E797: Буфер удалён при выполнении автокоманды SpellFileMissing" + +#, c-format +msgid "Warning: region %s not supported" +msgstr "Предупреждение: регион %s не поддерживаетÑÑ" + +msgid "Sorry, no suggestions" +msgstr "Извините, нет предположений" + +#, c-format +msgid "Sorry, only %ld suggestions" +msgstr "Извините, только %ld предположений" + +#, c-format +msgid "Change \"%.*s\" to:" +msgstr "Заменить \"%.*s\" на:" + +#, c-format +msgid " < \"%.*s\"" +msgstr " < \"%.*s\"" + +msgid "E752: No previous spell replacement" +msgstr "E752: Ðет предыдущей замены правопиÑаниÑ" + +#, c-format +msgid "E753: Not found: %s" +msgstr "E753: Ðе найдено: %s" msgid "E758: Truncated spell file" msgstr "E758: Файл правопиÑÐ°Ð½Ð¸Ñ Ð¾Ð±Ñ€ÐµÐ·Ð°Ð½" @@ -5100,21 +5136,6 @@ msgstr "E762: Символы в FOL, LOW или UPP за пределами ди msgid "Compressing word tree..." msgstr "Сжатие дерева Ñлов..." -msgid "E756: Spell checking is not enabled" -msgstr "E756: Проверка правопиÑÐ°Ð½Ð¸Ñ Ð²Ñ‹ÐºÐ»ÑŽÑ‡ÐµÐ½Ð°" - -#, c-format -msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\"" -msgstr "" -"Предупреждение: Ðевозможно найти ÑпиÑок Ñлов \"%s_%s.spl\" или \"%s_ascii.spl" -"\"" - -#, c-format -msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\"" -msgstr "" -"Предупреждение: Ðевозможно найти ÑпиÑок Ñлов \"%s.%s.spl\" или \"%s.ascii.spl" -"\"" - #, c-format msgid "Reading spell file \"%s\"" msgstr "Чтение файла правопиÑÐ°Ð½Ð¸Ñ \"%s\"" @@ -5132,8 +5153,24 @@ msgid "E770: Unsupported section in spell file" msgstr "E770: Ðеподдерживаемый раздел в файле правопиÑаниÑ" #, c-format -msgid "Warning: region %s not supported" -msgstr "Предупреждение: регион %s не поддерживаетÑÑ" +msgid "E778: This does not look like a .sug file: %s" +msgstr "E778: Это не похоже на файл .sug: %s" + +#, c-format +msgid "E779: Old .sug file, needs to be updated: %s" +msgstr "E779: Старый файл .sug, требует обновлениÑ: %s" + +#, c-format +msgid "E780: .sug file is for newer version of Vim: %s" +msgstr "E780: Файл .sug Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ новой верÑии Vim: %s" + +#, c-format +msgid "E781: .sug file doesn't match .spl file: %s" +msgstr "E781: Файл .sug не ÑоответÑтвует файлу .spl: %s" + +#, c-format +msgid "E782: error while reading .sug file: %s" +msgstr "E782: Ошибка при чтении файла .sug: %s" #, c-format msgid "Reading affix file %s ..." @@ -5281,8 +5318,8 @@ msgid "E760: No word count in %s" msgstr "E760: КоличеÑтво Ñлов не указано в %s" #, c-format -msgid "line %6d, word %6d - %s" -msgstr "Ñтрока %6d, Ñлово %6d — %s" +msgid "line %6d, word %6ld - %s" +msgstr "Ñтрока %6d, Ñлово %6ld — %s" #, c-format msgid "Duplicate word in %s line %d: %s" @@ -5346,10 +5383,6 @@ msgstr "Сжато %d из %d узлов; оÑталоÑÑŒ %d (%d%%)" msgid "Reading back spell file..." msgstr "Чтение запиÑанного файла правопиÑаниÑ..." -#. -#. * Go through the trie of good words, soundfold each word and add it to -#. * the soundfold trie. -#. msgid "Performing soundfolding..." msgstr "Выполнение звуковой Ñвёртки..." @@ -5372,8 +5405,9 @@ msgstr "Оценка иÑÐ¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð°Ð¼Ñти при выполн msgid "E751: Output file name must not have region name" msgstr "E751: Ð˜Ð¼Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ð¾Ð³Ð¾ файла не должно Ñодержать Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ€ÐµÐ³Ð¸Ð¾Ð½Ð°" -msgid "E754: Only up to 8 regions supported" -msgstr "E754: ПоддерживаетÑÑ Ð½Ðµ более 8-ми регионов" +#, c-format +msgid "E754: Only up to %ld regions supported" +msgstr "E754: ПоддерживаетÑÑ Ð½Ðµ более %ld регионов" #, c-format msgid "E755: Invalid region in %s" @@ -5404,62 +5438,40 @@ msgstr "Слово '%.*s' добавлено в %s" msgid "E763: Word characters differ between spell files" msgstr "E763: Символы Ñлов отличаютÑÑ Ð² файлах правопиÑаниÑ" -msgid "Sorry, no suggestions" -msgstr "Извините, нет предположений" - -#, c-format -msgid "Sorry, only %ld suggestions" -msgstr "Извините, только %ld предположений" - -#. for when 'cmdheight' > 1 -#. avoid more prompt -#, c-format -msgid "Change \"%.*s\" to:" -msgstr "Заменить \"%.*s\" на:" - -#, c-format -msgid " < \"%.*s\"" -msgstr " < \"%.*s\"" - -msgid "E752: No previous spell replacement" -msgstr "E752: Ðет предыдущей замены правопиÑаниÑ" - -#, c-format -msgid "E753: Not found: %s" -msgstr "E753: Ðе найдено: %s" - -#, c-format -msgid "E778: This does not look like a .sug file: %s" -msgstr "E778: Это не похоже на файл .sug: %s" - -#, c-format -msgid "E779: Old .sug file, needs to be updated: %s" -msgstr "E779: Старый файл .sug, требует обновлениÑ: %s" - -#, c-format -msgid "E780: .sug file is for newer version of Vim: %s" -msgstr "E780: Файл .sug Ð´Ð»Ñ Ð±Ð¾Ð»ÐµÐµ новой верÑии Vim: %s" - -#, c-format -msgid "E781: .sug file doesn't match .spl file: %s" -msgstr "E781: Файл .sug не ÑоответÑтвует файлу .spl: %s" - -#, c-format -msgid "E782: error while reading .sug file: %s" -msgstr "E782: Ошибка при чтении файла .sug: %s" - -#. This should have been checked when generating the .spl -#. * file. msgid "E783: duplicate char in MAP entry" msgstr "E783: ПовторÑющийÑÑ Ñимвол в Ñлементе MAP" msgid "No Syntax items defined for this buffer" msgstr "СинтакÑичеÑкие Ñлементы Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ буфера не определены" +msgid "syntax conceal on" +msgstr "ÑинтакÑичеÑкое Ñкрытие включено" + +msgid "syntax conceal off" +msgstr "ÑинтакÑичеÑкое Ñкрытие отключено" + #, c-format msgid "E390: Illegal argument: %s" msgstr "E390: ÐедопуÑтимый параметр: %s" +msgid "syntax case ignore" +msgstr "ÑинтакÑичеÑкое игнорирование региÑтра" + +msgid "syntax case match" +msgstr "ÑинтакÑичеÑкое ÑоответÑтвие региÑтра" + +msgid "syntax spell toplevel" +msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° правопиÑÐ°Ð½Ð¸Ñ Ð²ÐµÑ€Ñ…Ð½ÐµÐ³Ð¾ уровнÑ" + +msgid "syntax spell notoplevel" +msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° правопиÑÐ°Ð½Ð¸Ñ Ð±ÐµÐ· верхнего уровнÑ" + +msgid "syntax spell default" +msgstr "ÑинтакÑичеÑÐºÐ°Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ° правопиÑÐ°Ð½Ð¸Ñ Ð¿Ð¾ умолчанию" + +msgid "syntax iskeyword " +msgstr "ÑинтакÑичеÑкое ключевое Ñлово" + #, c-format msgid "E391: No such syntax cluster: %s" msgstr "E391: СинтакÑичеÑкий клаÑтер %s не найден" @@ -5536,6 +5548,10 @@ msgstr "E847: Слишком много ÑинтакÑичеÑких включ msgid "E789: Missing ']': %s" msgstr "E789: Пропущено ']': %s" +#, c-format +msgid "E890: trailing char after ']': %s]%s" +msgstr "E890: Лишние Ñимволы поÑле ']': %s]%s" + #, c-format msgid "E398: Missing '=': %s" msgstr "E398: Пропущено '=': %s" @@ -5688,7 +5704,6 @@ msgstr "E428: Ðевозможно перейти в позицию за Ð¿Ð¾Ñ msgid "File \"%s\" does not exist" msgstr "Файл \"%s\" не ÑущеÑтвует" -#. Give an indication of the number of matching tags #, c-format msgid "tag %d of %d%s" msgstr "метка %d из %d%s" @@ -5703,7 +5718,6 @@ msgstr " ИÑпользуетÑÑ Ð¼ÐµÑ‚ÐºÐ° Ñ Ñимволами в друго msgid "E429: File \"%s\" does not exist" msgstr "E429: Файл \"%s\" не ÑущеÑтвует" -#. Highlight title msgid "" "\n" " # TO tag FROM line in file/text" @@ -5734,7 +5748,6 @@ msgstr "Перед байтом %ld" msgid "E432: Tags file not sorted: %s" msgstr "E432: Файл меток не отÑортирован: %s" -#. never opened any tags file msgid "E433: No tags file" msgstr "E433: Файл меток не обнаружен" @@ -5770,7 +5783,6 @@ msgstr "E436: Ð’ termcap нет запиÑи \"%s\"" msgid "E437: terminal capability \"cm\" required" msgstr "E437: ТребуетÑÑ ÑпоÑобноÑть терминала \"cm\"" -#. Highlight title msgid "" "\n" "--- Terminal keys ---" @@ -5778,6 +5790,35 @@ msgstr "" "\n" "--- Кнопки терминала ---" +msgid "Cannot open $VIMRUNTIME/rgb.txt" +msgstr "Ðевозможно открыть $VIMRUNTIME/rgb.txt" + +#, c-format +msgid "Kill job in \"%s\"?" +msgstr "Убить задание в \"%s\"?" + +msgid "Terminal" +msgstr "Терминал" + +msgid "Terminal-finished" +msgstr "Терминал-завершено" + +msgid "active" +msgstr "активно" + +msgid "running" +msgstr "выполнение" + +msgid "finished" +msgstr "завершено" + +#, c-format +msgid "E953: File exists: %s" +msgstr "E953: Файл ÑущеÑтвует: %s" + +msgid "E955: Not a terminal buffer" +msgstr "E955: Ðе ÑвлÑетÑÑ Ð±ÑƒÑ„ÐµÑ€Ð¾Ð¼ терминала" + msgid "new shell started\n" msgstr "запуÑк новой оболочки\n" @@ -5787,12 +5828,9 @@ msgstr "Vim: Ошибка Ñ‡Ñ‚ÐµÐ½Ð¸Ñ Ð²Ð²Ð¾Ð´Ð°, выход...\n" msgid "Used CUT_BUFFER0 instead of empty selection" msgstr "ВмеÑто пуÑтого Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸ÑпользуетÑÑ CUT_BUFFER0" -#. This happens when the FileChangedRO autocommand changes the -#. * file in a way it becomes shorter. msgid "E881: Line count changed unexpectedly" msgstr "E881: Ðеожиданно изменилÑÑ Ñчётчик Ñтрок" -#. must display the prompt msgid "No undo possible; continue anyway" msgstr "Отмена невозможна; продолжать выполнение" @@ -5915,7 +5953,7 @@ msgstr " номер измен. когда Ñохранено" #, c-format msgid "%ld seconds ago" -msgstr "%ld Ñ Ð½Ð°Ð·Ð°Ð´" +msgstr "%ldÑ Ð½Ð°Ð·Ð°Ð´" msgid "E790: undojoin is not allowed after undo" msgstr "E790: Объединение отмен не допуÑкаетÑÑ Ð¿Ð¾Ñле отмены" @@ -5926,13 +5964,133 @@ msgstr "E439: Повреждён ÑпиÑок отмены" msgid "E440: undo line missing" msgstr "E440: ПотерÑна Ñтрока отмены" -#. Only MS VC 4.1 and earlier can do Win32s -msgid "" -"\n" -"MS-Windows 16/32-bit GUI version" -msgstr "" -"\n" -"ВерÑÐ¸Ñ Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑким интерфейÑом Ð´Ð»Ñ MS-Windows 16/32 бит" +#, c-format +msgid "E122: Function %s already exists, add ! to replace it" +msgstr "E122: Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ %s уже ÑущеÑтвует. Добавьте !, чтобы заменить её." + +msgid "E717: Dictionary entry already exists" +msgstr "E717: ЗапиÑÑŒ уже ÑущеÑтвует в Ñловаре" + +msgid "E718: Funcref required" +msgstr "E718: ТребуетÑÑ ÑÑылка на функцию" + +#, c-format +msgid "E130: Unknown function: %s" +msgstr "E130: ÐеизвеÑÑ‚Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ: %s" + +#, c-format +msgid "E125: Illegal argument: %s" +msgstr "E125: ÐедопуÑтимый параметр: %s" + +#, c-format +msgid "E853: Duplicate argument name: %s" +msgstr "E853: ПовторÑющееÑÑ Ð¸Ð¼Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°: %s" + +#, c-format +msgid "E740: Too many arguments for function %s" +msgstr "E740: Слишком много параметров Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %s" + +#, c-format +msgid "E116: Invalid arguments for function %s" +msgstr "E116: Параметры Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %s заданы неверно" + +msgid "E132: Function call depth is higher than 'maxfuncdepth'" +msgstr "E132: Глубина вызова функции больше, чем значение 'maxfuncdepth'" + +#, c-format +msgid "calling %s" +msgstr "вызов %s" + +#, c-format +msgid "%s aborted" +msgstr "%s прервана" + +#, c-format +msgid "%s returning #%ld" +msgstr "%s возвращает #%ld" + +#, c-format +msgid "%s returning %s" +msgstr "%s возвращает %s" + +msgid "E699: Too many arguments" +msgstr "E699: Слишком много параметров" + +#, c-format +msgid "E117: Unknown function: %s" +msgstr "E117: ÐеизвеÑÑ‚Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ: %s" + +#, c-format +msgid "E933: Function was deleted: %s" +msgstr "E933: Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð°: %s" + +#, c-format +msgid "E119: Not enough arguments for function: %s" +msgstr "E119: ÐедоÑтаточно параметров Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %s" + +#, c-format +msgid "E120: Using not in a script context: %s" +msgstr "E120: иÑпользуетÑÑ Ð²Ð½Ðµ ÑценариÑ: %s" + +#, c-format +msgid "E725: Calling dict function without Dictionary: %s" +msgstr "E725: Вызов функции dict без ÑловарÑ: %s" + +msgid "E129: Function name required" +msgstr "E129: ТребуетÑÑ Ð¸Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸" + +#, c-format +msgid "E128: Function name must start with a capital or \"s:\": %s" +msgstr "E128: Ð˜Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ должно начинатьÑÑ Ñ Ð·Ð°Ð³Ð»Ð°Ð²Ð½Ð¾Ð¹ буквы или \"s:\": %s" + +#, c-format +msgid "E884: Function name cannot contain a colon: %s" +msgstr "E884: Ð˜Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ не может Ñодержать двоеточие: %s" + +#, c-format +msgid "E123: Undefined function: %s" +msgstr "E123: ÐÐµÐ¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘Ð½Ð½Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ: %s" + +#, c-format +msgid "E124: Missing '(': %s" +msgstr "E124: Пропущена '(': %s" + +msgid "E862: Cannot use g: here" +msgstr "E862: ЗдеÑÑŒ невозможно иÑпользовать g:" + +#, c-format +msgid "E932: Closure function should not be at top level: %s" +msgstr "E932: функциÑ-замыкание не должна быть на верхнем уровне: %s" + +msgid "E126: Missing :endfunction" +msgstr "E126: Пропущена команда :endfunction" + +#, c-format +msgid "W22: Text found after :endfunction: %s" +msgstr "W22: ТекÑÑ‚ поÑле :endfunction: %s" + +#, c-format +msgid "E707: Function name conflicts with variable: %s" +msgstr "E707: Ð˜Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ конфликтует Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹: %s" + +#, c-format +msgid "E127: Cannot redefine function %s: It is in use" +msgstr "E127: Ðевозможно переопределить функцию %s, она иÑпользуетÑÑ" + +#, c-format +msgid "E746: Function name does not match script file name: %s" +msgstr "E746: Ð˜Ð¼Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ не ÑоответÑтвует имени файла ÑценариÑ: %s" + +#, c-format +msgid "E131: Cannot delete function %s: It is in use" +msgstr "E131: Ðевозможно удалить функцию %s, она иÑпользуетÑÑ" + +msgid "E133: :return not inside a function" +msgstr "E133: команда :return вне функции" + +#, c-format +msgid "E107: Missing parentheses: %s" +msgstr "E107: Пропущены Ñкобки: %s" msgid "" "\n" @@ -5948,9 +6106,6 @@ msgstr "" "\n" "ВерÑÐ¸Ñ Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑким интерфейÑом Ð´Ð»Ñ MS-Windows 32 бит" -msgid " in Win32s mode" -msgstr " в режиме Win32" - msgid " with OLE support" msgstr " Ñ Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶ÐºÐ¾Ð¹ OLE" @@ -5970,45 +6125,17 @@ msgstr "" msgid "" "\n" -"MS-Windows 16-bit version" +"macOS version" msgstr "" "\n" -"ВерÑÐ¸Ñ Ð´Ð»Ñ MS-Windows 16 бит" +"ВерÑÐ¸Ñ Ð´Ð»Ñ macOS" msgid "" "\n" -"32-bit MS-DOS version" +"macOS version w/o darwin feat." msgstr "" "\n" -"ВерÑÐ¸Ñ Ð´Ð»Ñ MS-DOS 32 бит" - -msgid "" -"\n" -"16-bit MS-DOS version" -msgstr "" -"\n" -"ВерÑÐ¸Ñ Ð´Ð»Ñ MS-DOS 16 бит" - -msgid "" -"\n" -"MacOS X (unix) version" -msgstr "" -"\n" -"ВерÑÐ¸Ñ Ð´Ð»Ñ MacOS X (unix)" - -msgid "" -"\n" -"MacOS X version" -msgstr "" -"\n" -"ВерÑÐ¸Ñ Ð´Ð»Ñ MacOS X" - -msgid "" -"\n" -"MacOS version" -msgstr "" -"\n" -"ВерÑÐ¸Ñ Ð´Ð»Ñ MacOS" +"ВерÑÐ¸Ñ Ð´Ð»Ñ macOS без darwin" msgid "" "\n" @@ -6039,7 +6166,7 @@ msgid "" "Compiled " msgstr "" "\n" -"Скомпилирован " +"Скомпилировано: " msgid "by " msgstr " " @@ -6077,11 +6204,14 @@ msgid "" "Tiny version " msgstr "" "\n" -"ВерÑÐ¸Ñ \"Кроха\" " +"ÐšÑ€Ð¾Ñ…Ð¾Ñ‚Ð½Ð°Ñ Ð²ÐµÑ€ÑÐ¸Ñ " msgid "without GUI." msgstr "без графичеÑкого интерфейÑа." +msgid "with GTK3 GUI." +msgstr "Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑким интерфейÑом GTK3." + msgid "with GTK2-GNOME GUI." msgstr "Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑким интерфейÑом GTK2-GNOME." @@ -6109,11 +6239,8 @@ msgstr "Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑким интерфейÑом Carbon." msgid "with Cocoa GUI." msgstr "Ñ Ð³Ñ€Ð°Ñ„Ð¸Ñ‡ÐµÑким интерфейÑом Cocoa." -msgid "with (classic) GUI." -msgstr "Ñ ÐºÐ»Ð°ÑÑичеÑким графичеÑким интерфейÑом." - msgid " Features included (+) or not (-):\n" -msgstr " Включённые (+) и отключённые (-) оÑобенноÑти:\n" +msgstr " Включённые(+) и отключённые(-) оÑобенноÑти:\n" msgid " system vimrc file: \"" msgstr " общеÑиÑтемный файл vimrc: \"" @@ -6145,6 +6272,9 @@ msgstr " второй пользовательÑкий файл gvimrc: \"" msgid "3rd user gvimrc file: \"" msgstr " третий пользовательÑкий файл gvimrc: \"" +msgid " defaults file: \"" +msgstr " файл умолчаний: \"" + msgid " system menu file: \"" msgstr " общеÑиÑтемный файл меню: \"" @@ -6176,7 +6306,7 @@ msgid "by Bram Moolenaar et al." msgstr "Брам Мооленаар и другие" msgid "Vim is open source and freely distributable" -msgstr "Vim Ñто Ñвободно раÑпроÑтранÑÐµÐ¼Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ кодом" +msgstr "Vim — Ñвободно раÑпроÑтранÑÐµÐ¼Ð°Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð° Ñ Ð¾Ñ‚ÐºÑ€Ñ‹Ñ‚Ñ‹Ð¼ кодом" msgid "Help poor children in Uganda!" msgstr "Бедным детÑм в Уганде нужна ваша помощь!" @@ -6191,7 +6321,7 @@ msgid "type :help or for on-line help" msgstr "наберите :help или Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ñправки " msgid "type :help version8 for version info" -msgstr "наберите :help version8 чтобы узнать об Ñтой верÑии " +msgstr "наберите :help version8 Ð´Ð»Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ о верÑии " msgid "Running in Vi compatible mode" msgstr "Работа в Vi-ÑовмеÑтимом режиме" @@ -6235,12 +6365,6 @@ msgstr "наберите :help register Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð½ msgid "menu Help->Sponsor/Register for information " msgstr "меню Справка->Помощь/РегиÑÑ‚Ñ€Ð°Ñ†Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ " -msgid "WARNING: Windows 95/98/ME detected" -msgstr "ПРЕДУПРЕЖДЕÐИЕ: обнаружена Windows 95/98/ME" - -msgid "type :help windows95 for info on this" -msgstr "наберите :help windows95 Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð½Ñ„Ð¾Ñ€Ð¼Ð°Ñ†Ð¸Ð¸ " - msgid "Already only one window" msgstr "Ðа Ñкране вÑего одно окно" @@ -6272,9 +6396,25 @@ msgstr "E446: Ðет имени файла в позиции курÑора" msgid "E447: Can't find file \"%s\" in path" msgstr "E447: Файл \"%s\" не найден по извеÑтным путÑм" +#, c-format +msgid "E799: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E799: Ðеверный ID: %ld (должен быть больше или равен 1)" + +#, c-format +msgid "E801: ID already taken: %ld" +msgstr "E801: ID уже занÑÑ‚: %ld" + msgid "List or number required" msgstr "ТребуетÑÑ ÑпиÑок или чиÑло" +#, c-format +msgid "E802: Invalid ID: %ld (must be greater than or equal to 1)" +msgstr "E802: Ðеверный ID: %ld (должен быть больше или равен 1)" + +#, c-format +msgid "E803: ID not found: %ld" +msgstr "E803: ID не найден: %ld" + #, c-format msgid "E370: Could not load library %s" msgstr "E370: Ðевозможно загрузить библиотеку %s" @@ -6299,7 +6439,6 @@ msgstr "Сравнить Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Vim" msgid "Edit with &Vim" msgstr "Ре&дактировать Ñ Ð¿Ð¾Ð¼Ð¾Ñ‰ÑŒÑŽ Vim" -#. Now concatenate msgid "Edit with existing Vim - " msgstr "Редактировать в запущенном Vim — " @@ -6318,10 +6457,6 @@ msgstr "Слишком длинный путь!" msgid "--No lines in buffer--" msgstr "-- Ðет Ñтрок в буфере --" -#. -#. * 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: Выполнение команды прервано" @@ -6378,6 +6513,10 @@ msgstr "E236: Шрифт \"%s\" не ÑвлÑетÑÑ Ð¼Ð¾Ð½Ð¾ÑˆÐ¸Ñ€Ð¸Ð½Ð½Ñ‹Ð¼" msgid "E473: Internal error" msgstr "E473: ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°" +#, c-format +msgid "E685: Internal error: %s" +msgstr "E685: ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s" + msgid "Interrupted" msgstr "Прервано" @@ -6391,6 +6530,14 @@ msgstr "E474: ÐедопуÑтимый параметр" msgid "E475: Invalid argument: %s" msgstr "E475: ÐедопуÑтимый параметр: %s" +#, c-format +msgid "E475: Invalid value for argument %s" +msgstr "E475: ÐедопуÑтимое значение параметра: %s" + +#, c-format +msgid "E475: Invalid value for argument %s: %s" +msgstr "E475: ÐедопуÑтимое значение параметра %s: %s" + #, c-format msgid "E15: Invalid expression: %s" msgstr "E15: ÐедопуÑтимое выражение: %s" @@ -6409,6 +6556,9 @@ msgstr "E17: \"%s\" ÑвлÑетÑÑ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð¾Ð¼" msgid "E364: Library call failed for \"%s()\"" msgstr "E364: Ðеудачный вызов функции \"%s()\" из библиотеки" +msgid "E667: Fsync failed" +msgstr "E667: Ðе удалоÑÑŒ выполнить функцию fsync()" + #, c-format msgid "E448: Could not load library function %s" msgstr "E448: Ðе удалоÑÑŒ загрузить функцию %s из библиотеки" @@ -6505,12 +6655,6 @@ msgstr "E484: Ðевозможно открыть файл %s" msgid "E485: Can't read file %s" msgstr "E485: Ðевозможно прочитать файл %s" -msgid "E37: No write since last change (add ! to override)" -msgstr "E37: Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ Ñохранены (добавьте !, чтобы обойти проверку)" - -msgid "E37: No write since last change" -msgstr "E37: Ð˜Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ðµ Ñохранены" - msgid "E38: Null argument" msgstr "E38: Ðулевой параметр" @@ -6563,6 +6707,31 @@ msgstr "E46: Ðевозможно изменить переменную толь msgid "E794: Cannot set variable in the sandbox: \"%s\"" msgstr "E794: Ðевозможно изменить переменную в пеÑочнице: \"%s\"" +msgid "E713: Cannot use empty key for Dictionary" +msgstr "E713: Ðевозможно иÑпользовать пуÑтой ключ Ð´Ð»Ñ ÑловарÑ" + +msgid "E715: Dictionary required" +msgstr "E715: ТребуетÑÑ Ñловарь" + +#, c-format +msgid "E684: list index out of range: %ld" +msgstr "E684: Ð˜Ð½Ð´ÐµÐºÑ ÑпиÑка за пределами диапазона: %ld" + +#, c-format +msgid "E118: Too many arguments for function: %s" +msgstr "E118: Слишком много параметров Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ %s" + +#, c-format +msgid "E716: Key not present in Dictionary: %s" +msgstr "E716: Ðет ключа в Ñловаре: %s" + +msgid "E714: List required" +msgstr "E714: ТребуетÑÑ ÑпиÑок" + +#, c-format +msgid "E712: Argument of %s must be a List or Dictionary" +msgstr "E712: Параметр %s должен быть ÑпиÑком или Ñловарём" + msgid "E47: Error while reading errorfile" msgstr "E47: Ошибка при чтении файла ошибок" @@ -6622,8 +6791,8 @@ msgstr "" msgid "E80: Error while writing" msgstr "E80: Ошибка при запиÑи" -msgid "Zero count" -msgstr "Ðулевое значение Ñчётчика" +msgid "E939: Positive count required" +msgstr "E939: ТребуетÑÑ Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ñ‹Ð¹ Ñчётчик" msgid "E81: Using not in a script context" msgstr "E81: ИÑпользование вне контекÑта ÑценариÑ" @@ -6637,16 +6806,16 @@ msgstr "E463: Ðевозможно изменить охранÑемую обл msgid "E744: NetBeans does not allow changes in read-only files" msgstr "E744: NetBeans не допуÑкает изменений в файлах только Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ" -#, c-format -msgid "E685: Internal error: %s" -msgstr "E685: ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: %s" - msgid "E363: pattern uses more memory than 'maxmempattern'" msgstr "E363: Шаблон иÑпользует больше памÑти чем 'maxmempattern'" msgid "E749: empty buffer" msgstr "E749: ПуÑтой буфер" +#, c-format +msgid "E86: Buffer %ld does not exist" +msgstr "E86: Буфер %ld не ÑущеÑтвует" + msgid "E682: Invalid search pattern or delimiter" msgstr "E682: ÐÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð°Ñ Ñтрока поиÑка или разделитель" @@ -6660,6 +6829,13 @@ msgstr "E764: ÐžÐ¿Ñ†Ð¸Ñ '%s' не уÑтановлена" msgid "E850: Invalid register name" msgstr "E850: ÐедопуÑтимое Ð¸Ð¼Ñ Ñ€ÐµÐ³Ð¸Ñтра" +#, c-format +msgid "E919: Directory not found in '%s': \"%s\"" +msgstr "E919: Каталог не найден в '%s': \"%s\"" + +msgid "E952: Autocommand caused recursive behavior" +msgstr "E952: Ðвтокоманда вызвала рекурÑивное поведение" + msgid "search hit TOP, continuing at BOTTOM" msgstr "ПоиÑк будет продолжен Ñ ÐšÐžÐЦРдокумента" @@ -6767,7 +6943,6 @@ msgstr "КонÑтруктор ÑпиÑка не допуÑкает ключев msgid "list index out of range" msgstr "Ð˜Ð½Ð´ÐµÐºÑ ÑпиÑка за пределами диапазона" -#. No more suitable format specifications in python-2.3 #, c-format msgid "internal error: failed to get vim list item %d" msgstr "ВнутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: не удалоÑÑŒ получить Ñлемент VIM-ÑпиÑка %d" @@ -6814,9 +6989,6 @@ msgstr "Ðе ÑущеÑтвует безымÑнной функции %s" msgid "function %s does not exist" msgstr "Ð¤ÑƒÐ½ÐºÑ†Ð¸Ñ %s не ÑущеÑтвует" -msgid "function constructor does not accept keyword arguments" -msgstr "КонÑтруктор функции не допуÑкает ключевые Ñлова как аргументы" - #, c-format msgid "failed to run function %s" msgstr "Ðевозможно выполнить функцию %s" @@ -6904,6 +7076,10 @@ msgstr "" msgid "unable to convert %s to vim dictionary" msgstr "Ðевозможно преобразовать %s в Ñловарь VIM" +#, c-format +msgid "unable to convert %s to vim list" +msgstr "Ðевозможно преобразовать %s в ÑпиÑок VIM" + #, c-format msgid "unable to convert %s to vim structure" msgstr "Ðевозможно преобразовать %s в Ñтруктуру VIM" @@ -6932,3 +7108,4 @@ msgstr "" "Ошибка при уÑтановке пути: sys.path не ÑвлÑетÑÑ ÑпиÑком\n" "Следует добавить vim.VIM_SPECIAL_PATH в sys.path" + diff --git a/src/proto/eval.pro b/src/proto/eval.pro index 6f16ce0de0..3bbe8154ac 100644 --- a/src/proto/eval.pro +++ b/src/proto/eval.pro @@ -121,15 +121,15 @@ void last_set_msg(scid_T scriptID); void reset_v_option_vars(void); void prepare_assert_error(garray_T *gap); void assert_error(garray_T *gap); -void assert_equal_common(typval_T *argvars, assert_type_T atype); -void assert_equalfile(typval_T *argvars); -void assert_match_common(typval_T *argvars, assert_type_T atype); -void assert_inrange(typval_T *argvars); -void assert_bool(typval_T *argvars, int isTrue); -void assert_report(typval_T *argvars); -void assert_exception(typval_T *argvars); -void assert_beeps(typval_T *argvars); -void assert_fails(typval_T *argvars); +int assert_equal_common(typval_T *argvars, assert_type_T atype); +int assert_equalfile(typval_T *argvars); +int assert_match_common(typval_T *argvars, assert_type_T atype); +int assert_inrange(typval_T *argvars); +int assert_bool(typval_T *argvars, int isTrue); +int assert_report(typval_T *argvars); +int assert_exception(typval_T *argvars); +int assert_beeps(typval_T *argvars); +int assert_fails(typval_T *argvars); void fill_assert_error(garray_T *gap, typval_T *opt_msg_tv, char_u *exp_str, typval_T *exp_tv, typval_T *got_tv, assert_type_T atype); int typval_compare(typval_T *typ1, typval_T *typ2, exptype_T type, int type_is, int ic); char_u *typval_tostring(typval_T *arg); diff --git a/src/proto/fileio.pro b/src/proto/fileio.pro index 12d5c14ff3..990348143b 100644 --- a/src/proto/fileio.pro +++ b/src/proto/fileio.pro @@ -11,6 +11,7 @@ void msg_add_fname(buf_T *buf, char_u *fname); void msg_add_lines(int insert_space, long lnum, off_T nchars); char_u *shorten_fname1(char_u *full_path); char_u *shorten_fname(char_u *full_path, char_u *dir_name); +void shorten_buf_fname(buf_T *buf, char_u *dirname, int force); void shorten_fnames(int force); void shorten_filenames(char_u **fnames, int count); char_u *modname(char_u *fname, char_u *ext, int prepend_dot); diff --git a/src/proto/os_win32.pro b/src/proto/os_win32.pro index 1bed98aaf5..7f45c5cf16 100644 --- a/src/proto/os_win32.pro +++ b/src/proto/os_win32.pro @@ -72,4 +72,5 @@ int mch_setenv(char *var, char *value, int x); void control_console_color_rgb(void); int has_vtp_working(void); int use_vtp(void); +int is_term_win32(void); /* vim: set ft=c : */ diff --git a/src/proto/term.pro b/src/proto/term.pro index 42405dda5f..333df92d6a 100644 --- a/src/proto/term.pro +++ b/src/proto/term.pro @@ -76,4 +76,5 @@ void update_tcap(int attr); void swap_tcap(void); guicolor_T gui_get_color_cmn(char_u *name); guicolor_T gui_get_rgb_color_cmn(int r, int g, int b); +void cterm_color2rgb(int nr, uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *ansi_idx); /* vim: set ft=c : */ diff --git a/src/quickfix.c b/src/quickfix.c index cc6fe0a075..385438b55f 100644 --- a/src/quickfix.c +++ b/src/quickfix.c @@ -33,6 +33,7 @@ struct qfline_S int qf_fnum; /* file number for the line */ int qf_col; /* column where the error occurred */ int qf_nr; /* error number */ + char_u *qf_module; /* module name for this error */ char_u *qf_pattern; /* search pattern for the error */ char_u *qf_text; /* description of the error */ char_u qf_viscol; /* set to TRUE if qf_col is screen column */ @@ -101,7 +102,7 @@ struct qf_info_S static qf_info_T ql_info; /* global quickfix list */ static int_u last_qf_id = 0; /* Last used quickfix list id */ -#define FMT_PATTERNS 10 /* maximum number of % recognized */ +#define FMT_PATTERNS 11 /* maximum number of % recognized */ /* * Structure used to hold the info of one part of 'errorformat' @@ -135,7 +136,8 @@ static efm_T *fmt_start = NULL; /* cached across qf_parse_line() calls */ static int qf_init_ext(qf_info_T *qi, int qf_idx, char_u *efile, buf_T *buf, typval_T *tv, char_u *errorformat, int newlist, linenr_T lnumfirst, linenr_T lnumlast, char_u *qf_title, char_u *enc); static void qf_new_list(qf_info_T *qi, char_u *qf_title); -static int qf_add_entry(qf_info_T *qi, int qf_idx, char_u *dir, char_u *fname, int bufnum, char_u *mesg, long lnum, int col, int vis_col, char_u *pattern, int nr, int type, int valid); +static int qf_add_entry(qf_info_T *qi, int qf_idx, char_u *dir, char_u *fname, char_u *module, int bufnum, char_u *mesg, long lnum, int col, int vis_col, char_u *pattern, int nr, int type, int valid); +static qf_info_T *ll_new_list(void); static void qf_free(qf_info_T *qi, int idx); static char_u *qf_types(int, int); static int qf_get_fnum(qf_info_T *qi, int qf_idx, char_u *, char_u *); @@ -221,7 +223,8 @@ static struct fmtpattern {'r', ".*"}, {'p', "[- .]*"}, {'v', "\\d\\+"}, - {'s', ".\\+"} + {'s', ".\\+"}, + {'o', ".\\+"} }; /* @@ -809,6 +812,7 @@ qf_get_nextline(qfstate_T *state) typedef struct { char_u *namebuf; + char_u *module; char_u *errmsg; int errmsglen; long lnum; @@ -868,6 +872,7 @@ restofline: if (qfl->qf_multiscan && vim_strchr((char_u *)"OPQ", idx) == NULL) continue; fields->namebuf[0] = NUL; + fields->module[0] = NUL; fields->pattern[0] = NUL; if (!qfl->qf_multiscan) fields->errmsg[0] = NUL; @@ -1008,6 +1013,15 @@ restofline: fields->pattern[len + 4] = '$'; fields->pattern[len + 5] = NUL; } + if ((i = (int)fmt_ptr->addr[10]) > 0) /* %o */ + { + if (regmatch.startp[i] == NULL) + continue; + len = (int)(regmatch.endp[i] - regmatch.startp[i]); + if (len > CMDBUFFSIZE) + len = CMDBUFFSIZE; + STRNCAT(fields->module, regmatch.startp[i], len); + } break; } } @@ -1181,11 +1195,12 @@ qf_init_ext( convert_setup(&state.vc, enc, p_enc); #endif fields.namebuf = alloc_id(CMDBUFFSIZE + 1, aid_qf_namebuf); + fields.module = alloc_id(CMDBUFFSIZE + 1, aid_qf_module); fields.errmsglen = CMDBUFFSIZE + 1; fields.errmsg = alloc_id(fields.errmsglen, aid_qf_errmsg); fields.pattern = alloc_id(CMDBUFFSIZE + 1, aid_qf_pattern); if (fields.namebuf == NULL || fields.errmsg == NULL - || fields.pattern == NULL) + || fields.pattern == NULL || fields.module == NULL) goto qf_init_end; if (efile != NULL && (state.fd = mch_fopen((char *)efile, "r")) == NULL) @@ -1282,6 +1297,7 @@ qf_init_ext( ? fields.namebuf : ((qfl->qf_currfile != NULL && fields.valid) ? qfl->qf_currfile : (char_u *)NULL), + fields.module, 0, fields.errmsg, fields.lnum, @@ -1327,6 +1343,7 @@ qf_init_end: if (state.fd != NULL) fclose(state.fd); vim_free(fields.namebuf); + vim_free(fields.module); vim_free(fields.errmsg); vim_free(fields.pattern); vim_free(state.growbuf); @@ -1444,6 +1461,7 @@ qf_add_entry( int qf_idx, /* list index */ char_u *dir, /* optional directory name */ char_u *fname, /* file name or NULL */ + char_u *module, /* module name or NULL */ int bufnum, /* buffer number or zero */ char_u *mesg, /* message */ long lnum, /* line number */ @@ -1486,6 +1504,15 @@ qf_add_entry( vim_free(qfp); return FAIL; } + if (module == NULL || *module == NUL) + qfp->qf_module = NULL; + else if ((qfp->qf_module = vim_strsave(module)) == NULL) + { + vim_free(qfp->qf_text); + vim_free(qfp->qf_pattern); + vim_free(qfp); + return FAIL; + } qfp->qf_nr = nr; if (type != 1 && !vim_isprintc(type)) /* only printable chars allowed */ type = 0; @@ -1635,6 +1662,7 @@ copy_loclist(win_T *from, win_T *to) to->w_llist->qf_curlist, NULL, NULL, + from_qfp->qf_module, 0, from_qfp->qf_text, from_qfp->qf_lnum, @@ -2351,7 +2379,7 @@ qf_jump_edit_buffer( if (!can_abandon(curbuf, forceit)) { no_write_message(); - retval = FALSE; + retval = FAIL; } else retval = do_ecmd(qf_ptr->qf_fnum, NULL, NULL, NULL, (linenr_T)1, @@ -2395,7 +2423,7 @@ qf_jump_edit_buffer( } if (*abort) - retval = FALSE; + retval = FAIL; } return retval; @@ -2736,6 +2764,9 @@ qf_list(exarg_T *eap) idx2 = (-idx2 > i) ? 0 : idx2 + i + 1; } + /* Shorten all the file names, so that it is easy to read */ + shorten_fnames(FALSE); + /* * Get the attributes for the different quickfix highlight items. Note * that this depends on syntax items defined in the qf.vim syntax file @@ -2762,18 +2793,22 @@ qf_list(exarg_T *eap) break; fname = NULL; - if (qfp->qf_fnum != 0 - && (buf = buflist_findnr(qfp->qf_fnum)) != NULL) - { - fname = buf->b_fname; - if (qfp->qf_type == 1) /* :helpgrep */ - fname = gettail(fname); + if (qfp->qf_module != NULL && *qfp->qf_module != NUL) + vim_snprintf((char *)IObuff, IOSIZE, "%2d %s", i, (char *)qfp->qf_module); + else { + if (qfp->qf_fnum != 0 + && (buf = buflist_findnr(qfp->qf_fnum)) != NULL) + { + fname = buf->b_fname; + if (qfp->qf_type == 1) /* :helpgrep */ + fname = gettail(fname); + } + if (fname == NULL) + sprintf((char *)IObuff, "%2d", i); + else + vim_snprintf((char *)IObuff, IOSIZE, "%2d %s", + i, (char *)fname); } - if (fname == NULL) - sprintf((char *)IObuff, "%2d", i); - else - vim_snprintf((char *)IObuff, IOSIZE, "%2d %s", - i, (char *)fname); msg_outtrans_attr(IObuff, i == qi->qf_lists[qi->qf_curlist].qf_index ? HL_ATTR(HLF_QFL) : qfFileAttr); @@ -2954,9 +2989,10 @@ qf_free_items(qf_info_T *qi, int idx) qfpnext = qfp->qf_next; if (!stop) { + vim_free(qfp->qf_module); vim_free(qfp->qf_text); - stop = (qfp == qfpnext); vim_free(qfp->qf_pattern); + stop = (qfp == qfpnext); vim_free(qfp); if (stop) /* Somehow qf_count may have an incorrect value, set it to 1 @@ -3542,6 +3578,10 @@ qf_fill_buffer(qf_info_T *qi, buf_T *buf, qfline_T *old_last) /* Check if there is anything to display */ if (qi->qf_curlist < qi->qf_listcount) { + char_u dirname[MAXPATHL]; + + *dirname = NUL; + /* Add one line for each error */ if (old_last == NULL) { @@ -3555,14 +3595,29 @@ qf_fill_buffer(qf_info_T *qi, buf_T *buf, qfline_T *old_last) } while (lnum < qi->qf_lists[qi->qf_curlist].qf_count) { - if (qfp->qf_fnum != 0 + if (qfp->qf_module != NULL) + { + STRCPY(IObuff, qfp->qf_module); + len = (int)STRLEN(IObuff); + } + else if (qfp->qf_fnum != 0 && (errbuf = buflist_findnr(qfp->qf_fnum)) != NULL && errbuf->b_fname != NULL) { if (qfp->qf_type == 1) /* :helpgrep */ STRCPY(IObuff, gettail(errbuf->b_fname)); else + { + /* shorten the file name if not done already */ + if (errbuf->b_sfname == NULL + || mch_isFullName(errbuf->b_sfname)) + { + if (*dirname == NUL) + mch_dirname(dirname, MAXPATHL); + shorten_buf_fname(errbuf, dirname, FALSE); + } STRCPY(IObuff, errbuf->b_fname); + } len = (int)STRLEN(IObuff); } else @@ -4115,7 +4170,8 @@ ex_cfile(exarg_T *eap) if (cmdmod.browse) { char_u *browse_file = do_browse(0, (char_u *)_("Error file"), eap->arg, - NULL, NULL, BROWSE_FILTER_ALL_FILES, NULL); + NULL, NULL, + (char_u *)_(BROWSE_FILTER_ALL_FILES), NULL); if (browse_file == NULL) return; set_string_option_direct((char_u *)"ef", -1, browse_file, OPT_FREE, 0); @@ -4172,7 +4228,7 @@ qf_id2nr(qf_info_T *qi, int_u qfid) for (qf_idx = 0; qf_idx < qi->qf_listcount; qf_idx++) if (qi->qf_lists[qf_idx].qf_id == qfid) return qf_idx; - return -1; + return INVALID_QFIDX; } /* @@ -4349,6 +4405,7 @@ vgr_match_buflines( qi->qf_curlist, NULL, /* dir */ fname, + NULL, duplicate_name ? 0 : buf->b_fnum, ml_get_buf(buf, regmatch->startpos[0].lnum + lnum, FALSE), @@ -4889,7 +4946,7 @@ get_errorlist(qf_info_T *qi_arg, win_T *wp, int qf_idx, list_T *list) } } - if (qf_idx == -1) + if (qf_idx == INVALID_QFIDX) qf_idx = qi->qf_curlist; if (qf_idx >= qi->qf_listcount @@ -4916,6 +4973,8 @@ get_errorlist(qf_info_T *qi_arg, win_T *wp, int qf_idx, list_T *list) || dict_add_nr_str(dict, "col", (long)qfp->qf_col, NULL) == FAIL || dict_add_nr_str(dict, "vcol", (long)qfp->qf_viscol, NULL) == FAIL || dict_add_nr_str(dict, "nr", (long)qfp->qf_nr, NULL) == FAIL + || dict_add_nr_str(dict, "module", 0L, + qfp->qf_module == NULL ? (char_u *)"" : qfp->qf_module) == FAIL || dict_add_nr_str(dict, "pattern", 0L, qfp->qf_pattern == NULL ? (char_u *)"" : qfp->qf_pattern) == FAIL || dict_add_nr_str(dict, "text", 0L, @@ -5294,7 +5353,7 @@ qf_add_entries( { listitem_T *li; dict_T *d; - char_u *filename, *pattern, *text, *type; + char_u *filename, *module, *pattern, *text, *type; int bufnum; long lnum; int col, nr; @@ -5329,6 +5388,7 @@ qf_add_entries( continue; filename = get_dict_string(d, (char_u *)"filename", TRUE); + module = get_dict_string(d, (char_u *)"module", TRUE); bufnum = (int)get_dict_number(d, (char_u *)"bufnr"); lnum = (int)get_dict_number(d, (char_u *)"lnum"); col = (int)get_dict_number(d, (char_u *)"col"); @@ -5365,6 +5425,7 @@ qf_add_entries( qf_idx, NULL, /* dir */ filename, + module, bufnum, text, lnum, @@ -5376,6 +5437,7 @@ qf_add_entries( valid); vim_free(filename); + vim_free(module); vim_free(pattern); vim_free(text); vim_free(type); @@ -6022,6 +6084,7 @@ hgr_search_file( qi->qf_curlist, NULL, /* dir */ fname, + NULL, 0, line, lnum, @@ -6086,7 +6149,7 @@ hgr_search_files_in_dir( /* Skip files for a different language. */ if (lang != NULL && STRNICMP(lang, fnames[fi] - + STRLEN(fnames[fi]) - 3, 2) != 0 + + STRLEN(fnames[fi]) - 3, 2) != 0 && !(STRNICMP(lang, "en", 2) == 0 && STRNICMP("txt", fnames[fi] + STRLEN(fnames[fi]) - 3, 3) == 0)) diff --git a/src/syntax.c b/src/syntax.c index f28f87a778..e69404149f 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -7224,6 +7224,8 @@ load_colors(char_u *name) buf = alloc((unsigned)(STRLEN(name) + 12)); if (buf != NULL) { + apply_autocmds(EVENT_COLORSCHEMEPRE, name, + curbuf->b_fname, FALSE, curbuf); sprintf((char *)buf, "colors/%s.vim", name); retval = source_runtime(buf, DIP_START + DIP_OPT); vim_free(buf); diff --git a/src/term.c b/src/term.c index c0117f006c..6998375360 100644 --- a/src/term.c +++ b/src/term.c @@ -2015,11 +2015,6 @@ set_termname(char_u *term) may_req_termresponse(); #endif -#if defined(WIN3264) && !defined(FEAT_GUI) && defined(FEAT_TERMGUICOLORS) - if (STRCMP(term, "win32") == 0) - set_color_count((p_tgc) ? 256 : 16); -#endif - return OK; } @@ -2857,7 +2852,11 @@ term_color(char_u *s, int n) /* Also accept "\e[3%dm" for TERMINFO, it is sometimes used */ /* Also accept CSI instead of [ */ if (n >= 8 && t_colors >= 16 - && ((s[0] == ESC && s[1] == '[') || (s[0] == CSI && (i = 1) == 1)) + && ((s[0] == ESC && s[1] == '[') +#if defined(FEAT_VTP) && defined(FEAT_TERMGUICOLORS) + || (s[0] == ESC && s[1] == '|') +#endif + || (s[0] == CSI && (i = 1) == 1)) && s[i] != NUL && (STRCMP(s + i + 1, "%p1%dm") == 0 || STRCMP(s + i + 1, "%dm") == 0) @@ -2869,7 +2868,11 @@ term_color(char_u *s, int n) char *format = "%s%s%%dm"; #endif sprintf(buf, format, - i == 2 ? IF_EB("\033[", ESC_STR "[") : "\233", + i == 2 ? +#if defined(FEAT_VTP) && defined(FEAT_TERMGUICOLORS) + s[1] == '|' ? IF_EB("\033|", ESC_STR "|") : +#endif + IF_EB("\033[", ESC_STR "[") : "\233", s[i] == '3' ? (n >= 16 ? "38;5;" : "9") : (n >= 16 ? "48;5;" : "10")); OUT_STR(tgoto(buf, 0, n >= 16 ? n : n - 8)); @@ -6646,26 +6649,38 @@ update_tcap(int attr) } # ifdef FEAT_TERMGUICOLORS +# define KSSIZE 20 struct ks_tbl_s { - int code; /* value of KS_ */ - char *vtp; /* code in vtp mode */ - char *buf; /* buffer in non-vtp mode */ - char *vbuf; /* buffer in vtp mode */ + int code; /* value of KS_ */ + char *vtp; /* code in vtp mode */ + char *vtp2; /* code in vtp2 mode */ + char buf[KSSIZE]; /* save buffer in non-vtp mode */ + char vbuf[KSSIZE]; /* save buffer in vtp mode */ + char v2buf[KSSIZE]; /* save buffer in vtp2 mode */ + char arr[KSSIZE]; /* real buffer */ }; static struct ks_tbl_s ks_tbl[] = { - {(int)KS_ME, "\033|0m" }, /* normal */ - {(int)KS_MR, "\033|7m" }, /* reverse */ - {(int)KS_MD, "\033|1m" }, /* bold */ - {(int)KS_SO, "\033|91m"}, /* standout: bright red text */ - {(int)KS_SE, "\033|39m"}, /* standout end: default color */ - {(int)KS_CZH, "\033|95m"}, /* italic: bright magenta text */ - {(int)KS_CZR, "\033|0m",}, /* italic end */ - {(int)KS_US, "\033|4m",}, /* underscore */ - {(int)KS_UE, "\033|24m"}, /* underscore end */ - {(int)KS_NAME, NULL} + {(int)KS_ME, "\033|0m", "\033|0m"}, /* normal */ + {(int)KS_MR, "\033|7m", "\033|7m"}, /* reverse */ + {(int)KS_MD, "\033|1m", "\033|1m"}, /* bold */ + {(int)KS_SO, "\033|91m", "\033|91m"}, /* standout: bright red text */ + {(int)KS_SE, "\033|39m", "\033|39m"}, /* standout end: default color */ + {(int)KS_CZH, "\033|95m", "\033|95m"}, /* italic: bright magenta text */ + {(int)KS_CZR, "\033|0m", "\033|0m"}, /* italic end */ + {(int)KS_US, "\033|4m", "\033|4m"}, /* underscore */ + {(int)KS_UE, "\033|24m", "\033|24m"}, /* underscore end */ +# ifdef TERMINFO + {(int)KS_CAB, "\033|%p1%db", "\033|%p14%dm"}, /* set background color */ + {(int)KS_CAF, "\033|%p1%df", "\033|%p13%dm"}, /* set foreground color */ +# else + {(int)KS_CAB, "\033|%db", "\033|4%dm"}, /* set background color */ + {(int)KS_CAF, "\033|%df", "\033|3%dm"}, /* set foreground color */ +# endif + {(int)KS_CCO, "16", "256"}, /* colors */ + {(int)KS_NAME} /* terminator */ }; static struct builtin_term * @@ -6690,57 +6705,85 @@ swap_tcap(void) { # ifdef FEAT_TERMGUICOLORS static int init_done = FALSE; - static int last_tgc; + static int curr_mode; struct ks_tbl_s *ks; struct builtin_term *bt; + int mode; + enum + { + CMODEINDEX, + CMODE24, + CMODE256 + }; /* buffer initialization */ if (!init_done) { - for (ks = ks_tbl; ks->vtp != NULL; ks++) + for (ks = ks_tbl; ks->code != (int)KS_NAME; ks++) { bt = find_first_tcap(DEFAULT_TERM, ks->code); if (bt != NULL) { - ks->buf = bt->bt_string; - ks->vbuf = ks->vtp; + STRNCPY(ks->buf, bt->bt_string, KSSIZE); + STRNCPY(ks->vbuf, ks->vtp, KSSIZE); + STRNCPY(ks->v2buf, ks->vtp2, KSSIZE); + + STRNCPY(ks->arr, bt->bt_string, KSSIZE); + bt->bt_string = &ks->arr[0]; } } init_done = TRUE; - last_tgc = p_tgc; - return; + curr_mode = CMODEINDEX; } - if (last_tgc != p_tgc) + if (p_tgc) + mode = CMODE24; + else if (t_colors >= 256) + mode = CMODE256; + else + mode = CMODEINDEX; + + for (ks = ks_tbl; ks->code != (int)KS_NAME; ks++) { - if (p_tgc) + bt = find_first_tcap(DEFAULT_TERM, ks->code); + if (bt != NULL) { - /* switch to special character sequence */ - for (ks = ks_tbl; ks->vtp != NULL; ks++) + switch (curr_mode) { - bt = find_first_tcap(DEFAULT_TERM, ks->code); - if (bt != NULL) - { - ks->buf = bt->bt_string; - bt->bt_string = ks->vbuf; - } + case CMODEINDEX: + STRNCPY(&ks->buf[0], bt->bt_string, KSSIZE); + break; + case CMODE24: + STRNCPY(&ks->vbuf[0], bt->bt_string, KSSIZE); + break; + default: + STRNCPY(&ks->v2buf[0], bt->bt_string, KSSIZE); } } - else + } + + if (mode != curr_mode) + { + for (ks = ks_tbl; ks->code != (int)KS_NAME; ks++) { - /* switch to index color */ - for (ks = ks_tbl; ks->vtp != NULL; ks++) + bt = find_first_tcap(DEFAULT_TERM, ks->code); + if (bt != NULL) { - bt = find_first_tcap(DEFAULT_TERM, ks->code); - if (bt != NULL) + switch (mode) { - ks->vbuf = bt->bt_string; - bt->bt_string = ks->buf; + case CMODEINDEX: + STRNCPY(bt->bt_string, &ks->buf[0], KSSIZE); + break; + case CMODE24: + STRNCPY(bt->bt_string, &ks->vbuf[0], KSSIZE); + break; + default: + STRNCPY(bt->bt_string, &ks->v2buf[0], KSSIZE); } } } - last_tgc = p_tgc; + curr_mode = mode; } # endif } @@ -6926,3 +6969,81 @@ gui_get_rgb_color_cmn(int r, int g, int b) return color; } #endif + +#if (defined(WIN3264) && !defined(FEAT_GUI_W32)) || defined(FEAT_TERMINAL) \ + || defined(PROTO) +static int cube_value[] = { + 0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF +}; + +static int grey_ramp[] = { + 0x08, 0x12, 0x1C, 0x26, 0x30, 0x3A, 0x44, 0x4E, 0x58, 0x62, 0x6C, 0x76, + 0x80, 0x8A, 0x94, 0x9E, 0xA8, 0xB2, 0xBC, 0xC6, 0xD0, 0xDA, 0xE4, 0xEE +}; + +# ifdef FEAT_TERMINAL +# include "libvterm/include/vterm.h" // for VTERM_ANSI_INDEX_NONE +# else +# define VTERM_ANSI_INDEX_NONE 0 +# endif + +static uint8_t ansi_table[16][4] = { +// R G B idx + { 0, 0, 0, 1}, // black + {224, 0, 0, 2}, // dark red + { 0, 224, 0, 3}, // dark green + {224, 224, 0, 4}, // dark yellow / brown + { 0, 0, 224, 5}, // dark blue + {224, 0, 224, 6}, // dark magenta + { 0, 224, 224, 7}, // dark cyan + {224, 224, 224, 8}, // light grey + + {128, 128, 128, 9}, // dark grey + {255, 64, 64, 10}, // light red + { 64, 255, 64, 11}, // light green + {255, 255, 64, 12}, // yellow + { 64, 64, 255, 13}, // light blue + {255, 64, 255, 14}, // light magenta + { 64, 255, 255, 15}, // light cyan + {255, 255, 255, 16}, // white +}; + + void +cterm_color2rgb(int nr, uint8_t *r, uint8_t *g, uint8_t *b, uint8_t *ansi_idx) +{ + int idx; + + if (nr < 16) + { + *r = ansi_table[nr][0]; + *g = ansi_table[nr][1]; + *b = ansi_table[nr][2]; + *ansi_idx = ansi_table[nr][3]; + } + else if (nr < 232) + { + /* 216 color cube */ + idx = nr - 16; + *r = cube_value[idx / 36 % 6]; + *g = cube_value[idx / 6 % 6]; + *b = cube_value[idx % 6]; + *ansi_idx = VTERM_ANSI_INDEX_NONE; + } + else if (nr < 256) + { + /* 24 grey scale ramp */ + idx = nr - 232; + *r = grey_ramp[idx]; + *g = grey_ramp[idx]; + *b = grey_ramp[idx]; + *ansi_idx = VTERM_ANSI_INDEX_NONE; + } + else + { + *r = 0; + *g = 0; + *b = 0; + *ansi_idx = 0; + } +} +#endif diff --git a/src/terminal.c b/src/terminal.c index 2afc23f863..d1a8c3135a 100644 --- a/src/terminal.c +++ b/src/terminal.c @@ -42,8 +42,6 @@ * redirection. Probably in call to channel_set_pipes(). * - Win32: Redirecting output does not work, Test_terminal_redir_file() * is disabled. - * - Add test for 'termwinkey'. - * - libvterm: bringg back using // comments and trailing comma in enum * - When starting terminal window with shell in terminal, then using :gui to * switch to GUI, shell stops working. Scrollback seems wrong, command * running in shell is still running. @@ -1696,6 +1694,7 @@ send_keys_to_term(term_T *term, int c, int typed) return FAIL; case K_IGNORE: + case K_CANCEL: // used for :normal when running out of chars return FAIL; case K_LEFTDRAG: @@ -1832,9 +1831,9 @@ term_paste_register(int prev_c UNUSED) } } -#if defined(FEAT_GUI) || defined(PROTO) /* - * Return TRUE when the cursor of the terminal should be displayed. + * Return TRUE when waiting for a character in the terminal, the cursor of the + * terminal should be displayed. */ int terminal_is_active() @@ -1842,6 +1841,7 @@ terminal_is_active() return in_terminal_loop != NULL; } +#if defined(FEAT_GUI) || defined(PROTO) cursorentry_T * term_get_cursor_shape(guicolor_T *fg, guicolor_T *bg) { @@ -3021,66 +3021,14 @@ term_get_attr(buf_T *buf, linenr_T lnum, int col) return cell2attr(cellattr->attrs, cellattr->fg, cellattr->bg); } -static VTermColor ansi_table[16] = { - { 0, 0, 0, 1}, /* black */ - {224, 0, 0, 2}, /* dark red */ - { 0, 224, 0, 3}, /* dark green */ - {224, 224, 0, 4}, /* dark yellow / brown */ - { 0, 0, 224, 5}, /* dark blue */ - {224, 0, 224, 6}, /* dark magenta */ - { 0, 224, 224, 7}, /* dark cyan */ - {224, 224, 224, 8}, /* light grey */ - - {128, 128, 128, 9}, /* dark grey */ - {255, 64, 64, 10}, /* light red */ - { 64, 255, 64, 11}, /* light green */ - {255, 255, 64, 12}, /* yellow */ - { 64, 64, 255, 13}, /* light blue */ - {255, 64, 255, 14}, /* light magenta */ - { 64, 255, 255, 15}, /* light cyan */ - {255, 255, 255, 16}, /* white */ -}; - -static int cube_value[] = { - 0x00, 0x5F, 0x87, 0xAF, 0xD7, 0xFF -}; - -static int grey_ramp[] = { - 0x08, 0x12, 0x1C, 0x26, 0x30, 0x3A, 0x44, 0x4E, 0x58, 0x62, 0x6C, 0x76, - 0x80, 0x8A, 0x94, 0x9E, 0xA8, 0xB2, 0xBC, 0xC6, 0xD0, 0xDA, 0xE4, 0xEE -}; - /* * Convert a cterm color number 0 - 255 to RGB. * This is compatible with xterm. */ static void -cterm_color2rgb(int nr, VTermColor *rgb) +cterm_color2vterm(int nr, VTermColor *rgb) { - int idx; - - if (nr < 16) - { - *rgb = ansi_table[nr]; - } - else if (nr < 232) - { - /* 216 color cube */ - idx = nr - 16; - rgb->blue = cube_value[idx % 6]; - rgb->green = cube_value[idx / 6 % 6]; - rgb->red = cube_value[idx / 36 % 6]; - rgb->ansi_index = VTERM_ANSI_INDEX_NONE; - } - else if (nr < 256) - { - /* 24 grey scale ramp */ - idx = nr - 232; - rgb->blue = grey_ramp[idx]; - rgb->green = grey_ramp[idx]; - rgb->red = grey_ramp[idx]; - rgb->ansi_index = VTERM_ANSI_INDEX_NONE; - } + cterm_color2rgb(nr, &rgb->red, &rgb->green, &rgb->blue, &rgb->ansi_index); } /* @@ -3125,6 +3073,10 @@ init_default_colors(term_T *term) # endif # ifdef FEAT_TERMGUICOLORS || p_tgc +# ifdef FEAT_VTP + /* Finally get INVALCOLOR on this execution path */ + || (!p_tgc && t_colors >= 256) +# endif # endif ) { @@ -3176,9 +3128,9 @@ init_default_colors(term_T *term) if (id != 0 && t_colors >= 16) { if (term_default_cterm_fg >= 0) - cterm_color2rgb(term_default_cterm_fg, fg); + cterm_color2vterm(term_default_cterm_fg, fg); if (term_default_cterm_bg >= 0) - cterm_color2rgb(term_default_cterm_bg, bg); + cterm_color2vterm(term_default_cterm_bg, bg); } else { @@ -3189,7 +3141,7 @@ init_default_colors(term_T *term) /* In an MS-Windows console we know the normal colors. */ if (cterm_normal_fg_color > 0) { - cterm_color2rgb(cterm_normal_fg_color - 1, fg); + cterm_color2vterm(cterm_normal_fg_color - 1, fg); # if defined(WIN3264) && !defined(FEAT_GUI_W32) tmp = fg->red; fg->red = fg->blue; @@ -3203,7 +3155,7 @@ init_default_colors(term_T *term) if (cterm_normal_bg_color > 0) { - cterm_color2rgb(cterm_normal_bg_color - 1, bg); + cterm_color2vterm(cterm_normal_bg_color - 1, bg); # if defined(WIN3264) && !defined(FEAT_GUI_W32) tmp = bg->red; bg->red = bg->blue; diff --git a/src/testdir/screendump.vim b/src/testdir/screendump.vim index af9e371488..7065fa0510 100644 --- a/src/testdir/screendump.vim +++ b/src/testdir/screendump.vim @@ -64,9 +64,15 @@ func RunVimInTerminal(arguments, options) let cols = term_getsize(buf)[1] endif - " Wait for "All" of the ruler in the status line to be shown. - " This can be quite slow (e.g. when using valgrind). - call WaitFor({-> len(term_getline(buf, rows)) >= cols - 1}) + " Wait for "All" or "Top" of the ruler in the status line to be shown. This + " can be quite slow (e.g. when using valgrind). + " If it fails then show the terminal contents for debugging. + try + call WaitFor({-> len(term_getline(buf, rows)) >= cols - 1}) + catch /timed out after/ + let lines = map(range(1, rows), {key, val -> term_getline(buf, val)}) + call assert_report('RunVimInTerminal() failed, screen contents: ' . join(lines, "")) + endtry return buf endfunc @@ -75,7 +81,7 @@ endfunc func StopVimInTerminal(buf) call assert_equal("running", term_getstatus(a:buf)) call term_sendkeys(a:buf, "\\:qa!\") - call WaitFor('term_getstatus(' . a:buf . ') == "finished"') + call WaitForAssert({-> assert_equal("finished", term_getstatus(a:buf))}) only! endfunc diff --git a/src/testdir/shared.vim b/src/testdir/shared.vim index e00d4dfaf4..373c2fd9d3 100644 --- a/src/testdir/shared.vim +++ b/src/testdir/shared.vim @@ -115,38 +115,80 @@ endfunc " Wait for up to five seconds for "expr" to become true. "expr" can be a " stringified expression to evaluate, or a funcref without arguments. +" Using a lambda works best. Example: +" call WaitFor({-> status == "ok"}) +" " A second argument can be used to specify a different timeout in msec. " -" Return time slept in milliseconds. With the +reltime feature this can be -" more than the actual waiting time. Without +reltime it can also be less. +" When successful the time slept is returned. +" When running into the timeout an exception is thrown, thus the function does +" not return. func WaitFor(expr, ...) let timeout = get(a:000, 0, 5000) + let slept = s:WaitForCommon(a:expr, v:null, timeout) + if slept < 0 + throw 'WaitFor() timed out after ' . timeout . ' msec' + endif + return slept +endfunc + +" Wait for up to five seconds for "assert" to return zero. "assert" must be a +" (lambda) function containing one assert function. Example: +" call WaitForAssert({-> assert_equal("dead", job_status(job)}) +" +" A second argument can be used to specify a different timeout in msec. +" +" Return zero for success, one for failure (like the assert function). +func WaitForAssert(assert, ...) + let timeout = get(a:000, 0, 5000) + if s:WaitForCommon(v:null, a:assert, timeout) < 0 + return 1 + endif + return 0 +endfunc + +" Common implementation of WaitFor() and WaitForAssert(). +" Either "expr" or "assert" is not v:null +" Return the waiting time for success, -1 for failure. +func s:WaitForCommon(expr, assert, timeout) " using reltime() is more accurate, but not always available + let slept = 0 if has('reltime') let start = reltime() - else - let slept = 0 endif - if type(a:expr) == v:t_func - let Test = a:expr - else - let Test = {-> eval(a:expr) } - endif - for i in range(timeout / 10) - if Test() - if has('reltime') - return float2nr(reltimefloat(reltime(start)) * 1000) - endif + + while 1 + if type(a:expr) == v:t_func + let success = a:expr() + elseif type(a:assert) == v:t_func + let success = a:assert() == 0 + else + let success = eval(a:expr) + endif + if success return slept endif - if !has('reltime') + + if slept >= a:timeout + break + endif + if type(a:assert) == v:t_func + " Remove the error added by the assert function. + call remove(v:errors, -1) + endif + + sleep 10m + if has('reltime') + let slept = float2nr(reltimefloat(reltime(start)) * 1000) + else let slept += 10 endif - sleep 10m - endfor - throw 'WaitFor() timed out after ' . timeout . ' msec' + endwhile + + return -1 " timed out endfunc + " Wait for up to a given milliseconds. " With the +timers feature this waits for key-input by getchar(), Resume() " feeds key-input and resumes process. Return time waited in milliseconds. diff --git a/src/testdir/test_assert.vim b/src/testdir/test_assert.vim index 0de6ceb7c9..61147286fb 100644 --- a/src/testdir/test_assert.vim +++ b/src/testdir/test_assert.vim @@ -1,58 +1,66 @@ " Test that the methods used for testing work. func Test_assert_false() - call assert_false(0) - call assert_false(v:false) + call assert_equal(0, assert_false(0)) + call assert_equal(0, assert_false(v:false)) + + call assert_equal(1, assert_false(123)) + call assert_match("Expected False but got 123", v:errors[0]) + call remove(v:errors, 0) endfunc func Test_assert_true() - call assert_true(1) - call assert_true(123) - call assert_true(v:true) + call assert_equal(0, assert_true(1)) + call assert_equal(0, assert_true(123)) + call assert_equal(0, assert_true(v:true)) + + call assert_equal(1, assert_true(0)) + call assert_match("Expected True but got 0", v:errors[0]) + call remove(v:errors, 0) endfunc func Test_assert_equal() let s = 'foo' - call assert_equal('foo', s) + call assert_equal(0, assert_equal('foo', s)) let n = 4 - call assert_equal(4, n) + call assert_equal(0, assert_equal(4, n)) let l = [1, 2, 3] - call assert_equal([1, 2, 3], l) + call assert_equal(0, assert_equal([1, 2, 3], l)) let s = 'foo' - call assert_equal('bar', s) + call assert_equal(1, assert_equal('bar', s)) call assert_match("Expected 'bar' but got 'foo'", v:errors[0]) call remove(v:errors, 0) endfunc func Test_assert_equalfile() - call assert_equalfile('abcabc', 'xyzxyz') + call assert_equal(1, assert_equalfile('abcabc', 'xyzxyz')) call assert_match("E485: Can't read file abcabc", v:errors[0]) call remove(v:errors, 0) let goodtext = ["one", "two", "three"] call writefile(goodtext, 'Xone') - call assert_equalfile('Xone', 'xyzxyz') + call assert_equal(1, assert_equalfile('Xone', 'xyzxyz')) call assert_match("E485: Can't read file xyzxyz", v:errors[0]) call remove(v:errors, 0) call writefile(goodtext, 'Xtwo') - call assert_equalfile('Xone', 'Xtwo') + call assert_equal(0, assert_equalfile('Xone', 'Xtwo')) call writefile([goodtext[0]], 'Xone') - call assert_equalfile('Xone', 'Xtwo') + call assert_equal(1, assert_equalfile('Xone', 'Xtwo')) call assert_match("first file is shorter", v:errors[0]) call remove(v:errors, 0) call writefile(goodtext, 'Xone') call writefile([goodtext[0]], 'Xtwo') - call assert_equalfile('Xone', 'Xtwo') + call assert_equal(1, assert_equalfile('Xone', 'Xtwo')) call assert_match("second file is shorter", v:errors[0]) call remove(v:errors, 0) call writefile(['1234X89'], 'Xone') call writefile(['1234Y89'], 'Xtwo') - call assert_equalfile('Xone', 'Xtwo') + call assert_equal(1, assert_equalfile('Xone', 'Xtwo')) call assert_match("difference at byte 4", v:errors[0]) call remove(v:errors, 0) @@ -62,17 +70,17 @@ endfunc func Test_assert_notequal() let n = 4 - call assert_notequal('foo', n) + call assert_equal(0, assert_notequal('foo', n)) let s = 'foo' - call assert_notequal([1, 2, 3], s) + call assert_equal(0, assert_notequal([1, 2, 3], s)) - call assert_notequal('foo', s) + call assert_equal(1, assert_notequal('foo', s)) call assert_match("Expected not equal to 'foo'", v:errors[0]) call remove(v:errors, 0) endfunc func Test_assert_report() - call assert_report('something is wrong') + call assert_equal(1, assert_report('something is wrong')) call assert_match('something is wrong', v:errors[0]) call remove(v:errors, 0) endfunc @@ -81,7 +89,7 @@ func Test_assert_exception() try nocommand catch - call assert_exception('E492:') + call assert_equal(0, assert_exception('E492:')) endtry try @@ -89,9 +97,9 @@ func Test_assert_exception() catch try " illegal argument, get NULL for error - call assert_exception([]) + call assert_equal(1, assert_exception([])) catch - call assert_exception('E730:') + call assert_equal(0, assert_exception('E730:')) endtry endtry endfunc @@ -113,59 +121,59 @@ func Test_compare_fail() try call assert_equal(s:w, '') catch - call assert_exception('E724:') + call assert_equal(0, assert_exception('E724:')) call assert_match("Expected NULL but got ''", v:errors[0]) call remove(v:errors, 0) endtry endfunc func Test_match() - call assert_match('^f.*b.*r$', 'foobar') + call assert_equal(0, assert_match('^f.*b.*r$', 'foobar')) - call assert_match('bar.*foo', 'foobar') + call assert_equal(1, assert_match('bar.*foo', 'foobar')) call assert_match("Pattern 'bar.*foo' does not match 'foobar'", v:errors[0]) call remove(v:errors, 0) - call assert_match('bar.*foo', 'foobar', 'wrong') + call assert_equal(1, assert_match('bar.*foo', 'foobar', 'wrong')) call assert_match('wrong', v:errors[0]) call remove(v:errors, 0) endfunc func Test_notmatch() - call assert_notmatch('foo', 'bar') - call assert_notmatch('^foobar$', 'foobars') + call assert_equal(0, assert_notmatch('foo', 'bar')) + call assert_equal(0, assert_notmatch('^foobar$', 'foobars')) - call assert_notmatch('foo', 'foobar') + call assert_equal(1, assert_notmatch('foo', 'foobar')) call assert_match("Pattern 'foo' does match 'foobar'", v:errors[0]) call remove(v:errors, 0) endfunc func Test_assert_fail_fails() - call assert_fails('xxx', {}) + call assert_equal(1, assert_fails('xxx', {})) call assert_match("Expected {} but got 'E731:", v:errors[0]) call remove(v:errors, 0) endfunc func Test_assert_beeps() new - call assert_beeps('normal h') + call assert_equal(0, assert_beeps('normal h')) - call assert_beeps('normal 0') + call assert_equal(1, assert_beeps('normal 0')) call assert_match("command did not beep: normal 0", v:errors[0]) call remove(v:errors, 0) bwipe endfunc func Test_assert_inrange() - call assert_inrange(7, 7, 7) - call assert_inrange(5, 7, 5) - call assert_inrange(5, 7, 6) - call assert_inrange(5, 7, 7) + call assert_equal(0, assert_inrange(7, 7, 7)) + call assert_equal(0, assert_inrange(5, 7, 5)) + call assert_equal(0, assert_inrange(5, 7, 6)) + call assert_equal(0, assert_inrange(5, 7, 7)) - call assert_inrange(5, 7, 4) + call assert_equal(1, assert_inrange(5, 7, 4)) call assert_match("Expected range 5 - 7, but got 4", v:errors[0]) call remove(v:errors, 0) - call assert_inrange(5, 7, 8) + call assert_equal(1, assert_inrange(5, 7, 8)) call assert_match("Expected range 5 - 7, but got 8", v:errors[0]) call remove(v:errors, 0) diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim index 8ce74467da..29ca283270 100644 --- a/src/testdir/test_autocmd.vim +++ b/src/testdir/test_autocmd.vim @@ -1322,11 +1322,11 @@ func Test_Changed_FirstTime() let buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile'], {'term_rows': 3}) call assert_equal('running', term_getstatus(buf)) " Wait for the ruler (in the status line) to be shown. - call WaitFor({-> term_getline(buf, 3) =~# '\ assert_match('\ call writefile(['No'], 'Xchanged.txt')\") call term_sendkeys(buf, "\\:qa!\") - call WaitFor({-> term_getstatus(buf) == 'finished'}) + call WaitForAssert({-> assert_equal('finished', term_getstatus(buf))}) call assert_equal([''], readfile('Xchanged.txt')) " clean up diff --git a/src/testdir/test_blockedit.vim b/src/testdir/test_blockedit.vim index 4a8d59952e..527224ccd2 100644 --- a/src/testdir/test_blockedit.vim +++ b/src/testdir/test_blockedit.vim @@ -16,5 +16,18 @@ func Test_blockinsert_indent() bwipe! endfunc +func Test_blockinsert_delete() + new + let _bs = &bs + set bs=2 + call setline(1, ['case Arg is ', ' when Name_Async,', ' when Name_Num_Gangs,', 'end if;']) + exe "norm! ggjVj\$o$A\\" + "call feedkeys("Vj\$o$A\\", 'ti') + call assert_equal(["case Arg is ", " when Name_Async", " when Name_Num_Gangs,", "end if;"], + \ getline(1,'$')) + " reset to sane state + let &bs = _bs + bwipe! +endfunc " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/testdir/test_channel.vim b/src/testdir/test_channel.vim index aaf84b473e..371afc7997 100644 --- a/src/testdir/test_channel.vim +++ b/src/testdir/test_channel.vim @@ -95,18 +95,15 @@ func Ch_communicate(port) " handled before getting the response, but it's not guaranteed, thus wait a " tiny bit for the commands to get executed. call assert_equal('ok', ch_evalexpr(handle, 'make change')) - call WaitFor('"added2" == getline("$")') + call WaitForAssert({-> assert_equal("added2", getline("$"))}) call assert_equal('added1', getline(line('$') - 1)) - call assert_equal('added2', getline('$')) " Request command "foo bar", which fails silently. call assert_equal('ok', ch_evalexpr(handle, 'bad command')) - call WaitFor('v:errmsg =~ "E492"') - call assert_match('E492:.*foo bar', v:errmsg) + call WaitForAssert({-> assert_match("E492:.*foo bar", v:errmsg)}) call assert_equal('ok', ch_evalexpr(handle, 'do normal', {'timeout': 100})) - call WaitFor('"added more" == getline("$")') - call assert_equal('added more', getline('$')) + call WaitForAssert({-> assert_equal('added more', getline('$'))}) " Send a request with a specific handler. call ch_sendexpr(handle, 'hello!', {'callback': 'Ch_requestHandler'}) @@ -188,10 +185,9 @@ func Ch_communicate(port) " Send an expr request call assert_equal('ok', ch_evalexpr(handle, 'an expr')) - call WaitFor('"three" == getline("$")') + call WaitForAssert({-> assert_equal('three', getline('$'))}) call assert_equal('one', getline(line('$') - 2)) call assert_equal('two', getline(line('$') - 1)) - call assert_equal('three', getline('$')) " Request a redraw, we don't check for the effect. call assert_equal('ok', ch_evalexpr(handle, 'redraw')) @@ -288,11 +284,11 @@ func Ch_channel_handler(port) " Test that it works while waiting on a numbered message. call assert_equal('ok', ch_evalexpr(handle, 'call me')) - call WaitFor('"we called you" == g:Ch_reply') + call WaitForAssert({-> assert_equal('we called you', g:Ch_reply)}) " Test that it works while not waiting on a numbered message. call ch_sendexpr(handle, 'call me again') - call WaitFor('"we did call you" == g:Ch_reply') + call WaitForAssert({-> assert_equal('we did call you', g:Ch_reply)}) endfunc func Test_channel_handler() @@ -334,7 +330,7 @@ func Ch_channel_zero(port) let g:Ch_reply = '' call assert_equal('sent zero', ch_evalexpr(handle, 'send zero')) if s:has_handler - call WaitFor('"zero index" == g:Ch_reply') + call WaitForAssert({-> assert_equal('zero index', g:Ch_reply)}) else sleep 20m call assert_equal('', g:Ch_reply) @@ -344,7 +340,7 @@ func Ch_channel_zero(port) let g:Ch_reply = '' let g:Ch_zero_reply = '' call ch_sendexpr(handle, 'send zero', {'callback': 'Ch_oneHandler'}) - call WaitFor('"sent zero" == g:Ch_zero_reply') + call WaitForAssert({-> assert_equal('sent zero', g:Ch_zero_reply)}) if s:has_handler call assert_equal('zero index', g:Ch_reply) else @@ -395,15 +391,12 @@ func Ch_raw_one_time_callback(port) " The messages are sent raw, we do our own JSON strings here. call ch_sendraw(handle, "[1, \"hello!\"]\n", {'callback': 'Ch_handleRaw1'}) - call WaitFor('g:Ch_reply1 != ""') - call assert_equal("[1, \"got it\"]", g:Ch_reply1) + call WaitForAssert({-> assert_equal("[1, \"got it\"]", g:Ch_reply1)}) call ch_sendraw(handle, "[2, \"echo something\"]\n", {'callback': 'Ch_handleRaw2'}) call ch_sendraw(handle, "[3, \"wait a bit\"]\n", {'callback': 'Ch_handleRaw3'}) - call WaitFor('g:Ch_reply2 != ""') - call assert_equal("[2, \"something\"]", g:Ch_reply2) + call WaitForAssert({-> assert_equal("[2, \"something\"]", g:Ch_reply2)}) " wait for the 200 msec delayed reply - call WaitFor('g:Ch_reply3 != ""') - call assert_equal("[3, \"waited\"]", g:Ch_reply3) + call WaitForAssert({-> assert_equal("[3, \"waited\"]", g:Ch_reply3)}) endfunc func Test_raw_one_time_callback() @@ -494,8 +487,7 @@ func Test_raw_pipe() let g:Ch_reply = "" call ch_sendraw(job, "double this\n", {'callback': 'Ch_handler'}) - call WaitFor('"" != g:Ch_reply') - call assert_equal("this\nAND this\n", substitute(g:Ch_reply, "\r", "", 'g')) + call WaitForAssert({-> assert_equal("this\nAND this\n", substitute(g:Ch_reply, "\r", "", 'g'))}) let reply = ch_evalraw(job, "quit\n", {'timeout': 100}) call assert_equal("Goodbye!\n", substitute(reply, "\r", "", 'g')) @@ -504,7 +496,7 @@ func Test_raw_pipe() endtry let g:Ch_job = job - call WaitFor('"dead" == job_status(g:Ch_job)') + call WaitForAssert({-> assert_equal("dead", job_status(g:Ch_job))}) let info = job_info(job) call assert_equal("dead", info.status) call assert_equal("term", info.stoponexit) @@ -602,7 +594,7 @@ func Stop_g_job() if has('win32') " On MS-Windows the server must close the file handle before we are able " to delete the file. - call WaitFor('job_status(g:job) == "dead"') + call WaitForAssert({-> assert_equal('dead', job_status(g:job))}) sleep 10m endif endfunc @@ -641,8 +633,7 @@ func Test_nl_write_out_file() call ch_sendraw(handle, "echo line one\n") call ch_sendraw(handle, "echo line two\n") call ch_sendraw(handle, "double this\n") - call WaitFor('len(readfile("Xoutput")) > 2') - call assert_equal(['line one', 'line two', 'this', 'AND this'], readfile('Xoutput')) + call WaitForAssert({-> assert_equal(['line one', 'line two', 'this', 'AND this'], readfile('Xoutput'))}) finally call Stop_g_job() call assert_equal(-1, match(s:get_resources(), '\(^\|/\)Xoutput$')) @@ -663,8 +654,7 @@ func Test_nl_write_err_file() call ch_sendraw(handle, "echoerr line one\n") call ch_sendraw(handle, "echoerr line two\n") call ch_sendraw(handle, "doubleerr this\n") - call WaitFor('len(readfile("Xoutput")) > 2') - call assert_equal(['line one', 'line two', 'this', 'AND this'], readfile('Xoutput')) + call WaitForAssert({-> assert_equal(['line one', 'line two', 'this', 'AND this'], readfile('Xoutput'))}) finally call Stop_g_job() call delete('Xoutput') @@ -685,8 +675,7 @@ func Test_nl_write_both_file() call ch_sendraw(handle, "echo line two\n") call ch_sendraw(handle, "double this\n") call ch_sendraw(handle, "doubleerr that\n") - call WaitFor('len(readfile("Xoutput")) > 5') - call assert_equal(['line one', 'line two', 'this', 'AND this', 'that', 'AND that'], readfile('Xoutput')) + call WaitForAssert({-> assert_equal(['line one', 'line two', 'this', 'AND this', 'that', 'AND that'], readfile('Xoutput'))}) finally call Stop_g_job() call assert_equal(-1, match(s:get_resources(), '\(^\|/\)Xoutput$')) @@ -777,8 +766,7 @@ func Test_close_output_buffer() let job = job_start(s:python . " test_channel_write.py", options) call assert_equal("run", job_status(job)) try - call WaitFor('line("$") == 3') - call assert_inrange(3, 10, line('$')) + call WaitForAssert({-> assert_equal(3, line('$'))}) quit! sleep 100m " Make sure the write didn't happen to the wrong buffer. @@ -827,8 +815,7 @@ func Run_test_pipe_err_to_buffer(use_name, nomod, do_msg) call ch_sendraw(handle, "doubleerr this\n") call ch_sendraw(handle, "quit\n") sp pipe-err - call WaitFor('line("$") == ' . len(expected)) - call assert_equal(expected, getline(1, '$')) + call WaitForAssert({-> assert_equal(expected, getline(1, '$'))}) if a:nomod call assert_equal(0, &modifiable) else @@ -872,8 +859,7 @@ func Test_pipe_both_to_buffer() call ch_sendraw(handle, "doubleerr that\n") call ch_sendraw(handle, "quit\n") sp pipe-err - call WaitFor('line("$") >= 7') - call assert_equal(['Reading from channel output...', 'line one', 'line two', 'this', 'AND this', 'that', 'AND that', 'Goodbye!'], getline(1, '$')) + call WaitForAssert({-> assert_equal(['Reading from channel output...', 'line one', 'line two', 'this', 'AND this', 'that', 'AND that', 'Goodbye!'], getline(1, '$'))}) bwipe! finally call job_stop(job) @@ -939,8 +925,7 @@ func Run_pipe_through_sort(all, use_buffer) call ch_close_in(g:job) endif - call WaitFor('job_status(g:job) == "dead"') - call assert_equal("dead", job_status(g:job)) + call WaitForAssert({-> assert_equal("dead", job_status(g:job))}) sp sortout call WaitFor('line("$") > 3') @@ -1222,16 +1207,14 @@ func Test_out_cb() let g:Ch_errmsg = '' call ch_sendraw(job, "echo [0, \"hello\"]\n") call ch_sendraw(job, "echoerr [0, \"there\"]\n") - call WaitFor('g:Ch_outmsg != ""') - call assert_equal("dict: hello", g:Ch_outmsg) - call WaitFor('g:Ch_errmsg != ""') - call assert_equal("dict: there", g:Ch_errmsg) + call WaitForAssert({-> assert_equal("dict: hello", g:Ch_outmsg)}) + call WaitForAssert({-> assert_equal("dict: there", g:Ch_errmsg)}) " Receive a json object split in pieces unlet! g:Ch_outobj call ch_sendraw(job, "echosplit [0, {\"one\": 1,| \"tw|o\": 2, \"three\": 3|}]\n") - call WaitFor('exists("g:Ch_outobj")') - call assert_equal({'one': 1, 'two': 2, 'three': 3}, g:Ch_outobj) + let g:Ch_outobj = '' + call WaitForAssert({-> assert_equal({'one': 1, 'two': 2, 'three': 3}, g:Ch_outobj)}) finally call job_stop(job) endtry @@ -1261,9 +1244,8 @@ func Test_out_close_cb() \ 'close_cb': 'CloseHandler'}) call assert_equal("run", job_status(job)) try - call WaitFor('g:Ch_closemsg != 0 && g:Ch_msg1 != ""') - call assert_equal('quit', g:Ch_msg1) - call assert_equal(2, g:Ch_closemsg) + call WaitForAssert({-> assert_equal('quit', g:Ch_msg1)}) + call WaitForAssert({-> assert_equal(2, g:Ch_closemsg)}) finally call job_stop(job) delfunc OutHandler @@ -1285,8 +1267,7 @@ func Test_read_in_close_cb() \ {'close_cb': 'CloseHandler'}) call assert_equal("run", job_status(job)) try - call WaitFor('g:Ch_received != ""') - call assert_equal('quit', g:Ch_received) + call WaitForAssert({-> assert_equal('quit', g:Ch_received)}) finally call job_stop(job) delfunc CloseHandler @@ -1310,8 +1291,7 @@ func Test_read_in_close_cb_incomplete() \ {'close_cb': 'CloseHandler'}) call assert_equal("run", job_status(job)) try - call WaitFor('g:Ch_received != ""') - call assert_equal('incomplete', g:Ch_received) + call WaitForAssert({-> assert_equal('incomplete', g:Ch_received)}) finally call job_stop(job) delfunc CloseHandler @@ -1335,10 +1315,8 @@ func Test_out_cb_lambda() let g:Ch_errmsg = '' call ch_sendraw(job, "echo [0, \"hello\"]\n") call ch_sendraw(job, "echoerr [0, \"there\"]\n") - call WaitFor('g:Ch_outmsg != ""') - call assert_equal("lambda: hello", g:Ch_outmsg) - call WaitFor('g:Ch_errmsg != ""') - call assert_equal("lambda: there", g:Ch_errmsg) + call WaitForAssert({-> assert_equal("lambda: hello", g:Ch_outmsg)}) + call WaitForAssert({-> assert_equal("lambda: there", g:Ch_errmsg)}) finally call job_stop(job) endtry @@ -1364,8 +1342,7 @@ func Test_close_and_exit_cb() \ }) call assert_equal('run', job_status(g:job)) unlet g:job - call WaitFor('len(g:retdict.ret) >= 2') - call assert_equal(2, len(g:retdict.ret)) + call WaitForAssert({-> assert_equal(2, len(g:retdict.ret))}) call assert_match('^\%(dead\|run\)', g:retdict.ret['close_cb']) call assert_equal('dead', g:retdict.ret['exit_cb']) unlet g:retdict @@ -1383,8 +1360,7 @@ endfunc func Ch_unlet_handle(port) let s:channelfd = ch_open('localhost:' . a:port, s:chopt) call ch_sendexpr(s:channelfd, "test", {'callback': function('s:UnletHandler')}) - call WaitFor('"what?" == g:Ch_unletResponse') - call assert_equal('what?', g:Ch_unletResponse) + call WaitForAssert({-> assert_equal('what?', g:Ch_unletResponse)}) endfunc func Test_unlet_handle() @@ -1404,8 +1380,7 @@ endfunc func Ch_close_handle(port) let s:channelfd = ch_open('localhost:' . a:port, s:chopt) call ch_sendexpr(s:channelfd, "test", {'callback': function('Ch_CloseHandler')}) - call WaitFor('"what?" == g:Ch_unletResponse') - call assert_equal('what?', g:Ch_unletResponse) + call WaitForAssert({-> assert_equal('what?', g:Ch_unletResponse)}) endfunc func Test_close_handle() @@ -1458,8 +1433,7 @@ function Ch_test_call(port) let g:Ch_call_ret = [] call assert_equal('ok', ch_evalexpr(handle, 'call-func')) - call WaitFor('len(g:Ch_call_ret) > 0') - call assert_equal([1, 2, 3], g:Ch_call_ret) + call WaitForAssert({-> assert_equal([1, 2, 3], g:Ch_call_ret)}) endfunc func Test_call() @@ -1556,8 +1530,7 @@ function Ch_test_close_callback(port) call ch_setoptions(handle, {'close_cb': 'MyCloseCb'}) call assert_equal('', ch_evalexpr(handle, 'close me')) - call WaitFor('"closed" == g:Ch_close_ret') - call assert_equal('closed', g:Ch_close_ret) + call WaitForAssert({-> assert_equal('closed', g:Ch_close_ret)}) endfunc func Test_close_callback() @@ -1578,8 +1551,7 @@ function Ch_test_close_partial(port) call ch_setoptions(handle, {'close_cb': g:Ch_d.closeCb}) call assert_equal('', ch_evalexpr(handle, 'close me')) - call WaitFor('"closed" == g:Ch_d.close_ret') - call assert_equal('closed', g:Ch_d.close_ret) + call WaitForAssert({-> assert_equal('closed', g:Ch_d.close_ret)}) unlet g:Ch_d endfunc @@ -1601,8 +1573,7 @@ func Test_job_stop_immediately() let g:job = job_start([s:python, '-c', 'import time;time.sleep(10)']) try call job_stop(g:job) - call WaitFor('"dead" == job_status(g:job)') - call assert_equal('dead', job_status(g:job)) + call WaitForAssert({-> assert_equal('dead', job_status(g:job))}) finally call job_stop(g:job, 'kill') unlet g:job @@ -1637,8 +1608,7 @@ func Test_collapse_buffers() split testout 1,$delete call job_start('cat test_channel.vim', {'out_io': 'buffer', 'out_name': 'testout'}) - call WaitFor('line("$") >= g:linecount') - call assert_inrange(g:linecount, g:linecount + 1, line('$')) + call WaitForAssert({-> assert_inrange(g:linecount, g:linecount + 1, line('$'))}) bwipe! endfunc @@ -1648,13 +1618,11 @@ func Test_cmd_parsing() endif call assert_false(filereadable("file with space")) let job = job_start('touch "file with space"') - call WaitFor('filereadable("file with space")') - call assert_true(filereadable("file with space")) + call WaitForAssert({-> assert_true(filereadable("file with space"))}) call delete("file with space") let job = job_start('touch file\ with\ space') - call WaitFor('filereadable("file with space")') - call assert_true(filereadable("file with space")) + call WaitForAssert({-> assert_true(filereadable("file with space"))}) call delete("file with space") endfunc @@ -1683,7 +1651,7 @@ func Test_raw_passes_nul() new mybuffer call setline(1, ["asdf\nasdf", "xxx\n", "\nyyy"]) let g:Ch_job = job_start('cat', {'in_io': 'buffer', 'in_name': 'mybuffer', 'out_io': 'file', 'out_name': 'Xtestwrite'}) - call WaitFor('"dead" == job_status(g:Ch_job)') + call WaitForAssert({-> assert_equal("dead", job_status(g:Ch_job))}) bwipe! split Xtestwrite call assert_equal("asdf\nasdf", getline(1)) @@ -1707,8 +1675,7 @@ func Test_read_nonl_line() let g:linecount = 0 let arg = 'import sys;sys.stdout.write("1\n2\n3")' call job_start([s:python, '-c', arg], {'callback': 'MyLineCountCb'}) - call WaitFor('3 <= g:linecount') - call assert_equal(3, g:linecount) + call WaitForAssert({-> assert_equal(3, g:linecount)}) endfunc func Test_read_from_terminated_job() @@ -1719,8 +1686,7 @@ func Test_read_from_terminated_job() let g:linecount = 0 let arg = 'import os,sys;os.close(1);sys.stderr.write("test\n")' call job_start([s:python, '-c', arg], {'callback': 'MyLineCountCb'}) - call WaitFor('1 <= g:linecount') - call assert_equal(1, g:linecount) + call WaitForAssert({-> assert_equal(1, g:linecount)}) endfunc func Test_env() @@ -1736,8 +1702,7 @@ func Test_env() endif call assert_fails('call job_start(cmd, {"env": 1})', 'E475:') call job_start(cmd, {'callback': {ch,msg -> execute(":let g:envstr .= msg")}, 'env': {'FOO': 'bar'}}) - call WaitFor('"" != g:envstr') - call assert_equal("bar", g:envstr) + call WaitForAssert({-> assert_equal("bar", g:envstr)}) unlet g:envstr endfunc @@ -1756,7 +1721,7 @@ func Test_cwd() endif let job = job_start(cmd, {'callback': {ch,msg -> execute(":let g:envstr .= msg")}, 'cwd': expect}) try - call WaitFor('"" != g:envstr') + call WaitForAssert({-> assert_notequal("", g:envstr)}) let expect = substitute(expect, '[/\\]$', '', '') let g:envstr = substitute(g:envstr, '[/\\]$', '', '') if $CI != '' && stridx(g:envstr, '/private/') == 0 @@ -1779,8 +1744,7 @@ function Ch_test_close_lambda(port) call ch_setoptions(handle, {'close_cb': {ch -> execute("let g:Ch_close_ret = 'closed'")}}) call assert_equal('', ch_evalexpr(handle, 'close me')) - call WaitFor('"closed" == g:Ch_close_ret') - call assert_equal('closed', g:Ch_close_ret) + call WaitForAssert({-> assert_equal('closed', g:Ch_close_ret)}) endfunc func Test_close_lambda() diff --git a/src/testdir/test_clientserver.vim b/src/testdir/test_clientserver.vim index b7426545ed..f79e50fbb3 100644 --- a/src/testdir/test_clientserver.vim +++ b/src/testdir/test_clientserver.vim @@ -28,12 +28,11 @@ func Test_client_server() let name = 'XVIMTEST' let cmd .= ' --servername ' . name let job = job_start(cmd, {'stoponexit': 'kill', 'out_io': 'null'}) - call WaitFor({-> job_status(job) == "run"}) + call WaitForAssert({-> assert_equal("run", job_status(job))}) " Takes a short while for the server to be active. " When using valgrind it takes much longer. - call WaitFor('serverlist() =~ "' . name . '"') - call assert_match(name, serverlist()) + call WaitForAssert({-> assert_match(name, serverlist())}) call remote_foreground(name) @@ -54,12 +53,10 @@ func Test_client_server() endif " Wait for the server to be up and answering requests. sleep 100m - call WaitFor('remote_expr("' . name . '", "v:version", "", 1) != ""') - call assert_true(remote_expr(name, "v:version", "", 1) != "") + call WaitForAssert({-> assert_true(remote_expr(name, "v:version", "", 1) != "")}) call remote_send(name, ":let testvar = 'maybe'\") - call WaitFor('remote_expr("' . name . '", "testvar", "", 1) == "maybe"') - call assert_equal('maybe', remote_expr(name, "testvar", "", 2)) + call WaitForAssert({-> assert_equal('maybe', remote_expr(name, "testvar", "", 2))}) endif call assert_fails('call remote_send("XXX", ":let testvar = ''yes''\")', 'E241') @@ -94,7 +91,7 @@ func Test_client_server() call remote_send(name, ":qa!\") try - call WaitFor({-> job_status(job) == "dead"}) + call WaitForAssert({-> assert_equal("dead", job_status(job))}) finally if job_status(job) != 'dead' call assert_report('Server did not exit') diff --git a/src/testdir/test_cmdline.vim b/src/testdir/test_cmdline.vim index ff0756c392..a79f2761cb 100644 --- a/src/testdir/test_cmdline.vim +++ b/src/testdir/test_cmdline.vim @@ -306,6 +306,9 @@ func Test_paste_in_cmdline() call feedkeys("ft:aaa \\ bbb\\"\", 'tx') call assert_equal('"aaa /tmp/some bbb', @:) + call feedkeys(":aaa \\ bbb\\"\", 'tx') + call assert_equal('"aaa '.getline(1).' bbb', @:) + set incsearch call feedkeys("fy:aaa veryl\\ bbb\\"\", 'tx') call assert_equal('"aaa verylongword bbb', @:) diff --git a/src/testdir/test_gui.vim b/src/testdir/test_gui.vim index b5942ee574..b0987e3938 100644 --- a/src/testdir/test_gui.vim +++ b/src/testdir/test_gui.vim @@ -33,13 +33,25 @@ endfunc func Test_colorscheme() let colorscheme_saved = exists('g:colors_name') ? g:colors_name : 'default' + let g:color_count = 0 + augroup TestColors + au! + au ColorScheme * let g:color_count += 1| let g:after_colors = g:color_count + au ColorSchemePre * let g:color_count += 1 |let g:before_colors = g:color_count + augroup END colorscheme torte redraw! sleep 200m call assert_equal('dark', &background) + call assert_equal(1, g:before_colors) + call assert_equal(2, g:after_colors) exec 'colorscheme' colorscheme_saved + augroup TestColors + au! + augroup END + unlet g:color_count g:after_colors g:before_colors redraw! endfunc diff --git a/src/testdir/test_job_fails.vim b/src/testdir/test_job_fails.vim index 22637c0098..affcb7d0f7 100644 --- a/src/testdir/test_job_fails.vim +++ b/src/testdir/test_job_fails.vim @@ -8,9 +8,9 @@ func Test_job_start_fails() if has('job') let job = job_start('axdfxsdf') if has('unix') - call WaitFor({-> job_status(job) == "dead"}) + call WaitForAssert({-> assert_equal("dead", job_status(job))}) else - call WaitFor({-> job_status(job) == "fail"}) + call WaitForAssert({-> assert_equal("fail", job_status(job))}) endif endif endfunc diff --git a/src/testdir/test_popup.vim b/src/testdir/test_popup.vim index ed31985856..d682dd2110 100644 --- a/src/testdir/test_popup.vim +++ b/src/testdir/test_popup.vim @@ -649,18 +649,15 @@ func Test_popup_and_window_resize() call term_sendkeys(buf, "\") call term_wait(buf, 100) " popup first entry "!" must be at the top - call WaitFor({-> term_getline(buf, 1) =~ "^!"}) - call assert_match('^!\s*$', term_getline(buf, 1)) + call WaitForAssert({-> assert_match('^!\s*$', term_getline(buf, 1))}) exe 'resize +' . (h - 1) call term_wait(buf, 100) redraw! " popup shifted down, first line is now empty - call WaitFor({-> term_getline(buf, 1) == ""}) - call assert_equal('', term_getline(buf, 1)) + call WaitForAssert({-> assert_equal('', term_getline(buf, 1))}) sleep 100m " popup is below cursor line and shows first match "!" - call WaitFor({-> term_getline(buf, term_getcursor(buf)[0] + 1) =~ "^!"}) - call assert_match('^!\s*$', term_getline(buf, term_getcursor(buf)[0] + 1)) + call WaitForAssert({-> assert_match('^!\s*$', term_getline(buf, term_getcursor(buf)[0] + 1))}) " cursor line also shows ! call assert_match('^!\s*$', term_getline(buf, term_getcursor(buf)[0])) bwipe! diff --git a/src/testdir/test_quickfix.vim b/src/testdir/test_quickfix.vim index 092a5c43af..7cc4ae5576 100644 --- a/src/testdir/test_quickfix.vim +++ b/src/testdir/test_quickfix.vim @@ -138,6 +138,16 @@ func XlistTests(cchar) \ ' 4:40 col 20 x 44: Other', \ ' 5:50 col 25 55: one'], l) + " Test for module names, one needs to explicitly set `'valid':v:true` so + call g:Xsetlist([ + \ {'lnum':10,'col':5,'type':'W','module':'Data.Text','text':'ModuleWarning','nr':11,'valid':v:true}, + \ {'lnum':20,'col':10,'type':'W','module':'Data.Text','filename':'Data/Text.hs','text':'ModuleWarning','nr':22,'valid':v:true}, + \ {'lnum':30,'col':15,'type':'W','filename':'Data/Text.hs','text':'FileWarning','nr':33,'valid':v:true}]) + let l = split(execute('Xlist', ""), "\n") + call assert_equal([' 1 Data.Text:10 col 5 warning 11: ModuleWarning', + \ ' 2 Data.Text:20 col 10 warning 22: ModuleWarning', + \ ' 3 Data/Text.hs:30 col 15 warning 33: FileWarning'], l) + " Error cases call assert_fails('Xlist abc', 'E488:') endfunc @@ -1142,6 +1152,21 @@ func Test_efm2() call assert_equal(1, l[4].valid) call assert_equal('unittests/dbfacadeTest.py', bufname(l[4].bufnr)) + " Test for %o + set efm=%f(%o):%l\ %m + cgetexpr ['Xotestfile(Language.PureScript.Types):20 Error'] + call writefile(['Line1'], 'Xotestfile') + let l = getqflist() + call assert_equal(1, len(l), string(l)) + call assert_equal('Language.PureScript.Types', l[0].module) + copen + call assert_equal('Language.PureScript.Types|20| Error', getline(1)) + call feedkeys("\", 'xn') + call assert_equal('Xotestfile', expand('%:t')) + cclose + bd + call delete("Xotestfile") + " The following sequence of commands used to crash Vim set efm=%W%m cgetexpr ['msg1'] @@ -3201,3 +3226,27 @@ func Test_lhelpgrep_autocmd() au! QuickFixCmdPost new | only endfunc + +" Test for shortening/simplifying the file name when opening the +" quickfix window or when displaying the quickfix list +func Test_shorten_fname() + if !has('unix') + return + endif + %bwipe + " Create a quickfix list with a absolute path filename + let fname = getcwd() . '/test_quickfix.vim' + call setqflist([], ' ', {'lines':[fname . ":20:Line20"], 'efm':'%f:%l:%m'}) + call assert_equal(fname, bufname('test_quickfix.vim')) + " Opening the quickfix window should simplify the file path + cwindow + call assert_equal('test_quickfix.vim', bufname('test_quickfix.vim')) + cclose + %bwipe + " Create a quickfix list with a absolute path filename + call setqflist([], ' ', {'lines':[fname . ":20:Line20"], 'efm':'%f:%l:%m'}) + call assert_equal(fname, bufname('test_quickfix.vim')) + " Displaying the quickfix list should simplify the file path + silent! clist + call assert_equal('test_quickfix.vim', bufname('test_quickfix.vim')) +endfunc diff --git a/src/testdir/test_quotestar.vim b/src/testdir/test_quotestar.vim index b83fbe40e8..ce5a9ee827 100644 --- a/src/testdir/test_quotestar.vim +++ b/src/testdir/test_quotestar.vim @@ -54,34 +54,33 @@ func Do_test_quotestar_for_x11() " Make sure a previous server has exited try call remote_send(name, ":qa!\") - call WaitFor('serverlist() !~ "' . name . '"') catch /E241:/ endtry - call assert_notmatch(name, serverlist()) + call WaitForAssert({-> assert_notmatch(name, serverlist())}) let cmd .= ' --servername ' . name let job = job_start(cmd, {'stoponexit': 'kill', 'out_io': 'null'}) - call WaitFor({-> job_status(job) == "run"}) + call WaitForAssert({-> assert_equal("run", job_status(job))}) " Takes a short while for the server to be active. - call WaitFor('serverlist() =~ "' . name . '"') + call WaitForAssert({-> assert_match(name, serverlist())}) " Wait for the server to be up and answering requests. One second is not " always sufficient. - call WaitFor('remote_expr("' . name . '", "v:version", "", 2) != ""') + call WaitForAssert({-> assert_notequal('', remote_expr(name, "v:version", "", 2))}) " Clear the *-register of this vim instance and wait for it to be picked up " by the server. let @* = 'no' call remote_foreground(name) - call WaitFor('remote_expr("' . name . '", "@*", "", 1) == "no"') + call WaitForAssert({-> assert_equal("no", remote_expr(name, "@*", "", 1))}) " Set the * register on the server. call remote_send(name, ":let @* = 'yes'\") - call WaitFor('remote_expr("' . name . '", "@*", "", 1) == "yes"') + call WaitForAssert({-> assert_equal("yes", remote_expr(name, "@*", "", 1))}) " Check that the *-register of this vim instance is changed as expected. - call WaitFor('@* == "yes"') + call WaitForAssert({-> assert_equal("yes", @*)}) " Handle the large selection over 262040 byte. let length = 262044 @@ -109,18 +108,17 @@ func Do_test_quotestar_for_x11() call remote_send(name, ":gui -f\") endif " Wait for the server in the GUI to be up and answering requests. - call WaitFor('remote_expr("' . name . '", "has(\"gui_running\")", "", 1) =~ "1"') + call WaitForAssert({-> assert_match("1", remote_expr(name, "has('gui_running')", "", 1))}) call remote_send(name, ":let @* = 'maybe'\") - call WaitFor('remote_expr("' . name . '", "@*", "", 1) == "maybe"') - call assert_equal('maybe', remote_expr(name, "@*", "", 2)) + call WaitForAssert({-> assert_equal("maybe", remote_expr(name, "@*", "", 2))}) call assert_equal('maybe', @*) endif call remote_send(name, ":qa!\") try - call WaitFor({-> job_status(job) == "dead"}) + call WaitForAssert({-> assert_equal("dead", job_status(job))}) finally if job_status(job) != 'dead' call assert_report('Server did not exit') diff --git a/src/testdir/test_search.vim b/src/testdir/test_search.vim index 93a03434c0..c923e9d402 100644 --- a/src/testdir/test_search.vim +++ b/src/testdir/test_search.vim @@ -494,7 +494,7 @@ func Test_search_cmdline8() call writefile(lines, 'Xsearch.txt') let buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile', 'Xsearch.txt'], {'term_rows': 3}) - call WaitFor({-> lines == [term_getline(buf, 1), term_getline(buf, 2)] }) + call WaitForAssert({-> assert_equal(lines, [term_getline(buf, 1), term_getline(buf, 2)])}) call term_sendkeys(buf, ":set incsearch hlsearch\") call term_sendkeys(buf, ":14vsp\") @@ -619,7 +619,7 @@ func Test_search_cmdline_incsearch_highlight_attr() call writefile(lines, 'Xsearch.txt') let buf = term_start([GetVimProg(), '--clean', '-c', 'set noswapfile', 'Xsearch.txt'], {'term_rows': 3}) - call WaitFor({-> lines == [term_getline(buf, 1), term_getline(buf, 2)] }) + call WaitForAssert({-> assert_equal(lines, [term_getline(buf, 1), term_getline(buf, 2)])}) " wait for vim to complete initialization call term_wait(buf) diff --git a/src/testdir/test_terminal.vim b/src/testdir/test_terminal.vim index ad91df5742..e134273a7c 100644 --- a/src/testdir/test_terminal.vim +++ b/src/testdir/test_terminal.vim @@ -83,8 +83,7 @@ func Test_terminal_wipe_buffer() let buf = Run_shell_in_terminal({}) call assert_fails(buf . 'bwipe', 'E517') exe buf . 'bwipe!' - call WaitFor('job_status(g:job) == "dead"') - call assert_equal('dead', job_status(g:job)) + call WaitForAssert({-> assert_equal('dead', job_status(g:job))}) call assert_equal("", bufname(buf)) unlet g:job @@ -100,8 +99,7 @@ func Test_terminal_split_quit() call assert_equal('run', job_status(g:job)) quit! - call WaitFor('job_status(g:job) == "dead"') - call assert_equal('dead', job_status(g:job)) + call WaitForAssert({-> assert_equal('dead', job_status(g:job))}) exe buf . 'bwipe' unlet g:job @@ -143,8 +141,8 @@ func Test_terminal_nasty_cb() let g:buf = term_start(cmd, {'exit_cb': function('s:Nasty_exit_cb')}) let g:job = term_getjob(g:buf) - call WaitFor('job_status(g:job) == "dead"') - call WaitFor('g:buf == 0') + call WaitForAssert({-> assert_equal("dead", job_status(g:job))}) + call WaitForAssert({-> assert_equal(0, g:buf)}) unlet g:buf unlet g:job call delete('Xtext') @@ -191,12 +189,12 @@ func Test_terminal_scrape_123() call term_wait(buf) " On MS-Windows we first get a startup message of two lines, wait for the " "cls" to happen, after that we have one line with three characters. - call WaitFor({-> len(term_scrape(buf, 1)) == 3}) + call WaitForAssert({-> assert_equal(3, len(term_scrape(buf, 1)))}) call Check_123(buf) " Must still work after the job ended. let job = term_getjob(buf) - call WaitFor({-> job_status(job) == "dead"}) + call WaitForAssert({-> assert_equal("dead", job_status(job))}) call term_wait(buf) call Check_123(buf) @@ -235,7 +233,7 @@ func Test_terminal_scrape_multibyte() call assert_equal('s', l[6].chars) let job = term_getjob(buf) - call WaitFor({-> job_status(job) == "dead"}) + call WaitForAssert({-> assert_equal("dead", job_status(job))}) call term_wait(buf) exe buf . 'bwipe' @@ -252,7 +250,7 @@ func Test_terminal_scroll() let buf = term_start(cmd) let job = term_getjob(buf) - call WaitFor({-> job_status(job) == "dead"}) + call WaitForAssert({-> assert_equal("dead", job_status(job))}) call term_wait(buf) if has('win32') " TODO: this should not be needed @@ -282,7 +280,7 @@ func Test_terminal_scrollback() endif let rows = term_getsize(buf)[0] " On MS-Windows there is an empty line, check both last line and above it. - call WaitFor({-> term_getline(buf, rows - 1) . term_getline(buf, rows - 2) =~ '149'}) + call WaitForAssert({-> assert_match( '149', term_getline(buf, rows - 1) . term_getline(buf, rows - 2))}) let lines = line('$') call assert_inrange(91, 100, lines) @@ -409,16 +407,16 @@ func Test_terminal_finish_open_close() let buf = bufnr('%') call assert_equal(2, winnr('$')) " Wait for the shell to display a prompt - call WaitFor({-> term_getline(buf, 1) != ""}) + call WaitForAssert({-> assert_notequal('', term_getline(buf, 1))}) call Stop_shell_in_terminal(buf) - call WaitFor("winnr('$') == 1", waittime) + call WaitForAssert({-> assert_equal(1, winnr('$'))}, waittime) " shell terminal that does not close automatically terminal ++noclose let buf = bufnr('%') call assert_equal(2, winnr('$')) " Wait for the shell to display a prompt - call WaitFor({-> term_getline(buf, 1) != ""}) + call WaitForAssert({-> assert_notequal('', term_getline(buf, 1))}) call Stop_shell_in_terminal(buf) call assert_equal(2, winnr('$')) quit @@ -427,36 +425,32 @@ func Test_terminal_finish_open_close() exe 'terminal ++close ' . cmd call assert_equal(2, winnr('$')) wincmd p - call WaitFor("winnr('$') == 1", waittime) + call WaitForAssert({-> assert_equal(1, winnr('$'))}, waittime) call term_start(cmd, {'term_finish': 'close'}) call assert_equal(2, winnr('$')) wincmd p - call WaitFor("winnr('$') == 1", waittime) + call WaitForAssert({-> assert_equal(1, winnr('$'))}, waittime) call assert_equal(1, winnr('$')) exe 'terminal ++open ' . cmd close! - call WaitFor("winnr('$') == 2", waittime) - call assert_equal(2, winnr('$')) + call WaitForAssert({-> assert_equal(2, winnr('$'))}, waittime) bwipe call term_start(cmd, {'term_finish': 'open'}) close! - call WaitFor("winnr('$') == 2", waittime) - call assert_equal(2, winnr('$')) + call WaitForAssert({-> assert_equal(2, winnr('$'))}, waittime) bwipe exe 'terminal ++hidden ++open ' . cmd call assert_equal(1, winnr('$')) - call WaitFor("winnr('$') == 2", waittime) - call assert_equal(2, winnr('$')) + call WaitForAssert({-> assert_equal(2, winnr('$'))}, waittime) bwipe call term_start(cmd, {'term_finish': 'open', 'hidden': 1}) call assert_equal(1, winnr('$')) - call WaitFor("winnr('$') == 2", waittime) - call assert_equal(2, winnr('$')) + call WaitForAssert({-> assert_equal(2, winnr('$'))}, waittime) bwipe call assert_fails("call term_start(cmd, {'term_opencmd': 'open'})", 'E475:') @@ -466,8 +460,7 @@ func Test_terminal_finish_open_close() call term_start(cmd, {'term_finish': 'open', 'term_opencmd': '4split | buffer %d'}) close! - call WaitFor("winnr('$') == 2", waittime) - call assert_equal(2, winnr('$')) + call WaitForAssert({-> assert_equal(2, winnr('$'))}, waittime) call assert_equal(4, winheight(0)) bwipe endfunc @@ -478,8 +471,7 @@ func Test_terminal_cwd() endif call mkdir('Xdir') let buf = term_start('pwd', {'cwd': 'Xdir'}) - call WaitFor('"Xdir" == fnamemodify(getline(1), ":t")') - call assert_equal('Xdir', fnamemodify(getline(1), ":t")) + call WaitForAssert({-> assert_equal('Xdir', fnamemodify(getline(1), ":t"))}) exe buf . 'bwipe' call delete('Xdir', 'rf') @@ -491,7 +483,7 @@ func Test_terminal_servername() endif let buf = Run_shell_in_terminal({}) " Wait for the shell to display a prompt - call WaitFor({-> term_getline(buf, 1) != ""}) + call WaitForAssert({-> assert_notequal('', term_getline(buf, 1))}) if has('win32') call term_sendkeys(buf, "echo %VIM_SERVERNAME%\r") else @@ -509,7 +501,7 @@ endfunc func Test_terminal_env() let buf = Run_shell_in_terminal({'env': {'TESTENV': 'correct'}}) " Wait for the shell to display a prompt - call WaitFor({-> term_getline(buf, 1) != ""}) + call WaitForAssert({-> assert_notequal('', term_getline(buf, 1))}) if has('win32') call term_sendkeys(buf, "echo %TESTENV%\r") else @@ -517,8 +509,7 @@ func Test_terminal_env() endif call term_wait(buf) call Stop_shell_in_terminal(buf) - call WaitFor('getline(2) == "correct"') - call assert_equal('correct', getline(2)) + call WaitForAssert({-> assert_equal('correct', getline(2))}) exe buf . 'bwipe' endfunc @@ -540,8 +531,7 @@ func Test_zz_terminal_in_gui() call term_wait(buf) " closing window wipes out the terminal buffer a with finished job - call WaitFor("winnr('$') == 1") - call assert_equal(1, winnr('$')) + call WaitForAssert({-> assert_equal(1, winnr('$'))}) call assert_equal("", bufname(buf)) unlet g:job @@ -598,7 +588,7 @@ func Test_terminal_write_stdin() new call setline(1, ['one', 'two', 'three']) %term wc - call WaitFor('getline("$") =~ "3"') + call WaitForAssert({-> assert_match('3', getline("$"))}) let nrs = split(getline('$')) call assert_equal(['3', '3', '14'], nrs) bwipe @@ -606,7 +596,7 @@ func Test_terminal_write_stdin() new call setline(1, ['one', 'two', 'three', 'four']) 2,3term wc - call WaitFor('getline("$") =~ "2"') + call WaitForAssert({-> assert_match('2', getline("$"))}) let nrs = split(getline('$')) call assert_equal(['2', '2', '10'], nrs) bwipe @@ -628,7 +618,7 @@ func Test_terminal_write_stdin() new call setline(1, ['print("hello")']) 1term ++eof= python - call WaitFor('getline("$") =~ "Z"') + call WaitForAssert({-> assert_match('Z', getline("$"))}) call assert_equal('hello', getline(line('$') - 1)) bwipe endif @@ -652,9 +642,8 @@ func Test_terminal_no_cmd() else call system('echo "look here" > ' . pty) endif - call WaitFor({-> term_getline(buf, 1) =~ "look here"}) + call WaitForAssert({-> assert_match('look here', term_getline(buf, 1))}) - call assert_match('look here', term_getline(buf, 1)) bwipe! endfunc @@ -666,8 +655,7 @@ func Test_terminal_special_chars() call mkdir('Xdir with spaces') call writefile(['x'], 'Xdir with spaces/quoted"file') term ls Xdir\ with\ spaces/quoted\"file - call WaitFor('term_getline("", 1) =~ "quoted"') - call assert_match('quoted"file', term_getline('', 1)) + call WaitForAssert({-> assert_match('quoted"file', term_getline('', 1))}) call term_wait('') call delete('Xdir with spaces', 'rf') @@ -697,10 +685,10 @@ func Test_terminal_redir_file() let cmd = Get_cat_123_cmd() let buf = term_start(cmd, {'out_io': 'file', 'out_name': 'Xfile'}) call term_wait(buf) - call WaitFor('len(readfile("Xfile")) > 0') + call WaitForAssert({-> assert_notequal(0, len(readfile("Xfile")))}) call assert_match('123', readfile('Xfile')[0]) let g:job = term_getjob(buf) - call WaitFor('job_status(g:job) == "dead"') + call WaitForAssert({-> assert_equal("dead", job_status(g:job))}) call delete('Xfile') bwipe endif @@ -709,10 +697,9 @@ func Test_terminal_redir_file() call writefile(['one line'], 'Xfile') let buf = term_start('cat', {'in_io': 'file', 'in_name': 'Xfile'}) call term_wait(buf) - call WaitFor('term_getline(' . buf . ', 1) == "one line"') - call assert_equal('one line', term_getline(buf, 1)) + call WaitForAssert({-> assert_equal('one line', term_getline(buf, 1))}) let g:job = term_getjob(buf) - call WaitFor('job_status(g:job) == "dead"') + call WaitForAssert({-> assert_equal('dead', job_status(g:job))}) bwipe call delete('Xfile') endif @@ -732,7 +719,7 @@ func TerminalTmap(remap) call assert_equal('456', maparg('123', 't')) call assert_equal('abxde', maparg('456', 't')) call feedkeys("123", 'tx') - call WaitFor({-> term_getline(buf, term_getcursor(buf)[0]) =~ 'abxde\|456'}) + call WaitForAssert({-> assert_match('abxde\|456', term_getline(buf, term_getcursor(buf)[0]))}) let lnum = term_getcursor(buf)[0] if a:remap call assert_match('abxde', term_getline(buf, lnum)) @@ -831,8 +818,7 @@ func Test_terminal_composing_unicode() call assert_equal("\u00a0\u0308", l[3].chars) call term_sendkeys(buf, "exit\r") - call WaitFor('job_status(g:job) == "dead"') - call assert_equal('dead', job_status(g:job)) + call WaitForAssert({-> assert_equal('dead', job_status(g:job))}) bwipe! unlet g:job let &encoding = save_enc @@ -855,7 +841,7 @@ func Test_terminal_aucmd_on_close() call setline(1, ['one', 'two']) exe 'term ++close ' . cmd wincmd p - call WaitFor("winnr('$') == 2", waittime) + call WaitForAssert({-> assert_equal(2, winnr('$'))}, waittime) call assert_equal(1, s:called) bwipe! @@ -886,16 +872,16 @@ func Test_terminal_response_to_control_sequence() endif let buf = Run_shell_in_terminal({}) - call WaitFor({-> term_getline(buf, 1) != ''}) + call WaitForAssert({-> assert_notequal('', term_getline(buf, 1))}) call term_sendkeys(buf, "cat\") - call WaitFor({-> term_getline(buf, 1) =~ 'cat'}) + call WaitForAssert({-> assert_match('cat', term_getline(buf, 1))}) " Request the cursor position. call term_sendkeys(buf, "\x1b[6n\") " Wait for output from tty to display, below an empty line. - call WaitFor({-> term_getline(buf, 4) =~ '3;1R'}) + call WaitForAssert({-> assert_match('3;1R', term_getline(buf, 4))}) " End "cat" gently. call term_sendkeys(buf, "\\") @@ -972,14 +958,14 @@ func Test_terminal_qall_prompt() " Open a terminal window and wait for the prompt to appear call term_sendkeys(buf, ":term\") - call WaitFor({-> term_getline(buf, 10) =~ '\[running]'}) - call WaitFor({-> term_getline(buf, 1) !~ '^\s*$'}) + call WaitForAssert({-> assert_match('\[running]', term_getline(buf, 10))}) + call WaitForAssert({-> assert_notmatch('^\s*$', term_getline(buf, 1))}) " make Vim exit, it will prompt to kill the shell call term_sendkeys(buf, "\:confirm qall\") - call WaitFor({-> term_getline(buf, 20) =~ 'ancel:'}) + call WaitForAssert({-> assert_match('ancel:', term_getline(buf, 20))}) call term_sendkeys(buf, "y") - call WaitFor({-> term_getstatus(buf) == "finished"}) + call WaitForAssert({-> assert_equal('finished', term_getstatus(buf))}) " close the terminal window where Vim was running quit @@ -1035,8 +1021,8 @@ func Test_terminal_dumpwrite_composing() let text = " a\u0300 e\u0302 o\u0308" call writefile([text], 'Xcomposing') - let buf = RunVimInTerminal('Xcomposing', {}) - call WaitFor({-> term_getline(buf, 1) =~ text}) + let buf = RunVimInTerminal('--cmd "set encoding=utf-8" Xcomposing', {}) + call WaitForAssert({-> assert_match(text, term_getline(buf, 1))}) call term_dumpwrite(buf, 'Xdump') let dumpline = readfile('Xdump')[0] call assert_match('|aÌ€| |eÌ‚| |ö', dumpline) @@ -1246,7 +1232,7 @@ func Test_terminal_api_drop_oldwin() \ "set t_ts=", \ ], 'Xscript') let buf = RunVimInTerminal('-S Xscript', {'rows': 10}) - call WaitFor({-> expand('%:t') =='Xtextfile'}) + call WaitForAssert({-> assert_equal('Xtextfile', expand('%:t'))}) call assert_equal(textfile_winid, win_getid()) call StopVimInTerminal(buf) @@ -1295,7 +1281,7 @@ func Test_terminal_api_call_fails() call WriteApiCall('TryThis') call ch_logfile('Xlog', 'w') let buf = RunVimInTerminal('-S Xscript', {}) - call WaitFor({-> string(readfile('Xlog')) =~ 'Invalid function name: TryThis'}) + call WaitForAssert({-> assert_match('Invalid function name: TryThis', string(readfile('Xlog')))}) call StopVimInTerminal(buf) call delete('Xscript') @@ -1320,7 +1306,7 @@ func Test_terminal_api_call_fail_delete() call WriteApiCall('Tapi_Delete') let buf = RunVimInTerminal('-S Xscript', {}) - call WaitFor({-> s:caught_e937 == 1}) + call WaitForAssert({-> assert_equal(1, s:caught_e937)}) call StopVimInTerminal(buf) call delete('Xscript') @@ -1495,3 +1481,19 @@ func Test_terminal_termwinsize_mininmum() set termwinsize= endfunc + +func Test_terminal_termwinkey() + call assert_equal(1, winnr('$')) + let thiswin = win_getid() + + let buf = Run_shell_in_terminal({}) + let termwin = bufwinid(buf) + set termwinkey= + call feedkeys("\w", 'tx') + call assert_equal(thiswin, win_getid()) + call feedkeys("\w", 'tx') + + let job = term_getjob(buf) + call feedkeys("\\", 'tx') + call WaitForAssert({-> assert_equal("dead", job_status(job))}) +endfunc diff --git a/src/testdir/test_timers.vim b/src/testdir/test_timers.vim index a1852174cc..48441580be 100644 --- a/src/testdir/test_timers.vim +++ b/src/testdir/test_timers.vim @@ -143,7 +143,7 @@ endfunc func Test_delete_myself() let g:called = 0 let t = timer_start(10, 'StopMyself', {'repeat': -1}) - call WaitFor('g:called == 2') + call WaitForAssert({-> assert_equal(2, g:called)}) call assert_equal(2, g:called) call assert_equal([], timer_info(t)) endfunc @@ -206,7 +206,7 @@ func Test_timer_errors() let g:call_count = 0 let timer = timer_start(10, 'FuncWithError', {'repeat': -1}) " Timer will be stopped after failing 3 out of 3 times. - call WaitFor('g:call_count == 3') + call WaitForAssert({-> assert_equal(3, g:call_count)}) sleep 50m call assert_equal(3, g:call_count) endfunc @@ -224,7 +224,7 @@ func Test_timer_catch_error() let g:call_count = 0 let timer = timer_start(10, 'FuncWithCaughtError', {'repeat': 4}) " Timer will not be stopped. - call WaitFor('g:call_count == 4') + call WaitForAssert({-> assert_equal(4, g:call_count)}) sleep 50m call assert_equal(4, g:call_count) endfunc diff --git a/src/version.c b/src/version.c index b00a023068..6913ae1d33 100644 --- a/src/version.c +++ b/src/version.c @@ -776,6 +776,44 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1787, +/**/ + 1786, +/**/ + 1785, +/**/ + 1784, +/**/ + 1783, +/**/ + 1782, +/**/ + 1781, +/**/ + 1780, +/**/ + 1779, +/**/ + 1778, +/**/ + 1777, +/**/ + 1776, +/**/ + 1775, +/**/ + 1774, +/**/ + 1773, +/**/ + 1772, +/**/ + 1771, +/**/ + 1770, +/**/ + 1769, /**/ 1768, /**/ diff --git a/src/vim.h b/src/vim.h index b0968d8791..3715a800f1 100644 --- a/src/vim.h +++ b/src/vim.h @@ -1279,6 +1279,7 @@ enum auto_event EVENT_CMDWINENTER, /* after entering the cmdline window */ EVENT_CMDWINLEAVE, /* before leaving the cmdline window */ EVENT_COLORSCHEME, /* after loading a colorscheme */ + EVENT_COLORSCHEMEPRE, /* before loading a colorscheme */ EVENT_COMPLETEDONE, /* after finishing insert complete */ EVENT_CURSORHOLD, /* cursor in same position for a while */ EVENT_CURSORHOLDI, /* idem, in Insert mode */ @@ -2188,16 +2189,16 @@ typedef enum { #ifdef FEAT_BROWSE # ifdef BACKSLASH_IN_FILENAME # define BROWSE_FILTER_MACROS \ - (char_u *)"Vim macro files (*.vim)\t*.vim\nAll Files (*.*)\t*.*\n" -# define BROWSE_FILTER_ALL_FILES (char_u *)"All Files (*.*)\t*.*\n" + (char_u *)N_("Vim macro files (*.vim)\t*.vim\nAll Files (*.*)\t*.*\n") +# define BROWSE_FILTER_ALL_FILES (char_u *)N_("All Files (*.*)\t*.*\n") # define BROWSE_FILTER_DEFAULT \ - (char_u *)"All Files (*.*)\t*.*\nC source (*.c, *.h)\t*.c;*.h\nC++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\nVB code (*.bas, *.frm)\t*.bas;*.frm\nVim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n" + (char_u *)N_("All Files (*.*)\t*.*\nC source (*.c, *.h)\t*.c;*.h\nC++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\nVB code (*.bas, *.frm)\t*.bas;*.frm\nVim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n") # else # define BROWSE_FILTER_MACROS \ - (char_u *)"Vim macro files (*.vim)\t*.vim\nAll Files (*)\t*\n" -# define BROWSE_FILTER_ALL_FILES (char_u *)"All Files (*)\t*\n" + (char_u *)N_("Vim macro files (*.vim)\t*.vim\nAll Files (*)\t*\n") +# define BROWSE_FILTER_ALL_FILES (char_u *)N_("All Files (*)\t*\n") # define BROWSE_FILTER_DEFAULT \ - (char_u *)"All Files (*)\t*\nC source (*.c, *.h)\t*.c;*.h\nC++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\nVim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n" + (char_u *)N_("All Files (*)\t*\nC source (*.c, *.h)\t*.c;*.h\nC++ source (*.cpp, *.hpp)\t*.cpp;*.hpp\nVim files (*.vim, _vimrc, _gvimrc)\t*.vim;_vimrc;_gvimrc\n") # endif # define BROWSE_SAVE 1 /* flag for do_browse() */ # define BROWSE_DIR 2 /* flag for do_browse() */