# HG changeset patch # User Bram Moolenaar # Date 1655477104 -7200 # Node ID 1e9e9d89f0eeb2566fa0c159fba9034c94d1bd81 # Parent e4488cf0eff9aaeec9b142618734a7eb9eb9ab34 Update runtime files Commit: https://github.com/vim/vim/commit/d592deb336523a5448779ee3d4bba80334cff1f7 Author: Bram Moolenaar Date: Fri Jun 17 15:42:40 2022 +0100 Update runtime files diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -53,6 +53,7 @@ runtime/compiler/fbc.vim @dkearns runtime/compiler/gawk.vim @dkearns runtime/compiler/gjs.vim @dkearns runtime/compiler/haml.vim @tpope +runtime/compiler/icon.vim @dkearns runtime/compiler/javac.vim @dkearns runtime/compiler/jest.vim @dkearns runtime/compiler/jjs.vim @dkearns @@ -114,6 +115,7 @@ runtime/ftplugin/gprof.vim @dpelle runtime/ftplugin/haml.vim @tpope runtime/ftplugin/hgcommit.vim @k-takata runtime/ftplugin/i3config.vim @hiqua +runtime/ftplugin/icon.vim @dkearns runtime/ftplugin/indent.vim @dkearns runtime/ftplugin/javascript.vim @dkearns runtime/ftplugin/javascriptreact.vim @dkearns @@ -250,6 +252,7 @@ runtime/syntax/haml.vim @tpope runtime/syntax/haskell.vim @coot runtime/syntax/hgcommit.vim @k-takata runtime/syntax/i3config.vim @hiqua +runtime/syntax/icon.vim @dkearns runtime/syntax/indent.vim @dkearns runtime/syntax/kconfig.vim @chrisbra runtime/syntax/less.vim @genoma diff --git a/runtime/compiler/icon.vim b/runtime/compiler/icon.vim new file mode 100644 --- /dev/null +++ b/runtime/compiler/icon.vim @@ -0,0 +1,33 @@ +" Vim compiler file +" Compiler: Icon Compiler +" Maintainer: Doug Kearns +" Last Change: 2022 Jun 16 + +if exists("current_compiler") + finish +endif +let current_compiler = "icont" + +if exists(":CompilerSet") != 2 " older Vim always used :setlocal + command -nargs=* CompilerSet setlocal +endif + +let s:cpo_save = &cpo +set cpo&vim + +CompilerSet makeprg=icont\ -s +CompilerSet errorformat=%-G%\\d%\\+\ errors%\\=, + \%ERun-time\ error\ %n, + \%ERun-time\ error\ %n\ in\ %m, + \%ZTraceback:, + \%+Coffending\ value:\ %.%#, + \%CFile\ %f;\ Line\ %l, + \%EFile\ %f;\ Line\ %l\ #\ %m, + \%EFile\ %f;\ %m, + \%E%f:%l:\ #\ %m, + \%E%f:\ %m, + \%+C%.%#, + \%-G%.%# + +let &cpo = s:cpo_save +unlet s:cpo_save diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt --- a/runtime/doc/builtin.txt +++ b/runtime/doc/builtin.txt @@ -1,4 +1,4 @@ -*builtin.txt* For Vim version 8.2. Last change: 2022 Jun 05 +*builtin.txt* For Vim version 8.2. Last change: 2022 Jun 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -8809,6 +8809,8 @@ strcharpart({src}, {start} [, {len} [, { strcharpart('abc', -1, 2) < results in 'a'. + Returns an empty string on error. + Can also be used as a |method|: > GetText()->strcharpart(5) @@ -8821,6 +8823,8 @@ strchars({string} [, {skipcc}]) *str When {skipcc} set to 1, Composing characters are ignored. |strcharlen()| always does this. + Returns zero on error. + Also see |strlen()|, |strdisplaywidth()| and |strwidth()|. {skipcc} is only available after 7.4.755. For backward @@ -8853,6 +8857,7 @@ strdisplaywidth({string} [, {col}]) *s 'tabstop' and 'display'. When {string} contains characters with East Asian Width Class Ambiguous, this function's return value depends on 'ambiwidth'. + Returns zero on error. Also see |strlen()|, |strwidth()| and |strchars()|. Can also be used as a |method|: > @@ -8886,6 +8891,7 @@ strgetchar({str}, {index}) *strgetcha index. Composing characters are considered separate characters here. Use |nr2char()| to convert the Number to a String. + Returns -1 if {index} is invalid. Also see |strcharpart()| and |strchars()|. Can also be used as a |method|: > @@ -8940,7 +8946,7 @@ strlen({string}) *strlen()* The result is a Number, which is the length of the String {string} in bytes. If the argument is a Number it is first converted to a String. - For other types an error is given. + For other types an error is given and zero is returned. If you want to count the number of multibyte characters use |strchars()|. Also see |len()|, |strdisplaywidth()| and |strwidth()|. @@ -8971,6 +8977,8 @@ strpart({src}, {start} [, {len} [, {char example, to get the character under the cursor: > strpart(getline("."), col(".") - 1, 1, v:true) < + Returns an empty string on error. + Can also be used as a |method|: > GetText()->strpart(5) @@ -9033,6 +9041,8 @@ strtrans({string}) *strtrans()* < This displays a newline in register a as "^@" instead of starting a new line. + Returns an empty string on error. + Can also be used as a |method|: > GetString()->strtrans() @@ -9042,6 +9052,7 @@ strwidth({string}) *strwidth()* cell, alternatively use |strdisplaywidth()|. When {string} contains characters with East Asian Width Class Ambiguous, this function's return value depends on 'ambiwidth'. + Returns zero on error. Also see |strlen()|, |strdisplaywidth()| and |strchars()|. Can also be used as a |method|: > @@ -9067,6 +9078,8 @@ submatch({nr} [, {list}]) *submatch()* When substitute() is used recursively only the submatches in the current (deepest) call can be obtained. + Returns an empty string or list on error. + Examples: > :s/\d\+/\=submatch(0) + 1/ :echo substitute(text, '\d\+', '\=submatch(0) + 1', '') @@ -9117,7 +9130,9 @@ substitute({string}, {pat}, {sub}, {flag |submatch()| returns. Example: > :echo substitute(s, '%\(\x\x\)', {m -> '0x' .. m[1]}, 'g') -< Can also be used as a |method|: > +< Returns an empty string on error. + + Can also be used as a |method|: > GetString()->substitute(pat, sub, flags) swapinfo({fname}) *swapinfo()* @@ -9172,6 +9187,8 @@ synID({lnum}, {col}, {trans}) *synID( Warning: This function can be very slow. Best speed is obtained by going through the file in forward direction. + Returns zero on error. + Example (echoes the name of the syntax item under the cursor): > :echo synIDattr(synID(line("."), col("."), 1), "name") < @@ -9209,6 +9226,8 @@ synIDattr({synID}, {what} [, {mode}]) "undercurl" "1" if undercurled "strike" "1" if strikethrough + Returns an empty string on error. + Example (echoes the color of the syntax item under the cursor): > :echo synIDattr(synIDtrans(synID(line("."), col("."), 1)), "fg") @@ -9223,6 +9242,8 @@ synIDtrans({synID}) *synIDtrans()* highlight the character. Highlight links given with ":highlight link" are followed. + Returns zero on error. + Can also be used as a |method|: > :echo synID(line("."), col("."), 1)->synIDtrans()->synIDattr("fg") @@ -9267,7 +9288,7 @@ synstack({lnum}, {col}) *synstack()* echo synIDattr(id, "name") endfor < When the position specified with {lnum} and {col} is invalid - nothing is returned. The position just after the last + an empty List is returned. The position just after the last character in a line and the first column in an empty line are valid positions. @@ -9381,6 +9402,8 @@ tabpagenr([{arg}]) *tabpagenr()* previous tab page 0 is returned. The number can be used with the |:tab| command. + Returns zero on error. + tabpagewinnr({tabarg} [, {arg}]) *tabpagewinnr()* Like |winnr()| but for tab page {tabarg}. @@ -9453,6 +9476,7 @@ tan({expr}) *tan()* Return the tangent of {expr}, measured in radians, as a |Float| in the range [-inf, inf]. {expr} must evaluate to a |Float| or a |Number|. + Returns 0.0 if {expr} is not a |Float| or a |Number|. Examples: > :echo tan(10) < 0.648361 > @@ -9469,6 +9493,7 @@ tanh({expr}) *tanh()* Return the hyperbolic tangent of {expr} as a |Float| in the range [-1, 1]. {expr} must evaluate to a |Float| or a |Number|. + Returns 0.0 if {expr} is not a |Float| or a |Number|. Examples: > :echo tanh(0.5) < 0.462117 > @@ -9598,6 +9623,8 @@ timer_start({time}, {callback} [, {optio Vim becomes unusable because of all the error messages. + Returns -1 on error. + Example: > func MyHandler(timer) echo 'Handler called' @@ -9633,7 +9660,7 @@ timer_stopall() *timer_stopall()* tolower({expr}) *tolower()* The result is a copy of the String given, with all uppercase characters turned into lowercase (just like applying |gu| to - the string). + the string). Returns an empty string on error. Can also be used as a |method|: > GetText()->tolower() @@ -9641,7 +9668,7 @@ tolower({expr}) *tolower()* toupper({expr}) *toupper()* The result is a copy of the String given, with all lowercase characters turned into uppercase (just like applying |gU| to - the string). + the string). Returns an empty string on error. Can also be used as a |method|: > GetText()->toupper() @@ -9654,6 +9681,8 @@ tr({src}, {fromstr}, {tostr}) *tr()* and so on. Exactly like the unix "tr" command. This code also deals with multibyte characters properly. + Returns an empty string on error. + Examples: > echo tr("hello there", "ht", "HT") < returns "Hello THere" > @@ -9679,6 +9708,7 @@ trim({text} [, {mask} [, {dir}]]) *tr When omitted both ends are trimmed. This function deals with multibyte characters properly. + Returns an empty string on error. Examples: > echo trim(" some text ") @@ -9697,6 +9727,7 @@ trunc({expr}) *trunc()* Return the largest integral value with magnitude less than or equal to {expr} as a |Float| (truncate towards zero). {expr} must evaluate to a |Float| or a |Number|. + Returns 0.0 if {expr} is not a |Float| or a |Number|. Examples: > echo trunc(1.456) < 1.0 > @@ -9815,12 +9846,15 @@ uniq({list} [, {func} [, {dict}]]) *un < The default compare function uses the string representation of each item. For the use of {func} and {dict} see |sort()|. + Returns zero if {list} is not a |List|. + Can also be used as a |method|: > mylist->uniq() values({dict}) *values()* Return a |List| with all the values of {dict}. The |List| is in arbitrary order. Also see |items()| and |keys()|. + Returns zero if {dict} is not a |Dict|. Can also be used as a |method|: > mydict->values() @@ -9988,6 +10022,8 @@ win_gettype([{nr}]) *win_gettype()* popup window then 'buftype' is "terminal" and win_gettype() returns "popup". + Return an empty string if the window cannot be found. + Can also be used as a |method|: > GetWinid()->win_gettype() < @@ -10025,6 +10061,8 @@ win_move_separator({nr}, {offset}) *wi specified (e.g., as a consequence of maintaining 'winminwidth'). Returns TRUE if the window can be found and FALSE otherwise. + This will fail for the rightmost window and a full-width + window, since it has no separator on the right. Can also be used as a |method|: > GetWinnr()->win_move_separator(offset) diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt --- a/runtime/doc/channel.txt +++ b/runtime/doc/channel.txt @@ -1485,7 +1485,7 @@ request to the LSP server (if needed). let resp = ch_sendexpr(ch, req, #{callback: 'HoverFunc'}) To cancel an outstanding asynchronous LSP request sent to the server using the -|ch_sendexpr()| function, send a cancelation message to the server using the +|ch_sendexpr()| function, send a cancellation message to the server using the |ch_sendexpr()| function with the ID returned by the |ch_sendexpr()| function for the request. Example: > @@ -1533,7 +1533,7 @@ A LSP request message has the following "params": } -A LSP reponse message has the following format (expressed as a Vim Dict). The +A LSP response message has the following format (expressed as a Vim Dict). The "result" and "error" fields are optional: > { @@ -1565,7 +1565,7 @@ A LSP request message has the following "params": } -A LSP reponse message has the following format (expressed as a Vim Dict). The +A LSP response message has the following format (expressed as a Vim Dict). The "result" and "error" fields are optional: > { diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -1,4 +1,4 @@ -*cmdline.txt* For Vim version 8.2. Last change: 2022 Apr 29 +*cmdline.txt* For Vim version 8.2. Last change: 2022 Jun 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1218,8 +1218,8 @@ save the command-line history and read i If the 'wildchar' option is set to , and the command-line window is used for an Ex command, then two mappings will be added to use for completion in the command-line window, like this: > - :imap - :nmap a + :inoremap + :nnoremap a Note that hitting in Normal mode will do completion on the next character. That way it works at the end of the line. If you don't want these mappings, disable them with: > diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -531,7 +531,7 @@ entry. Note that the String '04' and th Number will be converted to the String '4', leading zeros are dropped. The empty string can also be used as a key. -In |Vim9| script literaly keys can be used if the key consists of alphanumeric +In |Vim9| script literally keys can be used if the key consists of alphanumeric characters, underscore and dash, see |vim9-literal-dict|. *literal-Dict* *#{}* To avoid having to put quotes around every key the #{} form can be used in @@ -1144,7 +1144,7 @@ expr6 >> expr6 bitwise right shift *e The "<<" and ">>" operators can be used to perform bitwise left or right shift of the left operand by the number of bits specified by the right operand. The operands are used as positive numbers. When shifting right with ">>" the -topmost bit (somtimes called the sign bit) is cleared. If the right operand +topmost bit (sometimes called the sign bit) is cleared. If the right operand (shift amount) is more than the maximum number of bits in a number (|v:numbersize|) the result is zero. diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -642,15 +642,15 @@ manpages and follows linked manpages on For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...) - export MANPAGER="vim -M +MANPAGER -" + export MANPAGER="vim +MANPAGER --not-a-term -" For (t)csh, add to the config file - setenv MANPAGER "vim -M +MANPAGER -" + setenv MANPAGER "vim +MANPAGER --not-a-term -" For fish, add to the config file - set -x MANPAGER "vim -M +MANPAGER -" + set -x MANPAGER "vim +MANPAGER --not-a-term -" MARKDOWN *ft-markdown-plugin* diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt --- a/runtime/doc/map.txt +++ b/runtime/doc/map.txt @@ -1,4 +1,4 @@ -*map.txt* For Vim version 8.2. Last change: 2022 Jun 02 +*map.txt* For Vim version 8.2. Last change: 2022 Jun 14 VIM REFERENCE MANUAL by Bram Moolenaar @@ -395,8 +395,14 @@ Note: - In Visual mode you can use `line('v')` and `col('v')` to get one end of the Visual area, the cursor is at the other end. - In Select mode, |:map| and |:vmap| command mappings are executed in - Visual mode. Use |:smap| to handle Select mode differently. - + Visual mode. Use |:smap| to handle Select mode differently. One particular + edge case: > + :vnoremap +< This ends Visual mode when in Visual mode, but in Select mode it does not + work, because Select mode is restored after executing the mapped keys. You + need to use: > + :snoremap +< *E1255* *E1136* and commands must terminate, that is, they must be followed by in the {rhs} of the mapping definition. |Command-line| mode is never diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt --- a/runtime/doc/pi_netrw.txt +++ b/runtime/doc/pi_netrw.txt @@ -440,11 +440,11 @@ settings are described below, in |netrw- *g:netrw_use_errorwindow* =2: messages from netrw will use a popup window Move the mouse and pause to remove the popup window. - (default value if popup windows are availble) + (default value if popup windows are available) =1 : messages from netrw will use a separate one line window. This window provides reliable delivery of messages. - (default value if popup windows are not availble) + (default value if popup windows are not available) =0 : messages from netrw will use echoerr ; messages don't always seem to show up this way, but one doesn't have to quit the window. @@ -1198,7 +1198,7 @@ If there are marked files and/or directo list. *netrw-:NetrwMB* -Addtionally, one may use :NetrwMB to bookmark files or directories. > +Additionally, one may use :NetrwMB to bookmark files or directories. > :NetrwMB[!] [files/directories] diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt --- a/runtime/doc/popup.txt +++ b/runtime/doc/popup.txt @@ -1,4 +1,4 @@ -*popup.txt* For Vim version 8.2. Last change: 2022 Jun 06 +*popup.txt* For Vim version 8.2. Last change: 2022 Jun 16 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1001,8 +1001,6 @@ 4. Examples *popup-examples* These examples use |Vim9| script. -TODO: more interesting examples - *popup_dialog-example* Prompt the user to press y/Y or n/N: > @@ -1015,89 +1013,87 @@ Prompt the user to press y/Y or n/N: > echomsg "'y' or 'Y' was NOT pressed" endif }, + padding: [2, 4, 2, 4], }) < *popup_menu-shortcut-example* Extend popup_filter_menu() with shortcut keys: > - call popup_menu(['Save', 'Cancel', 'Discard'], #{ - \ filter: 'MyMenuFilter', - \ callback: 'MyMenuHandler', - \ }) - - func MyMenuFilter(id, key) - " Handle shortcuts - if a:key == 'S' - call popup_close(a:id, 1) - return 1 - endif - if a:key == 'C' - call popup_close(a:id, 2) - return 1 - endif - if a:key == 'D' - call popup_close(a:id, 3) - return 1 - endif - - " No shortcut, pass to generic filter - return popup_filter_menu(a:id, a:key) - endfunc - - func MyMenuHandler(id, result) - echo $'Result: {a:result}' - endfunc + popup_menu(['Save', 'Cancel', 'Discard'], { + callback: (_, result) => { + echo 'dialog result is' result + }, + filter: (id, key) => { + # Handle shortcuts + if key == 'S' || key == 's' + popup_close(id, 1) + elseif key == 'C' || key == 'c' + popup_close(id, 2) + elseif key == 'D' || key == 'd' + popup_close(id, 3) + else + # No shortcut, pass to generic filter + return popup_filter_menu(id, key) + endif + return true + }, + }) < *popup_beval_example* Example for using a popup window for 'ballooneval': > set ballooneval balloonevalterm set balloonexpr=BalloonExpr() - let s:winid = 0 - let s:last_text = '' + var winid: number + var last_text: string - func BalloonExpr() - if s:winid && popup_getpos(s:winid) != {} - " previous popup window still shows - if v:beval_text == s:last_text - " Still the same text, keep the existing popup - return '' + def BalloonExpr(): string + # here you would use "v:beval_text" to lookup something interesting + var text = v:beval_text + if winid > 0 && popup_getpos(winid) != null_dict + # previous popup window still shows + if text == last_text + # still the same text, keep the existing popup + return null_string + endif + popup_close(winid) endif - call popup_close(s:winid) - endif - let s:winid = popup_beval(v:beval_text, #{mousemoved: 'word'}) - let s:last_text = v:beval_text - return '' - endfunc -< + + winid = popup_beval(text, {}) + last_text = text + return null_string + enddef + If the text has to be obtained asynchronously return an empty string from the expression function and call popup_beval() once the text is available. In this example simulated with a timer callback: > set ballooneval balloonevalterm set balloonexpr=BalloonExpr() - let s:winid = 0 - let s:balloonText = '' + var winid: number + var last_text: string - func BalloonExpr() - if s:winid && popup_getpos(s:winid) != {} - " previous popup window still shows - if v:beval_text == s:balloonText - " Still the same text, keep the existing popup - return '' + def BalloonExpr(): string + var text = v:beval_text + if winid > 0 && popup_getpos(winid) != null_dict + # previous popup window still shows + if text == last_text + # still the same text, keep the existing popup + return null_string + endif + popup_close(winid) endif - call popup_close(s:winid) - let s:winid = 0 - endif - " simulate an asynchronous lookup for the text to display - let s:balloonText = v:beval_text - call timer_start(100, 'ShowPopup') - return '' - endfunc - func ShowPopup(id) - let s:winid = popup_beval(s:balloonText, #{mousemoved: 'word'}) - endfunc + # Simulate an asynchronous lookup that takes half a second for the + # text to display. + last_text = text + timer_start(500, 'ShowPopup') + return null_string + enddef + + def ShowPopup(timerid: number) + winid = popup_beval('Result: ' .. last_text, {}) + enddef < vim:tw=78:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.2. Last change: 2022 Jun 14 +*todo.txt* For Vim version 8.2. Last change: 2022 Jun 17 VIM REFERENCE MANUAL by Bram Moolenaar @@ -38,19 +38,15 @@ browser use: https://github.com/vim/vim/ *known-bugs* -------------------- Known bugs and current work ----------------------- -retab test Test_retab_endless() disabled - why is interrupt not caught? - -searchpair() must call function to set timeout, not pass the time limit down -(and set it many times). #10562 - -Add test for --gui-dialog-file, check :confirm q with change buffer. +Searchpair() timeout using skip expression using synID() interferes with +syntax highlighting. #10562 +Add flag that timeout is set for 'redrawtime' and only then set b_syn_slow. Prepare for Vim 9.0 release: - Update the user manual: - Add more to usr_50.txt as an "advanced section" of usr_41.txt - Move some from vim9.txt to the user manual? Keep the specification. - Use Vim9 for more runtime files. -- Make popup-examples use Vim9 script Issue #10499 - Adjust intro message to say "help version9". Further Vim9 improvements, possibly after launch: diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt --- a/runtime/doc/undo.txt +++ b/runtime/doc/undo.txt @@ -257,7 +257,7 @@ message about that when opening a file. Undo files are normally saved in the same directory as the file. This can be changed with the 'undodir' option. -When the file is encrypted, the text in the undo file is also crypted. The +When the file is encrypted, the text in the undo file is also encrypted. The same key and method is used. |encryption| Note that text properties are not stored in the undo file. You can restore diff --git a/runtime/doc/usr_52.txt b/runtime/doc/usr_52.txt --- a/runtime/doc/usr_52.txt +++ b/runtime/doc/usr_52.txt @@ -183,7 +183,7 @@ it a bit simpler. The idea is that you That function is then in an autoload script. We will call that one script a library script. -The autoload mechanism is based on a funtion name that has "#" characters: > +The autoload mechanism is based on a function name that has "#" characters: > mylib#myfunction(arg) diff --git a/runtime/doc/version5.txt b/runtime/doc/version5.txt --- a/runtime/doc/version5.txt +++ b/runtime/doc/version5.txt @@ -3262,7 +3262,7 @@ Files can be encrypted when writing and on patch from Mohsin Ahmed) When reading a file, there is an automatic detection whether it has been -crypted. Vim will then prompt for the key. +encrypted. Vim will then prompt for the key. Note that the encryption method is not compatible with Vi. The encryption is not unbreakable. This allows it to be exported from the US. @@ -7622,7 +7622,7 @@ argument was fixed. Previously released patches for Vim 5.7: Patch 5.7.001 -Problem: When the current buffer is crypted, and another modified buffer +Problem: When the current buffer is encrypted, and another modified buffer isn't, ":wall" will encrypt the other buffer. Solution: In buf_write() use "buf" instead of "curbuf" to check for the crypt key. diff --git a/runtime/ftplugin/icon.vim b/runtime/ftplugin/icon.vim new file mode 100644 --- /dev/null +++ b/runtime/ftplugin/icon.vim @@ -0,0 +1,36 @@ +" Vim filetype plugin file +" Language: Icon +" Maintainer: Doug Kearns +" Last Change: 2022 Jun 16 + +if exists("b:did_ftplugin") + finish +endif +let b:did_ftplugin = 1 + +let s:cpo_save = &cpo +set cpo&vim + +setlocal comments=:# +setlocal commentstring=#\ %s +setlocal formatoptions-=t formatoptions+=croql + +let b:undo_ftplugin = "setl fo< com< cms<" + +if exists("loaded_matchit") + " let b:match_ignorecase = 0 + let b:match_words = '^\s*$\s*if\(def\|ndef\)\=\>:^\s*$\s*elif\>:^\s*$\s*else\>:^\s*$\s*endif\>,' . + \ '\:\<\%(initial\|return\|suspend\|fail\)\>:\' + let b:undo_ftplugin ..= " | unlet! b:match_words" +endif + +if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") + let b:browsefilter = "Icon Source Files (*.icn)\t*.icn\n" . + \ "All Files (*.*)\t*.*\n" + let b:undo_ftplugin ..= " | unlet! b:browsefilter" +endif + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim: nowrap sw=2 sts=2 ts=8 diff --git a/runtime/indent/dtd.vim b/runtime/indent/dtd.vim --- a/runtime/indent/dtd.vim +++ b/runtime/indent/dtd.vim @@ -4,6 +4,12 @@ " Previous Maintainer: Nikolai Weibull " Last Change: 24 Sep 2021 +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + setlocal indentexpr=GetDTDIndent() setlocal indentkeys=!^F,o,O,> setlocal nosmartindent diff --git a/runtime/indent/julia.vim b/runtime/indent/julia.vim --- a/runtime/indent/julia.vim +++ b/runtime/indent/julia.vim @@ -2,9 +2,15 @@ " Language: Julia " Maintainer: Carlo Baldassi " Homepage: https://github.com/JuliaEditorSupport/julia-vim -" Last Change: 2016 jun 16 +" Last Change: 2022 Jun 14 " Notes: originally based on Bram Molenaar's indent file for vim +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + setlocal autoindent setlocal indentexpr=GetJuliaIndent() diff --git a/runtime/indent/perl.vim b/runtime/indent/perl.vim --- a/runtime/indent/perl.vim +++ b/runtime/indent/perl.vim @@ -6,104 +6,178 @@ " License: Vim License (see :help license) " Last Change: 2021 Sep 24 -if exists("b:did_ftplugin") | finish | endif -let b:did_ftplugin = 1 - -" Make sure the continuation lines below do not cause problems in -" compatibility mode. -let s:save_cpo = &cpo -set cpo-=C - -setlocal formatoptions-=t -setlocal formatoptions+=crqol -setlocal keywordprg=perldoc\ -f - -setlocal comments=:# -setlocal commentstring=#%s +" Suggestions and improvements by : +" Aaron J. Sherman (use syntax for hints) +" Artem Chuprina (play nice with folding) -" Provided by Ned Konz -"--------------------------------------------- -setlocal include=\\<\\(use\\\|require\\)\\> -" '+' is removed to support plugins in Catalyst or DBIx::Class -" where the leading plus indicates a fully-qualified module name. -setlocal includeexpr=substitute(substitute(substitute(substitute(v:fname,'+','',''),'::','/','g'),'->\*','',''),'$','.pm','') -setlocal define=[^A-Za-z_] -setlocal iskeyword+=: +" TODO things that are not or not properly indented (yet) : +" - Continued statements +" print "foo", +" "bar"; +" print "foo" +" if bar(); +" - Multiline regular expressions (m//x) +" (The following probably needs modifying the perl syntax file) +" - qw() lists +" - Heredocs with terminators that don't match \I\i* -" The following line changes a global variable but is necessary to make -" gf and similar commands work. Thanks to Andrew Pimlott for pointing -" out the problem. -let s:old_isfname = &isfname -set isfname+=: -let s:new_isfname = &isfname +" Only load this indent file when no other was loaded. +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 -augroup perl_global_options - au! - exe "au BufEnter * if &filetype == 'perl' | let &isfname = '" . s:new_isfname . "' | endif" - exe "au BufLeave * if &filetype == 'perl' | let &isfname = '" . s:old_isfname . "' | endif" -augroup END +" Is syntax highlighting active ? +let b:indent_use_syntax = has("syntax") -" Undo the stuff we changed. -let b:undo_ftplugin = "setlocal fo< kp< com< cms< inc< inex< def< isk<" . - \ " | let &isfname = '" . s:old_isfname . "'" - -if get(g:, 'perl_fold', 0) - setlocal foldmethod=syntax - let b:undo_ftplugin .= " | setlocal fdm<" +setlocal indentexpr=GetPerlIndent() +setlocal indentkeys+=0=,0),0],0=or,0=and +if !b:indent_use_syntax + setlocal indentkeys+=0=EO endif -" Set this once, globally. -if !exists("perlpath") - if executable("perl") - try - if &shellxquote != '"' - let perlpath = system('perl -e "print join(q/,/,@INC)"') - else - let perlpath = system("perl -e 'print join(q/,/,@INC)'") - endif - let perlpath = substitute(perlpath,',.$',',,','') - catch /E145:/ - let perlpath = ".,," - endtry +let b:undo_indent = "setl inde< indk<" + +let s:cpo_save = &cpo +set cpo-=C + +function! GetPerlIndent() + + " Get the line to be indented + let cline = getline(v:lnum) + + " Indent POD markers to column 0 + if cline =~ '^\s*=\L\@!' + return 0 + endif + + " Get current syntax item at the line's first char + let csynid = '' + if b:indent_use_syntax + let csynid = synIDattr(synID(v:lnum,1,0),"name") + endif + + " Don't reindent POD and heredocs + if csynid == "perlPOD" || csynid == "perlHereDoc" || csynid =~ "^pod" + return indent(v:lnum) + endif + + " Indent end-of-heredocs markers to column 0 + if b:indent_use_syntax + " Assumes that an end-of-heredoc marker matches \I\i* to avoid + " confusion with other types of strings + if csynid == "perlStringStartEnd" && cline =~ '^\I\i*$' + return 0 + endif else - " If we can't call perl to get its path, just default to using the - " current directory and the directory of the current file. - let perlpath = ".,," + " Without syntax hints, assume that end-of-heredocs markers begin with EO + if cline =~ '^\s*EO' + return 0 + endif endif -endif + + " Now get the indent of the previous perl line. -" Append perlpath to the existing path value, if it is set. Since we don't -" use += to do it because of the commas in perlpath, we have to handle the -" global / local settings, too. -if &l:path == "" - if &g:path == "" - let &l:path=perlpath + " Find a non-blank line above the current line. + let lnum = prevnonblank(v:lnum - 1) + " Hit the start of the file, use zero indent. + if lnum == 0 + return 0 + endif + let line = getline(lnum) + let ind = indent(lnum) + " Skip heredocs, POD, and comments on 1st column + if b:indent_use_syntax + let skippin = 2 + while skippin + let synid = synIDattr(synID(lnum,1,0),"name") + if (synid == "perlStringStartEnd" && line =~ '^\I\i*$') + \ || (skippin != 2 && synid == "perlPOD") + \ || (skippin != 2 && synid == "perlHereDoc") + \ || synid == "perlComment" + \ || synid =~ "^pod" + let lnum = prevnonblank(lnum - 1) + if lnum == 0 + return 0 + endif + let line = getline(lnum) + let ind = indent(lnum) + let skippin = 1 + else + let skippin = 0 + endif + endwhile else - let &l:path=&g:path.",".perlpath + if line =~ "^EO" + let lnum = search("<<[\"']\\=EO", "bW") + let line = getline(lnum) + let ind = indent(lnum) + endif endif -else - let &l:path=&l:path.",".perlpath -endif - -let b:undo_ftplugin .= " | setlocal pa<" -"--------------------------------------------- -" Change the browse dialog to show mainly Perl-related files -if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter") - let b:browsefilter = "Perl Source Files (*.pl)\t*.pl\n" . - \ "Perl Modules (*.pm)\t*.pm\n" . - \ "Perl Documentation Files (*.pod)\t*.pod\n" . - \ "All Files (*.*)\t*.*\n" - let b:undo_ftplugin .= " | unlet! b:browsefilter" -endif + " Indent blocks enclosed by {}, (), or [] + if b:indent_use_syntax + " Find a real opening brace + " NOTE: Unlike Perl character classes, we do NOT need to escape the + " closing brackets with a backslash. Doing so just puts a backslash + " in the character class and causes sorrow. Instead, put the closing + " bracket as the first character in the class. + let braceclass = '[][(){}]' + let bracepos = match(line, braceclass, matchend(line, '^\s*[])}]')) + while bracepos != -1 + let synid = synIDattr(synID(lnum, bracepos + 1, 0), "name") + " If the brace is highlighted in one of those groups, indent it. + " 'perlHereDoc' is here only to handle the case '&foo(<' + if line !~ '^\s*\(or\|and\)\>' + let ind = ind + shiftwidth() + endif + elseif line =~ '^\s*\(or\|and\)\>' + let ind = ind - shiftwidth() + endif -" Restore the saved compatibility options. -let &cpo = s:save_cpo -unlet s:save_cpo s:old_isfname s:new_isfname + return ind + +endfunction + +let &cpo = s:cpo_save +unlet s:cpo_save + +" vim:ts=8:sts=4:sw=4:expandtab:ft=vim diff --git a/runtime/plugin/manpager.vim b/runtime/plugin/manpager.vim --- a/runtime/plugin/manpager.vim +++ b/runtime/plugin/manpager.vim @@ -1,8 +1,9 @@ " Vim plugin for using Vim as manpager. " Maintainer: Enno Nagel -" Last Change: 2022 Jun 05 +" Last Change: 2022 Jun 17 -command! -nargs=0 MANPAGER call s:ManPager() | delcommand MANPAGER +" Set up the current buffer (likely read from stdin) as a manpage +command MANPAGER call s:ManPager() function s:ManPager() " global options, keep these to a minimum to avoid side effects @@ -12,11 +13,19 @@ function s:ManPager() if exists('+viminfofile') set viminfofile=NONE endif - set noswapfile + syntax on + + " Make this an unlisted, readonly scratch buffer + setlocal buftype=nofile noswapfile bufhidden=hide nobuflisted readonly - setlocal ft=man - runtime ftplugin/man.vim - setlocal buftype=nofile bufhidden=hide iskeyword+=: modifiable + " Is this useful? Should allow for using K on word with a colon. + setlocal iskeyword+=: + + " Ensure text width matches window width + setlocal foldcolumn& nofoldenable nonumber norelativenumber + + " In case Vim was invoked with -M + setlocal modifiable " Emulate 'col -b' silent! keepj keepp %s/\v(.)\b\ze\1?//ge @@ -30,7 +39,11 @@ function s:ManPager() if n > 1 exe "1," . n-1 . "d" endif - setlocal nomodifiable nomodified readonly nowrite + + " Finished preprocessing the buffer, prevent any further modifications + setlocal nomodified nomodifiable - syntax on + " Set filetype to man even if ftplugin is disabled + setlocal iskeyword+=: filetype=man + runtime ftplugin/man.vim endfunction diff --git a/runtime/syntax/coco.vim b/runtime/syntax/coco.vim --- a/runtime/syntax/coco.vim +++ b/runtime/syntax/coco.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: Coco/R " Maintainer: Ashish Shukla -" Last Change: 2007 Aug 10 +" Last Change: 2022 Jun 14 " Remark: Coco/R syntax partially implemented. " License: Vim license @@ -30,3 +30,4 @@ hi def link cocoOperator Operato hi def link cocoProductionCode Statement hi def link cocoPragma Special +let b:current_syntax = 'coco' diff --git a/runtime/syntax/dirpager.vim b/runtime/syntax/dirpager.vim --- a/runtime/syntax/dirpager.vim +++ b/runtime/syntax/dirpager.vim @@ -6,7 +6,7 @@ " Description: display directory content inside Vim with syntax " highlighting " File: runtime/syntax/dirpager.vim -" Last Change: 2012 May 19 +" Last Change: 2022 Jun 14 " Modeline: vim: ts=8:sw=2:sts=2: " " Credits: dirpager.vim is derived from Nikolai Weibulls dircolors.vim diff --git a/runtime/syntax/dts.vim b/runtime/syntax/dts.vim --- a/runtime/syntax/dts.vim +++ b/runtime/syntax/dts.vim @@ -1,11 +1,12 @@ " Vim syntax file " Language: dts/dtsi (device tree files) " Maintainer: Daniel Mack -" Last Change: 2021 May 15 +" Last Change: 2022 Jun 14 if exists("b:current_syntax") finish endif +let b:current_syntax = 'dts' syntax region dtsComment start="/\*" end="\*/" syntax match dtsReference "&[[:alpha:][:digit:]_]\+" diff --git a/runtime/syntax/icon.vim b/runtime/syntax/icon.vim --- a/runtime/syntax/icon.vim +++ b/runtime/syntax/icon.vim @@ -1,199 +1,211 @@ " Vim syntax file -" Language: Icon -" Maintainer: Wendell Turner -" URL: ftp://ftp.halcyon.com/pub/users/wturner/icon.vim -" Last Change: 2003 May 11 +" Language: Icon +" Maintainer: Doug Kearns +" Previous Maintainer: Wendell Turner (invalid last known address) +" Last Change: 2022 Jun 16 +" Contributor: eschen@alumni.princeton.edu 2002.09.18 -" quit when a syntax file was already loaded +" Prelude {{{1 if exists("b:current_syntax") finish endif -syn keyword iconFunction abs acos any args asin atan bal -syn keyword iconFunction callout center char chdir close collect copy -syn keyword iconFunction cos cset delay delete detab display dtor -syn keyword iconFunction entab errorclear exit exp find flush function -syn keyword iconFunction get getch getche getenv iand icom image -syn keyword iconFunction insert integer ior ishift ixor kbhit key -syn keyword iconFunction left list loadfunc log many map match -syn keyword iconFunction member move name numeric open ord pop -syn keyword iconFunction pos proc pull push put read reads -syn keyword iconFunction real remove rename repl reverse right rtod -syn keyword iconFunction runerr save seek seq set sin sort -syn keyword iconFunction sortf sqrt stop string system tab table -syn keyword iconFunction tan trim type upto variable where write writes +syn iskeyword @,48-57,_,192-255,& + +" Not Top {{{1 +syn cluster iconNotTop contains=iconDocField,iconIncluded,iconStringSpecial,iconTodo,@Spell + +" Whitespace errors {{{1 +if exists("icon_space_errors") + if !exists("icon_no_trail_space_error") + syn match iconSpaceError "\s\+$" display excludenl + endif + if !exists("icon_no_tab_space_error") + syn match iconSpaceError " \+\t"me=e-1 display + endif +endif -" Keywords -syn match iconKeyword "&allocated" -syn match iconKeyword "&ascii" -syn match iconKeyword "&clock" -syn match iconKeyword "&collections" -syn match iconKeyword "&cset" -syn match iconKeyword "¤t" -syn match iconKeyword "&date" -syn match iconKeyword "&dateline" -syn match iconKeyword "&digits" -syn match iconKeyword "&dump" -syn match iconKeyword "&e" -syn match iconKeyword "&error" -syn match iconKeyword "&errornumber" -syn match iconKeyword "&errortext" -syn match iconKeyword "&errorvalue" -syn match iconKeyword "&errout" -syn match iconKeyword "&fail" -syn match iconKeyword "&features" -syn match iconKeyword "&file" -syn match iconKeyword "&host" -syn match iconKeyword "&input" -syn match iconKeyword "&lcase" -syn match iconKeyword "&letters" -syn match iconKeyword "&level" -syn match iconKeyword "&line" -syn match iconKeyword "&main" -syn match iconKeyword "&null" -syn match iconKeyword "&output" -syn match iconKeyword "&phi" -syn match iconKeyword "&pi" -syn match iconKeyword "&pos" -syn match iconKeyword "&progname" -syn match iconKeyword "&random" -syn match iconKeyword "®ions" -syn match iconKeyword "&source" -syn match iconKeyword "&storage" -syn match iconKeyword "&subject" -syn match iconKeyword "&time" -syn match iconKeyword "&trace" -syn match iconKeyword "&ucase" -syn match iconKeyword "&version" +" Reserved words {{{1 +syn keyword iconReserved break by case create default do else every fail if +syn keyword iconReserved initial next not of repeat return suspend then to +syn keyword iconReserved until while + +syn keyword iconStorageClass global static local record invocable -" Reserved words -syn keyword iconReserved break by case create default do -syn keyword iconReserved else end every fail if -syn keyword iconReserved initial link next not of -syn keyword iconReserved procedure repeat return suspend -syn keyword iconReserved then to until while - -" Storage class reserved words -syn keyword iconStorageClass global static local record - -syn keyword iconTodo contained TODO FIXME XXX BUG +syn keyword iconLink link -" String and Character constants -" Highlight special characters (those which have a backslash) differently -syn match iconSpecial contained "\\x\x\{2}\|\\\o\{3\}\|\\[bdeflnrtv\"\'\\]\|\\^c[a-zA-Z0-9]\|\\$" -syn region iconString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=iconSpecial -syn region iconCset start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=iconSpecial -syn match iconCharacter "'[^\\]'" - -" not sure about these -"syn match iconSpecialCharacter "'\\[bdeflnrtv]'" -"syn match iconSpecialCharacter "'\\\o\{3\}'" -"syn match iconSpecialCharacter "'\\x\x\{2}'" -"syn match iconSpecialCharacter "'\\^c\[a-zA-Z0-9]'" - -"when wanted, highlight trailing white space -if exists("icon_space_errors") - syn match iconSpaceError "\s*$" - syn match iconSpaceError " \+\t"me=e-1 +" Procedure definitions {{{1 +if exists("icon_no_procedure_fold") + syn region iconProcedure matchgroup=iconReserved start="\" end="\" contains=ALLBUT,@iconNotTop +else + syn region iconProcedure matchgroup=iconReserved start="\" end="\" contains=ALLBUT,@iconNotTop fold endif -"catch errors caused by wrong parenthesis -syn cluster iconParenGroup contains=iconParenError,iconIncluded,iconSpecial,iconTodo,iconUserCont,iconUserLabel,iconBitField +" Keywords {{{1 +syn keyword iconKeyword &allocated &ascii &clock &collections &cset ¤t +syn keyword iconKeyword &date &dateline &digits &dump &e &error &errornumber +syn keyword iconKeyword &errortext &errorvalue &errout &fail &features &file +syn keyword iconKeyword &host &input &lcase &letters &level &line &main &null +syn keyword iconKeyword &output &phi &pi &pos &progname &random ®ions +syn keyword iconKeyword &source &storage &subject &time &trace &ucase &version + +" Graphics keywords +syn keyword iconKeyword &col &control &interval &ldrag &lpress &lrelease +syn keyword iconKeyword &mdrag &meta &mpress &mrelease &rdrag &resize &row +syn keyword iconKeyword &rpress &rrelease &shift &window &x &y + +" Functions {{{1 +syn keyword iconFunction abs acos any args asin atan bal callout center char +syn keyword iconFunction chdir close collect copy cos cset delay delete detab +syn keyword iconFunction display dtor entab errorclear exit exp find flush +syn keyword iconFunction function get getch getche getenv iand icom image +syn keyword iconFunction insert integer ior ishift ixor kbhit key left list +syn keyword iconFunction loadfunc log many map match member move name numeric +syn keyword iconFunction open ord pop pos proc pull push put read reads real +syn keyword iconFunction remove rename repl reverse right rtod runerr save +syn keyword iconFunction seek self seq serial set sin sort sortf sqrt stop +syn keyword iconFunction string system tab table tan trim type upto variable +syn keyword iconFunction where write writes -syn region iconParen transparent start='(' end=')' contains=ALLBUT,@iconParenGroup -syn match iconParenError ")" -syn match iconInParen contained "[{}]" +" Graphics functions +syn keyword iconFunction Active Alert Bg CenterString Clip Clone Color +syn keyword iconFunction ColorDialog ColorValue CopyArea Couple DrawArc +syn keyword iconFunction DrawCircle DrawCurve DrawImage DrawLine DrawPoint +syn keyword iconFunction DrawPolygon DrawRectangle DrawSegment DrawString +syn keyword iconFunction Enqueue EraseArea Event Fg FillArc FillCircle +syn keyword iconFunction FillPolygon FillRectangle Font FreeColor GotoRC +syn keyword iconFunction GotoXY LeftString Lower NewColor Notice OpenDialog +syn keyword iconFunction PaletteChars PaletteColor PaletteGrays PaletteKey +syn keyword iconFunction Pattern Pending Pixel Raise ReadImage RightString +syn keyword iconFunction SaveDialog SelectDialog Shade TextDialog TextWidth +syn keyword iconFunction ToggleDialog Uncouple WAttrib WClose WDefault WDelay +syn keyword iconFunction WDone WFlush WOpen WQuit WRead WReads WriteImage +syn keyword iconFunction WSync WWrite WWrites + +" String and character constants {{{1 +syn match iconStringSpecial "\\x\x\{2}\|\\\o\{3\}\|\\[bdeflnrtv\"\'\\]\|\\^[a-zA-Z0-9]" contained +syn match iconStringSpecial "\\$" contained +syn match iconStringSpecial "_\ze\s*$" contained +syn region iconString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=iconStringSpecial +syn region iconCset start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=iconStringSpecial +" Bracket errors {{{1 + +if !exists("icon_no_bracket_errors") + " catch errors caused by wrong brackets (ACE 2002.09.18) + syn cluster iconBracketGroup contains=iconBracketError,iconIncluded + syn region iconBracket start='\[' end='\]' contains=ALLBUT,@iconBracketGroup,@iconNotTop transparent + syn match iconBracketError "]" + + "catch errors caused by wrong braces (ACE 2002.09.18) + syn cluster iconBraceGroup contains=iconBraceError,iconIncluded + syn region iconBrace start='{' end='}' contains=ALLBUT,@iconBraceGroup,@iconNotTop transparent + syn match iconBraceError "}" + + "catch errors caused by wrong parenthesis + syn cluster iconParenGroup contains=iconParenError,iconIncluded + syn region iconParen start='(' end=')' contains=ALLBUT,@iconParenGroup,@iconNotTop transparent + syn match iconParenError ")" +end + +" Numbers {{{1 syn case ignore -"integer number, or floating point number without a dot -syn match iconNumber "\<\d\+\>" +" integer +syn match iconInteger "\<\d\+\>" +syn match iconInteger "\<\d\{1,2}[rR][a-zA-Z0-9]\+\>" -"floating point number, with dot, optional exponent -syn match iconFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=\>" - -"floating point number, starting with a dot, optional exponent -syn match iconFloat "\.\d\+\(e[-+]\=\d\+\)\=\>" +" real with trailing dot +syn match iconReal "\<\d\+\." -"floating point number, without dot, with exponent -syn match iconFloat "\<\d\+e[-+]\=\d\+\>" +" real, with dot, optional exponent +syn match iconReal "\<\d\+\.\d*\%(e[-+]\=\d\+\)\=\>" -"radix number -syn match iconRadix "\<\d\{1,2}[rR][a-zA-Z0-9]\+\>" +" real, with leading dot, optional exponent +syn match iconReal "\.\d\+\%(e[-+]\=\d\+\)\=\>" +" real, without dot, with exponent +syn match iconReal "\<\d\+e[-+]\=\d\+\>" -" syn match iconIdentifier "\<[a-z_][a-z0-9_]*\>" +syn cluster iconNumber contains=iconInteger,iconReal syn case match -" Comment -syn match iconComment "#.*" contains=iconTodo,iconSpaceError - -syn region iconPreCondit start="^\s*$\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=iconComment,iconString,iconCharacter,iconNumber,iconCommentError,iconSpaceError +" Comments {{{1 +syn keyword iconTodo TODO FIXME XXX BUG contained +syn match iconComment "#.*" contains=iconTodo,iconSpaceError,@Spell +syn match iconDocField "^#\s\+\zs\%(File\|Subject\|Authors\=\|Date\|Version\|Links\|Requires\|See also\):" contained -syn region iconIncluded contained start=+"+ skip=+\\\\\|\\"+ end=+"+ -syn match iconIncluded contained "<[^>]*>" -syn match iconInclude "^\s*$\s*include\>\s*["<]" contains=iconIncluded -"syn match iconLineSkip "\\$" +if exists("icon_no_comment_fold") + syn region iconDocumentation start="\%^#\{2,}\%(\n#\+\%(\s\+.*\)\=\)\+" end="^#\+\n\s*$" contains=iconDocField keepend +else + syn region iconMultilineComment start="^\s*#.*\n\%(^\s*#\)\@=" end="^\s*#.*\n\%(^\s*#\)\@!" contains=iconComment keepend fold transparent + syn region iconDocumentation start="\%^#\{2,}\%(\n#\)\+" end="^#\+\n\%([^#]\|$\)" contains=iconDocField keepend fold +endif + +" Preprocessor {{{1 +syn match iconPreInclude '^\s*\zs$\s*include\>\ze\s*"' nextgroup=iconIncluded skipwhite +syn match iconIncluded '"[^"]\+"' contained -syn cluster iconPreProcGroup contains=iconPreCondit,iconIncluded,iconInclude,iconDefine,iconInParen,iconUserLabel +syn region iconPreDefine start="^\s*\zs$\s*\%(define\|undef\)\>" end="$" oneline contains=ALLBUT,@iconPreGroup +syn region iconPreProc start="^\s*\zs$\s*\%(error\|line\)\>" end="$" oneline contains=ALLBUT,@iconPreGroup +syn region iconPreConditional start="^\s*\zs$\s*\%(if\|ifdef\|ifndef\|elif\|else\|endif\)\>" end="$" oneline contains=iconComment,iconString,iconCset,iconNumber,iconSpaceError -syn region iconDefine start="^\s*$\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,@iconPreProcGroup - -"wt:syn region iconPreProc "start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" "end="$" contains=ALLBUT,@iconPreProcGroup +syn cluster iconPreGroup contains=iconPreCondit,iconPreInclude,iconIncluded,iconPreDefine -" Highlight User Labels +syn match iconPreSymbol "_V\d\+" +syn keyword iconPreSymbol _ACORN _AMIGA _ARM_FUNCTIONS _ASCII _CALLING +syn keyword iconPreSymbol _CO_EXPRESSIONS _COMPILED _DIRECT_EXECUTION +syn keyword iconPreSymbol _DOS_FUNCTIONS _EBCDIC _EVENT_MONITOR +syn keyword iconPreSymbol _EXECUTABLE_IMAGES _EXTERNAL_FUNCTIONS +syn keyword iconPreSymbol _EXTERNAL_VALUES _INTERPRETED _KEYBOARD_FUNCTIONS +syn keyword iconPreSymbol _LARGE_INTEGERS _MACINTOSH _MEMORY_MONITOR _MSDOS +syn keyword iconPreSymbol _MSDOS_386 _MULTIREGION _MULTITASKING _OS2 _PIPES +syn keyword iconPreSymbol _PORT _PRESENTATION_MGR _RECORD_IO _STRING_INVOKE +syn keyword iconPreSymbol _SYSTEM_FUNCTION _UNIX _VISUALIZATION _VMS +syn keyword iconPreSymbol _WINDOW_FUNCTIONS _X_WINDOW_SYSTEM -" syn cluster iconMultiGroup contains=iconIncluded,iconSpecial,iconTodo,iconUserCont,iconUserLabel,iconBitField - +" Syncing {{{1 if !exists("icon_minlines") - let icon_minlines = 15 + let icon_minlines = 250 endif exec "syn sync ccomment iconComment minlines=" . icon_minlines -" Define the default highlighting. - -" Only when an item doesn't have highlighting - -" The default methods for highlighting. Can be overridden later - -" hi def link iconSpecialCharacter iconSpecial +" Default Highlighting {{{1 -hi def link iconOctalError iconError -hi def link iconParenError iconError -hi def link iconInParen iconError -hi def link iconCommentError iconError -hi def link iconSpaceError iconError -hi def link iconCommentError iconError -hi def link iconIncluded iconString -hi def link iconCommentString iconString -hi def link iconComment2String iconString -hi def link iconCommentSkip iconComment +hi def link iconParenError iconError +hi def link iconBracketError iconError +hi def link iconBraceError iconError +hi def link iconSpaceError iconError +hi def link iconError Error + +hi def link iconInteger Number +hi def link iconReal Float +hi def link iconString String +hi def link iconCset String +hi def link iconStringSpecial SpecialChar -hi def link iconUserLabel Label -hi def link iconCharacter Character -hi def link iconNumber Number -hi def link iconRadix Number -hi def link iconFloat Float -hi def link iconInclude Include hi def link iconPreProc PreProc -hi def link iconDefine Macro -hi def link iconError Error -hi def link iconStatement Statement -hi def link iconPreCondit PreCondit -hi def link iconString String -hi def link iconCset String +hi def link iconIncluded iconString +hi def link iconPreInclude Include +hi def link iconPreSymbol iconPreProc +hi def link iconPreDefine Define +hi def link iconPreConditional PreCondit + +hi def link iconStatement Statement +hi def link iconStorageClass StorageClass +hi def link iconFunction Function +hi def link iconReserved Label +hi def link iconLink Include +hi def link iconKeyword Keyword + hi def link iconComment Comment -hi def link iconSpecial SpecialChar -hi def link iconTodo Todo -hi def link iconStorageClass StorageClass -hi def link iconFunction Statement -hi def link iconReserved Label -hi def link iconKeyword Operator +hi def link iconTodo Todo +hi def link iconDocField SpecialComment +hi def link iconDocumentation Comment -"hi def link iconIdentifier Identifier - - +" Postscript {{{1 let b:current_syntax = "icon" +" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker: diff --git a/runtime/syntax/initng.vim b/runtime/syntax/initng.vim --- a/runtime/syntax/initng.vim +++ b/runtime/syntax/initng.vim @@ -20,7 +20,6 @@ endif syn case match let is_bash = 1 -unlet! b:current_syntax syn include @shTop syntax/sh.vim syn region initngService matchgroup=initngServiceHeader start="^\s*\(service\|virtual\|daemon\|class\|cron\)\s\+\(\(\w\|[-/*]\)\+\(\s\+:\s\+\(\w\|[-/*]\)\+\)\?\)\s\+{" end="}" contains=@initngServiceCluster diff --git a/runtime/syntax/ipfilter.vim b/runtime/syntax/ipfilter.vim --- a/runtime/syntax/ipfilter.vim +++ b/runtime/syntax/ipfilter.vim @@ -1,7 +1,7 @@ " ipfilter syntax file " Language: ipfilter configuration file " Maintainer: Hendrik Scholz -" Last Change: 2005 Jan 27 +" Last Change: 2022 Jun 14 " " http://www.wormulon.net/files/misc/ipfilter.vim " @@ -52,3 +52,4 @@ hi def link IPFNetmask String hi def link IPFAny Statement hi def link IPFProto Identifier +let b:current_syntax = 'ipfilter' diff --git a/runtime/syntax/mupad.vim b/runtime/syntax/mupad.vim --- a/runtime/syntax/mupad.vim +++ b/runtime/syntax/mupad.vim @@ -279,5 +279,6 @@ hi def link mupadType Type hi def link mupadDefine Define hi def link mupadIdentifier Identifier +let b:current_syntax = 'mupad' " TODO More comprehensive listing. diff --git a/runtime/syntax/perl.vim b/runtime/syntax/perl.vim --- a/runtime/syntax/perl.vim +++ b/runtime/syntax/perl.vim @@ -4,7 +4,7 @@ " Homepage: https://github.com/vim-perl/vim-perl " Bugs/requests: https://github.com/vim-perl/vim-perl/issues " License: Vim License (see :help license) -" Last Change: 2021 Oct 7 +" Last Change: 2022 Jun 13 " Contributors: Andy Lester " Hinrik Örn Sigurðsson " Lukas Mai @@ -442,11 +442,18 @@ syn match perlFormatField "@$" containe " This problem also exists with empty string delimited heredocs but there's no " known workaround for that case. if get(g:, 'perl_fold', 0) - syntax region perlDATA matchgroup=perlDATAStart start="^__DATA__$" end="VIM_PERL_EOF\%$" contains=perlPOD,@perlDATA fold - syntax region perlEND matchgroup=perlENDStart start="^__END__$" end="VIM_PERL_EOF\%$" contains=perlPOD,@perlDATA fold + syntax region perlDATA matchgroup=perlDATAStart start="^__DATA__$" end="VIM_PERL_EOF\%$" contains=@perlDATA fold + syntax region perlEND matchgroup=perlENDStart start="^__END__$" end="VIM_PERL_EOF\%$" contains=@perlDATA fold else - syntax region perlDATA matchgroup=perlDATAStart start="^__DATA__$" end="\%$" contains=perlPOD,@perlDATA - syntax region perlEND matchgroup=perlENDStart start="^__END__$" end="\%$" contains=perlPOD,@perlDATA + syntax region perlDATA matchgroup=perlDATAStart start="^__DATA__$" end="\%$" contains=@perlDATA + syntax region perlEND matchgroup=perlENDStart start="^__END__$" end="\%$" contains=@perlDATA +endif + +" TODO: generalise this to allow other filetypes +if get(g:, 'perl_highlight_data', 0) + syn cluster perlDATA add=perlPOD +else + syn cluster perlDATA remove=perlPOD endif " diff --git a/runtime/syntax/pod.vim b/runtime/syntax/pod.vim --- a/runtime/syntax/pod.vim +++ b/runtime/syntax/pod.vim @@ -5,7 +5,7 @@ " Homepage: https://github.com/vim-perl/vim-perl " Bugs/requests: https://github.com/vim-perl/vim-perl/issues " License: Vim License (see :help license) -" Last Change: 2021 Oct 8 +" Last Change: 2022 Jun 13 " To add embedded POD documentation highlighting to your syntax file, add " the commands: diff --git a/runtime/syntax/sendpr.vim b/runtime/syntax/sendpr.vim --- a/runtime/syntax/sendpr.vim +++ b/runtime/syntax/sendpr.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: FreeBSD send-pr file " Maintainer: Hendrik Scholz -" Last Change: 2012 Feb 03 +" Last Change: 2022 Jun 14 " " http://raisdorf.net/files/misc/send-pr.vim @@ -31,5 +31,7 @@ hi def link sendprType Type hi def link sendprString String hi def link sendprLabel Label +let b:current_syntax = 'sendpr' + let &cpo = s:cpo_save unlet s:cpo_save diff --git a/runtime/syntax/tar.vim b/runtime/syntax/tar.vim --- a/runtime/syntax/tar.vim +++ b/runtime/syntax/tar.vim @@ -14,4 +14,6 @@ hi def link tarComment Comment hi def link tarFilename Constant hi def link tarDirectory Type +let b:current_syntax = 'tar' + " vim: ts=8 diff --git a/runtime/syntax/trustees.vim b/runtime/syntax/trustees.vim --- a/runtime/syntax/trustees.vim +++ b/runtime/syntax/trustees.vim @@ -1,7 +1,7 @@ " Vim syntax file " Language: trustees " Maintainer: Nima Talebi -" Last Change: 2005-10-12 +" Last Change: 2022 Jun 14 " quit when a syntax file was already loaded if exists("b:current_syntax") @@ -40,3 +40,5 @@ syntax match tfsRuleWho ~\(\*\|[+]\{0,1\ highlight link tfsRuleWho Identifier syntax match tfsRuleWhat ~[RWEBXODCU!]\+~ contained contains=tfsSpecialChar highlight link tfsRuleWhat Structure + +let b:current_syntax = 'trustees' diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim --- a/runtime/syntax/vim.vim +++ b/runtime/syntax/vim.vim @@ -1,8 +1,8 @@ " Vim syntax file " Language: Vim 8.2 script " Maintainer: Charles E. Campbell -" Last Change: June 12, 2022 -" Version: 8.2-44 +" Last Change: Jun 16, 20222 +" Version: 8.2-46 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM " Automatically generated keyword lists: {{{1 @@ -73,7 +73,7 @@ syn keyword vimAutoEvent contained BufCr 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 CurSearch Cursor CursorColumn CursorIM CursorLine CursorLineFold CursorLineNr CursorLineSign DiffAdd DiffChange DiffDelete DiffText Directory EndOfBuffer ErrorMsg FoldColumn Folded IncSearch LineNr LineNrAbove LineNrBelow 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 keyword vimHLGroup contained ColorColumn CurSearch Cursor CursorColumn CursorIM CursorLine CursorLineFold CursorLineNr CursorLineSign DiffAdd DiffChange DiffDelete DiffText Directory EndOfBuffer ErrorMsg FoldColumn Folded IncSearch LineNr LineNrAbove LineNrBelow MatchParen Menu ModeMsg MoreMsg NonText Normal Pmenu PmenuSbar PmenuSel PmenuThumb Question QuickFixLine Scrollbar Search SignColumn SpecialKey SpellBad SpellCap SpellLocal SpellRare StatusLine StatusLineNC StatusLineTerm StatusLineTermNC TabLine TabLineFill TabLineSel Terminal Title Tooltip VertSplit Visual VisualNOS WarningMsg WildMenu syn match vimHLGroup contained "Conceal" syn case match @@ -465,8 +465,8 @@ syn case match " User Function Highlighting: {{{2 " (following Gautam Iyer's suggestion) " ========================== -syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimCommand,vimFuncEcho,vimFuncName,vimUserFunc,vimExecute -syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\" contains=vimCommand,vimNotation +syn match vimFunc "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*(" contains=vimFuncEcho,vimFuncName,vimUserFunc,vimExecute +syn match vimUserFunc contained "\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\" contains=vimNotation syn keyword vimFuncEcho contained ec ech echo " User Command Highlighting: {{{2 diff --git a/src/po/ca.po b/src/po/ca.po --- a/src/po/ca.po +++ b/src/po/ca.po @@ -7,7 +7,7 @@ msgstr "" "Project-Id-Version: vim 8.2\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-03-13 14:14+0100\n" -"PO-Revision-Date: 2022-03-15 19:03+0100\n" +"PO-Revision-Date: 2022-05-15 19:03+0100\n" "Last-Translator: Ernest Adrogué \n" "Language-Team: Catalan \n" "Language: ca\n" @@ -4116,9 +4116,8 @@ msgid "E55: Unmatched %s)" msgstr "E55: %s) desequilibrat" #, c-format -# TODO: Capitalise first word of message? msgid "E59: Invalid character after %s@" -msgstr "E59: caràcter no vàlid després de %s@" +msgstr "E59: Caràcter no vàlid després de %s@" # complex braces #, c-format @@ -4134,7 +4133,6 @@ msgstr "E61: %s* imbricats" msgid "E62: Nested %s%c" msgstr "E62: %s%c imbricats" -# TODO: Capitalise first word of message? msgid "E63: Invalid use of \\_" msgstr "E63: Ús invàlid de \\_" @@ -4169,7 +4167,6 @@ msgstr "E71: Caràcter invàlid després de %s%%" msgid "E72: Close error on swap file" msgstr "E72: Error en tancar el fitxer d'intercanvi" -# TODO: Capitalise first word of message? msgid "E73: Tag stack empty" msgstr "E73: La pila d'etiquetes està buida" @@ -4415,7 +4412,6 @@ msgstr "E142: No s'ha escrit el fitxer: El paràmetre 'write' ho impedeix" msgid "E143: Autocommands unexpectedly deleted new buffer %s" msgstr "E143: Una ordre automàtica ha eliminat el nou buffer %s" -# TODO: Capitalise first word of message? msgid "E144: Non-numeric argument to :z" msgstr "E144: Argument no numèric a :z" @@ -4545,9 +4541,8 @@ msgid "E178: Invalid default value for c msgstr "E178: El valor per omissió del paràmetre de quantitat no és vàlid" #, c-format -# TODO: Capitalise first word of message? msgid "E179: Argument required for %s" -msgstr "E179: l'atribut %s requereix un argument" +msgstr "E179: L'atribut %s requereix un argument" #, c-format msgid "E180: Invalid complete value: %s" @@ -4638,9 +4633,8 @@ msgstr "E204: Una ordre automàtica ha canviat el nombre de línies" msgid "E205: Patchmode: can't save original file" msgstr "E205: patchmode: no s'ha pogut desar el fitxer original" -# TODO: Capitalise first word of message? msgid "E206: Patchmode: can't touch empty original file" -msgstr "E206: patchmode: no s'ha pogut tocar el fitxer original buit" +msgstr "E206: Patchmode: No s'ha pogut tocar el fitxer original buit" msgid "E207: Can't delete backup file" msgstr "E207: No s'ha pogut eliminar la còpia de seguretat" @@ -4686,9 +4680,8 @@ msgstr "E216: No existeix tal grup o esd msgid "E217: Can't execute autocommands for ALL events" msgstr "E217: No es pot assignar una ordre a TOTS els esdeveniments" -# TODO: Capitalise first word of message? msgid "E218: Autocommand nesting too deep" -msgstr "E218: nivell d'imbricació d'ordres automàtiques massa elevat" +msgstr "E218: Nivell d'imbricació d'ordres automàtiques massa elevat" msgid "E219: Missing {." msgstr "E219: Falta un {." @@ -4703,29 +4696,24 @@ msgstr "E221: Una marca no pot començar amb una lletra en minúscula" msgid "E222: Add to internal buffer that was already read from" msgstr "E222: Addició a un buffer intern del qual ja s'havia llegit" -# TODO: Capitalise first word of message? msgid "E223: Recursive mapping" -msgstr "E223: assignació recursiva" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E223: Assignació recursiva" + +#, c-format msgid "E224: Global abbreviation already exists for %s" -msgstr "E224: ja existeix una abreviació global per a %s" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E224: Ja existeix una abreviació global per a %s" + +#, c-format msgid "E225: Global mapping already exists for %s" -msgstr "E225: ja existeix una assignació global per a %s" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E225: Ja existeix una assignació global per a %s" + +#, c-format msgid "E226: Abbreviation already exists for %s" -msgstr "E226: ja existeix una abreviació per a %s" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E226: Ja existeix una abreviació per a %s" + +#, c-format msgid "E227: Mapping already exists for %s" -msgstr "E227: ja existeix una assignació per a %s" +msgstr "E227: Ja existeix una assignació per a %s" msgid "E228: makemap: Illegal mode" msgstr "E228: makemap: Mode il·legal" @@ -4743,7 +4731,6 @@ msgstr "E231: El valor de 'guifontwide' no és vàlid" msgid "E232: Cannot create BalloonEval with both message and callback" msgstr "E232: No es pot crear un BalloonEval amb missatge i callback alhora" -# TODO: Capitalise first word of message? msgid "E233: Cannot open display" msgstr "E233: No s'ha pogut obrir la pantalla" @@ -4796,16 +4783,14 @@ msgid "E246: FileChangedShell autocomman msgstr "E246: L'ordre automàtica FileChangedShell ha eliminat el buffer" #, c-format -# TODO: Capitalise first word of message? msgid "E247: No registered server named \"%s\"" -msgstr "E247: cap servidor registrat amb aquest nom \"%s\"" +msgstr "E247: Cap servidor registrat amb aquest nom \"%s\"" msgid "E248: Failed to send command to the destination program" msgstr "E248: No s'ha pogut enviar l'ordre al programa destinatari" -# TODO: Capitalise first word of message? msgid "E249: Window layout changed unexpectedly" -msgstr "E249: la disposició de les finestres ha canviat inesperadament" +msgstr "E249: La disposició de les finestres ha canviat inesperadament" #, c-format msgid "E250: Fonts for the following charsets are missing in fontset %s:" @@ -4829,7 +4814,6 @@ msgstr "E254: No s'ha pogut assignar memòria per al color %s" msgid "E255: Couldn't read in sign data" msgstr "E255: Error en llegir les dades de senyals" -# TODO: Capitalise first word of message? msgid "E257: cstag: Tag not found" msgstr "E257: cstag: No s'ha trobat l'etiqueta" @@ -4837,20 +4821,17 @@ msgid "E258: Unable to send to client" msgstr "E258: No s'ha pogut enviar al client" #, c-format -# TODO: Capitalise first word of message? msgid "E259: No matches found for cscope query %s of %s" -msgstr "E259: no hi ha coincidències per la cerca cscope %s de %s" +msgstr "E259: No hi ha coincidències per la cerca cscope %s de %s" msgid "E260: Missing name after ->" msgstr "E260: Falta un nom després de ->" #, c-format -# TODO: Capitalise first word of message? msgid "E261: Cscope connection %s not found" -msgstr "E261: no s'ha trobat la connexió cscope %s" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E261: No s'ha trobat la connexió cscope %s" + +#, c-format msgid "E262: Error reading cscope connection %d" msgstr "E262: Error en llegir la connexió cscope %d" @@ -4869,34 +4850,27 @@ msgid "" "E266: Sorry, this command is disabled, the Ruby library could not be loaded." msgstr "E266: Ordre no disponible, no s'ha carregat la biblioteca Ruby." -# TODO: Capitalise first word of message? msgid "E267: Unexpected return" -msgstr "E267: retorn inesperat" - -# TODO: Capitalise first word of message? +msgstr "E267: 'return' inesperat" + msgid "E268: Unexpected next" msgstr "E268: 'next' inesperat" -# TODO: Capitalise first word of message? msgid "E269: Unexpected break" msgstr "E269: 'break' inesperat" -# TODO: Capitalise first word of message? msgid "E270: Unexpected redo" msgstr "E270: 'redo' inesperat" -# TODO: Capitalise first word of message? msgid "E271: Retry outside of rescue clause" msgstr "E271: 'retry' fora d'una clàusula de rescat" -# TODO: Capitalise first word of message? msgid "E272: Unhandled exception" -msgstr "E272: excepció no conduïda" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E272: Excepció no conduïda" + +#, c-format msgid "E273: Unknown longjmp status %d" -msgstr "E273: estat de longjmp %d desconegut" +msgstr "E273: Estat de longjmp %d desconegut" msgid "E274: No white space allowed before parenthesis" msgstr "E274: No es permeten espais abans d'un parentesis" @@ -4939,13 +4913,11 @@ msgstr "E286: Error en obrir el mètode d'entrada" msgid "E287: Warning: Could not set destroy callback to IM" msgstr "E287: Atenció: Error en establir el callback de destrucció de l'IM" -# TODO: Capitalise first word of message? msgid "E288: Input method doesn't support any style" -msgstr "E288: el mètode d'entrada no suporta cap estil" - -# TODO: Capitalise first word of message? +msgstr "E288: El mètode d'entrada no suporta cap estil" + msgid "E289: Input method doesn't support my preedit type" -msgstr "E289: el mètode d'entrada no suporta el tipus de pre-edició" +msgstr "E289: El mètode d'entrada no suporta el tipus de pre-edició" msgid "E290: List or number required" msgstr "E290: Es necessita una llista o un número" @@ -4954,7 +4926,6 @@ msgstr "E290: Es necessita una llista o un número" msgid "E292: Invalid count for del_bytes(): %ld" msgstr "E292: Quantitat invàlida per a del_bytes(): %ld" -# TODO: Capitalise first word of message? msgid "E293: Block was not locked" msgstr "E293: El bloc no estava bloquejat" @@ -5036,28 +5007,22 @@ msgid "E314: Preserve failed" msgstr "E314: La preservació ha fallat" #, c-format -# TODO: Capitalise first word of message? msgid "E315: ml_get: Invalid lnum: %ld" msgstr "E315: ml_get: lnum no vàlid: %ld" #, c-format -# TODO: Capitalise first word of message? msgid "E316: ml_get: Cannot find line %ld in buffer %d %s" -msgstr "E316: ml_get: no s'ha trobat la línia %ld en el buffer %d %s" - -# TODO: Capitalise first word of message? +msgstr "E316: ml_get: No s'ha trobat la línia %ld en el buffer %d %s" + msgid "E317: Pointer block id wrong" -msgstr "E317: punter a id de bloc incorrecte" - -# TODO: Capitalise first word of message? +msgstr "E317: Punter a id de bloc incorrecte" + msgid "E317: Pointer block id wrong 2" -msgstr "E317: punter a id de bloc incorrecte 2" - -# TODO: Capitalise first word of message? +msgstr "E317: Punter a id de bloc incorrecte 2" + msgid "E317: Pointer block id wrong 3" -msgstr "E317: punter a id de bloc incorrecte 3" - -# TODO: Capitalise first word of message? +msgstr "E317: Punter a id de bloc incorrecte 3" + msgid "E317: Pointer block id wrong 4" msgstr "E317: Punter a id de bloc incorrecte 4" @@ -5076,14 +5041,12 @@ msgid "E321: Could not reload \"%s\"" msgstr "E321: No s'ha pogut rellegir \"%s\"" #, c-format -# TODO: Capitalise first word of message? msgid "E322: Line number out of range: %ld past the end" -msgstr "E322: número de línia fora d'interval: %ld passat el final" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E322: Número de línia fora d'interval: %ld passat el final" + +#, c-format msgid "E323: Line count wrong in block %ld" -msgstr "E323: nombre de línies incorrecte al bloc %ld" +msgstr "E323: Nombre de línies incorrecte al bloc %ld" msgid "E324: Can't open PostScript output file" msgstr "E324: No s'ha pogut obrir el fitxer PostScript de sortida" @@ -5217,9 +5180,8 @@ msgstr "E360: No és possible executar l'intèrpret conjuntament amb l'opció -f" msgid "E362: Using a boolean value as a Float" msgstr "E362: Ús d'un valor booleà com a Float" -# TODO: Capitalise first word of message? msgid "E363: Pattern uses more memory than 'maxmempattern'" -msgstr "E363: el patró requereix més memòria que 'maxmempattern'" +msgstr "E363: El patró requereix més memòria que 'maxmempattern'" #, c-format msgid "E364: Library call failed for \"%s()\"" @@ -5236,12 +5198,10 @@ msgid "E367: No such group: \"%s\"" msgstr "E367: No existeix tal grup: \"%s\"" #, c-format -# TODO: Capitalise first word of message? msgid "E368: Got SIG%s in libcall()" -msgstr "E368: s'ha obtingut SIG%s a libcall()" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E368: S'ha obtingut SIG%s a libcall()" + +#, c-format msgid "E369: Invalid item in %s%%[]" msgstr "E369: Ítem no vàlid a %s%%[]" @@ -5295,14 +5255,12 @@ msgid "E383: Invalid search string: %s" msgstr "E383: Cadena de cerca no vàlida: %s" #, c-format -# TODO: Capitalise first word of message? msgid "E384: Search hit TOP without match for: %s" -msgstr "E384: la cerca ha arribat a DALT sense resultats per: %s" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E384: La cerca ha arribat a DALT sense resultats per: %s" + +#, c-format msgid "E385: Search hit BOTTOM without match for: %s" -msgstr "E385: la cerca ha arribat a BAIX sense resultats per: %s" +msgstr "E385: La cerca ha arribat a BAIX sense resultats per: %s" msgid "E386: Expected '?' or '/' after ';'" msgstr "E386: S'esperava '?' o '/' després de ';'" @@ -5335,9 +5293,8 @@ msgstr "E393: grouphere/groupthere no és vàlid en aquest context" msgid "E394: Didn't find region item for %s" msgstr "E394: No s'ha trobat cap element de regió per a %s" -# TODO: Capitalise first word of message? msgid "E395: Contains argument not accepted here" -msgstr "E395: conté argument no vàlid en aquest context" +msgstr "E395: Conté argument no vàlid en aquest context" msgid "E397: Filename required" msgstr "E397: Es necessita un nom de fitxer" @@ -5362,9 +5319,8 @@ msgstr "E401: No s'ha trobat el delimita msgid "E402: Garbage after pattern: %s" msgstr "E402: Caràcters sobrants després del patró: %s" -# TODO: Capitalise first word of message? msgid "E403: syntax sync: Line continuations pattern specified twice" -msgstr "E403: syntax sync: patró de continuació de línia repetit" +msgstr "E403: syntax sync: Patró de continuació de línia repetit" #, c-format msgid "E404: Illegal arguments: %s" @@ -5395,9 +5351,8 @@ msgid "E410: Invalid :syntax subcommand: msgstr "E410: Subordre de :syntax no vàlida: %s" #, c-format -# TODO: Capitalise first word of message? msgid "E411: Highlight group not found: %s" -msgstr "E411: no s'ha trobat el grup de ressaltat: %s" +msgstr "E411: No s'ha trobat el grup de ressaltat: %s" #, c-format msgid "E412: Not enough arguments: \":highlight link %s\"" @@ -5407,24 +5362,20 @@ msgstr "E412: Falten arguments: \":highl msgid "E413: Too many arguments: \":highlight link %s\"" msgstr "E413: Sobren arguments: \":highlight link %s\"" -# TODO: Capitalise first word of message? msgid "E414: Group has settings, highlight link ignored" -msgstr "E414: el grup ja té paràmetres, s'ignora l'enllaç" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E414: El grup ja té paràmetres, s'ignora l'enllaç" + +#, c-format msgid "E415: Unexpected equal sign: %s" -msgstr "E415: signe d'igualtat inesperat: %s" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E415: Signe d'igualtat inesperat: %s" + +#, c-format msgid "E416: Missing equal sign: %s" -msgstr "E416: falta un signe d'igual: %s" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E416: Falta un signe d'igual: %s" + +#, c-format msgid "E417: Missing argument: %s" -msgstr "E417: falta un argument: %s" +msgstr "E417: Falta un argument: %s" #, c-format msgid "E418: Illegal value: %s" @@ -5441,9 +5392,8 @@ msgid "E421: Color name or number not re msgstr "E421: Nom o número de color no reconegut: %s" #, c-format -# TODO: Capitalise first word of message? msgid "E422: Terminal code too long: %s" -msgstr "E422: codi de terminal massa llarg: %s" +msgstr "E422: Codi de terminal massa llarg: %s" #, c-format msgid "E423: Illegal argument: %s" @@ -5456,7 +5406,6 @@ msgid "E425: Cannot go before first matc msgstr "E425: No es pot anar més enllà de la primera etiqueta coincident" #, c-format -# TODO: Capitalise first word of message? msgid "E426: Tag not found: %s" msgstr "E426: No s'ha trobat l'etiqueta: %s" @@ -5495,21 +5444,17 @@ msgstr "E435: No s'ha trobat l'etiqueta msgid "E436: No \"%s\" entry in termcap" msgstr "E436: No hi ha cap entrada \"%s\" al termcap" -# TODO: Capitalise first word of message? msgid "E437: Terminal capability \"cm\" required" -msgstr "E437: es necessita la capacitat \"cm\" per part del terminal" - -# TODO: Capitalise first word of message? +msgstr "E437: Es necessita la capacitat \"cm\" per part del terminal" + msgid "E438: u_undo: Line numbers wrong" -msgstr "E438: u_undo: els números de línia no són correctes" - -# TODO: Capitalise first word of message? +msgstr "E438: u_undo: Els números de línia no són correctes" + msgid "E439: Undo list corrupt" -msgstr "E439: la llista de desfer està corrompuda" - -# TODO: Capitalise first word of message? +msgstr "E439: La llista de desfer està corrompuda" + msgid "E440: Undo line missing" -msgstr "E440: falta una línia de desfer" +msgstr "E440: Falta una línia de desfer" msgid "E441: There is no preview window" msgstr "E441: No hi ha cap finestra de vista prèvia" @@ -5540,9 +5485,8 @@ msgstr "E448: No s'ha pogut carregar la funció %s" msgid "E449: Invalid expression received" msgstr "E449: S'ha rebut una expressió no vàlida" -# TODO: Capitalise first word of message? msgid "E450: Buffer number, text or a list required" -msgstr "E450: es necessita un número de buffer, text o llista" +msgstr "E450: Es necessita un número de buffer, text o llista" #, c-format msgid "E451: Expected }: %s" @@ -5554,7 +5498,6 @@ msgstr "E452: La llista de variables conté un ; doble" msgid "E453: UL color unknown" msgstr "E453: Color de subratllat desconegut" -# TODO: Capitalise first word of message? msgid "E454: Function list was modified" msgstr "E454: La llista de funcions ha canviat" @@ -5579,9 +5522,8 @@ msgstr "E458: No es pot assignar memòria, els colors poden ser incorrectes" msgid "E459: Cannot go back to previous directory" msgstr "E459: No es pot tornar al directori anterior" -# TODO: Capitalise first word of message? msgid "E460: Entries missing in mapset() dict argument" -msgstr "E460: falten entrades a l'argument de diccionari a mapset()" +msgstr "E460: Falten entrades a l'argument de diccionari a mapset()" #, c-format msgid "E461: Illegal variable name: %s" @@ -5614,9 +5556,8 @@ msgid "E468: Completion argument only al msgstr "E468: La compleció estàndard no admet arguments" #, c-format -# TODO: Capitalise first word of message? msgid "E469: Invalid cscopequickfix flag %c for %c" -msgstr "E469: paràmetre cscopequickfix %c no vàlid per a %c" +msgstr "E469: Paràmetre cscopequickfix %c no vàlid per a %c" msgid "E470: Command aborted" msgstr "E470: S'ha avortat l'ordre" @@ -5700,17 +5641,15 @@ msgstr "E488: Sobren caràcters al final" msgid "E488: Trailing characters: %s" msgstr "E488: Sobren caràcters al final: %s" -# TODO: Capitalise first word of message? msgid "E489: No call stack to substitute for \"\"" -msgstr "E489: no hi ha cap pila de crides per substituir \"\"" +msgstr "E489: No hi ha cap pila de crides per substituir \"\"" msgid "E490: No fold found" msgstr "E490: No s'ha trobat cap plec" #, c-format -# TODO: Capitalise first word of message? msgid "E491: JSON decode error at '%s'" -msgstr "E491: Error en decodificar json a %s" +msgstr "E491: Error en decodificar JSON a %s" msgid "E492: Not an editor command" msgstr "E492: No és una ordre de l'editor" @@ -5721,21 +5660,17 @@ msgstr "E493: Interval decreixent" msgid "E494: Use w or w>>" msgstr "E494: Useu w o bé w>>" -# TODO: Capitalise first word of message? msgid "E495: No autocommand file name to substitute for \"\"" -msgstr "E495: no hi ha cap nom de fitxer d'ordres automàtiques per substituir" - -# TODO: Capitalise first word of message? +msgstr "E495: No hi ha cap nom de fitxer d'ordres automàtiques per substituir" + msgid "E496: No autocommand buffer number to substitute for \"\"" -msgstr "E496: no hi ha cap buffer d'ordres automàtiques per substituir" - -# TODO: Capitalise first word of message? +msgstr "E496: No hi ha cap buffer d'ordres automàtiques per substituir" + msgid "E497: No autocommand match name to substitute for \"\"" -msgstr "E497: no hi ha cap coincidència d'ordre automàtica per substituir" - -# TODO: Capitalise first word of message? +msgstr "E497: No hi ha cap coincidència d'ordre automàtica per substituir" + msgid "E498: No :source file name to substitute for \"\"" -msgstr "E498: no hi ha cap nom de fitxer :source per substituir" +msgstr "E498: No hi ha cap nom de fitxer :source per substituir" #, no-c-format msgid "E499: Empty file name for '%' or '#', only works with \":p:h\"" @@ -5780,24 +5715,21 @@ msgstr "E509: No s'ha pogut crear la còpia de seguretat (! per a forçar)" msgid "E510: Can't make backup file (add ! to write anyway)" msgstr "E510: No s'ha pogut fer la còpia de seguretat (! per a forçar)" -# TODO: Capitalise first word of message? msgid "E511: NetBeans already connected" msgstr "E511: NetBeans ja està connectat" msgid "E512: Close failed" msgstr "E512: Error en tancar" -# TODO: Capitalise first word of message? msgid "E513: Write error, conversion failed (make 'fenc' empty to override)" -msgstr "E513: ha fallat la conversió (anul·leu l'opció 'fenc' per a forçar)" - -#, c-format -msgid "" -"E513: write error, conversion failed in line %ld (make 'fenc' empty to " +msgstr "E513: Ha fallat la conversió (anul·leu l'opció 'fenc' per a forçar)" + +#, c-format +msgid "" +"E513: Write error, conversion failed in line %ld (make 'fenc' empty to " "override)" -msgstr "E513: error de conversió, línia %ld (anul·leu l'opció 'fenc' per a forçar)" - -# TODO: Capitalise first word of message? +msgstr "E513: Error de conversió, línia %ld (anul·leu l'opció 'fenc' per a forçar)" + msgid "E514: Write error (file system full?)" msgstr "E514: Error d'escriptura (sistema de fitxers ple?)" @@ -5860,11 +5792,9 @@ msgstr "E530: No es pot canviar el paràmetre 'term' en mode GUI" msgid "E531: Use \":gui\" to start the GUI" msgstr "E531: Feu \":gui\" per a iniciar la interfície d'usuari gràfica" -# TODO: Capitalise first word of message? msgid "E532: Highlighting color name too long in defineAnnoType" -msgstr "E532: nom de color de ressaltat massa llarg a defineAnnoType" - -# TODO: Capitalise first word of message? +msgstr "E532: Nom de color de ressaltat massa llarg a defineAnnoType" + msgid "E533: Can't select wide font" msgstr "E533: No s'ha pogut seleccionar la fosa per a caràcters amples" @@ -5875,7 +5805,6 @@ msgstr "E534: La fosa per a caràcters amples no és vàlida" msgid "E535: Illegal character after <%c>" msgstr "E535: Caràcter il·legal després de <%c>" -# TODO: Capitalise first word of message? msgid "E536: Comma required" msgstr "E536: Es requereix una coma" @@ -5894,9 +5823,8 @@ msgstr "E539: Caràcter il·legal <%s>" msgid "E540: Unclosed expression sequence" msgstr "E540: Seqüència d'expressions no tancada" -# TODO: Capitalise first word of message? msgid "E542: Unbalanced groups" -msgstr "E542: grups desequilibrats" +msgstr "E542: Grups desequilibrats" msgid "E543: Not a valid codepage" msgstr "E543: No és un codi de pàgina vàlid" @@ -5913,7 +5841,6 @@ msgstr "E546: Mode il·legal" msgid "E547: Illegal mouseshape" msgstr "E547: La forma del punter del ratolí és il·legal" -# TODO: Capitalise first word of message? msgid "E548: Digit expected" msgstr "E548: S'esperava un dígit" @@ -5926,9 +5853,8 @@ msgstr "E550: Falta un caràcter ':'" msgid "E551: Illegal component" msgstr "E551: Component il·legal" -# TODO: Capitalise first word of message? msgid "E552: Digit expected" -msgstr "E552: s'esperava un dígit" +msgstr "E552: S'esperava un dígit" msgid "E553: No more items" msgstr "E553: No hi ha més ítems" @@ -5937,13 +5863,11 @@ msgstr "E553: No hi ha més ítems" msgid "E554: Syntax error in %s{...}" msgstr "E554: Error de sintaxi a %s{...}" -# TODO: Capitalise first word of message? msgid "E555: At bottom of tag stack" -msgstr "E555: a baix de la pila d'etiquetes" - -# TODO: Capitalise first word of message? +msgstr "E555: A baix de la pila d'etiquetes" + msgid "E556: At top of tag stack" -msgstr "E556: a dalt de la pila d'etiquetes" +msgstr "E556: A dalt de la pila d'etiquetes" msgid "E557: Cannot open termcap file" msgstr "E557: No s'ha pogut obrir el fitxer termcap" @@ -5958,7 +5882,6 @@ msgstr "E559: No s'ha trobat informació sobre el terminal a termcap" msgid "E560: Usage: cs[cope] %s" msgstr "E560: Sintaxi: cs[cope] %s" -# TODO: Capitalise first word of message? msgid "E561: Unknown cscope search type" msgstr "E561: Tipus de cerca cscope desconeguda" @@ -5979,26 +5902,22 @@ msgstr "E565: No es permet canviar el te msgid "E566: Could not create cscope pipes" msgstr "E566: No s'han pogut crear canonades cscope" -# TODO: Capitalise first word of message? msgid "E567: No cscope connections" msgstr "E567: No hi ha connexions cscope" -# TODO: Capitalise first word of message? msgid "E568: Duplicate cscope database not added" -msgstr "E568: no s'ha afegit una base de dades cscope duplicada" - -# TODO: Capitalise first word of message? +msgstr "E568: No s'ha afegit una base de dades cscope duplicada" + msgid "E570: Fatal error in cs_manage_matches" -msgstr "E570: error fatal a cs_manage_matches" +msgstr "E570: Error fatal a cs_manage_matches" msgid "" "E571: Sorry, this command is disabled: the Tcl library could not be loaded." msgstr "E571: Ordre no disponible: no s'ha carregat la biblioteca Tcl." #, c-format -# TODO: Capitalise first word of message? msgid "E572: Exit code %d" -msgstr "E572: codi de sortida %d" +msgstr "E572: Codi de sortida %d" #, c-format msgid "E573: Invalid server id used: %s" @@ -6020,13 +5939,11 @@ msgstr "Nom de registre il·legal" msgid "E578: Not allowed to change text here" msgstr "E578: No es permet canviar el text" -# TODO: Capitalise first word of message? msgid "E579: :if nesting too deep" -msgstr "E579: nivell d'imbricació :if massa elevat" - -# TODO: Capitalise first word of message? +msgstr "E579: Nivell d'imbricació :if massa elevat" + msgid "E579: Block nesting too deep" -msgstr "E579: nivell d'imbricació massa elevat" +msgstr "E579: Nivell d'imbricació massa elevat" msgid "E580: :endif without :if" msgstr "E580: :endif sense :if" @@ -6037,9 +5954,8 @@ msgstr "E581: :else sense :if" msgid "E582: :elseif without :if" msgstr "E582: :elseif sense :if" -# TODO: Capitalise first word of message? msgid "E583: Multiple :else" -msgstr "E583: múltiples :else" +msgstr "E583: Múltiples :else" msgid "E584: :elseif after :else" msgstr "E584: :elseif després de :else" @@ -6086,7 +6002,6 @@ msgid "E596: Invalid font(s)" msgstr "E596: Fosa no vàlida" # necessita +xfontset -# TODO: Capitalise first word of message? msgid "E597: Can't select fontset" msgstr "E597: No s'ha pogut seleccionar el conjunt de foses" @@ -6118,9 +6033,8 @@ msgstr "E605: No s'ha interceptat l'excepció: %s" msgid "E606: :finally without :try" msgstr "E606: :finally sense :try" -# TODO: Capitalise first word of message? msgid "E607: Multiple :finally" -msgstr "E607: múltiples :finally" +msgstr "E607: Múltiples :finally" msgid "E608: Cannot :throw exceptions with 'Vim' prefix" msgstr "E608: No és possible generar excepcions amb el prefix 'Vim'" @@ -6156,12 +6070,10 @@ msgid "E617: Cannot be changed in the GT msgstr "E617: La interfície GTK no permet aquest canvi" #, c-format -# TODO: Capitalise first word of message? msgid "E618: File \"%s\" is not a PostScript resource file" msgstr "E618: El fitxer \"%s\" no és un fitxer de recursos PostScript" #, c-format -# TODO: Capitalise first word of message? msgid "E619: File \"%s\" is not a supported PostScript resource file" msgstr "E619: El fitxer de recursos PostScript \"%s\" no està suportat" @@ -6184,28 +6096,23 @@ msgid "E624: Can't open file \"%s\"" msgstr "E624: No s'ha pogut obrir el fitxer \"%s\"" #, c-format -# TODO: Capitalise first word of message? msgid "E625: Cannot open cscope database: %s" -msgstr "E625: no s'ha pogut obrir la base de dades cscope: %s" - -# TODO: Capitalise first word of message? +msgstr "E625: No s'ha pogut obrir la base de dades cscope: %s" + msgid "E626: Cannot get cscope database information" -msgstr "E626: no s'ha pogut obtenir informació de la base de dades cscope" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E626: No s'ha pogut obtenir informació de la base de dades cscope" + +#, c-format msgid "E630: %s(): Write while not connected" -msgstr "E630: %s(): s'ha escrit sense estar connectat" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E630: %s(): S'ha escrit sense estar connectat" + +#, c-format msgid "E631: %s(): Write failed" -msgstr "E631: %s(): error d'escriptura" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E631: %s(): Error d'escriptura" + +#, c-format msgid "E654: Missing delimiter after search pattern: %s" -msgstr "E654: falta un delimitador després del patró de cerca: %s" +msgstr "E654: Falta un delimitador després del patró de cerca: %s" msgid "E655: Too many symbolic links (cycle?)" msgstr "E655: Massa enllaços simbòlics (circulars?)" @@ -6235,7 +6142,6 @@ msgstr "E662: Us trobeu a l'inici de la msgid "E663: At end of changelist" msgstr "E663: Us trobeu al final de la llista de canvis" -# TODO: Capitalise first word of message? msgid "E664: Changelist is empty" msgstr "E664: La llista de canvis està buida" @@ -6243,9 +6149,8 @@ msgid "E665: Cannot start GUI, no valid msgstr "E665: Error en iniciar el GUI, no s'ha trobat cap tipus de lletra" #, c-format -# TODO: Capitalise first word of message? msgid "E666: Compiler not supported: %s" -msgstr "E666: el compilador no està suportat: %s" +msgstr "E666: El compilador no està suportat: %s" msgid "E667: Fsync failed" msgstr "E667: Fsync ha fallat" @@ -6288,9 +6193,8 @@ msgstr "E677: Error en escriure el fitxe msgid "E678: Invalid character after %s%%[dxouU]" msgstr "E678: Caràcter invàlid després de %s%%[dxouU]" -# TODO: Capitalise first word of message? msgid "E679: Recursive loop loading syncolor.vim" -msgstr "E679: bucle infinit en carregar syncolor.vim" +msgstr "E679: Bucle infinit en carregar syncolor.vim" #, c-format msgid "E680: : invalid buffer number" @@ -6306,9 +6210,8 @@ msgid "E683: File name missing or invali msgstr "E683: Falta un nom de fitxer o el patró no és vàlid" #, c-format -# TODO: Capitalise first word of message? msgid "E684: List index out of range: %ld" -msgstr "E684: indexació de llista fora d'interval: %ld" +msgstr "E684: Indexació de llista fora d'interval: %ld" #, c-format msgid "E685: Internal error: %s" @@ -6352,9 +6255,8 @@ msgstr "E696: Falta una coma a la llista msgid "E697: Missing end of List ']': %s" msgstr "E697: Falta ']' al final de la llista: %s" -# TODO: Capitalise first word of message? msgid "E698: Variable nested too deep for making a copy" -msgstr "E698: el nivell d'imbricació de la variable és massa elevat" +msgstr "E698: El nivell d'imbricació de la variable és massa elevat" msgid "E699: Too many arguments" msgstr "E699: Sobren arguments" @@ -6442,9 +6344,8 @@ msgid "E723: Missing end of Dictionary ' msgstr "E723: Falta un '}': %s" # veure eval.c:2935 -# TODO: Capitalise first word of message? msgid "E724: Variable nested too deep for displaying" -msgstr "E724: el nivell d'imbricació de la variable és massa elevat" +msgstr "E724: El nivell d'imbricació de la variable és massa elevat" #, c-format msgid "E725: Calling dict function without Dictionary: %s" @@ -6515,9 +6416,8 @@ msgstr "E742: No es pot canviar el valor msgid "E742: Cannot change value of %s" msgstr "E742: No s'ha pogut canviar el valor de %s" -# TODO: Capitalise first word of message? msgid "E743: Variable nested too deep for (un)lock" -msgstr "E743: el nivell d'imbricació de la variable és massa elevat" +msgstr "E743: El nivell d'imbricació de la variable és massa elevat" msgid "E744: NetBeans does not allow changes in read-only files" msgstr "E744: NetBeans no permet canvis a fitxers de només lectura" @@ -6535,9 +6435,8 @@ msgstr "E747: Buffer modificat, no es canvia de directori (! per a forçar)" msgid "E748: No previously used register" msgstr "E748: No hi ha cap registre usat amb anterioritat" -# TODO: Capitalise first word of message? msgid "E749: Empty buffer" -msgstr "E749: buffer buit" +msgstr "E749: Buffer buit" msgid "E750: First use \":profile start {fname}\"" msgstr "E750: Primer feu \":profile start {nomfitxer}\"" @@ -6649,11 +6548,9 @@ msgid "E781: .sug file doesn't match .sp msgstr "E781: El fitxer .sug no coincideix amb el fitxer .spl: %s" #, c-format -# TODO: Capitalise first word of message? msgid "E782: Error while reading .sug file: %s" -msgstr "E782: error en llegir el fitxer .sug: %s" - -# TODO: Capitalise first word of message? +msgstr "E782: Error en llegir el fitxer .sug: %s" + msgid "E783: Duplicate char in MAP entry" msgstr "E783: Caràcter duplicat a l'entrada MAP" @@ -6740,7 +6637,6 @@ msgid "E805: Using a Float as a Number" msgstr "E805: Ús de Float com a Number" # semblant a eval.c:7120 i següents -# TODO: Capitalise first word of message? msgid "E806: Using Float as a String" msgstr "E806: Ús de Float com a String" @@ -6821,9 +6717,8 @@ msgid "E828: Cannot open undo file for w msgstr "E828: No es pot obrir el fitxer de desfer per a escriptura: %s" #, c-format -# TODO: Capitalise first word of message? msgid "E829: Write error in undo file: %s" -msgstr "E829: error d'escriptura en desar el fitxer de desfer: %s" +msgstr "E829: Error d'escriptura en desar el fitxer de desfer: %s" #, c-format msgid "E830: Undo number %ld not found" @@ -6853,9 +6748,8 @@ msgstr "E836: Aquest Vim no pot executar :python després de :py3" msgid "E837: This Vim cannot execute :py3 after using :python" msgstr "E837: Aquest Vim no pot executar :py3 després de :python" -# TODO: Capitalise first word of message? msgid "E838: NetBeans is not supported with this GUI" -msgstr "E838: aquesta interfície gràfica no suporta NetBeans" +msgstr "E838: Aquesta interfície gràfica no suporta NetBeans" msgid "E840: Completion function deleted text" msgstr "E840: La funció de compleció ha esborrat text" @@ -6863,17 +6757,15 @@ msgstr "E840: La funció de compleció ha esborrat text" msgid "E841: Reserved name, cannot be used for user defined command" msgstr "E841: Nom reservat, no es pot usar en una ordre definida per l'usuari" -# TODO: Capitalise first word of message? msgid "E842: No line number to use for \"\"" -msgstr "E842: no hi ha cap número de línia per a \"\"" +msgstr "E842: No hi ha cap número de línia per a \"\"" # called after the crypt key or 'cryptmethod' was changed for "buf" msgid "E843: Error while updating swap file crypt" msgstr "E843: Error en actualitzar el xifrat del fitxer d'intercanvi" -# TODO: Capitalise first word of message? msgid "E844: Invalid cchar value" -msgstr "E844: valor de cchar invàlid" +msgstr "E844: Valor de cchar invàlid" msgid "E845: Insufficient memory, word list will be incomplete" msgstr "E845: Memòria insuficient, la llista de paraules serà incompleta" @@ -6905,9 +6797,8 @@ msgstr "E852: El procés fill no ha pogut crear la interfície gràfica" msgid "E853: Duplicate argument name: %s" msgstr "E853: Argument duplicat: %s" -# TODO: Capitalise first word of message? msgid "E854: Path too long for completion" -msgstr "E854: la ubicació és massa llarga per a fer compleció" +msgstr "E854: La ubicació és massa llarga per a fer compleció" msgid "E855: Autocommands caused command to abort" msgstr "E855: Una ordre automàtica ha provocat que l'ordre avortés" @@ -7015,10 +6906,10 @@ msgid "E882: Uniq compare function faile msgstr "E882: La funció de comparació a unique() ha fallat" msgid "" -"E883: search pattern and expression register may not contain two or more " +"E883: Search pattern and expression register may not contain two or more " "lines" msgstr "" -"E883: els registres d'expressió i de patró de cerca no poden contenir més " +"E883: Els registres d'expressió i de patró de cerca no poden contenir més " "d'una línia" #, c-format @@ -7046,9 +6937,8 @@ msgid "E889: Number required" msgstr "E889: Es requereix un número" #, c-format -# TODO: Capitalise first word of message? msgid "E890: Trailing char after ']': %s]%s" -msgstr "E890: caràcter sobrer després de ']': %s]%s" +msgstr "E890: Caràcter sobrer després de ']': %s]%s" msgid "E891: Using a Funcref as a Float" msgstr "E891: Ús de Funcref com a Float" @@ -7094,33 +6984,27 @@ msgstr "E901: gethostbyname() a channel_ msgid "E902: Cannot connect to port" msgstr "E902: No s'ha pogut connectar al port" -# TODO: Capitalise first word of message? msgid "E903: Received command with non-string argument" -msgstr "E903: s'ha rebut una ordre amb un argument que no és text" +msgstr "E903: S'ha rebut una ordre amb un argument que no és text" # expr i call són ordres (:h channel-commands) -# TODO: Capitalise first word of message? msgid "E904: Last argument for expr/call must be a number" -msgstr "E904: l'últim argument a expr/call ha de ser un número" - -# TODO: Capitalise first word of message? +msgstr "E904: L'últim argument a expr/call ha de ser un número" + msgid "E904: Third argument for call must be a list" -msgstr "E904: el tercer argument a call ha de ser una llista" - -#, c-format -# TODO: Capitalise first word of message? +msgstr "E904: El tercer argument a call ha de ser una llista" + +#, c-format msgid "E905: Received unknown command: %s" -msgstr "E905: s'ha rebut una ordre desconeguda: %s" - -# TODO: Capitalise first word of message? +msgstr "E905: S'ha rebut una ordre desconeguda: %s" + msgid "E906: Not an open channel" -msgstr "E906: el canal no està obert" +msgstr "E906: El canal no està obert" msgid "E907: Using a special value as a Float" msgstr "E907: Ús de Special com a Float" #, c-format -# TODO: Capitalise first word of message? msgid "E908: Using an invalid value as a String: %s" msgstr "E908: Ús d'un valor invàlid com a String: %s" @@ -7133,9 +7017,8 @@ msgstr "E910: Ús de Job com a Number" msgid "E911: Using a Job as a Float" msgstr "E911: Ús de Job com a Float" -# TODO: Capitalise first word of message? msgid "E912: Cannot use ch_evalexpr()/ch_sendexpr() with a raw or nl channel" -msgstr "E912: no es pot usar ch_evalexpr()/ch_sendexpr() amb canals raw o nl" +msgstr "E912: No es pot usar ch_evalexpr()/ch_sendexpr() amb canals raw o nl" msgid "E913: Using a Channel as a Number" msgstr "E913: Ús de Channel com a Number" @@ -7146,18 +7029,16 @@ msgstr "E914: Ús de Channel com a Float" msgid "E915: in_io buffer requires in_buf or in_name to be set" msgstr "E915: els buffers in_io han de tenir l'atribut in_buf o in_name" -# TODO: Capitalise first word of message? msgid "E916: Not a valid job" -msgstr "E916: no és una feina vàlida" +msgstr "E916: No és una feina vàlida" #, c-format msgid "E917: Cannot use a callback with %s()" msgstr "E917: No es poden utilitzar callbacks amb %s()" #, c-format -# TODO: Capitalise first word of message? msgid "E918: Buffer must be loaded: %s" -msgstr "E918: el buffer no està carregat: %s" +msgstr "E918: El buffer no està carregat: %s" #, c-format msgid "E919: Directory not found in '%s': \"%s\"" @@ -7169,9 +7050,8 @@ msgstr "E920: els fitxers _io han de ten msgid "E921: Invalid callback argument" msgstr "E921: L'argument del callback no és vàlid" -# TODO: Capitalise first word of message? msgid "E922: Expected a dict" -msgstr "E922: s'esperava un diccionari" +msgstr "E922: S'esperava un diccionari" msgid "E923: Second argument of function() must be a list or a dict" msgstr "E923: El segon argument a function() ha de ser una llista o diccionari" @@ -7214,9 +7094,8 @@ msgid "E934: Cannot jump to a buffer tha msgstr "E934: No és possible saltar a un buffer anònim" #, c-format -# TODO: Capitalise first word of message? msgid "E935: Invalid submatch number: %d" -msgstr "E935: referència invàlida a una coincidència: %d" +msgstr "E935: Referència invàlida a una coincidència: %d" msgid "E936: Cannot delete the current group" msgstr "E936: No es pot eliminar el grup actual" @@ -7236,9 +7115,8 @@ msgstr "E939: Es necessita un número estrictament positiu" msgid "E940: Cannot lock or unlock variable %s" msgstr "E940: No s'ha pogut bloquejar o desbloquejar la variable %s" -# TODO: Capitalise first word of message? msgid "E941: Already started a server" -msgstr "E941: ja s'ha iniciat un servidor" +msgstr "E941: Ja s'ha iniciat un servidor" msgid "E942: +clientserver feature not available" msgstr "E942: la característica +clientserver no està disponible" @@ -7304,34 +7182,30 @@ msgstr "E959: El format diff no és vàlid" msgid "E960: Problem creating the internal diff" msgstr "E960: Problema en computar internament les diferències" -# TODO: Capitalise first word of message? msgid "E961: No line number to use for \"\"" -msgstr "E961: no es pot utilitzar cap número de línia per a \"\"" +msgstr "E961: No es pot utilitzar cap número de línia per a \"\"" #, c-format msgid "E962: Invalid action: '%s'" msgstr "E962: Acció invàlida: '%s'" #, c-format -# TODO: Capitalise first word of message? msgid "E963: Setting %s to value with wrong type" -msgstr "E963: s'ha assignat un valor del tipus incorrecte a %s" +msgstr "E963: S'ha assignat un valor del tipus incorrecte a %s" #, c-format msgid "E964: Invalid column number: %ld" msgstr "E964: El número de columna no és vàlid: %ld" -# TODO: Capitalise first word of message? msgid "E965: Missing property type name" -msgstr "E965: falta un nom de tipus de propietat" +msgstr "E965: Falta un nom de tipus de propietat" #, c-format msgid "E966: Invalid line number: %ld" msgstr "E966: El número de línia no és vàlid: %ld" -# TODO: Capitalise first word of message? msgid "E967: Text property info corrupted" -msgstr "E967: l'informació de la propietat de text s'ha corromput" +msgstr "E967: L'informació de la propietat de text s'ha corromput" msgid "E968: Need at least one of 'id' or 'type'" msgstr "E968: Es requereix 'id' o 'type'" @@ -7374,7 +7248,6 @@ msgstr "E978: Operació no vàlida per a un Blob" msgid "E979: Blob index out of range: %ld" msgstr "E979: índexació d'un Blob fora d'interval: %ld" -# TODO: Capitalise first word of message? msgid "E980: Lowlevel input not supported" msgstr "E980: L'entrada de baix nivell no està suportada" @@ -7394,13 +7267,11 @@ msgstr "E984: ús de :scriptversion fora d'un script" msgid "E985: .= is not supported with script version >= 2" msgstr "E985: .= no està suportat en versions d'script >= 2" -# TODO: Capitalise first word of message? msgid "E986: Cannot modify the tag stack within tagfunc" -msgstr "E986: no es pot modificar la pila d'etiquetes des de tagfunc" - -# TODO: Capitalise first word of message? +msgstr "E986: No es pot modificar la pila d'etiquetes des de tagfunc" + msgid "E987: Invalid return value from tagfunc" -msgstr "E987: el valor retornat per tagfunc no és vàlid" +msgstr "E987: El valor retornat per tagfunc no és vàlid" msgid "E988: GUI cannot be used. Cannot execute gvim.exe." msgstr "E988: No es pot usar GUI: No es pot executar gvim.exe." @@ -7412,17 +7283,15 @@ msgstr "E989: Argument obligatori preced msgid "E990: Missing end marker '%s'" msgstr "E990: Falta una marca final '%s'" -# TODO: Capitalise first word of message? msgid "E991: Cannot use =<< here" -msgstr "E991: no es pot utilitzar =<< aquí" +msgstr "E991: No es pot utilitzar =<< aquí" msgid "E992: Not allowed in a modeline when 'modelineexpr' is off" msgstr "E992: No permès en una línia de mode amb 'modelineexpr' off" #, c-format -# TODO: Capitalise first word of message? msgid "E993: Window %d is not a popup window" -msgstr "E993: la finestra %d no és una finestra emergent" +msgstr "E993: La finestra %d no és una finestra emergent" msgid "E994: Not allowed in a popup window" msgstr "E994: No permès en una finestra emergent" @@ -7615,7 +7484,7 @@ msgid "E1040: Cannot use :scriptversion msgstr "E1040: No es permet utilitzar :scriptversion després de :vim9script" #, c-format -msgid "E1041: Redefining script item %s" +msgid "E1041: Redefining script item \"%s\"" msgstr "E1041: S'ha redefinit l'element %s de l'script" msgid "E1042: Export can only be used in vim9script" @@ -8025,7 +7894,7 @@ msgstr "E1160: No es permeten valors per #, c-format msgid "E1161: Cannot json encode a %s" -msgstr "E1161: No es pot codificar %s com a json" +msgstr "E1161: No es pot codificar %s com a JSON" #, c-format msgid "E1162: Register name must be one character: %s" @@ -8414,9 +8283,8 @@ msgstr "E1261: No es pot importar .vim msgid "E1262: Cannot import the same script twice: %s" msgstr "E1262: No es pot importar el mateix script dos cops: %s" -# TODO: Capitalise first word of message? msgid "E1263: Cannot use name with # in Vim9 script, use export instead" -msgstr "E1263: un nom no pot contenir # en un script Vim9, utilitzeu export" +msgstr "E1263: Un nom no pot contenir # en un script Vim9, utilitzeu export" #, c-format msgid "E1264: Autoload import cannot use absolute or relative path: %s" diff --git a/src/po/cleanup.vim b/src/po/cleanup.vim --- a/src/po/cleanup.vim +++ b/src/po/cleanup.vim @@ -22,6 +22,9 @@ silent g/^msgstr"/s//msgstr "/ silent g/^msgid"/s//msgid "/ silent g/^msgstr ""\(\n"\)\@!/?^msgid?,.s/^/#\~ / +" Comments only useful for the translator +silent g/^#\. /d + " clean up empty lines silent g/^\n\n\n/.d silent! %s/\n\+\%$// diff --git a/src/po/it.po b/src/po/it.po --- a/src/po/it.po +++ b/src/po/it.po @@ -14,7 +14,8 @@ msgid "" msgstr "" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2022-06-05 10:20+0100\n" +"POT-Creation-Date: 2022-06-16 21:37+0200\n" +"PO-Revision-Date: 2022-06-16 23:00+0100\n" "Last-Translator: Antonio Colombo \n" "Language-Team: Italian\n" "Language: it\n" @@ -383,6 +384,7 @@ msgstr "" "\n" "\tImpostata l'ultima volta da " +#. msgid "&Ok" msgstr "&OK" @@ -1517,6 +1519,9 @@ msgstr "-T \tImposta tipo ter msgid "--not-a-term\t\tSkip warning for input/output not being a terminal" msgstr "--not-a-term\t\tNon avvisare se input/output non da terminale" +msgid "--gui-dialog-file {fname} For testing: write dialog text" +msgstr "--gui-dialog-file {nomefile} Per test: scrive testo del dialogo" + msgid "--ttyfail\t\tExit if input or output is not a terminal" msgstr "--ttyfail\t\tEsce se l'input o l'output non sono da un terminale" @@ -2836,6 +2841,7 @@ msgstr "Compressi %s: %ld di %ld nodi; n msgid "Reading back spell file..." msgstr "Rilettura file ortografico..." +#. msgid "Performing soundfolding..." msgstr "Eseguo soundfolding..." @@ -7535,9 +7541,25 @@ msgstr "E1283: L'ammontare dello spostam msgid "E1284: Argument 1, list item %d: Dictionary required" msgstr "E1284: Argomento 1, elemento di Lista %d: Dizionario richiesto" +msgid "E1285: Could not clear timeout: %s" +msgstr "E1285: Non riesco ad azzerare timeout: %s" + +msgid "E1286: Could not set timeout: %s" +msgstr "E1286: Non riesco a impostare timeout: %s" + +msgid "E1287: Could not set handler for timeout: %s" +msgstr "E1287: Non riesco a impostare il gestore del timeout: %s" + +msgid "E1288: Could not reset handler for timeout: %s" +msgstr "E1288: Non riesco ad annullare il gestore del timeout: %s" + +msgid "E1289: Could not check for pending SIGALRM: %s" +msgstr "E1289: Non riesco a controllare se in attesa di SIGALRM: %s" + msgid "--No lines in buffer--" msgstr "--File vuoto--" +#. msgid "search hit TOP, continuing at BOTTOM" msgstr "raggiunta la CIMA nella ricerca, continuo dal FONDO"