Compare commits

...

129 Commits

Author SHA1 Message Date
Bram Moolenaar
2a1381c305 patch 8.2.0701: Vim9 test fails without job feature
Problem:    Vim9 test fails without job feature.
Solution:   Add feature check.
2020-05-05 23:32:58 +02:00
Bram Moolenaar
40ee466c36 patch 8.2.0700: Vim9: converting error message to exception not tested
Problem:    Vim9: converting error message to exception not tested.
Solution:   Test exception from error.  Do not continue after :echoerr.
2020-05-05 22:08:26 +02:00
Bram Moolenaar
015f4267f4 patch 8.2.0699: Vim9: not all errors tested
Problem:    Vim9: not all errors tested.
Solution:   Add test for deleted function.  Bail out on first error.
2020-05-05 21:25:22 +02:00
Bram Moolenaar
f9ab52e155 patch 8.2.0698: insert mode completion not fully tested
Problem:    Insert mode completion not fully tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #6041)
2020-05-05 19:57:18 +02:00
Bram Moolenaar
221fcc741a patch 8.2.0697: Vim9: memory leak when using nested function
Problem:    Vim9: memory leak when using nested function.
Solution:   Unreference function when deleting instructions. Adjust reference
            count for local variables.
2020-05-05 19:46:20 +02:00
Bram Moolenaar
0e65d3de0a patch 8.2.0696: Vim9: nested function does not work properly
Problem:    Vim9: nested function does not work properly
Solution:   Create a function reference.  Check argument count.
2020-05-05 17:53:16 +02:00
Bram Moolenaar
04b1269783 patch 8.2.0695: Vim9: cannot define a function inside a function
Problem:    Vim9: cannot define a function inside a function.
Solution:   Initial support for :def inside :def.
2020-05-04 23:24:44 +02:00
Bram Moolenaar
80a8d3889b patch 8.2.0694: Haiku: channel and terminal do not work
Problem:    Haiku: channel and terminal do not work.
Solution:   Close files when the job has finished. (Ozaki Kiichi,
            closes #6039)
2020-05-03 22:57:32 +02:00
Bram Moolenaar
2fd4cd755c patch 8.2.0693: closure using argument not tested
Problem:    Closure using argument not tested.
Solution:   Add a test, make it work.
2020-05-03 22:30:49 +02:00
Bram Moolenaar
4515bcdec8 patch 8.2.0692: startup test fails on MS-Windows
Problem:    Startup test fails on MS-Windows.
Solution:   Allow for any path.
2020-05-03 18:21:04 +02:00
Bram Moolenaar
7779ee30d9 patch 8.2.0691: startup test fails
Problem:    Startup test fails.
Solution:   Adjust expected output from -V2 argument.
2020-05-03 17:55:32 +02:00
Bram Moolenaar
5125874951 patch 8.2.0690: line number of option set by modeline is wrong
Problem:    Line number of option set by modeline is wrong.
Solution:   Do not double the line number. (Ozaki Kiichi, closes #6035)
2020-05-03 17:19:33 +02:00
Bram Moolenaar
a38b2b737e patch 8.2.0689: when using getaddrinfo() the error message is unclear
Problem:    When using getaddrinfo() the error message is unclear.
Solution:   Use gai_strerror() to get the message. (Ozaki Kiichi,
            closes #6034)
2020-05-03 17:03:29 +02:00
Bram Moolenaar
647a530b33 patch 8.2.0688: output clobbered if setting 'verbose' to see shell commands
Problem:    Output clobbered if setting 'verbose' to see shell commands.
Solution:   Only output "Searching for" when 'verbose' is 11 or higher.
2020-05-03 17:01:24 +02:00
Bram Moolenaar
41d4299f26 patch 8.2.0687: some tests do not work on FreeBSD
Problem:    Some tests do not work on FreeBSD.
Solution:   Enable modeline.  Use WaitFor() in more cases. (Ozaki Kiichi,
            closes #6036)
2020-05-03 16:29:50 +02:00
Bram Moolenaar
2eaeaf3c31 patch 8.2.0686: formatoptions not sufficiently tested
Problem:    Formatoptions not sufficiently tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #6031)
2020-05-03 16:04:43 +02:00
Bram Moolenaar
3df02f507f patch 8.2.0685: Build failure
Problem:    Build failure.
Solution:   Include missing changes.
2020-05-03 15:47:33 +02:00
Bram Moolenaar
f7779c63d4 patch 8.2.0684: Vim9: memory leak when using lambda
Problem:    Vim9: memory leak when using lambda.
Solution:   Move the funccal context to the partial. Free the function when
            exiting.
2020-05-03 15:38:16 +02:00
Bram Moolenaar
5adc55cb74 patch 8.2.0683: Vim9: parsing type does not always work
Problem:    Vim9: parsing type does not always work.
Solution:   Handle func type without return value.  Test more closures.
            Fix type check offset.  Fix garbage collection.
2020-05-02 23:12:58 +02:00
Bram Moolenaar
1c0d44f8ef patch 8.2.0682: Vim9: parsing function argument type can get stuck
Problem:    Vim9: parsing function argument type can get stuck.
Solution:   Bail out when not making progress.
2020-05-02 19:04:58 +02:00
Bram Moolenaar
0b6849e9e3 patch 8.2.0681: pattern for 'hlsearch' highlighting may leak
Problem:    Pattern for 'hlsearch' highlighting may leak. (Dominique Pelle)
Solution:   Call end_search_hl() to make sure the previous pattern is freed.
            (closes #6028)
2020-05-02 18:33:25 +02:00
Bram Moolenaar
01f731e97c patch 8.2.0680: PTYGROUP and PTYMODE are unused
Problem:    PTYGROUP and PTYMODE are unused.
Solution:   Remove from autoconf. (closes #6024)
2020-05-02 18:14:37 +02:00
Bram Moolenaar
bf67ea1af0 patch 8.2.0679: Vim9: incomplete support for closures
Problem:    Vim9: incomplete support for closures.
Solution:   At the end of a function copy arguments and local variables if
            they are still used by a referenced closure.
2020-05-02 17:52:42 +02:00
Bram Moolenaar
d58a662f44 patch 8.2.0678: rare crash for popup menu
Problem:    Rare crash for popup menu.
Solution:   Check for NULL pointer. (Nobuhiro Takasaki, closes #6027)
2020-05-02 14:52:57 +02:00
Bram Moolenaar
c8cd2b34d1 patch 8.2.0677: Vim9: no support for closures
Problem:    Vim9: no support for closures.
Solution:   Find variables in the outer function scope, so long as the scope
            exists.
2020-05-01 19:29:08 +02:00
Bram Moolenaar
37addecc42 patch 8.2.0676: pattern in list of distributed files does not match
Problem:    Pattern in list of distributed files does not match.
Solution:   Drop "testdir/test_[a-z]*.ok".  Add CI sed files.
2020-05-01 16:08:11 +02:00
Bram Moolenaar
7ceefb35c8 Update runtime files 2020-05-01 16:07:38 +02:00
Bram Moolenaar
b84a381c75 patch 8.2.0675: Vim9: no support for closures
Problem:    Vim9: no support for closures.
Solution:   Do not re-use stack entries.
2020-05-01 15:44:29 +02:00
Bram Moolenaar
11abd09521 patch 8.2.0674: some source files are too big
Problem:    Some source files are too big.
Solution:   Move text formatting functions to a new file. (Yegappan
            Lakshmanan, closes #6021)
2020-05-01 14:26:37 +02:00
Bram Moolenaar
4cfde1d273 patch 8.2.0673: cannot build Haiku in shadow directory
Problem:    Cannot build Haiku in shadow directory.
Solution:   Add symlink. (Ozaki Kiichi, closes #6023)
2020-05-01 14:14:07 +02:00
Bram Moolenaar
6ab0953fef patch 8.2.0672: heredoc in scripts does not accept lower case marker
Problem:    Heredoc in scripts does not accept lower case marker.
Solution:   Allow lower case only in non-Vim scripts. (Ken Takata,
            closes #6019)
2020-05-01 14:10:13 +02:00
Bram Moolenaar
9e175141f3 patch 8.2.0671: Haiku: compiler warnings
Problem:    Haiku: compiler warnings.
Solution:   Avoid the warnings. Drop display_errors() copy. (Emir Sari,
            closes #6018)
2020-04-30 22:51:01 +02:00
Bram Moolenaar
6adb9ea0a6 patch 8.2.0670: cannot change window when evaluating 'completefunc'
Problem:    Cannot change window when evaluating 'completefunc'.
Solution:   Make a difference between not changing text or buffers and also
            not changing window.
2020-04-30 22:31:18 +02:00
Bram Moolenaar
4e5534fab7 patch 8.2.0669: MS-Windows: display in VTP is a bit slow
Problem:    MS-Windows: display in VTP is a bit slow.
Solution:   Optimize the code. (Nobuhiro Takasaki, closes #6014)
2020-04-30 20:59:57 +02:00
Bram Moolenaar
7f6f56f43c patch 8.2.0668: compiler warning for int/size_t usage
Problem:    Compiler warning for int/size_t usage.
Solution:   Change "int" to "size_t". (Mike Williams)
2020-04-30 20:21:43 +02:00
Bram Moolenaar
2c5c1638a9 patch 8.2.0667: cannot install Haiku version from source
Problem:    Cannot install Haiku version from source.
Solution:   Update Makefile and rdef file. (Emir Sari, closes #6013)
2020-04-30 19:54:38 +02:00
Bram Moolenaar
88e6cc2539 patch 8.2.0666: Ruby test fails on MS-Windows
Problem:    Ruby test fails on MS-Windows.
Solution:   Remove the "maintainer" line. (Ken Takata, closes #6015)
2020-04-30 19:19:29 +02:00
Bram Moolenaar
a161cb5ddd patch 8.2.0665: wrongly assuming Python executable is called "python"
Problem:    Wrongly assuming Python executable is called "python".
Solution:   Use detected python command. (Ken Takata, closes #6016)
            Also use CheckFunction if possible.
2020-04-30 19:09:35 +02:00
Bram Moolenaar
8dbafd0790 patch 8.2.0664: included undesired changes in Makefile
Problem:    Included undesired changes in Makefile.
Solution:   Revert the changes.
2020-04-29 23:11:32 +02:00
Bram Moolenaar
512fe833c3 patch 8.2.0663: not all systemd temp files are recognized
Problem:    Not all systemd temp files are recognized.
Solution:   Add two more patterns. (Jamie Macdonald, closes #6003)
2020-04-29 23:02:40 +02:00
Bram Moolenaar
dfc33a665d patch 8.2.0662: cannot use input() in a channel callback
Problem:    Cannot use input() in a channel callback.
Solution:   Reset vgetc_busy. (closes #6010)
2020-04-29 22:30:13 +02:00
Bram Moolenaar
339d60c89b patch 8.2.0661: eval test is still old style
Problem:    Eval test is still old style.
Solution:   Change into new style tests. (Yegappan Lakshmanan, closes #6009)
2020-04-29 22:01:21 +02:00
Bram Moolenaar
ed8ce057b7 patch 8.2.0660: the search.c file is a bit big
Problem:    The search.c file is a bit big.
Solution:   Split off the text object code to a separate file. (Yegappan
            Lakshmanan, closes #6007)
2020-04-29 21:04:15 +02:00
Bram Moolenaar
939b5db480 patch 8.2.0659: Vim9: no test for equal func type
Problem:    Vim9: no test for equal func type.
Solution:   Add a test.  Improve type check.
2020-04-28 22:49:08 +02:00
Bram Moolenaar
affc8fd2cd patch 8.2.0658: HP-UX build fails when setenv() is not defined
Problem:    HP-UX build fails when setenv() is not defined.
Solution:   Change "colors" to "t_colors". (John Marriott)
2020-04-28 21:58:29 +02:00
Bram Moolenaar
a0a9f43ab2 patch 8.2.0657: Vim9: no check if called variable is a FuncRef
Problem:    Vim9: no check if called variable is a FuncRef.
Solution:   Add a type check.
2020-04-28 21:29:34 +02:00
Bram Moolenaar
7ed8f59ae0 patch 8.2.0656: MS-Windows: redrawing right screen edge may not be needed
Problem:    MS-Windows: redrawing right screen edge may not be needed.
Solution:   Check the build version. (Nobuhiro Takasaki, closes #6002)
2020-04-28 20:44:42 +02:00
Bram Moolenaar
224a5f17c6 patch 8.2.0655: search code not sufficiently tested
Problem:    Search code not sufficiently tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5999)
2020-04-28 20:29:07 +02:00
Bram Moolenaar
a14bb7e113 patch 8.2.0654: building with Python fails
Problem:    Building with Python fails.
Solution:   Add missing argument.
2020-04-28 00:02:41 +02:00
Bram Moolenaar
03afdcf1f4 patch 8.2.0653: using uninitialized pointer
Problem:    using uninitialized pointer.
Solution:   Move assignment up. (John Marriott)
2020-04-27 23:39:30 +02:00
Bram Moolenaar
909ed7e902 patch 8.2.0652: compiler warning for char conversion
Problem:    Compiler warning for char conversion.
Solution:   Use unsigned char buffer.
2020-04-27 23:16:41 +02:00
Bram Moolenaar
57700ee4ac patch 8.2.0651: old style benchmark test still in list of distributed files
Problem:    Old style benchmark test still in list of distributed files.
Solution:   Remove the files from the list.
2020-04-27 22:51:33 +02:00
Bram Moolenaar
4c17ad94ec patch 8.2.0650: Vim9: script function can be deleted
Problem:    Vim9: script function can be deleted.
Solution:   Disallow deleting script function.  Delete functions when sourcing
            a script again.
2020-04-27 22:47:51 +02:00
Bram Moolenaar
db93495d27 patch 8.2.0649: undo problem whn an InsertLeave autocommand resets undo
Problem:    Undo problem whn an InsertLeave autocommand resets undo. (Kutsan
            Kaplan)
Solution:   Do not create a new undo block when leaving Insert mode.
2020-04-27 20:18:31 +02:00
Bram Moolenaar
0e71704b77 patch 8.2.0648: semicolon search does not work in first line
Problem:    Semicolon search does not work in first line.
Solution:   Allow the cursor to be in line zero. (Christian Brabandt,
            closes #5996)
2020-04-27 19:29:01 +02:00
Bram Moolenaar
bc970da807 patch 8.2.0647: MS-Windows: repeat count for events was not used
Problem:    MS-Windows: repeat count for events was not used.
Solution:   Check the repeat count. (Nobuhiro Takasaki, closes #5989)
2020-04-26 19:00:07 +02:00
Bram Moolenaar
759d81549c patch 8.2.0646: t_Co uses the value of $COLORS in the GUI
Problem:    t_Co uses the value of $COLORS in the GUI. (Masato Nishihata)
Solution:   Ignore $COLORS for the GUI. (closes #5992)
2020-04-26 16:52:49 +02:00
Bram Moolenaar
07b761a012 patch 8.2.0645: MS-Windows terminal: CTRL-C does not get to child job
Problem:    MS-Windows terminal: CTRL-C does not get to child job.
Solution:   Remove CREATE_NEW_PROCESS_GROUP from CreateProcessW(). (Nobuhiro
            Takasaki, closes #5987)
2020-04-26 16:06:01 +02:00
Bram Moolenaar
99fa721944 patch 8.2.0644: insufficient testing for invalid function arguments
Problem:    Insufficient testing for invalid function arguments.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5988)
2020-04-26 15:59:55 +02:00
Bram Moolenaar
e297802d6d patch 8.2.0643: terminal uses brown instead of dark yellow
Problem:    Terminal uses brown instead of dark yellow. (Romain Lafourcade)
Solution:   Use color index 3 instead of 130. (closes #5993)
2020-04-26 14:47:44 +02:00
Bram Moolenaar
7d41aa8874 patch 8.2.0642: Vim9: using invalid index
Problem:    Vim9: using invalid index.
Solution:   Check index for being valid.  Fix memory leak.
2020-04-26 14:29:56 +02:00
Bram Moolenaar
6378c4fef3 patch 8.2.0641: Vim9: not expanded in :hardcopy and syn-include
Problem:    Vim9:  not expanded in :hardcopy and "syntax include".
Solution:   Add the EX_EXPAND flag.  Expend "syntax include".
2020-04-26 13:50:41 +02:00
Bram Moolenaar
cfe435d7fe patch 8.2.0640: Vim9: expanding does not work
Problem:    Vim9: expanding  does not work.
Solution:   Find wildcards in not compiled commands.  Reorganize test files.
2020-04-25 20:02:55 +02:00
Bram Moolenaar
49b2fb36ca patch 8.2.0639: MS-Windows: messages test still fails
Problem:    MS-Windows: messages test still fails.
Solution:   Filter out the maintainer message.
2020-04-25 17:13:56 +02:00
Bram Moolenaar
47a1a8baf9 patch 8.2.0638: MS-Windows: messages test fails
Problem:    MS-Windows: messages test fails.
Solution:   Clear environment variables.
2020-04-25 16:41:58 +02:00
Bram Moolenaar
333015a46e patch 8.2.0637: incsearch highlighting does not work for ":sort!"
Problem:    Incsearch highlighting does not work for ":sort!".
Solution:   Skip over the exclamation point. (closes #5983)
2020-04-25 15:54:16 +02:00
Bram Moolenaar
41f6918bf4 patch 8.2.0636: :messages does not show the maintainer when $LANG is unset
Problem:    :messages does not show the maintainer when $LANG is unset.
Solution:   Call get_mess_lang() if available. (closes #5978)
2020-04-25 15:45:37 +02:00
Bram Moolenaar
e93c968f52 patch 8.2.0635: when using 256 colors DarkYellow does not show expected color
Problem:    When using 256 colors DarkYellow does not show expected color.
Solution:   Use color 3 instead of 130. (Romain Lafourcade, closes #5985)
2020-04-25 15:35:32 +02:00
Bram Moolenaar
92b83ccfda patch 8.2.0634: crash with null partial and blob
Problem:    Crash with null partial and blob.
Solution:   Check for NULL pointer.  Add more tests. (Yegappan Lakshmanan,
            closes #5984)
2020-04-25 15:24:44 +02:00
Bram Moolenaar
9d8d0b5c64 patch 8.2.0633: crash when using null partial in filter()
Problem:    Crash when using null partial in filter().
Solution:   Fix crash.  Add more tests. (Yegappan Lakshmanan, closes #5976)
2020-04-24 22:47:31 +02:00
Bram Moolenaar
92c461ef1b patch 8.2.0632: crash when using Haiku
Problem:    Crash when using Haiku.
Solution:   Lock the screen. (closes #5975, closes #5973)
2020-04-24 22:19:00 +02:00
Bram Moolenaar
b52575f9cf patch 8.2.0631: Haiku file formatted with wrong tabstop
Problem:    Haiku file formatted with wrong tabstop.
Solution:   Use normal tabstop. Fix white space.
2020-04-24 22:16:13 +02:00
Bram Moolenaar
7714d7b31f patch 8.2.0630: "make tags" does not cover Haiku GUI file
Problem:    "make tags" does not cover Haiku GUI file.
Solution:   Add *.cc files.
2020-04-24 21:21:06 +02:00
Bram Moolenaar
65d032c779 patch 8.2.0629: setting a boolean option to v:false does not work
Problem:    Setting a boolean option to v:false does not work.
Solution:   Do not use the string representation of the value. (Christian
            Brabandt, closes #5974)
2020-04-24 20:57:01 +02:00
Bram Moolenaar
e71ebb46a2 patch 8.2.0628: error in menu translations
Problem:    Error in menu translations.
Solution:   Insert a backslash before a space in one more file. (Shun Bai,
            Emir Sari)
2020-04-23 23:54:04 +02:00
Bram Moolenaar
b8ce6b0005 patch 8.2.0627: Vim9: error message does not work
Problem:    Vim9: error message does not work. (Yegappan Lakshmanan)
Solution:   Swap lines.
2020-04-23 22:23:14 +02:00
Bram Moolenaar
f93c7fea08 patch 8.2.0626: Vim9: wrong syntax of function in Vim9 script
Problem:    Vim9: wrong syntax of function in Vim9 script.
Solution:   Give error for missing space. Implement :echomsg and :echoerr.
            (closes #5670)
2020-04-23 22:16:53 +02:00
Bram Moolenaar
1df8b3fb04 patch 8.2.0625: Vim9: confusing error when calling unknown function
Problem:    Vim9: confusing error when calling unknown function.
Solution:   Give error while compiling.
2020-04-23 18:13:23 +02:00
Bram Moolenaar
a72cfb80cd patch 8.2.0624: Vim9: no check for space before #comment
Problem:    Vim9: no check for space before #comment.
Solution:   Add space checks.  Fix :throw with double quoted string.
2020-04-23 17:07:30 +02:00
Bram Moolenaar
f7b398c6a9 patch 8.2.0623: typo in test comment
Problem:    Typo in test comment. (Christ van Willegen)
Solution:   Avoid mixing up a data structure with a body part.
2020-04-23 15:46:35 +02:00
Bram Moolenaar
beae4084fd patch 8.2.0622: Haiku: GUI does not compile
Problem:    Haiku: GUI does not compile.
Solution:   Various fixes. (Emir Sari, closes #5961)
2020-04-23 15:41:49 +02:00
Bram Moolenaar
95a467e7ee patch 8.2.0621: after running tests asan files may remain
Problem:    After running tests asan files may remain.
Solution:   Clean up asan files with "make testclean".
2020-04-23 14:41:46 +02:00
Bram Moolenaar
0d6fe631f7 patch 8.2.0620: error in menu translations
Problem:    Error in menu translations.
Solution:   Insert a backslash before a space.
2020-04-23 13:58:12 +02:00
Bram Moolenaar
ea04a6e8ba patch 8.2.0619: null dict is not handled like an empty dict
Problem:    Null dict is not handled like an empty dict.
Solution:   Fix the code and add tests. (Yegappan Lakshmanan, closes #5968)
2020-04-23 13:38:02 +02:00
Bram Moolenaar
db950e4c03 patch 8.2.0618: echoing a null list results in no output
Problem:    Echoing a null list results in no output. (Yegappan Lakshmanan)
Solution:   Return "[]" instead of NULL in echo_string_core().
2020-04-22 19:13:19 +02:00
Bram Moolenaar
d2662ad2de patch 8.2.0617: new error check triggers in Swedish menu
Problem:    New error check triggers in Swedish menu.
Solution:   Insert backslash. (Mats Tegner, closes #5966)
2020-04-22 14:30:31 +02:00
Bram Moolenaar
e770598f31 patch 8.2.0616: build error when disabling the diff feature
Problem:    Build error when disabling the diff feature.
Solution:   Move parenthesis outside of #ifdef. (Tom Ryder)
2020-04-21 22:23:15 +02:00
Bram Moolenaar
ad48e6c159 patch 8.2.0615: regexp benchmark stest is old style
Problem:    Regexp benchmark stest is old style.
Solution:   Make it a new style test.  Fix using a NULL list.  Add more tests.
            (Yegappan Lakshmanan, closes #5963)
2020-04-21 22:19:45 +02:00
Bram Moolenaar
ff06f283e3 patch 8.2.0614: get ml_get error when deleting a line in 'completefunc'
Problem:    Get ml_get error when deleting a line in 'completefunc'. (Yegappan
            Lakshmanan)
Solution:   Lock the text while evaluating 'completefunc'.
2020-04-21 22:01:14 +02:00
Bram Moolenaar
1966c24881 patch 8.2.0613: Vim9: no check for space before #comment
Problem:    Vim9: no check for space before #comment.
Solution:   Add space checks.
2020-04-20 22:42:32 +02:00
Bram Moolenaar
2c7f8c574f Update runtime files 2020-04-20 19:52:53 +02:00
Bram Moolenaar
2c5ed4e330 patch 8.2.0612: Vim9: no check for space before #comment
Problem:    Vim9: no check for space before #comment.
Solution:   Add space checks.
2020-04-20 19:42:10 +02:00
Bram Moolenaar
faac410409 patch 8.2.0611: Vim9: no check for space before #comment
Problem:    Vim9: no check for space before #comment.
Solution:   Add space checks.
2020-04-20 17:46:14 +02:00
Bram Moolenaar
08f4157c5c patch 8.2.0610: some tests are still old style
Problem:    Some tests are still old style.
Solution:   Convert to new style tests. (Yegappan Lakshmanan, closes #5957)
2020-04-20 16:50:00 +02:00
Bram Moolenaar
ad4dc83389 patch 8.2.0609: configure does not detect moonjit correctly
Problem:    Configure does not detect moonjit correctly.
Solution:   Double the brackets. (Ozaki Kiichi)
2020-04-20 16:21:53 +02:00
Bram Moolenaar
4da6df40f5 patch 8.2.0608: warning from clang when building message test
Problem:    Warning from clang when building message test.
Solution:   Use a void pointer.  (Dominique Pelle, closes #5958)
2020-04-20 16:12:09 +02:00
Bram Moolenaar
2bb76accc6 patch 8.2.0607: gcc warns for using uninitialized variable
Problem:    Gcc warns for using uninitialized variable. (John Marriott)
Solution:   Set name_end also for environment variables.
2020-04-19 22:57:44 +02:00
Bram Moolenaar
fbf2122cf9 patch 8.2.0606: several syntax HL errors not checked
Problem:    Several syntax HL errors not checked.
Solution:   Add tests. (Yegappan Lakshmanan, closes #5954)
2020-04-19 18:31:25 +02:00
Bram Moolenaar
7bdaea6e0d patch 8.2.0605: Vim9: cannot unlet an environment variable
Problem:    Vim9: cannot unlet an environment variable.
Solution:   Implement unlet for $VAR.
2020-04-19 18:27:26 +02:00
Bram Moolenaar
eb58a24658 patch 8.2.0604: :startinsert in a terminal window used later
Problem:    :startinsert in a terminal window used later.
Solution:   Ignore :startinsert in a terminal window. (closes #5952)
2020-04-19 18:13:19 +02:00
Bram Moolenaar
f49e564082 patch 8.2.0603: configure does not detect moonjit
Problem:    Configure does not detect moonjit.
Solution:   Add check for moonjit. (Shlomi Fish, closes #5947)
2020-04-19 17:46:53 +02:00
Bram Moolenaar
7e0868efcf patch 8.2.0602: :unlet $VAR does not work properly
Problem:    :unlet $VAR does not work properly.
Solution:   Make ":lockvar $VAR" fail.  Check the "skip" flag.
2020-04-19 17:24:53 +02:00
Bram Moolenaar
d72c1bf0a6 patch 8.2.0601: Vim9: :unlet is not compiled
Problem:    Vim9: :unlet is not compiled.
Solution:   Implement :unlet instruction and check for errors.
2020-04-19 16:28:59 +02:00
Bram Moolenaar
d3aac2917d patch 8.2.0600: Vim9: cannot read or write w:, t: and b: variables
Problem:    Vim9: cannot read or write w:, t: and b: variables.
Solution:   Implement load and store for w:, t: and b: variables.
            (closes #5950)
2020-04-19 14:32:17 +02:00
Bram Moolenaar
173d841e86 patch 8.2.0599: Netbeans interface insufficiently tested
Problem:    Netbeans interface insufficiently tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes #5921)
2020-04-19 14:02:26 +02:00
Bram Moolenaar
61fbb3371e patch 8.2.0598: test_eval_stuff fails in normal terminal
Problem:    Test_eval_stuff fails in normal terminal.
Solution:   Close the new window.
2020-04-18 23:20:37 +02:00
Bram Moolenaar
90455cfa87 patch 8.2.0597: test_eval is old style
Problem:    Test_eval is old style.
Solution:   Change some tests to a new style test.
2020-04-18 21:56:38 +02:00
Bram Moolenaar
ec9749f33d patch 8.2.0596: crash in test49
Problem:    Crash in test49.
Solution:   Check the right pointer.
2020-04-18 20:51:40 +02:00
Bram Moolenaar
a26b9700d7 patch 8.2.0595: Vim9: not all commands using ends_excmd() tested
Problem:    Vim9: not all commands using ends_excmd() tested.
Solution:   Find # comment after regular commands. Add more tests.  Report
            error for where it was caused.
2020-04-18 19:53:28 +02:00
Bram Moolenaar
b6fb0516ec patch 8.2.0594: MS-Windows: cannot build with WINVER set to 0x0501
Problem:    MS-Windows: cannot build with WINVER set to 0x0501.
Solution:   Only use inet_ntop() when available. (Ozaki Kiichi, closes #5946)
2020-04-18 18:24:18 +02:00
Bram Moolenaar
a494f56f88 patch 8.2.0593: finding a user command is not optimal
Problem:    Finding a user command is not optimal.
Solution:   Start further down in the list of commands.
2020-04-18 17:45:38 +02:00
Bram Moolenaar
2695de63e3 patch 8.2.0592: MS-Windows with VTP: cursor is not made invisible
Problem:    MS-Windows with VTP: cursor is not made invisible.
Solution:   Output the code to make the cursor visible or invisible. (Nobuhiro
            Takasaki, closes #5941)
2020-04-17 21:13:01 +02:00
Bram Moolenaar
aa82259fef patch 8.2.0591: MS-Windows: should always support IPv6
Problem:    MS-Windows: should always support IPv6
Solution:   Add build flag. (Ozaki Kiichi, closes #5944)
2020-04-17 20:48:57 +02:00
Bram Moolenaar
aa0489e12d patch 8.2.0590: no 'backspace' value allows ignoring the insertion point
Problem:    No 'backspace' value allows ignoring the insertion point.
Solution:   Add the "nostop" and 3 values. (Christian Brabandt, closes #5940)
2020-04-17 19:41:21 +02:00
Bram Moolenaar
0fc1288aef patch 8.2.0589: .bsd file type not recognized
Problem:    .bsd file type not recognized.
Solution:   Recognize .bsd as BSDL. (Daniel Kho, closes #5945)
2020-04-17 19:23:06 +02:00
Bram Moolenaar
314ca7cbb4 patch 8.2.0588: Putty does not use "sgr" 'ttymouse' by default
Problem:    Putty does not use "sgr" 'ttymouse' by default.
Solution:   Make "sgr" the default for Putty. (Christian Brabandt,
            closes #5942)
2020-04-17 16:40:31 +02:00
Bram Moolenaar
21cfe500f3 patch 8.2.0587: compiler warning for unused variable
Problem:    Compiler warning for unused variable.
Solution:   Add UNUSED.
2020-04-16 23:01:50 +02:00
Bram Moolenaar
4a8d9f2ed8 patch 8.2.0586: Vim9: # comment not sufficiently tested
Problem:    Vim9: # comment not sufficiently tested
Solution:   Check for preceding white space.
2020-04-16 22:54:32 +02:00
Bram Moolenaar
7a09224583 patch 8.2.0585: Vim9: # comment not recognized after :vim9script
Problem:    Vim9: # comment not recognized after :vim9script.
Solution:   Check script type. Make comment after ":echo" work.  And in
            several other places.
2020-04-16 22:10:49 +02:00
Bram Moolenaar
c5f33db888 patch 8.2.0584: viminfo file uses obsolete function file_readable()
Problem:    Viminfo file uses obsolete function file_readable().
Solution:   Use filereadable(). (closes #5934)
2020-04-16 21:04:41 +02:00
Bram Moolenaar
cb711abf0f patch 8.2.0583: Vim9: # comment not recognized in :def function
Problem:    Vim9: # comment not recognized in :def function.
Solution:   Recognize and skip # comment.
2020-04-16 13:00:29 +02:00
Bram Moolenaar
b4a549fb16 patch 8.2.0582: color ramp test does not show text colors
Problem:    Color ramp test does not show text colors.
Solution:   Add a row of 16 text colors and 16 bold text colors.
2020-04-15 21:44:11 +02:00
Bram Moolenaar
81ccbf199f patch 8.2.0581: Win32 console: the cursor position is always top-left
Problem:    Win32 console: the cursor position is always top-left.
Solution:   Revert the patch for restoring screen.
2020-04-15 21:05:30 +02:00
Bram Moolenaar
edd327cc07 patch 8.2.0580: window size wrong if 'ea' is off and 'splitright' is on
Problem:    Window size wrong if 'ea' is off and 'splitright' is on and
            splitting then closing a window.
Solution:   Put abandoned window space in the right place. (Mark Waggoner)
2020-04-15 20:05:47 +02:00
Bram Moolenaar
4d5d0dfe94 patch 8.2.0579: Coverity warns for unused value
Problem:    Coverity warns for unused value.
Solution:   Change order and use "else if".
2020-04-14 20:56:31 +02:00
Bram Moolenaar
6c2b7b8055 patch 8.2.0578: heredoc for interfaces does not support "trim"
Problem:    Heredoc for interfaces does not support "trim".
Solution:   Update the script heredoc support to be same as the :let command.
            (Yegappan Lakshmanan, closes #5916)
2020-04-14 20:15:49 +02:00
Bram Moolenaar
7a1637f4c0 patch 8.2.0577: not all modifiers supported for :options
Problem:    Not all modifiers supported for :options.
Solution:   Use all cmdmod.split flags. (closes #4401)
2020-04-13 21:16:21 +02:00
Bram Moolenaar
067297e16a patch 8.2.0576: some errors are not covered by tests
Problem:    Some errors are not covered by tests.
Solution:   Add a few more tests. (Dominique Pelle, closes #5920)
2020-04-13 19:55:50 +02:00
Bram Moolenaar
e3242346cf patch 8.2.0575: :digraph! not tested
Problem:    :digraph! not tested.
Solution:   Add a test. (Dominique Pelle, closes #5925)
2020-04-13 19:46:43 +02:00
268 changed files with 16751 additions and 10869 deletions

1
.gitignore vendored
View File

@@ -5,6 +5,7 @@ src/xxd/xxd
src/auto/if_perl.c
src/auto/gui_gtk_gresources.c
src/auto/gui_gtk_gresources.h
src/auto/os_haiku.rdef
src/objects/.dirstamp
src/objects
src/tags

View File

@@ -13,6 +13,7 @@ SRC_ALL = \
ci/appveyor.bat \
ci/if_ver*.vim \
ci/load-snd-dummy.sh \
ci/config.mk*.sed \
src/Make_all.mak \
src/README.md \
src/alloc.h \
@@ -128,6 +129,8 @@ SRC_ALL = \
src/term.h \
src/termlib.c \
src/testing.c \
src/textformat.c \
src/textobject.c \
src/textprop.c \
src/time.c \
src/ui.c \
@@ -162,12 +165,12 @@ SRC_ALL = \
src/testdir/setup.vim \
src/testdir/setup_gui.vim \
src/testdir/shared.vim \
src/testdir/vim9.vim \
src/testdir/summarize.vim \
src/testdir/term_util.vim \
src/testdir/view_util.vim \
src/testdir/test[0-9]*.ok \
src/testdir/test[0-9]*a.ok \
src/testdir/test_[a-z]*.ok \
src/testdir/test49.vim \
src/testdir/test83-tags? \
src/testdir/test77a.com \
@@ -182,8 +185,6 @@ SRC_ALL = \
src/testdir/python_after/*.py \
src/testdir/python_before/*.py \
src/testdir/pyxfile/*.py \
src/testdir/bench*.in \
src/testdir/bench*.vim \
src/testdir/dumps/*.dump \
src/testdir/samples/*.txt \
src/testdir/samples/test000 \
@@ -280,6 +281,8 @@ SRC_ALL = \
src/proto/terminal.pro \
src/proto/termlib.pro \
src/proto/testing.pro \
src/proto/textformat.pro \
src/proto/textobject.pro \
src/proto/textprop.pro \
src/proto/time.pro \
src/proto/ui.pro \
@@ -607,8 +610,9 @@ SRC_AMI = \
# source files for Haiku (also in the extra archive)
SRC_HAIKU = \
README_haiku.txt \
src/os_haiku.h \
src/os_haiku.rdef \
src/os_haiku.rdef.in \
src/gui_haiku.cc \
src/gui_haiku.h \
src/proto/gui_haiku.pro \

View File

@@ -26,8 +26,8 @@ All commands are given with normal keyboard characters, so those who can type
with ten fingers can work very fast. Additionally, function keys can be
mapped to commands by the user, and the mouse can be used.
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, VMS and almost all
flavours of UNIX. Porting to other systems should not be very difficult.
Vim runs under MS-Windows (XP, Vista, 7, 8, 10), macOS, Haiku, VMS and almost
all flavours of UNIX. Porting to other systems should not be very difficult.
Older versions of Vim run on MS-DOS, MS-Windows 95/98/Me/NT/2000, Amiga DOS,
Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
@@ -72,6 +72,7 @@ archive):
README_unix.txt Unix
README_dos.txt MS-DOS and MS-Windows
README_mac.txt Macintosh
README_haiku.txt Haiku
README_vms.txt VMS
There are other `README_*.txt` files, depending on the distribution you used.

View File

@@ -0,0 +1,13 @@
README_haiku.txt for version 8.2 of Vim: Vi IMproved.
This file explains the installation of Vim on Haiku operating system.
See "README.txt" for general information about Vim.
Preferred (and easy) way to get Vim on Haiku is to use default Haiku
software repository HaikuPorts. To get Vim:
- Open HaikuDepot application and search for "vim" package, then install,
- Open a Terminal and type "pkgman install vim", then follow instructions.
If you prefer to install Vim from source, follow the instructions on
"runtime/doc/os_haiku.txt", "Compiling Vim" section.

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 8.2. Last change: 2020 Feb 09
*change.txt* For Vim version 8.2. Last change: 2020 Apr 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -209,7 +209,7 @@ gR Enter Virtual Replace mode: Each character you type
start insert (for {Visual} see |Visual-mode|).
*v_r*
{Visual}["x]r{char} Replace all selected characters by {char}.
{Visual}r{char} Replace all selected characters by {char}.
*v_C*
{Visual}["x]C Delete the highlighted lines [into register x] and
@@ -996,9 +996,9 @@ inside of strings can change! Also see 'softtabstop' option. >
5. Copying and moving text *copy-move*
*quote*
"{a-zA-Z0-9.%#:-"} Use register {a-zA-Z0-9.%#:-"} for next delete, yank
or put (use uppercase character to append with
delete and yank) ({.%#:} only work with put).
"{register} Use {register} for next delete, yank or put. Use
an uppercase character to append with delete and yank.
Registers ".", "%", "#" and ":" only work with put.
*:reg* *:registers*
:reg[isters] Display the type and contents of all numbered and

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 8.2. Last change: 2020 Feb 29
*cmdline.txt* For Vim version 8.2. Last change: 2020 Apr 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -615,6 +615,7 @@ followed by another Vim command:
:tcl
:tcldo
:tclfile
:terminal
:vglobal
:windo
:write !

View File

@@ -1,4 +1,4 @@
*develop.txt* For Vim version 8.2. Last change: 2019 Nov 22
*develop.txt* For Vim version 8.2. Last change: 2020 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -151,7 +151,8 @@ VIM IS... NOT *design-not*
A satirical way to say this: "Unlike Emacs, Vim does not attempt to include
everything but the kitchen sink, but some people say that you can clean one
with it. ;-)"
To use Vim with gdb see: http://www.agide.org and http://clewn.sf.net.
To use Vim with gdb see |terminal-debugger|. Other (older) tools can be
found at http://www.agide.org and http://clewn.sf.net.
- Vim is not a fancy GUI editor that tries to look nice at the cost of
being less consistent over all platforms. But functional GUI features are
welcomed.

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 8.2. Last change: 2020 Apr 13
*eval.txt* For Vim version 8.2. Last change: 2020 Apr 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1809,10 +1809,12 @@ v:errors Errors found by assert functions, such as |assert_true()|.
v:event Dictionary containing information about the current
|autocommand|. See the specific event for what it puts in
this dictionary.
The dictionary is emptied when the |autocommand|
finishes, please refer to |dict-identity| for how to get an
independent copy of it.
The dictionary is emptied when the |autocommand| finishes,
please refer to |dict-identity| for how to get an independent
copy of it. Use |deepcopy()| if you want to keep the
information after the event triggers. Example: >
au TextYankPost * let g:foo = deepcopy(v:event)
<
*v:exception* *exception-variable*
v:exception The value of the exception most recently caught and not
finished. See also |v:throwpoint| and |throw-variables|.
@@ -2644,7 +2646,7 @@ prop_clear({lnum} [, {lnum-end} [, {props}]])
none remove all text properties
prop_find({props} [, {direction}])
Dict search for a text property
prop_list({lnum} [, {props}) List text properties in {lnum}
prop_list({lnum} [, {props}]) List text properties in {lnum}
prop_remove({props} [, {lnum} [, {lnum-end}]])
Number remove a text property
prop_type_add({name}, {props}) none define a new property type
@@ -2652,7 +2654,7 @@ prop_type_change({name}, {props})
none change an existing property type
prop_type_delete({name} [, {props}])
none delete a property type
prop_type_get([{name} [, {props}])
prop_type_get([{name} [, {props}]])
Dict get property type values
prop_type_list([{props}]) List get list of property types
pum_getpos() Dict position and size of pum if visible
@@ -2901,13 +2903,13 @@ win_execute({id}, {command} [, {silent}])
String execute {command} in window {id}
win_findbuf({bufnr}) List find windows containing {bufnr}
win_getid([{win} [, {tab}]]) Number get window ID for {win} in {tab}
win_gettype([{nr}]) String type of window {nr}
win_gotoid({expr}) Number go to window with ID {expr}
win_id2tabwin({expr}) List get tab and window nr from window ID
win_id2win({expr}) Number get window nr from window ID
win_screenpos({nr}) List get screen position of window {nr}
win_splitmove({nr}, {target} [, {options}])
Number move window {nr} to split of {target}
win_type([{nr}]) String type of window {nr}
winbufnr({nr}) Number buffer number of window {nr}
wincol() Number window column of the cursor
winheight({nr}) Number height of window {nr}
@@ -3048,7 +3050,7 @@ arglistid([{winnr} [, {tabnr}]])
{winnr} can be the window number or the |window-ID|.
*argv()*
argv([{nr} [, {winid}])
argv([{nr} [, {winid}]])
The result is the {nr}th file in the argument list. See
|arglist|. "argv(0)" is the first one. Example: >
:let i = 0
@@ -5852,7 +5854,7 @@ has({feature} [, {check}])
Note that to skip code that has a syntax error when the
feature is not available, Vim may skip the rest of the line
and miss a following `endif`. Therfore put the `endif` on a
and miss a following `endif`. Therefore put the `endif` on a
separate line: >
if has('feature')
let x = this->breaks->without->the->feature
@@ -7766,7 +7768,7 @@ range({expr} [, {max} [, {stride}]]) *range()*
GetExpr()->range()
<
rand([{expr}]) *rand()*
rand([{expr}]) *rand()* *random*
Return a pseudo-random Number generated with an xoshiro128**
algorithm using seed {expr}. The returned number is 32 bits,
also on 64 bits systems, for consistency.
@@ -8639,8 +8641,8 @@ setloclist({nr}, {list} [, {action} [, {what}]]) *setloclist()*
GetLoclist()->setloclist(winnr)
setmatches({list} [, {win}]) *setmatches()*
Restores a list of matches saved by |getmatches() for the
current window|. Returns 0 if successful, otherwise -1. All
Restores a list of matches saved by |getmatches()| for the
current window. Returns 0 if successful, otherwise -1. All
current matches are cleared before the list is restored. See
example for |getmatches()|.
If {win} is specified, use the window with this number or

View File

@@ -198,13 +198,13 @@ Remarks about specific systems ~
|os_amiga.txt| Amiga
|os_beos.txt| BeOS and BeBox
|os_dos.txt| MS-DOS and MS-Windows common items
|os_haiku.txt| Haiku
|os_mac.txt| Macintosh
|os_mint.txt| Atari MiNT
|os_msdos.txt| MS-DOS (plain DOS and DOS box under Windows)
|os_os2.txt| OS/2
|os_qnx.txt| QNX
|os_risc.txt| RISC-OS
|os_haiku.txt| Haiku
|os_unix.txt| Unix
|os_vms.txt| VMS
|os_win32.txt| MS-Windows

View File

@@ -32,7 +32,7 @@ Examples:
:lua local curbuf = vim.buffer() curbuf[7] = "line #7"
<
:[range]lua << [endmarker]
:[range]lua << [trim] [{endmarker}]
{script}
{endmarker}
Execute Lua script {script}.
@@ -40,10 +40,9 @@ Examples:
feature wasn't compiled in. To avoid errors, see
|script-here|.
The {endmarker} must NOT be preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
{script}, like for the |:append| and |:insert| commands.
{script}, like for the |:append| and |:insert| commands. Refer to
|:let-heredoc| for more information.
This form of the |:lua| command is mainly useful for including Lua code
in Vim scripts.

View File

@@ -39,7 +39,7 @@ To speed up the process, you might also want to use --disable-gracket and
:[range]mz[scheme] {stmt}
Execute MzScheme statement {stmt}.
:[range]mz[scheme] << [endmarker]
:[range]mz[scheme] << [trim] [{endmarker}]
{script}
{endmarker}
Execute inlined MzScheme script {script}.
@@ -47,12 +47,11 @@ To speed up the process, you might also want to use --disable-gracket and
feature wasn't compiled in. To avoid errors, see
|script-here|.
The {endmarker} below the {script} must NOT be
preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot
'.' must be used after {script}, like for the
|:append| and |:insert| commands.
|:append| and |:insert| commands. Refer to
|:let-heredoc| for more information.
*:mzfile* *:mzf*
:[range]mzf[ile] {file} Execute the MzScheme script in {file}.

View File

@@ -55,7 +55,7 @@ The ActiveState one should work, Strawberry Perl is a good alternative.
working: >
:perl VIM::Msg("Hello")
:pe[rl] << [endmarker]
:pe[rl] << [trim] [{endmarker}]
{script}
{endmarker}
Execute Perl script {script}.

View File

@@ -34,7 +34,7 @@ Both can be available at the same time, but read |python-2-and-3|.
the `:python` command is working: >
:python print "Hello"
:[range]py[thon] << [endmarker]
:[range]py[thon] << [trim] [{endmarker}]
{script}
{endmarker}
Execute Python script {script}.
@@ -42,10 +42,9 @@ Both can be available at the same time, but read |python-2-and-3|.
feature wasn't compiled in. To avoid errors, see
|script-here|.
The {endmarker} below the {script} must NOT be preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
{script}, like for the |:append| and |:insert| commands.
{script}, like for the |:append| and |:insert| commands. Refer to
|:let-heredoc| for more information.
This form of the |:python| command is mainly useful for including python code
in Vim scripts.
@@ -768,12 +767,12 @@ match the Python 2.x or Python 3 version Vim was compiled with.
*:py3* *:python3*
:[range]py3 {stmt}
:[range]py3 << [endmarker]
:[range]py3 << [trim] [{endmarker}]
{script}
{endmarker}
:[range]python3 {stmt}
:[range]python3 << [endmarker]
:[range]python3 << [trim] [{endmarker}]
{script}
{endmarker}
The `:py3` and `:python3` commands work similar to `:python`. A

View File

@@ -28,15 +28,15 @@ downloading Ruby there.
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
:ruby print "Hello"
:rub[y] << [endmarker]
:rub[y] << [trim] [{endmarker}]
{script}
{endmarker}
Execute Ruby script {script}.
The {endmarker} after {script} must NOT be preceded by
any white space.
If [endmarker] is omitted, it defaults to a dot '.'
like for the |:append| and |:insert| commands.
like for the |:append| and |:insert| commands. Refer
to |:let-heredoc| for more information.
This form of the |:ruby| command is mainly useful for
including ruby code in vim scripts.

View File

@@ -30,7 +30,7 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
is working: >
:tcl puts "Hello"
:[range]tc[l] << [endmarker]
:[range]tc[l] << [trim] [{endmarker}]
{script}
{endmarker}
Execute Tcl script {script}.
@@ -38,10 +38,9 @@ comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
wasn't compiled in. To avoid errors, see
|script-here|.
The {endmarker} after {script} must NOT be preceded by any white space.
If [endmarker] is omitted from after the "<<", a dot '.' must be used after
{script}, like for the |:append| and |:insert| commands.
{script}, like for the |:append| and |:insert| commands. Refer to
|:let-heredoc| for more information.
This form of the |:tcl| command is mainly useful for including tcl code in Vim
scripts.

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 8.2. Last change: 2020 Mar 27
*index.txt* For Vim version 8.2. Last change: 2020 Apr 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -246,8 +246,7 @@ tag char note action in Normal mode ~
2 filter Nmove text through the {filter}
command
|!!| !!{filter} 2 filter N lines through the {filter} command
|quote| "{a-zA-Z0-9.%#:-"} use register {a-zA-Z0-9.%#:-"} for next
delete, yank or put (uppercase to append)
|quote| "{register} use {register} for next delete, yank or put
({.%#:} only work with put)
|#| # 1 search backward for the Nth occurrence of
the ident under the cursor
@@ -1115,7 +1114,7 @@ tag char action in Terminal-Job mode ~
|t_CTRL-W_:| CTRL-W : enter an Ex command
|t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
|t_CTRL-W_quote| CTRL-W " {0-9a-z"%#*:=}
|t_CTRL-W_quote| CTRL-W " {register}
paste register in the terminal
|t_CTRL-W_CTRL-C| CTRL-W CTRL-C forcefully ends the job
|t_CTRL-W_CTRL-W| CTRL-W CTRL-W move focus to the next window

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 8.2. Last change: 2020 Mar 25
*insert.txt* For Vim version 8.2. Last change: 2020 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -666,8 +666,10 @@ Note: The keys that are valid in CTRL-X mode are not mapped. This allows for
ends CTRL-X mode (any key that is not a valid CTRL-X mode command) is mapped.
Also, when doing completion with 'complete' mappings apply as usual.
Note: While completion is active Insert mode can't be used recursively.
Mappings that somehow invoke ":normal i.." will generate an E523 error.
*E578* *E565*
Note: While completion is active Insert mode can't be used recursively and
buffer text cannot be changed. Mappings that somehow invoke ":normal i.."
will generate an E565 error.
The following mappings are suggested to make typing the completion commands
a bit easier (although they will hide other commands): >

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 8.2. Last change: 2019 Dec 19
*map.txt* For Vim version 8.2. Last change: 2020 Apr 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1492,7 +1492,7 @@ The valid escape sequences are
<bang> (See the '-bang' attribute) Expands to a ! if the
command was executed with a ! modifier, otherwise
expands to nothing.
*<mods>*
*<mods>* *:command-modifiers*
<mods> The command modifiers, if specified. Otherwise, expands to
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,

View File

@@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 8.2. Last change: 2019 May 05
*netbeans.txt* For Vim version 8.2. Last change: 2020 Apr 19
VIM REFERENCE MANUAL by Gordon Prieur et al.
@@ -40,21 +40,26 @@ or environment providing a socket interface can control Vim using this
protocol. There are existing implementations in C, C++, Python and Java. The
name NetBeans is kept today for historical reasons.
Current projects using the NetBeans protocol of Vim are:
- VimIntegration, description of various projects doing Vim Integration:
Active project using the NetBeans protocol of Vim:
- Eclim, http://eclim.org/
VimIntegration, description of various projects doing Vim Integration:
http://www.freehackers.org/VimIntegration
- Agide, an IDE for the AAP project, written in Python:
http://www.a-a-p.org
Projects using the NetBeans protocol of Vim are or were:
- Agide, an IDE for the AAP project, written in Python (now replaced by
|:Termdebug|): http://www.a-a-p.org
- Clewn, a gdb integration into Vim, written in C:
http://clewn.sourceforge.net/
- Pyclewn, a gdb integration into Vim, written in Python:
http://pyclewn.sourceforge.net/
- VimWrapper, library to easy Vim integration into IDE:
http://www.freehackers.org/VimWrapper
Outdated projects (links don't work):
- VimPlugin, integration of Vim inside Eclipse:
http://vimplugin.sourceforge.net/wiki/pmwiki.php
- PIDA, IDE written in Python integrating Vim:
http://pida.co.uk/
- VimWrapper, library to easy Vim integration into IDE:
http://www.freehackers.org/VimWrapper
Check the specific project pages to see how to use Vim with these projects.
@@ -461,11 +466,13 @@ guard off len
initDone Mark the buffer as ready for use. Implicitly makes the buffer
the current buffer. Fires the BufReadPost autocommand event.
insertDone
insertDone starteol readonly
Sent by Vim Controller to tell Vim an initial file insert is
done. This triggers a read message being printed. Prior to
version 2.3, no read messages were displayed after opening a
file. New in version 2.3.
done. This triggers a read message being printed. If
"starteol" is "F" then the last line doesn't have a EOL. If
"readonly" is "T" then the file is marked as readonly. Prior
to version 2.3, no read messages were displayed after opening
a file. New in version 2.3.
moveAnnoToFront serNum
Not implemented.

View File

@@ -915,6 +915,8 @@ A jump table for the options with a short description can be found at |Q_op|.
eol allow backspacing over line breaks (join lines)
start allow backspacing over the start of insert; CTRL-W and CTRL-U
stop once at the start of insert.
nostop like start, except CTRL-W and CTRL-U do not stop at the start of
insert.
When the value is empty, Vi compatible backspacing is used.
@@ -923,6 +925,7 @@ A jump table for the options with a short description can be found at |Q_op|.
0 same as ":set backspace=" (Vi compatible)
1 same as ":set backspace=indent,eol"
2 same as ":set backspace=indent,eol,start"
3 same as ":set backspace=indent,eol,nostop"
See |:fixdel| if your <BS> or <Del> key does not do what you want.
NOTE: This option is set to "" when 'compatible' is set.
@@ -8320,9 +8323,11 @@ A jump table for the options with a short description can be found at |Q_op|.
Currently, these messages are given:
>= 1 When the viminfo file is read or written.
>= 2 When a file is ":source"'ed.
>= 4 Shell commands.
>= 5 Every searched tags file and include file.
>= 8 Files for which a group of autocommands is executed.
>= 9 Every executed autocommand.
>= 11 Finding items in a path
>= 12 Every executed function.
>= 13 When an exception is thrown, caught, finished, or discarded.
>= 14 Anything pending in a ":finally" clause.

View File

@@ -1,4 +1,4 @@
*os_haiku.txt* For Vim version 8.2. Last change: 2020 Mar 19
*os_haiku.txt* For Vim version 8.2. Last change: 2020 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -25,8 +25,9 @@ targets personal computing.
9. The meta key modifier |haiku-meta|
10. Mouse key mappings |haiku-mouse|
11. Color names |haiku-colors|
12. Credits |haiku-support-credits|
13. Bugs & to-do |haiku-bugs|
12. GUI Toolbar Images |haiku-toolbar-images|
13. Credits |haiku-support-credits|
14. Bugs & to-do |haiku-bugs|
1. General *haiku-general*
@@ -46,12 +47,11 @@ features you can enable/disable.
Haiku uses "ncurses6" as its terminal library, therefore you need to have
"ncurses6_devel" package installed from HaikuDepot in order to configure
the Haiku build. Just append "--with-tlib=ncurses6" to ./configure command
below for the initial build.
the Haiku build. Just append "--with-tlib=ncurses6" to ./configure command
Now you should use "make" to compile Vim, then "make install" to install it.
For seamless integration into Haiku, the GUI-less vim binary should be
additionally installed over the GUI version. Typical build commands are: >
additionally installed over the GUI version. Typical build commands are:
./configure --prefix=`finddir B_SYSTEM_NONPACKAGED_DIRECTORY` \
--datarootdir=`finddir B_SYSTEM_NONPACKAGED_DATA_DIRECTORY` \
@@ -71,25 +71,28 @@ additionally installed over the GUI version. Typical build commands are: >
Normally Vim starts with the GUI if you start it as gvim or vim -g. The vim
version with GUI tries to determine if it was started from the Tracker instead
of the Terminal, and if so, uses the GUI anyway. However, the current detection
of the Terminal, and if so, uses the GUI anyway. However, the current detection
scheme is fooled if you use the command "vim - </dev/null".
Stuff that does not work yet:
- Mouse up events are not generated when outside the window. This may be a bug in
Haiku. You can notice this when selecting text and moving the cursor outside
the window, then letting go of the mouse button. Another way is when you
drag the scrollbar and do the same thing. Because Vim still thinks you are
still playing with the scrollbar it won't change it itself. I provided a
workaround which kicks in when the window is activated or deactivated (so it
works best with focus- follows-mouse turned on).
- Mouse up events are not generated when outside the window. You can notice
this when selecting text and moving the cursor outside the window, then
letting go of the mouse button. Another way is when you drag the scrollbar
and do the same thing. Because Vim still thinks you are still playing with
the scrollbar it won't change it itself. There is a workaround which kicks
in when the window is activated or deactivated (so it works best with focus-
follows-mouse turned on).
- The cursor does not flash.
- Built-in terminal is not available in GUI, and does not work reliably on
console version as well; e.g. it is not possible to exit using the 'exit'
command. If you need to use it, enable at your own risk.
4. The $VIM directory *haiku-vimdir*
$VIM is the symbolic name for the place where Vim's support files are stored.
The default value for $VIM is set at compile time and can be determined with >
The default value for $VIM is set at compile time and can be determined with:
:version
@@ -117,7 +120,7 @@ The normal value is /boot/home/config/settings.
You can drop files and directories on either the Vim icon (starts a new Vim
session, unless you use the File Types application to set Vim to be "Single
Launch") or on the Vim window (starts editing the files). Dropping a folder
sets Vim's current working directory. |:cd| |:pwd| If you drop files or
sets Vim's current working directory |:cd| |:pwd|. If you drop files or
folders with either SHIFT key pressed, Vim changes directory to the folder
that contains the first item dropped. When starting Vim, there is no need to
press shift: Vim behaves as if you do.
@@ -164,7 +167,7 @@ isn't a dotted-y, then for this font the encoding does not work.
If the font you specify is unavailable, you get the system fixed font.
GUI Font Selection Dialog is available at giving the >
GUI Font Selection Dialog is available at giving the:
:set guifont=*
@@ -221,7 +224,7 @@ All the changes and patches released under vim-license.
Thank you, all!
13. Bugs & to-do *haiku-bugs*
14. Bugs & to-do *haiku-bugs*
The port is under development now and far away from the perfect state. For bug
reports, patches and wishes, please use the Vim mailing list or Vim Github

View File

@@ -230,7 +230,7 @@ A. VisionFS can't handle certain dot (.) three letter extension file names.
SCO declares this behavior required for backwards compatibility with 16bit
DOS/Windows environments. The two commands below demonstrate the behavior:
>
echo Hello > file.bat~
echo Hello > file.bat~
dir > file.bat
<
The result is that the "dir" command updates the "file.bat~" file, instead

View File

@@ -1,4 +1,4 @@
*popup.txt* For Vim version 8.2. Last change: 2020 Mar 21
*popup.txt* For Vim version 8.2. Last change: 2020 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -535,6 +535,8 @@ popup_setoptions({id}, {options}) *popup_setoptions()*
wrap
zindex
The options from |popup_move()| can also be used.
Generally, setting an option to zero or an empty string resets
it to the default value, but there are exceptions.
For "hidden" use |popup_hide()| and |popup_show()|.
"tabpage" cannot be changed.
@@ -579,15 +581,15 @@ The second argument of |popup_create()| is a dictionary with options:
line Screen line where to position the popup. Can use a
number or "cursor", "cursor+1" or "cursor-1" to use
the line of the cursor and add or subtract a number of
lines. If omitted the popup is vertically centered.
The first line is 1.
lines. If omitted or zero the popup is vertically
centered. The first line is 1.
When using "textprop" the number is relative to the
text property and can be negative.
col Screen column where to position the popup. Can use a
number or "cursor" to use the column of the cursor,
"cursor+9" or "cursor-9" to add or subtract a number
of columns. If omitted the popup is horizontally
centered. The first column is 1.
of columns. If omitted or zero the popup is
horizontally centered. The first column is 1.
When using "textprop" the number is relative to the
text property and can be negative.
pos "topleft", "topright", "botleft" or "botright":

View File

@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 8.2. Last change: 2019 Dec 07
*repeat.txt* For Vim version 8.2. Last change: 2020 Apr 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -166,7 +166,7 @@ q Stops recording. (Implementation note: The 'q' that
[addr] (default is current line).
:[addr]@ *:@@*
:[addr]@@ Repeat the previous :@{0-9a-z"}. First set cursor at
:[addr]@@ Repeat the previous :@{register}. First set cursor at
line [addr] (default is current line).
==============================================================================

View File

@@ -1315,6 +1315,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
+iconv various.txt /*+iconv*
+iconv/dyn various.txt /*+iconv\/dyn*
+insert_expand various.txt /*+insert_expand*
+ipv6 various.txt /*+ipv6*
+job various.txt /*+job*
+jumplist various.txt /*+jumplist*
+keymap various.txt /*+keymap*
@@ -2271,6 +2272,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:command-completion-custom map.txt /*:command-completion-custom*
:command-completion-customlist map.txt /*:command-completion-customlist*
:command-count map.txt /*:command-count*
:command-modifiers map.txt /*:command-modifiers*
:command-nargs map.txt /*:command-nargs*
:command-range map.txt /*:command-range*
:command-register map.txt /*:command-register*
@@ -4362,6 +4364,7 @@ E561 if_cscop.txt /*E561*
E562 if_cscop.txt /*E562*
E563 if_cscop.txt /*E563*
E564 if_cscop.txt /*E564*
E565 insert.txt /*E565*
E566 if_cscop.txt /*E566*
E567 if_cscop.txt /*E567*
E568 if_cscop.txt /*E568*
@@ -4373,6 +4376,7 @@ E574 starting.txt /*E574*
E575 starting.txt /*E575*
E576 starting.txt /*E576*
E577 starting.txt /*E577*
E578 insert.txt /*E578*
E579 eval.txt /*E579*
E580 eval.txt /*E580*
E581 eval.txt /*E581*
@@ -8579,6 +8583,7 @@ quote~ change.txt /*quote~*
r change.txt /*r*
r.vim syntax.txt /*r.vim*
rand() eval.txt /*rand()*
random eval.txt /*random*
range() eval.txt /*range()*
raw-terminal-mode term.txt /*raw-terminal-mode*
rcp pi_netrw.txt /*rcp*
@@ -9957,6 +9962,7 @@ vim-variable eval.txt /*vim-variable*
vim.vim syntax.txt /*vim.vim*
vim7 version7.txt /*vim7*
vim8 version8.txt /*vim8*
vim9 vim9.txt /*vim9*
vim9-differences vim9.txt /*vim9-differences*
vim9-export vim9.txt /*vim9-export*
vim9-import vim9.txt /*vim9-import*

View File

@@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 8.2. Last change: 2020 Apr 03
*tagsrch.txt* For Vim version 8.2. Last change: 2020 Apr 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -527,10 +527,13 @@ a tag for each "#defined" macro, typedefs, enums, etc.
Some programs that generate tags files:
ctags As found on most Unix systems. Only supports C. Only
does the basic work.
universal ctags A maintained version of ctags based on exuberant
ctags. See https://ctags.io.
*Exuberant_ctags*
exuberant ctags This is a very good one. It works for C, C++, Java,
Fortran, Eiffel and others. It can generate tags for
many items. See http://ctags.sourceforge.net.
No new version since 2009.
etags Connected to Emacs. Supports many languages.
JTags For Java, in Java. It can be found at
http://www.fleiner.com/jtags/.

View File

@@ -1,4 +1,4 @@
*term.txt* For Vim version 8.2. Last change: 2019 Dec 07
*term.txt* For Vim version 8.2. Last change: 2020 Apr 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -545,6 +545,7 @@ Note about colors: The 't_Co' option tells Vim the number of colors available.
When it is non-zero, the 't_AB' and 't_AF' options are used to set the color.
If one of these is not available, 't_Sb' and 't_Sf' are used. 't_me' is used
to reset to the default colors. Also see 'termguicolors'.
When the GUI is running 't_Co' is set to 16777216.
*termcap-cursor-shape* *termcap-cursor-color*
When Vim enters Insert mode the 't_SI' escape sequence is sent. When Vim

View File

@@ -1,4 +1,4 @@
*terminal.txt* For Vim version 8.2. Last change: 2020 Mar 26
*terminal.txt* For Vim version 8.2. Last change: 2020 Apr 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -120,7 +120,7 @@ break (cursor keys start with an Esc, so they may break): >
You can also create menus similar to terminal mode mappings, but you have to
use |:tlmenu| instead of |:tmenu|.
< *options-in-terminal*
*options-in-terminal*
After opening the terminal window and setting 'buftype' to "terminal" the
TerminalOpen autocommand event is triggered. This makes it possible to set
options specifically for the window and buffer. Example: >
@@ -183,6 +183,10 @@ Command syntax ~
keep the terminal open in Terminal-Normal mode. This
can be changed with the ++close argument.
No Vim command can follow, any | is included in
[command]. Use `:execute` if you must have a Vim
command following in the same line.
A new buffer will be created, using [command] or
'shell' as the name, prefixed with a "!". If a buffer
by this name already exists a number is added in

View File

@@ -101,7 +101,7 @@ Manipulating text property types:
prop_type_add({name}, {props}) define a new property type
prop_type_change({name}, {props}) change an existing property type
prop_type_delete({name} [, {props}]) delete a property type
prop_type_get([{name} [, {props}]) get property type values
prop_type_get([{name} [, {props}]]) get property type values
prop_type_list([{props}]) get list of property types
@@ -111,7 +111,7 @@ prop_add({lnum}, {col}, {props}) add a text property
prop_clear({lnum} [, {lnum-end} [, {bufnr}]])
remove all text properties
prop_find({props} [, {direction}]) search for a text property
prop_list({lnum} [, {props}) text properties in {lnum}
prop_list({lnum} [, {props}]) text properties in {lnum}
prop_remove({props} [, {lnum} [, {lnum-end}]])
remove a text property
@@ -291,7 +291,7 @@ prop_type_delete({name} [, {props}]) *prop_type_delete()*
Can also be used as a |method|: >
GetPropName()->prop_type_delete()
prop_type_get([{name} [, {props}]) *prop_type_get()*
prop_type_get([{name} [, {props}]]) *prop_type_get()*
Returns the properties of property type {name}. This is a
dictionary with the same fields as was given to
prop_type_add().

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.2. Last change: 2020 Apr 10
*todo.txt* For Vim version 8.2. Last change: 2020 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -39,28 +39,59 @@ browser use: https://github.com/vim/vim/issues/1234
-------------------- Known bugs and current work -----------------------
Vim9 script:
func and partial types:
- check using func type with default arguments and varargs.
func(type, type?, ...): rettype
- Type checking arguments when calling :def function and test
- Calling unknown user function does not give proper error message:
assert_equal('123text', RefDef2Arg()) typo for "RetDef2Arg"
- "func" inside "vim9script" doesn't work? (Ben Jackson, #5670)
- :func inside vim9script must still use a:arg
Big changes, need design:
- Make closures work:
Grab the part of the stack that has the arguments and local vars.
Pass a pointer and offset to the closure where this stack fragment is (frame
pointer).
When a closure disappears at end of the function - nothing to do.
When a closure remains at end of the function: copy frame, attach to closure.
- At the vim9 script level: Allow using a function that is defined later.
Requires compiling functions only when the whole script has been sourced.
Like Javascript "hoisting", but only at the script level:
1. Discovery phase: Read the file to find all functions, variable
declarations and imports If a variable has a constant expression we get
the type, otherwise it will be "any". Follow imports recursively.
2. Compilation phase: compile :def function bodies, using declared types
3. Execution phase: Execute imports when encountered. (skip over functions)
- When sourcing a script again, also delete script-local variables.
Making everything work:
- Test that a script-local function in Vim9 script cannot be deleted.
- Test that a function defined inside a :def function is local to that
function, g: functions can be defined and script-local functions cannot be
defined.
- Check that when using a user function name without prefix, it does not find
a global function. Prefixing g: is required.
- Compile let [var, var] = expr
- Compile replacement of :s command: s/pat/\=expr/
- Compile redir to local variable: var_redir_start().
- Compile builtin functions that access local variables:
islocked()
- Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
- Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
- Expand `=expr` in :mkspell
- Support type for ":let"/":const" at script level for Vim9 script.
(Ben Jackson, #5671)
Can we share the code from ex_let_const() between direct execution and
compiling?
- Disallow unlet for local/script/imported vars
- Make "++nr" work.
- expandcmd() with `=expr` in filename uses legacy expression.
- eval_expr() in ex_cexpr()
- eval_expr() call in dbg_parsearg() and debuggy_find()
New syntax and functionality:
- define function and create funcref in one step:
let ref = def(arg: type): rettype
body
enddef
Also:
Improve error checking:
- "echo Func()" is an error if Func() does not return anything.
Also:
- For range: make table of first ASCII character with flag to quickly check if
it can be a Vim9 command. E.g. "+" can, but "." can't.
- better implementation for partial and tests for that.
- Make "g:imported = Export.exported" work in Vim9 script.
- Make Foo.Bar() work to call the dict function. (#5676)
- make "let var: string" work in a vim9script.
- Disallow unlet for local/script/imported vars
- Support type for ":let"/":const" at script level for Vim9 script.
(Ben Jackson, #5671)
- Make "++nr" work.
- Check that import in legacy script works and puts item in s:
- Error in any command in "vim9script" aborts sourcing.
- Find a way to test expressions in legacy and Vim9 script without duplication
@@ -75,8 +106,6 @@ Also:
map(list, SomeFunc)
- Test: Function declared inside a :def function is local, disappears at the
end of the function. Unless g: is used, just like with variables.
- Can we omit \ for line continuation inside (), {}, ?
Requires parsing while reading a function. Like fgetline in do_one_cmd()?
- implement :type
- import type declaration?
- implement class
@@ -85,6 +114,13 @@ Also:
- Make accessing varargs faster: arg[expr]
EVAL expr
LOADVARARG (varags idx)
Further improvements:
- compile options that are an expression, e.g. "expr:" in 'spellsuggest',
'foldexpr', 'foldtext', 'printexpr', 'diffexpr', 'patchexpr', 'charconvert',
'balloonexpr', 'includeexpr', 'indentexpr', 'formatexpr'.
- compile get_lambda_tv() in popup_add_timeout()
- compile "skip" argument of searchpair()
- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
Popup windows:
- With some sequence get get hidden finished terminal buffer. (#5768)
@@ -93,6 +129,7 @@ Popup windows:
Is buf->nwindows incorrect?
- popup_clear() and popup_close() should close the terminal popup, and
make the buffer hidden. #5745
- Cursor not updated before a redraw, making it jump. (#5943)
- With terminal in popup, allow for popup_hide() to temporarily hide it.?
- Fire some autocommand event after a new popup window was created and
positioned? PopupNew? Could be used to set some options or move it out of
@@ -113,6 +150,8 @@ Popup windows:
Text properties:
- Patch to fix that split / join does not update properties properly (Axel
Forsman, #5839) Alternative: #5875.
- :goto does not go to the right place when test properties are present.
(#5930)
- "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
- Get E685 with a sequence of commands. (#5674)
- Combining text property with 'cursorline' does not always work (Billie
@@ -152,6 +191,10 @@ Terminal debugger:
with another Vim instance.
Terminal emulator window:
- When started with ":terminal ++close" and the shell exits but there is a
background process, the window remains open, because the channel still
exists (and output still shows). Perhaps close the window when an explicit
++close was used? (#5931)
- When the job in the terminal doesn't use mouse events, let the scroll wheel
scroll the scrollback, like a terminal does at the shell prompt. #2490
And use modeless selection. #2962
@@ -183,8 +226,8 @@ Terminal emulator window:
conversions.
Error numbers available:
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
E654, E856, E857, E861, E900
E453, E454, E460, E489, E491, E610, E611, E653,
E856, E857, E861, E900
Buffer autocommands are a bit inconsistent. Add a separate set of
autocommands for the buffer lifecycle:
@@ -198,7 +241,7 @@ The buffer list and windows are locked, no changes possible
Patch to fix drawing error with DirectX. (James Grant, #5688)
Causes flicker on resizing.
In gvim always set t_Co to 16777216 (#5903)
Patch to support ipv6 for channel. (Ozaki Kiichi, #5893)
Patch to explain use of "%" in :!. (David Briscoe, #5591)
@@ -207,8 +250,13 @@ Ready to include.
Patch to add "-d" to xxd. (#5616)
Patch for the Haiku port: #5961
Patch to add Turkish manual. (Emir Sarı, #5641)
Patch to support different color for undercurl in cterm.
(Timur Celik, #6011)
Patch to support cindent option to handle pragmas differently.
(Max Rumpf, #5468)
@@ -219,6 +267,9 @@ manager. Problem with Motif? Now test_gui crashes in submenu_change().
Athena is OK.
Motif: Build on Ubuntu can't enter any text in dialog text fields.
:map output does not clear the reset of the command line.
(#5623, also see #5962)
Patch to properly break CJK lines: Anton Kochkov, #3875
Flag in 'formatoptions' is not used in the tests.
@@ -233,7 +284,10 @@ Ready to include? Review the code.
When 'lazyredraw' is set sometimes the title is not updated.
(Jason Franklin, 2020 Feb 3) Looks like a race condition.
Patch to delete BeOS code. (#5817)
Patch to delete BeOS code. (#5817) Anyone who wants to keep it?
With bash ":make" does not set v:shell_error. Possible solution: set
'shellpipe' to "2>&1| tee %s; exit ${PIPESTATUS[0]}" #5994
Strange sequence of BufWipeout and BufNew events while doing omni-complete.
(Paul Jolly, #5656)
@@ -302,6 +356,8 @@ unlisted. (#4478)
Patch to include reduce() function. (#5481)
When SIGTSTP is ignored, don't let CTRL-Z suspend Vim? (Kurtis Rader, #5990)
Statusline highlighting error, off by one. (#5599)
Enable 'termbidi' if $VTE_VERSION >= 5703 ?
@@ -316,11 +372,6 @@ Python 3.8 doesn't work. (Antonios Hadjigeorgalis, #5509)
The :syntax cchar value can only be a single character. It would be useful to
support combining characters. (Charles Campbell) Also #4687
Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
It can replace the BeOS code, which is likely not used anymore.
Now on github: #1856. Updated Oct 2017
Got permission to include this under the Vim license.
"--cleanFOO" does not result in an error. (#5537)
Add "t" action to settagstack(): truncate and add new entries. (#5405)

View File

@@ -402,7 +402,7 @@ Another way to start in diff mode can be done from inside Vim. Edit the
"main.c" file, then make a split and show the differences: >
:edit main.c
:vertical diffsplit main.c~
:vertical diffsplit main.c~
The ":vertical" command is used to make the window split vertically. If you
omit this, you will get a horizontal split.

View File

@@ -687,7 +687,7 @@ with any motion command, with text objects and in Visual mode.
lowercase. This can be shortened to "guu". "gUgU" is shortened to "gUU" and
"g~g~" to "g~~". Example: >
g~~
g~~
< Some GIRLS have Fun ----> sOME girls HAVE fUN ~
==============================================================================

View File

@@ -1,4 +1,4 @@
*various.txt* For Vim version 8.2. Last change: 2020 Mar 19
*various.txt* For Vim version 8.2. Last change: 2020 Apr 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -543,7 +543,7 @@ N *+X11* Unix only: can restore window title |X11|
locked or the variable type is changed, then further
command output messages will cause errors.
To get the output of one command the |execute()|
function can be used.
function can be used instead of redirection.
:redi[r] =>> {var} Append messages to an existing variable. Only string
variables can be used.

View File

@@ -1,4 +1,4 @@
*vim9.txt* For Vim version 8.2. Last change: 2020 Apr 09
*vim9.txt* For Vim version 8.2. Last change: 2020 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -6,7 +6,7 @@
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
Vim9 script commands and expressions.
Vim9 script commands and expressions. *vim9*
Most expression help is in |eval.txt|. This file is about the new syntax and
features in Vim9 script.
@@ -28,29 +28,32 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
THIS IS STILL UNDER DEVELOPMENT - ANYTHING CAN BREAK - ANYTHING CAN CHANGE
Vim script has been growing over time, while keeping backwards compatibility.
That means bad choices from the past often can't be changed. Execution is
quite slow, every line is parsed every time it is executed.
Vim script has been growing over time, while preserving backwards
compatibility. That means bad choices from the past often can't be changed
and compability with Vi restricts possible solutions. Execution is quite
slow, each line is parsed every time it is executed.
The main goal of Vim9 script is to drastically improve performance. An
increase in execution speed of 10 to 100 times can be expected. A secondary
goal is to avoid Vim-specific constructs and get closer to commonly used
programming languages, such as JavaScript, TypeScript and Java.
The main goal of Vim9 script is to drastically improve performance. This is
accomplished by compiling commands into instructions that can be efficiently
executed. An increase in execution speed of 10 to 100 times can be expected.
A secondary goal is to avoid Vim-specific constructs and get closer to
commonly used programming languages, such as JavaScript, TypeScript and Java.
The performance improvements can only be achieved by not being 100% backwards
compatible. For example, in a function the arguments are not available in the
"a:" dictionary, as creating that dictionary adds quite a lot of overhead.
Other differences are more subtle, such as how errors are handled.
"a:" dictionary, because creating that dictionary adds quite a lot of
overhead. Other differences are more subtle, such as how errors are handled.
The Vim9 script syntax and semantics are used in:
- a function defined with the `:def` command
- a script file where the first command is `vim9script`
When using `:function` in a Vim9 script file the legacy syntax is used.
However, this is discouraged.
However, this can be confusing and is therefore discouraged.
Vim9 script and legacy Vim script can be mixed. There is no need to rewrite
old scripts, they keep working as before.
Vim9 script and legacy Vim script can be mixed. There is no requirement to
rewrite old scripts, they keep working as before.
==============================================================================
@@ -62,26 +65,72 @@ Comments starting with # ~
In Vim script comments normally start with double quote. That can also be the
start of a string, thus in many places it cannot be used. In Vim9 script a
comment can also start with #. Normally this is a command to list text with
comment can also start with #. In Vi this is a command to list text with
numbers, but you can also use `:number` for that. >
let count = 0 # number of occurences of Ni!
let count = 0 # number of occurences
To improve readability there must be a space between the command and the #
that starts a comment. Note that #{ is the start of a dictionary, therefore
it cannot start a comment.
Vim9 functions ~
A function defined with `:def` is compiled. Execution is many times faster,
often 10x to 100x times.
Many errors are already found when compiling, before the function is called.
The syntax is strict, to enforce code that is easy to read and understand.
`:def` has no extra arguments like `:function` does: "range", "abort", "dict"
or "closure". A `:def` function always aborts on an error, does not get a
range passed and cannot be a "dict" function.
In the function body:
- Arguments are accessed by name, without "a:".
- There is no "a:" dictionary or "a:000" list. Variable arguments are defined
with a name and have a list type: >
def MyFunc(...itemlist: list<type>)
The argument types and return type need to be specified. The "any" type can
be used, type checking will then be done at runtime, like with legacy
functions.
Arguments are accessed by name, without "a:". There is no "a:" dictionary or
"a:000" list.
Variable arguments are defined as the last argument, with a name and have a
list type, similar to Typescript. For example, a list of numbers: >
def MyFunc(...itemlist: list<number>)
for item in itemlist
...
Functions and variables are script-local by default ~
When using `:function` or `:def` to specify a new function at the script level
in a Vim9 script, the function is local to the script, as if "s:" was
prefixed. Using the "s:" prefix is optional.
To define or use a global function or variable the "g:" prefix must be used.
When using `:function` or `:def` to specify a new function inside a function,
the function is local to the function. It is not possible to define a
script-local function inside a function. It is possible to define a global
function, using the "g:" prefix.
When referring to a function and no "s:" or "g:" prefix is used, Vim will
search for the function in this order:
- Local to the current scope and outer scopes up to the function scope.
- Local to the current script file.
- Imported functions, see `:import`.
In all cases the function must be defined before used. To make a call cycle a
global function needs to be used. (TODO: can we fix this?)
The result is that functions and variables without a namespace can always be
found in the script, either defined there or imported. Global functions and
variables could be defined anywhere (good luck finding where!).
Global functions can be defined and deleted at nearly any time. In Vim9
script script-local functions are defined once when the script is sourced and
cannot be deleted. Except that when the same script is sourced again all
existing script-local functions and variables are deleted.
Variable declarations with :let and :const ~
Local variables need to be declared with `:let`. Local constants need to be
@@ -129,12 +178,12 @@ and without `:let`, because there is no rule about where they are declared.
Variables cannot shadow previously defined variables.
Variables may shadow Ex commands, rename the variable if needed.
Global variables must be prefixed with "g:", also at the script level.
However, global user defined functions are used without "g:". >
Global variables and user defined functions must be prefixed with "g:", also
at the script level. >
vim9script
let script_local = 'text'
let g:global = 'value'
let Funcref = ThatFunction
let Funcref = g:ThatFunction
Since "&opt = value" is now assigning a value to option "opt", ":&" cannot be
used to repeat a `:substitute` command.
@@ -468,9 +517,12 @@ Then "myvar" will only exist in this file. While without `vim9script` it would
be available as `g:myvar` from any other script and function.
The variables at the file level are very much like the script-local "s:"
variables in legacy Vim script, but the "s:" is omitted.
variables in legacy Vim script, but the "s:" is omitted. And they cannot be
deleted.
In Vim9 script the global "g:" namespace can still be used as before.
In Vim9 script the global "g:" namespace can still be used as before. And the
"w:", "b:" and "t:" namespaces. These have in common that variables are not
declared and they can be deleted.
A side effect of `:vim9script` is that the 'cpoptions' option is set to the
Vim default value, like with: >

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2020 Apr 12
" Last Change: 2020 Apr 29
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -234,13 +234,13 @@ au BufNewFile,BufRead *.bl setf blank
au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml
" BSDL
au BufNewFile,BufRead *.bsdl setf bsdl
au BufNewFile,BufRead *bsd,*.bsdl setf bsdl
" Bazel (http://bazel.io)
autocmd BufRead,BufNewFile *.bzl,WORKSPACE,BUILD.bazel setf bzl
if has("fname_case")
" There is another check for BUILD further below.
autocmd BufRead,BufNewFile BUILD setf bzl
autocmd BufRead,BufNewFile BUILD setf bzl
endif
" C or lpc
@@ -1650,7 +1650,9 @@ au BufNewFile,BufRead */etc/systemd/system/*.d/*.conf setf systemd
au BufNewFile,BufRead */.config/systemd/user/*.d/*.conf setf systemd
" Systemd temp files
au BufNewFile,BufRead */etc/systemd/system/*.d/.#* setf systemd
au BufNewFile,BufRead */etc/systemd/system/.#* setf systemd
au BufNewFile,BufRead */.config/systemd/user/*.d/.#* setf systemd
au BufNewFile,BufRead */.config/systemd/user/.#* setf systemd
" Synopsys Design Constraints
au BufNewFile,BufRead *.sdc setf sdc

View File

@@ -1,7 +1,8 @@
" Vim settings file
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66)
" Version: 0.50
" Last Change: 2015 Nov. 30
" Last Change: 2020 Apr 20
" Patched By: Eisuke Kawashima
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
" Usage: For instructions, do :help fortran-plugin from Vim
" Credits:
@@ -31,10 +32,10 @@ if !exists("b:fortran_fixed_source")
elseif exists("fortran_fixed_source")
" User guarantees fixed source form
let b:fortran_fixed_source = 1
elseif expand("%:e") ==? "f\<90\|95\|03\|08\>"
elseif expand("%:e") =~? '^f\%(90\|95\|03\|08\)$'
" Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers
let b:fortran_fixed_source = 0
elseif expand("%:e") ==? "f\|f77\|for"
elseif expand("%:e") =~? '^\%(f\|f77\|for\)$'
" Fixed-form file extension defaults
let b:fortran_fixed_source = 1
else

View File

@@ -1,7 +1,8 @@
" Vim filetype plugin file
" Language: man
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2020 Apr 13
" Maintainer: Jason Franklin <vim@justemail.net>
" Previous Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2020 Apr 30
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
@@ -205,7 +206,7 @@ func <SID>GetPage(cmdmods, ...)
endif
let env_cmd = s:env_has_u ? 'env -u MANPAGER' : 'env MANPAGER=cat'
let env_cmd .= ' GROFF_NO_SGR=1'
let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page) . ' | col -b'
let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page) . ' 2>/dev/null | col -b'
silent exec "r !" . man_cmd
if unsetwidth

View File

@@ -1,9 +1,9 @@
" Vim filetype plugin file
" Language: Perl
" Maintainer: vim-perl <vim-perl@googlegroups.com>
" Homepage: http://github.com/vim-perl/vim-perl
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
" Last Change: 2015-02-09
" Homepage: https://github.com/vim-perl/vim-perl
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
" Last Change: 2020 Apr 15
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1

View File

@@ -1,9 +1,9 @@
" Vim filetype plugin file
" Language: Perl 6
" Maintainer: vim-perl <vim-perl@googlegroups.com>
" Homepage: http://github.com/vim-perl/vim-perl
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
" Last Change: 2013-07-21
" Homepage: https://github.com/vim-perl/vim-perl
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
" Last Change: 2020 Apr 15
" Contributors: Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
"
" Based on ftplugin/perl.vim by Dan Sharp <dwsharp at hotmail dot com>

View File

@@ -1,7 +1,41 @@
" Vim filetype plugin file
" Language: systemd.unit(5)
" Language: systemd.unit(5)
" Keyword Lookup Support: Enno Nagel <enno.nagel+vim@gmail.com>
if !exists('b:did_ftplugin')
" Looks a lot like dosini files.
runtime! ftplugin/dosini.vim
endif
if !has('unix')
finish
endif
if !has('gui_running')
command! -buffer -nargs=1 Sman silent exe '!' . KeywordLookup_systemd(<q-args>) | redraw!
elseif has('terminal')
command! -buffer -nargs=1 Sman silent exe 'term ' . KeywordLookup_systemd(<q-args>)
else
finish
endif
if !exists('*KeywordLookup_systemd')
function KeywordLookup_systemd(keyword) abort
let matches = matchlist(getline(search('\v^\s*\[\s*.+\s*\]\s*$', 'nbWz')), '\v^\s*\[\s*(\k+).*\]\s*$')
if len(matches) > 1
let section = matches[1]
return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd.' . section
else
return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd'
endif
endfunction
endif
setlocal iskeyword+=-
setlocal keywordprg=:Sman
if !exists('b:undo_ftplugin') || empty(b:undo_ftplugin)
let b:undo_ftplugin = 'setlocal keywordprg< iskeyword<'
else
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
endif

View File

@@ -1,7 +1,8 @@
" Vim indent file
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
" Version: 47
" Last Change: 2016 Oct. 29
" Last Change: 2020 Apr 20
" Patched By: Eisuke Kawashima
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
" Usage: For instructions, do :help fortran-indent from Vim
" Credits:
@@ -39,10 +40,10 @@ if !exists("b:fortran_fixed_source")
elseif exists("fortran_fixed_source")
" User guarantees fixed source form
let b:fortran_fixed_source = 1
elseif expand("%:e") ==? "f\<90\|95\|03\|08\>"
elseif expand("%:e") =~? '^f\%(90\|95\|03\|08\)$'
" Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers
let b:fortran_fixed_source = 0
elseif expand("%:e") ==? "f\|f77\|for"
elseif expand("%:e") =~? '^\%(f\|f77\|for\)$'
" Fixed-form file extension defaults
let b:fortran_fixed_source = 1
else

View File

@@ -1,9 +1,9 @@
" Vim indent file
" Language: Perl 5
" Maintainer: vim-perl <vim-perl@googlegroups.com>
" Homepage: http://github.com/vim-perl/vim-perl
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
" Last Change: 2017-01-04
" Homepage: https://github.com/vim-perl/vim-perl
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
" Last Change: 2020 Apr 15
" Suggestions and improvements by :
" Aaron J. Sherman (use syntax for hints)

View File

@@ -1,9 +1,9 @@
" Vim indent file
" Language: Perl 6
" Maintainer: vim-perl <vim-perl@googlegroups.com>
" Homepage: http://github.com/vim-perl/vim-perl
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
" Last Change: 2017 Jun 13
" Homepage: https://github.com/vim-perl/vim-perl
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
" Last Change: 2020 Apr 15
" Contributors: Andy Lester <andy@petdance.com>
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
"

View File

@@ -79,7 +79,7 @@ menutrans &Global\ Settings Opcions\ &globals
menutrans Never &Mai
menutrans Block\ Selection &Selecció\ de\ blocs
menutrans Insert\ mode Mode\ d'&inserció
menutrans Block\ and\ Insert &Blocs i inserció
menutrans Block\ and\ Insert &Blocs\ i\ inserció
menutrans Always S&empre
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Mode\ d'&inserció<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! Co&mpatible\ amb\ Vi<Tab>:set\ cp!

View File

@@ -1,7 +1,7 @@
" Menu Translations: Simplified Chinese
" Maintainer: Shun Bai <baishunde@gmail.com>
" Previous Maintainer: Yuheng Xie <elephant@linux.net.cn>
" Last Change: 2019-09-10
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -122,7 +122,7 @@ menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin!
" other options
menutrans &Shiftwidth 缩进宽度(&S)
menutrans Soft\ &Tabstop 软制表位宽度(Soft Tabstop)(&T)
menutrans Soft\ &Tabstop 软制表位宽度(Soft\ Tabstop)(&T)
menutrans Te&xt\ Width\.\.\. 文本宽度(&X)\.\.\.
menutrans &File\ Format\.\.\. 文件格式(&F)\.\.\.
@@ -435,8 +435,8 @@ menutrans Set\ '&filetype'\ Too Ҳ
menutrans Sorting\ Method 排序方式
" Netrw.Style.Sorting Method menuitems {{{3
menutrans Name<tab>s 文件名<tab>s
menutrans Time<tab>s 修改时间<tab>s
menutrans Size<tab>s 大小<tab>s
menutrans Time<tab>s 修改时间<tab>s
menutrans Size<tab>s 大小<tab>s
menutrans Exten<tab>s 扩展名<tab>s
" }}}
" }}}

View File

@@ -110,7 +110,7 @@ menutrans Build\ &Tags\ File &Vytvo
if has("spell")
menutrans &Spelling &Kontrola\ pravopisu
menutrans &Spell\ Check\ On &Zapnout\ kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout \kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout\ kontrolu\ pravopisu
menutrans To\ &Next\ error<Tab>]s &Dal¹í\ chyba<Tab>]s
menutrans To\ &Previous\ error<Tab>[s &Pøedchozí\ chyba<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= &Navrhnout\ opravy<Tab>z=

View File

@@ -110,7 +110,7 @@ menutrans Build\ &Tags\ File &Vytvořit\ soubor\ tagů
if has("spell")
menutrans &Spelling &Kontrola\ pravopisu
menutrans &Spell\ Check\ On &Zapnout\ kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout \kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout\ kontrolu\ pravopisu
menutrans To\ &Next\ error<Tab>]s &Další\ chyba<Tab>]s
menutrans To\ &Previous\ error<Tab>[s &Předchozí\ chyba<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= &Navrhnout\ opravy<Tab>z=

View File

@@ -110,7 +110,7 @@ menutrans Build\ &Tags\ File &Vytvo
if has("spell")
menutrans &Spelling &Kontrola\ pravopisu
menutrans &Spell\ Check\ On &Zapnout\ kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout \kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout\ kontrolu\ pravopisu
menutrans To\ &Next\ error<Tab>]s &Další\ chyba<Tab>]s
menutrans To\ &Previous\ error<Tab>[s &Pøedchozí\ chyba<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= &Navrhnout\ opravy<Tab>z=

View File

@@ -110,7 +110,7 @@ menutrans Build\ &Tags\ File &Vytvorit\ soubor\ tagu
if has("spell")
menutrans &Spelling &Kontrola\ pravopisu
menutrans &Spell\ Check\ On &Zapnout\ kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout \kontrolu\ pravopisu
menutrans Spell\ Check\ &Off &Vypnout\ kontrolu\ pravopisu
menutrans To\ &Next\ error<Tab>]s &Dalsi\ chyba<Tab>]s
menutrans To\ &Previous\ error<Tab>[s &Predchozi\ chyba<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= &Navrhnout\ opravy<Tab>z=

View File

@@ -1,6 +1,6 @@
" Menu Translations: Danish
" Maintainer: scootergrisen
" Last Change: 2018 Aug 17
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -390,7 +390,7 @@ menut Preview<tab>p Forhåndsvis<tab>p
menut Edit\ File\ Hiding\ List<tab><ctrl-h> Rediger\ liste\ til\ filskjulning
menut Edit\ Sorting\ Sequence<tab>S Rediger\ sorteringssekvens<tab>S
menut Quick\ Hide/Unhide\ Dot\ Files<tab>gh Hurtig\ skjul/vis\ punktum-filer<tab>gh
menut Refresh\ Listing<tab><ctrl-l> Genopfrisk\ oplistning<tab>\<c-l> ikke sikker det med \ er korrekt
menut Refresh\ Listing<tab><ctrl-l> Genopfrisk\ oplistning<tab>\<c-l>\ ikke\ sikker\ det\ med\ er\ korrekt
menut Settings/Options<tab>:NetrwSettings Indstillinger/valgmuligheder<tab>
menut Delete\ File/Directory<tab>D Slet\ fil/mappe<tab>D
@@ -406,10 +406,10 @@ menut In\ New\ Vertical\ Window<tab>v I\ nyt\ lodret\ vindue<tab>v
menut Explore Gennemse
menut Directory\ Name Mappenavn<tab>:Explore
menut Filenames\ Matching\ Pattern\ (curdir\ only)<tab>:Explore\ */ test29<tab>:Explore */
menut Filenames\ Matching\ Pattern\ (+subdirs)<tab>:Explore\ **/ test30<tab>:Explore **/
menut Files\ Containing\ String\ Pattern\ (curdir\ only)<tab>:Explore\ *// test31<tab>:Explore *//
menut Files\ Containing\ String\ Pattern\ (+subdirs)<tab>:Explore\ **// test32<tab>:Explore **//
menut Filenames\ Matching\ Pattern\ (curdir\ only)<tab>:Explore\ */ test29<tab>:Explore\ */
menut Filenames\ Matching\ Pattern\ (+subdirs)<tab>:Explore\ **/ test30<tab>:Explore\ **/
menut Files\ Containing\ String\ Pattern\ (curdir\ only)<tab>:Explore\ *// test31<tab>:Explore\ *//
menut Files\ Containing\ String\ Pattern\ (+subdirs)<tab>:Explore\ **// test32<tab>:Explore\ **//
menut Next\ Match<tab>:Nexplore Næste\ match<tab>:Nexplore<cr>
menut Prev\ Match<tab>:Pexplore Forrige\ match<tab>:Pexplore<cr>

View File

@@ -188,7 +188,7 @@ menutrans Set\ '&filetype'\ too Auch\ '&filetype'\ setzen
menutrans &Off &Aus
menutrans &Manual &Manuell
menutrans A&utomatic A&utomatisch
menutrans on/off\ for\ &This\ file An/Aus (diese\ &Datei)
menutrans on/off\ for\ &This\ file An/Aus\ (diese\ &Datei)
menutrans Co&lor\ test Test\ der\ Farben
menutrans &Highlight\ test Test\ der\ Un&terstreichungen
menutrans &Convert\ to\ HTML Konvertieren\ nach\ &HTML

View File

@@ -1,6 +1,6 @@
" Menu Translations: Finnish
" Maintainer: Flammie Pirinen <flammie@iki.fi>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -70,7 +70,7 @@ menutrans &Context\ lines &Huomioitavat\ kontekstirivit
" Subsubmenu:
" Accels: ELSOA
menutrans &Virtual\ Edit &Virtuaalimuokkaus
menutrans Never &Ei koskaan
menutrans Never &Ei\ koskaan
menutrans Block\ Selection &Lohkovalinta
menutrans Insert\ mode &Syöttötila
menutrans Block\ and\ Insert L&ohkosyöttötila
@@ -95,7 +95,7 @@ menutrans F&ile\ Settings Tiedostoasetu&kset
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Rivi&numerointi<Tab>:set\ nu!
menutrans Toggle\ &List\ Mode<Tab>:set\ list! &Listaustila<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! &Rivitys<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! &Sanoittainen rivitys<Tab>:set\ lbr!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! &Sanoittainen\ rivitys<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! Muuta\ &tabit\ väleiksi<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! &Automaattinen\ sisennys<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! &C-kielen\ sisennys<Tab>:set\ cin!
@@ -111,7 +111,7 @@ let g:menutrans_fileformat_choices = " &Unix \n &Dos \n &Mac \n &Peru "
menutrans C&olor\ Scheme &Väriteema
menutrans &Keymap &Näppäinkartta
menutrans None Ei mikään
menutrans None Ei\ mikään
menutrans Select\ Fo&nt\.\.\. Valitse\ &fontti\.\.\.

View File

@@ -1,7 +1,7 @@
" Menu Translations: Hungarian (Magyar)
" Original Translation: Zoltán Árpádffy
" Maintained By: Kontra Gergely <kgergely@mcl.hu>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
" I'm working on defining (unaccented) hotkeys for everything.
" I want to remove y and z hotkeys, because on the hungarian keymap they're at
" a differrent place.
@@ -68,7 +68,7 @@ menutrans &Paste<Tab>"+gP &Beilleszt
menutrans Put\ &Before<Tab>[p Berakás\ e&<Tab>[p
menutrans Put\ &After<Tab>]p Berakás\ &mögé<Tab>]p
menutrans &Delete<Tab>x &Törlés<Tab>x
menutrans &Select\ all<Tab>ggVG A&z\ összes kijelölése<Tab>ggvG
menutrans &Select\ all<Tab>ggVG A&z\ összes\ kijelölése<Tab>ggvG
menutrans &Find\.\.\. Ke&resés\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. Keresés\ és\ c&sere\.\.\.
menutrans Find\ and\ Rep&lace<Tab>:%s Keresés\ és\ c&sere<Tab>:%s

View File

@@ -1,7 +1,7 @@
" Menu Translations: Hungarian (Magyar)
" Original Translation: Zoltán Árpádffy
" Maintained By: Kontra Gergely <kgergely@mcl.hu>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
"
" This file was converted from menu_hu_hu.iso_8859-2.vim. See there for
" remarks.
@@ -52,7 +52,7 @@ menutrans &Paste<Tab>"+gP &Beillesztés<Tab>"+gP
menutrans Put\ &Before<Tab>[p Berakás\ e&<Tab>[p
menutrans Put\ &After<Tab>]p Berakás\ &mögé<Tab>]p
menutrans &Delete<Tab>x &Törlés<Tab>x
menutrans &Select\ all<Tab>ggVG A&z\ összes kijelölése<Tab>ggvG
menutrans &Select\ all<Tab>ggVG A&z\ összes\ kijelölése<Tab>ggvG
menutrans &Find\.\.\. Ke&resés\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. Keresés\ és\ c&sere\.\.\.
menutrans Find\ and\ Rep&lace<Tab>:%s Keresés\ és\ c&sere<Tab>:%s

View File

@@ -59,7 +59,7 @@ menutrans Startup\ &Settings R
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Munsturauðkenning\ á\/af<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! Hunsa\ -lágstafi\ á\/af<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! Sýna\ Pörun á\/af<Tab>:set\ sm!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! Sýna\ Pörun\ á\/af<Tab>:set\ sm!
menutrans &Context\ lines Samhengislínur
@@ -70,7 +70,7 @@ menutrans Insert\ mode Innskotshamur
menutrans Block\ and\ Insert Bálkval\ og\ Innskotshamur
menutrans Always Alltaf
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Innskotshamur\ á\/af<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! Vi\ Samhæfanleiki á\/af<Tab>:set\ cp!
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! Vi\ Samhæfanleiki\ á\/af<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. Leita\ í\ Slóð\.\.\.
menutrans Ta&g\ Files\.\.\. Merkja\ Skrár\.\.\.
@@ -90,7 +90,7 @@ menutrans Toggle\ &List\ Mode<Tab>:set\ list! Listahamur\
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! Línuhlaup\ á\/af<Tab>:set\ wrap!
menutrans Toggle\ W&rapping\ at\ word<Tab>:set\ lbr! Línuhlaup\ á\ orði\ á\/af<Tab>:set\ lbr!
menutrans Toggle\ Tab\ &Expanding<Tab>:set\ et! Tab-víkkun\ á\/af<Tab>:set\ et!
menutrans Toggle\ &Auto Indenting<Tab>:set\ ai! Sjálfvirkur\ Inndráttur\ á\/af<Tab>:set\ ai!
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! Sjálfvirkur\ Inndráttur\ á\/af<Tab>:set\ ai!
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! C-Inndráttur\ á\/af<Tab>:set\ cin!
" other options

View File

@@ -2,7 +2,7 @@
" Maintainer: Antonio Colombo <azc100@gmail.com>
" Vlad Sandrini <vlad.gently@gmail.com>
" Luciano Montanaro <mikelima@cirulla.net>
" Last Change: 2018 May 16
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -116,8 +116,8 @@ menut Toggle\ &List\ Mode<Tab>:set\ list! Modo\ &List\ S
menut Toggle\ Line\ &Wrapping<Tab>:set\ wrap! Linee\ &Continuate\ /No<Tab>:set\ wrap!
menut Toggle\ W&rapping\ at\ word<Tab>:set\ lbr! A\ capo\ alla\ &Parola\ /No<Tab>:set\ lbr!
menut Toggle\ Tab\ &expanding<Tab>:set\ et! &Espandi\ Tabulazione\ /No<Tab>:set\ et!
menut Toggle\ &Auto\ Indenting<Tab>:set\ ai! Indentazione\ &Automatica\ /No<Tab>:set ai!
menut Toggle\ &C-Style\ Indenting<Tab>:set\ cin! Indentazione\ stile\ &C\ /No<Tab>:set cin!
menut Toggle\ &Auto\ Indenting<Tab>:set\ ai! Indentazione\ &Automatica\ /No<Tab>:set\ ai!
menut Toggle\ &C-Style\ Indenting<Tab>:set\ cin! Indentazione\ stile\ &C\ /No<Tab>:set\ cin!
" -SEP2-
menut &Shiftwidth &Spazi\ rientranza
"menut &Shiftwidth.2<Tab>:set\ sw=2\ sw?<CR> &Spazi\ rientranza.2<Tab>:set\ sw=2\ sw?<CR>
@@ -360,8 +360,8 @@ menut Copy Copia
menut Paste Incolla
" -sep3-
menut Find Cerca
menut FindNext Cerca Successivo
menut FindPrev Cerca Precedente
menut FindNext Cerca\ Successivo
menut FindPrev Cerca\ Precedente
menut Replace Sostituisci
" -sep4-
menut New Nuova\ finestra

View File

@@ -1,6 +1,6 @@
" Menu Translations: Norwegian / Norsk (Bokmål)
" Maintainer: Øyvind A. Holm <sunny@sunbase.org>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
" menu_no_no.latin1.vim 289 2004-05-16 18:00:52Z sunny
" Quit when menu translations have already been done.
@@ -46,7 +46,7 @@ menutrans &Edit &Rediger
menutrans Settings\ &Window &Innstillinger
menutrans &Global\ Settings Glo&bale\ innstillinger
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! &Utheving\ av\ søketekst\ av/<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! &Forskjell\ mellom\ store/små bokstaver\ av/<Tab>:set\ ic!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! &Forskjell\ mellom\ store/små\ bokstaver\ av/<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! &Indikering\ av\ samsvarende\ parentes\ av/<Tab>:set\ sm!
menutrans &Context\ lines &Kontekstlinjer
menutrans &Virtual\ Edit Vi&rtuell\ redigering

View File

@@ -1,6 +1,6 @@
" Menu Translations: Português do Brasil
" Maintainer: José de Paula <jose@infoviaweb.com>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
"
" Quit when menu translations have already been done.
@@ -101,9 +101,9 @@ menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Ativar/Desativar\ &numera
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Ativar/Desativar\ modo\ &list<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! Ativar/Desativar\ &quebra\ de\ linhas<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Ativar/Desativar\ quebra\ na\ &palavra<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! Ativar/Desativar\ expansão de tabs<Tab>:set\ et!
menutrans Toggle\ &expand-tab<Tab>:set\ et! Ativar/Desativar\ expansão\ de\ tabs<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! Ativar/Desativar\ &auto-indentação<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! Ativar/Desativar\ indentação estilo &C<Tab>:set\ cin!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! Ativar/Desativar\ indentação\ estilo\ &C<Tab>:set\ cin!
" other options
menutrans &Shiftwidth Largura\ da\ &indentação
@@ -144,12 +144,12 @@ menutrans &Convert\ to\ HEX<Tab>:%!xxd Converter\ para\ hexadecimal<Tab>:%!xxd
menutrans Conve&rt\ back<Tab>:%!xxd\ -r Conver&ter\ de\ volta<Tab>:%!xxd\ -r
" Tools.Spelling menu
menutrans &Spell Check On &Ativar Correção Ortográfica
menutrans &Spell Check Off &Desativar Correção Ortográfica
menutrans To &Next error<Tab>]s &Próximo Erro<Tab>]s
menutrans To &Previous Error<Tab>[s Erro A&nterior<Tab>[s
menutrans Suggest &Corrections<Tab>z= &Sugerir Correções<Tab>z=
menutrans &Repeat correction<Tab>:spellrepall &Repetir Correção<Tab>:spellrepall
menutrans &Spell\ Check\ On &Ativar\ Correção\ Ortográfica
menutrans &Spell\ Check\ Off &Desativar\ Correção\ Ortográfica
menutrans To\ &Next\ error<Tab>]s &Próximo\ Erro<Tab>]s
menutrans To\ &Previous\ Error<Tab>[s Erro\ A&nterior<Tab>[s
menutrans Suggest\ &Corrections<Tab>z= &Sugerir\ Correções<Tab>z=
menutrans &Repeat\ correction<Tab>:spellrepall &Repetir\ Correção<Tab>:spellrepall
menutrans Set\ language\ to\ "en" Inglês
menutrans Set\ language\ to\ "en_au" Inglês\ (en_au)
@@ -158,7 +158,7 @@ menutrans Set\ language\ to\ "en_gb" Ingl
menutrans Set\ language\ to\ "en_nz" Inglês\ (en_nz)
menutrans Set\ language\ to\ "en_us" Inglês\ (en_us)
menutrans &Find\ More\ Languages &Buscar mais idiomas
menutrans &Find\ More\ Languages &Buscar\ mais\ idiomas
" Tools.Fold Menu
menutrans &Enable/Disable\ folds<Tab>zi &Ativar/Desativar\ dobras<Tab>zi

View File

@@ -98,9 +98,9 @@ menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! Activar/Desactivar\ &numera
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Activar/Desactivar\ modo\ &list<Tab>:set\ list!
menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap! Activar/Desactivar\ &quebra\ de\ linhas<Tab>:set\ wrap!
menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr! Activar/Desactivar\ quebra\ na\ &palavra<Tab>:set\ lbr!
menutrans Toggle\ &expand-tab<Tab>:set\ et! Activar/Desactivar\ expansão de tabs<Tab>:set\ et!
menutrans Toggle\ &expand-tab<Tab>:set\ et! Activar/Desactivar\ expansão\ de\ tabs<Tab>:set\ et!
menutrans Toggle\ &auto-indent<Tab>:set\ ai! Activar/Desactivar\ &auto-indentação<Tab>:set\ ai!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! Activar/Desactivar\ indentação estilo &C<Tab>:set\ cin!
menutrans Toggle\ &C-indenting<Tab>:set\ cin! Activar/Desactivar\ indentação\ estilo\ &C<Tab>:set\ cin!
" other options
menutrans &Shiftwidth Largura\ da\ &indentação

View File

@@ -1,6 +1,6 @@
" Menu Translations: Slovak
" Translated By: Martin Lacko <lacko@host.sk>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -53,12 +53,12 @@ menutrans &Delete<Tab>x Vy&maza
menutrans &Find\.\.\. &Nájs»\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. N&ahradi»\.\.\.
menutrans Settings\ &Window Monosti
menutrans &Global\ Settings &Globálne mo¾nosti
menutrans &Global\ Settings &Globálne\ mo¾nosti
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Prepnú»\ paletu\ zvýrazòovania<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Prepnú»\ &ignorovanie veµkosti<Tab>:set\ ic!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Prepnú»\ &ignorovanie\ veµkosti<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Prepnú»\ &ukáza»\ zhodu<Tab>:set\ sm!
menutrans &Context\ lines &Kontextové\ riadky
menutrans &Virtual\ Edit &Virtuálne úpravy
menutrans &Virtual\ Edit &Virtuálne\ úpravy
menutrans Never Nikdy
menutrans Block\ Selection Blokový\ výber
menutrans Insert\ mode Re¾im\ vkladania
@@ -67,7 +67,7 @@ menutrans Always V
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Prepnú»\ re¾i&m\ vkladania<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! Prepnú»\ vi\ kompatibilitu<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. Cesta\ &hµadania\.\.\.
menutrans Ta&g\ Files\.\.\. Ta&gové súbory\.\.\.
menutrans Ta&g\ Files\.\.\. Ta&gové\ súbory\.\.\.
menutrans Toggle\ &Toolbar Prepnú»\ &panel
menutrans Toggle\ &Bottom\ Scrollbar Prepnú»\ spodný\ posuvník
menutrans Toggle\ &Left\ Scrollbar Prepnú»\ µavý\ posuvník
@@ -95,7 +95,7 @@ menutrans &Folding &Vn
menutrans &Enable/Disable\ folds<Tab>zi Zapnú»/Vypnú»\ vnárani&e<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv Zobrazi»\ kurzoro&\ riadok<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Zobrazi»\ iba\ kurzorový\ riadok<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm Zatvori»\ viac \vnorení<Tab>zm
menutrans C&lose\ more\ folds<Tab>zm Zatvori»\ viac\ vnorení<Tab>zm
menutrans &Close\ all\ folds<Tab>zM Zatvor&i»\ v¹etky\ vnorenia<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr O&tvori»\ viac\ vnorení<Tab>zr
menutrans &Open\ all\ folds<Tab>zR &Otvori»\ v¹etky\ vnorenia<Tab>zR
@@ -139,7 +139,7 @@ menutrans &Delete Vymaza
menutrans &Alternate Zmeni»
menutrans &Next Ï&al¹ia
menutrans &Previous &Predchádzajúca
menutrans [No File] [®iadny\ súbor]
menutrans [No\ File] [®iadny\ súbor]
" Window menu
menutrans &Window &Okná
@@ -161,7 +161,7 @@ menutrans &Equal\ Size<Tab>^W= Rovnak
menutrans &Max\ Height<Tab>^W_ &Maximálna\ ¹ka<Tab>^W_
menutrans M&in\ Height<Tab>^W1_ Minimálna\ ka<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| Maximálna\ ¹írka<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| Minimálna ¹irka<Tab>^W1\|
menutrans Min\ Widt&h<Tab>^W1\| Minimálna\ ¹irka<Tab>^W1\|
menutrans Rotate\ &Up<Tab>^WR Rotova&»\ nahor<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr Rotova»\ na&dol<Tab>^Wr
menutrans Select\ Fo&nt\.\.\. Vy&bra»\ písmo\.\.\.

View File

@@ -1,7 +1,7 @@
" Menu Translations: Slovenian / Slovensko
" Maintainer: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
" Originally By: Mojca Miklavec <mojca.miklavec.lists@gmail.com>
" Last Change: 2016 Oct 17
" Last Change: 2020 Apr 23
" vim:set foldmethod=marker tabstop=8:
" TODO: add/check all '&'s
@@ -52,7 +52,7 @@ menutrans Find\ and\ Rep&lace\.\.\. Poi
" [-- SETTINGS --]
menutrans Settings\ &Window Nastavitve\ \.\.\.
menutrans Startup\ &Settings Zaèetne nastavitve
menutrans Startup\ &Settings Zaèetne\ nastavitve
menutrans &Global\ Settings &Globalne\ nastavitve
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Vkljuèi/izkljuèi\ poudarjanje\ iskanega\ niza<Tab>:set\ hls!
@@ -92,7 +92,7 @@ menutrans Toggle\ &C-indenting<Tab>:set\ cin! Vklju
" other options
menutrans &Shiftwidth ©irina\ zamika\ vrstic
menutrans Soft\ &Tabstop ©irina &tabulatorja
menutrans Soft\ &Tabstop ©irina\ &tabulatorja
menutrans Te&xt\ Width\.\.\. ©irina\ besedila\ \.\.\.
menutrans &File\ Format\.\.\. Format\ &datoteke\ \.\.\.
menutrans C&olor\ Scheme &Barvna\ shema\ \.\.\.

View File

@@ -1,6 +1,6 @@
" Menu Translations: Slovak
" Translated By: Martin Lacko <lacko@host.sk>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -53,12 +53,12 @@ menutrans &Delete<Tab>x Vy&maza
menutrans &Find\.\.\. &Nájs<EFBFBD>\.\.\.
menutrans Find\ and\ Rep&lace\.\.\. N&ahradi<EFBFBD>\.\.\.
menutrans Settings\ &Window Mo&žnosti
menutrans &Global\ Settings &Globálne možnosti
menutrans &Global\ Settings &Globálne\ možnosti
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Prepnú<EFBFBD>\ paletu\ zvýrazòovania<Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Prepnú<EFBFBD>\ &ignorovanie ve¾kosti<Tab>:set\ ic!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! Prepnú<EFBFBD>\ &ignorovanie\ ve¾kosti<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Prepnú<EFBFBD>\ &ukáza<EFBFBD>\ zhodu<Tab>:set\ sm!
menutrans &Context\ lines &Kontextové\ riadky
menutrans &Virtual\ Edit &Virtuálne úpravy
menutrans &Virtual\ Edit &Virtuálne\ úpravy
menutrans Never Nikdy
menutrans Block\ Selection Blokový\ výber
menutrans Insert\ mode Režim\ vkladania
@@ -67,7 +67,7 @@ menutrans Always V
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Prepnú<EFBFBD>\ reži&m\ vkladania<Tab>:set\ im!
menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp! Prepnú<EFBFBD>\ vi\ kompatibilitu<Tab>:set\ cp!
menutrans Search\ &Path\.\.\. Cesta\ &h¾adania\.\.\.
menutrans Ta&g\ Files\.\.\. Ta&gové súbory\.\.\.
menutrans Ta&g\ Files\.\.\. Ta&gové\ súbory\.\.\.
menutrans Toggle\ &Toolbar Prepnú<EFBFBD>\ &panel
menutrans Toggle\ &Bottom\ Scrollbar Prepnú<EFBFBD>\ spodný\ posuvník
menutrans Toggle\ &Left\ Scrollbar Prepnú<EFBFBD>\ ¾avý\ posuvník
@@ -95,7 +95,7 @@ menutrans &Folding &Vn
menutrans &Enable/Disable\ folds<Tab>zi Zapnú<6E>/Vypnú<EFBFBD>\ vnárani&e<Tab>zi
menutrans &View\ Cursor\ Line<Tab>zv Zobrazi<EFBFBD>\ kurzoro&\ riadok<Tab>zv
menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx Zobrazi<EFBFBD>\ iba\ kurzorový\ riadok<Tab>zMzx
menutrans C&lose\ more\ folds<Tab>zm Zatvori<EFBFBD>\ viac \vnorení<Tab>zm
menutrans C&lose\ more\ folds<Tab>zm Zatvori<EFBFBD>\ viac\ vnorení<Tab>zm
menutrans &Close\ all\ folds<Tab>zM Zatvor&i<EFBFBD>\ všetky\ vnorenia<Tab>zM
menutrans O&pen\ more\ folds<Tab>zr O&tvori<EFBFBD>\ viac\ vnorení<Tab>zr
menutrans &Open\ all\ folds<Tab>zR &Otvori<EFBFBD>\ všetky\ vnorenia<Tab>zR
@@ -139,7 +139,7 @@ menutrans &Delete Vymaza
menutrans &Alternate Zmeni<EFBFBD>
menutrans &Next Ï&alšia
menutrans &Previous &Predchádzajúca
menutrans [No File] [Žiadny\ súbor]
menutrans [No\ File] [Žiadny\ súbor]
" Window menu
menutrans &Window &Okná
@@ -161,7 +161,7 @@ menutrans &Equal\ Size<Tab>^W= Rovnak
menutrans &Max\ Height<Tab>^W_ &Maximálna\ výška<Tab>^W_
menutrans M&in\ Height<Tab>^W1_ Minimálna\ &ška<Tab>^W1_
menutrans Max\ &Width<Tab>^W\| Maximálna\ šírka<Tab>^W\|
menutrans Min\ Widt&h<Tab>^W1\| Minimálna širka<Tab>^W1\|
menutrans Min\ Widt&h<Tab>^W1\| Minimálna\ širka<Tab>^W1\|
menutrans Rotate\ &Up<Tab>^WR Rotova&<26>\ nahor<Tab>^WR
menutrans Rotate\ &Down<Tab>^Wr Rotova<EFBFBD>\ na&dol<Tab>^Wr
menutrans Select\ Fo&nt\.\.\. Vy&bra<EFBFBD>\ písmo\.\.\.

View File

@@ -1,6 +1,6 @@
" Menu Translations: Swedish
" Maintainer: Johan Svedberg <johan@svedberg.com>
" Last Change: 2012 May 01
" Last Change: 2020 Apr 22
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -51,7 +51,7 @@ menutrans &Redo<Tab>^R &G
menutrans Rep&eat<Tab>\. &Repetera<Tab>\.
menutrans Cu&t<Tab>"+x Klipp\ &ut<Tab>"+x
menutrans &Copy<Tab>"+y &Kopiera<Tab>"+y
menutrans &Paste<Tab>"+gP Klistra &in<Tab>"+gP
menutrans &Paste<Tab>"+gP Klistra\ &in<Tab>"+gP
menutrans Put\ &Before<Tab>[p Sätt\ in\ &före<Tab>[p
menutrans Put\ &After<Tab>]p Sätt\ in\ &efter<Tab>]p
menutrans &Select\ All<Tab>ggVG &Markera\ allt<Tab>ggVG

View File

@@ -11,19 +11,19 @@ set cpo&vim
scriptencoding cp1254
" Top
menutrans &File &Dosya
menutrans &Edit &zen
menutrans &File &Dosya
menutrans &Edit &zen
menutrans &Tools &Araçlar
menutrans &Syntax &Sözdizim
menutrans &Buffers A&rabellekler
menutrans &Window &Pencere
menutrans &Help &Yardým
menutrans &Help &Yardým
" Help menu
menutrans &Overview<Tab><F1> &Genel\ Bakýþ<Tab><F1>
menutrans &User\ Manual &Kullaným\ Kýlavuzu
menutrans &User\ Manual &Kullaným\ Kýlavuzu
menutrans &How-To\ Links &Nasýl\ Yapýlýr?
menutrans &Find\.\.\. &Bul\.\.\.
menutrans &Find\.\.\. &Bul\.\.\.
"--------------------
menutrans &Credits &Teþekkürler
menutrans Co&pying &Daðýtým
@@ -37,38 +37,38 @@ menutrans &About &Hakk
menutrans &Open\.\.\.<Tab>:e &\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Yeni\ Bölümde\ \.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew S&ekme\ \.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &Close<Tab>:close Ka&pat<Tab>:close
"--------------------
menutrans &Save<Tab>:w Kayde&t<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav &Farklý Kaydet\.\.\.<Tab>:sav
menutrans Save\ &As\.\.\.<Tab>:sav &Farklý\ Kaydet\.\.\.<Tab>:sav
"--------------------
menutrans Split\ &Diff\ With\.\.\. Ka&rþýlaþtýr\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&malar\ Dahil\ Karþýlaþtýr\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&ma\ Ýle\ Karþýlaþtýr\.\.\.
"--------------------
menutrans &Print Ya&zdýr
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve Çýk<Tab>:wqa
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve\ Çýk<Tab>:wqa
menutrans E&xit<Tab>:qa Çý&k<Tab>:qa
" Edit menu
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
"--------------------
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&pýþtýr<Tab>"+gP
menutrans Put\ &Before<Tab>[p Ö&nüne Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkasýna Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&pýþtýr<Tab>"+gP
menutrans Put\ &Before<Tab>[p Ö&nüne\ Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkasýna\ Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans &Select\ All<Tab>ggVG &münü\ Seç<Tab>ggVG
"--------------------
" Athena GUI only
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ Deðiþtir<Tab>:%s
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ Deðiþtir<Tab>:%s
" End Athena GUI only
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &Deðiþtir\.\.\.
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &Deðiþtir\.\.\.
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:%s Bul\ ve\ &Deðiþtir\.\.\.<Tab>:%s
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s Bul\ ve\ &Deðiþtir\.\.\.<Tab>:s
"--------------------
@@ -78,11 +78,11 @@ menutrans &Global\ Settings Ge&nel\ Ayarlar
menutrans F&ile\ Settings &Dosya\ Ayarlarý
menutrans C&olor\ Scheme &Renk\ Düzeni
menutrans &Keymap Düðme\ &Eþlem
menutrans Select\ Fo&nt\.\.\. Ya&zýtipi Seç\.\.\.
menutrans Select\ Fo&nt\.\.\. Ya&zýtipi\ Seç\.\.\.
">>>----------------- Edit/Global settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamasýný\ /Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! BÜYÜK/küçük\ Harf\ &Duyarlý\ Aç/Kapat<Tab>:set\ ic!
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamasýný\ /Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! BÜYÜK/küçük\ Harf\ &Duyarlý\ Aç/Kapat<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! &leþen\ Ýkilileri\ /Kapat<Tab>:set\ sm!
menutrans &Context\ Lines Ý&mleçle\ Oynayan\ Satýrlar
menutrans &Virtual\ Edit &Sanal\ Düzenleme
@@ -97,11 +97,11 @@ menutrans Toggle\ &Left\ Scrollbar &Sol\ Kayd
menutrans Toggle\ &Right\ Scrollbar S&\ Kaydýrma\ Çubuðunu\ /Kapat
">>>->>>------------- Edit/Global settings/Virtual edit
menutrans Never Kapalý
menutrans Never Kapalý
menutrans Block\ Selection Blok\ Seçimi
menutrans Insert\ Mode Ekleme\ Kipi
menutrans Block\ and\ Insert Blok\ Seçiminde\ ve\ Ekleme\ Kipinde
menutrans Always Her\ Zaman\ Açýk
menutrans Always Her\ Zaman\ Açýk
">>>----------------- Edit/File settings
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &Satýr\ Numaralandýrmayý\ /Kapat<Tab>:set\ nu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! &Göreceli\ Satýr\ Numaralandýrmayý\ /Kapat<Tab>:set\ nru!
@@ -124,10 +124,10 @@ menutrans Build\ &Tags\ File &Etiket\ Dosyas
"-------------------
menutrans &Folding &Kývýrmalar
menutrans &Spelling &Yazým\ Denetimi
menutrans &Diff &Ayrýmlar\ (diff)
menutrans &Diff K&arþýlaþtýrma\ (diff)
"-------------------
menutrans &Make<Tab>:make &Derle<Tab>:make
menutrans &List\ Errors<Tab>:cl &Hatalarý\ Listele<Tab>:cl
menutrans &List\ Errors<Tab>:cl &Hatalarý\ Listele<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! Ý&letileri\ Listele<Tab>:cl!
menutrans &Next\ Error<Tab>:cn Bir\ &Sonraki\ Hata<Tab>:cn
menutrans &Previous\ Error<Tab>:cp Bir\ Ö&nceki\ Hata<Tab>:cp
@@ -137,8 +137,8 @@ menutrans Error\ &Window Hatalar\ &Penceresi
menutrans Se&t\ Compiler De&rleyici\ Seç
menutrans Show\ Compiler\ Se&ttings\ in\ Menu Derleyici\ Ayarlarýný\ Menüde\ &Göster
"-------------------
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ &nüþtür<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ Dönüþtür<Tab>:%!xxd\ -r
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ &nüþtür<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ Dönüþtür<Tab>:%!xxd\ -r
">>>---------------- Tools/Spelling
menutrans &Spell\ Check\ On Yazým\ Denetimini\ &
menutrans Spell\ Check\ &Off Yazým\ Denetimini\ &Kapat
@@ -191,7 +191,7 @@ menutrans &Open<Tab>:copen &A
" Syntax menu
menutrans &Show\ File\ Types\ in\ Menu Dosya\ Türlerini\ Menüde\ &Göster
menutrans Set\ '&syntax'\ only Yalnýzca\ 'syntax'\ &Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ Ýçin\ &de\ Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ Ýçin\ &de\ Ayarla
menutrans &Off &Kapat
menutrans &Manual &El\ Ýle
menutrans A&utomatic &Otomatik
@@ -204,7 +204,7 @@ menutrans &Convert\ to\ HTML &HTML'ye\ D
menutrans &Refresh\ menu &Menüyü\ Güncelle
menutrans Delete &Sil
menutrans &Alternate Ö&teki
menutrans &Next So&nraki
menutrans &Next So&nraki
menutrans &Previous Ön&ceki
menutrans [No\ File] [Dosya\ Yok]
@@ -235,16 +235,16 @@ menutrans &Left\ Side<Tab>^WH So&la<Tab>^WH
menutrans &Right\ Side<Tab>^WL &Saða<Tab>^WL
" The popup menu
menutrans &Undo &Geri\ Al
menutrans &Undo &Geri\ Al
menutrans Cu&t &Kes
menutrans &Copy K&opyala
menutrans &Copy K&opyala
menutrans &Paste &Yapýþtýr
menutrans &Delete &Sil
menutrans Select\ Blockwise &Blok\ Biçiminde\ Seç
menutrans Select\ &Word &zcük\ Seç
menutrans Select\ &Word &zcük\ Seç
menutrans Select\ &Sentence &Tümce\ Seç
menutrans Select\ Pa&ragraph &Paragraf\ Seç
menutrans Select\ &Line S&atýr\ Seç
menutrans Select\ &Line S&atýr\ Seç
menutrans Select\ &Block Bl&ok\ Seç
menutrans Select\ &All Tümü&\ Seç

View File

@@ -11,19 +11,19 @@ set cpo&vim
scriptencoding iso-8859-9
" Top
menutrans &File &Dosya
menutrans &Edit &zen
menutrans &File &Dosya
menutrans &Edit &zen
menutrans &Tools &Araçlar
menutrans &Syntax &Sözdizim
menutrans &Buffers A&rabellekler
menutrans &Window &Pencere
menutrans &Help &Yardým
menutrans &Help &Yardým
" Help menu
menutrans &Overview<Tab><F1> &Genel\ Bakýþ<Tab><F1>
menutrans &User\ Manual &Kullaným\ Kýlavuzu
menutrans &User\ Manual &Kullaným\ Kýlavuzu
menutrans &How-To\ Links &Nasýl\ Yapýlýr?
menutrans &Find\.\.\. &Bul\.\.\.
menutrans &Find\.\.\. &Bul\.\.\.
"--------------------
menutrans &Credits &Teþekkürler
menutrans Co&pying &Daðýtým
@@ -37,38 +37,38 @@ menutrans &About &Hakk
menutrans &Open\.\.\.<Tab>:e &\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Yeni\ Bölümde\ \.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew S&ekme\ \.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &Close<Tab>:close Ka&pat<Tab>:close
"--------------------
menutrans &Save<Tab>:w Kayde&t<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav &Farklý Kaydet\.\.\.<Tab>:sav
menutrans Save\ &As\.\.\.<Tab>:sav &Farklý\ Kaydet\.\.\.<Tab>:sav
"--------------------
menutrans Split\ &Diff\ With\.\.\. Ka&rþýlaþtýr\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&malar\ Dahil\ Karþýlaþtýr\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&ma\ Ýle\ Karþýlaþtýr\.\.\.
"--------------------
menutrans &Print Ya&zdýr
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve Çýk<Tab>:wqa
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve\ Çýk<Tab>:wqa
menutrans E&xit<Tab>:qa Çý&k<Tab>:qa
" Edit menu
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
"--------------------
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&pýþtýr<Tab>"+gP
menutrans Put\ &Before<Tab>[p Ö&nüne Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkasýna Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&pýþtýr<Tab>"+gP
menutrans Put\ &Before<Tab>[p Ö&nüne\ Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkasýna\ Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans &Select\ All<Tab>ggVG &münü\ Seç<Tab>ggVG
"--------------------
" Athena GUI only
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ Deðiþtir<Tab>:%s
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ Deðiþtir<Tab>:%s
" End Athena GUI only
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &Deðiþtir\.\.\.
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &Deðiþtir\.\.\.
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:%s Bul\ ve\ &Deðiþtir\.\.\.<Tab>:%s
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s Bul\ ve\ &Deðiþtir\.\.\.<Tab>:s
"--------------------
@@ -78,11 +78,11 @@ menutrans &Global\ Settings Ge&nel\ Ayarlar
menutrans F&ile\ Settings &Dosya\ Ayarlarý
menutrans C&olor\ Scheme &Renk\ Düzeni
menutrans &Keymap Düðme\ &Eþlem
menutrans Select\ Fo&nt\.\.\. Ya&zýtipi Seç\.\.\.
menutrans Select\ Fo&nt\.\.\. Ya&zýtipi\ Seç\.\.\.
">>>----------------- Edit/Global settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamasýný\ /Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! BÜYÜK/küçük\ Harf\ &Duyarlý\ Aç/Kapat<Tab>:set\ ic!
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamasýný\ /Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! BÜYÜK/küçük\ Harf\ &Duyarlý\ Aç/Kapat<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! &leþen\ Ýkilileri\ /Kapat<Tab>:set\ sm!
menutrans &Context\ Lines Ý&mleçle\ Oynayan\ Satýrlar
menutrans &Virtual\ Edit &Sanal\ Düzenleme
@@ -97,11 +97,11 @@ menutrans Toggle\ &Left\ Scrollbar &Sol\ Kayd
menutrans Toggle\ &Right\ Scrollbar S&\ Kaydýrma\ Çubuðunu\ /Kapat
">>>->>>------------- Edit/Global settings/Virtual edit
menutrans Never Kapalý
menutrans Never Kapalý
menutrans Block\ Selection Blok\ Seçimi
menutrans Insert\ Mode Ekleme\ Kipi
menutrans Block\ and\ Insert Blok\ Seçiminde\ ve\ Ekleme\ Kipinde
menutrans Always Her\ Zaman\ Açýk
menutrans Always Her\ Zaman\ Açýk
">>>----------------- Edit/File settings
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &Satýr\ Numaralandýrmayý\ /Kapat<Tab>:set\ nu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! &Göreceli\ Satýr\ Numaralandýrmayý\ /Kapat<Tab>:set\ nru!
@@ -124,10 +124,10 @@ menutrans Build\ &Tags\ File &Etiket\ Dosyas
"-------------------
menutrans &Folding &Kývýrmalar
menutrans &Spelling &Yazým\ Denetimi
menutrans &Diff &Ayrýmlar\ (diff)
menutrans &Diff K&arþýlaþtýrma\ (diff)
"-------------------
menutrans &Make<Tab>:make &Derle<Tab>:make
menutrans &List\ Errors<Tab>:cl &Hatalarý\ Listele<Tab>:cl
menutrans &List\ Errors<Tab>:cl &Hatalarý\ Listele<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! Ý&letileri\ Listele<Tab>:cl!
menutrans &Next\ Error<Tab>:cn Bir\ &Sonraki\ Hata<Tab>:cn
menutrans &Previous\ Error<Tab>:cp Bir\ Ö&nceki\ Hata<Tab>:cp
@@ -137,8 +137,8 @@ menutrans Error\ &Window Hatalar\ &Penceresi
menutrans Se&t\ Compiler De&rleyici\ Seç
menutrans Show\ Compiler\ Se&ttings\ in\ Menu Derleyici\ Ayarlarýný\ Menüde\ &Göster
"-------------------
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ &nüþtür<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ Dönüþtür<Tab>:%!xxd\ -r
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ &nüþtür<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ Dönüþtür<Tab>:%!xxd\ -r
">>>---------------- Tools/Spelling
menutrans &Spell\ Check\ On Yazým\ Denetimini\ &
menutrans Spell\ Check\ &Off Yazým\ Denetimini\ &Kapat
@@ -191,7 +191,7 @@ menutrans &Open<Tab>:copen &A
" Syntax menu
menutrans &Show\ File\ Types\ in\ Menu Dosya\ Türlerini\ Menüde\ &Göster
menutrans Set\ '&syntax'\ only Yalnýzca\ 'syntax'\ &Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ Ýçin\ &de\ Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ Ýçin\ &de\ Ayarla
menutrans &Off &Kapat
menutrans &Manual &El\ Ýle
menutrans A&utomatic &Otomatik
@@ -204,7 +204,7 @@ menutrans &Convert\ to\ HTML &HTML'ye\ D
menutrans &Refresh\ menu &Menüyü\ Güncelle
menutrans Delete &Sil
menutrans &Alternate Ö&teki
menutrans &Next So&nraki
menutrans &Next So&nraki
menutrans &Previous Ön&ceki
menutrans [No\ File] [Dosya\ Yok]
@@ -235,16 +235,16 @@ menutrans &Left\ Side<Tab>^WH So&la<Tab>^WH
menutrans &Right\ Side<Tab>^WL &Saða<Tab>^WL
" The popup menu
menutrans &Undo &Geri\ Al
menutrans &Undo &Geri\ Al
menutrans Cu&t &Kes
menutrans &Copy K&opyala
menutrans &Copy K&opyala
menutrans &Paste &Yapýþtýr
menutrans &Delete &Sil
menutrans Select\ Blockwise &Blok\ Biçiminde\ Seç
menutrans Select\ &Word &zcük\ Seç
menutrans Select\ &Word &zcük\ Seç
menutrans Select\ &Sentence &Tümce\ Seç
menutrans Select\ Pa&ragraph &Paragraf\ Seç
menutrans Select\ &Line S&atýr\ Seç
menutrans Select\ &Line S&atýr\ Seç
menutrans Select\ &Block Bl&ok\ Seç
menutrans Select\ &All Tümü&\ Seç

View File

@@ -11,19 +11,19 @@ set cpo&vim
scriptencoding utf-8
" Top
menutrans &File &Dosya
menutrans &Edit &zen
menutrans &File &Dosya
menutrans &Edit &zen
menutrans &Tools &Araçlar
menutrans &Syntax &Sözdizim
menutrans &Buffers A&rabellekler
menutrans &Window &Pencere
menutrans &Help &Yardım
menutrans &Help &Yardım
" Help menu
menutrans &Overview<Tab><F1> &Genel\ Bakış<Tab><F1>
menutrans &User\ Manual &Kullanım\ Kılavuzu
menutrans &User\ Manual &Kullanım\ Kılavuzu
menutrans &How-To\ Links &Nasıl\ Yapılır?
menutrans &Find\.\.\. &Bul\.\.\.
menutrans &Find\.\.\. &Bul\.\.\.
"--------------------
menutrans &Credits &Teşekkürler
menutrans Co&pying &Dağıtım
@@ -37,38 +37,38 @@ menutrans &About &Hakkında
menutrans &Open\.\.\.<Tab>:e &\.\.\.<Tab>:e
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Yeni\ Bölümde\ \.\.\.<Tab>:sp
menutrans Open\ Tab\.\.\.<Tab>:tabnew S&ekme\ \.\.\.<Tab>:tabnew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
menutrans &Close<Tab>:close Ka&pat<Tab>:close
"--------------------
menutrans &Save<Tab>:w Kayde&t<Tab>:w
menutrans Save\ &As\.\.\.<Tab>:sav &Farklı Kaydet\.\.\.<Tab>:sav
menutrans Save\ &As\.\.\.<Tab>:sav &Farklı\ Kaydet\.\.\.<Tab>:sav
"--------------------
menutrans Split\ &Diff\ With\.\.\. Ka&ılaştır\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&malar\ Dahil\ Karşılaştır\.\.\.
menutrans Split\ Patched\ &By\.\.\. Ya&ma\ İle\ Karşılaştır\.\.\.
"--------------------
menutrans &Print Ya&zdır
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve Çık<Tab>:wqa
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve\ Çık<Tab>:wqa
menutrans E&xit<Tab>:qa Çı&k<Tab>:qa
" Edit menu
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
menutrans &Redo<Tab>^R &Yinele<Tab>^R
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
"--------------------
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&pıştır<Tab>"+gP
menutrans Put\ &Before<Tab>[p Ö&nüne Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkasına Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
menutrans &Paste<Tab>"+gP Ya&pıştır<Tab>"+gP
menutrans Put\ &Before<Tab>[p Ö&nüne\ Koy<Tab>[p
menutrans Put\ &After<Tab>]p A&rkasına\ Koy<Tab>]p
menutrans &Delete<Tab>x Si&l<Tab>x
menutrans &Select\ All<Tab>ggVG &münü\ Seç<Tab>ggVG
"--------------------
" Athena GUI only
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ Değiştir<Tab>:%s
menutrans &Find<Tab>/ &Bul<Tab>/
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ Değiştir<Tab>:%s
" End Athena GUI only
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &Değiştir\.\.\.
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &Değiştir\.\.\.
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:%s Bul\ ve\ &Değiştir\.\.\.<Tab>:%s
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s Bul\ ve\ &Değiştir\.\.\.<Tab>:s
"--------------------
@@ -78,11 +78,11 @@ menutrans &Global\ Settings Ge&nel\ Ayarlar
menutrans F&ile\ Settings &Dosya\ Ayarları
menutrans C&olor\ Scheme &Renk\ Düzeni
menutrans &Keymap Düğme\ &Eşlem
menutrans Select\ Fo&nt\.\.\. Ya&zıtipi Seç\.\.\.
menutrans Select\ Fo&nt\.\.\. Ya&zıtipi\ Seç\.\.\.
">>>----------------- Edit/Global settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamasını\ /Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! BÜYÜK/küçük\ Harf\ &Duyarlı\ Aç/Kapat<Tab>:set\ ic!
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamasını\ /Kapat<Tab>:set\ hls!
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! BÜYÜK/küçük\ Harf\ &Duyarlı\ Aç/Kapat<Tab>:set\ ic!
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! &leşen\ İkilileri\ /Kapat<Tab>:set\ sm!
menutrans &Context\ Lines İ&mleçle\ Oynayan\ Satırlar
menutrans &Virtual\ Edit &Sanal\ Düzenleme
@@ -97,11 +97,11 @@ menutrans Toggle\ &Left\ Scrollbar &Sol\ Kaydırma\ Çubuğunu\ Aç/Kapat
menutrans Toggle\ &Right\ Scrollbar S&\ Kaydırma\ Çubuğunu\ /Kapat
">>>->>>------------- Edit/Global settings/Virtual edit
menutrans Never Kapalı
menutrans Never Kapalı
menutrans Block\ Selection Blok\ Seçimi
menutrans Insert\ Mode Ekleme\ Kipi
menutrans Block\ and\ Insert Blok\ Seçiminde\ ve\ Ekleme\ Kipinde
menutrans Always Her\ Zaman\ ık
menutrans Always Her\ Zaman\ ık
">>>----------------- Edit/File settings
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &Satır\ Numaralandırmayı\ /Kapat<Tab>:set\ nu!
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! &Göreceli\ Satır\ Numaralandırmayı\ /Kapat<Tab>:set\ nru!
@@ -124,10 +124,10 @@ menutrans Build\ &Tags\ File &Etiket\ Dosyası\ Oluştur
"-------------------
menutrans &Folding &Kıvırmalar
menutrans &Spelling &Yazım\ Denetimi
menutrans &Diff &Ayrımlar\ (diff)
menutrans &Diff K&arşılaştırma\ (diff)
"-------------------
menutrans &Make<Tab>:make &Derle<Tab>:make
menutrans &List\ Errors<Tab>:cl &Hataları\ Listele<Tab>:cl
menutrans &List\ Errors<Tab>:cl &Hataları\ Listele<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! İ&letileri\ Listele<Tab>:cl!
menutrans &Next\ Error<Tab>:cn Bir\ &Sonraki\ Hata<Tab>:cn
menutrans &Previous\ Error<Tab>:cp Bir\ Ö&nceki\ Hata<Tab>:cp
@@ -137,8 +137,8 @@ menutrans Error\ &Window Hatalar\ &Penceresi
menutrans Se&t\ Compiler De&rleyici\ Seç
menutrans Show\ Compiler\ Se&ttings\ in\ Menu Derleyici\ Ayarlarını\ Menüde\ &Göster
"-------------------
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ &nüştür<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ Dönüştür<Tab>:%!xxd\ -r
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ &nüştür<Tab>:%!xxd
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ Dönüştür<Tab>:%!xxd\ -r
">>>---------------- Tools/Spelling
menutrans &Spell\ Check\ On Yazım\ Denetimini\ &
menutrans Spell\ Check\ &Off Yazım\ Denetimini\ &Kapat
@@ -191,7 +191,7 @@ menutrans &Open<Tab>:copen &Aç<Tab>:copen
" Syntax menu
menutrans &Show\ File\ Types\ in\ Menu Dosya\ Türlerini\ Menüde\ &Göster
menutrans Set\ '&syntax'\ only Yalnızca\ 'syntax'\ &Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ İçin\ &de\ Ayarla
menutrans Set\ '&filetype'\ too 'filetype'\ İçin\ &de\ Ayarla
menutrans &Off &Kapat
menutrans &Manual &El\ İle
menutrans A&utomatic &Otomatik
@@ -204,7 +204,7 @@ menutrans &Convert\ to\ HTML &HTML'ye\ Dönüştür
menutrans &Refresh\ menu &Menüyü\ Güncelle
menutrans Delete &Sil
menutrans &Alternate Ö&teki
menutrans &Next So&nraki
menutrans &Next So&nraki
menutrans &Previous Ön&ceki
menutrans [No\ File] [Dosya\ Yok]
@@ -235,16 +235,16 @@ menutrans &Left\ Side<Tab>^WH So&la<Tab>^WH
menutrans &Right\ Side<Tab>^WL &Sağa<Tab>^WL
" The popup menu
menutrans &Undo &Geri\ Al
menutrans &Undo &Geri\ Al
menutrans Cu&t &Kes
menutrans &Copy K&opyala
menutrans &Copy K&opyala
menutrans &Paste &Yapıştır
menutrans &Delete &Sil
menutrans Select\ Blockwise &Blok\ Biçiminde\ Seç
menutrans Select\ &Word &zcük\ Seç
menutrans Select\ &Word &zcük\ Seç
menutrans Select\ &Sentence &Tümce\ Seç
menutrans Select\ Pa&ragraph &Paragraf\ Seç
menutrans Select\ &Line S&atır\ Seç
menutrans Select\ &Line S&atır\ Seç
menutrans Select\ &Block Bl&ok\ Seç
menutrans Select\ &All Tümü&\ Seç
@@ -305,4 +305,4 @@ let g:menutrans_fileformat_dialog = "Dosya biçimi seçin"
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\nİ&ptal"
let menutrans_no_file = "[Dosya Yok]"
let &cpo = s:keepcpo
unlet s:keepcpo
unlet s:keepcpo

View File

@@ -58,7 +58,7 @@ menutrans Split\ &Diff\ with\.\.\. &So\ sánh\ với\.\.\.
menutrans Split\ Patched\ &By\.\.\. So\ sánh\ đã\ \ lỗi\ &bởi\.\.\.
"--------------------
menutrans &Print In\ &ra
menutrans Sa&ve-Exit<Tab>:wqa Ghi\ nhớ\ rồi\ th&oát <Tab>:wqa
menutrans Sa&ve-Exit<Tab>:wqa Ghi\ nhớ\ rồi\ th&oát\ <Tab>:wqa
menutrans E&xit<Tab>:qa &Thoát<Tab>:qa
"
"
@@ -87,7 +87,7 @@ menutrans C&olor\ Scheme Phối\ hợp\ màu\ &sắc
menutrans &Keymap \ đồ\ &bàn\ phím
menutrans Select\ Fo&nt\.\.\. Chọn\ &phông\ chữ\.\.\.
">>>----------------- Edit/Global settings
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! &Chiếu\ sáng\ từ\ tìm\ thấy <Tab>:set\ hls!
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! &Chiếu\ sáng\ từ\ tìm\ thấy\ <Tab>:set\ hls!
menutrans Toggle\ &Ignore-case<Tab>:set\ ic! &Không\ tính\ đến\ kiểu\ chữ<Tab>:set\ ic!
menutrans Toggle\ &Showmatch<Tab>:set\ sm! Cho\ &biết\ phần\ tử\ \ cặp<Tab>:set\ sm!
menutrans &Context\ lines Số\ &dòng\ quanh\ con\ trỏ
@@ -149,7 +149,7 @@ menutrans Jump\ &back<Tab>^T &Quay\ lại<Tab>^T
menutrans Build\ &Tags\ File &Tạo\ tập\ tin\ thẻ\ ghi
"-------------------
menutrans &Folding Nếp\ &gấp
menutrans &Diff &Khác\ biệt (diff)
menutrans &Diff &Khác\ biệt\ (diff)
"-------------------
menutrans &Make<Tab>:make &Biên\ dịch<Tab>:make
menutrans &List\ Errors<Tab>:cl &Danh\ sách\ lỗi<Tab>:cl

View File

@@ -1,7 +1,7 @@
" Menu Translations: Simplified Chinese
" Maintainer: Shun Bai <baishunde@gmail.com>
" Previous Maintainer: Yuheng Xie <elephant@linux.net.cn>
" Last Change: 2019 Sep 11
" Last Change: 2020 Apr 23
" Quit when menu translations have already been done.
if exists("did_menu_trans")
@@ -122,7 +122,7 @@ menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! 开/关\ C\ 语言式缩
" other options
menutrans &Shiftwidth 缩进宽度(&S)
menutrans Soft\ &Tabstop 软制表位宽度(Soft Tabstop)(&T)
menutrans Soft\ &Tabstop 软制表位宽度(Soft\ Tabstop)(&T)
menutrans Te&xt\ Width\.\.\. 文本宽度(&X)\.\.\.
menutrans &File\ Format\.\.\. 文件格式(&F)\.\.\.

View File

@@ -108,8 +108,9 @@ map ,o oPut 'X's in the left box, then hit 'C' or 'R'
map ,R 03stop
"
" Write a new line (used by 'I'nitialize board)
" In remembrance of John Conway, 26 December 1937 11 April 2020.
map )0 o- --....................--....................-
map )1 o- VIM --....................--....................-
map )1 o- JOHN CONWAY --....................--....................-
map )2 o- LIVES --....................--....................-
"
"

View File

@@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
" Last Change: 2020 Feb 02
" Last Change: 2020 Apr 27
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
" Standard syntax initialization
@@ -24,7 +24,7 @@ let s:supported = [
\ 'wheezy', 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
\ 'sid', 'rc-buggy',
\
\ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'devel'
\ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'groovy', 'devel'
\ ]
let s:unsupported = [
\ 'frozen', 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',

View File

@@ -2,7 +2,7 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
" Last Change: 2020 Feb 02
" Last Change: 2020 Apr 27
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
" Standard syntax initialization
@@ -26,7 +26,7 @@ let s:supported = [
\ 'wheezy', 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
\ 'sid', 'rc-buggy',
\
\ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'devel'
\ 'trusty', 'xenial', 'bionic', 'eoan', 'focal', 'groovy', 'devel'
\ ]
let s:unsupported = [
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',

View File

@@ -1,7 +1,8 @@
" Vim syntax file
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
" Version: 102
" Last Change: 2019 Dec. 14
" Last Change: 2020 Apr 20
" Patched By: Eisuke Kawashima
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
" Usage: For instructions, do :help fortran-syntax from Vim
" Credits:
@@ -53,10 +54,10 @@ if !exists("b:fortran_fixed_source")
elseif exists("fortran_fixed_source")
" User guarantees fixed source form for all fortran files
let b:fortran_fixed_source = 1
elseif expand("%:e") ==? "f\<90\|95\|03\|08\>"
elseif expand("%:e") =~? '^f\%(90\|95\|03\|08\)$'
" Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers
let b:fortran_fixed_source = 0
elseif expand("%:e") ==? "f\|f77\|for"
elseif expand("%:e") =~? '^\%(f\|f77\|for\)$'
" Fixed-form file extension defaults
let b:fortran_fixed_source = 1
else

View File

@@ -1,22 +1,19 @@
" Vim syntax file
" Language: Lex
" Language: Lex and Flex
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" Last Change: Aug 31, 2016
" Version: 17
" URL: http://mysite.verizon.net/astronaut/vim/index.html#SYNTAX_LEX
"
" Option:
" lex_uses_cpp : if this variable exists, then C++ is loaded rather than C
" Contributor: Robert A. van Engelen <engelen@acm.org>
" Last Change: Apr 24, 2020
" Version: 18
" quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" Read the C/C++ syntax to start with
let s:Cpath= fnameescape(expand("<sfile>:p:h").(exists("g:lex_uses_cpp")? "/cpp.vim" : "/c.vim"))
" Read the C++ syntax to start with
let s:Cpath= fnameescape(expand("<sfile>:p:h")."/cpp.vim")
if !filereadable(s:Cpath)
for s:Cpath in split(globpath(&rtp,(exists("g:lex_uses_cpp")? "syntax/cpp.vim" : "syntax/c.vim")),"\n")
for s:Cpath in split(globpath(&rtp,"syntax/cpp.vim"),"\n")
if filereadable(fnameescape(s:Cpath))
let s:Cpath= fnameescape(s:Cpath)
break
@@ -29,115 +26,163 @@ exe "syn include @lexCcode ".s:Cpath
" --- Lex stuff ---
" --- ========= ---
" Options Section
syn match lexOptions '^%\s*option\>.*$' contains=lexPatString
" Definitions
" %%
" Rules
" %%
" User Code
"
" --- ======= ---
" --- Example ---
" --- ======= ---
"
" // this is a valid lex file
" // indented initial code block
" #include <stdlib.h>
" %{
" // initial code block
" #include <stdio.h>
" const char *sep = "";
" %}
" %option outfile="scanner.c" noyywrap nodefault
" %x COMMENT
" id [A-Za-z_][A-Za-z0-9_]*
" %%
" // indented initial action code block
" printf("BEGIN");
" {id} printf("%s%s", sep, yytext); sep = "";
" . |
" \n { sep = "\n"; }
" "/*" { BEGIN COMMENT; }
" "//".* { }
" <COMMENT>{
" "*/" { BEGIN INITIAL; }
" .|\n
" }
" <*><<EOF>> { // end of file
" printf("\nEND\n");
" yyterminate();
" }
" %%
" void scan()
" {
" while (yylex())
" continue;
" }
" /* main program */
" int main()
" {
" scan();
" }
" Abbreviations Section
" Definitions Section with initial code blocks, abbreviations, options, states
if has("folding")
syn region lexAbbrvBlock fold start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState
syn region lexAbbrvBlock fold start="^\S" end="^\ze%%" skipnl nextgroup=lexPatBlock contains=lexOptions,lexAbbrv,lexInitialCodeBlock,lexInclude,lexAbbrvComment,lexStartState
else
syn region lexAbbrvBlock start="^\(\h\+\s\|%{\)" end="^\ze%%$" skipnl nextgroup=lexPatBlock contains=lexAbbrv,lexInclude,lexAbbrvComment,lexStartState
syn region lexAbbrvBlock start="^\S" end="^\ze%%" skipnl nextgroup=lexPatBlock contains=lexOptions,lexAbbrv,lexInitialCodeBlock,lexInclude,lexAbbrvComment,lexStartState
endif
syn match lexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=lexAbbrvRegExp
syn match lexAbbrv "^%[sx]" contained
syn match lexAbbrvRegExp "\s\S.*$"lc=1 contained nextgroup=lexAbbrv,lexInclude
syn match lexOptions "^%\a\+\(\s.*\|[^{]*\)$" contains=lexOptionsEq,lexPatString,lexSlashQuote,lexBrace,lexSlashBrace
syn match lexOptionsEq "=" skipwhite contained
syn match lexAbbrv "^\I\i*\s"me=e-1 skipwhite contained nextgroup=lexAbbrvPat
syn match lexAbbrvPat "\s\S.*$"lc=1 contained contains=lexPatAbbrv,lexPatString,lexSlashQuote,lexBrace,lexSlashBrace nextgroup=lexAbbrv,lexInclude
syn match lexStartState "^%\(xs\?\|s\)\(t\(a\(t\(e\?\)\?\)\?\)\?\)\?\(\s\+\I\i*\)\+\s*$" contained contains=lexStartStateCmd
syn match lexStartStateCmd '^%\(xs\?\|s\)\(t\(a\(t\(e\?\)\?\)\?\)\?\)\?' contained
if has("folding")
syn region lexInclude fold matchgroup=lexSep start="^%{" end="%}" contained contains=@lexCcode
syn region lexAbbrvComment fold start="^\s\+/\*" end="\*/" contains=@Spell
syn region lexAbbrvComment fold start="\%^/\*" end="\*/" contains=@Spell
syn region lexStartState fold matchgroup=lexAbbrv start="^%\a\+" end="$" contained
syn region lexInitialCodeBlock fold start="^\s\+" end="^\S"me=e-1 contains=@lexCcode
syn region lexInclude fold matchgroup=lexSep start="^%\a*{" end="^%\?}" contained contains=@lexCcode,lexCFunctions
syn region lexAbbrvComment fold start="^\s*//" end="$" contains=@Spell
syn region lexAbbrvComment fold start="^\s*/\*" end="\*/" contains=@Spell
else
syn region lexInclude matchgroup=lexSep start="^%{" end="%}" contained contains=@lexCcode
syn region lexAbbrvComment start="^\s\+/\*" end="\*/" contains=@Spell
syn region lexAbbrvComment start="\%^/\*" end="\*/" contains=@Spell
syn region lexStartState matchgroup=lexAbbrv start="^%\a\+" end="$" contained
syn region lexInitialCodeBlock start="^\s\+" end="^\S"me=e-1 contains=@lexCcode
syn region lexInclude matchgroup=lexSep start="^%\a*{" end="^%\?}" contained contains=@lexCcode,lexCFunctions
syn region lexAbbrvComment start="^\s*//" end="$" contains=@Spell
syn region lexAbbrvComment start="^\s*/\*" end="\*/" contains=@Spell
endif
"%% : Patterns {Actions}
" Rules Section with patterns and actions
if has("folding")
syn region lexPatBlock fold matchgroup=Todo start="^%%$" matchgroup=Todo end="^%\ze%$" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatInclude
syn region lexPat fold start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPattern contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace
syn region lexPatInclude fold matchgroup=lexSep start="^%{" end="%}" contained contains=lexPatCode
syn region lexBrace fold start="\[" skip=+\\\\\|\\+ end="]" contained
syn region lexPatString fold matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
syn region lexPatBlock fold matchgroup=Todo start="^%%" matchgroup=Todo end="^\ze%%" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude
syn region lexPat fold start="\S" skip="\\\\\|\\\s" end="\ze\(\s*$\|\s\+\(\h\|{\W\|{$\|[-+*]\|//\|/\*\)\)" skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPatEnd contains=lexPatTag,lexPatString,lexSlashQuote,lexPatAbbrv,lexBrace,lexSlashBrace
syn region lexPatInclude fold matchgroup=lexSep start="^%{" end="^%}" contained contains=@lexCcode
syn region lexBrace fold matchgroup=Character start="\[" skip="\\.\|\[:\a\+:\]\|\[\.\a\+\.\]\|\[=.=\]" end="\]" contained
syn region lexPatString fold matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
else
syn region lexPatBlock matchgroup=Todo start="^%%$" matchgroup=Todo end="^%%$" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatInclude
syn region lexPat start=+\S+ skip="\\\\\|\\." end="\s"me=e-1 skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPattern contains=lexPatTag,lexPatString,lexSlashQuote,lexBrace
syn region lexPatInclude matchgroup=lexSep start="^%{" end="%}" contained contains=lexPatCode
syn region lexBrace start="\[" skip=+\\\\\|\\+ end="]" contained
syn region lexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
syn region lexPatBlock matchgroup=Todo start="^%%" matchgroup=Todo end="^\ze%%" skipnl skipwhite nextgroup=lexFinalCodeBlock contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude
syn region lexPat start="\S" skip="\\\\\|\\\s" end="\ze\(\s*$\|\s\+\(\h\|{\W\|{$\|[-+*]\|//\|/\*\)\)" skipwhite contained nextgroup=lexMorePat,lexPatSep,lexPatEnd contains=lexPatTag,lexPatString,lexSlashQuote,lexPatAbbrv,lexBrace,lexSlashBrace
syn region lexPatInclude matchgroup=lexSep start="^%{" end="^%}" contained contains=@lexCcode
syn region lexBrace matchgroup=Character start="\[" skip="\\.\|\[:\a\+:\]\|\[\.\a\+\.\]\|\[=.=\]" end="\]" contained
syn region lexPatString matchgroup=String start=+"+ skip=+\\\\\|\\"+ matchgroup=String end=+"+ contained
endif
syn match lexPatTag "^<\I\i*\(,\I\i*\)*>" contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep
syn match lexPatTagZone "^<\I\i*\(,\I\i*\)*>\s\+\ze{" contained nextgroup=lexPatTagZoneStart
syn match lexPatTag +^<\I\i*\(,\I\i*\)*>*\(\\\\\)*\\"+ contained nextgroup=lexPat,lexPatTag,lexMorePat,lexPatSep
" Lex Patterns
syn region lexPattern start='[^ \t{}]' end="$" contained contains=lexPatRange
syn region lexPatRange matchgroup=Delimiter start='\[' skip='\\\\\|\\.' end='\]' contains=lexEscape
syn match lexEscape '\%(\\\\\)*\\.' contained
syn match lexPatAbbrv "{\I\i*}"hs=s+1,he=e-1 contained
syn match lexPatTag "^<\^\?\(\I\i*\|\*\)\(,\^\?\(\I\i*\|\*\)\)*>" contained nextgroup=lexPat,lexMorePat,lexPatSep,lexPatEnd
syn match lexPatTagZone "^<\^\?\(\I\i*\|\*\)\(,\^\?\(\I\i*\|\*\)\)*>\s*{$"me=e-1 contained nextgroup=lexPatTagZoneStart
if has("folding")
syn region lexPatTagZoneStart matchgroup=lexPatTag fold start='{' end='}' contained contains=lexPat,lexPatComment
syn region lexPatComment start="\s\+/\*" end="\*/" fold skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
syn region lexPatTagZoneStart fold matchgroup=lexPatTag start='{$' end='^}' skipnl skipwhite contained contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude
syn region lexPatComment fold start="//" end="$" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
syn region lexPatComment fold start="/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
else
syn region lexPatTagZoneStart matchgroup=lexPatTag start='{' end='}' contained contains=lexPat,lexPatComment
syn region lexPatComment start="\s\+/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
syn region lexPatTagZoneStart matchgroup=lexPatTag start='{' end='^}' skipnl skipwhitecontained contains=lexPatTag,lexPatTagZone,lexPatComment,lexPat,lexPatSep,lexPatInclude
syn region lexPatComment start="//" end="$" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
syn region lexPatComment start="/\*" end="\*/" skipnl contained contains=cTodo skipwhite nextgroup=lexPatComment,lexPat,@Spell
endif
syn match lexPatCodeLine "[^{\[].*" contained contains=@lexCcode
syn match lexMorePat "\s*|\s*$" skipnl contained nextgroup=lexPat,lexPatTag,lexPatComment
syn match lexPatSep "\s\+" contained nextgroup=lexMorePat,lexPatCode,lexPatCodeLine
syn match lexPatEnd "\s*$" skipnl contained
syn match lexPatCodeLine "[^{\[].*" contained contains=@lexCcode,lexCFunctions
syn match lexMorePat "\s*|\s*$" skipnl contained nextgroup=lexPat,lexPatTag,lexPatComment
syn match lexPatSep "\s\+" contained nextgroup=lexMorePat,lexPatCode,lexPatCodeLine
syn match lexSlashQuote +\(\\\\\)*\\"+ contained
syn match lexSlashBrace +\(\\\\\)*\\\[+ contained
if has("folding")
syn region lexPatCode matchgroup=Delimiter start="{" end="}" fold skipnl contained contains=@lexCcode,lexCFunctions
syn region lexPatCode fold matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions
else
syn region lexPatCode matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions
syn region lexPatCode matchgroup=Delimiter start="{" end="}" skipnl contained contains=@lexCcode,lexCFunctions
endif
" Lex "functions" which may appear in C/C++ code blocks
syn keyword lexCFunctions BEGIN input unput woutput yyleng yylook yytext
syn keyword lexCFunctions ECHO output winput wunput yyless yymore yywrap
" User Code Section with final code block
syn region lexFinalCodeBlock matchgroup=Todo start="^%%" end="\%$" contained contains=@lexCcode
" %%
" lexAbbrevBlock
" %%
" lexPatBlock
" %%
" lexFinalCodeBlock
syn region lexFinalCodeBlock matchgroup=Todo start="%$"me=e-1 end="\%$" contained contains=@lexCcode
" Lex macros which may appear in C/C++ code blocks
syn keyword lexCFunctions BEGIN ECHO REJECT yytext YYText yyleng YYLeng yymore yyless yywrap yylook
syn keyword lexCFunctions yyrestart yyterminate yylineno yycolumno yyin yyout
syn keyword lexCFunctions input unput output winput wunput woutput
syn keyword lexCFunctions yyinput yyunput yyoutput yywinput yywunput yywoutput
" <c.vim> includes several ALLBUTs; these have to be treated so as to exclude lex* groups
syn cluster cParenGroup add=lex.*
syn cluster cParenGroup add=lex.*
syn cluster cDefineGroup add=lex.*
syn cluster cPreProcGroup add=lex.*
syn cluster cMultiGroup add=lex.*
syn cluster cMultiGroup add=lex.*
" Synchronization
syn sync clear
syn sync minlines=500
syn sync match lexSyncPat grouphere lexPatBlock "^%[a-zA-Z]"
syn sync match lexSyncPat groupthere lexPatBlock "^<$"
syn sync match lexSyncPat groupthere lexPatBlock "^%%$"
syn sync match lexSyncPat groupthere lexPatBlock "^%%"
" The default highlighting.
if !exists("skip_lex_syntax_inits")
hi def link lexAbbrvComment lexPatComment
hi def link lexAbbrvRegExp Macro
hi def link lexAbbrv SpecialChar
hi def link lexBrace lexPat
hi def link lexCFunctions Function
hi def link lexCstruct cStructure
hi def link lexMorePat SpecialChar
hi def link lexOptions PreProc
hi def link lexAbbrvPat lexPat
hi def link lexAbbrv Special
hi def link lexBrace lexPat
hi def link lexCFunctions PreProc
hi def link lexMorePat Special
hi def link lexOptions PreProc
hi def link lexOptionsEq Operator
hi def link lexPatComment Comment
hi def link lexPat Function
hi def link lexPatString Function
hi def link lexPatTag Special
hi def link lexPatString lexPat
hi def link lexPatAbbrv Special
hi def link lexPatTag Statement
hi def link lexPatTagZone lexPatTag
hi def link lexSep Delimiter
hi def link lexSlashQuote lexPat
hi def link lexStartState Statement
hi def link lexSlashBrace lexPat
hi def link lexStartState lexPatTag
hi def link lexStartStateCmd Special
endif
let b:current_syntax = "lex"
" vim:ts=10
" vim:ts=8

View File

@@ -1,9 +1,10 @@
" Vim syntax file
" Language: Man page
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Maintainer: Jason Franklin <vim@justemail.net>
" Previous Maintainer: SungHyun Nam <goweol@gmail.com>
" Previous Maintainer: Gautam H. Mudunuri <gmudunur@informatica.com>
" Version Info:
" Last Change: 2015 Nov 24
" Last Change: 2020 Apr 30
" Additional highlighting by Johannes Tanzler <johannes.tanzler@aon.at>:
" * manSubHeading
@@ -18,14 +19,17 @@ endif
runtime! syntax/ctrlh.vim
syn case ignore
syn match manReference "\f\+([1-9][a-z]\=)"
syn match manTitle "^\f\+([0-9]\+[a-z]\=).*"
syn match manSectionHeading "^[a-z][a-z -]*[a-z]$"
syn match manSubHeading "^\s\{3\}[a-z][a-z -]*[a-z]$"
syn match manOptionDesc "^\s*[+-][a-z0-9]\S*"
syn match manLongOptionDesc "^\s*--[a-z0-9-]\S*"
" syn match manHistory "^[a-z].*last change.*$"
syn match manHeader '\%1l.*'
exe 'syn match manFooter ''\%' . line('$') . 'l.*'''
if getline(1) =~ '^[a-zA-Z_]\+([23])'
syntax include @cCode <sfile>:p:h/c.vim
syn match manCFuncDefinition display "\<\h\w*\>\s*("me=e-1 contained
@@ -36,7 +40,9 @@ endif
" Define the default highlighting.
" Only when an item doesn't have highlighting yet
hi def link manTitle Title
hi def link manHeader Title
hi def link manFooter PreProc
hi def link manSectionHeading Statement
hi def link manOptionDesc Constant
hi def link manLongOptionDesc Constant

View File

@@ -1,9 +1,9 @@
" Vim syntax file
" Language: Perl 5
" Maintainer: vim-perl <vim-perl@googlegroups.com>
" Homepage: http://github.com/vim-perl/vim-perl/tree/master
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
" Last Change: 2017-09-12
" Homepage: https://github.com/vim-perl/vim-perl/tree/master
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
" Last Change: 2020 Apr 15
" Contributors: Andy Lester <andy@petdance.com>
" Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
" Lukas Mai <l.mai.web.de>

View File

@@ -1,9 +1,9 @@
" Vim syntax file
" Language: Perl 6
" Maintainer: vim-perl <vim-perl@googlegroups.com>
" Homepage: http://github.com/vim-perl/vim-perl/tree/master
" Bugs/requests: http://github.com/vim-perl/vim-perl/issues
" Last Change: 2013-07-21
" Homepage: https://github.com/vim-perl/vim-perl/tree/master
" Bugs/requests: https://github.com/vim-perl/vim-perl/issues
" Last Change: 2020 Apr 15
" Contributors: Luke Palmer <fibonaci@babylonia.flatirons.org>
" Moritz Lenz <moritz@faui2k3.org>

View File

@@ -1,6 +1,6 @@
" Vim syntax support file
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2016 Nov 04
" Last Change: 2020 Apr 13
" This file sets up for syntax highlighting.
" It is loaded from "syntax.vim" and "manual.vim".
@@ -52,9 +52,11 @@ fun! s:SynSet()
if s != ""
" Load the syntax file(s). When there are several, separated by dots,
" load each in sequence.
" load each in sequence. Skip empty entries.
for name in split(s, '\.')
exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim"
if !empty(name)
exe "runtime! syntax/" . name . ".vim syntax/" . name . "/*.vim"
endif
endfor
endif
endfun

View File

@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Vim 8.0 script
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: March 11, 2020
" Version: 8.0-30
" Last Change: Apr 15, 2020
" Version: 8.0-33
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
" Automatically generated keyword lists: {{{1
@@ -224,7 +224,7 @@ syn keyword vimAugroupKey contained aug[roup]
" Operators: {{{2
" =========
syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue,vim9Comment
syn match vimOper "\%#=1\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
syn match vimOper "\(\<is\|\<isnot\)[?#]\{0,2}\>" skipwhite nextgroup=vimString,vimSpecFile
syn match vimOper "||\|&&\|[-+.!]" skipwhite nextgroup=vimString,vimSpecFile
@@ -265,7 +265,7 @@ syn match vimSpecFileMod "\(:[phtre]\)\+" contained
" User-Specified Commands: {{{2
" =======================
syn cluster vimUserCmdList contains=vimAddress,vimSyntax,vimHighlight,vimAutoCmd,vimCmplxRepeat,vimComment,vimCtrlChar,vimEscapeBrace,vimFunc,vimFuncName,vimFunction,vimFunctionError,vimIsCommand,vimMark,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimLet,vimSet,vimSetEqual,vimSetString,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange,vimSynLine
syn cluster vimUserCmdList contains=vimAddress,vimSyntax,vimHighlight,vimAutoCmd,vimCmplxRepeat,vimComment,vim9Comment,vimCtrlChar,vimEscapeBrace,vimFunc,vimFuncName,vimFunction,vimFunctionError,vimIsCommand,vimMark,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimLet,vimSet,vimSetEqual,vimSetString,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange,vimSynLine
syn keyword vimUserCommand contained com[mand]
syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserAttrbError,vimUserCommand,@vimUserCmdList
syn match vimUserAttrbError contained "-\a\+\ze\s"
@@ -295,6 +295,12 @@ syn match vimComment excludenl +\s"[^\-:.%#=*].*$+lc=1 contains=@vimCommentGroup
syn match vimComment +\<endif\s\+".*$+lc=5 contains=@vimCommentGroup,vimCommentString
syn match vimComment +\<else\s\+".*$+lc=4 contains=@vimCommentGroup,vimCommentString
syn region vimCommentString contained oneline start='\S\s\+"'ms=e end='"'
" Vim9 comments - TODO: might be highlighted while they don't work
syn match vimComment excludenl +\s#[^{].*$+lc=1 contains=@vimCommentGroup,vimCommentString
syn match vimComment +\<endif\s\+#[^{].*$+lc=5 contains=@vimCommentGroup,vimCommentString
syn match vimComment +\<else\s\+#[^{].*$+lc=4 contains=@vimCommentGroup,vimCommentString
" Vim9 comment inside expression
syn match vim9Comment +\s\zs#[^{].*$+ contains=@vimCommentGroup,vimCommentString
" Environment Variables: {{{2
" =====================
@@ -372,7 +378,7 @@ syn match vimCmplxRepeat '[^a-zA-Z_/\\()]q[0-9a-zA-Z"]\>'lc=1
syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)'
" Set command and associated set-options (vimOptions) with comment {{{2
syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\." end="$" end="|" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\." end="$" end="|" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vim9Comment,vimSetString,vimSetMod
syn region vimSetEqual contained start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation,vimEnvvar oneline
syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
syn match vimSetSep contained "[,:]" skipwhite nextgroup=vimCommand
@@ -381,7 +387,7 @@ syn match vimSetMod contained "&vim\=\|[!&?<]\|all&"
" Let: {{{2
" ===
syn keyword vimLet let unl[et] skipwhite nextgroup=vimVar,vimFuncVar,vimLetHereDoc
VimFoldh syn region vimLetHereDoc matchgroup=vimLetHereDocStart start='=<<\s\+\%(trim\>\)\=\s*\z(\L\S*\)' matchgroup=vimLetHereDocStop end='^\s*\z1\s*$' contains=vimComment
VimFoldh syn region vimLetHereDoc matchgroup=vimLetHereDocStart start='=<<\s\+\%(trim\>\)\=\s*\z(\L\S*\)' matchgroup=vimLetHereDocStop end='^\s*\z1\s*$' contains=vimComment,vim9Comment
" Abbreviations: {{{2
" =============
@@ -427,7 +433,7 @@ syn match vimMenuPriority "\d\+\(\.\d\+\)*" contained skipwhite nextgroup=vimMen
syn match vimMenuNameMore "\c\\\s\|<tab>\|\\\." contained nextgroup=vimMenuName,vimMenuNameMore contains=vimNotation
syn match vimMenuMod contained "\c<\(script\|silent\)\+>" skipwhite contains=vimMapModKey,vimMapModErr nextgroup=@vimMenuList
syn match vimMenuMap "\s" contained skipwhite nextgroup=vimMenuRhs
syn match vimMenuRhs ".*$" contained contains=vimString,vimComment,vimIsCommand
syn match vimMenuRhs ".*$" contained contains=vimString,vimComment,vim9Comment,vimIsCommand
syn match vimMenuBang "!" contained skipwhite nextgroup=@vimMenuList
" Angle-Bracket Notation: (tnx to Michael Geddes) {{{2
@@ -477,8 +483,8 @@ syn match vimSynContains contained "\<contain\(s\|edin\)=" nextgroup=vimGroupLis
syn match vimSynKeyContainedin contained "\<containedin=" nextgroup=vimGroupList
syn match vimSynNextgroup contained "nextgroup=" nextgroup=vimGroupList
syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
syn match vimAuSyntax contained "\s+sy\%[ntax]" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
syn match vimSyntax "\<sy\%[ntax]\>" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment,vim9Comment
syn match vimAuSyntax contained "\s+sy\%[ntax]" contains=vimCommand skipwhite nextgroup=vimSynType,vimComment,vim9Comment
syn cluster vimFuncBodyList add=vimSyntax
" Syntax: case {{{2
@@ -515,7 +521,7 @@ syn match vimSynKeyOpt contained "\%#=1\<\(conceal\|contained\|transparent\|skip
syn cluster vimFuncBodyList add=vimSynType
" Syntax: match {{{2
syn cluster vimSynMtchGroup contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation
syn cluster vimSynMtchGroup contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation,vim9Comment
syn keyword vimSynType contained match skipwhite nextgroup=vimSynMatchRegion
syn region vimSynMatchRegion contained keepend matchgroup=vimGroupName start="\h\w*" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
syn match vimSynMtchOpt contained "\%#=1\<\(conceal\|transparent\|contained\|excludenl\|keepend\|skipempty\|skipwhite\|display\|extend\|skipnl\|fold\)\>"
@@ -569,7 +575,7 @@ syn match vimIsCommand "<Bar>\s*\a\+" transparent contains=vimCommand,vimNotatio
" Highlighting: {{{2
" ============
syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment
syn cluster vimHighlightCluster contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment,vim9Comment
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimhictermerror")
syn match vimHiCtermError contained "\D\i*"
endif
@@ -624,6 +630,7 @@ syn match vimCtrlChar "[- -]"
" Beginners - Patterns that involve ^ {{{2
" =========
syn match vimLineComment +^[ \t:]*".*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
syn match vim9LineComment +^[ \t:]\+#.*$+ contains=@vimCommentGroup,vimCommentString,vimCommentTitle
syn match vimCommentTitle '"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1 contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
syn match vimContinue "^\s*\\"
syn region vimString start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
@@ -738,10 +745,10 @@ if g:vimsyn_embed =~# 'P' && has("pythonx") && filereadable(s:pythonpath)
unlet! b:current_syntax
syn cluster vimFuncBodyList add=vimPythonRegion
exe "syn include @vimPythonScript ".s:pythonpath
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimPythonScript
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon][3x]\=\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimPythonScript
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon][3x]\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\s*<<\s*\z(\S*\)\ze\(\s*#.*\)\=$+ end=+^\z1\ze\(\s*".*\)\=$+ contains=@vimPythonScript
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
syn cluster vimFuncBodyList add=vimPythonRegion
else
syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
@@ -857,6 +864,7 @@ if !exists("skip_vim_syntax_inits")
hi def link vimCmplxRepeat SpecialChar
hi def link vimCommand Statement
hi def link vimComment Comment
hi def link vim9Comment Comment
hi def link vimCommentString vimString
hi def link vimCommentTitle PreProc
hi def link vimCondHL vimCommand
@@ -906,6 +914,7 @@ if !exists("skip_vim_syntax_inits")
hi def link vimLetHereDocStart Special
hi def link vimLetHereDocStop Special
hi def link vimLineComment vimComment
hi def link vim9LineComment vimComment
hi def link vimMapBang vimCommand
hi def link vimMapModKey vimFuncSID
hi def link vimMapMod vimBracket

View File

@@ -5,6 +5,7 @@
# Argument for running ctags.
TAGS_FILES = \
*.c \
*.cc \
*.cpp \
*.h \
auto/*.c \

View File

@@ -624,7 +624,10 @@ NBDEBUG_SRC = nbdebug.c
endif
ifeq ($(CHANNEL),yes)
DEFINES += -DFEAT_JOB_CHANNEL
DEFINES += -DFEAT_JOB_CHANNEL -DFEAT_IPV6
ifeq ($(shell expr "$(WINVER)" \>= 0x600),1)
DEFINES += -DHAVE_INET_NTOP
endif
endif
ifeq ($(TERMINAL),yes)
@@ -784,6 +787,8 @@ OBJ = \
$(OUTDIR)/tag.o \
$(OUTDIR)/term.o \
$(OUTDIR)/testing.o \
$(OUTDIR)/textformat.o \
$(OUTDIR)/textobject.o \
$(OUTDIR)/textprop.o \
$(OUTDIR)/time.o \
$(OUTDIR)/ui.o \

View File

@@ -103,6 +103,8 @@ SRC = arabic.c \
tag.c \
term.c \
testing.c \
textformat.c \
textobject.c \
textprop.c \
time.c \
ui.c \

View File

@@ -317,6 +317,10 @@ MSVCRT_NAME = vcruntime$(MSVCRT_VER)
CPU = ix86
!endif
### Set the default $(WINVER) to make it work with VC++7.0 (VS.NET)
!ifndef WINVER
WINVER = 0x0501
!endif
# Flag to turn on Win64 compatibility warnings for VC7.x and VC8.
WP64CHECK = /Wp64
@@ -467,7 +471,10 @@ SOUND_LIB = winmm.lib
!if "$(CHANNEL)" == "yes"
CHANNEL_PRO = proto/channel.pro
CHANNEL_OBJ = $(OBJDIR)/channel.obj
CHANNEL_DEFS = -DFEAT_JOB_CHANNEL
CHANNEL_DEFS = -DFEAT_JOB_CHANNEL -DFEAT_IPV6
! if $(WINVER) >= 0x600
CHANNEL_DEFS = $(CHANNEL_DEFS) -DHAVE_INET_NTOP
! endif
NETBEANS_LIB = WSock32.lib Ws2_32.lib
!endif
@@ -493,11 +500,6 @@ CON_LIB = oldnames.lib kernel32.lib advapi32.lib shell32.lib gdi32.lib \
CON_LIB = $(CON_LIB) /DELAYLOAD:comdlg32.dll /DELAYLOAD:ole32.dll DelayImp.lib
!endif
### Set the default $(WINVER) to make it work with VC++7.0 (VS.NET)
!ifndef WINVER
WINVER = 0x0501
!endif
# If you have a fixed directory for $VIM or $VIMRUNTIME, other than the normal
# default, use these lines.
#VIMRCLOC = somewhere
@@ -804,6 +806,8 @@ OBJ = \
$(OUTDIR)\tag.obj \
$(OUTDIR)\term.obj \
$(OUTDIR)\testing.obj \
$(OUTDIR)\textformat.obj \
$(OUTDIR)\textobject.obj \
$(OUTDIR)\textprop.obj \
$(OUTDIR)\time.obj \
$(OUTDIR)\ui.obj \
@@ -1742,6 +1746,10 @@ $(OUTDIR)/term.obj: $(OUTDIR) term.c $(INCL)
$(OUTDIR)/term.obj: $(OUTDIR) testing.c $(INCL)
$(OUTDIR)/textformat.obj: $(OUTDIR) textformat.c $(INCL)
$(OUTDIR)/textobject.obj: $(OUTDIR) textobject.c $(INCL)
$(OUTDIR)/textprop.obj: $(OUTDIR) textprop.c $(INCL)
$(OUTDIR)/time.obj: $(OUTDIR) time.c $(INCL)
@@ -1940,6 +1948,8 @@ proto.h: \
proto/tag.pro \
proto/term.pro \
proto/testing.pro \
proto/textformat.pro \
proto/textobject.pro \
proto/textprop.pro \
proto/time.pro \
proto/ui.pro \

View File

@@ -382,6 +382,8 @@ SRC = \
term.c \
termlib.c \
testing.c \
textformat.c \
textobject.c \
textprop.c \
time.c \
ui.c \
@@ -491,6 +493,8 @@ OBJ = \
term.obj \
termlib.obj \
testing.obj \
textformat.obj \
textobject.obj \
textprop.obj \
time.obj \
ui.obj \
@@ -989,6 +993,12 @@ termlib.obj : termlib.c vim.h [.auto]config.h feature.h os_unix.h \
testing.obj : testing.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
textformat.obj : textformat.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
textobject.obj : textobject.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h
textprop.obj : textprop.c vim.h [.auto]config.h feature.h os_unix.h \
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h

View File

@@ -618,7 +618,7 @@ CClink = $(CC)
# Add -Wpedantic to find // comments and other C99 constructs.
# Better disable Perl and Python to avoid a lot of warnings.
#CFLAGS = -g -Wall -Wextra -Wshadow -Wmissing-prototypes -Wpedantic -Wunreachable-code -Wunused-result -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
#CFLAGS = -g -O2 -Wall -Wextra -Wshadow -Wmissing-prototypes -Wpedantic -Wunreachable-code -Wunused-result -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
#CFLAGS = -g -O2 -Wall -Wextra -Wshadow -Wmissing-prototypes -Wpedantic -Wunreachable-code -Wno-cast-function-type -Wunused-result -Wno-deprecated-declarations -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
#PYTHON_CFLAGS_EXTRA = -Wno-missing-field-initializers
#MZSCHEME_CFLAGS_EXTRA = -Wno-unreachable-code -Wno-unused-parameter
@@ -696,7 +696,8 @@ LINT_OPTIONS = -beprxzF
# More at: https://code.google.com/p/address-sanitizer/
# Useful environment variables:
# $ export ASAN_OPTIONS="print_stacktrace=1 log_path=asan"
# $ export LSAN_OPTIONS="suppressions=$cwd/testdir/lsan-suppress.txt"
# $ export LSAN_OPTIONS="suppressions=`pwd`/testdir/lsan-suppress.txt"
# When running tests output can be found in testdir/asan.*
#SANITIZER_CFLAGS = -g -O0 -fsanitize=address -fno-omit-frame-pointer
#SANITIZER_CFLAGS = -g -O0 -fsanitize=undefined -fno-omit-frame-pointer
SANITIZER_LIBS = $(SANITIZER_CFLAGS)
@@ -1403,8 +1404,8 @@ HAIKUGUI_TESTTARGET = gui
HAIKUGUI_BUNDLE =
# All GUI files
ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c gui_xmebw.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c
ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w32.pro gui_photon.pro
ALL_GUI_SRC = gui.c gui_gtk.c gui_gtk_f.c gui_motif.c gui_xmdlg.c gui_xmebw.c gui_athena.c gui_gtk_x11.c gui_x11.c gui_at_sb.c gui_at_fs.c gui_haiku.cc
ALL_GUI_PRO = gui.pro gui_gtk.pro gui_motif.pro gui_xmdlg.pro gui_athena.pro gui_gtk_x11.pro gui_x11.pro gui_w32.pro gui_photon.pro gui_haiku.pro
# }}}
@@ -1679,6 +1680,8 @@ BASIC_SRC = \
term.c \
terminal.c \
testing.c \
textformat.c \
textobject.c \
textprop.c \
time.c \
ui.c \
@@ -1821,6 +1824,8 @@ OBJ_COMMON = \
objects/term.o \
objects/terminal.o \
objects/testing.o \
objects/textformat.o \
objects/textobject.o \
objects/textprop.o \
objects/time.o \
objects/ui.o \
@@ -1995,6 +2000,8 @@ PRO_AUTO = \
terminal.pro \
termlib.pro \
testing.pro \
textformat.pro \
textobject.pro \
textprop.pro \
time.pro \
ui.pro \
@@ -2287,7 +2294,6 @@ test_libvterm:
# Run individual OLD style test.
# These do not depend on the executable, compile it when needed.
test1 \
test_eval \
test42 test44 test49 \
test52 test59 \
test70 \
@@ -2882,7 +2888,7 @@ uninstall_runtime:
clean celan: testclean
-rm -f *.o core $(VIMTARGET).core $(VIMTARGET) vim xxd/*.o
-rm -rf objects
-rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c auto/gui_gtk_gresources.c auto/gui_gtk_gresources.h
-rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c auto/gui_gtk_gresources.c auto/gui_gtk_gresources.h auto/os_haiku.rdef
-rm -f conftest* *~ auto/link.sed
-rm -f testdir/opt_test.vim
-rm -f $(UNITTEST_TARGETS)
@@ -2915,7 +2921,7 @@ clean celan: testclean
# % make
SHADOWDIR = shadow
LINKEDFILES = ../*.[chm] ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../libvterm ../vimtutor ../gvimtutor ../install-sh ../Make_all.mak
LINKEDFILES = ../*.[chm] ../*.cc ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_res.xml ../toolcheck ../proto ../libvterm ../vimtutor ../gvimtutor ../install-sh ../Make_all.mak
shadow: runtime pixmaps
$(MKDIR_P) $(SHADOWDIR)
@@ -3039,6 +3045,14 @@ auto/if_perl.c: if_perl.xs
auto/osdef.h: auto/config.h osdef.sh osdef1.h.in osdef2.h.in
CC="$(CC) $(OSDEF_CFLAGS)" srcdir=$(srcdir) sh $(srcdir)/osdef.sh
auto/os_haiku.rdef: os_haiku.rdef.in
@echo creating $@
@echo '/* This file is automatically created by Makefile */' >> $@
@echo '/* DO NOT EDIT! Change Makefile only. */' >> $@
@cat $(srcdir)/os_haiku.rdef.in >> auto/os_haiku.rdef
sed -i "s|@MAJOR@|$(VIMMAJOR)|" auto/os_haiku.rdef
sed -i "s|@MINOR@|$(VIMMINOR)|" auto/os_haiku.rdef
auto/pathdef.c: Makefile auto/config.mk
-@echo creating $@
-@echo '/* pathdef.c */' > $@
@@ -3381,7 +3395,7 @@ objects/os_beos.o: os_beos.c
objects/os_qnx.o: os_qnx.c
$(CCC) -o $@ os_qnx.c
objects/os_haiku.rsrc: os_haiku.rdef
objects/os_haiku.rsrc: auto/os_haiku.rdef
cat $< | $(CCC) -E - | grep -v '^#' | rc -o "$@" -
objects/os_macosx.o: os_macosx.m
@@ -3468,6 +3482,12 @@ objects/terminal.o: terminal.c $(TERM_DEPS)
objects/testing.o: testing.c
$(CCC) -o $@ testing.c
objects/textformat.o: textformat.c
$(CCC) -o $@ textformat.c
objects/textobject.o: textobject.c
$(CCC) -o $@ textobject.c
objects/textprop.o: textprop.c
$(CCC) -o $@ textprop.c
@@ -4059,6 +4079,14 @@ objects/testing.o: testing.c vim.h protodef.h auto/config.h feature.h os_unix.h
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
objects/textformat.o: textformat.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
objects/textobject.o: textobject.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
proto.h globals.h
objects/textprop.o: textprop.c vim.h protodef.h auto/config.h feature.h os_unix.h \
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \

View File

@@ -80,6 +80,8 @@ syntax.c | syntax and other highlighting
tag.c | tags
term.c | terminal handling, termcap codes
testing.c | testing: assert and test functions
textformat.c | text formatting
textobject.c | text objects
textprop.c | text properties
time.c | time and timer functions
undo.c | undo and redo

132
src/auto/configure vendored
View File

@@ -5480,7 +5480,29 @@ $as_echo "yes" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
vi_cv_path_lua_pfx=
# Detect moonjit:
# https://groups.google.com/forum/#!topic/vim_use/O0vek60WuTk
lua_suf=/moonjit-2.3
inc_path="$vi_cv_path_lua_pfx/include"
for dir in "$inc_path"/moonjit-[0-9]* ; do
if test -d "$dir" ; then
lua_suf=`basename '$dir'`
lua_suf="/$lua_suf"
break
fi
done
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $inc_path$lua_suf" >&5
$as_echo_n "checking if lua.h can be found in $inc_path$lua_suf... " >&6; }
if test -f "$inc_path$lua_suf/lua.h"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
LUA_INC=$lua_suf
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
vi_cv_path_lua_pfx=
fi
fi
fi
fi
@@ -7872,6 +7894,17 @@ $as_echo "$vim_cv_ipv6_networking" >&6; }
if test "x$vim_cv_ipv6_networking" = "xyes"; then
$as_echo "#define FEAT_IPV6 1" >>confdefs.h
for ac_func in inet_ntop
do :
ac_fn_c_check_func "$LINENO" "inet_ntop" "ac_cv_func_inet_ntop"
if test "x$ac_cv_func_inet_ntop" = xyes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_INET_NTOP 1
_ACEOF
fi
done
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
@@ -12443,103 +12476,6 @@ else
$as_echo "don't know" >&6; }
fi
rm -f conftest_grp
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking default tty permissions/group" >&5
$as_echo_n "checking default tty permissions/group... " >&6; }
if ${vim_cv_tty_group+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "$cross_compiling" = yes; then :
as_fn_error $? "cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode'" "$LINENO" 5
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <sys/stat.h>
#include <stdio.h>
main()
{
struct stat sb;
char *x,*ttyname();
int om, m;
FILE *fp;
if (!(x = ttyname(0))) exit(1);
if (stat(x, &sb)) exit(1);
om = sb.st_mode;
if (om & 002) exit(0);
m = system("mesg y");
if (m == -1 || m == 127) exit(1);
if (stat(x, &sb)) exit(1);
m = sb.st_mode;
if (chmod(x, om)) exit(1);
if (m & 002) exit(0);
if (sb.st_gid == getgid()) exit(1);
if (!(fp=fopen("conftest_grp", "w")))
exit(1);
fprintf(fp, "%d\n", sb.st_gid);
fclose(fp);
exit(0);
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
if test -f conftest_grp; then
vim_cv_tty_group=`cat conftest_grp`
if test "x$vim_cv_tty_mode" = "x" ; then
vim_cv_tty_mode=0620
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group" >&5
$as_echo "pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group" >&6; }
else
vim_cv_tty_group=world
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ptys are world accessible" >&5
$as_echo "ptys are world accessible" >&6; }
fi
else
vim_cv_tty_group=world
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: can't determine - assume ptys are world accessible" >&5
$as_echo "can't determine - assume ptys are world accessible" >&6; }
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $vim_cv_tty_group" >&5
$as_echo "$vim_cv_tty_group" >&6; }
rm -f conftest_grp
if test "x$vim_cv_tty_group" != "xworld" ; then
cat >>confdefs.h <<_ACEOF
#define PTYGROUP $vim_cv_tty_group
_ACEOF
if test "x$vim_cv_tty_mode" = "x" ; then
as_fn_error $? "It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (probably 0620)" "$LINENO" 5
else
$as_echo "#define PTYMODE 0620" >>confdefs.h
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
$as_echo_n "checking return type of signal handlers... " >&6; }

View File

@@ -282,7 +282,7 @@ general_beval_cb(BalloonEval *beval, int state UNUSED)
curbuf = save_curbuf;
if (use_sandbox)
++sandbox;
++textlock;
++textwinlock;
vim_free(result);
result = eval_to_string(bexpr, NULL, TRUE);
@@ -299,7 +299,7 @@ general_beval_cb(BalloonEval *beval, int state UNUSED)
if (use_sandbox)
--sandbox;
--textlock;
--textwinlock;
set_vim_var_string(VV_BEVAL_TEXT, NULL, -1);
if (result != NULL && result[0] != NUL)

View File

@@ -79,6 +79,10 @@ typedef struct BalloonEvalStruct
#ifdef FEAT_GUI_MSWIN
void *tofree;
#endif
#ifdef FEAT_GUI_HAIKU
int x;
int y;
#endif
} BalloonEval;
#define EVAL_OFFSET_X 15 // displacement of beval topleft corner from pointer

View File

@@ -382,7 +382,7 @@ invoke_listeners(buf_T *buf)
argv[4].v_type = VAR_LIST;
argv[4].vval.v_list = buf->b_recorded_changes;
++textlock;
++textwinlock;
for (lnr = buf->b_listener; lnr != NULL; lnr = lnr->lr_next)
{
@@ -390,7 +390,7 @@ invoke_listeners(buf_T *buf)
clear_tv(&rettv);
}
--textlock;
--textwinlock;
list_unref(buf->b_recorded_changes);
buf->b_recorded_changes = NULL;

View File

@@ -955,6 +955,7 @@ channel_open(
int sd = -1;
channel_T *channel = NULL;
#ifdef FEAT_IPV6
int err;
struct addrinfo hints;
struct addrinfo *res = NULL;
struct addrinfo *addr = NULL;
@@ -986,19 +987,22 @@ channel_open(
// Set port number manually in order to prevent name resolution services
// from being invoked in the environment where AI_NUMERICSERV is not
// defined.
if (getaddrinfo(hostname, NULL, &hints, &res) != 0)
if ((err = getaddrinfo(hostname, NULL, &hints, &res)) != 0)
{
ch_error(channel, "in getaddrinfo() in channel_open()");
PERROR(_("E901: getaddrinfo() in channel_open()"));
semsg(_("E901: getaddrinfo() in channel_open(): %s"),
gai_strerror(err));
channel_free(channel);
return NULL;
}
for (addr = res; addr != NULL; addr = addr->ai_next)
{
const char *dst = hostname;
const void *src = NULL;
char buf[NUMBUFLEN];
const char *dst = hostname;
const void *src = NULL;
# ifdef HAVE_INET_NTOP
char buf[NUMBUFLEN];
# endif
if (addr->ai_family == AF_INET6)
{
@@ -1014,12 +1018,16 @@ channel_open(
sai->sin_port = htons(port);
src = &sai->sin_addr;
}
# ifdef HAVE_INET_NTOP
if (src != NULL)
{
dst = inet_ntop(addr->ai_family, src, buf, sizeof(buf));
if (dst != NULL && STRCMP(hostname, dst) != 0)
if (dst == NULL)
dst = hostname;
else if (STRCMP(hostname, dst) != 0)
ch_log(channel, "Resolved %s to %s", hostname, dst);
}
# endif
ch_log(channel, "Trying to connect to %s port %d", dst, port);
@@ -3932,7 +3940,7 @@ theend:
free_job_options(&opt);
}
# if defined(MSWIN) || defined(FEAT_GUI) || defined(PROTO)
#if defined(MSWIN) || defined(__HAIKU__) || defined(FEAT_GUI) || defined(PROTO)
/*
* Check the channels for anything that is ready to be read.
* The data is put in the read queue.
@@ -3965,9 +3973,23 @@ channel_handle_events(int only_keep_open)
"channel_handle_events");
}
}
# ifdef __HAIKU__
// Workaround for Haiku: Since select/poll cannot detect EOF from tty,
// should close fds when the job has finished if 'channel' connects to
// the pty.
if (channel->ch_job != NULL)
{
job_T *job = channel->ch_job;
if (job->jv_tty_out != NULL && job->jv_status == JOB_FINISHED)
for (part = PART_SOCK; part < PART_COUNT; ++part)
ch_close_part(channel, part);
}
# endif
}
}
# endif
#endif
# if defined(FEAT_GUI) || defined(PROTO)
/*
@@ -4533,6 +4555,20 @@ channel_select_check(int ret_in, void *rfds_in, void *wfds_in)
channel_write_input(channel);
--ret;
}
# ifdef __HAIKU__
// Workaround for Haiku: Since select/poll cannot detect EOF from tty,
// should close fds when the job has finished if 'channel' connects to
// the pty.
if (channel->ch_job != NULL)
{
job_T *job = channel->ch_job;
if (job->jv_tty_out != NULL && job->jv_status == JOB_FINISHED)
for (part = PART_SOCK; part < PART_COUNT; ++part)
ch_close_part(channel, part);
}
# endif
}
return ret;

View File

@@ -473,6 +473,7 @@ cmdsrv_main(
# ifdef FEAT_GUI_MSWIN
Shell_NotifyIcon(NIM_DELETE, &ni);
# endif
vim_free(done);
}
}
else if (STRICMP(argv[i], "--remote-expr") == 0)

View File

@@ -126,12 +126,6 @@
#undef PTYRANGE0
#undef PTYRANGE1
/* Define mode for pty */
#undef PTYMODE
/* Define group for pty */
#undef PTYGROUP
/* Define as the return type of signal handlers (int or void). */
#undef RETSIGTYPE
@@ -174,6 +168,7 @@
#undef HAVE_GETTIMEOFDAY
#undef HAVE_GETWD
#undef HAVE_ICONV
#undef HAVE_INET_NTOP
#undef HAVE_LOCALTIME_R
#undef HAVE_LSTAT
#undef HAVE_MEMSET

View File

@@ -625,7 +625,26 @@ if test "$enable_luainterp" = "yes" -o "$enable_luainterp" = "dynamic"; then
LUA_INC=/lua$vi_cv_version_lua
else
AC_MSG_RESULT(no)
vi_cv_path_lua_pfx=
# Detect moonjit:
# https://groups.google.com/forum/#!topic/vim_use/O0vek60WuTk
lua_suf=/moonjit-2.3
inc_path="$vi_cv_path_lua_pfx/include"
for dir in "$inc_path"/moonjit-[[0-9]]* ; do
if test -d "$dir" ; then
lua_suf=`basename '$dir'`
lua_suf="/$lua_suf"
break
fi
done
AC_MSG_CHECKING(if lua.h can be found in $inc_path$lua_suf)
if test -f "$inc_path$lua_suf/lua.h"; then
AC_MSG_RESULT(yes)
LUA_INC=$lua_suf
else
AC_MSG_RESULT(no)
vi_cv_path_lua_pfx=
fi
fi
fi
fi
@@ -2077,6 +2096,7 @@ if test "$enable_channel" = "yes"; then
if test "x$vim_cv_ipv6_networking" = "xyes"; then
AC_DEFINE(FEAT_IPV6)
AC_CHECK_FUNCS(inet_ntop)
else
dnl On Solaris we need the nsl library.
AC_CHECK_LIB(nsl, gethostbyname)
@@ -3653,77 +3673,6 @@ else
AC_MSG_RESULT([don't know])
fi
dnl **** pty mode/group handling ****
dnl
dnl support provided by Luke Mewburn <lm@rmit.edu.au>, 931222
rm -f conftest_grp
AC_CACHE_CHECK([default tty permissions/group], [vim_cv_tty_group],
[
AC_RUN_IFELSE([AC_LANG_SOURCE([[
#include "confdefs.h"
#include <sys/types.h>
#if STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <sys/stat.h>
#include <stdio.h>
main()
{
struct stat sb;
char *x,*ttyname();
int om, m;
FILE *fp;
if (!(x = ttyname(0))) exit(1);
if (stat(x, &sb)) exit(1);
om = sb.st_mode;
if (om & 002) exit(0);
m = system("mesg y");
if (m == -1 || m == 127) exit(1);
if (stat(x, &sb)) exit(1);
m = sb.st_mode;
if (chmod(x, om)) exit(1);
if (m & 002) exit(0);
if (sb.st_gid == getgid()) exit(1);
if (!(fp=fopen("conftest_grp", "w")))
exit(1);
fprintf(fp, "%d\n", sb.st_gid);
fclose(fp);
exit(0);
}
]])],[
if test -f conftest_grp; then
vim_cv_tty_group=`cat conftest_grp`
if test "x$vim_cv_tty_mode" = "x" ; then
vim_cv_tty_mode=0620
fi
AC_MSG_RESULT([pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group])
else
vim_cv_tty_group=world
AC_MSG_RESULT([ptys are world accessible])
fi
],[
vim_cv_tty_group=world
AC_MSG_RESULT([can't determine - assume ptys are world accessible])
],[
AC_MSG_ERROR(cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode')
])
])
rm -f conftest_grp
if test "x$vim_cv_tty_group" != "xworld" ; then
AC_DEFINE_UNQUOTED(PTYGROUP,$vim_cv_tty_group)
if test "x$vim_cv_tty_mode" = "x" ; then
AC_MSG_ERROR([It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (probably 0620)])
else
AC_DEFINE(PTYMODE, 0620)
fi
fi
dnl Checks for library functions. ===================================
AC_TYPE_SIGNAL

View File

@@ -977,14 +977,15 @@ dict_equal(
dictitem_T *item2;
int todo;
if (d1 == NULL && d2 == NULL)
return TRUE;
if (d1 == NULL || d2 == NULL)
return FALSE;
if (d1 == d2)
return TRUE;
if (dict_len(d1) != dict_len(d2))
return FALSE;
if (dict_len(d1) == 0)
// empty and NULL dicts are considered equal
return TRUE;
if (d1 == NULL || d2 == NULL)
return FALSE;
todo = (int)d1->dv_hashtab.ht_used;
for (hi = d1->dv_hashtab.ht_array; todo > 0; ++hi)

View File

@@ -3095,9 +3095,9 @@ win_line(
#ifdef FEAT_SYN_HL
if (!(cul_screenline
# ifdef FEAT_DIFF
&& diff_hlf == (hlf_T)0)
&& diff_hlf == (hlf_T)0
# endif
)
))
saved_char_attr = char_attr;
else
#endif

View File

@@ -2439,7 +2439,8 @@ win_update(win_T *wp)
#ifdef FEAT_VTP
// Rewrite the character at the end of the screen line.
if (use_vtp())
// See the version that was fixed.
if (use_vtp() && get_conpty_fix_type() < 1)
{
int i;

View File

@@ -28,8 +28,6 @@ static void ins_ctrl_v(void);
static void init_prompt(int cmdchar_todo);
#endif
static void insert_special(int, int, int);
static void internal_format(int textwidth, int second_indent, int flags, int format_only, int c);
static void check_auto_format(int);
static void redo_literal(int c);
static void start_arrow_common(pos_T *end_insert_pos, int change);
#ifdef FEAT_SPELL
@@ -104,8 +102,6 @@ static int ins_need_undo; // call u_save() before inserting a
// char. Set when edit() is called.
// after that arrow_used is used.
static int did_add_space = FALSE; // auto_format() added an extra space
// under the cursor
static int dont_sync_undo = FALSE; // CTRL-G U prevents syncing undo for
// the next left/right cursor key
@@ -175,16 +171,11 @@ edit(
#endif
// Don't allow changes in the buffer while editing the cmdline. The
// caller of getcmdline() may get confused.
if (textlock != 0)
{
emsg(_(e_secure));
return FALSE;
}
// Don't allow recursive insert mode when busy with completion.
if (ins_compl_active() || compl_busy || pum_visible())
if (textwinlock != 0 || textlock != 0
|| ins_compl_active() || compl_busy || pum_visible())
{
emsg(_(e_secure));
emsg(_(e_textwinlock));
return FALSE;
}
ins_compl_clear(); // clear stuff for CTRL-X mode
@@ -2068,8 +2059,6 @@ insert_special(
# define ISSPECIAL(c) ((c) < ' ' || (c) >= DEL || (c) == '0' || (c) == '^')
#endif
#define WHITECHAR(cc) (VIM_ISWHITE(cc) && (!enc_utf8 || !utf_iscomposing(utf_ptr2char(ml_get_cursor() + 1))))
/*
* "flags": INSCHAR_FORMAT - force formatting
* INSCHAR_CTRLV - char typed just after CTRL-V
@@ -2306,567 +2295,6 @@ insertchar(
}
}
/*
* Format text at the current insert position.
*
* If the INSCHAR_COM_LIST flag is present, then the value of second_indent
* will be the comment leader length sent to open_line().
*/
static void
internal_format(
int textwidth,
int second_indent,
int flags,
int format_only,
int c) // character to be inserted (can be NUL)
{
int cc;
int save_char = NUL;
int haveto_redraw = FALSE;
int fo_ins_blank = has_format_option(FO_INS_BLANK);
int fo_multibyte = has_format_option(FO_MBYTE_BREAK);
int fo_white_par = has_format_option(FO_WHITE_PAR);
int first_line = TRUE;
colnr_T leader_len;
int no_leader = FALSE;
int do_comments = (flags & INSCHAR_DO_COM);
#ifdef FEAT_LINEBREAK
int has_lbr = curwin->w_p_lbr;
// make sure win_lbr_chartabsize() counts correctly
curwin->w_p_lbr = FALSE;
#endif
/*
* When 'ai' is off we don't want a space under the cursor to be
* deleted. Replace it with an 'x' temporarily.
*/
if (!curbuf->b_p_ai && !(State & VREPLACE_FLAG))
{
cc = gchar_cursor();
if (VIM_ISWHITE(cc))
{
save_char = cc;
pchar_cursor('x');
}
}
/*
* Repeat breaking lines, until the current line is not too long.
*/
while (!got_int)
{
int startcol; // Cursor column at entry
int wantcol; // column at textwidth border
int foundcol; // column for start of spaces
int end_foundcol = 0; // column for start of word
colnr_T len;
colnr_T virtcol;
int orig_col = 0;
char_u *saved_text = NULL;
colnr_T col;
colnr_T end_col;
int wcc; // counter for whitespace chars
virtcol = get_nolist_virtcol()
+ char2cells(c != NUL ? c : gchar_cursor());
if (virtcol <= (colnr_T)textwidth)
break;
if (no_leader)
do_comments = FALSE;
else if (!(flags & INSCHAR_FORMAT)
&& has_format_option(FO_WRAP_COMS))
do_comments = TRUE;
// Don't break until after the comment leader
if (do_comments)
leader_len = get_leader_len(ml_get_curline(), NULL, FALSE, TRUE);
else
leader_len = 0;
// If the line doesn't start with a comment leader, then don't
// start one in a following broken line. Avoids that a %word
// moved to the start of the next line causes all following lines
// to start with %.
if (leader_len == 0)
no_leader = TRUE;
if (!(flags & INSCHAR_FORMAT)
&& leader_len == 0
&& !has_format_option(FO_WRAP))
break;
if ((startcol = curwin->w_cursor.col) == 0)
break;
// find column of textwidth border
coladvance((colnr_T)textwidth);
wantcol = curwin->w_cursor.col;
curwin->w_cursor.col = startcol;
foundcol = 0;
/*
* Find position to break at.
* Stop at first entered white when 'formatoptions' has 'v'
*/
while ((!fo_ins_blank && !has_format_option(FO_INS_VI))
|| (flags & INSCHAR_FORMAT)
|| curwin->w_cursor.lnum != Insstart.lnum
|| curwin->w_cursor.col >= Insstart.col)
{
if (curwin->w_cursor.col == startcol && c != NUL)
cc = c;
else
cc = gchar_cursor();
if (WHITECHAR(cc))
{
// remember position of blank just before text
end_col = curwin->w_cursor.col;
// find start of sequence of blanks
wcc = 0;
while (curwin->w_cursor.col > 0 && WHITECHAR(cc))
{
dec_cursor();
cc = gchar_cursor();
// Increment count of how many whitespace chars in this
// group; we only need to know if it's more than one.
if (wcc < 2)
wcc++;
}
if (curwin->w_cursor.col == 0 && WHITECHAR(cc))
break; // only spaces in front of text
// Don't break after a period when 'formatoptions' has 'p' and
// there are less than two spaces.
if (has_format_option(FO_PERIOD_ABBR) && cc == '.' && wcc < 2)
continue;
// Don't break until after the comment leader
if (curwin->w_cursor.col < leader_len)
break;
if (has_format_option(FO_ONE_LETTER))
{
// do not break after one-letter words
if (curwin->w_cursor.col == 0)
break; // one-letter word at begin
// do not break "#a b" when 'tw' is 2
if (curwin->w_cursor.col <= leader_len)
break;
col = curwin->w_cursor.col;
dec_cursor();
cc = gchar_cursor();
if (WHITECHAR(cc))
continue; // one-letter, continue
curwin->w_cursor.col = col;
}
inc_cursor();
end_foundcol = end_col + 1;
foundcol = curwin->w_cursor.col;
if (curwin->w_cursor.col <= (colnr_T)wantcol)
break;
}
else if (cc >= 0x100 && fo_multibyte)
{
// Break after or before a multi-byte character.
if (curwin->w_cursor.col != startcol)
{
// Don't break until after the comment leader
if (curwin->w_cursor.col < leader_len)
break;
col = curwin->w_cursor.col;
inc_cursor();
// Don't change end_foundcol if already set.
if (foundcol != curwin->w_cursor.col)
{
foundcol = curwin->w_cursor.col;
end_foundcol = foundcol;
if (curwin->w_cursor.col <= (colnr_T)wantcol)
break;
}
curwin->w_cursor.col = col;
}
if (curwin->w_cursor.col == 0)
break;
col = curwin->w_cursor.col;
dec_cursor();
cc = gchar_cursor();
if (WHITECHAR(cc))
continue; // break with space
// Don't break until after the comment leader
if (curwin->w_cursor.col < leader_len)
break;
curwin->w_cursor.col = col;
foundcol = curwin->w_cursor.col;
end_foundcol = foundcol;
if (curwin->w_cursor.col <= (colnr_T)wantcol)
break;
}
if (curwin->w_cursor.col == 0)
break;
dec_cursor();
}
if (foundcol == 0) // no spaces, cannot break line
{
curwin->w_cursor.col = startcol;
break;
}
// Going to break the line, remove any "$" now.
undisplay_dollar();
/*
* Offset between cursor position and line break is used by replace
* stack functions. VREPLACE does not use this, and backspaces
* over the text instead.
*/
if (State & VREPLACE_FLAG)
orig_col = startcol; // Will start backspacing from here
else
replace_offset = startcol - end_foundcol;
/*
* adjust startcol for spaces that will be deleted and
* characters that will remain on top line
*/
curwin->w_cursor.col = foundcol;
while ((cc = gchar_cursor(), WHITECHAR(cc))
&& (!fo_white_par || curwin->w_cursor.col < startcol))
inc_cursor();
startcol -= curwin->w_cursor.col;
if (startcol < 0)
startcol = 0;
if (State & VREPLACE_FLAG)
{
/*
* In VREPLACE mode, we will backspace over the text to be
* wrapped, so save a copy now to put on the next line.
*/
saved_text = vim_strsave(ml_get_cursor());
curwin->w_cursor.col = orig_col;
if (saved_text == NULL)
break; // Can't do it, out of memory
saved_text[startcol] = NUL;
// Backspace over characters that will move to the next line
if (!fo_white_par)
backspace_until_column(foundcol);
}
else
{
// put cursor after pos. to break line
if (!fo_white_par)
curwin->w_cursor.col = foundcol;
}
/*
* Split the line just before the margin.
* Only insert/delete lines, but don't really redraw the window.
*/
open_line(FORWARD, OPENLINE_DELSPACES + OPENLINE_MARKFIX
+ (fo_white_par ? OPENLINE_KEEPTRAIL : 0)
+ (do_comments ? OPENLINE_DO_COM : 0)
+ ((flags & INSCHAR_COM_LIST) ? OPENLINE_COM_LIST : 0)
, ((flags & INSCHAR_COM_LIST) ? second_indent : old_indent));
if (!(flags & INSCHAR_COM_LIST))
old_indent = 0;
replace_offset = 0;
if (first_line)
{
if (!(flags & INSCHAR_COM_LIST))
{
/*
* This section is for auto-wrap of numeric lists. When not
* in insert mode (i.e. format_lines()), the INSCHAR_COM_LIST
* flag will be set and open_line() will handle it (as seen
* above). The code here (and in get_number_indent()) will
* recognize comments if needed...
*/
if (second_indent < 0 && has_format_option(FO_Q_NUMBER))
second_indent =
get_number_indent(curwin->w_cursor.lnum - 1);
if (second_indent >= 0)
{
if (State & VREPLACE_FLAG)
change_indent(INDENT_SET, second_indent,
FALSE, NUL, TRUE);
else
if (leader_len > 0 && second_indent - leader_len > 0)
{
int i;
int padding = second_indent - leader_len;
// We started at the first_line of a numbered list
// that has a comment. the open_line() function has
// inserted the proper comment leader and positioned
// the cursor at the end of the split line. Now we
// add the additional whitespace needed after the
// comment leader for the numbered list.
for (i = 0; i < padding; i++)
ins_str((char_u *)" ");
}
else
{
(void)set_indent(second_indent, SIN_CHANGED);
}
}
}
first_line = FALSE;
}
if (State & VREPLACE_FLAG)
{
/*
* In VREPLACE mode we have backspaced over the text to be
* moved, now we re-insert it into the new line.
*/
ins_bytes(saved_text);
vim_free(saved_text);
}
else
{
/*
* Check if cursor is not past the NUL off the line, cindent
* may have added or removed indent.
*/
curwin->w_cursor.col += startcol;
len = (colnr_T)STRLEN(ml_get_curline());
if (curwin->w_cursor.col > len)
curwin->w_cursor.col = len;
}
haveto_redraw = TRUE;
#ifdef FEAT_CINDENT
can_cindent = TRUE;
#endif
// moved the cursor, don't autoindent or cindent now
did_ai = FALSE;
#ifdef FEAT_SMARTINDENT
did_si = FALSE;
can_si = FALSE;
can_si_back = FALSE;
#endif
line_breakcheck();
}
if (save_char != NUL) // put back space after cursor
pchar_cursor(save_char);
#ifdef FEAT_LINEBREAK
curwin->w_p_lbr = has_lbr;
#endif
if (!format_only && haveto_redraw)
{
update_topline();
redraw_curbuf_later(VALID);
}
}
/*
* Called after inserting or deleting text: When 'formatoptions' includes the
* 'a' flag format from the current line until the end of the paragraph.
* Keep the cursor at the same position relative to the text.
* The caller must have saved the cursor line for undo, following ones will be
* saved here.
*/
void
auto_format(
int trailblank, // when TRUE also format with trailing blank
int prev_line) // may start in previous line
{
pos_T pos;
colnr_T len;
char_u *old;
char_u *new, *pnew;
int wasatend;
int cc;
if (!has_format_option(FO_AUTO))
return;
pos = curwin->w_cursor;
old = ml_get_curline();
// may remove added space
check_auto_format(FALSE);
// Don't format in Insert mode when the cursor is on a trailing blank, the
// user might insert normal text next. Also skip formatting when "1" is
// in 'formatoptions' and there is a single character before the cursor.
// Otherwise the line would be broken and when typing another non-white
// next they are not joined back together.
wasatend = (pos.col == (colnr_T)STRLEN(old));
if (*old != NUL && !trailblank && wasatend)
{
dec_cursor();
cc = gchar_cursor();
if (!WHITECHAR(cc) && curwin->w_cursor.col > 0
&& has_format_option(FO_ONE_LETTER))
dec_cursor();
cc = gchar_cursor();
if (WHITECHAR(cc))
{
curwin->w_cursor = pos;
return;
}
curwin->w_cursor = pos;
}
// With the 'c' flag in 'formatoptions' and 't' missing: only format
// comments.
if (has_format_option(FO_WRAP_COMS) && !has_format_option(FO_WRAP)
&& get_leader_len(old, NULL, FALSE, TRUE) == 0)
return;
/*
* May start formatting in a previous line, so that after "x" a word is
* moved to the previous line if it fits there now. Only when this is not
* the start of a paragraph.
*/
if (prev_line && !paragraph_start(curwin->w_cursor.lnum))
{
--curwin->w_cursor.lnum;
if (u_save_cursor() == FAIL)
return;
}
/*
* Do the formatting and restore the cursor position. "saved_cursor" will
* be adjusted for the text formatting.
*/
saved_cursor = pos;
format_lines((linenr_T)-1, FALSE);
curwin->w_cursor = saved_cursor;
saved_cursor.lnum = 0;
if (curwin->w_cursor.lnum > curbuf->b_ml.ml_line_count)
{
// "cannot happen"
curwin->w_cursor.lnum = curbuf->b_ml.ml_line_count;
coladvance((colnr_T)MAXCOL);
}
else
check_cursor_col();
// Insert mode: If the cursor is now after the end of the line while it
// previously wasn't, the line was broken. Because of the rule above we
// need to add a space when 'w' is in 'formatoptions' to keep a paragraph
// formatted.
if (!wasatend && has_format_option(FO_WHITE_PAR))
{
new = ml_get_curline();
len = (colnr_T)STRLEN(new);
if (curwin->w_cursor.col == len)
{
pnew = vim_strnsave(new, len + 2);
pnew[len] = ' ';
pnew[len + 1] = NUL;
ml_replace(curwin->w_cursor.lnum, pnew, FALSE);
// remove the space later
did_add_space = TRUE;
}
else
// may remove added space
check_auto_format(FALSE);
}
check_cursor();
}
/*
* When an extra space was added to continue a paragraph for auto-formatting,
* delete it now. The space must be under the cursor, just after the insert
* position.
*/
static void
check_auto_format(
int end_insert) // TRUE when ending Insert mode
{
int c = ' ';
int cc;
if (did_add_space)
{
cc = gchar_cursor();
if (!WHITECHAR(cc))
// Somehow the space was removed already.
did_add_space = FALSE;
else
{
if (!end_insert)
{
inc_cursor();
c = gchar_cursor();
dec_cursor();
}
if (c != NUL)
{
// The space is no longer at the end of the line, delete it.
del_char(FALSE);
did_add_space = FALSE;
}
}
}
}
/*
* Find out textwidth to be used for formatting:
* if 'textwidth' option is set, use it
* else if 'wrapmargin' option is set, use curwin->w_width - 'wrapmargin'
* if invalid value, use 0.
* Set default to window width (maximum 79) for "gq" operator.
*/
int
comp_textwidth(
int ff) // force formatting (for "gq" command)
{
int textwidth;
textwidth = curbuf->b_p_tw;
if (textwidth == 0 && curbuf->b_p_wm)
{
// The width is the window width minus 'wrapmargin' minus all the
// things that add to the margin.
textwidth = curwin->w_width - curbuf->b_p_wm;
#ifdef FEAT_CMDWIN
if (cmdwin_type != 0)
textwidth -= 1;
#endif
#ifdef FEAT_FOLDING
textwidth -= curwin->w_p_fdc;
#endif
#ifdef FEAT_SIGNS
if (signcolumn_on(curwin))
textwidth -= 1;
#endif
if (curwin->w_p_nu || curwin->w_p_rnu)
textwidth -= 8;
}
if (textwidth < 0)
textwidth = 0;
if (ff && textwidth == 0)
{
textwidth = curwin->w_width - 1;
if (textwidth > 79)
textwidth = 79;
}
return textwidth;
}
/*
* Put a character in the redo buffer, for when just after a CTRL-V.
*/
@@ -4884,8 +4312,10 @@ ins_bs(
revins_on ||
#endif
(curwin->w_cursor.col > mincol
&& (curwin->w_cursor.lnum != Insstart_orig.lnum
|| curwin->w_cursor.col != Insstart_orig.col)));
&& (can_bs(BS_NOSTOP)
|| (curwin->w_cursor.lnum != Insstart_orig.lnum
|| curwin->w_cursor.col != Insstart_orig.col)
)));
}
did_backspace = TRUE;
}
@@ -5948,7 +5378,7 @@ do_insert_char_pre(int c)
}
// Lock the text to avoid weird things from happening.
++textlock;
++textwinlock;
set_vim_var_string(VV_CHAR, buf, -1); // set v:char
res = NULL;
@@ -5962,7 +5392,7 @@ do_insert_char_pre(int c)
}
set_vim_var_string(VV_CHAR, NULL, -1); // clear v:char
--textlock;
--textwinlock;
// Restore the State, it may have been changed.
State = save_State;
@@ -5998,7 +5428,8 @@ ins_apply_autocmds(event_T event)
// If u_savesub() was called then we are not prepared to start
// a new line. Call u_save() with no contents to fix that.
if (tick != CHANGEDTICK(curbuf))
// Except when leaving Insert mode.
if (event != EVENT_INSERTLEAVE && tick != CHANGEDTICK(curbuf))
u_save(curwin->w_cursor.lnum, (linenr_T)(curwin->w_cursor.lnum + 1));
return r;

View File

@@ -34,8 +34,6 @@ static char *e_float_as_string = N_("E806: using Float as a String");
*/
static int current_copyID = 0;
static int echo_attr = 0; // attributes used for ":echo"
/*
* Info used by a ":for" loop.
*/
@@ -243,6 +241,9 @@ eval_expr_typval(typval_T *expr, typval_T *argv, int argc, typval_T *rettv)
{
partial_T *partial = expr->vval.v_partial;
if (partial == NULL)
return FAIL;
if (partial->pt_func != NULL && partial->pt_func->uf_dfunc_idx >= 0)
{
if (call_def_function(partial->pt_func, argc, argv, rettv) == FAIL)
@@ -392,7 +393,7 @@ eval_to_string(
/*
* Call eval_to_string() without using current local variables and using
* textlock. When "use_sandbox" is TRUE use the sandbox.
* textwinlock. When "use_sandbox" is TRUE use the sandbox.
*/
char_u *
eval_to_string_safe(
@@ -406,11 +407,11 @@ eval_to_string_safe(
save_funccal(&funccal_entry);
if (use_sandbox)
++sandbox;
++textlock;
++textwinlock;
retval = eval_to_string(arg, nextcmd, FALSE);
if (use_sandbox)
--sandbox;
--textlock;
--textwinlock;
restore_funccal();
return retval;
}
@@ -575,7 +576,7 @@ eval_foldexpr(char_u *arg, int *cp)
++emsg_off;
if (use_sandbox)
++sandbox;
++textlock;
++textwinlock;
*cp = NUL;
if (eval0(arg, &tv, NULL, TRUE) == FAIL)
retval = 0;
@@ -600,7 +601,7 @@ eval_foldexpr(char_u *arg, int *cp)
--emsg_off;
if (use_sandbox)
--sandbox;
--textlock;
--textwinlock;
return (int)retval;
}
@@ -871,7 +872,10 @@ get_lval(
if (len != -1)
key[len] = prevval;
if (wrong)
{
clear_tv(&var1);
return NULL;
}
}
if (lp->ll_di == NULL)
@@ -1773,7 +1777,7 @@ eval0(
p = skipwhite(arg);
ret = eval1(&p, rettv, evaluate);
if (ret == FAIL || !ends_excmd(*p))
if (ret == FAIL || !ends_excmd2(arg, p))
{
if (ret != FAIL)
clear_tv(rettv);
@@ -3678,7 +3682,9 @@ partial_name(partial_T *pt)
{
if (pt->pt_name != NULL)
return pt->pt_name;
return pt->pt_func->uf_name;
if (pt->pt_func != NULL)
return pt->pt_func->uf_name;
return (char_u *)"";
}
static void
@@ -3697,6 +3703,24 @@ partial_free(partial_T *pt)
}
else
func_ptr_unref(pt->pt_func);
if (pt->pt_funcstack != NULL)
{
// Decrease the reference count for the context of a closure. If down
// to zero free it and clear the variables on the stack.
if (--pt->pt_funcstack->fs_refcount == 0)
{
garray_T *gap = &pt->pt_funcstack->fs_ga;
typval_T *stack = gap->ga_data;
for (i = 0; i < gap->ga_len; ++i)
clear_tv(stack + i);
ga_clear(gap);
vim_free(pt->pt_funcstack);
}
pt->pt_funcstack = NULL;
}
vim_free(pt);
}
@@ -4330,6 +4354,15 @@ set_ref_in_item(
for (i = 0; i < pt->pt_argc; ++i)
abort = abort || set_ref_in_item(&pt->pt_argv[i], copyID,
ht_stack, list_stack);
if (pt->pt_funcstack != NULL)
{
typval_T *stack = pt->pt_funcstack->fs_ga.ga_data;
for (i = 0; i < pt->pt_funcstack->fs_ga.ga_len; ++i)
abort = abort || set_ref_in_item(stack + i, copyID,
ht_stack, list_stack);
}
}
}
#ifdef FEAT_JOB_CHANNEL
@@ -4528,8 +4561,9 @@ echo_string_core(
case VAR_LIST:
if (tv->vval.v_list == NULL)
{
// NULL list is equivalent to empty list.
*tofree = NULL;
r = NULL;
r = (char_u *)"[]";
}
else if (copyID != 0 && tv->vval.v_list->lv_copyID == copyID
&& tv->vval.v_list->lv_len > 0)
@@ -4552,8 +4586,9 @@ echo_string_core(
case VAR_DICT:
if (tv->vval.v_dict == NULL)
{
// NULL dict is equivalent to empty dict.
*tofree = NULL;
r = NULL;
r = (char_u *)"{}";
}
else if (copyID != 0 && tv->vval.v_dict->dv_copyID == copyID
&& tv->vval.v_dict->dv_hashtab.ht_used != 0)
@@ -4564,6 +4599,7 @@ echo_string_core(
else
{
int old_copyID = tv->vval.v_dict->dv_copyID;
tv->vval.v_dict->dv_copyID = copyID;
*tofree = dict2string(tv, copyID, restore_copyID);
if (restore_copyID)
@@ -5098,6 +5134,7 @@ find_name_end(
int br_nest = 0;
char_u *p;
int len;
int vim9script = current_sctx.sc_version == SCRIPT_VERSION_VIM9;
if (expr_start != NULL)
{
@@ -5106,12 +5143,13 @@ find_name_end(
}
// Quick check for valid starting character.
if ((flags & FNE_CHECK_START) && !eval_isnamec1(*arg) && *arg != '{')
if ((flags & FNE_CHECK_START) && !eval_isnamec1(*arg)
&& (*arg != '{' || vim9script))
return arg;
for (p = arg; *p != NUL
&& (eval_isnamec(*p)
|| *p == '{'
|| (*p == '{' && !vim9script)
|| ((flags & FNE_INCL_BR) && (*p == '[' || *p == '.'))
|| mb_nest != 0
|| br_nest != 0); MB_PTR_ADV(p))
@@ -5151,7 +5189,7 @@ find_name_end(
--br_nest;
}
if (br_nest == 0)
if (br_nest == 0 && !vim9script)
{
if (*p == '{')
{
@@ -6061,7 +6099,7 @@ ex_echo(exarg_T *eap)
if (eap->skip)
++emsg_skip;
while (*arg != NUL && *arg != '|' && *arg != '\n' && !got_int)
while ((!ends_excmd2(eap->cmd, arg) || *arg == '"') && !got_int)
{
// If eval1() causes an error message the text from the command may
// still need to be cleared. E.g., "echo 22,44".
@@ -6137,13 +6175,12 @@ ex_execute(exarg_T *eap)
char_u *p;
garray_T ga;
int len;
int save_did_emsg;
ga_init2(&ga, 1, 80);
if (eap->skip)
++emsg_skip;
while (*arg != NUL && *arg != '|' && *arg != '\n')
while (!ends_excmd2(eap->cmd, arg) || *arg == '"')
{
ret = eval1_emsg(&arg, &rettv, !eap->skip);
if (ret == FAIL)
@@ -6205,8 +6242,9 @@ ex_execute(exarg_T *eap)
}
else if (eap->cmdidx == CMD_echoerr)
{
int save_did_emsg = did_emsg;
// We don't want to abort following commands, restore did_emsg.
save_did_emsg = did_emsg;
emsg(ga.ga_data);
if (!force_abort)
did_emsg = save_did_emsg;
@@ -6410,8 +6448,9 @@ typval_compare(
&& typ1->vval.v_partial == NULL)
|| (typ2->v_type == VAR_PARTIAL
&& typ2->vval.v_partial == NULL))
// when a partial is NULL assume not equal
n1 = FALSE;
// When both partials are NULL, then they are equal.
// Otherwise they are not equal.
n1 = (typ1->vval.v_partial == typ2->vval.v_partial);
else if (type_is)
{
if (typ1->v_type == VAR_FUNC && typ2->v_type == VAR_FUNC)

View File

@@ -176,6 +176,13 @@ set_buffer_lines(
if (lines->v_type == VAR_LIST)
{
l = lines->vval.v_list;
if (l == NULL || list_len(l) == 0)
{
// set proper return code
if (lnum > curbuf->b_ml.ml_line_count)
rettv->vval.v_number = 1; // FAIL
goto done;
}
range_list_materialize(l);
li = l->lv_first;
}
@@ -251,6 +258,7 @@ set_buffer_lines(
update_topline();
}
done:
if (!is_curbuf)
{
curbuf = curbuf_save;

View File

@@ -2149,7 +2149,7 @@ f_eval(typval_T *argvars, typval_T *rettv)
static void
f_eventhandler(typval_T *argvars UNUSED, typval_T *rettv)
{
rettv->vval.v_number = vgetc_busy;
rettv->vval.v_number = vgetc_busy || input_busy;
}
static garray_T redir_execute_ga;
@@ -2566,7 +2566,7 @@ f_feedkeys(typval_T *argvars, typval_T *rettv UNUSED)
#ifdef FEAT_TIMERS
|| timer_busy
#endif
)
|| input_busy)
typebuf_was_filled = TRUE;
}
vim_free(keys_esc);
@@ -2679,6 +2679,7 @@ common_function(typval_T *argvars, typval_T *rettv, int is_funcref)
int use_string = FALSE;
partial_T *arg_pt = NULL;
char_u *trans_name = NULL;
int is_global = FALSE;
if (argvars[0].v_type == VAR_FUNC)
{
@@ -2702,7 +2703,7 @@ common_function(typval_T *argvars, typval_T *rettv, int is_funcref)
if ((use_string && vim_strchr(s, AUTOLOAD_CHAR) == NULL) || is_funcref)
{
name = s;
trans_name = trans_function_name(&name, FALSE,
trans_name = trans_function_name(&name, &is_global, FALSE,
TFN_INT | TFN_QUIET | TFN_NO_AUTOLOAD | TFN_NO_DEREF, NULL, NULL);
if (*name != NUL)
s = NULL;
@@ -2713,8 +2714,8 @@ common_function(typval_T *argvars, typval_T *rettv, int is_funcref)
semsg(_(e_invarg2), use_string ? tv_get_string(&argvars[0]) : s);
// Don't check an autoload name for existence here.
else if (trans_name != NULL && (is_funcref
? find_func(trans_name, NULL) == NULL
: !translated_function_exists(trans_name)))
? find_func(trans_name, is_global, NULL) == NULL
: !translated_function_exists(trans_name, is_global)))
semsg(_("E700: Unknown function: %s"), s);
else
{
@@ -2851,7 +2852,7 @@ common_function(typval_T *argvars, typval_T *rettv, int is_funcref)
}
else if (is_funcref)
{
pt->pt_func = find_func(trans_name, NULL);
pt->pt_func = find_func(trans_name, is_global, NULL);
func_ptr_ref(pt->pt_func);
vim_free(name);
}
@@ -2886,7 +2887,7 @@ f_funcref(typval_T *argvars, typval_T *rettv)
}
static type_T *
ret_f_function(int argcount, type_T **argtypes UNUSED)
ret_f_function(int argcount, type_T **argtypes)
{
if (argcount == 1 && argtypes[0]->tt_type == VAR_STRING)
return &t_func_any;

Some files were not shown because too many files have changed in this diff Show More