Compare commits

...

364 Commits

Author SHA1 Message Date
Christian Brabandt
c9a4a8ab28 patch 9.0.1663: Termdebug on MS-Windows: some file names are not recognized
Problem:    Termdebug on MS-Windows: some file names are not recognized.
Solution:   Do not always change \t and \n. (Christian Brabandt,
            closes #12565, closes #12560, closes #12550)
2023-06-24 20:02:25 +01:00
Bram Moolenaar
4e2406c7a9 patch 9.0.1662: crash when using a class member twice
Problem:    Crash when using a class member twice. (Christian J. Robinson)
Solution:   Make a copy of the value.
2023-06-24 19:22:21 +01:00
Son Luong Ngoc
b46e0f3263 patch 9.0.1661: BUCK files are not recognized
Problem:    BUCK files are not recognized.
Solution:   Recognize BUCK files as "bzl". (Son Luong Ngoc, closes #12564)
2023-06-24 17:11:04 +01:00
Yegappan Lakshmanan
2d8e998544 patch 9.0.1660: error for using matchfuzzy() returning a list of dicts
Problem:    Error for using matchfuzzy() in Vim9 script returning a list of
            dicts.
Solution:   Make return type of matchfuzzy() list<any>. (Yegappan Lakshmanan,
            closes #12574)
2023-06-24 16:42:25 +01:00
Christian Brabandt
279de0cd1f patch 9.0.1659: Termdebug: default highlight cleared if changing colorscheme
Problem:    Termdebug: default highlight cleared when changing colorscheme.
Solution:   Use a ColorScheme autocommand. (Christian Brabandt, closes #12566,
            closes #12555)
2023-06-24 14:20:36 +01:00
Christian Brabandt
c8b6d4b378 patch 9.0.1658: autoload files for "zig" are not installed
Problem:    Autoload files for "zig" are not installed.
Solution:   Add install and uninstall rules in the makefile. (Christian
            Brabandt, closes #12577, closes #12567)
2023-06-24 13:30:04 +01:00
Bram Moolenaar
79186bee78 patch 9.0.1657: one more syntax test depends on the system
Problem:    One more syntax test depends on the system.
Solution:   Use "dash" instead of "sh".
2023-06-24 01:35:51 +01:00
Bram Moolenaar
7d0dbd0070 patch 9.0.1656: syntax test fails when detected shell type differs
Problem:    Syntax test fails when detected shell type differs.
Solution:   Avoid using "/bin/sh", it depends on the system.  Add a check that
            the shell type detection is correct.
2023-06-24 00:56:50 +01:00
Bram Moolenaar
2f43ec9363 patch 9.0.1655: syntax test fails when Vim window is not tall enough
Problem:    Syntax test fails when Vim window is not tall enough.
Solution:   Make sure each terminal window is closed.
2023-06-23 22:59:26 +01:00
Bram Moolenaar
813b7a85f2 patch 9.0.1654: MS-Windows: test for default 'viewdir' fails
Problem:    MS-Windows: test for default 'viewdir' fails.
Solution:   Escape the pattern.
2023-06-23 22:56:47 +01:00
Christian Brabandt
b8b1c8ebd4 patch 9.0.1653: Amiga: default 'viewdir' may not work
Problem:    Amiga: default 'viewdir' may not work.
Solution:   Use "home:" instead of "$VIM". Add a test. (Christian Brabandt,
            closes #12576)
2023-06-23 22:23:01 +01:00
Bram Moolenaar
bd32e8ad8d patch 9.0.1652: unclear why syntax test fails on Mac
Problem:    Unclear why syntax test fails on Mac.
Solution:   Echo v:errors when it's not empty.
2023-06-23 21:36:31 +01:00
Bram Moolenaar
10c1dbc06a patch 9.0.1651: unclear why syntax test fails on Mac
Problem:    Unclear why syntax test fails on Mac.
Solution:   Temporarily show the whole "messages" file.
2023-06-23 19:37:19 +01:00
Bram Moolenaar
801961d2c2 patch 9.0.1650: MS-Windows: default 'viewdir' may include read-only directory
Problem:    MS-Windows: default 'viewdir' may include read-only directory.
Solution:   Use $HOME instead of $VIM for 'viewdir' default. (closes #12119)
2023-06-23 16:15:13 +01:00
Bram Moolenaar
c6530c9d68 patch 9.0.1649: syntax test failure causes script to abort
Problem:    Syntax test failure causes script to abort.
Solution:   Fix appending string to list.
2023-06-22 23:04:11 +01:00
Bram Moolenaar
031d632188 patch 9.0.1648: result of syntax tests is hard to see
Problem:    Result of syntax tests is hard to see.
Solution:   List the failed tests.
2023-06-22 22:38:54 +01:00
Bram Moolenaar
1aa5f1c21f patch 9.0.1647: insufficient testing for syntax plugins
Problem:    Insufficient testing for syntax plugins.
Solution:   Add shell file examples. (Charles Campbell)  Create a messages
            file for easier debugging and reporting the test results.
2023-06-22 21:57:51 +01:00
Philip H
982ded68b6 patch 9.0.1646: CI: codecov may take a very long time to run
Problem:    CI: codecov may take a very long time to run.
Solution:   Add a timeout. (Philip Heiduck, closes #12559)
2023-06-22 18:12:46 +01:00
=?UTF-8?q?Dominique=20Pell=C3=A9?=
2b994da57a patch 9.0.1645: zserio files are not recognized
Problem:    zserio files are not recognized.
Solution:   Add a pattern for zserio files. (Dominique Pellé,
            closes #12544)
2023-06-22 14:36:39 +01:00
smjonas
bd087ae8f0 patch 9.0.1644: not all filetype file name matches are tested
Problem:    Not all filetype file name matches are tested.
Solution:   Add more file names to test with. (Jonas Strittmatter,
            closes #12569)
2023-06-22 12:41:19 +01:00
Bram Moolenaar
c12e4eecbb patch 9.0.1643: filetype detection fails if file name ends in many '~'
Problem:    Filetype detection fails if file name ends in many '~'.
Solution:   Strip multiple '~' at the same time. (closes #12553)
2023-06-22 12:18:57 +01:00
Bram Moolenaar
545c8a506e patch 9.0.1642: build failure with tiny features
Problem:    Build failure with tiny features.
Solution:   Add #ifdef's.
2023-06-21 15:51:47 +01:00
Bram Moolenaar
55f1b822d8 patch 9.0.1641: the log file does not give information about window sizes
Problem:    The log file does not give information about window sizes.
Solution:   Add a few log messages about obtaining the window size.
2023-06-21 13:42:48 +01:00
Bram Moolenaar
7f29122c8c patch 9.0.1640: compiler warning for unused variables without crypt feature
Problem:    Compiler warning for unused variables without the crypt feature.
Solution:   Adjust #ifdefs
2023-06-17 16:19:30 +01:00
Bram Moolenaar
bc385a150f patch 9.0.1639: build failure without the crypt feature
Problem:    Build failure without the crypt feature.
Solution:   Adjust #ifdefs
2023-06-17 15:35:03 +01:00
Bram Moolenaar
438d0c5e58 patch 9.0.1638: crypt tests hang and cause memory errors
Problem:    crypt tests hang and cause memory errors
Solution:   Move variable to start of function.
2023-06-17 15:00:27 +01:00
Christian Brabandt
54f50cbf6a patch 9.0.1637: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Move the variable to an inner block and initialize it. (Christian
            Brabandt, closes #12549)
2023-06-16 21:42:06 +01:00
zeertzjq
094dd152fe patch 9.0.1636: expanding a pattern interferes with cmdline completion
Problem:    Expanding a pattern interferes with command line completion.
Solution:   Set the file index only when appropriate. (closes #12519)
2023-06-15 22:51:57 +01:00
Bram Moolenaar
da51ad51bf patch 9.0.1635: error message is cleared when removing mode message
Problem:    Error message is cleared when removing mode message.
Solution:   Also reset flags when the message is further down.
2023-06-15 18:44:50 +01:00
Bram Moolenaar
800cdbb7ca patch 9.0.1634: message is cleared when removing mode message
Problem:    Message is cleared when removing mode message (Gary Johnson).
Solution:   Do not clear the command line after displaying a message.
2023-06-15 16:40:02 +01:00
zeertzjq
19dfa276c3 patch 9.0.1633: duplicate code for converting float to string
Problem:    Duplicate code for converting float to string.
Solution:   Use tv_get_string(). (closes #12521)
2023-06-15 10:56:41 +01:00
Marcin Szamotulski
166cd7b801 patch 9.0.1632: not all cabal config files are recognized
Problem:    Not all cabal config files are recognized.
Solution:   Add a couple of patterns. (Marcin Szamotulski, closes #12463)
2023-06-14 19:45:43 +01:00
zeertzjq
4c7cb372c1 patch 9.0.1631: passing wrong variable type to option gives multiple errors
Problem:    Passing a wrong variable type to an option gives multiple errors.
Solution:   Bail out early on failure. (closes #12504)
2023-06-14 16:39:54 +01:00
Ben Jackson
8d687a7424 patch 9.0.1630: "make clean" at the toplevel fails
Problem:    "make clean" at the toplevel fails.
Solution:   Clean the indent and syntax directories in a sub-shell.  (Ben
            Jackson, closes #12536, closes #12526)
2023-06-14 15:10:02 +01:00
Yegappan Lakshmanan
95707037af patch 9.0.1629: having utf16idx() rounding up is inconvenient
Problem:    Having utf16idx() rounding up is inconvenient.
Solution:   Make utf16idx() round down. (Yegappan Lakshmanan, closes #12523)
2023-06-14 13:10:15 +01:00
K.Takata
d5b952a871 patch 9.0.1628: syntax tests fail on FreeBSD
Problem:    Syntax tests fail on FreeBSD.
Solution:   Pass the Vim executable path with VIMPROG. (Ken Takata,
            closes #12535)  Adjust the paths.
2023-06-13 22:44:57 +01:00
Bram Moolenaar
46acad7284 patch 9.0.1627: no generic mechanism to test syntax plugins
Problem:    No generic mechanism to test syntax plugins.
Solution:   Add a syntax plugin test mechanism, using screendumps.  Add a
            simple test for "c".
2023-06-11 19:04:18 +01:00
Bram Moolenaar
10e8ff9b26 Update runtime files 2023-06-10 21:40:39 +01:00
Bram Moolenaar
f578ca2c8f patch 9.0.1626: Visual area not shown when using 'showbreak'
Problem:    Visual area not shown when using 'showbreak' and start of line is
            not visible. (Jaehwang Jung)
Solution:   Adjust "fromcol" for the space taken by 'showbreak'.
            (closes #12514)
2023-06-10 19:40:30 +01:00
Bram Moolenaar
ce723f3918 patch 9.0.1625: "super" is not considered a reserved name
Problem:    "super" is not considered a reserved name.
Solution:   Add "super" to the list of reserved names. (closes #12515)
2023-06-10 19:00:12 +01:00
Bram Moolenaar
5ca05fa59e patch 9.0.1624: crash when calling object constructor
Problem:    Crash when calling object constructor from legacy script. (Israel
            Chauca Fuentes)
Solution:   Pass a pointer for "ufunc". (closes #12502)
2023-06-10 16:45:13 +01:00
Bram Moolenaar
f07d1a7108 patch 9.0.1623: the program to filetype translation is not exported
Problem:    The program to filetype translation is not exported.
Solution:   Export Exe2filetype().
2023-06-09 21:01:47 +01:00
Christoph Sax
740df76c90 patch 9.0.1622: filetype name t32 is a bit obscure
Problem:    Filetype name t32 is a bit obscure.
Solution:   Rename t32 to trace32. (Christoph Sax, closes #12512)
2023-06-09 19:20:04 +01:00
Bram Moolenaar
c81dfaa69c patch 9.0.1621: FILETYPE_FILE is defined to the same value multiple times
Problem:    FILETYPE_FILE is defined to the same value multiple times.  Same
            for a few similar macros.
Solution:   Define FILETYPE_FILE and others in feature.h only
2023-06-08 22:16:23 +01:00
Bram Moolenaar
19548c6a74 patch 9.0.1620: Nix files are not recognized from the hashbang line
Problem:    Nix files are not recognized from the hashbang line.
Solution:   Add a hashbang check. (issue #12507)
2023-06-08 21:27:13 +01:00
Bram Moolenaar
85ef2df075 patch 9.0.1619: the focus gained/lost escape sequences cause trouble
Problem:    The focus gained/lost escape sequences cause trouble for a
            terminal where Vim does not expect them.
Solution:   Always recognize the codes for focus gained/lost. (closes #12499)
2023-06-08 18:44:01 +01:00
Christoph Sax
7fbcee6f92 patch 9.0.1618: Trace32 files are not recognized
Problem:    Trace32 files are not recognized.
Solution:   Add patterns for the t32 filetype. (Christoph Sax, closes #12505)
2023-06-08 17:57:19 +01:00
Yegappan Lakshmanan
577922b917 patch 9.0.1617: charidx() result is not consistent with byteidx()
Problem:    charidx() and utf16idx() result is not consistent with byteidx().
Solution:   When the index is equal to the length of the text return the
            lenght of the text instead of -1. (Yegappan Lakshmanan,
            closes #12503)
2023-06-08 17:09:45 +01:00
Shane Harper
5bf042810b patch 9.0.1616: quickfix text field is truncated
Problem:    Quickfix text field is truncated.
Solution:   Fix output of text field after pattern field in quickfix buffer.
            (Shane Harper, closes #12498)
2023-06-07 19:09:57 +01:00
ObserverOfTime
cdb7b4c508 patch 9.0.1615: URL shortcut files are not recognized
Problem:    URL shortcut files are not recognized.
Solution:   Add a pattern for URL shortcut files. (closes #12474)
2023-06-07 18:27:01 +01:00
zeertzjq
59f7038536 patch 9.0.1614: strlen() called too often for :spellrepall
Problem:    strlen() called too often for :spellrepall.
Solution:   Store the result in a variable. (closes #12497)
2023-06-06 15:59:59 +01:00
Gregory Anders
d1911a8e2b patch 9.0.1613: some make output gets picked up by 'errorformat'
Problem:    Some make output gets picked up by 'errorformat'.
Solution:   Ignore make output by default. (Gregory Anders, closes #12481)
2023-06-05 21:52:46 +01:00
Bram Moolenaar
15d4747ffd patch 9.0.1612: "skipcol" not reset when using multi-byte characters
Problem:    "skipcol" not reset when using multi-byte characters.
Solution:   Compare with w_virtcol instead of w_cursor.col. (closes #12457)
2023-06-05 20:44:55 +01:00
Bram Moolenaar
16d2c02c80 patch 9.0.1611: v:maxcol can be changed in a :for loop
Problem:    v:maxcol can be changed in a :for loop.
Solution:   Check for read-only loop variable. (closes #12470)
2023-06-05 19:46:18 +01:00
zeertzjq
d9a92dc70b patch 9.0.1610: display is wrong when 'smoothscroll' is set
Problem:    Display is wrong when 'smoothscroll' is set and scrolling multiple
            lines.
Solution:   Redraw with UPD_NOT_VALID when "skipcol" is or was set.
            (closes #12490, closes #12468)
2023-06-05 18:41:35 +01:00
Bram Moolenaar
f7ca56f719 patch 9.0.1609: crash when an object indirectly references itself
Problem:    Crash when an object indirectly references itself.
Solution:   Avoid clearing an object while it is already being cleared.
            (closes #12494)
2023-06-05 16:53:25 +01:00
Luuk van Baal
5c606846b9 patch 9.0.1608: update_topline() is called twice
Problem:    update_topline() is called twice.
Solution:   Do not call update_topline() before curs_columns(). (Luuk van
            Baal, closes #12495)
2023-06-05 15:00:05 +01:00
zeertzjq
55daae3921 patch 9.0.1607: screenpos() returns wrong row with diff filler lines
Problem:    screenpos() returns wrong row with diff filler lines.
Solution:   Only add filler lines when appropriate.  Also don't add the
            'smoothscroll' marker when w_skipcol is zero. (closes #12485,
            closes #12484)
2023-06-04 19:29:22 +01:00
zeertzjq
58e1e01045 patch 9.0.1606: using freed memory when 'foldcolumn' is set
Problem:    Using freed memory when 'foldcolumn' is set.
Solution:   Save extra pointer to free it later. (closes #12492)
2023-06-04 18:46:28 +01:00
Ernie Rael
114ec813b3 patch 9.0.1605: crash when calling method on super in child constructor
Problem:    Crash when calling method on super in child constructor. (Israel
            Chauca Fuentes)
Solution:   Clear the type list. (Ernie Rael, closes #12489, closes #12471)
2023-06-04 18:11:35 +01:00
Bram Moolenaar
abc8130d6a patch 9.0.1604: errors from the codestyle test are a bit confusing
Problem:    Errors from the codestyle test are a bit confusing.
Solution:   Use assert_report() with a clearer message.  Avoid a warning for
            an existing swap file.
2023-06-04 16:55:27 +01:00
zeertzjq
3c80227760 patch 9.0.1603: display wrong if scrolling multiple lines with 'smoothscroll'
Problem:    Display wrong when scrolling multiple lines with 'smoothscroll'
            set.
Solution:   Redraw when w_skipcol changed. (closes #12477, closes #12468)
2023-06-03 22:08:33 +01:00
zeertzjq
ecb87dd7d3 patch 9.0.1602: stray character visible if marker on top of double-wide char
Problem:    Stray character is visible if 'smoothscroll' marker is displayed
            on top of a double-wide character.
Solution:   When overwriting a double-width character with the 'smoothscroll'
            marker clear the second half. (closes #12469)
2023-06-03 19:45:06 +01:00
zeertzjq
664fd12aa2 patch 9.0.1601: filetype detection fails for *.conf file without comments
Problem:    Filetype detection fails for *.conf file without comments.
            (Dmitrii Tcyganok)
Solution:   Use "conf" filetype as a fallback for an empty .conf file.
            (closes #12487, closes #12483)
2023-06-03 17:56:30 +01:00
zeertzjq
f0e68c0e2a patch 9.0.1600: screenpos() does not take w_skipcol into account
Problem:    screenpos() does not take w_skipcol into account.
Solution:   Subtract w_skipcol from column. (closes #12486, closes #12476)
2023-06-03 17:11:47 +01:00
Luuk van Baal
a109f39ef5 patch 9.0.1599: Cursor not adjusted when 'splitkeep' is not "cursor"
Problem:    Cursor not adjusted when near top or bottom of window and
            'splitkeep' is not "cursor".
Solution:   Move boundary checks to outer cursor move functions, inner
            functions should only return valid cursor positions. (Luuk van
            Baal, closes #12480)
2023-06-02 14:16:35 +01:00
zeertzjq
47eec6716b patch 9.0.1598: screenchar() and others are wrong with DBCS 'encoding'
Problem:    screenchar(), screenchars() and screenstring() do not work
            properly when 'encoding' is set to a double-byte encoding.
Solution:   Fix the way the bytes of the characters are obtained.
            (issue #12469)
2023-06-01 20:26:55 +01:00
Bram Moolenaar
8509014add patch 9.0.1597: cursor ends up below the window after a put
Problem:    Cursor ends up below the window after a put.
Solution:   Mark w_crow and w_botline invalid when changing the cursor line.
            (closes #12465)
2023-06-01 19:27:08 +01:00
Julio B
eb43b7f053 patch 9.0.1596: :registers command does not work in sandbox
Problem:    :registers command does not work in sandbox.
Solution:   Add flag to the command. (closes #12473)
2023-06-01 12:45:22 +01:00
Luuk van Baal
e84c773d42 patch 9.0.1595: line pointer becomes invalid when using spell checking
Problem:    Line pointer becomes invalid when using spell checking.
Solution:   Call ml_get() at the right places. (Luuk van Baal, closes #12456)
2023-05-31 18:57:36 +01:00
RestorerZ
68ebcee023 patch 9.0.1594: some internal error messages are translated
Problem:    Some internal error messages are translated.
Solution:   Consistently do not translate internal error messages.
            (closes #12459)
2023-05-31 17:12:14 +01:00
K.Takata
3c240f608c patch 9.0.1593: MS-Windows: assert error when compiled with debug mode
Problem:    MS-Windows: assert error when compiled with debug mode.
Solution:   Adjust arguments to setvbuf(). (Ken Takata, closes #12467)
2023-05-31 12:47:45 +01:00
Bram Moolenaar
29b4c513b1 patch 9.0.1592: not all timer tests are marked as flaky
Problem:    Not all timer tests are marked as flaky.
Solution:   Set the flaky flag for all timer tests. (closes #12355)
2023-05-30 15:34:50 +01:00
Omar El Halabi
c9fbd2560f patch 9.0.1591: some "gomod" files are not recognized
Problem:    Some "gomod" files are not recognized.
Solution:   Check for "go.mod" file name before checking out the contents.
            (Omar El Halabi, closes #12462)
2023-05-29 19:59:45 +01:00
Bram Moolenaar
247caa378f patch 9.0.1590: filetype test has trailing white space
Problem:    Filetype test has trailing white space.
Solution:   Remove trailing white space.
2023-05-29 17:37:13 +01:00
Bram Moolenaar
b140c114f6 patch 9.0.1589: filetype test contains too many special characters
Problem:    Filetype test contains too many special characters.
Solution:   Use Vim9 syntax for a few things.
2023-05-29 17:06:05 +01:00
K.Takata
9cf6ab1332 patch 9.0.1588: Incsearch not triggered when pasting clipboard register
Problem:    Incsearch not triggered when pasting clipboard register on the
            command line.
Solution:   Also set "literally" when using a clipboard register. (Ken Takata,
            closes #12460)
2023-05-29 16:08:08 +01:00
Jake Stanger
05843e8960 patch 9.0.1587: Corn config files are not recognized
Problem:    Corn config files are not recognized.
Solution:   Add a pattern for Corn config files. (Jake Stanger, closes #12449)
2023-05-28 22:11:21 +01:00
Bram Moolenaar
78ee62563e patch 9.0.1586: error for using two messages with ngettext() differing in "%"
Problem:    Checking translations gives an error for using two messages with
            ngettext() that differ in "%" items.
Solution:   Adjust the check script to tolerate omitting one "%" item.
2023-05-28 18:39:55 +01:00
Luuk van Baal
30805a1aba patch 9.0.1585: weird use of static variables for spell checking
Problem:    Weird use of static variables for spell checking.
Solution:   Move the variables to a structure and pass them from win_update()
            to win_line(). (Luuk van Baal, closes #12448)
2023-05-27 22:22:10 +01:00
Bram Moolenaar
1ba0b9e36f patch 9.0.1584: not all meson files are recognized
Problem:    Not all meson files are recognized.
Solution:   Add "meson.options". (Liam Beguin, closes #12444)
2023-05-27 19:01:52 +01:00
Bram Moolenaar
3a2a60ce4a patch 9.0.1583: get E304 when using 'cryptmethod' "xchacha20v2"
Problem:    Get E304 when using 'cryptmethod' "xchacha20v2". (Steve Mynott)
Solution:   Add 4th crypt method to block zero ID check.  Avoid syncing a swap
            file before reading the file. (closes #12433)
2023-05-27 18:02:55 +01:00
zeertzjq
a40c0bcc83 patch 9.0.1582: :stopinsert may not work in a popup close handler
Problem:    :stopinsert may not work in a popup close handler. (Ben Jackson)
Solution:   Restore stop_insert_mode when appropriate. (closes #12452,
            closes #12434)
2023-05-27 14:10:08 +01:00
Bram Moolenaar
a1d5f9f33c patch 9.0.1581: translation does not work for plural argument
Problem:    Translation does not work for plural argument.
Solution:   Use PLURAL_MSG() for errors and with xgettext. (closes #12443)
2023-05-27 13:40:11 +01:00
ichizok
9f3afe7a70 patch 9.0.1580: CI: indent test hangs on FreeBSD
Problem:    CI: indent test hangs on FreeBSD.
Solution:   Set 'nomore' when running the indent tests. (Ozaki Kiichi,
            closes #12446)
2023-05-26 14:40:45 +01:00
RestorerZ
d87dec0582 patch 9.0.1579: some error messages are not translated
Problem:    Some error messages are not translated.
Solution:   Add the N_() marker on messages. (closes #12427)
2023-05-25 20:13:48 +01:00
Luuk van Baal
2ac6497f0e patch 9.0.1578: SpellCap highlight not always updated when needed
Problem:    SpellCap highlight not always updated when needed.
Solution:   Handle updating line below closed fold and other situations where
            only part of the window is redrawn. (Luuk van Baal, closes #12428,
            closes #12420)
2023-05-25 17:14:42 +01:00
K.Takata
1271572a35 patch 9.0.1577: MS-Windows: context menu translations may be wrong
Problem:    MS-Windows: context menu translations may be wrong.
Solution:   Set the encoding before using gettext(). (Ken Takata,
            closes #12441, closes #12431)
2023-05-25 16:43:27 +01:00
Bram Moolenaar
097c5370ea patch 9.0.1576: users may not know what to do with an internal error
Problem:    Users may not know what to do with an internal error.
Solution:   Add a translated message with instructions.
2023-05-24 21:02:24 +01:00
Bram Moolenaar
a8490a4952 patch 9.0.1575: "file N of M" message is not translated
Problem:    "file N of M" message is not translated.
Solution:   Make argument count message translatable. (close #12429)
2023-05-23 18:00:58 +01:00
Bram Moolenaar
167fb6d39b patch 9.0.1574: MS-Windows: list of translation input files incomplete
Problem:    MS-Windows: list of translation input files incomplete.
Solution:   Move the list of files to a common file. (closes #12426)
2023-05-23 15:27:51 +01:00
Bram Moolenaar
d4a9b7f614 patch 9.0.1573: error for function name has wrong line number
Problem:    Error for function name has wrong line number.
Solution:   Set the line number before giving the error.
2023-05-23 14:48:42 +01:00
Bram Moolenaar
50809a45eb patch 9.0.1572: error messages are not translated
Problem:    Error messages are not translated.
Solution:   Add _().
2023-05-20 16:39:07 +01:00
Bram Moolenaar
79cdf026f1 patch 9.0.1571: RedrawingDisabled not used consistently
Problem:    RedrawingDisabled not used consistently.
Solution:   Avoid RedrawingDisabled going negative.  Set RedrawingDisabled in
            win_split_ins(). (closes #11961)
2023-05-20 14:07:00 +01:00
Bram Moolenaar
bf63011a52 patch 9.0.1570: some tests are slow
Problem:    Some tests are slow.
Solution:   Make a few test cases faster.
2023-05-19 21:41:02 +01:00
h-east
2bd6a09691 patch 9.0.1569: cannot use "this.member" in lambda in class method
Problem:    Cannot use "this.member" in lambda in class method.
Solution:   Adjust check for reserved keyword. (Hirohito Higashi,
            closes #12416, closes #12076, closes #12336)
2023-05-19 19:01:17 +01:00
Luuk van Baal
d49f646bf5 patch 9.0.1568: with 'smoothscroll' cursor may move below botline
Problem:    With 'smoothscroll' cursor may move below botline.
Solution:   Call redraw_later() if needed,  Compute cursor row with adjusted
            condition. (Luuk van Baal, closes #12415)
2023-05-19 14:04:47 +01:00
Isao Sato
d13c254d10 patch 9.0.1567: profiler calculation may be wrong on 32 bit builds
Problem:    Profiler calculation may be wrong on 32 bit builds.
Solution:   Use 64 bit variable if possible. (Isao Sato, closes #12412)
2023-05-19 13:20:34 +01:00
Bram Moolenaar
74ccbb1f7d patch 9.0.1566: Motif: GUI scrollbar test fails in 24 lines terminal
Problem:    Motif: GUI scrollbar test fails in 24 lines terminal.
Solution:   Skip the part of the test that fails for now.
2023-05-18 20:07:12 +01:00
Bram Moolenaar
6fadbc1e8c patch 9.0.1565: json lines files are not recognized
Problem:    Json lines files are not recognized.
Solution:   Add a pattern to detect "jsonl" files. (issue #7520)
2023-05-18 16:42:17 +01:00
Luuk van Baal
0222c2d103 patch 9.0.1564: display moves up and down with 'incsearch' and 'smoothscroll'
Problem:    Display moves up and down with 'incsearch' and 'smoothscroll'.
Solution:   Do not check if w_skipcol changed. (Luuk van Baal, closes #12410,
            closes #12409)
2023-05-18 13:26:57 +01:00
Bram Moolenaar
c0da540466 patch 9.0.1563: GTK3: window manager resize hints are incomplete
Problem:    GTK3: window manager resize hints are incomplete.
Solution:   Use NULL for second argument of gtk_window_set_geometry_hints().
            (Kenny Stauffer closes #11055)
2023-05-16 22:15:51 +01:00
Philip H
7268e53996 patch 9.0.1562: mixing package managers is not a good idea
Problem:    Mixing package managers is not a good idea.
Solution:   Install gcc 13 with apt-get. (closes #12405)
2023-05-16 20:11:02 +01:00
Luuk van Baal
798fa76dbf patch 9.0.1561: display wrong when moving cursor to above the top line
Problem:    Display wrong when moving cursor to above the top line and
            'smoothscroll' is set.
Solution:   Call adjust_skipcol() in more places and make it work better.
            (Luuk van Baal, closes #12395)
2023-05-15 18:17:43 +01:00
K.Takata
f741e3ec1f patch 9.0.1560: Win32: When 'encoding' is set $PATH has duplicate entries
Problem:    Win32: When 'encoding' is set $PATH has duplicate entries.
Solution:   Only append the directory if it is not there yet. (Ken Takata,
            closes #12400, closes #12372)
2023-05-15 16:41:40 +01:00
Bram Moolenaar
2ba51236fb patch 9.0.1559: function argument types not always checked
Problem:    Function argument types not always checked and using v:none may
            cause an error.
Solution:   Check argument types once the function type is known.  Do not give
            an error for using v:none as an argument. (closes #12200)
2023-05-15 16:22:38 +01:00
Bram Moolenaar
a2c0028fdf patch 9.0.1558: wrong error for unreachable code after :throw
Problem:    Wrong error for unreachable code after :throw.
Solution:   Adjust the error message.
2023-05-14 22:05:15 +01:00
Bram Moolenaar
9d383f30bb patch 9.0.1557: test failures for unreachable code
Problem:    Test failures for unreachable code.
Solution:   Add a test override to ignore unreachable code.
2023-05-14 21:38:12 +01:00
Bram Moolenaar
cf2610c82b patch 9.0.1556: Vim9: error for missing "return" after "throw"
Problem:    Vim9: error for missing "return" after "throw".
Solution:   Set had_return flag for "throw". (closes #12262)
2023-05-14 19:59:59 +01:00
Bram Moolenaar
b7398fe41c Update runtime files 2023-05-14 18:50:25 +01:00
zeertzjq
e5d91ba1de patch 9.0.1555: setcharsearch() does not clear last searched char properly
Problem:    setcharsearch() does not clear last searched char properly.
Solution:   Do not accept lastc_bytelen smaller than one. (closes #12398)
2023-05-14 17:39:18 +01:00
Yegappan Lakshmanan
e42c27d9e8 patch 9.0.1554: code for handling 'switchbuf' is repeated
Problem:    Code for handling 'switchbuf' is repeated.
Solution:   Add a function to handle 'switchbuf'. (Yegappan Lakshmanan,
            closes #12397)
2023-05-14 17:24:22 +01:00
Philip H
b6a19594b2 patch 9.0.1553: CI: using slightly outdated gcc version
Problem:    CI: using slightly outdated gcc version.
Solution:   Use "brew" to get a more recent gcc version.  (closes #12391)
2023-05-13 18:05:20 +01:00
Philip H
c416fd4ca8 patch 9.0.1552: CI: sound-dummy module is not installed
Problem:    CI: sound-dummy module is not installed.
Solution:   Invert using the result of the condition.  (closes #12394)
2023-05-13 17:46:10 +01:00
Luuk van Baal
24b62ec825 patch 9.0.1551: position of marker for 'smoothscroll' not computed correctly
Problem:    Position of marker for 'smoothscroll' not computed correctly.
Solution:   Take 'list' and other options into account. (Luuk van Baal,
            closes #12393)
2023-05-13 14:12:15 +01:00
Bram Moolenaar
81f277f526 patch 9.0.1550: in cmdline window S-Tab does not select previous completion
Problem:    In cmdline window S-Tab does not select previous completion.
            (Maxim Kim)
Solution:   Add a mappint for S-Tab. (closes #12116)
2023-05-13 13:55:09 +01:00
Colin Kennedy
b848ce6b7e patch 9.0.1549: USD filetype is not recognized
Problem:    USD filetype is not recognized.
Solution:   Add patterns for USD filetype. (Colin Kennedy, closes #12370)
2023-05-13 12:15:57 +01:00
Christian Brabandt
ff40b625a6 patch 9.0.1548: CI: check in sound-dummy module may throw an error
Problem:    CI: check in sound-dummy module may throw an error.
Solution:   Check whether apt-cache can show the package description.
            (Christian Brabandt, closes #12390)
2023-05-13 11:54:47 +01:00
Philip H
12eb0f4ec5 patch 9.0.1547: Coveralls workflow on CI is commented out
Problem:    Coveralls workflow on CI is commented out.
Solution:   Remove the Coveralls workflow. (closes #12389)
2023-05-12 18:47:28 +01:00
Yegappan Lakshmanan
54be5fb382 patch 9.0.1546: some commands for opening a file don't use 'switchbuf'
Problem:    Some commands for opening a file don't use 'switchbuf'.
Solution:   Use 'switchbuf' for more commands. (Yegappan Lakshmanan,
            closes #12383, closes #12381)
2023-05-12 17:49:13 +01:00
Luuk van Baal
8667a5678f patch 9.0.1545: text not scrolled when cursor moved with "g0" and "h"
Problem:    Text not scrolled when cursor moved with "g0" and "h".
Solution:   Adjust w_skipcol when needed. (Luuk van Baal, closes #12387)
2023-05-12 15:47:25 +01:00
ichizok
378447fc18 patch 9.0.1544: recent glibc marks sigset() as a deprecated
Problem:    Recent glibc marks sigset() as a deprecated.
Solution:   Use sigaction() in mch_signal() if possible. (Ozaki Kiichi,
            closes #12373)
2023-05-11 22:25:42 +01:00
Luuk van Baal
5d01f86d99 patch 9.0.1543: display errors when making topline shorter
Problem:    Display errors when making topline shorter and 'smoothscroll' is
            set.
Solution:   Reset w_skipcol when the topline becomes shorter than its current
            value. (Luuk van Baal, closes #12367)
2023-05-11 19:24:20 +01:00
Luuk van Baal
6c018680be patch 9.0.1542: line not fully displayed if it doesn't fit in the screen
Problem:    Line not fully displayed if it doesn't fit in the screen.
Solution:   Do not reset s_skipcol if not needed. (Luuk van Baal,
            closes #12376)
2023-05-11 18:38:14 +01:00
Philip H
e741f039cf patch 9.0.1541: CI: sound dummy is disabled
Problem:    CI: sound dummy is disabled.
Solution:   Make sound dummy work again. (closes #12380)
2023-05-11 15:22:58 +01:00
Yegappan Lakshmanan
f9dc278946 patch 9.0.1540: reverse() on string doesn't work in compiled function
Problem:    reverse() on string doesn't work in compiled function.
Solution:   Accept string in argument type check. (Yegappan Lakshmanan,
            closes #12377)
2023-05-11 15:02:56 +01:00
Gaetan Lepage
4ce1bda869 patch 9.0.1539: typst filetype is not recognized
Problem:    Typst filetype is not recognized.
Solution:   Distinguish between sql and typst. (Gaetan Lepage, closes #12363)
2023-05-10 22:01:55 +01:00
Bram Moolenaar
411da64e77 patch 9.0.1538: :wqall does not trigger ExitPre
Problem:    :wqall does not trigger ExitPre. (Bart Libert)
Solution:   Move preparations for :qall to a common function. (closes #12374)
2023-05-10 16:53:27 +01:00
Bram Moolenaar
65b34868da patch 9.0.1537: message for opening the cmdline window is not translated
Problem:    Message for opening the cmdline window is not translated.
Solution:   Add gettext() and scan the defaults script for text to be
            translated.  (closes #12371)
2023-05-10 14:47:50 +01:00
Bram Moolenaar
5fc7959dcb patch 9.0.1536: CI: sound dummy stopped working
Problem:    CI: sound dummy stopped working.
Solution:   Temporarily stop using sound dummy.
2023-05-09 22:13:58 +01:00
Bram Moolenaar
a4467c433a patch 9.0.1535: test commented out in a wrong way
Problem:    Test commented out in a wrong way.
Solution:   Use legacy script comment character.
2023-05-09 22:07:11 +01:00
Bram Moolenaar
916d6dd5b1 patch 9.0.1534: test for expanding "~" in substitute takes too long
Problem:    Test for expanding "~" in substitute takes too long.
Solution:   Disable the test for now.
2023-05-09 21:45:47 +01:00
Luuk van Baal
6f37e530d3 patch 9.0.1533: test for 'smoothscroll' is ineffective
Problem:    Test for 'smoothscroll' is ineffective.
Solution:   Change the order of testing "zb" and "zt". (Luuk van Baal,
            closes #12366)
2023-05-09 21:23:54 +01:00
Bram Moolenaar
ab9a2d884b patch 9.0.1532: crash when expanding "~" in substitute causes very long text
Problem:    Crash when expanding "~" in substitute causes very long text.
Solution:   Limit the text length to MAXCOL.
2023-05-09 21:15:30 +01:00
Bram Moolenaar
d1ae8366af patch 9.0.1531: crash when register contents ends up being invalid
Problem:    Crash when register contents ends up being invalid.
Solution:   Check "y_array" is not NULL.
2023-05-09 17:09:30 +01:00
Luuk van Baal
aa6ba308a1 patch 9.0.1530: cursor moves to wrong line when 'foldmethod' is "diff"
Problem:    Cursor moves to wrong line when 'foldmethod' is "diff". (Rick
            Howe)
Solution:   Adjust logic for scrolling. (Luuk van Baal, closes #12364,
            closes #12218)
2023-05-09 16:01:17 +01:00
Bram Moolenaar
c9471b1872 patch 9.0.1529: code style test doesn't check for space after "if"
Problem:    Code style test doesn't check for space after "if".
Solution:   Add a test for space.
2023-05-09 15:00:00 +01:00
Bram Moolenaar
dda01c05c2 patch 9.0.1528: libsodium encryption is only used with "huge" features
Problem:    Libsodium encryption is only used with "huge" features, even when
            manually enabled through configure. (Tony Mechelynck)
Solution:   Remove the condition on FEAT_HUGE.
2023-05-08 22:11:07 +01:00
Kenta Sato
c28e7a2b2f patch 9.0.1527: crash when using negative value for term_cols
Problem:    Crash when using negative value for term_cols.
Solution:   Check for invalid term_cols value. (Kenta Sato, closes #12362)
2023-05-08 18:26:03 +01:00
zeertzjq
d619d6a9c6 patch 9.0.1526: condition is always true
Problem:    Condition is always true.
Solution:   Remove unnecessary condition. (closes #12359)
2023-05-08 15:56:21 +01:00
Luuk van Baal
3ce8c38915 patch 9.0.1525: 'smoothscroll' does not always work properly
Problem:    'smoothscroll' does not always work properly.
Solution:   Do not reset w_skipcol after it was intentionally set.  (Luuk van
            Baal, closes #12360, closes #12199, closes #12323)
2023-05-08 15:51:14 +01:00
zeertzjq
8cf51376b8 patch 9.0.1524: passing -1 for bool is not always rejected
Problem:    Passing -1 for bool is not always rejected.
Solution:   Check for error in a better way. (closes #12358)
2023-05-08 15:31:38 +01:00
zeertzjq
276410e78f patch 9.0.1523: some error messages are not marked for translation
Problem:    Some error messages are not marked for translation.
Solution:   Surround the messages in _(). (closes #12356)
2023-05-07 21:59:33 +01:00
Bram Moolenaar
e4098457ab patch 9.0.1522: some functions give two error messages
Problem:    Some functions give two error messages.
Solution:   Do not give a second error message. (closes #12352)
2023-05-07 18:53:49 +01:00
zeertzjq
30b6d6104c patch 9.0.1521: failing redo of command with control characters
Problem:    Failing redo of command with control characters.
Solution:   Use AppendToRedobuffLit() for colon commands. (closes #12354)
2023-05-07 17:39:23 +01:00
Bram Moolenaar
048d9d2521 patch 9.0.1520: completion for option name includes all bool options
Problem:    Completion for option name includes all bool options.
Solution:   Do not recognize the "noinv" prefix.  Prefix "no" or "inv" when
            appropriate.
2023-05-06 22:21:11 +01:00
Bram Moolenaar
0b70aeb49d patch 9.0.1519: global 'filetype' is set when detected from file content
Problem:    Global 'filetype' is set when it is detected from the file content.
Solution:   Set the local 'filetype' option value.
2023-05-06 21:21:52 +01:00
Christian Brabandt
34a6a3617b patch 9.0.1518: search stats not always visible when searching backwards
Problem:    Search stats not always visible when searching backwards.
Solution:   Do not display the top/bot message on top of the search stats.
            (Christian Brabandt, closes #12322, closes #12222)
2023-05-06 19:20:20 +01:00
Rose
00d07e7682 patch 9.0.1517: MacOS: configure removes -O2 from $CFLAGS
Problem:    MacOS: configure removes -O2 from $CFLAGS.
Solution:   Only adjust $CFLAGS for gcc. (closes #12351)
2023-05-06 18:07:14 +01:00
zeertzjq
3ab3a86481 patch 9.0.1516: cannot use special keys in <Cmd> mapping
Problem:    Cannot use special keys in <Cmd> mapping.
Solution:   Do allow for special keys in <Cmd> and <ScriptCmd> mappings.
            (closes #12326)
2023-05-06 16:22:04 +01:00
Yegappan Lakshmanan
03ff1c2dde patch 9.0.1515: reverse() does not work for a String
Problem:    reverse() does not work for a String.
Solution:   Implement reverse() for a String. (Yegappan Lakshmanan,
            closes #12179)
2023-05-06 14:08:21 +01:00
Bram Moolenaar
45fcb7928a patch 9.0.1514: test waits unnecessarily long before checking screendump
Problem:    Test waits unnecessarily long before checking screendump.
Solution:   Remove TermWait() call.
2023-05-06 13:01:27 +01:00
Luuk van Baal
b926bf47d6 patch 9.0.1513: text scrolls unnecessarily when splitting
Problem:    Text scrolls unnecessarily when splitting and 'splitkeep' is not
            "cursor".
Solution:   Avoid resetting w_skipcol. (Luuk van Baal, closes #12334)
2023-05-06 12:53:50 +01:00
Luuk van Baal
c8502f9b88 patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Problem:    Inserting lines when scrolling with 'smoothscroll' set.
Solution:   Adjust line height computation for w_skipcol. (Luuk van Baal,
            closes #12350)
2023-05-06 12:40:15 +01:00
zeertzjq
12e7a1fe75 patch 9.0.1511: crash when using wrong arg types to assert_match()
Problem:    Crash when using wrong arg types to assert_match().
Solution:   Check for NULL pointer. (closes #12349)
2023-05-06 12:20:05 +01:00
Bram Moolenaar
70e8028a4d patch 9.0.1510: misleading variable name for error message
Problem:    Misleading variable name for error message.
Solution:   Change "name" to "number".  (closes #12345)
2023-05-05 22:58:34 +01:00
Bram Moolenaar
2391954036 patch 9.0.1509: error message lacks mentioning the erroneous argument
Problem:    Error message lacks mentioning the erroneous argument.
Solution:   Specify the argument that the error is for.
2023-05-05 22:12:22 +01:00
zeertzjq
f2588b6fc9 patch 9.0.1508: catch does not work when lines are joined with a newline
Problem:    Catch does not work when lines are joined with a newline.
Solution:   Set "nextcmd" appropriately. (closes #12348)
2023-05-05 17:22:35 +01:00
zeertzjq
53f5e51628 patch 9.0.1507: assert message is confusing with boolean result
Problem:    Assert message is confusing with boolean result.  assert_inrange()
            replaces message instead of adding it.
Solution:   Don't put quotes around expected boolean value.  Append message
            for assert_inrange(). (closes #12342, closes #12341)
2023-05-04 18:58:22 +01:00
zeertzjq
88bb3e0a48 patch 9.0.1506: line number not displayed when using 'smoothscroll'
Problem:    Line number not displayed when using 'smoothscroll'.
Solution:   Adjust condition for showing the line number. (closes #12333)
2023-05-02 20:52:59 +01:00
zeertzjq
a93d9cdc74 patch 9.0.1505: error when heredoc content looks like heredoc
Problem:    Error when heredoc content looks like heredoc.
Solution:   Handle curly expressions. (closes #12325)
2023-05-02 16:25:47 +01:00
h-east
17b695190d patch 9.0.1504: no error when calling remote_startserver("")
Problem:    No error when calling remote_startserver() with an empty string.
Solution:   Give an error for an empty string. (Hirohito Higashi,
            closes #12327)
2023-05-01 22:36:56 +01:00
Amaan Qureshi
2dcfe9ae1d patch 9.0.1503: Luau files are not recognized
Problem:    Luau files are not recognized.
Solution:   Add a patter for Luau files. (Amaan Qureshi, closes #12317)
2023-04-30 21:24:39 +01:00
Luuk van Baal
5b10a14098 patch 9.0.1502: no test for deleting the end of a long wrapped line
Problem:    No test for deleting the end of a long wrapped line.
Solution:   Add a test to check the right text is displayed. (Luuk van Baal,
            closes #12318)
2023-04-30 19:15:30 +01:00
Bram Moolenaar
3ef2e41128 patch 9.0.1501: crash with nested :try and :throw in catch block
Problem:    Crash with nested :try and :throw in catch block.
Solution:   Jump to :endtry before returning from function. (closes #12245)
2023-04-30 18:50:48 +01:00
zeertzjq
58a44751ce patch 9.0.1500: The falsy operator is not tested properly
Problem:    The falsy operator is not tested properly.
Solution:   Add a few more test cases. (closes #12319)
2023-04-30 15:29:56 +01:00
Bram Moolenaar
caf642c25d patch 9.0.1499: using uninitialized memory with fuzzy matching
Problem:    Using uninitialized memory with fuzzy matching.
Solution:   Initialize the arrays used to store match positions.
2023-04-29 21:38:04 +01:00
Bram Moolenaar
58806c1553 patch 9.0.1498: in a terminal window the cursor may jump around
Problem:    In a terminal window the cursor may jump around. (Kenny Stauffer)
Solution:   Do not move the cursor to the position for terminal-normal mode.
            (closes #12312)
2023-04-29 14:26:02 +01:00
Emir SARI
971cd2b8bc patch 9.0.1497: the ruler percentage can't be localized
Problem:    The ruler percentage can't be localized.
Solution:   Use a string that can be translated. (Emir Sari, closes #12311)
2023-04-29 12:09:53 +01:00
zeertzjq
0b933c331d patch 9.0.1496: test restoring register with wrong value
Problem:    Test restoring register with wrong value.
Solution:   Correct name of variable. (closes #12310)
2023-04-28 18:44:50 +01:00
Kenny Stauffer
660eb9f9db patch 9.0.1495: GTK3: hiding the mouse pointer does not work
Problem:    GTK3: hiding the mouse pointer does not work. (Rory O’Kane)
Solution:   Set alpha level to zero. (Kenny Stauffer, closes #12293,
            closes #3256)
2023-04-28 16:36:51 +01:00
Bram Moolenaar
bf1b713202 patch 9.0.1494: crash when recovering from corrupted swap file
Problem:    Crash when recovering from corrupted swap file.
Solution:   Bail out when the line index looks wrong. (closes #12276)
2023-04-27 21:13:12 +01:00
zeertzjq
4e1ca0d9a6 patch 9.0.1493: popup menu position wrong in window with toolbar
Problem:    Popup menu position wrong in window with toolbar.
Solution:   Take the window toolbar into account when positioning the popup
            menu. (closes #12308)
2023-04-27 19:36:55 +01:00
Bram Moolenaar
b7f2270bab patch 9.0.1492: using uninitialized memory when argument is missing
Problem:    Using uninitialized memory when argument is missing.
Solution:   Check there are sufficient arguments before the base.
            (closes #12302)
2023-04-27 16:24:07 +01:00
zeertzjq
fbf2071ac9 patch 9.0.1491: wrong scrolling with ls=0 and :botright split
Problem:    Wrong scrolling with ls=0 and :botright split.
Solution:   Add statusline before calling frame_new_height(). (closes #12299)
2023-04-26 19:01:44 +01:00
zeertzjq
73916bac5a patch 9.0.1490: the ModeChanged event may be triggered too often
Problem:    The ModeChanged event may be triggered too often.
Solution:   Only trigger ModeChanged when no operator is pending.
            (closes #12298)
2023-04-26 16:50:19 +01:00
ichizok
2f14716c46 patch 9.0.1489: crypt with libsodium is not tested on CI
Problem:    Crypt with libsodium is not tested on CI.
Solution:   Configure testing with libsodium. (Ozaki Kiichi, closes #12297)
2023-04-26 15:43:39 +01:00
ichizok
35a2ec18d6 patch 9.0.1488: xchacha20v2 crypt header is platform dependent
Problem:    xchacha20v2 crypt header is platform dependent.
Solution:   Avoid using "size_t". (Ozaki Kiichi, closses #12296)
2023-04-25 15:27:27 +01:00
Yegappan Lakshmanan
c3eddd2068 patch 9.0.1487: Content-type header for LSP channel not according to spec
Problem:    Content-type header for LSP channel not according to spec.
Solution:   Use "vscode-jsonrpc" instead of "vim-jsonrpc". (Yegappan
            Lakshmanan, closes #12295)
2023-04-25 14:54:54 +01:00
Samuel Dionne-Riel
cfc788c388 patch 9.0.1486: parallel make might not work
Problem:    Parallel make might not work.
Solution:   Add missing dependencies. (Samuel Dionne-Riel, closes #12288)
2023-04-24 22:41:53 +01:00
Christian Brabandt
67672ef097 patch 9.0.1485: no functions for converting from/to UTF-16 index
Problem:    no functions for converting from/to UTF-16 index.
Solution:   Add UTF-16 flag to existing funtions and add strutf16len() and
            utf16idx(). (Yegappan Lakshmanan, closes #12216)
2023-04-24 21:09:54 +01:00
Bram Moolenaar
e1b4822137 patch 9.0.1484: Coverity warns for using invalid array index
Problem:    Coverity warns for using invalid array index.
Solution:   Add entry for Xchacha, even though it is not used.
2023-04-24 18:11:35 +01:00
Bram Moolenaar
22363c6994 patch 9.0.1483: += operator does not work on class member
Problem:    += operator does not work on class member.
Solution:   Do not skip as if "this." was used. (Christian Brabandt,
            closes #12263)
2023-04-24 17:15:25 +01:00
Bram Moolenaar
2354b66ac5 patch 9.0.1482: crash when textprop has a very large "padding" value
Problem:    Crash when textprop has a very large "padding" value. (Yegappan
            Lakshmanan)
Solution:   Avoid the "after" count to go negative.
2023-04-23 21:42:25 +01:00
Christian Brabandt
aae583441b patch 9.0.1481: decrypting with libsodium may fail if the library changes
Problem:    Decrypting with libsodium may fail if the library changes.
Solution:   Add parameters used to the encrypted file header. (Christian
            Brabandt, closes #12279)
2023-04-23 17:50:22 +01:00
Luuk van Baal
dcd40cfca0 patch 9.0.1480: using popup menu may leave text in the command line
Problem:    Using popup menu may leave text in the command line.
Solution:   Clear the command line if the popup menu covered it. (Luuk van
            Baal, closes #12286)
2023-04-23 16:24:08 +01:00
Bram Moolenaar
f39d9e9dca patch 9.0.1479: small source file problems; outdated list of distrib. files
Problem:    Small source file problems; outdated list of distributed files.
Solution:   Small updates to source files and list of distributed files.
2023-04-22 22:54:40 +01:00
Bram Moolenaar
71badf9547 Update runtime files 2023-04-22 22:40:14 +01:00
Turiiya
80406c2618 patch 9.0.1478: filetypes for *.v files not detected properly
Problem:    Filetypes for *.v files not detected properly.
Solution:   Use the file contents to detect the filetype. (Turiiya,
            closes #12281)
2023-04-22 21:38:47 +01:00
Bram Moolenaar
b67ba03d3e patch 9.0.1477: crash when recovering from corrupted swap file
Problem:    Crash when recovering from corrupted swap file.
Solution:   Check for a valid page count. (closes #12275)
2023-04-22 21:14:26 +01:00
Bram Moolenaar
e7f05a8780 patch 9.0.1476: lines put in non-current window are not displayed
Problem:    Lines put in non-current window are not displayed. (Marius
            Gedminas)
Solution:   Don't increment the topline when inserting just above it.
            (closes #12212)
2023-04-22 15:35:28 +01:00
Philip H
9be736f2eb patch 9.0.1474: CI runs with old version of Ubuntu and tools
Problem:    CI runs with old version of Ubuntu and tools.
Solution:   Update CI to more recent versions. (closes #11092)
2023-04-21 19:51:22 +01:00
ichizok
017227079f patch 9.0.1473: CI does not run sound tests
Problem:    CI does not run sound tests.
Solution:   Re-enable sound tests.  Use "apt-get" instead of "apt". (Ozaki
            Kiichi, closes #12280)
2023-04-21 17:46:57 +01:00
Bram Moolenaar
8281a16efc patch 9.0.1472: ":drop fname" may change the last used tab page
Problem:    ":drop fname" may change the last used tab page.
Solution:   Restore the last used tab page when :drop has changed it.
            (closes #12087)
2023-04-20 18:07:57 +01:00
Michael Jarvis
be9624eb47 patch 9.0.1471: warnings for function declarations
Problem:    Warnings for function declarations.
Solution:   Add argument types. (Michael Jarvis, closes #12277)
2023-04-19 20:28:48 +01:00
zeertzjq
1be4b81bfb patch 9.0.1470: deferred functions invoked in unexpected order
Problem:    Deferred functions invoked in unexpected order when using :qa and
            autocommands.
Solution:   Call deferred functions for the current funccal before using the
            stack. (closes #12278)
2023-04-19 14:21:24 +01:00
zeertzjq
960cf9119e patch 9.0.1469: deferred functions not called from autocommands
Problem:    Deferred functions not called from autocommands.
Solution:   Also go through the funccal_stack. (closes #12267)
2023-04-18 21:52:54 +01:00
zeertzjq
a1f2b5ddc6 patch 9.0.1468: recursively calling :defer function if it does :qa
Problem:    Recursively calling :defer function if it does :qa in a compiled
            function.
Solution:   Clear the defer entry before calling the function. (closes #12271)
2023-04-18 21:04:53 +01:00
dundargoc
142ffb024d patch 9.0.1467: Jenkinsfiles are not recognized as groovy
Problem:    Jenkinsfiles are not recognized as groovy.
Solution:   Add a pattern for Jenkinsfiles. (closes #12236)
2023-04-18 20:53:22 +01:00
h-east
61378a1542 patch 9.0.1466: cannot use an object member name as a method argument
Problem:    Cannot use an object member name as a method argument.
Solution:   Do not give an error for using an object member name for a method
            argument. (Hirohito Higashi, closes #12241, closes #12225)
            Fix line number for other argument error.
2023-04-18 19:07:29 +01:00
ichizok
89f9ffbe81 patch 9.0.1465: Haiku build fails
Problem:    Haiku build fails.
Solution:   Do not include globals.h and proto.h twice. (Ozaki Kiichi,
            closes #12273)
2023-04-18 17:20:08 +01:00
Federico Mengozzi
6e5a9f9482 patch 9.0.1464: strace filetype detection is expensive
Problem:    Strace filetype detection is expensive.
Solution:   Match with a cheap pattern first. (Federico Mengozzi,
            closes #12220)
2023-04-17 22:31:38 +01:00
h-east
4c42c7eef4 patch 9.0.1463: virtual text truncation only works with Unicode 'encoding'
Problem:    Virtual text truncation only works with Unicode 'encoding'.
Solution:   Convert the ellipsis character to 'encoding' if needed. (Hirohito
            Higashi, closes #12233)
2023-04-17 21:44:57 +01:00
Bram Moolenaar
42994bf678 patch 9.0.1462: recursively calling :defer function if it does :qa
Problem:    Recursively calling :defer function if it does :qa.
Solution:   Clear the defer entry before calling the function. (closes #12266)
2023-04-17 19:23:45 +01:00
Sean Dewar
fc8a601c32 patch 9.0.1461: ruler not drawn correctly when using 'rulerformat'
Problem:    Ruler not drawn correctly when using 'rulerformat'.
Solution:   Adjust formatting depending on whether the ruler is drawn in the
            statusline or the command line. (Sean Dewar, closes #12246)
2023-04-17 16:41:20 +01:00
zeertzjq
961b2e54bd patch 9.0.1460: insufficient testing for getcmdcompltype()
Problem:    Insufficient testing for getcmdcompltype().
Solution:   Add a few more test cases. (closes #12268)
2023-04-17 15:53:24 +01:00
zeertzjq
e7d49465a4 patch 9.0.1459: typo in name of type
Problem:    Typo in name of type.
Solution:   Change funccal_T to funccall_T. (closes #12265)
2023-04-16 20:53:55 +01:00
Yee Cheng Chin
a77670726e patch 9.0.1458: buffer overflow when expanding long file name
Problem:    Buffer overflow when expanding long file name.
Solution:   Use a larger buffer and avoid overflowing it. (Yee Cheng Chin,
            closes #12201)
2023-04-16 20:13:12 +01:00
Bram Moolenaar
ceff9cd1bb patch 9.0.1457: no regression test for what patch 9.0.1333 fixes
Problem:    No regression test for what patch 9.0.1333 fixes.
Solution:   Extend existing test to cover the fixed problem. (issue #11930)
2023-04-16 17:17:37 +01:00
zeertzjq
657b31fa3b patch 9.0.1456: shortmess test depends on order of test execution
Problem:    Shortmess test depends on order of test execution.
Solution:   Clear messages. (closes #12264)
2023-04-15 21:28:02 +01:00
Ben Jackson
732d69e191 patch 9.0.1455: C++ 20 modules are not recognized
Problem:    C++ 20 modules are not recognized.
Solution:   Add patterns to recognize C++ 20 modules as "cpp". (Ben Jackson,
            closes #12261)
2023-04-15 18:17:17 +01:00
ichizok
7e5fe38efc patch 9.0.1454: code indenting is confused by macros
Problem:    Code indenting is confused by macros.
Solution:   Put semicolon after the macros instead of inside. (Ozaki Kiichi,
            closes #12257)
2023-04-15 13:17:50 +01:00
Dominique Pelle
b49dfd0cf2 patch 9.0.1453: typos in source code and tests
Problem:    Typos in source code and tests.
Solution:   Fi the typos. (Dominique Pellé, closes #12217)
2023-04-14 21:54:25 +01:00
zeertzjq
b7f6f93475 patch 9.0.1452: code using EVAL_CONSTANT is dead, it is never set
Problem:    Code using EVAL_CONSTANT is dead, it is never set.
Solution:   Remove EVAL_CONSTANT. (closes #12252)
2023-04-13 22:12:50 +01:00
Luuk van Baal
aa7f25ebf1 patch 9.0.1451: unnecessary redrawing when 'showcmdloc' is not "last"
Problem:    Unnecessary redrawing when 'showcmdloc' is not "last".
Solution:   Redraw later when "showcmd_is_clear" is set. (Luuk van Baal,
            closes #12260)
2023-04-13 21:47:38 +01:00
Bram Moolenaar
08210f8def patch 9.0.1450: MacOS: building fails if clock_gettime() is not available
Problem:    MacOS: building fails if clock_gettime() is not available.
Solution:   Add a configure check for clock_gettime(). (closes #12242)
2023-04-13 19:15:54 +01:00
Bram Moolenaar
ff6c230051 patch 9.0.1449: test for prompt buffer is flaky
Problem:    Test for prompt buffer is flaky.
Solution:   Use WaitForAssert() instead of TermWait(). (Ozaki Kiichi,
            closes #12247)
2023-04-13 17:32:23 +01:00
ichizok
d76670fc0d patch 9.0.1448: diff test fails on MacOS 13
Problem:    Diff test fails on MacOS 13.
Solution:   Install GNU diffutils. (Ozaki Kiichi, closes #12258)
2023-04-13 17:23:45 +01:00
zeertzjq
474891bc89 patch 9.0.1447: condition is always true
Problem:    Condition is always true.
Solution:   Remove the useless condition. (closes #12253)
2023-04-12 21:36:03 +01:00
zeertzjq
5299c0933f patch 9.0.1446: unnecessary checks for the "skip" flag when skipping
Problem:    Unnecessary checks for the "skip" flag when skipping.
Solution:   Remove the unnecessary checks. (closes #12254)
2023-04-12 20:48:16 +01:00
Bram Moolenaar
01967f5b10 patch 9.0.1445: openSUSE: configure doesn't find the Motif library
Problem:    openSUSE: configure doesn't find the Motif library. (Tony
            Mechelynck)
Solution:   Also search in /usr/lib64.
2023-04-12 16:24:03 +01:00
zeertzjq
ac6cd31afc patch 9.0.1444: crash when passing NULL to setcmdline()
Problem:    Crash when passing NULL to setcmdline(). (Andreas Louv)
Solution:   Use tv_get_string() instead of using v_string directly.
            (closes #12231, closes #12227)
2023-04-12 16:21:14 +01:00
Bram Moolenaar
05a627c3d4 patch 9.0.1443: ending Insert mode when accessing a hidden prompt buffer
Problem:    Ending Insert mode when accessing a hidden prompt buffer.
Solution:   Don't stop Insert mode when it was active before. (closes #12237)
2023-04-09 22:01:31 +01:00
zeertzjq
bfc7cbd1d4 patch 9.0.1442: mapset() does not restore non-script context
Problem:    mapset() does not restore non-script context.
Solution:   Also accept negative sid. (closes #12132)
2023-04-07 22:09:46 +01:00
Yee Cheng Chin
b6ebe5af74 patch 9.0.1441: MacOS: Python 3 using framework do not set dll name properly
Problem:    MacOS: Python 3 using framework do not set dll name properly.
Solution:   Use the framework prefix. (Yee Cheng Chin, closes #12189)
2023-04-05 18:24:50 +01:00
Bram Moolenaar
23a971da50 patch 9.0.1440: "rvim" can execute a shell through :diffpatch
Problem:    "rvim" can execute a shell through :diffpatch.
Solution:   Disallow the shell "patch" command.
2023-04-04 22:04:53 +01:00
orbital
cde8de0345 patch 9.0.1439: start Insert mode when accessing a hidden prompt buffer
Problem:    Start Insert mode when accessing a hidden prompt buffer.
Solution:   Call leaving_window() in aucmd_restbuf(). (Thorben Tröbst,
            closes #12148, closes #12147)
2023-04-02 22:05:13 +01:00
Johan Kotlinski
065088d554 patch 9.0.1438: .fs files are falsely recognized as forth files
Problem:    .fs files are falsely recognized as forth files.
Solution:   Check 100 lines for something that looks like forth. (Johan
            Kotlinski, closes #12219, closes #11988)
2023-04-02 20:29:38 +01:00
Bram Moolenaar
3cdd799951 patch 9.0.1437: test fails with different error number
Problem:    Test fails with different error number.
Solution:   Adjust the expected error.
2023-04-01 22:24:18 +01:00
Bram Moolenaar
2ed57ac367 patch 9.0.1436: cannot compare a typed variable with v:none
Problem:    Cannot compare a typed variable with v:none.
Solution:   Allow for "x is v:none" and "x isnot v:none". (issue #12194)
2023-04-01 22:05:38 +01:00
Bram Moolenaar
38d867f041 patch 9.0.1435: scrolling too many lines when 'wrap' and 'diff' are set
Problem:    Scrolling too many lines when 'wrap' and 'diff' are set.
Solution:   Only scroll by screenlines for 'diff' when 'wrap' is not set.
            (closes #12211)
2023-04-01 19:54:40 +01:00
zeertzjq
39c9ec16ea patch 9.0.1434: crash when adding package already in 'runtimepath'
Problem:    Crash when adding package already in 'runtimepath'.
Solution:   Change order for using 'runtimepath' entries. (closes #12215)
2023-04-01 13:52:03 +01:00
Bram Moolenaar
869113f376 patch 9.0.1433: on some systems the Lua library is not found
Problem:    On some systems the Lua library is not found.
Solution:   Check if a subdirectory for Lua exists.  (closes #4475)
2023-03-31 21:29:00 +01:00
Bram Moolenaar
6ac2e4392a patch 9.0.1432: completion popup in wrong position with virtual text "above"
Problem:    Completion popup in wrong position with virtual text "above".
Solution:   Adjust the column. (closes #12210)
2023-03-31 19:32:29 +01:00
zeertzjq
2d68b722e3 patch 9.0.1431: getscriptinfo() loops even when specific SID is given
Problem:    getscriptinfo() loops even when specific SID is given.
Solution:   Only loop when needed.  Give a clearer error message.
            (closes #12207)
2023-03-30 21:50:37 +01:00
Mathias Jean Johansen
6400203517 patch 9.0.1430: Livebook files are not recognized
Problem:    Livebook files are not recognized.
Solution:   Add a pattern for Livebook files. (Mathias Jean Johansen,
            closes #12203)
2023-03-28 21:28:36 +01:00
Bram Moolenaar
1a08a3e2a5 patch 9.0.1429: invalid memory access when ending insert mode
Problem:    Invalid memory access when ending insert mode.
Solution:   Check if the insert_skip value is valid.
2023-03-26 21:27:24 +01:00
Bram Moolenaar
c174c2e58c patch 9.0.1428: cursor in wrong position when leaving insert mode
Problem:    Cursor in wrong position when leaving insert mode.
Solution:   Update the w_valid flags.  Position the cursor also when not
            redrawing. (closes #12137)
2023-03-25 20:06:49 +00:00
Bram Moolenaar
1f76138ff1 patch 9.0.1427: warning for uninitialized variable
Problem:    Warning for uninitialized variable. (Tony Mechelynck)
Solution:   Add #ifdef.
2023-03-25 11:31:32 +00:00
Virginia Senioria
99e4ab2a1e patch 9.0.1426: indent wrong after "export namespace" in C++
Problem:    Indent wrong after "export namespace" in C++.
Solution:   Skip over "inline" and "export" in any order. (Virginia Senioria,
            closes #12134, closes #12133)
2023-03-24 19:25:06 +00:00
Amaan Qureshi
3ea62381c5 patch 9.0.1425: "wat" and "wast" files are one filetype
Problem:    "wat" and "wast" files are one filetype.
Solution:   Add a separate filetype for "wat" files. (Amaan Qureshi,
            closes #12165)
2023-03-23 15:45:46 +00:00
Bram Moolenaar
7ac36130e0 patch 9.0.1424: unused macros are defined
Problem:    Unused macros are defined.
Solution:   Remove the unused macros.
2023-03-22 22:03:16 +00:00
Amaan Qureshi
890c772036 patch 9.0.1423: WebAssembly Interface Type files are not recognized
Problem:    WebAssembly Interface Type files are not recognized.
Solution:   Add a pattern for WIT files. (Amaan Qureshi, closes #12173)
2023-03-21 22:03:15 +00:00
Amaan Qureshi
d0639d717b patch 9.0.1422: Sage files are not recognized
Problem:    Sage files are not recognized.
Solution:   Add a pattern for Sage files. (Amaan Qureshi, closes #12176)
2023-03-21 21:31:55 +00:00
Amaan Qureshi
8aa2a37f89 patch 9.0.1421: Nu files are not recognized
Problem:    Nu files are not recognized.
Solution:   Add a pattern for Nu files. (Amaan Qureshi, closes #12172)
2023-03-21 21:28:06 +00:00
Bram Moolenaar
aa26153b6c patch 9.0.1420: build failure because SIZE_MAX is not defined
Problem:    Build failure because SIZE_MAX is not defined.
Solution:   Define SIZE_MAX when missing. (John Marriott)
2023-03-21 20:04:58 +00:00
Amaan Qureshi
4a5c39fc52 patch 9.0.1419: Lean files are not recognized
Problem:    Lean files are not recognized.
Solution:   Add a pattern for Lean files. (Amaan Qureshi, closes #12177)
2023-03-21 19:57:33 +00:00
Yee Cheng Chin
5fedb8a5ab patch 9.0.1418: the included xdiff code is a bit outdated
Problem:    The included xdiff code is a bit outdated.
Solution:   Sync with the latest git xdiff code. (Yee Cheng Chin,
            closes #12181)
2023-03-20 17:30:52 +00:00
Amaan Qureshi
a1fa8b3ac2 patch 9.0.1417: ESDL files are not recognized
Problem:    ESDL files are not recognized.
Solution:   Add a pattern for ESDL files. (Amaan Qureshi, closes #12174)
2023-03-19 21:57:07 +00:00
Ernie Rael
e6d40dcdc7 patch 9.0.1416: crash when collection is modified when using filter()
Problem:    Crash when collection is modified when using filter().
Solution:   Lock the list/dict/blob. (Ernie Rael, closes #12183)
2023-03-19 21:23:38 +00:00
Amaan Qureshi
7c4516fe93 patch 9.0.1415: Crystal files are not recognized
Problem:    Crystal files are not recognized.
Solution:   Add a pattern for Crystal files. (Amaan Qureshi, closes #12175)
2023-03-19 20:43:26 +00:00
Bram Moolenaar
ea83c19462 patch 9.0.1414: <M-S-x> in Kitty does not use the Shift modifier
Problem:    <M-S-x> in Kitty does not use the Shift modifier.
Solution:   Apply the Shift modifier to ASCII letters. (closes #11913)
2023-03-18 17:22:46 +00:00
Bram Moolenaar
2a003177eb patch 9.0.1413: compiler warning for unused variable
Problem:    Compiler warning for unused variable.
Solution:   Move variable declaration. (John Marriott)
2023-03-17 18:50:48 +00:00
Amaan Qureshi
6e377eca8d patch 9.0.1412: Pony files are not recognized
Problem:    Pony files are not recognized.
Solution:   Add a pattern for Pony files. (Amaan Qureshi, closes #12155)
2023-03-17 18:42:58 +00:00
Ernie Rael
076de79ad8 patch 9.0.1411: accuracy of profiling is not optimal
Problem:    Accuracy of profiling is not optimal.
Solution:   Use CLOCK_MONOTONIC if possible. (Ernie Rael, closes #12129)
2023-03-16 21:43:15 +00:00
Yee Cheng Chin
16110ccf11 patch 9.0.1410: MacOS: sed fails on .po files
Problem:    MacOS: sed fails on .po files.
Solution:   Set $LANG to "C". (Yee Cheng Chin, closes #12153)
2023-03-16 21:04:31 +00:00
Gabriel Kakizaki
d11ac403db patch 9.0.1409: racket files are recognized as scheme
Problem:    Racket files are recognized as scheme.
Solution:   Recognize rackets files separately. (Gabriel Kakizaki,
            closes #12164, closes #12162)
2023-03-16 20:13:29 +00:00
Amaan Qureshi
1505bef5c4 patch 9.0.1408: QMLdir files are not recognized
Problem:    QMLdir files are not recognized.
Solution:   Add a pattern for QMLdir files. (Amaan Qureshi, closes #12161)
2023-03-16 19:30:44 +00:00
Amaan Qureshi
b8ef029ee4 patch 9.0.1407: TableGen files are not recognized
Problem:    TableGen files are not recognized.
Solution:   Add a pattern for TableGen files. (Amaan Qureshi, closes #12156)
2023-03-16 15:54:18 +00:00
Andreas Louv
e202ec8a0c patch 9.0.1406: ILE RPG files are not recognized
Problem:    ILE RPG files are not recognized.
Solution:   Add patterns for ILE RPG files. (Andreas Louv, issue #12152)
2023-03-16 12:26:51 +00:00
Bram Moolenaar
14338024c1 patch 9.0.1405: missing check for out-of-memory
Problem:    Missing check for out-of-memory.
Solution:   Check for alloc() returning NULL pointer. (closes #12149)
2023-03-15 22:05:44 +00:00
Bram Moolenaar
e638acc927 patch 9.0.1404: compilation error with some compilers
Problem:    Compilation error with some compilers.
Solution:   Adjust array initialization. (John Marriott)
2023-03-15 17:08:51 +00:00
Dominique Pelle
e764d1b421 patch 9.0.1403: unused variables and functions
Problem:    Unused variables and functions.
Solution:   Delete items and adjust #ifdefs. (Dominique Pellé, closes #12145)
2023-03-12 21:20:59 +00:00
Bram Moolenaar
d13dd30240 patch 9.0.1402: crash when using null_class
Problem:    Crash when using null_class.
Solution:   Give an error when trying to use a null class.
2023-03-11 20:56:35 +00:00
zeertzjq
c481ad38f0 patch 9.0.1401: condition is always true
Problem:    Condition is always true.
Solution:   Remove the condition. (closes #12139)
2023-03-11 16:18:51 +00:00
Bram Moolenaar
5145c9a829 patch 9.0.1400: find_file_in_path() is not reentrant
Problem:    find_file_in_path() is not reentrant.
Solution:   Instead of global variables pass pointers to the functions.
            (closes #12093)
2023-03-11 13:55:53 +00:00
lagygoill
4df0772a41 patch 9.0.1399: highlight test script has a few problems
Problem:    Highlight test script has a few problems.
Solution:   Rewrite the script in Vim9 syntax. (closes #10379)
2023-03-10 18:37:11 +00:00
Bram Moolenaar
c0bdbfb2ee patch 9.0.1398: profile test repeats the headers many times
Problem:    Profile test repeats the headers many times.
Solution:   Put the headers in script variables.
2023-03-10 18:28:12 +00:00
Gianmaria Bajo
6a7c774920 patch 9.0.1397: highlight for popupmenu kind and extra cannot be set
Problem:    Highlight for popupmenu kind and extra cannot be set.
Solution:   Add PmenuKind, PmenuKindSel, PmenuExtra and PmenuExtraSel
            highlight groups and use them. (Gianmaria Bajo, closes #12114)
2023-03-10 16:35:53 +00:00
Bram Moolenaar
be19d78c3d patch 9.0.1396: sort(list, 'N') does not work in Vim9 script context
Problem:    sort(list, 'N') does not work in Vim9 script context.
Solution:   Convert string to number without giving an error. (closes #12061)
2023-03-09 22:06:49 +00:00
Amaan Qureshi
638388b8ef patch 9.0.1395: Odin files are not recognized
Problem:    Odin files are not recognized.
Solution:   Add a pattern for Odin files. (Amaan Qureshi, closes #12122)
2023-03-08 20:35:17 +00:00
Amaan Qureshi
cde1f8714e patch 9.0.1394: Unx Tal files are not recognized
Problem:    Unx Tal files are not recognized.
Solution:   Add a pattern for Unx Tal files. (Amaan Qureshi, closes #12117)
2023-03-08 19:55:50 +00:00
Amaan Qureshi
ff226d49fe patch 9.0.1393: Cairo files are not recognized
Problem:    Cairo files are not recognized.
Solution:   Add a pattern for Cairo files. (Amaan Qureshi, closes #12118)
2023-03-08 16:39:21 +00:00
Bram Moolenaar
7ac5023a5f patch 9.0.1392: using NULL pointer with nested :open command
Problem:    Using NULL pointer with nested :open command.
Solution:   Check that ccline.cmdbuff is not NULL.
2023-03-07 21:05:04 +00:00
Yegappan Lakshmanan
960dcbd098 patch 9.0.1391: "clear" macros are not always used
Problem:    "clear" macros are not always used.
Solution:   Use ALLOC_ONE, VIM_CLEAR, CLEAR_POINTER and CLEAR_FIELD in more
            places. (Yegappan Lakshmanan, closes #12104)
2023-03-07 17:45:11 +00:00
Yegappan Lakshmanan
14113fdf9c patch 9.0.1390: FOR_ALL_ macros are defined in an unexpected file
Problem:    FOR_ALL_ macros are defined in an unexpected file.
Solution:   Move FOR_ALL_ macros to macros.h.  Add FOR_ALL_HASHTAB_ITEMS.
            (Yegappan Lakshmanan, closes #12109)
2023-03-07 17:13:51 +00:00
=?UTF-8?q?Ola=20S=C3=B6der?=
663ee88a82 patch 9.0.1389: Amiga: a couple of include files are included twice
Problem:    Amiga: a couple of include files are included twice.
Solution:   Remove duplicate includes. (Ola Söder, closes #12106)
2023-03-07 15:30:50 +00:00
=?UTF-8?q?Ola=20S=C3=B6der?=
f06c4a7a1d patch 9.0.1388: Amiga: not all builds use gethostname()
Problem:    Amiga: not all builds use gethostname().
Solution:   Use gethostname() for all builds except AROS. (Ola Söder,
            closes #12107)
2023-03-06 20:36:55 +00:00
Christian Brabandt
cf3c1ca276 patch 9.0.1387: scrollbar test sporadically fails
Problem:    Scrollbar test sporadically fails.
Solution:   Mark the scrollbar test as flaky. (Christian Brabandt,
            closes #12113)
2023-03-06 15:29:29 +00:00
zeertzjq
30585e03a7 patch 9.0.1386: options test fails with some window width
Problem:    Options test fails with some window width.
Solution:   Adjust what text the test checks with. (closes #12111)
2023-03-06 08:10:04 +00:00
zeertzjq
f86dea8119 patch 9.0.1385: g'Esc is considered an error
Problem:    g'Esc is considered an error.
Solution:   Make g'Esc silently abandon the command. (closes #12110)
2023-03-05 21:15:06 +00:00
Philip H
b0b6b8b07e patch 9.0.1384: setting HOMEBREW_NO_AUTO_UPDATE is not needed with version 4
Problem:    Setting HOMEBREW_NO_AUTO_UPDATE is not needed with Homebew version
            4.
Solution:   Remove setting HOMEBREW_NO_AUTO_UPDATE. (closes #12008)
2023-03-05 20:56:34 +00:00
Bram Moolenaar
4390d872b6 patch 9.0.1383: xxd: combination of little endian and cols fails
Problem:    xxd: combination of little endian and cols fails. (Aapo
            Rantalainen)
Solution:   Round up the space taken by the hex output. (closes #12097)
2023-03-05 20:17:39 +00:00
Bram Moolenaar
c142d6513e patch 9.0.1382: failing test for strptime() doesn't show returned value
Problem:    Failing test for strptime() doesn't show returned value.
Solution:   Use assert_equal() instead of assert_true().
2023-03-05 19:27:49 +00:00
=?UTF-8?q?Ola=20S=C3=B6der?=
d8742476d1 patch 9.0.1381: ACCESS_ names have a conflict with on some systems
Problem:    ACCESS_ names have a conflict with on some systems.
Solution:   Rename by prepending VIM_. (Ola Söder, closes #12105)
2023-03-05 13:12:32 +00:00
Bram Moolenaar
5fb78c3fa5 patch 9.0.1380: CTRL-X on 2**64 subtracts two
Problem:    CTRL-X on 2**64 subtracts two. (James McCoy)
Solution:   Correct computation for large number. (closes #12103)
2023-03-04 20:47:39 +00:00
Yegappan Lakshmanan
5284b23e14 patch 9.0.1379: functions for handling options are not ordered
Problem:    Functions for handling options are not ordered.
Solution:   Put functions in alphabetical order. (Yegappan Lakshmanan,
            closes #12101)
2023-03-04 19:57:32 +00:00
Bram Moolenaar
c99cbf8f28 patch 9.0.1378: illegal memory access when using virtual editing
Problem:    Illegal memory access when using virtual editing.
Solution:   Make sure "startspaces" is not negative.
2023-03-04 14:13:10 +00:00
Bram Moolenaar
5c6a3c9bad patch 9.0.1377: job_status() may return "dead" if the process parent changed
Problem:    job_status() may return "dead" if the process parent changed.
Solution:   Call mch_process_running() to check if the job is still alive.
2023-03-04 13:23:26 +00:00
Bram Moolenaar
1c73b65229 patch 9.0.1376: accessing invalid memory with put in Visual block mode
Problem:    Accessing invalid memory with put in Visual block mode.
Solution:   Adjust the cursor column if needed.
2023-03-03 21:11:52 +00:00
Ernie Rael
f77a7f704f patch 9.0.1375: crash when getting member of obj of unknown class
Problem:    Crash when getting member of obj of unknown class.
Solution:   Check for NULL class and give an error message. (Ernie Rael,
            closes #12096)
2023-03-03 15:05:30 +00:00
Yegappan Lakshmanan
c727b19e9f patch 9.0.1374: function for setting options not used consistently
Problem:    Function for setting options not used consistently.
Solution:   Use a function for 'encoding' and terminal options. (Yegappan
            Lakshmanan, closes #12099)
2023-03-03 12:26:15 +00:00
h-east
194555c001 patch 9.0.1373: wrong text displayed when using both 'linebreak' and 'list'
Problem:    Wrong text displayed when using both 'linebreak' and 'list'.
Solution:   Only set "c_extra" to NUL when "p_extra" is not empty. (Hirohito
            Higashi, closes #12065)
2023-03-02 18:49:09 +00:00
James McCoy
db1887ce40 patch 9.0.1372: test for 'toolbariconsize' may fail
Problem:    Test for 'toolbariconsize' may fail.
Solution:   Only test 'toolbariconsize' when it is supported. (James McCoy,
            closes #12095)
2023-03-02 18:36:33 +00:00
zeertzjq
440d4cb55b patch 9.0.1371: ballooneval interferes with Insert completion
Problem:    Ballooneval interferes with Insert completion.
Solution:   Ignore mouse-move events when completing. (closes #12094,
            closes #12092)
2023-03-02 17:51:32 +00:00
Bram Moolenaar
c3f971f289 patch 9.0.1370: crash when using a NULL object
Problem:    Crash when using a NULL object. (Ernie Rael)
Solution:   Check for NULL and give an error message. (closes #12083)
2023-03-02 17:38:33 +00:00
Yegappan Lakshmanan
c6ff21e876 patch 9.0.1369: still some "else if" constructs for setting options
Problem:    Still some "else if" constructs for setting options.
Solution:   Add a few more functions for handling options. (Yegappan
            Lakshmanan, closes #12090)
2023-03-02 14:46:48 +00:00
Amaan Qureshi
4ed914b18a patch 9.0.1368: Bass files are not recognized
Problem:    Bass files are not recognized.
Solution:   Add patterns for Bass files. (Amaan Qureshi, closes #12088)
2023-03-02 12:51:18 +00:00
Bram Moolenaar
e0f8691969 patch 9.0.1367: divide by zero in zero-width window
Problem:    Divide by zero in zero-width window.
Solution:   Check the width is positive.
2023-03-01 17:55:31 +00:00
Yegappan Lakshmanan
ad60898aa4 patch 9.0.1366: functions for setting options are in random order
Problem:    Functions for setting options are in random order.
Solution:   Sort functions alphabetically. (Yegappan Lakshmanan,
            closes #12082)
2023-03-01 12:44:06 +00:00
zeertzjq
f0300fc7b8 patch 9.0.1365: dead test code
Problem:    Dead test code.
Solution:   Remove code that depends on Farsi, which has been removed.
            (closes #12084)
2023-02-28 16:02:35 +00:00
Yee Cheng Chin
da77693b17 patch 9.0.1364: build error with older Mac OS
Problem:    Build error with older Mac OS.
Solution:   Adjust #ifdef. (Yee Cheng Chin, closes #12074)
2023-02-28 15:51:23 +00:00
Bram Moolenaar
3f45d67a15 patch 9.0.1363: crash when :def function has :break in skipped block
Problem:    Crash when :def function has :break in skipped block. (Ernie Rael)
Solution:   Don't generate a jump for a skipped :break. (closes #12077)
2023-02-27 22:06:51 +00:00
Bram Moolenaar
99ad3a8bb9 patch 9.0.1362: ml_get error when going to another tab
Problem:    ml_get error when going to another tab. (Daniel J. Perry)
Solution:   Do not call update_topline() if "curwin" is invalid.
            (closes #11907)
2023-02-27 17:18:01 +00:00
Bram Moolenaar
dd60c365cd Update runtime files 2023-02-27 15:49:53 +00:00
zeertzjq
341f3876b3 patch 9.0.1361: extendnew() not sufficiently tested
Problem:    extendnew() not sufficiently tested.
Solution:   Add a few more test cases for extendnew(). (closes #12075)
2023-02-27 14:59:57 +00:00
Amaan Qureshi
80c5b2c0f7 patch 9.0.1360: Cue files are not recognized
Problem:    Cue files are not recognized.
Solution:   Add patterns for Cue files. (Amaan Qureshi, closes #12067)
2023-02-27 14:32:08 +00:00
Yegappan Lakshmanan
5da901bb68 patch 9.0.1359: too many "else if" statements in handling options
Problem:    Too many "else if" statements in handling options.
Solution:   Add more functions for handling option changes. (Yegappan
            Lakshmanan, closes #12060)
2023-02-27 12:47:47 +00:00
Bram Moolenaar
30a8447715 patch 9.0.1358: compilation error with some compilers
Problem:    Compilation error with some compilers.
Solution:   Avoid using "class" as member name.
2023-02-27 08:07:14 +00:00
Bram Moolenaar
c4e1b86cb0 patch 9.0.1357: using null_object results in an internal error
Problem:    Using null_object results in an internal error. (Ernie Rael)
Solution:   Add instructions for pushing an object and class. (closes #12044)
2023-02-26 18:58:23 +00:00
zeertzjq
4f026ea9f1 patch 9.0.1356: cannot cancel "gr" with Esc
Problem:    Cannot cancel "gr" with Esc.
Solution:   Make "gr<Esc>" do nothing. (closes #12064)
2023-02-26 14:47:24 +00:00
Bram Moolenaar
83ae6150bf patch 9.0.1355: no error when declaring a class twice
Problem:    No error when declaring a class twice. (Ernie Rael)
Solution:   Pass different flags when declaring the class. (closes #12057)
2023-02-25 19:59:31 +00:00
Bram Moolenaar
d6a4ea3aa0 patch 9.0.1354: "gr CTRL-G" stays in virtual replace mode
Problem:    "gr CTRL-G" stays in virtual replace mode. (Pierre Ganty)
Solution:   Prepend CTRL-V before control characters. (closes #12045)
2023-02-25 14:24:44 +00:00
Yegappan Lakshmanan
6d611de58c patch 9.0.1353: too many "else if" statements to handle option values
Problem:    Too many "else if" statements to handle option values.
Solution:   Add more functions to handle option value changes. (Yegappan
            Lakshmanan, closes #12058)
2023-02-25 11:59:33 +00:00
K.Takata
a63fd82328 patch 9.0.1352: "ignore" files are outdated
Problem:    "ignore" files are outdated.
Solution:   Update "ignore" files. (Ken Takata, closes #12056)
2023-02-24 17:16:41 +00:00
Amaan Qureshi
def5521752 patch 9.0.1351: Dhall files are not recognized
Problem:    Dhall files are not recognized.
Solution:   Add patterns for Dhall files. (Amaan Qureshi, closes #12052)
2023-02-24 16:01:54 +00:00
Amaan Qureshi
c2254764bc patch 9.0.1350: CPON files are not recognized
Problem:    CPON files are not recognized.
Solution:   Add patterns for CPON files. (Amaan Qureshi, closes #12053)
2023-02-24 12:08:45 +00:00
Bram Moolenaar
3ddb1182b7 patch 9.0.1349: "gr" with a count fails
Problem:    "gr" with a count fails.
Solution:   Break out of the loop only after using the count.
2023-02-23 22:14:37 +00:00
Amaan Qureshi
44e08c1cf8 patch 9.0.1348: Un-grammar files are not recognized
Problem:    Un-grammar files are not recognized.
Solution:   Add patterns for Un-grammar files. (Amaan Qureshi, closes #12034)
2023-02-23 20:31:08 +00:00
Bram Moolenaar
2824d1ee32 patch 9.0.1347: "gr CTRL-O" stays in Insert mode
Problem:    "gr CTRL-O" stays in Insert mode. (Pierre Ganty)
Solution:   Do not set restart_edit when "cmdchar" is 'v'. (closes #12045)
2023-02-23 20:13:04 +00:00
Amaan Qureshi
ca06b30073 patch 9.0.1346: Starlark files are not recognized
Problem:    Starlark files are not recognized.
Solution:   Add patterns for Starlark files. (Amaan Qureshi, closes #12049)
2023-02-23 15:38:49 +00:00
Yegappan Lakshmanan
8ad862a1f9 patch 9.0.1345: too many "else if" statements for handling options
Problem:    Too many "else if" statements for handling options.
Solution:   Add more functions to handle options. (Yegappan Lakshmanan,
            closes #12051)
2023-02-23 15:05:22 +00:00
Bram Moolenaar
a8f0835a6b patch 9.0.1344: check for OSC escape sequence doesn't work
Problem:    Check for OSC escape sequence doesn't work.
Solution:   Fix typo in index.
2023-02-23 13:54:01 +00:00
Johan Mattsson
3451789f58 patch 9.0.1343: check for OSC escape sequence doesn't work
Problem:    Check for OSC escape sequence doesn't work.
Solution:   Move square bracket to the right place. (Johan Mattsson,
            closes #12048)
2023-02-23 12:46:04 +00:00
zhihaoy
3e2d5385ed patch 9.0.1342: MS-Windows: linking may fail with space in directory name
Problem:    MS-Windows: linking may fail with space in directory name.
Solution:   Add quotes. (closes #12050)
2023-02-23 12:36:22 +00:00
K.Takata
4ee083e7f9 patch 9.0.1341: build error with mzscheme but without GUI
Problem:    Build error with mzscheme but without GUI.
Solution:   Adjust #ifdefs. (Ken Takata, closes #12042)  Also fix function
            argument.
2023-02-22 13:14:36 +00:00
Bram Moolenaar
666cb9c530 patch 9.0.1340: Coverity warns for using NULL pointer
Problem:    Coverity warns for using NULL pointer.
Solution:   Check that lhs_type is not NULL.
2023-02-22 12:35:17 +00:00
Bram Moolenaar
38f1ab31fa patch 9.0.1339: no test for :disassemble with class function
Problem:    No test for :disassemble with class function.
Solution:   Add a test.
2023-02-21 20:09:46 +00:00
Bram Moolenaar
99a7c0d89c patch 9.0.1338: :defcompile and :disassemble can't find class method
Problem:    :defcompile and :disassemble can't find class method. (Ernie Rael)
Solution:   Make a class name and class.method name work. (closes #11984)
2023-02-21 19:55:14 +00:00
Amaan Qureshi
cfce5cf542 patch 9.0.1337: yuck files are not recognized
Problem:    Yuck files are not recognized.
Solution:   Add a filetype pattern for yuck files. (Amaan Qureshi,
            closes #12033)
2023-02-21 15:18:50 +00:00
Yegappan Lakshmanan
a23a11b5bf patch 9.0.1336: functions without arguments are not always declared properly
Problem:    Functions without arguments are not always declared properly.
Solution:   Use "(void)" instead of "()". (Yegappan Lakshmanan, closes #12031)
2023-02-21 14:27:41 +00:00
h-east
d950984489 patch 9.0.1335: no test for bad use of spaces in help files
Problem:    No test for bad use of spaces in help files.
Solution:   Add checks for use of spaces in help files.  Ignore intentional
            spaces. (Hirohito Higashi, closes #11952)
2023-02-21 13:33:17 +00:00
Bram Moolenaar
b1e32ac0c9 patch 9.0.1334: using tt_member for the class leads to mistakes
Problem:    Using tt_member for the class leads to mistakes.
Solution:   Add a separate tt_class field.
2023-02-21 12:38:51 +00:00
Bram Moolenaar
938ae280c7 Update runtime files. 2023-02-20 20:44:55 +00:00
Bram Moolenaar
6b066c6d8f patch 9.0.1333: when redo'ing twice <ScriptCmd> may not get the script ID
Problem:    When redo'ing twice <ScriptCmd> may not get the script ID.
Solution:   When "last_used_map" map is not set use "last_used_sid".
            (closes #11930)
2023-02-20 18:44:33 +00:00
zeertzjq
b444ee761a patch 9.0.1332: crash when using buffer-local user command in cmdline window
Problem:    Crash when using buffer-local user command in cmdline window.
            (Karl Yngve Lervåg)
Solution:   Use the right buffer to find the user command. (closes #12030,
            closes #12029)
2023-02-20 15:25:13 +00:00
Pavel Mayorov
e1121b1394 patch 9.0.1331: illegal memory access when using :ball in Visual mode
Problem:    Illegal memory access when using :ball in Visual mode.
Solution:   Stop Visual mode when using :ball. (Pavel Mayorov, closes #11923)
2023-02-20 14:35:20 +00:00
Yegappan Lakshmanan
af93691b53 patch 9.0.1330: handling new value of an option has a long "else if" chain
Problem:    Handling new value of an option has a long "else if" chain.
Solution:   Use a function pointer. (Yegappan Lakshmanan, closes #12015)
2023-02-20 12:16:39 +00:00
zeertzjq
997b8a015c patch 9.0.1329: completion of map includes simplified ones
Problem:    Completion of map includes simplified ones.
Solution:   Do not complete simplified mappings. (closes #12013)
2023-02-19 21:00:31 +00:00
Bram Moolenaar
5b9f57262f patch 9.0.1328: error when using "none" for GUI color is confusing
Problem:    Error when using "none" for GUI color is confusing.
Solution:   Mention that the name should perhaps be "NONE". (closes #1400)
2023-02-19 20:49:38 +00:00
Bram Moolenaar
ea62cee85e patch 9.0.1327: cursor in wrong position below line with virtual text below
Problem:    Cursor in wrong position below line with virtual text below ending
            in multi-byte character.
Solution:   When checking for last character take care of multi-byte
            character.
2023-02-19 18:36:41 +00:00
Bram Moolenaar
a572b936ce patch 9.0.1326: relative line number not updated with virtual text above
Problem:    Relative line number not updated with virtual text above.
Solution:   Adjust the row for the line number for virtual text above.
            (closes #12004)
2023-02-19 14:34:37 +00:00
Bram Moolenaar
f53e065bce patch 9.0.1325: 'colorcolumn' highlight wrong with virtual text above
Problem:    'colorcolumn' highlight wrong with virtual text above.
Solution:   Adjust column of 'colorcolumn' for text propertly. (closes #12004)
2023-02-19 14:16:02 +00:00
Luuk van Baal
441a7a9448 patch 9.0.1324: "gj" and "gk" do not move correctly over a closed fold
Problem:    "gj" and "gk" do not move correctly over a closed fold.
Solution:   Use the same code as used for "j"/"k" to go to the next/previous
            line. (Luuk van Baal, closes #12007)
2023-02-18 20:15:44 +00:00
Bram Moolenaar
3e1ac1443a patch 9.0.1323: build failure with +eval feature
Problem:    Build failure with +eval feature.
Solution:   Add missing part for using funcerror_T.
2023-02-18 19:49:32 +00:00
Bram Moolenaar
2c1c803c7e patch 9.0.1322: crash when indexing "any" which is an object
Problem:    Crash when indexing "any" which is an object.
Solution:   Check the index is a number.  Do not check the member type of an
            object.  (closes #12019)
2023-02-18 18:38:37 +00:00
Bram Moolenaar
d114975b9b patch 9.0.1321: vimscript test fails where using {expr} syntax
Problem:    vimscript test fails where using {expr} syntax.
Solution:   Only return FCERR_FAILED in call_user_func() for Vim9 script.
2023-02-18 15:31:53 +00:00
Bram Moolenaar
0917e86763 patch 9.0.1320: checking the type of a null object causes a crash
Problem:    Checking the type of a null object causes a crash.
Solution:   Don't try to get the class of a null object. (closes #12005)
            Handle error from calling a user function better.
2023-02-18 14:42:44 +00:00
Matthias Queitsch
9de960ace0 patch 9.0.1319: PRQL files are not recognized
Problem:    PRQL files are not recognized.
Solution:   Add a filetype pattern for PRQL files. (Matthias Queitsch,
            closes #12018)
2023-02-18 12:04:37 +00:00
Bram Moolenaar
f2017f255d patch 9.0.1318: code style test fails
Problem:    Code style test fails.
Solution:   Remove trailing white space.
2023-02-17 21:29:57 +00:00
Bram Moolenaar
552bdca781 patch 9.0.1317: crash when using an unset object variable
Problem:    Crash when using an unset object variable.
Solution:   Give an error instead. (closes #12005)
2023-02-17 21:08:50 +00:00
Christopher Plewright
eea0a00811 patch 9.0.1316: MS-Windows: vimfiles dir created with admin group
Problem:    MS-Windows: vimfiles dir created with admin group.
Solution:   Use ShellExecAsUser to create the vimfiles directory. (Christopher
            Plewright, Ken Takata, closes #12000, closes #11888)
2023-02-17 20:04:51 +00:00
zeertzjq
c3a26c6bff patch 9.0.1315: escaping for completion of map command not properly tested
Problem:    Escaping for completion of map command not properly tested.
Solution:   Add a few test cases. (closes #12009)
2023-02-17 16:40:20 +00:00
cero1988
1d87e11a1e patch 9.0.1314: :messages behavior depends on 'fileformat' of current buffer
Problem:    :messages behavior depends on 'fileformat' of current buffer.
Solution:   Pass the buffer pointer to where it is used. (Mirko Ceroni,
            closes #11995)
2023-02-16 15:03:12 +00:00
K.Takata
ce3189d56e patch 9.0.1313: some settings use the current codepage instead of 'encoding'
Problem:    Some settings use the current codepage instead of 'encoding'.
Solution:   Adjust how options are initialized. (Ken Takata, closes #11992)
2023-02-15 19:13:43 +00:00
Luuk van Baal
bc3dc298b3 patch 9.0.1312: Cursor position wrong when splitting window in insert mode
Problem:    Cursor position wrong when splitting window in insert mode.
Solution:   Pass the actual mode to win_fix_cursor(). (Luuk van Baal,
            closes #11999,
2023-02-15 16:45:27 +00:00
Bram Moolenaar
339e114d70 patch 9.0.1311: Coverity warns for using a NULL pointer
Problem:    Coverity warns for using a NULL pointer.
Solution:   Use "empty_option" instead of NULL.
2023-02-15 14:26:25 +00:00
Bram Moolenaar
fdbd14e892 patch 9.0.1310: 'splitkeep' test has failures
Problem:    'splitkeep' test has failures.
Solution:   Adjust expected cursor line position.
2023-02-14 21:56:42 +00:00
Bram Moolenaar
1d6539cf36 patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Problem:    Scrolling two lines with even line count and 'scrolloff' set.
Solution:   Adjust how the topline is computed. (closes #10545)
2023-02-14 17:41:20 +00:00
Yegappan Lakshmanan
1a6476428f patch 9.0.1308: the code for setting options is too complicated
Problem:    The code for setting options is too complicated.
Solution:   Refactor the code for setting options. (Yegappan Lakshmanan,
            closes #11989)
2023-02-14 13:07:18 +00:00
Yegappan Lakshmanan
32ff96ef01 patch 9.0.1307: setting 'formatoptions' with :let doesn't check for errors
Problem:    Setting 'formatoptions' with :let doesn't check for errors.
Solution:   Pass "errbuf" to set_string_option(). (Yegappan Lakshmanan,
            closes #11974, closes #11972)
2023-02-13 16:10:04 +00:00
Bram Moolenaar
5ceb8157bc patch 9.0.1306: no regression test for solved problem of #11959
Problem:    No regression test for solved problem of #11959.
Solution:   Add a test, also with 'list' set. (closes #11959)
2023-02-12 18:11:21 +00:00
Bram Moolenaar
55a27d8ea7 patch 9.0.1305: cursor in wrong line with virtual text above
Problem:    Cursor in wrong line with virtual text above.
Solution:   Count extra line for text property above/below. (closes #11959)
2023-02-12 18:03:57 +00:00
Bram Moolenaar
234c3fab28 patch 9.0.1304: "$" for 'list' option displayed in wrong position
Problem:    "$" for 'list' option displayed in wrong position when there are
            text properties.
Solution:   Adjust logic for order of displayed items. (closes #11959)
2023-02-12 14:42:15 +00:00
623 changed files with 27139 additions and 12059 deletions

View File

@@ -36,7 +36,7 @@ macos_task:
timeout_in: 20m
install_script:
- brew update
- brew install gettext libtool
- brew install gettext libtool diffutils
build_script:
- NPROC=$(getconf _NPROCESSORS_ONLN)
- ./configure --with-features=${FEATURES}

11
.github/CODEOWNERS vendored
View File

@@ -29,17 +29,24 @@ runtime/colors/delek.vim @habamax @romainl @neutaaaaan
runtime/colors/desert.vim @habamax @romainl @neutaaaaan
runtime/colors/elflord.vim @habamax @romainl @neutaaaaan
runtime/colors/evening.vim @habamax @romainl @neutaaaaan
runtime/colors/habamax.vim @habamax @romainl @neutaaaaan
runtime/colors/industry.vim @habamax @romainl @neutaaaaan
runtime/colors/koehler.vim @habamax @romainl @neutaaaaan
runtime/colors/lunaperche.vim @habamax @romainl @neutaaaaan
runtime/colors/morning.vim @habamax @romainl @neutaaaaan
runtime/colors/murphy.vim @habamax @romainl @neutaaaaan
runtime/colors/pablo.vim @habamax @romainl @neutaaaaan
runtime/colors/peachpuff.vim @habamax @romainl @neutaaaaan
runtime/colors/quiet.vim @habamax @romainl @neutaaaaan
runtime/colors/retrobox.vim @habamax @romainl @neutaaaaan
runtime/colors/ron.vim @habamax @romainl @neutaaaaan
runtime/colors/shine.vim @habamax @romainl @neutaaaaan
runtime/colors/slate.vim @habamax @romainl @neutaaaaan
runtime/colors/sorbet.vim @habamax @romainl @neutaaaaan
runtime/colors/tools @habamax @romainl @neutaaaaan
runtime/colors/torte.vim @habamax @romainl @neutaaaaan
runtime/colors/wildcharm.vim @habamax @romainl @neutaaaaan
runtime/colors/zaibatsu.vim @habamax @romainl @neutaaaaan
runtime/colors/zellner.vim @habamax @romainl @neutaaaaan
runtime/compiler/checkstyle.vim @dkearns
runtime/compiler/cm3.vim @dkearns
@@ -215,6 +222,7 @@ runtime/ftplugin/wget2.vim @dkearns
runtime/ftplugin/xml.vim @chrisbra
runtime/ftplugin/xs.vim @petdance
runtime/ftplugin/zsh.vim @chrisbra
runtime/import/dist/vimhighlight.vim @lacygoill
runtime/indent/basic.vim @dkearns
runtime/indent/bst.vim @tpope
runtime/indent/cdl.vim @dkearns
@@ -253,6 +261,7 @@ runtime/indent/julia.vim @carlobaldassi
runtime/indent/ld.vim @dkearns
runtime/indent/less.vim @genoma
runtime/indent/liquid.vim @tpope
runtime/indent/lua.vim @marcuscf
runtime/indent/make.vim @dkearns
runtime/indent/meson.vim @Liambeguin
runtime/indent/mma.vim @dkearns
@@ -367,6 +376,7 @@ runtime/syntax/haml.vim @tpope
runtime/syntax/hare.vim @rsaihe
runtime/syntax/haskell.vim @coot
runtime/syntax/hgcommit.vim @k-takata
runtime/syntax/hitest.vim @lacygoill
runtime/syntax/hollywood.vim @sodero
runtime/syntax/html.vim @dkearns
runtime/syntax/i3config.vim @hiqua
@@ -383,6 +393,7 @@ runtime/syntax/less.vim @genoma
runtime/syntax/lex.vim @cecamp
runtime/syntax/liquid.vim @tpope
runtime/syntax/lisp.vim @cecamp
runtime/syntax/lua.vim @marcuscf
runtime/syntax/lyrics.vim @ObserverOfTime
runtime/syntax/lynx.vim @dkearns
runtime/syntax/m3build.vim @dkearns

View File

@@ -17,10 +17,12 @@ permissions:
jobs:
linux:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
CC: ${{ matrix.compiler }}
GCC_VER: 13
CLANG_VER: 16
TEST: test
SRCDIR: ./src
LEAK_CFLAGS: -DEXITFREE
@@ -81,36 +83,36 @@ jobs:
lcov \
libcanberra-dev \
libperl-dev \
python-dev \
python2-dev \
python3-dev \
liblua5.3-dev \
lua5.3 \
liblua5.4-dev \
lua5.4 \
ruby-dev \
tcl-dev \
cscope \
libsodium-dev \
)
fi
sudo apt update && sudo apt install -y "${PKGS[@]}"
sudo apt-get update && sudo apt-get install -y "${PKGS[@]}"
- name: Install gcc-11
- name: Install gcc-${{ env.GCC_VER }}
if: matrix.compiler == 'gcc'
run: |
sudo apt install -y gcc-11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 100
sudo update-alternatives --set gcc /usr/bin/gcc-11
sudo apt-get install -y gcc-${{ env.GCC_VER }}
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ env.GCC_VER }} 100
sudo update-alternatives --set gcc /usr/bin/gcc-${{ env.GCC_VER }}
- name: Install clang-16
- name: Install clang-${{ env.CLANG_VER }}
if: matrix.compiler == 'clang'
run: |
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}-16 main"
sudo apt install -y clang-16 llvm-16
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-16 100
sudo update-alternatives --set clang /usr/bin/clang-16
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-16 100
sudo update-alternatives --install /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-16 100
sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-${{ env.CLANG_VER }} main"
sudo apt-get install -y clang-${{ env.CLANG_VER }} llvm-${{ env.CLANG_VER }}
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${{ env.CLANG_VER }} 100
sudo update-alternatives --set clang /usr/bin/clang-${{ env.CLANG_VER }}
sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-${{ env.CLANG_VER }} 100
sudo update-alternatives --install /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-${{ env.CLANG_VER }} 100
- name: Set up environment
run: |
@@ -120,7 +122,6 @@ jobs:
(
echo "LINUX_VERSION=$(uname -r)"
echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
echo "SND_DUMMY_DIR=${HOME}/snd-dummy"
echo "TMPDIR=${{ runner.temp }}"
case "${{ matrix.features }}" in
@@ -173,23 +174,21 @@ jobs:
sudo usermod -a -G audio "${USER}"
sudo bash ci/setup-xvfb.sh
# FIXME: Temporarily disabled because of build errors
#- name: Cache snd-dummy
# uses: actions/cache@v3
# with:
# path: ${{ env.SND_DUMMY_DIR }}
# key: linux-${{ env.LINUX_VERSION }}-snd-dummy
#- name: Set up snd-dummy
# run: |
# if [[ ! -e ${SND_DUMMY_DIR}/snd-dummy.ko ]]; then
# bash ci/build-snd-dummy.sh
# fi
# cd "${SND_DUMMY_DIR}"
# sudo insmod soundcore.ko
# sudo insmod snd.ko
# sudo insmod snd-pcm.ko
# sudo insmod snd-dummy.ko
- name: Set up snd-dummy
if: (!(contains(matrix.extra, 'unittests') || contains(matrix.extra, 'vimtags')))
env:
DEST_DIR: ${{ env.TMPDIR }}/linux-modules-extra-${{ env.LINUX_VERSION }}
run: |
cd /lib/modules/${{ env.LINUX_VERSION }}
if apt-cache show linux-modules-extra-${{ env.LINUX_VERSION }} >/dev/null 2>&1 ; then
sudo apt-get install -d -y linux-modules-extra-${{ env.LINUX_VERSION }}
sudo dpkg -x /var/cache/apt/archives/linux-modules-extra-${{ env.LINUX_VERSION }}*.deb "${DEST_DIR}"
tar -cvC "${DEST_DIR}"/lib/modules/${{ env.LINUX_VERSION }} kernel/sound | sudo tar -x
sudo depmod --verbose
sudo modprobe --verbose snd-dummy
else
echo "Module " linux-modules-extra-${{ env.LINUX_VERSION }} "doesn't seem to exist, continue anyway"; exit 0
fi
- name: Check autoconf
if: contains(matrix.extra, 'unittests')
@@ -232,19 +231,6 @@ jobs:
do_test() { sg audio "sg $(id -gn) '$*'"; }
do_test make ${SHADOWOPT} ${TEST}
# - name: Coveralls
# if: matrix.coverage && 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: Generate gcov files
if: matrix.coverage
run: |
@@ -252,6 +238,7 @@ jobs:
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
- name: Codecov
timeout-minutes: 20
if: matrix.coverage
uses: codecov/codecov-action@v3
with:
@@ -265,19 +252,6 @@ jobs:
false # in order to fail a job
done
# coveralls:
# runs-on: ubuntu-20.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
@@ -299,8 +273,6 @@ jobs:
- name: Install packages
if: matrix.features == 'huge'
env:
HOMEBREW_NO_AUTO_UPDATE: 1
run: |
brew install lua
echo "LUA_PREFIX=/usr/local" >> $GITHUB_ENV
@@ -377,6 +349,12 @@ jobs:
# Other dependencies
# winpty
WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
# libsodium
SODIUM_VER: '1.0.18'
SODIUM_MSVC_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-msvc.zip
SODIUM_MSVC_VER: v143
SODIUM_MINGW_URL: https://download.libsodium.org/libsodium/releases/libsodium-%SODIUM_VER%-stable-mingw.tar.gz
SODIUM_MINGW_VER: 23
# Escape sequences
COL_RED: "\x1b[31m"
COL_GREEN: "\x1b[32m"
@@ -406,7 +384,7 @@ jobs:
git config --global core.autocrlf input
if [ "${{ matrix.arch }}" = "x64" ]; then
if ${{ matrix.arch == 'x64' }}; then
cygreg=registry
pyreg=
echo "VCARCH=amd64" >> $GITHUB_ENV
@@ -423,8 +401,8 @@ jobs:
fi
echo "VCVARSALL=$(vswhere -products \* -latest -property installationPath)\\VC\\Auxiliary\\Build\\vcvarsall.bat" >> $GITHUB_ENV
if [ "${{ matrix.features }}" != "TINY" ]; then
if [ "${{ matrix.arch }}" = "x86" ]; then
if ${{ matrix.features != 'TINY' }}; then
if ${{ matrix.arch == 'x86' }}; then
choco install python2 --no-progress --forcex86
else
choco install python2 --no-progress
@@ -433,6 +411,15 @@ jobs:
python3_dir=$(cat "/proc/$cygreg/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}$pyreg/InstallPath/@")
echo "PYTHON3_DIR=$python3_dir" >> $GITHUB_ENV
if ${{ matrix.toolchain == 'msvc' }}; then
SODIUM_DIR=D:\\libsodium
echo "SODIUM_LIB=${SODIUM_DIR}\\${{ matrix.arch == 'x64' && 'x64' || 'Win32' }}\\Release\\${SODIUM_MSVC_VER}\\dynamic" >> $GITHUB_ENV
else
SODIUM_DIR=D:\\libsodium-win${{ matrix.arch == 'x64' && '64' || '32' }}
echo "SODIUM_LIB=${SODIUM_DIR}\\bin" >> $GITHUB_ENV
fi
echo "SODIUM_DIR=${SODIUM_DIR}" >> $GITHUB_ENV
- uses: msys2/setup-msys2@v2
if: matrix.toolchain == 'mingw'
with:
@@ -452,6 +439,7 @@ jobs:
type NUL > urls.txt
echo %LUA_RELEASE%>> urls.txt
echo %WINPTY_URL%>> urls.txt
echo %SODIUM_VER%>> urls.txt
- name: Cache downloaded files
uses: actions/cache@v3
@@ -475,6 +463,16 @@ jobs:
copy /Y D:\winpty\%WARCH%\bin\winpty.dll src\winpty%BITS%.dll
copy /Y D:\winpty\%WARCH%\bin\winpty-agent.exe src\
echo %COL_GREEN%Download libsodium%COL_RESET%
if "${{ matrix.toolchain }}"=="msvc" (
call :downloadfile %SODIUM_MSVC_URL% downloads\libsodium.zip
7z x -y downloads\libsodium.zip -oD:\ > nul || exit 1
) else (
call :downloadfile %SODIUM_MINGW_URL% downloads\libsodium.tar.gz
7z x -y downloads\libsodium.tar.gz -so | 7z x -si -ttar -oD:\ > nul || exit 1
mklink %SODIUM_LIB%\libsodium.dll %SODIUM_LIB%\libsodium-%SODIUM_MINGW_VER%.dll
)
goto :eof
:downloadfile
@@ -505,7 +503,8 @@ jobs:
GUI=%GUI% IME=yes ICONV=yes VIMDLL=${{ matrix.VIMDLL }} ^
DYNAMIC_LUA=yes LUA=%LUA_DIR% ^
DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR%
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% ^
DYNAMIC_SODIUM=yes SODIUM=%SODIUM_DIR%
) else (
nmake -nologo -f Make_mvc.mak ^
FEATURES=${{ matrix.features }} ^
@@ -529,6 +528,7 @@ jobs:
DYNAMIC_LUA=yes LUA=${LUA_DIR_SLASH} \
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
DYNAMIC_SODIUM=yes SODIUM=${SODIUM_DIR} \
STATIC_STDCPLUS=yes COVERAGE=${{ matrix.coverage }}
else
mingw32-make -f Make_ming.mak -j2 \
@@ -573,7 +573,7 @@ jobs:
shell: cmd
timeout-minutes: 15
run: |
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%;%SODIUM_LIB%
call "%VCVARSALL%" %VCARCH%
echo %COL_GREEN%Test gVim:%COL_RESET%
@@ -590,7 +590,7 @@ jobs:
shell: cmd
timeout-minutes: 15
run: |
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%
PATH %LUA_DIR%;C:\msys64\%MSYSTEM%\bin;%PATH%;%PYTHON3_DIR%;%SODIUM_LIB%
call "%VCVARSALL%" %VCARCH%
echo %COL_GREEN%Test Vim:%COL_RESET%
@@ -611,6 +611,7 @@ jobs:
find . -type f -name '*.gcno' -exec gcov -pb {} + || true
- name: Codecov
timeout-minutes: 20
if: matrix.coverage
uses: codecov/codecov-action@v3
with:

View File

@@ -9,7 +9,7 @@ permissions:
jobs:
scan:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
CC: gcc
@@ -32,15 +32,15 @@ jobs:
- name: Install packages
if: env.TOKEN
run: |
sudo apt update && sudo apt install -y \
sudo apt-get update && sudo apt-get install -y \
autoconf \
gettext \
libcanberra-dev \
libperl-dev \
python-dev \
python2-dev \
python3-dev \
liblua5.3-dev \
lua5.3 \
liblua5.4-dev \
lua5.4 \
ruby-dev \
tcl-dev \
libgtk2.0-dev \

1
.gitignore vendored
View File

@@ -68,6 +68,7 @@ src/tags
/GPATH
/GTAGS
/GRTAGS
nsis/tags
# Generated by "make test"
src/po/*.ck

View File

@@ -7,9 +7,9 @@ src/xxd/xxd
src/auto/if_perl.c
src/auto/gui_gtk_gresources.c
src/auto/gui_gtk_gresources.h
src/auto/os_haiku.rdef
src/objects/.dirstamp
src/objects
src/tags
src/types.vim
# We do need src/auto/configure.
@@ -46,12 +46,15 @@ gvimext.lib
gvim.lib
runtime/doc/uganda.nsis.txt
nsis/icons/*
/vim90/
.vscode/
# NetBeans
nbproject/*
# Mac OSX
src/xxd/xxd.dSYM
.DS_Store
# All platforms
*.rej
@@ -62,6 +65,12 @@ src/xxd/xxd.dSYM
*.pyc
*.log
src/po/vim.pot
src/tags
/tags
/GPATH
/GTAGS
/GRTAGS
nsis/tags
# Generated by "make test"
src/po/*.ck
@@ -78,14 +87,16 @@ src/testdir/dostmp/*
src/testdir/messages
src/testdir/viminfo
src/testdir/opt_test.vim
src/testdir/failed
src/testdir/starttime
runtime/indent/testdir/*.out
runtime/indent/testdir/*.fail
src/memfile_test
src/json_test
src/message_test
src/kword_test
# Generated by "make install"
runtime/doc/tags
runtime/doc/doctags
# Generated by "make shadow". The directory names could be anything but we
@@ -95,5 +106,10 @@ src/shadow-*
src/runtime
src/pixmaps
# other possible files build by tools
# other files possibly created by tools
src/cscope.out
# Linter/language server files
/.cache/clangd/
/.ccls-cache/
/compile_commands.json

View File

@@ -18,10 +18,8 @@ SRC_ALL = \
.appveyor.yml \
.codecov.yml \
ci/appveyor.bat \
ci/build-snd-dummy.sh \
ci/config.mk*.sed \
ci/if_ver*.vim \
ci/load-snd-dummy.sh \
ci/setup-xvfb.sh \
src/Make_all.mak \
src/README.md \
@@ -710,6 +708,7 @@ RT_ALL = \
runtime/ftoff.vim \
runtime/gvimrc_example.vim \
runtime/import/dist/vimhelp.vim \
runtime/import/dist/vimhighlight.vim \
runtime/macros/README.txt \
runtime/macros/editexisting.vim \
runtime/macros/hanoi/click.me \
@@ -806,6 +805,11 @@ RT_SCRIPTS = \
runtime/syntax/README.txt \
runtime/syntax/shared/*.vim \
runtime/syntax/shared/README.txt \
runtime/syntax/Makefile \
runtime/syntax/testdir/README.txt \
runtime/syntax/testdir/runtest.vim \
runtime/syntax/testdir/input/*.* \
runtime/syntax/testdir/dumps/*.dump \
# Unix runtime
RT_UNIX = \

View File

@@ -39,14 +39,15 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
@# When the target is "test" also run the indent tests.
@# When the target is "test" also run the indent and syntax tests.
@if test "$@" = "test"; then \
$(MAKE) indenttest; \
$(MAKE) syntaxtest; \
fi
@# When the target is "clean" also clean for the indent tests.
@# When the target is "clean" also clean for the indent and syntax tests.
@if test "$@" = "clean" -o "$@" = "distclean" -o "$@" = "testclean"; then \
cd runtime/indent && \
$(MAKE) clean; \
(cd runtime/indent && $(MAKE) clean); \
(cd runtime/syntax && $(MAKE) clean); \
fi
# Executable used for running the indent tests.
@@ -57,6 +58,14 @@ indenttest:
$(MAKE) clean && \
$(MAKE) test VIM="$(VIM_FOR_INDENTTEST)"
# Executable used for running the syntax tests.
VIM_FOR_SYNTAXTEST = ../../src/vim
syntaxtest:
cd runtime/syntax && \
$(MAKE) clean && \
$(MAKE) test VIMPROG="$(VIM_FOR_SYNTAXTEST)"
#########################################################################
# 2. Creating the various distribution files.

View File

@@ -1,19 +0,0 @@
#!/bin/bash
set -eu
LINUX_VERSION=$(uname -r | cut -d. -f1-2)
LINUX_ARCHIVE_FILE=v${LINUX_VERSION}.tar.gz
LINUX_SOURCE_DIR=linux-${LINUX_VERSION}
mkdir -p "${TMPDIR}"
cd "${TMPDIR}"
wget -q "https://github.com/torvalds/linux/archive/${LINUX_ARCHIVE_FILE}"
tar -xf "${LINUX_ARCHIVE_FILE}" "${LINUX_SOURCE_DIR}/sound"
cd "${LINUX_SOURCE_DIR}/sound"
CC=gcc make -C "/lib/modules/$(uname -r)/build" M="${PWD}" CONFIG_SOUND=m CONFIG_SND=m CONFIG_SND_PCM=m CONFIG_SND_DUMMY=m modules
mkdir -p "${SND_DUMMY_DIR}"
cp soundcore.ko core/snd.ko core/snd-pcm.ko drivers/snd-dummy.ko "${SND_DUMMY_DIR}"

View File

@@ -1,8 +0,0 @@
#!/bin/bash
set -e
if ! modprobe snd-dummy; then
# snd-dummy is contained in linux-modules-extra (if exists)
apt-get install -yq --no-install-suggests --no-install-recommends "linux-modules-extra-$(uname -r)"
modprobe snd-dummy
fi

View File

@@ -228,6 +228,28 @@ FunctionEnd
!insertmacro GetParent ""
!insertmacro GetParent "un."
# Get home directory
!macro GetHomeDir un
Function ${un}GetHomeDir
Push $0
Push $1
ReadEnvStr $0 "HOME"
${If} $0 == ""
ReadEnvStr $0 "HOMEDRIVE"
ReadEnvStr $1 "HOMEPATH"
StrCpy $0 "$0$1"
${If} $0 == ""
ReadEnvStr $0 "USERPROFILE"
${EndIf}
${EndIf}
Pop $1
Exch $0 # put $0 on top of stack, restore $0 to original value
FunctionEnd
!macroend
!insertmacro GetHomeDir ""
!insertmacro GetHomeDir "un."
# Check if Vim is already installed.
# return: Installed directory. If not found, it will be empty.
Function CheckOldVim
@@ -520,7 +542,8 @@ SectionGroup $(str_group_plugin) id_group_plugin
Section "$(str_section_plugin_home)" id_section_pluginhome
SectionIn 1 3
StrCpy $1 "$1 -create-directories home"
# use ShellExecAsUser below instead
# StrCpy $1 "$1 -create-directories home"
SectionEnd
Section "$(str_section_plugin_vim)" id_section_pluginvim
@@ -594,6 +617,13 @@ Section -call_install_exe
DetailPrint "$(str_msg_registering)"
nsExec::Exec "$0\install.exe $1"
Pop $3
${If} ${SectionIsSelected} ${id_section_pluginhome}
ReadEnvStr $3 "COMSPEC"
Call GetHomeDir
Pop $4
ShellExecAsUser::ShellExecAsUser "" "$3" '/c "cd /d "$4" & mkdir vimfiles & cd vimfiles & mkdir colors compiler doc ftdetect ftplugin indent keymap plugin syntax"' SW_HIDE
${EndIf}
SectionEnd
##########################################################
@@ -1042,15 +1072,8 @@ SectionEnd
SectionGroup "un.$(str_ungroup_plugin)" id_ungroup_plugin
Section /o "un.$(str_unsection_plugin_home)" id_unsection_plugin_home
# get the home dir
ReadEnvStr $0 "HOME"
${If} $0 == ""
ReadEnvStr $0 "HOMEDRIVE"
ReadEnvStr $1 "HOMEPATH"
StrCpy $0 "$0$1"
${If} $0 == ""
ReadEnvStr $0 "USERPROFILE"
${EndIf}
${EndIf}
Call un.GetHomeDir
Pop $0
${If} $0 != ""
!insertmacro RemoveVimfiles $0

View File

@@ -3,9 +3,8 @@
# italian.nsi : Italian language strings for gvim NSIS installer.
#
# Locale ID : 1040
# Locale Name : it
# fileencoding : UTF-8
# Author : Antonio Colombo
# Author : Antonio Colombo, bovirus - revision: 12.05.2023
!insertmacro MUI_LANGUAGE "Italian"
@@ -22,10 +21,10 @@ LangString ^UninstallCaption ${LANG_ITALIAN} \
##############################################################################
#LangString str_dest_folder ${LANG_ITALIAN} \
# "Cartella d'installazione (il nome deve finire con $\"vim$\")"
# "Cartella installazione (il percorso deve finire con $\"vim$\")"
LangString str_show_readme ${LANG_ITALIAN} \
"Visualizza README al termine dell'installazione"
"Visualizza file README a fine installazione"
# Install types:
LangString str_type_typical ${LANG_ITALIAN} \
@@ -43,120 +42,119 @@ LangString str_type_full ${LANG_ITALIAN} \
##############################################################################
LangString str_section_old_ver ${LANG_ITALIAN} \
"Disinstalla versione/i esistente/i"
"Disinstalla versioni esistenti"
LangString str_desc_old_ver ${LANG_ITALIAN} \
"Disinstalla versione/i esistente/i di Vim dal vostro sistema."
"Disinstalla versioni esistenti di Vim."
LangString str_section_exe ${LANG_ITALIAN} \
"Vim GUI e file di supporto"
"GUI e file supporto Vim"
LangString str_desc_exe ${LANG_ITALIAN} \
"Vim GUI programmi e file di supporto. Questa componente è indispensabile."
"GUI programmi e file di supporto Vim. Questa componente è indispensabile."
LangString str_section_console ${LANG_ITALIAN} \
"Vim console (vim.exe per MS-DOS)"
"Console Vim (vim.exe per MS-DOS)"
LangString str_desc_console ${LANG_ITALIAN} \
"Versione console di Vim (vim.exe)."
LangString str_section_batch ${LANG_ITALIAN} \
"Crea file .bat"
LangString str_desc_batch ${LANG_ITALIAN} \
"Crea file .bat per varianti di Vim nella directory \
"Crea file .bat per varianti di Vim nella cartella \
di Windows, per utilizzo da riga di comando."
LangString str_group_icons ${LANG_ITALIAN} \
"Crea icone per Vim"
"Crea icone Vim"
LangString str_desc_icons ${LANG_ITALIAN} \
"Crea icone per Vim in vari posti, per rendere facile l'accesso."
"Crea icone Vim per rendere facile l'accesso."
LangString str_section_desktop ${LANG_ITALIAN} \
"Sul Desktop"
"Icone sul Desktop"
LangString str_desc_desktop ${LANG_ITALIAN} \
"Crea icone per programma gVim sul desktop."
"Crea icone programma gVim sul desktop."
LangString str_section_start_menu ${LANG_ITALIAN} \
"Nella cartella del menù START"
"Gruppo programmi menù START"
LangString str_desc_start_menu ${LANG_ITALIAN} \
"Aggiungi Vim alle cartelle del menù START."
"Aggiunge gruppo programmi al menù START."
#LangString str_section_quick_launch ${LANG_ITALIAN} \
# "Nella barra di Avvio Veloce"
# "Barra avvio veloce"
#LangString str_desc_quick_launch ${LANG_ITALIAN} \
# "Aggiungi un puntatore a Vim nella barra di Avvio Veloce."
# "Aggiunge un collegamento a Vim nella barra di avvio veloce."
LangString str_section_edit_with ${LANG_ITALIAN} \
"Aggiungi Vim al Menù Contestuale"
"Aggiungi Vim al menù contestuale"
LangString str_desc_edit_with ${LANG_ITALIAN} \
"Aggiungi Vim alla lista contestuale $\"Apri con...$\"."
"Aggiunge Vim al menu contestuale $\"Apri con...$\"."
#LangString str_section_edit_with32 ${LANG_ITALIAN} \
# "Versione a 32-bit"
# "Versione a 32 bit"
#LangString str_desc_edit_with32 ${LANG_ITALIAN} \
# "Aggiungi Vim alla lista contestuale $\"Apri con...$\" \
# per applicazioni a 32-bit."
# "Aggiungi Vim al menu contestuale $\"Apri con...$\" \
# per applicazioni a 32 bit."
#LangString str_section_edit_with64 ${LANG_ITALIAN} \
# "Versione a 64-bit"
# "Versione a 64 bit"
#LangString str_desc_edit_with64 ${LANG_ITALIAN} \
# "Aggiungi Vim alla lista contestuale $\"Apri con...$\" \
# per applicazioni a 64-bit."
# "Aggiunge Vim al menu contestuale $\"Apri con...$\" \
# per applicazioni a 64 bit."
LangString str_section_vim_rc ${LANG_ITALIAN} \
"Crea configurazione di default"
"Crea configurazione predefinita"
LangString str_desc_vim_rc ${LANG_ITALIAN} \
"Crea un file configurazione di default (_vimrc) se non \
ne esiste già uno."
"Crea, se non ne esiste già uno, un file configurazione predefinito (_vimrc) ."
LangString str_group_plugin ${LANG_ITALIAN} \
"Crea directory per plugin"
"Crea cartella plugin"
LangString str_desc_plugin ${LANG_ITALIAN} \
"Crea directory per plugin. Consentono di aggiungere funzionalità \
a Vim mettendo file in una di queste directory."
"Crea cartella plugin. I plugin consentono di aggiungere funzionalità \
a Vim copiando i relativi file in una di queste cartelle."
LangString str_section_plugin_home ${LANG_ITALIAN} \
"Private"
"Privata"
LangString str_desc_plugin_home ${LANG_ITALIAN} \
"Crea directory per plugin nella directory HOME."
"Crea cartella plugin nella cartella HOME."
LangString str_section_plugin_vim ${LANG_ITALIAN} \
"Condivise"
"Condivisa"
LangString str_desc_plugin_vim ${LANG_ITALIAN} \
"Crea directory per plugin nella directory di installazione di Vim \
"Crea cartella plugin nella cartella di installazione di Vim \
per uso da parte di tutti gli utenti di questo sistema."
LangString str_section_nls ${LANG_ITALIAN} \
"Supporto Multilingue (NLS)"
"Supporto nativo lingua (NLS)"
LangString str_desc_nls ${LANG_ITALIAN} \
"Installa file per supportare messaggi in diverse lingue."
"Installa i file per il supporto nativo multilingua."
LangString str_unsection_register ${LANG_ITALIAN} \
"Togli Vim dal Registry"
"Rimuovi Vim dal registro"
LangString str_desc_unregister ${LANG_ITALIAN} \
"Togli Vim dal Registry di configurazione sistema."
"Rimuove Vim dal registro di configurazione sistema."
LangString str_unsection_exe ${LANG_ITALIAN} \
"Cancella programmi/file di supporto Vim"
"Elimina programmi/file di supporto Vim"
LangString str_desc_rm_exe ${LANG_ITALIAN} \
"Cancella tutti i programmi/file di supporto di Vim."
"Elimina tutti i programmi/file di supporto di Vim."
LangString str_ungroup_plugin ${LANG_ITALIAN} \
"Cancella le directory per plugin"
"Elimina cartelle plugin"
LangString str_desc_rm_plugin ${LANG_ITALIAN} \
"Cancella le directory per plugin se sono vuote."
"Elimina le cartelle plugin se sono vuote."
LangString str_unsection_plugin_home ${LANG_ITALIAN} \
"Private"
LangString str_desc_rm_plugin_home ${LANG_ITALIAN} \
"Cancella le directory per plugin dalla directory HOME."
"Elimina cartelle plugin nella cartella HOME."
LangString str_unsection_plugin_vim ${LANG_ITALIAN} \
"Condivise"
LangString str_desc_rm_plugin_vim ${LANG_ITALIAN} \
"Cancella le directory per plugin dalla directory di installazione di Vim."
"Elimina cartelle plugin nella cartella di installazione di Vim."
LangString str_unsection_rootdir ${LANG_ITALIAN} \
"Cancella la directory di installazione di Vim"
"Elimina la cartella di installazione di Vim"
LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
"Cancella la directory di installazione di Vim. Contiene i vostri file di configurazione!"
"Elimina la cartella di installazione di Vim. Contiene i file di configurazione!"
##############################################################################
@@ -164,75 +162,74 @@ LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
##############################################################################
#LangString str_msg_too_many_ver ${LANG_ITALIAN} \
# "Trovate $vim_old_ver_count versioni di Vim sul vostro sistema.$\r$\n\
# "Rilevate nel sistema $vim_old_ver_count versioni di Vim.$\r$\n\
# Questo programma di installazione può gestire solo \
# ${VIM_MAX_OLD_VER} versioni.$\r$\n\
# Disinstallate qualche versione precedente e ricominciate."
# Disinstalla qualche versione precedente e ricomincia."
#LangString str_msg_invalid_root ${LANG_ITALIAN} \
# "Nome di directory di installazione non valida: $vim_install_root!$\r$\n\
# "Nome cartella di installazione non valida: $vim_install_root!$\r$\n\
# Dovrebbe terminare con $\"vim$\"."
#LangString str_msg_bin_mismatch ${LANG_ITALIAN} \
# "Conflitto nella directory di installazione!$\r$\n$\r$\n\
# Cartella di installazione dev'essere $\"$vim_bin_path$\",$\r$\n\
# ma il sistema segnala invece $\"$INSTDIR$\"."
# "Conflitto nella cartella di installazione!$\r$\n$\r$\n\
# La cartella di installazione dev'essere $\"$vim_bin_path$\",$\r$\n\
# ma il sistema indica che il percorso è $\"$INSTDIR$\"."
#LangString str_msg_vim_running ${LANG_ITALIAN} \
# "Vim ancora in esecuzione sul vostro sistema.$\r$\n\
# Chiudete tutte le sessioni attive di Vim per continuare."
# "Vim è ancora in esecuzione nel sistema.$\r$\n\
# Per continuare chiudi tutte le sessioni attive di Vim."
#LangString str_msg_register_ole ${LANG_ITALIAN} \
# "Tentativo di registrazione di Vim con OLE. \
# Non c messaggio che indica se è riuscito o no."
# Non ci sono messaggi che indicano se l'operazione è riuscita."
#LangString str_msg_unreg_ole ${LANG_ITALIAN} \
# "Tentativo di togliere dal Registry Vim con OLE. \
# Non c messaggio che indica se è riuscito o no."
# "Tentativo di rimozione di VIM dal registro via OLE. \
# Non ci sono messaggi che indicano se l'operazione è riuscita."
#LangString str_msg_rm_start ${LANG_ITALIAN} \
# "Disinstallazione della seguente versione:"
# "Disinstallazione della versione:"
#LangString str_msg_rm_fail ${LANG_ITALIAN} \
# "Disinstallazione non riuscita per la seguente versione:"
# "Disinstallazione non riuscita per la versione:"
#LangString str_msg_no_rm_key ${LANG_ITALIAN} \
# "Non riesco a trovare chiave di disinstallazione nel Registry."
# "Impossibile trovare chiave disinstallazione nel registro."
#LangString str_msg_no_rm_reg ${LANG_ITALIAN} \
# "Non riesco a trovare programma disinstallazione nel Registry."
# "Impossibile trovare programma disinstallazione nel registro."
#LangString str_msg_no_rm_exe ${LANG_ITALIAN} \
# "Non riesco a trovare programma disinstallazione."
# "Impossibile trovare programma disinstallazione."
#LangString str_msg_rm_copy_fail ${LANG_ITALIAN} \
# "Non riesco a copiare programma disinstallazione a una \
# directory temporanea."
# "Impossibile copiare il programma disinstallazione in una cartella temporanea."
#LangString str_msg_rm_run_fail ${LANG_ITALIAN} \
# "Non riesco a eseguire programma disinstallazione."
# "Impossibile eseguire programma disinstallazione."
#LangString str_msg_abort_install ${LANG_ITALIAN} \
# "Il programma di disinstallazione verrà chiuso senza aver fatto nulla."
# "Il programma di disinstallazione verrà chiuso senza aver eseguito nessuna modifica."
LangString str_msg_install_fail ${LANG_ITALIAN} \
"Installazione non riuscita. Miglior fortuna alla prossima!"
"Installazione non riuscita."
LangString str_msg_rm_exe_fail ${LANG_ITALIAN} \
"Alcuni file in $0 non sono stati cancellati!$\r$\n\
Dovreste cancellarli voi stessi."
"Alcuni file in $0 non sono stati eliminati!$\r$\n\
I file vanno rimossi manualmente."
#LangString str_msg_rm_root_fail ${LANG_ITALIAN} \
# "AVVISO: Non posso cancellare $\"$vim_install_root$\", non è vuota!"
# "AVVISO: impossibile eliminare $\"$vim_install_root$\", non è vuota!"
LangString str_msg_uninstalling ${LANG_ITALIAN} \
"Sto disinstallando la vecchia versione..."
"Disinstallazione vecchia versione Vim..."
LangString str_msg_registering ${LANG_ITALIAN} \
"Sto aggiungendo Vim al Registry..."
"Aggiunta di Vim al registro..."
LangString str_msg_unregistering ${LANG_ITALIAN} \
"Sto togliendo Vim dal Registry..."
"Rimozione di Vim dal registro..."
##############################################################################
@@ -242,37 +239,37 @@ LangString str_msg_unregistering ${LANG_ITALIAN} \
LangString str_vimrc_page_title ${LANG_ITALIAN} \
"Scelta impostazioni _vimrc"
LangString str_vimrc_page_subtitle ${LANG_ITALIAN} \
"Scelta impostazioni per funzionalità ulteriori, tastiera e mouse."
"Scelta impostazioni funzionalità aggiuntive, tastiera e mouse."
LangString str_msg_compat_title ${LANG_ITALIAN} \
" comportamento come Vi / Vim "
" Comportamento come Vi / Vim "
LangString str_msg_compat_desc ${LANG_ITALIAN} \
"&Compatibilità e funzionalità ulteriori"
"&Compatibilità e funzionalità"
LangString str_msg_compat_vi ${LANG_ITALIAN} \
"Compatibile con Vi"
"Compatibile Vi"
LangString str_msg_compat_vim ${LANG_ITALIAN} \
"Vim originale"
LangString str_msg_compat_defaults ${LANG_ITALIAN} \
"Vim con alcune funzionalità ulteriori (esecuzione defaults.vim)"
"Vim con alcune funzionalità aggiuntive (defaults.vim)"
LangString str_msg_compat_all ${LANG_ITALIAN} \
"Vim con tutte le funzionalità ulteriori (esecuzione vimrc_example.vim) (Default)"
"Vim con tutte le funzionalità aggiuntive (vimrc_example.vim) (predefinito)"
LangString str_msg_keymap_title ${LANG_ITALIAN} \
" Mappature "
" Mappature tastiera "
LangString str_msg_keymap_desc ${LANG_ITALIAN} \
"&Rimappatura di alcuni tasti per Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc.)"
"&Rimappa alcuni tasti Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc.)"
LangString str_msg_keymap_default ${LANG_ITALIAN} \
"Non effettuare rimappature di tasti (Default)"
"Non rimappare i tasti (predefinito)"
LangString str_msg_keymap_windows ${LANG_ITALIAN} \
"Rimappare solo alcuni tasti"
"Rimappa solo alcuni tasti"
LangString str_msg_mouse_title ${LANG_ITALIAN} \
" Mouse "
LangString str_msg_mouse_desc ${LANG_ITALIAN} \
"&Comportamento dei pulsanti destro e sinistro"
"&Comportamento pulsanti destro/sinistro"
LangString str_msg_mouse_default ${LANG_ITALIAN} \
"Destro: popup menu, Sinistro: modalità visuale (Default)"
"Destro: menu popup, Sinistro: modalità visuale (predefinito)"
LangString str_msg_mouse_windows ${LANG_ITALIAN} \
"Destro: popup menu, Sinistro: seleziona modalità (Windows)"
"Destro: menu popup, Sinistro: selezione modalità (Windows)"
LangString str_msg_mouse_unix ${LANG_ITALIAN} \
"Destro: estende selezione, Sinistro: modalità visuale (Unix)"
"Destro: estensione selezione, Sinistro: modalità visuale (Unix)"

View File

@@ -3,7 +3,7 @@ vim9script
# Vim functions for file type detection
#
# Maintainer: Bram Moolenaar <Bram@vim.org>
# Last Change: 2022 Dec 14
# Last Change: 2023 Jun 09
# These functions are moved here from runtime/filetype.vim to make startup
# faster.
@@ -307,14 +307,16 @@ export def FTfs()
if exists("g:filetype_fs")
exe "setf " .. g:filetype_fs
else
var line = getline(nextnonblank(1))
# comments and colon definitions
if line =~ '^\s*\.\=( ' || line =~ '^\s*\\G\= ' || line =~ '^\\$'
\ || line =~ '^\s*: \S'
setf forth
else
setf fsharp
endif
var n = 1
while n < 100 && n <= line("$")
# Forth comments and colon definitions
if getline(n) =~ "^[:(\\\\] "
setf forth
return
endif
n += 1
endwhile
setf fsharp
endif
enddef
@@ -360,8 +362,8 @@ export def ProtoCheck(default: string)
else
# recognize Prolog by specific text in the first non-empty line
# require a blank after the '%' because Perl uses "%list" and "%translate"
var l = getline(nextnonblank(1))
if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-'
var lnum = getline(nextnonblank(1))
if lnum =~ '\<prolog\>' || lnum =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || lnum =~ ':-'
setf prolog
else
exe 'setf ' .. default
@@ -468,28 +470,28 @@ enddef
# Returns true if file content looks like LambdaProlog module
def IsLProlog(): bool
# skip apparent comments and blank lines, what looks like
# skip apparent comments and blank lines, what looks like
# LambdaProlog comment may be RAPID header
var l: number = nextnonblank(1)
while l > 0 && l < line('$') && getline(l) =~ '^\s*%' # LambdaProlog comment
l = nextnonblank(l + 1)
var lnum: number = nextnonblank(1)
while lnum > 0 && lnum < line('$') && getline(lnum) =~ '^\s*%' # LambdaProlog comment
lnum = nextnonblank(lnum + 1)
endwhile
# this pattern must not catch a go.mod file
return getline(l) =~ '\<module\s\+\w\+\s*\.\s*\(%\|$\)'
return getline(lnum) =~ '\<module\s\+\w\+\s*\.\s*\(%\|$\)'
enddef
# Determine if *.mod is ABB RAPID, LambdaProlog, Modula-2, Modsim III or go.mod
export def FTmod()
if exists("g:filetype_mod")
exe "setf " .. g:filetype_mod
elseif expand("<afile>") =~ '\<go.mod$'
setf gomod
elseif IsLProlog()
setf lprolog
elseif getline(nextnonblank(1)) =~ '\%(\<MODULE\s\+\w\+\s*;\|^\s*(\*\)'
setf modula2
elseif IsRapid()
setf rapid
elseif expand("<afile>") =~ '\<go.mod$'
setf gomod
else
# Nothing recognized, assume modsim3
setf modsim3
@@ -502,8 +504,8 @@ export def FTpl()
else
# recognize Prolog by specific text in the first non-empty line
# require a blank after the '%' because Perl uses "%list" and "%translate"
var l = getline(nextnonblank(1))
if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-'
var line = getline(nextnonblank(1))
if line =~ '\<prolog\>' || line =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || line =~ ':-'
setf prolog
else
setf perl
@@ -676,26 +678,24 @@ export def McSetf()
enddef
# Called from filetype.vim and scripts.vim.
export def SetFileTypeSH(name: string)
if did_filetype()
# When "setft" is passed and false then the 'filetype' option is not set.
export def SetFileTypeSH(name: string, setft = true): string
if setft && did_filetype()
# Filetype was already detected
return
return ''
endif
if expand("<amatch>") =~ g:ft_ignore_pat
return
if setft && expand("<amatch>") =~ g:ft_ignore_pat
return ''
endif
if name =~ '\<csh\>'
# Some .sh scripts contain #!/bin/csh.
SetFileTypeShell("csh")
return
return SetFileTypeShell("csh", setft)
elseif name =~ '\<tcsh\>'
# Some .sh scripts contain #!/bin/tcsh.
SetFileTypeShell("tcsh")
return
return SetFileTypeShell("tcsh", setft)
elseif name =~ '\<zsh\>'
# Some .sh scripts contain #!/bin/zsh.
SetFileTypeShell("zsh")
return
return SetFileTypeShell("zsh", setft)
elseif name =~ '\<ksh\>'
b:is_kornshell = 1
if exists("b:is_bash")
@@ -722,34 +722,43 @@ export def SetFileTypeSH(name: string)
unlet b:is_bash
endif
endif
SetFileTypeShell("sh")
return SetFileTypeShell("sh", setft)
enddef
# For shell-like file types, check for an "exec" command hidden in a comment,
# as used for Tcl.
# When "setft" is passed and false then the 'filetype' option is not set.
# Also called from scripts.vim, thus can't be local to this script.
export def SetFileTypeShell(name: string)
if did_filetype()
export def SetFileTypeShell(name: string, setft = true): string
if setft && did_filetype()
# Filetype was already detected
return
return ''
endif
if expand("<amatch>") =~ g:ft_ignore_pat
return
if setft && expand("<amatch>") =~ g:ft_ignore_pat
return ''
endif
var l = 2
while l < 20 && l < line("$") && getline(l) =~ '^\s*\(#\|$\)'
var lnum = 2
while lnum < 20 && lnum < line("$") && getline(lnum) =~ '^\s*\(#\|$\)'
# Skip empty and comment lines.
l += 1
lnum += 1
endwhile
if l < line("$") && getline(l) =~ '\s*exec\s' && getline(l - 1) =~ '^\s*#.*\\$'
if lnum < line("$") && getline(lnum) =~ '\s*exec\s' && getline(lnum - 1) =~ '^\s*#.*\\$'
# Found an "exec" line after a comment with continuation
var n = substitute(getline(l), '\s*exec\s\+\([^ ]*/\)\=', '', '')
var n = substitute(getline(lnum), '\s*exec\s\+\([^ ]*/\)\=', '', '')
if n =~ '\<tclsh\|\<wish'
setf tcl
return
if setft
setf tcl
endif
return 'tcl'
endif
endif
exe "setf " .. name
if setft
exe "setf " .. name
endif
return name
enddef
export def CSH()
@@ -1104,5 +1113,65 @@ export def FTlsl()
endif
enddef
export def FTtyp()
if exists("g:filetype_typ")
exe "setf " .. g:filetype_typ
return
endif
# Look for SQL type definition syntax
for line in getline(1, 200)
# SQL type files may define the casing
if line =~ '^CASE\s\==\s\=\(SAME\|LOWER\|UPPER\|OPPOSITE\)$'
setf sql
return
endif
# SQL type files may define some types as follows
if line =~ '^TYPE\s.*$'
setf sql
return
endif
endfor
# Otherwise, affect the typst filetype
setf typst
enddef
# Set the filetype of a *.v file to Verilog, V or Cog based on the first 200
# lines.
export def FTv()
if did_filetype()
# ":setf" will do nothing, bail out early
return
endif
for line in getline(1, 200)
if line[0] =~ '^\s*/'
# skip comment line
continue
endif
# Verilog: line ends with ';' followed by an optional variable number of
# spaces and an optional start of a comment.
# Example: " b <= a + 1; // Add 1".
if line =~ ';\(\s*\)\?\(/.*\)\?$'
setf verilog
return
endif
# Coq: line ends with a '.' followed by an optional variable number of
# spaces and an optional start of a comment.
# Example: "Definition x := 10. (*".
if line =~ '\.\(\s*\)\?\((\*.*\)\?$'
setf coq
return
endif
endfor
# No line matched, fall back to "v".
setf v
enddef
# Uncomment this line to check for compilation errors early
# defcompile

View File

@@ -4,7 +4,7 @@ vim9script
# Invoked from "scripts.vim" in 'runtimepath'
#
# Maintainer: Bram Moolenaar <Bram@vim.org>
# Last Change: 2022 Nov 24
# Last Change: 2023 Jun 09
export def DetectFiletype()
var line1 = getline(1)
@@ -44,7 +44,7 @@ def DetectFromHashBang(firstline: string)
elseif line1 =~ '^#!\s*[^/\\ ]*\>\([^/\\]\|$\)'
name = substitute(line1, '^#!\s*\([^/\\ ]*\>\).*', '\1', '')
else
name = substitute(line1, '^#!\s*\S*[/\\]\(\i\+\).*', '\1', '')
name = substitute(line1, '^#!\s*\S*[/\\]\(\f\+\).*', '\1', '')
endif
# tcl scripts may have #!/bin/sh in the first line and "exec wish" in the
@@ -53,151 +53,164 @@ def DetectFromHashBang(firstline: string)
name = 'wish'
endif
var ft = Exe2filetype(name, line1)
if ft != ''
exe 'setl ft=' .. ft
endif
enddef
# Returns the filetype name associated with program "name".
# "line1" is the #! line at the top of the file. Use the same as "name" if
# not available.
# Returns an empty string when not recognized.
export def Exe2filetype(name: string, line1: string): string
# Bourne-like shell scripts: bash bash2 dash ksh ksh93 sh
if name =~ '^\(bash\d*\|dash\|ksh\d*\|sh\)\>'
call dist#ft#SetFileTypeSH(line1)
return dist#ft#SetFileTypeSH(line1, false)
# csh scripts
elseif name =~ '^csh\>'
if exists("g:filetype_csh")
call dist#ft#SetFileTypeShell(g:filetype_csh)
else
call dist#ft#SetFileTypeShell("csh")
endif
return dist#ft#SetFileTypeShell(exists("g:filetype_csh") ? g:filetype_csh : 'csh', false)
# tcsh scripts
elseif name =~ '^tcsh\>'
call dist#ft#SetFileTypeShell("tcsh")
return dist#ft#SetFileTypeShell("tcsh", false)
# Z shell scripts
elseif name =~ '^zsh\>'
set ft=zsh
return 'zsh'
# TCL scripts
elseif name =~ '^\(tclsh\|wish\|expectk\|itclsh\|itkwish\)\>'
set ft=tcl
return 'tcl'
# Expect scripts
elseif name =~ '^expect\>'
set ft=expect
return 'expect'
# Gnuplot scripts
elseif name =~ '^gnuplot\>'
set ft=gnuplot
return 'gnuplot'
# Makefiles
elseif name =~ 'make\>'
set ft=make
return 'make'
# Pike
elseif name =~ '^pike\%(\>\|[0-9]\)'
set ft=pike
return 'pike'
# Lua
elseif name =~ 'lua'
set ft=lua
return 'lua'
# Perl
elseif name =~ 'perl'
set ft=perl
return 'perl'
# PHP
elseif name =~ 'php'
set ft=php
return 'php'
# Python
elseif name =~ 'python'
set ft=python
return 'python'
# Groovy
elseif name =~ '^groovy\>'
set ft=groovy
return 'groovy'
# Raku
elseif name =~ 'raku'
set ft=raku
return 'raku'
# Ruby
elseif name =~ 'ruby'
set ft=ruby
return 'ruby'
# JavaScript
elseif name =~ 'node\(js\)\=\>\|js\>' || name =~ 'rhino\>'
set ft=javascript
return 'javascript'
# BC calculator
elseif name =~ '^bc\>'
set ft=bc
return 'bc'
# sed
elseif name =~ 'sed\>'
set ft=sed
return 'sed'
# OCaml-scripts
elseif name =~ 'ocaml'
set ft=ocaml
return 'ocaml'
# Awk scripts; also finds "gawk"
elseif name =~ 'awk\>'
set ft=awk
return 'awk'
# Website MetaLanguage
elseif name =~ 'wml'
set ft=wml
return 'wml'
# Scheme scripts
elseif name =~ 'scheme'
set ft=scheme
return 'scheme'
# CFEngine scripts
elseif name =~ 'cfengine'
set ft=cfengine
return 'cfengine'
# Erlang scripts
elseif name =~ 'escript'
set ft=erlang
return 'erlang'
# Haskell
elseif name =~ 'haskell'
set ft=haskell
return 'haskell'
# Scala
elseif name =~ 'scala\>'
set ft=scala
return 'scala'
# Clojure
elseif name =~ 'clojure'
set ft=clojure
return 'clojure'
# Free Pascal
elseif name =~ 'instantfpc\>'
set ft=pascal
return 'pascal'
# Fennel
elseif name =~ 'fennel\>'
set ft=fennel
return 'fennel'
# MikroTik RouterOS script
elseif name =~ 'rsc\>'
set ft=routeros
return 'routeros'
# Fish shell
elseif name =~ 'fish\>'
set ft=fish
return 'fish'
# Gforth
elseif name =~ 'gforth\>'
set ft=forth
return 'forth'
# Icon
elseif name =~ 'icon\>'
set ft=icon
return 'icon'
# Guile
elseif name =~ 'guile'
set ft=scheme
return 'scheme'
# Nix
elseif name =~ 'nix-shell'
return 'nix'
endif
return ''
enddef
@@ -218,28 +231,28 @@ def DetectFromText(line1: string)
|| "\n" .. line1 .. "\n" .. line2 .. "\n" .. line3 ..
"\n" .. line4 .. "\n" .. line5
=~ '\n\s*emulate\s\+\%(-[LR]\s\+\)\=[ckz]\=sh\>'
set ft=zsh
setl ft=zsh
# ELM Mail files
elseif line1 =~ '^From \([a-zA-Z][a-zA-Z_0-9\.=-]*\(@[^ ]*\)\=\|-\) .* \(19\|20\)\d\d$'
set ft=mail
setl ft=mail
# Mason
elseif line1 =~ '^<[%&].*>'
set ft=mason
setl ft=mason
# Vim scripts (must have '" vim' as the first line to trigger this)
elseif line1 =~ '^" *[vV]im$'
set ft=vim
setl ft=vim
# libcxx and libstdc++ standard library headers like "iostream" do not have
# an extension, recognize the Emacs file mode.
elseif line1 =~? '-\*-.*C++.*-\*-'
set ft=cpp
setl ft=cpp
# MOO
elseif line1 =~ '^\*\* LambdaMOO Database, Format Version \%([1-3]\>\)\@!\d\+ \*\*$'
set ft=moo
setl ft=moo
# Diff file:
# - "diff" in first line (context diff)
@@ -258,11 +271,11 @@ def DetectFromText(line1: string)
|| (line1 =~ '^\*\*\* ' && line2 =~ '^--- ')
|| (line1 =~ '^=== ' && ((line2 =~ '^=\{66\}' && line3 =~ '^--- ' && line4 =~ '^+++') || (line2 =~ '^--- ' && line3 =~ '^+++ ')))
|| (line1 =~ '^=== \(removed\|added\|renamed\|modified\)')
set ft=diff
setl ft=diff
# PostScript Files (must have %!PS as the first line, like a2ps output)
elseif line1 =~ '^%![ \t]*PS'
set ft=postscr
setl ft=postscr
# M4 scripts: Guess there is a line that starts with "dnl".
elseif line1 =~ '^\s*dnl\>'
@@ -270,64 +283,64 @@ def DetectFromText(line1: string)
|| line3 =~ '^\s*dnl\>'
|| line4 =~ '^\s*dnl\>'
|| line5 =~ '^\s*dnl\>'
set ft=m4
setl ft=m4
# AmigaDos scripts
elseif $TERM == "amiga" && (line1 =~ "^;" || line1 =~? '^\.bra')
set ft=amiga
setl ft=amiga
# SiCAD scripts (must have procn or procd as the first line to trigger this)
elseif line1 =~? '^ *proc[nd] *$'
set ft=sicad
setl ft=sicad
# Purify log files start with "**** Purify"
elseif line1 =~ '^\*\*\*\* Purify'
set ft=purifylog
setl ft=purifylog
# XML
elseif line1 =~ '<?\s*xml.*?>'
set ft=xml
setl ft=xml
# XHTML (e.g.: PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN")
elseif line1 =~ '\<DTD\s\+XHTML\s'
set ft=xhtml
setl ft=xhtml
# HTML (e.g.: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN")
# Avoid "doctype html", used by slim.
elseif line1 =~? '<!DOCTYPE\s\+html\>'
set ft=html
setl ft=html
# PDF
elseif line1 =~ '^%PDF-'
set ft=pdf
setl ft=pdf
# XXD output
elseif line1 =~ '^\x\{7}: \x\{2} \=\x\{2} \=\x\{2} \=\x\{2} '
set ft=xxd
setl ft=xxd
# RCS/CVS log output
elseif line1 =~ '^RCS file:' || line2 =~ '^RCS file:'
set ft=rcslog
setl ft=rcslog
# CVS commit
elseif line2 =~ '^CVS:' || getline("$") =~ '^CVS: '
set ft=cvs
setl ft=cvs
# Prescribe
elseif line1 =~ '^!R!'
set ft=prescribe
setl ft=prescribe
# Send-pr
elseif line1 =~ '^SEND-PR:'
set ft=sendpr
setl ft=sendpr
# SNNS files
elseif line1 =~ '^SNNS network definition file'
set ft=snnsnet
setl ft=snnsnet
elseif line1 =~ '^SNNS pattern definition file'
set ft=snnspat
setl ft=snnspat
elseif line1 =~ '^SNNS result file'
set ft=snnsres
setl ft=snnsres
# Virata
elseif line1 =~ '^%.\{-}[Vv]irata'
@@ -335,79 +348,81 @@ def DetectFromText(line1: string)
|| line3 =~ '^%.\{-}[Vv]irata'
|| line4 =~ '^%.\{-}[Vv]irata'
|| line5 =~ '^%.\{-}[Vv]irata'
set ft=virata
setl ft=virata
# Strace
elseif line1 =~ '[0-9:.]* *execve(' || line1 =~ '^__libc_start_main'
set ft=strace
# inaccurate fast match first, then use accurate slow match
elseif (line1 =~ 'execve(' && line1 =~ '^[0-9:.]* *execve(')
|| line1 =~ '^__libc_start_main'
setl ft=strace
# VSE JCL
elseif line1 =~ '^\* $$ JOB\>' || line1 =~ '^// *JOB\>'
set ft=vsejcl
setl ft=vsejcl
# TAK and SINDA
elseif line4 =~ 'K & K Associates' || line2 =~ 'TAK 2000'
set ft=takout
setl ft=takout
elseif line3 =~ 'S Y S T E M S I M P R O V E D '
set ft=sindaout
setl ft=sindaout
elseif getline(6) =~ 'Run Date: '
set ft=takcmp
setl ft=takcmp
elseif getline(9) =~ 'Node File 1'
set ft=sindacmp
setl ft=sindacmp
# DNS zone files
elseif line1 .. line2 .. line3 .. line4 =~ '^; <<>> DiG [0-9.]\+.* <<>>\|$ORIGIN\|$TTL\|IN\s\+SOA'
set ft=bindzone
setl ft=bindzone
# BAAN
elseif line1 =~ '|\*\{1,80}' && line2 =~ 'VRC '
|| line2 =~ '|\*\{1,80}' && line3 =~ 'VRC '
set ft=baan
setl ft=baan
# Valgrind
elseif line1 =~ '^==\d\+== valgrind' || line3 =~ '^==\d\+== Using valgrind'
set ft=valgrind
setl ft=valgrind
# Go docs
elseif line1 =~ '^PACKAGE DOCUMENTATION$'
set ft=godoc
setl ft=godoc
# Renderman Interface Bytestream
elseif line1 =~ '^##RenderMan'
set ft=rib
setl ft=rib
# Scheme scripts
elseif line1 =~ 'exec\s\+\S*scheme' || line2 =~ 'exec\s\+\S*scheme'
set ft=scheme
setl ft=scheme
# Git output
elseif line1 =~ '^\(commit\|tree\|object\) \x\{40,\}\>\|^tag \S\+$'
set ft=git
setl ft=git
# Gprof (gnu profiler)
elseif line1 == 'Flat profile:'
&& line2 == ''
&& line3 =~ '^Each sample counts as .* seconds.$'
set ft=gprof
setl ft=gprof
# Erlang terms
# (See also: http://www.gnu.org/software/emacs/manual/html_node/emacs/Choosing-Modes.html#Choosing-Modes)
elseif line1 =~? '-\*-.*erlang.*-\*-'
set ft=erlang
setl ft=erlang
# YAML
elseif line1 =~ '^%YAML'
set ft=yaml
setl ft=yaml
# MikroTik RouterOS script
elseif line1 =~ '^#.*by RouterOS.*$'
set ft=routeros
setl ft=routeros
# Sed scripts
# #ncomment is allowed but most likely a false positive so require a space
# before any trailing comment text
elseif line1 =~ '^#n\%($\|\s\)'
set ft=sed
setl ft=sed
else
var lnum = 1
@@ -416,7 +431,7 @@ def DetectFromText(line1: string)
endwhile
if getline(lnum) =~ '^Index:\s\+\f\+$'
# CVS diff
set ft=diff
setl ft=diff
# locale input files: Formal Definitions of Cultural Conventions
# filename must be like en_US, fr_FR@euro or en_US.UTF-8

View File

@@ -1121,13 +1121,8 @@ def Is_IN_KeywordForLoop(line_1: string, line_2: string): bool # {{{3
enddef
def InCommentOrString(): bool # {{{3
for synID: number in synstack('.', col('.'))
if synIDattr(synID, 'name') =~ '\ccomment\|string\|heredoc'
return true
endif
endfor
return false
return synstack('.', col('.'))
->indexof((_, id: number): bool => synIDattr(id, 'name') =~ '\ccomment\|string\|heredoc') >= 0
enddef
def AlsoClosesBlock(line_B: dict<any>): bool # {{{3

View File

@@ -1,7 +1,7 @@
" netrw.vim: Handles file transfer and remote directory listing across
" AUTOLOAD SECTION
" Date: Aug 16, 2021
" Version: 171
" Date: May 03, 2023
" Version: 173
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
@@ -43,7 +43,7 @@ if exists("s:needspatches")
endfor
endif
let g:loaded_netrw = "v171"
let g:loaded_netrw = "v173"
if !exists("s:NOTE")
let s:NOTE = 0
let s:WARNING = 1
@@ -208,7 +208,6 @@ let g:netrw_localcopycmdopt = ""
let g:netrw_localcopydircmdopt = ""
let g:netrw_localmkdiropt = ""
let g:netrw_localmovecmdopt = ""
let g:netrw_localrmdiropt = ""
" ---------------------------------------------------------------------
" Default values for netrw's global protocol variables {{{2
@@ -1186,6 +1185,11 @@ endfun
" ---------------------------------------------------------------------
" netrw#Lexplore: toggle Explorer window, keeping it on the left of the current tab {{{2
" Uses g:netrw_chgwin : specifies the window where Lexplore files are to be opened
" t:netrw_lexposn : winsaveview() output (used on Lexplore window)
" t:netrw_lexbufnr: the buffer number of the Lexplore buffer (internal to this function)
" s:lexplore_win : window number of Lexplore window (serves to indicate which window is a Lexplore window)
" w:lexplore_buf : buffer number of Lexplore window (serves to indicate which window is a Lexplore window)
fun! netrw#Lexplore(count,rightside,...)
" call Dfunc("netrw#Lexplore(count=".a:count." rightside=".a:rightside.",...) a:0=".a:0." ft=".&ft)
let curwin= winnr()
@@ -1202,6 +1206,8 @@ fun! netrw#Lexplore(count,rightside,...)
" call Decho("exe Explore ".fnameescape(a:1),'~'.expand("<slnum>"))
exe "Explore ".fnameescape(a1)
exe curwin."wincmd w"
let s:lexplore_win= curwin
let w:lexplore_buf= bufnr("%")
if exists("t:netrw_lexposn")
" call Decho("forgetting t:netrw_lexposn",'~'.expand("<slnum>"))
unlet t:netrw_lexposn
@@ -1276,7 +1282,7 @@ fun! netrw#Lexplore(count,rightside,...)
let t:netrw_lexbufnr = bufnr("%")
" done to prevent build-up of hidden buffers due to quitting and re-invocation of :Lexplore.
" Since the intended use of :Lexplore is to have an always-present explorer window, the extra
" effort to mis-use :Lex is warranted.
" effort to prevent mis-use of :Lex is warranted.
set bh=wipe
" call Decho("let t:netrw_lexbufnr=".t:netrw_lexbufnr)
" call Decho("t:netrw_lexposn".(exists("t:netrw_lexposn")? string(t:netrw_lexposn) : " n/a"))
@@ -1680,7 +1686,7 @@ fun! s:NetrwOptionsSave(vt)
endif
let {a:vt}netrw_fokeep = &l:fo " formatoptions
let {a:vt}netrw_gdkeep = &l:gd " gdefault
let {a:vt}netrw_gokeep = &l:go " guioptions
let {a:vt}netrw_gokeep = &go " guioptions
let {a:vt}netrw_hidkeep = &l:hidden
let {a:vt}netrw_imkeep = &l:im
let {a:vt}netrw_iskkeep = &l:isk
@@ -1751,8 +1757,9 @@ 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")
if &go =~ '\ca' | call s:NetrwSetSafeSetting("&go",substitute(&go,'\ca','','g')) | endif
if &go =~ 'a' | set go-=a | endif
if &go =~ 'A' | set go-=A | endif
if &go =~ 'P' | set go-=P | endif
call s:NetrwSetSafeSetting("&l:hid",0)
call s:NetrwSetSafeSetting("&l:im",0)
setl isk+=@ isk+=* isk+=/
@@ -1791,11 +1798,13 @@ fun! s:NetrwOptionsRestore(vt)
" call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." a:vt=".a:vt,'~'.expand("<slnum>"))
if !exists("{a:vt}netrw_optionsave")
" call Decho("case ".a:vt."netrw_optionsave : doesn't exist",'~'.expand("<slnum>"))
if !isdirectory(expand('%'))
if filereadable(expand("%"))
" call Decho("..doing filetype detect anyway")
filetype detect
filetype detect
" call Decho("..settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." a:vt=".a:vt,'~'.expand("<slnum>"))
else
setl ft=netrw
endif
" call Decho("..settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." a:vt=".a:vt,'~'.expand("<slnum>"))
" call Decho("..ro=".&l:ro." ma=".&l:ma." mod=".&l:mod." wrap=".&l:wrap." (filename<".expand("%")."> win#".winnr()." ft<".&ft.">)",'~'.expand("<slnum>"))
" call Dret("s:NetrwOptionsRestore : ".a:vt."netrw_optionsave doesn't exist")
return
@@ -1835,7 +1844,7 @@ fun! s:NetrwOptionsRestore(vt)
" call Decho("(s:NetrwOptionsRestore) #4 lines=".&lines)
call s:NetrwRestoreSetting(a:vt."netrw_fokeep" ,"&l:fo")
call s:NetrwRestoreSetting(a:vt."netrw_gdkeep" ,"&l:gd")
call s:NetrwRestoreSetting(a:vt."netrw_gokeep" ,"&l:go")
call s:NetrwRestoreSetting(a:vt."netrw_gokeep" ,"&go")
call s:NetrwRestoreSetting(a:vt."netrw_hidkeep" ,"&l:hidden")
" call Decho("(s:NetrwOptionsRestore) #5 lines=".&lines)
call s:NetrwRestoreSetting(a:vt."netrw_imkeep" ,"&l:im")
@@ -1906,11 +1915,9 @@ fun! s:NetrwOptionsRestore(vt)
" were having their filetype detect-generated settings overwritten by
" NetrwOptionRestore.
if &ft != "netrw"
if !isdirectory(expand('%'))
" call Decho("before: filetype detect (ft=".&ft.")",'~'.expand("<slnum>"))
filetype detect
" call Decho("after : filetype detect (ft=".&ft.")",'~'.expand("<slnum>"))
endif
" call Decho("before: filetype detect (ft=".&ft.")",'~'.expand("<slnum>"))
filetype detect
" call Decho("after : filetype detect (ft=".&ft.")",'~'.expand("<slnum>"))
endif
" call Decho("(s:NetrwOptionsRestore) lines=".&lines)
" call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo." a:vt=".a:vt,'~'.expand("<slnum>"))
@@ -2985,13 +2992,19 @@ fun! s:NetrwGetFile(readcmd, tfile, method)
" rename buffer back to remote filename
call s:NetrwBufRename(rfile)
" Jan 19, 2022: COMBAK -- bram problem with https://github.com/vim/vim/pull/9554.diff filetype
" Detect filetype of local version of remote file.
" Note that isk must not include a "/" for scripts.vim
" to process this detection correctly.
" call Decho("detect filetype of local version of remote file",'~'.expand("<slnum>"))
let iskkeep= &l:isk
" call Decho("detect filetype of local version of remote file<".rfile.">",'~'.expand("<slnum>"))
" call Decho("..did_filetype()=".did_filetype())
setl ft=
" call Decho("..initial filetype<".&ft."> for buf#".bufnr()."<".bufname().">")
let iskkeep= &isk
setl isk-=/
let &l:isk= iskkeep
filetype detect
" call Decho("..local filetype<".&ft."> for buf#".bufnr()."<".bufname().">")
let &isk= iskkeep
" call Dredir("ls!","NetrwGetFile (renamed buffer back to remote filename<".rfile."> : expand(%)<".expand("%").">)")
let line1 = 1
let line2 = line("$")
@@ -4272,7 +4285,7 @@ fun! s:NetrwGetBuffer(islocal,dirname)
endif
" call Decho(" bufnum#".bufnum,'~'.expand("<slnum>"))
" hijack the current buffer
" highjack the current buffer
" IF the buffer already has the desired name
" AND it is empty
let curbuf = bufname("%")
@@ -4280,7 +4293,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 hijack the current buffer#".bufnr("%")."<".curbuf.">",'~'.expand("<slnum>"))
" call Decho("deciding if netrw may highjack 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>"))
@@ -4289,7 +4302,7 @@ fun! s:NetrwGetBuffer(islocal,dirname)
" call Dret("s:NetrwGetBuffer 0<cleared buffer> : highjacking buffer#".bufnr("%"))
return 0
else " DEBUG
" call Decho("..did NOT hijack buffer",'~'.expand("<slnum>"))
" call Decho("..did NOT highjack 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
@@ -4325,19 +4338,25 @@ fun! s:NetrwGetBuffer(islocal,dirname)
else " Re-use the buffer
" call Decho("--re-use buffer#".bufnum." (bufnum#".bufnum.">=0 AND bufexists(".bufnum.")=".bufexists(bufnum)."!=0)",'~'.expand("<slnum>"))
" ignore all events
let eikeep= &ei
setl ei=all
if getline(2) =~# '^" Netrw Directory Listing'
" call Decho(" getline(2)<".getline(2).'> matches "Netrw Directory Listing" : using keepalt b '.bufnum,'~'.expand("<slnum>"))
exe "sil! NetrwKeepj noswapfile keepalt b ".bufnum
if &ft == "netrw"
" call Decho("buffer type is netrw; not using keepalt with b ".bufnum)
exe "sil! NetrwKeepj noswapfile b ".bufnum
" call Dredir("ls!","one")
else
" call Decho(" getline(2)<".getline(2).'> does not match "Netrw Directory Listing" : using b '.bufnum,'~'.expand("<slnum>"))
exe "sil! NetrwKeepj noswapfile keepalt b ".bufnum
" call Decho("buffer type is not netrw; using keepalt with b ".bufnum)
call s:NetrwEditBuf(bufnum)
" call Dredir("ls!","two")
endif
" call Decho(" line($)=".line("$"),'~'.expand("<slnum>"))
if bufname("%") == '.'
call s:NetrwBufRename(getcwd())
endif
" restore ei
let &ei= eikeep
if line("$") <= 1 && getline(1) == ""
@@ -4988,7 +5007,7 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
" the point where netrw actually edits the (local) file
" if its local only: LocalBrowseCheck() doesn't edit a file, but NetrwBrowse() will
" no keepalt to support :e # to return to a directory listing
" use keepalt to support :e # to return to a directory listing
if !&mod
" if e the new file would fail due to &mod, then don't change any of the flags
let dolockout= 1
@@ -4999,12 +5018,8 @@ fun! s:NetrwBrowseChgDir(islocal,newdir,...)
" others like c-^ to return to the netrw buffer
" Apr 30, 2020: used to have e! here. That can cause loss of a modified file,
" so emit error E37 instead.
if exists("g:netrw_altfile") && g:netrw_altfile
exe "NetrwKeepj keepalt e ".fnameescape(dirname)
else
exe "NetrwKeepj e ".fnameescape(dirname)
endif
" call Decho("edit-a-file: after e! ".dirname.": hidden=".&hidden." bufhidden<".&bufhidden."> mod=".&mod,'~'.expand("<slnum>"))
call s:NetrwEditFile("e","",dirname)
" call Decho("edit-a-file: after e ".dirname.": hidden=".&hidden." bufhidden<".&bufhidden."> mod=".&mod,'~'.expand("<slnum>"))
" COMBAK -- cuc cul related
call s:NetrwCursor(1)
if &hidden || &bufhidden == "hide"
@@ -5345,8 +5360,8 @@ fun! netrw#BrowseX(fname,remote)
" g:Netrw_corehandler is a List of function references (see :help Funcref)
" call Decho("g:Netrw_corehandler is a List",'~'.expand("<slnum>"))
for Fncref in g:Netrw_corehandler
if type(FncRef) == 2
call FncRef(a:fname)
if type(Fncref) == 2
call Fncref(a:fname)
endif
endfor
endif
@@ -5419,6 +5434,8 @@ fun! netrw#BrowseX(fname,remote)
else
let redir= &srr . "/dev/null"
endif
else
let redir= ""
endif
" call Decho("set up redirection: redir{".redir."} srr{".&srr."}",'~'.expand("<slnum>"))
@@ -5708,6 +5725,35 @@ fun! s:NetrwClearExplore()
" call Dret("s:NetrwClearExplore")
endfun
" ---------------------------------------------------------------------
" s:NetrwEditBuf: decides whether or not to use keepalt to edit a buffer {{{2
fun! s:NetrwEditBuf(bufnum)
" call Dfunc("s:NetrwEditBuf(fname<".a:bufnum.">)")
if exists("g:netrw_altfile") && g:netrw_altfile && &ft == "netrw"
" call Decho("exe sil! NetrwKeepj keepalt noswapfile b ".fnameescape(a:bufnum))
exe "sil! NetrwKeepj keepalt noswapfile b ".fnameescape(a:bufnum)
else
" call Decho("exe sil! NetrwKeepj noswapfile b ".fnameescape(a:bufnum))
exe "sil! NetrwKeepj noswapfile b ".fnameescape(a:bufnum)
endif
" call Dret("s:NetrwEditBuf")
endfun
" ---------------------------------------------------------------------
" s:NetrwEditFile: decides whether or not to use keepalt to edit a file {{{2
" NetrwKeepj [keepalt] <OPT> <CMD> <FILENAME>
fun! s:NetrwEditFile(cmd,opt,fname)
" call Dfunc("s:NetrwEditFile(cmd<".a:cmd.">,opt<".a:opt.">,fname<".a:fname.">) ft<".&ft.">")
if exists("g:netrw_altfile") && g:netrw_altfile && &ft == "netrw"
" call Decho("exe NetrwKeepj keepalt ".a:opt." ".a:cmd." ".fnameescape(a:fname))
exe "NetrwKeepj keepalt ".a:opt." ".a:cmd." ".fnameescape(a:fname)
else
" call Decho("exe NetrwKeepj ".a:opt." ".a:cmd." ".fnameescape(a:fname))
exe "NetrwKeepj ".a:opt." ".a:cmd." ".fnameescape(a:fname)
endif
" call Dret("s:NetrwEditFile")
endfun
" ---------------------------------------------------------------------
" s:NetrwExploreListUniq: {{{2
fun! s:NetrwExploreListUniq(explist)
@@ -7814,8 +7860,16 @@ fun! s:NetrwMarkFileMove(islocal)
" call Decho("movecmd<".movecmd."> (#3 linux or cygwin)",'~'.expand("<slnum>"))
endif
for fname in s:netrwmarkfilelist_{bufnr("%")}
if g:netrw_keepdir
" Jul 19, 2022: fixing file move when g:netrw_keepdir is 1
let fname= b:netrw_curdir."/".fname
endif
if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
let fname= substitute(fname,'/','\\','g')
if g:netrw_keepdir
" Jul 19, 2022: fixing file move when g:netrw_keepdir is 1
let fname= b:netrw_curdir."\\".fname
endif
endif
" call Decho("system(".movecmd." ".s:ShellEscape(fname)." ".tgt.")",'~'.expand("<slnum>"))
let ret= system(movecmd.g:netrw_localmovecmdopt." ".s:ShellEscape(fname)." ".tgt)
@@ -8573,21 +8627,28 @@ endfun
" choice = 2 : didn't save modified file, opened window
" choice = 3 : cancel open
fun! s:NetrwPrevWinOpen(islocal)
" call Dfunc("s:NetrwPrevWinOpen(islocal=".a:islocal.")")
" call Dfunc("s:NetrwPrevWinOpen(islocal=".a:islocal.") win#".winnr())
let ykeep= @@
" grab a copy of the b:netrw_curdir to pass it along to newly split windows
let curdir = b:netrw_curdir
" call Decho("COMBAK#1: mod=".&mod." win#".winnr())
" get last window number and the word currently under the cursor
let origwin = winnr()
let lastwinnr = winnr("$")
let curword = s:NetrwGetWord()
let choice = 0
let s:prevwinopen= 1 " lets s:NetrwTreeDir() know that NetrwPrevWinOpen called it
" call Decho("origwin#".origwin." lastwinnr#".lastwinnr)
" call Decho("COMBAK#2: mod=".&mod." win#".winnr())
let curword = s:NetrwGetWord()
let choice = 0
let s:prevwinopen= 1 " lets s:NetrwTreeDir() know that NetrwPrevWinOpen called it (s:NetrwTreeDir() will unlet s:prevwinopen)
" call Decho("COMBAK#3: mod=".&mod." win#".winnr())
let s:treedir = s:NetrwTreeDir(a:islocal)
" call Decho("COMBAK#4: mod=".&mod." win#".winnr())
let curdir = s:treedir
" call Decho("COMBAK#5: mod=".&mod." win#".winnr())
" call Decho("winnr($)#".lastwinnr." curword<".curword.">",'~'.expand("<slnum>"))
" call Decho("COMBAK#6: mod=".&mod." win#".winnr())
let didsplit = 0
if lastwinnr == 1
@@ -8610,11 +8671,26 @@ fun! s:NetrwPrevWinOpen(islocal)
" call Decho("did split",'~'.expand("<slnum>"))
else
" call Decho("COMBAK#7: mod=".&mod." win#".winnr())
NetrwKeepj call s:SaveBufVars()
" call Decho("COMBAK#8: mod=".&mod." win#".winnr())
let eikeep= &ei
" call Decho("COMBAK#9: mod=".&mod." win#".winnr())
setl ei=all
" call Decho("COMBAK#10: mod=".&mod." win#".winnr())
wincmd p
" call Decho("COMBAK#11: mod=".&mod)
" call Decho("wincmd p (now in win#".winnr().") curdir<".curdir.">",'~'.expand("<slnum>"))
" call Decho("COMBAK#12: mod=".&mod)
if exists("s:lexplore_win") && s:lexplore_win == winnr()
" whoops -- user trying to open file in the Lexplore window.
" Use Lexplore's opening-file window instead.
" call Decho("whoops -- user trying to open file in Lexplore Window. Use win#".g:netrw_chgwin." instead")
" exe g:netrw_chgwin."wincmd w"
wincmd p
call s:NetrwBrowse(0,s:NetrwBrowseChgDir(0,s:NetrwGetWord()))
endif
" prevwinnr: the window number of the "prev" window
" prevbufnr: the buffer number of the buffer in the "prev" window
@@ -8624,8 +8700,10 @@ fun! s:NetrwPrevWinOpen(islocal)
let prevbufname = bufname("%")
let prevmod = &mod
let bnrcnt = 0
" call Decho("COMBAK#13: mod=".&mod." win#".winnr())
NetrwKeepj call s:RestoreBufVars()
" call Decho("after wincmd p: win#".winnr()." win($)#".winnr("$")." origwin#".origwin." &mod=".&mod." bufname(%)<".bufname("%")."> prevbufnr=".prevbufnr,'~'.expand("<slnum>"))
" call Decho("COMBAK#14: mod=".&mod." win#".winnr())
" if the previous window's buffer has been changed (ie. its modified flag is set),
" and it doesn't appear in any other extant window, then ask the
@@ -8635,6 +8713,7 @@ fun! s:NetrwPrevWinOpen(islocal)
windo if winbufnr(0) == prevbufnr | let bnrcnt=bnrcnt+1 | endif
" call Decho("prevbufnr=".prevbufnr." bnrcnt=".bnrcnt." buftype=".&bt." winnr()=".winnr()." prevwinnr#".prevwinnr,'~'.expand("<slnum>"))
exe prevwinnr."wincmd w"
" call Decho("COMBAK#15: mod=".&mod." win#".winnr())
if bnrcnt == 1 && &hidden == 0
" only one copy of the modified buffer in a window, and
@@ -8642,6 +8721,7 @@ fun! s:NetrwPrevWinOpen(islocal)
let choice = confirm("Save modified buffer<".prevbufname."> first?","&Yes\n&No\n&Cancel")
" call Decho("prevbufname<".prevbufname."> choice=".choice." current-winnr#".winnr(),'~'.expand("<slnum>"))
let &ei= eikeep
" call Decho("COMBAK#16: mod=".&mod." win#".winnr())
if choice == 1
" Yes -- write file & then browse
@@ -8674,6 +8754,7 @@ fun! s:NetrwPrevWinOpen(islocal)
endif
let &ei= eikeep
endif
" call Decho("COMBAK#17: mod=".&mod." win#".winnr())
" restore b:netrw_curdir (window split/enew may have lost it)
let b:netrw_curdir= curdir
@@ -9361,19 +9442,23 @@ fun! s:NetrwTreeDir(islocal)
if exists("s:prevwinopen")
unlet s:prevwinopen
endif
" call Decho("COMBAK#18 : mod=".&mod." win#".winnr())
if !exists("b:netrw_curdir") || b:netrw_curdir == ""
let b:netrw_curdir= getcwd()
endif
let treedir = b:netrw_curdir
" call Decho("set initial treedir<".treedir.">",'~'.expand("<slnum>"))
" call Decho("COMBAK#19 : mod=".&mod." win#".winnr())
let s:treecurpos= winsaveview()
" call Decho("saving posn to s:treecurpos<".string(s:treecurpos).">",'~'.expand("<slnum>"))
" call Decho("COMBAK#20 : mod=".&mod." win#".winnr())
if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST
" call Decho("w:netrw_liststyle is TREELIST:",'~'.expand("<slnum>"))
" call Decho("line#".line(".")." getline(.)<".getline('.')."> treecurpos<".string(s:treecurpos).">",'~'.expand("<slnum>"))
" call Decho("COMBAK#21 : mod=".&mod." win#".winnr())
" extract tree directory if on a line specifying a subdirectory (ie. ends with "/")
let curline= substitute(getline('.'),"\t -->.*$",'','')
@@ -9389,6 +9474,7 @@ fun! s:NetrwTreeDir(islocal)
" call Decho("do not extract tree subdirectory from current line and set treedir to empty",'~'.expand("<slnum>"))
let treedir= ""
endif
" call Decho("COMBAK#22 : mod=".&mod." win#".winnr())
" detect user attempting to close treeroot
" call Decho("check if user is attempting to close treeroot",'~'.expand("<slnum>"))
@@ -9404,10 +9490,12 @@ fun! s:NetrwTreeDir(islocal)
" else " Decho
" call Decho(".user not attempting to close treeroot",'~'.expand("<slnum>"))
endif
" call Decho("COMBAK#23 : mod=".&mod." win#".winnr())
" call Decho("islocal=".a:islocal." curline<".curline.">",'~'.expand("<slnum>"))
let potentialdir= s:NetrwFile(substitute(curline,'^'.s:treedepthstring.'\+ \(.*\)@$','\1',''))
" call Decho("potentialdir<".potentialdir."> isdir=".isdirectory(potentialdir),'~'.expand("<slnum>"))
" call Decho("COMBAK#24 : mod=".&mod." win#".winnr())
" COMBAK: a symbolic link may point anywhere -- so it will be used to start a new treetop
" if a:islocal && curline =~ '@$' && isdirectory(s:NetrwFile(potentialdir))
@@ -9421,10 +9509,12 @@ fun! s:NetrwTreeDir(islocal)
let treedir = s:NetrwTreePath(w:netrw_treetop)
" endif
endif
" call Decho("COMBAK#25 : mod=".&mod." win#".winnr())
" sanity maintenance: keep those //s away...
let treedir= substitute(treedir,'//$','/','')
" call Decho("treedir<".treedir.">",'~'.expand("<slnum>"))
" call Decho("COMBAK#26 : mod=".&mod." win#".winnr())
" call Dret("s:NetrwTreeDir <".treedir."> : (side effect) s:treecurpos<".(exists("s:treecurpos")? string(s:treecurpos) : 'n/a').">")
return treedir
@@ -10795,7 +10885,8 @@ fun! netrw#LocalBrowseCheck(dirname)
" call Dfunc("netrw#LocalBrowseCheck(dirname<".a:dirname.">)")
" call Decho("isdir<".a:dirname."> =".isdirectory(s:NetrwFile(a:dirname)).((exists("s:treeforceredraw")? " treeforceredraw" : "")).'~'.expand("<slnum>"))
" call Decho("settings buf#".bufnr("%")."<".bufname("%").">: ".((&l:ma == 0)? "no" : "")."ma ".((&l:mod == 0)? "no" : "")."mod ".((&l:bl == 0)? "no" : "")."bl ".((&l:ro == 0)? "no" : "")."ro fo=".&l:fo,'~'.expand("<slnum>"))
" call Dredir("ls!","netrw#LocalBrowseCheck")
" getting E930: Cannot use :redir inside execute
"" call Dredir("ls!","netrw#LocalBrowseCheck")
" call Decho("tab#".tabpagenr()." win#".winnr()." buf#".bufnr("%")."<".bufname("%")."> line#".line(".")." col#".col(".")." winline#".winline()." wincol#".wincol(),'~'.expand("<slnum>"))
" call Decho("current buffer#".bufnr("%")."<".bufname("%")."> ft=".&ft,'~'.expand("<slnum>"))
@@ -11089,12 +11180,15 @@ fun! s:LocalListing()
if w:netrw_liststyle == s:LONGLIST
let sz = getfsize(filename)
let fsz = strpart(" ",1,15-strlen(sz)).sz
let szlen = 15 - (strdisplaywidth(longfile) - g:netrw_maxfilenamelen)
let szlen = (szlen > 0) ? szlen : 0
let fsz = printf("%".szlen."S",sz)
if g:netrw_sizestyle =~# "[hH]"
let sz= s:NetrwHumanReadable(sz)
endif
let longfile= printf("%-".(g:netrw_maxfilenamelen+1)."s",pfile)
let pfile = longfile.sz." ".strftime(g:netrw_timefmt,getftime(filename))
let longfile= printf("%-".g:netrw_maxfilenamelen."S",pfile)
let pfile = longfile." ".sz." ".strftime(g:netrw_timefmt,getftime(filename))
" call Decho("longlist support: sz=".sz." fsz=".fsz,'~'.expand("<slnum>"))
endif
@@ -11393,34 +11487,8 @@ fun! s:NetrwLocalRmFile(path,fname,all)
let rmfile= substitute(rmfile,'[\/]$','','e')
if all || ok =~# 'y\%[es]' || ok == ""
if v:version < 704 || (v:version == 704 && !has("patch1107"))
" " call Decho("1st attempt: system(netrw#WinPath(".g:netrw_localrmdir.') '.s:ShellEscape(rmfile).')','~'.expand("<slnum>"))
call system(netrw#WinPath(g:netrw_localrmdir).' '.s:ShellEscape(rmfile))
" " call Decho("v:shell_error=".v:shell_error,'~'.expand("<slnum>"))
if v:shell_error != 0
" " call Decho("2nd attempt to remove directory<".rmfile.">",'~'.expand("<slnum>"))
let errcode= s:NetrwDelete(rmfile)
" " call Decho("errcode=".errcode,'~'.expand("<slnum>"))
if errcode != 0
if has("unix")
" " call Decho("3rd attempt to remove directory<".rmfile.">",'~'.expand("<slnum>"))
call system("rm ".s:ShellEscape(rmfile))
if v:shell_error != 0 && !exists("g:netrw_quiet")
call netrw#ErrorMsg(s:ERROR,"unable to remove directory<".rmfile."> -- is it empty?",34)
let ok="no"
endif
elseif !exists("g:netrw_quiet")
call netrw#ErrorMsg(s:ERROR,"unable to remove directory<".rmfile."> -- is it empty?",35)
let ok="no"
endif
endif
endif
else
if delete(rmfile,"d")
call netrw#ErrorMsg(s:ERROR,"unable to delete directory <".rmfile.">!",103)
endif
if delete(rmfile,"d")
call netrw#ErrorMsg(s:ERROR,"unable to delete directory <".rmfile.">!",103)
endif
endif
endif
@@ -12015,13 +12083,13 @@ fun! s:NetrwEnew(...)
if exists("b:netrw_prvdir") |let netrw_prvdir = b:netrw_prvdir |endif
NetrwKeepj call s:NetrwOptionsRestore("w:")
" call Decho("generate a buffer with NetrwKeepj keepalt enew!",'~'.expand("<slnum>"))
" call Decho("generate a buffer with NetrwKeepj enew!",'~'.expand("<slnum>"))
" when tree listing uses file TreeListing... a new buffer is made.
" Want the old buffer to be unlisted.
" COMBAK: this causes a problem, see P43
" setl nobl
let netrw_keepdiff= &l:diff
noswapfile NetrwKeepj keepalt enew!
call s:NetrwEditFile("enew!","","")
let &l:diff= netrw_keepdiff
" call Decho("bufnr($)=".bufnr("$")."<".bufname(bufnr("$"))."> winnr($)=".winnr("$"),'~'.expand("<slnum>"))
NetrwKeepj call s:NetrwOptionsSave("w:")
@@ -12070,7 +12138,7 @@ endfun
" s:NetrwExe: executes a string using "!" {{{2
fun! s:NetrwExe(cmd)
" call Dfunc("s:NetrwExe(a:cmd<".a:cmd.">)")
if has("win32") && &shell !~? 'cmd' && !g:netrw_cygwin
if has("win32") && &shell !~? 'cmd\|pwsh\|powershell' && !g:netrw_cygwin
" call Decho("using win32:",expand("<slnum>"))
let savedShell=[&shell,&shellcmdflag,&shellxquote,&shellxescape,&shellquote,&shellpipe,&shellredir,&shellslash]
set shell& shellcmdflag& shellxquote& shellxescape&
@@ -12739,3 +12807,54 @@ unlet s:keepcpo
" Modelines: {{{1
" ===============
" vim:ts=8 fdm=marker
" doing autoload/netrw.vim version v172g ~57
" varname<g:netrw_dirhistcnt> value=0 ~1
" varname<s:THINLIST> value=0 ~1
" varname<s:LONGLIST> value=1 ~1
" varname<s:WIDELIST> value=2 ~1
" varname<s:TREELIST> value=3 ~1
" varname<s:MAXLIST> value=4 ~1
" varname<g:netrw_use_errorwindow> value=2 ~1
" varname<g:netrw_http_xcmd> value=-q -O ~1
" varname<g:netrw_http_put_cmd> value=curl -T ~1
" varname<g:netrw_keepj> value=keepj ~1
" varname<g:netrw_rcp_cmd> value=rcp ~1
" varname<g:netrw_rsync_cmd> value=rsync ~1
" varname<g:netrw_rsync_sep> value=/ ~1
" varname<g:netrw_scp_cmd> value=scp -q ~1
" varname<g:netrw_sftp_cmd> value=sftp ~1
" varname<g:netrw_ssh_cmd> value=ssh ~1
" varname<g:netrw_alto> value=0 ~1
" varname<g:netrw_altv> value=1 ~1
" varname<g:netrw_banner> value=1 ~1
" varname<g:netrw_browse_split> value=0 ~1
" varname<g:netrw_bufsettings> value=noma nomod nonu nobl nowrap ro nornu ~1
" varname<g:netrw_chgwin> value=-1 ~1
" varname<g:netrw_clipboard> value=1 ~1
" varname<g:netrw_compress> value=gzip ~1
" varname<g:netrw_ctags> value=ctags ~1
" varname<g:netrw_cursor> value=2 ~1
" (netrw) COMBAK: cuc=0 cul=0 initialization of s:netrw_cu[cl]
" varname<g:netrw_cygdrive> value=/cygdrive ~1
" varname<s:didstarstar> value=0 ~1
" varname<g:netrw_dirhistcnt> value=0 ~1
" varname<g:netrw_decompress> value={ ".gz" : "gunzip", ".bz2" : "bunzip2", ".zip" : "unzip", ".tar" : "tar -xf", ".xz" : "unxz" } ~1
" varname<g:netrw_dirhistmax> value=10 ~1
" varname<g:netrw_errorlvl> value=0 ~1
" varname<g:netrw_fastbrowse> value=1 ~1
" varname<g:netrw_ftp_browse_reject> value=^total\s\+\d\+$\|^Trying\s\+\d\+.*$\|^KERBEROS_V\d rejected\|^Security extensions not\|No such file\|: connect to address [0-9a-fA-F:]*: No route to host$ ~1
" varname<g:netrw_ftpmode> value=binary ~1
" varname<g:netrw_hide> value=1 ~1
" varname<g:netrw_keepdir> value=1 ~1
" varname<g:netrw_list_hide> value= ~1
" varname<g:netrw_localmkdir> value=mkdir ~1
" varname<g:netrw_remote_mkdir> value=mkdir ~1
" varname<g:netrw_liststyle> value=0 ~1
" varname<g:netrw_markfileesc> value=*./[\~ ~1
" varname<g:netrw_maxfilenamelen> value=32 ~1
" varname<g:netrw_menu> value=1 ~1
" varname<g:netrw_mkdir_cmd> value=ssh USEPORT HOSTNAME mkdir ~1
" varname<g:netrw_mousemaps> value=1 ~1
" varname<g:netrw_retmap> value=0 ~1
" varname<g:netrw_chgperm> value=chmod PERM FILENAME ~1
" varname<g:netrw_preview> value=0 ~1

View File

@@ -1,7 +1,7 @@
" netrwSettings.vim: makes netrw settings simpler
" Date: Aug 12, 2021
" Date: Nov 15, 2021
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" Version: 17 ASTRO-ONLY
" Version: 18
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@@ -19,7 +19,7 @@
if exists("g:loaded_netrwSettings") || &cp
finish
endif
let g:loaded_netrwSettings = "v17"
let g:loaded_netrwSettings = "v18"
if v:version < 700
echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0"
@@ -159,8 +159,6 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_localmkdiropt = '.g:netrw_localmkdiropt
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
put = 'let g:netrw_localmovecmdopt = '.g:netrw_localmovecmdopt
put = 'let g:netrw_localrmdir = '.g:netrw_localrmdir
put = 'let g:netrw_localrmdiropt = '.g:netrw_localrmdiropt
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
put = 'let g:netrw_menu = '.g:netrw_menu
put = 'let g:netrw_mousemaps = '.g:netrw_mousemaps

View File

@@ -22,8 +22,7 @@ let s:maxoff = 50 " maximum number of lines to look backwards for ()
function s:SearchBracket(fromlnum, flags)
return searchpairpos('[[({]', '', '[])}]', a:flags,
\ {-> synstack('.', col('.'))
\ ->map({_, id -> id->synIDattr('name')})
\ ->match('\%(Comment\|Todo\|String\)$') >= 0},
\ ->indexof({_, id -> synIDattr(id, 'name') =~ '\%(Comment\|Todo\|String\)$'}) >= 0},
\ [0, a:fromlnum - s:maxoff]->max(), g:python_indent.searchpair_timeout)
endfunction
@@ -157,15 +156,13 @@ function python#GetIndent(lnum, ...)
" the start of the comment. synID() is slow, a linear search would take
" too long on a long line.
if synstack(plnum, pline_len)
\ ->map({_, id -> id->synIDattr('name')})
\ ->match('\%(Comment\|Todo\)$') >= 0
\ ->indexof({_, id -> synIDattr(id, 'name') =~ '\%(Comment\|Todo\)$'}) >= 0
let min = 1
let max = pline_len
while min < max
let col = (min + max) / 2
if synstack(plnum, col)
\ ->map({_, id -> id->synIDattr('name')})
\ ->match('\%(Comment\|Todo\)$') >= 0
\ ->indexof({_, id -> synIDattr(id, 'name') =~ '\%(Comment\|Todo\)$'}) >= 0
let max = col
else
let min = col + 1

View File

@@ -1,7 +1,7 @@
" zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION
" Date: Nov 08, 2021
" Version: 32
" Date: Mar 12, 2023
" Version: 33
" Maintainer: Charles E Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
@@ -20,7 +20,7 @@
if &cp || exists("g:loaded_zip")
finish
endif
let g:loaded_zip= "v32"
let g:loaded_zip= "v33"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of zip needs vim 7.2 or later"
@@ -160,10 +160,14 @@ endfun
" ---------------------------------------------------------------------
" ZipBrowseSelect: {{{2
fun! s:ZipBrowseSelect()
" call Dfunc("ZipBrowseSelect() zipfile<".b:zipfile."> curfile<".expand("%").">")
" call Dfunc("ZipBrowseSelect() zipfile<".((exists("b:zipfile"))? b:zipfile : "n/a")."> curfile<".expand("%").">")
let repkeep= &report
set report=10
let fname= getline(".")
if !exists("b:zipfile")
" call Dret("ZipBrowseSelect : b:zipfile doesn't exist!")
return
endif
" sanity check
if fname =~ '^"'

View File

@@ -4,7 +4,7 @@
" Maintainer: Maxim Kim <habamax@gmail.com>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Fri 02 Sep 2022 09:45:11 MSK
" Last Updated: Fri 24 Mar 2023 20:28:06 AEDT
" Generated by Colortemplate v2.2.0
@@ -36,38 +36,6 @@ hi! link vimParenSep Normal
hi! link vimCommentString Comment
hi! link gitCommitSummary Title
hi! link markdownUrl String
hi! link elixirOperator Statement
hi! link elixirKeyword Statement
hi! link elixirBlockDefinition Statement
hi! link elixirDefine Statement
hi! link elixirPrivateDefine Statement
hi! link elixirGuard Statement
hi! link elixirPrivateGuard Statement
hi! link elixirModuleDefine Statement
hi! link elixirProtocolDefine Statement
hi! link elixirImplDefine Statement
hi! link elixirRecordDefine Statement
hi! link elixirPrivateRecordDefine Statement
hi! link elixirMacroDefine Statement
hi! link elixirPrivateMacroDefine Statement
hi! link elixirDelegateDefine Statement
hi! link elixirOverridableDefine Statement
hi! link elixirExceptionDefine Statement
hi! link elixirCallbackDefine Statement
hi! link elixirStructDefine Statement
hi! link elixirExUnitMacro Statement
hi! link elixirInclude Statement
hi! link elixirAtom PreProc
hi! link elixirDocTest String
hi ALEErrorSign guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
hi ALEInfoSign guifg=#d7d787 guibg=NONE gui=NONE cterm=NONE
hi ALEWarningSign guifg=#af87af guibg=NONE gui=NONE cterm=NONE
hi ALEError guifg=#1c1c1c guibg=#d75f5f gui=NONE cterm=NONE
hi ALEVirtualTextError guifg=#1c1c1c guibg=#d75f5f gui=NONE cterm=NONE
hi ALEWarning guifg=#1c1c1c guibg=#af87af gui=NONE cterm=NONE
hi ALEVirtualTextWarning guifg=#1c1c1c guibg=#af87af gui=NONE cterm=NONE
hi ALEInfo guifg=#d7d787 guibg=NONE gui=NONE cterm=NONE
hi ALEVirtualTextInfo guifg=#d7d787 guibg=NONE gui=NONE cterm=NONE
hi Normal guifg=#bcbcbc guibg=#1c1c1c gui=NONE cterm=NONE
hi Statusline guifg=#1c1c1c guibg=#9e9e9e gui=NONE cterm=NONE
hi StatuslineNC guifg=#1c1c1c guibg=#767676 gui=NONE cterm=NONE
@@ -88,10 +56,14 @@ hi SpecialKey guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi Visual guifg=#1c1c1c guibg=#87afaf gui=NONE cterm=NONE
hi VisualNOS guifg=#1c1c1c guibg=#5f8787 gui=NONE cterm=NONE
hi Pmenu guifg=NONE guibg=#262626 gui=NONE cterm=NONE
hi Pmenu guifg=NONE guibg=#3a3a3a gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#767676 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel guifg=#1c1c1c guibg=#afaf87 gui=NONE cterm=NONE
hi PmenuKind guifg=#d7875f guibg=#3a3a3a gui=NONE cterm=NONE
hi PmenuKindSel guifg=#d75f5f guibg=#afaf87 gui=NONE cterm=NONE
hi PmenuExtra guifg=#767676 guibg=#3a3a3a gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#1c1c1c guibg=#afaf87 gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error guifg=#d75f5f guibg=#1c1c1c gui=reverse cterm=reverse
hi ErrorMsg guifg=#d75f5f guibg=#1c1c1c gui=reverse cterm=reverse
@@ -100,7 +72,7 @@ hi MoreMsg guifg=#87af87 guibg=NONE gui=NONE cterm=NONE
hi Question guifg=#afaf87 guibg=NONE gui=NONE cterm=NONE
hi WarningMsg guifg=#d7875f guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=#d7d787 guibg=#1c1c1c gui=reverse cterm=reverse
hi MatchParen guifg=#5f8787 guibg=#1c1c1c gui=reverse cterm=reverse
hi MatchParen guifg=#ff00af guibg=NONE gui=bold cterm=bold
hi Search guifg=#1c1c1c guibg=#87af87 gui=NONE cterm=NONE
hi IncSearch guifg=#1c1c1c guibg=#ffaf5f gui=NONE cterm=NONE
hi CurSearch guifg=#1c1c1c guibg=#afaf87 gui=NONE cterm=NONE
@@ -112,7 +84,7 @@ hi lCursor guifg=#1c1c1c guibg=#5fff00 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi Folded guifg=#9e9e9e guibg=#262626 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#262626 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#3a3a3a gui=NONE cterm=NONE
hi SpellBad guifg=NONE guibg=NONE guisp=#d75f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
hi SpellCap guifg=NONE guibg=NONE guisp=#5f87af gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
hi SpellLocal guifg=NONE guibg=NONE guisp=#87af87 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=underline
@@ -132,13 +104,13 @@ hi Directory guifg=#87afaf guibg=NONE gui=bold cterm=bold
hi Conceal guifg=#767676 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Debug guifg=#5f8787 guibg=NONE gui=NONE cterm=NONE
hi DiffAdd guifg=#000000 guibg=#87af87 gui=NONE cterm=NONE
hi DiffAdd guifg=#dadada guibg=#5f875f gui=NONE cterm=NONE
hi DiffDelete guifg=#af875f guibg=NONE gui=NONE cterm=NONE
hi diffAdded guifg=#87af87 guibg=NONE gui=NONE cterm=NONE
hi diffRemoved guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
hi diffSubname guifg=#af87af guibg=NONE gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#d7d7d7 gui=NONE cterm=NONE
hi DiffChange guifg=#000000 guibg=#afafaf gui=NONE cterm=NONE
hi DiffText guifg=#dadada guibg=#878787 gui=NONE cterm=NONE
hi DiffChange guifg=#bcbcbc guibg=#5f5f5f gui=NONE cterm=NONE
if s:t_Co >= 256
hi! link Terminal Normal
@@ -159,38 +131,6 @@ if s:t_Co >= 256
hi! link vimCommentString Comment
hi! link gitCommitSummary Title
hi! link markdownUrl String
hi! link elixirOperator Statement
hi! link elixirKeyword Statement
hi! link elixirBlockDefinition Statement
hi! link elixirDefine Statement
hi! link elixirPrivateDefine Statement
hi! link elixirGuard Statement
hi! link elixirPrivateGuard Statement
hi! link elixirModuleDefine Statement
hi! link elixirProtocolDefine Statement
hi! link elixirImplDefine Statement
hi! link elixirRecordDefine Statement
hi! link elixirPrivateRecordDefine Statement
hi! link elixirMacroDefine Statement
hi! link elixirPrivateMacroDefine Statement
hi! link elixirDelegateDefine Statement
hi! link elixirOverridableDefine Statement
hi! link elixirExceptionDefine Statement
hi! link elixirCallbackDefine Statement
hi! link elixirStructDefine Statement
hi! link elixirExUnitMacro Statement
hi! link elixirInclude Statement
hi! link elixirAtom PreProc
hi! link elixirDocTest String
hi ALEErrorSign ctermfg=167 ctermbg=NONE cterm=NONE
hi ALEInfoSign ctermfg=186 ctermbg=NONE cterm=NONE
hi ALEWarningSign ctermfg=139 ctermbg=NONE cterm=NONE
hi ALEError ctermfg=234 ctermbg=167 cterm=NONE
hi ALEVirtualTextError ctermfg=234 ctermbg=167 cterm=NONE
hi ALEWarning ctermfg=234 ctermbg=139 cterm=NONE
hi ALEVirtualTextWarning ctermfg=234 ctermbg=139 cterm=NONE
hi ALEInfo ctermfg=186 ctermbg=NONE cterm=NONE
hi ALEVirtualTextInfo ctermfg=186 ctermbg=NONE cterm=NONE
hi Normal ctermfg=250 ctermbg=234 cterm=NONE
hi Statusline ctermfg=234 ctermbg=247 cterm=NONE
hi StatuslineNC ctermfg=234 ctermbg=243 cterm=NONE
@@ -211,10 +151,14 @@ if s:t_Co >= 256
hi FoldColumn ctermfg=240 ctermbg=NONE cterm=NONE
hi Visual ctermfg=234 ctermbg=109 cterm=NONE
hi VisualNOS ctermfg=234 ctermbg=66 cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=235 cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=237 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=243 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=234 ctermbg=144 cterm=NONE
hi PmenuKind ctermfg=173 ctermbg=237 cterm=NONE
hi PmenuKindSel ctermfg=167 ctermbg=144 cterm=NONE
hi PmenuExtra ctermfg=243 ctermbg=237 cterm=NONE
hi PmenuExtraSel ctermfg=234 ctermbg=144 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=167 ctermbg=234 cterm=reverse
hi ErrorMsg ctermfg=167 ctermbg=234 cterm=reverse
@@ -223,7 +167,7 @@ if s:t_Co >= 256
hi Question ctermfg=144 ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=173 ctermbg=NONE cterm=NONE
hi Todo ctermfg=186 ctermbg=234 cterm=reverse
hi MatchParen ctermfg=66 ctermbg=234 cterm=reverse
hi MatchParen ctermfg=199 ctermbg=NONE cterm=bold
hi Search ctermfg=234 ctermbg=108 cterm=NONE
hi IncSearch ctermfg=234 ctermbg=215 cterm=NONE
hi CurSearch ctermfg=234 ctermbg=144 cterm=NONE
@@ -233,7 +177,7 @@ if s:t_Co >= 256
hi CursorLine ctermfg=NONE ctermbg=236 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=236 cterm=NONE
hi Folded ctermfg=247 ctermbg=235 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=235 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=237 cterm=NONE
hi SpellBad ctermfg=167 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=67 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=108 ctermbg=NONE cterm=underline
@@ -253,27 +197,18 @@ if s:t_Co >= 256
hi Conceal ctermfg=243 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Debug ctermfg=66 ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=16 ctermbg=108 cterm=NONE
hi DiffAdd ctermfg=253 ctermbg=65 cterm=NONE
hi DiffDelete ctermfg=137 ctermbg=NONE cterm=NONE
hi diffAdded ctermfg=108 ctermbg=NONE cterm=NONE
hi diffRemoved ctermfg=167 ctermbg=NONE cterm=NONE
hi diffSubname ctermfg=139 ctermbg=NONE cterm=NONE
hi DiffText ctermfg=16 ctermbg=188 cterm=NONE
hi DiffChange ctermfg=16 ctermbg=145 cterm=NONE
hi DiffText ctermfg=253 ctermbg=102 cterm=NONE
hi DiffChange ctermfg=250 ctermbg=59 cterm=NONE
unlet s:t_Co
finish
endif
if s:t_Co >= 16
hi ALEErrorSign ctermfg=darkred ctermbg=NONE cterm=NONE
hi ALEInfoSign ctermfg=yellow ctermbg=NONE cterm=NONE
hi ALEWarningSign ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi ALEError ctermfg=black ctermbg=darkred cterm=NONE
hi ALEVirtualTextError ctermfg=black ctermbg=darkred cterm=NONE
hi ALEWarning ctermfg=black ctermbg=darkmagenta cterm=NONE
hi ALEVirtualTextWarning ctermfg=black ctermbg=darkmagenta cterm=NONE
hi ALEInfo ctermfg=yellow ctermbg=NONE cterm=NONE
hi ALEVirtualTextInfo ctermfg=yellow ctermbg=NONE cterm=NONE
hi Normal ctermfg=white ctermbg=black cterm=NONE
hi Statusline ctermfg=black ctermbg=gray cterm=NONE
hi StatuslineNC ctermfg=black ctermbg=darkgray cterm=NONE
@@ -294,10 +229,14 @@ if s:t_Co >= 16
hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Visual ctermfg=black ctermbg=cyan cterm=NONE
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgray cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=gray cterm=NONE
hi PmenuThumb ctermfg=gray ctermbg=black cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=gray cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=gray cterm=NONE
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=darkgray ctermbg=gray cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=darkred ctermbg=black cterm=reverse
hi ErrorMsg ctermfg=darkred ctermbg=black cterm=reverse
@@ -306,7 +245,7 @@ if s:t_Co >= 16
hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
hi Todo ctermfg=yellow ctermbg=black cterm=reverse
hi MatchParen ctermfg=darkcyan ctermbg=black cterm=reverse
hi MatchParen ctermfg=magenta ctermbg=NONE cterm=bold
hi Search ctermfg=black ctermbg=darkgreen cterm=NONE
hi IncSearch ctermfg=black ctermbg=red cterm=NONE
hi CurSearch ctermfg=black ctermbg=darkyellow cterm=NONE
@@ -336,13 +275,13 @@ if s:t_Co >= 16
hi Conceal ctermfg=darkgray ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Debug ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=black ctermbg=darkgreen cterm=NONE
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffDelete ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi diffAdded ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi diffRemoved ctermfg=darkred ctermbg=NONE cterm=NONE
hi diffSubname ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi DiffText ctermfg=black ctermbg=lightgrey cterm=NONE
hi DiffChange ctermfg=black ctermbg=darkgray cterm=NONE
hi DiffText ctermfg=white ctermbg=lightgrey cterm=NONE
hi DiffChange ctermfg=white ctermbg=darkgray cterm=NONE
unlet s:t_Co
finish
endif
@@ -366,12 +305,16 @@ if s:t_Co >= 8
hi EndOfBuffer ctermfg=gray ctermbg=NONE cterm=bold
hi SpecialKey ctermfg=gray ctermbg=NONE cterm=bold
hi FoldColumn ctermfg=gray ctermbg=NONE cterm=bold
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=reverse
hi Visual ctermfg=black ctermbg=darkcyan cterm=NONE
hi VisualNOS ctermfg=black ctermbg=darkcyan cterm=NONE
hi Pmenu ctermfg=black ctermbg=gray cterm=NONE
hi PmenuThumb ctermfg=gray ctermbg=black cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=gray cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=gray cterm=NONE
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=gray cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=darkred ctermbg=gray cterm=bold,reverse
hi ErrorMsg ctermfg=darkred ctermbg=gray cterm=bold,reverse
@@ -380,7 +323,7 @@ if s:t_Co >= 8
hi Question ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkyellow ctermbg=black cterm=reverse
hi MatchParen ctermfg=darkcyan ctermbg=black cterm=reverse
hi MatchParen ctermfg=magenta ctermbg=NONE cterm=bold
hi Search ctermfg=black ctermbg=darkgreen cterm=NONE
hi IncSearch ctermfg=black ctermbg=darkyellow cterm=NONE
hi CurSearch ctermfg=black ctermbg=darkyellow cterm=NONE
@@ -410,7 +353,7 @@ if s:t_Co >= 8
hi Conceal ctermfg=gray ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Debug ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=black ctermbg=darkgreen cterm=NONE
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffDelete ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi diffAdded ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi diffRemoved ctermfg=darkred ctermbg=NONE cterm=NONE
@@ -507,17 +450,19 @@ endif
" Color: color07 #9E9E9E 247 gray
" Color: color15 #BCBCBC 250 white
" Color: colorLine #303030 236 darkgrey
" Color: colorB #262626 235 darkgrey
" Color: colorB #3a3a3a 237 darkgrey
" Color: colorF #262626 235 darkgrey
" Color: colorNonT #585858 240 darkgrey
" Color: colorC #FFAF5F 215 red
" Color: colorlC #5FFF00 82 green
" Color: colorV #1F3F5F 109 cyan
" Color: diffAdd #87AF87 108 darkgreen
" Color: colorMP #ff00af 199 magenta
" Color: diffAdd #5f875f 65 darkgreen
" Color: diffDelete #af875f 137 darkyellow
" Color: diffChange #AFAFAF 145 darkgray
" Color: diffText #D7D7D7 188 lightgrey
" Color: diffChange #5f5f5f 59 darkgray
" Color: diffText #878787 102 lightgrey
" Color: black #000000 16 black
" Color: white #FFFFFF 231 white
" Color: white #dadada 253 white
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
" vim: et ts=2 sw=2

View File

@@ -1,5 +1,5 @@
" Maintainer: Drew Vogel <dvogel@sidejump.org>
" Last Change: 2022 Mar 20
" Last Change: 2023 Apr 19
"
" Replaced rgb.txt as the source of de facto standard color names. This is
" sourced each time the colorscheme command is run. It is also sourced each
@@ -7,7 +7,8 @@
" these colors by introducing a new colors/lists/default.vim file earlier in
" the runtimepath.
let s:keepcpo= &cpo
" make sure line continuation works
let s:keepcpo = &cpo
set cpo&vim
call extend(v:colornames, {
@@ -801,7 +802,7 @@ call extend(v:colornames, {
\ 'teal': '#008080'
\ }, 'keep')
let &cpo= s:keepcpo
let &cpo = s:keepcpo
unlet s:keepcpo
"vim: sw=4

View File

@@ -4,7 +4,7 @@
" Maintainer: Maxim Kim <habamax@gmail.com>
" Website: https://www.github.com/vim/colorschemes
" License: Vim License (see `:help license`)
" Last Updated: Fri 16 Sep 2022 13:15:33 MSK
" Last Updated: Sun 26 Mar 2023 23:04:18 AEDT
" Generated by Colortemplate v2.2.0
@@ -16,24 +16,8 @@ let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
hi! link helpVim Title
hi! link helpHeader Title
hi! link helpHyperTextJump Underlined
hi! link fugitiveSymbolicRef PreProc
hi! link fugitiveHeading Statement
hi! link fugitiveStagedHeading Statement
hi! link fugitiveUnstagedHeading Statement
hi! link fugitiveUntrackedHeading Statement
hi! link fugitiveStagedModifier PreProc
hi! link fugitiveUnstagedModifier PreProc
hi! link fugitiveHash Constant
hi! link diffFile PreProc
hi! link markdownHeadingDelimiter Special
hi! link rstSectionDelimiter Statement
hi! link rstDirective PreProc
hi! link rstHyperlinkReference Special
hi! link rstFieldName Constant
hi! link rstDelimiter Special
hi! link rstInterpretedText Special
hi! link rstCodeBlock Normal
hi! link rstLiteralBlock rstCodeBlock
hi! link markdownUrl String
hi! link colortemplateKey Statement
hi! link xmlTagName Statement
@@ -51,30 +35,6 @@ hi! link vimParenSep Normal
hi! link vimOption Normal
hi! link vimCommentString Comment
hi! link pythonInclude Statement
hi! link elixirOperator Statement
hi! link elixirKeyword Statement
hi! link elixirBlockDefinition Statement
hi! link elixirDefine Statement
hi! link elixirPrivateDefine Statement
hi! link elixirGuard Statement
hi! link elixirPrivateGuard Statement
hi! link elixirModuleDefine Statement
hi! link elixirProtocolDefine Statement
hi! link elixirImplDefine Statement
hi! link elixirRecordDefine Statement
hi! link elixirPrivateRecordDefine Statement
hi! link elixirMacroDefine Statement
hi! link elixirPrivateMacroDefine Statement
hi! link elixirDelegateDefine Statement
hi! link elixirOverridableDefine Statement
hi! link elixirExceptionDefine Statement
hi! link elixirCallbackDefine Statement
hi! link elixirStructDefine Statement
hi! link elixirExUnitMacro Statement
hi! link elixirInclude Statement
hi! link elixirVariable Special
hi! link elixirAtom Constant
hi! link elixirDocTest String
hi! link shQuote Constant
hi! link shNoQuote Normal
hi! link shTestOpr Normal
@@ -134,12 +94,16 @@ if &background ==# 'dark'
hi LineNr guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi NonText guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=NONE guibg=#1c1c1c gui=NONE cterm=NONE
hi PmenuSel guifg=NONE guibg=#444444 gui=NONE cterm=NONE
hi EndOfBuffer guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi PmenuSel guifg=NONE guibg=#4e4e4e gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#c6c6c6 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuKind guifg=#ff5f5f guibg=#303030 gui=NONE cterm=NONE
hi PmenuKindSel guifg=#ff5f5f guibg=#4e4e4e gui=NONE cterm=NONE
hi PmenuExtra guifg=#767676 guibg=#303030 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#767676 guibg=#4e4e4e gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error guifg=#ffffff guibg=#ff5f5f gui=NONE cterm=NONE
hi ErrorMsg guifg=#ffffff guibg=#ff5f5f gui=NONE cterm=NONE
@@ -161,8 +125,8 @@ if &background ==# 'dark'
hi VisualNOS guifg=#000000 guibg=#5fafaf gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#262626 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#262626 gui=NONE cterm=NONE
hi Folded guifg=#767676 guibg=#1c1c1c gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#1c1c1c gui=NONE cterm=NONE
hi Folded guifg=#767676 guibg=#303030 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi SpellBad guifg=NONE guibg=NONE guisp=#ff5f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpellCap guifg=NONE guibg=NONE guisp=#5fafaf gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpellLocal guifg=NONE guibg=NONE guisp=#5faf5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -180,9 +144,9 @@ if &background ==# 'dark'
hi Directory guifg=#5fafff guibg=NONE gui=bold cterm=bold
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd guifg=#000000 guibg=#af87af gui=NONE cterm=NONE
hi DiffChange guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#5fd7d7 gui=NONE cterm=NONE
hi DiffAdd guifg=#c6c6c6 guibg=#875f87 gui=NONE cterm=NONE
hi DiffChange guifg=#c6c6c6 guibg=#5f5f5f gui=NONE cterm=NONE
hi DiffText guifg=#afffff guibg=#5f8787 gui=NONE cterm=NONE
hi DiffDelete guifg=#d78787 guibg=NONE gui=NONE cterm=NONE
hi diffAdded guifg=#5fd75f guibg=NONE gui=NONE cterm=NONE
hi diffRemoved guifg=#d78787 guibg=NONE gui=NONE cterm=NONE
@@ -222,10 +186,14 @@ else
hi FoldColumn guifg=#9e9e9e guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#9e9e9e guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#9e9e9e guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
hi Pmenu guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuSel guifg=NONE guibg=#c6c6c6 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#767676 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuKind guifg=#af0000 guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuKindSel guifg=#af0000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi PmenuExtra guifg=#767676 guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#767676 guibg=#c6c6c6 gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
hi ErrorMsg guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
@@ -245,10 +213,10 @@ else
hi Visual guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi MatchParen guifg=NONE guibg=#c5e7c5 gui=NONE cterm=NONE
hi VisualNOS guifg=#ffffff guibg=#008787 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
hi Folded guifg=#767676 guibg=#eeeeee gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
hi Folded guifg=#767676 guibg=#e4e4e4 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
hi SpellBad guifg=NONE guibg=NONE guisp=#af0000 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpellCap guifg=NONE guibg=NONE guisp=#005f5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpellLocal guifg=NONE guibg=NONE guisp=#008700 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -294,24 +262,8 @@ if s:t_Co >= 256
hi! link helpVim Title
hi! link helpHeader Title
hi! link helpHyperTextJump Underlined
hi! link fugitiveSymbolicRef PreProc
hi! link fugitiveHeading Statement
hi! link fugitiveStagedHeading Statement
hi! link fugitiveUnstagedHeading Statement
hi! link fugitiveUntrackedHeading Statement
hi! link fugitiveStagedModifier PreProc
hi! link fugitiveUnstagedModifier PreProc
hi! link fugitiveHash Constant
hi! link diffFile PreProc
hi! link markdownHeadingDelimiter Special
hi! link rstSectionDelimiter Statement
hi! link rstDirective PreProc
hi! link rstHyperlinkReference Special
hi! link rstFieldName Constant
hi! link rstDelimiter Special
hi! link rstInterpretedText Special
hi! link rstCodeBlock Normal
hi! link rstLiteralBlock rstCodeBlock
hi! link markdownUrl String
hi! link colortemplateKey Statement
hi! link xmlTagName Statement
@@ -329,30 +281,6 @@ if s:t_Co >= 256
hi! link vimOption Normal
hi! link vimCommentString Comment
hi! link pythonInclude Statement
hi! link elixirOperator Statement
hi! link elixirKeyword Statement
hi! link elixirBlockDefinition Statement
hi! link elixirDefine Statement
hi! link elixirPrivateDefine Statement
hi! link elixirGuard Statement
hi! link elixirPrivateGuard Statement
hi! link elixirModuleDefine Statement
hi! link elixirProtocolDefine Statement
hi! link elixirImplDefine Statement
hi! link elixirRecordDefine Statement
hi! link elixirPrivateRecordDefine Statement
hi! link elixirMacroDefine Statement
hi! link elixirPrivateMacroDefine Statement
hi! link elixirDelegateDefine Statement
hi! link elixirOverridableDefine Statement
hi! link elixirExceptionDefine Statement
hi! link elixirCallbackDefine Statement
hi! link elixirStructDefine Statement
hi! link elixirExUnitMacro Statement
hi! link elixirInclude Statement
hi! link elixirVariable Special
hi! link elixirAtom Constant
hi! link elixirDocTest String
hi! link shQuote Constant
hi! link shNoQuote Normal
hi! link shTestOpr Normal
@@ -409,12 +337,16 @@ if s:t_Co >= 256
hi LineNr ctermfg=240 ctermbg=NONE cterm=NONE
hi NonText ctermfg=240 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=240 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=240 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=240 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=234 cterm=NONE
hi PmenuSel ctermfg=NONE ctermbg=238 cterm=NONE
hi EndOfBuffer ctermfg=240 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=236 cterm=NONE
hi PmenuSel ctermfg=NONE ctermbg=239 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=251 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuKind ctermfg=203 ctermbg=236 cterm=NONE
hi PmenuKindSel ctermfg=203 ctermbg=239 cterm=NONE
hi PmenuExtra ctermfg=243 ctermbg=236 cterm=NONE
hi PmenuExtraSel ctermfg=243 ctermbg=239 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=231 ctermbg=203 cterm=NONE
hi ErrorMsg ctermfg=231 ctermbg=203 cterm=NONE
@@ -434,8 +366,8 @@ if s:t_Co >= 256
hi VisualNOS ctermfg=16 ctermbg=73 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=235 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=235 cterm=NONE
hi Folded ctermfg=243 ctermbg=234 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=234 cterm=NONE
hi Folded ctermfg=243 ctermbg=236 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=236 cterm=NONE
hi SpellBad ctermfg=203 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=73 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=77 ctermbg=NONE cterm=underline
@@ -453,9 +385,9 @@ if s:t_Co >= 256
hi Directory ctermfg=75 ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=16 ctermbg=139 cterm=NONE
hi DiffChange ctermfg=16 ctermbg=252 cterm=NONE
hi DiffText ctermfg=16 ctermbg=80 cterm=NONE
hi DiffAdd ctermfg=251 ctermbg=96 cterm=NONE
hi DiffChange ctermfg=251 ctermbg=59 cterm=NONE
hi DiffText ctermfg=159 ctermbg=66 cterm=NONE
hi DiffDelete ctermfg=174 ctermbg=NONE cterm=NONE
hi diffAdded ctermfg=77 ctermbg=NONE cterm=NONE
hi diffRemoved ctermfg=174 ctermbg=NONE cterm=NONE
@@ -492,10 +424,14 @@ if s:t_Co >= 256
hi FoldColumn ctermfg=247 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=247 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=247 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=255 cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=254 cterm=NONE
hi PmenuSel ctermfg=NONE ctermbg=251 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=243 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuKind ctermfg=124 ctermbg=254 cterm=NONE
hi PmenuKindSel ctermfg=124 ctermbg=251 cterm=NONE
hi PmenuExtra ctermfg=243 ctermbg=254 cterm=NONE
hi PmenuExtraSel ctermfg=243 ctermbg=251 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=231 ctermbg=160 cterm=NONE
hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
@@ -513,10 +449,10 @@ if s:t_Co >= 256
hi Visual ctermfg=231 ctermbg=67 cterm=NONE
hi MatchParen ctermfg=30 ctermbg=231 cterm=reverse
hi VisualNOS ctermfg=231 ctermbg=30 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE
hi Folded ctermfg=243 ctermbg=255 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=255 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=255 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=255 cterm=NONE
hi Folded ctermfg=243 ctermbg=254 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=254 cterm=NONE
hi SpellBad ctermfg=124 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=23 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=28 ctermbg=NONE cterm=underline
@@ -577,12 +513,16 @@ if s:t_Co >= 16
hi LineNr ctermfg=grey ctermbg=NONE cterm=NONE
hi NonText ctermfg=grey ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=grey ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=grey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=grey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=darkgrey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
hi PmenuKindSel ctermfg=darkred ctermbg=darkcyan cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=white ctermbg=red cterm=NONE
hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
@@ -621,8 +561,8 @@ if s:t_Co >= 16
hi Directory ctermfg=blue ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
hi DiffChange ctermfg=black ctermbg=lightgray cterm=NONE
hi DiffAdd ctermfg=white ctermbg=darkmagenta cterm=NONE
hi DiffChange ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffText ctermfg=black ctermbg=cyan cterm=NONE
hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=NONE
hi diffAdded ctermfg=green ctermbg=NONE cterm=NONE
@@ -661,9 +601,13 @@ if s:t_Co >= 16
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
hi PmenuKindSel ctermfg=darkred ctermbg=darkcyan cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=white ctermbg=red cterm=NONE
hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
@@ -743,14 +687,18 @@ if s:t_Co >= 8
hi QuickFixLine ctermfg=grey ctermbg=darkblue cterm=bold
hi CursorLineNr ctermfg=black ctermbg=NONE cterm=bold
hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi NonText ctermfg=black ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=black ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=black ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=black ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=grey cterm=NONE
hi NonText ctermfg=grey ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=grey ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=grey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=grey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
hi PmenuKindSel ctermfg=darkred ctermbg=darkcyan cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=grey ctermbg=darkred cterm=NONE
hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
@@ -788,8 +736,8 @@ if s:t_Co >= 8
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
hi DiffChange ctermfg=black ctermbg=darkcyan cterm=NONE
hi DiffAdd ctermfg=white ctermbg=darkmagenta cterm=NONE
hi DiffChange ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=NONE
else
@@ -810,10 +758,14 @@ if s:t_Co >= 8
hi FoldColumn ctermfg=black ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=black ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=black ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=black cterm=NONE
hi Pmenu ctermfg=grey ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=NONE ctermbg=darkcyan cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=black cterm=NONE
hi PmenuKindSel ctermfg=darkred ctermbg=darkcyan cterm=NONE
hi PmenuExtra ctermfg=grey ctermbg=black cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=grey ctermbg=darkred cterm=NONE
hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
@@ -948,20 +900,21 @@ endif
" Color: color15 #FFFFFF 231 white
" Color: colorDimWhite #E4E4E4 254 grey
" Color: colorLine #262626 235 darkgrey
" Color: colorB #1C1C1C 234 darkgrey
" Color: colorB #303030 236 darkgrey
" Color: colorNonT #585858 240 grey
" Color: colorTab #585858 240 grey
" Color: colorC #FFFFFF 231 white
" Color: colorlC #FF5FFF 207 magenta
" Color: colorV #005F87 24 darkblue
" Color: colorMP #C5E7C5 30 darkcyan
" Color: colorPMenuSel #444444 238 darkcyan
" Color: colorPMenuSel #4e4e4e 239 darkcyan
" Color: colorDim #878787 102 grey
" Color: diffAdd #AF87AF 139 darkmagenta
" Color: diffAdd #875f87 96 darkmagenta
" Color: diffDelete #D78787 174 darkred
" Color: diffChange #D0D0D0 252 lightgray
" Color: diffText #5FD7D7 80 cyan
" Color: fgDiff #000000 16 black
" Color: diffChange #5f5f5f 59 darkgreen
" Color: diffText #5f8787 66 cyan
" Color: fgDiffText #afffff 159 black
" Color: fgDiff #C6C6C6 251 white
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
" Background: light
@@ -981,8 +934,8 @@ endif
" Color: color14 #008787 30 cyan
" Color: color07 #808080 244 grey
" Color: color15 #FFFFFF 231 white
" Color: colorLine #E4E4E4 254 grey
" Color: colorB #EEEEEE 255 grey
" Color: colorLine #EEEEEE 255 grey
" Color: colorB #E4E4E4 254 grey
" Color: colorNonT #9E9E9E 247 darkgrey
" Color: colorTab #BCBCBC 250 lightgrey
" Color: colorC #000000 16 black

View File

@@ -1,10 +1,10 @@
" Name: quiet
" Description: `monochrome`, but less ugly, with diffs, searches, a few other niceties, and both light and dark versions.
" Author: neutaaaaan <neutaaaaan-gh@protonmail.com>
" Maintainer: neutaaaaan <neutaaaaan-gh@protonmail.com>
" Description: A mostly monochrome colorscheme, with a few niceties.
" Author: Maxence Weynans <neutaaaaan@gmail.com>
" Maintainer: Maxence Weynans <neutaaaaan@gmail.com>
" Website: https://github.com/vim/colorschemes
" License: Vim License (see `:help license`)`
" Last Updated: Fri 16 Sep 2022 09:52:50 MSK
" Last Updated: Wed 15 Mar 2023 06:45:06 PM CET
" Generated by Colortemplate v2.2.0
@@ -48,57 +48,62 @@ hi! link debugPC CursorLine
if &background ==# 'dark'
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#080808', '#d7005f', '#00af5f', '#d78700', '#0087d7', '#d787d7', '#00afaf', '#dadada', '#707070', '#ff005f', '#00d75f', '#ffaf00', '#5fafff', '#ff87ff', '#00d7d7', '#ffffff']
let g:terminal_ansi_colors = ['#000000', '#d7005f', '#00af5f', '#d78700', '#0087d7', '#d787d7', '#00afaf', '#dadada', '#707070', '#ff005f', '#00d75f', '#ffaf00', '#5fafff', '#ff87ff', '#00d7d7', '#ffffff']
endif
hi Normal guifg=#dadada guibg=#080808 gui=NONE cterm=NONE
hi Normal guifg=#dadada guibg=#000000 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#1c1c1c gui=NONE cterm=NONE
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi CurSearch guifg=#ff5fff guibg=#000000 gui=reverse cterm=reverse
hi Cursor guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi CursorColumn guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi CursorLineNr guifg=#dadada guibg=#303030 gui=NONE cterm=NONE
hi DiffAdd guifg=#00af00 guibg=#080808 gui=reverse cterm=reverse
hi DiffChange guifg=#87afd7 guibg=#080808 gui=reverse cterm=reverse
hi DiffDelete guifg=#d75f5f guibg=#080808 gui=reverse cterm=reverse
hi DiffText guifg=#d787d7 guibg=#080808 gui=reverse cterm=reverse
hi DiffAdd guifg=#00af00 guibg=#000000 gui=reverse cterm=reverse
hi DiffChange guifg=#87afd7 guibg=#000000 gui=reverse cterm=reverse
hi DiffDelete guifg=#d75f5f guibg=#000000 gui=reverse cterm=reverse
hi DiffText guifg=#d787d7 guibg=#000000 gui=reverse cterm=reverse
hi Directory guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi ErrorMsg guifg=#dadada guibg=#080808 gui=reverse cterm=reverse
hi EndOfBuffer guifg=#707070 guibg=NONE gui=NONE cterm=NONE
hi ErrorMsg guifg=#dadada guibg=#000000 gui=reverse cterm=reverse
hi FoldColumn guifg=#707070 guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#707070 guibg=#080808 gui=NONE cterm=NONE
hi IncSearch guifg=#ffaf00 guibg=#080808 gui=reverse cterm=reverse
hi LineNr guifg=#444444 guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#707070 guibg=#000000 gui=NONE cterm=NONE
hi IncSearch guifg=#ffaf00 guibg=#000000 gui=reverse cterm=reverse
hi LineNr guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi MatchParen guifg=#ff00af guibg=NONE gui=bold cterm=bold
hi ModeMsg guifg=#dadada guibg=NONE gui=bold cterm=bold
hi MoreMsg guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi NonText guifg=#707070 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#080808 guibg=#87afd7 gui=NONE cterm=NONE
hi PmenuSbar guifg=#dadada guibg=#707070 gui=NONE cterm=NONE
hi PmenuSel guifg=#080808 guibg=#d787d7 gui=NONE cterm=NONE
hi PmenuThumb guifg=#dadada guibg=#d787d7 gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi PmenuExtra guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi PmenuKind guifg=#000000 guibg=#a8a8a8 gui=bold cterm=bold
hi PmenuSbar guifg=#707070 guibg=#585858 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#dadada gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#000000 guibg=#dadada gui=NONE cterm=NONE
hi PmenuKindSel guifg=#000000 guibg=#dadada gui=bold cterm=bold
hi PmenuThumb guifg=#dadada guibg=#dadada gui=NONE cterm=NONE
hi Question guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi QuickFixLine guifg=#d787d7 guibg=#080808 gui=reverse cterm=reverse
hi Search guifg=#00afff guibg=#080808 gui=reverse cterm=reverse
hi QuickFixLine guifg=#ff5fff guibg=#000000 gui=reverse cterm=reverse
hi Search guifg=#00afff guibg=#000000 gui=reverse cterm=reverse
hi SignColumn guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#707070 guibg=NONE gui=bold cterm=bold
hi SpellBad guifg=#d7005f guibg=NONE guisp=#d7005f gui=undercurl cterm=underline
hi SpellCap guifg=#0087d7 guibg=NONE guisp=#0087d7 gui=undercurl cterm=underline
hi SpellLocal guifg=#d787d7 guibg=NONE guisp=#d787d7 gui=undercurl cterm=underline
hi SpellRare guifg=#00afaf guibg=NONE guisp=#00afaf gui=undercurl cterm=underline
hi StatusLine guifg=#080808 guibg=#dadada gui=bold cterm=bold
hi StatusLineNC guifg=#707070 guibg=#080808 gui=reverse cterm=reverse
hi TabLine guifg=#707070 guibg=#080808 gui=reverse cterm=reverse
hi StatusLine guifg=#000000 guibg=#dadada gui=bold cterm=bold
hi StatusLineNC guifg=#707070 guibg=#000000 gui=reverse cterm=reverse
hi TabLine guifg=#707070 guibg=#000000 gui=reverse cterm=reverse
hi TabLineFill guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi TabLineSel guifg=#080808 guibg=#dadada gui=bold cterm=bold
hi TabLineSel guifg=#000000 guibg=#dadada gui=bold cterm=bold
hi Title guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit guifg=#707070 guibg=#080808 gui=NONE cterm=NONE
hi Visual guifg=#ffaf00 guibg=#080808 gui=reverse cterm=reverse
hi VertSplit guifg=#707070 guibg=#000000 gui=NONE cterm=NONE
hi Visual guifg=#ffaf00 guibg=#000000 gui=reverse cterm=reverse
hi VisualNOS guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi WarningMsg guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi WildMenu guifg=#00afff guibg=#080808 gui=bold cterm=bold
hi WildMenu guifg=#00afff guibg=#000000 gui=bold cterm=bold
hi Comment guifg=#707070 guibg=NONE gui=bold cterm=bold
hi Constant guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi Error guifg=#ff005f guibg=#080808 gui=bold,reverse cterm=bold,reverse
hi Error guifg=#ff005f guibg=#000000 gui=bold,reverse cterm=bold,reverse
hi Identifier guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#dadada guibg=NONE gui=NONE cterm=NONE
@@ -107,127 +112,137 @@ if &background ==# 'dark'
hi Todo guifg=#00ffaf guibg=NONE gui=bold,reverse cterm=bold,reverse
hi Type guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=#dadada guibg=NONE gui=underline cterm=underline
hi CursorIM guifg=#080808 guibg=#afff00 gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=#080808 gui=NONE cterm=NONE
hi ToolbarButton guifg=#dadada guibg=#080808 gui=bold cterm=bold
hi CursorIM guifg=#000000 guibg=#afff00 gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi ToolbarButton guifg=#dadada guibg=#000000 gui=bold cterm=bold
else
" Light background
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#080808', '#af0000', '#005f00', '#af5f00', '#005faf', '#870087', '#008787', '#d7d7d7', '#626262', '#d70000', '#008700', '#d78700', '#0087d7', '#af00af', '#00afaf', '#ffffff']
let g:terminal_ansi_colors = ['#000000', '#af0000', '#005f00', '#af5f00', '#005faf', '#870087', '#008787', '#d7d7d7', '#626262', '#d70000', '#008700', '#d78700', '#0087d7', '#af00af', '#00afaf', '#ffffff']
endif
hi Normal guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
hi Normal guifg=#000000 guibg=#d7d7d7 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi CurSearch guifg=#ff5fff guibg=#000000 gui=reverse cterm=reverse
hi Cursor guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi CursorColumn guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
hi CursorLineNr guifg=#080808 guibg=#eeeeee gui=NONE cterm=NONE
hi DiffAdd guifg=#87d787 guibg=#080808 gui=reverse cterm=reverse
hi DiffChange guifg=#afafd7 guibg=#080808 gui=reverse cterm=reverse
hi DiffDelete guifg=#d78787 guibg=#080808 gui=reverse cterm=reverse
hi DiffText guifg=#d787d7 guibg=#080808 gui=reverse cterm=reverse
hi Directory guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi ErrorMsg guifg=#080808 guibg=#d7d7d7 gui=reverse cterm=reverse
hi CursorLineNr guifg=#000000 guibg=#eeeeee gui=NONE cterm=NONE
hi DiffAdd guifg=#87d787 guibg=#000000 gui=reverse cterm=reverse
hi DiffChange guifg=#afafd7 guibg=#000000 gui=reverse cterm=reverse
hi DiffDelete guifg=#d78787 guibg=#000000 gui=reverse cterm=reverse
hi DiffText guifg=#d787d7 guibg=#000000 gui=reverse cterm=reverse
hi Directory guifg=#000000 guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#626262 guibg=NONE gui=NONE cterm=NONE
hi ErrorMsg guifg=#000000 guibg=#d7d7d7 gui=reverse cterm=reverse
hi FoldColumn guifg=#626262 guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#626262 guibg=#d7d7d7 gui=NONE cterm=NONE
hi IncSearch guifg=#ffaf00 guibg=#080808 gui=reverse cterm=reverse
hi IncSearch guifg=#ffaf00 guibg=#000000 gui=reverse cterm=reverse
hi LineNr guifg=#a8a8a8 guibg=NONE gui=NONE cterm=NONE
hi MatchParen guifg=#ff00af guibg=#d7d7d7 gui=bold cterm=bold
hi ModeMsg guifg=#080808 guibg=NONE gui=bold cterm=bold
hi MoreMsg guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi ModeMsg guifg=#000000 guibg=NONE gui=bold cterm=bold
hi MoreMsg guifg=#000000 guibg=NONE gui=NONE cterm=NONE
hi NonText guifg=#626262 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#080808 guibg=#afafd7 gui=NONE cterm=NONE
hi PmenuSbar guifg=#080808 guibg=#626262 gui=NONE cterm=NONE
hi PmenuSel guifg=#080808 guibg=#d787d7 gui=NONE cterm=NONE
hi PmenuThumb guifg=#080808 guibg=#d787d7 gui=NONE cterm=NONE
hi Question guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi QuickFixLine guifg=#d787d7 guibg=#080808 gui=reverse cterm=reverse
hi Search guifg=#00afff guibg=#080808 gui=reverse cterm=reverse
hi SignColumn guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi PmenuExtra guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi PmenuKind guifg=#000000 guibg=#a8a8a8 gui=bold cterm=bold
hi PmenuSbar guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuSel guifg=#d7d7d7 guibg=#000000 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#d7d7d7 guibg=#000000 gui=NONE cterm=NONE
hi PmenuKindSel guifg=#d7d7d7 guibg=#000000 gui=bold cterm=bold
hi PmenuThumb guifg=#000000 guibg=#000000 gui=NONE cterm=NONE
hi Question guifg=#000000 guibg=NONE gui=NONE cterm=NONE
hi QuickFixLine guifg=#ff5fff guibg=#000000 gui=reverse cterm=reverse
hi Search guifg=#00afff guibg=#000000 gui=reverse cterm=reverse
hi SignColumn guifg=#000000 guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#626262 guibg=NONE gui=bold cterm=bold
hi SpellBad guifg=#af0000 guibg=#d7d7d7 guisp=#af0000 gui=undercurl cterm=underline
hi SpellCap guifg=#005faf guibg=#d7d7d7 guisp=#005faf gui=undercurl cterm=underline
hi SpellLocal guifg=#870087 guibg=#d7d7d7 guisp=#870087 gui=undercurl cterm=underline
hi SpellRare guifg=#008787 guibg=#d7d7d7 guisp=#008787 gui=undercurl cterm=underline
hi StatusLine guifg=#eeeeee guibg=#080808 gui=bold cterm=bold
hi StatusLineNC guifg=#080808 guibg=#a8a8a8 gui=NONE cterm=NONE
hi TabLine guifg=#080808 guibg=#a8a8a8 gui=NONE cterm=NONE
hi TabLineFill guifg=#080808 guibg=#d7d7d7 gui=NONE cterm=NONE
hi TabLineSel guifg=#eeeeee guibg=#080808 gui=bold cterm=bold
hi StatusLine guifg=#eeeeee guibg=#000000 gui=bold cterm=bold
hi StatusLineNC guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi TabLineFill guifg=#000000 guibg=#d7d7d7 gui=NONE cterm=NONE
hi TabLineSel guifg=#eeeeee guibg=#000000 gui=bold cterm=bold
hi Title guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit guifg=#626262 guibg=#d7d7d7 gui=NONE cterm=NONE
hi Visual guifg=#ffaf00 guibg=#080808 gui=reverse cterm=reverse
hi Visual guifg=#ffaf00 guibg=#000000 gui=reverse cterm=reverse
hi VisualNOS guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
hi WarningMsg guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi WildMenu guifg=#080808 guibg=#eeeeee gui=bold cterm=bold
hi Comment guifg=#080808 guibg=NONE gui=bold cterm=bold
hi Constant guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi Error guifg=#ff005f guibg=#080808 gui=bold,reverse cterm=bold,reverse
hi Identifier guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=#00ffaf guibg=#080808 gui=bold,reverse cterm=bold,reverse
hi Type guifg=#080808 guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=#080808 guibg=NONE gui=underline cterm=underline
hi CursorIM guifg=#080808 guibg=#afff00 gui=NONE cterm=NONE
hi WarningMsg guifg=#000000 guibg=NONE gui=NONE cterm=NONE
hi WildMenu guifg=#000000 guibg=#eeeeee gui=bold cterm=bold
hi Comment guifg=#000000 guibg=NONE gui=bold cterm=bold
hi Constant guifg=#000000 guibg=NONE gui=NONE cterm=NONE
hi Error guifg=#ff005f guibg=#000000 gui=bold,reverse cterm=bold,reverse
hi Identifier guifg=#000000 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=#000000 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#000000 guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#000000 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#000000 guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=#00ffaf guibg=#000000 gui=bold,reverse cterm=bold,reverse
hi Type guifg=#000000 guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=#000000 guibg=NONE gui=underline cterm=underline
hi CursorIM guifg=#000000 guibg=#afff00 gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=#d7d7d7 gui=NONE cterm=NONE
hi ToolbarButton guifg=#080808 guibg=#d7d7d7 gui=bold cterm=bold
hi ToolbarButton guifg=#000000 guibg=#d7d7d7 gui=bold cterm=bold
endif
if s:t_Co >= 256
if &background ==# 'dark'
hi Normal ctermfg=253 ctermbg=232 cterm=NONE
hi Normal ctermfg=253 ctermbg=16 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=234 cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi CurSearch ctermfg=207 ctermbg=16 cterm=reverse
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi CursorColumn ctermfg=NONE ctermbg=236 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=236 cterm=NONE
hi CursorLineNr ctermfg=253 ctermbg=236 cterm=NONE
hi DiffAdd ctermfg=34 ctermbg=232 cterm=reverse
hi DiffChange ctermfg=110 ctermbg=232 cterm=reverse
hi DiffDelete ctermfg=167 ctermbg=232 cterm=reverse
hi DiffText ctermfg=176 ctermbg=232 cterm=reverse
hi DiffAdd ctermfg=34 ctermbg=16 cterm=reverse
hi DiffChange ctermfg=110 ctermbg=16 cterm=reverse
hi DiffDelete ctermfg=167 ctermbg=16 cterm=reverse
hi DiffText ctermfg=176 ctermbg=16 cterm=reverse
hi Directory ctermfg=253 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=253 ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=253 ctermbg=232 cterm=reverse
hi EndOfBuffer ctermfg=242 ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=253 ctermbg=16 cterm=reverse
hi FoldColumn ctermfg=242 ctermbg=NONE cterm=NONE
hi Folded ctermfg=242 ctermbg=232 cterm=NONE
hi IncSearch ctermfg=214 ctermbg=232 cterm=reverse
hi LineNr ctermfg=238 ctermbg=NONE cterm=NONE
hi Folded ctermfg=242 ctermbg=16 cterm=NONE
hi IncSearch ctermfg=214 ctermbg=16 cterm=reverse
hi LineNr ctermfg=240 ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=199 ctermbg=NONE cterm=bold
hi ModeMsg ctermfg=253 ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=253 ctermbg=NONE cterm=NONE
hi NonText ctermfg=242 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=232 ctermbg=110 cterm=NONE
hi PmenuSbar ctermfg=253 ctermbg=242 cterm=NONE
hi PmenuSel ctermfg=232 ctermbg=176 cterm=NONE
hi PmenuThumb ctermfg=253 ctermbg=176 cterm=NONE
hi Pmenu ctermfg=16 ctermbg=248 cterm=NONE
hi PmenuExtra ctermfg=16 ctermbg=248 cterm=NONE
hi PmenuKind ctermfg=16 ctermbg=248 cterm=bold
hi PmenuSbar ctermfg=242 ctermbg=240 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=253 cterm=NONE
hi PmenuExtraSel ctermfg=16 ctermbg=253 cterm=NONE
hi PmenuKindSel ctermfg=16 ctermbg=253 cterm=bold
hi PmenuThumb ctermfg=253 ctermbg=253 cterm=NONE
hi Question ctermfg=253 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=176 ctermbg=232 cterm=reverse
hi Search ctermfg=39 ctermbg=232 cterm=reverse
hi QuickFixLine ctermfg=207 ctermbg=16 cterm=reverse
hi Search ctermfg=39 ctermbg=16 cterm=reverse
hi SignColumn ctermfg=253 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=253 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=242 ctermbg=NONE cterm=bold
hi SpellBad ctermfg=161 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=32 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=176 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=37 ctermbg=NONE cterm=underline
hi StatusLine ctermfg=232 ctermbg=253 cterm=bold
hi StatusLineNC ctermfg=242 ctermbg=232 cterm=reverse
hi TabLine ctermfg=242 ctermbg=232 cterm=reverse
hi StatusLine ctermfg=16 ctermbg=253 cterm=bold
hi StatusLineNC ctermfg=242 ctermbg=16 cterm=reverse
hi TabLine ctermfg=242 ctermbg=16 cterm=reverse
hi TabLineFill ctermfg=253 ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=232 ctermbg=253 cterm=bold
hi TabLineSel ctermfg=16 ctermbg=253 cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=242 ctermbg=232 cterm=NONE
hi Visual ctermfg=214 ctermbg=232 cterm=reverse
hi VertSplit ctermfg=242 ctermbg=16 cterm=NONE
hi Visual ctermfg=214 ctermbg=16 cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=236 cterm=NONE
hi WarningMsg ctermfg=253 ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=39 ctermbg=232 cterm=bold
hi WildMenu ctermfg=39 ctermbg=16 cterm=bold
hi Comment ctermfg=242 ctermbg=NONE cterm=bold
hi Constant ctermfg=253 ctermbg=NONE cterm=NONE
hi Error ctermfg=197 ctermbg=232 cterm=bold,reverse
hi Error ctermfg=197 ctermbg=16 cterm=bold,reverse
hi Identifier ctermfg=253 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=253 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=253 ctermbg=NONE cterm=NONE
@@ -236,71 +251,76 @@ if s:t_Co >= 256
hi Todo ctermfg=49 ctermbg=NONE cterm=bold,reverse
hi Type ctermfg=253 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=253 ctermbg=NONE cterm=underline
hi CursorIM ctermfg=232 ctermbg=154 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=232 cterm=NONE
hi ToolbarButton ctermfg=253 ctermbg=232 cterm=bold
hi CursorIM ctermfg=16 ctermbg=154 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=16 cterm=NONE
hi ToolbarButton ctermfg=253 ctermbg=16 cterm=bold
else
" Light background
hi Normal ctermfg=232 ctermbg=188 cterm=NONE
hi Normal ctermfg=16 ctermbg=188 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=254 cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi CurSearch ctermfg=207 ctermbg=16 cterm=reverse
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi CursorColumn ctermfg=NONE ctermbg=255 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=255 cterm=NONE
hi CursorLineNr ctermfg=232 ctermbg=255 cterm=NONE
hi DiffAdd ctermfg=114 ctermbg=232 cterm=reverse
hi DiffChange ctermfg=146 ctermbg=232 cterm=reverse
hi DiffDelete ctermfg=174 ctermbg=232 cterm=reverse
hi DiffText ctermfg=176 ctermbg=232 cterm=reverse
hi Directory ctermfg=232 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=232 ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=232 ctermbg=188 cterm=reverse
hi CursorLineNr ctermfg=16 ctermbg=255 cterm=NONE
hi DiffAdd ctermfg=114 ctermbg=16 cterm=reverse
hi DiffChange ctermfg=146 ctermbg=16 cterm=reverse
hi DiffDelete ctermfg=174 ctermbg=16 cterm=reverse
hi DiffText ctermfg=176 ctermbg=16 cterm=reverse
hi Directory ctermfg=16 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=241 ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=16 ctermbg=188 cterm=reverse
hi FoldColumn ctermfg=241 ctermbg=NONE cterm=NONE
hi Folded ctermfg=241 ctermbg=188 cterm=NONE
hi IncSearch ctermfg=214 ctermbg=232 cterm=reverse
hi IncSearch ctermfg=214 ctermbg=16 cterm=reverse
hi LineNr ctermfg=248 ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=199 ctermbg=188 cterm=bold
hi ModeMsg ctermfg=232 ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=232 ctermbg=NONE cterm=NONE
hi ModeMsg ctermfg=16 ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=16 ctermbg=NONE cterm=NONE
hi NonText ctermfg=241 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=232 ctermbg=146 cterm=NONE
hi PmenuSbar ctermfg=232 ctermbg=241 cterm=NONE
hi PmenuSel ctermfg=232 ctermbg=176 cterm=NONE
hi PmenuThumb ctermfg=232 ctermbg=176 cterm=NONE
hi Question ctermfg=232 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=176 ctermbg=232 cterm=reverse
hi Search ctermfg=39 ctermbg=232 cterm=reverse
hi SignColumn ctermfg=232 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=232 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=16 ctermbg=248 cterm=NONE
hi PmenuExtra ctermfg=16 ctermbg=248 cterm=NONE
hi PmenuKind ctermfg=16 ctermbg=248 cterm=bold
hi PmenuSbar ctermfg=16 ctermbg=254 cterm=NONE
hi PmenuSel ctermfg=188 ctermbg=16 cterm=NONE
hi PmenuExtraSel ctermfg=188 ctermbg=16 cterm=NONE
hi PmenuKindSel ctermfg=188 ctermbg=16 cterm=bold
hi PmenuThumb ctermfg=16 ctermbg=16 cterm=NONE
hi Question ctermfg=16 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=207 ctermbg=16 cterm=reverse
hi Search ctermfg=39 ctermbg=16 cterm=reverse
hi SignColumn ctermfg=16 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=241 ctermbg=NONE cterm=bold
hi SpellBad ctermfg=124 ctermbg=188 cterm=underline
hi SpellCap ctermfg=25 ctermbg=188 cterm=underline
hi SpellLocal ctermfg=90 ctermbg=188 cterm=underline
hi SpellRare ctermfg=30 ctermbg=188 cterm=underline
hi StatusLine ctermfg=255 ctermbg=232 cterm=bold
hi StatusLineNC ctermfg=232 ctermbg=248 cterm=NONE
hi TabLine ctermfg=232 ctermbg=248 cterm=NONE
hi TabLineFill ctermfg=232 ctermbg=188 cterm=NONE
hi TabLineSel ctermfg=255 ctermbg=232 cterm=bold
hi StatusLine ctermfg=255 ctermbg=16 cterm=bold
hi StatusLineNC ctermfg=16 ctermbg=248 cterm=NONE
hi TabLine ctermfg=16 ctermbg=248 cterm=NONE
hi TabLineFill ctermfg=16 ctermbg=188 cterm=NONE
hi TabLineSel ctermfg=255 ctermbg=16 cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=241 ctermbg=188 cterm=NONE
hi Visual ctermfg=214 ctermbg=232 cterm=reverse
hi Visual ctermfg=214 ctermbg=16 cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=255 cterm=NONE
hi WarningMsg ctermfg=232 ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=232 ctermbg=255 cterm=bold
hi Comment ctermfg=232 ctermbg=NONE cterm=bold
hi Constant ctermfg=232 ctermbg=NONE cterm=NONE
hi Error ctermfg=197 ctermbg=232 cterm=bold,reverse
hi Identifier ctermfg=232 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=232 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=232 ctermbg=NONE cterm=NONE
hi Special ctermfg=232 ctermbg=NONE cterm=NONE
hi Statement ctermfg=232 ctermbg=NONE cterm=NONE
hi Todo ctermfg=49 ctermbg=232 cterm=bold,reverse
hi Type ctermfg=232 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=232 ctermbg=NONE cterm=underline
hi CursorIM ctermfg=232 ctermbg=154 cterm=NONE
hi WarningMsg ctermfg=16 ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=16 ctermbg=255 cterm=bold
hi Comment ctermfg=16 ctermbg=NONE cterm=bold
hi Constant ctermfg=16 ctermbg=NONE cterm=NONE
hi Error ctermfg=197 ctermbg=16 cterm=bold,reverse
hi Identifier ctermfg=16 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=16 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=16 ctermbg=NONE cterm=NONE
hi Special ctermfg=16 ctermbg=NONE cterm=NONE
hi Statement ctermfg=16 ctermbg=NONE cterm=NONE
hi Todo ctermfg=49 ctermbg=16 cterm=bold,reverse
hi Type ctermfg=16 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=16 ctermbg=NONE cterm=underline
hi CursorIM ctermfg=16 ctermbg=154 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=188 cterm=NONE
hi ToolbarButton ctermfg=232 ctermbg=188 cterm=bold
hi ToolbarButton ctermfg=16 ctermbg=188 cterm=bold
endif
unlet s:t_Co
finish
@@ -308,6 +328,19 @@ endif
if s:t_Co >= 16
if &background ==# 'dark'
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=bold
hi CurSearch ctermfg=magenta ctermbg=black cterm=reverse
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=yellow ctermbg=black cterm=reverse
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi PmenuSbar ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi Search ctermfg=cyan ctermbg=black cterm=reverse
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=bold
hi StatusLineNC ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi TabLine ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi VertSplit ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -320,43 +353,35 @@ if s:t_Co >= 16
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=bold,reverse,underline
hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi NonText ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
hi Comment ctermfg=NONE ctermbg=NONE cterm=bold
hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Error ctermfg=darkred ctermbg=black cterm=bold,reverse
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi PreProc ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -370,6 +395,18 @@ if s:t_Co >= 16
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
else
" Light background
hi CurSearch ctermfg=magenta ctermbg=black cterm=reverse
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=yellow ctermbg=black cterm=reverse
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi PmenuSbar ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi Search ctermfg=cyan ctermbg=black cterm=reverse
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=bold
hi StatusLineNC ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi TabLine ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi VertSplit ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -382,43 +419,36 @@ if s:t_Co >= 16
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=bold,reverse,underline
hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi NonText ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
hi Comment ctermfg=NONE ctermbg=NONE cterm=bold
hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Error ctermfg=darkred ctermbg=black cterm=bold,reverse
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi PreProc ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -437,6 +467,19 @@ endif
if s:t_Co >= 8
if &background ==# 'dark'
hi Comment ctermfg=NONE ctermbg=NONE cterm=bold
hi CurSearch ctermfg=darkmagenta ctermbg=black cterm=reverse
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=reverse
hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
hi NonText ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=reverse
hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -449,43 +492,35 @@ if s:t_Co >= 8
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=bold,reverse,underline
hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi NonText ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
hi Comment ctermfg=NONE ctermbg=NONE cterm=bold
hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Error ctermfg=darkred ctermbg=black cterm=bold,reverse
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi PreProc ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -499,6 +534,18 @@ if s:t_Co >= 8
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
else
" Light background
hi CurSearch ctermfg=darkmagenta ctermbg=black cterm=reverse
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=reverse
hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
hi NonText ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=reverse
hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -511,43 +558,36 @@ if s:t_Co >= 8
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=bold,reverse,underline
hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi NonText ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
hi Comment ctermfg=NONE ctermbg=NONE cterm=bold
hi Constant ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Error ctermfg=darkred ctermbg=black cterm=bold,reverse
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi PreProc ctermfg=NONE ctermbg=NONE cterm=NONE
@@ -633,7 +673,7 @@ if s:t_Co >= 0
endif
" Background: dark
" Color: dark0 #080808 232 black
" Color: dark0 #000000 16 black
" Color: dark1 #d7005f 161 darkred
" Color: dark2 #00af5f 35 darkgreen
" Color: dark3 #d78700 172 darkyellow
@@ -661,13 +701,15 @@ endif
" Color: uiamber #ffaf00 214 darkyellow
" Color: uiblack #303030 236 darkgrey
" Color: yasogrey #1c1c1c 234 black
" Color: linenrblack #444444 238 darkgrey
" Color: linenrblack #585858 240 darkgrey
" Color: uicursearch #ff5fff 207 magenta
" Color: invisigrey #a8a8a8 248 darkgrey
" Color: errorred #ff005f 197 red
" Term colors: dark0 dark1 dark2 dark3 dark4 dark5 dark6 dark7
" Term colors: dark8 dark9 dark10 dark11 dark12 dark13 dark14 dark15
" Background: light
" Color: brightwhite #eeeeee 255 grey
" Color: light0 #080808 232 black
" Color: light0 #000000 16 black
" Color: light1 #af0000 124 darkred
" Color: light2 #005f00 22 darkgreen
" Color: light3 #af5f00 130 darkyellow
@@ -695,6 +737,7 @@ endif
" Color: uiamber #ffaf00 214 yellow
" Color: invisigrey #a8a8a8 248 darkgrey
" Color: yasogrey #e4e4e4 254 grey
" Color: uicursearch #ff5fff 207 magenta
" Color: errorred #ff005f 197 red
" Term colors: light0 light1 light2 light3 light4 light5 light6 light7
" Term colors: light8 light9 light10 light11 light12 light13 light14 light15

874
runtime/colors/retrobox.vim Normal file
View File

@@ -0,0 +1,874 @@
" Name: Retro Box
" Description: Retro groove color scheme similar to gruvbox originally designed by morhetz <morhetz@gmail.com>
" Author: Maxim Kim <habamax@gmail.com>, ported from gruvbox8 of Lifepillar <lifepillar@lifepillar.me>
" Maintainer: Maxim Kim <habamax@gmail.com>, ported from gruvbox8 of Lifepillar <lifepillar@lifepillar.me>
" Website: https://www.github.com/vim/colorschemes
" License: Vim License (see `:help license`)
" Last Updated: Sun 12 Mar 2023 15:14:04 AEDT
" Generated by Colortemplate v2.2.0
hi clear
let g:colors_name = 'retrobox'
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
hi! link CursorColumn CursorLine
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link VisualNOS Visual
hi! link Tag Special
hi! link lCursor Cursor
hi! link MessageWindow PMenu
hi! link PopupNotification Todo
hi! link CurSearch Search
if &background ==# 'dark'
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#1c1c1c', '#cc241d', '#98971a', '#d79921', '#458588', '#b16286', '#689d6a', '#a89984', '#928374', '#fb4934', '#b8bb26', '#fabd2f', '#83a598', '#d3869b', '#8ec07c', '#ebdbb2']
endif
hi Normal guifg=#ebdbb2 guibg=#1c1c1c gui=NONE cterm=NONE
hi CursorLineNr guifg=#fabd2f guibg=#303030 gui=NONE cterm=NONE
hi FoldColumn guifg=#928374 guibg=#1c1c1c gui=NONE cterm=NONE
hi SignColumn guifg=#928374 guibg=#1c1c1c gui=NONE cterm=NONE
hi VertSplit guifg=#303030 guibg=#1c1c1c gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi Comment guifg=#928374 guibg=NONE gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi Error guifg=#fb4934 guibg=#1c1c1c gui=bold,reverse cterm=bold,reverse
hi ErrorMsg guifg=#1c1c1c guibg=#fb4934 gui=bold cterm=bold
hi Folded guifg=#928374 guibg=#121212 gui=NONE cterm=NONE
hi LineNr guifg=#7c6f64 guibg=NONE gui=NONE cterm=NONE
hi MatchParen guifg=NONE guibg=#504945 gui=bold,underline cterm=bold,underline
hi NonText guifg=#504945 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#ebdbb2 guibg=#3c3836 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#3c3836 gui=NONE cterm=NONE
hi PmenuSel guifg=#3c3836 guibg=#83a598 gui=bold cterm=bold
hi PmenuThumb guifg=NONE guibg=#7c6f64 gui=NONE cterm=NONE
hi PmenuKind guifg=#fb4934 guibg=#3c3836 gui=NONE cterm=NONE
hi PmenuKindSel guifg=#fb4934 guibg=#83a598 gui=NONE cterm=NONE
hi PmenuExtra guifg=#a89984 guibg=#3c3836 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#303030 guibg=#83a598 gui=NONE cterm=NONE
hi SpecialKey guifg=#928374 guibg=NONE gui=NONE cterm=NONE
hi StatusLine guifg=#504945 guibg=#ebdbb2 gui=bold,reverse cterm=bold,reverse
hi StatusLineNC guifg=#3c3836 guibg=#a89984 gui=reverse cterm=reverse
hi TabLine guifg=#a89984 guibg=#3c3836 gui=NONE cterm=NONE
hi TabLineFill guifg=#ebdbb2 guibg=#3c3836 gui=NONE cterm=NONE
hi TabLineSel guifg=#fbf1c7 guibg=#1c1c1c gui=bold cterm=bold
hi ToolbarButton guifg=#fbf1c7 guibg=#303030 gui=bold cterm=bold
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Visual guifg=#1c1c1c guibg=#83a598 gui=NONE cterm=NONE
hi WildMenu guifg=#83a598 guibg=#504945 gui=bold cterm=bold
hi EndOfBuffer guifg=#504945 guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#83a598 guibg=NONE gui=NONE cterm=NONE
hi Cursor guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi DiffAdd guifg=#b8bb26 guibg=#1c1c1c gui=reverse cterm=reverse
hi DiffChange guifg=#8ec07c guibg=#1c1c1c gui=reverse cterm=reverse
hi DiffDelete guifg=#fb4934 guibg=#1c1c1c gui=reverse cterm=reverse
hi DiffText guifg=#fabd2f guibg=#1c1c1c gui=reverse cterm=reverse
hi Directory guifg=#b8bb26 guibg=NONE gui=bold cterm=bold
hi IncSearch guifg=#fe8019 guibg=#1c1c1c gui=reverse cterm=reverse
hi ModeMsg guifg=#fabd2f guibg=NONE gui=bold cterm=bold
hi MoreMsg guifg=#fabd2f guibg=NONE gui=bold cterm=bold
hi Question guifg=#fe8019 guibg=NONE gui=bold cterm=bold
hi Search guifg=#98971a guibg=#1c1c1c gui=reverse cterm=reverse
hi QuickFixLine guifg=#8ec07c guibg=#1c1c1c gui=reverse cterm=reverse
hi SpellBad guifg=#fb4934 guibg=NONE guisp=#fb4934 gui=undercurl cterm=underline
hi SpellCap guifg=#83a598 guibg=NONE guisp=#83a598 gui=undercurl cterm=underline
hi SpellLocal guifg=#8ec07c guibg=NONE guisp=#8ec07c gui=undercurl cterm=underline
hi SpellRare guifg=#d3869b guibg=NONE guisp=#d3869b gui=undercurl cterm=underline
hi Title guifg=#b8bb26 guibg=NONE gui=bold cterm=bold
hi WarningMsg guifg=#fb4934 guibg=NONE gui=bold cterm=bold
hi Boolean guifg=#d3869b guibg=NONE gui=NONE cterm=NONE
hi Character guifg=#d3869b guibg=NONE gui=NONE cterm=NONE
hi Conditional guifg=#fb4934 guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#d3869b guibg=NONE gui=NONE cterm=NONE
hi Define guifg=#8ec07c guibg=NONE gui=NONE cterm=NONE
hi Debug guifg=#fb4934 guibg=NONE gui=NONE cterm=NONE
hi Delimiter guifg=#fe8019 guibg=NONE gui=NONE cterm=NONE
hi Error guifg=#fb4934 guibg=#1c1c1c gui=bold,reverse cterm=bold,reverse
hi Exception guifg=#fb4934 guibg=NONE gui=NONE cterm=NONE
hi Float guifg=#d3869b guibg=NONE gui=NONE cterm=NONE
hi Function guifg=#b8bb26 guibg=NONE gui=bold cterm=bold
hi Identifier guifg=#83a598 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=fg guibg=NONE gui=NONE cterm=NONE
hi Include guifg=#8ec07c guibg=NONE gui=NONE cterm=NONE
hi Keyword guifg=#fb4934 guibg=NONE gui=NONE cterm=NONE
hi Label guifg=#fb4934 guibg=NONE gui=NONE cterm=NONE
hi Macro guifg=#8ec07c guibg=NONE gui=NONE cterm=NONE
hi Number guifg=#d3869b guibg=NONE gui=NONE cterm=NONE
hi Operator guifg=#8ec07c guibg=NONE gui=NONE cterm=NONE
hi PreCondit guifg=#8ec07c guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#8ec07c guibg=NONE gui=NONE cterm=NONE
hi Repeat guifg=#fb4934 guibg=NONE gui=NONE cterm=NONE
hi SpecialChar guifg=#fb4934 guibg=NONE gui=NONE cterm=NONE
hi SpecialComment guifg=#fb4934 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#fb4934 guibg=NONE gui=NONE cterm=NONE
hi StorageClass guifg=#fe8019 guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#fe8019 guibg=NONE gui=NONE cterm=NONE
hi String guifg=#b8bb26 guibg=NONE gui=NONE cterm=NONE
hi Structure guifg=#8ec07c guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=fg guibg=#1c1c1c gui=bold cterm=bold
hi Type guifg=#fabd2f guibg=NONE gui=NONE cterm=NONE
hi Typedef guifg=#fabd2f guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=#83a598 guibg=NONE gui=underline cterm=underline
hi CursorIM guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
else
" Light background
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#3c3836', '#cc241d', '#98971a', '#d79921', '#458588', '#b16286', '#689d6a', '#7c6f64', '#928374', '#9d0006', '#79740e', '#b57614', '#076678', '#8f3f71', '#427b58', '#fbf1c7']
endif
hi Normal guifg=#3c3836 guibg=#fbf1c7 gui=NONE cterm=NONE
hi CursorLineNr guifg=#b57614 guibg=#e5d4b1 gui=NONE cterm=NONE
hi FoldColumn guifg=#928374 guibg=#fbf1c7 gui=NONE cterm=NONE
hi SignColumn guifg=#3c3836 guibg=#fbf1c7 gui=NONE cterm=NONE
hi VertSplit guifg=#bdae93 guibg=#fbf1c7 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#ebe1b7 gui=NONE cterm=NONE
hi Comment guifg=#928374 guibg=NONE gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#e5d4b1 gui=NONE cterm=NONE
hi Error guifg=#9d0006 guibg=#fbf1c7 gui=bold,reverse cterm=bold,reverse
hi ErrorMsg guifg=#fbf1c7 guibg=#9d0006 gui=bold cterm=bold
hi Folded guifg=#928374 guibg=#ffffd7 gui=NONE cterm=NONE
hi LineNr guifg=#a89984 guibg=NONE gui=NONE cterm=NONE
hi MatchParen guifg=NONE guibg=#e5d4b1 gui=bold,underline cterm=bold,underline
hi NonText guifg=#e5d4b1 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#3c3836 guibg=#e5d4b1 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#e5d4b1 gui=NONE cterm=NONE
hi PmenuSel guifg=#e5d4b1 guibg=#076678 gui=bold cterm=bold
hi PmenuThumb guifg=NONE guibg=#a89984 gui=NONE cterm=NONE
hi PmenuKind guifg=#9d0006 guibg=#e5d4b1 gui=NONE cterm=NONE
hi PmenuKindSel guifg=#9d0006 guibg=#076678 gui=NONE cterm=NONE
hi PmenuExtra guifg=#7c6f64 guibg=#e5d4b1 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#bdae93 guibg=#076678 gui=NONE cterm=NONE
hi SpecialKey guifg=#928374 guibg=NONE gui=NONE cterm=NONE
hi StatusLine guifg=#bdae93 guibg=#3c3836 gui=bold,reverse cterm=bold,reverse
hi StatusLineNC guifg=#ebdbb2 guibg=#3c3836 gui=reverse cterm=reverse
hi TabLine guifg=#665c54 guibg=#ebdbb2 gui=NONE cterm=NONE
hi TabLineFill guifg=#ebdbb2 guibg=#ebdbb2 gui=NONE cterm=NONE
hi TabLineSel guifg=#282828 guibg=#fbf1c7 gui=bold cterm=bold
hi ToolbarButton guifg=#282828 guibg=#bdae93 gui=bold cterm=bold
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Visual guifg=#fbf1c7 guibg=#076678 gui=NONE cterm=NONE
hi WildMenu guifg=#076678 guibg=#e5d4b1 gui=bold cterm=bold
hi EndOfBuffer guifg=#e5d4b1 guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#076678 guibg=NONE gui=NONE cterm=NONE
hi Cursor guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi DiffAdd guifg=#79740e guibg=#fbf1c7 gui=reverse cterm=reverse
hi DiffChange guifg=#427b58 guibg=#fbf1c7 gui=reverse cterm=reverse
hi DiffDelete guifg=#9d0006 guibg=#fbf1c7 gui=reverse cterm=reverse
hi DiffText guifg=#b57614 guibg=#fbf1c7 gui=reverse cterm=reverse
hi Directory guifg=#79740e guibg=NONE gui=bold cterm=bold
hi IncSearch guifg=#ff5f00 guibg=#fbf1c7 gui=reverse cterm=reverse
hi ModeMsg guifg=#3c3836 guibg=NONE gui=bold cterm=bold
hi MoreMsg guifg=#3c3836 guibg=NONE gui=bold cterm=bold
hi Question guifg=#ff5f00 guibg=NONE gui=bold cterm=bold
hi Search guifg=#98971a guibg=#fbf1c7 gui=reverse cterm=reverse
hi QuickFixLine guifg=#427b58 guibg=#fbf1c7 gui=reverse cterm=reverse
hi SpellBad guifg=#9d0006 guibg=NONE guisp=#9d0006 gui=undercurl cterm=underline
hi SpellCap guifg=#076678 guibg=NONE guisp=#076678 gui=undercurl cterm=underline
hi SpellLocal guifg=#427b58 guibg=NONE guisp=#427b58 gui=undercurl cterm=underline
hi SpellRare guifg=#8f3f71 guibg=NONE guisp=#8f3f71 gui=undercurl cterm=underline
hi Title guifg=#79740e guibg=NONE gui=bold cterm=bold
hi WarningMsg guifg=#9d0006 guibg=NONE gui=bold cterm=bold
hi Boolean guifg=#8f3f71 guibg=NONE gui=NONE cterm=NONE
hi Character guifg=#8f3f71 guibg=NONE gui=NONE cterm=NONE
hi Conditional guifg=#9d0006 guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#8f3f71 guibg=NONE gui=NONE cterm=NONE
hi Define guifg=#427b58 guibg=NONE gui=NONE cterm=NONE
hi Debug guifg=#9d0006 guibg=NONE gui=NONE cterm=NONE
hi Delimiter guifg=#ff5f00 guibg=NONE gui=NONE cterm=NONE
hi Error guifg=#9d0006 guibg=#fbf1c7 gui=bold,reverse cterm=bold,reverse
hi Exception guifg=#9d0006 guibg=NONE gui=NONE cterm=NONE
hi Float guifg=#8f3f71 guibg=NONE gui=NONE cterm=NONE
hi Function guifg=#79740e guibg=NONE gui=bold cterm=bold
hi Identifier guifg=#076678 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=fg guibg=NONE gui=NONE cterm=NONE
hi Include guifg=#427b58 guibg=NONE gui=NONE cterm=NONE
hi Keyword guifg=#9d0006 guibg=NONE gui=NONE cterm=NONE
hi Label guifg=#9d0006 guibg=NONE gui=NONE cterm=NONE
hi Macro guifg=#427b58 guibg=NONE gui=NONE cterm=NONE
hi Number guifg=#8f3f71 guibg=NONE gui=NONE cterm=NONE
hi Operator guifg=#427b58 guibg=NONE gui=NONE cterm=NONE
hi PreCondit guifg=#427b58 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#427b58 guibg=NONE gui=NONE cterm=NONE
hi Repeat guifg=#9d0006 guibg=NONE gui=NONE cterm=NONE
hi SpecialChar guifg=#9d0006 guibg=NONE gui=NONE cterm=NONE
hi SpecialComment guifg=#9d0006 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#9d0006 guibg=NONE gui=NONE cterm=NONE
hi StorageClass guifg=#ff5f00 guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#ff5f00 guibg=NONE gui=NONE cterm=NONE
hi String guifg=#79740e guibg=NONE gui=NONE cterm=NONE
hi Structure guifg=#427b58 guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=fg guibg=#fbf1c7 gui=bold cterm=bold
hi Type guifg=#b57614 guibg=NONE gui=NONE cterm=NONE
hi Typedef guifg=#b57614 guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=#076678 guibg=NONE gui=underline cterm=underline
hi CursorIM guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
endif
if s:t_Co >= 256
if &background ==# 'dark'
hi Normal ctermfg=187 ctermbg=234 cterm=NONE
hi CursorLineNr ctermfg=214 ctermbg=236 cterm=NONE
hi FoldColumn ctermfg=102 ctermbg=234 cterm=NONE
hi SignColumn ctermfg=102 ctermbg=234 cterm=NONE
hi VertSplit ctermfg=236 ctermbg=234 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=16 cterm=NONE
hi Comment ctermfg=102 ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=236 cterm=NONE
hi Error ctermfg=203 ctermbg=234 cterm=bold,reverse
hi ErrorMsg ctermfg=234 ctermbg=203 cterm=bold
hi Folded ctermfg=102 ctermbg=233 cterm=NONE
hi LineNr ctermfg=243 ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=239 cterm=bold,underline
hi NonText ctermfg=239 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=187 ctermbg=237 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=237 cterm=NONE
hi PmenuSel ctermfg=237 ctermbg=109 cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=243 cterm=NONE
hi PmenuKind ctermfg=203 ctermbg=237 cterm=NONE
hi PmenuKindSel ctermfg=203 ctermbg=109 cterm=NONE
hi PmenuExtra ctermfg=102 ctermbg=237 cterm=NONE
hi PmenuExtraSel ctermfg=236 ctermbg=109 cterm=NONE
hi SpecialKey ctermfg=102 ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=239 ctermbg=187 cterm=bold,reverse
hi StatusLineNC ctermfg=237 ctermbg=102 cterm=reverse
hi TabLine ctermfg=102 ctermbg=237 cterm=NONE
hi TabLineFill ctermfg=187 ctermbg=237 cterm=NONE
hi TabLineSel ctermfg=230 ctermbg=234 cterm=bold
hi ToolbarButton ctermfg=230 ctermbg=236 cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi Visual ctermfg=234 ctermbg=109 cterm=NONE
hi WildMenu ctermfg=109 ctermbg=239 cterm=bold
hi EndOfBuffer ctermfg=239 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=109 ctermbg=NONE cterm=NONE
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi DiffAdd ctermfg=142 ctermbg=234 cterm=reverse
hi DiffChange ctermfg=107 ctermbg=234 cterm=reverse
hi DiffDelete ctermfg=203 ctermbg=234 cterm=reverse
hi DiffText ctermfg=214 ctermbg=234 cterm=reverse
hi Directory ctermfg=142 ctermbg=NONE cterm=bold
hi IncSearch ctermfg=208 ctermbg=234 cterm=reverse
hi ModeMsg ctermfg=214 ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=214 ctermbg=NONE cterm=bold
hi Question ctermfg=208 ctermbg=NONE cterm=bold
hi Search ctermfg=100 ctermbg=234 cterm=reverse
hi QuickFixLine ctermfg=107 ctermbg=234 cterm=reverse
hi SpellBad ctermfg=203 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=109 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=107 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=175 ctermbg=NONE cterm=underline
hi Title ctermfg=142 ctermbg=NONE cterm=bold
hi WarningMsg ctermfg=203 ctermbg=NONE cterm=bold
hi Boolean ctermfg=175 ctermbg=NONE cterm=NONE
hi Character ctermfg=175 ctermbg=NONE cterm=NONE
hi Conditional ctermfg=203 ctermbg=NONE cterm=NONE
hi Constant ctermfg=175 ctermbg=NONE cterm=NONE
hi Define ctermfg=107 ctermbg=NONE cterm=NONE
hi Debug ctermfg=203 ctermbg=NONE cterm=NONE
hi Delimiter ctermfg=208 ctermbg=NONE cterm=NONE
hi Error ctermfg=203 ctermbg=234 cterm=bold,reverse
hi Exception ctermfg=203 ctermbg=NONE cterm=NONE
hi Float ctermfg=175 ctermbg=NONE cterm=NONE
hi Function ctermfg=142 ctermbg=NONE cterm=bold
hi Identifier ctermfg=109 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
hi Include ctermfg=107 ctermbg=NONE cterm=NONE
hi Keyword ctermfg=203 ctermbg=NONE cterm=NONE
hi Label ctermfg=203 ctermbg=NONE cterm=NONE
hi Macro ctermfg=107 ctermbg=NONE cterm=NONE
hi Number ctermfg=175 ctermbg=NONE cterm=NONE
hi Operator ctermfg=107 ctermbg=NONE cterm=NONE
hi PreCondit ctermfg=107 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=107 ctermbg=NONE cterm=NONE
hi Repeat ctermfg=203 ctermbg=NONE cterm=NONE
hi SpecialChar ctermfg=203 ctermbg=NONE cterm=NONE
hi SpecialComment ctermfg=203 ctermbg=NONE cterm=NONE
hi Statement ctermfg=203 ctermbg=NONE cterm=NONE
hi StorageClass ctermfg=208 ctermbg=NONE cterm=NONE
hi Special ctermfg=208 ctermbg=NONE cterm=NONE
hi String ctermfg=142 ctermbg=NONE cterm=NONE
hi Structure ctermfg=107 ctermbg=NONE cterm=NONE
hi Todo ctermfg=fg ctermbg=234 cterm=bold
hi Type ctermfg=214 ctermbg=NONE cterm=NONE
hi Typedef ctermfg=214 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=109 ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=reverse
else
" Light background
hi Normal ctermfg=237 ctermbg=230 cterm=NONE
hi CursorLineNr ctermfg=172 ctermbg=188 cterm=NONE
hi FoldColumn ctermfg=102 ctermbg=230 cterm=NONE
hi SignColumn ctermfg=237 ctermbg=230 cterm=NONE
hi VertSplit ctermfg=144 ctermbg=230 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=229 cterm=NONE
hi Comment ctermfg=102 ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=188 cterm=NONE
hi Error ctermfg=124 ctermbg=230 cterm=bold,reverse
hi ErrorMsg ctermfg=230 ctermbg=124 cterm=bold
hi Folded ctermfg=102 ctermbg=231 cterm=NONE
hi LineNr ctermfg=137 ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=188 cterm=bold,underline
hi NonText ctermfg=188 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=237 ctermbg=188 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=188 cterm=NONE
hi PmenuSel ctermfg=188 ctermbg=23 cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=137 cterm=NONE
hi PmenuKind ctermfg=124 ctermbg=188 cterm=NONE
hi PmenuKindSel ctermfg=124 ctermbg=23 cterm=NONE
hi PmenuExtra ctermfg=243 ctermbg=188 cterm=NONE
hi PmenuExtraSel ctermfg=144 ctermbg=23 cterm=NONE
hi SpecialKey ctermfg=102 ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=144 ctermbg=237 cterm=bold,reverse
hi StatusLineNC ctermfg=187 ctermbg=237 cterm=reverse
hi TabLine ctermfg=59 ctermbg=187 cterm=NONE
hi TabLineFill ctermfg=187 ctermbg=187 cterm=NONE
hi TabLineSel ctermfg=235 ctermbg=230 cterm=bold
hi ToolbarButton ctermfg=235 ctermbg=144 cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi Visual ctermfg=230 ctermbg=23 cterm=NONE
hi WildMenu ctermfg=23 ctermbg=188 cterm=bold
hi EndOfBuffer ctermfg=188 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=23 ctermbg=NONE cterm=NONE
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi DiffAdd ctermfg=64 ctermbg=230 cterm=reverse
hi DiffChange ctermfg=29 ctermbg=230 cterm=reverse
hi DiffDelete ctermfg=124 ctermbg=230 cterm=reverse
hi DiffText ctermfg=172 ctermbg=230 cterm=reverse
hi Directory ctermfg=64 ctermbg=NONE cterm=bold
hi IncSearch ctermfg=202 ctermbg=230 cterm=reverse
hi ModeMsg ctermfg=237 ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=237 ctermbg=NONE cterm=bold
hi Question ctermfg=202 ctermbg=NONE cterm=bold
hi Search ctermfg=100 ctermbg=230 cterm=reverse
hi QuickFixLine ctermfg=29 ctermbg=230 cterm=reverse
hi SpellBad ctermfg=124 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=23 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=29 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=126 ctermbg=NONE cterm=underline
hi Title ctermfg=64 ctermbg=NONE cterm=bold
hi WarningMsg ctermfg=124 ctermbg=NONE cterm=bold
hi Boolean ctermfg=126 ctermbg=NONE cterm=NONE
hi Character ctermfg=126 ctermbg=NONE cterm=NONE
hi Conditional ctermfg=124 ctermbg=NONE cterm=NONE
hi Constant ctermfg=126 ctermbg=NONE cterm=NONE
hi Define ctermfg=29 ctermbg=NONE cterm=NONE
hi Debug ctermfg=124 ctermbg=NONE cterm=NONE
hi Delimiter ctermfg=202 ctermbg=NONE cterm=NONE
hi Error ctermfg=124 ctermbg=230 cterm=bold,reverse
hi Exception ctermfg=124 ctermbg=NONE cterm=NONE
hi Float ctermfg=126 ctermbg=NONE cterm=NONE
hi Function ctermfg=64 ctermbg=NONE cterm=bold
hi Identifier ctermfg=23 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
hi Include ctermfg=29 ctermbg=NONE cterm=NONE
hi Keyword ctermfg=124 ctermbg=NONE cterm=NONE
hi Label ctermfg=124 ctermbg=NONE cterm=NONE
hi Macro ctermfg=29 ctermbg=NONE cterm=NONE
hi Number ctermfg=126 ctermbg=NONE cterm=NONE
hi Operator ctermfg=29 ctermbg=NONE cterm=NONE
hi PreCondit ctermfg=29 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=29 ctermbg=NONE cterm=NONE
hi Repeat ctermfg=124 ctermbg=NONE cterm=NONE
hi SpecialChar ctermfg=124 ctermbg=NONE cterm=NONE
hi SpecialComment ctermfg=124 ctermbg=NONE cterm=NONE
hi Statement ctermfg=124 ctermbg=NONE cterm=NONE
hi StorageClass ctermfg=202 ctermbg=NONE cterm=NONE
hi Special ctermfg=202 ctermbg=NONE cterm=NONE
hi String ctermfg=64 ctermbg=NONE cterm=NONE
hi Structure ctermfg=29 ctermbg=NONE cterm=NONE
hi Todo ctermfg=fg ctermbg=230 cterm=bold
hi Type ctermfg=172 ctermbg=NONE cterm=NONE
hi Typedef ctermfg=172 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=23 ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=reverse
endif
unlet s:t_Co
finish
endif
if s:t_Co >= 16
if &background ==# 'dark'
hi Normal ctermfg=White ctermbg=Black cterm=NONE
hi ColorColumn ctermfg=Black ctermbg=DarkYellow cterm=NONE
hi Comment ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=Yellow ctermbg=NONE cterm=NONE
hi Error ctermfg=Red ctermbg=Black cterm=reverse
hi ErrorMsg ctermfg=Black ctermbg=Red cterm=NONE
hi FoldColumn ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi Folded ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi LineNr ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=Black cterm=bold,underline
hi NonText ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=White ctermbg=DarkGray cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=DarkGray cterm=NONE
hi PmenuSel ctermfg=Black ctermbg=Blue cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=Blue cterm=NONE
hi PmenuKind ctermfg=DarkRed ctermbg=DarkGray cterm=NONE
hi PmenuKindSel ctermfg=DarkRed ctermbg=Blue cterm=NONE
hi PmenuExtra ctermfg=gray ctermbg=DarkGray cterm=NONE
hi PmenuExtraSel ctermfg=Black ctermbg=Blue cterm=NONE
hi SignColumn ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=gray ctermbg=Black cterm=bold,reverse
hi StatusLineNC ctermfg=gray ctermbg=Black cterm=reverse
hi TabLine ctermfg=Black ctermbg=DarkGray cterm=NONE
hi TabLineFill ctermfg=Black ctermbg=DarkGray cterm=NONE
hi TabLineSel ctermfg=White ctermbg=Black cterm=bold
hi ToolbarButton ctermfg=White ctermbg=DarkGray cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=Black ctermbg=gray cterm=NONE
hi Visual ctermfg=Black ctermbg=Blue cterm=NONE
hi WildMenu ctermfg=White ctermbg=Black cterm=bold
hi EndOfBuffer ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi DiffAdd ctermfg=Green ctermbg=Black cterm=reverse
hi DiffChange ctermfg=Cyan ctermbg=Black cterm=reverse
hi DiffDelete ctermfg=Red ctermbg=Black cterm=reverse
hi DiffText ctermfg=Yellow ctermbg=Black cterm=reverse
hi Directory ctermfg=Green ctermbg=NONE cterm=bold
hi IncSearch ctermfg=Magenta ctermbg=Black cterm=reverse
hi ModeMsg ctermfg=Yellow ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=Yellow ctermbg=NONE cterm=bold
hi Question ctermfg=Magenta ctermbg=NONE cterm=bold
hi Search ctermfg=DarkGreen ctermbg=Black cterm=reverse
hi QuickFixLine ctermfg=Cyan ctermbg=Black cterm=reverse
hi SpellBad ctermfg=Red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=Blue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=Cyan ctermbg=NONE cterm=underline
hi SpellRare ctermfg=Magenta ctermbg=NONE cterm=underline
hi Title ctermfg=Green ctermbg=NONE cterm=bold
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=bold
hi Boolean ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Character ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Conditional ctermfg=Red ctermbg=NONE cterm=NONE
hi Constant ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Define ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Debug ctermfg=Red ctermbg=NONE cterm=NONE
hi Delimiter ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Error ctermfg=Red ctermbg=Black cterm=bold,reverse
hi Exception ctermfg=Red ctermbg=NONE cterm=NONE
hi Float ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Function ctermfg=Green ctermbg=NONE cterm=bold
hi Identifier ctermfg=Blue ctermbg=NONE cterm=NONE
hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
hi Include ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Keyword ctermfg=Red ctermbg=NONE cterm=NONE
hi Label ctermfg=Red ctermbg=NONE cterm=NONE
hi Macro ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE
hi SpecialChar ctermfg=Red ctermbg=NONE cterm=NONE
hi SpecialComment ctermfg=Red ctermbg=NONE cterm=NONE
hi Statement ctermfg=Red ctermbg=NONE cterm=NONE
hi StorageClass ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Special ctermfg=Magenta ctermbg=NONE cterm=NONE
hi String ctermfg=Green ctermbg=NONE cterm=NONE
hi Structure ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Todo ctermfg=fg ctermbg=Black cterm=bold
hi Type ctermfg=Yellow ctermbg=NONE cterm=NONE
hi Typedef ctermfg=Yellow ctermbg=NONE cterm=NONE
hi Underlined ctermfg=Blue ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=reverse
else
" Light background
hi Normal ctermfg=Black ctermbg=White cterm=NONE
hi ColorColumn ctermfg=White ctermbg=Grey cterm=NONE
hi Comment ctermfg=DarkGray ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=Yellow ctermbg=NONE cterm=NONE
hi Error ctermfg=Red ctermbg=White cterm=reverse
hi ErrorMsg ctermfg=White ctermbg=Red cterm=NONE
hi FoldColumn ctermfg=Grey ctermbg=NONE cterm=NONE
hi Folded ctermfg=Grey ctermbg=NONE cterm=NONE
hi LineNr ctermfg=Grey ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=White cterm=bold,underline
hi NonText ctermfg=Grey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=Black ctermbg=Grey cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=Grey cterm=NONE
hi PmenuSel ctermfg=White ctermbg=Blue cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=Blue cterm=NONE
hi PmenuKind ctermfg=DarkRed ctermbg=Grey cterm=NONE
hi PmenuKindSel ctermfg=DarkRed ctermbg=Blue cterm=NONE
hi PmenuExtra ctermfg=DarkGray ctermbg=Grey cterm=NONE
hi PmenuExtraSel ctermfg=White ctermbg=Blue cterm=NONE
hi SignColumn ctermfg=Grey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=Grey ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=DarkGray ctermbg=White cterm=bold,reverse
hi StatusLineNC ctermfg=Grey ctermbg=DarkGray cterm=reverse
hi TabLine ctermfg=DarkGray ctermbg=Grey cterm=NONE
hi TabLineFill ctermfg=White ctermbg=Grey cterm=NONE
hi TabLineSel ctermfg=DarkGray ctermbg=White cterm=bold
hi ToolbarButton ctermfg=Black ctermbg=Grey cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=DarkGray ctermbg=Grey cterm=NONE
hi Visual ctermfg=White ctermbg=Blue cterm=NONE
hi WildMenu ctermfg=Black ctermbg=White cterm=bold
hi EndOfBuffer ctermfg=Grey ctermbg=NONE cterm=NONE
hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi DiffAdd ctermfg=Green ctermbg=White cterm=reverse
hi DiffChange ctermfg=Cyan ctermbg=White cterm=reverse
hi DiffDelete ctermfg=Red ctermbg=White cterm=reverse
hi DiffText ctermfg=Yellow ctermbg=White cterm=reverse
hi Directory ctermfg=Green ctermbg=NONE cterm=bold
hi IncSearch ctermfg=Magenta ctermbg=White cterm=reverse
hi ModeMsg ctermfg=Black ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=Black ctermbg=NONE cterm=bold
hi Question ctermfg=Magenta ctermbg=NONE cterm=bold
hi Search ctermfg=DarkGreen ctermbg=White cterm=reverse
hi QuickFixLine ctermfg=Cyan ctermbg=White cterm=reverse
hi SpellBad ctermfg=Red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=Blue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=Cyan ctermbg=NONE cterm=underline
hi SpellRare ctermfg=Magenta ctermbg=NONE cterm=underline
hi Title ctermfg=Green ctermbg=NONE cterm=bold
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=bold
hi Boolean ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Character ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Conditional ctermfg=Red ctermbg=NONE cterm=NONE
hi Constant ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Define ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Debug ctermfg=Red ctermbg=NONE cterm=NONE
hi Delimiter ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Error ctermfg=Red ctermbg=White cterm=bold,reverse
hi Exception ctermfg=Red ctermbg=NONE cterm=NONE
hi Float ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Function ctermfg=Green ctermbg=NONE cterm=bold
hi Identifier ctermfg=Blue ctermbg=NONE cterm=NONE
hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
hi Include ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Keyword ctermfg=Red ctermbg=NONE cterm=NONE
hi Label ctermfg=Red ctermbg=NONE cterm=NONE
hi Macro ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE
hi SpecialChar ctermfg=Red ctermbg=NONE cterm=NONE
hi SpecialComment ctermfg=Red ctermbg=NONE cterm=NONE
hi Statement ctermfg=Red ctermbg=NONE cterm=NONE
hi StorageClass ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Special ctermfg=Magenta ctermbg=NONE cterm=NONE
hi String ctermfg=Green ctermbg=NONE cterm=NONE
hi Structure ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Todo ctermfg=fg ctermbg=White cterm=bold
hi Type ctermfg=Yellow ctermbg=NONE cterm=NONE
hi Typedef ctermfg=Yellow ctermbg=NONE cterm=NONE
hi Underlined ctermfg=Blue ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=reverse
endif
unlet s:t_Co
finish
endif
if s:t_Co >= 8
if &background ==# 'dark'
hi Normal ctermfg=gray ctermbg=Black cterm=NONE
hi ColorColumn ctermfg=Black ctermbg=gray cterm=NONE
hi Comment ctermfg=gray ctermbg=NONE cterm=bold
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=Yellow ctermbg=NONE cterm=NONE
hi Error ctermfg=Red ctermbg=Black cterm=reverse
hi ErrorMsg ctermfg=Black ctermbg=Red cterm=NONE
hi FoldColumn ctermfg=gray ctermbg=NONE cterm=NONE
hi Folded ctermfg=gray ctermbg=NONE cterm=NONE
hi LineNr ctermfg=gray ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=gray ctermbg=NONE cterm=bold,underline
hi NonText ctermfg=gray ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=DarkGray ctermbg=White cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=DarkGray cterm=NONE
hi PmenuSel ctermfg=Black ctermbg=Blue cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=Blue cterm=NONE
hi PmenuKind ctermfg=Red ctermbg=White cterm=NONE
hi PmenuKindSel ctermfg=Red ctermbg=Blue cterm=NONE
hi PmenuExtra ctermfg=DarkGray ctermbg=White cterm=NONE
hi PmenuExtraSel ctermfg=DarkGray ctermbg=Blue cterm=NONE
hi SignColumn ctermfg=gray ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=gray ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=gray ctermbg=Black cterm=bold,reverse
hi StatusLineNC ctermfg=gray ctermbg=Black cterm=reverse
hi TabLine ctermfg=Black ctermbg=gray cterm=NONE
hi TabLineFill ctermfg=Black ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=gray ctermbg=Black cterm=NONE
hi ToolbarButton ctermfg=Black ctermbg=gray cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=Black ctermbg=gray cterm=NONE
hi Visual ctermfg=Black ctermbg=Blue cterm=NONE
hi WildMenu ctermfg=Blue ctermbg=DarkGray cterm=bold
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi DiffAdd ctermfg=Green ctermbg=Black cterm=reverse
hi DiffChange ctermfg=Cyan ctermbg=Black cterm=reverse
hi DiffDelete ctermfg=Red ctermbg=Black cterm=reverse
hi DiffText ctermfg=Yellow ctermbg=Black cterm=reverse
hi Directory ctermfg=Green ctermbg=NONE cterm=bold
hi IncSearch ctermfg=Magenta ctermbg=Black cterm=reverse
hi ModeMsg ctermfg=Yellow ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=Yellow ctermbg=NONE cterm=bold
hi Question ctermfg=Magenta ctermbg=NONE cterm=bold
hi Search ctermfg=DarkGreen ctermbg=Black cterm=reverse
hi QuickFixLine ctermfg=Cyan ctermbg=Black cterm=reverse
hi SpellBad ctermfg=Red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=Blue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=Cyan ctermbg=NONE cterm=underline
hi SpellRare ctermfg=Magenta ctermbg=NONE cterm=underline
hi Title ctermfg=Green ctermbg=NONE cterm=bold
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=bold
hi Boolean ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Character ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Conditional ctermfg=Red ctermbg=NONE cterm=NONE
hi Constant ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Define ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Debug ctermfg=Red ctermbg=NONE cterm=NONE
hi Delimiter ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Error ctermfg=Red ctermbg=Black cterm=bold,reverse
hi Exception ctermfg=Red ctermbg=NONE cterm=NONE
hi Float ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Function ctermfg=Green ctermbg=NONE cterm=bold
hi Identifier ctermfg=Blue ctermbg=NONE cterm=NONE
hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
hi Include ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Keyword ctermfg=Red ctermbg=NONE cterm=NONE
hi Label ctermfg=Red ctermbg=NONE cterm=NONE
hi Macro ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE
hi SpecialChar ctermfg=Red ctermbg=NONE cterm=NONE
hi SpecialComment ctermfg=Red ctermbg=NONE cterm=NONE
hi Statement ctermfg=Red ctermbg=NONE cterm=NONE
hi StorageClass ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Special ctermfg=Magenta ctermbg=NONE cterm=NONE
hi String ctermfg=Green ctermbg=NONE cterm=NONE
hi Structure ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Todo ctermfg=fg ctermbg=Black cterm=bold
hi Type ctermfg=Yellow ctermbg=NONE cterm=NONE
hi Typedef ctermfg=Yellow ctermbg=NONE cterm=NONE
hi Underlined ctermfg=Blue ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=reverse
else
" Light background
hi Normal ctermfg=Black ctermbg=Grey cterm=NONE
hi ColorColumn ctermfg=White ctermbg=Black cterm=NONE
hi Comment ctermfg=Black ctermbg=NONE cterm=bold
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=Yellow ctermbg=NONE cterm=NONE
hi Error ctermfg=Red ctermbg=White cterm=reverse
hi ErrorMsg ctermfg=White ctermbg=Red cterm=NONE
hi FoldColumn ctermfg=Black ctermbg=NONE cterm=NONE
hi Folded ctermfg=Black ctermbg=NONE cterm=NONE
hi LineNr ctermfg=Black ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=Black ctermbg=NONE cterm=bold,underline
hi NonText ctermfg=Black ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=Grey ctermbg=Black cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=Grey cterm=NONE
hi PmenuSel ctermfg=White ctermbg=Blue cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=Blue cterm=NONE
hi PmenuKind ctermfg=Red ctermbg=Black cterm=NONE
hi PmenuKindSel ctermfg=Red ctermbg=Blue cterm=NONE
hi PmenuExtra ctermfg=Grey ctermbg=Black cterm=NONE
hi PmenuExtraSel ctermfg=Grey ctermbg=Blue cterm=NONE
hi SignColumn ctermfg=Black ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=Black ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=Black ctermbg=White cterm=bold,reverse
hi StatusLineNC ctermfg=Black ctermbg=White cterm=reverse
hi TabLine ctermfg=White ctermbg=Black cterm=NONE
hi TabLineFill ctermfg=White ctermbg=Black cterm=NONE
hi TabLineSel ctermfg=Black ctermbg=White cterm=NONE
hi ToolbarButton ctermfg=White ctermbg=Black cterm=bold
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=White ctermbg=Black cterm=NONE
hi Visual ctermfg=White ctermbg=Blue cterm=NONE
hi WildMenu ctermfg=Blue ctermbg=Grey cterm=bold
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
hi Conceal ctermfg=Blue ctermbg=NONE cterm=NONE
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi DiffAdd ctermfg=Green ctermbg=White cterm=reverse
hi DiffChange ctermfg=Cyan ctermbg=White cterm=reverse
hi DiffDelete ctermfg=Red ctermbg=White cterm=reverse
hi DiffText ctermfg=Yellow ctermbg=White cterm=reverse
hi Directory ctermfg=Green ctermbg=NONE cterm=bold
hi IncSearch ctermfg=Magenta ctermbg=White cterm=reverse
hi ModeMsg ctermfg=Black ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=Black ctermbg=NONE cterm=bold
hi Question ctermfg=Magenta ctermbg=NONE cterm=bold
hi Search ctermfg=DarkGreen ctermbg=White cterm=reverse
hi QuickFixLine ctermfg=Cyan ctermbg=White cterm=reverse
hi SpellBad ctermfg=Red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=Blue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=Cyan ctermbg=NONE cterm=underline
hi SpellRare ctermfg=Magenta ctermbg=NONE cterm=underline
hi Title ctermfg=Green ctermbg=NONE cterm=bold
hi WarningMsg ctermfg=Red ctermbg=NONE cterm=bold
hi Boolean ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Character ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Conditional ctermfg=Red ctermbg=NONE cterm=NONE
hi Constant ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Define ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Debug ctermfg=Red ctermbg=NONE cterm=NONE
hi Delimiter ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Error ctermfg=Red ctermbg=White cterm=bold,reverse
hi Exception ctermfg=Red ctermbg=NONE cterm=NONE
hi Float ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Function ctermfg=Green ctermbg=NONE cterm=bold
hi Identifier ctermfg=Blue ctermbg=NONE cterm=NONE
hi Ignore ctermfg=fg ctermbg=NONE cterm=NONE
hi Include ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Keyword ctermfg=Red ctermbg=NONE cterm=NONE
hi Label ctermfg=Red ctermbg=NONE cterm=NONE
hi Macro ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Number ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Operator ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreCondit ctermfg=Cyan ctermbg=NONE cterm=NONE
hi PreProc ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Repeat ctermfg=Red ctermbg=NONE cterm=NONE
hi SpecialChar ctermfg=Red ctermbg=NONE cterm=NONE
hi SpecialComment ctermfg=Red ctermbg=NONE cterm=NONE
hi Statement ctermfg=Red ctermbg=NONE cterm=NONE
hi StorageClass ctermfg=Magenta ctermbg=NONE cterm=NONE
hi Special ctermfg=Magenta ctermbg=NONE cterm=NONE
hi String ctermfg=Green ctermbg=NONE cterm=NONE
hi Structure ctermfg=Cyan ctermbg=NONE cterm=NONE
hi Todo ctermfg=fg ctermbg=White cterm=bold
hi Type ctermfg=Yellow ctermbg=NONE cterm=NONE
hi Typedef ctermfg=Yellow ctermbg=NONE cterm=NONE
hi Underlined ctermfg=Blue ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=reverse
endif
unlet s:t_Co
finish
endif
if s:t_Co >= 0
hi Normal term=NONE
hi ColorColumn term=reverse
hi Conceal term=NONE
hi Cursor term=reverse
hi CursorColumn term=NONE
hi CursorLine term=underline
hi CursorLineNr term=bold
hi DiffAdd term=reverse
hi DiffChange term=NONE
hi DiffDelete term=reverse
hi DiffText term=reverse
hi Directory term=NONE
hi EndOfBuffer term=NONE
hi ErrorMsg term=bold,reverse
hi FoldColumn term=NONE
hi Folded term=NONE
hi IncSearch term=bold,reverse,underline
hi LineNr term=NONE
hi MatchParen term=bold,underline
hi ModeMsg term=bold
hi MoreMsg term=NONE
hi NonText term=NONE
hi Pmenu term=reverse
hi PmenuSbar term=reverse
hi PmenuSel term=bold
hi PmenuThumb term=NONE
hi Question term=standout
hi Search term=reverse
hi SignColumn term=reverse
hi SpecialKey term=bold
hi SpellBad term=underline
hi SpellCap term=underline
hi SpellLocal term=underline
hi SpellRare term=underline
hi StatusLine term=bold,reverse
hi StatusLineNC term=bold,underline
hi TabLine term=bold,underline
hi TabLineFill term=NONE
hi Terminal term=NONE
hi TabLineSel term=bold,reverse
hi Title term=NONE
hi VertSplit term=NONE
hi Visual term=reverse
hi VisualNOS term=NONE
hi WarningMsg term=standout
hi WildMenu term=bold
hi CursorIM term=NONE
hi ToolbarLine term=reverse
hi ToolbarButton term=bold,reverse
hi CurSearch term=reverse
hi CursorLineFold term=underline
hi CursorLineSign term=underline
hi Comment term=bold
hi Constant term=NONE
hi Error term=bold,reverse
hi Identifier term=NONE
hi Ignore term=NONE
hi PreProc term=NONE
hi Special term=NONE
hi Statement term=NONE
hi Todo term=bold,reverse
hi Type term=NONE
hi Underlined term=underline
unlet s:t_Co
finish
endif
" Color: neutralred #cc241d 160 DarkRed
" Color: neutralgreen #98971a 100 DarkGreen
" Color: neutralyellow #d79921 172 DarkYellow
" Color: neutralblue #458588 66 DarkBlue
" Color: neutralpurple #b16286 132 DarkMagenta
" Color: neutralaqua #689d6a 71 DarkCyan
" Color: neutralorange #d65d0e 166 LightRed
" Background: dark
" Color: bg0 #1c1c1c 234 Black
" Color: bg1 #3c3836 237 DarkGray
" Color: bg2 #504945 239 DarkGray
" Color: bg3 #303030 236
" Color: bg4 #7c6f64 243
" Color: bg5 #000000 16 DarkGray
" Color: bg6 #121212 233 DarkGray
" Color: fg0 #fbf1c7 230 White
" Color: fg1 #ebdbb2 187 White
" Color: fg2 #d5c4a1 187
" Color: fg3 #bdae93 144
" Color: fg4 #a89984 102 gray
" Color: grey #928374 102 DarkGray
" Color: red #fb4934 203 Red
" Color: green #b8bb26 142 Green
" Color: yellow #fabd2f 214 Yellow
" Color: blue #83a598 109 Blue
" Color: purple #d3869b 175 Magenta
" Color: aqua #8ec07c 107 Cyan
" Color: orange #fe8019 208 Magenta
" Term colors: bg0 neutralred neutralgreen neutralyellow neutralblue neutralpurple neutralaqua fg4
" Term colors: grey red green yellow blue purple aqua fg1
" Background: light
" Color: bg0 #fbf1c7 230 White
" Color: bg1 #ebdbb2 187 Grey
" Color: bg2 #e5d4b1 188 Grey
" Color: bg3 #bdae93 144
" Color: bg4 #a89984 137
" Color: bg5 #ebe1b7 229 Grey
" Color: bg6 #ffffd7 231 Grey
" Color: fg0 #282828 235 DarkGray
" Color: fg1 #3c3836 237 Black
" Color: fg2 #503836 237
" Color: fg3 #665c54 59
" Color: fg4 #7c6f64 243 Black
" Color: grey #928374 102 DarkGray
" Color: red #9d0006 124 Red
" Color: green #79740e 64 Green
" Color: yellow #b57614 172 Yellow
" Color: blue #076678 23 Blue
" Color: purple #8f3f71 126 Magenta
" Color: aqua #427b58 29 Cyan
" Color: orange #ff5f00 202 Magenta
" Term colors: fg1 neutralred neutralgreen neutralyellow neutralblue neutralpurple neutralaqua fg4
" Term colors: grey red green yellow blue purple aqua bg0
" Background: any
" vim: et ts=2 sw=2

444
runtime/colors/sorbet.vim Normal file
View File

@@ -0,0 +1,444 @@
" Name: sorbet
" Description: A shallow grave, a monument to the ruined age.
" Author: Maxence Weynans <neutaaaaan@gmail.com>
" Maintainer: Maxence Weynans <neutaaaaan@gmail.com>
" Website: https://github.com/vim/colorschemes
" License: Vim License (see `:help license`)`
" Last Updated: Wed 15 Mar 2023 05:40:19 PM CET
" Generated by Colortemplate v2.2.0
set background=dark
hi clear
let g:colors_name = 'sorbet'
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
hi! link Terminal Normal
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement
hi! link Define PreProc
hi! link Debug Special
hi! link Delimiter Special
hi! link ErrorMsg Error
hi! link Exception Statement
hi! link Float Constant
hi! link Function Identifier
hi! link Include PreProc
hi! link Keyword Statement
hi! link Label Statement
hi! link Macro PreProc
hi! link Number Constant
hi! link Operator Statement
hi! link PreCondit PreProc
hi! link Repeat Statement
hi! link SpecialChar Special
hi! link SpecialComment Special
hi! link StorageClass Type
hi! link Structure Type
hi! link Tag Special
hi! link Typedef Type
hi! link lCursor Cursor
hi! link debugPC CursorLine
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#000000', '#d75f5f', '#87d75f', '#d7af5f', '#87afd7', '#af87d7', '#5fafaf', '#dadada', '#707070', '#ff5f5f', '#87ff5f', '#ffd75f', '#87d7ff', '#d787ff', '#5fd7d7', '#ffffff']
endif
hi Normal guifg=#dadada guibg=#161821 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#262831 gui=NONE cterm=NONE
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi CurSearch guifg=#ff5fff guibg=#000000 gui=reverse cterm=reverse
hi Cursor guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi CursorColumn guifg=NONE guibg=#363841 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#363841 gui=NONE cterm=NONE
hi CursorLineNr guifg=#d7d7ff guibg=#363841 gui=NONE cterm=NONE
hi DiffAdd guifg=#00af5f guibg=#000000 gui=reverse cterm=reverse
hi DiffChange guifg=#87afff guibg=#000000 gui=reverse cterm=reverse
hi DiffDelete guifg=#d7005f guibg=#000000 gui=reverse cterm=reverse
hi DiffText guifg=#ff87ff guibg=#000000 gui=reverse cterm=reverse
hi Directory guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#5f5f87 guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#8787af guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#5f5f87 guibg=#161821 gui=NONE cterm=NONE
hi IncSearch guifg=#ffaf00 guibg=#000000 gui=reverse cterm=reverse
hi LineNr guifg=#5f5f87 guibg=NONE gui=NONE cterm=NONE
hi MatchParen guifg=#ff00af guibg=NONE gui=bold cterm=bold
hi ModeMsg guifg=#dadada guibg=NONE gui=bold cterm=bold
hi MoreMsg guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi NonText guifg=#707070 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#a6a8b1 gui=NONE cterm=NONE
hi PmenuExtra guifg=#000000 guibg=#a6a8b1 gui=NONE cterm=NONE
hi PmenuKind guifg=#000000 guibg=#a6a8b1 gui=bold cterm=bold
hi PmenuSbar guifg=#707070 guibg=#5f5f87 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#d7d7ff gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#000000 guibg=#d7d7ff gui=NONE cterm=NONE
hi PmenuKindSel guifg=#000000 guibg=#d7d7ff gui=bold cterm=bold
hi PmenuThumb guifg=#dadada guibg=#d7d7ff gui=NONE cterm=NONE
hi Question guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi QuickFixLine guifg=#ff5fff guibg=#000000 gui=reverse cterm=reverse
hi Search guifg=#00afff guibg=#000000 gui=reverse cterm=reverse
hi SignColumn guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#5f5f87 guibg=NONE gui=bold cterm=bold
hi SpellBad guifg=#d75f5f guibg=NONE guisp=#d75f5f gui=undercurl cterm=underline
hi SpellCap guifg=#87afd7 guibg=NONE guisp=#87afd7 gui=undercurl cterm=underline
hi SpellLocal guifg=#af87d7 guibg=NONE guisp=#af87d7 gui=undercurl cterm=underline
hi SpellRare guifg=#5fafaf guibg=NONE guisp=#5fafaf gui=undercurl cterm=underline
hi StatusLine guifg=#000000 guibg=#d7d7ff gui=bold cterm=bold
hi StatusLineNC guifg=#8787af guibg=#000000 gui=reverse cterm=reverse
hi TabLine guifg=#8787af guibg=#000000 gui=reverse cterm=reverse
hi TabLineFill guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi TabLineSel guifg=#000000 guibg=#d7d7ff gui=bold cterm=bold
hi Title guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit guifg=#5f5f87 guibg=NONE gui=NONE cterm=NONE
hi Visual guifg=#ffaf00 guibg=#000000 gui=reverse cterm=reverse
hi VisualNOS guifg=NONE guibg=#363841 gui=NONE cterm=NONE
hi WarningMsg guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi WildMenu guifg=#d7d7ff guibg=#161821 gui=bold cterm=bold
hi Comment guifg=#af87d7 guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
hi Error guifg=#ff5f5f guibg=#000000 gui=bold,reverse cterm=bold,reverse
hi Identifier guifg=#87d75f guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=#dadada guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#87afd7 guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#5fafaf guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#87afd7 guibg=NONE gui=NONE cterm=NONE
hi String guifg=#d7af5f guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=#5fd7af guibg=NONE gui=bold,reverse cterm=bold,reverse
hi Type guifg=#87afd7 guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=#dadada guibg=NONE gui=underline cterm=underline
hi CursorIM guifg=#000000 guibg=#afff00 gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi ToolbarButton guifg=#dadada guibg=#000000 gui=bold cterm=bold
hi DiffRemoved guifg=#d75f5f guibg=NONE gui=NONE cterm=NONE
hi debugBreakpoint guifg=#8787af guibg=#000000 gui=bold,reverse cterm=bold,reverse
if s:t_Co >= 256
hi Normal ctermfg=253 ctermbg=233 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=235 cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi CurSearch ctermfg=207 ctermbg=16 cterm=reverse
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi CursorColumn ctermfg=NONE ctermbg=237 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=237 cterm=NONE
hi CursorLineNr ctermfg=189 ctermbg=237 cterm=NONE
hi DiffAdd ctermfg=35 ctermbg=16 cterm=reverse
hi DiffChange ctermfg=111 ctermbg=16 cterm=reverse
hi DiffDelete ctermfg=161 ctermbg=16 cterm=reverse
hi DiffText ctermfg=213 ctermbg=16 cterm=reverse
hi Directory ctermfg=253 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=60 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=103 ctermbg=NONE cterm=NONE
hi Folded ctermfg=60 ctermbg=233 cterm=NONE
hi IncSearch ctermfg=214 ctermbg=16 cterm=reverse
hi LineNr ctermfg=60 ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=199 ctermbg=NONE cterm=bold
hi ModeMsg ctermfg=253 ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=253 ctermbg=NONE cterm=NONE
hi NonText ctermfg=242 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=16 ctermbg=248 cterm=NONE
hi PmenuExtra ctermfg=16 ctermbg=248 cterm=NONE
hi PmenuKind ctermfg=16 ctermbg=248 cterm=bold
hi PmenuSbar ctermfg=242 ctermbg=60 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=189 cterm=NONE
hi PmenuExtraSel ctermfg=16 ctermbg=189 cterm=NONE
hi PmenuKindSel ctermfg=16 ctermbg=189 cterm=bold
hi PmenuThumb ctermfg=253 ctermbg=189 cterm=NONE
hi Question ctermfg=253 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=207 ctermbg=16 cterm=reverse
hi Search ctermfg=39 ctermbg=16 cterm=reverse
hi SignColumn ctermfg=253 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=60 ctermbg=NONE cterm=bold
hi SpellBad ctermfg=167 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=110 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=140 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=73 ctermbg=NONE cterm=underline
hi StatusLine ctermfg=16 ctermbg=189 cterm=bold
hi StatusLineNC ctermfg=103 ctermbg=16 cterm=reverse
hi TabLine ctermfg=103 ctermbg=16 cterm=reverse
hi TabLineFill ctermfg=253 ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=16 ctermbg=189 cterm=bold
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=60 ctermbg=NONE cterm=NONE
hi Visual ctermfg=214 ctermbg=16 cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=237 cterm=NONE
hi WarningMsg ctermfg=253 ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=189 ctermbg=233 cterm=bold
hi Comment ctermfg=140 ctermbg=NONE cterm=NONE
hi Constant ctermfg=167 ctermbg=NONE cterm=NONE
hi Error ctermfg=203 ctermbg=16 cterm=bold,reverse
hi Identifier ctermfg=113 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=253 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=110 ctermbg=NONE cterm=NONE
hi Special ctermfg=73 ctermbg=NONE cterm=NONE
hi Statement ctermfg=110 ctermbg=NONE cterm=NONE
hi String ctermfg=179 ctermbg=NONE cterm=NONE
hi Todo ctermfg=79 ctermbg=NONE cterm=bold,reverse
hi Type ctermfg=110 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=253 ctermbg=NONE cterm=underline
hi CursorIM ctermfg=16 ctermbg=154 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=16 cterm=NONE
hi ToolbarButton ctermfg=253 ctermbg=16 cterm=bold
hi DiffRemoved ctermfg=167 ctermbg=NONE cterm=NONE
hi debugBreakpoint ctermfg=103 ctermbg=16 cterm=bold,reverse
unlet s:t_Co
finish
endif
if s:t_Co >= 16
hi CurSearch ctermfg=magenta ctermbg=black cterm=reverse
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=yellow ctermbg=black cterm=reverse
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi PmenuSbar ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi Search ctermfg=cyan ctermbg=black cterm=reverse
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=bold
hi StatusLineNC ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi TabLine ctermfg=darkgrey ctermbg=NONE cterm=reverse
hi VertSplit ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
hi Comment ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
hi Error ctermfg=darkred ctermbg=black cterm=bold,reverse
hi Identifier ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkblue ctermbg=NONE cterm=NONE
hi String ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkgreen ctermbg=black cterm=bold,reverse
hi Type ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi DiffRemoved ctermfg=darkred ctermbg=NONE cterm=NONE
hi debugBreakpoint ctermfg=NONE ctermbg=NONE cterm=bold,reverse
unlet s:t_Co
finish
endif
if s:t_Co >= 8
hi CurSearch ctermfg=darkmagenta ctermbg=black cterm=reverse
hi EndOfBuffer ctermfg=NONE ctermbg=NONE cterm=NONE
hi Folded ctermfg=NONE ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=reverse
hi LineNr ctermfg=NONE ctermbg=NONE cterm=NONE
hi NonText ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=reverse
hi Search ctermfg=darkcyan ctermbg=black cterm=reverse
hi SpecialKey ctermfg=NONE ctermbg=NONE cterm=bold
hi StatusLineNC ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi TabLine ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi VertSplit ctermfg=NONE ctermbg=NONE cterm=NONE
hi Normal ctermfg=NONE ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=NONE cterm=reverse
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor ctermfg=NONE ctermbg=NONE cterm=reverse
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=bold
hi DiffAdd ctermfg=darkgreen ctermbg=black cterm=reverse
hi DiffChange ctermfg=darkblue ctermbg=black cterm=reverse
hi DiffDelete ctermfg=darkred ctermbg=black cterm=reverse
hi DiffText ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Directory ctermfg=NONE ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuExtra ctermfg=NONE ctermbg=NONE cterm=reverse
hi PmenuKind ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi PmenuSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuExtraSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuKindSel ctermfg=NONE ctermbg=NONE cterm=bold
hi PmenuThumb ctermfg=NONE ctermbg=NONE cterm=NONE
hi Question ctermfg=NONE ctermbg=NONE cterm=standout
hi QuickFixLine ctermfg=darkmagenta ctermbg=black cterm=reverse
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
hi StatusLine ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=NONE
hi TabLineSel ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi Visual ctermfg=darkyellow ctermbg=black cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=NONE ctermbg=NONE cterm=standout
hi WildMenu ctermfg=NONE ctermbg=NONE cterm=bold
hi Comment ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
hi Error ctermfg=darkred ctermbg=black cterm=bold,reverse
hi Identifier ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkblue ctermbg=NONE cterm=NONE
hi String ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkgreen ctermbg=black cterm=bold,reverse
hi Type ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=reverse
hi ToolbarButton ctermfg=NONE ctermbg=NONE cterm=bold,reverse
hi DiffRemoved ctermfg=darkred ctermbg=NONE cterm=NONE
hi debugBreakpoint ctermfg=NONE ctermbg=NONE cterm=bold,reverse
unlet s:t_Co
finish
endif
if s:t_Co >= 0
hi Normal term=NONE
hi ColorColumn term=reverse
hi Conceal term=NONE
hi Cursor term=reverse
hi CursorColumn term=NONE
hi CursorLine term=underline
hi CursorLineNr term=bold
hi DiffAdd term=reverse
hi DiffChange term=NONE
hi DiffDelete term=reverse
hi DiffText term=reverse
hi Directory term=NONE
hi EndOfBuffer term=NONE
hi ErrorMsg term=bold,reverse
hi FoldColumn term=NONE
hi Folded term=NONE
hi IncSearch term=bold,reverse,underline
hi LineNr term=NONE
hi MatchParen term=bold,underline
hi ModeMsg term=bold
hi MoreMsg term=NONE
hi NonText term=NONE
hi Pmenu term=reverse
hi PmenuSbar term=reverse
hi PmenuSel term=bold
hi PmenuThumb term=NONE
hi Question term=standout
hi Search term=reverse
hi SignColumn term=reverse
hi SpecialKey term=bold
hi SpellBad term=underline
hi SpellCap term=underline
hi SpellLocal term=underline
hi SpellRare term=underline
hi StatusLine term=bold,reverse
hi StatusLineNC term=bold,underline
hi TabLine term=bold,underline
hi TabLineFill term=NONE
hi Terminal term=NONE
hi TabLineSel term=bold,reverse
hi Title term=NONE
hi VertSplit term=NONE
hi Visual term=reverse
hi VisualNOS term=NONE
hi WarningMsg term=standout
hi WildMenu term=bold
hi CursorIM term=NONE
hi ToolbarLine term=reverse
hi ToolbarButton term=bold,reverse
hi CurSearch term=reverse
hi CursorLineFold term=underline
hi CursorLineSign term=underline
hi Comment term=bold
hi Constant term=NONE
hi Error term=bold,reverse
hi Identifier term=NONE
hi Ignore term=NONE
hi PreProc term=NONE
hi Special term=NONE
hi Statement term=NONE
hi Todo term=bold,reverse
hi Type term=NONE
hi Underlined term=underline
unlet s:t_Co
finish
endif
" Background: dark
" Color: guibg #161821 233 black
" Color: statusline #d7d7ff 189 white
" Color: statuslineNC #8787af 103 grey
" Color: darkuipurple #5f5f87 60 grey
" Color: dark0 #000000 16 black
" Color: dark1 #d75f5f 167 darkred
" Color: dark2 #87d75f 113 darkgreen
" Color: dark3 #d7af5f 179 darkyellow
" Color: dark4 #87afd7 110 darkblue
" Color: dark5 #af87d7 140 darkmagenta
" Color: dark6 #5fafaf 73 darkcyan
" Color: dark7 #dadada 253 grey
" Color: dark8 #707070 242 darkgrey
" Color: dark9 #ff5f5f 203 red
" Color: dark10 #87ff5f 119 green
" Color: dark11 #ffd75f 221 yellow
" Color: dark12 #87d7ff 117 blue
" Color: dark13 #d787ff 177 magenta
" Color: dark14 #5fd7d7 80 cyan
" Color: dark15 #ffffff 231 white
" Color: diffred #d7005f 161 darkred
" Color: diffgreen #00af5f 35 darkgreen
" Color: diffblue #87afff 111 darkblue
" Color: diffpink #ff87ff 213 darkmagenta
" Color: uipink #ff00af 199 magenta
" Color: uilime #afff00 154 green
" Color: uiteal #5fd7af 79 green
" Color: uiblue #00afff 39 blue
" Color: uipurple #af00ff 129 darkmagenta
" Color: uiamber #ffaf00 214 darkyellow
" Color: uiblack #363841 237 darkgrey
" Color: yasogrey #262831 235 black
" Color: linenrblack #585858 240 darkgrey
" Color: uicursearch #ff5fff 207 magenta
" Color: invisigrey #a6a8b1 248 darkgrey
" Color: errorred #ff5f5f 203 red
" Term colors: dark0 dark1 dark2 dark3 dark4 dark5 dark6 dark7
" Term colors: dark8 dark9 dark10 dark11 dark12 dark13 dark14 dark15
" vim: et ts=2 sw=2

View File

@@ -0,0 +1,753 @@
" Name: Wild Charm
" Description: Vibrant and playful, at least one popular AI thinks it is.
" Author: Maxim Kim <habamax@gmail.com>
" Maintainer: Maxim Kim <habamax@gmail.com>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Sun 12 Mar 2023 18:46:06 AEDT
" Generated by Colortemplate v2.2.0
hi clear
let g:colors_name = 'wildcharm'
let s:t_Co = exists('&t_Co') && !has('gui_running') ? (&t_Co ?? 0) : -1
hi! link Terminal Normal
hi! link StatuslineTerm Statusline
hi! link StatuslineTermNC StatuslineNC
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link MessageWindow PMenu
hi! link PopupNotification Todo
hi! link CurSearch IncSearch
if &background ==# 'dark'
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#000000', '#d7005f', '#00af5f', '#d78700', '#0087d7', '#d787d7', '#00afaf', '#d0d0d0', '#767676', '#ff5f87', '#00d75f', '#ffaf00', '#00afff', '#ff87ff', '#00d7d7', '#ffffff']
endif
hi Normal guifg=#d0d0d0 guibg=#000000 gui=NONE cterm=NONE
hi Statusline guifg=#d0d0d0 guibg=#000000 gui=reverse cterm=reverse
hi StatuslineNC guifg=#767676 guibg=#000000 gui=reverse cterm=reverse
hi VertSplit guifg=#767676 guibg=#767676 gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#767676 gui=NONE cterm=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#ff87ff gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffffff guibg=NONE gui=bold cterm=bold
hi LineNr guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi NonText guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#585858 guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#767676 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#d0d0d0 guibg=#303030 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffaf00 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#d0d0d0 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuKind guifg=#ff5f87 guibg=#303030 gui=NONE cterm=NONE
hi PmenuKindSel guifg=#d7005f guibg=#ffaf00 gui=NONE cterm=NONE
hi PmenuExtra guifg=#767676 guibg=#303030 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#000000 guibg=#ffaf00 gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error guifg=#ffffff guibg=#d7005f gui=NONE cterm=NONE
hi ErrorMsg guifg=#ffffff guibg=#d7005f gui=NONE cterm=NONE
hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg guifg=#00d75f guibg=NONE gui=NONE cterm=NONE
hi Question guifg=#ff87ff guibg=NONE gui=NONE cterm=NONE
hi WarningMsg guifg=#ffaf00 guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=#875fff guibg=#000000 gui=reverse cterm=reverse
hi Search guifg=#000000 guibg=#00d75f gui=NONE cterm=NONE
hi IncSearch guifg=#000000 guibg=#ffaf00 gui=NONE cterm=NONE
hi WildMenu guifg=#000000 guibg=#ffaf00 gui=NONE cterm=NONE
hi debugPC guifg=#0087d7 guibg=NONE gui=reverse cterm=reverse
hi debugBreakpoint guifg=#00afaf guibg=NONE gui=reverse cterm=reverse
hi Cursor guifg=#ffffff guibg=#000000 gui=reverse cterm=reverse
hi lCursor guifg=#ff5fff guibg=#000000 gui=reverse cterm=reverse
hi Visual guifg=#000000 guibg=#0087d7 gui=NONE cterm=NONE
hi VisualNOS guifg=#000000 guibg=#00afff gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#262626 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#262626 gui=NONE cterm=NONE
hi Folded guifg=#767676 guibg=#303030 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi MatchParen guifg=#ff00af guibg=NONE gui=bold cterm=bold
hi SpellBad guifg=NONE guibg=NONE guisp=#ff5f87 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpellCap guifg=NONE guibg=NONE guisp=#00afaf gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpellLocal guifg=NONE guibg=NONE guisp=#00af5f gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpellRare guifg=NONE guibg=NONE guisp=#ff87ff gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
hi Comment guifg=#767676 guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#ff5f87 guibg=NONE gui=NONE cterm=NONE
hi String guifg=#00d75f guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#ff87ff guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#00afff guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#ffaf00 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#00d7d7 guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#875fff guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory guifg=#00afff guibg=NONE gui=bold cterm=bold
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd guifg=#afffaf guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#d0d0d0 guibg=#5f5f5f gui=NONE cterm=NONE
hi DiffText guifg=#afffff guibg=#5f8787 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffafaf guibg=#875f5f gui=NONE cterm=NONE
hi diffAdded guifg=#00af5f guibg=NONE gui=NONE cterm=NONE
hi diffRemoved guifg=#d7005f guibg=NONE gui=NONE cterm=NONE
else
" Light background
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#000000', '#af0000', '#008700', '#af5f00', '#005faf', '#870087', '#008787', '#8a8a8a', '#808080', '#d70000', '#5faf5f', '#d78700', '#0087d7', '#af00af', '#00afaf', '#ffffff']
endif
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi Statusline guifg=#ffffff guibg=#5f5f5f gui=NONE cterm=NONE
hi StatuslineNC guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
hi VertSplit guifg=#d0d0d0 guibg=#d0d0d0 gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#808080 gui=NONE cterm=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 gui=reverse cterm=reverse
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
hi QuickFixLine guifg=#ffffff guibg=#870087 gui=NONE cterm=NONE
hi CursorLineNr guifg=#000000 guibg=NONE gui=bold cterm=bold
hi LineNr guifg=#b2b2b2 guibg=NONE gui=NONE cterm=NONE
hi NonText guifg=#b2b2b2 guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#b2b2b2 guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#b2b2b2 guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#b2b2b2 guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuSel guifg=#ffffff guibg=#d78700 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#808080 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuKind guifg=#d70000 guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuKindSel guifg=#af0000 guibg=#d78700 gui=NONE cterm=NONE
hi PmenuExtra guifg=#808080 guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuExtraSel guifg=#ffffff guibg=#d78700 gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
hi ErrorMsg guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg guifg=#008700 guibg=NONE gui=NONE cterm=NONE
hi Question guifg=#870087 guibg=NONE gui=NONE cterm=NONE
hi WarningMsg guifg=#af5f00 guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=#8700ff guibg=#ffffff gui=reverse cterm=reverse
hi Search guifg=#ffffff guibg=#008700 gui=NONE cterm=NONE
hi IncSearch guifg=#ffffff guibg=#d78700 gui=NONE cterm=NONE
hi WildMenu guifg=#ffffff guibg=#d78700 gui=NONE cterm=NONE
hi debugPC guifg=#005faf guibg=NONE gui=reverse cterm=reverse
hi debugBreakpoint guifg=#008787 guibg=NONE gui=reverse cterm=reverse
hi Cursor guifg=#000000 guibg=#ffffff gui=reverse cterm=reverse
hi lCursor guifg=#ff00ff guibg=#000000 gui=reverse cterm=reverse
hi Visual guifg=#ffffff guibg=#0087d7 gui=NONE cterm=NONE
hi VisualNOS guifg=#ffffff guibg=#005faf gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
hi Folded guifg=#808080 guibg=#e4e4e4 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
hi MatchParen guifg=#ff00af guibg=NONE gui=bold cterm=bold
hi SpellBad guifg=NONE guibg=NONE guisp=#af0000 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpellCap guifg=NONE guibg=NONE guisp=#008787 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpellLocal guifg=NONE guibg=NONE guisp=#008700 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
hi SpellRare guifg=NONE guibg=NONE guisp=#af00af gui=undercurl ctermfg=NONE ctermbg=NONE cterm=NONE
hi Comment guifg=#8a8a8a guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#af0000 guibg=NONE gui=NONE cterm=NONE
hi String guifg=#008700 guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#870087 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#005faf guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#af5f00 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#008787 guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#8700ff guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
hi Title guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory guifg=#005faf guibg=NONE gui=bold cterm=bold
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd guifg=#005f00 guibg=#afd7af gui=NONE cterm=NONE
hi DiffChange guifg=#262626 guibg=#dadada gui=NONE cterm=NONE
hi DiffText guifg=#005f5f guibg=#afd7d7 gui=NONE cterm=NONE
hi DiffDelete guifg=#875f5f guibg=#ffd7d7 gui=NONE cterm=NONE
hi diffAdded guifg=#008700 guibg=NONE gui=NONE cterm=NONE
hi diffRemoved guifg=#d70000 guibg=NONE gui=NONE cterm=NONE
endif
if s:t_Co >= 256
hi! link Terminal Normal
hi! link StatuslineTerm Statusline
hi! link StatuslineTermNC StatuslineNC
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link MessageWindow PMenu
hi! link PopupNotification Todo
hi! link CurSearch IncSearch
if &background ==# 'dark'
hi Normal ctermfg=252 ctermbg=16 cterm=NONE
hi Statusline ctermfg=252 ctermbg=16 cterm=reverse
hi StatuslineNC ctermfg=243 ctermbg=16 cterm=reverse
hi VertSplit ctermfg=243 ctermbg=243 cterm=NONE
hi TabLine ctermfg=16 ctermbg=252 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=243 cterm=NONE
hi TabLineSel ctermfg=231 ctermbg=16 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=16 ctermbg=231 cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=213 cterm=NONE
hi CursorLineNr ctermfg=231 ctermbg=NONE cterm=bold
hi LineNr ctermfg=240 ctermbg=NONE cterm=NONE
hi NonText ctermfg=240 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=240 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=240 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=240 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=243 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=252 ctermbg=236 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=214 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=252 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuKind ctermfg=204 ctermbg=236 cterm=NONE
hi PmenuKindSel ctermfg=161 ctermbg=214 cterm=NONE
hi PmenuExtra ctermfg=243 ctermbg=236 cterm=NONE
hi PmenuExtraSel ctermfg=16 ctermbg=214 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=231 ctermbg=161 cterm=NONE
hi ErrorMsg ctermfg=231 ctermbg=161 cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=41 ctermbg=NONE cterm=NONE
hi Question ctermfg=213 ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=214 ctermbg=NONE cterm=NONE
hi Todo ctermfg=99 ctermbg=16 cterm=reverse
hi Search ctermfg=16 ctermbg=41 cterm=NONE
hi IncSearch ctermfg=16 ctermbg=214 cterm=NONE
hi WildMenu ctermfg=16 ctermbg=214 cterm=NONE
hi debugPC ctermfg=32 ctermbg=NONE cterm=reverse
hi debugBreakpoint ctermfg=37 ctermbg=NONE cterm=reverse
hi Visual ctermfg=16 ctermbg=32 cterm=NONE
hi VisualNOS ctermfg=16 ctermbg=39 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=235 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=235 cterm=NONE
hi Folded ctermfg=243 ctermbg=236 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=236 cterm=NONE
hi MatchParen ctermfg=199 ctermbg=NONE cterm=bold
hi SpellBad ctermfg=161 ctermbg=231 cterm=reverse
hi SpellCap ctermfg=37 ctermbg=16 cterm=reverse
hi SpellLocal ctermfg=41 ctermbg=16 cterm=reverse
hi SpellRare ctermfg=213 ctermbg=16 cterm=reverse
hi Comment ctermfg=243 ctermbg=NONE cterm=NONE
hi Constant ctermfg=204 ctermbg=NONE cterm=NONE
hi String ctermfg=41 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=213 ctermbg=NONE cterm=NONE
hi Statement ctermfg=39 ctermbg=NONE cterm=NONE
hi Type ctermfg=214 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=44 ctermbg=NONE cterm=NONE
hi Special ctermfg=99 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=39 ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=157 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=252 ctermbg=59 cterm=NONE
hi DiffText ctermfg=159 ctermbg=66 cterm=NONE
hi DiffDelete ctermfg=217 ctermbg=95 cterm=NONE
hi diffAdded ctermfg=35 ctermbg=NONE cterm=NONE
hi diffRemoved ctermfg=161 ctermbg=NONE cterm=NONE
else
" Light background
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
hi Statusline ctermfg=231 ctermbg=59 cterm=NONE
hi StatuslineNC ctermfg=16 ctermbg=252 cterm=NONE
hi VertSplit ctermfg=252 ctermbg=252 cterm=NONE
hi TabLine ctermfg=16 ctermbg=252 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=240 cterm=NONE
hi TabLineSel ctermfg=231 ctermbg=16 cterm=reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=231 ctermbg=16 cterm=NONE
hi QuickFixLine ctermfg=231 ctermbg=90 cterm=NONE
hi CursorLineNr ctermfg=16 ctermbg=NONE cterm=bold
hi LineNr ctermfg=249 ctermbg=NONE cterm=NONE
hi NonText ctermfg=249 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=249 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=249 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=249 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=16 ctermbg=254 cterm=NONE
hi PmenuSel ctermfg=231 ctermbg=172 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=240 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuKind ctermfg=160 ctermbg=254 cterm=NONE
hi PmenuKindSel ctermfg=124 ctermbg=172 cterm=NONE
hi PmenuExtra ctermfg=240 ctermbg=254 cterm=NONE
hi PmenuExtraSel ctermfg=231 ctermbg=172 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=231 ctermbg=160 cterm=NONE
hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=28 ctermbg=NONE cterm=NONE
hi Question ctermfg=90 ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=130 ctermbg=NONE cterm=NONE
hi Todo ctermfg=93 ctermbg=231 cterm=reverse
hi Search ctermfg=231 ctermbg=28 cterm=NONE
hi IncSearch ctermfg=231 ctermbg=172 cterm=NONE
hi WildMenu ctermfg=231 ctermbg=172 cterm=NONE
hi debugPC ctermfg=25 ctermbg=NONE cterm=reverse
hi debugBreakpoint ctermfg=30 ctermbg=NONE cterm=reverse
hi Visual ctermfg=231 ctermbg=32 cterm=NONE
hi VisualNOS ctermfg=231 ctermbg=25 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=255 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=255 cterm=NONE
hi Folded ctermfg=240 ctermbg=254 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=254 cterm=NONE
hi MatchParen ctermfg=199 ctermbg=NONE cterm=bold
hi SpellBad ctermfg=160 ctermbg=231 cterm=reverse
hi SpellCap ctermfg=30 ctermbg=231 cterm=reverse
hi SpellLocal ctermfg=28 ctermbg=231 cterm=reverse
hi SpellRare ctermfg=127 ctermbg=231 cterm=reverse
hi Comment ctermfg=245 ctermbg=NONE cterm=NONE
hi Constant ctermfg=124 ctermbg=NONE cterm=NONE
hi String ctermfg=28 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=90 ctermbg=NONE cterm=NONE
hi Statement ctermfg=25 ctermbg=NONE cterm=NONE
hi Type ctermfg=130 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=30 ctermbg=NONE cterm=NONE
hi Special ctermfg=93 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=25 ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=22 ctermbg=151 cterm=NONE
hi DiffChange ctermfg=235 ctermbg=253 cterm=NONE
hi DiffText ctermfg=23 ctermbg=152 cterm=NONE
hi DiffDelete ctermfg=95 ctermbg=224 cterm=NONE
hi diffAdded ctermfg=28 ctermbg=NONE cterm=NONE
hi diffRemoved ctermfg=160 ctermbg=NONE cterm=NONE
endif
unlet s:t_Co
finish
endif
if s:t_Co >= 16
if &background ==# 'dark'
hi Normal ctermfg=grey ctermbg=black cterm=NONE
hi Statusline ctermfg=grey ctermbg=black cterm=reverse
hi StatuslineNC ctermfg=darkgrey ctermbg=black cterm=reverse
hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
hi TabLine ctermfg=black ctermbg=grey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=white cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi CursorLineNr ctermfg=white ctermbg=NONE cterm=bold
hi LineNr ctermfg=grey ctermbg=NONE cterm=NONE
hi NonText ctermfg=grey ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=grey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=grey ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=white ctermbg=darkred cterm=NONE
hi ErrorMsg ctermfg=white ctermbg=darkred cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=green ctermbg=NONE cterm=NONE
hi Question ctermfg=magenta ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=yellow ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkred ctermbg=black cterm=reverse
hi Search ctermfg=black ctermbg=green cterm=NONE
hi IncSearch ctermfg=black ctermbg=yellow cterm=NONE
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
hi Visual ctermfg=black ctermbg=darkblue cterm=NONE
hi VisualNOS ctermfg=black ctermbg=blue cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=black ctermbg=yellow cterm=NONE
hi Folded ctermfg=black ctermbg=NONE cterm=bold
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi SpellBad ctermfg=darkred ctermbg=white cterm=reverse
hi SpellCap ctermfg=darkcyan ctermbg=black cterm=reverse
hi SpellLocal ctermfg=green ctermbg=black cterm=reverse
hi SpellRare ctermfg=magenta ctermbg=black cterm=reverse
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Constant ctermfg=red ctermbg=NONE cterm=NONE
hi String ctermfg=green ctermbg=NONE cterm=NONE
hi Identifier ctermfg=magenta ctermbg=NONE cterm=NONE
hi Statement ctermfg=blue ctermbg=NONE cterm=NONE
hi Type ctermfg=yellow ctermbg=NONE cterm=NONE
hi PreProc ctermfg=cyan ctermbg=NONE cterm=NONE
hi Special ctermfg=darkred ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=blue ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
hi DiffChange ctermfg=black ctermbg=lightgray cterm=NONE
hi DiffText ctermfg=black ctermbg=cyan cterm=NONE
hi DiffDelete ctermfg=black ctermbg=darkred cterm=NONE
hi diffAdded ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi diffRemoved ctermfg=darkred ctermbg=NONE cterm=NONE
else
" Light background
hi Normal ctermfg=black ctermbg=white cterm=NONE
hi Statusline ctermfg=white ctermbg=darkgrey cterm=NONE
hi StatuslineNC ctermfg=black ctermbg=lightgrey cterm=NONE
hi VertSplit ctermfg=lightgrey ctermbg=lightgrey cterm=NONE
hi TabLine ctermfg=black ctermbg=lightgrey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=reverse
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=black cterm=NONE
hi QuickFixLine ctermfg=white ctermbg=darkmagenta cterm=NONE
hi CursorLineNr ctermfg=black ctermbg=NONE cterm=bold
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=white ctermbg=red cterm=NONE
hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkred ctermbg=white cterm=reverse
hi Search ctermfg=white ctermbg=darkgreen cterm=NONE
hi IncSearch ctermfg=white ctermbg=yellow cterm=NONE
hi WildMenu ctermfg=white ctermbg=yellow cterm=NONE
hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
hi Visual ctermfg=white ctermbg=blue cterm=NONE
hi VisualNOS ctermfg=white ctermbg=darkblue cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=black ctermbg=yellow cterm=NONE
hi Folded ctermfg=black ctermbg=NONE cterm=bold
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi SpellBad ctermfg=red ctermbg=white cterm=reverse
hi SpellCap ctermfg=darkcyan ctermbg=white cterm=reverse
hi SpellLocal ctermfg=darkgreen ctermbg=white cterm=reverse
hi SpellRare ctermfg=magenta ctermbg=white cterm=reverse
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
hi String ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Identifier ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Special ctermfg=darkred ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
hi DiffChange ctermfg=black ctermbg=lightgray cterm=NONE
hi DiffText ctermfg=black ctermbg=cyan cterm=NONE
hi DiffDelete ctermfg=black ctermbg=darkred cterm=NONE
hi diffAdded ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi diffRemoved ctermfg=red ctermbg=NONE cterm=NONE
endif
unlet s:t_Co
finish
endif
if s:t_Co >= 8
if &background ==# 'dark'
hi Normal ctermfg=grey ctermbg=black cterm=NONE
hi Statusline ctermfg=grey ctermbg=black cterm=bold,reverse
hi StatuslineNC ctermfg=black ctermbg=grey cterm=NONE
hi VertSplit ctermfg=grey ctermbg=grey cterm=NONE
hi TabLine ctermfg=grey ctermbg=black cterm=reverse
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=grey ctermbg=black cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold,reverse
hi QuickFixLine ctermfg=black ctermbg=darkmagenta cterm=NONE
hi CursorLineNr ctermfg=black ctermbg=NONE cterm=bold
hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi NonText ctermfg=black ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=black ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=grey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=black ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=grey cterm=NONE
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=black ctermbg=grey cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=grey ctermbg=darkred cterm=NONE
hi ErrorMsg ctermfg=grey ctermbg=darkred cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkred ctermbg=black cterm=reverse
hi Search ctermfg=darkgreen ctermbg=black cterm=reverse
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=reverse
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
hi Visual ctermfg=black ctermbg=darkblue cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi VisualNOS ctermfg=black ctermbg=darkblue cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi Folded ctermfg=black ctermbg=NONE cterm=bold
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=reverse
hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=reverse
hi SpellLocal ctermfg=darkgreen ctermbg=black cterm=reverse
hi SpellRare ctermfg=darkmagenta ctermbg=NONE cterm=reverse
hi Comment ctermfg=NONE ctermbg=NONE cterm=bold
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
hi String ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkblue ctermbg=NONE cterm=bold
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
hi DiffChange ctermfg=black ctermbg=darkcyan cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=NONE
else
" Light background
hi Normal ctermfg=black ctermbg=grey cterm=NONE
hi Statusline ctermfg=grey ctermbg=black cterm=bold
hi StatuslineNC ctermfg=grey ctermbg=darkgrey cterm=NONE
hi VertSplit ctermfg=black ctermbg=black cterm=NONE
hi TabLine ctermfg=black ctermbg=grey cterm=reverse
hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=grey cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=grey ctermbg=black cterm=bold
hi QuickFixLine ctermfg=black ctermbg=darkmagenta cterm=NONE
hi CursorLineNr ctermfg=black ctermbg=NONE cterm=bold
hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi NonText ctermfg=black ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=black ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=black ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=black ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=grey ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgreen cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=NONE ctermbg=darkyellow cterm=NONE
hi PmenuKind ctermfg=darkred ctermbg=black cterm=NONE
hi PmenuKindSel ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi PmenuExtra ctermfg=grey ctermbg=black cterm=NONE
hi PmenuExtraSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Error ctermfg=white ctermbg=darkred cterm=NONE
hi ErrorMsg ctermfg=white ctermbg=darkred cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=bold
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Question ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkred ctermbg=black cterm=reverse
hi Search ctermfg=darkgreen ctermbg=black cterm=reverse
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=reverse
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
hi debugPC ctermfg=darkblue ctermbg=NONE cterm=reverse
hi debugBreakpoint ctermfg=darkcyan ctermbg=NONE cterm=reverse
hi Visual ctermfg=grey ctermbg=darkblue cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=bold,underline
hi VisualNOS ctermfg=black ctermbg=darkblue cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi Folded ctermfg=black ctermbg=NONE cterm=bold
hi ColorColumn ctermfg=black ctermbg=darkyellow cterm=NONE
hi SpellBad ctermfg=darkred ctermbg=black cterm=reverse
hi SpellCap ctermfg=darkcyan ctermbg=black cterm=reverse
hi SpellLocal ctermfg=darkgreen ctermbg=black cterm=reverse
hi SpellRare ctermfg=darkmagenta ctermbg=black cterm=reverse
hi Comment ctermfg=NONE ctermbg=NONE cterm=bold
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
hi String ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Identifier ctermfg=NONE ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkblue ctermbg=NONE cterm=bold
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Special ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Title ctermfg=NONE ctermbg=NONE cterm=bold
hi Directory ctermfg=darkblue ctermbg=NONE cterm=bold
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi DiffAdd ctermfg=black ctermbg=darkmagenta cterm=NONE
hi DiffChange ctermfg=black ctermbg=darkcyan cterm=NONE
hi DiffText ctermfg=grey ctermbg=black cterm=NONE
hi DiffDelete ctermfg=darkred ctermbg=NONE cterm=NONE
endif
unlet s:t_Co
finish
endif
if s:t_Co >= 0
hi Normal term=NONE
hi ColorColumn term=reverse
hi Conceal term=NONE
hi Cursor term=reverse
hi CursorColumn term=NONE
hi CursorLine term=underline
hi CursorLineNr term=bold
hi DiffAdd term=reverse
hi DiffChange term=NONE
hi DiffDelete term=reverse
hi DiffText term=reverse
hi Directory term=NONE
hi EndOfBuffer term=NONE
hi ErrorMsg term=bold,reverse
hi FoldColumn term=NONE
hi Folded term=NONE
hi IncSearch term=bold,reverse,underline
hi LineNr term=NONE
hi MatchParen term=bold,underline
hi ModeMsg term=bold
hi MoreMsg term=NONE
hi NonText term=NONE
hi Pmenu term=reverse
hi PmenuSbar term=reverse
hi PmenuSel term=bold
hi PmenuThumb term=NONE
hi Question term=standout
hi Search term=reverse
hi SignColumn term=reverse
hi SpecialKey term=bold
hi SpellBad term=underline
hi SpellCap term=underline
hi SpellLocal term=underline
hi SpellRare term=underline
hi StatusLine term=bold,reverse
hi StatusLineNC term=bold,underline
hi TabLine term=bold,underline
hi TabLineFill term=NONE
hi Terminal term=NONE
hi TabLineSel term=bold,reverse
hi Title term=NONE
hi VertSplit term=NONE
hi Visual term=reverse
hi VisualNOS term=NONE
hi WarningMsg term=standout
hi WildMenu term=bold
hi CursorIM term=NONE
hi ToolbarLine term=reverse
hi ToolbarButton term=bold,reverse
hi CurSearch term=reverse
hi CursorLineFold term=underline
hi CursorLineSign term=underline
hi Comment term=bold
hi Constant term=NONE
hi Error term=bold,reverse
hi Identifier term=NONE
hi Ignore term=NONE
hi PreProc term=NONE
hi Special term=NONE
hi Statement term=NONE
hi Todo term=bold,reverse
hi Type term=NONE
hi Underlined term=underline
unlet s:t_Co
finish
endif
" Background: any
" Background: dark
" Color: color00 #000000 16 black
" Color: color08 #767676 243 darkgrey
" Color: color01 #d7005f 161 darkred
" Color: color09 #ff5f87 204 red
" Color: color02 #00af5f 35 darkgreen
" Color: color10 #00d75f 41 green
" Color: color03 #d78700 172 darkyellow
" Color: color11 #ffaf00 214 yellow
" Color: color04 #0087d7 32 darkblue
" Color: color12 #00afff 39 blue
" Color: color05 #d787d7 176 darkmagenta
" Color: color13 #ff87ff 213 magenta
" Color: color06 #00afaf 37 darkcyan
" Color: color14 #00d7d7 44 cyan
" Color: color07 #d0d0d0 252 grey
" Color: color15 #ffffff 231 white
" Color: color16 #875fff 99 darkred
" Color: colorLine #262626 235 darkgrey
" Color: colorB #303030 236 darkgrey
" Color: colorNonT #585858 240 grey
" Color: colorTab #585858 240 grey
" Color: colorC #ffffff 231 white
" Color: colorlC #ff5fff 207 magenta
" Color: colorDim #878787 102 grey
" Color: colorMP #ff00af 199 magenta
" Color: diffAdd #5f875f 65 darkmagenta
" Color: diffAddFg #afffaf 157 black
" Color: diffDelete #875f5f 95 darkred
" Color: diffDeleteFg #ffafaf 217 black
" Color: diffChange #5f5f5f 59 lightgray
" Color: diffChangeFg #d0d0d0 252 black
" Color: diffText #5f8787 66 cyan
" Color: diffTextFg #afffff 159 black
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
" Background: light
" Color: color00 #000000 16 black
" Color: color08 #808080 240 darkgrey
" Color: color01 #af0000 124 darkred
" Color: color09 #d70000 160 red
" Color: color02 #008700 28 darkgreen
" Color: color10 #5faf5f 71 green
" Color: color03 #af5f00 130 darkyellow
" Color: color11 #d78700 172 yellow
" Color: color04 #005faf 25 darkblue
" Color: color12 #0087d7 32 blue
" Color: color05 #870087 90 darkmagenta
" Color: color13 #af00af 127 magenta
" Color: color06 #008787 30 darkcyan
" Color: color14 #00afaf 37 cyan
" Color: color07 #8a8a8a 245 grey
" Color: color15 #ffffff 231 white
" Color: color16 #8700ff 93 darkred
" Color: colorCm #8a8a8a 245 darkgrey
" Color: colorLine #EEEEEE 255 grey
" Color: colorB #E4E4E4 254 grey
" Color: colorNonT #b2b2b2 249 darkgrey
" Color: colorTab #d0d0d0 252 lightgrey
" Color: colorC #000000 16 black
" Color: colorlC #FF00FF 201 magenta
" Color: colorV #5F87AF 67 darkblue
" Color: colorDim #626262 241 darkgrey
" Color: colorSt #5f5f5f 59 darkgrey
" Color: colorMP #ff00af 199 magenta
" Color: diffAdd #afd7af 151 darkmagenta
" Color: diffAddFg #005f00 22 black
" Color: diffDelete #ffd7d7 224 darkred
" Color: diffDeleteFg #875f5f 95 black
" Color: diffChange #dadada 253 lightgray
" Color: diffChangeFg #262626 235 black
" Color: diffText #afd7d7 152 cyan
" Color: diffTextFg #005f5f 23 black
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
" Background: any
" vim: et ts=2 sw=2

563
runtime/colors/zaibatsu.vim Normal file
View File

@@ -0,0 +1,563 @@
" Name: zaibatsu
" Description: "If you believe the journalists, he's the single wealthiest individual, period. As rich as some zaibatsu. But there's the catch, really: is he an individual? In the sense that you are, or I am? No." -- William Gibson, Count Zero
" Author: Romain Lafourcade <romainlafourcade@gmail.com>
" Maintainer: Romain Lafourcade <romainlafourcade@gmail.com>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Sun Mar 12 17:21:15 2023
" Generated by Colortemplate v2.2.0
set background=dark
hi clear
let g:colors_name = 'zaibatsu'
let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#0e0024', '#d7005f', '#00af5f', '#ffaf00', '#5f5fff', '#d700ff', '#00afff', '#d7d5db', '#878092', '#ff5faf', '#00d700', '#ffd700', '#8787ff', '#ff87ff', '#00ffff', '#ffffff']
endif
hi Normal guifg=#ffffff guibg=#0e0024 gui=NONE cterm=NONE
hi EndOfBuffer guifg=#afafff guibg=#0e0024 gui=NONE cterm=NONE
hi NonText guifg=#878092 guibg=#0e0024 gui=NONE cterm=NONE
hi SpellBad guifg=NONE guibg=NONE guisp=#ff5faf gui=undercurl ctermfg=NONE ctermbg=NONE cterm=undercurl
hi SpellCap guifg=NONE guibg=NONE guisp=#87ff00 gui=undercurl ctermfg=NONE ctermbg=NONE cterm=undercurl
hi SpellLocal guifg=NONE guibg=NONE guisp=#ffffff gui=undercurl ctermfg=NONE ctermbg=NONE cterm=undercurl
hi SpellRare guifg=NONE guibg=NONE guisp=#ffafff gui=undercurl ctermfg=NONE ctermbg=NONE cterm=undercurl
hi StatusLine guifg=#0e0024 guibg=#ffffff gui=NONE cterm=NONE
hi StatusLineNC guifg=#0e0024 guibg=#afaab6 gui=NONE cterm=NONE
hi Pmenu guifg=#0e0024 guibg=#ffffff gui=NONE cterm=NONE
hi PmenuSbar guifg=#d7d5db guibg=#d7d5db gui=NONE cterm=NONE
hi PmenuSel guifg=#0e0024 guibg=#afafff gui=NONE cterm=NONE
hi PmenuThumb guifg=#878092 guibg=#878092 gui=NONE cterm=NONE
hi PmenuExtra guifg=#878092 guibg=#ffffff gui=NONE cterm=NONE
hi! link PmenuExtraSel PmenuSel
hi PmenuKind guifg=#878092 guibg=#ffffff gui=NONE cterm=NONE
hi! link PmenuKindSel PmenuSel
hi ColorColumn guifg=NONE guibg=#510039 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#362b49 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#362b49 gui=NONE cterm=NONE
hi WildMenu guifg=#0e0024 guibg=#afafff gui=NONE cterm=NONE
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor guifg=#0e0024 guibg=#ffff5f gui=NONE cterm=NONE
hi CursorIM guifg=#0e0024 guibg=#ffff5f gui=NONE cterm=NONE
hi Error guifg=#d70000 guibg=#ffffff gui=reverse cterm=reverse
hi ErrorMsg guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
hi FoldColumn guifg=#00afff guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#ffaf00 guibg=#0e0024 gui=reverse cterm=reverse
hi IncSearch guifg=#ffaf00 guibg=#0e0024 gui=reverse cterm=reverse
hi LineNr guifg=#afafff guibg=NONE gui=NONE cterm=NONE
hi MatchParen guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi ModeMsg guifg=#0e0024 guibg=#87ff00 gui=NONE cterm=NONE
hi MoreMsg guifg=#87ffff guibg=NONE gui=NONE cterm=NONE
hi Question guifg=#87ff00 guibg=NONE gui=NONE cterm=NONE
hi QuickFixLine guifg=#ffafff guibg=#0e0024 gui=reverse cterm=reverse
hi Search guifg=#87ffff guibg=#0e0024 gui=reverse cterm=reverse
hi SignColumn guifg=#00afff guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#878092 guibg=NONE gui=NONE cterm=NONE
hi ToolbarButton guifg=#ffffff guibg=#5e556d gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit guifg=#afafff guibg=NONE gui=NONE cterm=NONE
hi Visual guifg=#0e0024 guibg=#5fd7ff gui=NONE cterm=NONE
hi VisualNOS guifg=#0e0024 guibg=#ffffff gui=NONE cterm=NONE
hi WarningMsg guifg=#ffafff guibg=NONE gui=NONE cterm=NONE
hi debugBreakpoint guifg=#87ff00 guibg=#5f00d7 gui=reverse cterm=reverse
hi debugPC guifg=#87ffff guibg=#5f00d7 gui=reverse cterm=reverse
hi Directory guifg=#87ffff guibg=NONE gui=NONE cterm=NONE
hi Title guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Comment guifg=#afafff guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#ffff5f guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#87ffff guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=#878092 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#00afff guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#87ff00 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#ffafff guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type guifg=#ff5faf guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
hi! link CurSearch IncSearch
hi! link CursorLineFold CursorLine
hi! link CursorLineNr CursorLine
hi! link CursorLineSign CursorLine
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link TabLine StatusLineNC
hi! link TabLineFill StatusLineNC
hi! link TabLineSel StatusLine
hi! link Terminal Normal
hi! link lCursor Cursor
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement
hi! link Define PreProc
hi! link Delimiter Special
hi! link Exception Statement
hi! link Float Constant
hi! link Function Identifier
hi! link Include PreProc
hi! link Keyword Statement
hi! link Label Statement
hi! link Macro PreProc
hi! link Number Constant
hi! link Operator Statement
hi! link PreCondit PreProc
hi! link Repeat Statement
hi! link SpecialChar Special
hi! link SpecialComment Special
hi! link StorageClass Type
hi! link String Constant
hi! link Structure Type
hi! link Tag Special
hi! link Typedef Type
hi! link Terminal Normal
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi DiffAdd guifg=#87ff00 guibg=#362b49 gui=reverse cterm=reverse
hi DiffChange guifg=#afafff guibg=#362b49 gui=reverse cterm=reverse
hi DiffText guifg=#d7d5db guibg=#362b49 gui=reverse cterm=reverse
hi DiffDelete guifg=#ff5faf guibg=#362b49 gui=reverse cterm=reverse
if s:t_Co >= 256
hi Normal ctermfg=231 ctermbg=16 cterm=NONE
hi EndOfBuffer ctermfg=147 ctermbg=16 cterm=NONE
hi NonText ctermfg=103 ctermbg=16 cterm=NONE
hi SpellBad ctermfg=205 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=118 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=231 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=219 ctermbg=NONE cterm=underline
hi StatusLine ctermfg=16 ctermbg=231 cterm=NONE
hi StatusLineNC ctermfg=16 ctermbg=146 cterm=NONE
hi Pmenu ctermfg=16 ctermbg=231 cterm=NONE
hi PmenuSbar ctermfg=189 ctermbg=189 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=147 cterm=NONE
hi PmenuThumb ctermfg=103 ctermbg=103 cterm=NONE
hi PmenuExtra ctermfg=103 ctermbg=231 cterm=NONE
hi! link PmenuExtraSel PmenuSel
hi PmenuKind ctermfg=103 ctermbg=231 cterm=NONE
hi! link PmenuKindSel PmenuSel
hi ColorColumn ctermfg=NONE ctermbg=52 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=237 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=237 cterm=NONE
hi WildMenu ctermfg=16 ctermbg=147 cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor ctermfg=16 ctermbg=227 cterm=NONE
hi CursorIM ctermfg=16 ctermbg=227 cterm=NONE
hi Error ctermfg=160 ctermbg=231 cterm=reverse
hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
hi FoldColumn ctermfg=39 ctermbg=NONE cterm=NONE
hi Folded ctermfg=214 ctermbg=16 cterm=reverse
hi IncSearch ctermfg=214 ctermbg=16 cterm=reverse
hi LineNr ctermfg=147 ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
hi ModeMsg ctermfg=16 ctermbg=118 cterm=NONE
hi MoreMsg ctermfg=123 ctermbg=NONE cterm=NONE
hi Question ctermfg=118 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=219 ctermbg=16 cterm=reverse
hi Search ctermfg=123 ctermbg=16 cterm=reverse
hi SignColumn ctermfg=39 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=103 ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=231 ctermbg=60 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=147 ctermbg=NONE cterm=NONE
hi Visual ctermfg=16 ctermbg=81 cterm=NONE
hi VisualNOS ctermfg=16 ctermbg=231 cterm=NONE
hi WarningMsg ctermfg=219 ctermbg=NONE cterm=NONE
hi debugBreakpoint ctermfg=118 ctermbg=56 cterm=reverse
hi debugPC ctermfg=123 ctermbg=56 cterm=reverse
hi Directory ctermfg=123 ctermbg=NONE cterm=NONE
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi Comment ctermfg=147 ctermbg=NONE cterm=NONE
hi Constant ctermfg=227 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=123 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=103 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=39 ctermbg=NONE cterm=NONE
hi Special ctermfg=118 ctermbg=NONE cterm=NONE
hi Statement ctermfg=219 ctermbg=NONE cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type ctermfg=205 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi! link CurSearch IncSearch
hi! link CursorLineFold CursorLine
hi! link CursorLineNr CursorLine
hi! link CursorLineSign CursorLine
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link TabLine StatusLineNC
hi! link TabLineFill StatusLineNC
hi! link TabLineSel StatusLine
hi! link Terminal Normal
hi! link lCursor Cursor
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement
hi! link Define PreProc
hi! link Delimiter Special
hi! link Exception Statement
hi! link Float Constant
hi! link Function Identifier
hi! link Include PreProc
hi! link Keyword Statement
hi! link Label Statement
hi! link Macro PreProc
hi! link Number Constant
hi! link Operator Statement
hi! link PreCondit PreProc
hi! link Repeat Statement
hi! link SpecialChar Special
hi! link SpecialComment Special
hi! link StorageClass Type
hi! link String Constant
hi! link Structure Type
hi! link Tag Special
hi! link Typedef Type
hi! link Terminal Normal
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi DiffAdd ctermfg=118 ctermbg=237 cterm=reverse
hi DiffChange ctermfg=147 ctermbg=237 cterm=reverse
hi DiffText ctermfg=189 ctermbg=237 cterm=reverse
hi DiffDelete ctermfg=205 ctermbg=237 cterm=reverse
unlet s:t_Co
finish
endif
if s:t_Co >= 16
hi Normal ctermfg=white ctermbg=black cterm=NONE
hi EndOfBuffer ctermfg=blue ctermbg=black cterm=NONE
hi NonText ctermfg=darkgray ctermbg=black cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=green ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=white ctermbg=NONE cterm=underline
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
hi StatusLine ctermfg=white ctermbg=black cterm=reverse
hi StatusLineNC ctermfg=darkgray ctermbg=gray cterm=reverse
hi Pmenu ctermfg=black ctermbg=white cterm=NONE
hi PmenuSbar ctermfg=gray ctermbg=gray cterm=NONE
hi PmenuSel ctermfg=white ctermbg=blue cterm=NONE
hi PmenuThumb ctermfg=darkgray ctermbg=darkgray cterm=NONE
hi PmenuExtra ctermfg=darkgray ctermbg=white cterm=NONE
hi! link PmenuExtraSel PmenuSel
hi PmenuKind ctermfg=darkgray ctermbg=white cterm=NONE
hi! link PmenuKindSel PmenuSel
hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=NONE ctermbg=blue cterm=NONE
hi WildMenu ctermfg=white ctermbg=blue cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor ctermfg=black ctermbg=yellow cterm=NONE
hi CursorIM ctermfg=black ctermbg=yellow cterm=NONE
hi Error ctermfg=red ctermbg=white cterm=reverse
hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkyellow ctermbg=black cterm=reverse
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=reverse
hi LineNr ctermfg=blue ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
hi ModeMsg ctermfg=black ctermbg=green cterm=NONE
hi MoreMsg ctermfg=cyan ctermbg=NONE cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=magenta ctermbg=black cterm=reverse
hi Search ctermfg=cyan ctermbg=black cterm=reverse
hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgray ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=darkgray cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=blue ctermbg=NONE cterm=NONE
hi Visual ctermfg=black ctermbg=darkcyan cterm=NONE
hi VisualNOS ctermfg=black ctermbg=white cterm=NONE
hi WarningMsg ctermfg=magenta ctermbg=NONE cterm=NONE
hi debugBreakpoint ctermfg=green ctermbg=darkblue cterm=reverse
hi debugPC ctermfg=cyan ctermbg=darkblue cterm=reverse
hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
hi Constant ctermfg=yellow ctermbg=NONE cterm=NONE
hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
hi Ignore ctermfg=darkgray ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Special ctermfg=green ctermbg=NONE cterm=NONE
hi Statement ctermfg=magenta ctermbg=NONE cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type ctermfg=red ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi! link CurSearch IncSearch
hi! link CursorLineFold CursorLine
hi! link CursorLineNr CursorLine
hi! link CursorLineSign CursorLine
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link TabLine StatusLineNC
hi! link TabLineFill StatusLineNC
hi! link TabLineSel StatusLine
hi! link Terminal Normal
hi! link lCursor Cursor
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement
hi! link Define PreProc
hi! link Delimiter Special
hi! link Exception Statement
hi! link Float Constant
hi! link Function Identifier
hi! link Include PreProc
hi! link Keyword Statement
hi! link Label Statement
hi! link Macro PreProc
hi! link Number Constant
hi! link Operator Statement
hi! link PreCondit PreProc
hi! link Repeat Statement
hi! link SpecialChar Special
hi! link SpecialComment Special
hi! link StorageClass Type
hi! link String Constant
hi! link Structure Type
hi! link Tag Special
hi! link Typedef Type
hi! link Terminal Normal
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi DiffAdd ctermfg=darkgreen ctermbg=white cterm=reverse
hi DiffChange ctermfg=darkblue ctermbg=white cterm=reverse
hi DiffText ctermfg=grey ctermbg=black cterm=reverse
hi DiffDelete ctermfg=darkmagenta ctermbg=white cterm=reverse
unlet s:t_Co
finish
endif
if s:t_Co >= 8
hi Normal ctermfg=gray ctermbg=black cterm=NONE
hi EndOfBuffer ctermfg=blue ctermbg=black cterm=NONE
hi NonText ctermfg=darkgray ctermbg=black cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=green ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=white ctermbg=NONE cterm=underline
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
hi StatusLine ctermfg=white ctermbg=black cterm=reverse
hi StatusLineNC ctermfg=darkgray ctermbg=gray cterm=bold,reverse
hi Pmenu ctermfg=black ctermbg=white cterm=NONE
hi PmenuSbar ctermfg=white ctermbg=white cterm=NONE
hi PmenuSel ctermfg=white ctermbg=blue cterm=NONE
hi PmenuThumb ctermfg=blue ctermbg=blue cterm=NONE
hi! link PmenuExtra Pmenu
hi! link PmenuExtraSel PmenuSel
hi! link PmenuKind Pmenu
hi! link PmenuKindSel PmenuSel
hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=NONE ctermbg=blue cterm=NONE
hi WildMenu ctermfg=white ctermbg=blue cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor ctermfg=black ctermbg=yellow cterm=NONE
hi CursorIM ctermfg=black ctermbg=yellow cterm=NONE
hi Error ctermfg=red ctermbg=white cterm=reverse
hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkyellow ctermbg=black cterm=reverse
hi IncSearch ctermfg=darkyellow ctermbg=black cterm=reverse
hi LineNr ctermfg=blue ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
hi ModeMsg ctermfg=black ctermbg=green cterm=NONE
hi MoreMsg ctermfg=cyan ctermbg=NONE cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=magenta ctermbg=black cterm=reverse
hi Search ctermfg=cyan ctermbg=black cterm=reverse
hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgray ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=darkgray cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=blue ctermbg=NONE cterm=NONE
hi Visual ctermfg=black ctermbg=darkcyan cterm=NONE
hi VisualNOS ctermfg=black ctermbg=white cterm=NONE
hi WarningMsg ctermfg=magenta ctermbg=NONE cterm=NONE
hi debugBreakpoint ctermfg=green ctermbg=darkblue cterm=reverse
hi debugPC ctermfg=cyan ctermbg=darkblue cterm=reverse
hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
hi Title ctermfg=NONE ctermbg=NONE cterm=NONE
hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
hi Constant ctermfg=yellow ctermbg=NONE cterm=NONE
hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
hi Ignore ctermfg=darkgray ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Special ctermfg=green ctermbg=NONE cterm=NONE
hi Statement ctermfg=magenta ctermbg=NONE cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type ctermfg=red ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi! link CurSearch IncSearch
hi! link CursorLineFold CursorLine
hi! link CursorLineNr CursorLine
hi! link CursorLineSign CursorLine
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link TabLine StatusLineNC
hi! link TabLineFill StatusLineNC
hi! link TabLineSel StatusLine
hi! link Terminal Normal
hi! link lCursor Cursor
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement
hi! link Define PreProc
hi! link Delimiter Special
hi! link Exception Statement
hi! link Float Constant
hi! link Function Identifier
hi! link Include PreProc
hi! link Keyword Statement
hi! link Label Statement
hi! link Macro PreProc
hi! link Number Constant
hi! link Operator Statement
hi! link PreCondit PreProc
hi! link Repeat Statement
hi! link SpecialChar Special
hi! link SpecialComment Special
hi! link StorageClass Type
hi! link String Constant
hi! link Structure Type
hi! link Tag Special
hi! link Typedef Type
hi! link Terminal Normal
hi! link MessageWindow Pmenu
hi! link PopupNotification Todo
hi DiffAdd ctermfg=darkgreen ctermbg=white cterm=reverse
hi DiffChange ctermfg=darkblue ctermbg=white cterm=reverse
hi DiffText ctermfg=grey ctermbg=black cterm=reverse
hi DiffDelete ctermfg=darkmagenta ctermbg=white cterm=reverse
unlet s:t_Co
finish
endif
if s:t_Co >= 0
hi Normal term=NONE
hi ColorColumn term=reverse
hi Conceal term=NONE
hi Cursor term=reverse
hi CursorColumn term=NONE
hi CursorLine term=underline
hi CursorLineNr term=bold
hi DiffAdd term=reverse
hi DiffChange term=NONE
hi DiffDelete term=reverse
hi DiffText term=reverse
hi Directory term=NONE
hi EndOfBuffer term=NONE
hi ErrorMsg term=bold,reverse
hi FoldColumn term=NONE
hi Folded term=NONE
hi IncSearch term=bold,reverse,underline
hi LineNr term=NONE
hi MatchParen term=bold,underline
hi ModeMsg term=bold
hi MoreMsg term=NONE
hi NonText term=NONE
hi Pmenu term=reverse
hi PmenuSbar term=reverse
hi PmenuSel term=bold
hi PmenuThumb term=NONE
hi Question term=standout
hi Search term=reverse
hi SignColumn term=reverse
hi SpecialKey term=bold
hi SpellBad term=underline
hi SpellCap term=underline
hi SpellLocal term=underline
hi SpellRare term=underline
hi StatusLine term=bold,reverse
hi StatusLineNC term=bold,underline
hi TabLine term=bold,underline
hi TabLineFill term=NONE
hi Terminal term=NONE
hi TabLineSel term=bold,reverse
hi Title term=NONE
hi VertSplit term=NONE
hi Visual term=reverse
hi VisualNOS term=NONE
hi WarningMsg term=standout
hi WildMenu term=bold
hi CursorIM term=NONE
hi ToolbarLine term=reverse
hi ToolbarButton term=bold,reverse
hi CurSearch term=reverse
hi CursorLineFold term=underline
hi CursorLineSign term=underline
hi Comment term=bold
hi Constant term=NONE
hi Error term=bold,reverse
hi Identifier term=NONE
hi Ignore term=NONE
hi PreProc term=NONE
hi Special term=NONE
hi Statement term=NONE
hi Todo term=bold,reverse
hi Type term=NONE
hi Underlined term=underline
unlet s:t_Co
finish
endif
" Background: dark
" Color: background #0e0024 16 black
" Color: darkred #510039 52 darkred
" Color: darkgreen #5faf00 70 darkgreen
" Color: darkyellow #ffaf00 214 darkyellow
" Color: darkblue #5f00d7 56 darkblue
" Color: darkmagenta #d700ff 165 darkmagenta
" Color: darkcyan #00afff 39 darkcyan
" Color: red #ff5faf 205 red
" Color: green #87ff00 118 green
" Color: yellow #ffff5f 227 yellow
" Color: blue #afafff 147 blue
" Color: magenta #ffafff 219 magenta
" Color: cyan #87ffff 123 cyan
" Color: white #ffffff 231 white
" Color: neutral1 #D7D5DB 189 gray
" Color: neutral2 #AFAAB6 146 gray
" Color: neutral3 #878092 103 darkgray
" Color: neutral4 #5E556D 60 darkgray
" Color: neutral5 #362B49 237 darkgray
" Color: error #d70000 160 red
" Color: visual #5FD7FF 81 darkcyan
" Color: Xdarkred #d7005f ~
" Color: Xdarkgreen #00af5f ~
" Color: Xdarkblue #5f5fff ~
" Color: Xdarkwhite #d7d7d7 ~
" Color: Xgrey #878787 ~
" Color: Xbrightgreen #00d700 ~
" Color: Xbrightyellow #ffd700 ~
" Color: Xbrightblue #8787ff ~
" Color: Xbrightmagenta #ff87ff ~
" Color: Xbrightcyan #00ffff ~
" Term colors: background
" Term colors: Xdarkred
" Term colors: Xdarkgreen
" Term colors: darkyellow
" Term colors: Xdarkblue
" Term colors: darkmagenta
" Term colors: darkcyan
" Term colors: neutral1
" Term colors: neutral3
" Term colors: red
" Term colors: Xbrightgreen
" Term colors: Xbrightyellow
" Term colors: Xbrightblue
" Term colors: Xbrightmagenta
" Term colors: Xbrightcyan
" Term colors: white
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" Color: bgDiffC8 #5F87AF 67 darkblue
" Color: bgDiffD8 #AF5FAF 133 darkmagenta
" vim: et ts=2 sw=2

View File

@@ -1,7 +1,7 @@
" The default vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last change: 2022 Mar 03
" Last change: 2023 May 10
"
" This is loaded if no vimrc file was found.
" Except when Vim is run with "-u NONE" or "-C".
@@ -120,7 +120,7 @@ if 1
au!
autocmd CmdwinEnter *
\ echohl Todo |
\ echo 'You discovered the command-line window! You can close it with ":q".' |
\ echo gettext('You discovered the command-line window! You can close it with ":q".') |
\ echohl None
augroup END

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 9.0. Last change: 2022 Dec 12
*autocmd.txt* For Vim version 9.0. Last change: 2023 May 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -64,7 +64,7 @@ Example in Vim9 script: >
In legacy script: >
call autocmd_add(#{replace: v:true,
\ group: 'DemoGroup',
\ event: 'BufEnter',
\ event: 'BufEnter',
\ pattern: '*.txt',
\ cmd: 'call DemoBufEnter()'
\ })
@@ -398,7 +398,7 @@ Name triggered by ~
|InsertEnter| starting Insert mode
|InsertChange| when typing <Insert> while in Insert or Replace mode
|InsertLeave| when leaving Insert mode
|InsertLeavePre| just before leaving Insert mode
|InsertLeavePre| just before leaving Insert mode
|InsertCharPre| when a character was typed in Insert mode, before
inserting it
@@ -611,9 +611,11 @@ CmdlineEnter After moving the cursor to the command line,
where the user can type a command or search
string; including non-interactive use of ":"
in a mapping, but not when using |<Cmd>|.
The pattern is matched against the character
representing the type of command-line.
|cmdwin-char|
<afile> is set to a single character,
indicating the type of command-line.
|cmdwin-char|
*CmdlineLeave*
CmdlineLeave Before leaving the command line; including
non-interactive use of ":" in a mapping, but
@@ -1015,6 +1017,9 @@ OptionSet After setting an option. The pattern is
the option. Similarly |v:option_oldglobal| is
only set when |:set| or |:setglobal| was used.
This does not set |<abuf>|, you could use
|bufnr()|.
Note that when setting a |global-local| string
option with |:set|, then |v:option_old| is the
old global value. However, for all other kinds

View File

@@ -1,4 +1,4 @@
*builtin.txt* For Vim version 9.0. Last change: 2023 Jan 17
*builtin.txt* For Vim version 9.0. Last change: 2023 Jun 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -81,8 +81,10 @@ bufnr([{buf} [, {create}]]) Number Number of the buffer {buf}
bufwinid({buf}) Number window ID of buffer {buf}
bufwinnr({buf}) Number window number of buffer {buf}
byte2line({byte}) Number line number at byte count {byte}
byteidx({expr}, {nr}) Number byte index of {nr}'th char in {expr}
byteidxcomp({expr}, {nr}) Number byte index of {nr}'th char in {expr}
byteidx({expr}, {nr} [, {utf16}])
Number byte index of {nr}'th char in {expr}
byteidxcomp({expr}, {nr} [, {utf16}])
Number byte index of {nr}'th char in {expr}
call({func}, {arglist} [, {dict}])
any call {func} with arguments {arglist}
ceil({expr}) Float round {expr} up
@@ -117,7 +119,7 @@ changenr() Number current change number
char2nr({expr} [, {utf8}]) Number ASCII/UTF-8 value of first char in {expr}
charclass({string}) Number character class of {string}
charcol({expr} [, {winid}]) Number column number of cursor or mark
charidx({string}, {idx} [, {countcc}])
charidx({string}, {idx} [, {countcc} [, {utf16}]])
Number char index of byte {idx} in {string}
chdir({dir}) String change current working directory
cindent({lnum}) Number C indent for line {lnum}
@@ -266,7 +268,7 @@ gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
gettagstack([{nr}]) Dict get the tag stack of window {nr}
gettext({text}) String lookup translation of {text}
getwininfo([{winid}]) List list of info about each window
getwinpos([{timeout}]) List X and Y coord in pixels of the Vim window
getwinpos([{timeout}]) List X and Y coord in pixels of Vim window
getwinposx() Number X coord in pixels of the Vim window
getwinposy() Number Y coord in pixels of the Vim window
getwinvar({nr}, {varname} [, {def}])
@@ -382,7 +384,7 @@ matchstrpos({expr}, {pat} [, {start} [, {count}]])
max({expr}) Number maximum value of items in {expr}
menu_info({name} [, {mode}]) Dict get menu item information
min({expr}) Number minimum value of items in {expr}
mkdir({name} [, {path} [, {prot}]])
mkdir({name} [, {flags} [, {prot}]])
Number create directory {name}
mode([expr]) String current editing mode
mzeval({expr}) any evaluate |MzScheme| expression
@@ -482,7 +484,8 @@ rename({from}, {to}) Number rename (move) file from {from} to {to}
repeat({expr}, {count}) List/Blob/String
repeat {expr} {count} times
resolve({filename}) String get filename a shortcut points to
reverse({list}) List reverse {list} in-place
reverse({obj}) List/Blob/String
reverse {obj}
round({expr}) Float round off {expr}
rubyeval({expr}) any evaluate |Ruby| expression
screenattr({row}, {col}) Number attribute at screen position
@@ -604,6 +607,8 @@ strptime({format}, {timestring})
strridx({haystack}, {needle} [, {start}])
Number last index of {needle} in {haystack}
strtrans({expr}) String translate string to make it printable
strutf16len({string} [, {countcc}])
Number number of UTF-16 code units in {string}
strwidth({expr}) Number display cell length of the String {expr}
submatch({nr} [, {list}]) String or List
specific match in ":s" or substitute()
@@ -704,6 +709,8 @@ undofile({name}) String undo file name for {name}
undotree() List undo file tree
uniq({list} [, {func} [, {dict}]])
List remove adjacent duplicates from a list
utf16idx({string}, {idx} [, {countcc} [, {charidx}]])
Number UTF-16 index of byte {idx} in {string}
values({dict}) List values in {dict}
virtcol({expr} [, {list}]) Number or List
screen column of cursor or mark
@@ -1363,7 +1370,7 @@ byte2line({byte}) *byte2line()*
< {not available when compiled without the |+byte_offset|
feature}
byteidx({expr}, {nr}) *byteidx()*
byteidx({expr}, {nr} [, {utf16}]) *byteidx()*
Return byte index of the {nr}'th character in the String
{expr}. Use zero for the first character, it then returns
zero.
@@ -1373,6 +1380,13 @@ byteidx({expr}, {nr}) *byteidx()*
length is added to the preceding base character. See
|byteidxcomp()| below for counting composing characters
separately.
When {utf16} is present and TRUE, {nr} is used as the UTF-16
index in the String {expr} instead of as the character index.
The UTF-16 index is the index in the string when it is encoded
with 16-bit words. If the specified UTF-16 index is in the
middle of a character (e.g. in a 4-byte character), then the
byte index of the first byte in the character is returned.
Refer to |string-offset-encoding| for more information.
Example : >
echo matchstr(str, ".", byteidx(str, 3))
< will display the fourth character. Another way to do the
@@ -1384,11 +1398,17 @@ byteidx({expr}, {nr}) *byteidx()*
If there are less than {nr} characters -1 is returned.
If there are exactly {nr} characters the length of the string
in bytes is returned.
See |charidx()| and |utf16idx()| for getting the character and
UTF-16 index respectively from the byte index.
Examples: >
echo byteidx('a😊😊', 2) returns 5
echo byteidx('a😊😊', 2, 1) returns 1
echo byteidx('a😊😊', 3, 1) returns 5
<
Can also be used as a |method|: >
GetName()->byteidx(idx)
byteidxcomp({expr}, {nr}) *byteidxcomp()*
byteidxcomp({expr}, {nr} [, {utf16}]) *byteidxcomp()*
Like byteidx(), except that a composing character is counted
as a separate character. Example: >
let s = 'e' .. nr2char(0x301)
@@ -1493,27 +1513,38 @@ charcol({expr} [, {winid}]) *charcol()*
GetPos()->col()
<
*charidx()*
charidx({string}, {idx} [, {countcc}])
charidx({string}, {idx} [, {countcc} [, {utf16}]])
Return the character index of the byte at {idx} in {string}.
The index of the first character is zero.
If there are no multibyte characters the returned value is
equal to {idx}.
When {countcc} is omitted or |FALSE|, then composing characters
are not counted separately, their byte length is
added to the preceding base character.
are not counted separately, their byte length is added to the
preceding base character.
When {countcc} is |TRUE|, then composing characters are
counted as separate characters.
Returns -1 if the arguments are invalid or if {idx} is greater
than the index of the last byte in {string}. An error is
given if the first argument is not a string, the second
argument is not a number or when the third argument is present
and is not zero or one.
When {utf16} is present and TRUE, {idx} is used as the UTF-16
index in the String {expr} instead of as the byte index.
Returns -1 if the arguments are invalid or if there are less
than {idx} bytes. If there are exactly {idx} bytes the length
of the string in characters is returned.
An error is given and -1 is returned if the first argument is
not a string, the second argument is not a number or when the
third argument is present and is not zero or one.
See |byteidx()| and |byteidxcomp()| for getting the byte index
from the character index.
from the character index and |utf16idx()| for getting the
UTF-16 index from the character index.
Refer to |string-offset-encoding| for more information.
Examples: >
echo charidx('áb́ć', 3) returns 1
echo charidx('áb́ć', 6, 1) returns 4
echo charidx('áb́ć', 16) returns -1
echo charidx('a😊😊', 4, 0, 1) returns 2
<
Can also be used as a |method|: >
GetName()->charidx(idx)
@@ -1563,7 +1594,7 @@ clearmatches([{win}]) *clearmatches()*
Can also be used as a |method|: >
GetWin()->clearmatches()
<
col({expr} [, {winid}) *col()*
col({expr} [, {winid}]) *col()*
The result is a Number, which is the byte index of the column
position given with {expr}. The accepted positions are:
. the cursor position
@@ -1626,7 +1657,7 @@ complete({startcol}, {matches}) *complete()* *E785*
Example: >
inoremap <F5> <C-R>=ListMonths()<CR>
func! ListMonths()
func ListMonths()
call complete(col('.'), ['January', 'February', 'March',
\ 'April', 'May', 'June', 'July', 'August', 'September',
\ 'October', 'November', 'December'])
@@ -1891,7 +1922,7 @@ cursor({list})
This is like the return value of |getpos()| or |getcurpos()|,
but without the first item.
To position the cursor using the character count, use
To position the cursor using {col} as the character count, use
|setcursorcharpos()|.
Does not change the jumplist.
@@ -2231,11 +2262,12 @@ execute({command} [, {silent}]) *execute()*
string.
{command} can be a string or a List. In case of a List the
lines are executed one by one.
This is equivalent to: >
This is more or less equivalent to: >
redir => var
{command}
redir END
<
< Except that line continuation in {command} is not recognized.
The optional {silent} argument can have these values:
"" no `:silent` used
"silent" `:silent` used
@@ -2246,7 +2278,7 @@ execute({command} [, {silent}]) *execute()*
*E930*
It is not possible to use `:redir` anywhere in {command}.
To get a list of lines use |split()| on the result: >
To get a list of lines use `split()` on the result: >
execute('args')->split("\n")
< To execute a command in another window than the current one
@@ -2569,8 +2601,7 @@ extend({expr1}, {expr2} [, {expr3}]) *extend()*
extendnew({expr1}, {expr2} [, {expr3}]) *extendnew()*
Like |extend()| but instead of adding items to {expr1} a new
List or Dictionary is created and returned. {expr1} remains
unchanged. Items can still be changed by {expr2}, if you
don't want that use |deepcopy()| first.
unchanged.
feedkeys({string} [, {mode}]) *feedkeys()*
@@ -2995,7 +3026,7 @@ funcref({name} [, {arglist}] [, {dict}])
Can also be used as a |method|: >
GetFuncname()->funcref([arg])
<
*function()* *partial* *E700* *E922* *E923*
*function()* *partial* *E700* *E923*
function({name} [, {arglist}] [, {dict}])
Return a |Funcref| variable that refers to function {name}.
{name} can be the name of a user defined function or an
@@ -4116,7 +4147,7 @@ getregtype([{regname}]) *getregtype()*
Can also be used as a |method|: >
GetRegname()->getregtype()
getscriptinfo([{opts}) *getscriptinfo()*
getscriptinfo([{opts}]) *getscriptinfo()*
Returns a |List| with information about all the sourced Vim
scripts in the order they were sourced, like what
`:scriptnames` shows.
@@ -4125,7 +4156,7 @@ getscriptinfo([{opts}) *getscriptinfo()*
optional items:
name Script name match pattern. If specified,
and "sid" is not specified, information about
scripts with name that match the pattern
scripts with a name that match the pattern
"name" are returned.
sid Script ID |<SID>|. If specified, only
information about the script with ID "sid" is
@@ -5667,7 +5698,7 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
"!" Insert and Commandline mode
(|mapmode-ic|)
"sid" The script local ID, used for <sid> mappings
(|<SID>|).
(|<SID>|). Negative for special contexts.
"scriptversion" The version of the script. 999999 for
|Vim9| script.
"lnum" The line number in "sid", zero if unknown.
@@ -6261,17 +6292,20 @@ min({expr}) Return the minimum value of all items in {expr}. Example: >
mylist->min()
< *mkdir()* *E739*
mkdir({name} [, {path} [, {prot}]])
mkdir({name} [, {flags} [, {prot}]])
Create directory {name}.
If {path} contains "p" then intermediate directories are
created as necessary. Otherwise it must be "".
When {flags} is present it must be a string. An empty string
has no effect.
If {path} contains "D" then {name} is deleted at the end of
If {flags} contains "p" then intermediate directories are
created as necessary.
If {flags} contains "D" then {name} is deleted at the end of
the current function, as with: >
defer delete({name}, 'd')
<
If {path} contains "R" then {name} is deleted recursively at
If {flags} contains "R" then {name} is deleted recursively at
the end of the current function, as with: >
defer delete({name}, 'rf')
< Note that when {name} has more than one part and "p" is used
@@ -6735,17 +6769,20 @@ prompt_setcallback({buf}, {expr}) *prompt_setcallback()*
that was entered at the prompt. This can be an empty string
if the user only typed Enter.
Example: >
call prompt_setcallback(bufnr(), function('s:TextEntered'))
func s:TextEntered(text)
if a:text == 'exit' || a:text == 'quit'
stopinsert
" Reset 'modified' to allow the buffer to be closed.
" We assume there is nothing useful to be saved.
set nomodified
close
else
" Do something useful with "a:text". In this example
" we just repeat it.
call append(line('$') - 1, 'Entered: "' .. a:text .. '"')
" Reset 'modified' to allow the buffer to be closed.
set nomodified
endif
endfunc
call prompt_setcallback(bufnr(), function('s:TextEntered'))
< Can also be used as a |method|: >
GetBuffer()->prompt_setcallback(callback)
@@ -7099,7 +7136,7 @@ reltime({start})
reltime({start}, {end}) *reltime()*
Return an item that represents a time value. The item is a
list with items that depend on the system. In Vim 9 script
list<any> can be used.
the type list<any> can be used.
The item can be passed to |reltimestr()| to convert it to a
string or |reltimefloat()| to convert to a Float. For
example, to see the time spent in function Work(): >
@@ -7148,7 +7185,8 @@ reltimestr({time}) *reltimestr()*
call MyFunction()
echo reltimestr(reltime(start))
< Note that overhead for the commands will be added to the time.
The accuracy depends on the system.
The accuracy depends on the system. Use reltimefloat() for the
greatest accuracy which is nanoseconds on some systems.
Leading spaces are used to make the string align nicely. You
can use split() to remove it. >
echo split(reltimestr(reltime(start)))[0]
@@ -7280,8 +7318,9 @@ remote_send({server}, {string} [, {idvar}])
<
*remote_startserver()* *E941* *E942*
remote_startserver({name})
Become the server {name}. This fails if already running as a
server, when |v:servername| is not empty.
Become the server {name}. {name} must be a non-empty string.
This fails if already running as a server, when |v:servername|
is not empty.
Can also be used as a |method|: >
ServerName()->remote_startserver()
@@ -7371,11 +7410,13 @@ resolve({filename}) *resolve()* *E655*
GetName()->resolve()
reverse({object}) *reverse()*
Reverse the order of items in {object} in-place.
{object} can be a |List| or a |Blob|.
Returns {object}.
Returns zero if {object} is not a List or a Blob.
If you want an object to remain unmodified make a copy first: >
Reverse the order of items in {object}. {object} can be a
|List|, a |Blob| or a |String|. For a List and a Blob the
items are reversed in-place and {object} is returned.
For a String a new String is returned.
Returns zero if {object} is not a List, Blob or a String.
If you want a List or Blob to remain unmodified make a copy
first: >
:let revlist = reverse(copy(mylist))
< Can also be used as a |method|: >
mylist->reverse()
@@ -7958,7 +7999,7 @@ setcellwidths({list}) *setcellwidths()*
terminal, counted in screen cells. The values override
'ambiwidth'. Example: >
call setcellwidths([
\ [0x111, 0x111, 1],
\ [0x111, 0x111, 1],
\ [0x2194, 0x2199, 2],
\ ])
@@ -7972,7 +8013,7 @@ setcellwidths({list}) *setcellwidths()*
{width} must be either 1 or 2, indicating the character width
in screen cells. *E1112*
An error is given if the argument is invalid, also when a
range overlaps with another. *E1113*
range overlaps with another. *E1113*
If the new value causes 'fillchars' or 'listchars' to become
invalid it is rejected and an error is given.
@@ -8639,8 +8680,9 @@ sort({list} [, {how} [, {dict}]]) *sort()* *E702*
When {how} is given and it is 'n' then all items will be
sorted numerical (Implementation detail: this uses the
strtod() function to parse numbers, Strings, Lists, Dicts and
Funcrefs will be considered as being 0).
strtod() function to parse numbers. Strings, Lists, Dicts and
Funcrefs will be considered as being 0). Note that this won't
sort a list of strings with numbers!
When {how} is given and it is 'N' then all items will be
sorted numerical. This is like 'n' but a string containing
@@ -9239,6 +9281,28 @@ strtrans({string}) *strtrans()*
Can also be used as a |method|: >
GetString()->strtrans()
strutf16len({string} [, {countcc}]) *strutf16len()*
The result is a Number, which is the number of UTF-16 code
units in String {string} (after converting it to UTF-16).
When {countcc} is TRUE, composing characters are counted
separately.
When {countcc} is omitted or FALSE, composing characters are
ignored.
Returns zero on error.
Also see |strlen()| and |strcharlen()|.
Examples: >
echo strutf16len('a') returns 1
echo strutf16len('©') returns 1
echo strutf16len('😊') returns 2
echo strutf16len('ą́') returns 1
echo strutf16len('ą́', v:true) returns 3
Can also be used as a |method|: >
GetText()->strutf16len()
<
strwidth({string}) *strwidth()*
The result is a Number, which is the number of display cells
String {string} occupies. A Tab character is counted as one
@@ -9808,6 +9872,8 @@ timer_start({time}, {callback} [, {options}])
{time} is the waiting time in milliseconds. This is the
minimum time before invoking the callback. When the system is
busy or Vim is not waiting for input the time will be longer.
Zero can be used to execute the callback when Vim is back in
the main loop.
{callback} is the function to call. It can be the name of a
function or a |Funcref|. It is called with one argument, which
@@ -10052,6 +10118,38 @@ uniq({list} [, {func} [, {dict}]]) *uniq()* *E882*
Can also be used as a |method|: >
mylist->uniq()
<
*utf16idx()*
utf16idx({string}, {idx} [, {countcc} [, {charidx}]])
Same as |charidx()| but returns the UTF-16 code unit index of
the byte at {idx} in {string} (after converting it to UTF-16).
When {charidx} is present and TRUE, {idx} is used as the
character index in the String {string} instead of as the byte
index.
An {idx} in the middle of a UTF-8 sequence is rounded
downwards to the beginning of that sequence.
Returns -1 if the arguments are invalid or if there are less
than {idx} bytes in {string}. If there are exactly {idx} bytes
the length of the string in UTF-16 code units is returned.
See |byteidx()| and |byteidxcomp()| for getting the byte index
from the UTF-16 index and |charidx()| for getting the
character index from the UTF-16 index.
Refer to |string-offset-encoding| for more information.
Examples: >
echo utf16idx('a😊😊', 3) returns 2
echo utf16idx('a😊😊', 7) returns 4
echo utf16idx('a😊😊', 1, 0, 1) returns 2
echo utf16idx('a😊😊', 2, 0, 1) returns 4
echo utf16idx('aą́c', 6) returns 2
echo utf16idx('aą́c', 6, 1) returns 4
echo utf16idx('a😊😊', 9) returns -1
<
Can also be used as a |method|: >
GetName()->utf16idx(idx)
values({dict}) *values()*
Return a |List| with all the values of {dict}. The |List| is
@@ -10170,7 +10268,7 @@ win_execute({id}, {command} [, {silent}]) *win_execute()*
The window will temporarily be made the current window,
without triggering autocommands or changing directory. When
executing {command} autocommands will be triggered, this may
have unexpected side effects. Use |:noautocmd| if needed.
have unexpected side effects. Use `:noautocmd` if needed.
Example: >
call win_execute(winid, 'set syntax=python')
< Doing the same with `setwinvar()` would not trigger
@@ -10551,7 +10649,7 @@ writefile({object}, {fname} [, {flags}])
<
'D' Delete the file when the current function ends. This
works like: >
:defer delete({fname})
:defer delete({fname})
< Fails when not in a function. Also see |:defer|.
's' fsync() is called after writing the file. This flushes
@@ -10748,6 +10846,7 @@ persistent_undo Compiled with support for persistent undo history.
postscript Compiled with PostScript file printing.
printer Compiled with |:hardcopy| support.
profile Compiled with |:profile| support.
prof_nsec Profile results are in nanoseconds.
python Python 2.x interface available. |has-python|
python_compiled Compiled with Python 2.x interface. |has-python|
python_dynamic Python 2.x interface is dynamically loaded. |has-python|

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 9.0. Last change: 2022 Nov 20
*change.txt* For Vim version 9.0. Last change: 2023 Mar 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -296,7 +296,9 @@ gr{char} Replace the virtual characters under the cursor with
{char}. This replaces in screen space, not file
space. See |gR| and |Virtual-Replace-mode| for more
details. As with |r| a count may be given.
{char} can be entered like with |r|.
{char} can be entered like with |r|, but characters
that have a special meaning in Insert mode, such as
most CTRL-keys, cannot be used.
*digraph-arg*
The argument for Normal mode commands like |r| and |t| is a single character.
@@ -453,6 +455,12 @@ Note similarly, when 'nrformats' includes "bin", binary numbers with a leading
'0x' or '0X' can be interpreted as hexadecimal rather than binary since '0b'
are valid hexadecimal digits.
When the number under the cursor is too big to fit into 32 or 64 bit
(depending on how Vim was build), it will be rounded off to the nearest number
that can be represented, and the addition/subtraction is skipped. E.g. with
64 bit support using CTRL-X on 18446744073709551616 results in
18446744073709551615. Same for larger numbers, such as 18446744073709551618.
The CTRL-A command is very useful in a macro. Example: Use the following
steps to make a numbered list.
@@ -1033,7 +1041,7 @@ inside of strings can change! Also see 'softtabstop' option. >
< to display registers '1' and 'a'. Spaces are allowed
in {arg}.
*:di* *:display*
*:di* *:dis* *:display*
:di[splay] [arg] Same as :registers.
*y* *yank*

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 9.0. Last change: 2022 Nov 11
*cmdline.txt* For Vim version 9.0. Last change: 2023 May 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -617,6 +617,7 @@ followed by another Vim command:
:read !
:scscope
:sign
:tabdo
:tcl
:tcldo
:tclfile
@@ -961,9 +962,10 @@ Note: these are typed literally, they are not special keys!
write. *E495*
*:<abuf>* *<abuf>*
<abuf> When executing autocommands, is replaced with the currently
effective buffer number (for ":r file" and ":so file" it is
the current buffer, the file being read/sourced is not in a
buffer). *E496*
effective buffer number. It is not set for all events,
also see |bufnr()|. For ":r file" and ":so file" it is the
current buffer, the file being read/sourced is not in a
buffer. *E496*
*:<amatch>* *<amatch>*
<amatch> When executing autocommands, is replaced with the match for
which this autocommand was executed. *E497*

View File

@@ -1,4 +1,4 @@
*diff.txt* For Vim version 9.0. Last change: 2023 Jan 21
*diff.txt* For Vim version 9.0. Last change: 2023 Apr 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -109,6 +109,7 @@ While already in Vim you can start diff mode in three ways.
accidentally being patched. But it may still result in
various ".rej" files to be created. And when absolute path
names are present these files may get patched anyway.
Using the "patch" command is not allowed in |restricted-mode|.
To make these commands use a vertical split, prepend |:vertical|. Examples: >
@@ -181,7 +182,7 @@ possible to view the changes you have made to a buffer since the file was
loaded. Since Vim doesn't allow having two buffers for the same file, you
need another buffer. This command is useful: >
command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_
\ | diffthis | wincmd p | diffthis
\ | diffthis | wincmd p | diffthis
(this is in |defaults.vim|). Use ":DiffOrig" to see the differences between
the current buffer and the file it was loaded from.

View File

@@ -1,4 +1,4 @@
*digraph.txt* For Vim version 9.0. Last change: 2022 Nov 22
*digraph.txt* For Vim version 9.0. Last change: 2023 Mar 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -547,7 +547,7 @@ char digraph hex dec official name ~
Θ H* 0398 0920 GREEK CAPITAL LETTER THETA
Ι I* 0399 0921 GREEK CAPITAL LETTER IOTA
Κ K* 039A 0922 GREEK CAPITAL LETTER KAPPA
Λ L* 039B 0923 GREEK CAPITAL LETTER LAMDA
Λ L* 039B 0923 GREEK CAPITAL LETTER LAMDA (aka LAMBDA)
Μ M* 039C 0924 GREEK CAPITAL LETTER MU
Ν N* 039D 0925 GREEK CAPITAL LETTER NU
Ξ C* 039E 0926 GREEK CAPITAL LETTER XI
@@ -578,7 +578,7 @@ char digraph hex dec official name ~
θ h* 03B8 0952 GREEK SMALL LETTER THETA
ι i* 03B9 0953 GREEK SMALL LETTER IOTA
κ k* 03BA 0954 GREEK SMALL LETTER KAPPA
λ l* 03BB 0955 GREEK SMALL LETTER LAMDA
λ l* 03BB 0955 GREEK SMALL LETTER LAMDA (aka LAMBDA)
μ m* 03BC 0956 GREEK SMALL LETTER MU
ν n* 03BD 0957 GREEK SMALL LETTER NU
ξ c* 03BE 0958 GREEK SMALL LETTER XI

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 9.0. Last change: 2022 Nov 02
*editing.txt* For Vim version 9.0. Last change: 2023 Apr 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1533,9 +1533,10 @@ To disable the encryption, reset the 'key' option to an empty value: >
You can use the 'cryptmethod' option to select the type of encryption, use one
of these: >
:setlocal cm=zip " weak method, backwards compatible
:setlocal cm=blowfish " method with flaws
:setlocal cm=blowfish2 " medium strong method
:setlocal cm=zip " weak method, backwards compatible
:setlocal cm=blowfish " method with flaws, do not use
:setlocal cm=blowfish2 " medium strong method
:setlocal cm=xchacha20v2 " medium strong method using libsodium
Do this before writing the file. When reading an encrypted file it will be
set automatically to the method used when that file was written. You can

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 9.0. Last change: 2023 Jan 12
*eval.txt* For Vim version 9.0. Last change: 2023 Jun 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1372,7 +1372,7 @@ Note that the dot is also used for String concatenation. To avoid confusion
always put spaces around the dot for String concatenation.
expr10(expr1, ...) |Funcref| function call *E1085*
expr10(expr1, ...) |Funcref| function call *E1085*
When expr10 is a |Funcref| type variable, invoke the function it refers to.
@@ -1580,6 +1580,33 @@ Examples: >
echo $"The square root of {{9}} is {sqrt(9)}"
< The square root of {9} is 3.0 ~
*string-offset-encoding*
A string consists of multiple characters. How the characters are stored
depends on 'encoding'. Most common is UTF-8, which uses one byte for ASCII
characters, two bytes for other latin characters and more bytes for other
characters.
A string offset can count characters or bytes. Other programs may use
UTF-16 encoding (16-bit words) and an offset of UTF-16 words. Some functions
use byte offsets, usually for UTF-8 encoding. Other functions use character
offsets, in which case the encoding doesn't matter.
The different offsets for the string "a©😊" are below:
UTF-8 offsets:
[0]: 61, [1]: C2, [2]: A9, [3]: F0, [4]: 9F, [5]: 98, [6]: 8A
UTF-16 offsets:
[0]: 0061, [1]: 00A9, [2]: D83D, [3]: DE0A
UTF-32 (character) offsets:
[0]: 00000061, [1]: 000000A9, [2]: 0001F60A
You can use the "g8" and "ga" commands on a character to see the
decimal/hex/octal values.
The functions |byteidx()|, |utf16idx()| and |charidx()| can be used to convert
between these indices. The functions |strlen()|, |strutf16len()| and
|strcharlen()| return the number of bytes, UTF-16 code units and characters in
a string respectively.
option *expr-option* *E112* *E113*
------
@@ -1654,7 +1681,7 @@ See below |functions|.
lambda expression *expr-lambda* *lambda*
-----------------
{args -> expr1} legacy lambda expression *E451*
{args -> expr1} legacy lambda expression *E451*
(args) => expr1 |Vim9| lambda expression
A lambda expression creates a new unnamed function which returns the result of
@@ -1788,6 +1815,8 @@ b:changedtick The total number of changes to the current buffer. It is
: call My_Update()
:endif
< You cannot change or delete the b:changedtick variable.
If you need more information about the change see
|listener_add()|.
*window-variable* *w:var* *w:*
A variable name that is preceded with "w:" is local to the current window. It
@@ -3062,7 +3091,7 @@ text...
let mylist = [1, 2, 3]
lockvar 0 mylist
let mylist[0] = 77 " OK
call add(mylist, 4] " OK
call add(mylist, 4) " OK
let mylist = [7, 8, 9] " Error!
< *E743*
For unlimited depth use [!] and omit [depth].
@@ -4581,31 +4610,21 @@ The input is in the variable "line", the results in the variables "file",
getting the scriptnames in a Dictionary ~
*scriptnames-dictionary*
The |:scriptnames| command can be used to get a list of all script files that
have been sourced. There is no equivalent function or variable for this
(because it's rarely needed). In case you need to manipulate the list this
code can be used: >
" Get the output of ":scriptnames" in the scriptnames_output variable.
let scriptnames_output = ''
redir => scriptnames_output
silent scriptnames
redir END
The `:scriptnames` command can be used to get a list of all script files that
have been sourced. There is also the `getscriptinfo()` function, but the
information returned is not exactly the same. In case you need to manipulate
the list, this code can be used as a base: >
" Split the output into lines and parse each line. Add an entry to the
" "scripts" dictionary.
let scripts = {}
for line in split(scriptnames_output, "\n")
" Only do non-blank lines.
if line =~ '\S'
" Get the first number in the line.
let nr = matchstr(line, '\d\+')
" Get the file name, remove the script number " 123: ".
let name = substitute(line, '.\+:\s*', '', '')
" Add an item to the Dictionary
let scripts[nr] = name
endif
endfor
unlet scriptnames_output
# Create or update scripts dictionary, indexed by SNR, and return it.
def Scripts(scripts: dict<string> = {}): dict<string>
for info in getscriptinfo()
if scripts->has_key(info.sid)
continue
endif
scripts[info.sid] = info.name
endfor
return scripts
enddef
==============================================================================
10. Vim script versions *vimscript-version* *vimscript-versions*

View File

@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 9.0. Last change: 2022 Apr 09
*filetype.txt* For Vim version 9.0. Last change: 2023 Apr 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -164,6 +164,7 @@ variables can be used to overrule the filetype used for certain extensions:
*.sys g:filetype_sys
*.sh g:bash_is_sh |ft-sh-syntax|
*.tex g:tex_flavor |ft-tex-plugin|
*.typ g:filetype_typ
*.w g:filetype_w |ft-cweb-syntax|
For a few filetypes the global variable is used only when the filetype could
@@ -659,8 +660,8 @@ page in a Vim window: >
MANPAGER *manpager.vim*
The |:Man| command allows you to turn Vim into a manpager (that syntax highlights
manpages and follows linked manpages on hitting CTRL-]).
The |:Man| command allows you to turn Vim into a manpager (that syntax
highlights manpages and follows linked manpages on hitting CTRL-]).
For bash,zsh,ksh or dash, add to the config file (.bashrc,.zshrc, ...)
@@ -679,7 +680,10 @@ MARKDOWN *ft-markdown-plugin*
To enable folding use this: >
let g:markdown_folding = 1
<
'expandtab' will be set by default. If you do not want that use this: >
let g:markdown_recommended_style = 0
PDF *ft-pdf-plugin*

View File

@@ -1,4 +1,4 @@
*fold.txt* For Vim version 9.0. Last change: 2023 Jan 29
*fold.txt* For Vim version 9.0. Last change: 2023 Mar 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -353,7 +353,8 @@ zC Close all folds under the cursor recursively. Folds that
'foldenable' will be set.
*za*
za When on a closed fold: open it. When folds are nested, you
za Summary: Toggle the fold under the cursor.
When on a closed fold: open it. When folds are nested, you
may have to use "za" several times. When a count is given,
that many closed folds are opened.
When on an open fold: close it and set 'foldenable'. This

View File

@@ -1,4 +1,4 @@
*gui.txt* For Vim version 9.0. Last change: 2022 Nov 17
*gui.txt* For Vim version 9.0. Last change: 2023 Apr 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -95,11 +95,11 @@ terminal version.
Recommended place for your personal GUI initializations:
Unix $HOME/.gvimrc or $HOME/.vim/gvimrc
Win32 $HOME/_gvimrc, $HOME/vimfiles/gvimrc
Win32 $HOME/_gvimrc, $HOME/vimfiles/gvimrc
or $VIM/_gvimrc
Amiga s:.gvimrc, home:.gvimrc, home:vimfiles:gvimrc
or $VIM/.gvimrc
Haiku $HOME/config/settings/vim/gvimrc
Haiku $HOME/config/settings/vim/gvimrc
The personal initialization files are searched in the order specified above
and only the first one that is found is read.
@@ -144,7 +144,7 @@ task bar with the 'guiheadroom' option.
remembered until the window is opened. The position is
adjusted to make the window fit on the screen (if possible).
*:win* *:winsize* *E465*
*:wi* *:win* *:winsize* *E465*
:win[size] {width} {height}
Set the window height to {width} by {height} characters.
It is recommended to use `:set lines=11 columns=22` instead,
@@ -856,7 +856,7 @@ Example for debugger tools: >
nnoremenu 1.20 WinBar.Next :Next<CR>
nnoremenu 1.30 WinBar.Finish :Finish<CR>
nnoremenu 1.40 WinBar.Cont :Continue<CR>
<
< *hl-ToolbarLine* *hl-ToolbarButton*
The window toolbar uses the ToolbarLine and ToolbarButton highlight groups.
When splitting the window the window toolbar is not copied to the new window.
@@ -1181,7 +1181,7 @@ When 'guifont' is set and a valid font is found in it and 'guifontwide' is
empty Vim will attempt to find a matching double-width font and set
'guifontwide' to it.
GTK+ GUI only: *guifontwide_gtk*
GTK+ GUI only: *guifontwide_gtk*
If set and valid, 'guifontwide' is always used for double width characters,
even if 'encoding' is not set to "utf-8".
@@ -1226,10 +1226,9 @@ This section describes other features which are related to the GUI.
like this to set options specifically for each type of GUI: >
if has("gui_running")
if has("gui_gtk2")
if has("gui_gtk")
:set guifont=Luxi\ Mono\ 12
elseif has("x11")
" Also for GTK 1
:set guifont=*-lucidatypewriter-medium-r-normal-*-*-180-*-*-m-*-*
elseif has("gui_win32")
:set guifont=Luxi_Mono:h12:cANSI

View File

@@ -17,7 +17,7 @@ Vim's Win32 Graphical User Interface *gui-w32* *win32-gui*
Other relevant documentation:
|gui.txt| For generic items of the GUI.
|os_win32.txt| For Win32 specific items.
|os_win32.txt| For Win32 specific items.
==============================================================================

View File

@@ -101,7 +101,7 @@ Help on help files *helphelp*
find a tag in a file with the same language as the
current file. See |help-translated|.
*:helpc* *:helpclose*
*:helpc* *:helpclose*
:helpc[lose] Close one help window, if there is one.
Vim will try to restore the window layout (including
cursor position) to the same layout it was before

View File

@@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 9.0. Last change: 2022 Mar 13
*if_perl.txt* For Vim version 9.0. Last change: 2023 May 14
VIM REFERENCE MANUAL by Sven Verdoolaege
@@ -254,23 +254,14 @@ $main::curbuf
*script-here*
When using a script language in-line, you might want to skip this when the
language isn't supported. But this mechanism doesn't work: >
language isn't supported. >
if has('perl')
perl << EOF
this will NOT work!
print 'perl works'
EOF
endif
Instead, put the Perl/Python/Ruby/etc. command in a function and call that
function: >
if has('perl')
function DefPerl()
perl << EOF
this works
EOF
endfunction
call DefPerl()
endif
Note that "EOF" must be at the start of the line.
Note that "EOF" must be at the start of the line without preceding white
space.
==============================================================================
4. Dynamic loading *perl-dynamic*

View File

@@ -857,7 +857,7 @@ You can test what Python version is available with: >
if has('python')
echo 'there is Python 2.x'
endif
if has('python3')
if has('python3')
echo 'there is Python 3.x'
endif
@@ -874,7 +874,7 @@ python support: >
echo 'Python 2.x dynamically loaded'
endif
endif
if has('python3_compiled')
if has('python3_compiled')
echo 'compiled with Python 3.x support'
if has('python3_dynamic')
echo 'Python 3.x dynamically loaded'

View File

@@ -236,7 +236,7 @@ tag char note action in Normal mode ~
|CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode (no-op)
|CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
CTRL-\ a - z reserved for extensions
CTRL-\ others not used
CTRL-\ others not used
|CTRL-]| CTRL-] :ta to ident under cursor
|CTRL-^| CTRL-^ edit Nth alternate file (equivalent to
":e #N")
@@ -247,7 +247,7 @@ tag char note action in Normal mode ~
2 filter Nmove text through the {filter}
command
|!!| !!{filter} 2 filter N lines through the {filter} command
|quote| "{register} use {register} for next delete, yank or put
|quote| "{register} use {register} for next delete, yank or put
({.%#:} only work with put)
|#| # 1 search backward for the Nth occurrence of
the ident under the cursor

View File

@@ -877,7 +877,7 @@ Groß): >
func Thesaur(findstart, base)
if a:findstart
return searchpos('\<', 'bnW', line('.'))[1] - 1
return searchpos('\<', 'bnW', line('.'))[1] - 1
endif
let res = []
let h = ''
@@ -1118,8 +1118,8 @@ cursor column will be replaced with the matches. If the returned value is
larger than the cursor column, the cursor column is used.
Negative return values:
-2 To cancel silently and stay in completion mode.
-3 To cancel silently and leave completion mode.
-2 To cancel silently and stay in completion mode.
-3 To cancel silently and leave completion mode.
Another negative value: completion starts at the cursor column
On the second invocation the arguments are:
@@ -1176,7 +1176,7 @@ items:
item with the same word is already present.
empty when non-zero this match will be added even when it is
an empty string
user_data custom data which is associated with the item and
user_data custom data which is associated with the item and
available in |v:completed_item|; it can be any type;
defaults to an empty string

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 9.0. Last change: 2023 Jan 09
*map.txt* For Vim version 9.0. Last change: 2023 May 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -400,7 +400,7 @@ Note:
- The command is not echo'ed, no need for <silent>.
- The {rhs} is not subject to abbreviations nor to other mappings, even if the
mapping is recursive.
- In Visual mode you can use `line('v')` and `col('v')` to get one end of the
- In Visual mode you can use `line('v')` and `col('v')` to get one end of the
Visual area, the cursor is at the other end.
*E1255* *E1136*
@@ -408,10 +408,6 @@ Note:
by <CR> in the {rhs} of the mapping definition. |Command-line| mode is never
entered.
*E1137*
<Cmd> and <ScriptCmd> commands can have only normal characters and cannot
contain special characters like function keys.
1.3 MAPPING AND MODES *:map-modes*
*mapmode-nvo* *mapmode-n* *mapmode-v* *mapmode-o*
@@ -845,7 +841,7 @@ option). After that it assumes that the 'q' is to be interpreted as such. If
you type slowly, or your system is slow, reset the 'timeout' option. Then you
might want to set the 'ttimeout' option.
*map-precedence*
*map-precedence*
Buffer-local mappings (defined using |:map-<buffer>|) take precedence over
global mappings. When a buffer-local mapping is the same as a global mapping,
Vim will use the buffer-local mapping. In addition, Vim will use a complete
@@ -923,6 +919,11 @@ in the original Vi, you would get back the text before the first undo).
1.10 MAPPING ALT-KEYS *:map-alt-keys*
For a readable mapping command the <A-k> form can be used. Note that <A-k>
and <A-K> are different, the latter will use an upper case letter. Actually,
<A-K> and <A-S-K> are the same. Instead of "A" you can use "M". If you have
an actual Meta modifier key, please see |:map-meta-keys|.
In the GUI Vim handles the Alt key itself, thus mapping keys with ALT should
always work. But in a terminal Vim gets a sequence of bytes and has to figure
out whether ALT was pressed or not.
@@ -1028,7 +1029,7 @@ enabled when it spots an escape sequence that must have been created by it.
To see if Vim detected such an escape sequence use `:verbose map`, the first
line will then show "Seen modifyOtherKeys: true" (possibly translated).
This automatic detection depends on receiving an escape code starting with
This automatic detection depends on receiving an escape code starting with
"<1b>[27;". This is the normal way xterm sends these key codes. However, if
the *formatOtherKeys* resource is set another form is used that is not
recognized, therefore you must not set formatOtherKeys.
@@ -1068,8 +1069,8 @@ translated). The meaning of {value}:
On protocol is used
Disabled protocol was used but expected to have been disabled
by 't_TE'
Cleared protocol expected to have beeen disabled by 't_TE',
previous state is unknown
Cleared protocol expected to have been disabled by 't_TE',
previous state is unknown
1.14 MAPPING AN OPERATOR *:map-operator*
@@ -1212,7 +1213,7 @@ non-id The "non-id" type ends in a non-keyword character, the other
Examples of strings that cannot be abbreviations: "a.b", "#def", "a b", "_$r"
An abbreviation is only recognized when you type a non-keyword character.
This can also be the <Esc> that ends insert mode or the <CR> that ends a
This can also be the <Esc> that ends Insert mode or the <CR> that ends a
command. The non-keyword character which ends the abbreviation is inserted
after the expanded abbreviation. An exception to this is the character <C-]>,
which is used to expand an abbreviation without inserting any extra
@@ -1416,12 +1417,13 @@ this, they can be made local to the script.
*<SID>* *<SNR>* *E81*
The string "<SID>" can be used in a mapping or menu. This requires that the
'<' flag is not present in 'cpoptions'.
'<' flag is not present in 'cpoptions'. This is useful if you have a
script-local function that you want to call from a mapping in the same script.
When executing the map command, Vim will replace "<SID>" with the special
key code <SNR>, followed by a number that's unique for the script, and an
underscore. Example: >
:map <SID>Add
could define a mapping "<SNR>23_Add".
would define a mapping "<SNR>23_Add".
When defining a function in a script, "s:" can be prepended to the name to
make it local to the script (in |Vim9| script functions without a prefix are
@@ -1560,6 +1562,11 @@ can have arguments, or have a range specified. Arguments are subject to
completion as filenames, buffers, etc. Exactly how this works depends upon the
command's attributes, which are specified when the command is defined.
When defining a user command in a script, it will be able to call functions
local to the script and use mappings local to the script. When the user
invokes the user command, it will run in the context of the script it was
defined in. This matters if |<SID>| is used in a command.
There are a number of attributes, split into four categories: argument
handling, completion behavior, range handling, and special cases. The
attributes are described below, by category.
@@ -1723,7 +1730,7 @@ by default correspond to the current line, last line and the whole buffer,
relate to arguments, (loaded) buffers, windows or tab pages.
Possible values are (second column is the short name used in listing):
-addr=lines Range of lines (this is the default for -range)
-addr=lines Range of lines (this is the default for -range)
-addr=arguments arg Range for arguments
-addr=buffers buf Range for buffers (also not loaded buffers)
-addr=loaded_buffers load Range for loaded buffers
@@ -1775,6 +1782,11 @@ functions cannot be used. Commands where a "|" may appear in the argument,
such as commands with an expression argument, cannot be followed by a "|" and
another command.
If the command is defined in Vim9 script (a script that starts with
`:vim9script` and in a `:def` function) then {repl} will be executed as in Vim9
script. Thus this depends on where the command is defined, not where it is
used.
The replacement text {repl} for a user defined command is scanned for special
escape sequences, using <...> notation. Escape sequences are replaced with
values from the entered command line, and all other text is copied unchanged.
@@ -1861,8 +1873,14 @@ remains unmodified. Also see |f-args-example| below. Overview:
XX a\\\ b 'a\ b'
XX a\\\\b 'a\\b'
XX a\\\\ b 'a\\', 'b'
XX [nothing]
Note that if the "no arguments" situation is to be handled, you have to make
sure that the function can be called without arguments. For a compiled
function you might want to use variable arguments, see
|vim9-variable-arguments|.
Examples for user commands: >
" Delete everything after here to the end
@@ -1909,14 +1927,5 @@ errors and the "update" command to write modified buffers): >
This will invoke: >
:call Allargs("%s/foo/bar/ge|update")
<
If the command is defined in Vim9 script (a script that starts with
`:vim9script` and in a `:def` function) then {repl} will be executed as in Vim9
script. Thus this depends on where the command is defined, not where it is
used.
When defining a user command in a script, it will be able to call functions
local to the script and use mappings local to the script. When the user
invokes the user command, it will run in the context of the script it was
defined in. This matters if |<SID>| is used in a command.
vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*message.txt* For Vim version 9.0. Last change: 2022 Oct 18
*message.txt* For Vim version 9.0. Last change: 2023 May 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -76,9 +76,9 @@ See `:messages` above.
LIST OF MESSAGES
*E222* *E228* *E232* *E293* *E298* *E304* *E317*
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
*E323* *E341* *E473* *E570* *E685* *E292*
*E222* *E228* *E232* *E292* *E293* *E298* *E304* *E316*
*E317* *E318* *E320* *E322* *E323* *E341* *E356* *E438*
*E439* *E440* *E473* *E570*
Add to read buffer ~
makemap: Illegal mode ~
Cannot create BalloonEval with both message and callback ~
@@ -99,9 +99,9 @@ LIST OF MESSAGES
Internal error in regexp ~
fatal error in cs_manage_matches ~
Invalid count for del_bytes(): {N} ~
*E340* *E685* *internal-error*
This is an internal error. If you can reproduce it, please send in a bug
report. |bugs|
report, see |bugs|.
ATTENTION ~

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 9.0. Last change: 2023 Feb 01
*options.txt* For Vim version 9.0. Last change: 2023 Jun 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -925,6 +925,9 @@ A jump table for the options with a short description can be found at |Q_op|.
'autowriteall' for that.
Some buffers will not be written, specifically when 'buftype' is
"nowrite", "nofile", "terminal" or "prompt".
USE WITH CARE: If you make temporary changes to a buffer that you
don't want to be saved this option may cause it to be saved anyway.
Renaming the buffer with ":file {name}" may help avoid this.
*'autowriteall'* *'awa'* *'noautowriteall'* *'noawa'*
'autowriteall' 'awa' boolean (default off)
@@ -1547,7 +1550,7 @@ A jump table for the options with a short description can be found at |Q_op|.
case mapping, the current locale is not effective.
This probably only matters for Turkish.
*'cdhome'* *'cdh'*
*'cdhome'* *'cdh'* *'nocdhome'* *'nocdh'*
'cdhome' 'cdh' boolean (default: off)
global
When on, |:cd|, |:tcd| and |:lcd| without an argument changes the
@@ -1810,7 +1813,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The screen column can be an absolute number, or a number preceded with
'+' or '-', which is added to or subtracted from 'textwidth'. >
:set cc=+1 " highlight column after 'textwidth'
:set cc=+1 " highlight column after 'textwidth'
:set cc=+1,+2,+3 " highlight three columns after 'textwidth'
:hi ColorColumn ctermbg=lightgrey guibg=lightgrey
<
@@ -2511,12 +2514,14 @@ A jump table for the options with a short description can be found at |Q_op|.
*pkzip*
zip PkZip compatible method. A weak kind of encryption.
Backwards compatible with Vim 7.2 and older.
Only use if you need to be backwards compatible.
*blowfish*
blowfish Blowfish method. Medium strong encryption but it has
an implementation flaw. Requires Vim 7.3 or later,
files can NOT be read by Vim 7.2 and older. This adds
a "seed" to the file, every time you write the file
the encrypted bytes will be different.
Obsolete, please do no longer use.
*blowfish2*
blowfish2 Blowfish method. Medium strong encryption. Requires
Vim 7.4.401 or later, files can NOT be read by Vim 7.3
@@ -2538,11 +2543,21 @@ A jump table for the options with a short description can be found at |Q_op|.
enabled.
Encryption of undo files is not yet supported,
therefore no undo file will currently be written.
CURRENTLY EXPERIMENTAL: Files written with this method
CAREFUL: Files written with this method might have to
be read back with the same version of Vim if the
binary format changes later.
Obsolete, please do no longer use.
xchacha20v2 Same algorithm as with "xchacha20" that correctly
stores the key derivation parameters together with the
encrypted file. Should work better in case the
parameters in the libsodium library ever change.
STILL EXPERIMENTAL: Files written with this method
might have to be read back with the same version of
Vim if the binary format changes later.
You should use "blowfish2", also to re-encrypt older files.
You should use "blowfish2", also to re-encrypt older files. The
"xchacha20" method provides better encryption, but it does not work
with all versions of Vim.
When reading an encrypted file 'cryptmethod' will be set automatically
to the detected method of the file being read. Thus if you write it
@@ -4198,6 +4213,8 @@ A jump table for the options with a short description can be found at |Q_op|.
T:DiffText,>:SignColumn,-:Conceal,
B:SpellBad,P:SpellCap,R:SpellRare,
L:SpellLocal,+:Pmenu,=:PmenuSel,
[:PmenuKind,]:PmenuKindSel,
{:PmenuExtra,}:PmenuExtraSel,
x:PmenuSbar,X:PmenuThumb,*:TabLine,
#:TabLineSel,_:TabLineFill,!:CursorColumn,
.:CursorLine,o:ColorColumn,q:QuickFixLine,
@@ -4254,6 +4271,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|hl-SpellLocal| L word from other region |spell|
|hl-Pmenu| + popup menu normal line
|hl-PmenuSel| = popup menu selected line
|hl-PmenuKind| [ popup menu "kind" normal line
|hl-PmenuKindSel| ] popup menu "kind" selected line
|hl-PmenuExtra| { popup menu "kind" normal line
|hl-PmenuExtraSel| } popup menu "kind" selected line
|hl-PmenuSbar| x popup menu scrollbar
|hl-PmenuThumb| X popup menu scrollbar thumb
@@ -4911,7 +4932,7 @@ A jump table for the options with a short description can be found at |Q_op|.
< This means that when 'term' contains "kitty, "foot" or "wezterm"
somewhere then the "kitty" protocol is used. When 'term' contains
"xterm" somewhere, then the "mok2" protocol is used.
"xterm" somewhere, then the "mok2" protocol is used.
The first match is used, thus if you want to have "kitty" use the
kitty protocol, but "badkitty" not, then you should match "badkitty"
@@ -5665,7 +5686,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The 'mousemodel' option is set by the |:behave| command.
*'mousemoveevent'* *'mousemev'*
*'mousemoveevent'* *'mousemev'* *'nomousemoveevent'* *'nomousemev'*
'mousemoveevent' 'mousemev' boolean (default off)
global
{only works in the GUI}
@@ -7114,7 +7135,7 @@ A jump table for the options with a short description can be found at |Q_op|.
local to buffer
Number of spaces to use for each step of (auto)indent. Used for
|'cindent'|, |>>|, |<<|, etc.
When zero the 'ts' value will be used. Use the |shiftwidth()|
When zero the 'tabstop' value will be used. Use the |shiftwidth()|
function to get the effective shiftwidth value.
*'shortmess'* *'shm'*
@@ -7157,7 +7178,7 @@ A jump table for the options with a short description can be found at |Q_op|.
A don't give the "ATTENTION" message when an existing *shm-A*
swap file is found
I don't give the intro message when starting Vim, *shm-I*
see |:intro|
see |:intro|
c don't give |ins-completion-menu| messages; for *shm-c*
example, "-- XXX completion (YYY)", "match 1 of 2", "The only
match", "Pattern not found", "Back at original", etc.
@@ -7167,8 +7188,8 @@ A jump table for the options with a short description can be found at |Q_op|.
F don't give the file info when editing a file, like *shm-F*
`:silent` was used for the command; note that this also
affects messages from autocommands
S do not show search count message when searching, e.g. *shm-S*
"[1/5]"
S do not show search count message when searching, e.g. *shm-S*
"[1/5]"
This gives you the opportunity to avoid that a change between buffers
requires you to hit <Enter>, but still gives as useful a message as
@@ -7345,9 +7366,9 @@ A jump table for the options with a short description can be found at |Q_op|.
{not available when compiled without the |+signs|
feature}
Whether or not to draw the signcolumn. Valid values are:
"auto" only when there is a sign to display
"no" never
"yes" always
"auto" only when there is a sign to display
"no" never
"yes" always
"number" display signs in the 'number' column. If the number
column is not present, then behaves like "auto".
@@ -7413,6 +7434,8 @@ A jump table for the options with a short description can be found at |Q_op|.
line in the window wraps part of it may not be visible, as if it is
above the window. "<<<" is displayed at the start of the first line,
highlighted with |hl-NonText|.
You may also want to add "lastline" to the 'display' option to show as
much of the last line as possible.
NOTE: only partly implemented, currently works with CTRL-E, CTRL-Y
and scrolling with the mouse.
@@ -7651,11 +7674,12 @@ A jump table for the options with a short description can be found at |Q_op|.
global
When "on" the commands listed below move the cursor to the first
non-blank of the line. When off the cursor is kept in the same column
(if possible). This applies to the commands: CTRL-D, CTRL-U, CTRL-B,
CTRL-F, "G", "H", "M", "L", gg, and to the commands "d", "<<" and ">>"
with a linewise operator, with "%" with a count and to buffer changing
commands (CTRL-^, :bnext, :bNext, etc.). Also for an Ex command that
only has a line number, e.g., ":25" or ":+".
(if possible). This applies to the commands:
- CTRL-D, CTRL-U, CTRL-B, CTRL-F, "G", "H", "M", "L", "gg"
- "d", "<<" and ">>" with a linewise operator
- "%" with a count
- buffer changing commands (CTRL-^, :bnext, :bNext, etc.)
- Ex commands that only has a line number, e.g., ":25" or ":+".
In case of buffer changing commands the cursor is placed at the column
where it was the last time the buffer was edited.
NOTE: This option is set when 'compatible' is set.
@@ -7909,16 +7933,18 @@ A jump table for the options with a short description can be found at |Q_op|.
'switchbuf' 'swb' string (default "")
global
This option controls the behavior when switching between buffers.
Mostly for |quickfix| commands some values are also used for other
commands, as mentioned below.
This option is checked, when
- jumping to errors with the |quickfix| commands (|:cc|, |:cn|, |:cp|,
etc.)
- jumping to a tag using the |:stag| command.
- opening a file using the |CTRL-W_f| or |CTRL-W_F| command.
- jumping to a buffer using a buffer split command (e.g. |:sbuffer|,
|:sbnext|, or |:sbrewind|).
Possible values (comma-separated list):
useopen If included, jump to the first open window that
contains the specified buffer (if there is one).
Otherwise: Do not examine other windows.
This setting is checked with |quickfix| commands, when
jumping to errors (":cc", ":cn", "cp", etc.). It is
also used in all buffer related split commands, for
example ":sbuffer", ":sbnext", or ":sbrewind".
useopen If included, jump to the first open window in the
current tab page that contains the specified buffer
(if there is one). Otherwise: Do not examine other
windows.
usetab Like "useopen", but also consider windows in other tab
pages.
split If included, split the current window before loading
@@ -8020,13 +8046,25 @@ A jump table for the options with a short description can be found at |Q_op|.
(or 3 or whatever you prefer) and use 'noexpandtab'. Then Vim
will use a mix of tabs and spaces, but typing <Tab> and <BS> will
behave like a tab appears every 4 (or 3) characters.
2. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use
This is the recommended way, the file will look the same with other
tools and when listing it in a terminal.
2. Set 'softtabstop' and 'shiftwidth' to whatever you prefer and use
'expandtab'. This way you will always insert spaces. The
formatting will never be messed up when 'tabstop' is changed (leave
it at 8 just in case). The file will be a bit larger.
You do need to check if no Tabs exist in the file. You can get rid
of them by first setting 'expandtab' and using `%retab!`, making
sure the value of 'tabstop' is set correctly.
3. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use
'expandtab'. This way you will always insert spaces. The
formatting will never be messed up when 'tabstop' is changed.
3. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use a
You do need to check if no Tabs exist in the file, just like in the
item just above.
4. Set 'tabstop' and 'shiftwidth' to whatever you prefer and use a
|modeline| to set these values when editing the file again. Only
works when using Vim to edit the file.
4. Always set 'tabstop' and 'shiftwidth' to the same value, and
works when using Vim to edit the file, other tools assume a tabstop
is worth 8 spaces.
5. Always set 'tabstop' and 'shiftwidth' to the same value, and
'noexpandtab'. This should then work (for initial indents only)
for any tabstop setting that people use. It might be nice to have
tabs after the first non-blank inserted as spaces if you do this
@@ -8234,7 +8272,7 @@ A jump table for the options with a short description can be found at |Q_op|.
:set encoding=utf-8
< You need to do this when your system has no locale support for UTF-8.
*'termguicolors'* *'tgc'* *E954*
*'termguicolors'* *'tgc'* *'notermguicolors'* *'notgc'* *E954*
'termguicolors' 'tgc' boolean (default off)
global
{not available when compiled without the
@@ -8874,11 +8912,11 @@ A jump table for the options with a short description can be found at |Q_op|.
displayed when 'verbosefile' is set.
*'viewdir'* *'vdir'*
'viewdir' 'vdir' string (default for Amiga and Win32:
"$VIM/vimfiles/view",
for Unix: "~/.vim/view",
for macOS: "$VIM:vimfiles:view"
for VMS: "sys$login:vimfiles/view")
'viewdir' 'vdir' string (default for Amiga "home:vimfiles/view",
for Win32: "$HOME/vimfiles/view",
for Unix: "$HOME/.vim/view",
for macOS: "$VIM/vimfiles/view"
for VMS: "sys$login:vimfiles/view")
global
{not available when compiled without the |+mksession|
feature}

View File

@@ -10,7 +10,7 @@ This file contains the particulars for the z/OS UNIX version of Vim.
2. Putty and Colors |zOS-PuTTY|
3. Motif Problems |zOS-Motif|
4. Bugs |zOS-Bugs|
5. Limitations |zOS-limitations|
5. Limitations |zOS-limitations|
6. Open source on z/OS UNIX |zOS-open-source|
Contributors: ~
@@ -75,7 +75,7 @@ There is no solution for this yet.
this occurs in both the terminal and gui versions.
==============================================================================
5. Limitations *OS390-limitations* *zOS-limitations*
5. Limitations *OS390-limitations* *zOS-limitations*
- No binary search in tag files.
The program /bin/sort sorts by ASCII value by default. This program is

View File

@@ -203,7 +203,7 @@ You can check that everything is at the right place with the :version command.
Example LOGIN.COM: >
$ define/nolog VIM DKA0:[UTIL.VIM81]
$ define/nolog VIM DKA0:[UTIL.VIM81]
$ vi*m :== mcr VIM:VIM.EXE
$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40
$ set disp/create/node=192.168.10.202/trans=tcpip

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 9.0. Last change: 2022 Sep 24
*pattern.txt* For Vim version 9.0. Last change: 2023 Feb 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -101,6 +101,8 @@ g# Like "#", but don't put "\<" and "\>" around the word.
*gd*
gd Goto local Declaration. When the cursor is on a local
variable, this command will jump to its declaration.
This was made to work for C code, in other languages
it may not work well.
First Vim searches for the start of the current
function, just like "[[". If it is not found the
search stops in line 1. If it is found, Vim goes back
@@ -1142,21 +1144,21 @@ x A single character, with no special meaning, matches itself
are supported:
Name Func Contents ~
*[:alnum:]* [:alnum:] isalnum ASCII letters and digits
*[:alpha:]* [:alpha:] isalpha ASCII letters
*[:blank:]* [:blank:] space and tab
*[:cntrl:]* [:cntrl:] iscntrl ASCII control characters
*[:digit:]* [:digit:] decimal digits '0' to '9'
*[:alpha:]* [:alpha:] isalpha ASCII letters
*[:blank:]* [:blank:] space and tab
*[:cntrl:]* [:cntrl:] iscntrl ASCII control characters
*[:digit:]* [:digit:] decimal digits '0' to '9'
*[:graph:]* [:graph:] isgraph ASCII printable characters excluding
space
*[:lower:]* [:lower:] (1) lowercase letters (all letters when
'ignorecase' is used)
*[:print:]* [:print:] (2) printable characters including space
*[:print:]* [:print:] (2) printable characters including space
*[:punct:]* [:punct:] ispunct ASCII punctuation characters
*[:space:]* [:space:] whitespace characters: space, tab, CR,
*[:space:]* [:space:] whitespace characters: space, tab, CR,
NL, vertical tab, form feed
*[:upper:]* [:upper:] (3) uppercase letters (all letters when
'ignorecase' is used)
*[:xdigit:]* [:xdigit:] hexadecimal digits: 0-9, a-f, A-F
*[:xdigit:]* [:xdigit:] hexadecimal digits: 0-9, a-f, A-F
*[:return:]* [:return:] the <CR> character
*[:tab:]* [:tab:] the <Tab> character
*[:escape:]* [:escape:] the <Esc> character

View File

@@ -24,7 +24,7 @@ get the latest versions of scripts listed therein from http://vim.sf.net/.
==============================================================================
1. Contents *glvs-contents* *glvs* *getscript*
*GetLatestVimScripts*
*GetLatestVimScripts*
1. Contents........................................: |glvs-contents|
2. GetLatestVimScripts -- Getting Started..........: |glvs-install|
@@ -116,7 +116,7 @@ reflect the latest version of script(s) so downloaded.
==============================================================================
4. GetLatestVimScripts Data File *getscript-data* *glvs-data*
*:GetLatestVimScripts_dat*
*:GetLatestVimScripts_dat*
The data file <GetLatestVimScripts.dat> must have for its first two lines
the following text:
>
@@ -330,7 +330,7 @@ after/syntax/c.vim contained in it to overwrite a user's c.vim.
This variable holds the options to be used with the
g:GetLatestVimScripts_wget command.
>
g:GetLatestVimScripts_allowautoinstall
g:GetLatestVimScripts_allowautoinstall
< default= 1
This variable indicates whether GetLatestVimScripts is allowed
to attempt to automatically install scripts. Furthermore, the

View File

@@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 9.0. Last change: 2022 Apr 06
*pi_netrw.txt* For Vim version 9.0. Last change: 2023 May 14
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell
@@ -208,7 +208,7 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
http: g:netrw_http_cmd = "links" elseif links is available
http: g:netrw_http_cmd = "curl" elseif curl is available
http: g:netrw_http_cmd = "wget" elseif wget is available
http: g:netrw_http_cmd = "fetch" elseif fetch is available
http: g:netrw_http_cmd = "fetch" elseif fetch is available
http: *g:netrw_http_put_cmd* = "curl -T"
rcp: *g:netrw_rcp_cmd* = "rcp"
rsync: *g:netrw_rsync_cmd* = "rsync" (see |g:netrw_rsync_sep|)
@@ -1085,8 +1085,8 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
<c-tab> Shrink/expand a netrw/explore window |netrw-c-tab|
- Makes Netrw go up one directory |netrw--|
a Cycles between normal display, |netrw-a|
hiding (suppress display of files matching g:netrw_list_hide)
and showing (display only files which match g:netrw_list_hide)
hiding (suppress display of files matching g:netrw_list_hide)
and showing (display only files which match g:netrw_list_hide)
cd Make browsing directory the current directory |netrw-cd|
C Setting the editing window |netrw-C|
d Make a directory |netrw-d|
@@ -1118,7 +1118,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
mX Apply arbitrary shell command to marked files en bloc|netrw-mX|
mz Compress/decompress marked files |netrw-mz|
o Enter the file/directory under the cursor in a new |netrw-o|
browser window. A horizontal split is used.
browser window. A horizontal split is used.
O Obtain a file specified by cursor |netrw-O|
p Preview the file |netrw-p|
P Browse in the previously used window |netrw-P|
@@ -1134,7 +1134,7 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
u Change to recently-visited directory |netrw-u|
U Change to subsequently-visited directory |netrw-U|
v Enter the file/directory under the cursor in a new |netrw-v|
browser window. A vertical split is used.
browser window. A vertical split is used.
x View file with an associated program |netrw-x|
X Execute filename under cursor via |system()| |netrw-X|
@@ -2271,7 +2271,7 @@ Example:
...
MARKED FILES, ARBITRARY SHELL COMMAND, EN BLOC *netrw-mX* {{{2
MARKED FILES, ARBITRARY SHELL COMMAND, EN BLOC *netrw-mX* {{{2
(See |netrw-mf| and |netrw-mr| for how to mark files)
(uses the global marked-file list)
@@ -2620,7 +2620,7 @@ your browsing preferences. (see also: |netrw-settings|)
Used to change access permission for a file.
*g:netrw_clipboard* =1
By default, netrw will attempt to insure that
By default, netrw will attempt to insure that
the clipboard's values will remain unchanged.
However, some users report that they have
speed problems with this; consequently, this
@@ -2768,7 +2768,7 @@ your browsing preferences. (see also: |netrw-settings|)
escaped before applying glob()
*g:netrw_gx* ="<cfile>"
This option controls how gx (|netrw-gx|) picks
This option controls how gx (|netrw-gx|) picks
up the text under the cursor. See |expand()|
for possibilities.
@@ -2834,11 +2834,11 @@ your browsing preferences. (see also: |netrw-settings|)
directory (|netrw-mt|, |netrw-mc|)
*g:netrw_localcopycmdopt* ='' Linux/Unix/MacOS/Cygwin
=' \c copy' Windows
=' \c copy' Windows
Options for the |g:netrw_localcopycmd|
*g:netrw_localcopydircmd* ="cp" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows
=expand("$COMSPEC") Windows
Copies directories to target directory.
(|netrw-mc|, |netrw-mt|)
@@ -2864,17 +2864,13 @@ your browsing preferences. (see also: |netrw-settings|)
Options for |g:netrw_localmovecmd|
*g:netrw_localrmdir* ="rmdir" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows
=expand("$COMSPEC") Windows
Remove directory command (rmdir)
This variable is only used if your vim is
earlier than 7.4 or if your vim doesn't
have patch#1107. Otherwise, |delete()|
is used with the "d" option.
*g:netrw_localrmdiropt* ="" Linux/Unix/MacOS/Cygwin
=" /c rmdir" Windows
Options for |g:netrw_localrmdir|
*g:netrw_maxfilenamelen* =32 by default, selected so as to make long
listings fit on 80 column displays.
If your screen is wider, and you have file
@@ -2900,10 +2896,10 @@ your browsing preferences. (see also: |netrw-settings|)
(see |'ballooneval'|)
*g:netrw_sizestyle* not defined: actual bytes (default)
="b" : actual bytes (default)
="h" : human-readable (ex. 5k, 4m, 3g)
="b" : actual bytes (default)
="h" : human-readable (ex. 5k, 4m, 3g)
uses 1000 base
="H" : human-readable (ex. 5K, 4M, 3G)
="H" : human-readable (ex. 5K, 4M, 3G)
uses 1024 base
The long listing (|netrw-i|) and query-file
maps (|netrw-qf|) will display file size
@@ -2951,7 +2947,7 @@ your browsing preferences. (see also: |netrw-settings|)
default: "NETRWSERVER"
*g:netrw_sort_by* sort by "name", "time", "size", or
"exten".
"exten".
default: "name"
*g:netrw_sort_direction* sorting direction: "normal" or "reverse"
@@ -3008,7 +3004,7 @@ your browsing preferences. (see also: |netrw-settings|)
.vim/after/syntax/netrw.vim.
< The netrwGray highlighting is set up by
netrw when >
* netrwGray has not been previously
* netrwGray has not been previously
defined
* the gui is running
< As an example, I myself use a dark-background
@@ -3266,7 +3262,7 @@ If there are marked files: (see |netrw-mf|)
name, applying that substitute, and renaming each file to the result.
As an example : >
mr [query: reply with *.c]
mr [query: reply with *.c]
R [query: reply with s/^\(.*\)\.c$/\1.cpp/]
<
This example will mark all *.c files and then rename them to *.cpp
@@ -3275,7 +3271,7 @@ If there are marked files: (see |netrw-mf|)
The ctrl-X character has special meaning for renaming files: >
<c-x> : a single ctrl-x tells netrw to ignore the portion of the response
<c-x> : a single ctrl-x tells netrw to ignore the portion of the response
lying between the last '/' and the ctrl-x.
<c-x><c-x> : a pair of contiguous ctrl-x's tells netrw to ignore any
@@ -3843,7 +3839,7 @@ netrw:
Decho.vim is provided as a "vimball"; see |vimball-intro|. You
should edit the Decho.vba.gz file and source it in: >
vim Decho.vba.gz
vim Decho.vba.gz
:so %
:q
<
@@ -3885,7 +3881,7 @@ netrw:
To save the file: under linux, the output will be in a separate
remote server window; in it, just save the file with >
:w! DBG
:w! DBG
< Under a vim that doesn't support clientserver, your debugging
output will appear in another tab: >
@@ -3911,6 +3907,8 @@ netrw:
==============================================================================
12. History *netrw-history* {{{1
v172: Apr 22, 2023 * removed g:netrw_localrmdiropt
removed g:netrw_localrmdir
v171: Oct 09, 2020 * included code in s:NetrwOptionsSafe()
to allow |'bh'| to be set to delete when
rather than hide when g:netrw_fastbrowse
@@ -3995,8 +3993,10 @@ netrw:
Nov 09, 2016 * Broke apart the command from the options,
mostly for Windows. Introduced new netrw
settings: |g:netrw_localcopycmdopt|
|g:netrw_localcopydircmdopt| |g:netrw_localmkdiropt|
|g:netrw_localmovecmdopt| |g:netrw_localrmdiropt|
|g:netrw_localcopydircmdopt|
|g:netrw_localmkdiropt|
|g:netrw_localmovecmdopt|
g:netrw_localrmdiropt
Nov 21, 2016 * (mattn) provided a patch for preview; swapped
winwidth() with winheight()
Nov 22, 2016 * (glacambre) reported that files containing

View File

@@ -1,4 +1,4 @@
*pi_zip.txt* For Vim version 9.0. Last change: 2022 Oct 17
*pi_zip.txt* For Vim version 9.0. Last change: 2023 Mar 12
+====================+
| Zip File Interface |
@@ -102,6 +102,7 @@ Copyright: Copyright (C) 2005-2015 Charles E Campbell *zip-copyright*
==============================================================================
4. History *zip-history* {{{1
v33 Dec 07, 2021 * *.xlam mentioned twice in zipPlugin
v32 Oct 22, 2021 * to avoid an issue with a vim 8.2 patch, zipfile: has
been changed to zipfile:// . This often shows up
as zipfile:/// with zipped files that are root-based.

View File

@@ -770,7 +770,7 @@ The second argument of |popup_create()| is a dictionary with options:
cursorline TRUE: Highlight the cursor line. Also scrolls the
text to show this line (only works properly
when 'wrap' is off).
zero: Do not highlight the cursor line.
zero: Do not highlight the cursor line.
Default is zero, except for |popup_menu()|.
filter A callback that can filter typed characters, see
|popup-filter|.

View File

@@ -1277,7 +1277,7 @@ The .NET CLI compiler outputs both errors and warnings by default. The output
may be limited to include only errors, by setting the g:dotnet_errors_only
variable to |v:true|.
The associated project name is included in each error and warning. To supress
The associated project name is included in each error and warning. To suppress
the project name, set the g:dotnet_show_project_file variable to |v:false|.
Example: limit output to only display errors, and suppress the project name: >

View File

@@ -1,4 +1,4 @@
*recover.txt* For Vim version 9.0. Last change: 2020 Aug 15
*recover.txt* For Vim version 9.0. Last change: 2023 Apr 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -176,7 +176,7 @@ the recover command:
:rec[over]! [file] Like ":recover", but any changes in the current
buffer are lost.
*E312* *E309* *E310*
*E312* *E309* *E310* *E1364*
Vim has some intelligence about what to do if the swap file is corrupt in
some way. If Vim has doubt about what it found, it will give an error
message and insert lines with "???" in the text. If you see an error message

View File

@@ -64,7 +64,7 @@ The following command line arguments are available:
below). The name used will be uppercase.
*--remote-send*
--remote-send {keys} Send {keys} to server and exit. The {keys}
are not mapped. Special key names are
are not mapped. Special key names are
recognized, e.g., "<CR>" results in a CR
character.
*--remote-expr*

View File

@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 9.0. Last change: 2022 Sep 22
*repeat.txt* For Vim version 9.0. Last change: 2023 May 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -65,7 +65,7 @@ Using the underscore after `:d` avoids clobbering registers or the clipboard.
This also makes it faster.
Instead of the '/' which surrounds the {pattern}, you can use any other
single byte character, but not an alphabetic character, '\', '"' or '|'.
single byte character, but not an alphabetic character, '\', '"', '|' or '!'.
This is useful if you want to include a '/' in the search pattern or
replacement string.
@@ -267,7 +267,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
When [where] is omitted only 'runtimepath' is used.
Other values:
START search under "start" in 'packpath'
OPT search under "opt" in 'packpath'
OPT search under "opt" in 'packpath'
PACK search under "start" and "opt" in
'packpath'
ALL first use 'runtimepath', then search
@@ -308,8 +308,8 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
'runtimepath'.
If the filetype detection was not enabled yet (this
is usually done with a "syntax enable" or "filetype
on" command in your .vimrc file), this will also look
is usually done with a `syntax enable` or `filetype on`
command in your .vimrc file), this will also look
for "{name}/ftdetect/*.vim" files.
When the optional ! is added no plugin files or
@@ -423,6 +423,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
after resolving symbolic links got sourced with
another name the other script is after "->". E.g.
"20->22" means script 20 was sourced as script 22.
Also see `getscriptinfo()`.
{not available when compiled without the |+eval|
feature}
@@ -729,15 +730,15 @@ up-to-date easily, but it requires a program like "git" to be available.
You can do both, github can automatically create an archive for a release.
Your directory layout would be like this:
start/foobar/plugin/foo.vim " always loaded, defines commands
start/foobar/plugin/bar.vim " always loaded, defines commands
start/foobar/autoload/foo.vim " loaded when foo command used
start/foobar/doc/foo.txt " help for foo.vim
start/foobar/doc/tags " help tags
opt/fooextra/plugin/extra.vim " optional plugin, defines commands
opt/fooextra/autoload/extra.vim " loaded when extra command used
opt/fooextra/doc/extra.txt " help for extra.vim
opt/fooextra/doc/tags " help tags
start/foobar/plugin/foo.vim " always loaded, defines commands
start/foobar/plugin/bar.vim " always loaded, defines commands
start/foobar/autoload/foo.vim " loaded when foo command used
start/foobar/doc/foo.txt " help for foo.vim
start/foobar/doc/tags " help tags
opt/fooextra/plugin/extra.vim " optional plugin, defines commands
opt/fooextra/autoload/extra.vim " loaded when extra command used
opt/fooextra/doc/extra.txt " help for extra.vim
opt/fooextra/doc/tags " help tags
This allows for the user to do: >
mkdir ~/.vim/pack
@@ -1147,9 +1148,10 @@ long you take to respond to the input() prompt is irrelevant.
Profiling should give a good indication of where time is spent, but keep in
mind there are various things that may clobber the results:
- The accuracy of the time measured depends on the gettimeofday() system
function. It may only be as accurate as 1/100 second, even though the times
are displayed in micro seconds.
- The accuracy of the time measured depends on the gettimeofday(), or
clock_gettime if available, system function. The accuracy ranges from 1/100
second to nanoseconds. With clock_gettime the times are displayed in
nanoseconds, otherwise microseconds. You can use `has("prof_nsec")`.
- Real elapsed time is measured, if other processes are busy they may cause
delays at unpredictable moments. You may want to run the profiling several

View File

@@ -1,4 +1,4 @@
*sign.txt* For Vim version 9.0. Last change: 2022 Dec 20
*sign.txt* For Vim version 9.0. Last change: 2023 Feb 21
VIM REFERENCE MANUAL by Gordon Prieur
@@ -614,23 +614,23 @@ sign_placelist({list})
|sign_place()| function. The {list} argument specifies the
List of signs to place. Each list item is a dict with the
following sign attributes:
buffer buffer name or number. For the accepted
buffer Buffer name or number. For the accepted
values, see |bufname()|.
group sign group. {group} functions as a namespace
group Sign group. {group} functions as a namespace
for {id}, thus two groups can use the same
IDs. If not specified or set to an empty
string, then the global group is used. See
|sign-group| for more information.
id sign identifier. If not specified or zero,
id Sign identifier. If not specified or zero,
then a new unique identifier is allocated.
Otherwise the specified number is used. See
|sign-identifier| for more information.
lnum line number in the buffer where the sign is to
lnum Line number in the buffer where the sign is to
be placed. For the accepted values, see
|line()|.
name name of the sign to place. See |sign_define()|
for more information.
priority priority of the sign. When multiple signs are
name Name of the sign to place. See |sign_define()|
for more information.
priority Priority of the sign. When multiple signs are
placed on a line, the sign with the highest
priority is used. If not specified, the
default value of 10 is used. See

View File

@@ -1,4 +1,4 @@
*spell.txt* For Vim version 9.0. Last change: 2020 Aug 15
*spell.txt* For Vim version 9.0. Last change: 2023 May 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -122,7 +122,7 @@ zuG Undo |zW| and |zG|, remove the word from the internal
list, like with |zW|.
*:spellra* *:spellrare*
:[count]spellr[are] {word}
:[count]spellra[re] {word}
Add {word} as a rare word to 'spellfile', similar to
|zw|. Without count the first name is used, with
a count of two the second entry, etc.
@@ -135,7 +135,7 @@ zuG Undo |zW| and |zG|, remove the word from the internal
nnoremap z/ :exe ':spellrare! ' .. expand('<cWORD>')<CR>
< |:spellundo|, |zuw|, or |zuW| can be used to undo this.
:spellr[rare]! {word} Add {word} as a rare word to the internal word
:spellra[re]! {word} Add {word} as a rare word to the internal word
list, similar to |zW|.
:[count]spellu[ndo] {word} *:spellu* *:spellundo*
@@ -216,7 +216,8 @@ line may be postponed. Use |CTRL-L| when needed. Also see |set-spc-auto| for
how it can be set automatically when 'spelllang' is set.
The 'spelloptions' option has a few more flags that influence the way spell
checking works.
checking works. For example, "camel" splits CamelCased words so that each
part of the word is spell-checked separately.
Vim counts the number of times a good word is encountered. This is used to
sort the suggestions: words that have been seen before get a small bonus,

View File

@@ -1,4 +1,4 @@
*sponsor.txt* For Vim version 9.0. Last change: 2022 May 26
*sponsor.txt* For Vim version 9.0. Last change: 2023 Mar 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -58,7 +58,7 @@ But only if you enable this on your account page.
HOW TO SEND MONEY *send-money*
Credit card Through PayPal, see the PayPal site for information:
https://www.paypal.com/en_US/mrb/pal=XAC62PML3GF8Q
https://www.paypal.com/
The e-mail address for sending sponsorship money is:
donate@vim.org
The e-mail address for Vim registration is:

View File

@@ -1,4 +1,4 @@
*starting.txt* For Vim version 9.0. Last change: 2022 Nov 30
*starting.txt* For Vim version 9.0. Last change: 2023 May 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -792,9 +792,11 @@ accordingly. Vim proceeds in this order:
2. Process the arguments
The options and file names from the command that start Vim are
inspected. Buffers are created for all files (but not loaded yet).
inspected.
The |-V| argument can be used to display or log what happens next,
useful for debugging the initializations.
The |--cmd| arguments are executed.
Buffers are created for all files (but not loaded yet).
3. Execute Ex commands, from environment variables and/or files
An environment variable is read as one Ex command line, where multiple

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 9.0. Last change: 2022 Dec 26
*syntax.txt* For Vim version 9.0. Last change: 2023 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1307,18 +1307,32 @@ When not set 4 is used.
DOSBATCH *dosbatch.vim* *ft-dosbatch-syntax*
There is one option with highlighting DOS batch files. This covers new
extensions to the Command Interpreter introduced with Windows 2000 and
is controlled by the variable dosbatch_cmdextversion. For Windows NT
this should have the value 1, and for Windows 2000 it should be 2.
Select the set of Windows Command interpreter extensions that should be
supported with the variable dosbatch_cmdextversion. For versions of Windows
NT (before Windows 2000) this should have the value of 1. For Windows 2000
and later it should be 2.
Select the version you want with the following line: >
:let dosbatch_cmdextversion = 1
If this variable is not defined it defaults to a value of 2 to support
Windows 2000.
Windows 2000 and later.
A second option covers whether *.btm files should be detected as type
The original MS-DOS supports an idiom of using a double colon (::) as an
alternative way to enter a comment line. This idiom can be used with the
current Windows Command Interpreter, but it can lead to problems when used
inside ( ... ) command blocks. You can find a discussion about this on
Stack Overflow -
https://stackoverflow.com/questions/12407800/which-comment-style-should-i-use-in-batch-files
To allow the use of the :: idiom for comments in the Windows Command
Interpreter or working with MS-DOS bat files, set the
dosbatch_colons_comment variable to anything: >
:let dosbatch_colons_comment = 1
There is an option that covers whether *.btm files should be detected as type
"dosbatch" (MS-DOS batch files) or type "btm" (4DOS batch files). The latter
is used by default. You may select the former with the following line: >
@@ -2777,17 +2791,25 @@ For highlighted doctests and code inside: >
:let python_no_doctest_highlight = 1
or >
:let python_no_doctest_code_highlight = 1
(first option implies second one).
The first option implies the second one.
For highlighted trailing whitespace and mix of spaces and tabs: >
:let python_space_error_highlight = 1
If you want all possible Python highlighting (the same as setting the
preceding last option and unsetting all other ones): >
If you want all possible Python highlighting:
:let python_highlight_all = 1
This has the same effect as setting python_space_error_highlight and
unsetting all the other ones.
If you use Python 2 or straddling code (Python 2 and 3 compatible),
you can enforce the use of an older syntax file with support for
Python 2 and up to Python 3.5. >
:let python_use_python2_syntax = 1
This option will exclude all modern Python 3.6 or higher features.
Note: Only existence of these options matters, not their value.
You can replace 1 above with anything.
Note: Only existence of these options matter, not their value. You can replace
1 above with anything.
QUAKE *quake.vim* *ft-quake-syntax*
@@ -3726,11 +3748,12 @@ The syntax script for zsh allows for syntax-based folding: >
Vim understands three types of syntax items:
1. Keyword
It can only contain keyword characters, according to the 'iskeyword'
option. It cannot contain other syntax items. It will only match with a
complete word (there are no keyword characters before or after the match).
The keyword "if" would match in "if(a=b)", but not in "ifdef x", because
"(" is not a keyword character and "d" is.
It can only contain keyword characters, according to the characters
specified with |:syn-iskeyword| or the 'iskeyword' option. It cannot
contain other syntax items. It will only match with a complete word (there
are no keyword characters before or after the match). The keyword "if"
would match in "if(a=b)", but not in "ifdef x", because "(" is not a
keyword character and "d" is.
2. Match
This is a match with a single regexp pattern.
@@ -3836,7 +3859,7 @@ SYNTAX ISKEYWORD SETTING *:syn-iskeyword*
clear: Syntax specific iskeyword setting is disabled and the
buffer-local 'iskeyword' setting is used.
{option} Set the syntax 'iskeyword' option to a new value.
{option} Set the syntax 'iskeyword' option to a new value.
Example: >
:syntax iskeyword @,48-57,192-255,$,_
@@ -4906,7 +4929,7 @@ is mostly used, because it looks better.
==============================================================================
13. Colorschemes *color-schemes*
In the next section you can find information about indivisual highlight groups
In the next section you can find information about individual highlight groups
and how to specify colors for them. Most likely you want to just select a set
of colors by using the `:colorscheme` command, for example: >
@@ -5283,7 +5306,7 @@ guisp={color-name} *highlight-guisp*
(guisp) color to use in the GUI. "guisp" is used for undercurl and
strikethrough.
There are a few special names:
NONE no color (transparent)
NONE no color (transparent) *E1361*
bg use normal background color
background use normal background color
fg use normal foreground color
@@ -5356,7 +5379,7 @@ ColorColumn Used for the columns set with 'colorcolumn'.
*hl-Conceal*
Conceal Placeholder characters substituted for concealed
text (see 'conceallevel').
*hl-Cursor*
*hl-Cursor* *hl-lCursor*
Cursor Character under the cursor.
lCursor Character under the cursor when |language-mapping|
is used (see 'guicursor').
@@ -5430,6 +5453,14 @@ Normal Normal text.
Pmenu Popup menu: Normal item.
*hl-PmenuSel*
PmenuSel Popup menu: Selected item.
*hl-PmenuKind*
PmenuKind Popup menu: Normal item "kind".
*hl-PmenuKindSel*
PmenuKindSel Popup menu: Selected item "kind".
*hl-PmenuExtra*
PmenuExtra Popup menu: Normal item "extra text".
*hl-PmenuExtraSel*
PmenuExtraSel Popup menu: Selected item "extra text".
*hl-PmenuSbar*
PmenuSbar Popup menu: Scrollbar.
*hl-PmenuThumb*

View File

@@ -568,6 +568,8 @@ $quote eval.txt /*$quote*
'nobreakindent' options.txt /*'nobreakindent'*
'nobri' options.txt /*'nobri'*
'nobuflisted' options.txt /*'nobuflisted'*
'nocdh' options.txt /*'nocdh'*
'nocdhome' options.txt /*'nocdhome'*
'nocf' options.txt /*'nocf'*
'noci' options.txt /*'noci'*
'nocin' options.txt /*'nocin'*
@@ -676,6 +678,8 @@ $quote eval.txt /*$quote*
'nomousef' options.txt /*'nomousef'*
'nomousefocus' options.txt /*'nomousefocus'*
'nomousehide' options.txt /*'nomousehide'*
'nomousemev' options.txt /*'nomousemev'*
'nomousemoveevent' options.txt /*'nomousemoveevent'*
'nonu' options.txt /*'nonu'*
'nonumber' options.txt /*'nonumber'*
'noodev' options.txt /*'noodev'*
@@ -745,10 +749,12 @@ $quote eval.txt /*$quote*
'notbidi' options.txt /*'notbidi'*
'notbs' options.txt /*'notbs'*
'notermbidi' options.txt /*'notermbidi'*
'notermguicolors' options.txt /*'notermguicolors'*
'noterse' options.txt /*'noterse'*
'notextauto' options.txt /*'notextauto'*
'notextmode' options.txt /*'notextmode'*
'notf' options.txt /*'notf'*
'notgc' options.txt /*'notgc'*
'notgst' options.txt /*'notgst'*
'notildeop' options.txt /*'notildeop'*
'notimeout' options.txt /*'notimeout'*
@@ -2453,6 +2459,7 @@ $quote eval.txt /*$quote*
:diffupdate diff.txt /*:diffupdate*
:dig digraph.txt /*:dig*
:digraphs digraph.txt /*:digraphs*
:dis change.txt /*:dis*
:disa vim9.txt /*:disa*
:disassemble vim9.txt /*:disassemble*
:display change.txt /*:display*
@@ -2842,6 +2849,7 @@ $quote eval.txt /*$quote*
:map-commands map.txt /*:map-commands*
:map-expression map.txt /*:map-expression*
:map-local map.txt /*:map-local*
:map-meta-keys map.txt /*:map-meta-keys*
:map-modes map.txt /*:map-modes*
:map-nowait map.txt /*:map-nowait*
:map-operator map.txt /*:map-operator*
@@ -3555,6 +3563,7 @@ $quote eval.txt /*$quote*
:wall editing.txt /*:wall*
:wh eval.txt /*:wh*
:while eval.txt /*:while*
:wi gui.txt /*:wi*
:win gui.txt /*:win*
:winc windows.txt /*:winc*
:wincmd windows.txt /*:wincmd*
@@ -4146,7 +4155,6 @@ E1104 vim9.txt /*E1104*
E1105 vim9.txt /*E1105*
E1106 vim9.txt /*E1106*
E1107 eval.txt /*E1107*
E1108 vim9.txt /*E1108*
E1109 builtin.txt /*E1109*
E111 eval.txt /*E111*
E1110 builtin.txt /*E1110*
@@ -4178,7 +4186,6 @@ E1133 vim9.txt /*E1133*
E1134 vim9.txt /*E1134*
E1135 eval.txt /*E1135*
E1136 map.txt /*E1136*
E1137 map.txt /*E1137*
E1138 eval.txt /*E1138*
E1139 vim9.txt /*E1139*
E114 eval.txt /*E114*
@@ -4306,7 +4313,6 @@ E125 userfunc.txt /*E125*
E1250 vim9.txt /*E1250*
E1251 vim9.txt /*E1251*
E1252 vim9.txt /*E1252*
E1253 vim9.txt /*E1253*
E1254 vim9.txt /*E1254*
E1255 map.txt /*E1255*
E1256 vim9.txt /*E1256*
@@ -4424,6 +4430,11 @@ E1357 vim9class.txt /*E1357*
E1358 vim9class.txt /*E1358*
E1359 vim9class.txt /*E1359*
E136 starting.txt /*E136*
E1360 vim9class.txt /*E1360*
E1361 syntax.txt /*E1361*
E1362 vim9class.txt /*E1362*
E1363 vim9class.txt /*E1363*
E1364 recover.txt /*E1364*
E137 starting.txt /*E137*
E138 starting.txt /*E138*
E139 message.txt /*E139*
@@ -4642,6 +4653,7 @@ E337 gui.txt /*E337*
E338 editing.txt /*E338*
E339 message.txt /*E339*
E34 various.txt /*E34*
E340 message.txt /*E340*
E341 message.txt /*E341*
E342 message.txt /*E342*
E343 options.txt /*E343*
@@ -5266,7 +5278,6 @@ E919 repeat.txt /*E919*
E92 message.txt /*E92*
E920 channel.txt /*E920*
E921 channel.txt /*E921*
E922 builtin.txt /*E922*
E923 builtin.txt /*E923*
E924 quickfix.txt /*E924*
E925 quickfix.txt /*E925*
@@ -7412,7 +7423,6 @@ g:netrw_localmkdiropt pi_netrw.txt /*g:netrw_localmkdiropt*
g:netrw_localmovecmd pi_netrw.txt /*g:netrw_localmovecmd*
g:netrw_localmovecmdopt pi_netrw.txt /*g:netrw_localmovecmdopt*
g:netrw_localrmdir pi_netrw.txt /*g:netrw_localrmdir*
g:netrw_localrmdiropt pi_netrw.txt /*g:netrw_localrmdiropt*
g:netrw_maxfilenamelen pi_netrw.txt /*g:netrw_maxfilenamelen*
g:netrw_menu pi_netrw.txt /*g:netrw_menu*
g:netrw_mkdir_cmd pi_netrw.txt /*g:netrw_mkdir_cmd*
@@ -7865,6 +7875,10 @@ hl-MoreMsg syntax.txt /*hl-MoreMsg*
hl-NonText syntax.txt /*hl-NonText*
hl-Normal syntax.txt /*hl-Normal*
hl-Pmenu syntax.txt /*hl-Pmenu*
hl-PmenuExtra syntax.txt /*hl-PmenuExtra*
hl-PmenuExtraSel syntax.txt /*hl-PmenuExtraSel*
hl-PmenuKind syntax.txt /*hl-PmenuKind*
hl-PmenuKindSel syntax.txt /*hl-PmenuKindSel*
hl-PmenuSbar syntax.txt /*hl-PmenuSbar*
hl-PmenuSel syntax.txt /*hl-PmenuSel*
hl-PmenuThumb syntax.txt /*hl-PmenuThumb*
@@ -7889,6 +7903,8 @@ hl-TabLineFill syntax.txt /*hl-TabLineFill*
hl-TabLineSel syntax.txt /*hl-TabLineSel*
hl-Terminal syntax.txt /*hl-Terminal*
hl-Title syntax.txt /*hl-Title*
hl-ToolbarButton gui.txt /*hl-ToolbarButton*
hl-ToolbarLine gui.txt /*hl-ToolbarLine*
hl-Tooltip syntax.txt /*hl-Tooltip*
hl-User1 syntax.txt /*hl-User1*
hl-User1..9 syntax.txt /*hl-User1..9*
@@ -7900,6 +7916,7 @@ hl-WarningMsg syntax.txt /*hl-WarningMsg*
hl-WildMenu syntax.txt /*hl-WildMenu*
hl-debugBreakpoint terminal.txt /*hl-debugBreakpoint*
hl-debugPC terminal.txt /*hl-debugPC*
hl-lCursor syntax.txt /*hl-lCursor*
hlID() builtin.txt /*hlID()*
hlexists() builtin.txt /*hlexists()*
hlget() builtin.txt /*hlget()*
@@ -8142,6 +8159,7 @@ intel-itanium syntax.txt /*intel-itanium*
intellimouse-wheel-problems gui_w32.txt /*intellimouse-wheel-problems*
interactive-functions usr_41.txt /*interactive-functions*
interfaces-5.2 version5.txt /*interfaces-5.2*
internal-error message.txt /*internal-error*
internal-variables eval.txt /*internal-variables*
internal-wordlist spell.txt /*internal-wordlist*
internet intro.txt /*internet*
@@ -9869,6 +9887,7 @@ string eval.txt /*string*
string() builtin.txt /*string()*
string-functions usr_41.txt /*string-functions*
string-match builtin.txt /*string-match*
string-offset-encoding eval.txt /*string-offset-encoding*
strlen() builtin.txt /*strlen()*
strpart() builtin.txt /*strpart()*
strpbrk() builtin.txt /*strpbrk()*
@@ -9878,6 +9897,7 @@ strridx() builtin.txt /*strridx()*
strspn() builtin.txt /*strspn()*
strstr() builtin.txt /*strstr()*
strtrans() builtin.txt /*strtrans()*
strutf16len() builtin.txt /*strutf16len()*
strwidth() builtin.txt /*strwidth()*
style-changes develop.txt /*style-changes*
style-compiler develop.txt /*style-compiler*
@@ -10540,6 +10560,7 @@ utf-8 mbyte.txt /*utf-8*
utf-8-char-arg mbyte.txt /*utf-8-char-arg*
utf-8-in-xwindows mbyte.txt /*utf-8-in-xwindows*
utf-8-typing mbyte.txt /*utf-8-typing*
utf16idx() builtin.txt /*utf16idx()*
utf8 mbyte.txt /*utf8*
v visual.txt /*v*
v: eval.txt /*v:*
@@ -10864,6 +10885,7 @@ vim9-declaration vim9.txt /*vim9-declaration*
vim9-declarations usr_41.txt /*vim9-declarations*
vim9-differences vim9.txt /*vim9-differences*
vim9-export vim9.txt /*vim9-export*
vim9-false-true vim9.txt /*vim9-false-true*
vim9-final vim9.txt /*vim9-final*
vim9-function-defined-later vim9.txt /*vim9-function-defined-later*
vim9-gotchas vim9.txt /*vim9-gotchas*
@@ -10881,6 +10903,7 @@ vim9-rationale vim9.txt /*vim9-rationale*
vim9-reload vim9.txt /*vim9-reload*
vim9-s-namespace vim9.txt /*vim9-s-namespace*
vim9-scopes vim9.txt /*vim9-scopes*
vim9-string-index vim9.txt /*vim9-string-index*
vim9-types vim9.txt /*vim9-types*
vim9-unpack-ignore vim9.txt /*vim9-unpack-ignore*
vim9-user-command vim9.txt /*vim9-user-command*

View File

@@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 9.0. Last change: 2020 Dec 19
*tagsrch.txt* For Vim version 9.0. Last change: 2023 Feb 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -98,7 +98,7 @@ The ignore-case matches are found when:
- when 'tagcase' is "followscs" and 'ignorecase' is on or the 'smartcase'
option is on and the pattern does not contain an upper case character
- when 'tagcase' is "ignore"
- when 'tagcase' is "smart" and the patter does not contain an upper case
- when 'tagcase' is "smart" and the pattern does not contain an upper case
character
Note that using ignore-case tag searching disables binary searching in the

View File

@@ -1,4 +1,4 @@
*terminal.txt* For Vim version 9.0. Last change: 2022 Nov 10
*terminal.txt* For Vim version 9.0. Last change: 2023 Jun 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -30,9 +30,9 @@ If the result is "1" you have it.
Using the client-server feature |terminal-client-server|
4. Remote testing |terminal-testing|
5. Diffing screen dumps |terminal-diff|
Writing a screen dump test for Vim |terminal-dumptest|
Creating a screen dump |terminal-screendump|
Comparing screen dumps |terminal-diffscreendump|
Writing a screen dump test for Vim |terminal-dumptest|
Creating a screen dump |terminal-screendump|
Comparing screen dumps |terminal-diffscreendump|
6. Debugging |terminal-debug|
Starting |termdebug-starting|
Example session |termdebug-example|
@@ -240,7 +240,7 @@ Command syntax ~
in a session file.
++shell Instead of executing {command}
directly, use a shell, like with
`:!command` *E279*
`:!command` *E279*
{only works on Unix and MS-Windows}
++kill={how} When trying to close the terminal
window kill the job with {how}. See
@@ -1452,8 +1452,8 @@ If there is no g:termdebug_config you can use: >
let g:termdebug_map_K = 0
<
*termdebug_disasm_window*
If you want the Asm window shown by default, set the flag to 1.
the "disasm_window_height" entry can be used to set the window height: >
If you want the Asm window shown by default, set the "disasm_window" flag to
1. The "disasm_window_height" entry can be used to set the window height: >
let g:termdebug_config['disasm_window'] = 1
let g:termdebug_config['disasm_window_height'] = 15
If there is no g:termdebug_config you can use: >

View File

@@ -1,4 +1,4 @@
*testing.txt* For Vim version 9.0. Last change: 2022 Dec 30
*testing.txt* For Vim version 9.0. Last change: 2023 May 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -166,15 +166,17 @@ test_gui_event({event}, {args})
Set or drag the left, right or horizontal scrollbar. Only
works when the scrollbar actually exists. The supported
items in {args} are:
which: scrollbar. The supported values are:
which: Selects the scrollbar. The supported values
are:
left Left scrollbar of the current window
right Right scrollbar of the current window
hor Horizontal scrollbar
value: amount to scroll. For the vertical scrollbars
the value can be 1 to the line-count of the
buffer. For the horizontal scrollbar the
value can be between 1 and the maximum line
length, assuming 'wrap' is not set.
value: Amount to scroll. For the vertical scrollbars
the value can be between 0 to the line-count
of the buffer minus one. For the horizontal
scrollbar the value can be between 1 and the
maximum line length, assuming 'wrap' is not
set.
dragging: 1 to drag the scrollbar and 0 to click in the
scrollbar.
@@ -197,7 +199,7 @@ test_gui_event({event}, {args})
Inject an event to select a tabline menu entry. The
supported items in {args} are:
tabnr: tab page number
item: tab page menu item number. 1 for the first
item: tab page menu item number. 1 for the first
menu item, 2 for the second item and so on.
After injecting the GUI events you probably should call
@@ -369,7 +371,8 @@ test_override({name}, {val}) *test_override()*
string is detected
ui_delay time in msec to use in ui_delay(); overrules a
wait time of up to 3 seconds for messages
uptime overrules sysinfo.uptime
unreachable no error for code after `:throw` and `:return`
uptime overrules sysinfo.uptime
vterm_title setting the window title by a job running in a
terminal window
ALL clear all overrides, except alloc_lines ({val} is
@@ -378,13 +381,18 @@ test_override({name}, {val}) *test_override()*
"starting" is to be used when a test should behave like
startup was done. Since the tests are run by sourcing a
script the "starting" variable is non-zero. This is usually a
good thing (tests run faster), but sometimes changes behavior
in a way that the test doesn't work properly.
good thing (tests run faster), but sometimes this changes
behavior in a way that the test doesn't work properly.
When using: >
call test_override('starting', 1)
< The value of "starting" is saved. It is restored by: >
call test_override('starting', 0)
< To make sure the flag is reset later using `:defer` can be
useful: >
call test_override('unreachable', 1)
defer call test_override('unreachable', 0)
< Can also be used as a |method|: >
GetOverrideVal()-> test_override('starting')
@@ -448,13 +456,14 @@ assert_beeps({cmd}) *assert_beeps()*
assert_equal({expected}, {actual} [, {msg}])
When {expected} and {actual} are not equal an error message is
added to |v:errors| and 1 is returned. Otherwise zero is
returned |assert-return|.
returned. |assert-return|
The error is in the form "Expected {expected} but got
{actual}". When {msg} is present it is prefixed to that.
There is no automatic conversion, the String "4" is different
from the Number 4. And the number 4 is different from the
Float 4.0. The value of 'ignorecase' is not used here, case
always matters.
When {msg} is omitted an error in the form "Expected
{expected} but got {actual}" is produced.
Example: >
assert_equal('foo', 'bar')
< Will result in a string to be added to |v:errors|:
@@ -533,11 +542,12 @@ assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
assert_false({actual} [, {msg}]) *assert_false()*
When {actual} is not false an error message is added to
|v:errors|, like with |assert_equal()|.
The error is in the form "Expected False but got {actual}".
When {msg} is present it is prepended to that.
Also see |assert-return|.
A value is false when it is zero. When {actual} is not a
number the assert fails.
When {msg} is omitted an error in the form
"Expected False but got {actual}" is produced.
Can also be used as a |method|: >
GetResult()->assert_false()
@@ -546,14 +556,16 @@ assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
This asserts number and |Float| values. When {actual} is lower
than {lower} or higher than {upper} an error message is added
to |v:errors|. Also see |assert-return|.
When {msg} is omitted an error in the form
"Expected range {lower} - {upper}, but got {actual}" is
produced.
The error is in the form "Expected range {lower} - {upper},
but got {actual}". When {msg} is present it is prefixed to
that.
*assert_match()*
assert_match({pattern}, {actual} [, {msg}])
When {pattern} does not match {actual} an error message is
added to |v:errors|. Also see |assert-return|.
The error is in the form "Pattern {pattern} does not match
{actual}". When {msg} is present it is prefixed to that.
{pattern} is used as with |=~|: The matching is always done
like 'magic' was set and 'cpoptions' is empty, no matter what
@@ -563,8 +575,6 @@ assert_match({pattern}, {actual} [, {msg}])
Use "^" and "$" to match with the start and end of the text.
Use both to match the whole text.
When {msg} is omitted an error in the form
"Pattern {pattern} does not match {actual}" is produced.
Example: >
assert_match('^f.*o$', 'foobar')
< Will result in a string to be added to |v:errors|:
@@ -614,8 +624,7 @@ assert_true({actual} [, {msg}]) *assert_true()*
Also see |assert-return|.
A value is TRUE when it is a non-zero number. When {actual}
is not a number the assert fails.
When {msg} is omitted an error in the form "Expected True but
got {actual}" is produced.
When {msg} is given it precedes the default message.
Can also be used as a |method|: >
GetResult()->assert_true()

View File

@@ -1,4 +1,4 @@
*textprop.txt* For Vim version 9.0. Last change: 2022 Dec 19
*textprop.txt* For Vim version 9.0. Last change: 2023 Apr 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -56,7 +56,7 @@ how to highlight the text. The property type can have these entries:
priority will be used.
"start_incl" when TRUE inserts at the start position will be
included in the text property
"end_incl" when TRUE inserts at the end position will be
"end_incl" when TRUE inserts at the end position will be
included in the text property
@@ -107,14 +107,14 @@ prop_type_list([{props}]) get list of property types
Manipulating text properties:
prop_add({lnum}, {col}, {props}) add a text property
prop_add({lnum}, {col}, {props}) add a text property
prop_add_list({props}, [{item}, ...])
add a text property at multiple
positions.
prop_clear({lnum} [, {lnum-end} [, {bufnr}]])
remove all text properties
prop_find({props} [, {direction}]) search for a text property
prop_list({lnum} [, {props}]) text properties in {lnum}
prop_list({lnum} [, {props}]) text properties in {lnum}
prop_remove({props} [, {lnum} [, {lnum-end}]])
remove a text property
@@ -149,7 +149,7 @@ prop_add({lnum}, {col}, {props})
highlighting; cannot be used with "length",
"end_lnum" and "end_col"
See |virtual-text| for more information.
*E1294*
*E1294*
text_align when "text" is present and {col} is zero;
specifies where to display the text:
after after the end of the line
@@ -165,14 +165,14 @@ prop_add({lnum}, {col}, {props})
text_padding_left *E1296*
used when "text" is present and {col} is zero;
padding between the end of the text line
(leftmost column for "below") and the virtual
text, not highlighted
(leftmost column for "above" and "below") and
the virtual text, not highlighted
text_wrap when "text" is present and {col} is zero,
specifies what happens if the text doesn't
fit:
wrap wrap the text to the next line
truncate truncate the text to make it fit
When omitted "truncate" is used.
When omitted "truncate" is used.
Note that this applies to the individual text
property, the 'wrap' option sets the overall
behavior

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 9.0. Last change: 2023 Feb 02
*todo.txt* For Vim version 9.0. Last change: 2023 Jun 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -38,6 +38,64 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
FILETYPE_FILE is defined to the same value in multiple places.
Only use the one in feature.h. Others too.
Mapping with modifier is not recognized after a partial mapping. Probably
because the typeahead was simplified when looking for a matching mapping.
Need to somehow undo the simplification. #12002
Windows scroll when using the autocmd window. #12085
in restore_snapshot_rec() restore more values from the snapshot, instead of
calling frame_new_height() and frame_new_width(), especially w_topline and
w_skipcol.
Check places that source "path/*.vim" to not match other extensions, e.g.
.vim9, on MS-Windows (short file name match, gets expanded to long file name).
E.g. for startup files, plugins, packs, etc.
When a help item can't be found, then open 'helpfile'. Search for the tag in
that file and gtive E149 only when not found. Helps for a tiny Vim installed
without all the help files.
SpellCap highlight not updated - PR #12428
Virtual text problems:
- Deleting character before a wrapping virtual text, causes for the following
lines to dissapear (Issue #12244)
- If 'list' is on, 'below' virtual text which includes 1 or 2 characters are
gone (Issue #12028)
- Virtual text aligned "above": Wrong indentation when using tabs (Issue
#12232)
- Virtual text to the right of the line that isn't visible doesn't cause the
'extends' character to show in 'list' mode. #12478
- Virtual text to the right of the line that fits exactly on screen causes
that line and all lines below it not to be displayed (Issue #12213)
- Window screen gets wrong when a virtual text is placed on 'above' or
'below' on an empty line (Issue #11959)
- truncated Virtual text below an empty line causes display error #12493
include #12403: window for Termdebug showing local variables
include #12140: positional arguments in printf(), fixes #10577
Include #11818: attach custom data to quickfix items.
Include #12292: buffer argument for undotree()?
When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be
highlighted. (van-de-bugger, 2018 Jan 23, #2576)
Improve profiling by caching matching functions: PR #12192
With 'smoothscroll' set and "lastline" in 'display', moving the cursor to a
wrapping line that makes the display scroll up may scroll much more than
needed, thus jump-scrolling. (part of issue 12411)
Add filecopy() ? #12346
Implement foreach() PR #12166
Errors when running tests with valgrind:
- test_codestyle.vim: e.g.:
command line..script /home/mool/vim/vim90/src/testdir/runtest.vim[569]..function RunTheTest[52]..Test_test_files line 6: keycode_check.vim: space before tab: Expected 0 but got 7
@@ -45,16 +103,29 @@ Errors when running tests with valgrind:
- test_gui.vim:
Found errors in Test_gui_mouse_event():
When every block in if/elseif ends in "throw" or "return" code following after
"endif" should give an "unreachable code" error.
Upcoming larger works:
- Make spell checking work with recent .dic/.aff files, e.g. French. #4916
Make Vim understand the format somehow? Search for "spell" below.
Make sure suggestions are speedy, also with composed words (German).
- Discuss alternatives for using other grammars (treesitter, TextMate).
- Make syntax highlighting faster and better.
Add a generic mechanism to test a syntax plugin: An input file for the
filetype and a screendump of expected result. With a way to specify the
setup (global variables) and another dump file from that.
Discuss alternatives for using other grammars (treesitter, TextMate).
- Possibly conversion to Vim syntax rules.
- Other mechanism than group and cluster to nest syntax items, to be used
for grammars.
- Possibly keeping the parsed syntax tree and incremental updates.
- tree-sitter doesn't handle incorrect syntax (while typing) properly.
- NeoVim uses treesitter, what can we learn from that?
- Vscode is asked to switch to treesitter:
https://github.com/microsoft/vscode/issues/50140
- Vscode uses TextMate. #9087 - Other people don't like it.
https://github.com/icedman/vim-textmate
- sublime grammar? Hugo mentions it's a moving target #9087
- Make clear how it relates to LSP.
- example plugin: https://github.com/uga-rosa/dps-vsctm.vim
@@ -68,20 +139,54 @@ Further Vim9 improvements, possibly after launch:
or: def _Func()
Perhaps use "private" keyword instead of "_" prefix?
- "final" object members - can only be set in the constructor.
- Cannot use class type of itself in the method (Issue #12369)
- Cannot use an object method in a lambda #12417
Define all methods before compiling them?
- class members initialized during definition (Issue #12041)
- Cannot call class member of funcref type (Issue #12324)
Also #12081 first case.
- Using list of functions does not work #12081 (repro in later message).
- Weird `class X not found on interface X` error (Issue #12023)
- First argument of call() cannot be "obj.Func". (#11865)
- "return this" required for early return from constructor (inconsistent)
(Issue #12040)
- class/method confusion inside ":def" when using "class extends" (Issue
#12089)
- null_object - constant type 17 not supported (Issue #12043)
- problem compiling object method call as function call argument (Issue
#12081)
- Make ":defcompile ClassName" compile all functions and methods in the
class.
- object's method in stacktrace missing information (Issue #12078)
- Forward declaration of a class? E.g. for Clone() function.
email lifepillar 2023 Mar 26
- Getting member of variable with "any" type should be handled at runtime.
Remove temporary solution from #12096 / patch 9.0.1375.
- "obj.Method()" does not always work in a compiled function, assumes "obj"
is a dictionary. #12196 Issue #12024 might be the same problem.
Issue #11822: any.Func() can be a dict or an object call, need to handle
this at runtime. Also see #12198 for an example.
Possibly issue #11981 can be fixed at the same time (has two examples).
- accept line breaks in member initialization. #11957
- object empty(), len() - can class define a method to be used for them?
- add to help: when using a default new() method then reordering object
members may cause trouble. Can define new() without arguments to avoid.
- TODO items: check types for "implements" - members and methods
- When "Meta" is a class, is "const MetaAlias = Meta" allowed? It should
either work or given an error. possibly give an error now and implement it
later (using a typedef). #12006
- how about lock/unlock?
- When checking "implements" also check types of members and function args.
- For chaining, allow using the class name as type for function return
value.
- Implement generics
- Add "instanceof"
- Add "instanceof" (exact class name). And "assignable" (class or child)?
- More efficient way for interface member index than iterating over list?
- a variant of type() that returns a different type for each class?
list<number> and list<string> should also differ.
- Issue #11822: any.Func() can be a dict or an object call, need to handle
this at runtime.
- implement :type
- implement :enum
- Promise class, could be used to wait on a popup close callback?
- class local to a function
- Use Vim9 for more runtime files.
- Inline call to map() and filter(), better type checking.
@@ -90,18 +195,17 @@ Further Vim9 improvements, possibly after launch:
- Implement as part of an expression: ++expr, --expr, expr++, expr--.
Information missing in terminfo:
- t_RV request terminal version string; xterm: "\033[>c"
change in terminfo for "RV" uses the wrong escape sequence 7 - 14 Jan only
Codes used for focus gained and lost (currently using use_xterm_like_mouse())
termcodes are hard-coded in set_termname(), not named.
Use the XF flag? enables recognizing the focus in/out events.
Check if t_fe is not empty.
Check for "1004" in t_XM. (disadvantage: only focus events when mouse is
used)
- Codes used for focus gained and lost termcodes are hard-coded in
set_termname(), not named.
- t_fe enable focus-event tracking
- t_fd disable focus-event tracking
- Accept "hyper" and "meta" modifiers (16 and 32) from Kitty like Meta?
8 is actually "super".
- t_RV request terminal version string; xterm: "\033[>c"
change in terminfo for "RV" uses the wrong escape sequence 7 - 14 Jan only
- Codes for <PasteStart> t_PS and <PasteEnd> t_PE; with bracketed paste:
t_BE and t_BD.
Modifiers for various keys
- Decode kitty key protocol Meta and use MOD_MASK_META. Document <T-k>
- flag to indicate "xterm compatible modifiers" ?
Underline and similar:
- t_AU - Set underline color: like "AF" and "AB" entries.
@@ -145,8 +249,6 @@ Probably Vim internal, not in terminfo:
- t_RK request terminal keyboard protocol state; sent after |t_TI|
Already working, not properly documented:
- t_u7 request cursor position
Also, with Alt-b we get â, with Alt-Shift-b we should bet another character.
That does not appear to work with Kitty. #11913
Popup windows:
- Add a function to redraw a specific popup window. Esp. to be used when
@@ -220,6 +322,11 @@ Terminal emulator window:
- When in terminal-Normal mode when the job finishes, the cursor jumps to the
end but the window is not updated. This only happens when typing "a".
:term bash -c "for V in {0..5}; do echo $V; sleep 1; done"
- GUI: cursor color is not updated when going to Terminal-Job mode. #12328
- GUI: cursor color is not updated when switching between tabs with a key.
#12329
- GUI: cursor color is not updated when switching between tabs with a mouse
click. #12330
- When started with ":terminal ++close" and the shell exits but there is a
background process, the window remains open, because the channel still
exists (and output still shows). Perhaps close the window when an explicit
@@ -257,6 +364,8 @@ Terminal emulator window:
Patch adds showcmd() function #11708
Cursor is after the end of the line: #12137.
Crash when a variable is removed while listing variables (Issue #11435)
Autoconf: must use autoconf 2.69, later version generates lots of warnings
@@ -265,15 +374,47 @@ Autoconf: must use autoconf 2.69, later version generates lots of warnings
Problem with Visual highlight when 'linebreak' and 'showbreak' are set.
#11272
'cindent': compound literal indented wrong. Check for " = " before "{"?
#12491
GUI Scroll test fails on FreeBSD when using Motif. See FIXME in
Test_scrollbars in src/test_gui.vim
Selected index returned by complete_info() does not match the index in the
list of items. #12230
Support dark mode for MS-Windows: #12282
Remote command escapes single quote with backslash, should be doubling the
single quote in vim_strsave_escaped_ext() #12202.
PR to add custom and customlist completion types. #12228
Can deref_func_name() and deref_function_name() be merged?
Using :global with a pattern containing \zs doesn't use the line where \zs
matches but the start of the pattern. #3695 If there is a useful application
for this, it can be made to work by changing the call to ml_setmarked():
ml_setmarked(lnum + regmatch.startpos[0].lnum);
After patch 8.2.4915 w_botline is computed much more often. Can this be
reduced?
When 'delcombine' is set a put after "x" includes the base character and all
combining characters. (Ron Aaron, 2023 Apr 10)
Add BufDeletePost. #11041
Add winid arg to col() and charcol() #11466 (request #11461)
'switchbuf' set to "newtab" does not work for ":cfirst" when in the quickfix
window. #12436
When :argument has a non-number argument, use it like :buffer to find the
argument by name. #12272
Fold unexpectedly closed when inserting fold marker with CTRL-V (Issue #12320)
Can we make 'noendofline' and 'endoffile' visible? Should show by default,
since it's an unusual situation.
- Show 'noendofline' when it would be used for writing ('fileformat' "dos")
@@ -292,6 +433,12 @@ https://github.com/vim/vim/pull/5566
PR #11579 to add visualtext(), return Visually selected text.
PR #12032: Support Python 3 stable ABI.
PR #11860: Add more info to 'colorcolumn': display a character and highlight
for each separate entry. Disadvantage: option value gets very complicated
with multiple entries, e.g. every 8 columns.
Stray characters in the shell #11719, caused by requesting a response for:
- XT key sequences
- Whether modifyOtherKeys is active
@@ -301,11 +448,15 @@ Can we not request XT key sequences, or reduce them drastically?
Issue #10512: Dynamic loading broken with Perl 5.36
Damien has a patch (2022 Dec 4)
Request #11965: Allow several "%=" items in 'statusline', makes it possible
to have text in the center.
Add some kind of ":whathappend" command and functions to make visible what the
last few typed keys and executed commands are. To be used when the user
wonders what went wrong.
wonders what went wrong. Could also be used for statistics #12046.
- typed keys - Normal mode command - like what is recorded in a register and
displayed by 'showcmd'.
- register used - #12063
- executed command lines
- with more verbosity: what scripts/functions/autocommands were executed
@@ -340,7 +491,7 @@ Better terminal emulator support:
"xterm" and then add "kitty" entries.
Using "A" and "o" in manually created fold (in empty buffer) does not behave
consistenly (James McCoy, #10698)
consistently (James McCoy, #10698)
In a timer callback, when using ":echo" and then input() the message is
overwritten. Could use ":echowin" and call redraw_cmd() in get_user_input().
@@ -352,6 +503,10 @@ To avoid flicker: add an option that when a screen clear is requested, instead
of clearing it draws everything and uses "clear to end of line" for every line.
Resetting 't_ut' already causes this?
Instead of prefixing "INTERNAL" to internal messages, add a message in iemsg()
and siemsg() and translate it. Messages only given to them don't need
translation.
When scheme can't be found by configure there is no clear "not found" message:
configure:5769: checking MzScheme install prefix
configure:5781: result:
@@ -369,7 +524,10 @@ Idea: when typing ":e /some/dir/" and "dir" does not exist, highlight in red.
initialization to figure out the default value from 'shell'. Add a test for
this.
Support translations for plugins: #11637
Add a diff() function to use the built-in diff support in a script.
#12321 Is the returned value in the right form now?
Support translations for plugins: #11637 PR: #12447
- Need a tool like xgettext for Vim script, generates a .pot file.
Need the equivalent of _() and N_(), perhaps TR() and TRN().
- Instructions for how to create .po files and translate.
@@ -385,8 +543,6 @@ IDEA: when drawing the text, store the text byte index in ScreenLinesIdx[].
When converting screen column to text position use this.
The line number can be obtained from win->w_lines[].
MS-Windows: did path modifier :p:8 stop working? #8600
Version of getchar() that does not move the cursor - #10603 Use a separate
argument for the new flag.
@@ -423,6 +579,14 @@ New English spell files also have very slow suggestions.
When 'spelloptions' is "camel" then zG doesn't work on some words.
(Gary Johnson, 17 Oct 2022)
SpellCap doesn't show below a closed fold. #12420
'cdpath' problems:
- Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
- Problem with 'cdpath' on MS-Windows when a directory is equal to $HOME.
(2006 Jul 26, Gary Johnson)
- Completion of ":cd" doesn't use 'cdpath'. #374.
Make "g>" and "g<" in Visual mode move the text right or left.
Also for a block selection. #8558
@@ -434,6 +598,11 @@ to tell which value from getvvcol() should be used. (#7964)
Value returned by virtcol() changes depending on how lines wrap. This is
inconsistent with the documentation.
When 'wildignore' has an entry ending in "/*" this means nothing matching the
path before it will be added. When encountering a directory check this and if
there is a match do not scan the directory (possibly speeds up :find a lot).
#12482
globpath() does not use 'wildignorecase' at all? (related to #8350)
mksession uses :buffer instead of :edit in one place but not another. #10629
@@ -458,6 +627,8 @@ won't work. At least give an error. Is there a way to make it work?
Completion for ":runtime" should show valid values, not what's in the current
directory. (#11447)
Add a "description" property to mappings. #12205
Add an option to start_timer() to return from the input loop with K_IGNORE.
This is useful e.g. when a popup was created that disables mappings, we need
to return from vgetc() to make this happen. #7011
@@ -468,6 +639,9 @@ Any way to convert "$" back by using a special value? (#6901)
Can we detect true color support? https://gist.github.com/XVilka/8346728
Try setting a color then request the current color, like using t_u7.
Add a v:register_used variable, which has the name of the register used for
the last command, e.g. put. #12003
Make the jumplist behave like a tag stack. (#7738) Should there be a more
time bound navigation, like with undo?
@@ -677,12 +851,16 @@ Improve fallback for menu translations, to avoid having to create lots of
files that source the actual file. E.g. menu_da_de -> menu_da
Include part of #3242?
Patch for different behavior of text objects with quotes: #11976
Is this actually better?
Patch to have text objects defined by arbitrary single characters. (Daniel
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
Added tests (James McCoy, 2016 Aug 3, #958). Still needs more work.
Would be nice to set tab-local values for 'diffexpr' and 'diffopt'. Use
t:diffexpr_option t:diffopt_option? (#4782)
Also make 'scrollopt' tab-local, remove "hor" only for the current tab page.
Internal diff doesn't handle binary file like external diff does. (Mike
Williams, 2018 Oct 30)
@@ -944,9 +1122,6 @@ option_save({list}) *option_save()*
directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
Also see #1689.
When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be
highlighted. (van-de-bugger, 2018 Jan 23, #2576)
No profile information for function that executes ":quit". (Daniel Hahler,
2017 Dec 26, #2501)
@@ -1173,9 +1348,6 @@ Avoids exceptions, e.g. when using the b: namespace as a dict.
Patch to make v:shell_error writable. (Christian Brabandt, 2016 Sep 27)
Useful to restore it. Is there another solution?
"ci[" does not look for next [ like ci" does look for next ".
(J.F. 2017 Jan 7)
Patch for wrong cursor position on wrapped line, involving breakindent.
(Ozaki Kiichi, 2016 Nov 25)
@@ -1199,9 +1371,6 @@ Should :vmap in matchit.vim be :xmap? (Tony Mechelynck)
Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)
Add "unicode true" to NSIS installer. Doesn't work with Windows 95, which we
no longer support.
Support sort(l, 'F'), convert strings to float. (#7857)
sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
@@ -1346,7 +1515,7 @@ No test, needs some work to include.
Patch to improve indenting for C++ constructor with initializer list.
(Hirohito Higashi, 2016 Mar 31)
Zero-out krypt key information when no longer in use. (Ben Fritz, 2017 May 15)
Zero-out crypt key information when no longer in use. (Ben Fritz, 2017 May 15)
Add stronger encryption. Could use libsodium (NaCl).
https://github.com/jedisct1/libsodium/
@@ -1387,9 +1556,6 @@ Do not include the linebreak at the start?
Feature request: add the "al" text object, to manipulate a screen line.
Especially useful when using 'linebreak'
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
directory exists. (Sergio Gallelli, 2013 Dec 29)
Patch to avoid redrawing tabline when the popup menu is visible.
(Christian Brabandt, 2016 Jan 28)
@@ -1506,6 +1672,8 @@ Doesn't work completely (Dominique Orban)
Patch to add a "literal" argument to bufnr(). (Olaf Dabrunz, 2015 Aug 4)
Extended file attributes lost on write (backupcopy=no). Issue 306.
Would require reading attributes from the original file with listxattr() and
getxattr() and adding them to the new file.
Patch to add :lockjumps. (Carlo Baldassi, 2015 May 25)
OK to not block marks?
@@ -1523,8 +1691,6 @@ Result of systemlist() does not show whether text ended in line break.
When in 'comments' "n:x" follows after three-part comment directly it repeats
any one-character from the previous line. (Kartik Agaram, 2014 Sep 19)
Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
Patch: Let rare word highlighting overrule good word highlighting.
(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)
@@ -2149,10 +2315,6 @@ Diff mode out of sync. (Gary Johnson, 2010 Aug 4)
Win32: completion of file name ":e c:\!test" results in ":e c:\\!test", which
does not work. (Nieko Maatjes, 2009 Jan 8, Ingo Karkat, 2009 Jan 22)
opening/closing window causes other window with 'winfixheight' to change
height. Also happens when there is another window in the frame, if it's not
very high. (Yegappan Lakshmanan, 2010 Jul 22, Michael Peeters, 2010 Jul 22)
Using ~ works OK on 'a' with composing char, but not on 0x0418 with composing
char 0x0301. (Tony Mechelynck, 2009 Mar 4)
@@ -2599,9 +2761,6 @@ the cursor line. It works OK after some other commands.
Win32: Is it possible to have both postscript and Win32 printing?
Problem with 'cdpath' on MS-Windows when a directory is equal to $HOME. (2006
Jul 26, Gary Johnson)
Using UTF-8 character with ":command" does not work properly. (Matt Wozniski,
2008 Sep 29)
@@ -2974,10 +3133,6 @@ Win32 GUI known bugs:
console, go back to Vim and click "reload" in the dialog for the changed
file: Window moves with the cursor!
Put focus event in input buffer and let generic Vim code handle it?
8 Win32 GUI: With maximized window, ":set go-=r" doesn't use the space that
comes available. (Poucet) It works OK on Win 98 but doesn't work on Win
NT 4.0. Leaves a grey area where the scrollbar was. ":set go+=r" also
doesn't work properly.
8 When Vim is minimized and when maximizing it a file-changed dialog pops
up, Vim isn't maximized. It should be done before the dialog, so that it
appears in the right position. (Webb)
@@ -3501,8 +3656,6 @@ Problems that will (probably) not be solved:
input method called from GDK code. Without Perl it doesn't crash.
- VMS: Vimdiff doesn't work with the VMS diff, because the output looks
different. This makes test 47 fail. Install a Unix-compatible diff.
- Win32 GUI: mouse wheel always scrolls rightmost window. The events arrive
in Vim as if the rightmost scrollbar was used.
- GTK with Gnome: Produces an error message when starting up:
Gdk-WARNING **: locale not supported by C library
This is caused by the gnome library gnome_init() setting $LC_CTYPE to
@@ -3897,14 +4050,6 @@ Printing:
Syntax highlighting:
Long term goal: faster, better, etc. Options:
- use treesitter, NeoVim uses it - Many people don't like it.
After changes requires rebuilding the library.
- use TextMate, vscode uses it. #9087 - Other people don't like it.
https://github.com/icedman/vim-textmate
Vscode is asked to switch to treesitter:
https://github.com/microsoft/vscode/issues/50140
- sublime grammar?
8 Make ":syn off" use 'runtimepath' instead of $VIMRUNTIME. (Gary Johnson)
Should do the same for ":syn on" and ":syn manual".
8 Support "containedin" argument for ":syn include", so that the defined
@@ -4459,8 +4604,6 @@ Tags:
Win32 GUI:
8 Make debug mode work while starting up (vim -D). Open console window for
the message and input?
7 GvimExt: when there are several existing Vims, move the list to a submenu.
(Mike McCollister)
8 When using "Edit with Vim" for one file it changes directory, when several
files are selected and using "Edit with single Vim" the directory isn't
changed. At least change directory when the path is the same for all
@@ -5399,8 +5542,10 @@ Undo:
Also see #1635.
- When using ":diffput" through a mapping, undo in the target buffer isn't
synced. (Ryan Carney, 2016 Sep 14)
- The undo file name can get too long. (Issue 346)
- The undo file name can get too long. (Issue #346)
For the path use a hash instead of dir%dir%dir%name hash%name.
Check both for some time for backwards compatibility.
Alternatively: create the directory structure under 'undodir'.
- Patch to add ":undorecover", get as much text out of the undo file as
possible. (Christian Brabandt, 2014 Mar 12, update Aug 22)
- Patch to support :undo absolute jump to file save number. (Christian
@@ -6005,7 +6150,7 @@ Various improvements:
many percent down the windows).
- Make it possible for the 'showbreak' to be displayed at the end of the
line. Use a comma to separate the part at the end and the start of the
line? Highlight the linebreak characters, add flag in 'highlight'.
line? #754 Highlight the linebreak characters, add flag in 'highlight'.
Make 'showbreak' local to a window.
- Some string options should be expanded if they have wildcards, e.g.
'dictionary' when it is "*.h".

View File

@@ -250,7 +250,7 @@ Credit Card: You can use PayPal to send money with a Credit card. This is
Bram@iccf-holland.org
Others: Transfer to this account if possible:
ING bank: IBAN: NL95 INGB 0004 5487 74
ING bank: IBAN: NL95 INGB 0004 5487 74
Swift code: INGBNL2A
under the name "stichting ICCF Holland", Amersfoort
Checks are not accepted.

View File

@@ -1,4 +1,4 @@
*userfunc.txt* For Vim version 9.0. Last change: 2023 Jan 09
*userfunc.txt* For Vim version 9.0. Last change: 2023 May 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -51,6 +51,13 @@ define a global function.
{name} can also be a |Dictionary| entry that is a
|Funcref|: >
:function dict.init
< Note that {name} is not an expression, you cannot use
a variable that is a function reference. You can use
this dirty trick to list the function referred to with
variable "Funcref": >
let g:MyFuncref = Funcref
func g:MyFuncref
unlet g:MyFuncref
:fu[nction] /{pattern} List functions with a name matching {pattern}.
Example that lists all functions ending with "File": >
@@ -211,7 +218,8 @@ See |:verbose-cmd| for more information.
*function-argument* *a:var*
An argument can be defined by giving its name. In the function this can then
be used as "a:name" ("a:" for argument).
be used as "a:name" ("a:" for argument) (in a `:def` function "a:" is not
used).
*a:0* *a:1* *a:000* *E740* *...*
Up to 20 arguments can be given, separated by commas. After the named
arguments an argument "..." can be specified, which means that more arguments
@@ -246,9 +254,10 @@ Example: >
call Something('key', 20) "key: 20"
The argument default expressions are evaluated at the time of the function
call, not definition. Thus it is possible to use an expression which is
invalid the moment the function is defined. The expressions are also only
evaluated when arguments are not specified during a call.
call, not when the function is defined. Thus it is possible to use an
expression which is invalid the moment the function is defined. The
expressions are also only evaluated when arguments are not specified during a
call.
*none-function_argument*
You can pass |v:none| to use the default expression. Note that this means you
cannot pass v:none as an ordinary value when an argument has a default

View File

@@ -1,4 +1,4 @@
*usr_01.txt* For Vim version 9.0. Last change: 2019 Nov 21
*usr_01.txt* For Vim version 9.0. Last change: 2023 May 12
VIM USER MANUAL - by Bram Moolenaar
@@ -161,7 +161,7 @@ filename. For French:
==============================================================================
*01.4* Copyright *manual-copyright*
The Vim user manual and reference manual are Copyright (c) 1988-2003 by Bram
The Vim user manual and reference manual are Copyright (c) 1988 by Bram
Moolenaar. This material may be distributed only subject to the terms and
conditions set forth in the Open Publication License, v1.0 or later. The
latest version is presently available at:

View File

@@ -505,7 +505,7 @@ You can use the error ID at the start to find help about it: >
:help E37
Summary: *help-summary* >
Summary: *help-summary* >
1) Use Ctrl-D after typing a topic and let Vim show all available topics.
Or press Tab to complete: >

View File

@@ -1,4 +1,4 @@
*usr_03.txt* For Vim version 9.0. Last change: 2022 Oct 30
*usr_03.txt* For Vim version 9.0. Last change: 2023 Mar 13
VIM USER MANUAL - by Bram Moolenaar
@@ -173,6 +173,8 @@ one. Thus if the cursor is at the start of the line of the previous example,
---+---------------->
%
Other ways to move around code can be found in |usr_29.txt|.
==============================================================================
*03.5* Moving to a specific line

View File

@@ -409,7 +409,7 @@ an archive or as a repository. For an archive you can follow these steps:
package.
2. unpack the archive in that directory. This assumes the top
directory in the archive is "start": >
cd ~/.vim/pack/fancy
cd ~/.vim/pack/fancy
unzip /tmp/fancy.zip
< If the archive layout is different make sure that you end up with a
path like this:

View File

@@ -77,25 +77,25 @@ browser. This is what you get: >
9. Directory Browsing netrw-browse netrw-dir netrw-list netrw-help
MAPS netrw-maps
<F1>.............Help.......................................|netrw-help|
<cr>.............Browsing...................................|netrw-cr|
<del>............Deleting Files or Directories..............|netrw-delete|
-................Going Up...................................|netrw--|
a................Hiding Files or Directories................|netrw-a|
mb...............Bookmarking a Directory....................|netrw-mb|
gb...............Changing to a Bookmarked Directory.........|netrw-gb|
cd...............Make Browsing Directory The Current Dir....|netrw-c|
d................Make A New Directory.......................|netrw-d|
D................Deleting Files or Directories..............|netrw-D|
<c-h>............Edit File/Directory Hiding List............|netrw-ctrl-h|
i................Change Listing Style.......................|netrw-i|
<c-l>............Refreshing the Listing.....................|netrw-ctrl-l|
o................Browsing with a Horizontal Split...........|netrw-o|
p................Use Preview Window.........................|netrw-p|
P................Edit in Previous Window....................|netrw-p|
q................Listing Bookmarks and History..............|netrw-qb|
r................Reversing Sorting Order....................|netrw-r|
< (etc)
<F1>.............Help.......................................|netrw-help|
<cr>.............Browsing...................................|netrw-cr|
<del>............Deleting Files or Directories..............|netrw-delete|
-................Going Up...................................|netrw--|
a................Hiding Files or Directories................|netrw-a|
mb...............Bookmarking a Directory....................|netrw-mb|
gb...............Changing to a Bookmarked Directory.........|netrw-gb|
cd...............Make Browsing Directory The Current Dir....|netrw-c|
d................Make A New Directory.......................|netrw-d|
D................Deleting Files or Directories..............|netrw-D|
<c-h>............Edit File/Directory Hiding List............|netrw-ctrl-h|
i................Change Listing Style.......................|netrw-i|
<c-l>............Refreshing the Listing.....................|netrw-ctrl-l|
o................Browsing with a Horizontal Split...........|netrw-o|
p................Use Preview Window.........................|netrw-p|
P................Edit in Previous Window....................|netrw-p|
q................Listing Bookmarks and History..............|netrw-qb|
r................Reversing Sorting Order....................|netrw-r|
< (etc)
The <F1> key thus brings you to a netrw directory browsing contents help page.
It's a regular help page; use the usual |CTRL-]| to jump to tagged help items
@@ -106,7 +106,7 @@ To select files for display and editing: (with the cursor is atop a filename)
<enter> Open the file in the current window. |netrw-cr|
o Horizontally split window and display file |netrw-o|
v Vertically split window and display file |netrw-v|
p Use the |preview-window| |netrw-p|
p Use the |preview-window| |netrw-p|
P Edit in the previous window |netrw-P|
t Open file in a new tab |netrw-t|

View File

@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 9.0. Last change: 2023 Jan 17
*usr_41.txt* For Vim version 9.0. Last change: 2023 May 06
VIM USER MANUAL - by Bram Moolenaar
@@ -754,10 +754,12 @@ String manipulation: *string-functions*
strlen() length of a string in bytes
strcharlen() length of a string in characters
strchars() number of characters in a string
strutf16len() number of UTF-16 code units in a string
strwidth() size of string when displayed
strdisplaywidth() size of string when displayed, deals with tabs
setcellwidths() set character cell width overrides
getcellwidths() get character cell width overrides
reverse() reverse the order of characters in a string
substitute() substitute a pattern match with a string
submatch() get a specific match in ":s" and substitute()
strpart() get part of a string using byte index
@@ -771,6 +773,7 @@ String manipulation: *string-functions*
byteidx() byte index of a character in a string
byteidxcomp() like byteidx() but count composing characters
charidx() character index of a byte in a string
utf16idx() UTF-16 index of a byte in a string
repeat() repeat a string multiple times
eval() evaluate a string expression
execute() execute an Ex command and get the output
@@ -795,7 +798,7 @@ List manipulation: *list-functions*
reduce() reduce a List to a value
slice() take a slice of a List
sort() sort a List
reverse() reverse the order of a List or Blob
reverse() reverse the order of items in a List
uniq() remove copies of repeated adjacent items
split() split a String into a List
join() join List items into a String
@@ -862,6 +865,7 @@ Floating point computation: *float-functions*
Blob manipulation: *blob-functions*
blob2list() get a list of numbers from a blob
list2blob() get a blob from a list of numbers
reverse() reverse the order of numbers in a blob
Other computation: *bitwise-function*
and() bitwise AND

View File

@@ -8123,7 +8123,7 @@ Files: src/message.c
Patch 7.2.119
Problem: Status line is redrawn too often.
Solution: Check ScreeenLinesUC[] properly. (Yukihiro Nakadaira)
Solution: Check ScreenLinesUC[] properly. (Yukihiro Nakadaira)
Files: src/screen.c
Patch 7.2.120
@@ -9782,8 +9782,8 @@ Files: src/syntax.c
Patch 7.2.406
Problem: Patch 7.2.119 introduces uninit mem read. (Dominique Pelle)
Solution: Only used ScreeenLinesC when ScreeenLinesUC is not zero. (Yukihiro
Nakadaira) Also clear ScreeenLinesC when allocating.
Solution: Only used ScreenLinesC when ScreenLinesUC is not zero. (Yukihiro
Nakadaira) Also clear ScreenLinesC when allocating.
Files: src/screen.c
Patch 7.2.407

View File

@@ -342,11 +342,11 @@ New Vim variables: ~
|v:mouse_winid| Window ID for a mouse click obtained with |getchar()|
|v:none| an empty String, used for JSON
|v:null| an empty String, used for JSON
|v:option_new| new value of the option, used by |OptionSet|
|v:option_old| old value of the option, used by |OptionSet|
|v:option_new| new value of the option, used by |OptionSet|
|v:option_old| old value of the option, used by |OptionSet|
|v:option_oldlocal| old local value of the option, used by |OptionSet|
|v:option_oldglobal| old global value of the option, used by |OptionSet|
|v:option_type| scope of the set command, used by |OptionSet|
|v:option_type| scope of the set command, used by |OptionSet|
|v:option_command| command used to set the option, used by |OptionSet|
|v:progpath| the command with which Vim was invoked
|v:t_bool| value of Boolean type

View File

@@ -29816,7 +29816,7 @@ Files: src/testdir/test_vim9_script.vim
Patch 8.2.4863
Problem: Accessing freed memory in test without the +channel feature.
(Dominique Pellé)
Solution: Do not generted PUSHCHANNEL or PUSHJOB if they are not
Solution: Do not generate PUSHCHANNEL or PUSHJOB if they are not
implemented. (closes #10350)
Files: src/vim9instr.c, src/errors.h, src/vim9compile.c,
src/testdir/test_vim9_script.vim

View File

@@ -1,4 +1,4 @@
*vim9.txt* For Vim version 9.0. Last change: 2022 Dec 08
*vim9.txt* For Vim version 9.0. Last change: 2023 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -113,10 +113,13 @@ script and `:def` functions; details are below:
:%s/this/that
- Executing a register with "@r" does not work, you can prepend a colon or use
`:exe`: >
:exe @a
:exe @a
- Unless mentioned specifically, the highest |scriptversion| is used.
- When defining an expression mapping, the expression will be evaluated in the
context of the script where it was defined.
- When indexing a string the index is counted in characters, not bytes:
|vim9-string-index|
- Some possibly unexpected differences: |vim9-gotchas|.
Comments starting with # ~
@@ -190,8 +193,8 @@ created yet. In this case you can call `execute()` to invoke it at runtime. >
used for the command or the error was caught a `:try` block), does not get a
range passed, cannot be a "dict" function, and can always be a closure.
*vim9-no-dict-function*
Later classes will be added, which replaces the "dict function" mechanism.
For now you will need to pass the dictionary explicitly: >
You can use a Vim9 Class (|Vim9-class|) instead of a "dict function".
You can also pass the dictionary explicitly: >
def DictFunc(self: dict<any>, arg: string)
echo self[arg]
enddef
@@ -340,7 +343,7 @@ function, the function does not need to be defined more than once: >
Variable declarations with :var, :final and :const ~
*vim9-declaration* *:var* *E1079*
*E1017* *E1020* *E1054* *E1087* *E1108* *E1124*
*E1017* *E1020* *E1054* *E1087* *E1124*
Local variables need to be declared with `:var`. Local constants need to be
declared with `:final` or `:const`. We refer to both as "variables" in this
section.
@@ -622,7 +625,7 @@ Additionally, a lambda can contain statements in {}: >
}
This can be useful for a timer, for example: >
var count = 0
var timer = timer_start(500, (_) => {
var timer = timer_start(500, (_) => {
count += 1
echom 'Handler called ' .. count
}, {repeat: 3})
@@ -824,7 +827,7 @@ White space is required around most operators.
White space is required in a sublist (list slice) around the ":", except at
the start and end: >
otherlist = mylist[v : count] # v:count has a different meaning
otherlist = mylist[v : count] # v:count has a different meaning
otherlist = mylist[:] # make a copy of the List
otherlist = mylist[v :]
otherlist = mylist[: v]
@@ -879,7 +882,7 @@ This works for alphanumeric characters, underscore and dash. If you want to
use another character, use a single or double quoted string: >
var dict = {'key with space': value}
var dict = {"key\twith\ttabs": value}
var dict = {'': value} # empty key
var dict = {'': value} # empty key
< *E1139*
In case the key needs to be an expression, square brackets can be used, just
like in JavaScript: >
@@ -914,7 +917,7 @@ Thus "=~" works like "=~#".
"is" and "isnot" (|expr-is| and |expr-isnot|) when used on strings now return
false. In legacy script they just compare the strings, in |Vim9| script they
check identity, and strings are copied when used, thus two strings are never
the same (this might change some day if strings are not copied but reference
the same (this might change someday if strings are not copied but reference
counted).
@@ -1056,11 +1059,11 @@ It is possible to compare `null` with any value, this will not give a type
error. However, comparing `null` with a number, float or bool will always
result in `false`. This is different from legacy script, where comparing
`null` with zero or `false` would return `true`.
*vim9-false-true*
When converting a boolean to a string `false` and `true` are used, not
`v:false` and `v:true` like in legacy script. `v:none` has no `none`
replacement, it has no equivalent in other languages.
*vim9-string-index*
Indexing a string with [idx] or taking a slice with [idx : idx] uses character
indexes instead of byte indexes. Composing characters are included.
Example: >
@@ -1254,6 +1257,7 @@ level. They cannot be created in a function, also not in a legacy function.
:defc[ompile] Compile functions defined in the current script that
were not compiled yet.
This will report any errors found during compilation.
This excludes functions defined inside a class.
:defc[ompile] {func}
:defc[ompile] debug {func}
@@ -1261,6 +1265,10 @@ level. They cannot be created in a function, also not in a legacy function.
Compile function {func}, if needed. Use "debug" and
"profile" to specify the compilation mode.
This will report any errors found during compilation.
{func} call also be "ClassName.functionName" to
compile a function or method in a class.
{func} call also be "ClassName" to compile all
functions and methods in a class.
*:disa* *:disassemble*
:disa[ssemble] {func} Show the instructions generated for {func}.
@@ -1402,7 +1410,7 @@ to a Vim9 function:
echo line(1) .. line(2)
- line continuation does not always require a backslash: >
echo ['one',
echo ['one',
\ 'two',
\ 'three'
\ ]
@@ -1456,8 +1464,8 @@ have the "void" type. Trying to use a void (e.g. a function without a
return value) results in error *E1031* *E1186* .
There is no array type, use list<{type}> instead. For a list constant an
efficient implementation is used that avoids allocating lot of small pieces of
memory.
efficient implementation is used that avoids allocating a lot of small pieces
of memory.
*E1005* *E1007*
A partial and function can be declared in more or less specific ways:
func any kind of function reference, no type
@@ -1547,6 +1555,8 @@ string to a number.
If a type is given where it is not expected you can get *E1272* .
If a type is incomplete you get *E1363*, e.g. when you have an object for
which the class is not known (usually that is a null object).
Type inference ~
*type-inference*
@@ -1659,8 +1669,8 @@ type, it can not be used in Vim9 script.
*E1211* *E1217* *E1218* *E1219* *E1220* *E1221*
*E1222* *E1223* *E1224* *E1225* *E1226* *E1227*
*E1228* *E1238* *E1250* *E1251* *E1252* *E1253*
*E1256* *E1297* *E1298* *E1301*
*E1228* *E1238* *E1250* *E1251* *E1252* *E1256*
*E1297* *E1298* *E1301*
Types are checked for most builtin functions to make it easier to spot
mistakes.

View File

@@ -1,4 +1,4 @@
*vim9class.txt* For Vim version 9.0. Last change: 2023 Jan 17
*vim9class.txt* For Vim version 9.0. Last change: 2023 Mar 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -205,7 +205,7 @@ new() call is assigned to that object member. This mechanism comes from the
Dart language.
Putting together this way of using new() and making the members public results
in a much shorter class definition as what we started with: >
in a much shorter class definition than what we started with: >
class TextPosition
public this.lnum: number
@@ -469,16 +469,16 @@ interface, which is often done in many languages, especially Java.
Items in a class ~
*E1318* *E1325* *E1326*
Inside a class, in betweeen `:class` and `:endclass`, these items can appear:
Inside a class, in between `:class` and `:endclass`, these items can appear:
- An object member declaration: >
this._memberName: memberType
this.memberName: memberType
this._memberName: memberType
this.memberName: memberType
public this.memberName: memberType
- A constructor method: >
def new(arguments)
def newName(arguments)
def new(arguments)
def newName(arguments)
- An object method: >
def SomeMethod(arguments)
def SomeMethod(arguments)
< *E1329*
For the object member the type must be specified. The best way is to do this
explicitly with ": {type}". For simple types you can also use an initializer,
@@ -520,6 +520,15 @@ name, with a hint about what it provides.
An interface can only be defined in a |Vim9| script file. *E1342*
null object ~
When a variable is declared to have the type of an object, but it is not
initialized, the value is null. When trying to use this null object Vim often
does not know what class was supposed to be used. Vim then cannot check if
a member name is correct and you will get an "Using a null object" error,
even when the member name is invalid. *E1360* *E1362* *E1363*
Default constructor ~
In case you define a class without a new() method, one will be automatically
@@ -863,8 +872,8 @@ Especially when refactoring or other changes to the class model.
The Vim scripts are expected to be used in a plugin, with just one person or a
small team working on it. Complex rules then only make it more complicated,
the extra safety provide by the rules isn't really needed. Let's just keep it
simple and not specify access details.
the extra safety provided by the rules isn't really needed. Let's just keep
it simple and not specify access details.
==============================================================================

View File

@@ -47,7 +47,7 @@ The
was originally written for Vi by Michael C. Pierce and Robert K. Ware,
Colorado School of Mines using ideas supplied by Charles Smith,
Colorado State University.
E-mail: bware@mines.colorado.edu.
E-mail: bware@mines.colorado.edu (now invalid).
.br
It was modified for
.B Vim

View File

@@ -1,4 +1,4 @@
VIMTUTOR(1) VIMTUTOR(1)
VIMTUTOR(1) General Commands Manual VIMTUTOR(1)
@@ -38,7 +38,7 @@ AUTHOR
The Vimtutor was originally written for Vi by Michael C. Pierce and
Robert K. Ware, Colorado School of Mines using ideas supplied by
Charles Smith, Colorado State University. E-mail: bware@mines.col
orado.edu.
orado.edu (now invalid).
It was modified for Vim by Bram Moolenaar. For the names of the trans
lators see the tutor files.

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2023 Feb 02
" Last Change: 2023 Jun 09
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -21,7 +21,7 @@ au BufNewFile,BufRead ?\+.orig,?\+.bak,?\+.old,?\+.new,?\+.dpkg-dist,?\+.dpkg-ol
\ exe "doau filetypedetect BufRead " . fnameescape(expand("<afile>:r"))
au BufNewFile,BufRead *~
\ let s:name = expand("<afile>") |
\ let s:short = substitute(s:name, '\~$', '', '') |
\ let s:short = substitute(s:name, '\~\+$', '', '') |
\ if s:name != s:short && s:short != "" |
\ exe "doau filetypedetect BufRead " . fnameescape(s:short) |
\ endif |
@@ -205,6 +205,9 @@ au BufNewFile,BufRead *.mch,*.ref,*.imp setf b
au BufNewFile,BufRead *.bas call dist#ft#FTbas()
au BufNewFile,BufRead *.bi,*.bm call dist#ft#FTbas()
" Bass
au BufNewFile,BufRead *.bass setf bass
" Visual Basic Script (close to Visual Basic) or Visual Basic .NET
au BufNewFile,BufRead *.vb,*.vbs,*.dsm,*.ctl setf vb
@@ -263,17 +266,23 @@ au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml
" BSDL
au BufNewFile,BufRead *.bsd,*.bsdl setf bsdl
" Bazel (http://bazel.io)
" Bazel (https://bazel.build) and Buck2 (https://buck2.build/)
autocmd BufRead,BufNewFile *.bzl,*.bazel,WORKSPACE,WORKSPACE.bzlmod setf bzl
if has("fname_case")
" There is another check for BUILD further below.
autocmd BufRead,BufNewFile *.BUILD,BUILD setf bzl
" There is another check for BUILD and BUCK further below.
autocmd BufRead,BufNewFile *.BUILD,BUILD,BUCK setf bzl
endif
" Busted (Lua unit testing framework - configuration files)
au BufNewFile,BufRead .busted setf lua
" C or lpc
au BufNewFile,BufRead *.c call dist#ft#FTlpc()
au BufNewFile,BufRead *.lpc,*.ulpc setf lpc
" Cairo
au BufNewFile,BufRead *.cairo setf cairo
" Calendar
au BufNewFile,BufRead calendar setf calendar
@@ -310,6 +319,12 @@ au BufNewFile,BufRead *.cdl setf cdl
" Conary Recipe
au BufNewFile,BufRead *.recipe setf conaryrecipe
" Corn config file
au BufNewFile,BufRead *.corn setf corn
" ChainPack Object Notation (CPON)
au BufNewFile,BufRead *.cpon setf cpon
" Controllable Regex Mutilator
au BufNewFile,BufRead *.crm setf crm
@@ -329,6 +344,10 @@ if has("fname_case")
au BufNewFile,BufRead *.C,*.H setf cpp
endif
" C++ 20 modules (clang)
" https://clang.llvm.org/docs/StandardCPlusPlusModules.html#file-name-requirement
au BufNewFile,BufRead *.cppm,*.ccm,*.cxxm,*.c++m setf cpp
" .h files can be C, Ch C++, ObjC or ObjC++.
" Set c_syntax_for_h if you want C, ch_syntax_for_h if you want Ch. ObjC is
" detected automatically.
@@ -430,12 +449,18 @@ au BufNewFile,BufRead *.cook setf cook
" needs to be inspected.
au BufNewFile,BufRead *.cql setf cqlang
" Crystal
au BufNewFile,BufRead *.cr setf crystal
" CSV Files
au BufNewFile,BufRead *.csv setf csv
" CUDA Compute Unified Device Architecture
au BufNewFile,BufRead *.cu,*.cuh setf cuda
" Cue
au BufNewFile,BufRead *.cue setf cue
" Dockerfile; Podman uses the same syntax with name Containerfile
" Also see Dockerfile.* below.
au BufNewFile,BufRead Containerfile,Dockerfile,dockerfile,*.[dD]ockerfile setf dockerfile
@@ -519,6 +544,9 @@ au BufNewFile,BufRead */etc/apt/sources.list.d/*.list setf debsources
" Deny hosts
au BufNewFile,BufRead denyhosts.conf setf denyhosts
" Dhall
au BufNewFile,BufRead *.dhall setf dhall
" dnsmasq(8) configuration files
au BufNewFile,BufRead */etc/dnsmasq.conf setf dnsmasq
@@ -635,6 +663,9 @@ au BufNewFile,BufRead filter-rules setf elmfilt
" Elsa - https://github.com/ucsd-progsys/elsa
au BufNewFile,BufRead *.lc setf elsa
" EdgeDB Schema Definition Language
au BufNewFile,BufRead *.esdl setf esdl
" ESMTP rc file
au BufNewFile,BufRead *esmtprc setf esmtprc
@@ -753,7 +784,7 @@ au BufNewFile,BufRead */.config/git/config setf gitconfig
au BufNewFile,BufRead *.git/config.worktree setf gitconfig
au BufNewFile,BufRead *.git/worktrees/*/config.worktree setf gitconfig
au BufNewFile,BufRead .gitmodules,*.git/modules/*/config setf gitconfig
if !empty($XDG_CONFIG_HOME)
if exists('$XDG_CONFIG_HOME')
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/config setf gitconfig
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/attributes setf gitattributes
au BufNewFile,BufRead $XDG_CONFIG_HOME/git/ignore setf gitignore
@@ -820,7 +851,7 @@ au BufNewFile,BufRead *.graphql,*.graphqls,*.gql setf graphql
au BufNewFile,BufRead *.gretl setf gretl
" Groovy
au BufNewFile,BufRead *.gradle,*.groovy setf groovy
au BufNewFile,BufRead *.gradle,*.groovy,Jenkinsfile setf groovy
" GNU Server Pages
au BufNewFile,BufRead *.gsp setf gsp
@@ -855,6 +886,10 @@ au BufNewFile,BufRead *.lhs setf lhaskell
au BufNewFile,BufRead *.chs setf chaskell
au BufNewFile,BufRead cabal.project setf cabalproject
au BufNewFile,BufRead $HOME/.cabal/config setf cabalconfig
if exists('$XDG_CONFIG_HOME')
au BufNewFile,BufRead $XDG_CONFIG_HOME/cabal/config setf cabalconfig
endif
au BufNewFile,BufRead $HOME/.config/cabal/config setf cabalconfig
au BufNewFile,BufRead cabal.config setf cabalconfig
" Haste
@@ -1029,12 +1064,15 @@ au BufNewFile,BufRead *.ipynb setf json
au BufNewFile,BufRead .prettierrc,.firebaserc,.stylelintrc setf json
" JSONC (JSON with comments)
au BufNewFile,BufRead *.jsonc,.babelrc,.eslintrc,.jsfmtrc setf jsonc
au BufNewFile,BufRead *.jsonc,.babelrc,.eslintrc,.jsfmtrc setf jsonc
au BufNewFile,BufRead .jshintrc,.hintrc,.swrc,[jt]sconfig*.json setf jsonc
" JSON
au BufNewFile,BufRead *.json,*.jsonp,*.webmanifest setf json
" JSON Lines
au BufNewFile,BufRead *.jsonl setf jsonl
" Jsonnet
au BufNewFile,BufRead *.jsonnet,*.libsonnet setf jsonnet
@@ -1091,6 +1129,9 @@ au BufNewFile,BufRead *.ldif setf ldif
" Ld loader
au BufNewFile,BufRead *.ld setf ld
" Lean
au BufNewFile,BufRead *.lean setf lean
" Ledger
au BufRead,BufNewFile *.ldg,*.ledger,*.journal setf ledger
@@ -1138,6 +1179,9 @@ au BufNewFile,BufRead *.lite,*.lt setf lite
" LiteStep RC files
au BufNewFile,BufRead */LiteStep/*/*.rc setf litestep
" Livebook
au BufNewFile,BufRead *.livemd setf livebook
" Login access
au BufNewFile,BufRead */etc/login.access setf loginaccess
@@ -1156,6 +1200,9 @@ au BufNewFile,BufRead *.lou,*.lout setf lout
" Lua
au BufNewFile,BufRead *.lua setf lua
" Luau
au BufNewFile,BufRead *.luau setf luau
" Luacheck
au BufNewFile,BufRead .luacheckrc setf lua
@@ -1230,7 +1277,7 @@ au BufNewFile,BufRead *.hgrc,*hgrc setf cfg
au BufNewFile,BufRead *.mmd,*.mmdc,*.mermaid setf mermaid
" Meson Build system config
au BufNewFile,BufRead meson.build,meson_options.txt setf meson
au BufNewFile,BufRead meson.build,meson.options,meson_options.txt setf meson
au BufNewFile,BufRead *.wrap setf dosini
" Messages (logs mostly)
@@ -1375,6 +1422,9 @@ au BufNewFile,BufRead *.nse setf lua
" NSIS
au BufNewFile,BufRead *.nsi,*.nsh setf nsis
" Nu
au BufNewFile,BufRead {env,config}.nu setf nu
" Oblivion Language and Oblivion Script Extender
au BufNewFile,BufRead *.obl,*.obse,*.oblivion,*.obscript setf obse
@@ -1387,6 +1437,9 @@ au BufNewFile,BufRead *.occ setf occam
" Octave
au BufNewFile,BufRead octave.conf,.octaverc,octaverc setf octave
" Odin
au BufNewFile,BufRead *.odin setf odin
" Omnimark
au BufNewFile,BufRead *.xom,*.xin setf omnimark
@@ -1521,6 +1574,9 @@ au BufNewFile,BufRead *.plp setf plp
" PO and PO template (GNU gettext)
au BufNewFile,BufRead *.po,*.pot setf po
" Pony
au BufNewFile,BufRead *.pony setf pony
" Postfix main config
au BufNewFile,BufRead main.cf,main.cf.proto setf pfmain
@@ -1631,8 +1687,14 @@ au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python
" QL
au BufRead,BufNewFile *.ql,*.qll setf ql
" QMLdir
au BufRead,BufNewFile qmldir setf qmldir
" Quarto
au BufRead,BufNewFile *.qmd setf quarto
au BufRead,BufNewFile *.qmd setf quarto
" Racket (formerly detected as "scheme")
au BufNewFile,BufRead *.rkt,*.rktd,*.rktl setf racket
" Radiance
au BufNewFile,BufRead *.rad,*.mat setf radiance
@@ -1714,6 +1776,9 @@ au BufNewFile,BufRead *.rnc setf rnc
" Relax NG XML
au BufNewFile,BufRead *.rng setf rng
" ILE RPG
au BufNewFile,BufRead *.rpgle,*.rpgleinc setf rpgle
" RPL/2
au BufNewFile,BufRead *.rpl setf rpl
@@ -1769,6 +1834,9 @@ au BufNewFile,BufRead Cargo.lock,*/.cargo/config,*/.cargo/credentials setf toml
" S-lang (or shader language, or SmallLisp)
au BufNewFile,BufRead *.sl setf slang
" Sage
au BufNewFile,BufRead *.sage setf sage
" Samba config
au BufNewFile,BufRead smb.conf setf samba
@@ -1893,13 +1961,16 @@ au BufNewFile,BufRead .login,.cshrc,csh.cshrc,csh.login,csh.logout,*.csh,.alias
au BufNewFile,BufRead *.zig setf zig
au BufNewFile,BufRead *.zir setf zir
" Zserio
au BufNewFile,BufRead *.zs setf zserio
" Z-Shell script (patterns ending in a star further below)
au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks setf zsh
au BufNewFile,BufRead .zshrc,.zshenv,.zlogin,.zlogout,.zcompdump setf zsh
au BufNewFile,BufRead *.zsh setf zsh
" Scheme
au BufNewFile,BufRead *.scm,*.ss,*.sld,*.rkt,*.rktd,*.rktl setf scheme
" Scheme ("racket" patterns are now separate, see above)
au BufNewFile,BufRead *.scm,*.ss,*.sld setf scheme
" Screen RC
au BufNewFile,BufRead .screenrc,screenrc setf screen
@@ -2000,7 +2071,10 @@ au BufNewFile,BufRead *.spy,*.spi setf spyce
au BufNewFile,BufRead squid.conf setf squid
" SQL for Oracle Designer
au BufNewFile,BufRead *.tyb,*.typ,*.tyc,*.pkb,*.pks setf sql
au BufNewFile,BufRead *.tyb,*.tyc,*.pkb,*.pks setf sql
" *.typ can be either SQL or Typst files
au BufNewFile,BufRead *.typ call dist#ft#FTtyp()
" SQL
au BufNewFile,BufRead *.sql call dist#ft#SQL()
@@ -2008,6 +2082,9 @@ au BufNewFile,BufRead *.sql call dist#ft#SQL()
" SQLJ
au BufNewFile,BufRead *.sqlj setf sqlj
" PRQL
au BufNewFile,BufRead *.prql setf prql
" SQR
au BufNewFile,BufRead *.sqr,*.sqi setf sqr
@@ -2022,6 +2099,9 @@ au BufNewFile,BufRead */etc/ssh/ssh_config.d/*.conf setf sshconfig
au BufNewFile,BufRead sshd_config setf sshdconfig
au BufNewFile,BufRead */etc/ssh/sshd_config.d/*.conf setf sshdconfig
" Starlark
au BufNewFile,BufRead *.ipd,*.star,*.starlark setf starlark
" OpenVPN configuration
au BufNewFile,BufRead *.ovpn setf openvpn
au BufNewFile,BufRead */openvpn/*/*.conf setf openvpn
@@ -2078,6 +2158,9 @@ au BufNewFile,BufRead *.svg setf svg
" Surface
au BufRead,BufNewFile *.sface setf surface
" LLVM TableGen
au BufNewFile,BufRead *.td setf tablegen
" Tads (or Nroff or Perl test file)
au BufNewFile,BufRead *.t
\ if !dist#ft#FTnroff() && !dist#ft#FTperl() | setf tads | endif
@@ -2088,6 +2171,9 @@ au BufNewFile,BufRead tags setf tags
" TAK
au BufNewFile,BufRead *.tak setf tak
" Unx Tal
au BufNewFile,BufRead *.tal setf tal
" Task
au BufRead,BufNewFile {pending,completed,undo}.data setf taskdata
au BufRead,BufNewFile *.task setf taskedit
@@ -2155,6 +2241,9 @@ au BufNewFile,BufRead *.toml setf toml
" TPP - Text Presentation Program
au BufNewFile,BufRead *.tpp setf tpp
" TRACE32 Script Language
au BufNewFile,BufRead *.cmm,*.t32 setf trace32
" Treetop
au BufRead,BufNewFile *.treetop setf treetop
@@ -2202,6 +2291,9 @@ au BufNewFile,BufRead */etc/udev/permissions.d/*.permissions setf udevperm
" Udev symlinks config
au BufNewFile,BufRead */etc/udev/cdsymlinks.conf setf sh
" Ungrammar, AKA Un-grammar
au BufNewFile,BufRead *.ungram setf ungrammar
" UnrealScript
au BufNewFile,BufRead *.uc setf uc
@@ -2216,6 +2308,9 @@ au BufNewFile,BufRead */.init/*.conf,*/.init/*.override setf upstart
au BufNewFile,BufRead */.config/upstart/*.conf setf upstart
au BufNewFile,BufRead */.config/upstart/*.override setf upstart
" URL shortcut
au BufNewFile,BufRead *.url setf urlshortcut
" Vala
au BufNewFile,BufRead *.vala setf vala
@@ -2233,8 +2328,8 @@ au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera
" Vagrant (uses Ruby syntax)
au BufNewFile,BufRead Vagrantfile setf ruby
" Verilog HDL
au BufNewFile,BufRead *.v setf verilog
" Verilog HDL, V or Coq
au BufNewFile,BufRead *.v call dist#ft#FTv()
" Verilog-AMS HDL
au BufNewFile,BufRead *.va,*.vams setf verilogams
@@ -2283,7 +2378,11 @@ au BufNewFile,BufRead *.vroom setf vroom
au BufNewFile,BufRead *.vue setf vue
" WebAssembly
au BufNewFile,BufRead *.wast,*.wat setf wast
au BufNewFile,BufRead *.wat setf wat
au BufNewFile,BufRead *.wast setf wast
" WebAssembly Interface Type (WIT)
au BufNewFile,BufRead *.wit setf wit
" Webmacro
au BufNewFile,BufRead *.wm setf webmacro
@@ -2438,6 +2537,9 @@ au BufNewFile,BufRead */etc/yum.conf setf dosini
" YANG
au BufRead,BufNewFile *.yang setf yang
" Yuck
au BufNewFile,BufRead *.yuck setf yuck
" Zimbu
au BufNewFile,BufRead *.zu setf zimbu
" Zimbu Templates
@@ -2503,9 +2605,9 @@ au BufNewFile,BufRead *asterisk*/*voicemail.conf* call s:StarSetf('asteriskvm')
" Bazaar version control
au BufNewFile,BufRead bzr_log.* setf bzr
" Bazel build file
" Bazel and Buck2 build file
if !has("fname_case")
au BufNewFile,BufRead *.BUILD,BUILD setf bzl
au BufNewFile,BufRead *.BUILD,BUILD,BUCK setf bzl
endif
" BIND zone
@@ -2663,6 +2765,9 @@ au BufNewFile,BufRead .login*,.cshrc* call dist#ft#CSH()
" tmux configuration with arbitrary extension
au BufNewFile,BufRead {.,}tmux*.conf* setf tmux
" Universal Scene Description
au BufNewFile,BufRead *.usda,*.usd setf usd
" VHDL
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
@@ -2719,8 +2824,10 @@ augroup END
" Generic configuration file. Use FALLBACK, it's just guessing!
au filetypedetect BufNewFile,BufRead,StdinReadPost *
\ if !did_filetype() && expand("<amatch>") !~ g:ft_ignore_pat
\ && (getline(1) =~ '^#' || getline(2) =~ '^#' || getline(3) =~ '^#'
\ || getline(4) =~ '^#' || getline(5) =~ '^#') |
\ && (expand("<amatch>") =~# '\.conf$'
\ || getline(1) =~ '^#' || getline(2) =~ '^#'
\ || getline(3) =~ '^#' || getline(4) =~ '^#'
\ || getline(5) =~ '^#') |
\ setf FALLBACK conf |
\ endif

18
runtime/ftplugin/corn.vim Normal file
View File

@@ -0,0 +1,18 @@
" Vim filetype plugin
" Language: Corn
" Original Author: Jake Stanger (mail@jstanger.dev)
" License: MIT
" Last Change: 2023 May 28
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
setlocal formatoptions-=t
" Set comment (formatting) related options.
setlocal commentstring=//\ %s comments=://
" Let Vim know how to disable the plug-in.
let b:undo_ftplugin = 'setlocal commentstring< comments< formatoptions<'

View File

@@ -1,7 +1,10 @@
" Vim filetype plugin file
" Language: MS-DOS .bat files
" Maintainer: Mike Williams <mrw@eandem.co.uk>
" Last Change: 7th May 2020
" Language: MS-DOS/Windows .bat files
" Maintainer: Mike Williams <mrmrdubya@gmail.com>
" Last Change: 12th February 2023
"
" Options Flags:
" dosbatch_colons_comment - any value to treat :: as comment line
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -15,8 +18,13 @@ let s:cpo_save = &cpo
set cpo&vim
" BAT comment formatting
setlocal comments=b:rem,b:@rem,b:REM,b:@REM,:::
setlocal commentstring=::\ %s
setlocal comments=b:rem,b:@rem,b:REM,b:@REM
if exists("dosbatch_colons_comment")
setlocal comments+=:::
setlocal commentstring=::\ %s
else
setlocal commentstring=REM\ %s
endif
setlocal formatoptions-=t formatoptions+=rol
" Lookup DOS keywords using Windows command help.

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Fennel
" Maintainer: Gregory Anders <greg[NOSPAM]@gpanders.com>
" Last Update: 2022 Apr 20
" Last Update: 2023 Jun 9
if exists('b:did_ftplugin')
finish
@@ -13,6 +13,6 @@ setlocal comments=:;;,:;
setlocal formatoptions-=t
setlocal suffixesadd=.fnl
setlocal lisp
setlocal lispwords=accumulate,collect,do,doto,each,eval-compiler,fn,for,icollect,lambda,let,macro,macros,match,match-try,when,while,with-open
setlocal lispwords=accumulate,case,case-try,collect,do,doto,each,eval-compiler,faccumulate,fcollect,fn,for,icollect,lambda,let,macro,macros,match,match-try,when,while,with-open
let b:undo_ftplugin = 'setlocal commentstring< comments< formatoptions< suffixesadd< lisp< lispwords<'

15
runtime/ftplugin/fish.vim Normal file
View File

@@ -0,0 +1,15 @@
" Vim filetype plugin file
" Language: fish
" Maintainer: Nicholas Boyle (github.com/nickeb96)
" Repository: https://github.com/nickeb96/fish.vim
" Last Change: February 1, 2023
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
setlocal iskeyword=@,48-57,_,192-255,-,.
setlocal comments=:#
setlocal commentstring=#%s
setlocal formatoptions+=crjq

View File

@@ -0,0 +1,9 @@
" Placeholder livebook filetype plugin file.
" This simply uses the markdown filetype plugin.
" Only load this plugin when no other was loaded.
if exists("b:did_ftplugin")
finish
endif
runtime! ftplugin/markdown.vim ftplugin/markdown_*.vim ftplugin/markdown/*.vim

View File

@@ -4,7 +4,8 @@
" Previous Maintainer: Max Ischenko <mfi@ukr.net>
" Contributor: Dorai Sitaram <ds26@gte.com>
" C.D. MacEachern <craig.daniel.maceachern@gmail.com>
" Last Change: 2022 Nov 19
" Tyler Miller <tmillr@proton.me>
" Last Change: 2023 Mar 24
if exists("b:did_ftplugin")
finish
@@ -14,7 +15,7 @@ let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
setlocal comments=:--
setlocal comments=:---,:--
setlocal commentstring=--\ %s
setlocal formatoptions-=t formatoptions+=croql

14
runtime/ftplugin/luau.vim Normal file
View File

@@ -0,0 +1,14 @@
" Vim filetype plugin file
" Language: Luau
" Maintainer: None yet
" Last Change: 2023 Apr 30
if exists("b:did_ftplugin")
finish
endif
" Luau is a superset of Lua
runtime! ftplugin/lua.vim
" vim: nowrap sw=2 sts=2 ts=8

View File

@@ -3,7 +3,7 @@
" Maintainer: Jason Franklin <vim@justemail.net>
" Maintainer: SungHyun Nam <goweol@gmail.com>
" Autoload Split: Bram Moolenaar
" Last Change: 2022 Sep 30
" Last Change: 2023 Mar 21
" To make the ":Man" command available before editing a manual page, source
" this script from your startup vimrc file.
@@ -24,8 +24,8 @@ set cpo-=C
if &filetype == "man"
" Allow hyphen, plus, colon, dot, and commercial at in manual page name.
" Allow parentheses for references.
setlocal iskeyword=48-57,_,a-z,A-Z,-,+,:,.,@-@,(,)
" Parentheses are not here but in dist#man#PreGetPage()
setlocal iskeyword=48-57,_,a-z,A-Z,-,+,:,.,@-@
let b:undo_ftplugin = "setlocal iskeyword<"
" Add mappings, unless the user didn't want this.

View File

@@ -2,6 +2,7 @@
" Language: netrc(5) configuration file
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2008-07-09
" Last Change: 2023 Feb 27 by Keith Smiley
if exists("b:did_ftplugin")
finish
@@ -13,7 +14,7 @@ set cpo&vim
let b:undo_ftplugin = "setl com< cms< fo<"
setlocal comments= commentstring= formatoptions-=tcroq formatoptions+=l
setlocal comments=b:# commentstring=#\ %s formatoptions-=tcroq formatoptions+=l
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1 @@
runtime ftplugin/rmd.vim

View File

@@ -2,7 +2,7 @@
" Language: R
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
" Last Change: Sat Aug 15, 2020 11:37AM
" Last Change: Sun Apr 24, 2022 09:14AM
" Only do this when not yet done for this buffer
if exists("b:did_ftplugin")
@@ -22,7 +22,7 @@ setlocal comments=:#',:###,:##,:#
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "R Source Files (*.R)\t*.R\n" .
\ "Files that include R (*.Rnw *.Rd *.Rmd *.Rrst)\t*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
\ "Files that include R (*.Rnw *.Rd *.Rmd *.Rrst *.qmd)\t*.Rnw;*.Rd;*.Rmd;*.Rrst;*.qmd\n" .
\ "All Files (*.*)\t*.*\n"
endif

View File

@@ -2,7 +2,7 @@
" Language: R help file
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
" Last Change: Sat Aug 15, 2020 12:01PM
" Last Change: Sun Apr 24, 2022 09:12AM
" Only do this when not yet done for this buffer
if exists("b:did_ftplugin")
@@ -18,7 +18,7 @@ set cpo&vim
setlocal iskeyword=@,48-57,_,.
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst *.qmd)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst;*.qmd\n" .
\ "All Files (*.*)\t*.*\n"
endif

View File

@@ -2,7 +2,7 @@
" Language: R Markdown file
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
" Last Change: Sat Aug 15, 2020 12:03PM
" Last Change: Mon Feb 27, 2023 07:15PM
" Original work by Alex Zvoleff (adjusted from R help for rmd by Michel Kuhlmann)
" Only do this when not yet done for this buffer
@@ -23,7 +23,7 @@ setlocal iskeyword=@,48-57,_,.
let s:cpo_save = &cpo
set cpo&vim
function! FormatRmd()
function FormatRmd()
if search("^[ \t]*```[ ]*{r", "bncW") > search("^[ \t]*```$", "bncW")
setlocal comments=:#',:###,:##,:#
else
@@ -32,13 +32,24 @@ function! FormatRmd()
return 1
endfunction
" If you do not want 'comments' dynamically defined, put in your vimrc:
" let g:rmd_dynamic_comments = 0
function SetRmdCommentStr()
if (search("^[ \t]*```[ ]*{r", "bncW") > search("^[ \t]*```$", "bncW")) || ((search('^---$', 'Wn') || search('^\.\.\.$', 'Wn')) && search('^---$', 'bnW'))
set commentstring=#\ %s
else
set commentstring=<!--\ %s\ -->
endif
endfunction
" If you do not want both 'comments' and 'commentstring' dynamically defined,
" put in your vimrc: let g:rmd_dynamic_comments = 0
if !exists("g:rmd_dynamic_comments") || (exists("g:rmd_dynamic_comments") && g:rmd_dynamic_comments == 1)
setlocal formatexpr=FormatRmd()
augroup RmdCStr
autocmd!
autocmd CursorMoved <buffer> call SetRmdCommentStr()
augroup END
endif
" Enables pandoc if it is installed
unlet! b:did_ftplugin
runtime ftplugin/pandoc.vim
@@ -47,7 +58,7 @@ runtime ftplugin/pandoc.vim
let b:did_ftplugin = 1
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst *.qmd)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst;*.qmd\n" .
\ "All Files (*.*)\t*.*\n"
endif

View File

@@ -2,7 +2,7 @@
" Language: Rnoweb
" Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
" Last Change: Sat Aug 15, 2020 12:02PM
" Last Change: Mon Feb 27, 2023 07:16PM
" Only do this when not yet done for this buffer
if exists("b:did_ftplugin")
@@ -25,14 +25,31 @@ setlocal suffixesadd=.bib,.tex
setlocal comments=b:%,b:#,b:##,b:###,b:#'
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst\n" .
let b:browsefilter = "R Source Files (*.R *.Rnw *.Rd *.Rmd *.Rrst *.qmd)\t*.R;*.Rnw;*.Rd;*.Rmd;*.Rrst;*.qmd\n" .
\ "All Files (*.*)\t*.*\n"
endif
function SetRnwCommentStr()
if (search("^\s*<<.*>>=", "bncW") > search("^@", "bncW"))
set commentstring=#\ %s
else
set commentstring=%\ %s
endif
endfunction
" If you do not want both 'comments' and 'commentstring' dynamically defined,
" put in your vimrc: let g:rnw_dynamic_comments = 0
if !exists("g:rnw_dynamic_comments") || (exists("g:rnw_dynamic_comments") && g:rnw_dynamic_comments == 1)
augroup RnwCStr
autocmd!
autocmd CursorMoved <buffer> call SetRnwCommentStr()
augroup END
endif
if exists('b:undo_ftplugin')
let b:undo_ftplugin .= " | setl isk< sua< com< | unlet! b:browsefilter"
let b:undo_ftplugin .= " | setl isk< sua< com< cms< | unlet! b:browsefilter"
else
let b:undo_ftplugin = "setl isk< sua< com< | unlet! b:browsefilter"
let b:undo_ftplugin = "setl isk< sua< com< cms< | unlet! b:browsefilter"
endif
let &cpo = s:cpo_save

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