Compare commits

...

139 Commits

Author SHA1 Message Date
DungSaga
47810464aa patch 8.2.3552: xxd revert does not handle end of line correctly
Problem:    Xxd revert does not handle end of line correctly.
Solution:   Check for newline first. (closes #9034)
2021-10-22 12:55:42 +01:00
itchyny
94e7d345c1 patch 8.2.3551: checking first character of url twice
Problem:    Checking first character of url twice.
Solution:   Only check once. (closes #9026)
2021-10-21 18:01:13 +01:00
Shougo Matsushita
ae38a9db77 patch 8.2.3550: completion() does not work properly
Problem:    completion() does not work properly.
Solution:   Set xp_line and add WILD_HOME_REPLACE. (Shougo Matsushita,
            closes #9016)
2021-10-21 11:39:53 +01:00
zeertzjq
b811de5d49 patch 8.2.3549: mistakes in test comments
Problem:    Mistakes in test comments.
Solution:   Fix the comments. (closes #9029)
2021-10-21 10:50:44 +01:00
Bram Moolenaar
d68a004485 patch 8.2.3548: GTK GUI crashen when reading from stdin
Problem:    GTK GUI crashen when reading from stdin.
Solution:   Do not overwrite the NUL after the string. (closes #9028)
2021-10-20 23:08:11 +01:00
Bram Moolenaar
1d30fde3c9 patch 8.2.3547: opening the quickfix window triggers BufWinEnter twice
Problem:    Opening the quickfix window triggers BufWinEnter twice. (Yorick
            Peterse)
Solution:   Only trigger BufWinEnter with "quickfix". (closes #9022)
2021-10-20 21:58:42 +01:00
zeertzjq
09f7723d5a patch 8.2.3546: build failure without the +eval feature
Problem:    Build failure without the +eval feature.
Solution:   Add #ifdef. (closes #9025)
2021-10-20 17:21:24 +01:00
zeertzjq
94358a1e6e patch 8.2.3545: setcellwidths() may make 'listchars' or 'fillchars' invalid
Problem:    setcellwidths() may make 'listchars' or 'fillchars' invalid.
Solution:   Check the value and give an error. (closes #9024)
2021-10-20 11:01:15 +01:00
itchyny
051a40c8d9 patch 8.2.3544: Unix: may leak file descriptor using non-existing directory
Problem:    Unix: may leak file descriptor when using a non-existing
            directory.
Solution:   Always close the file. (closes #9023)
2021-10-20 10:00:05 +01:00
Bram Moolenaar
8b0e62c93b patch 8.2.3543: swapname has double slash when 'directory' ends in it
Problem:    Swapname has double slash when 'directory' ends in double slash.
            (Shane Smith)
Solution:   Remove the superfluous slash. (closes #8876)
2021-10-19 22:12:25 +01:00
Bram Moolenaar
c5935a859e patch 8.2.3542: too many comments are old style
Problem:    Too many comments are old style.
Solution:   Change comments to // style. (closes #9021)
2021-10-19 20:48:52 +01:00
Bram Moolenaar
731fba1081 patch 8.2.3541: compiler warning for unused variable in tiny version
Problem:    Compiler warning for unused variable in tiny version.
Solution:   Add #ifdef. (John Marriott)
2021-10-19 20:24:34 +01:00
Bram Moolenaar
f47ebf1e1a patch 8.2.3540: the mark '] is wrong after put with a count
Problem:    The mark '] is wrong after put with a count. (Naohiro Ono)
Solution:   Use the right line number. (closes #8956)
2021-10-19 20:08:45 +01:00
Bram Moolenaar
604e207e27 patch 8.2.3539: GTK3: with 'rightleft' set scrollbar may move unintentionally
Problem:    GTK3: with 'rightleft' set scrollbar may move unintentionally.
Solution:   Ignore events while moving the scrollbar thumb. (closes #8958)
2021-10-19 14:22:03 +01:00
Yegappan Lakshmanan
d43d8e28db patch 8.2.3538: else-if indenting is confusing
Problem:    Else-if indenting is confusing.
Solution:   Add curly brackets. (Yegappan Lakshmanan, closes #9017)
2021-10-19 13:44:52 +01:00
naohiro ono
75c30e96cf patch 8.2.3537: mode() does not return the right value in 'operatorfunc'
Problem:    mode() does not return the right value in 'operatorfunc'.
Solution:   Reset finish_op while calling 'operatorfunc'.
2021-10-19 11:15:41 +01:00
Yegappan Lakshmanan
ad6b90c33c patch 8.2.3536: the do_highlight() function is way too long
Problem:    The do_highlight() function is way too long.
Solution:   Split it into several functions. (Yegappan Lakshmanan,
            closes #9011)
2021-10-18 22:13:57 +01:00
Dominique Pelle
9b0b844d25 patch 8.2.3535: if-else indenting is confusing
Problem:    If-else indenting is confusing.
Solution:   Add curly brackets and indent. (Dominique Pellé, closes #9010)
2021-10-18 20:56:39 +01:00
Bram Moolenaar
944eeb44fb patch 8.2.3534: autoread test is a bit flaky
Problem:    Autoread test is a bit flaky.
Solution:   Wait a brief moment before overwriting the file.
2021-10-18 14:37:13 +01:00
DungSaga
375c35a63f patch 8.2.3533: inefficient code in xxd
Problem:    Inefficient code in xxd.
Solution:   Don't use "p" when "hextype" is non-zero. (closes #9013)
2021-10-18 13:16:03 +01:00
Bram Moolenaar
e08aee60ab patch 8.2.3532: the previous '' mark is restored after moving the cursor
Problem:    The previous '' mark is restored after moving the cursor to the
            original jump position. (Tony Chen)
Solution:   Forget the previous position after checking. (closes #8985)
2021-10-17 21:53:58 +01:00
Bram Moolenaar
39c47c3104 patch 8.2.3531: command line completion test fails on MS-Windows
Problem:    Command line completion test fails on MS-Windows.
Solution:   Do not test with "\{" on MS-Windows.
2021-10-17 18:05:26 +01:00
Bram Moolenaar
21c1a0c2f1 patch 8.2.3530: ":buf \{a}" fails while ":edit \{a}" works
Problem:    ":buf \{a}" fails while ":edit \{a}" works.
Solution:   Unescape "\{". (closes #8917)
2021-10-17 17:20:23 +01:00
Atsushi SUGAWARA
34a364877f patch 8.2.3529: xxd usage output is incomplete
Problem:    Xxd usage output is incomplete.
Solution:   Add "bytes" to "-g" flag. (Atsushi Sugawara, closes #8944)
2021-10-17 16:09:08 +01:00
Bram Moolenaar
f4d8b76d30 patch 8.2.3528: 'thesaurus' and 'thesaurusfunc' do not have the same scope
Problem:    'thesaurus' and 'thesaurusfunc' do not have the same scope.
Solution:   Make 'thesaurusfunc' global-local.
2021-10-17 14:13:09 +01:00
Bram Moolenaar
9d4b8caf9e patch 8.2.3527: gcc complains about uninitialized variable
Problem:    Gcc complains about uninitialized variable. (Tony Mechelynck)
Solution:   Initialize it.
2021-10-17 11:33:47 +01:00
Bram Moolenaar
40bd5a1540 patch 8.2.3526: tests have clumsy check for X11 based GUI
Problem:    Tests have clumsy check for X11 based GUI.
Solution:   Add CheckX11BasedGui.
2021-10-16 21:58:27 +01:00
Bram Moolenaar
d4c4bfa007 patch 8.2.3525: option variable name does not match option name
Problem:    Option variable name does not match option name. (Christ van
            Willigen)
Solution:   Rename the variable.
2021-10-16 21:14:11 +01:00
Dusan Popovic
4eeedc09fe patch 8.2.3524: GUI: ligatures are not used
Problem:    GUI: ligatures are not used.
Solution:   Add the 'guiligatures' option. (Dusan Popovic, closes #8933)
2021-10-16 20:52:05 +01:00
DungSaga
c89c91cafd patch 8.2.3523: duplicated code in xxd
Problem:    Duplicated code in xxd.
Solution:   Remove duplicated lines. (closes #8972)
2021-10-16 19:07:46 +01:00
Bram Moolenaar
93ff6720fe patch 8.2.3522: cannot use \x and \u when setting 'listchars'
Problem:    Cannot use \x and \u when setting 'listchars'.
Solution:   Support hex and unicode in hex form. (closes #9006)
2021-10-16 17:51:40 +01:00
Bram Moolenaar
abdcfd1c83 patch 8.2.3521: options completion test fails
Problem:    Options completion test fails.
Solution:   Add 'thesaurusfunc' to the results.
2021-10-16 16:48:27 +01:00
Yegappan Lakshmanan
160e994d76 patch 8.2.3520: cannot define a function for thesaurus completion
Problem:    Cannot define a function for thesaurus completion.
Solution:   Add 'thesaurusfunc'. (Yegappan Lakshmanan, closes #8987,
            closes 8950)
2021-10-16 15:41:29 +01:00
Bram Moolenaar
2286304cdb Update runtime files 2021-10-16 15:23:36 +01:00
Aman Verma
28b6a3bef6 patch 8.2.3519: TOML files are not recognized
Problem:    TOML files are not recognized.
Solution:   Add filetype patterns for TOML. (Aman Verma, closes #8984)
2021-10-16 13:44:04 +01:00
Bram Moolenaar
f08b0eb869 patch 8.2.3518: Test_xrestore sometimes fails
Problem:    Test_xrestore sometimes fails.
Solution:   Mark the test as flayky.  Move marking test as flaky to the test
            instead of listing them in runtest.
2021-10-16 13:00:14 +01:00
Christian Brabandt
db3b44640d patch 8.2.3517: TextChanged does not trigger after TextChangedI
Problem:    TextChanged does not trigger after TextChangedI.
Solution:   Store the tick separately for TextChangedI. (Christian Brabandt,
            closes #8968, closes #8932)
2021-10-16 11:58:55 +01:00
Milly
7b5f45be21 patch 8.2.3516: terminal window does not have transparent background
Problem:    Terminal window does not have transparent background when
            'termguicolors' is used.
Solution:   Fix the background color. (closes #2361, closes #9002)
2021-10-15 22:25:43 +01:00
ichizok
def69dffb3 patch 8.2.3515: nano time test fails on Mac and FreeBSD
Problem:    Nano time test fails on Mac and FreeBSD.
Solution:   Also check nano time when not on Linux. (Ozaki Kiichi,
            closes #9000)
2021-10-15 17:23:12 +01:00
Bram Moolenaar
eaa006dae3 patch 8.2.3514: autoread test with nano second time sometimes fails
Problem:    Autoread test with nano second time sometimes fails.
Solution:   Mark the test as being flaky.
2021-10-15 17:09:50 +01:00
Bram Moolenaar
a2cff1dbc9 patch 8.2.3513: using freed memory when using a timer and searching
Problem:    Using freed memory when using a timer and searching. (Dominique
            Pellé)
Solution:   Allocated mr_pattern.
2021-10-15 12:51:29 +01:00
Bram Moolenaar
accf4ed352 patch 8.2.3512: timestamp test fails on some systems
Problem:    Timestamp test fails on some systems.
Solution:   Sleep for a short while.
2021-10-15 00:38:02 +01:00
Bram Moolenaar
a06758dd38 patch 8.2.3511: Vim9: entry for loop variable is created every round
Problem:    Vim9: entry for loop variable is created every round.
Solution:   Only create the entry once. (closes #8996)
2021-10-15 00:18:37 +01:00
Leah Neukirchen
0a7984af56 patch 8.2.3510: changes are only detected with one second accuracy
Problem:    Changes are only detected with one second accuracy.
Solution:   Use the nanosecond time if possible.  (Leah Neukirchen,
            closes #8873, closes #8875)
2021-10-14 21:27:55 +01:00
Bram Moolenaar
340dd0fbe4 patch 8.2.3509: undo file is not synced
Problem:    Undo file is not synced. (Sami Farin)
Solution:   Sync the undo file if 'fsync' is set. (Christian Brabandt,
            closes #8879, closes #8920)
2021-10-14 17:52:23 +01:00
Bram Moolenaar
051a8a375f patch 8.2.3508: Vim9: bad separators for "g" and "s" insufficiently tested
Problem:    Vim9: bad separators for "g" and "s" insufficiently tested.
Solution:   Add a few more test cases.
2021-10-14 16:53:42 +01:00
Bram Moolenaar
75aa92a162 patch 8.2.3507: generating proto files may fail
Problem:    Generating proto files may fail.
Solution:   Define __attribute().
2021-10-14 16:27:19 +01:00
Bram Moolenaar
c0abac67d7 patch 8.2.3506: Vim9: special cases for "g" and "s" insufficiently tested
Problem:    Vim9: special cases for "g" and "s" insufficiently tested.
Solution:   Add a few more test cases.
2021-10-13 21:17:05 +01:00
Bram Moolenaar
3be69bf539 patch 8.2.3505: Vim9: build failure without the +eval feature
Problem:    Vim9: build failure without the +eval feature.
Solution:   Add #ifdef.
2021-10-13 15:37:15 +01:00
Bram Moolenaar
7f32092b91 patch 8.2.3504: Vim9: warning for signed vs unsigned
Problem:    Vim9: warning for signed vs unsigned.
Solution:   Add type cast.
2021-10-13 15:28:28 +01:00
Bram Moolenaar
7b82926892 patch 8.2.3503: Vim9: using g:pat:cmd is confusing
Problem:    Vim9: using g:pat:cmd is confusing.
Solution:   Do not recognize g: as the :global command.  Also for s:pat:repl.
            (closes #8982)
2021-10-13 15:04:34 +01:00
Bram Moolenaar
fff10d9a76 patch 8.2.3502: cannot enter password in shell command
Problem:    Cannot enter password in shell command.
Solution:   Revert patch 8.2.2919.
2021-10-13 10:05:30 +01:00
Eric Pruitt
e519eb41c1 patch 8.2.3501: tmux filetype dection is incomplete
Problem:    tmux filetype dection is incomplete
Solution:   Also use tmux for files having text after .conf. (Eric Pruitt,
            closes #8971)
2021-10-12 13:58:23 +01:00
Christian Brabandt
3a724290c5 patch 8.2.3500: Github CI fails to install clang
Problem:    Github CI fails to install clang.
Solution:   Install llvm-11 explicitly. (Christian Brabandt, closes #8993)
2021-10-12 12:02:49 +01:00
Bram Moolenaar
3d031a0ae7 patch 8.2.3499: GUI geometry startup test fails
Problem:    GUI geometry startup test fails.
Solution:   Check string values instead of numbers
2021-10-11 22:57:34 +01:00
James McCoy
37f341d723 patch 8.2.3498: recover test may fail on some systems
Problem:    Recover test may fail on some systems.
Solution:   Adjust the little endian and 64 bit detection. (James McCoy,
            closes #8941)
2021-10-11 21:04:37 +01:00
Dominique Pelle
a9173d06f7 patch 8.2.3497: put test fails when run by itself
Problem:    Put test fails when run by itself.
Solution:   Source check.vim. (Dominique Pellé, closes #8990)
2021-10-11 20:26:55 +01:00
James McCoy
a5d4f3b09d patch 8.2.3496: crypt test fails if xxd was not installed yet
Problem:    Crypt test fails on MS-Windows if xxd was not installed yet.
Solution:   Use the just built xxd executable if it exists. (James McCoy,
            closes #8929)
2021-10-11 16:27:03 +01:00
Bram Moolenaar
b376aa2da4 patch 8.2.3495: GUI geometry startup test fails on some systems
Problem:    GUI geometry startup test fails on some systems. (Drew Vogel)
Solution:   Add tolerance to the size check. (closes #8815)
2021-10-11 16:08:32 +01:00
Bram Moolenaar
b07626d4af patch 8.2.3494: illegal memory access in utf_head_off
Problem:    Illegal memory access in utf_head_off.
Solution:   Check cursor position when reselecting the Visual area.
            (closes #8963)
2021-10-11 15:40:43 +01:00
Bram Moolenaar
cddd5ac911 patch 8.2.3493: large count test fails on MS-Windows
Problem:    Large count test fails on MS-Windows.
Solution:   Skip the test on MS-Windows.
2021-10-10 13:54:01 +01:00
Bram Moolenaar
eeed1c7ae0 patch 8.2.3492: crash when pasting too many times
Problem:    Crash when pasting too many times.
Solution:   Limit the size to what fits in an int. (closes #8962)
2021-10-10 12:35:17 +01:00
Bram Moolenaar
6e77b88df6 patch 8.2.3491: xpm2 filetype dection is not so good
Problem:    xpm2 filetype dection is not so good.
Solution:   Adjust the check for xpm2. (closes #8914)
2021-10-09 16:29:43 +01:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
3826c0513b patch 8.2.3490: superfluous return statements
Problem:    Superfluous return statements.
Solution:   Remove superfluous return statements from void functions.
            (closes #8977)
2021-10-09 15:39:25 +01:00
Bram Moolenaar
35a319b77f patch 8.2.3489: ml_get error after search with range
Problem:    ml_get error after search with range.
Solution:   Limit the line number to the buffer line count.
2021-10-09 13:58:55 +01:00
snxx
26190b2701 patch 8.2.3488: issue template is not easy to use
Problem:    Issue template is not easy to use.
Solution:   Use a yaml template. (closes #8928)
2021-10-09 12:50:20 +01:00
Bram Moolenaar
826bfe4bbd patch 8.2.3487: illegal memory access if buffer name is very long
Problem:    Illegal memory access if buffer name is very long.
Solution:   Make sure not to go over the end of the buffer.
2021-10-08 18:39:28 +01:00
Bram Moolenaar
cce81e9673 patch 8.2.3486: illegal memory access with invalid sequence of commands
Problem:    Illegal memory access with invalid sequence of commands.
Solution:   Do not call leave_block() when not in a try block. (closes #8966)
            Reset did_emsg so that exception is shown as an error.
2021-10-06 22:08:11 +01:00
Zdenek Dohnal
edd7a476fb patch 8.2.3485: Python 3 test fails with Python 3.10
Problem:    Python 3 test fails with Python 3.10.
Solution:   Adjust expected error message. (zdohnal Dohnal, closes #8969)
2021-10-06 19:39:16 +01:00
Bram Moolenaar
e275ba4fc9 patch 8.2.3484: crash when going through spell suggestions
Problem:    Crash when going through spell suggestions.
Solution:   Limit the text length for finding suggestions to the original
            length.  Do not update buffers when exiting. (closes #8965)
2021-10-06 13:41:07 +01:00
Bram Moolenaar
e2982d6911 patch 8.2.3483: #ifdef for using sysinfo() is incomplete
Problem:    #ifdef for using sysinfo() is incomplete.
Solution:   Also check for HAVE_SYSINFO. Make autoconf check use TRY_LINK.
            (closes #8952)
2021-10-06 11:27:21 +01:00
Bram Moolenaar
78e0fa4cf4 patch 8.2.3482: reading beyond end of line ending in quote and backslash
Problem:    Reading beyond end of line ending in quote and backslash.
Solution:   Check for non-NUL after backslash. (closes #8964)
2021-10-05 21:58:53 +01:00
James McCoy
2e258bd79f patch 8.2.3481: failures when char is unsigned
Problem:    Failures when char is unsigned.
Solution:   Use int8_T.  Make a CI run with unsigned char. (James McCoy,
            closes #8936)
2021-10-05 19:44:04 +01:00
Dominique Pelle
949de97da3 patch 8.2.3480: test does not fail without the fix for a crash
Problem:    Test does not fail without the fix for a crash.
Solution:   Write the bad code in a file and source it. (Dominique Pellé,
            closes #8961)
2021-10-05 19:28:01 +01:00
Bram Moolenaar
7c25a7c0a1 patch 8.2.3479: crash when calling job_start with an invalid argument
Problem:    Crash when calling job_start with an invalid argument. (Virginia
            Senioria)
Solution:   Clear the first item in argv. (closes #8957)
2021-10-05 19:19:35 +01:00
Bram Moolenaar
f67d3fb736 patch 8.2.3478: still crash with error in :catch and also in :finally
Problem:    Still crash with error in :catch and also in :finally.
Solution:   Only call finish_exception() once. (closes #8954)
2021-10-05 11:22:27 +01:00
Bram Moolenaar
6d19798774 patch 8.2.3477: startup test fails on MS-Windows
Problem:    Startup test fails on MS-Windows.
Solution:   Skip the test if not on Unix.
2021-10-05 01:19:53 +01:00
Bram Moolenaar
d3710cf01e patch 8.2.3476: renaming a buffer on startup may cause using freed memory
Problem:    Renaming a buffer on startup may cause using freed memory.
Solution:   Check if the buffer is used in a window. (closes #8955)
2021-10-04 23:13:13 +01:00
kuuote
08d7b1c828 patch 8.2.3475: expression register set by not executed put command
Problem:    Expression register set by not executed put command.
Solution:   Do not set the register if the command is skipped. (closes #8909)
2021-10-04 22:17:36 +01:00
h-east
965d2edbce patch 8.2.3474: some places use "Vimscript" instead of "Vim script"
Problem:    Some places use "Vimscript" instead of "Vim script".
Solution:   Consistently use "Vim script". (Hirohito Higashi, closes #8910)
2021-10-04 21:51:57 +01:00
Bram Moolenaar
6e64922492 Update runtime files 2021-10-04 21:32:54 +01:00
Bram Moolenaar
78aa5ffe31 patch 8.2.3473: some files with tcl syntax are not recognized
Problem:    Some files with tcl syntax are not recognized.
Solution:   Add a few file patterns. (Doug Kearns
2021-10-04 20:41:45 +01:00
Bram Moolenaar
9af9fd6ab6 patch 8.2.3472: other crashes with empty search pattern not tested
Problem:    Other crashes with empty search pattern not tested.
Solution:   Add a few more test lines. (Dominique Pellé)
2021-10-04 20:09:19 +01:00
Bram Moolenaar
d8d957de86 patch 8.2.3471: crash when using CTRL-T after an empty search pattern
Problem:    Crash when using CTRL-T after an empty search pattern.
Solution:   Bail out when there is no previous search pattern. (closes #8953)
2021-10-04 19:47:35 +01:00
Bram Moolenaar
a684a68409 patch 8.2.3470: crash with error in :catch and also in :finally
Problem:    Crash with error in :catch and also in :finally.
Solution:   Only discard an exception if there is one. (closes #8954)
2021-10-04 18:52:19 +01:00
Bram Moolenaar
50c5689342 patch 8.2.3469: some files with json syntax are not recognized
Problem:    Some files with json syntax are not recognized.
Solution:   Add a few file patterns. (Emiliano Ruiz Carletti, closes #8947)
2021-10-03 20:11:20 +01:00
Bram Moolenaar
c6376c7984 patch 8.2.3468: problem with :cd when editing file in non-existent directory
Problem:    Problem with :cd when editing file in non-existent directory. (Yee
            Cheng Chin)
Solution:   Prepend the current directory to get the full path. (closes #8903)
2021-10-03 19:29:48 +01:00
Bram Moolenaar
5a9357d0bf patch 8.2.3467: CursorHoldI event interferes with "CTRL-G U"
Problem:    CursorHoldI event interferes with "CTRL-G U". (Naohiro Ono)
Solution:   Restore the flag for "CTRL-G U" after triggering CursorHoldI.
            (closes #8937)
2021-10-03 16:22:05 +01:00
zeertzjq
cc8cd44533 patch 8.2.3466: completion submode not indicated for virtual replace
Problem:    Completion submode not indicated for virtual replace.
Solution:   Add submode to "Rv". (closes #8945)
2021-10-03 15:19:14 +01:00
zeertzjq
27fef59dd1 patch 8.2.3465: cannot detect insert scroll mode
Problem:    Cannot detect insert scroll mode.
Solution:   Add "scroll" to complete_info(). (closes #8943)
2021-10-03 12:01:27 +01:00
Chris Aumann
8b8c0ed657 patch 8.2.3464: nginx files are not recognized
Problem:    nginx files are not recognized.
Solution:   Add several file patterns. (Chris Aumann, closes #8922)
2021-10-03 11:46:09 +01:00
Bram Moolenaar
72d2fa69e5 patch 8.2.3463: pattern matching with ModeChanged not tested
Problem:    Pattern matching with ModeChanged not tested.
Solution:   Add a few more test lines. (issue #8856)
2021-10-02 21:48:15 +01:00
Bram Moolenaar
d85931e673 patch 8.2.3462: ModeChanged only uses one character for new_mode and old_mode
Problem:    The ModeChanged event only uses one character for the new_mode and
            old_mode values.
Solution:   Pass one as first argument to mode(). (issue #8856)
2021-10-02 16:55:39 +01:00
Bram Moolenaar
72406a4bd2 patch 8.2.3461: cannot distinguish Normal and Terminal-Normal mode
Problem:    Cannot distinguish Normal and Terminal-Normal mode.
Solution:   Make mode() return "nt" for Terminal-Normal mode. (issue #8856)
2021-10-02 16:34:55 +01:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
dfa5e464d4 patch 8.2.3460: some type casts are not needed
Problem:    Some type casts are not needed.
Solution:   Remove unnecessary type casts. (closes #8934)
2021-10-02 11:26:51 +01:00
Yegappan Lakshmanan
51491adfa8 patch 8.2.3459: Vim9: need more tests for empty string arguments
Problem:    Vim9: need more tests for empty string arguments.
Solution:   Add more tests.  Also use empty argument with menu_info() to get
            the top-level menu names. (Yegappan Lakshmanan, closes #8925)
2021-09-30 19:00:00 +01:00
Bram Moolenaar
be01090efa patch 8.2.3458: not all dictdconf files are recognized
Problem:    Not all dictdconf files are recognized.
Solution:   Adjust the pattern. (Doug Kearns)
2021-09-26 22:11:52 +01:00
Bram Moolenaar
b16ff292ad patch 8.2.3457: MS-Windows Vim9: test executed and fails
Problem:    MS-Windows Vim9: test executed and fails.
Solution:   Add extra check for not being on MS-Windows.
2021-09-26 20:14:39 +01:00
Yegappan Lakshmanan
f8dbd58666 patch 8.2.3456: Vim9: not all functions are tested with empty string argument
Problem:    Vim9: Not all functions are tested with an empty string argument.
Solution:   Add tests with empty strings. (Yegappan Lakshmanan, closes #8915)
2021-09-26 19:04:05 +01:00
Bram Moolenaar
56858e4ed4 patch 8.2.3455: using a count with "gp" leaves '] in wrong position
Problem:    Using a count with "gp" leaves '] in wrong position. (Naohiro Ono)
Solution:   Correct the mark position. (closes #8899)
2021-09-22 16:43:59 +02:00
Bram Moolenaar
23003e51e1 patch 8.2.3454: using a count with "gp" leave cursor in wrong position
Problem:    Using a count with "gp" leave cursor in wrong position. (Naohiro
            Ono)
Solution:   Count the inserted lines. (closes #8899)
2021-09-22 16:37:07 +02:00
Bram Moolenaar
40fa12aea3 patch 8.2.3453: autocmd not executed when editing a directory
Problem:    Autocmd not executed when editing a directory ending in a path
            separator inside try block.
Solution:   Return NOTDONE instead of FAIL. (closes #8885)
2021-09-22 14:18:13 +02:00
Bram Moolenaar
da0b497c6e Correct Spanish translations 2021-09-21 21:04:01 +02:00
Bram Moolenaar
34cc7d8c03 Update runtime files 2021-09-21 20:09:51 +02:00
Steven Penny
690c524ce6 patch 8.2.3452: MPD files are not recognized
Problem:    MPD files are not recognized.
Solution:   Recognize MPD files as XML. (Steven Penny, closes #8893)
2021-09-21 19:37:01 +02:00
Zdenek Dohnal
770ddbe159 patch 8.2.3451: not all apache files are recognized
Problem:    Not all apache files are recognized.
Solution:   Adjust the filetype pattern. (Zdenek Dohnal, closes #8882)
2021-09-20 20:57:31 +02:00
Bram Moolenaar
18fefddcb0 patch 8.2.3450: coveralls action fails
Problem:    Coveralls action fails.
Solution:   Disable it for now.
2021-09-19 17:55:16 +02:00
Yasuhiro Matsumoto
c04f62346b patch 8.2.3449: sort fails if the sort compare function returns 999
Problem:    Sort fails if the sort compare function returns 999.
Solution:   Adjust value to -1 / 0 / 1. (Yasuhiro Matsumoto, closes #8884)
2021-09-19 17:01:39 +02:00
Bram Moolenaar
1d34189ecb patch 8.2.3448: :endtry after function call that throws not found
Problem:    :endtry after function call that throws not found.
Solution:   Do check for following :endtry if an exception is being thrown.
            (closes #8889)
2021-09-18 15:25:52 +02:00
Yegappan Lakshmanan
d2b98ab4ec patch 8.2.3447: a couple of declarations are not ANSI C
Problem:    A couple of declarations are not ANSI C.
Solution:   Put argument type inside (). (Yegappan Lakshmanan, closes #8890)
2021-09-18 12:15:08 +02:00
Yegappan Lakshmanan
820d5525ca patch 8.2.3446: not enough tests for empty string arguments
Problem:    Not enough tests for empty string arguments.
Solution:   Add tests, fix type check. (Yegappan Lakshmanan, closes #8881)
2021-09-17 21:07:35 +02:00
Bram Moolenaar
542ffe16a1 patch 8.2.3445: on Solaris longVersion may be declared twice
Problem:    On Solaris longVersion may be declared twice. (Vladimir Marek)
Solution:   Always declare longVersion in version.c
2021-09-17 20:45:30 +02:00
Bram Moolenaar
644b49fa0f patch 8.2.3444: concealed text not revealed when leaving insert mode
Problem:    concealed text not revealed when leaving insert mode. (Michael
            Soyka)
Solution:   Check if concealing changed when leaving insert mode.
            (closes #8880)
2021-09-16 22:32:15 +02:00
Bram Moolenaar
3dfe2e0fb8 patch 8.2.3443: Vim9: memory leak when and/or fails
Problem:    Vim9: memory leak when and/or fails.
Solution:   Also clear the growarray when the length is zero.
2021-09-16 20:14:51 +02:00
Bram Moolenaar
1a7ee4dd11 patch 8.2.3442: Vim9: || and && are not handled at compile time
Problem:    Vim9: || and && are not handled at compile time when possible.
Solution:   When using constants generate fewer instructions.
2021-09-16 16:15:07 +02:00
Christian Brabandt
ee2cbcd99c patch 8.2.3441: MS-Windows: vimtutor can't handle path with spaces
Problem:    MS-Windows: vimtutor can't handle path with spaces.
Solution:   Add double quotes. (Christian Brabandt, closes #8871)
2021-09-15 12:53:40 +02:00
Bram Moolenaar
f2a8bafa4b patch 8.2.3440: recover test fails if there is an old swap file
Problem:    Recover test fails if there is an old swap file.
Solution:   Delete old swap files.
2021-09-14 22:58:23 +02:00
Christian Brabandt
78eb9cce91 patch 8.2.3439: deleted lines go to wrong yank register
Problem:    Deleted lines go to wrong yank register.
Solution:   Reset y_append when not calling get_yank_register(). (Christian
            Brabandt, closes #8872)
2021-09-14 18:55:51 +02:00
Yegappan Lakshmanan
5dfe467432 patch 8.2.3438: cannot manipulate blobs
Problem:    Cannot manipulate blobs.
Solution:   Add blob2list() and list2blob(). (Yegappan Lakshmanan,
            closes #8868)
2021-09-14 17:54:30 +02:00
Mike Williams
f5785cf059 patch 8.2.3437: compiler warnings for 32/64 bit usage
Problem:    Compiler warnings for 32/64 bit usage.
Solution:   Add type casts. (Mike Williams, closes #8870)
2021-09-13 22:17:38 +02:00
Bram Moolenaar
a29856fcdc patch 8.2.3436: check for optional bool type has confusing return type
Problem:    Check for optional bool type has confusing return type.
Solution:   Explicitly return OK.
2021-09-13 21:36:27 +02:00
Bram Moolenaar
b1b6f4de2b patch 8.2.3435: Vim9: dict is not passed to dict function
Problem:    Vim9: dict is not passed to dict function.
Solution:   Keep the dict used until a function call.
2021-09-13 18:25:54 +02:00
Bram Moolenaar
28e591dd50 patch 8.2.3434: function prototype for trigger_modechanged() is incomplete
Problem:    Function prototype for trigger_modechanged() is incomplete.
Solution:   Add "void".
2021-09-12 21:00:14 +02:00
Bram Moolenaar
bdcba24d85 patch 8.2.3433: :delcommand does not take a -buffer option
Problem:    :delcommand does not take a -buffer option.
Solution:   Add the -buffer option.
2021-09-12 20:58:02 +02:00
Bram Moolenaar
ca0627df69 patch 8.2.3432: octave/Matlab filetype detection does not work properly
Problem:    Octave/Matlab filetype detection does not work properly.
Solution:   Update the patterns used for matching. (Doug Kearns)
2021-09-12 17:03:08 +02:00
naohiro ono
dfe04dbff5 patch 8.2.3431: completion for :disas sorts local functions first
Problem:    Completion for :disas sorts local functions first.
Solution:   Sort local functions last, like with :delfunc. (Naohiro Ono,
            closes #8860)
2021-09-12 15:45:10 +02:00
=?UTF-8?q?Magnus=20Gro=C3=9F?=
f1e8876fa2 patch 8.2.3430: no generic way to trigger an autocommand on mode change
Problem:    No generic way to trigger an autocommand on mode change.
Solution:   Add the ModeChanged autocommand event. (Magnus Gross, closes #8856)
2021-09-12 13:39:55 +02:00
Bram Moolenaar
464393a696 patch 8.2.3429: leaking memory when assigning to list or dict
Problem:    Leaking memory when assigning to list or dict.
Solution:   Free the list or dict type before overwriting it.
2021-09-11 23:07:44 +02:00
Bram Moolenaar
35a9a00afc patch 8.2.3428: using freed memory when replacing
Problem:    Using freed memory when replacing. (Dhiraj Mishra)
Solution:   Get the line pointer after calling ins_copychar().
2021-09-11 21:14:20 +02:00
Bram Moolenaar
b3bf33a7b2 patch 8.2.3427: double free when list is copied
Problem:    Double free when list is copied.
Solution:   Allocate the type when making a copy. (closes #8862)
            Clear the type for flattennew().  Avoid a memory leak when
            flattennew() fails.
2021-09-11 20:20:38 +02:00
Bram Moolenaar
4b4b1b84ee patch 8.2.3426: crash when deleting a listener in a listener callback
Problem:    Crash when deleting a listener in a listener callback. (Naohiro
            Ono)
Solution:   Mark the listener and delete it later.
2021-09-11 15:06:44 +02:00
Bram Moolenaar
56e14698b4 patch 8.2.3425: warning for using uninitialized variable
Problem:    Warning for using uninitialized variable.
Solution:   Initialize it. (John Marriott)
2021-09-11 12:15:09 +02:00
zeertzjq
f14b8ba137 patch 8.2.3424: a sequence of spaces is hard to see in list mode
Problem:    A sequence of spaces is hard to see in list mode.
Solution:   Add the "multispace" option to 'listchars'. (closes #8834)
2021-09-10 16:58:30 +02:00
Bram Moolenaar
07802044b9 patch 8.2.3423: Vim9: list += list creates a new list in :def function
Problem:    Vim9: list += list creates a new list in :def function.
Solution:   Append to the existing list.
2021-09-09 23:01:14 +02:00
Bram Moolenaar
efc084e335 patch 8.2.3422: Vim9: no failure if return type differs from returned var
Problem:    Vim9: no failure if return type differs from returned variable.
Solution:   Copy type when copying a list. (closes #8847)
2021-09-09 22:30:52 +02:00
Bram Moolenaar
6c391a74fe Update runtime files 2021-09-09 21:55:11 +02:00
Dominique Pelle
d176ca3dde patch 8.2.3421: a bit of code is not covered by tests
Problem:    A bit of code is not covered by tests.
Solution:   Add a few more test cases. (Dominique Pellé, closes #8857)
2021-09-09 20:45:34 +02:00
Christian Brabandt
6b9efdde78 patch 8.2.3420: _REENTRANT defined more than once
Problem:    _REENTRANT defined more than once.
Solution:   Fix configure script. (Christian Brabandt, closes #8852)
2021-09-09 17:14:50 +02:00
Bram Moolenaar
0325d3967c patch 8.2.3419: a failing debug expression may make Vim unusable
Problem:    A failing debug expression may make Vim unusable.
Solution:   Suppress error messages. (closes #8848)
2021-09-09 12:34:19 +02:00
303 changed files with 8669 additions and 2613 deletions

28
.github/CODEOWNERS vendored
View File

@@ -73,6 +73,7 @@ runtime/ftplugin/awk.vim @dkearns
runtime/ftplugin/basic.vim @dkearns
runtime/ftplugin/bst.vim @tpope
runtime/ftplugin/cfg.vim @chrisbra
runtime/ftplugin/csh.vim @dkearns
runtime/ftplugin/css.vim @dkearns
runtime/ftplugin/cucumber.vim @tpope
runtime/ftplugin/eiffel.vim @dkearns
@@ -97,8 +98,10 @@ runtime/ftplugin/markdown.vim @tpope
runtime/ftplugin/matlab.vim @cecamp
runtime/ftplugin/meson.vim @Liambeguin
runtime/ftplugin/modula3.vim @dkearns
runtime/ftplugin/nginx.vim @chr4
runtime/ftplugin/nroff.vim @a-vrma
runtime/ftplugin/nsis.vim @k-takata
runtime/ftplugin/octave.vim @dkearns
runtime/ftplugin/pascal.vim @dkearns
runtime/ftplugin/pbtxt.vim @lakshayg
runtime/ftplugin/pdf.vim @tpope
@@ -109,27 +112,49 @@ runtime/ftplugin/sass.vim @tpope
runtime/ftplugin/scss.vim @tpope
runtime/ftplugin/spec.vim @ignatenkobrain
runtime/ftplugin/systemverilog.vim @Kocha
runtime/ftplugin/tcsh.vim @dkearns
runtime/ftplugin/tidy.vim @dkearns
runtime/ftplugin/tmux.vim @ericpruitt
runtime/ftplugin/toml.vim @averms
runtime/ftplugin/typescript.vim @dkearns
runtime/ftplugin/typescriptreact.vim @dkearns
runtime/ftplugin/xml.vim @chrisbra
runtime/ftplugin/zsh.vim @chrisbra
runtime/indent/bst.vim @tpope
runtime/indent/cdl.vim @dkearns
runtime/indent/config.vim @dkearns
runtime/indent/css.vim @dkearns
runtime/indent/cucumber.vim @tpope
runtime/indent/d.vim @dkearns
runtime/indent/dosbatch.vim @k-takata
runtime/indent/dtd.vim @dkearns
runtime/indent/dylan.vim @dkearns
runtime/indent/elm.vim @andys8
runtime/indent/eruby.vim @tpope @dkearns
runtime/indent/eterm.vim @dkearns
runtime/indent/framescript.vim @dkearns
runtime/indent/gitconfig.vim @tpope
runtime/indent/haml.vim @tpope
runtime/indent/idlang.vim @dkearns
runtime/indent/ld.vim @dkearns
runtime/indent/liquid.vim @tpope
runtime/indent/make.vim @dkearns
runtime/indent/meson.vim @Liambeguin
runtime/indent/mma.vim @dkearns
runtime/indent/nginx.vim @chr4
runtime/indent/nsis.vim @k-takata
runtime/indent/occam.vim @dkearns
runtime/indent/postscr.vim @dkearns
runtime/indent/prolog.vim @dkearns
runtime/indent/ps1.vim @heaths
runtime/indent/readline.vim @dkearns
runtime/indent/ruby.vim @AndrewRadev @dkearns
runtime/indent/sass.vim @tpope
runtime/indent/scss.vim @tpope
runtime/indent/sh.vim @chrisbra
runtime/indent/systemverilog.vim @Kocha
runtime/indent/tcl.vim @dkearns
runtime/indent/tcsh.vim @dkearns
runtime/indent/teraterm.vim @k-takata
runtime/indent/xml.vim @chrisbra
runtime/indent/zsh.vim @chrisbra
@@ -191,6 +216,7 @@ runtime/syntax/markdown.vim @tpope
runtime/syntax/meson.vim @Liambeguin
runtime/syntax/modula3.vim @dkearns
runtime/syntax/netrw.vim @cecamp
runtime/syntax/nginx.vim @chr4
runtime/syntax/nroff.vim @jmarshall
runtime/syntax/nsis.vim @k-takata
runtime/syntax/pascal.vim @dkearns
@@ -216,10 +242,12 @@ runtime/syntax/sshdconfig.vim @Jakuje
runtime/syntax/sudoers.vim @e-kwsm
runtime/syntax/systemverilog.vim @Kocha
runtime/syntax/tags.vim @cecamp
runtime/syntax/tcsh.vim @dkearns
runtime/syntax/teraterm.vim @k-takata
runtime/syntax/tex.vim @cecamp
runtime/syntax/tidy.vim @dkearns
runtime/syntax/tmux.vim @ericpruitt
runtime/syntax/toml.vim @averms
runtime/syntax/vim.vim @cecamp
runtime/syntax/wget.vim @dkearns
runtime/syntax/xbl.vim @dkearns

View File

@@ -1,34 +0,0 @@
---
name: Bug report
about: Create a report to help us improve Vim
title: ''
labels: ''
---
_Instructions: Replace the template text and remove irrelevant text (including this line)_
**Describe the bug**
A clear and concise description of what the bug is.
(Issues related to the runtime files should be reported to their maintainer, check the file header.)
**To Reproduce**
Detailed steps to reproduce the behavior:
1. Run `vim --clean` (or `gvim --clean`, etc.)
2. Edit `filename`
3. Type '....'
4. Describe the error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, copy/paste the text or add screenshots to help explain your problem.
**Environment (please complete the following information):**
- Vim version [e.g. 8.1.1234] (Or paste the result of `vim --version`.)
- OS: [e.g. Ubuntu 18.04, Windows 10 1809, macOS 10.14]
- Terminal: [e.g. GNOME Terminal, mintty, iTerm2, tmux, GNU screen] (Use GUI if you use the GUI.)
**Additional context**
Add any other context about the problem here.

47
.github/ISSUE_TEMPLATE/bug_report.yml vendored Normal file
View File

@@ -0,0 +1,47 @@
---
name: Bug report
description: Create a report to help us improve Vim.
labels: [bug]
body:
- type: markdown
attributes:
value: |
Thanks for reporting issues of Vim!
To make it easier for us to help you please enter detailed information below.
- type: textarea
attributes:
label: Steps to reproduce
placeholder: |
1.
2.
3.
4.
validations:
required: true
- type: textarea
attributes:
label: Expected behaviour
placeholder: A clear and concise description of what you expected to happen.
validations:
required: true
- type: input
attributes:
label: Operating system
description: >
Your operating system name, version and desktop environment.
validations:
required: true
- type: input
attributes:
label: Version of Vim
description: >
The name of your development environment, version. [e.g. GNOME Terminal (v0.0.0000)]
validations:
required: true
- type: textarea
attributes:
label: Logs and stack traces
placeholder: Insert log or other text here (if necessary)
render: shell

View File

@@ -40,6 +40,7 @@ jobs:
compiler: gcc
coverage: true
extra: testgui
uchar: true
- features: huge
compiler: clang
extra: asan
@@ -80,7 +81,7 @@ jobs:
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
. /etc/lsb-release
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-11 main"
sudo apt-get install -y clang-11
sudo apt-get install -y clang-11 llvm-11
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-11 100
sudo update-alternatives --set clang /usr/bin/clang-11
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-11 100
@@ -111,10 +112,14 @@ jobs:
;;
esac
CFLAGS=""
if ${{ matrix.coverage == true }}; then
echo "CFLAGS=--coverage -DUSE_GCOV_FLUSH"
CFLAGS="$CFLAGS --coverage -DUSE_GCOV_FLUSH"
echo "LDFLAGS=--coverage"
fi
if ${{ matrix.uchar == true }}; then
CFLAGS="$CFLAGS -funsigned-char"
fi
if ${{ contains(matrix.extra, 'testgui') }}; then
echo "TEST=-C src testgui"
fi
@@ -130,6 +135,7 @@ jobs:
if ${{ contains(matrix.extra, 'vimtags') }}; then
echo "TEST=-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
fi
echo "CFLAGS=$CFLAGS"
) >> $GITHUB_ENV
- name: Set up system
@@ -201,18 +207,18 @@ jobs:
do_test() { sg audio "sg $(id -gn) '$*'"; }
do_test make ${SHADOWOPT} ${TEST}
- name: Coveralls
if: matrix.coverage && success() && github.event_name != 'pull_request'
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
COVERALLS_PARALLEL: true
TRAVIS_JOB_ID: ${{ github.run_id }}
run: |
sudo apt-get install -y python3-setuptools python3-wheel
sudo -H pip3 install pip -U
# needed for https support for coveralls building cffi only works with gcc, not with clang
CC=gcc pip3 install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
# - name: Coveralls
# if: matrix.coverage && success() && github.event_name != 'pull_request'
# env:
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
# COVERALLS_PARALLEL: true
# TRAVIS_JOB_ID: ${{ github.run_id }}
# run: |
# sudo apt-get install -y python3-setuptools python3-wheel
# sudo -H pip3 install pip -U
# # needed for https support for coveralls building cffi only works with gcc, not with clang
# CC=gcc pip3 install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
# ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
- name: Codecov
if: matrix.coverage && success()
@@ -228,18 +234,18 @@ jobs:
false # in order to fail a job
done
coveralls:
runs-on: ubuntu-18.04
needs: linux
if: always() && github.event_name != 'pull_request'
steps:
- name: Parallel finished
env:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
run: |
curl -k "https://coveralls.io/webhook?repo_token=${COVERALLS_REPO_TOKEN}" -d "payload[build_num]=${GITHUB_RUN_ID}&payload[status]=done"
# coveralls:
# runs-on: ubuntu-18.04
#
# needs: linux
# if: always() && github.event_name != 'pull_request'
#
# steps:
# - name: Parallel finished
# env:
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
# run: |
# curl -k "https://coveralls.io/webhook?repo_token=${COVERALLS_REPO_TOKEN}" -d "payload[build_num]=${GITHUB_RUN_ID}&payload[status]=done"
macos:
runs-on: macos-latest

View File

@@ -67,13 +67,13 @@ if exists ('g:ada_with_gnat_project_files')
endfor
endif
" Section: add standart exception {{{2
" Section: add standard exception {{{2
"
for Item in ['Constraint_Error', 'Program_Error', 'Storage_Error', 'Tasking_Error', 'Status_Error', 'Mode_Error', 'Name_Error', 'Use_Error', 'Device_Error', 'End_Error', 'Data_Error', 'Layout_Error', 'Length_Error', 'Pattern_Error', 'Index_Error', 'Translation_Error', 'Time_Error', 'Argument_Error', 'Tag_Error', 'Picture_Error', 'Terminator_Error', 'Conversion_Error', 'Pointer_Error', 'Dereference_Error', 'Update_Error']
let g:ada#Keywords += [{
\ 'word': Item,
\ 'menu': 'exception',
\ 'info': 'Ada standart exception.',
\ 'info': 'Ada standard exception.',
\ 'kind': 'x',
\ 'icase': 1}]
endfor
@@ -210,7 +210,7 @@ function ada#Word (...)
let l:Line = substitute (getline (l:Line_Nr), g:ada#Comment, '', '' )
" Cope with tag searching for items in comments; if we are, don't loop
" backards looking for previous lines
" backwards looking for previous lines
if l:Column_Nr > strlen(l:Line)
" We were in a comment
let l:Line = getline(l:Line_Nr)

View File

@@ -14,7 +14,7 @@
" 15.10.2006 MK Bram's suggestion for runtime integration
" 05.11.2006 MK Bram suggested not to use include protection for
" autoload
" 05.11.2006 MK Bram suggested agaist using setlocal omnifunc
" 05.11.2006 MK Bram suggested against using setlocal omnifunc
" 05.11.2006 MK Bram suggested to save on spaces
" Help Page: ft-ada-omni
"------------------------------------------------------------------------------

View File

@@ -4,7 +4,7 @@
" plus CSS Speech Module <http://www.w3.org/TR/css3-speech/>
" Maintainer: Kao, Wei-Ko(othree) ( othree AT gmail DOT com )
" Original Author: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2018 Jul 02
" Last Change: 2021 Sep 21
let s:values = split("all additive-symbols align-content align-items align-self animation animation-delay animation-direction animation-duration animation-fill-mode animation-iteration-count animation-name animation-play-state animation-timing-function backface-visibility background background-attachment background-blend-mode background-clip background-color background-image background-origin background-position background-repeat background-size block-size border border-block-end border-block-end-color border-block-end-style border-block-end-width border-block-start border-block-start-color border-block-start-style border-block-start-width border-bottom border-bottom-color border-bottom-left-radius border-bottom-right-radius border-bottom-style border-bottom-width border-collapse border-color border-image border-image-outset border-image-repeat border-image-slice border-image-source border-image-width border-inline-end border-inline-end-color border-inline-end-style border-inline-end-width border-inline-start border-inline-start-color border-inline-start-style border-inline-start-width border-left border-left-color border-left-style border-left-width border-radius border-right border-right-color border-right-style border-right-width border-spacing border-style border-top border-top-color border-top-left-radius border-top-right-radius border-top-style border-top-width border-width bottom box-decoration-break box-shadow box-sizing break-after break-before break-inside caption-side clear clip clip-path color columns column-count column-fill column-gap column-rule column-rule-color column-rule-style column-rule-width column-span column-width content counter-increment counter-reset cue cue-before cue-after cursor direction display empty-cells fallback filter flex flex-basis flex-direction flex-flow flex-grow flex-shrink flex-wrap float font font-family font-feature-settings font-kerning font-language-override font-size font-size-adjust font-stretch font-style font-synthesis font-variant font-variant-alternates font-variant-caps font-variant-east-asian font-variant-ligatures font-variant-numeric font-variant-position font-weight grid grid-area grid-auto-columns grid-auto-flow grid-auto-position grid-auto-rows grid-column grid-column-start grid-column-end grid-row grid-row-start grid-row-end grid-template grid-template-areas grid-template-rows grid-template-columns height hyphens image-rendering image-resolution image-orientation ime-mode inline-size isolation justify-content left letter-spacing line-break line-height list-style list-style-image list-style-position list-style-type margin margin-block-end margin-block-start margin-bottom margin-inline-end margin-inline-start margin-left margin-right margin-top marks mask mask-type max-block-size max-height max-inline-size max-width max-zoom min-block-size min-height min-inline-size min-width min-zoom mix-blend-mode negative object-fit object-position offset-block-end offset-block-start offset-inline-end offset-inline-start opacity order orientation orphans outline outline-color outline-offset outline-style outline-width overflow overflow-wrap overflow-x overflow-y pad padding padding-block-end padding-block-start padding-bottom padding-inline-end padding-inline-start padding-left padding-right padding-top page-break-after page-break-before page-break-inside pause-before pause-after pause perspective perspective-origin pointer-events position prefix quotes range resize rest rest-before rest-after right ruby-align ruby-merge ruby-position scroll-behavior scroll-snap-coordinate scroll-snap-destination scroll-snap-points-x scroll-snap-points-y scroll-snap-type scroll-snap-type-x scroll-snap-type-y shape-image-threshold shape-margin shape-outside speak speak-as suffix symbols system table-layout tab-size text-align text-align-last text-combine-upright text-decoration text-decoration-color text-decoration-line text-emphasis text-emphasis-color text-emphasis-position text-emphasis-style text-indent text-orientation text-overflow text-rendering text-shadow text-transform text-underline-position top touch-action transform transform-box transform-origin transform-style transition transition-delay transition-duration transition-property transition-timing-function unicode-bidi unicode-range user-zoom vertical-align visibility voice-balance voice-duration voice-family voice-pitch voice-rate voice-range voice-stress voice-volume white-space widows width will-change word-break word-spacing word-wrap writing-mode z-index zoom")
@@ -38,12 +38,12 @@ function! csscomplete#CompleteCSS(findstart, base)
if exists("b:compl_context")
let line = getline('.')
let compl_begin = col('.') - 2
let after = line[compl_begin:]
let b:after = line[compl_begin:]
let line = b:compl_context
unlet! b:compl_context
else
let line = a:base
let after = ''
let b:after = ''
endif
let res = []
@@ -311,7 +311,7 @@ function! csscomplete#CompleteCSS(findstart, base)
let values = ["normal", "italic", "oblique", "small-caps", "bold", "bolder", "lighter", "100", "200", "300", "400", "500", "600", "700", "800", "900", "xx-small", "x-small", "small", "medium", "large", "x-large", "xx-large", "larger", "smaller", "sans-serif", "serif", "monospace", "cursive", "fantasy", "caption", "icon", "menu", "message-box", "small-caption", "status-bar"]
elseif prop =~ '^\%(height\|width\)$'
let values = ["auto", "border-box", "content-box", "max-content", "min-content", "available", "fit-content"]
elseif prop =~ '^\%(left\|rigth\)$'
elseif prop =~ '^\%(left\|right\)$'
let values = ["auto"]
elseif prop == 'image-rendering'
let values = ["auto", "crisp-edges", "pixelated"]

View File

@@ -23,7 +23,7 @@ endif
function decada#Unit_Name () dict " {{{1
" Convert filename into acs unit:
" 1: remove the file extenstion.
" 1: remove the file extension.
" 2: replace all double '_' or '-' with an dot (which denotes a separate)
" 3: remove a trailing '_' (which denotes a specification)
return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '')

View File

@@ -269,7 +269,8 @@ func dist#ft#FTm()
return
endif
let octave_block_terminators = '\<end\%(_try_catch\|classdef\|enumeration\|events\|for\|function\|if\|methods\|parfor\|properties\|switch\|while\)\>'
" excluding end(for|function|if|switch|while) common to Murphi
let octave_block_terminators = '\<end\%(_try_catch\|classdef\|enumeration\|events\|methods\|parfor\|properties\)\>'
let n = 1
let saw_comment = 0 " Whether we've seen a multiline comment leader.
@@ -285,8 +286,7 @@ func dist#ft#FTm()
setf objc
return
endif
if line =~ '^\s*\%(#\|%!\|[#%]{\=\s*$\)' ||
\ line =~ '^\s*unwind_protect\>' ||
if line =~ '^\s*\%(#\|%!\)' || line =~ '^\s*unwind_protect\>' ||
\ line =~ '\%(^\|;\)\s*' .. octave_block_terminators
setf octave
return

View File

@@ -129,7 +129,7 @@ fun! getscript#GetLatestVimScripts()
" insure that wget is executable
if executable(g:GetLatestVimScripts_wget) != 1
echoerr "GetLatestVimScripts needs ".g:GetLatestVimScripts_wget." which apparently is not available on your system"
" call Dret("GetLatestVimScripts : wget not executable/availble")
" call Dret("GetLatestVimScripts : wget not executable/available")
return
endif
@@ -347,7 +347,7 @@ fun! s:GetOneScript(...)
set t_ti= t_te= nors
" put current line on top-of-screen and interpret it into
" a script identifer : used to obtain webpage
" a script identifier : used to obtain webpage
" source identifier : used to identify current version
" and an associated comment: used to report on what's being considered
if a:0 >= 3

View File

@@ -54,7 +54,7 @@ function! haskellcomplete#Complete(findstart, base)
if b:completingLangExtension
if a:base ==? ""
" Return all posible Lang extensions
" Return all possible Lang extensions
return s:langExtensions
else
let l:matches = []
@@ -70,7 +70,7 @@ function! haskellcomplete#Complete(findstart, base)
elseif b:completingOptionsGHC
if a:base ==? ""
" Return all posible GHC options
" Return all possible GHC options
return s:optionsGHC
else
let l:matches = []
@@ -86,7 +86,7 @@ function! haskellcomplete#Complete(findstart, base)
elseif b:completingModule
if a:base ==? ""
" Return all posible modules
" Return all possible modules
return s:commonModules
else
let l:matches = []

View File

@@ -486,7 +486,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif
endif
" Value of attribute completion {{{
" If attr contains =\s*[\"'] we catched value of attribute
" If attr contains =\s*[\"'] we match value of attribute
if attr =~ "=\s*[\"']" || attr =~ "=\s*$"
" Let do attribute specific completion
let attrname = matchstr(attr, '.*\ze\s*=')

View File

@@ -1751,7 +1751,8 @@ fun! s:NetrwOptionsSafe(islocal)
if &cpo =~ 'a' | call s:NetrwSetSafeSetting("&cpo",substitute(&cpo,'a','','g')) | endif
if &cpo =~ 'A' | call s:NetrwSetSafeSetting("&cpo",substitute(&cpo,'A','','g')) | endif
setl fo=nroql2
call s:NetrwSetSafeSetting("&go","begmr")
" call s:NetrwSetSafeSetting("&go","begmr")
if &go =~ '\ca' | call s:NetrwSetSafeSetting("&go",substitute(&go,'\ca','','g')) | endif
call s:NetrwSetSafeSetting("&l:hid",0)
call s:NetrwSetSafeSetting("&l:im",0)
setl isk+=@ isk+=* isk+=/
@@ -4267,7 +4268,7 @@ fun! s:NetrwGetBuffer(islocal,dirname)
endif
" call Decho(" bufnum#".bufnum,'~'.expand("<slnum>"))
" highjack the current buffer
" hijack the current buffer
" IF the buffer already has the desired name
" AND it is empty
let curbuf = bufname("%")
@@ -4275,7 +4276,7 @@ fun! s:NetrwGetBuffer(islocal,dirname)
let curbuf = getcwd()
endif
" call Dredir("ls!","NetrwGetFile (renamed buffer back to remote filename<".rfile."> : expand(%)<".expand("%").">)")
" call Decho("deciding if netrw may highjack the current buffer#".bufnr("%")."<".curbuf.">",'~'.expand("<slnum>"))
" call Decho("deciding if netrw may hijack the current buffer#".bufnr("%")."<".curbuf.">",'~'.expand("<slnum>"))
" call Decho("..dirname<".dirname."> IF dirname == bufname",'~'.expand("<slnum>"))
" call Decho("..curbuf<".curbuf.">",'~'.expand("<slnum>"))
" call Decho("..line($)=".line("$")." AND this is 1",'~'.expand("<slnum>"))
@@ -4284,7 +4285,7 @@ fun! s:NetrwGetBuffer(islocal,dirname)
" call Dret("s:NetrwGetBuffer 0<cleared buffer> : highjacking buffer#".bufnr("%"))
return 0
else " DEBUG
" call Decho("..did NOT highjack buffer",'~'.expand("<slnum>"))
" call Decho("..did NOT hijack buffer",'~'.expand("<slnum>"))
endif
" Aug 14, 2021: was thinking about looking for a [No Name] buffer here and using it, but that might cause problems
@@ -6845,7 +6846,7 @@ fun! s:NetrwMarkFile(islocal,fname)
" sanity check
if empty(a:fname)
" call Dret("s:NetrwMarkFile : emtpy fname")
" call Dret("s:NetrwMarkFile : empty fname")
return
endif
let curdir = s:NetrwGetCurdir(a:islocal)

View File

@@ -9,7 +9,7 @@
"
" let g:phpcomplete_relax_static_constraint = 1/0 [default 0]
" Enables completion for non-static methods when completing for static context (::).
" This generates E_STRICT level warning, but php calls these methods nontheless.
" This generates E_STRICT level warning, but php calls these methods nonetheless.
"
" let g:phpcomplete_complete_for_unknown_classes = 1/0 [default 0]
" Enables completion of variables and functions in "everything under the sun" fashion
@@ -28,7 +28,7 @@
" This option controls the number of characters the user needs to type before
" the tags will be searched for namespaces and classes in typed out namespaces in
" "use ..." context. Setting this to 0 is not recommended because that means the code
" have to scan every tag, and vim's taglist() function runs extremly slow with a
" have to scan every tag, and vim's taglist() function runs extremely slow with a
" "match everything" pattern.
"
" let g:phpcomplete_parse_docblock_comments = 1/0 [default 0]
@@ -263,7 +263,7 @@ function! phpcomplete#CompleteUse(base) " {{{
call add(no_namespace_matches, {'word': namespace_for_class.'\'.tag.name, 'kind': tag.kind, 'menu': tag.filename, 'info': tag.filename })
endif
endfor
" if it seems that the tags file have namespace informations we can safely throw
" if it seems that the tags file have namespace information we can safely throw
" away namespaceless tag matches since we can be sure they are invalid
if patched_ctags_detected
no_namespace_matches = []
@@ -805,7 +805,7 @@ function! phpcomplete#CompleteClassName(base, kinds, current_namespace, imports)
endif
endfor
" resolve the typed in part with namespaces (if theres a \ in it)
" resolve the typed in part with namespaces (if there's a \ in it)
let [tag_match_pattern, namespace_for_class] = phpcomplete#ExpandClassName(a:base, a:current_namespace, a:imports)
let tags = []
@@ -921,11 +921,11 @@ function! s:getNextCharWithPos(filelines, current_pos) " {{{
endfunction " }}}
function! phpcomplete#EvaluateModifiers(modifiers, required_modifiers, prohibited_modifiers) " {{{
" if theres no modifier, and no modifier is allowed and no modifier is required
" if there's no modifier, and no modifier is allowed and no modifier is required
if len(a:modifiers) == 0 && len(a:required_modifiers) == 0
return 1
else
" check if every requred modifier is present
" check if every required modifier is present
for required_modifier in a:required_modifiers
if index(a:modifiers, required_modifier) == -1
return 0
@@ -1253,7 +1253,7 @@ function! phpcomplete#GetCurrentInstruction(line_number, col_number, phpbegin) "
endif
endif
" save the coma position for later use if theres a "naked" , possibly separating a parameter and it is not in a parented part
" save the coma position for later use if there's a "naked" , possibly separating a parameter and it is not in a parented part
if first_coma_break_pos == -1 && current_char == ','
let first_coma_break_pos = len(instruction)
endif
@@ -1299,7 +1299,7 @@ function! phpcomplete#GetCurrentInstruction(line_number, col_number, phpbegin) "
" there were a "naked" coma in the instruction
if first_coma_break_pos != -1
if instruction !~? '^use' && instruction !~? '^class' " use ... statements and class delcarations should not be broken up by comas
if instruction !~? '^use' && instruction !~? '^class' " use ... statements and class declarations should not be broken up by comas
let pos = (-1 * first_coma_break_pos) + 1
let instruction = instruction[pos :]
endif
@@ -1311,7 +1311,7 @@ function! phpcomplete#GetCurrentInstruction(line_number, col_number, phpbegin) "
" clear everything up until the first (
let instruction = substitute(instruction, '^\(if\|while\|foreach\|for\)\s*(\s*', '', '')
" lets iterate trough the instruction until we can find the pair for the opening (
" lets iterate through the instruction until we can find the pair for the opening (
let i = 0
let depth = 1
while i < len(instruction)
@@ -1419,7 +1419,7 @@ function! phpcomplete#GetCallChainReturnType(classname_candidate, class_candidat
let parts = split(substitute(type, '^\\', '', ''), '\')
let class_candidate_namespace = join(parts[0:-2], '\')
let classname_candidate = parts[-1]
" check for renamed namepsace in imports
" check for renamed namespace in imports
if has_key(classstructure.imports, class_candidate_namespace)
let class_candidate_namespace = classstructure.imports[class_candidate_namespace].name
endif
@@ -2018,7 +2018,7 @@ function! phpcomplete#GetCachedClassContents(classlocation, class_name) " {{{
if getftime(classstructure.file) != classstructure.mtime
let valid = 0
" we could break here, but the time required for checking probably worth
" the the memory we can free by checking every file in the cached hirearchy
" the the memory we can free by checking every file in the cached hierarchy
call phpcomplete#ClearCachedClassContents(classstructure.file)
endif
endfor
@@ -2032,7 +2032,7 @@ function! phpcomplete#GetCachedClassContents(classlocation, class_name) " {{{
call remove(s:cache_classstructures, cache_key)
call phpcomplete#ClearCachedClassContents(full_file_path)
" fall trough for the read from files path
" fall through for the read from files path
endif
else
call phpcomplete#ClearCachedClassContents(full_file_path)
@@ -2141,7 +2141,7 @@ function! phpcomplete#GetClassContentsStructure(file_path, file_lines, class_nam
let l = lnum
let search_line = trait_line
" add lines from the file until theres no ';' in them
" add lines from the file until there's no ';' in them
while search_line !~? ';' && l > 0
" file lines are reversed so we need to go backwards
let l += 1
@@ -2573,7 +2573,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
let search_line = line
let use_line = line
" add lines from the file until theres no ';' in them
" add lines from the file until there's no ';' in them
while search_line !~? ';' && l > 0
" file lines are reversed so we need to go backwards
let l -= 1
@@ -2605,7 +2605,7 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
" find kind flags from tags or built in methods for the objects we extracted
" they can be either classes, interfaces or namespaces, no other thing is importable in php
for [key, import] in items(imports)
" if theres a \ in the name we have it's definitely not a built in thing, look for tags
" if there's a \ in the name we have it's definitely not a built in thing, look for tags
if import.name =~ '\\'
let patched_ctags_detected = 0
let [classname, namespace_for_classes] = phpcomplete#ExpandClassName(import.name, '\', {})
@@ -2662,10 +2662,10 @@ function! phpcomplete#GetCurrentNameSpace(file_lines) " {{{
let import['kind'] = 'i'
let import['builtin'] = 1
else
" or can be a tag with exactly matchign name
" or can be a tag with exactly matching name
let tags = phpcomplete#GetTaglist('^'.import['name'].'$')
for tag in tags
" search for the first matchin namespace, class, interface with no namespace
" search for the first matching namespace, class, interface with no namespace
if !has_key(tag, 'namespace') && (tag.kind == 'n' || tag.kind == 'c' || tag.kind == 'i' || tag.kind == 't')
call extend(import, tag)
let import['builtin'] = 0
@@ -2883,7 +2883,7 @@ for [ext, data] in items(php_builtin['functions'])
call extend(g:php_builtin_functions, data)
endfor
" Built in classs
" Built in class
let g:php_builtin_classes = {}
for [ext, data] in items(php_builtin['classes'])
call extend(g:php_builtin_classes, data)
@@ -2901,10 +2901,10 @@ for [ext, data] in items(php_builtin['constants'])
call extend(g:php_constants, data)
endfor
" When the classname not found or found but the tags dosen't contain that
" class we will try to complate any method of any builtin class. To speed up
" When the classname not found or found but the tags doesn't contain that
" class we will try to complete any method of any builtin class. To speed up
" that lookup we compile a 'ClassName::MethodName':'info' dictionary from the
" builtin class informations
" builtin class information
let g:php_builtin_object_functions = {}
" When completing for 'everyting imaginable' (no class context, not a

View File

@@ -173,7 +173,7 @@ class Completer(object):
pass
if len(arg_text) == 0:
# The doc string sometimes contains the function signature
# this works for alot of C modules that are part of the
# this works for a lot of C modules that are part of the
# standard library
doc = func_obj.__doc__
if doc:

View File

@@ -191,7 +191,7 @@ class Completer(object):
pass
if len(arg_text) == 0:
# The doc string sometimes contains the function signature
# this works for alot of C modules that are part of the
# this works for a lot of C modules that are part of the
# standard library
doc = func_obj.__doc__
if doc:

View File

@@ -17,7 +17,7 @@
" and complete it.
"
" Version 16.0 (Dec 2015)
" - NF: If reseting the cache and table, procedure or view completion
" - NF: If resetting the cache and table, procedure or view completion
" had been used via dbext, have dbext delete or recreate the
" dictionary so that new objects are picked up for the
" next completion.
@@ -554,7 +554,7 @@ function! sqlcomplete#PreCacheSyntax(...)
let syn_group_arr = g:omni_sql_precache_syntax_groups
endif
" For each group specified in the list, precache all
" the sytnax items.
" the syntax items.
if !empty(syn_group_arr)
for group_name in syn_group_arr
let syn_items = extend( syn_items, s:SQLCGetSyntaxList(group_name) )
@@ -577,7 +577,7 @@ function! sqlcomplete#ResetCacheSyntax(...)
let syn_group_arr = g:omni_sql_precache_syntax_groups
endif
" For each group specified in the list, precache all
" the sytnax items.
" the syntax items.
if !empty(syn_group_arr)
for group_name in syn_group_arr
let list_idx = index(s:syn_list, group_name, 0, &ignorecase)
@@ -617,7 +617,7 @@ function! sqlcomplete#DrillIntoTable()
else
" If the popup is not visible, simple perform the normal
" key behaviour.
" Must use exec since they key must be preceeded by "\"
" Must use exec since the key must be preceded by "\"
" or feedkeys will simply push each character of the string
" rather than the "key press".
exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_right.'", "n")'
@@ -634,7 +634,7 @@ function! sqlcomplete#DrillOutOfColumns()
else
" If the popup is not visible, simple perform the normal
" key behaviour.
" Must use exec since they key must be preceeded by "\"
" Must use exec since the key must be preceded by "\"
" or feedkeys will simply push each character of the string
" rather than the "key press".
exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_left.'", "n")'
@@ -843,7 +843,7 @@ function! s:SQLCGetColumns(table_name, list_type)
let curline = line(".")
let curcol = col(".")
" Do not let searchs wrap
" Do not let searches wrap
setlocal nowrapscan
" If . was entered, look at the word just before the .
" We are looking for something like this:
@@ -863,7 +863,7 @@ function! s:SQLCGetColumns(table_name, list_type)
" Search forward until one of the following:
" 1. Another select/update/delete statement
" 2. A ; at the end of a line (the delimiter)
" 3. The end of the file (incase no delimiter)
" 3. The end of the file (in case no delimiter)
" Yank the visually selected text into the "y register.
exec 'silent! normal! vl/\c\(\<select\>\|\<update\>\|\<delete\>\|;\s*$\|\%$\)'."\n".'"yy'

View File

@@ -778,7 +778,7 @@ fun! tar#Vimuntar(...)
elseif executable("gzip")
silent exe "!gzip -d ".shellescape(tartail)
else
echoerr "unable to decompress<".tartail."> on this sytem"
echoerr "unable to decompress<".tartail."> on this system"
if simplify(curdir) != simplify(tarhome)
" remove decompressed tarball, restore directory
" call Decho("delete(".tartail.".tar)")

View File

@@ -693,7 +693,7 @@ func! tohtml#GetUserSettings() "{{{
let user_settings = {}
" Define the correct option if the old option name exists and we haven't
" already defined the correct one. Maybe I'll put out a warnig message about
" already defined the correct one. Maybe I'll put out a warning message about
" this sometime and remove the old option entirely at some even later time,
" but for now just silently accept the old option.
if exists('g:use_xhtml') && !exists("g:html_use_xhtml")

View File

@@ -199,7 +199,7 @@ function! xmlcomplete#CompleteTags(findstart, base)
" 1. Events attributes
if context =~ '\s'
" If attr contains =\s*[\"'] we catched value of attribute
" If attr contains =\s*[\"'] we catch value of attribute
if attr =~ "=\s*[\"']" || attr =~ "=\s*$"
" Let do attribute specific completion
let attrname = matchstr(attr, '.*\ze\s*=')

View File

@@ -81,7 +81,7 @@ fun! zip#Browse(zipfile)
" sanity checks
if !exists("*fnameescape")
if &verbose > 1
echoerr "the zip plugin is not available (your vim doens't support fnameescape())"
echoerr "the zip plugin is not available (your vim doesn't support fnameescape())"
endif
return
endif

View File

@@ -12,6 +12,6 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
" NOTE: compiler must be runned with -vb to write whole source path, not only file
" NOTE: compiler must be run with -vb to write whole source path, not only file
" name.
CompilerSet errorformat=%f(%l\\,%c)\ %m

View File

@@ -18,7 +18,7 @@ endif
if exists('b:tex_ignore_makefile') || exists('g:tex_ignore_makefile') ||
\(!filereadable('Makefile') && !filereadable('makefile'))
" If buffer-local variable 'tex_flavor' exists, it defines TeX flavor,
" otherwize the same for global variable with same name, else it will be
" otherwise the same for global variable with same name, else it will be
" LaTeX
if exists("b:tex_flavor")
let current_compiler = b:tex_flavor

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 8.2. Last change: 2021 Aug 01
*autocmd.txt* For Vim version 8.2. Last change: 2021 Oct 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -366,6 +366,8 @@ Name triggered by ~
|InsertCharPre| when a character was typed in Insert mode, before
inserting it
|ModeChanged| after changing the mode
|TextChanged| after a change was made to the text in Normal mode
|TextChangedI| after a change was made to the text in Insert mode
when popup menu is not visible
@@ -706,7 +708,7 @@ EncodingChanged Fires off after the 'encoding' option has been
*FileAppendCmd*
FileAppendCmd Before appending to a file. Should do the
appending to the file. Use the '[ and ']
marks for the range of lines.|Cmd-event|
marks for the range of lines. |Cmd-event|
*FileAppendPost*
FileAppendPost After appending to a file.
*FileAppendPre*
@@ -834,7 +836,7 @@ FilterReadPre Before reading a file from a filter command.
*FilterWritePost*
FilterWritePost After writing a file for a filter command or
making a diff with an external diff (see
DiffUpdated for internal diff).
|DiffUpdated| for internal diff).
Vim checks the pattern against the name of
the current buffer as with FilterWritePre.
Not triggered when 'shelltemp' is off.
@@ -925,7 +927,22 @@ MenuPopup Just before showing the popup menu (under the
i Insert
c Command line
tl Terminal
*OptionSet*
*ModeChanged*
ModeChanged After changing the mode. The pattern is
matched against `'old_mode:new_mode'`, for
example match against `i:*` to simulate
|InsertLeave|.
The following values of |v:event| are set:
old_mode The mode before it changed.
new_mode The new mode as also returned
by |mode()|.
When ModeChanged is triggered, old_mode will
have the value of new_mode when the event was
last triggered.
Usage example to use relative line numbers
when entering Visual mode: >
:autocmd ModeChanged *:v set relativenumber
< *OptionSet*
OptionSet After setting an option. The pattern is
matched against the long option name.
|<amatch>| indicates what option has been set.
@@ -1178,9 +1195,9 @@ TextYankPost After text has been yanked or deleted in the
register, as a list of lines,
like with: >
getreg(r, 1, 1)
< regname Name of the |register| or
empty string for the unnamed
register.
< regname Name of the register or empty
string for the unnamed
register, see |registers|.
regtype Type of the register, see
|getregtype()|.
visual True if the operation is
@@ -1485,6 +1502,13 @@ Example: >
This prevents having the autocommands defined twice (e.g., after sourcing the
.vimrc file again).
*FileExplorer*
There is one group that is recognized by Vim: FileExplorer. If this group
exists Vim assumes that editing a directory is possible and will trigger a
plugin that lists the files in that directory. This is used by the |netrw|
plugin. This allows you to do: >
browse edit
==============================================================================
9. Executing autocommands *autocmd-execute*

View File

@@ -1184,9 +1184,6 @@ a register, a paste on a visual selected area will paste that single line on
each of the selected lines (thus replacing the blockwise selected region by a
block of the pasted line).
Use |zP|/|zp| to paste a blockwise yanked register without appending trailing
spaces.
*blockwise-register*
If you use a blockwise Visual mode command to get the text into the register,
the block of text will be inserted before ("P") or after ("p") the cursor
@@ -1197,6 +1194,9 @@ this happen. However, if the width of the block is not a multiple of a <Tab>
width and the text after the inserted block contains <Tab>s, that text may be
misaligned.
Use |zP|/|zp| to paste a blockwise yanked register without appending trailing
spaces.
Note that after a characterwise yank command, Vim leaves the cursor on the
first yanked character that is closest to the start of the buffer. This means
that "yl" doesn't move the cursor, but "yh" moves the cursor one character

View File

@@ -803,7 +803,7 @@ three lines: >
3:d<CR> is translated into: .,.+2d<CR>
<
Visual Mode and Range
Visual Mode and Range
*v_:*
{Visual}: Starts a command-line with the Visual selected lines as a
range. The code `:'<,'>` is used for this range, which makes

View File

@@ -351,8 +351,8 @@ $ DO 0x24 36 DOLLAR SIGN
þ th 0xfe 254 LATIN SMALL LETTER THORN (Icelandic)
ÿ y: 0xff 255 LATIN SMALL LETTER Y WITH DIAERESIS
If your Vim is compiled with |multibyte| support and you are using a multibyte
'encoding', Vim provides this enhanced set of additional digraphs:
If you are using a |multibyte| 'encoding', Vim provides this enhanced set of
additional digraphs:
*digraph-table-mbyte*
char digraph hex dec official name ~

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 8.2. Last change: 2021 Jul 25
*editing.txt* For Vim version 8.2. Last change: 2021 Oct 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1225,7 +1225,9 @@ If you want to always use ":confirm", set the 'confirm' option.
|:diffsplit|, |:diffpatch|, |:open|, |:pedit|,
|:redir|, |:source|, |:update|, |:visual|, |:vsplit|,
and |:qall| if 'confirm' is set.
{only in Win32, Athena, Motif, GTK and Mac GUI}
{only in Win32, Athena, Motif, GTK and Mac GUI, in
console `browse edit` works if the FileExplorer
autocommand group exists}
When ":browse" is not possible you get an error
message. If the |+browse| feature is missing or the
{command} doesn't support browsing, the {command} is
@@ -1327,26 +1329,26 @@ present in 'cpoptions' and "!" is not used in the command.
other tabs and for windows in the current tab that
have their own window-local directory.
*:tch* *:tchdir*
:tch[dir][!] Same as |:tcd|.
*:tcd-*
:tc[d][!] - Change to the previous current directory, before the
last ":tcd {path}" command.
*:tch* *:tchdir*
:tch[dir][!] Same as |:tcd|.
*:lc* *:lcd*
:lc[d][!] {path} Like |:cd|, but only set the current directory when
the cursor is in the current window. The current
directory for other windows is not changed, switching
to another window will stop using {path}.
*:lch* *:lchdir*
:lch[dir][!] Same as |:lcd|.
*:lcd-*
:lcd[!] - Change to the previous current directory, before the
last ":lcd {path}" command.
*:lch* *:lchdir*
:lch[dir][!] Same as |:lcd|.
*:pw* *:pwd* *E187*
:pw[d] Print the current directory name.
Also see |getcwd()|.
@@ -1373,14 +1375,14 @@ change anything for the current directory.
When a |:lcd| command has been used for a window, the specified directory
becomes the current directory for that window. Windows where the |:lcd|
command has not been used stick to the global or tab-local current directory.
When jumping to another window the current directory will become the last
When jumping to another window the current directory is changed to the last
specified local current directory. If none was specified, the global or
tab-local current directory is used.
When a |:tcd| command has been used for a tab page, the specified directory
becomes the current directory for the current tab page and the current window.
The current directory of other tab pages is not affected. When jumping to
another tab page, the current directory will become the last specified local
another tab page, the current directory is changed to the last specified local
directory for that tab page. If the current tab has no local current directory
the global current directory is used.
@@ -1674,6 +1676,11 @@ It is also possible that you modified the file yourself, from another edit
session or with another command (e.g., a filter command). Then you will know
which version of the file you want to keep.
The accuracy of the time check depends on the filesystem. On Unix it is
usually sub-second. With old file sytems and on MS-Windows it is normally one
second. Use has('nanotime') check if sub-second time stamp checks are
available.
There is one situation where you get the message while there is nothing wrong:
On a Win32 system on the day daylight saving time starts. There is something
in the Win32 libraries that confuses Vim about the hour time difference. The

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 8.2. Last change: 2021 Aug 16
*eval.txt* For Vim version 8.2. Last change: 2021 Oct 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -658,7 +658,7 @@ It is not necessary to use the "dict" attribute for a numbered function.
If you get an error for a numbered function, you can find out what it is with
a trick. Assuming the function is 42, the command is: >
:function {42}
:function g:42
Functions for Dictionaries ~
@@ -1417,7 +1417,7 @@ A string constant accepts these special characters:
\U.... same as \u but allows up to 8 hex numbers.
\b backspace <BS>
\e escape <Esc>
\f formfeed <FF>
\f formfeed 0x0C
\n newline <NL>
\r return <CR>
\t tab <Tab>
@@ -1426,7 +1426,7 @@ A string constant accepts these special characters:
\<xxx> Special key named "xxx". e.g. "\<C-W>" for CTRL-W. This is for use
in mappings, the 0x80 byte is escaped.
To use the double quote character it must be escaped: "<M-\">".
Don't use <Char-xxxx> to get a utf-8 character, use \uxxxx as
Don't use <Char-xxxx> to get a UTF-8 character, use \uxxxx as
mentioned above.
\<*xxx> Like \<xxx> but prepends a modifier instead of including it in the
character. E.g. "\<C-w>" is one character 0x17 while "\<*C-w>" is four
@@ -2469,6 +2469,7 @@ atan2({expr1}, {expr2}) Float arc tangent of {expr1} / {expr2}
balloon_gettext() String current text in the balloon
balloon_show({expr}) none show {expr} inside the balloon
balloon_split({msg}) List split {msg} as used for a balloon
blob2list({blob}) List convert {blob} into a list of numbers
browse({save}, {title}, {initdir}, {default})
String put up a file requester
browsedir({title}, {initdir}) String put up a directory requester
@@ -2515,7 +2516,7 @@ ch_setoptions({handle}, {options})
ch_status({handle} [, {options}])
String status of channel {handle}
changenr() Number current change number
char2nr({expr} [, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
char2nr({expr} [, {utf8}]) Number ASCII/UTF-8 value of first char in {expr}
charclass({string}) Number character class of {string}
charcol({expr}) Number column number of cursor or mark
charidx({string}, {idx} [, {countcc}])
@@ -2548,7 +2549,7 @@ deletebufline({buf}, {first} [, {last}])
did_filetype() Number |TRUE| if FileType autocmd event used
diff_filler({lnum}) Number diff filler lines about {lnum}
diff_hlID({lnum}, {col}) Number diff highlighting at {lnum}/{col}
digraph_get({chars}) String get the digraph of {chars}
digraph_get({chars}) String get the |digraph| of {chars}
digraph_getlist([{listall}]) List get all |digraph|s
digraph_set({chars}, {digraph}) Boolean register |digraph|
digraph_setlist({digraphlist}) Boolean register multiple |digraph|s
@@ -2721,7 +2722,8 @@ libcallnr({lib}, {func}, {arg}) Number idem, but return a Number
line({expr} [, {winid}]) Number line nr of cursor, last line or mark
line2byte({lnum}) Number byte count of line {lnum}
lispindent({lnum}) Number Lisp indent for line {lnum}
list2str({list} [, {utf8}]) String turn numbers in {list} into a String
list2blob({list}) Blob turn {list} of numbers into a Blob
list2str({list} [, {utf8}]) String turn {list} of numbers into a String
listener_add({callback} [, {buf}])
Number add a callback to listen to changes
listener_flush([{buf}]) none invoke listener callbacks
@@ -2767,7 +2769,7 @@ mkdir({name} [, {path} [, {prot}]])
mode([expr]) String current editing mode
mzeval({expr}) any evaluate |MzScheme| expression
nextnonblank({lnum}) Number line nr of non-blank line >= {lnum}
nr2char({expr} [, {utf8}]) String single char with ASCII/UTF8 value {expr}
nr2char({expr} [, {utf8}]) String single char with ASCII/UTF-8 value {expr}
or({expr}, {expr}) Number bitwise OR
pathshorten({expr} [, {len}]) String shorten directory names in a path
perleval({expr}) any evaluate |Perl| expression
@@ -2785,7 +2787,7 @@ popup_getoptions({id}) Dict get options of popup window {id}
popup_getpos({id}) Dict get position of popup window {id}
popup_hide({id}) none hide popup menu {id}
popup_list() List get a list of window IDs of all popups
popup_locate({row}, {col}) Number get window ID of popup at position
popup_locate({row}, {col}) Number get window ID of popup at position
popup_menu({what}, {options}) Number create a popup window used as a menu
popup_move({id}, {options}) none set position of popup window {id}
popup_notification({what}, {options})
@@ -2897,7 +2899,7 @@ setenv({name}, {val}) none set environment variable
setfperm({fname}, {mode}) Number set {fname} file permissions to {mode}
setline({lnum}, {line}) Number set line {lnum} to {line}
setloclist({nr}, {list} [, {action}])
Number modify location list using {list}
Number modify location list using {list}
setloclist({nr}, {list}, {action}, {what})
Number modify specific location list props
setmatches({list} [, {win}]) Number restore a list of matches
@@ -2957,7 +2959,7 @@ srand([{expr}]) List get seed for |rand()|
state([{what}]) String current state of Vim
str2float({expr} [, {quoted}]) Float convert String to Float
str2list({expr} [, {utf8}]) List convert each character of {expr} to
ASCII/UTF8 value
ASCII/UTF-8 value
str2nr({expr} [, {base} [, {quoted}]])
Number convert String to Number
strcharlen({expr}) Number character length of the String {expr}
@@ -3355,6 +3357,17 @@ balloon_split({msg}) *balloon_split()*
< {only available when compiled with the |+balloon_eval_term|
feature}
blob2list({blob}) *blob2list()*
Return a List containing the number value of each byte in Blob
{blob}. Examples: >
blob2list(0z0102.0304) returns [1, 2, 3, 4]
blob2list(0z) returns []
< Returns an empty List on error. |list2blob()| does the
opposite.
Can also be used as a |method|: >
GetBlob()->blob2list()
*browse()*
browse({save}, {title}, {initdir}, {default})
Put up a file requester. This only works when "has("browse")"
@@ -3643,7 +3656,7 @@ char2nr({string} [, {utf8}]) *char2nr()*
Example for "utf-8": >
char2nr("á") returns 225
char2nr("á"[0]) returns 195
< With {utf8} set to TRUE, always treat as utf-8 characters.
< When {utf8} is TRUE, always treat as UTF-8 characters.
A combining character is a separate character.
|nr2char()| does the opposite.
To turn a string into a list of character numbers: >
@@ -3870,6 +3883,8 @@ complete_info([{what}]) *complete_info()*
"" Not in completion mode
"keyword" Keyword completion |i_CTRL-X_CTRL-N|
"ctrl_x" Just pressed CTRL-X |i_CTRL-X|
"scroll" Scrolling with |i_CTRL-X_CTRL-E| or
|i_CTRL-X_CTRL-Y|
"whole_line" Whole lines |i_CTRL-X_CTRL-L|
"files" File names |i_CTRL-X_CTRL-F|
"tags" Tags |i_CTRL-X_CTRL-]|
@@ -4268,7 +4283,7 @@ digraph_getlist([{listall}]) *digraph_getlist()*
digraph_set({chars}, {digraph}) *digraph_set()* *E1205*
Add digraph {chars} to the list. {chars} must be a string
with two characters. {digraph} is a string with one utf-8
with two characters. {digraph} is a string with one UTF-8
encoded character. Be careful, composing characters are NOT
ignored. This function is similar to |:digraphs| command, but
useful to add digraphs start with a white space.
@@ -4864,14 +4879,17 @@ finddir({name} [, {path} [, {count}]]) *finddir()*
Find directory {name} in {path}. Supports both downwards and
upwards recursive directory searches. See |file-searching|
for the syntax of {path}.
Returns the path of the first found match. When the found
directory is below the current directory a relative path is
returned. Otherwise a full path is returned.
If {path} is omitted or empty then 'path' is used.
If the optional {count} is given, find {count}'s occurrence of
{name} in {path} instead of the first one.
When {count} is negative return all the matches in a |List|.
This is quite similar to the ex-command |:find|.
This is quite similar to the ex-command `:find`.
{only available when compiled with the |+file_in_path|
feature}
@@ -5094,7 +5112,7 @@ fullcommand({name}) *fullcommand()*
The string argument {name} may start with a `:` and can
include a [range], these are skipped and not returned.
Returns an empty string if a command doesn't exist or if it's
ambiguous (for user-defined functions).
ambiguous (for user-defined commands).
For example `fullcommand('s')`, `fullcommand('sub')`,
`fullcommand(':%substitute')` all return "substitute".
@@ -6124,6 +6142,7 @@ getreg([{regname} [, 1 [, {list}]]]) *getreg()*
(see |NL-used-for-Nul|).
When the register was not set an empty list is returned.
If {regname} is "", the unnamed register '"' is used.
If {regname} is not specified, |v:register| is used.
In |Vim9-script| {regname} must be one character.
@@ -6151,6 +6170,7 @@ getreginfo([{regname}]) *getreginfo()*
The {regname} argument is a string. If {regname} is invalid
or not set, an empty Dictionary will be returned.
If {regname} is "" or "@", the unnamed register '"' is used.
If {regname} is not specified, |v:register| is used.
The returned Dictionary can be passed to |setreg()|.
In |Vim9-script| {regname} must be one character.
@@ -6166,8 +6186,9 @@ getregtype([{regname}]) *getregtype()*
"<CTRL-V>{width}" for |blockwise-visual| text
"" for an empty or unknown register
<CTRL-V> is one character with value 0x16.
The {regname} argument is a string. If {regname} is not
specified, |v:register| is used.
The {regname} argument is a string. If {regname} is "", the
unnamed register '"' is used. If {regname} is not specified,
|v:register| is used.
In |Vim9-script| {regname} must be one character.
Can also be used as a |method|: >
@@ -7205,6 +7226,19 @@ lispindent({lnum}) *lispindent()*
Can also be used as a |method|: >
GetLnum()->lispindent()
list2blob({list}) *list2blob()*
Return a Blob concatenating all the number values in {list}.
Examples: >
list2blob([1, 2, 3, 4]) returns 0z01020304
list2blob([]) returns 0z
< Returns an empty Blob on error. If one of the numbers is
negative or more than 255 error *E1239* is given.
|blob2list()| does the opposite.
Can also be used as a |method|: >
GetList()->list2blob()
list2str({list} [, {utf8}]) *list2str()*
Convert each number in {list} to a character string can
concatenate them all. Examples: >
@@ -7215,8 +7249,8 @@ list2str({list} [, {utf8}]) *list2str()*
< |str2list()| does the opposite.
When {utf8} is omitted or zero, the current 'encoding' is used.
With {utf8} is 1, always return utf-8 characters.
With utf-8 composing characters work as expected: >
When {utf8} is TRUE, always return UTF-8 characters.
With UTF-8 composing characters work as expected: >
list2str([97, 769]) returns "á"
<
Can also be used as a |method|: >
@@ -7458,7 +7492,7 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
"lhs" The {lhs} of the mapping as it would be typed
"lhsraw" The {lhs} of the mapping as raw bytes
"lhsrawalt" The {lhs} of the mapping as raw bytes, alternate
form, only present when it differs from "lhsraw"
form, only present when it differs from "lhsraw"
"rhs" The {rhs} of the mapping as typed.
"silent" 1 for a |:map-silent| mapping, else 0.
"noremap" 1 if the {rhs} of the mapping is not remappable.
@@ -7906,7 +7940,8 @@ max({expr}) Return the maximum value of all items in {expr}. Example: >
menu_info({name} [, {mode}]) *menu_info()*
Return information about the specified menu {name} in
mode {mode}. The menu name should be specified without the
shortcut character ('&').
shortcut character ('&'). If {name} is "", then the top-level
menu names are returned.
{mode} can be one of these strings:
"n" Normal
@@ -7957,6 +7992,20 @@ menu_info({name} [, {mode}]) *menu_info()*
Examples: >
:echo menu_info('Edit.Cut')
:echo menu_info('File.Save', 'n')
" Display the entire menu hierarchy in a buffer
func ShowMenu(name, pfx)
let m = menu_info(a:name)
call append(line('$'), a:pfx .. m.display)
for child in m->get('submenus', [])
call ShowMenu(a:name .. '.' .. escape(child, '.'),
\ a:pfx .. ' ')
endfor
endfunc
new
for topmenu in menu_info('').submenus
call ShowMenu(topmenu, '')
endfor
<
Can also be used as a |method|: >
GetMenuName()->menu_info('v')
@@ -8014,7 +8063,7 @@ mode([expr]) Return a string that indicates the current mode.
returned, otherwise only the first letter is returned.
Also see |state()|.
n Normal, Terminal-Normal
n Normal
no Operator-pending
nov Operator-pending (forced characterwise |o_v|)
noV Operator-pending (forced linewise |o_V|)
@@ -8023,23 +8072,25 @@ mode([expr]) Return a string that indicates the current mode.
niI Normal using |i_CTRL-O| in |Insert-mode|
niR Normal using |i_CTRL-O| in |Replace-mode|
niV Normal using |i_CTRL-O| in |Virtual-Replace-mode|
nt Terminal-Normal (insert goes to Terminal-Job mode)
v Visual by character
vs Visual by character using |v_CTRL-O| in Select mode
V Visual by line
Vs Visual by line using |v_CTRL-O| in Select mode
CTRL-V Visual blockwise
CTRL-Vs Visual blockwise using |v_CTRL-O| in Select mode
s Select by character
S Select by line
CTRL-S Select blockwise
vs Visual by character using |v_CTRL-O| from
Select mode
Vs Visual by line using |v_CTRL-O| from Select mode
CTRL-Vs Visual blockwise using |v_CTRL-O| from Select mode
i Insert
ic Insert mode completion |compl-generic|
ix Insert mode |i_CTRL-X| completion
R Replace |R|
Rc Replace mode completion |compl-generic|
Rv Virtual Replace |gR|
Rx Replace mode |i_CTRL-X| completion
Rv Virtual Replace |gR|
Rvc Virtual Replace mode completion |compl-generic|
Rvx Virtual Replace mode |i_CTRL-X| completion
c Command-line editing
cv Vim Ex mode |gQ|
ce Normal Ex mode |Q|
@@ -8048,6 +8099,7 @@ mode([expr]) Return a string that indicates the current mode.
r? A |:confirm| query of some sort
! Shell or external command is executing
t Terminal-Job mode: keys go to the job
This is useful in the 'statusline' option or when used
with |remote_expr()| In most other places it always returns
"c" or "n".
@@ -8102,7 +8154,7 @@ nr2char({expr} [, {utf8}]) *nr2char()*
< When {utf8} is omitted or zero, the current 'encoding' is used.
Example for "utf-8": >
nr2char(300) returns I with bow character
< With {utf8} set to 1, always return utf-8 characters.
< When {utf8} is TRUE, always return UTF-8 characters.
Note that a NUL character in the file is specified with
nr2char(10), because NULs are represented with newline
characters. nr2char(0) is a real NUL and terminates the
@@ -9583,7 +9635,7 @@ setcellwidths({list}) *setcellwidths()*
tells Vim how wide characters are, counted in screen cells.
This overrides 'ambiwidth'. Example: >
setcellwidths([[0xad, 0xad, 1],
\ [0x2194, 0x2199, 2]])
\ [0x2194, 0x2199, 2]])
< *E1109* *E1110* *E1111* *E1112* *E1113*
The {list} argument is a list of lists with each three
@@ -9596,6 +9648,9 @@ setcellwidths({list}) *setcellwidths()*
range overlaps with another.
Only characters with value 0x100 and higher can be used.
If the new value causes 'fillchars' or 'listchars' to become
invalid it is rejected and an error is given.
To clear the overrides pass an empty list: >
setcellwidths([]);
< You can use the script $VIMRUNTIME/tools/emoji_list.vim to see
@@ -10497,7 +10552,7 @@ state([{what}]) *state()*
w blocked on waiting, e.g. ch_evalexpr(), ch_read() and
ch_readraw() when reading json
S not triggering SafeState or SafeStateAgain, e.g. after
|f| or a count
|f| or a count
c callback invoked, including timer (repeats for
recursiveness up to "ccc")
s screen has scrolled for messages
@@ -10532,8 +10587,8 @@ str2list({string} [, {utf8}]) *str2list()*
< |list2str()| does the opposite.
When {utf8} is omitted or zero, the current 'encoding' is used.
With {utf8} set to 1, always treat the String as utf-8
characters. With utf-8 composing characters are handled
When {utf8} is TRUE, always treat the String as UTF-8
characters. With UTF-8 composing characters are handled
properly: >
str2list("á") returns [97, 769]
@@ -12049,6 +12104,7 @@ There are three types of features:
1. Features that are only supported when they have been enabled when Vim
was compiled |+feature-list|. Example: >
:if has("cindent")
< *gui_running*
2. Features that are only supported when certain conditions have been met.
Example: >
:if has("gui_running")
@@ -12183,6 +12239,7 @@ multi_byte_encoding 'encoding' is set to a multibyte encoding.
multi_byte_ime Compiled with support for IME input method.
multi_lang Compiled with support for multiple languages.
mzscheme Compiled with MzScheme interface |mzscheme|.
nanotime Compiled with sub-second time stamp checks.
netbeans_enabled Compiled with support for |netbeans| and connected.
netbeans_intg Compiled with support for |netbeans|.
num64 Compiled with 64-bit |Number| support.
@@ -13067,7 +13124,7 @@ text...
literal then the items also cannot be changed: >
const ll = [1, 2, 3]
let ll[1] = 5 " Error!
< Nested references are not locked: >
< Nested references are not locked: >
let lvar = ['a']
const lconst = [0, lvar]
let lconst[0] = 2 " Error!
@@ -13121,8 +13178,8 @@ text...
Example with [depth] 0: >
let mylist = [1, 2, 3]
lockvar 0 mylist
let mylist[0] = 77 " OK
call add(mylist, 4] " OK
let mylist[0] = 77 " OK
call add(mylist, 4] " OK
let mylist = [7, 8, 9] " Error!
< *E743*
For unlimited depth use [!] and omit [depth].

View File

@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 8.2. Last change: 2021 Mar 11
*filetype.txt* For Vim version 8.2. Last change: 2021 Sep 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -545,6 +545,14 @@ One command, :DiffGitCached, is provided to show a diff of the current commit
in the preview window. It is equivalent to calling "git diff --cached" plus
any arguments given to the command.
GPROF *ft-gprof-plugin*
The gprof filetype plugin defines a mapping <C-]> to jump from a function
entry in the gprof flat profile or from a function entry in the call graph
to the details of that function in the call graph.
The mapping can be disabled with: >
let g:no_gprof_maps = 1
MAIL *ft-mail-plugin*

View File

@@ -88,6 +88,7 @@ Tuning Vim ~
|usr_43.txt| Using filetypes
|usr_44.txt| Your own syntax highlighted
|usr_45.txt| Select your language
|usr_46.txt| Write plugins using Vim9 script
Making Vim Run ~
|usr_90.txt| Installing Vim

View File

@@ -227,14 +227,14 @@ Vim evaluation and command execution, and others.
*lua-vim-variables*
The Vim editor global dictionaries |g:| |w:| |b:| |t:| |v:| can be accessed
from Lua conveniently and idiomatically by referencing the `vim.*` Lua tables
described below. In this way you can easily read and modify global Vimscript
described below. In this way you can easily read and modify global Vim script
variables from Lua.
Example: >
vim.g.foo = 5 -- Set the g:foo Vimscript variable.
print(vim.g.foo) -- Get and print the g:foo Vimscript variable.
vim.g.foo = nil -- Delete (:unlet) the Vimscript variable.
vim.g.foo = 5 -- Set the g:foo Vim script variable.
print(vim.g.foo) -- Get and print the g:foo Vim script variable.
vim.g.foo = nil -- Delete (:unlet) the Vim script variable.
vim.g *vim.g*
Global (|g:|) editor variables.

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 8.2. Last change: 2021 Aug 27
*index.txt* For Vim version 8.2. Last change: 2021 Aug 31
VIM REFERENCE MANUAL by Bram Moolenaar

View File

@@ -1,4 +1,4 @@
*insert.txt* For Vim version 8.2. Last change: 2021 Aug 27
*insert.txt* For Vim version 8.2. Last change: 2021 Aug 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -824,6 +824,9 @@ CTRL-X CTRL-K Search the files given with the 'dictionary' option
CTRL-P Search backwards for next matching keyword. This
keyword replaces the previous matching keyword.
Completing words in 'thesaurus' *compl-thesaurus*
*i_CTRL-X_CTRL-T*
CTRL-X CTRL-T Works as CTRL-X CTRL-K, but in a special way. It uses
the 'thesaurus' option instead of 'dictionary'. If a
@@ -832,16 +835,6 @@ CTRL-X CTRL-T Works as CTRL-X CTRL-K, but in a special way. It uses
matches, even though they don't complete the word.
Thus a word can be completely replaced.
For an example, imagine the 'thesaurus' file has a
line like this: >
angry furious mad enraged
< Placing the cursor after the letters "ang" and typing
CTRL-X CTRL-T would complete the word "angry";
subsequent presses would change the word to "furious",
"mad" etc.
Other uses include translation between two languages,
or grouping API functions by keyword.
CTRL-T or
CTRL-N Search forward for next matching keyword. This
keyword replaces the previous matching keyword.
@@ -849,6 +842,61 @@ CTRL-X CTRL-T Works as CTRL-X CTRL-K, but in a special way. It uses
CTRL-P Search backwards for next matching keyword. This
keyword replaces the previous matching keyword.
In the file used by the 'thesaurus' option each line in the file should
contain words with similar meaning, separated by non-keyword characters (white
space is preferred). Maximum line length is 510 bytes.
For an example, imagine the 'thesaurus' file has a line like this: >
angry furious mad enraged
<Placing the cursor after the letters "ang" and typing CTRL-X CTRL-T would
complete the word "angry"; subsequent presses would change the word to
"furious", "mad" etc.
Other uses include translation between two languages, or grouping API
functions by keyword.
An English word list was added to this github issue:
https://github.com/vim/vim/issues/629#issuecomment-443293282
Unpack thesaurus_pkg.zip, put the thesaurus.txt file somewhere, e.g.
~/.vim/thesaurus/english.txt, and the 'thesaurus' option to this file name.
Completing keywords with 'thesaurusfunc' *compl-thesaurusfunc*
If the 'thesaurusfunc' option is set, then the user specified function is
invoked to get the list of completion matches and the 'thesaurus' option is
not used. See |complete-functions| for an explanation of how the function is
invoked and what it should return.
Here is an example that uses the "aiksaurus" command (provided by Magnus
Groß): >
func Thesaur(findstart, base)
if a:findstart
let line = getline('.')
let start = col('.') - 1
while start > 0 && line[start - 1] =~ '\a'
let start -= 1
endwhile
return start
else
let res = []
let h = ''
for l in split(system('aiksaurus '.shellescape(a:base)), '\n')
if l[:3] == '=== '
let h = substitute(l[4:], ' =*$', '', '')
elseif l[0] =~ '\a'
call extend(res, map(split(l, ', '), {_, val -> {'word': val, 'menu': '('.h.')'}}))
endif
endfor
return res
endif
endfunc
if has('patch-8.2.3520')
set thesaurusfunc=Thesaur
endif
Completing keywords in the current and included files *compl-keyword*
@@ -1052,7 +1100,7 @@ CTRL-X CTRL-Z Stop completion without changing the text.
FUNCTIONS FOR FINDING COMPLETIONS *complete-functions*
This applies to 'completefunc' and 'omnifunc'.
This applies to 'completefunc', 'thesaurusfunc' and 'omnifunc'.
The function is called in two different ways:
- First the function is called to find the start of the text to be completed.

View File

@@ -1,4 +1,4 @@
*intro.txt* For Vim version 8.2. Last change: 2020 Dec 29
*intro.txt* For Vim version 8.2. Last change: 2021 Sep 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -421,7 +421,6 @@ notation meaning equivalent decimal value(s) ~
<Tab> tab CTRL-I 9 *tab* *Tab*
*linefeed*
<NL> linefeed CTRL-J 10 (used for <Nul>)
<FF> formfeed CTRL-L 12 *formfeed*
<CR> carriage return CTRL-M 13 *carriage-return*
<Return> same as <CR> *<Return>*
<Enter> same as <CR> *<Enter>*

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 8.2. Last change: 2021 Aug 05
*map.txt* For Vim version 8.2. Last change: 2021 Sep 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1368,6 +1368,10 @@ See |:verbose-cmd| for more information.
:delc[ommand] {cmd} *:delc* *:delcommand* *E184*
Delete the user-defined command {cmd}.
:delc[ommand] -buffer {cmd} *E1237*
Delete the user-defined command {cmd} that was defined
for the current buffer.
:comc[lear] *:comc* *:comclear*
Delete all user-defined commands.

View File

@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 8.2. Last change: 2021 Apr 05
*mbyte.txt* For Vim version 8.2. Last change: 2021 Oct 04
VIM REFERENCE MANUAL by Bram Moolenaar et al.
@@ -1132,7 +1132,7 @@ This file explains what characters are available in UTF-8 and CP1255 encodings,
and what the keymaps are to get those characters:
glyph encoding keymap ~
Char utf-8 cp1255 hebrew hebrewp name ~
Char UTF-8 cp1255 hebrew hebrewp name ~
א 0x5d0 0xe0 t a 'alef
ב 0x5d1 0xe1 c b bet
ג 0x5d2 0xe2 d g gimel
@@ -1185,11 +1185,11 @@ Vowel marks and special punctuation:
ױ 0x5f1 0xd5 VY VY vav-yod
ײ 0x5f2 0xd6 YY YY yod-yod
The following are only available in utf-8
The following are only available in UTF-8
Cantillation marks:
glyph
Char utf-8 hebrew name
Char UTF-8 hebrew name
ב֑ 0x591 C: etnahta
ב֒ 0x592 Cs segol
ב֓ 0x593 CS shalshelet
@@ -1300,7 +1300,7 @@ ASCII. On MS-Windows UTF-16 is also used (previously UCS-2), which uses
internally.
Vim has comprehensive UTF-8 support. It works well in:
- xterm with utf-8 support enabled
- xterm with UTF-8 support enabled
- Athena, Motif and GTK GUI
- MS-Windows GUI
- several other platforms
@@ -1313,13 +1313,13 @@ is no longer relevant in the GTK+ 2 GUI.
*bom-bytes*
When reading a file a BOM (Byte Order Mark) can be used to recognize the
Unicode encoding:
EF BB BF utf-8
FE FF utf-16 big endian
FF FE utf-16 little endian
00 00 FE FF utf-32 big endian
FF FE 00 00 utf-32 little endian
EF BB BF UTF-8
FE FF UTF-16 big endian
FF FE UTF-16 little endian
00 00 FE FF UTF-32 big endian
FF FE 00 00 UTF-32 little endian
Utf-8 is the recommended encoding. Note that it's difficult to tell utf-16
UTF-8 is the recommended encoding. Note that it's difficult to tell utf-16
and utf-32 apart. Utf-16 is often used on MS-Windows, utf-32 is not
widespread as file format.
@@ -1365,8 +1365,8 @@ Useful commands:
STARTING VIM
If your current locale is in an utf-8 encoding, Vim will automatically start
in utf-8 mode.
If your current locale is in an UTF-8 encoding, Vim will automatically start
in UTF-8 mode.
If you are using another locale: >
@@ -1399,10 +1399,10 @@ Motif. Use the ":hi Menu font={fontname}" command for this. |:highlight|
TYPING UTF-8 *utf-8-typing*
If you are using X-Windows, you should find an input method that supports
utf-8.
UTF-8.
If your system does not provide support for typing utf-8, you can use the
'keymap' feature. This allows writing a keymap file, which defines a utf-8
If your system does not provide support for typing UTF-8, you can use the
'keymap' feature. This allows writing a keymap file, which defines a UTF-8
character as a sequence of ASCII characters. See |mbyte-keymap|.
Another method is to set the current locale to the language you want to use

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 8.2. Last change: 2021 Aug 28
*options.txt* For Vim version 8.2. Last change: 2021 Sep 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2410,7 +2410,7 @@ A jump table for the options with a short description can be found at |Q_op|.
xchacha20 XChaCha20 Cipher with Poly1305 Message Authentication
Code. Medium strong till strong encryption.
Encryption is provided by the libsodium library, it
requires Vim to be built with |+sodium|
requires Vim to be built with |+sodium|.
It adds a seed and a message authentication code (MAC)
to the file. This needs at least a Vim 8.2.3022 to
read the encrypted file.
@@ -3610,8 +3610,8 @@ A jump table for the options with a short description can be found at |Q_op|.
systems without an fsync() implementation, this variable is always
off.
Also see 'swapsync' for controlling fsync() on swap files.
'fsync' also applies to |writefile()|, unless a flag is used to
overrule it.
'fsync' also applies to |writefile()| (unless a flag is used to
overrule it) and when writing undo files (see |undo-persistence|).
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
@@ -3790,6 +3790,18 @@ A jump table for the options with a short description can be found at |Q_op|.
screen. Set it to a negative value to allow windows taller than the
screen.
*'guiligatures'* *'gli'* *E1243*
'guiligatures' 'gli' string (default "")
global
{only for GTK GUI}
List of ASCII characters that, when combined together, can create more
complex shapes. Each character must be a printable ASCII character
with a value in the 32-127 range.
Example: >
:set guiligatures=!\"#$%&()*+-./:<=>?@[]^_{\|~
< Changing this option updates screen output immediately. Set it to an
empty string to disable ligatures.
*'guioptions'* *'go'*
'guioptions' 'go' string (default "egmrLtT" (MS-Windows,
"t" is removed in |defaults.vim|),
@@ -4939,16 +4951,25 @@ A jump table for the options with a short description can be found at |Q_op|.
*lcs-space*
space:c Character to show for a space. When omitted, spaces
are left blank.
*lcs-multispace*
multispace:c...
One or more characters to use cyclically to show for
multiple consecutive spaces. Overrides the "space"
setting, except for single spaces. When omitted, the
"space" setting is used. For example,
`:set listchars=multispace:---+` shows ten consecutive
spaces as:
---+---+--
*lcs-lead*
lead:c Character to show for leading spaces. When omitted,
leading spaces are blank. Overrides the "space"
setting for leading spaces. You can combine it with
"tab:", for example: >
leading spaces are blank. Overrides the "space" and
"multispace" settings for leading spaces. You can
combine it with "tab:", for example: >
:set listchars+=tab:>-,lead:.
< *lcs-trail*
trail:c Character to show for trailing spaces. When omitted,
trailing spaces are blank. Overrides the "space"
setting for trailing spaces.
trailing spaces are blank. Overrides the "space" and
"multispace" settings for trailing spaces.
*lcs-extends*
extends:c Character to show in the last column, when 'wrap' is
off and the line continues beyond the right of the
@@ -4969,12 +4990,20 @@ A jump table for the options with a short description can be found at |Q_op|.
be used when 'encoding' is "utf-8", otherwise only printable
characters are allowed. All characters must be single width.
Each character can be specified as hex: >
set listchars=eol:\\x24
set listchars=eol:\\u21b5
set listchars=eol:\\U000021b5
< Note that a double backslash is used. The number of hex characters
must be exactly 2 for \\x, 4 for \\u and 8 for \\U.
Examples: >
:set lcs=tab:>-,trail:-
:set lcs=tab:>-,eol:<,nbsp:%
:set lcs=extends:>,precedes:<
< The "NonText" highlighting will be used for "eol", "extends" and
"precedes". "SpecialKey" for "nbsp", "space", "tab" and "trail".
"precedes". "SpecialKey" will be used for "tab", "nbsp", "space",
"multispace", "lead" and "trail".
|hl-NonText| |hl-SpecialKey|
*'lpl'* *'nolpl'* *'loadplugins'* *'noloadplugins'*
@@ -7176,6 +7205,8 @@ A jump table for the options with a short description can be found at |Q_op|.
If the name "cjk" is included East Asian characters are excluded from
spell checking. This is useful when editing text that also has Asian
words.
Note that the "medical" dictionary does not exist, it is just an
example of a longer name.
*E757*
As a special case the name of a .spl file can be given as-is. The
first "_xx" in the name is removed and used as the region name
@@ -7394,13 +7425,13 @@ A jump table for the options with a short description can be found at |Q_op|.
return value of expr contains % items they will get expanded.
The expression can contain the } character, the end of
expression is denoted by %}.
The For example: >
For example: >
func! Stl_filename() abort
return "%t"
endfunc
< `stl=%{Stl_filename()}` results in `"%t"`
`stl=%{%Stl_filename()%}` results in `"Name of current file"`
} - End of `{%` expression
%} - End of `{%` expression
( - Start of item group. Can be used for setting the width and
alignment of a section. Must be followed by %) somewhere.
) - End of item group. No width fields allowed.
@@ -7996,25 +8027,30 @@ A jump table for the options with a short description can be found at |Q_op|.
'thesaurus' 'tsr' string (default "")
global or local to buffer |global-local|
List of file names, separated by commas, that are used to lookup words
for thesaurus completion commands |i_CTRL-X_CTRL-T|.
for thesaurus completion commands |i_CTRL-X_CTRL-T|. See
|compl-thesaurus|.
Each line in the file should contain words with similar meaning,
separated by non-keyword characters (white space is preferred).
Maximum line length is 510 bytes.
An English word list was added to this github issue:
https://github.com/vim/vim/issues/629#issuecomment-443293282
Unpack thesaurus_pkg.zip, put the thesaurus.txt file somewhere, e.g.
~/.vim/thesaurus/english.txt, and the 'thesaurus' option to this file
name.
This option is not used if 'thesaurusfunc' is set, either for the
buffer or globally.
To include a comma in a file name precede it with a backslash. Spaces
after a comma are ignored, otherwise spaces are included in the file
name. See |option-backslash| about using backslashes.
The use of |:set+=| and |:set-=| is preferred when adding or removing
directories from the list. This avoids problems when a future version
uses another default.
Backticks cannot be used in this option for security reasons.
name. See |option-backslash| about using backslashes. The use of
|:set+=| and |:set-=| is preferred when adding or removing directories
from the list. This avoids problems when a future version uses
another default. Backticks cannot be used in this option for security
reasons.
*'thesaurusfunc'* *tsrfu'*
'thesaurusfunc' 'tsrfu' string (default: empty)
global or local to buffer |global-local|
{not available when compiled without the |+eval|
feature}
This option specifies a function to be used for thesaurus completion
with CTRL-X CTRL-T. |i_CTRL-X_CTRL-T| See |compl-thesaurusfunc|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'tildeop'* *'top'* *'notildeop'* *'notop'*
'tildeop' 'top' boolean (default off)
@@ -8769,8 +8805,9 @@ A jump table for the options with a short description can be found at |Q_op|.
More info here: |cmdline-completion|.
The character is not recognized when used inside a macro. See
'wildcharm' for that.
Some keys will not work, such as CTRL-C, <CR> and Enter.
Although 'wc' is a number option, you can set it to a special key: >
:set wc=<Esc>
:set wc=<Tab>
< NOTE: This option is set to the Vi default value when 'compatible' is
set and to the Vim default value when 'compatible' is reset.

View File

@@ -932,7 +932,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
\%.l Matches at the cursor line.
\%<.l Matches above the cursor line.
\%>.l Matches below the cursor line.
These three can be used to match specific lines in a buffer. The "23"
These six can be used to match specific lines in a buffer. The "23"
can be any line number. The first line is 1.
WARNING: When inserting or deleting lines Vim does not automatically
update the matches. This means Syntax highlighting quickly becomes
@@ -953,16 +953,15 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
\%.c Matches at the cursor column.
\%<.c Matches before the cursor column.
\%>.c Matches after the cursor column.
These three can be used to match specific columns in a buffer or
string. The "23" can be any column number. The first column is 1.
Actually, the column is the byte number (thus it's not exactly right
for multibyte characters).
These six can be used to match specific columns in a buffer or string.
The "23" can be any column number. The first column is 1. Actually,
the column is the byte number (thus it's not exactly right for
multibyte characters).
WARNING: When inserting or deleting text Vim does not automatically
update the matches. This means Syntax highlighting quickly becomes
wrong. Also when referring to the cursor position (".") and
the cursor moves the display isn't updated for this change. An update
is done when using the |CTRL-L| command (the whole screen is updated).
Example, to highlight the column where the cursor currently is: >
:exe '/\%' . col(".") . 'c'
< Alternatively use: >
@@ -980,8 +979,8 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
\%.v Matches at the current virtual column.
\%<.v Matches before the current virtual column.
\%>.v Matches after the current virtual column.
These three can be used to match specific virtual columns in a buffer
or string. When not matching with a buffer in a window, the option
These six can be used to match specific virtual columns in a buffer or
string. When not matching with a buffer in a window, the option
values of the current window are used (e.g., 'tabstop').
The "23" can be any column number. The first column is 1.
Note that some virtual column positions will never match, because they
@@ -1012,7 +1011,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
/.*\%17v
< Column 17 is highlighted by 'hlsearch' because there is another match
where ".*" matches zero characters.
<
Character classes:
\i identifier character (see 'isident' option) */\i*

View File

@@ -1,4 +1,4 @@
*print.txt* For Vim version 8.2. Last change: 2020 Aug 15
*print.txt* For Vim version 8.2. Last change: 2021 Oct 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -717,7 +717,7 @@ There are a couple of points to bear in mind:
==============================================================================
8. Formfeed Characters *printing-formfeed*
By default Vim does not do any special processing of |formfeed| control
By default Vim does not do any special processing of formfeed control
characters. Setting the 'printoptions' formfeed item will make Vim recognize
formfeed characters and continue printing the current line at the beginning
of the first line on a new page. The use of formfeed characters provides

View File

@@ -948,6 +948,7 @@ Short explanation of each option: *option-list*
'textmode' 'tx' obsolete, use 'fileformat'
'textwidth' 'tw' maximum width of text that is being inserted
'thesaurus' 'tsr' list of thesaurus files for keyword completion
'thesaurusfunc' 'tsrfu' function to be used for thesaurus completion
'tildeop' 'top' tilde command "~" behaves like an operator
'timeout' 'to' time out on mappings and key codes
'timeoutlen' 'tm' time out time in milliseconds

View File

@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 8.2. Last change: 2021 Jun 27
*repeat.txt* For Vim version 8.2. Last change: 2021 Sep 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -893,8 +893,12 @@ DEFINING BREAKPOINTS
Sets a breakpoint, that will break whenever the {expression}
evaluates to a different value. Example: >
:breakadd expr g:lnum
< Will break, whenever the global variable lnum changes.
Errors in evaluation are suppressed, you can use the name of a
variable that does not exist yet. This also means you will
not notice anything if the expression has a mistake.
Note if you watch a |script-variable| this will break
when switching scripts, since the script variable is only
valid in the script where it has been defined and if that

View File

@@ -520,6 +520,7 @@ sign_jump({id}, {group}, {buf})
{buf} and position the cursor at sign {id} in group {group}.
This is similar to the |:sign-jump| command.
If {group} is an empty string, then the global group is used.
For the use of {buf}, see |bufname()|.
Returns the line number of the sign. Returns -1 if the

View File

@@ -2321,6 +2321,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:cope quickfix.txt /*:cope*
:copen quickfix.txt /*:copen*
:copy change.txt /*:copy*
:count_quit windows.txt /*:count_quit*
:cp quickfix.txt /*:cp*
:cpf quickfix.txt /*:cpf*
:cpfile quickfix.txt /*:cpfile*
@@ -3502,6 +3503,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:y change.txt /*:y*
:yank change.txt /*:yank*
:z various.txt /*:z*
:z! various.txt /*:z!*
:z# various.txt /*:z#*
:~ change.txt /*:~*
; motion.txt /*;*
@@ -3987,6 +3989,8 @@ E123 eval.txt /*E123*
E1231 map.txt /*E1231*
E1232 eval.txt /*E1232*
E1233 eval.txt /*E1233*
E1237 map.txt /*E1237*
E1239 eval.txt /*E1239*
E124 eval.txt /*E124*
E125 eval.txt /*E125*
E126 eval.txt /*E126*
@@ -4939,6 +4943,7 @@ FileChangedRO autocmd.txt /*FileChangedRO*
FileChangedShell autocmd.txt /*FileChangedShell*
FileChangedShellPost autocmd.txt /*FileChangedShellPost*
FileEncoding autocmd.txt /*FileEncoding*
FileExplorer autocmd.txt /*FileExplorer*
FileReadCmd autocmd.txt /*FileReadCmd*
FileReadPost autocmd.txt /*FileReadPost*
FileReadPre autocmd.txt /*FileReadPre*
@@ -5013,6 +5018,7 @@ Macintosh os_mac.txt /*Macintosh*
Mark motion.txt /*Mark*
MenuPopup autocmd.txt /*MenuPopup*
MiNT os_mint.txt /*MiNT*
ModeChanged autocmd.txt /*ModeChanged*
Moolenaar intro.txt /*Moolenaar*
MorphOS os_amiga.txt /*MorphOS*
Motif gui_x11.txt /*Motif*
@@ -5551,10 +5557,12 @@ beval_winnr-variable eval.txt /*beval_winnr-variable*
binary-number eval.txt /*binary-number*
bitwise-function usr_41.txt /*bitwise-function*
blob eval.txt /*blob*
blob-functions usr_41.txt /*blob-functions*
blob-identity eval.txt /*blob-identity*
blob-index eval.txt /*blob-index*
blob-literal eval.txt /*blob-literal*
blob-modification eval.txt /*blob-modification*
blob2list() eval.txt /*blob2list()*
blockwise-examples visual.txt /*blockwise-examples*
blockwise-operators visual.txt /*blockwise-operators*
blockwise-register change.txt /*blockwise-register*
@@ -5920,6 +5928,7 @@ compl-keyword insert.txt /*compl-keyword*
compl-omni insert.txt /*compl-omni*
compl-omni-filetypes insert.txt /*compl-omni-filetypes*
compl-spelling insert.txt /*compl-spelling*
compl-stop insert.txt /*compl-stop*
compl-tag insert.txt /*compl-tag*
compl-vim insert.txt /*compl-vim*
compl-whole-line insert.txt /*compl-whole-line*
@@ -6542,7 +6551,6 @@ format-bullet-list tips.txt /*format-bullet-list*
format-comments change.txt /*format-comments*
format-formatexpr change.txt /*format-formatexpr*
formatting change.txt /*formatting*
formfeed intro.txt /*formfeed*
fortran.vim syntax.txt /*fortran.vim*
friendship intro.txt /*friendship*
frombook usr_01.txt /*frombook*
@@ -6601,6 +6609,7 @@ ft-fortran-plugin filetype.txt /*ft-fortran-plugin*
ft-fortran-syntax syntax.txt /*ft-fortran-syntax*
ft-fvwm-syntax syntax.txt /*ft-fvwm-syntax*
ft-gitcommit-plugin filetype.txt /*ft-gitcommit-plugin*
ft-gprof-plugin filetype.txt /*ft-gprof-plugin*
ft-groff-syntax syntax.txt /*ft-groff-syntax*
ft-gsp-syntax syntax.txt /*ft-gsp-syntax*
ft-haskell-syntax syntax.txt /*ft-haskell-syntax*
@@ -7197,6 +7206,7 @@ gui-x11-printing gui_x11.txt /*gui-x11-printing*
gui-x11-start gui_x11.txt /*gui-x11-start*
gui-x11-various gui_x11.txt /*gui-x11-various*
gui.txt gui.txt /*gui.txt*
gui_running eval.txt /*gui_running*
gui_w32.txt gui_w32.txt /*gui_w32.txt*
gui_x11.txt gui_x11.txt /*gui_x11.txt*
guifontwide_gtk gui.txt /*guifontwide_gtk*
@@ -7479,6 +7489,7 @@ i_CTRL-X_CTRL-T insert.txt /*i_CTRL-X_CTRL-T*
i_CTRL-X_CTRL-U insert.txt /*i_CTRL-X_CTRL-U*
i_CTRL-X_CTRL-V insert.txt /*i_CTRL-X_CTRL-V*
i_CTRL-X_CTRL-Y insert.txt /*i_CTRL-X_CTRL-Y*
i_CTRL-X_CTRL-Z insert.txt /*i_CTRL-X_CTRL-Z*
i_CTRL-X_CTRL-] insert.txt /*i_CTRL-X_CTRL-]*
i_CTRL-X_index index.txt /*i_CTRL-X_index*
i_CTRL-X_s insert.txt /*i_CTRL-X_s*
@@ -7697,6 +7708,7 @@ lcs-conceal options.txt /*lcs-conceal*
lcs-eol options.txt /*lcs-eol*
lcs-extends options.txt /*lcs-extends*
lcs-lead options.txt /*lcs-lead*
lcs-multispace options.txt /*lcs-multispace*
lcs-nbsp options.txt /*lcs-nbsp*
lcs-precedes options.txt /*lcs-precedes*
lcs-space options.txt /*lcs-space*
@@ -7731,6 +7743,7 @@ list-identity eval.txt /*list-identity*
list-index eval.txt /*list-index*
list-modification eval.txt /*list-modification*
list-repeat windows.txt /*list-repeat*
list2blob() eval.txt /*list2blob()*
list2str() eval.txt /*list2str()*
listener_add() eval.txt /*listener_add()*
listener_flush() eval.txt /*listener_flush()*

View File

@@ -168,9 +168,6 @@ terminal window will start with a white or black background.
To use a different color the Terminal highlight group can be used, for
example: >
hi Terminal ctermbg=lightgrey ctermfg=blue guibg=lightgrey guifg=blue
The highlight needs to be defined before the terminal is created. Doing it
later, or setting 'wincolor', will only have effect when the program running
in the terminal displays text or clears the terminal.
Instead of Terminal another group can be specified with the "term_highlight"
option for `term_start()`.

View File

@@ -85,14 +85,14 @@ test_getvalue({name}) *test_getvalue()*
test_gui_drop_files({list}, {row}, {col}, {mods})
Drop one or more files in {list} in the window at {row}, {col}.
This function only works when the GUI is running and the
|drag-n-drop| feature is present.
|drop_file| feature is present.
The supported values for {mods} are:
0x4 Shift
0x8 Alt
0x10 Ctrl
The files are added to the argument list and the first file in
{list} is edited in the window. See |drag-n-drop| for more
The files are added to the |argument-list| and the first file
in {list} is edited in the window. See |drag-n-drop| for more
information.
*test_gui_mouse_event()*

View File

@@ -160,7 +160,7 @@ prop_add({lnum}, {col}, {props})
Can also be used as a |method|: >
GetLnum()->prop_add(col, props)
<
*prop_add_list()*
prop_add_list({props}, [[{lnum}, {col}, {end-lnum}, {end-col}], ...])
Similar to prop_add(), but attaches a text property at

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.2. Last change: 2021 Aug 25
*todo.txt* For Vim version 8.2. Last change: 2021 Oct 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -38,13 +38,18 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
Remove s:flaky_tests from runtest.vim, set g:test_is_flaky in each test.
Vim9 - Make everything work:
- use CheckLegacyAndVim9Success(lines) in many more places
- "filter #pat# ls" should work, #pat# is not a comment
vim9script
edit foobar
filter #foobar# ls
- Check TODO items in vim9compile.c and vim9execute.c
- use CheckLegacyAndVim9Success(lines) in many more places
- For builtin functions using tv_get_string*() use check_for_string() to be
more strict about the argument type (not a bool).
done: balloon_()
- Disallow using numbered function with "g:123" in Vim9 script? #8760
- Check many more builtin function arguments at compile time.
map() could check that the return type of the function argument matches
the type of the list or dict member. (#8092)
@@ -223,6 +228,9 @@ Need to handle extra bytes.
Test_communicate_ipv6(): is flaky on many systems
Fails in line 64 of Ch_communicate, no exception is thrown.
Patch for Template string: #4634
Have another look at the implementation.
Rename getdigraphlist -> digraph_getlist() etc.
Valgrind reports memory leaks in test_options.
@@ -259,9 +267,6 @@ Problem that a previous silent ":throw" causes a following try/catch not to
work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
Also see #8487 for an example.
Patch for Template string: #4634
Have another look at the implementation.
Patch to implement the vimtutor with a plugin: #6414
Was originally written by Felipe Morales.
@@ -364,10 +369,6 @@ autocommands for the buffer lifecycle:
BufIsRenamed (after buffer ID gets another name)
The buffer list and windows are locked, no changes possible
Add a ModeChanged autocommand that has an argument indicating the old and new
mode, as what's returned from mode(). Also used for switching Terminal mode.
#8360, #7863, #7363
Matchparen doesn't remove highlight after undo. (#7054)
Is OK when syntax HL is active.
@@ -429,6 +430,9 @@ undo result wrong: Masato Nishihata, #4798
After recovering from a swap file the undofile should not be used, it causes
corruption. (#6631)
When the computer crashes while writing the undofile, the contents may be
lost. Write to a temp file, fsync and rename. (#8879)
When 'lazyredraw' is set sometimes the title is not updated.
(Jason Franklin, 2020 Feb 3) Looks like a race condition.
@@ -626,24 +630,27 @@ Window size changes after closing a tab. (#4741)
Problem with colors in terminal window. (Jason Franklin, 2019 May 12)
Lifepillar: Updated/cleaned up color schemes:
https://github.com/lifepillar/vim8-colorschemes.
Include a few color schemes, based on popularity:
http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
Color schemes:
NOTE: modernizing the default colorschemes _AND_ introducing new ones is now
a project in its own right: https://github.com/vim/colorschemes. Feel free to
reach out if you want to lend a hand.
- Lifepillar: Updated/cleaned up color schemes:
https://github.com/lifepillar/vim8-colorschemes.
- Include a few color schemes, based on popularity:
- http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
http://vimawesome.com/?q=tag:color-scheme
Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
- monokai - Xia Crusoe (2017 Aug 4)
- seoul256 - Christian Brabandt (2017 Aug 3)
- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
Lifepillar, 2018 Jan 22, #2573)
- janah - Marco Hinz (2017 Aug 4)
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
Suggested by Hiroki Kokubun:
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
- [hybrid](https://github.com/w0ng/vim-hybrid)
Include solarized color scheme?, it does not support termguicolors.
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
- Use names that indicate their appearance (Christian Brabandt, 2017 Aug 3)
- monokai - Xia Crusoe (2017 Aug 4)
- seoul256 - Christian Brabandt (2017 Aug 3)
- gruvbox - Christian Brabandt (2017 Aug 3) (simplified version from
Lifepillar, 2018 Jan 22, #2573)
- janah - Marco Hinz (2017 Aug 4)
- apprentice - Romain Lafourcade (2017 Aug 6) remarks about help file #1964
- Suggested by Hiroki Kokubun:
- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
- [hybrid](https://github.com/w0ng/vim-hybrid)
- Include solarized color scheme?, it does not support termguicolors.
- Sanitized version of pablo (Lifepillar, 2017 Nov 21)
Bug: "vipgw" does not put cursor back where it belongs. (Jason Franklin, 2019
Mar 5)
@@ -1039,6 +1046,9 @@ matchit hasn't been maintained for a long time. #955.
Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
'delcombine' does not work for the command line. (Tony Mechelynck, 2009 Jul
20)
MS-Windows: buffer completion doesn't work when using backslash (or slash)
for a path separator. (xtal8, #2201)
@@ -2300,9 +2310,6 @@ for GTK clipboard. Avoid requirement for iconv.
Now that colnr_T is int instead of unsigned, more type casts can be removed.
'delcombine' does not work for the command line. (Tony Mechelynck, 2009 Jul
20)
Don't load macmap.vim on startup, turn it into a plugin. (Ron Aaron,
2009 Apr 7) Reminder Apr 14.
@@ -4843,7 +4850,6 @@ Autocommands:
command used dos fileformat. Same for 'fileencoding'.
- Add events to autocommands:
Error - When an error happens
ModeChange - after changing mode (before waiting for a char)
VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled
when exiting isn't a good idea.
CursorHoldC - CursorHold while command-line editing

View File

@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 8.2. Last change: 2021 Aug 08
*usr_41.txt* For Vim version 8.2. Last change: 2021 Sep 10
VIM USER MANUAL - by Bram Moolenaar
@@ -723,6 +723,10 @@ Floating point computation: *float-functions*
isinf() check for infinity
isnan() check for not a number
Blob manipulation: *blob-functions*
blob2list() get a list of numbers from a blob
list2blob() get a blob from a list of numbers
Other computation: *bitwise-function*
and() bitwise AND
invert() bitwise invert
@@ -1449,6 +1453,8 @@ is a List with arguments.
Function references are most useful in combination with a Dictionary, as is
explained in the next section.
More information about defining your own functions here: |user-functions|.
==============================================================================
*41.8* Lists and Dictionaries

View File

@@ -1,4 +1,4 @@
*various.txt* For Vim version 8.2. Last change: 2021 Mar 23
*various.txt* For Vim version 8.2. Last change: 2021 Sep 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -170,9 +170,9 @@ g8 Print the hex values of the bytes used in the
If the mark is "=", a line of dashes is printed
around the current line.
*:z!
*:z!*
:[range]z![+-^.=][count]
Like ":z:", but when [count] is not specified, it
Like ":z", but when [count] is not specified, it
defaults to the Vim window height minus one.
:[range]z[!]#[+-^.=][count] *:z#*

View File

@@ -1,4 +1,4 @@
*vim9.txt* For Vim version 8.2. Last change: 2021 Aug 23
*vim9.txt* For Vim version 8.2. Last change: 2021 Sep 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -103,7 +103,7 @@ script and `:def` functions; details are below:
writefile(['done'], 'file.txt')
- You cannot use `:xit`, `:t`, `:k`, `:append`, `:change`, `:insert`, `:open`,
and `:s` or `:d` with only flags.
or curly-braces names.
- You cannot use curly-braces names.
- A range before a command must be prefixed with a colon: >
:%s/this/that
- Executing a register with "@r" does not work, you can prepend a colon or use
@@ -180,6 +180,15 @@ For now you will need to pass the dictionary explicitly: >
var d = {item: 'value', func: DictFunc}
d.func(d, 'item')
You can call a legacy dict function though: >
func Legacy() dict
echo self.value
endfunc
def CallLegacy()
var d = {func: Legacy, value: 'text'}
d.func()
enddef
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.
@@ -197,7 +206,7 @@ When a function argument is optional (it has a default value) passing `v:none`
as the argument results in using the default value. This is useful when you
want to specify a value for an argument that comes after an argument that
should use its default value. Example: >
def MyFunc(one = 'one', last = 'last)
def MyFunc(one = 'one', last = 'last')
...
enddef
MyFunc(v:none, 'LAST') # first argument uses default value 'one'
@@ -622,7 +631,7 @@ at the start of the line indicates line continuation: >
| echo 'match'
| endif
Note that this means that in heredoc the first line cannot be a bar: >
Note that this means that in heredoc the first line cannot start with a bar: >
var lines =<< trim END
| this doesn't work
END
@@ -630,7 +639,7 @@ Either use an empty line at the start or do not use heredoc. Or temporarily
add the "C" flag to 'cpoptions': >
set cpo+=C
var lines =<< trim END
| this doesn't work
| this works
END
set cpo-=C
If the heredoc is inside a function 'cpoptions' must be set before :def and
@@ -933,9 +942,22 @@ Ex command ranges need to be prefixed with a colon. >
Some Ex commands can be confused with assignments in Vim9 script: >
g:name = value # assignment
g:pattern:cmd # invalid command - ERROR
:g:pattern:cmd # :global command
To avoid confusion between a `:global` or `:substitute` command and an
expression or assignment, a few separators cannot be used when these commands
are abbreviated to a single character: ':', '-' and '.'. >
g:pattern:cmd # invalid command - ERROR
s:pattern:repl # invalid command - ERROR
g-pattern-cmd # invalid command - ERROR
s-pattern-repl # invalid command - ERROR
g.pattern.cmd # invalid command - ERROR
s.pattern.repl # invalid command - ERROR
Also, there cannot be a space between the command and the separator: >
g /pattern/cmd # invalid command - ERROR
s /pattern/repl # invalid command - ERROR
Functions defined with `:def` compile the whole function. Legacy functions
can bail out, and the following lines are not parsed: >
func Maybe()
@@ -1096,7 +1118,7 @@ The map argument is a string expression, which is evaluated without the
function scope. Instead, use a lambda: >
def MapList(): list<string>
var list = ['aa', 'bb', 'cc', 'dd']
return range(1, 2)->map(( _, v) => list[v])
return range(1, 2)->map((_, v) => list[v])
enddef
The same is true for commands that are not compiled, such as `:global`.
@@ -1300,16 +1322,16 @@ an error, thus breaking backwards compatibility. For example:
- Using a string value when setting a number option.
- Using a number where a string is expected. *E1024*
One consequence is that the item type of a list or dict given to map() must
One consequence is that the item type of a list or dict given to |map()| must
not change. This will give an error in Vim9 script: >
vim9 echo map([1, 2, 3], (i, v) => 'item ' .. i)
echo map([1, 2, 3], (i, v) => 'item ' .. i)
E1012: Type mismatch; expected number but got string
Instead use |mapnew(): >
vim9 echo mapnew([1, 2, 3], (i, v) => 'item ' .. i)
Instead use |mapnew()|: >
echo mapnew([1, 2, 3], (i, v) => 'item ' .. i)
['item 0', 'item 1', 'item 2']
If the item type was determined to be "any" it can change to a more specific
type. E.g. when a list of mixed types gets changed to a list of numbers: >
type. E.g. when a list of mixed types gets changed to a list of strings: >
var mylist = [1, 2.0, '3']
# typename(mylist) == "list<any>"
map(mylist, (i, v) => 'item ' .. i)
@@ -1416,11 +1438,10 @@ In case the name is ambiguous, another name can be specified: >
To import all exported items under a specific identifier: >
import * as That from 'thatscript.vim'
{not implemented yet: using "This as That"}
Then you can use "That.EXPORTED_CONST", "That.someValue", etc. You are free
to choose the name "That", but it is highly recommended to use the name of the
script file to avoid confusion.
script file to avoid confusion. Also avoid command names, because the name
will shadow them.
`:import` can also be used in legacy Vim script. The imported items still
become script-local, even when the "s:" prefix is not given.

View File

@@ -1,4 +1,4 @@
*windows.txt* For Vim version 8.2. Last change: 2021 Apr 10
*windows.txt* For Vim version 8.2. Last change: 2021 Sep 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -296,7 +296,7 @@ Closing a window
----------------
:q[uit]
:{count}q[uit]
:{count}q[uit] *:count_quit*
CTRL-W q *CTRL-W_q*
CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
Without {count}: Quit the current window. If {count} is
@@ -390,7 +390,8 @@ CTRL-W CTRL-C *CTRL-W_CTRL-C*
CTRL-W o *CTRL-W_o* *E445*
CTRL-W CTRL-O *CTRL-W_CTRL-O* *:on* *:only*
Make the current window the only one on the screen. All other
windows are closed. For {count} see |:quit| command.
windows are closed. For {count} see the `:quit` command
above |:count_quit|.
When the 'hidden' option is set, all buffers in closed windows
become hidden.

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2021 Aug 23
" Last Change: 2021 Oct 03
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -488,7 +488,7 @@ au BufNewFile,BufRead *.desktop,*.directory setf desktop
au BufNewFile,BufRead dict.conf,.dictrc setf dictconf
" Dictd config
au BufNewFile,BufRead dictd.conf setf dictdconf
au BufNewFile,BufRead dictd*.conf setf dictdconf
" Diff files
au BufNewFile,BufRead *.diff,*.rej setf diff
@@ -707,6 +707,7 @@ au BufNewFile,BufRead *.gpi setf gnuplot
" Go (Google)
au BufNewFile,BufRead *.go setf go
au BufNewFile,BufRead Gopkg.lock setf toml
" GrADS scripts
au BufNewFile,BufRead *.gs setf grads
@@ -876,6 +877,9 @@ au BufNewFile,BufRead *.json-patch setf json
" Jupyter Notebook is also json
au BufNewFile,BufRead *.ipynb setf json
" Other files that look like json
au BufNewFile,BufRead .babelrc,.eslintrc,.prettierrc,.firebaserc setf json
" JSONC
au BufNewFile,BufRead *.jsonc setf jsonc
@@ -1092,6 +1096,9 @@ au BufNewFile,BufRead *.moo setf moo
" Modconf
au BufNewFile,BufRead */etc/modules.conf,*/etc/modules,*/etc/conf.modules setf modconf
" MPD is based on XML
au BufNewFile,BufRead *.mpd setf xml
" Mplayer config
au BufNewFile,BufRead mplayer.conf,*/.mplayer/config setf mplayerconf
@@ -1110,6 +1117,9 @@ au BufNewFile,BufRead *.mysql setf mysql
" Mutt setup files (must be before catch *.rc)
au BufNewFile,BufRead */etc/Muttrc.d/* call s:StarSetf('muttrc')
" Tcl Shell RC file
au BufNewFile,BufRead tclsh.rc setf tcl
" M$ Resource files
au BufNewFile,BufRead *.rc,*.rch setf rc
@@ -1140,6 +1150,9 @@ au BufNewFile,BufRead Neomuttrc setf neomuttrc
" Netrc
au BufNewFile,BufRead .netrc setf netrc
" Nginx
au BufNewFile,BufRead *.nginx,nginx*.conf,*nginx.conf,*/etc/nginx/*,*/usr/local/nginx/conf/*,*/nginx/*.conf setf nginx
" Ninja file
au BufNewFile,BufRead *.ninja setf ninja
@@ -1278,7 +1291,7 @@ au BufNewFile,BufRead *.rcp setf pilrc
au BufNewFile,BufRead .pinerc,pinerc,.pinercex,pinercex setf pine
" Pipenv Pipfiles
au BufNewFile,BufRead Pipfile setf config
au BufNewFile,BufRead Pipfile setf toml
au BufNewFile,BufRead Pipfile.lock setf json
" PL/1, PL/I
@@ -1400,7 +1413,7 @@ au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python
" Radiance
au BufNewFile,BufRead *.rad,*.mat setf radiance
" Raku (formelly Perl6)
" Raku (formerly Perl6)
au BufNewFile,BufRead *.pm6,*.p6,*.t6,*.pod6,*.raku,*.rakumod,*.rakudoc,*.rakutest setf raku
" Ratpoison config/command files
@@ -1512,6 +1525,7 @@ au BufNewFile,BufRead [rR]antfile,*.rant,[rR]akefile,*.rake setf ruby
" Rust
au BufNewFile,BufRead *.rs setf rust
au BufNewFile,BufRead Cargo.lock,*/.cargo/config,*/.cargo/credentials setf toml
" S-lang (or shader language, or SmallLisp)
au BufNewFile,BufRead *.sl setf slang
@@ -1802,7 +1816,7 @@ au BufRead,BufNewFile {pending,completed,undo}.data setf taskdata
au BufRead,BufNewFile *.task setf taskedit
" Tcl (JACL too)
au BufNewFile,BufRead *.tcl,*.tk,*.itcl,*.itk,*.jacl setf tcl
au BufNewFile,BufRead *.tcl,*.tm,*.tk,*.itcl,*.itk,*.jacl,.tclshrc,.wishrc setf tcl
" TealInfo
au BufNewFile,BufRead *.tli setf tli
@@ -1996,14 +2010,15 @@ au BufNewFile,BufRead *.ws[fc] setf wsh
" XHTML
au BufNewFile,BufRead *.xhtml,*.xht setf xhtml
" X Pixmap (dynamically sets colors, use BufEnter to make it work better)
au BufEnter *.xpm
" X Pixmap (dynamically sets colors, this used to trigger on BufEnter to make
" it work better, but that breaks setting 'filetype' manually)
au BufNewFile,BufRead *.xpm
\ if getline(1) =~ "XPM2" |
\ setf xpm2 |
\ else |
\ setf xpm |
\ endif
au BufEnter *.xpm2 setf xpm2
au BufNewFile,BufRead *.xpm2 setf xpm2
" XFree86 config
au BufNewFile,BufRead XF86Config
@@ -2138,7 +2153,7 @@ au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle')
" More Apache config files
au BufNewFile,BufRead access.conf*,apache.conf*,apache2.conf*,httpd.conf*,srm.conf* call s:StarSetf('apache')
au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
au BufNewFile,BufRead */etc/apache2/*.conf*,*/etc/apache2/conf.*/*,*/etc/apache2/mods-*/*,*/etc/apache2/sites-*/*,*/etc/httpd/conf.*/*,*/etc/httpd/mods-*/*,*/etc/httpd/sites-*/*,*/etc/httpd/conf.d/*.conf* call s:StarSetf('apache')
" Asterisk config file
au BufNewFile,BufRead *asterisk/*.conf* call s:StarSetf('asterisk')
@@ -2292,6 +2307,9 @@ au BufNewFile,BufRead .tcshrc* call dist#ft#SetFileTypeShell("tcsh")
" csh scripts ending in a star
au BufNewFile,BufRead .login*,.cshrc* call dist#ft#CSH()
" tmux configuration with arbitrary extension
au BufNewFile,BufRead {.,}tmux*.conf* setf tmux
" VHDL
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')

View File

@@ -1,9 +1,10 @@
" Vim ftplugin file
" Language: 8th
" Version: any
" Last Change: 2015/11/08
" Last Change: 2021 Sep 20
" Last Change: 2021/09/20
" Maintainer: Ron Aaron <ron@aaron-tech.com>
" URL: https://8th-dev.com/
" URL: https://8th-dev.com/
" Filetypes: *.8th
" NOTE: 8th allows any non-whitespace in a name, so you need to do:
" setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
@@ -14,12 +15,13 @@ if exists("b:did_8thplugin")
finish
endif
" Don't load another plugin for this buffer
" Don't load another 8th plugin for this buffer
let b:did_8thplugin = 1
setlocal ts=2 sts=2 sw=2 et
setlocal com=s1:/*,mb:*,ex:*/,:\|,:\\
setlocal com=s1:/*,mb:*,ex:*/,b:--,be:\\
setlocal fo=tcrqol
setlocal matchpairs+=\::;
setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
setlocal suffixesadd=.8th
let b:undo_ftplugin = "setlocal ts< sts< sw< et< com< fo< mps< isk< sua<"

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2020 Feb 01
" Last Change: 2021 Sep 21
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -40,8 +40,11 @@ endif
" When the matchit plugin is loaded, this makes the % command skip parens and
" braces in comments properly.
let b:match_words = '^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
let b:match_skip = 's:comment\|string\|character\|special'
if !exists("b:match_words")
let b:match_words = '^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
let b:match_skip = 's:comment\|string\|character\|special'
let b:undo_ftplugin ..= " | unlet! b:match_skip b:match_words"
endif
" Win32 can filter files in the browse dialog
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
@@ -62,6 +65,7 @@ if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
\ "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" .
\ "All Files (*.*)\t*.*\n"
endif
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
endif
let &cpo = s:cpo_save

View File

@@ -2,7 +2,7 @@
" Language: ConTeXt typesetting engine
" Maintainer: Nicola Vitacolonna <nvitacolonna@gmail.com>
" Former Maintainers: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2016 Oct 30
" Latest Revision: 2021 Oct 15
if exists("b:did_ftplugin")
finish
@@ -17,7 +17,6 @@ if !exists('current_compiler')
endif
let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo< ofu<"
\ . "| unlet! b:match_ignorecase b:match_words b:match_skip"
setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tjcroql2
if get(b:, 'context_metapost', get(g:, 'context_metapost', 1))
@@ -35,11 +34,12 @@ let &l:include = '^\s*\\\%(input\|component\|product\|project\|environment\)'
setlocal suffixesadd=.tex
if exists("loaded_matchit")
if exists("loaded_matchit") && !exists("b:match_words")
let b:match_ignorecase = 0
let b:match_skip = 'r:\\\@<!\%(\\\\\)*%'
let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],' .
\ '\\start\(\a\+\):\\stop\1'
let b:undo_ftplugin .= " | unlet! b:match_ignorecase b:match_words b:match_skip"
endif
let s:context_regex = {
@@ -57,19 +57,28 @@ function! s:move_around(count, what, flags, visual)
call map(range(2, a:count), 'search(s:context_regex[a:what], a:flags)')
endfunction
" Move around macros.
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
if !exists("no_plugin_maps") && !exists("no_context_maps")
" Move around macros.
nnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:false) <CR>
vnoremap <silent><buffer> [[ :<C-U>call <SID>move_around(v:count1, "beginsection", "bW", v:true) <CR>
nnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:false) <CR>
vnoremap <silent><buffer> ]] :<C-U>call <SID>move_around(v:count1, "beginsection", "W", v:true) <CR>
nnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:false) <CR>
vnoremap <silent><buffer> [] :<C-U>call <SID>move_around(v:count1, "endsection", "bW", v:true) <CR>
nnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:false) <CR>
vnoremap <silent><buffer> ][ :<C-U>call <SID>move_around(v:count1, "endsection", "W", v:true) <CR>
nnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:false) <CR>
vnoremap <silent><buffer> [{ :<C-U>call <SID>move_around(v:count1, "beginblock", "bW", v:true) <CR>
nnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:false) <CR>
vnoremap <silent><buffer> ]} :<C-U>call <SID>move_around(v:count1, "endblock", "W", v:true) <CR>
let b:undo_ftplugin .= " | sil! exe 'nunmap <buffer> [[' | sil! exe 'vunmap <buffer> [['" .
\ " | sil! exe 'nunmap <buffer> ]]' | sil! exe 'vunmap <buffer> ]]'" .
\ " | sil! exe 'nunmap <buffer> []' | sil! exe 'vunmap <buffer> []'" .
\ " | sil! exe 'nunmap <buffer> ][' | sil! exe 'vunmap <buffer> ]['" .
\ " | sil! exe 'nunmap <buffer> [{' | sil! exe 'vunmap <buffer> [{'" .
\ " | sil! exe 'nunmap <buffer> ]}' | sil! exe 'vunmap <buffer> ]}'"
end
" Other useful mappings
if get(g:, 'context_mappings', 1)
@@ -81,16 +90,22 @@ if get(g:, 'context_mappings', 1)
call cursor(search(s:tp_regex, 'W') - 1, 1)
endf
" Reflow paragraphs with commands like gqtp ("gq TeX paragraph")
onoremap <silent><buffer> tp :<c-u>call <sid>tp()<cr>
" Select TeX paragraph
vnoremap <silent><buffer> tp <esc>:<c-u>call <sid>tp()<cr>
if !exists("no_plugin_maps") && !exists("no_context_maps")
" Reflow paragraphs with commands like gqtp ("gq TeX paragraph")
onoremap <silent><buffer> tp :<c-u>call <sid>tp()<cr>
" Select TeX paragraph
vnoremap <silent><buffer> tp <esc>:<c-u>call <sid>tp()<cr>
" $...$ text object
onoremap <silent><buffer> i$ :<c-u>normal! T$vt$<cr>
onoremap <silent><buffer> a$ :<c-u>normal! F$vf$<cr>
vnoremap <buffer> i$ T$ot$
vnoremap <buffer> a$ F$of$
" $...$ text object
onoremap <silent><buffer> i$ :<c-u>normal! T$vt$<cr>
onoremap <silent><buffer> a$ :<c-u>normal! F$vf$<cr>
vnoremap <buffer> i$ T$ot$
vnoremap <buffer> a$ F$of$
let b:undo_ftplugin .= " | sil! exe 'ounmap <buffer> tp' | sil! exe 'vunmap <buffer> tp'" .
\ " | sil! exe 'ounmap <buffer> i$' | sil! exe 'vunmap <buffer> i$'" .
\ " | sil! exe 'ounmap <buffer> a$' | sil! exe 'vunmap <buffer> a$'"
endif
endif
" Commands for asynchronous typesetting

View File

@@ -1,21 +1,23 @@
" Vim filetype plugin file
" Language: csh
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 20 Jan 2009
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
" Language: csh
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Contributor: Johannes Zellner <johannes@zellner.org>
" Last Change: 2021 Oct 15
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
" Make sure the continuation lines below do not cause problems in
" compatibility mode.
let s:save_cpo = &cpo
set cpo-=C
setlocal comments=:#
setlocal commentstring=#%s
setlocal formatoptions-=t
setlocal formatoptions+=crql
let b:undo_ftplugin = "setlocal com< cms< fo<"
" Csh: thanks to Johannes Zellner
" - Both foreach and end must appear alone on separate lines.
" - The words else and endif must appear at the beginning of input lines;
@@ -23,26 +25,27 @@ setlocal formatoptions+=crql
" - Each case label and the default label must appear at the start of a
" line.
" - while and end must appear alone on their input lines.
if exists("loaded_matchit")
let b:match_words =
\ '^\s*\<if\>.*(.*).*\<then\>:'.
\ '^\s*\<else\>\s\+\<if\>.*(.*).*\<then\>:^\s*\<else\>:'.
\ '^\s*\<endif\>,'.
\ '\%(^\s*\<foreach\>\s\+\S\+\|^s*\<while\>\).*(.*):'.
\ '\<break\>:\<continue\>:^\s*\<end\>,'.
\ '^\s*\<switch\>.*(.*):^\s*\<case\>\s\+:^\s*\<default\>:^\s*\<endsw\>'
if exists("loaded_matchit") && !exists("b:match_words")
let s:line_start = '\%(^\s*\)\@<='
let b:match_words =
\ s:line_start .. 'if\s*(.*)\s*then\>:' ..
\ s:line_start .. 'else\s\+if\s*(.*)\s*then\>:' .. s:line_start .. 'else\>:' ..
\ s:line_start .. 'endif\>,' ..
\ s:line_start .. '\%(\<foreach\s\+\h\w*\|while\)\s*(:' ..
\ '\<break\>:\<continue\>:' ..
\ s:line_start .. 'end\>,' ..
\ s:line_start .. 'switch\s*(:' ..
\ s:line_start .. 'case\s\+:' .. s:line_start .. 'default\>:\<breaksw\>:' ..
\ s:line_start .. 'endsw\>'
unlet s:line_start
let b:undo_ftplugin ..= " | unlet b:match_words"
endif
" Change the :browse e filter to primarily show csh-related files.
if has("gui_win32")
let b:browsefilter="csh Scripts (*.csh)\t*.csh\n" .
\ "All Files (*.*)\t*.*\n"
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter="csh Scripts (*.csh)\t*.csh\n" ..
\ "All Files (*.*)\t*.*\n"
let b:undo_ftplugin ..= " | unlet b:browsefilter"
endif
" Undo the stuff we changed.
let b:undo_ftplugin = "setlocal commentstring< formatoptions<" .
\ " | unlet! b:match_words b:browsefilter"
" Restore the saved compatibility options.
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@@ -1,5 +1,5 @@
" Vim filetype plugin file
" Language: Configuration File (ini file) for MSDOS/MS Windows
" Language: Configuration File (ini file) for MS-DOS/MS Windows
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2008-07-09

View File

@@ -1,6 +1,7 @@
" Language: gprof
" Maintainer: Dominique Pelle <dominique.pelle@gmail.com>
" Last Change: 2021 Apr 08
" Language: gprof
" Maintainer: Dominique Pelle <dominique.pelle@gmail.com>
" Contributors: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2021 Sep 19
" When cursor is on one line of the gprof call graph,
" calling this function jumps to this function in the call graph.
@@ -9,7 +10,7 @@ if exists("b:did_ftplugin")
endif
let b:did_ftplugin=1
fun! <SID>GprofJumpToFunctionIndex()
func! <SID>GprofJumpToFunctionIndex()
let l:line = getline('.')
if l:line =~ '[\d\+\]$'
" We're in a line in the call graph.
@@ -22,11 +23,14 @@ fun! <SID>GprofJumpToFunctionIndex()
call search('^\[\d\+\].*\d\s\+' . escape(@", '[]*.') . '\>', 'sW')
norm! zz
endif
endfun
endfunc
" Pressing <C-]> on a line in the gprof flat profile or in
" the call graph, jumps to the corresponding function inside
" the flat profile.
map <buffer> <silent> <C-]> :call <SID>GprofJumpToFunctionIndex()<CR>
if !exists("no_plugin_maps") && !exists("no_gprof_maps")
" Pressing <C-]> on a line in the gprof flat profile or in
" the call graph, jumps to the corresponding function inside
" the flat profile.
map <buffer> <silent> <C-]> :call <SID>GprofJumpToFunctionIndex()<CR>
let b:undo_ftplugin = "silent! unmap <buffer> <C-]>"
endif
" vim:sw=2 fdm=indent

View File

@@ -2,7 +2,7 @@
" Language: man
" Maintainer: Jason Franklin <vim@justemail.net>
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Last Change: 2020 Oct 09
" Last Change: 2021 Sep 26
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.

View File

@@ -1,7 +1,8 @@
" Vim filetype plugin file
" Language: matlab
" Maintainer: Jake Wasserman <jwasserman at gmail dot com>
" Last Change: 2019 Sep 27
" Update By: Gabriel Dupras
" Last Change: 2021 Aug 30
" Contributors:
" Charles Campbell
@@ -15,9 +16,9 @@ let s:save_cpo = &cpo
set cpo-=C
if exists("loaded_matchit")
let s:conditionalEnd = '\%(([^()]*\)\@!\<end\>\%([^()]*)\)\@!'
let s:conditionalEnd = '\%(\%(^\|;\)\s*\)\@<=end\>'
let b:match_words=
\ '\<\%(if\|switch\|for\|while\)\>:\<\%(elseif\|case\|break\|continue\|else\|otherwise\)\>:'.s:conditionalEnd.','.
\ '\<\%(if\|switch\|for\|while\|try\)\>:\<\%(elseif\|case\|break\|continue\|else\|otherwise\|catch\)\>:' . s:conditionalEnd . ',' .
\ '\<function\>:\<return\>:\<endfunction\>'
unlet s:conditionalEnd
endif

View File

@@ -0,0 +1,6 @@
" Vim filetype plugin
" Language: nginx.conf
" Maintainer: Chris Aumann <me@chr4.org>
" Last Change: Apr 15, 2017
setlocal commentstring=#\ %s

View File

@@ -371,7 +371,7 @@ endfunction
endif
else
let annot_file_name = ''
"(Pierre Vittet: I have commented 4b because this was chrashing
"(Pierre Vittet: I have commented 4b because this was crashing
"my vim (it produced infinite loop))
"
" 4b. anarchy : the renamed _build directory may be higher in the hierarchy
@@ -462,8 +462,8 @@ endfunction
"b. 'search' and 'match' work to find the type information
"In: - lin1,col1: postion of expression first char
" - lin2,col2: postion of expression last char
"In: - lin1,col1: position of expression first char
" - lin2,col2: position of expression last char
"Out: - the pattern to be looked for to find the block
" Must be called in the source buffer (use of line2byte)
function! s:Block_pattern(lin1,lin2,col1,col2)
@@ -581,7 +581,7 @@ endfunction
let res = substitute (a:res, "\n", "", "g" )
"remove double space
let res =substitute(res , " ", " ", "g")
"remove space at begining of string.
"remove space at beginning of string.
let res = substitute(res, "^ *", "", "g")
return res
endfunction

View File

@@ -0,0 +1,63 @@
" Vim filetype plugin file
" Language: GNU Octave
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2021 Sep 02
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
" TODO: update Matlab ftplugin and source it as the base file?
setlocal comments=s:%{,m:\ ,e:%},s:#{,m:\ ,e:#},:%,:#
setlocal commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql
setlocal keywordprg=info\ octave\ --vi-keys\ --index-search
if exists("loaded_matchit") && !exists("b:match_words")
let b:match_words = '\<unwind_protect\>:\<unwind_protect_cleanup\>:\<end_unwind_protect\>'
if exists("octave_use_matlab_end")
let b:match_words ..= ',' ..
\ '\<\%(classdef\|enumeration\|events\|for\|function\|if\|methods\|parfor\|properties\|switch\|while\|try\)\>' ..
\ ':' ..
\ '\<\%(elseif\|else\|case\|otherwise\|break\|continue\|catch\)\>' ..
\ ':' ..
\ '\<end\>'
else
let b:match_words ..= ',' ..
\ '\<classdef\>:\<endclassdef\>,' ..
\ '\<enumeration\>:\<endenumeration\>,' ..
\ '\<events\>:\<endevents\>,' ..
\ '\<do\>:\<\%(break\|continue\)\>:\<until\>' ..
\ '\<for\>:\<\%(break\|continue\)\>:\<endfor\>,' ..
\ '\<function\>:\<return\>:\<endfunction\>,' ..
\ '\<if\>:\<\%(elseif\|else\)\>:\<endif\>,' ..
\ '\<methods\>:\<endmethods\>,' ..
\ '\<parfor\>:\<endparfor\>,' ..
\ '\<properties\>:\<endproperties\>,' ..
\ '\<switch\>:\<\%(case\|otherwise\)\>:\<endswitch\>,' ..
\ '\<while\>:\<\%(break\|continue\)\>:\<endwhile\>,' ..
\ '\<try\>:\<catch\>:\<end_try_catch\>'
endif
" only match in statement position
let s:statement_start = escape('\%(\%(^\|;\)\s*\)\@<=', '\')
let b:match_words = substitute(b:match_words, '\\<', s:statement_start, 'g')
endif
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "GNU Octave Source Files (*.m)\t*.m\n" ..
\ "All Files (*.*)\t*.*\n"
endif
let b:undo_ftplugin = "setl com< cms< fo< kp< " ..
\ "| unlet! b:browsefilter b:match_words"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: nowrap sw=2 sts=2 ts=8 noet:

View File

@@ -18,8 +18,8 @@ if !exists("no_plugin_maps") && !exists("no_spec_maps")
endif
endif
if !hasmapto("call <SID>SpecChangelog(\"\")<CR>")
noremap <buffer> <unique> <script> <Plug>SpecChangelog :call <SID>SpecChangelog("")<CR>
if !hasmapto("call SpecChangelog(\"\")<CR>")
noremap <buffer> <unique> <script> <Plug>SpecChangelog :call SpecChangelog("")<CR>
endif
if !exists("*s:GetRelVer")

View File

@@ -32,7 +32,7 @@ if exists("loaded_matchit")
\ '\<checker\>:\<endchecker\>,' .
\ '\<class\>:\<endclass\>,' .
\ '\<clocking\>:\<endclocking\>,' .
\ '\<gruop\>:\<endgruop\>,' .
\ '\<group\>:\<endgroup\>,' .
\ '\<interface\>:\<endinterface\>,' .
\ '\<package\>:\<endpackage\>,' .
\ '\<program\>:\<endprogram\>,' .

View File

@@ -1,19 +1,17 @@
" Vim filetype plugin file
" Language: tcsh
" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Changed: 20 Jan 2009
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
" Language: tcsh
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
" Last Change: 2021 Oct 15
if exists("b:did_ftplugin") | finish | endif
" Make sure the continuation lines below do not cause problems in
" compatibility mode.
let s:save_cpo = &cpo
set cpo-=C
" Define some defaults in case the included ftplugins don't set them.
let s:undo_ftplugin = ""
let s:browsefilter = "csh Files (*.csh)\t*.csh\n" .
let s:browsefilter = "csh Files (*.csh)\t*.csh\n" ..
\ "All Files (*.*)\t*.*\n"
runtime! ftplugin/csh.vim ftplugin/csh_*.vim ftplugin/csh/*.vim
@@ -27,14 +25,11 @@ if exists("b:browsefilter")
let s:browsefilter = b:browsefilter
endif
" Change the :browse e filter to primarily show tcsh-related files.
if has("gui_win32")
let b:browsefilter="tcsh Scripts (*.tcsh)\t*.tcsh\n" . s:browsefilter
if (has("gui_win32") || has("gui_gtk"))
let b:browsefilter="tcsh Scripts (*.tcsh)\t*.tcsh\n" .. s:browsefilter
endif
" Undo the stuff we changed.
let b:undo_ftplugin = "unlet! b:browsefilter | " . s:undo_ftplugin
let b:undo_ftplugin = "unlet! b:browsefilter | " .. s:undo_ftplugin
" Restore the saved compatibility options.
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@@ -28,7 +28,7 @@ let &l:define .= '\|\\\(re\)\=new\(boolean\|command\|counter\|environment\|font'
" Tell Vim how to recognize LaTeX \include{foo} and plain \input bar :
let &l:include .= '\|\\include{'
" On some file systems, "{" and "}" are inluded in 'isfname'. In case the
" On some file systems, "{" and "}" are included in 'isfname'. In case the
" TeX file has \include{fname} (LaTeX only), strip everything except "fname".
let &l:includeexpr = "substitute(v:fname, '^.\\{-}{\\|}.*', '', 'g')"

View File

@@ -9,4 +9,7 @@ if exists("b:did_ftplugin")
endif
let b:did_ftplugin = 1
let b:undo_ftplugin = "setlocal comments< commentstring<"
setlocal comments=:#
setlocal commentstring=#\ %s

23
runtime/ftplugin/toml.vim Normal file
View File

@@ -0,0 +1,23 @@
" Vim filetype plugin
" Language: TOML
" Homepage: https://github.com/cespare/vim-toml
" Maintainer: Aman Verma
" Author: Kevin Ballard <kevin@sb.org>
" Last Change: Sep 21, 2021
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
let s:save_cpo = &cpo
set cpo&vim
let b:undo_ftplugin = 'setlocal commentstring< comments<'
setlocal commentstring=#\ %s
setlocal comments=:#
let &cpo = s:save_cpo
unlet s:save_cpo
" vim: et sw=2 sts=2

View File

@@ -219,7 +219,7 @@ function GetAdaIndent()
" Move indent in twice (next 'when' will move back)
let ind = ind + 2 * shiftwidth()
elseif line =~ '^\s*end\s*record\>'
" Move indent back to tallying 'type' preceeding the 'record'.
" Move indent back to tallying 'type' preceding the 'record'.
" Allow indent to be equal to 'end record's.
let ind = s:MainBlockIndent( ind+shiftwidth(), lnum, 'type\>', '' )
elseif line =~ '\(^\s*new\>.*\)\@<!)\s*[;,]\s*$'

View File

@@ -1,5 +1,6 @@
" Description: Comshare Dimension Definition Language (CDL)
" Author: Raul Segura Acevedo <raulseguraaceved@netscape.net>
" Maintainer: Raul Segura Acevedo <raulseguraaceved@netscape.net> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Last Change: Fri Nov 30 13:35:48 2001 CST
if exists("b:did_indent")
@@ -16,8 +17,8 @@ if exists("*CdlGetIndent")
"finish
endif
" find out if an "...=..." expresion is an assignment (or a conditional)
" it scans 'line' first, and then the previos lines
" find out if an "...=..." expression is an assignment (or a conditional)
" it scans 'line' first, and then the previous lines
fun! CdlAsignment(lnum, line)
let f = -1
let lnum = a:lnum
@@ -33,7 +34,7 @@ fun! CdlAsignment(lnum, line)
endif
" it's formula if there's a ';', 'elsE', 'theN', 'enDif' or 'expr'
" conditional if there's a '<', '>', 'elseif', 'if', 'and', 'or', 'not',
" 'memberis', 'childrenof' and other \k\+of funcions
" 'memberis', 'childrenof' and other \k\+of functions
let f = line[inicio-1] =~? '[en;]' || strpart(line, inicio-4, 4) =~? 'ndif\|expr'
endw
let lnum = prevnonblank(lnum-1)
@@ -106,7 +107,7 @@ fun! CdlGetIndent(lnum)
elseif c == '(' || c ==? 'f' " '(' or 'if'
let ind = ind + shiftwidth()
else " c == '='
" if it is an asignment increase indent
" if it is an assignment increase indent
if f == -1 " we don't know yet, find out
let f = CdlAsignment(lnum, strpart(line, 0, inicio))
end
@@ -117,11 +118,11 @@ fun! CdlGetIndent(lnum)
endw
" CURRENT LINE, if it starts with a closing element, decrease indent
" or if it starts with '=' (asignment), increase indent
" or if it starts with '=' (assignment), increase indent
if match(thisline, '^\c\s*\(else\|then\|endif\|[);]\)') >= 0
let ind = ind - shiftwidth()
elseif match(thisline, '^\s*=') >= 0
if f == -1 " we don't know yet if is an asignment, find out
if f == -1 " we don't know yet if is an assignment, find out
let f = CdlAsignment(lnum, "")
end
if f == 1 " formula increase it

View File

@@ -7,6 +7,7 @@
" Ankit Jain 22.03.2019 Changes & fixes:
" Allow chars in 1st 6 columns
" #C22032019
" Ankit Jain 24.09.2021 add b:undo_indent (request by tpope)
if exists("b:did_indent")
finish
@@ -18,6 +19,8 @@ setlocal indentexpr=GetCobolIndent(v:lnum)
setlocal indentkeys&
setlocal indentkeys+=0<*>,0/,0$,0=01,=~division,=~section,0=~end,0=~then,0=~else,0=~when,*<Return>,.
let b:undo_indent = "setlocal expandtab< indentexpr< indentkeys<"
" Only define the function once.
if exists("*GetCobolIndent")
finish

View File

@@ -1,9 +1,10 @@
" Vim indent file
" Language: Autoconf configure.{ac,in} file
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20
" TODO: how about nested [()]'s in one line
" what's wrong with '\\\@!'?
" Language: Autoconf configure.{ac,in} file
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 24 Sep 2021
" TODO: how about nested [()]'s in one line what's wrong with '\\\@!'?
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -16,6 +17,8 @@ setlocal indentexpr=GetConfigIndent()
setlocal indentkeys=!^F,o,O,=then,=do,=else,=elif,=esac,=fi,=fin,=fil,=done
setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
" Only define the function once.
if exists("*GetConfigIndent")
finish
@@ -62,8 +65,8 @@ function GetConfigIndent()
let ind = s:GetOffsetOf(line, '\[')
endif
" if previous line had an unmatched closing parantheses,
" indent to the matching opening parantheses
" if previous line had an unmatched closing parentheses,
" indent to the matching opening parentheses
if line =~ '[^(]\+\\\@<!)$'
call search(')', 'bW')
let lnum = searchpair('\\\@<!(', '', ')', 'bWn')

View File

@@ -1,8 +1,10 @@
" Vim indent file
" Language: CSS
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2012-05-30
" Use of shiftwidth() added by Oleg Zubchenko.
" Language: CSS
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 24 Sep 2021
" Use of shiftwidth() added by Oleg Zubchenko.
if exists("b:did_indent")
finish
@@ -13,7 +15,7 @@ setlocal indentexpr=GetCSSIndent()
setlocal indentkeys=0{,0},!^F,o,O
setlocal nosmartindent
let b:undo_indent = "setl smartindent< indentkeys< indentexpr<"
let b:undo_indent = "setl inde< indk< si<"
if exists("*GetCSSIndent")
finish

View File

@@ -1,7 +1,7 @@
" Vim indent file for the D programming language (version 0.137).
"
" Language: D
" Maintainer: Jason Mills<jmills@cs.mun.ca>
" Maintainer: Jason Mills <jmills@cs.mun.ca> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Last Change: 2005 Nov 22
" Version: 0.1
"

View File

@@ -1,12 +1,15 @@
" Vim indent file
" Language: DTD (Document Type Definition for XML)
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2011-07-08
" Language: DTD (Document Type Definition for XML)
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 24 Sep 2021
setlocal indentexpr=GetDTDIndent()
setlocal indentkeys=!^F,o,O,>
setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
if exists("*GetDTDIndent")
finish
endif
@@ -119,16 +122,16 @@ function GetDTDIndent()
" Next comes the content model. If the token weve found isnt a
" parenthesis it must be either ANY, EMPTY or some random junk. Either
" way, were done indenting this element, so set it to that of the first
" line so that the terminating “>” winds up having the same indention.
" line so that the terminating “>” winds up having the same indentation.
if token != '('
return indent
endif
" Now go through the content model. We need to keep track of the nesting
" of parentheses. As soon as we hit 0 were done. If that happens we must
" have a complete content model. Thus set indention to be the same as that
" have a complete content model. Thus set indentation to be the same as that
" of the first line so that the terminating “>” winds up having the same
" indention. Otherwise, well indent to the innermost parentheses not yet
" indentation. Otherwise, well indent to the innermost parentheses not yet
" matched.
let [indent_of_innermost, end] = s:indent_to_innermost_parentheses(line, end)
if indent_of_innermost != -1

View File

@@ -1,8 +1,9 @@
" Vim indent file
" Language: Dylan
" Maintainer: Brent A. Fulgham <bfulgham@debian.org> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Version: 0.01
" Last Change: 2017 Jun 13
" Maintainer: Brent A. Fulgham <bfulgham@debian.org>
" Only load this indent file when no other was loaded.
if exists("b:did_indent")

View File

@@ -4,7 +4,7 @@
" Original Author: Joseph Hager <ajhager@gmail.com>
" Copyright: Joseph Hager <ajhager@gmail.com>
" License: BSD3
" Latest Revision: 2020-05-29
" Latest Revision: 2021-09-29
" Only load this indent file when no other was loaded.
if exists('b:did_indent')
@@ -19,6 +19,8 @@ setlocal indentkeys+=0=else,0=if,0=of,0=import,0=then,0=type,0\|,0},0\],0),=-},0
setlocal nolisp
setlocal nosmartindent
let b:undo_indent = "setl et< inde< indk< lisp< si<"
" Only define the function once.
if exists('*GetElmIndent')
finish

View File

@@ -57,7 +57,7 @@ endfunction
" ======================
" Indtokens are "indentation tokens". See their exact format in the
" documentaiton of the s:GetTokensFromLine function.
" documentation of the s:GetTokensFromLine function.
" Purpose:
" Calculate the new virtual column after the given segment of a line.
@@ -75,7 +75,7 @@ endfunction
" s:CalcVCol("\t'\tx', b", 1, 4, 4) -> 10
function! s:CalcVCol(line, first_index, last_index, vcol, tabstop)
" We copy the relevent segment of the line, otherwise if the line were
" We copy the relevant segment of the line, otherwise if the line were
" e.g. `"\t", term` then the else branch below would consume the `", term`
" part at once.
let line = a:line[a:first_index : a:last_index]
@@ -604,7 +604,7 @@ endfunction
function! s:BeginElementFoundIfEmpty(stack, token, curr_vcol, stored_vcol, sw)
if empty(a:stack)
if a:stored_vcol ==# -1
call s:Log(' "' . a:token . '" directly preceeds LTI -> return')
call s:Log(' "' . a:token . '" directly precedes LTI -> return')
return [1, a:curr_vcol + a:sw]
else
call s:Log(' "' . a:token .
@@ -825,7 +825,7 @@ function! s:ErlangCalcIndent2(lnum, stack)
if ret | return res | endif
if stored_vcol ==# -1
call s:Log(' End of clause directly preceeds LTI -> return')
call s:Log(' End of clause directly precedes LTI -> return')
return 0
else
call s:Log(' End of clause (but not end of line) -> return')

View File

@@ -1,7 +1,8 @@
" Vim indent file
" Language: Eterm configuration file
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20
" Language: Eterm configuration file
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 24 Sep 2021
if exists("b:did_indent")
finish
@@ -12,6 +13,8 @@ setlocal indentexpr=GetEtermIndent()
setlocal indentkeys=!^F,o,O,=end
setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
if exists("*GetEtermIndent")
finish
endif

View File

@@ -1,7 +1,8 @@
" Vim indent file
" Language: FrameScript
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2008-07-19
" Language: FrameScript
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 24 Sep 2021
if exists("b:did_indent")
finish
@@ -12,6 +13,8 @@ setlocal indentexpr=GetFrameScriptIndent()
setlocal indentkeys=!^F,o,O,0=~Else,0=~EndIf,0=~EndLoop,0=~EndSub
setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
if exists("*GetFrameScriptIndent")
finish
endif

View File

@@ -1,8 +1,14 @@
" Vim indent file
" Language: Hamster Script
" Version: 2.0.6.0
" Last Change: Wed Nov 08 2006 12:02:42 PM
" Maintainer: David Fishburn <fishburn@ianywhere.com>
" Version: 2.0.6.1
" Last Change: 2021 Oct 11
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Download: https://www.vim.org/scripts/script.php?script_id=1099
"
" 2.0.6.1 (Oct 2021)
" Added b:undo_indent
" Added cpo check
"
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -14,12 +20,17 @@ setlocal indentkeys+==~if,=~else,=~endif,=~endfor,=~endwhile
setlocal indentkeys+==~do,=~until,=~while,=~repeat,=~for,=~loop
setlocal indentkeys+==~sub,=~endsub
let b:undo_indent = "setl indentkeys<"
" Define the appropriate indent function but only once
setlocal indentexpr=HamGetFreeIndent()
if exists("*HamGetFreeIndent")
finish
endif
let s:keepcpo = &cpo
set cpo&vim
function HamGetIndent(lnum)
let ind = indent(a:lnum)
let prevline=getline(a:lnum)
@@ -52,4 +63,8 @@ function HamGetFreeIndent()
return ind
endfunction
" Restore:
let &cpo = s:keepcpo
unlet s:keepcpo
" vim:sw=2 tw=80

View File

@@ -1,7 +1,8 @@
" IDL (Interactive Data Language) indent file.
" Language: IDL (ft=idlang)
" Language: IDL (ft=idlang)
" Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Last change: 2017 Jun 13
" Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com>
" Only load this indent file when no other was loaded.
if exists("b:did_indent")

View File

@@ -1,6 +1,6 @@
" Vim indent file
" Language: JSON
" Mantainer: Eli Parra <eli@elzr.com> https://github.com/elzr/vim-json
" Maintainer: Eli Parra <eli@elzr.com> https://github.com/elzr/vim-json
" Last Change: 2020 Aug 30
" https://github.com/jakar/vim-json/commit/20b650e22aa750c4ab6a66aa646bdd95d7cd548a#diff-e81fc111b2052e306d126bd9989f7b7c
" Original Author: Rogerz Zhang <rogerz.zhang at gmail.com> http://github.com/rogerz/vim-json

View File

@@ -1,7 +1,8 @@
" Vim indent file
" Language: ld(1) script
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20
" Language: ld(1) script
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 24 Sep 2021
if exists("b:did_indent")
finish
@@ -12,6 +13,8 @@ setlocal indentexpr=GetLDIndent()
setlocal indentkeys=0{,0},!^F,o,O
setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
if exists("*GetLDIndent")
finish
endif

View File

@@ -11,7 +11,7 @@ endif
let b:did_indent = 1
" LifeLines uses cindent without ; line terminator, C functions
" declarations, C keywords, C++ formating
" declarations, C keywords, C++ formatting
setlocal cindent
setlocal cinwords=""
setlocal cinoptions+=+0

View File

@@ -1,7 +1,7 @@
" Vim indent file
" Language: Mail
" Maintainer: Bram Moolenaar
" Last Change: 2009 Jun 03
" Last Change: 2021 Sep 26
if exists("b:did_indent")
finish
@@ -11,3 +11,5 @@ let b:did_indent = 1
" What works best is auto-indenting, disable other indenting.
" For formatting see the ftplugin.
setlocal autoindent nosmartindent nocindent indentexpr=
let b:undo_indent = "setl ai< cin< inde< si<"

View File

@@ -1,7 +1,8 @@
" Vim indent file
" Language: Makefile
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2007-05-07
" Language: Makefile
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 24 Sep 2021
if exists("b:did_indent")
finish
@@ -12,6 +13,8 @@ setlocal indentexpr=GetMakeIndent()
setlocal indentkeys=!^F,o,O,<:>,=else,=endif
setlocal nosmartindent
let b:undo_indent = "setl ai< inde< indk<"
if exists("*GetMakeIndent")
finish
endif

View File

@@ -2,6 +2,7 @@
" Language: MATLAB
" Maintainer: Axel Forsman <axelsfor@gmail.com>
" Previous maintainer: Christophe Poucet <christophe.poucet@pandora.be>
" Last Update: 2021-10-01
" Only load if no other indent file is loaded
if exists('b:did_indent') | finish | endif
@@ -9,6 +10,7 @@ let b:did_indent = 1
setlocal indentexpr=GetMatlabIndent()
setlocal indentkeys=!,o,O,e,0=end,0=elseif,0=case,0=otherwise,0=catch,0=function,0=elsei
let b:undo_indent = "setlocal indentexpr< indentkeys<"
" The value of the Function indenting format in
" MATLAB Editor/Debugger Language Preferences.

View File

@@ -1,9 +1,10 @@
" Vim indent file
" Language: Mathematica
" Author: steve layland <layland@wolfram.com>
" Last Change: Sat May 10 18:56:22 CDT 2005
" Source: http://vim.sourceforge.net/scripts/script.php?script_id=1274
" http://members.wolfram.com/layland/vim/indent/mma.vim
" Language: Mathematica
" Maintainer: Steve Layland <layland@wolfram.com> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Last Change: Sat May 10 18:56:22 CDT 2005
" Source: http://vim.sourceforge.net/scripts/script.php?script_id=1274
" http://members.wolfram.com/layland/vim/indent/mma.vim
"
" NOTE:
" Empty .m files will automatically be presumed to be Matlab files

17
runtime/indent/nginx.vim Normal file
View File

@@ -0,0 +1,17 @@
" Vim indent file
" Language: nginx.conf
" Maintainer: Chris Aumann <me@chr4.org>
" Last Change: Apr 15, 2017
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentexpr=
" cindent actually works for nginx' simple file structure
setlocal cindent
" Just make sure that the comments are not reset as defs would be.
setlocal cinkeys-=0#

View File

@@ -15,7 +15,7 @@ setlocal cindent
" Set the function to do the work.
setlocal indentexpr=GetObjCIndent()
" To make a colon (:) suggest an indentation other than a goto/swich label,
" To make a colon (:) suggest an indentation other than a goto/switch label,
setlocal indentkeys-=:
setlocal indentkeys+=<:>

View File

@@ -1,6 +1,7 @@
" Vim indent file
" Language: occam
" Maintainer: Mario Schweigler <ms44@kent.ac.uk>
" Maintainer: Mario Schweigler <ms44@kent.ac.uk> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Last Change: 23 April 2003
" Only load this indent file when no other was loaded.

View File

@@ -2,11 +2,9 @@
" Language: Pascal
" Maintainer: Neil Carter <n.carter@swansea.ac.uk>
" Created: 2004 Jul 13
" Last Change: 2021 Jul 01
" Last Change: 2021 Sep 22
"
" This is version 2.0, a complete rewrite.
"
" For further documentation, see http://psy.swansea.ac.uk/staff/carter/vim/
" For further documentation, see https://psy.swansea.ac.uk/staff/carter/vim/
if exists("b:did_indent")
@@ -20,13 +18,14 @@ setlocal indentkeys+==end;,==const,==type,==var,==begin,==repeat,==until,==for
setlocal indentkeys+==program,==function,==procedure,==object,==private
setlocal indentkeys+==record,==if,==else,==case
let b:undo_indent = "setl indentkeys< indentexpr<"
let b:undo_indent = 'setlocal indentexpr< indentkeys<'
if exists("*GetPascalIndent")
finish
endif
" ________________________________________________________________
function! s:GetPrevNonCommentLineNum( line_num )
" Skip lines starting with a comment
@@ -44,6 +43,7 @@ function! s:GetPrevNonCommentLineNum( line_num )
endfunction
" ________________________________________________________________
function! s:PurifyCode( line_num )
" Strip any trailing comments and whitespace
let pureline = 'TODO'
@@ -51,6 +51,7 @@ function! s:PurifyCode( line_num )
endfunction
" ________________________________________________________________
function! GetPascalIndent( line_num )
" Line 0 always goes at column 0
@@ -184,7 +185,7 @@ function! GetPascalIndent( line_num )
endif
" ____________________________________________________________________
" ________________________________________________________________
" Object/Borland Pascal/Delphi Extensions
"
" Note that extended-pascal is handled here, unless it is simpler to
@@ -222,8 +223,6 @@ function! GetPascalIndent( line_num )
endif
" ____________________________________________________________________
" If nothing changed, return same indent.
return indnt
endfunction

View File

@@ -1,7 +1,8 @@
" PostScript indent file
" Language: PostScript
" Maintainer: Mike Williams <mrw@netcomuk.co.uk>
" Last Change: 2nd July 2001
" Language: PostScript
" Maintainer: Mike Williams <mrw@netcomuk.co.uk> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Last Change: 2nd July 2001
"
" Only load this indent file when no other was loaded.

View File

@@ -44,7 +44,7 @@ function GetPoVRayIndent()
return -1
endif
" Search backwards for the frist non-empty, non-comment line.
" Search backwards for the first non-empty, non-comment line.
let plnum = prevnonblank(v:lnum - 1)
let plind = indent(plnum)
while plnum > 0 && synIDattr(synID(plnum, plind+1, 0), "name") =~? "comment"

View File

@@ -1,7 +1,8 @@
" vim: set sw=4 sts=4:
" Maintainer : Gergely Kontra <kgergely@mcl.hu>
" Revised on : 2002.02.18. 23:34:05
" Language : Prolog
" Language: Prolog
" Maintainer: Gergely Kontra <kgergely@mcl.hu> (Invalid email address)
" Doug Kearns <dougkearns@gmail.com>
" Revised on: 2002.02.18. 23:34:05
" Last change by: Takuya Fujiwara, 2018 Sep 23
" TODO:

View File

@@ -2,7 +2,7 @@
" Language: Python
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Original Author: David Bustos <bustos@caltech.edu>
" Last Change: 2021 May 26
" Last Change: 2021 Sep 26
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -17,6 +17,8 @@ setlocal autoindent " indentexpr isn't much help otherwise
setlocal indentexpr=GetPythonIndent(v:lnum)
setlocal indentkeys+=<:>,=elif,=except
let b:undo_indent = "setl ai< inde< indk< lisp<"
" Only define the function once.
if exists("*GetPythonIndent")
finish

View File

@@ -1,7 +1,8 @@
" Vim indent file
" Language: readline configuration file
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20
" Language: readline configuration file
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 24 Sep 2021
if exists("b:did_indent")
finish
@@ -12,6 +13,8 @@ setlocal indentexpr=GetReadlineIndent()
setlocal indentkeys=!^F,o,O,=$else,=$endif
setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
if exists("*GetReadlineIndent")
finish
endif

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