1
0
forked from aniani/vim

Update runtime files

This commit is contained in:
Bram Moolenaar 2022-03-19 15:18:53 +00:00
parent 36a5b6867b
commit 47c532e2bc
30 changed files with 7253 additions and 4038 deletions

View File

@ -9034,7 +9034,7 @@ taglist({expr} [, {filename}]) *taglist()*
entry depends on the language specific entry depends on the language specific
kind values. Only available when kind values. Only available when
using a tags file generated by using a tags file generated by
Exuberant ctags or hdrtag. Universal/Exuberant ctags or hdrtag.
static A file specific tag. Refer to static A file specific tag. Refer to
|static-tag| for more information. |static-tag| for more information.
More entries may be present, depending on the content of the More entries may be present, depending on the content of the

View File

@ -1,4 +1,4 @@
*ft_ada.txt* For Vim version 8.2. Last change: 2010 Jul 20 *ft_ada.txt* For Vim version 8.2. Last change: 2022 Mar 13
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~ ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
@ -89,9 +89,9 @@ file is opened and adds Ada related entries to the main and pop-up menu.
*ft-ada-omni* *ft-ada-omni*
The Ada omni-completions (|i_CTRL-X_CTRL-O|) uses tags database created either The Ada omni-completions (|i_CTRL-X_CTRL-O|) uses tags database created either
by "gnat xref -v" or the "exuberant Ctags (http://ctags.sourceforge.net). The by "gnat xref -v" or the "Universal Ctags" (https://ctags.io). The complete
complete function will automatically detect which tool was used to create the function will automatically detect which tool was used to create the tags
tags file. file.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
3.1 Omni Completion with "gnat xref" ~ 3.1 Omni Completion with "gnat xref" ~
@ -125,18 +125,18 @@ NOTE: "gnat xref -v" is very tricky to use as it has almost no diagnostic
3.2 Omni Completion with "ctags"~ 3.2 Omni Completion with "ctags"~
*ada-ctags* *ada-ctags*
Exuberant Ctags uses its own multi-language code parser. The parser is quite Universal/Exuberant Ctags use their own multi-language code parser. The
fast, produces a lot of extra information (hence the name "Exuberant Ctags") parser is quite fast, produces a lot of extra information and can run on files
and can run on files which currently do not compile. which currently do not compile.
There are also lots of other Vim-tools which use exuberant Ctags. There are also lots of other Vim-tools which use Universal/Exuberant Ctags.
Universal Ctags is preferred, Exuberant Ctags is no longer being developed.
You will need to install a version of the Exuberant Ctags which has Ada You will need to install Universal Ctags which is available from
support patched in. Such a version is available from the GNU Ada Project https://ctags.io
(http://gnuada.sourceforge.net).
The Ada parser for Exuberant Ctags is fairly new - don't expect complete The Ada parser for Universal/Exuberant Ctags is fairly new - don't expect
support yet. complete support yet.
============================================================================== ==============================================================================
4. Compiler Support ~ 4. Compiler Support ~

View File

@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 8.2. Last change: 2021 Oct 24 *gui_w32.txt* For Vim version 8.2. Last change: 2022 Mar 09
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -236,7 +236,8 @@ The "* register reflects the contents of the clipboard. |quotestar|
When the "unnamed" string is included in the 'clipboard' option, the unnamed When the "unnamed" string is included in the 'clipboard' option, the unnamed
register is the same. Thus you can yank to and paste from the clipboard register is the same. Thus you can yank to and paste from the clipboard
without prepending "* to commands. without prepending "* to commands. If this doesn't work use the "unnamedplus"
string in the 'clipboard' option.
The 'a' flag in 'guioptions' is not included by default. This means that text The 'a' flag in 'guioptions' is not included by default. This means that text
is only put on the clipboard when an operation is performed on it. Just is only put on the clipboard when an operation is performed on it. Just

View File

@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 8.2. Last change: 2022 Jan 28 *if_perl.txt* For Vim version 8.2. Last change: 2022 Mar 13
VIM REFERENCE MANUAL by Sven Verdoolaege VIM REFERENCE MANUAL by Sven Verdoolaege
@ -22,9 +22,9 @@ line of a file, regardless of the filename suffix, to check if a file is a
Perl script (see scripts.vim in Vim's syntax directory). Vim assumes a file Perl script (see scripts.vim in Vim's syntax directory). Vim assumes a file
is POD text if the filename has a .POD suffix. is POD text if the filename has a .POD suffix.
To use tags with Perl, you need a recent version of Exuberant ctags. Look To use tags with Perl, you need Universal/Exuberant Ctags. Look here:
here: Universal Ctags (preferred): https://ctags.io
http://ctags.sourceforge.net Exuberant Ctags: http://ctags.sourceforge.net
Alternatively, you can use the Perl script pltags.pl, which is shipped with Alternatively, you can use the Perl script pltags.pl, which is shipped with
Vim in the $VIMRUNTIME/tools directory. This script has currently more Vim in the $VIMRUNTIME/tools directory. This script has currently more

View File

@ -1,4 +1,4 @@
*insert.txt* For Vim version 8.2. Last change: 2022 Mar 06 *insert.txt* For Vim version 8.2. Last change: 2022 Mar 13
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -1409,11 +1409,16 @@ in 'runtimepath'. Thus for "java" it is autoload/javacomplete.vim.
C *ft-c-omni* C *ft-c-omni*
Completion of C code requires a tags file. You should use Exuberant ctags, Completion of C code requires a tags file. You should use Universal/
because it adds extra information that is needed for completion. You can find Exuberant ctags, because it adds extra information that is needed for
it here: http://ctags.sourceforge.net/ Version 5.6 or later is recommended. completion. You can find it here:
Universal Ctags: https://ctags.io
Exuberant Ctags: http://ctags.sourceforge.net
For version 5.5.4 you should add a patch that adds the "typename:" field: Universal Ctags is preferred, Exuberant Ctags is no longer being developed.
For Exuberant ctags, version 5.6 or later is recommended. For version 5.5.4
you should add a patch that adds the "typename:" field:
ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch ftp://ftp.vim.org/pub/vim/unstable/patches/ctags-5.5.4.patch
A compiled .exe for MS-Windows can be found at: A compiled .exe for MS-Windows can be found at:
http://ctags.sourceforge.net/ http://ctags.sourceforge.net/
@ -1534,8 +1539,11 @@ will be suggested. All other elements are not placed in suggestion list.
PHP *ft-php-omni* PHP *ft-php-omni*
Completion of PHP code requires a tags file for completion of data from Completion of PHP code requires a tags file for completion of data from
external files and for class aware completion. You should use Exuberant ctags external files and for class aware completion. You should use Universal/
version 5.5.4 or newer. You can find it here: http://ctags.sourceforge.net/ Exuberant ctags version 5.5.4 or newer. You can find it here:
Universal Ctags: https://ctags.io
Exuberant Ctags: http://ctags.sourceforge.net
Script completes: Script completes:

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 8.2. Last change: 2022 Feb 18 *options.txt* For Vim version 8.2. Last change: 2022 Mar 13
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -7859,9 +7859,10 @@ A jump table for the options with a short description can be found at |Q_op|.
linear search can be avoided when case is ignored. Use a value of '2' linear search can be avoided when case is ignored. Use a value of '2'
in the "!_TAG_FILE_SORTED" line for this. A tag file can be case-fold in the "!_TAG_FILE_SORTED" line for this. A tag file can be case-fold
sorted with the -f switch to "sort" in most unices, as in the command: sorted with the -f switch to "sort" in most unices, as in the command:
"sort -f -o tags tags". For "Exuberant ctags" version 5.x or higher "sort -f -o tags tags". For Universal ctags and Exuberant ctags
(at least 5.5) the --sort=foldcase switch can be used for this as version 5.x or higher (at least 5.5) the --sort=foldcase switch can be
well. Note that case must be folded to uppercase for this to work. used for this as well. Note that case must be folded to uppercase for
this to work.
By default, tag searches are case-sensitive. Case is ignored when By default, tag searches are case-sensitive. Case is ignored when
'ignorecase' is set and 'tagcase' is "followic", or when 'tagcase' is 'ignorecase' is set and 'tagcase' is "followic", or when 'tagcase' is

View File

@ -5553,11 +5553,12 @@ WARNING: The longer the tags file, the slower this will be, and the more
memory Vim will consume. memory Vim will consume.
Only highlighting typedefs, unions and structs can be done too. For this you Only highlighting typedefs, unions and structs can be done too. For this you
must use Exuberant ctags (found at http://ctags.sf.net). must use Universal Ctags (found at https://ctags.io) or Exuberant ctags (found
at http://ctags.sf.net).
Put these lines in your Makefile: Put these lines in your Makefile:
# Make a highlight file for types. Requires Exuberant ctags and awk # Make a highlight file for types. Requires Universal/Exuberant ctags and awk
types: types.vim types: types.vim
types.vim: *.[ch] types.vim: *.[ch]
ctags --c-kinds=gstu -o- *.[ch] |\ ctags --c-kinds=gstu -o- *.[ch] |\

View File

@ -4254,6 +4254,7 @@ E1265 eval.txt /*E1265*
E1266 if_pyth.txt /*E1266* E1266 if_pyth.txt /*E1266*
E127 eval.txt /*E127* E127 eval.txt /*E127*
E1270 change.txt /*E1270* E1270 change.txt /*E1270*
E1271 vim9.txt /*E1271*
E128 eval.txt /*E128* E128 eval.txt /*E128*
E129 eval.txt /*E129* E129 eval.txt /*E129*
E13 message.txt /*E13* E13 message.txt /*E13*

View File

@ -561,7 +561,8 @@ also works. The <CR> and <NL> characters can never appear inside a line.
The second format is new. It includes additional information in optional The second format is new. It includes additional information in optional
fields at the end of each line. It is backwards compatible with Vi. It is fields at the end of each line. It is backwards compatible with Vi. It is
only supported by new versions of ctags (such as Exuberant ctags). only supported by new versions of ctags (such as Universal ctags or Exuberant
ctags).
{tagname} The identifier. Normally the name of a function, but it can {tagname} The identifier. Normally the name of a function, but it can
be any identifier. It cannot contain a <Tab>. be any identifier. It cannot contain a <Tab>.

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.2. Last change: 2022 Mar 08 *todo.txt* For Vim version 8.2. Last change: 2022 Mar 18
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -38,27 +38,10 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs* *known-bugs*
-------------------- Known bugs and current work ----------------------- -------------------- Known bugs and current work -----------------------
Allow for assigning v:null to job/channel/funcref etc. Really drop the Athena and NeXtaw GUI? Decide end of March.
- Check that the declared type is not lost.
- Check: var d: dict<func> = {a: function('tr'), b: null}
Fix that with s being an empty string, this returns TRUE:
echo s is null_string
Make sure null types work to:
- assign to a variable
- use as an argument
- use as default value of optional argument
- use as return value
- use in a list/dict constant, type is correct
- revert comparing with null?
TODO item in eval.c
Really drop the Athena GUI? And NeXtaw?
Once Vim9 is stable: Once Vim9 is stable:
- Use Vim9 for runtime files. - Use Vim9 for more runtime files.
- Check code coverage, add more tests if needed. - Check code coverage, add more tests if needed.
vim9execute.c line 1900 vim9execute.c line 1900
vim9expr.c vim9expr.c
@ -123,7 +106,6 @@ Popup windows:
- Should popup_getoptions() also return the mask? #7774 - Should popup_getoptions() also return the mask? #7774
- Add a way to use popup_menu() synchronously: instead of invoking the - Add a way to use popup_menu() synchronously: instead of invoking the
callback, return the choice. (Ben Jackson, #6534) callback, return the choice. (Ben Jackson, #6534)
- Use popup (or popup menu) for command line completion
- When using a popup for the info of a completion menu, and there is not - When using a popup for the info of a completion menu, and there is not
enough space, let the popup overlap with the menu. (#4544) enough space, let the popup overlap with the menu. (#4544)
- Implement flip option. - Implement flip option.
@ -2231,10 +2213,6 @@ Jan 7)
Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8) Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8)
With 'wildmode' set to "longest:full,full" and pressing Tab once the first
entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe, 2011
Feb 12)
Display error when 'tabline' that includes a file name with double-width Display error when 'tabline' that includes a file name with double-width
characters. (2010 Aug 14, bootleq) characters. (2010 Aug 14, bootleq)
@ -2437,10 +2415,6 @@ is executed.
first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this. first line. (Ingo Karkat, 2008 Jul 1) Ian Kelling is working on this.
Similar problem with ":e". (Marc Montu, 2014 Apr 22) Similar problem with ":e". (Marc Montu, 2014 Apr 22)
Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3
laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1)
Works OK with Vim in an xterm.
Cursor line moves in other window when using CTRL-W J that doesn't change Cursor line moves in other window when using CTRL-W J that doesn't change
anything. (Dasn, 2009 Apr 7) anything. (Dasn, 2009 Apr 7)
@ -2473,10 +2447,6 @@ backslash? (Robert Vibrant, 2008 Jun 5)
When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a
line. It's also wrong in folds. (Dominique Pelle, 2010 Aug 21) line. It's also wrong in folds. (Dominique Pelle, 2010 Aug 21)
After using <Tab> for command line completion after ":ta blah" and getting E33
(no tags file), further editing the command to e.g., ":echo 'blah'", the
command is not executed. Fix by Ian Kelling?
":help s/~" jumps to *s/\~*, while ":help s/\~" doesn't find anything. (Tim ":help s/~" jumps to *s/\~*, while ":help s/\~" doesn't find anything. (Tim
Chase) Fix by Ian Kelling, 2008 Jul 14. Chase) Fix by Ian Kelling, 2008 Jul 14.
@ -2652,16 +2622,6 @@ This should avoid flicker. Other solution by A.Politz, 2007 Aug 22.
When a register contains illegal bytes, writing viminfo in utf-8 and reading When a register contains illegal bytes, writing viminfo in utf-8 and reading
it back doesn't result in utf-8. (Devin Bayer) it back doesn't result in utf-8. (Devin Bayer)
Command line completion: Scanning for tags doesn't check for typed key now and
then? Hangs for about 5 seconds. Appears to be caused by finding include
files with "foo/**" in 'path'. (Kalisiak, 2006 July 15)
Additional info: When using the |wildcards| ** globing, vim hangs
indefinitely on lots of directories. The |file-searching| globing, like in
":set path=/**" does not hang as often as with globing with |wildcards|, like
in ":1find /**/file". This is for files that unix "find" can find very
quickly. Merging the 2 kinds of globing might make this an easier fix. (Ian
Kelling, 2008 July 4)
When the file name has parenthesis, e.g., "foo (bar).txt", ":!ls '%'" has the When the file name has parenthesis, e.g., "foo (bar).txt", ":!ls '%'" has the
parenthesis escaped but not the space. That's inconsistent. Either escape parenthesis escaped but not the space. That's inconsistent. Either escape
neither or both. No escaping might be best, because it doesn't depend on neither or both. No escaping might be best, because it doesn't depend on
@ -2740,8 +2700,6 @@ Cursor displayed in the wrong position when using 'numberwidth'. (James Vega,
When $VAR contains a backslash expand('$VAR') removes it. (Teemu Likonen, 2008 When $VAR contains a backslash expand('$VAR') removes it. (Teemu Likonen, 2008
Jun 18) Jun 18)
If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
In debug mode, using CTRL-R = to evaluate a function causes stepping through In debug mode, using CTRL-R = to evaluate a function causes stepping through
the function. (Hari Krishna Dara, 2006 Jun 28) the function. (Hari Krishna Dara, 2006 Jun 28)
@ -2850,13 +2808,6 @@ reload it then?
For Aap: include a config.arg.example file with hints how to use config.arg. For Aap: include a config.arg.example file with hints how to use config.arg.
Command line completion when 'cmdheight' is maximum and 'wildmenu' is set,
only one buffer line displayed, causes display errors.
Completing with 'wildmenu' and using <Up> and <Down> to move through directory
tree stops unexpectedly when using ":cd " and entering a directory that
doesn't contain other directories.
Default for 'background' is wrong when using xterm with 256 colors. Default for 'background' is wrong when using xterm with 256 colors.
Table with estimates from Matteo Cavalleri, 2014 Jan 10. Table with estimates from Matteo Cavalleri, 2014 Jan 10.
@ -3538,8 +3489,6 @@ Macintosh:
8 When doing Insert mode completion a mapping cannot recursively call 8 When doing Insert mode completion a mapping cannot recursively call
edit(), because the completion information is global. Put everything in edit(), because the completion information is global. Put everything in
an allocated structure? an allocated structure?
8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
7 mb_off2cells() doesn't work correctly on the tail byte of a double-byte 7 mb_off2cells() doesn't work correctly on the tail byte of a double-byte
character. (Yasuhiro Matsumoto) It should return 1 when used on a tail character. (Yasuhiro Matsumoto) It should return 1 when used on a tail
byte, like for utf-8. Store second byte of double-byte in ScreenLines2[] byte, like for utf-8. Store second byte of double-byte in ScreenLines2[]
@ -4274,8 +4223,6 @@ Syntax highlighting:
7 CTRL-] checks the highlight group for finding out what the tag is. 7 CTRL-] checks the highlight group for finding out what the tag is.
7 Add an explanation how a list of words can be used to highlight misspelled 7 Add an explanation how a list of words can be used to highlight misspelled
words. words.
8 Add more command line completion for :syntax.
8 Add more command line completion for :highlight.
7 Should find a better way to parse the :syntax and :highlight commands. 7 Should find a better way to parse the :syntax and :highlight commands.
Use tables or lists that can be shared by parsing for execution and Use tables or lists that can be shared by parsing for execution and
completion? completion?
@ -5061,6 +5008,35 @@ Command line completion:
- Add 'wildlongest' option: Key to use to find longest common match for - Add 'wildlongest' option: Key to use to find longest common match for
command line completion (default CTRL-L), like 'wildchar'. (Cregut) command line completion (default CTRL-L), like 'wildchar'. (Cregut)
Also: when there are several matches, show them line a CTRL-D. Also: when there are several matches, show them line a CTRL-D.
- With 'wildmode' set to "longest:full,full" and pressing Tab once the first
entry in wildmenu is highlighted, that shouldn't happen. (Yuki Watanabe,
2011 Feb 12)
- After using <Tab> for command line completion after ":ta blah" and getting
E33 (no tags file), further editing the command to e.g., ":echo 'blah'",
the command is not executed. Fix by Ian Kelling?
- Command line completion: Scanning for tags doesn't check for typed key now
and then? Hangs for about 5 seconds. Appears to be caused by finding
include files with "foo/**" in 'path'. (Kalisiak, 2006 July 15)
Additional info: When using the |wildcards| ** globing, vim hangs
indefinitely on lots of directories. The |file-searching| globing, like in
":set path=/**" does not hang as often as with globing with |wildcards|,
like in ":1find /**/file". This is for files that unix "find" can find
very quickly. Merging the 2 kinds of globing might make this an easier
fix. (Ian Kelling, 2008 July 4)
- Command line completion when 'cmdheight' is maximum and 'wildmenu' is set,
only one buffer line displayed, causes display errors.
- Completing with 'wildmenu' and using <Up> and <Down> to move through
directory tree stops unexpectedly when using ":cd " and entering a
directory that doesn't contain other directories.
8 Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
8 Add more command line completion for :syntax.
8 Add more command line completion for :highlight.
- Wildmenu not deleted: "gvim -u NONE", ":set nocp wildmenu cmdheight=3
laststatus=2", CTRL-D CTRL-H CTRL-H CTRL-H. (A.Politz, 2008 April 1) Works
OK with Vim in an xterm.
- If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't
work.
Command line history: Command line history:

View File

@ -1,4 +1,4 @@
*usr_29.txt* For Vim version 8.2. Last change: 2016 Feb 27 *usr_29.txt* For Vim version 8.2. Last change: 2022 Mar 13
VIM USER MANUAL - by Bram Moolenaar VIM USER MANUAL - by Bram Moolenaar
@ -33,10 +33,12 @@ following command: >
ctags *.c ctags *.c
"ctags" is a separate program. Most Unix systems already have it installed. "ctags" is a separate program. Most Unix systems already have it installed.
If you do not have it yet, you can find Exuberant ctags here: If you do not have it yet, you can find Universal/Exuberant ctags at:
http://ctags.io ~
http://ctags.sf.net ~ http://ctags.sf.net ~
Universal ctags is preferred, Exuberant ctags is no longer being developed.
Now when you are in Vim and you want to go to a function definition, you can Now when you are in Vim and you want to go to a function definition, you can
jump to it by using the following command: > jump to it by using the following command: >
@ -142,15 +144,15 @@ ONE TAGS FILE
When Vim has to search many places for tags files, you can hear the disk When Vim has to search many places for tags files, you can hear the disk
rattling. It may get a bit slow. In that case it's better to spend this rattling. It may get a bit slow. In that case it's better to spend this
time while generating one big tags file. You might do this overnight. time while generating one big tags file. You might do this overnight.
This requires the Exuberant ctags program, mentioned above. It offers an This requires the Universal or Exuberant ctags program, mentioned above.
argument to search a whole directory tree: > It offers an argument to search a whole directory tree: >
cd ~/proj cd ~/proj
ctags -R . ctags -R .
The nice thing about this is that Exuberant ctags recognizes various file The nice thing about this is that Universal/Exuberant ctags recognizes various
types. Thus this doesn't work just for C and C++ programs, also for Eiffel file types. Thus this doesn't work just for C and C++ programs, also for
and even Vim scripts. See the ctags documentation to tune this. Eiffel and even Vim scripts. See the ctags documentation to tune this.
Now you only need to tell Vim where your big tags file is: > Now you only need to tell Vim where your big tags file is: >
:set tags=~/proj/tags :set tags=~/proj/tags
@ -232,7 +234,8 @@ A TAGS BROWSER
Since CTRL-] takes you to the definition of the identifier under the cursor, Since CTRL-] takes you to the definition of the identifier under the cursor,
you can use a list of identifier names as a table of contents. Here is an you can use a list of identifier names as a table of contents. Here is an
example. example.
First create a list of identifiers (this requires Exuberant ctags): > First create a list of identifiers (this requires Universal or Exuberant
ctags): >
ctags --c-types=f -f functions *.c ctags --c-types=f -f functions *.c

View File

@ -837,7 +837,7 @@ Files: runtime/tools/ccfilter.c, src/libvterm/src/parser.c,
Patch 8.2.0107 Patch 8.2.0107
Problem: Hgignore is out of sync from gitignore. Problem: Hgignore is out of sync from gitignore.
Solution: Add lines to hgignore. (Ken Takata) Solution: Add lines to hgignore. (Ken Takata)
Files: .hgigmore Files: .hgignore
Patch 8.2.0108 Patch 8.2.0108
Problem: When sign text is changed a manual redraw is needed. (Pontus Problem: When sign text is changed a manual redraw is needed. (Pontus
@ -2474,7 +2474,7 @@ Files: src/testdir/test_hardcopy.vim
Patch 8.2.0367 Patch 8.2.0367
Problem: Can use :pedit in a popup window. Problem: Can use :pedit in a popup window.
Solution: Disallow it. Solution: Disallow it.
Files: src/ex_docmd.c, src/testdir/test_popuwin.vim Files: src/ex_docmd.c, src/testdir/test_popupwin.vim
Patch 8.2.0368 Patch 8.2.0368
Problem: Vim9: import that redefines local variable does not fail. Problem: Vim9: import that redefines local variable does not fail.
@ -2513,7 +2513,7 @@ Patch 8.2.0372
Problem: Prop_find() may not find text property at start of the line. Problem: Prop_find() may not find text property at start of the line.
Solution: Adjust the loop to find properties. (Axel Forsman, closes #5761, Solution: Adjust the loop to find properties. (Axel Forsman, closes #5761,
closes #5663) closes #5663)
Files: src/testprop.c, src/testdir/test_textprop.vim Files: src/textprop.c, src/testdir/test_textprop.vim
Patch 8.2.0373 Patch 8.2.0373
Problem: Type of term_sendkeys() is unknown. Problem: Type of term_sendkeys() is unknown.
@ -3743,7 +3743,7 @@ Patch 8.2.0570
Problem: Vim9: no error when omitting type from argument. Problem: Vim9: no error when omitting type from argument.
Solution: Enforce specifying argument types. Solution: Enforce specifying argument types.
Files: src/userfunc.c, src/ex_eval.c, src/testdir/test_vim9_script.vim, Files: src/userfunc.c, src/ex_eval.c, src/testdir/test_vim9_script.vim,
src/testdir/test_vim9_func.vim, src/testdir/test_vim9_expr.vim src/testdir/test_vim9_func.vim, src/testdir/test_vim9_expr.vim,
src/testdir/test_vim9_disassemble.vim src/testdir/test_vim9_disassemble.vim
Patch 8.2.0571 Patch 8.2.0571
@ -4095,7 +4095,7 @@ Solution: Give error for missing space. Implement :echomsg and :echoerr.
(closes #5670) (closes #5670)
Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/userfunc.c, Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/userfunc.c,
src/eval.c, src/globals.h, src/testdir/test_vim9_func.vim, src/eval.c, src/globals.h, src/testdir/test_vim9_func.vim,
src/testdir/test_vim9_disassemble.vim src/testdir/test_vim9_disassemble.vim,
src/testdir/test_vim9_script.vim src/testdir/test_vim9_script.vim
Patch 8.2.0627 Patch 8.2.0627
@ -5205,8 +5205,9 @@ Problem: Libvterm code lags behind the upstream version.
Solution: Include revision 727, but add the index instead of switching Solution: Include revision 727, but add the index instead of switching
between RGB and indexed. between RGB and indexed.
Files: src/terminal.c, src/term.c, src/libvterm/include/vterm.h, Files: src/terminal.c, src/term.c, src/libvterm/include/vterm.h,
src/libvterm/src/pen.c src/libvterm/src/screen.c src/libvterm/src/pen.c, src/libvterm/src/screen.c,
src/libvterm/src/vterm_internal.h src/libvterm/t/30state_pen.test src/libvterm/src/vterm_internal.h,
src/libvterm/t/30state_pen.test,
src/libvterm/t/harness.c, src/libvterm/src/state.c, src/libvterm/t/harness.c, src/libvterm/src/state.c,
src/libvterm/t/26state_query.test, src/libvterm/t/26state_query.test,
src/libvterm/t/64screen_pen.test src/libvterm/t/64screen_pen.test
@ -5299,7 +5300,7 @@ Files: runtime/doc/vim9.txt, src/vim9script.c, src/structs.h,
src/evalvars.c, src/proto/evalvars.pro, src/vim9compile.c, src/evalvars.c, src/proto/evalvars.pro, src/vim9compile.c,
src/proto/vim9compile.pro, src/vim9execute.c, src/ex_cmds.h, src/proto/vim9compile.pro, src/vim9execute.c, src/ex_cmds.h,
src/ex_docmd.c, src/ex_cmdidxs.h, src/vim.h, src/testdir/vim9.vim, src/ex_docmd.c, src/ex_cmdidxs.h, src/vim.h, src/testdir/vim9.vim,
src/testdir/test_vim9_disassemble.vim src/testdir/test_vim9_disassemble.vim,
src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim
Patch 8.2.0819 Patch 8.2.0819
@ -5667,7 +5668,7 @@ Patch 8.2.0875
Problem: Getting attributes for directory entries is slow. Problem: Getting attributes for directory entries is slow.
Solution: Add readdirex(). (Ken Takata, closes #5619) Solution: Add readdirex(). (Ken Takata, closes #5619)
Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c,
src/fileio.c, src/filepath.c src/proto/fileio.pro, src/fileio.c, src/filepath.c, src/proto/fileio.pro,
src/proto/filepath.pro, src/testdir/test_functions.vim src/proto/filepath.pro, src/testdir/test_functions.vim
Patch 8.2.0876 Patch 8.2.0876
@ -6292,7 +6293,7 @@ Patch 8.2.0981
Problem: Vim9: cannot compile "[var, var] = list". Problem: Vim9: cannot compile "[var, var] = list".
Solution: Implement list assignment. Solution: Implement list assignment.
Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/evalvars.c, Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/evalvars.c,
src/proto/evalvars.pro src/eval.c, src/testdir/test_vim9_script.vim src/proto/evalvars.pro, src/eval.c, src/testdir/test_vim9_script.vim
Patch 8.2.0982 Patch 8.2.0982
Problem: Insufficient testing for reading/writing files. Problem: Insufficient testing for reading/writing files.
@ -6335,7 +6336,7 @@ Files: runtime/doc/eval.txt, runtime/doc/mlang.txt, src/auto/configure,
src/cmdexpand.c, src/config.h.in, src/configure.ac, src/cmdexpand.c, src/config.h.in, src/configure.ac,
src/evalfunc.c, src/evalvars.c, src/ex_cmds2.c, src/fileio.c, src/evalfunc.c, src/evalvars.c, src/ex_cmds2.c, src/fileio.c,
src/filepath.c, src/globals.h, src/proto/fileio.pro, src/filepath.c, src/globals.h, src/proto/fileio.pro,
src/testdir/test_cmdline.vim, src/testdir/test_functions.vim src/testdir/test_cmdline.vim, src/testdir/test_functions.vim,
src/vim.h src/vim.h
Patch 8.2.0989 Patch 8.2.0989
@ -9545,7 +9546,7 @@ Patch 8.2.1518
Problem: Vim9: cannot assign to local option. Problem: Vim9: cannot assign to local option.
Solution: Skip over "&l:" and "&g:". (closes #6749) Solution: Skip over "&l:" and "&g:". (closes #6749)
Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/testdir/vim9.vim, Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/testdir/vim9.vim,
src/vim9compile.c src/testdir/test_vim9_script.vim src/vim9compile.c, src/testdir/test_vim9_script.vim
Patch 8.2.1519 Patch 8.2.1519
Problem: Vim9: Ex command default range is not set. Problem: Vim9: Ex command default range is not set.
@ -11740,7 +11741,7 @@ Files: src/structs.h, src/ex_docmd.c, src/proto/ex_docmd.pro,
Patch 8.2.1898 Patch 8.2.1898
Problem: Command modifier parsing always uses global cmdmod. Problem: Command modifier parsing always uses global cmdmod.
Solution: Pass in cmdmod_T to use. Rename struct fields consistently. Solution: Pass in cmdmod_T to use. Rename struct fields consistently.
Files: src/structs.h, src/arglist.c src/buffer.c, src/bufwrite.c, Files: src/structs.h, src/arglist.c, src/buffer.c, src/bufwrite.c,
src/diff.c, src/change.c, src/cmdhist.c, src/edit.c, src/diff.c, src/change.c, src/cmdhist.c, src/edit.c,
src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c,
src/fileio.c, src/filepath.c, src/gui.c, src/gui_gtk_x11.c, src/fileio.c, src/filepath.c, src/gui.c, src/gui_gtk_x11.c,
@ -13549,7 +13550,7 @@ Patch 8.2.2209
Problem: Vim9: return type of => lambda not parsed. Problem: Vim9: return type of => lambda not parsed.
Solution: Parse and use the return type. Solution: Parse and use the return type.
Files: src/vim9compile.c, src/userfunc.c, src/vim9type.c, Files: src/vim9compile.c, src/userfunc.c, src/vim9type.c,
src/proto/vim9type.pro, src/vim9script.c, src/eval.c src/proto/vim9type.pro, src/vim9script.c, src/eval.c,
src/testdir/test_vim9_expr.vim src/testdir/test_vim9_expr.vim
Patch 8.2.2210 Patch 8.2.2210
@ -15482,7 +15483,7 @@ Problem: Vim9: cannot use a range with :unlet.
Solution: Implement ISN_UNLETRANGE. Solution: Implement ISN_UNLETRANGE.
Files: src/errors.h, src/eval.c, src/evalvars.c, src/list.c, Files: src/errors.h, src/eval.c, src/evalvars.c, src/list.c,
src/proto/evalvars.pro, src/proto/list.pro, src/vim9.h, src/proto/evalvars.pro, src/proto/list.pro, src/vim9.h,
src/vim9compile.c, src/vim9execute.c src/vim9compile.c, src/vim9execute.c,
src/testdir/test_vim9_assign.vim src/testdir/test_vim9_assign.vim
Patch 8.2.2534 Patch 8.2.2534
@ -17936,7 +17937,7 @@ Patch 8.2.2957
Problem: Using getchar() in Vim9 script is problematic. Problem: Using getchar() in Vim9 script is problematic.
Solution: Add getcharstr(). (closes #8343) Solution: Add getcharstr(). (closes #8343)
Files: runtime/doc/eval.txt, src/evalfunc.c, src/getchar.c, Files: runtime/doc/eval.txt, src/evalfunc.c, src/getchar.c,
src/proto/getchar.pro, src/testdir/test_getchar.vim src/proto/getchar.pro, src/testdir/test_functions.vim
Patch 8.2.2958 (after 8.2.2957) Patch 8.2.2958 (after 8.2.2957)
Problem: Function list test fails. Problem: Function list test fails.
@ -18849,7 +18850,7 @@ Solution: Use eval().
Files: src/testdir/check.vim Files: src/testdir/check.vim
Patch 8.2.3110 Patch 8.2.3110
Problem: A pattern that matches the cursor position is bit complicated. Problem: A pattern that matches the cursor position is a bit complicated.
Solution: Use a dot to indicate the cursor line and column. (Christian Solution: Use a dot to indicate the cursor line and column. (Christian
Brabandt, closes #8497, closes #8179) Brabandt, closes #8497, closes #8179)
Files: runtime/doc/pattern.txt, src/errors.h, src/regexp_bt.c, Files: runtime/doc/pattern.txt, src/errors.h, src/regexp_bt.c,
@ -18864,7 +18865,7 @@ Patch 8.2.3112 (after 8.2.3090)
Problem: With concealing enabled and indirectly closing a fold the cursor Problem: With concealing enabled and indirectly closing a fold the cursor
may be somewhere in a folded line when it is not on the first line may be somewhere in a folded line when it is not on the first line
of the fold. of the fold.
Solution: Check if he cursor is somewhere in the folded text. Solution: Check if the cursor is somewhere in the folded text.
Files: src/drawscreen.c Files: src/drawscreen.c
Patch 8.2.3113 Patch 8.2.3113
@ -23950,7 +23951,7 @@ Patch 8.2.3957
Problem: Error messages are spread out. Problem: Error messages are spread out.
Solution: Move more errors to errors.h. Solution: Move more errors to errors.h.
Files: src/errors.h, src/globals.h, src/arglist.c, src/bufwrite.c, Files: src/errors.h, src/globals.h, src/arglist.c, src/bufwrite.c,
src/evalvars.c, src/ex_cmds2.c, src/ex_docmd.c src/ex_eval.c, src/evalvars.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c,
src/help.c, src/scriptfile.c, src/usercmd.c, src/userfunc.c, src/help.c, src/scriptfile.c, src/usercmd.c, src/userfunc.c,
src/vim9cmds.c, src/vim9compile.c src/vim9cmds.c, src/vim9compile.c
@ -23975,7 +23976,7 @@ Files: src/errors.h, src/alloc.c, src/arglist.c, src/autocmd.c,
Patch 8.2.3961 Patch 8.2.3961
Problem: Error messages are spread out. Problem: Error messages are spread out.
Solution: Move more errors to errors.h. Solution: Move more errors to errors.h.
Files: src/errors.h, src/globals.h src/arglist.c, src/autocmd.c, Files: src/errors.h, src/globals.h, src/arglist.c, src/autocmd.c,
src/blob.c, src/bufwrite.c, src/channel.c, src/clipboard.c, src/blob.c, src/bufwrite.c, src/channel.c, src/clipboard.c,
src/cmdexpand.c, src/debugger.c, src/dict.c, src/eval.c, src/cmdexpand.c, src/debugger.c, src/dict.c, src/eval.c,
src/evalfunc.c, src/evalvars.c, src/evalwindow.c, src/ex_cmds.c, src/evalfunc.c, src/evalvars.c, src/evalwindow.c, src/ex_cmds.c,
@ -24494,7 +24495,7 @@ Files: src/time.c
Patch 8.2.4036 Patch 8.2.4036
Problem: Vim9: script test file is getting too long. Problem: Vim9: script test file is getting too long.
Solution: Split the import/export functionality to a separate file. Solution: Split the import/export functionality to a separate file.
Files: src/testdir/test_vim9_script.vim src/testdir/test_vim9_import.vim, Files: src/testdir/test_vim9_script.vim, src/testdir/test_vim9_import.vim,
src/testdir/Make_all.mak src/testdir/Make_all.mak
Patch 8.2.4037 Patch 8.2.4037
@ -25853,7 +25854,7 @@ Patch 8.2.4265 (after 8.2.4264)
Problem: Autoload tests fails. Problem: Autoload tests fails.
Solution: Use export instead of name with #. Solution: Use export instead of name with #.
Files: src/testdir/sautest/autoload/auto9.vim, Files: src/testdir/sautest/autoload/auto9.vim,
src/testdir/test_autoload.vim src/testdir/test_ins_complete.vim src/testdir/test_autoload.vim, src/testdir/test_ins_complete.vim
Patch 8.2.4266 Patch 8.2.4266
Problem: Compiler warning for uninitialized variable. Problem: Compiler warning for uninitialized variable.

View File

@ -1,4 +1,4 @@
*vim9.txt* For Vim version 8.2. Last change: 2022 Mar 08 *vim9.txt* For Vim version 8.2. Last change: 2022 Mar 18
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -995,6 +995,11 @@ The values can also be useful as the default value for an argument: >
if b == null_blob if b == null_blob
# b argument was not given # b argument was not given
It is possible to compare `null` with any value, this will not give a type
error. However, comparing `null` with a number, float or bool will always
result in `false`. This is different from legacy script, where comparing
`null` with zero or `false` would return `true`.
When converting a boolean to a string `false` and `true` are used, not When converting a boolean to a string `false` and `true` are used, not
`v:false` and `v:true` like in legacy script. `v:none` has no `none` `v:false` and `v:true` like in legacy script. `v:none` has no `none`
replacement, it has no equivalent in other languages. replacement, it has no equivalent in other languages.
@ -1234,6 +1239,11 @@ Closures defined in a loop will share the same context. For example: >
endfor endfor
echo range(5)->map((i, _) => flist[i]()) echo range(5)->map((i, _) => flist[i]())
# Result: [4, 4, 4, 4, 4] # Result: [4, 4, 4, 4, 4]
< *E1271*
A closure must be compiled in the context that it is defined in, so that
variables in that context can be found. This mostly happens correctly, except
when a function is marked for debugging with `breakadd` after it was compiled.
Make sure the define the breakpoint before compiling the outerh function.
The "inloop" variable will exist only once, all closures put in the list refer The "inloop" variable will exist only once, all closures put in the list refer
to the same instance, which in the end will have the value 4. This is to the same instance, which in the end will have the value 4. This is
@ -1739,7 +1749,8 @@ actually needed. Using the autoload mechanism is recommended:
prefix is obtained from the file name, as you would to manually in a prefix is obtained from the file name, as you would to manually in a
legacy autoload script. Thus the exported function can be found with legacy autoload script. Thus the exported function can be found with
"for#search#Stuff", but you would normally use `import autoload` and not "for#search#Stuff", but you would normally use `import autoload` and not
use the prefix. use the prefix (which has the side effect of loading the autoload script
when compiling a function that encounters this name).
You can split up the functionality and import other scripts from the You can split up the functionality and import other scripts from the
autoload script as you like. This way you can share code between plugins. autoload script as you like. This way you can share code between plugins.
@ -1751,7 +1762,17 @@ script context of where the mapping was defined.
When compiling a `:def` function and a function in an autoload script is When compiling a `:def` function and a function in an autoload script is
encountered, the script is not loaded until the `:def` function is called. encountered, the script is not loaded until the `:def` function is called.
This also means you get any errors only at runtime, since the argument and This also means you get any errors only at runtime, since the argument and
return types are not known yet. return types are not known yet. If you would use the name with '#' characters
then the autoload script IS loaded.
Be careful to not refer to an item in an autoload script that does trigger
loading it unintentionally. For example, when setting an option that takes a
function name, make sure to use a string, not a function reference: >
import autoload 'qftf.vim'
&quickfixtextfunc = 'qftf.Func' # autoload script NOT loaded
&quickfixtextfunc = qftf.Func # autoload script IS loaded
On the other hand, it can be useful to load the script early, at a time when
any errors should be given.
For testing the |test_override()| function can be used to have the For testing the |test_override()| function can be used to have the
`import autoload` load the script right away, so that the items and types can `import autoload` load the script right away, so that the items and types can

View File

@ -1,7 +1,7 @@
" Vim filetype plugin " Vim filetype plugin
" Language: Liquid " Language: Liquid
" Maintainer: Tim Pope <vimNOSPAM@tpope.org> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2010 May 21 " Last Change: 2022 Mar 15
if exists('b:did_ftplugin') if exists('b:did_ftplugin')
finish finish
@ -53,7 +53,7 @@ if has('gui_win32')
endif endif
if exists('loaded_matchit') if exists('loaded_matchit')
let b:match_words .= '\<\%(if\w*\|unless\|case\)\>:\<\%(elsif\|else\|when\)\>:\<end\%(if\w*\|unless\|case\)\>,\<\%(for\|tablerow\)\>:\%({%\s*\)\@<=empty\>:\<end\%(for\|tablerow\)\>,<\(capture\|comment\|highlight\)\>:\<end\1\>' let b:match_words .= '\<\%(if\w*\|unless\|case\)\>:\<\%(elsif\|else\|when\)\>:\<end\%(if\w*\|unless\|case\)\>,\<\%(for\|tablerow\)\>:\%({%\s*\)\@<=empty\>:\<end\%(for\|tablerow\)\>,\<\(capture\|comment\|highlight\)\>:\<end\1\>'
endif endif
setlocal commentstring={%\ comment\ %}%s{%\ endcomment\ %} setlocal commentstring={%\ comment\ %}%s{%\ endcomment\ %}

View File

@ -73,10 +73,11 @@ exe 'nno <buffer> <silent> ]] /' . escape(s:section, '|') . '/<CR>:nohls<CR>'
exe 'ono <buffer> <silent> [[ ?' . escape(s:section, '|') . '?<CR>:nohls<CR>' exe 'ono <buffer> <silent> [[ ?' . escape(s:section, '|') . '?<CR>:nohls<CR>'
exe 'ono <buffer> <silent> ]] /' . escape(s:section, '|') . '/<CR>:nohls<CR>' exe 'ono <buffer> <silent> ]] /' . escape(s:section, '|') . '/<CR>:nohls<CR>'
setlocal suffixesadd=.php
setlocal commentstring=/*%s*/ setlocal commentstring=/*%s*/
" Undo the stuff we changed. " Undo the stuff we changed.
let b:undo_ftplugin = "setlocal commentstring< include< omnifunc<" . let b:undo_ftplugin = "setlocal suffixesadd< commentstring< include< omnifunc<" .
\ " | unlet! b:browsefilter b:match_words | " . \ " | unlet! b:browsefilter b:match_words | " .
\ s:undo_ftplugin \ s:undo_ftplugin

View File

@ -2,6 +2,7 @@
# Edit the src/po/gvim.desktop.in file instead. # Edit the src/po/gvim.desktop.in file instead.
[Desktop Entry] [Desktop Entry]
# Translators: This is the Application Name used in the GVim desktop file # Translators: This is the Application Name used in the GVim desktop file
Name[ca]=GVim
Name[de]=GVim Name[de]=GVim
Name[eo]=GVim Name[eo]=GVim
Name[fi]=GVim Name[fi]=GVim
@ -13,6 +14,7 @@ Name[sr]=GVim
Name[tr]=GVim Name[tr]=GVim
Name=GVim Name=GVim
# Translators: This is the Generic Application Name used in the Vim desktop file # Translators: This is the Generic Application Name used in the Vim desktop file
GenericName[ca]=Editor de text
GenericName[de]=Texteditor GenericName[de]=Texteditor
GenericName[eo]=Tekstoredaktilo GenericName[eo]=Tekstoredaktilo
GenericName[fi]=Tekstinmuokkain GenericName[fi]=Tekstinmuokkain
@ -25,6 +27,7 @@ GenericName[sr]=Едитор текст
GenericName[tr]=Metin Düzenleyici GenericName[tr]=Metin Düzenleyici
GenericName=Text Editor GenericName=Text Editor
# Translators: This is the comment used in the Vim desktop file # Translators: This is the comment used in the Vim desktop file
Comment[ca]=Edita fitxers de text
Comment[de]=Textdateien bearbeiten Comment[de]=Textdateien bearbeiten
Comment[eo]=Redakti tekstajn dosierojn Comment[eo]=Redakti tekstajn dosierojn
Comment[fi]=Muokkaa tekstitiedostoja Comment[fi]=Muokkaa tekstitiedostoja
@ -49,7 +52,6 @@ Comment[be]=Рэдагаваньне тэкставых файлаў
Comment[bg]=Редактиране на текстови файлове Comment[bg]=Редактиране на текстови файлове
Comment[bn]= ি Comment[bn]= ি
Comment[bs]=Izmijeni tekstualne datoteke Comment[bs]=Izmijeni tekstualne datoteke
Comment[ca]=Edita fitxers de text
Comment[cs]=Úprava textových souborů Comment[cs]=Úprava textových souborů
Comment[cy]=Golygu ffeiliau testun Comment[cy]=Golygu ffeiliau testun
Comment[da]=Rediger tekstfiler Comment[da]=Rediger tekstfiler
@ -105,6 +107,7 @@ Exec=gvim -f %F
Terminal=false Terminal=false
Type=Application Type=Application
# Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon! # Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon!
Keywords[ca]=Text;editor;
Keywords[de]=Text;Editor; Keywords[de]=Text;Editor;
Keywords[eo]=Teksto;redaktilo; Keywords[eo]=Teksto;redaktilo;
Keywords[fi]=Teksti;muokkain;editori; Keywords[fi]=Teksti;muokkain;editori;

View File

@ -1,20 +1,18 @@
" Vim indent file " Vim indent file
" Language: bst " Language: bst
" Author: Tim Pope <vimNOSPAM@tpope.info> " Author: Tim Pope <vimNOSPAM@tpope.info>
" $Id: bst.vim,v 1.1 2007/05/05 18:11:12 vimboss Exp $ " Last Change: 2022 Mar 15
if exists("b:did_indent") if exists("b:did_indent")
finish finish
endif endif
let b:did_indent = 1 let b:did_indent = 1
setlocal expandtab
setlocal indentexpr=GetBstIndent(v:lnum) setlocal indentexpr=GetBstIndent(v:lnum)
"setlocal smartindent
setlocal cinkeys& setlocal cinkeys&
setlocal cinkeys-=0# setlocal cinkeys-=0#
setlocal indentkeys& setlocal indentkeys&
"setlocal indentkeys+=0% let b:undo_indent = 'setlocal indentexpr< cinkeys< indentkeys<'
" Only define the function once. " Only define the function once.
if exists("*GetBstIndent") if exists("*GetBstIndent")

View File

@ -1,7 +1,7 @@
" Vim indent file " Vim indent file
" Language: Haml " Language: Haml
" Maintainer: Tim Pope <vimNOSPAM@tpope.org> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2019 Dec 05 " Last Change: 2022 Mar 15
if exists("b:did_indent") if exists("b:did_indent")
finish finish
@ -14,6 +14,8 @@ setlocal autoindent
setlocal indentexpr=GetHamlIndent() setlocal indentexpr=GetHamlIndent()
setlocal indentkeys=o,O,*<Return>,},],0),!^F,=end,=else,=elsif,=rescue,=ensure,=when setlocal indentkeys=o,O,*<Return>,},],0),!^F,=end,=else,=elsif,=rescue,=ensure,=when
let b:undo_indent = "setl ai< inde< indk<"
" Only define the function once. " Only define the function once.
if exists("*GetHamlIndent") if exists("*GetHamlIndent")
finish finish

View File

@ -1,7 +1,7 @@
" Vim indent file " Vim indent file
" Language: Liquid " Language: Liquid
" Maintainer: Tim Pope <vimNOSPAM@tpope.org> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2017 Jun 13 " Last Change: 2022 Mar 15
if exists('b:did_indent') if exists('b:did_indent')
finish finish
@ -29,17 +29,19 @@ let b:did_indent = 1
setlocal indentexpr=GetLiquidIndent() setlocal indentexpr=GetLiquidIndent()
setlocal indentkeys=o,O,*<Return>,<>>,{,},0),0],o,O,!^F,=end,=endif,=endunless,=endifchanged,=endcase,=endfor,=endtablerow,=endcapture,=else,=elsif,=when,=empty setlocal indentkeys=o,O,*<Return>,<>>,{,},0),0],o,O,!^F,=end,=endif,=endunless,=endifchanged,=endcase,=endfor,=endtablerow,=endcapture,=else,=elsif,=when,=empty
let b:undo_indent = "setl inde< indk<"
" Only define the function once. " Only define the function once.
if exists('*GetLiquidIndent') if exists('*GetLiquidIndent')
finish finish
endif endif
function! s:count(string,pattern) function! s:count(string, pattern) abort
let string = substitute(a:string,'\C'.a:pattern,"\n",'g') let string = substitute(a:string,'\C'.a:pattern,"\n",'g')
return strlen(substitute(string,"[^\n]",'','g')) return strlen(substitute(string,"[^\n]",'','g'))
endfunction endfunction
function! GetLiquidIndent(...) function! GetLiquidIndent(...) abort
if a:0 && a:1 == '.' if a:0 && a:1 == '.'
let v:lnum = line('.') let v:lnum = line('.')
elseif a:0 && a:1 =~ '^\d' elseif a:0 && a:1 =~ '^\d'
@ -51,13 +53,14 @@ function! GetLiquidIndent(...)
let lnum = prevnonblank(v:lnum-1) let lnum = prevnonblank(v:lnum-1)
let line = getline(lnum) let line = getline(lnum)
let cline = getline(v:lnum) let cline = getline(v:lnum)
let line = substitute(line,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','') let line = substitute(line,'\C^\%(\s*{%-\=\s*end\w*\s*-\=%}\)\+','','')
let line .= matchstr(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+') let line = substitute(line,'\C\%(\s*{%-\=\s*if.\+-\=%}.\+{%-\=\s*endif\s*-\=%}\)\+','','g')
let cline = substitute(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','') let line .= matchstr(cline,'\C^\%(\s*{%-\=\s*end\w*\s*-\=%}\)\+')
let cline = substitute(cline,'\C^\%(\s*{%-\=\s*end\w*\s*-\=%}\)\+','','')
let sw = shiftwidth() let sw = shiftwidth()
let ind += sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|empty\|tablerow\|capture\)\>') let ind += sw * s:count(line,'{%-\=\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|empty\|tablerow\|capture\)\>')
let ind -= sw * s:count(line,'{%\s*end\%(if\|unless\|ifchanged\|case\|for\|tablerow\|capture\)\>') let ind -= sw * s:count(line,'{%-\=\s*end\%(if\|unless\|ifchanged\|case\|for\|tablerow\|capture\)\>')
let ind -= sw * s:count(cline,'{%\s*\%(elsif\|else\|when\|empty\)\>') let ind -= sw * s:count(cline,'{%-\=\s*\%(elsif\|else\|when\|empty\)\>')
let ind -= sw * s:count(cline,'{%\s*end\w*$') let ind -= sw * s:count(cline,'{%-\=\s*end\w*$')
return ind return ind
endfunction endfunction

View File

@ -1,7 +1,7 @@
" Vim indent file " Vim indent file
" Language: Sass " Language: Sass
" Maintainer: Tim Pope <vimNOSPAM@tpope.org> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2017 Jun 13 " Last Change: 2022 Mar 15
if exists("b:did_indent") if exists("b:did_indent")
finish finish
@ -12,6 +12,8 @@ setlocal autoindent sw=2 et
setlocal indentexpr=GetSassIndent() setlocal indentexpr=GetSassIndent()
setlocal indentkeys=o,O,*<Return>,<:>,!^F setlocal indentkeys=o,O,*<Return>,<:>,!^F
let b:undo_indent = "setl ai< inde< indk<"
" Only define the function once. " Only define the function once.
if exists("*GetSassIndent") if exists("*GetSassIndent")
finish finish

View File

@ -4,10 +4,11 @@
" Copyright: Vim license applies, see ":help license" " Copyright: Vim license applies, see ":help license"
" Last Change: 2022 Jan 17 " Last Change: 2022 Jan 17
" "
" WORK IN PROGRESS - Only the basics work " WORK IN PROGRESS - The basics works stable, more to come
" Note: On MS-Windows you need a recent version of gdb. The one included with " Note: In general you need at least GDB 7.12 because this provides the
" MingW is too old (7.6.1). " frame= response in MI thread-selected events we need to sync stack to file.
" I used version 7.12 from http://www.equation.com/servlet/equation.cmd?fa=gdb " The one included with "old" MingW is too old (7.6.1), you may upgrade it or
" use a newer version from http://www.equation.com/servlet/equation.cmd?fa=gdb
" "
" There are two ways to run gdb: " There are two ways to run gdb:
" - In a terminal window; used if possible, does not work on MS-Windows " - In a terminal window; used if possible, does not work on MS-Windows
@ -313,7 +314,7 @@ func s:StartDebug_term(dict)
let response = line1 . line2 let response = line1 . line2
if response =~ 'Undefined command' if response =~ 'Undefined command'
echoerr 'Sorry, your gdb is too old, gdb 7.12 is required' echoerr 'Sorry, your gdb is too old, gdb 7.12 is required'
" CHECKME: possibly send a "server show version" here " CHECKME: possibly send a "server show version" here
call s:CloseBuffers() call s:CloseBuffers()
return return
endif endif
@ -662,8 +663,8 @@ func s:EndDebugCommon()
if bufexists(bufnr) if bufexists(bufnr)
exe bufnr .. "buf" exe bufnr .. "buf"
if exists('b:save_signcolumn') if exists('b:save_signcolumn')
let &signcolumn = b:save_signcolumn let &signcolumn = b:save_signcolumn
unlet b:save_signcolumn unlet b:save_signcolumn
endif endif
endif endif
endfor endfor
@ -739,8 +740,8 @@ func s:HandleDisasmMsg(msg)
let lnum = search('^' . s:asm_addr) let lnum = search('^' . s:asm_addr)
if lnum != 0 if lnum != 0
exe 'sign unplace ' . s:asm_id exe 'sign unplace ' . s:asm_id
exe 'sign place ' . s:asm_id . ' line=' . lnum . ' name=debugPC' exe 'sign place ' . s:asm_id . ' line=' . lnum . ' name=debugPC'
endif endif
call win_gotoid(curwinid) call win_gotoid(curwinid)
@ -789,22 +790,22 @@ func s:CommOutput(chan, msg)
call s:HandleDisasmMsg(msg) call s:HandleDisasmMsg(msg)
elseif msg != '' elseif msg != ''
if msg =~ '^\(\*stopped\|\*running\|=thread-selected\)' if msg =~ '^\(\*stopped\|\*running\|=thread-selected\)'
call s:HandleCursor(msg) call s:HandleCursor(msg)
elseif msg =~ '^\^done,bkpt=' || msg =~ '^=breakpoint-created,' elseif msg =~ '^\^done,bkpt=' || msg =~ '^=breakpoint-created,'
call s:HandleNewBreakpoint(msg, 0) call s:HandleNewBreakpoint(msg, 0)
elseif msg =~ '^=breakpoint-modified,' elseif msg =~ '^=breakpoint-modified,'
call s:HandleNewBreakpoint(msg, 1) call s:HandleNewBreakpoint(msg, 1)
elseif msg =~ '^=breakpoint-deleted,' elseif msg =~ '^=breakpoint-deleted,'
call s:HandleBreakpointDelete(msg) call s:HandleBreakpointDelete(msg)
elseif msg =~ '^=thread-group-started' elseif msg =~ '^=thread-group-started'
call s:HandleProgramRun(msg) call s:HandleProgramRun(msg)
elseif msg =~ '^\^done,value=' elseif msg =~ '^\^done,value='
call s:HandleEvaluate(msg) call s:HandleEvaluate(msg)
elseif msg =~ '^\^error,msg=' elseif msg =~ '^\^error,msg='
call s:HandleError(msg) call s:HandleError(msg)
elseif msg =~ '^disassemble' elseif msg =~ '^disassemble'
let s:parsing_disasm_msg = 1 let s:parsing_disasm_msg = 1
let s:asm_lines = [] let s:asm_lines = []
endif endif
endif endif
endfor endfor
@ -986,22 +987,22 @@ func s:ClearBreakpoint()
let nr = 0 let nr = 0
for id in s:breakpoint_locations[bploc] for id in s:breakpoint_locations[bploc]
if has_key(s:breakpoints, id) if has_key(s:breakpoints, id)
" Assume this always works, the reply is simply "^done". " Assume this always works, the reply is simply "^done".
call s:SendCommand('-break-delete ' . id) call s:SendCommand('-break-delete ' . id)
for subid in keys(s:breakpoints[id]) for subid in keys(s:breakpoints[id])
exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid) exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid)
endfor endfor
unlet s:breakpoints[id] unlet s:breakpoints[id]
unlet s:breakpoint_locations[bploc][idx] unlet s:breakpoint_locations[bploc][idx]
let nr = id let nr = id
break break
else else
let idx += 1 let idx += 1
endif endif
endfor endfor
if nr != 0 if nr != 0
if empty(s:breakpoint_locations[bploc]) if empty(s:breakpoint_locations[bploc])
unlet s:breakpoint_locations[bploc] unlet s:breakpoint_locations[bploc]
endif endif
echomsg 'Breakpoint ' . id . ' cleared from line ' . lnum . '.' echomsg 'Breakpoint ' . id . ' cleared from line ' . lnum . '.'
else else
@ -1192,7 +1193,7 @@ func s:GotoAsmwinOrCreateIt()
if exists('g:termdebug_disasm_window') if exists('g:termdebug_disasm_window')
if g:termdebug_disasm_window > 1 if g:termdebug_disasm_window > 1
exe 'resize ' . g:termdebug_disasm_window exe 'resize ' . g:termdebug_disasm_window
endif endif
endif endif
endif endif
@ -1201,7 +1202,7 @@ func s:GotoAsmwinOrCreateIt()
let lnum = search('^' . s:asm_addr) let lnum = search('^' . s:asm_addr)
if lnum == 0 if lnum == 0
if s:stopped if s:stopped
call s:SendCommand('disassemble $pc') call s:SendCommand('disassemble $pc')
endif endif
else else
exe 'sign unplace ' . s:asm_id exe 'sign unplace ' . s:asm_id
@ -1236,15 +1237,15 @@ func s:HandleCursor(msg)
let curwinid = win_getid(winnr()) let curwinid = win_getid(winnr())
if win_gotoid(s:asmwin) if win_gotoid(s:asmwin)
let lnum = search('^' . s:asm_addr) let lnum = search('^' . s:asm_addr)
if lnum == 0 if lnum == 0
call s:SendCommand('disassemble $pc') call s:SendCommand('disassemble $pc')
else else
exe 'sign unplace ' . s:asm_id exe 'sign unplace ' . s:asm_id
exe 'sign place ' . s:asm_id . ' line=' . lnum . ' name=debugPC' exe 'sign place ' . s:asm_id . ' line=' . lnum . ' name=debugPC'
endif endif
call win_gotoid(curwinid) call win_gotoid(curwinid)
endif endif
endif endif
endif endif
@ -1263,26 +1264,26 @@ echomsg 'different fname: "' .. expand('%:p') .. '" vs "' .. fnamemodify(fname,
\ | echo 'Warning: file is being edited elsewhere' \ | echo 'Warning: file is being edited elsewhere'
\ | echohl None \ | echohl None
\ | let v:swapchoice = '0' \ | let v:swapchoice = '0'
augroup END augroup END
if &modified if &modified
" TODO: find existing window " TODO: find existing window
exe 'split ' . fnameescape(fname) exe 'split ' . fnameescape(fname)
let s:sourcewin = win_getid(winnr()) let s:sourcewin = win_getid(winnr())
call s:InstallWinbar() call s:InstallWinbar()
else else
exe 'edit ' . fnameescape(fname) exe 'edit ' . fnameescape(fname)
endif endif
augroup Termdebug augroup Termdebug
au! SwapExists au! SwapExists
augroup END augroup END
endif endif
exe lnum exe lnum
normal! zv normal! zv
exe 'sign unplace ' . s:pc_id exe 'sign unplace ' . s:pc_id
exe 'sign place ' . s:pc_id . ' line=' . lnum . ' name=debugPC priority=110 file=' . fname exe 'sign place ' . s:pc_id . ' line=' . lnum . ' name=debugPC priority=110 file=' . fname
if !exists('b:save_signcolumn') if !exists('b:save_signcolumn')
let b:save_signcolumn = &signcolumn let b:save_signcolumn = &signcolumn
call add(s:signcolumn_buflist, bufnr()) call add(s:signcolumn_buflist, bufnr())
endif endif
setlocal signcolumn=yes setlocal signcolumn=yes
endif endif
@ -1396,8 +1397,8 @@ func s:HandleBreakpointDelete(msg)
if has_key(s:breakpoints, id) if has_key(s:breakpoints, id)
for [subid, entry] in items(s:breakpoints[id]) for [subid, entry] in items(s:breakpoints[id])
if has_key(entry, 'placed') if has_key(entry, 'placed')
exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid) exe 'sign unplace ' . s:Breakpoint2SignNumber(id, subid)
unlet entry['placed'] unlet entry['placed']
endif endif
endfor endfor
unlet s:breakpoints[id] unlet s:breakpoints[id]
@ -1422,7 +1423,7 @@ func s:BufRead()
for [id, entries] in items(s:breakpoints) for [id, entries] in items(s:breakpoints)
for [subid, entry] in items(entries) for [subid, entry] in items(entries)
if entry['fname'] == fname if entry['fname'] == fname
call s:PlaceSign(id, subid, entry) call s:PlaceSign(id, subid, entry)
endif endif
endfor endfor
endfor endfor
@ -1434,7 +1435,7 @@ func s:BufUnloaded()
for [id, entries] in items(s:breakpoints) for [id, entries] in items(s:breakpoints)
for [subid, entry] in items(entries) for [subid, entry] in items(entries)
if entry['fname'] == fname if entry['fname'] == fname
let entry['placed'] = 0 let entry['placed'] = 0
endif endif
endfor endfor
endfor endfor

View File

@ -1,7 +1,7 @@
" Vim syntax file " Vim syntax file
" Language: C " Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2021 Dec 07 " Last Change: 2022 Mar 17
" Quit when a (custom) syntax file was already loaded " Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax") if exists("b:current_syntax")
@ -245,8 +245,14 @@ syn match cWrongComTail display "\*/"
syn keyword cOperator sizeof syn keyword cOperator sizeof
if exists("c_gnu") if exists("c_gnu")
syn keyword cType __label__ __complex__
syn keyword cStatement __asm__ syn keyword cStatement __asm__
syn keyword cOperator typeof __real__ __imag__ syn keyword cOperator __alignof__
syn keyword cOperator typeof __typeof__
syn keyword cOperator __real__ __imag__
syn keyword cStorageClass __attribute__ __const__ __extension__
syn keyword cStorageClass inline __inline__
syn keyword cStorageClass __restrict__ __volatile__ __noreturn__
endif endif
syn keyword cType int long short char void syn keyword cType int long short char void
syn keyword cType signed unsigned float double syn keyword cType signed unsigned float double
@ -270,16 +276,10 @@ if !exists("c_no_c99") " ISO C99
syn keyword cType intptr_t uintptr_t syn keyword cType intptr_t uintptr_t
syn keyword cType intmax_t uintmax_t syn keyword cType intmax_t uintmax_t
endif endif
if exists("c_gnu")
syn keyword cType __label__ __complex__ __volatile__
endif
syn keyword cTypedef typedef syn keyword cTypedef typedef
syn keyword cStructure struct union enum syn keyword cStructure struct union enum
syn keyword cStorageClass static register auto volatile extern const syn keyword cStorageClass static register auto volatile extern const
if exists("c_gnu")
syn keyword cStorageClass inline __attribute__
endif
if !exists("c_no_c99") && !s:in_cpp_family if !exists("c_no_c99") && !s:in_cpp_family
syn keyword cStorageClass inline restrict syn keyword cStorageClass inline restrict
endif endif
@ -292,6 +292,7 @@ if !exists("c_no_c11")
syn keyword cOperator _Static_assert static_assert syn keyword cOperator _Static_assert static_assert
syn keyword cStorageClass _Thread_local thread_local syn keyword cStorageClass _Thread_local thread_local
syn keyword cType char16_t char32_t syn keyword cType char16_t char32_t
syn keyword cType max_align_t
" C11 atomics (take down the shield wall!) " C11 atomics (take down the shield wall!)
syn keyword cType atomic_bool atomic_char atomic_schar atomic_uchar syn keyword cType atomic_bool atomic_char atomic_schar atomic_uchar
syn keyword Ctype atomic_short atomic_ushort atomic_int atomic_uint syn keyword Ctype atomic_short atomic_ushort atomic_int atomic_uint

View File

@ -2,7 +2,7 @@
" Language: Liquid " Language: Liquid
" Maintainer: Tim Pope <vimNOSPAM@tpope.org> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: *.liquid " Filenames: *.liquid
" Last Change: 2013 May 30 " Last Change: 2022 Mar 15
if exists('b:current_syntax') if exists('b:current_syntax')
finish finish
@ -68,10 +68,10 @@ if !exists('s:subtype')
unlet s:subtype unlet s:subtype
endif endif
syn region liquidStatement matchgroup=liquidDelimiter start="{%" end="%}" contains=@liquidStatement containedin=ALLBUT,@liquidExempt keepend syn region liquidStatement matchgroup=liquidDelimiter start="{%-\=" end="-\=%}" contains=@liquidStatement containedin=ALLBUT,@liquidExempt keepend
syn region liquidExpression matchgroup=liquidDelimiter start="{{" end="}}" contains=@liquidExpression containedin=ALLBUT,@liquidExempt keepend syn region liquidExpression matchgroup=liquidDelimiter start="{{-\=" end="-\=}}" contains=@liquidExpression containedin=ALLBUT,@liquidExempt keepend
syn region liquidComment matchgroup=liquidDelimiter start="{%\s*comment\s*%}" end="{%\s*endcomment\s*%}" contains=liquidTodo,@Spell containedin=ALLBUT,@liquidExempt keepend syn region liquidComment matchgroup=liquidDelimiter start="{%-\=\s*comment\s*-\=%}" end="{%-\=\s*endcomment\s*-\=%}" contains=liquidTodo,@Spell containedin=ALLBUT,@liquidExempt keepend
syn region liquidRaw matchgroup=liquidDelimiter start="{%\s*raw\s*%}" end="{%\s*endraw\s*%}" contains=TOP,@liquidExempt containedin=ALLBUT,@liquidExempt keepend syn region liquidRaw matchgroup=liquidDelimiter start="{%-\=\s*raw\s*-\=%}" end="{%-\=\s*endraw\s*-\=%}" contains=TOP,@liquidExempt containedin=ALLBUT,@liquidExempt keepend
syn cluster liquidExempt contains=liquidStatement,liquidExpression,liquidComment,liquidRaw,@liquidStatement,liquidYamlHead syn cluster liquidExempt contains=liquidStatement,liquidExpression,liquidComment,liquidRaw,@liquidStatement,liquidYamlHead
syn cluster liquidStatement contains=liquidConditional,liquidRepeat,liquidKeyword,@liquidExpression syn cluster liquidStatement contains=liquidConditional,liquidRepeat,liquidKeyword,@liquidExpression
@ -79,11 +79,11 @@ syn cluster liquidExpression contains=liquidOperator,liquidString,liquidNumber,l
syn keyword liquidKeyword highlight nextgroup=liquidTypeHighlight skipwhite contained syn keyword liquidKeyword highlight nextgroup=liquidTypeHighlight skipwhite contained
syn keyword liquidKeyword endhighlight contained syn keyword liquidKeyword endhighlight contained
syn region liquidHighlight start="{%\s*highlight\s\+\w\+\s*%}" end="{% endhighlight %}" keepend syn region liquidHighlight start="{%-\=\s*highlight\s\+\w\+\s*-\=%}" end="{%-\= endhighlight -\=%}" keepend
for s:type in g:liquid_highlight_types for s:type in g:liquid_highlight_types
exe 'syn match liquidTypeHighlight "\<'.matchstr(s:type,'[^=]*').'\>" contained' exe 'syn match liquidTypeHighlight "\<'.matchstr(s:type,'[^=]*').'\>" contained'
exe 'syn region liquidHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\..*','','').' start="{%\s*highlight\s\+'.matchstr(s:type,'[^=]*').'\s*%}" end="{% endhighlight %}" keepend contains=@liquidHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\.','','g') exe 'syn region liquidHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\..*','','').' start="{%-\=\s*highlight\s\+'.matchstr(s:type,'[^=]*').'\s*-\=%}" end="{%-\= endhighlight -\=%}" keepend contains=@liquidHighlight'.substitute(matchstr(s:type,'[^=]*$'),'\.','','g')
endfor endfor
unlet! s:type unlet! s:type
@ -92,18 +92,18 @@ syn region liquidString matchgroup=liquidQuote start=+'+ end=+'+ contained
syn match liquidNumber "-\=\<\d\+\>" contained syn match liquidNumber "-\=\<\d\+\>" contained
syn match liquidFloat "-\=\<\d\+\>\.\.\@!\%(\d\+\>\)\=" contained syn match liquidFloat "-\=\<\d\+\>\.\.\@!\%(\d\+\>\)\=" contained
syn keyword liquidBoolean true false contained syn keyword liquidBoolean true false contained
syn keyword liquidNull null nil contained syn keyword liquidNull null nil blank contained
syn match liquidEmpty "\<empty\>" contained syn match liquidEmpty "\<empty\>" contained
syn keyword liquidOperator and or not contained syn keyword liquidOperator and or not contained
syn match liquidPipe '|' contained skipwhite nextgroup=liquidFilter syn match liquidPipe '|' contained skipwhite nextgroup=liquidFilter
syn keyword liquidFilter date capitalize downcase upcase first last join sort size strip_html strip_newlines newline_to_br replace replace_first remove remove_first truncate truncatewords prepend append minus plus times divided_by contained syn keyword liquidFilter date capitalize downcase upcase escape escape_once first last join sort size where uniq strip_html strip_newlines newline_to_br replace replace_first remove remove_first slice split strip truncate truncatewords prepend append url_encode url_decode abs at_most at_least ceil divided_by floor minus plus round times modulo contained
syn keyword liquidConditional if elsif else endif unless endunless case when endcase ifchanged endifchanged contained syn keyword liquidConditional if elsif else endif unless endunless case when endcase ifchanged endifchanged contained
syn keyword liquidRepeat for endfor tablerow endtablerow in contained syn keyword liquidRepeat for endfor tablerow endtablerow in break continue limit offset reversed contained
syn match liquidRepeat "\%({%\s*\)\@<=empty\>" contained syn match liquidRepeat "\%({%-\=\s*\)\@<=empty\>" contained
syn keyword liquidKeyword assign cycle include with contained syn keyword liquidKeyword assign capture endcapture increasement decreasement cycle include with render contained
syn keyword liquidForloop forloop nextgroup=liquidForloopDot contained syn keyword liquidForloop forloop nextgroup=liquidForloopDot contained
syn match liquidForloopDot "\." nextgroup=liquidForloopAttribute contained syn match liquidForloopDot "\." nextgroup=liquidForloopAttribute contained

View File

@ -2,7 +2,7 @@
" Language: Sass " Language: Sass
" Maintainer: Tim Pope <vimNOSPAM@tpope.org> " Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Filenames: *.sass " Filenames: *.sass
" Last Change: 2019 Dec 05 " Last Change: 2022 Mar 15
if exists("b:current_syntax") if exists("b:current_syntax")
finish finish
@ -58,6 +58,7 @@ syn match sassAmpersand "&"
" TODO: Arithmetic (including strings and concatenation) " TODO: Arithmetic (including strings and concatenation)
syn region sassMediaQuery matchgroup=sassMedia start="@media" end="[{};]\@=\|$" contains=sassMediaOperators syn region sassMediaQuery matchgroup=sassMedia start="@media" end="[{};]\@=\|$" contains=sassMediaOperators
syn region sassKeyframe matchgroup=cssAtKeyword start=/@\(-[a-z]\+-\)\=keyframes\>/ end=";\|$" contains=cssVendor,cssComment nextgroup=cssDefinition
syn keyword sassMediaOperators and not only contained syn keyword sassMediaOperators and not only contained
syn region sassCharset start="@charset" end=";\|$" contains=scssComment,cssStringQ,cssStringQQ,cssURL,cssUnicodeEscape,cssMediaType syn region sassCharset start="@charset" end=";\|$" contains=scssComment,cssStringQ,cssStringQQ,cssURL,cssUnicodeEscape,cssMediaType
syn region sassInclude start="@import" end=";\|$" contains=scssComment,cssStringQ,cssStringQQ,cssURL,cssUnicodeEscape,cssMediaType syn region sassInclude start="@import" end=";\|$" contains=scssComment,cssStringQ,cssStringQQ,cssURL,cssUnicodeEscape,cssMediaType

View File

@ -1,8 +1,8 @@
" Vim syntax file " Vim syntax file
" Language: Vim 8.2 script " Language: Vim 8.2 script
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM> " Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" Last Change: February 09, 2022 " Last Change: March 14, 2022
" Version: 8.2-28 " Version: 8.2-29
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
" Automatically generated keyword lists: {{{1 " Automatically generated keyword lists: {{{1
@ -19,12 +19,13 @@ syn keyword vimTodo contained COMBAK FIXME TODO XXX
syn cluster vimCommentGroup contains=vimTodo,@Spell syn cluster vimCommentGroup contains=vimTodo,@Spell
" regular vim commands {{{2 " regular vim commands {{{2
syn keyword vimCommand contained a ar[gs] argg[lobal] b[uffer] bf[irst] br[ewind] bufdo c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delc[ommand] deletp di[splay] diffs[plit] dl dr[op] ec elsei[f] endt[ry] exp filetype fix[del] for gui helpg[rep] ia imp is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do python3 qa[ll] redr[aw] retu[rn] rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] sre[wind] st[op] stopi[nsert] sunmenu sync tab tabfir[st] tabp[revious] tcl th[row] tlnoremenu tn[ext] ts[elect] undoj[oin] up[date] vi[sual] viu[sage] wh[ile] wn[ext] wv[iminfo] xmenu xunme syn keyword vimCommand contained a ar[gs] argg[lobal] b[uffer] bf[irst] br[ewind] bufdo c[hange] caddf[ile] cbel[ow] ce[nter] cgetb[uffer] chi[story] cmapc[lear] col[der] conf[irm] cr[ewind] cw[indow] delc[ommand] deletp di[splay] diffs[plit] dl dr[op] ec elsei[f] endf[unction] enum exu[sage] fin[d] foldc[lose] g h[elp] hi if in iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes[sages] mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] py3f[ile] pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] spr[evious] sri star[tinsert] sts[elect] sus[pend] syncbind tabN[ext] tabl[ast] tabr[ewind] tcld[o] tj[ump] tlu tno[remap] tu[nmenu] undol[ist] v vie[w] vne[w] win[size] wq xmapc[lear] xr[estore]
syn keyword vimCommand contained ab arga[dd] argl[ocal] ba[ll] bl[ast] brea[k] buffers ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cn[ext] colo[rscheme] cons[t] cs d[elete] delel delf[unction] dif[fupdate] difft[his] dli[st] ds[earch] echoc[onsole] em[enu] endw[hile] export filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] import isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] srg sta[g] sts[elect] sus[pend] syncbind tabN[ext] tabl[ast] tabr[ewind] tcld[o] tj[ump] tlu tno[remap] tu[nmenu] undol[ist] v vie[w] vne[w] win[size] wp[revious] x[it] xnoreme xunmenu syn keyword vimCommand contained ab arga[dd] argl[ocal] ba[ll] bl[ast] brea[k] buffers ca caf[ter] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cn[ext] colo[rscheme] cons[t] cs d[elete] delel delf[unction] dif[fupdate] difft[his] dli[st] ds[earch] echoc[onsole] em[enu] endfo[r] eval f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] inor j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] sr srl startg[replace] substitutepattern sv[iew] syntime tabc[lose] tabm[ove] tabs tclf[ile] tl[ast] tlunmenu to[pleft] tunma[p] unh[ide] var vim9[cmd] vs[plit] winc[md] wqa[ll] xme xunme
syn keyword vimCommand contained abc[lear] argd[elete] argu[ment] bad[d] bm[odified] breaka[dd] bun[load] cabc[lear] cal[l] cc cf[ile] changes cla[st] cnew[er] com cope[n] cscope debug delep dell diffg[et] dig[raphs] do dsp[lit] echoe[rr] en[dif] ene[w] exu[sage] fin[d] foldc[lose] g h[elp] hi if in iuna[bbrev] keepalt la[st] lan[guage] lbo[ttom] ld[o] lfdo lgrepa[dd] lma lo[adview] lop[en] lua m[ove] mes[sages] mod[e] nbs[tart] nor omapc[lear] packl[oadall] popu[p] profd[el] ptf[irst] pts[elect] py3f[ile] pyx r[ead] redrawt[abline] ri[ght] rundo sIl sal[l] sbf[irst] sc scp se[t] sg sgn sie sip sme snoremenu spelli[nfo] spr[evious] sri star[tinsert] substitutepattern sv[iew] syntime tabc[lose] tabm[ove] tabs tclf[ile] tl[ast] tlunmenu to[pleft] tunma[p] unh[ide] var vim9[cmd] vs[plit] winc[md] wq xa[ll] xnoremenu xwininfo syn keyword vimCommand contained abc[lear] argd[elete] argu[ment] bad[d] bm[odified] breaka[dd] bun[load] cabc[lear] cal[l] cc cf[ile] changes cla[st] cnew[er] com cope[n] cscope debug delep dell diffg[et] dig[raphs] do dsp[lit] echoe[rr] en[dif] endinterface ex files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] interface ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] srI srn startr[eplace] substituterepeat sw[apname] t tabd[o] tabn[ext] tags te[aroff] tlm tm[enu] tp[revious] type unl ve[rsion] vim9s[cript] wN[ext] windo wundo xmenu xunmenu
syn keyword vimCommand contained abo[veleft] argded[upe] as[cii] balt bn[ext] breakd[el] bw[ipeout] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] class cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletel delm[arks] diffo[ff] dir doau e[dit] echom[sg] enddef eval f[ile] fina[lly] foldd[oopen] go[to] ha[rdcopy] hid[e] ij[ump] inor j[oin] keepj[umps] lab[ove] lat lc[d] le[ft] lfir[st] lh[elpgrep] lmak[e] loadk lp[revious] luado ma[rk] mk[exrc] mz[scheme] new nore on[ly] pc[lose] pp[op] promptf[ind] ptj[ump] pu[t] py[thon] pyxdo rec[over] reg[isters] rightb[elow] rv[iminfo] sIn san[dbox] sbl[ast] scI scr[iptnames] setf[iletype] sgI sgp sig sir smenu so[urce] spellr[are] sr srl startg[replace] substituterepeat sw[apname] t tabd[o] tabn[ext] tags te[aroff] tlm tm[enu] tp[revious] type unl ve[rsion] vim9s[cript] wN[ext] windo wqa[ll] xmapc[lear] xprop y[ank] syn keyword vimCommand contained abo[veleft] argded[upe] as[cii] balt bn[ext] breakd[el] bw[ipeout] cabo[ve] cat[ch] ccl[ose] cfdo chd[ir] class cnf[ile] comc[lear] cp[revious] cstag debugg[reedy] deletel delm[arks] diffo[ff] dir doau e[dit] echom[sg] endclass endt[ry] exi[t] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] leg[acy] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] src srp static sun[hide] sy tN[ext] tabe[dit] tabnew tc[d] ter[minal] tlmenu tma[p] tr[ewind] u[ndo] unlo[ckvar] verb[ose] vim[grep] w[rite] winp[os] wv[iminfo] xnoreme xwininfo
syn keyword vimCommand contained addd argdo au bd[elete] bo[tright] breakl[ist] cN[ext] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] cle[arjumps] cnor comp[iler] cpf[ile] cun def deletep delp diffp[atch] disa[ssemble] doaut ea echon endf[unction] ex files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] interface ju[mps] keepp[atterns] lad[dexpr] later lch[dir] lefta[bove] lg[etfile] lhi[story] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mks[ession] mzf[ile] nmapc[lear] nos[wapfile] opt[ions] pe[rl] pre[serve] promptr[epl] ptl[ast] pw[d] pydo pyxfile red[o] res[ize] ru[ntime] sI sIp sav[eas] sbm[odified] sce scripte[ncoding] setg[lobal] sgc sgr sign sl[eep] smile sor[t] spellr[epall] srI srn startr[eplace] sun[hide] sy tN[ext] tabe[dit] tabnew tc[d] ter[minal] tlmenu tma[p] tr[ewind] u[ndo] unlo[ckvar] verb[ose] vim[grep] w[rite] winp[os] wundo xme xr[estore] z[^.=] syn keyword vimCommand contained abstract argdo au bd[elete] bo[tright] breakl[ist] cN[ext] cad[dbuffer] cb[uffer] cd cfir[st] che[ckpath] cle[arjumps] cnor comp[iler] cpf[ile] cun def deletep delp diffp[atch] disa[ssemble] doaut ea echon enddef endw[hile] exp filetype fix[del] for gui helpg[rep] ia imp is[earch] kee[pmarks] lNf[ile] laddf[ile] lbe[fore] lcs lex[pr] lgete[xpr] lla[st] lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mkv[imrc] nb[key] noautocmd o[pen] p[rint] perld[o] pro ptN[ext] ptp[revious] py3do python3 qa[ll] redr[aw] retu[rn] rubyd[o] sIe sN[ext] sb[uffer] sbp[revious] sci scs sf[ind] sgi si sim[alt] sm[agic] sno[magic] spe[llgood] spellu[ndo] sre[wind] st[op] stj[ump] sunme syn ta[g] tabf[ind] tabo[nly] tch[dir] tf[irst] tln tmapc[lear] try una[bbreviate] uns[ilent] vert[ical] vimgrepa[dd] wa[ll] wn[ext] x[it] xnoremenu y[ank]
syn keyword vimCommand contained al[l] arge[dit] bN[ext] bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] defc[ompile] deletl dep diffpu[t] dj[ump] dp earlier el[se] endfo[r] exi[t] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] intro k lN[ext] laddb[uffer] lb[uffer] lcl[ose] leg[acy] lgetb[uffer] ll lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mksp[ell] n[ext] noa nu[mber] ownsyntax ped[it] prev[ious] ps[earch] ptn[ext] py3 pyf[ile] q[uit] redi[r] ret[ab] rub[y] sIc sIr sbN[ext] sbn[ext] scg scriptv[ersion] setl[ocal] sge sh[ell] sil[ent] sla[st] sn[ext] sp[lit] spellr[rare] src srp stj[ump] sunme syn ta[g] tabf[ind] tabo[nly] tch[dir] tf[irst] tln tmapc[lear] try una[bbreviate] uns[ilent] vert[ical] vimgrepa[dd] wa[ll] syn keyword vimCommand contained addd arge[dit] bN[ext] bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] defc[ompile] deletl dep diffpu[t] dj[ump] dp earlier el[se] endenum ene[w] export filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] import isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] srg sta[g] stopi[nsert] sunmenu sync tab tabfir[st] tabp[revious] tcl th[row] tlnoremenu tn[ext] ts[elect] undoj[oin] up[date] vi[sual] viu[sage] wh[ile] wp[revious] xa[ll] xprop z[^.=]
syn keyword vimCommand contained al[l]
syn match vimCommand contained "\<z[-+^.=]\=\>" syn match vimCommand contained "\<z[-+^.=]\=\>"
syn keyword vimStdPlugin contained Arguments Asm Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Winbar XMLent XMLns syn keyword vimStdPlugin contained Arguments Asm Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Winbar XMLent XMLns

View File

@ -44,9 +44,6 @@ class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
except socket.error: except socket.error:
print("=== socket error ===") print("=== socket error ===")
break break
except IOError:
print("=== socket closed ===")
break
if data == '': if data == '':
print("=== socket closed ===") print("=== socket closed ===")
break break

View File

@ -2,6 +2,7 @@
# Edit the src/po/vim.desktop.in file instead. # Edit the src/po/vim.desktop.in file instead.
[Desktop Entry] [Desktop Entry]
# Translators: This is the Application Name used in the Vim desktop file # Translators: This is the Application Name used in the Vim desktop file
Name[ca]=Vim
Name[de]=Vim Name[de]=Vim
Name[eo]=Vim Name[eo]=Vim
Name[fi]=Vim Name[fi]=Vim
@ -13,6 +14,7 @@ Name[sr]=Vim
Name[tr]=Vim Name[tr]=Vim
Name=Vim Name=Vim
# Translators: This is the Generic Application Name used in the Vim desktop file # Translators: This is the Generic Application Name used in the Vim desktop file
GenericName[ca]=Editor de text
GenericName[de]=Texteditor GenericName[de]=Texteditor
GenericName[eo]=Tekstoredaktilo GenericName[eo]=Tekstoredaktilo
GenericName[fi]=Tekstinmuokkain GenericName[fi]=Tekstinmuokkain
@ -25,6 +27,7 @@ GenericName[sr]=Едитор текст
GenericName[tr]=Metin Düzenleyici GenericName[tr]=Metin Düzenleyici
GenericName=Text Editor GenericName=Text Editor
# Translators: This is the comment used in the Vim desktop file # Translators: This is the comment used in the Vim desktop file
Comment[ca]=Edita fitxers de text
Comment[de]=Textdateien bearbeiten Comment[de]=Textdateien bearbeiten
Comment[eo]=Redakti tekstajn dosierojn Comment[eo]=Redakti tekstajn dosierojn
Comment[fi]=Muokkaa tekstitiedostoja Comment[fi]=Muokkaa tekstitiedostoja
@ -49,7 +52,6 @@ Comment[be]=Рэдагаваньне тэкставых файлаў
Comment[bg]=Редактиране на текстови файлове Comment[bg]=Редактиране на текстови файлове
Comment[bn]= ি Comment[bn]= ি
Comment[bs]=Izmijeni tekstualne datoteke Comment[bs]=Izmijeni tekstualne datoteke
Comment[ca]=Edita fitxers de text
Comment[cs]=Úprava textových souborů Comment[cs]=Úprava textových souborů
Comment[cy]=Golygu ffeiliau testun Comment[cy]=Golygu ffeiliau testun
Comment[da]=Rediger tekstfiler Comment[da]=Rediger tekstfiler
@ -105,6 +107,7 @@ Exec=vim %F
Terminal=true Terminal=true
Type=Application Type=Application
# Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon! # Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon!
Keywords[ca]=Text;editor;
Keywords[de]=Text;Editor; Keywords[de]=Text;Editor;
Keywords[eo]=Teksto;redaktilo; Keywords[eo]=Teksto;redaktilo;
Keywords[fi]=Teksti;muokkain;editori; Keywords[fi]=Teksti;muokkain;editori;

10776
src/po/ca.po

File diff suppressed because it is too large Load Diff

View File

@ -20,7 +20,6 @@ Comment[be]=Рэдагаваньне тэкставых файлаў
Comment[bg]=Редактиране на текстови файлове Comment[bg]=Редактиране на текстови файлове
Comment[bn]= ি Comment[bn]= ি
Comment[bs]=Izmijeni tekstualne datoteke Comment[bs]=Izmijeni tekstualne datoteke
Comment[ca]=Edita fitxers de text
Comment[cs]=Úprava textových souborů Comment[cs]=Úprava textových souborů
Comment[cy]=Golygu ffeiliau testun Comment[cy]=Golygu ffeiliau testun
Comment[da]=Rediger tekstfiler Comment[da]=Rediger tekstfiler

View File

@ -20,7 +20,6 @@ Comment[be]=Рэдагаваньне тэкставых файлаў
Comment[bg]=Редактиране на текстови файлове Comment[bg]=Редактиране на текстови файлове
Comment[bn]= ি Comment[bn]= ি
Comment[bs]=Izmijeni tekstualne datoteke Comment[bs]=Izmijeni tekstualne datoteke
Comment[ca]=Edita fitxers de text
Comment[cs]=Úprava textových souborů Comment[cs]=Úprava textových souborů
Comment[cy]=Golygu ffeiliau testun Comment[cy]=Golygu ffeiliau testun
Comment[da]=Rediger tekstfiler Comment[da]=Rediger tekstfiler