Compare commits

..

180 Commits

Author SHA1 Message Date
Bram Moolenaar
3c25a8617a patch 8.2.4967: MS-Windows GUI: mouse event test sometimes fails
Problem:    MS-Windows GUI: mouse event test sometimes fails.
Solution:   Ignore one move event only if there is an extra event.
2022-05-16 17:07:41 +01:00
Bram Moolenaar
e5162e76c0 patch 8.2.4966: MS-Windows GUI: mouse event test gets extra event
Problem:    MS-Windows GUI: mouse event test gets extra event.
Solution:   Ignore one move event.
2022-05-16 16:41:35 +01:00
Bram Moolenaar
7add8d3731 patch 8.2.4965: GUI: testing mouse move event depends on screen cell size
Problem:    GUI: testing mouse move event depends on screen cell size.
Solution:   Multiply the row and column with the screen cell size.
2022-05-16 15:27:46 +01:00
Bram Moolenaar
3b675c276c patch 8.2.4964: MS-Windows GUI: mouse event test is flaky
Problem:    MS-Windows GUI: mouse event test is flaky.
Solution:   Add a short delay after generating a mouse event.
2022-05-16 13:34:44 +01:00
Bram Moolenaar
386c24cd26 patch 8.2.4963: expanding path with "/**" may overrun end of buffer
Problem:    Expanding path with "/**" may overrun end of buffer.
Solution:   Use vim_snprintf().
2022-05-16 12:37:36 +01:00
shane.xb.qian
5a8fad32ea patch 8.2.4962: files show up in git status
Problem:    Files show up in git status.
Solution:   Adjust the list of ignored files.  Clean up more test files.
            (Shane xb Qian, closes #9929)
2022-05-16 11:14:09 +01:00
Bram Moolenaar
9f28eeb694 patch 8.2.4961: build error with a certain combination of features
Problem:    Build error with a certain combination of features.
Solution:   Adjust #if. (John Marriott)
2022-05-16 10:04:51 +01:00
Paul Ollis
1bdc60eb91 patch 8.2.4960: text properties that cross lines not updated for deleted line
Problem:    Text properties that cross line boundary are not correctly updated
            for a deleted line.
Solution:   Correct computing location of text property entry. (Paul Ollis,
            closes #10431, closes #10430)
2022-05-15 22:24:55 +01:00
Bram Moolenaar
b62dc5e782 patch 8.2.4959: using NULL regexp program
Problem:    Using NULL regexp program.
Solution:   Check for regexp program becoming NULL in more places.
2022-05-15 14:50:12 +01:00
=?UTF-8?q?Dundar=20G=C3=B6c?=
dd41037552 patch 8.2.4958: a couple conditions are always true
Problem:    A couple conditions are always true.
Solution:   Remove the conditions. (Goc Dundar, closes #10428)
2022-05-15 13:59:11 +01:00
LemonBoy
b559b302e0 patch 8.2.4957: text properties in a wrong position after a block change
Problem:    Text properties in a wrong position after a block change.
Solution:   Adjust the properties columns. (closes #10427)
2022-05-15 13:08:02 +01:00
Bram Moolenaar
395bd1f6d3 patch 8.2.4956: reading past end of line with "gf" in Visual block mode
Problem:    Reading past end of line with "gf" in Visual block mode.
Solution:   Do not include the NUL in the length.
2022-05-14 21:29:44 +01:00
LemonBoy
788c06a249 patch 8.2.4955: text property in wrong position after auto-indent
Problem:    Text property in wrong position after auto-indent.
Solution:   Adjust text property columns. (closes #10422, closes #7719)
2022-05-14 18:48:05 +01:00
LemonBoy
698cb4c8fa patch 8.2.4954: inserting line breaks text property spanning two lines
Problem:    Inserting line breaks text property spanning more then one line.
Solution:   Check TP_FLAG_CONT_PREV and TP_FLAG_CONT_NEXT. (closes #10423)
2022-05-14 18:10:15 +01:00
Bram Moolenaar
30ab04e16e Update runtime files, new color schemes 2022-05-14 13:33:50 +01:00
Bram Moolenaar
2e444bbef0 patch 8.2.4953: with 'si' inserting '}' after completion goes wrong
Problem:    With 'smartindent' inserting '}' after completion goes wrong.
Solution:   Check the cursor is in indent.  (closes #10420)
2022-05-14 12:54:23 +01:00
Bram Moolenaar
98feacedf9 patch 8.2.4952: GUI test will fail if color scheme changes
Problem:    GUI test will fail if color scheme changes.
Solution:   Reduce the test for now.
2022-05-14 12:34:43 +01:00
Bram Moolenaar
de5cf28781 patch 8.2.4951: smart indenting done when not enabled
Problem:    Smart indenting done when not enabled.
Solution:   Check option values before setting can_si. (closes #10420)
2022-05-14 11:52:23 +01:00
LemonBoy
4b93674159 patch 8.2.4950: text properties position wrong after shifting text
Problem:    Text properties position wrong after shifting text.
Solution:   Adjust the text properties when shifting a block of text.
            (closes #10418)
2022-05-13 21:56:28 +01:00
Bram Moolenaar
31ad32a325 patch 8.2.4949: Vim9: some code not covered by tests
Problem:    Vim9: some code not covered by tests.
Solution:   Add a few more test cases.  Fix double error message.
2022-05-13 16:23:37 +01:00
Bram Moolenaar
d881d15984 patch 8.2.4948: cannot use Perl heredoc in nested :def function
Problem:    Cannot use Perl heredoc in nested :def function. (Virginia
            Senioria)
Solution:   Only concatenate heredoc lines when not in a nested function.
            (closes #10415)
2022-05-13 13:50:36 +01:00
LemonBoy
b7a7012555 patch 8.2.4947: text properties not adjusted when accepting spell suggestion
Problem:    Text properties not adjusted when accepting spell suggestion.
Solution:   Adjust text properties when text changes. (closes #10414)
2022-05-13 12:41:50 +01:00
Bram Moolenaar
7f8a3b11bf patch 8.2.4946: Vim9: some code not covered by tests
Problem:    Vim9: some code not covered by tests.
Solution:   Add a few more test cases.  Remove dead code.
2022-05-12 22:03:01 +01:00
Bram Moolenaar
9f1983de4e patch 8.2.4945: inconsistent use of white space
Problem:    Inconsistent use of white space.
Solution:   Use Tabs and Spaces consistently.
2022-05-12 20:35:35 +01:00
Bram Moolenaar
3f32a5f160 Update runtime files and translations 2022-05-12 20:34:15 +01:00
LemonBoy
d0b1a09f44 patch 8.2.4944: text properties are wrong after "cc"
Problem:    Text properties are wrong after "cc". (Axel Forsman)
Solution:   Pass the deleted byte count to inserted_bytes(). (closes #10412,
            closes #7737, closes #5763)
2022-05-12 18:45:18 +01:00
Sean Dewar
39c46b4378 patch 8.2.4943: changing 'switchbuf' may have no effect
Problem:    Changing 'switchbuf' may have no effect.
Solution:   Handle 'switchbuf' in didset_string_options(). (Sean Dewar,
            closes #10406)
2022-05-12 17:44:29 +01:00
Bram Moolenaar
de216732d4 patch 8.2.4942: error when setting 'filetype' in help file again
Problem:    Error when setting 'filetype' in help file again.
Solution:   Deal with text property type already existing. (closes #10409)
2022-05-12 17:24:49 +01:00
LemonBoy
82444cefa3 patch 8.2.4941: '[ and '] marks may be wrong after undo
Problem:    '[ and '] marks may be wrong after undo.
Solution:   Adjust the '[ and '] marks if needed. (closes #10407, closes #1281)
2022-05-12 15:39:31 +01:00
Bram Moolenaar
d0132f4862 patch 8.2.4940: some code is never used
Problem:    Some code is never used.
Solution:   Remove dead code.  Add a few more test cases.
2022-05-12 11:05:40 +01:00
zeertzjq
9af2bc0751 patch 8.2.4939: matchfuzzypos() with "matchseq" does not have all positions
Problem:    matchfuzzypos() with "matchseq" does not have all positions.
Solution:   Also add a position for white space. (closes #10404)
2022-05-11 14:15:37 +01:00
Bram Moolenaar
a59f2dfd0c patch 8.2.4938: crash when matching buffer with invalid pattern
Problem:    Crash when matching buffer with invalid pattern.
Solution:   Check for NULL regprog.
2022-05-11 11:42:28 +01:00
Bram Moolenaar
ead241538c patch 8.2.4937: no test for what 8.2.4931 fixes
Problem:    No test for what 8.2.4931 fixes.
Solution:   Add a test that triggers a valgrind error.
2022-05-10 21:11:12 +01:00
LemonBoy
a773d84570 patch 8.2.4936: MS-Windows: mouse coordinates for scroll event are wrong
Problem:    MS-Windows: mouse coordinates for scroll event are wrong.
Solution:   Convert coordinates to the text area coordinates. (closes #10400)
2022-05-10 20:54:46 +01:00
Brandon Simmons
d98e75e236 patch 8.2.4935: with 'foldmethod' "indent" some lines not included in fold
Problem:    With 'foldmethod' "indent" some lines are not included in the
            fold. (Oleg Koshovetc)
Solution:   Fix it. (Brandon Simmons, closes #10399, closes #3214)
2022-05-10 19:13:23 +01:00
Bram Moolenaar
70c41241c2 patch 8.2.4934: string interpolation fails when not evaluating
Problem:    String interpolation fails when not evaluating.
Solution:   Skip the expression when not evaluating. (closes #10398)
2022-05-10 18:11:43 +01:00
Bram Moolenaar
df6e0e46c5 patch 8.2.4933: a few more capitalization mistakes in error messages
Problem:    A few more capitalization mistakes in error messages.
Solution:   Adjust capitalization. (Doug Kearns)
2022-05-10 17:51:55 +01:00
Ernie Rael
d8f5f76621 patch 8.2.4932: not easy to filter the output of maplist()
Problem:    Not easy to filter the output of maplist().
Solution:   Add mode_bits to the dictionary. (Ernie Rael, closes #10356)
2022-05-10 17:50:39 +01:00
Bram Moolenaar
0f267621c0 patch 8.2.4931: Crash with sequence of Perl commands
Problem:    Crash with sequence of Perl commands.
Solution:   Move PUTBACK to another line. (closes #10386)
2022-05-10 13:32:24 +01:00
Bram Moolenaar
0abc2871c1 patch 8.2.4930: interpolated string expression requires escaping
Problem:    Interpolated string expression requires escaping.
Solution:   Do not require escaping in the expression.
2022-05-10 13:24:30 +01:00
LemonBoy
57ff52677b patch 8.2.4929: off-by-one error in in statusline item
Problem:    Off-by-one error in in statusline item.
Solution:   Subtrace one less. (closes #10394, closes #5599)
2022-05-09 21:03:47 +01:00
Bram Moolenaar
6ed545e797 patch 8.2.4928: various white space and cosmetic mistakes
Problem:    Various white space and cosmetic mistakes.
Solution:   Change spaces to tabs, improve comments.
2022-05-09 20:09:23 +01:00
Bram Moolenaar
921bde8880 Update runtime files, translations 2022-05-09 19:50:35 +01:00
Bram Moolenaar
2ac037f54b patch 8.2.4927: return type of remove() incorrect when using three arguments
Problem:    Return type of remove() incorrect when using three arguments.
Solution:   Use first argument type when there are three arguments.
            (closes #10387)
2022-05-09 14:12:14 +01:00
zeertzjq
51f0bc31d3 patch 8.2.4926: #ifdef for crypt feature around too many lines
Problem:    #ifdef for crypt feature around too many lines.
Solution:   Move code outside of #ifdef. (closes #10388)
2022-05-09 13:33:39 +01:00
Bram Moolenaar
53a70289c2 patch 8.2.4925: trailing backslash may cause reading past end of line
Problem:    Trailing backslash may cause reading past end of line.
Solution:   Check for NUL after backslash.
2022-05-09 13:15:07 +01:00
zeertzjq
0519ce0039 patch 8.2.4924: maparg() may return a string that cannot be reused
Problem:    maparg() may return a string that cannot be reused.
Solution:   use msg_outtrans_special() instead of str2special().
            (closes #10384)
2022-05-09 12:16:19 +01:00
zeertzjq
194843028e patch 8.2.4923: test checks for terminal feature unnecessarily
Problem:    Test checks for terminal feature unnecessarily.
Solution:   Remove CheckRunVimInTerminal. (closes #10383)
2022-05-09 11:03:19 +01:00
Bram Moolenaar
b370771bff patch 8.2.4922: mouse test fails on MS-Windows
Problem:    Mouse test fails on MS-Windows.
Solution:   Set 'mousemodel' to "extend".
2022-05-08 22:49:43 +01:00
Bram Moolenaar
fe978c2b6b patch 8.2.4921: spell test fails because of new illegal byte check
Problem:    Spell test fails because of new illegal byte check.
Solution:   Remove the test.
2022-05-08 22:43:51 +01:00
Bram Moolenaar
728a05c4ab patch 8.2.4920: MS-Windows GUI: unused variables
Problem:    MS-Windows GUI: unused variables.
Solution:   Delete the variables. (John Marriott)
2022-05-08 22:37:45 +01:00
Bram Moolenaar
7c824682d2 patch 8.2.4919: can add invalid bytes with :spellgood
Problem:    Can add invalid bytes with :spellgood.
Solution:   Check for a valid word string.
2022-05-08 22:32:58 +01:00
LemonBoy
9830db6305 patch 8.2.4918: conceal character from matchadd() displayed too many times
Problem:    Conceal character from matchadd() displayed too many times.
Solution:   Check the syntax flag. (closes #10381, closes #7268)
2022-05-08 21:25:20 +01:00
Christian Brabandt
cb747899bd patch 8.2.4917: fuzzy expansion of option names is not right
Problem:    Fuzzy expansion of option names is not right.
Solution:   Pass the fuzzy flag down the call chain. (Christian Brabandt,
            closes #10380, closes #10318)
2022-05-08 21:10:56 +01:00
Bram Moolenaar
8e8dc9b323 patch 8.2.4916: mouse in Insert mode test fails
Problem:    Mouse in Insert mode test fails.
Solution:   Fix the text and check relevant positions.
2022-05-08 20:38:06 +01:00
Bram Moolenaar
a91cb98bb3 patch 8.2.4915: sometimes the cursor is in the wrong position
Problem:    Sometimes the cursor is in the wrong position.
Solution:   When the cursor moved to another line, recompute w_botline.
            (closes #9736)
2022-05-08 19:39:31 +01:00
Bram Moolenaar
933c2922b5 patch 8.2.4914: string interpolation in :def function may fail
Problem:    String interpolation in :def function may fail.
Solution:   Do not terminate the expression. (closes #10377)
2022-05-08 16:37:07 +01:00
Bram Moolenaar
27724251bc patch 8.2.4913: popup_hide() does not always have effect
Problem:    Popup_hide() does not always have effect.
Solution:   Add the POPF_HIDDEN_FORCE flag. (closes #10376)
2022-05-08 15:00:04 +01:00
Bram Moolenaar
d899e51120 Update runtime files 2022-05-07 21:54:03 +01:00
Bram Moolenaar
a7583c42cd patch 8.2.4912: using execute() to define a lambda doesn't work
Problem:    Using execute() to define a lambda doesn't work. (Ernie Rael)
Solution:   Put the getline function in evalarg. (closes #10375)
2022-05-07 21:14:05 +01:00
Bram Moolenaar
249591057b patch 8.2.4911: the mode #defines are not clearly named
Problem:    The mode #defines are not clearly named.
Solution:   Prepend MODE_.  Renumber them to put the mapped modes first.
2022-05-07 20:01:16 +01:00
Bram Moolenaar
9ff7d717aa patch 8.2.4910: imperfect coding
Problem:    Imperfect coding.
Solution:   Make code nicer.
2022-05-07 17:45:16 +01:00
Bram Moolenaar
ac4174e166 patch 8.2.4909: MODE_ enum entries names are too generic
Problem:    MODE_ enum entries names are too generic.
Solution:   use CH_MODE_.
2022-05-07 16:38:24 +01:00
Bram Moolenaar
48a8a83303 patch 8.2.4908: no text formatting for // comment after a statement
Problem:    No text formatting for // comment after a statement.
Solution:   format a comment when the 'c' flag is in 'formatoptions'.
2022-05-07 15:43:52 +01:00
Bram Moolenaar
2bf875f881 patch 8.2.4907: some users do not want a line comment always inserted
Problem:    Some users do not want a line comment always inserted.
Solution:   Add the '/' flag to 'formatoptions' to not repeat the comment
            leader after a statement when using "o".
2022-05-07 14:54:11 +01:00
Yasuhiro Matsumoto
aa04e1b0be patch 8.2.4906: MS-Windows: cannot use transparent background
Problem:    MS-Windows: cannot use transparent background.
Solution:   Make transparent background work with 'termguicolors' and NONE
            background color. (Yasuhiro Matsumoto, closes #10310, closes #7162)
2022-05-07 14:09:19 +01:00
Bram Moolenaar
3f1cfcb864 patch 8.2.4905: codecov includes MS-Windows install header file
Problem:    codecov includes MS-Windows install header file.
Solution:   Ignore dosinst.h.
2022-05-07 13:25:37 +01:00
Bram Moolenaar
4649c12123 patch 8.2.4904: codecov includes MS-Windows install files
Problem:    codecov includes MS-Windows install files.
Solution:   Ignore dosinst.c and uninstall.c.
2022-05-07 13:00:42 +01:00
Shougo Matsushita
79d599b877 patch 8.2.4903: cannot get the current cmdline completion type and position
Problem:    Cannot get the current cmdline completion type and position.
Solution:   Add getcmdcompltype() and getcmdscreenpos(). (Shougo Matsushita,
            closes #10344)
2022-05-07 12:48:29 +01:00
LemonBoy
c27747e6dd patch 8.2.4902: mouse wheel scrolling is inconsistent
Problem:    Mouse wheel scrolling is inconsistent.
Solution:   Use the MS-Winows system setting. (closes #10368)
2022-05-07 12:25:40 +01:00
Bram Moolenaar
8e4b76da1d patch 8.2.4901: NULL pointer access when using invalid pattern
Problem:    NULL pointer access when using invalid pattern.
Solution:   Check for failed regexp program.
2022-05-07 11:28:06 +01:00
Dominique Pelle
801c3c1dbe patch 8.2.4900: Vim9 expression test fails without the job feature
Problem:    Vim9 expression test fails without the job feature.
Solution:   Add a check for the job feature. (Dominique Pellé, closes #10373)
2022-05-07 11:00:08 +01:00
Bram Moolenaar
ef02f16609 patch 8.2.4899: with latin1 encoding CTRL-W might go before the cmdline
Problem:    With latin1 encoding CTRL-W might go before the start of the
            command line.
Solution:   Check already being at the start of the command line.
2022-05-07 10:49:10 +01:00
Bram Moolenaar
70d87690a3 patch 8.2.4898: Coverity complains about pointer usage
Problem:    Coverity complains about pointer usage.
Solution:   Move code for increment/decerment.
2022-05-07 10:03:27 +01:00
Bram Moolenaar
39be4981cd patch 8.2.4897: comment inside an expression in lambda ignores the rest
Problem:    Comment inside an expression in lambda ignores the rest of the
            expression.
Solution:   Truncate the line at the comment. (closes #10367)
2022-05-06 21:51:50 +01:00
Bram Moolenaar
a13e7acba9 patch 8.2.4896: expression in command block does not look after NL
Problem:    Expression in command block does not look after NL when command is
            typed.
Solution:   Skip over NL also when not in a script. (closes #10358)
2022-05-06 21:24:31 +01:00
Bram Moolenaar
d88934406c patch 8.2.4895: buffer overflow with invalid command with composing chars
Problem:    Buffer overflow with invalid command with composing chars.
Solution:   Check that the whole character fits in the buffer.
2022-05-06 20:38:47 +01:00
LemonBoy
5a7b6dc23c patch 8.2.4894: MS-Windows: not using italics
Problem:    MS-Windows: not using italics.
Solution:   Use italics.  Simplify the code. (closes #10359)
2022-05-06 18:38:41 +01:00
Bram Moolenaar
44433da534 patch 8.2.4893: distributed import files are not installed
Problem:    Distributed import files are not installed.
Solution:   Add rules to Makefile and NSIS.
2022-05-06 18:08:52 +01:00
Bram Moolenaar
ec89223478 patch 8.2.4892: test failures because of changed error messages
Problem:    Test failures because of changed error messages.
Solution:   Adjust the exptected error messages.
2022-05-06 17:53:06 +01:00
Bram Moolenaar
b3c9077a5b patch 8.2.4891: Vim help presentation could be better
Problem:    Vim help presentation could be better.
Solution:   Add an imported file for extra Vim help support.  Show highlight
            names in the color they have.
2022-05-06 16:32:46 +01:00
Bram Moolenaar
cf030578b2 patch 8.2.4890: inconsistent capitalization in error messages
Problem:    Inconsistent capitalization in error messages.
Solution:   Make capitalization consistent. (Doug Kearns)
2022-05-06 16:18:41 +01:00
Philip H
009e79c7b7 patch 8.2.4889: CI only tests with FreeBSD 12
Problem:    CI only tests with FreeBSD 12.
Solution:   Also test with FreeBSD 13. (closes #10366)
2022-05-06 16:10:50 +01:00
Bram Moolenaar
521bf32bb4 patch 8.2.4888: line number of lambda ignores line continuation
Problem:    Line number of lambda ignores line continuation.
Solution:   Use the line number of where the arguments are. Avoid outputting
            "..." twice. (closes #10364)
2022-05-06 15:47:07 +01:00
Bram Moolenaar
9b334d5912 patch 8.2.4887: channel log does not show invoking a timer callback
Problem:    Channel log does not show invoking a timer callback.
Solution:   Add a ch_log() call.
2022-05-06 14:59:04 +01:00
Bram Moolenaar
bc6f2bf78a patch 8.2.4886: Vim9: redir in skipped block seen as assignment
Problem:    Vim9: redir in skipped block seen as assignment.
Solution:   Check for valid assignment.
2022-05-06 14:29:09 +01:00
Bram Moolenaar
f1d63b9cba patch 8.2.4885: test fails with the job/channel feature
Problem:    Test fails with the job/channel feature.
Solution:   Move check for job/channel separately.
2022-05-06 13:37:42 +01:00
Bram Moolenaar
175913fb03 patch 8.2.4884: test fails without the job/channel feature
Problem:    Test fails without the job/channel feature. (Dominique Pellé)
Solution:   Add condition.
2022-05-06 13:27:08 +01:00
LemonBoy
2eaef106e4 patch 8.2.4883: string interpolation only works in heredoc
Problem:    String interpolation only works in heredoc.
Solution:   Support interpolated strings.  Use syntax for heredoc consistent
            with strings, similar to C#. (closes #10327)
2022-05-06 13:14:50 +01:00
Christian Brabandt
e7d6dbc572 patch 8.2.4882: cannot make 'breakindent' use a specific column
Problem:    Cannot make 'breakindent' use a specific column.
Solution:   Add the "column" entry in 'breakindentopt'. (Christian Brabandt,
            closes #10362, closes #10325)
2022-05-06 12:21:04 +01:00
Shougo Matsushita
509142ab7a patch 8.2.4881: "P" in Visual mode still changes some registers
Problem:    "P" in Visual mode still changes some registers.
Solution:   Make "P" in Visual mode not change any register. (Shougo
            Matsushita, closes #10349)
2022-05-06 11:45:09 +01:00
Bram Moolenaar
434725cc4c patch 8.2.4880: Vim9: misplaced elseif causes invalid memory access
Problem:    Vim9: misplaced elseif causes invalid memory access.
Solution:   Check cs_idx not to be negative.
2022-05-06 11:27:52 +01:00
Bram Moolenaar
3e79427803 patch 8.2.4879: screendump test may fail when using valgrind
Problem:    Screendump test may fail when using valgrind.
Solution:   Wait longer for the first screendump.
2022-05-06 11:21:19 +01:00
Bram Moolenaar
dd7eff0a75 patch 8.2.4878: valgrind warning for using uninitialized variable
Problem:    Valgrind warning for using uninitialized variable.
Solution:   Initialize the type of newtv.
2022-05-06 11:02:05 +01:00
Christian Brabandt
d560014e03 patch 8.2.4877: MS-Windows: Wrongly using Normal colors for termguicolors
Problem:    MS-Windows: Using Normal colors for termguicolors causes problems.
Solution:   Do not use Normal colors to set sg_gui_fg and sg_gui_bg.
            (Christian Brabandt, closes #10317, closes #10241)
2022-05-05 21:09:54 +01:00
Christian Brabandt
dfbdadce44 patch 8.2.4876: MS-Windows: Shift-BS results in strange char in powershell
Problem:    MS-Windows: Shift-BS results in strange character in powershell.
Solution:   Add K_S_BS. (Christian Brabandt, closes #10283, closes #10279)
2022-05-05 20:46:47 +01:00
LemonBoy
40fd7e6652 patch 8.2.4875: MS-Windows: some .exe files are not recognized
Problem:    MS-Windows: some .exe files are not recognized.
Solution:   Parse APPEXECLINK junctions. (closes #10302)
2022-05-05 20:18:16 +01:00
LemonBoy
365d8f76b5 patch 8.2.4874: Win32 GUI: horizontal scroll wheel not handled properly
Problem:    Win32 GUI: horizontal scroll wheel not handled properly.
Solution:   Also handle WM_MOUSEHWHEEL. (closes #10309)
2022-05-05 19:23:07 +01:00
Bram Moolenaar
505ed0c38f patch 8.2.4873: Vim9: using "else" differs from using "endif/if !cond"
Problem:    Vim9: using "else" differs from using "endif/if !cond".
Solution:   Leave the block and enter another one. (closes #10320)
2022-05-05 17:02:46 +01:00
Bram Moolenaar
ea72038d60 patch 8.2.4872: Vim9: no error for using an expression only
Problem:    Vim9: no error for using an expression only at the script level
            when followed by an empty line.
Solution:   Do not check the line number but whether something follows.
            (closes #10357)
2022-05-05 16:08:55 +01:00
Bram Moolenaar
09d9421b67 patch 8.2.4871: Vim9: in :def function no error for misplaced range
Problem:    Vim9: in :def function no error for using a range with a command
            that does not accept one.
Solution:   Check for the command to accept a range. (closes #10330)
2022-05-05 15:20:03 +01:00
LemonBoy
f3b4895f27 patch 8.2.4870: Vim9: expression in :substitute is not compiled
Problem:    Vim9: expression in :substitute is not compiled.
Solution:   Use an INSTR instruction if possible. (closes #10334)
2022-05-05 13:53:03 +01:00
Bram Moolenaar
e442d59f6d patch 8.2.4869: expression in command block does not look after NL
Problem:    Expression in command block does not look after NL.
Solution:   Skip over NL to check what follows. (closes #10358)
2022-05-05 12:20:28 +01:00
LemonBoy
2a2707d033 patch 8.2.4868: when closing help window autocmds triggered for wrong window
Problem:    When closing help window autocmds triggered for the wrong window.
Solution:   Figure out the new current window earlier. (closes #10348)
2022-05-04 22:13:47 +01:00
zeertzjq
ac402f4d64 patch 8.2.4867: listing of mapping with K_SPECIAL is wrong
Problem:    Listing of mapping with K_SPECIAL is wrong.
Solution:   Adjust escaping of special characters. (closes #10351)
2022-05-04 18:51:43 +01:00
LemonBoy
47d4e317f8 patch 8.2.4866: duplicate code in "get" functions
Problem:    Duplicate code in "get" functions.
Solution:   Use get_var_from() for getwinvar(), gettabvar(), gettabwinvar()
            and getbufvar(). (closes #10335)
2022-05-04 18:12:55 +01:00
zeertzjq
cd5dbad184 patch 8.2.4865: :startinsert right after :stopinsert may not work
Problem:    :startinsert right after :stopinsert does not work when popup menu
            is still visible.
Solution:   Use ins_compl_active() instead of pum_visible(). (closes #10352)
2022-05-04 17:51:50 +01:00
Bram Moolenaar
0395f88b84 patch 8.2.4864: Vim9: script test fails
Problem:    Vim9: script test fails.
Solution:   Remove "if" around declaration.
2022-05-04 17:29:15 +01:00
Bram Moolenaar
c9af617ac6 patch 8.2.4863: accessing freed memory in test without the +channel feature
Problem:    Accessing freed memory in test without the +channel feature.
            (Dominique Pellé)
Solution:   Do not generted PUSHCHANNEL or PUSHJOB if they are not
            implemented. (closes #10350)
2022-05-04 16:46:54 +01:00
Bram Moolenaar
23d44493f1 patch 8.2.4862: Vim9: test may fail when run with valgrind
Problem:    Vim9: test may fail when run with valgrind.
Solution:   Wait longer for callback if needed.
2022-05-04 16:24:57 +01:00
Ernie Rael
51d04d16f2 patch 8.2.4861: it is not easy to restore saved mappings
Problem:    It is not easy to restore saved mappings.
Solution:   Make mapset() accept a dict argument. (Ernie Rael, closes #10295)
2022-05-04 15:40:22 +01:00
Yasuhiro Matsumoto
05cf63e9bd patch 8.2.4860: MS-Windows: always uses current directory for executables
Problem:    MS-Windows: always uses current directory for executables.
Solution:   Check the NoDefaultCurrentDirectoryInExePath environment variable.
            (Yasuhiro Matsumoto, closes #10341)
2022-05-03 11:02:28 +01:00
Bram Moolenaar
3a974a8933 patch 8.2.4859: wget2 files are not recognized
Problem:    wget2 files are not recognized.
Solution:   Add patterns to recognize wget2. (Doug Kearns)
2022-05-02 23:51:13 +01:00
zeertzjq
db08887f24 patch 8.2.4858: K_SPECIAL may be escaped twice
Problem:    K_SPECIAL may be escaped twice.
Solution:   Avoid double escaping. (closes #10340)
2022-05-02 22:53:45 +01:00
asmka
f4f579b46b patch 8.2.4857: Yaml indent for multiline is wrong
Problem:    Yaml indent for multiline is wrong.
Solution:   Adjust patterns. (closes #10328, closes #8740)
2022-05-02 10:46:49 +01:00
Christian Brabandt
2890c0b9d2 patch 8.2.4856: MinGW compiler complains about unknown escape sequence
Problem:    MinGW compiler complains about unknown escape sequence.
Solution:   Avoid using a backslash in path. (Christian Brabandt,
            closes #10337)
2022-05-02 10:34:15 +01:00
Zoe Roux
2096a5f128 patch 8.2.4855: robot files are not recognized
Problem:    Robot files are not recognized.
Solution:   Add patterns for robot files. (Zoe Roux, closes #10339)
2022-05-02 10:29:31 +01:00
Christian Brabandt
2f7e00a8ae patch 8.2.4854: array size does not match usage
Problem:    Array size does not match usage.
Solution:   Make array size 3 instead of 4. (Christian Brabandt, closes #10336)
2022-05-02 00:06:51 +01:00
Philip H
056a1c2bdd patch 8.2.4853: CI with FreeBSD is a bit outdated
Problem:    CI with FreeBSD is a bit outdated.
Solution:   Use 12.3 instead of 12.1. (closes #10333)
2022-05-01 20:43:50 +01:00
LemonBoy
d2a4662430 patch 8.2.4852: ANSI color index to RGB value not correct
Problem:    ANSI color index to RGB value not correct.
Solution:   Convert the cterm index to ANSI index. (closes #10321,
            closes #9836))
2022-05-01 17:43:33 +01:00
Bram Moolenaar
b4011afe53 patch 8.2.4851: compiler warning for uninitialized variable
Problem:    Compiler warning for uninitialized variable.
Solution:   Use another variable to decide to restore option values.
2022-05-01 00:42:24 +01:00
LemonBoy
d7c9564d8d patch 8.2.4850: mksession mixes up "tabpages" and "curdir" arguments
Problem:    Mksession mixes up "tabpages" and "curdir" arguments.
Solution:   Correct logic for storing tabpage in session. (closes #10312)
2022-04-30 16:10:27 +01:00
Mathias Jean Johansen
917c32c4f7 patch 8.2.4849: Gleam filetype not detected
Problem:    Gleam filetype not detected.
Solution:   Add a pattern for Gleam files. (Mathias Jean Johansen,
            closes #10326)
2022-04-30 15:10:07 +01:00
zeertzjq
ee44603069 patch 8.2.4848: local completion with mappings and simplification not working
Problem:    Local completion with mappings and simplification not working.
Solution:   Fix local completion <C-N>/<C-P> mappings not ignored if keys are
            not simplified. (closes #10323)
2022-04-30 15:02:22 +01:00
LemonBoy
a5d3590505 patch 8.2.4847: crash when using uninitialized function pointer
Problem:    Crash when using uninitialized function pointer.
Solution:   Check for NULL pointer. (closes #10319, closes #10319)
2022-04-29 21:15:02 +01:00
zeertzjq
bad8a013c2 patch 8.2.4846: termcodes test fails
Problem:    Termcodes test fails.
Solution:   use CTRL-SHIFT-V to insert an unsimplified key. (closes #10316)
2022-04-29 16:44:00 +01:00
zeertzjq
590f365f91 patch 8.2.4845: duplicate code
Problem:    Duplicate code.
Solution:   Move code below if/else. (closes #10314)
2022-04-29 11:29:54 +01:00
zeertzjq
758a8d1999 patch 8.2.4844: <C-S-I> is simplified to <S-Tab>
Problem:    <C-S-I> is simplified to <S-Tab>.
Solution:   Do not simplify CTRL if there is also SHIFT. (closes #10313)
2022-04-29 11:06:34 +01:00
LemonBoy
202b4bd3a4 patch 8.2.4843: treating CTRL + ALT as AltGr is not backwards compatible
Problem:    Win32 GUI: Treating CTRL + ALT as AltGr is not backwards
            compatible. (Axel Bender)
Solution:   Make a difference between left and right menu keys.
            (closes #10308)
2022-04-28 19:50:54 +01:00
Bram Moolenaar
211a5bb235 patch 8.2.4842: expand("%:p") is not empty when there is no buffer name
Problem:    expand("%:p") is not empty when there is no buffer name.
Solution:   When ignoring errors still return NULL. (closes #10311)
2022-04-28 19:09:03 +01:00
Bram Moolenaar
a96edb736d patch 8.2.4841: empty string considered an error for expand()
Problem:    Empty string considered an error for expand() when 'verbose' is
            set. (Christian Brabandt)
Solution:   Do not give an error for an empty result. (closes #10307)
2022-04-28 17:52:24 +01:00
Bram Moolenaar
05c7f5d3d0 patch 8.2.4840: heredoc expression evaluated even when skipping
Problem:    Heredoc expression evaluated even when skipping.
Solution:   Don't evaluate when "skip" is set. (closes #10306)
2022-04-28 16:51:41 +01:00
Bram Moolenaar
0a748d9184 patch 8.2.4839: compiler warning for unused argument
Problem:    Compiler warning for unused argument.
Solution:   Add "UNUSED".
2022-04-28 15:39:08 +01:00
LemonBoy
dca1d40cd0 patch 8.2.4838: checking for absolute path is not trivial
Problem:    Checking for absolute path is not trivial.
Solution:   Add isabsolutepath(). (closes #10303)
2022-04-28 15:26:33 +01:00
zeertzjq
68a573ce2b patch 8.2.4837: modifiers not simplified when timed out
Problem:    Modifiers not simplified when timed out or using feedkeys() with
            'n" flag.
Solution:   Adjust how mapped flag and timeout are used. (closes #10305)
2022-04-28 14:10:01 +01:00
Bram Moolenaar
f6ced9863f patch 8.2.4836: Vim9: some lines not covered by tests
Problem:    Vim9: some lines not covered by tests.
Solution:   Remove dead code.  Add disassemble tests.
2022-04-28 12:00:49 +01:00
Bram Moolenaar
95e4dd813a patch 8.2.4835: Vim9: some lines not covered by tests
Problem:    Vim9: some lines not covered by tests.
Solution:   Add a few more tests.  Fix disassemble output.
2022-04-27 22:15:40 +01:00
Bram Moolenaar
06651630ee patch 8.2.4834: Vim9: some lines not covered by tests
Problem:    Vim9: some lines not covered by tests.
Solution:   Add a few more tests.  Remove dead code.
2022-04-27 17:54:25 +01:00
Bram Moolenaar
ce001a337e Update runtime files 2022-04-27 15:25:03 +01:00
zeertzjq
12e21e387b patch 8.2.4833: failure of mapping not checked for
Problem:    Failure of mapping not checked for.
Solution:   Check return value of ins_typebuf(). (closes #10299)
2022-04-27 11:58:01 +01:00
zeertzjq
fc78a0369e patch 8.2.4832: passing zero instead of NULL to a pointer argument
Problem:    Passing zero instead of NULL to a pointer argument.
Solution:   Use NULL. (closes #10296)
2022-04-26 22:11:38 +01:00
zeertzjq
2c8a7ebdad patch 8.2.4831: crash when using maparg() and unmapping simplified keys
Problem:    Crash when using maparg() and unmapping simplified keys.
Solution:   Do not keep a mapblock pointer. (closes #10294)
2022-04-26 21:36:21 +01:00
Bram Moolenaar
23f106efeb patch 8.2.4830: possible endless loop if there is unused typahead
Problem:    Possible endless loop if there is unused typahead.
Solution:   Only loop when the typeahead changed.
2022-04-26 18:52:22 +01:00
zeertzjq
17c95d9608 patch 8.2.4829: a key may be simplified to NUL
Problem:    A key may be simplified to NUL.
Solution:   Use K_ZERO instead.  Use macros instead of hard coded values.
            (closes #10290)
2022-04-26 12:51:07 +01:00
zeertzjq
abeb09b2c5 patch 8.2.4828: fix for unmapping simplified key not fully tested
Problem:    Fix for unmapping simplified key not fully tested.
Solution:   Add a test case. (closes #10292)
2022-04-26 12:29:43 +01:00
Bram Moolenaar
87f74106f9 patch 8.2.4827: typo in variable name
Problem:    Typo in variable name. (Gabriel Dupras)
Solution:   Rename the variable.
2022-04-25 18:59:25 +01:00
jvoisin
1f435dafff patch 8.2.4826: .cshtml files are not recognized
Problem:    .cshtml files are not recognized.
Solution:   Use html filetype for .cshtml files. (Julien Voisin, closes #10212)
2022-04-25 17:40:56 +01:00
Ernie Rael
09661203ec patch 8.2.4825: can only get a list of mappings
Problem:    Can only get a list of mappings.
Solution:   Add the optional {abbr} argument. (Ernie Rael, closes #10277)
            Rename to maplist().  Rename test file.
2022-04-25 14:40:44 +01:00
zeertzjq
23d5770ef5 patch 8.2.4824: expression is evaluated multiple times
Problem:    Expression is evaluated multiple times.
Solution:   Evaluate expression once and store the result. (closes #10278)
2022-04-25 13:28:00 +01:00
LemonBoy
372bcceeee patch 8.2.4823: concat more than 2 strings in :def function is inefficient
Problem:    Concatenating more than 2 strings in a :def function is
            inefficient.
Solution:   Add a count to the CONCAT instruction. (closes #10276)
2022-04-25 12:43:20 +01:00
LemonBoy
af59e34f1b patch 8.2.4822: setting ufunc to NULL twice
Problem:    Setting ufunc to NULL twice.
Solution:   Set ufunc to NULL in find_exported(). (closes #19275)
2022-04-24 21:55:00 +01:00
Bram Moolenaar
aac12daa61 patch 8.2.4821: crash when imported autoload script was deleted
Problem:    Crash when imported autoload script was deleted.
Solution:   Initialize local variable. (closes #10274)  Give a more meaningful
            error message.
2022-04-24 21:33:20 +01:00
Ernie Rael
659c240cf7 patch 8.2.4820: not simple programmatic way to find a specific mapping
Problem:    Not simple programmatic way to find a specific mapping.
Solution:   Add getmappings(). (Ernie Rael, closes #10273)
2022-04-24 18:40:28 +01:00
zeertzjq
a4e3332650 patch 8.2.4819: unmapping simplified keys also deletes other mapping
Problem:    Unmapping simplified keys also deletes other mapping.
Solution:   Only unmap a mapping with m_simplified set. (closes #10270)
2022-04-24 17:07:53 +01:00
zeertzjq
ac92ab7719 patch 8.2.4818: no test for what 8.2.4806 fixes
Problem:    No test for what 8.2.4806 fixes.
Solution:   Add a test. (closes #10727)
2022-04-24 15:58:30 +01:00
LemonBoy
45684c6ec4 patch 8.2.4817: Win32 GUI: modifiers are not always used
Problem:    Win32 GUI: modifiers are not always used.
Solution:   Handle more modifiers. (closes #10269)
2022-04-24 15:46:42 +01:00
Philip H
490ac3fe98 patch 8.2.4816: still using older codecov app in some places of CI
Problem:    Still using older codecov app in some places of CI.
Solution:   Use v3.1.0. (closes #10209)
2022-04-24 12:44:32 +01:00
Ernie Rael
d42b83942e patch 8.2.4815: cannot build with older GTK version
Problem:    Cannot build with older GTK version.
Solution:   Use gtk_window_get_size() instead of gdk_window_get_width() and
            gdk_window_get_height(). (Ernie Rael, closes #10257)
2022-04-23 19:52:23 +01:00
LemonBoy
4a392d2440 patch 8.2.4814: possible to leave a popup window with win_gotoid()
Problem:    Possible to leave a popup window with win_gotoid().
Solution:   Give an error when trying to leave a popup window with
            win_gotoid(). (closes #10253)
2022-04-23 14:07:56 +01:00
Brandon Simmons
2c40707baa patch 8.2.4813: pasting text while indent folding may mess up folds
Problem:    Pasting text while indent folding may mess up folds.
Solution:   Adjust the way folds are split. (Brandon Simmons, closes #10254)
2022-04-23 13:50:17 +01:00
zeertzjq
8279cfe499 patch 8.2.4812: unused struct item
Problem:    Unused struct item.
Solution:   Remove "lines" match_T.  Simplify the code. (closes #10256)
2022-04-23 12:05:51 +01:00
LemonBoy
0de7369fd4 patch 8.2.4811: Win32 GUI: caps lock doesn't work
Problem:    Win32 GUI: caps lock doesn't work.
Solution:   Handle VK_CAPITAL. (closes #10260, closes #10258)
2022-04-23 11:08:11 +01:00
Bram Moolenaar
56dba60216 patch 8.2.4810: missing changes in one file
Problem:    Missing changes in one file.
Solution:   Also change the struct initializers.
2022-04-23 11:03:58 +01:00
Yegappan Lakshmanan
885de449c0 patch 8.2.4809: various things no6 properly tested
Problem:    Various things no6 properly tested.
Solution:   Add various test cases. (Yegappan Lakshmanan, closes #10259)
2022-04-23 10:51:14 +01:00
Bram Moolenaar
33d3ce640c patch 8.2.4808: unused item in engine struct
Problem:    Unused item in engine struct.
Solution:   Remove "expr".  Add comment with tags.
2022-04-23 10:41:35 +01:00
LemonBoy
77fc0b02e5 patch 8.2.4807: processing key eveints in Win32 GUI is not ideal
Problem:    Processing key eveints in Win32 GUI is not ideal.
Solution:   Improve processing of key events. (closes #10155)
2022-04-22 22:45:52 +01:00
Bram Moolenaar
53ef573148 patch 8.2.4806: a mapping using <LeftDrag> does not start Select mode
Problem:    A mapping using <LeftDrag> does not start Select mode.
Solution:   When checking for starting select mode with the mouse also do this
            when there is typeahead. (closes #10249)
2022-04-22 21:20:26 +01:00
Bram Moolenaar
9b36750640 patch 8.2.4805: CurSearch used for all matches in current line
Problem:    CurSearch used for all matches in current line.
Solution:   Don't use the non-zero line count. (closes #10247)
2022-04-22 20:07:21 +01:00
Yegappan Lakshmanan
1fc6ea9bf3 patch 8.2.4804: expression in heredoc doesn't work for compiled function
Problem:    Expression in heredoc doesn't work for compiled function.
Solution:   Implement compiling the heredoc expressions. (Yegappan Lakshmanan,
            closes #10232)
2022-04-21 23:30:15 +01:00
LemonBoy
66e13aedc7 patch 8.2.4803: WinScrolled not always triggered when scrolling with mouse
Problem:    WinScrolled not always triggered when scrolling with the mouse.
Solution:   Add calls to may_trigger_winscrolled(). (closes #10246)
2022-04-21 22:52:11 +01:00
zeertzjq
7851c69a12 patch 8.2.4802: test is not cleaned up
Problem:    Test is not cleaned up.
Solution:   Make test clean up after itself.  Avoid NUL. (closes #10233)
2022-04-21 11:14:01 +01:00
Christian Brabandt
3fd7480cd2 patch 8.2.4801: fix for cursorbind fix not fully tested
Problem:    Fix for cursorbind fix not fully tested.
Solution:   Add another test case. (Christian Brabandt, closes #10240)
2022-04-20 22:07:41 +01:00
Bram Moolenaar
d0eaf675aa patch 8.2.4800: missing test update for adjusted t_8u behavior
Problem:    Missing test update for adjusted t_8u behavior.
Solution:   Update and extend the test.
2022-04-20 19:55:37 +01:00
LemonBoy
0044e5100a patch 8.2.4799: popup does not use correct topline
Problem:    Popup does not use correct topline.
Solution:   Also add one when firstline is negative. (closes #10229)
2022-04-20 19:47:37 +01:00
Bram Moolenaar
dbec26d789 patch 8.2.4798: t_8u option was reset even when set by the user
Problem:    t_8u option was reset even when set by the user.
Solution:   Only reset t_8u when using the default value. (closes #10239)
2022-04-20 19:08:50 +01:00
LemonBoy
8530b41fd3 patch 8.2.4797: getwininfo() may get oudated values
Problem:    getwininfo() may get oudated values.
Solution:   Make sure w_botline is up-to-date. (closes #10226)
2022-04-20 19:00:36 +01:00
Bram Moolenaar
da1050cd6f patch 8.2.4796: file left behind after running cursorline tests
Problem:    File left behind after running cursorline tests.
Solution:   Uncomment the line that deletes the file.
2022-04-20 18:41:49 +01:00
Christian Brabandt
2c645e8b00 patch 8.2.4795: 'cursorbind' scrolling depends on whether 'cursorline' is set
Problem:    'cursorbind' scrolling depends on whether 'cursorline' is set.
Solution:   Always call validate_cursor(). (Christian Brabandt, closes #10230,
            closes #10014)
2022-04-20 14:52:01 +01:00
Bram Moolenaar
4c84dd33ad patch 8.2.4794: compiler warning for not initialized variable
Problem:    Compiler warning for not initialized variable.
Solution:   Initialize the variable. (John Marriott)
2022-04-20 10:22:54 +01:00
Bram Moolenaar
928a131356 patch 8.2.4793: recognizing Maxima filetype even though it might be another
Problem:    Recognizing Maxima filetype even though it might be another.
Solution:   Remove *.mc and *.dem patterns from Maxima files
2022-04-19 19:38:38 +01:00
342 changed files with 41445 additions and 21582 deletions

View File

@@ -2,13 +2,20 @@ env:
CIRRUS_CLONE_DEPTH: 3
FEATURES: huge
freebsd_12_task:
freebsd_task:
name: FreeBSD
matrix:
- name: FreeBSD 13.1
freebsd_instance:
image_family: freebsd-13-1
- name: FreeBSD 12.3
freebsd_instance:
image_family: freebsd-12-3
only_if: $CIRRUS_TAG == ''
timeout_in: 20m
freebsd_instance:
image: freebsd-12-1-release-amd64
install_script:
pkg install -y gettext
- pkg update -f
- pkg install -y gettext
build_script:
- NPROC=$(getconf _NPROCESSORS_ONLN)
- ./configure --with-features=${FEATURES}

View File

@@ -4,3 +4,9 @@ coverage:
project:
default:
threshold: 0.05%
# Files not run by tests
ignore:
- "src/dosinst.c"
- "src/dosinst.h"
- "src/uninstall.c"

22
.github/CODEOWNERS vendored
View File

@@ -19,6 +19,25 @@ runtime/autoload/tar.vim @cecamp
runtime/autoload/vimball.vim @cecamp
runtime/autoload/xmlformat.vim @chrisbra
runtime/autoload/zip.vim @cecamp
runtime/colors/blue.vim @habamax @romainl @neutaaaaan
runtime/colors/darkblue.vim @habamax @romainl @neutaaaaan
runtime/colors/default.vim @habamax @romainl @neutaaaaan
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/industry.vim @habamax @romainl @neutaaaaan
runtime/colors/koehler.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/ron.vim @habamax @romainl @neutaaaaan
runtime/colors/shine.vim @habamax @romainl @neutaaaaan
runtime/colors/slate.vim @habamax @romainl @neutaaaaan
runtime/colors/tools @habamax @romainl @neutaaaaan
runtime/colors/torte.vim @habamax @romainl @neutaaaaan
runtime/colors/zellner.vim @habamax @romainl @neutaaaaan
runtime/compiler/checkstyle.vim @dkearns
runtime/compiler/cm3.vim @dkearns
runtime/compiler/cucumber.vim @tpope
@@ -126,6 +145,8 @@ runtime/ftplugin/tmux.vim @ericpruitt
runtime/ftplugin/toml.vim @averms
runtime/ftplugin/typescript.vim @dkearns
runtime/ftplugin/typescriptreact.vim @dkearns
runtime/ftplugin/wget.vim @dkearns
runtime/ftplugin/wget2.vim @dkearns
runtime/ftplugin/xml.vim @chrisbra
runtime/ftplugin/zsh.vim @chrisbra
runtime/indent/basic.vim @dkearns
@@ -268,6 +289,7 @@ runtime/syntax/tmux.vim @ericpruitt
runtime/syntax/toml.vim @averms
runtime/syntax/vim.vim @cecamp
runtime/syntax/wget.vim @dkearns
runtime/syntax/wget2.vim @dkearns
runtime/syntax/xbl.vim @dkearns
runtime/syntax/xmath.vim @cecamp
runtime/syntax/xml.vim @chrisbra

View File

@@ -254,7 +254,7 @@ jobs:
- name: Codecov
if: matrix.coverage
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v3.1.0
with:
flags: linux,${{ matrix.features }}-${{ matrix.compiler }}-${{ matrix.extra }}
@@ -364,6 +364,8 @@ jobs:
LUA32_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win32_dllw6_lib.zip
LUA64_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win64_dllw6_lib.zip
LUA_DIR: D:\Lua
# do not want \L to end up in pathdef.c and compiler complaining about unknown escape sequences \l
LUA_DIR_SLASH: D:/Lua
# Python 2
PYTHON_VER: 27
PYTHON_VER_DOT: '2.7'
@@ -510,7 +512,7 @@ jobs:
mingw32-make -f Make_ming.mak -j2 \
FEATURES=${{ matrix.features }} \
GUI=yes IME=yes ICONV=yes VIMDLL=yes \
DYNAMIC_LUA=yes LUA=${LUA_DIR} \
DYNAMIC_LUA=yes LUA=${LUA_DIR_SLASH} \
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
STATIC_STDCPLUS=yes COVERAGE=${{ matrix.coverage }}
@@ -600,14 +602,14 @@ jobs:
- name: Codecov (gVim)
if: matrix.coverage
uses: codecov/codecov-action@v2
uses: codecov/codecov-action@v3.1.0
with:
directory: src
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}-gui
- name: Codecov (Vim)
if: matrix.coverage
uses: codecov/codecov-action@v2
uses: codecov/codecov-action@v3.1.0
with:
directory: src2
flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}

7
.gitignore vendored
View File

@@ -8,7 +8,6 @@ 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.
@@ -62,6 +61,11 @@ src/xxd/xxd.dSYM
*.pyc
*.log
src/po/vim.pot
src/tags
/tags
/GPATH
/GTAGS
/GRTAGS
# Generated by "make test"
src/po/*.ck
@@ -86,7 +90,6 @@ 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

View File

@@ -722,6 +722,7 @@ RT_ALL = \
runtime/doc/xxd.1 \
runtime/ftoff.vim \
runtime/gvimrc_example.vim \
runtime/import/dist/vimhelp.vim \
runtime/macros/README.txt \
runtime/macros/editexisting.vim \
runtime/macros/hanoi/click.me \

View File

@@ -403,6 +403,9 @@ Section "$(str_section_exe)" id_section_exe
SetOutPath $0\autoload\xml
File ${VIMRT}\autoload\xml\*.*
SetOutPath $0\import\dist
File ${VIMRT}\import\dist\*.*
SetOutPath $0\bitmaps
File ${VIMSRC}\vim.ico
@@ -1044,6 +1047,7 @@ Section "un.$(str_unsection_exe)" id_unsection_exe
RMDir /r $0\compiler
RMDir /r $0\doc
RMDir /r $0\ftplugin
RMDir /r $0\import
RMDir /r $0\indent
RMDir /r $0\macros
RMDir /r $0\pack

View File

@@ -1,7 +1,7 @@
README.txt for color scheme files
These files are used for the ":colorscheme" command. They appear in the
Edit/Color Scheme menu in the GUI.
"Edit/Color Scheme" menu in the GUI.
Hints for writing a color scheme file:
@@ -9,6 +9,7 @@ Hints for writing a color scheme file:
There are two basic ways to define a color scheme:
1. Define a new Normal color and set the 'background' option accordingly.
set background={light or dark}
highlight clear
highlight Normal ...
@@ -16,6 +17,7 @@ There are two basic ways to define a color scheme:
2. Use the default Normal color and automatically adjust to the value of
'background'.
highlight clear Normal
set background&
highlight clear
@@ -28,7 +30,7 @@ There are two basic ways to define a color scheme:
endif
You can use ":highlight clear" to reset everything to the defaults, and then
change the groups that you want differently. This also will work for groups
change the groups that you want differently. This will also work for groups
that are added in later versions of Vim.
Note that ":highlight clear" uses the value of 'background', thus set it
before this command.
@@ -38,7 +40,9 @@ attributes.
In case you want to set 'background' depending on the colorscheme selected,
this autocmd might be useful:
autocmd SourcePre */colors/blue_sky.vim set background=dark
Replace "blue_sky" with the name of the colorscheme.
In case you want to tweak a colorscheme after it was loaded, check out the
@@ -46,6 +50,7 @@ ColorScheme autocommand event.
To clean up just before loading another colorscheme, use the ColorSchemePre
autocommand event. For example:
let g:term_ansi_colors = ...
augroup MyColorscheme
au!
@@ -54,20 +59,22 @@ autocommand event. For example:
augroup END
To customize a colorscheme use another name, e.g. "~/.vim/colors/mine.vim",
and use `:runtime` to load the original colorscheme:
and use ":runtime" to load the original colorscheme:
" load the "evening" colorscheme
runtime colors/evening.vim
" change the color of statements
hi Statement ctermfg=Blue guifg=Blue
To see which highlight group is used where, find the help for
"highlight-groups" and "group-name".
To see which highlight group is used where, see ":help highlight-groups" and
":help group-name".
You can use ":highlight" to find out the current colors. Exception: the
ctermfg and ctermbg values are numbers, which are only valid for the current
terminal. Use the color names instead. See ":help cterm-colors".
terminal. Use the color names instead for better portability. See
":help cterm-colors".
The default color settings can be found in the source file src/highlight.c.
The default color settings can be found in the source file src/syntax.c.
Search for "highlight_init".
If you think you have a color scheme that is good enough to be used by others,
@@ -75,17 +82,57 @@ please check the following items:
- Source the $VIMRUNTIME/colors/tools/check_colors.vim script to check for
common mistakes.
- Does it work in a color terminal as well as in the GUI?
- Does it work in a color terminal as well as in the GUI? Is it consistent?
- Is "g:colors_name" set to a meaningful value? In case of doubt you can do
it this way:
let g:colors_name = expand('<sfile>:t:r')
- Is 'background' either used or appropriately set to "light" or "dark"?
- Try setting 'hlsearch' and searching for a pattern, is the match easy to
spot?
- Split a window with ":split" and ":vsplit". Are the status lines and
vertical separators clearly visible?
- In the GUI, is it easy to find the cursor, also in a file with lots of
syntax highlighting?
- In general, test your color scheme against as many filetypes, Vim features,
environments, etc. as possible.
- Do not use hard coded escape sequences, these will not work in other
terminals. Always use color names or #RRGGBB for the GUI. See v:colornames
for details on how to define your own color names.
terminals. Always use #RRGGBB for the GUI.
- When targetting 8-16 colors terminals, don't count on "darkblue" to be blue
and dark, or on "2" to be even vaguely reddish. Names are more portable
than numbers, though.
- When targetting 256 colors terminals, prefer colors 16-255 to colors 0-15
for the same reason.
- Typographic attributes (bold, italic, underline, reverse, etc.) are not
universally supported. Don't count on any of them.
- Is "g:terminal_ansi_colors" set to a list of 16 #RRGGBB values?
- Try to keep your color scheme simple by avoiding unnecessary logic and
refraining from adding options. The best color scheme is one that only
requires:
colorscheme foobar
The color schemes distributed with Vim are built with lifepillar/colortemplate
(https://github.com/lifepillar/vim-colortemplate). It is therefore highly
recommended.
If you would like your color scheme to be distributed with Vim, make sure
that:
- it satisfies the guidelines above,
- it was made with colortemplate,
and join us at vim/colorschemes: (https://github.com/vim/colorschemes).

View File

@@ -1,55 +1,447 @@
" local syntax file - set colors on a per-machine basis:
" vim: tw=0 ts=4 sw=4
" Vim color file
" Maintainer: Steven Vertigan <steven@vertigan.wattle.id.au>
" Last Change: 2006 Sep 23
" Revision #5: Switch main text from white to yellow for easier contrast,
" fixed some problems with terminal backgrounds.
" Name: blue
" Description: Colorscheme with a blue background
" Author: Original author Steven Vertigan <steven@vertigan.wattle.id.au>
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:33 2022
" Generated by Colortemplate v2.2.0
set background=dark
hi clear
if exists("syntax_on")
syntax reset
let g:colors_name = 'blue'
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 = ['#000000', '#870000', '#006400', '#878700', '#000087', '#870087', '#008787', '#bcbcbc', '#878787', '#d70000', '#00ff00', '#ffdf00', '#5fafff', '#d787d7', '#5fffff', '#ffffff']
endif
let g:colors_name = "blue"
hi Normal guifg=yellow guibg=darkBlue ctermfg=yellow ctermbg=darkBlue
hi NonText guifg=magenta ctermfg=lightMagenta
hi comment guifg=gray ctermfg=gray ctermbg=darkBlue gui=bold
hi constant guifg=cyan ctermfg=cyan
hi identifier guifg=gray ctermfg=red
hi statement guifg=white ctermfg=white ctermbg=darkBlue gui=none
hi preproc guifg=green ctermfg=green
hi type guifg=orange ctermfg=lightRed ctermbg=darkBlue
hi special guifg=magenta ctermfg=lightMagenta ctermbg=darkBlue
hi Underlined guifg=cyan ctermfg=cyan gui=underline cterm=underline
hi label guifg=yellow ctermfg=yellow
hi operator guifg=orange gui=bold ctermfg=lightRed ctermbg=darkBlue
hi Normal guifg=#ffdf00 guibg=#000087 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#005faf gui=NONE cterm=NONE
hi Pmenu guifg=#ffffff guibg=#008787 gui=NONE cterm=NONE
hi PmenuSel guifg=#008787 guibg=#ffffff gui=NONE cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#d787d7 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#870087 gui=NONE cterm=NONE
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#005faf gui=NONE cterm=NONE
hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffdf00 guibg=#005faf gui=bold cterm=NONE
hi EndOfBuffer guifg=#ffdf00 guibg=#000087 gui=NONE cterm=NONE
hi Error guifg=#ff7f50 guibg=#000087 gui=reverse cterm=reverse
hi ErrorMsg guifg=#ffffff guibg=#d70000 gui=NONE cterm=NONE
hi FoldColumn guifg=#008787 guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#000087 guibg=#878700 gui=NONE cterm=NONE
hi IncSearch guifg=#d787d7 guibg=#000000 gui=standout cterm=reverse
hi LineNr guifg=#5fffff guibg=NONE gui=NONE cterm=NONE
hi MatchParen guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi ModeMsg guifg=#000087 guibg=#00ff00 gui=NONE cterm=NONE
hi MoreMsg guifg=#5fffff guibg=NONE gui=NONE cterm=NONE
hi NonText guifg=#d787d7 guibg=NONE gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
hi Question guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
hi Search guifg=#ffdf00 guibg=#000000 gui=reverse cterm=reverse
hi SignColumn guifg=#008787 guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#5fffff guibg=NONE gui=NONE cterm=NONE
hi SpellBad guifg=#d70000 guibg=NONE guisp=#d70000 gui=undercurl cterm=underline
hi SpellCap guifg=#00ff00 guibg=NONE guisp=#00ff00 gui=undercurl cterm=underline
hi SpellLocal guifg=#ffffff guibg=NONE guisp=#ffffff gui=undercurl cterm=underline
hi SpellRare guifg=#d787d7 guibg=NONE guisp=#d787d7 gui=undercurl cterm=underline
hi StatusLine guifg=#000087 guibg=#5fffff gui=NONE cterm=NONE
hi StatusLineNC guifg=#000087 guibg=#008787 gui=NONE cterm=NONE
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link TabLine StatusLineNC
hi! link TabLineFill StatusLineNC
hi! link TabLineSel StatusLine
hi ToolbarButton guifg=#ffffff guibg=#005faf gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit guifg=#008787 guibg=NONE gui=NONE cterm=NONE
hi Visual guifg=#ffffff guibg=#008787 gui=NONE cterm=NONE
hi VisualNOS guifg=#008787 guibg=#ffffff gui=NONE cterm=NONE
hi WarningMsg guifg=#d70000 guibg=NONE gui=NONE cterm=NONE
hi WildMenu guifg=#000087 guibg=#ffdf00 gui=NONE cterm=NONE
hi debugBreakpoint guifg=#00ff00 guibg=#000087 gui=reverse cterm=reverse
hi debugPC guifg=#5fffff guibg=#000087 gui=reverse cterm=reverse
hi! link Terminal Normal
hi! link Debug Special
hi! link diffAdded String
hi! link diffRemoved WarningMsg
hi! link diffOnly WarningMsg
hi! link diffNoEOL WarningMsg
hi! link diffIsA WarningMsg
hi! link diffIdentical WarningMsg
hi! link diffDiffer WarningMsg
hi! link diffCommon WarningMsg
hi! link diffBDiffer WarningMsg
hi! link lCursor Cursor
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi Directory guifg=#5fffff guibg=NONE gui=NONE cterm=NONE
hi Title guifg=#d787d7 guibg=NONE gui=NONE cterm=NONE
hi Comment guifg=#878787 guibg=NONE gui=bold cterm=NONE
hi Constant guifg=#5fffff guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=#878787 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#d787d7 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#ffffff guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type guifg=#ffa500 guibg=NONE gui=bold cterm=NONE
hi Underlined guifg=NONE guibg=NONE gui=underline ctermfg=NONE ctermbg=NONE cterm=underline
hi Label guifg=#ffdf00 guibg=NONE gui=NONE cterm=NONE
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 Macro PreProc
hi! link Number Constant
hi! link Operator Type
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 DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
hi ErrorMsg guifg=orange guibg=darkBlue ctermfg=lightRed
hi WarningMsg guifg=cyan guibg=darkBlue ctermfg=cyan gui=bold
hi ModeMsg guifg=yellow gui=NONE ctermfg=yellow
hi MoreMsg guifg=yellow gui=NONE ctermfg=yellow
hi Error guifg=red guibg=darkBlue gui=underline ctermfg=red
if s:t_Co >= 256
hi Normal ctermfg=220 ctermbg=18 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=25 cterm=NONE
hi Pmenu ctermfg=231 ctermbg=30 cterm=NONE
hi PmenuSel ctermfg=30 ctermbg=231 cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=176 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=90 cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor ctermfg=16 ctermbg=46 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=25 cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
hi CursorLineNr ctermfg=220 ctermbg=25 cterm=NONE
hi EndOfBuffer ctermfg=220 ctermbg=18 cterm=NONE
hi Error ctermfg=209 ctermbg=18 cterm=reverse
hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
hi FoldColumn ctermfg=30 ctermbg=NONE cterm=NONE
hi Folded ctermfg=18 ctermbg=100 cterm=NONE
hi IncSearch ctermfg=176 ctermbg=16 cterm=reverse
hi LineNr ctermfg=87 ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
hi ModeMsg ctermfg=18 ctermbg=46 cterm=NONE
hi MoreMsg ctermfg=87 ctermbg=NONE cterm=NONE
hi NonText ctermfg=176 ctermbg=NONE cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
hi Question ctermfg=46 ctermbg=NONE cterm=NONE
hi Search ctermfg=220 ctermbg=16 cterm=reverse
hi SignColumn ctermfg=30 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=87 ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=160 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=46 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=231 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=176 ctermbg=NONE cterm=underline
hi StatusLine ctermfg=18 ctermbg=87 cterm=NONE
hi StatusLineNC ctermfg=18 ctermbg=30 cterm=NONE
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link TabLine StatusLineNC
hi! link TabLineFill StatusLineNC
hi! link TabLineSel StatusLine
hi ToolbarButton ctermfg=231 ctermbg=25 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=30 ctermbg=NONE cterm=NONE
hi Visual ctermfg=231 ctermbg=30 cterm=NONE
hi VisualNOS ctermfg=30 ctermbg=231 cterm=NONE
hi WarningMsg ctermfg=160 ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=18 ctermbg=220 cterm=NONE
hi debugBreakpoint ctermfg=46 ctermbg=18 cterm=reverse
hi debugPC ctermfg=87 ctermbg=18 cterm=reverse
hi! link Terminal Normal
hi! link Debug Special
hi! link diffAdded String
hi! link diffRemoved WarningMsg
hi! link diffOnly WarningMsg
hi! link diffNoEOL WarningMsg
hi! link diffIsA WarningMsg
hi! link diffIdentical WarningMsg
hi! link diffDiffer WarningMsg
hi! link diffCommon WarningMsg
hi! link diffBDiffer WarningMsg
hi! link lCursor Cursor
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi Directory ctermfg=87 ctermbg=NONE cterm=NONE
hi Title ctermfg=176 ctermbg=NONE cterm=NONE
hi Comment ctermfg=102 ctermbg=NONE cterm=NONE
hi Constant ctermfg=87 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=250 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=102 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=46 ctermbg=NONE cterm=NONE
hi Special ctermfg=176 ctermbg=NONE cterm=NONE
hi Statement ctermfg=231 ctermbg=NONE cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type ctermfg=214 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Label ctermfg=220 ctermbg=NONE cterm=NONE
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 Macro PreProc
hi! link Number Constant
hi! link Operator Type
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 DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
hi Todo guifg=black guibg=orange ctermfg=black ctermbg=darkYellow
hi Cursor guifg=black guibg=white ctermfg=black ctermbg=white
hi Search guifg=black guibg=orange ctermfg=black ctermbg=darkYellow
hi IncSearch guifg=black guibg=yellow ctermfg=black ctermbg=darkYellow
hi LineNr guifg=cyan ctermfg=cyan
hi title guifg=white gui=bold cterm=bold
if s:t_Co >= 16
hi Normal ctermfg=yellow ctermbg=darkblue cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi Pmenu ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuSel ctermfg=black ctermbg=white cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=darkmagenta cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor ctermfg=black ctermbg=green cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=blue cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
hi CursorLineNr ctermfg=yellow ctermbg=blue cterm=NONE
hi EndOfBuffer ctermfg=yellow ctermbg=darkblue cterm=NONE
hi Error ctermfg=red ctermbg=darkblue cterm=reverse
hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkblue ctermbg=darkyellow cterm=NONE
hi IncSearch ctermfg=magenta ctermbg=black cterm=reverse
hi LineNr ctermfg=cyan ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
hi ModeMsg ctermfg=darkblue ctermbg=green cterm=NONE
hi MoreMsg ctermfg=cyan ctermbg=NONE cterm=NONE
hi NonText ctermfg=magenta ctermbg=NONE cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
hi Search ctermfg=yellow ctermbg=black cterm=reverse
hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=cyan ctermbg=NONE 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=darkblue ctermbg=cyan cterm=NONE
hi StatusLineNC ctermfg=darkblue ctermbg=darkcyan cterm=NONE
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link TabLine StatusLineNC
hi! link TabLineFill StatusLineNC
hi! link TabLineSel StatusLine
hi ToolbarButton ctermfg=white ctermbg=blue cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Visual ctermfg=white ctermbg=darkcyan cterm=NONE
hi VisualNOS ctermfg=darkcyan ctermbg=white cterm=NONE
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=darkblue ctermbg=yellow cterm=NONE
hi debugBreakpoint ctermfg=green ctermbg=darkblue cterm=reverse
hi debugPC ctermfg=cyan ctermbg=darkblue cterm=reverse
hi! link Terminal Normal
hi! link Debug Special
hi! link diffAdded String
hi! link diffRemoved WarningMsg
hi! link diffOnly WarningMsg
hi! link diffNoEOL WarningMsg
hi! link diffIsA WarningMsg
hi! link diffIdentical WarningMsg
hi! link diffDiffer WarningMsg
hi! link diffCommon WarningMsg
hi! link diffBDiffer WarningMsg
hi! link lCursor Cursor
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
hi Comment ctermfg=darkgray ctermbg=NONE cterm=NONE
hi Constant ctermfg=cyan ctermbg=NONE cterm=NONE
hi Identifier ctermfg=gray ctermbg=NONE cterm=NONE
hi Ignore ctermfg=darkgray ctermbg=NONE cterm=NONE
hi PreProc ctermfg=green ctermbg=NONE cterm=NONE
hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
hi Statement ctermfg=white ctermbg=NONE cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Underlined ctermfg=NONE ctermbg=NONE cterm=underline
hi Label ctermfg=yellow ctermbg=NONE cterm=NONE
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 Macro PreProc
hi! link Number Constant
hi! link Operator Type
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 DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
unlet s:t_Co
finish
endif
hi StatusLineNC gui=NONE guifg=black guibg=blue ctermfg=black ctermbg=blue
hi StatusLine gui=bold guifg=cyan guibg=blue ctermfg=cyan ctermbg=blue
hi VertSplit gui=none guifg=blue guibg=blue ctermfg=blue ctermbg=blue
hi Visual term=reverse ctermfg=black ctermbg=darkCyan guifg=black guibg=darkCyan
hi DiffChange guibg=darkGreen guifg=black ctermbg=darkGreen ctermfg=black
hi DiffText guibg=olivedrab guifg=black ctermbg=lightGreen ctermfg=black
hi DiffAdd guibg=slateblue guifg=black ctermbg=blue ctermfg=black
hi DiffDelete guibg=coral guifg=black ctermbg=cyan ctermfg=black
hi Folded guibg=orange guifg=black ctermbg=yellow ctermfg=black
hi FoldColumn guibg=gray30 guifg=black ctermbg=gray ctermfg=black
hi cIf0 guifg=gray ctermfg=gray
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: black #000000 16 black
" Color: darkred #870000 88 darkred
" Color: darkyellow #878700 100 darkyellow
" Color: darkblue #000087 18 darkblue
" Color: darkmagenta #870087 90 darkmagenta
" Color: darkcyan #008787 30 darkcyan
" Color: gray #bcbcbc 250 gray
" Color: comment #878787 102 darkgray
" Color: darkgray #878787 102 darkgray
" Color: red #d70000 160 red
" Color: green #00ff00 46 green
" Color: yellow #ffdf00 220 yellow
" Color: blue #005faf 25 blue
" Color: magenta #d787d7 176 magenta
" Color: cyan #5fffff 87 cyan
" Color: white #ffffff 231 white
" Color: xtermblue #5fafff 75 blue
" Color: xtermdarkblue #0087af 31 darkblue
" Color: orange #ffa500 214 darkyellow
" Color: darkgreen #006400 22 darkgreen
" Color: coral #ff7f50 209 red
" Color: olivedrab #6b8e23 64 green
" Color: slateblue #6a5acd 62 darkmagenta
" Term colors: black darkred darkgreen darkyellow darkblue darkmagenta darkcyan gray
" Term colors: darkgray red green yellow xtermblue magenta cyan white
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,66 +1,469 @@
" Vim color file
" Maintainer: Bohdan Vlasyuk <bohdan@vstu.edu.ua>
" Last Change: 2008 Jul 18
" Name: darkblue
" Description: For those who prefer dark background
" Author: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
" Maintainer: Original author Bohdan Vlasyuk <bohdan@vstu.edu.ua>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:33 2022
" darkblue -- for those who prefer dark background
" [note: looks bit uglier with come terminal palettes,
" but is fine on default linux console palette.]
" Generated by Colortemplate v2.2.0
set background=dark
set bg=dark
hi clear
if exists("syntax_on")
syntax reset
let g:colors_name = 'darkblue'
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 = ['#000000', '#8b0000', '#90f020', '#ffa500', '#00008b', '#8b008b', '#008b8b', '#c0c0c0', '#808080', '#ffa0a0', '#90f020', '#ffff60', '#0030ff', '#ff00ff', '#90fff0', '#ffffff']
endif
hi Normal guifg=#c0c0c0 guibg=#000040 gui=NONE cterm=NONE
hi! link Terminal Normal
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ColorColumn guifg=#c0c0c0 guibg=#8b0000 gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#ffff60 gui=NONE cterm=NONE
hi! link CursorColumn CursorLine
hi! link CursorIM Cursor
hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffff60 guibg=#666666 gui=NONE cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#ff80ff gui=NONE cterm=NONE
hi DiffAdd guifg=NONE guibg=#0030ff gui=NONE cterm=NONE
hi DiffChange guifg=NONE guibg=#404080 gui=NONE cterm=NONE
hi DiffDelete guifg=#000040 guibg=#008b8b gui=NONE cterm=NONE
hi DiffText guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
hi! link EndOfBuffer NonText
hi Error guifg=#ffa0a0 guibg=NONE gui=reverse cterm=reverse
hi! link ErrorMsg Error
hi FoldColumn guifg=#808080 guibg=NONE gui=bold cterm=NONE
hi Folded guifg=#808080 guibg=NONE gui=bold cterm=NONE
hi IncSearch guifg=#ffffff guibg=#0030ff gui=reverse cterm=reverse
hi LineNr guifg=#90f020 guibg=NONE gui=NONE cterm=NONE
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi MatchParen guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi ModeMsg guifg=#90fff0 guibg=NONE gui=NONE cterm=NONE
hi MoreMsg guifg=#006400 guibg=NONE gui=NONE cterm=NONE
hi NonText guifg=#0030ff guibg=NONE gui=NONE cterm=NONE
hi Pmenu guifg=#ffffff guibg=#0030ff gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel guifg=#0030ff guibg=#ffffff gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
hi Question guifg=#90f020 guibg=NONE gui=NONE cterm=NONE
hi Search guifg=#90fff0 guibg=#0030ff gui=NONE cterm=NONE
hi SignColumn guifg=#808080 guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#90f020 guibg=NONE guisp=#90f020 gui=undercurl cterm=underline
hi SpellLocal guifg=#90fff0 guibg=NONE guisp=#90fff0 gui=undercurl cterm=underline
hi SpellRare guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
hi StatusLine guifg=#000040 guibg=#c0c0c0 gui=NONE cterm=NONE
hi StatusLineNC guifg=#000000 guibg=#808080 gui=NONE cterm=NONE
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi TabLine guifg=#000000 guibg=#808080 gui=NONE cterm=NONE
hi! link TabLineFill TabLine
hi TabLineSel guifg=#000040 guibg=#c0c0c0 gui=NONE cterm=NONE
hi ToolbarButton guifg=#ffffff guibg=#0030ff gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit guifg=#000000 guibg=#808080 gui=NONE cterm=NONE
hi Visual guifg=#8080ff guibg=#ffffff gui=reverse cterm=reverse
hi VisualNOS guifg=#8080ff guibg=#c0c0c0 gui=reverse,underline cterm=reverse,underline
hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
hi WildMenu guifg=#ffff60 guibg=#000000 gui=NONE cterm=NONE
hi debugBreakpoint guifg=#90f020 guibg=#00008b gui=reverse cterm=reverse
hi debugPC guifg=#90fff0 guibg=#00008b gui=reverse cterm=reverse
hi! link Terminal Normal
hi! link Debug Special
hi! link diffAdded String
hi! link diffRemoved WarningMsg
hi! link diffOnly WarningMsg
hi! link diffNoEOL WarningMsg
hi! link diffIsA WarningMsg
hi! link diffIdentical WarningMsg
hi! link diffDiffer WarningMsg
hi! link diffCommon WarningMsg
hi! link diffBDiffer WarningMsg
hi! link lCursor Cursor
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi Directory guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
hi Title guifg=#ff00ff guibg=NONE gui=NONE cterm=NONE
hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#90fff0 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=#000040 guibg=#c0c0c0 gui=NONE cterm=NONE
hi PreProc guifg=#ff80ff guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#ffa500 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#ffff60 guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type guifg=#90f020 guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
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 DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi Normal ctermfg=252 ctermbg=17 cterm=NONE
hi! link Terminal Normal
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=252 ctermbg=88 cterm=NONE
hi Cursor ctermfg=16 ctermbg=227 cterm=NONE
hi! link CursorColumn CursorLine
hi! link CursorIM Cursor
hi CursorLine ctermfg=NONE ctermbg=59 cterm=NONE
hi CursorLineNr ctermfg=227 ctermbg=59 cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=213 cterm=NONE
hi DiffAdd ctermfg=NONE ctermbg=27 cterm=NONE
hi DiffChange ctermfg=NONE ctermbg=61 cterm=NONE
hi DiffDelete ctermfg=17 ctermbg=30 cterm=NONE
hi DiffText ctermfg=NONE ctermbg=30 cterm=NONE
hi! link EndOfBuffer NonText
hi Error ctermfg=217 ctermbg=NONE cterm=reverse
hi! link ErrorMsg Error
hi FoldColumn ctermfg=102 ctermbg=NONE cterm=NONE
hi Folded ctermfg=102 ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=231 ctermbg=27 cterm=reverse
hi LineNr ctermfg=118 ctermbg=NONE cterm=NONE
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
hi ModeMsg ctermfg=123 ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=22 ctermbg=NONE cterm=NONE
hi NonText ctermfg=27 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=231 ctermbg=27 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=27 ctermbg=231 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
hi Question ctermfg=118 ctermbg=NONE cterm=NONE
hi Search ctermfg=123 ctermbg=27 cterm=NONE
hi SignColumn ctermfg=102 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=30 ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=118 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=123 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=201 ctermbg=NONE cterm=underline
hi StatusLine ctermfg=17 ctermbg=252 cterm=NONE
hi StatusLineNC ctermfg=16 ctermbg=102 cterm=NONE
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi TabLine ctermfg=16 ctermbg=102 cterm=NONE
hi! link TabLineFill TabLine
hi TabLineSel ctermfg=17 ctermbg=252 cterm=NONE
hi ToolbarButton ctermfg=231 ctermbg=27 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=16 ctermbg=102 cterm=NONE
hi Visual ctermfg=105 ctermbg=231 cterm=reverse
hi VisualNOS ctermfg=105 ctermbg=252 cterm=reverse,underline
hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=227 ctermbg=16 cterm=NONE
hi debugBreakpoint ctermfg=118 ctermbg=18 cterm=reverse
hi debugPC ctermfg=123 ctermbg=18 cterm=reverse
hi! link Terminal Normal
hi! link Debug Special
hi! link diffAdded String
hi! link diffRemoved WarningMsg
hi! link diffOnly WarningMsg
hi! link diffNoEOL WarningMsg
hi! link diffIsA WarningMsg
hi! link diffIdentical WarningMsg
hi! link diffDiffer WarningMsg
hi! link diffCommon WarningMsg
hi! link diffBDiffer WarningMsg
hi! link lCursor Cursor
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi Directory ctermfg=30 ctermbg=NONE cterm=NONE
hi Title ctermfg=201 ctermbg=NONE cterm=NONE
hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=123 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=17 ctermbg=252 cterm=NONE
hi PreProc ctermfg=213 ctermbg=NONE cterm=NONE
hi Special ctermfg=214 ctermbg=NONE cterm=NONE
hi Statement ctermfg=227 ctermbg=NONE cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type ctermfg=118 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
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 DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
let colors_name = "darkblue"
if s:t_Co >= 16
hi Normal ctermfg=grey ctermbg=black cterm=NONE
hi! link Terminal Normal
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=grey ctermbg=darkred cterm=NONE
hi Cursor ctermfg=black ctermbg=yellow cterm=NONE
hi! link CursorColumn CursorLine
hi! link CursorIM Cursor
hi CursorLine ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi CursorLineNr ctermfg=yellow ctermbg=darkgrey cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi DiffAdd ctermfg=NONE ctermbg=blue cterm=NONE
hi DiffChange ctermfg=NONE ctermbg=darkblue cterm=NONE
hi DiffDelete ctermfg=black ctermbg=darkcyan cterm=NONE
hi DiffText ctermfg=NONE ctermbg=darkcyan cterm=NONE
hi! link EndOfBuffer NonText
hi Error ctermfg=red ctermbg=NONE cterm=reverse
hi! link ErrorMsg Error
hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=white ctermbg=blue cterm=reverse
hi LineNr ctermfg=green ctermbg=NONE cterm=NONE
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi MatchParen ctermfg=NONE ctermbg=NONE cterm=reverse
hi ModeMsg ctermfg=cyan ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=blue ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=white ctermbg=blue cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=blue ctermbg=white cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
hi Search ctermfg=cyan ctermbg=blue cterm=NONE
hi SignColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=green ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=cyan ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi StatusLine ctermfg=black ctermbg=grey cterm=NONE
hi StatusLineNC ctermfg=black ctermbg=darkgrey cterm=NONE
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi TabLine ctermfg=black ctermbg=darkgrey cterm=NONE
hi! link TabLineFill TabLine
hi TabLineSel ctermfg=black ctermbg=grey cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=blue cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=black ctermbg=darkgrey cterm=NONE
hi Visual ctermfg=blue ctermbg=white cterm=reverse
hi VisualNOS ctermfg=blue ctermbg=grey cterm=reverse,underline
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=yellow ctermbg=black cterm=NONE
hi debugBreakpoint ctermfg=green ctermbg=darkblue cterm=reverse
hi debugPC ctermfg=cyan ctermbg=darkblue cterm=reverse
hi! link Terminal Normal
hi! link Debug Special
hi! link diffAdded String
hi! link diffRemoved WarningMsg
hi! link diffOnly WarningMsg
hi! link diffNoEOL WarningMsg
hi! link diffIsA WarningMsg
hi! link diffIdentical WarningMsg
hi! link diffDiffer WarningMsg
hi! link diffCommon WarningMsg
hi! link diffBDiffer WarningMsg
hi! link lCursor Cursor
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
hi Constant ctermfg=red ctermbg=NONE cterm=NONE
hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
hi Ignore ctermfg=black ctermbg=grey cterm=NONE
hi PreProc ctermfg=magenta ctermbg=NONE cterm=NONE
hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Statement ctermfg=yellow ctermbg=NONE cterm=NONE
hi Todo ctermfg=NONE ctermbg=NONE cterm=reverse
hi Type ctermfg=green ctermbg=NONE cterm=NONE
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
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 TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
hi Search ctermfg=white ctermbg=blue cterm=NONE
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
unlet s:t_Co
finish
endif
hi Normal guifg=#c0c0c0 guibg=#000040 ctermfg=gray ctermbg=black
hi ErrorMsg guifg=#ffffff guibg=#287eff ctermfg=white ctermbg=lightblue
hi Visual guifg=#8080ff guibg=fg gui=reverse ctermfg=lightblue ctermbg=fg cterm=reverse
hi VisualNOS guifg=#8080ff guibg=fg gui=reverse,underline ctermfg=lightblue ctermbg=fg cterm=reverse,underline
hi Todo guifg=#d14a14 guibg=#1248d1 ctermfg=red ctermbg=darkblue
hi Search guifg=#90fff0 guibg=#2050d0 ctermfg=white ctermbg=darkblue cterm=underline term=underline
hi IncSearch guifg=#b0ffff guibg=#2050d0 ctermfg=darkblue ctermbg=gray
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
hi SpecialKey guifg=cyan ctermfg=darkcyan
hi Directory guifg=cyan ctermfg=cyan
hi Title guifg=magenta gui=none ctermfg=magenta cterm=bold
hi WarningMsg guifg=red ctermfg=red
hi WildMenu guifg=yellow guibg=black ctermfg=yellow ctermbg=black cterm=none term=none
hi ModeMsg guifg=#22cce2 ctermfg=lightblue
hi MoreMsg ctermfg=darkgreen ctermfg=darkgreen
hi Question guifg=green gui=none ctermfg=green cterm=none
hi NonText guifg=#0030ff ctermfg=darkblue
hi StatusLine guifg=blue guibg=darkgray gui=none ctermfg=blue ctermbg=gray term=none cterm=none
hi StatusLineNC guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
hi VertSplit guifg=black guibg=darkgray gui=none ctermfg=black ctermbg=gray term=none cterm=none
hi Folded guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
hi FoldColumn guifg=#808080 guibg=#000040 ctermfg=darkgrey ctermbg=black cterm=bold term=bold
hi LineNr guifg=#90f020 ctermfg=green cterm=none
hi DiffAdd guibg=darkblue ctermbg=darkblue term=none cterm=none
hi DiffChange guibg=darkmagenta ctermbg=magenta cterm=none
hi DiffDelete ctermfg=blue ctermbg=cyan gui=bold guifg=Blue guibg=DarkCyan
hi DiffText cterm=bold ctermbg=red gui=bold guibg=Red
hi Cursor guifg=black guibg=yellow ctermfg=black ctermbg=yellow
hi lCursor guifg=black guibg=white ctermfg=black ctermbg=white
hi Comment guifg=#80a0ff ctermfg=darkred
hi Constant ctermfg=magenta guifg=#ffa0a0 cterm=none
hi Special ctermfg=brown guifg=Orange cterm=none gui=none
hi Identifier ctermfg=cyan guifg=#40ffff cterm=none
hi Statement ctermfg=yellow cterm=none guifg=#ffff60 gui=none
hi PreProc ctermfg=magenta guifg=#ff80ff gui=none cterm=none
hi type ctermfg=green guifg=#60ff60 gui=none cterm=none
hi Underlined cterm=underline term=underline
hi Ignore guifg=bg ctermfg=bg
" suggested by tigmoid, 2008 Jul 18
hi Pmenu guifg=#c0c0c0 guibg=#404080
hi PmenuSel guifg=#c0c0c0 guibg=#2050d0
hi PmenuSbar guifg=blue guibg=darkgray
hi PmenuThumb guifg=#c0c0c0
" Background: dark
" Color: white #FFFFFF 231 white
" Color: black #000000 16 black
" Color: diffc #0087af 31 darkcyan
" Color: difft #005f87 24 cyan
" Color: cursorl #666666 59 darkgrey
" Color: ogDeepBlue #000040 17 black
" Color: ogDarkBlue #00008b 18 darkblue
" Color: ogBlue #0030ff 27 blue
" Color: ogLightBlue #287eff 33 blue
" Color: ogDarkGrey #a9a9a9 248 grey
" Color: ogGrey #808080 102 darkgrey
" Color: ogLightGrey #c0c0c0 252 grey
" Color: ogDarkViolet #404080 61 darkblue
" Color: ogViolet #8080ff 105 blue
" Color: ogLightViolet #80a0ff 111 blue
" Color: ogDarkGreen #006400 22 darkgreen
" Color: ogGreen #90f020 118 green
" Color: ogDarkCyan #008b8b 30 darkcyan
" Color: ogCyan #90fff0 123 cyan
" Color: ogLightCyan #b0ffff 159 cyan
" Color: ogDarkerRed #8b0000 88 darkred
" Color: ogDarkRed #d14a14 166 darkred
" Color: ogRed #ff0000 196 red
" Color: ogLightRed #ffa0a0 217 red
" Color: ogDarkMag #8b008b 90 darkmagenta
" Color: ogMagenta #ff00ff 201 darkmagenta
" Color: ogLightMag #ff80ff 213 magenta
" Color: ogOrange #ffa500 214 darkyellow
" Color: ogYellow #ffff60 227 yellow
" Term colors: black ogDarkerRed ogGreen ogOrange ogDarkBlue ogDarkMag ogDarkCyan ogLightGrey
" Term colors: ogGrey ogLightRed ogGreen ogYellow ogBlue ogMagenta ogCyan white
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,55 +1,339 @@
" Vim color file
" Maintainer: David Schweikert <david@schweikert.ch>
" Last Change: 2014 Mar 19
" Name: delek
" Description: Light background colorscheme.
" Author: Original author David Schweikert <david@schweikert.ch>
" Maintainer: Original maintainer David Schweikert <david@schweikert.ch>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:34 2022
" Generated by Colortemplate v2.2.0
set background=light
hi clear
let g:colors_name = 'delek'
let g:colors_name = "delek"
let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
" Normal should come first
hi Normal guifg=Black guibg=White
hi Cursor guifg=bg guibg=fg
hi lCursor guifg=NONE guibg=Cyan
" Note: we never set 'term' because the defaults for B&W terminals are OK
hi DiffAdd ctermbg=LightBlue guibg=LightBlue
hi DiffChange ctermbg=LightMagenta guibg=LightMagenta
hi DiffDelete ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
hi DiffText ctermbg=Red cterm=bold gui=bold guibg=Red
hi Directory ctermfg=DarkBlue guifg=Blue
hi ErrorMsg ctermfg=White ctermbg=DarkRed guibg=Red guifg=White
hi FoldColumn ctermfg=DarkBlue ctermbg=Grey guibg=Grey guifg=DarkBlue
hi Folded ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
hi IncSearch cterm=reverse gui=reverse
hi LineNr ctermfg=Brown guifg=Brown
hi ModeMsg cterm=bold gui=bold
hi MoreMsg ctermfg=DarkGreen gui=bold guifg=SeaGreen
hi NonText ctermfg=Blue gui=bold guifg=gray guibg=white
hi Pmenu guibg=LightBlue
hi PmenuSel ctermfg=White ctermbg=DarkBlue guifg=White guibg=DarkBlue
hi Question ctermfg=DarkGreen gui=bold guifg=SeaGreen
if &background == "light"
hi Search ctermfg=NONE ctermbg=Yellow guibg=Yellow guifg=NONE
else
hi Search ctermfg=Black ctermbg=Yellow guibg=Yellow guifg=Black
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#ffffff', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#bcbcbc', '#ee0000', '#0000ff', '#00cd00', '#cd00cd', '#008b8b', '#0000ff', '#ff1493', '#000000']
endif
hi SpecialKey ctermfg=DarkBlue guifg=Blue
hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue
hi Title ctermfg=DarkMagenta gui=bold guifg=Magenta
hi VertSplit cterm=reverse gui=reverse
hi Visual ctermbg=NONE cterm=reverse gui=reverse guifg=Grey guibg=fg
hi VisualNOS cterm=underline,bold gui=underline,bold
hi WarningMsg ctermfg=DarkRed guifg=Red
hi WildMenu ctermfg=Black ctermbg=Yellow guibg=Yellow guifg=Black
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi EndOfBuffer guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
hi StatusLine guifg=#ffff00 guibg=#00008b gui=bold cterm=NONE
hi StatusLineNC guifg=#ffd700 guibg=#00008b gui=NONE cterm=NONE
hi StatusLineTerm guifg=#ffff00 guibg=#0000ff gui=bold cterm=NONE
hi StatusLineTermNC guifg=#e4e4e4 guibg=#0000ff gui=NONE cterm=NONE
hi VertSplit guifg=#e4e4e4 guibg=#00008b gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#add8e6 gui=NONE cterm=NONE
hi PmenuSel guifg=#ffffff guibg=#00008b gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#bcbcbc gui=NONE cterm=NONE
hi TabLineSel guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
hi ToolbarLine guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
hi ToolbarButton guifg=#ffffff guibg=#bcbcbc gui=bold cterm=NONE
hi NonText guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#00008b guibg=#e4e4e4 gui=NONE cterm=NONE
hi Visual guifg=#000000 guibg=#d0d0d0 gui=NONE cterm=NONE
hi VisualNOS guifg=NONE guibg=#ee0000 gui=NONE cterm=NONE
hi LineNr guifg=#a52a2a guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#00008b guibg=NONE gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
hi CursorLineNr guifg=#a52a2a guibg=NONE gui=bold cterm=NONE
hi QuickFixLine guifg=#ffffff guibg=#008b8b gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined guifg=#6a5acd guibg=NONE gui=underline cterm=underline
hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
hi! link ErrorMsg Error
hi WarningMsg guifg=#cd00cd guibg=#ffffff gui=NONE cterm=NONE
hi MoreMsg guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
hi ModeMsg guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
hi Question guifg=#00cd00 guibg=NONE gui=bold cterm=NONE
hi Todo guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi MatchParen guifg=#ffffff guibg=#ff1493 gui=NONE cterm=NONE
hi Search guifg=#ffffff guibg=#cd00cd gui=NONE cterm=NONE
hi IncSearch guifg=#00cd00 guibg=NONE gui=reverse cterm=reverse
hi WildMenu guifg=#00008b guibg=#ffd700 gui=bold cterm=NONE
hi ColorColumn guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
hi Cursor guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
hi lCursor guifg=#000000 guibg=#00cd00 gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#008b8b guibg=NONE guisp=#008b8b gui=undercurl cterm=underline
hi SpellLocal guifg=#0000ff guibg=NONE guisp=#0000ff gui=undercurl cterm=underline
hi SpellRare guifg=#cd00cd guibg=NONE guisp=#cd00cd gui=undercurl cterm=underline
hi debugBreakpoint guifg=#ffff00 guibg=#0000ff gui=NONE cterm=NONE
hi debugPC guifg=#ff1493 guibg=#0000ff gui=NONE cterm=NONE
hi Comment guifg=#ee0000 guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#00cd00 guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#0000ff guibg=NONE gui=bold cterm=NONE
hi PreProc guifg=#cd00cd guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#0000ff guibg=NONE gui=bold cterm=NONE
hi Special guifg=#ff1493 guibg=NONE gui=NONE cterm=NONE
hi Directory guifg=#008b8b guibg=NONE gui=bold cterm=NONE
hi Conceal guifg=#ee0000 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title guifg=#cd00cd guibg=NONE gui=bold cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi CursorLine guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
" syntax highlighting
hi Comment cterm=NONE ctermfg=DarkRed gui=NONE guifg=red2
hi Constant cterm=NONE ctermfg=DarkGreen gui=NONE guifg=green3
hi Identifier cterm=NONE ctermfg=DarkCyan gui=NONE guifg=cyan4
hi PreProc cterm=NONE ctermfg=DarkMagenta gui=NONE guifg=magenta3
hi Special cterm=NONE ctermfg=LightRed gui=NONE guifg=deeppink
hi Statement cterm=bold ctermfg=Blue gui=bold guifg=blue
hi Type cterm=NONE ctermfg=Blue gui=bold guifg=blue
if s:t_Co >= 256
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
hi EndOfBuffer ctermfg=250 ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=226 ctermbg=18 cterm=NONE
hi StatusLineNC ctermfg=220 ctermbg=18 cterm=NONE
hi StatusLineTerm ctermfg=226 ctermbg=21 cterm=NONE
hi StatusLineTermNC ctermfg=254 ctermbg=21 cterm=NONE
hi VertSplit ctermfg=254 ctermbg=18 cterm=NONE
hi Pmenu ctermfg=16 ctermbg=152 cterm=NONE
hi PmenuSel ctermfg=231 ctermbg=18 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=231 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=30 cterm=NONE
hi TabLine ctermfg=16 ctermbg=254 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=250 cterm=NONE
hi TabLineSel ctermfg=16 ctermbg=231 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=254 cterm=NONE
hi ToolbarButton ctermfg=231 ctermbg=250 cterm=NONE
hi NonText ctermfg=250 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=250 ctermbg=NONE cterm=NONE
hi Folded ctermfg=18 ctermbg=254 cterm=NONE
hi Visual ctermfg=16 ctermbg=252 cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=196 cterm=NONE
hi LineNr ctermfg=124 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=18 ctermbg=NONE cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE
hi CursorLineNr ctermfg=124 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=231 ctermbg=30 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=62 ctermbg=NONE cterm=underline
hi Error ctermfg=196 ctermbg=231 cterm=reverse
hi! link ErrorMsg Error
hi WarningMsg ctermfg=164 ctermbg=231 cterm=NONE
hi MoreMsg ctermfg=16 ctermbg=231 cterm=NONE
hi ModeMsg ctermfg=16 ctermbg=231 cterm=NONE
hi Question ctermfg=40 ctermbg=NONE cterm=NONE
hi Todo ctermfg=16 ctermbg=226 cterm=NONE
hi MatchParen ctermfg=231 ctermbg=198 cterm=NONE
hi Search ctermfg=231 ctermbg=164 cterm=NONE
hi IncSearch ctermfg=40 ctermbg=NONE cterm=reverse
hi WildMenu ctermfg=18 ctermbg=220 cterm=NONE
hi ColorColumn ctermfg=16 ctermbg=254 cterm=NONE
hi Cursor ctermfg=231 ctermbg=16 cterm=NONE
hi lCursor ctermfg=16 ctermbg=40 cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=30 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=21 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=164 ctermbg=NONE cterm=underline
hi debugBreakpoint ctermfg=226 ctermbg=21 cterm=NONE
hi debugPC ctermfg=198 ctermbg=21 cterm=NONE
hi Comment ctermfg=196 ctermbg=NONE cterm=NONE
hi Constant ctermfg=40 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=30 ctermbg=NONE cterm=NONE
hi Statement ctermfg=21 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=164 ctermbg=NONE cterm=NONE
hi Type ctermfg=21 ctermbg=NONE cterm=NONE
hi Special ctermfg=198 ctermbg=NONE cterm=NONE
hi Directory ctermfg=30 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=196 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=164 ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
" vim: sw=2
if s:t_Co >= 16
hi Normal ctermfg=black ctermbg=white cterm=NONE
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=yellow ctermbg=darkblue cterm=NONE
hi StatusLineNC ctermfg=darkyellow ctermbg=darkblue cterm=NONE
hi StatusLineTerm ctermfg=yellow ctermbg=blue cterm=NONE
hi StatusLineTermNC ctermfg=grey ctermbg=blue cterm=NONE
hi VertSplit ctermfg=grey ctermbg=darkblue cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuSel ctermfg=white ctermbg=darkblue cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=white cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkcyan cterm=NONE
hi TabLine ctermfg=black ctermbg=grey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=grey cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkblue ctermbg=grey cterm=NONE
hi Visual ctermfg=black ctermbg=darkgrey cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=darkred cterm=NONE
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=darkblue ctermbg=NONE cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=grey cterm=NONE
hi CursorLineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=white ctermbg=darkcyan cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
hi Error ctermfg=red ctermbg=white cterm=reverse
hi! link ErrorMsg Error
hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
hi MoreMsg ctermfg=black ctermbg=white cterm=NONE
hi ModeMsg ctermfg=black ctermbg=white cterm=NONE
hi Question ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi MatchParen ctermfg=white ctermbg=magenta cterm=NONE
hi Search ctermfg=white ctermbg=darkmagenta cterm=NONE
hi IncSearch ctermfg=darkgreen ctermbg=NONE cterm=reverse
hi WildMenu ctermfg=darkblue ctermbg=darkyellow cterm=NONE
hi ColorColumn ctermfg=black ctermbg=grey cterm=NONE
hi Cursor ctermfg=white ctermbg=black cterm=NONE
hi lCursor ctermfg=black ctermbg=darkgreen cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkblue ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi debugBreakpoint ctermfg=yellow ctermbg=darkblue cterm=NONE
hi debugPC ctermfg=magenta ctermbg=darkblue cterm=NONE
hi Comment ctermfg=darkred ctermbg=NONE cterm=NONE
hi Constant ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkblue ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Type ctermfg=blue ctermbg=NONE cterm=NONE
hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Conceal ctermfg=darkred ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi Visual ctermfg=white ctermbg=darkgrey cterm=NONE
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
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: light
" Color: comment #ee0000 196 darkred
" Color: constant #00cd00 40 darkgreen
" Color: identifier #008b8b 30 darkcyan
" Color: statement #0000ff 21 darkblue
" Color: preproc #cd00cd 164 darkmagenta
" Color: type #0000ff 21 blue
" Color: special #ff1493 198 magenta
" Color: fg0 #000000 16 black
" Color: bg0 #ffffff 231 white
" Color: bg1 #bcbcbc 250 darkgrey
" Color: visual #d0d0d0 252 darkgrey
" Color: folded #e4e4e4 254 grey
" Color: pmenu #add8e6 152 grey
" Color: wildmenu #00008b 18 darkblue
" Color: error #ff0000 196 red
" Color: status_fg #ffd700 220 darkyellow
" Color: linenr #a52a2a 124 darkgrey
" Color: Yellow #ffff00 226 yellow
" Color: SlateBlue #6a5acd 62 blue
" Term colors: bg0 statement constant preproc identifier type special bg1
" Term colors: comment statement constant preproc identifier type special fg0
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,108 +1,335 @@
" Vim color file
" Maintainer: Hans Fugal <hans@fugal.net>
" Last Change: $Date: 2004/06/13 19:30:30 $
" Last Change: $Date: 2004/06/13 19:30:30 $
" URL: http://hans.fugal.net/vim/colors/desert.vim
" Version: $Id: desert.vim,v 1.1 2004/06/13 19:30:30 vimboss Exp $
" Name: desert
" Description: Light background colorscheme.
" Author: Original author Hans Fugal <hans@fugal.net>
" Maintainer: Original maintainer Hans Fugal <hans@fugal.net>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:35 2022
" cool help screens
" :he group-name
" :he highlight-groups
" :he cterm-colors
" Generated by Colortemplate v2.2.0
set background=dark
if version > 580
" no guarantees for version 5.8 and below, but this makes it stop
" complaining
hi clear
if exists("syntax_on")
syntax reset
endif
hi clear
let g:colors_name = 'desert'
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 = ['#7f7f8c', '#cd5c5c', '#9acd32', '#bdb76b', '#75a0ff', '#eeee00', '#cd853f', '#666666', '#8a7f7f', '#ff0000', '#89fb98', '#f0e68c', '#6dceeb', '#ffde9b', '#ffa0a0', '#c2bfa5']
endif
let g:colors_name="desert"
hi Normal guifg=#ffffff guibg=#333333 gui=NONE cterm=NONE
hi! link EndOfBuffer NonText
hi StatusLine guifg=#333333 guibg=#c2bfa5 gui=NONE cterm=NONE
hi StatusLineNC guifg=#7f7f8c guibg=#c2bfa5 gui=NONE cterm=NONE
hi StatusLineTerm guifg=#333333 guibg=#c2bfa5 gui=NONE cterm=NONE
hi StatusLineTermNC guifg=#ffffff guibg=#c2bfa5 gui=NONE cterm=NONE
hi VertSplit guifg=#7f7f8c guibg=#c2bfa5 gui=NONE cterm=NONE
hi Pmenu guifg=#ffffff guibg=#666666 gui=NONE cterm=NONE
hi PmenuSel guifg=#333333 guibg=#f0e68c gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#333333 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#c2bfa5 gui=NONE cterm=NONE
hi TabLine guifg=#333333 guibg=#c2bfa5 gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#c2bfa5 gui=NONE cterm=NONE
hi TabLineSel guifg=#333333 guibg=#f0e68c gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
hi ToolbarButton guifg=#333333 guibg=#ffde9b gui=bold cterm=NONE
hi NonText guifg=#6dceeb guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#9acd32 guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#eeee00 guibg=#4d4d4d gui=NONE cterm=NONE
hi Visual guifg=#f0e68c guibg=#6b8e24 gui=NONE cterm=NONE
hi VisualNOS guifg=#f0e68c guibg=#6dceeb gui=NONE cterm=NONE
hi LineNr guifg=#eeee00 guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#eeee00 guibg=#4d4d4d gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#666666 gui=NONE cterm=NONE
hi CursorLineNr guifg=#eeee00 guibg=NONE gui=bold cterm=NONE
hi QuickFixLine guifg=#333333 guibg=#f0e68c gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined guifg=#75a0ff guibg=NONE gui=underline cterm=underline
hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
hi ErrorMsg guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
hi ModeMsg guifg=#ffde9b guibg=NONE gui=bold cterm=NONE
hi WarningMsg guifg=#cd5c5c guibg=NONE gui=bold cterm=NONE
hi MoreMsg guifg=#9acd32 guibg=NONE gui=bold cterm=NONE
hi Question guifg=#89fb98 guibg=NONE gui=bold cterm=NONE
hi Todo guifg=#ff0000 guibg=#eeee00 gui=NONE cterm=NONE
hi MatchParen guifg=#7f7f8c guibg=#bdb76b gui=NONE cterm=NONE
hi Search guifg=#f0e68c guibg=#7f7f8c gui=NONE cterm=NONE
hi IncSearch guifg=#f0e68c guibg=#cd853f gui=NONE cterm=NONE
hi WildMenu guifg=#333333 guibg=#eeee00 gui=NONE cterm=NONE
hi ColorColumn guifg=#ffffff guibg=#cd5c5c gui=NONE cterm=NONE
hi Cursor guifg=#333333 guibg=#f0e68c gui=NONE cterm=NONE
hi lCursor guifg=#333333 guibg=#ff0000 gui=NONE cterm=NONE
hi debugPC guifg=#666666 guibg=NONE gui=reverse cterm=reverse
hi debugBreakpoint guifg=#ffa0a0 guibg=NONE gui=reverse cterm=reverse
hi SpellBad guifg=#cd5c5c guibg=NONE guisp=#cd5c5c gui=undercurl cterm=underline
hi SpellCap guifg=#75a0ff guibg=NONE guisp=#75a0ff gui=undercurl cterm=underline
hi SpellLocal guifg=#ffde9b guibg=NONE guisp=#ffde9b gui=undercurl cterm=underline
hi SpellRare guifg=#9acd32 guibg=NONE guisp=#9acd32 gui=undercurl cterm=underline
hi Comment guifg=#6dceeb guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#89fb98 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#f0e68c guibg=NONE gui=bold cterm=NONE
hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#cd5c5c guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#bdb76b guibg=NONE gui=bold cterm=NONE
hi Special guifg=#ffde9b guibg=NONE gui=NONE cterm=NONE
hi Directory guifg=#6dceeb guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#666666 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title guifg=#cd5c5c guibg=NONE gui=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
hi Normal guifg=White guibg=grey20
if s:t_Co >= 256
hi Normal ctermfg=231 ctermbg=236 cterm=NONE
hi! link EndOfBuffer NonText
hi StatusLine ctermfg=236 ctermbg=144 cterm=NONE
hi StatusLineNC ctermfg=242 ctermbg=144 cterm=NONE
hi StatusLineTerm ctermfg=236 ctermbg=144 cterm=NONE
hi StatusLineTermNC ctermfg=231 ctermbg=144 cterm=NONE
hi VertSplit ctermfg=242 ctermbg=144 cterm=NONE
hi Pmenu ctermfg=231 ctermbg=241 cterm=NONE
hi PmenuSel ctermfg=236 ctermbg=186 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=236 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=144 cterm=NONE
hi TabLine ctermfg=236 ctermbg=144 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=144 cterm=NONE
hi TabLineSel ctermfg=236 ctermbg=186 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=241 cterm=NONE
hi ToolbarButton ctermfg=236 ctermbg=222 cterm=NONE
hi NonText ctermfg=81 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=112 ctermbg=NONE cterm=NONE
hi Folded ctermfg=226 ctermbg=239 cterm=NONE
hi Visual ctermfg=186 ctermbg=64 cterm=NONE
hi VisualNOS ctermfg=186 ctermbg=81 cterm=NONE
hi LineNr ctermfg=226 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=226 ctermbg=239 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=241 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=241 cterm=NONE
hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=236 ctermbg=186 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
hi Error ctermfg=196 ctermbg=231 cterm=reverse
hi ErrorMsg ctermfg=196 ctermbg=231 cterm=reverse
hi ModeMsg ctermfg=222 ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=167 ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=112 ctermbg=NONE cterm=NONE
hi Question ctermfg=120 ctermbg=NONE cterm=NONE
hi Todo ctermfg=196 ctermbg=226 cterm=NONE
hi MatchParen ctermfg=242 ctermbg=143 cterm=NONE
hi Search ctermfg=186 ctermbg=242 cterm=NONE
hi IncSearch ctermfg=186 ctermbg=172 cterm=NONE
hi WildMenu ctermfg=236 ctermbg=226 cterm=NONE
hi ColorColumn ctermfg=231 ctermbg=167 cterm=NONE
hi debugPC ctermfg=241 ctermbg=NONE cterm=reverse
hi debugBreakpoint ctermfg=217 ctermbg=NONE cterm=reverse
hi SpellBad ctermfg=167 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=111 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=222 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=112 ctermbg=NONE cterm=underline
hi Comment ctermfg=81 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=120 ctermbg=NONE cterm=NONE
hi Statement ctermfg=186 ctermbg=NONE cterm=NONE
hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=167 ctermbg=NONE cterm=NONE
hi Type ctermfg=143 ctermbg=NONE cterm=NONE
hi Special ctermfg=222 ctermbg=NONE cterm=NONE
hi Directory ctermfg=81 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=241 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=167 ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
" highlight groups
hi Cursor guibg=khaki guifg=slategrey
"hi CursorIM
"hi Directory
"hi DiffAdd
"hi DiffChange
"hi DiffDelete
"hi DiffText
"hi ErrorMsg
hi VertSplit guibg=#c2bfa5 guifg=grey50 gui=none
hi Folded guibg=grey30 guifg=gold
hi FoldColumn guibg=grey30 guifg=tan
hi IncSearch guifg=slategrey guibg=khaki
"hi LineNr
hi ModeMsg guifg=goldenrod
hi MoreMsg guifg=SeaGreen
hi NonText guifg=LightBlue guibg=grey30
hi Question guifg=springgreen
hi Search guibg=peru guifg=wheat
hi SpecialKey guifg=yellowgreen
hi StatusLine guibg=#c2bfa5 guifg=black gui=none
hi StatusLineNC guibg=#c2bfa5 guifg=grey50 gui=none
hi Title guifg=indianred
hi Visual gui=none guifg=khaki guibg=olivedrab
"hi VisualNOS
hi WarningMsg guifg=salmon
"hi WildMenu
"hi Menu
"hi Scrollbar
"hi Tooltip
if s:t_Co >= 16
hi Normal ctermfg=white ctermbg=black cterm=NONE
hi! link EndOfBuffer NonText
hi StatusLine ctermfg=black ctermbg=grey cterm=NONE
hi StatusLineNC ctermfg=darkgrey ctermbg=grey cterm=NONE
hi StatusLineTerm ctermfg=black ctermbg=grey cterm=NONE
hi StatusLineTermNC ctermfg=darkgrey ctermbg=grey cterm=NONE
hi VertSplit ctermfg=darkgrey ctermbg=grey cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi TabLine ctermfg=black ctermbg=grey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=white cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=darkyellow cterm=NONE
hi NonText ctermfg=blue ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Visual ctermfg=white ctermbg=darkgreen cterm=NONE
hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=darkyellow ctermbg=darkgrey cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=NONE ctermbg=darkblue cterm=NONE
hi CursorLineNr ctermfg=darkyellow ctermbg=NONE cterm=underline
hi QuickFixLine ctermfg=black ctermbg=yellow cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
hi Error ctermfg=red ctermbg=white cterm=reverse
hi ErrorMsg ctermfg=red ctermbg=white cterm=reverse
hi ModeMsg ctermfg=magenta ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
hi Todo ctermfg=red ctermbg=darkmagenta cterm=NONE
hi MatchParen ctermfg=black ctermbg=darkyellow cterm=NONE
hi Search ctermfg=black ctermbg=darkgreen cterm=NONE
hi IncSearch ctermfg=black ctermbg=yellow cterm=NONE
hi WildMenu ctermfg=black ctermbg=darkmagenta cterm=NONE
hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
hi debugPC ctermfg=grey ctermbg=NONE cterm=reverse
hi debugBreakpoint ctermfg=cyan ctermbg=NONE cterm=reverse
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=blue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkyellow ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkgreen ctermbg=NONE cterm=underline
hi Comment ctermfg=cyan ctermbg=NONE cterm=NONE
hi Identifier ctermfg=green ctermbg=NONE cterm=NONE
hi Statement ctermfg=yellow ctermbg=NONE cterm=NONE
hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkred ctermbg=NONE cterm=NONE
hi Type ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
hi Directory ctermfg=blue ctermbg=NONE cterm=NONE
hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=darkred ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
unlet s:t_Co
finish
endif
" syntax highlighting groups
hi Comment guifg=SkyBlue
hi Constant guifg=#ffa0a0
hi Identifier guifg=palegreen
hi Statement guifg=khaki
hi PreProc guifg=indianred
hi Type guifg=darkkhaki
hi Special guifg=navajowhite
"hi Underlined
hi Ignore guifg=grey40
"hi Error
hi Todo guifg=orangered guibg=yellow2
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 terminal definitions
hi SpecialKey ctermfg=darkgreen
hi NonText cterm=bold ctermfg=darkblue
hi Directory ctermfg=darkcyan
hi ErrorMsg cterm=bold ctermfg=7 ctermbg=1
hi IncSearch cterm=NONE ctermfg=yellow ctermbg=green
hi Search cterm=NONE ctermfg=grey ctermbg=blue
hi MoreMsg ctermfg=darkgreen
hi ModeMsg cterm=NONE ctermfg=brown
hi LineNr ctermfg=3
hi Question ctermfg=green
hi StatusLine cterm=bold,reverse
hi StatusLineNC cterm=reverse
hi VertSplit cterm=reverse
hi Title ctermfg=5
hi Visual cterm=reverse
hi VisualNOS cterm=bold,underline
hi WarningMsg ctermfg=1
hi WildMenu ctermfg=0 ctermbg=3
hi Folded ctermfg=darkgrey ctermbg=NONE
hi FoldColumn ctermfg=darkgrey ctermbg=NONE
hi DiffAdd ctermbg=4
hi DiffChange ctermbg=5
hi DiffDelete cterm=bold ctermfg=4 ctermbg=6
hi DiffText cterm=bold ctermbg=1
hi Comment ctermfg=darkcyan
hi Constant ctermfg=brown
hi Special ctermfg=5
hi Identifier ctermfg=6
hi Statement ctermfg=3
hi PreProc ctermfg=5
hi Type ctermfg=2
hi Underlined cterm=underline ctermfg=5
hi Ignore cterm=bold ctermfg=7
hi Ignore ctermfg=darkgrey
hi Error cterm=bold ctermfg=7 ctermbg=1
"vim: sw=4
" Background: dark
" Color: foreground #ffffff 231 white
" Color: background #333333 236 black
" Color: color00 #7f7f8c 242 black
" Color: color08 #8a7f7f 244 darkgrey
" Color: color01 #cd5c5c 167 darkred
" Color: color09 #ff0000 196 red
" Color: color02 #9acd32 112 darkgreen
" Color: color10 #89fb98 120 green
" Color: color03 #bdb76b 143 darkyellow
" Color: color11 #f0e68c 186 yellow
" Color: color04 #75a0ff 111 darkblue
" Color: color12 #6dceeb 81 blue
" Color: color05 #eeee00 226 darkmagenta
" Color: color13 #ffde9b 222 magenta
" Color: color06 #cd853f 172 darkcyan
" Color: color14 #ffa0a0 217 cyan
" Color: color07 #666666 241 grey
" Color: color15 #c2bfa5 144 white
" Color: color16 #6b8e24 64 darkgreen
" Color: color17 #4d4d4d 239 grey
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,50 +1,375 @@
" local syntax file - set colors on a per-machine basis:
" vim: tw=0 ts=4 sw=4
" Vim color file
" Maintainer: Ron Aaron <ron@ronware.org>
" Last Change: 2003 May 02
" Name: elflord
" Author: original author Ron Aaron <ron@ronware.org>
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
" Website: https://www.github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:36 2022
" Generated by Colortemplate v2.2.0
set background=dark
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name = "elflord"
hi Normal guifg=cyan guibg=black
hi Comment term=bold ctermfg=DarkCyan guifg=#80a0ff
hi Constant term=underline ctermfg=Magenta guifg=Magenta
hi Special term=bold ctermfg=DarkMagenta guifg=Red
hi Identifier term=underline cterm=bold ctermfg=Cyan guifg=#40ffff
hi Statement term=bold ctermfg=Yellow gui=bold guifg=#aa4444
hi PreProc term=underline ctermfg=LightBlue guifg=#ff80ff
hi Type term=underline ctermfg=LightGreen guifg=#60ff60 gui=bold
hi Function term=bold ctermfg=White guifg=White
hi Repeat term=underline ctermfg=White guifg=white
hi Operator ctermfg=Red guifg=Red
hi Ignore ctermfg=black guifg=bg
hi Error term=reverse ctermbg=Red ctermfg=White guibg=Red guifg=White
hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=Yellow
" Common groups that link to default highlighting.
" You can specify other highlighting easily.
hi link String Constant
hi link Character Constant
hi link Number Constant
hi link Boolean Constant
hi link Float Number
hi link Conditional Repeat
hi link Label Statement
hi link Keyword Statement
hi link Exception Statement
hi link Include PreProc
hi link Define PreProc
hi link Macro PreProc
hi link PreCondit PreProc
hi link StorageClass Type
hi link Structure Type
hi link Typedef Type
hi link Tag Special
hi link SpecialChar Special
hi link Delimiter Special
hi link SpecialComment Special
hi link Debug Special
hi clear
let g:colors_name = 'elflord'
let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
hi! link Terminal Normal
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Repeat
hi! link Debug Special
hi! link Define PreProc
hi! link Delimiter Special
hi! link Exception Statement
hi! link Float Number
hi! link Include PreProc
hi! link Keyword Statement
hi! link Label Statement
hi! link Macro PreProc
hi! link Number Constant
hi! link PopupSelected PmenuSel
hi! link PreCondit PreProc
hi! link SpecialChar Special
hi! link SpecialComment Special
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link StorageClass Type
hi! link String Constant
hi! link Structure Type
hi! link Tag Special
hi! link Typedef Type
hi! link lCursor Cursor
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
endif
hi Normal guifg=#00ffff guibg=#000000 gui=NONE cterm=NONE
hi QuickFixLine guifg=#ffffff guibg=#2e8b57 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#cd0000 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#3a3a3a gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#3a3a3a gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=underline
hi Folded guifg=#00ffff guibg=#666666 gui=NONE cterm=NONE
hi Conceal guifg=#666666 guibg=NONE gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#00ffff gui=NONE cterm=NONE
hi Directory guifg=#00ffff guibg=#000000 gui=NONE cterm=NONE
hi EndOfBuffer guifg=#0000ff guibg=#000000 gui=bold cterm=NONE
hi ErrorMsg guifg=#ffffff guibg=#cd0000 gui=NONE cterm=NONE
hi FoldColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi IncSearch guifg=NONE guibg=#000000 gui=reverse cterm=reverse
hi LineNr guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
hi MatchParen guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
hi NonText guifg=#0000ff guibg=NONE gui=bold cterm=NONE
hi Pmenu guifg=#ffffff guibg=#444444 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#bebebe gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=NONE
hi Search guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi SignColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#0000ff guibg=NONE guisp=#0000ff gui=undercurl cterm=underline
hi SpellLocal guifg=#ffff00 guibg=NONE guisp=#ffff00 gui=undercurl cterm=underline
hi SpellRare guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
hi StatusLine guifg=#000000 guibg=#00ffff gui=bold cterm=NONE
hi StatusLineNC guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#008b8b gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#000000 gui=reverse cterm=reverse
hi TabLineSel guifg=#00ffff guibg=#000000 gui=bold cterm=NONE
hi Terminal guifg=#00ffff guibg=#000000 gui=NONE cterm=NONE
hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
hi VertSplit guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
hi Visual guifg=#000000 guibg=#a9a9a9 gui=NONE cterm=NONE
hi VisualNOS guifg=NONE guibg=#000000 gui=bold,underline cterm=underline
hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#ff00ff guibg=NONE gui=NONE cterm=NONE
hi Error guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
hi Function guifg=#ffffff guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#40ffff guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=#000000 guibg=#000000 gui=NONE cterm=NONE
hi Operator guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#ff80ff guibg=NONE gui=NONE cterm=NONE
hi Repeat guifg=#ffffff guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#aa4444 guibg=NONE gui=bold cterm=NONE
hi Todo guifg=#0000ff guibg=#ffff00 gui=NONE cterm=NONE
hi Type guifg=#60ff60 guibg=NONE gui=bold cterm=NONE
hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=NONE
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi Normal ctermfg=51 ctermbg=16 cterm=NONE
hi QuickFixLine ctermfg=231 ctermbg=29 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=160 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=237 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=237 cterm=NONE
hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=underline
hi Folded ctermfg=51 ctermbg=59 cterm=NONE
hi Conceal ctermfg=59 ctermbg=NONE cterm=NONE
hi Cursor ctermfg=16 ctermbg=51 cterm=NONE
hi Directory ctermfg=51 ctermbg=16 cterm=NONE
hi EndOfBuffer ctermfg=21 ctermbg=16 cterm=NONE
hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
hi FoldColumn ctermfg=51 ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=NONE ctermbg=16 cterm=reverse
hi LineNr ctermfg=226 ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=30 cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
hi NonText ctermfg=21 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=231 ctermbg=238 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=250 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=44 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
hi Question ctermfg=46 ctermbg=NONE cterm=NONE
hi Search ctermfg=16 ctermbg=226 cterm=NONE
hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=51 ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=21 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=226 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=201 ctermbg=NONE cterm=underline
hi StatusLine ctermfg=16 ctermbg=51 cterm=NONE
hi StatusLineNC ctermfg=16 ctermbg=44 cterm=NONE
hi TabLine ctermfg=16 ctermbg=30 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=16 cterm=reverse
hi TabLineSel ctermfg=51 ctermbg=16 cterm=NONE
hi Terminal ctermfg=51 ctermbg=16 cterm=NONE
hi Title ctermfg=201 ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=16 ctermbg=44 cterm=NONE
hi Visual ctermfg=16 ctermbg=145 cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=16 cterm=underline
hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
hi Constant ctermfg=201 ctermbg=NONE cterm=NONE
hi Error ctermfg=231 ctermbg=196 cterm=NONE
hi Function ctermfg=231 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=87 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=16 ctermbg=16 cterm=NONE
hi Operator ctermfg=196 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=213 ctermbg=NONE cterm=NONE
hi Repeat ctermfg=231 ctermbg=NONE cterm=NONE
hi Special ctermfg=196 ctermbg=NONE cterm=NONE
hi Statement ctermfg=131 ctermbg=NONE cterm=NONE
hi Todo ctermfg=21 ctermbg=226 cterm=NONE
hi Type ctermfg=83 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=16 ctermbg=254 cterm=NONE
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
if s:t_Co >= 16
hi Normal ctermfg=cyan ctermbg=black cterm=NONE
hi QuickFixLine ctermfg=white ctermbg=darkgreen cterm=NONE
hi ColorColumn ctermfg=cyan ctermbg=darkred cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
hi Folded ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Cursor ctermfg=black ctermbg=cyan cterm=NONE
hi Directory ctermfg=cyan ctermbg=black cterm=NONE
hi EndOfBuffer ctermfg=darkblue ctermbg=black cterm=NONE
hi ErrorMsg ctermfg=white ctermbg=darkred cterm=NONE
hi FoldColumn ctermfg=cyan ctermbg=NONE cterm=NONE
hi IncSearch ctermfg=NONE ctermbg=black cterm=reverse
hi LineNr ctermfg=yellow ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=darkcyan cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=white ctermbg=darkgrey cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
hi Search ctermfg=black ctermbg=yellow cterm=NONE
hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkblue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=yellow ctermbg=NONE cterm=underline
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
hi StatusLine ctermfg=black ctermbg=cyan cterm=NONE
hi StatusLineNC ctermfg=black ctermbg=darkcyan cterm=NONE
hi TabLine ctermfg=black ctermbg=darkcyan cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse
hi TabLineSel ctermfg=cyan ctermbg=black cterm=NONE
hi Terminal ctermfg=cyan ctermbg=black cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=black ctermbg=darkcyan cterm=NONE
hi Visual ctermfg=black ctermbg=darkgrey cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
hi Constant ctermfg=magenta ctermbg=NONE cterm=NONE
hi Error ctermfg=white ctermbg=red cterm=NONE
hi Function ctermfg=white ctermbg=NONE cterm=NONE
hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
hi Ignore ctermfg=black ctermbg=black cterm=NONE
hi Operator ctermfg=red ctermbg=NONE cterm=NONE
hi PreProc ctermfg=magenta ctermbg=NONE cterm=NONE
hi Repeat ctermfg=white ctermbg=NONE cterm=NONE
hi Special ctermfg=red ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkred ctermbg=NONE cterm=NONE
hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
hi Type ctermfg=green ctermbg=NONE cterm=NONE
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
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: xterm0 #000000 16 black
" Color: xterm1 #cd0000 160 darkred
" Color: xterm2 #00cd00 40 darkgreen
" Color: xterm3 #cdcd00 184 darkyellow
" Color: xterm4 #0000ee 20 darkblue
" Color: xterm5 #cd00cd 164 darkmagenta
" Color: xterm6 #00cdcd 44 darkcyan
" Color: xterm7 #e5e5e5 254 grey
" Color: xterm8 #7f7f7f 102 darkgrey
" Color: xterm9 #ff0000 196 red
" Color: xterm10 #00ff00 46 green
" Color: xterm11 #ffff00 226 yellow
" Color: xterm12 #5c5cff 63 blue
" Color: xterm13 #ff00ff 201 magenta
" Color: xterm14 #00ffff 51 cyan
" Color: xterm15 #ffffff 231 white
" Color: Pmenu #444444 238 darkgrey
" Color: CursorLine #3a3a3a 237 darkgrey
" Color: rgbGrey40 #666666 59 darkgrey
" Color: rgbDarkGrey #a9a9a9 145 darkgrey
" Color: rgbBlue #0000ff 21 darkblue
" Color: rgbDarkCyan #008b8b 30 darkcyan
" Color: Directory #00ffff 51 cyan
" Color: rgbSeaGreen #2e8b57 29 darkgreen
" Color: rgbGrey #bebebe 250 grey
" Color: Question #00ff00 46 green
" Color: SignColumn #a9a9a9 248 grey
" Color: SpecialKey #00ffff 51 cyan
" Color: Title #ff00ff 201 magenta
" Color: WarningMsg #ff0000 196 red
" Color: ToolbarLine #7f7f7f 244 darkgrey
" Color: Underlined #80a0ff 111 blue
" Color: elfComment #80a0ff 111 blue
" Color: elfIdentifier #40ffff 87 cyan
" Color: elfStatement #aa4444 131 darkred
" Color: elfPreProc #ff80ff 213 magenta
" Color: elfType #60ff60 83 green
" Color: elfBlue #0000ff 21 blue
" Term colors: xterm0 xterm1 xterm2 xterm3 xterm4 xterm5 xterm6 xterm7
" Term colors: xterm8 xterm9 xterm10 xterm11 xterm12 xterm13
" Term colors: xterm14 xterm15
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,56 +1,448 @@
" Vim color file
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2016 Oct 10
" Name: evening
" Description: This color scheme uses a dark grey background.
" Author: Original author Bram Moolenaar <Bram@vim.org>
" Maintainer: Original maintainer Steven Vertigan <steven@vertigan.wattle.id.au>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:37 2022
" This color scheme uses a dark grey background.
" Generated by Colortemplate v2.2.0
" First remove all existing highlighting.
set background=dark
hi clear
if exists("syntax_on")
syntax reset
let g:colors_name = 'evening'
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 = ['#000000', '#ffa500', '#2e8b57', '#ffff00', '#006faf', '#8b008b', '#008b8b', '#bebebe', '#4d4d4d', '#ff5f5f', '#00ff00', '#ffff60', '#0087ff', '#ff80ff', '#00ffff', '#ffffff']
endif
hi Normal guifg=#ffffff guibg=#333333 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#8b0000 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffff00 guibg=#666666 gui=NONE cterm=NONE
hi EndOfBuffer guifg=#add8e6 guibg=#4d4d4d gui=NONE cterm=NONE
hi StatusLine guifg=#333333 guibg=#ffffff gui=bold cterm=NONE
hi StatusLineNC guifg=#333333 guibg=#d3d3d3 gui=NONE cterm=NONE
hi TabLineSel guifg=#333333 guibg=#ffffff gui=bold cterm=NONE
hi TabLine guifg=#333333 guibg=#d3d3d3 gui=NONE cterm=NONE
hi QuickFixLine guifg=#ffffff guibg=#8b008b gui=NONE cterm=NONE
hi Pmenu guifg=#ffffff guibg=#4d4d4d gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#bebebe gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
hi LineNr guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
hi ErrorMsg guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
hi FoldColumn guifg=#add8e6 guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#00008b guibg=#d3d3d3 gui=bold cterm=NONE
hi IncSearch guifg=#00ff00 guibg=NONE gui=reverse cterm=reverse
hi MatchParen guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg guifg=#2e8b57 guibg=NONE gui=NONE cterm=NONE
hi NonText guifg=#add8e6 guibg=#4d4d4d gui=NONE cterm=NONE
hi Question guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
hi Search guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi SignColumn guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#00ff00 guibg=NONE guisp=#00ff00 gui=undercurl cterm=underline
hi SpellLocal guifg=#00ffff guibg=NONE guisp=#00ffff gui=undercurl cterm=underline
hi SpellRare guifg=#ff80ff guibg=NONE guisp=#ff80ff gui=undercurl cterm=underline
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link TabLineFill TabLine
hi ToolbarButton guifg=NONE guibg=#999999 gui=bold cterm=NONE
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit guifg=#ffffff guibg=#ffffff gui=NONE cterm=NONE
hi Visual guifg=#ffffff guibg=#999999 gui=NONE cterm=NONE
hi VisualNOS guifg=NONE guibg=NONE gui=bold,underline ctermfg=NONE ctermbg=NONE cterm=underline
hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
hi WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=NONE
hi debugBreakpoint guifg=#00008b guibg=#ff0000 gui=NONE cterm=NONE
hi debugPC guifg=#00008b guibg=#0000ff gui=NONE cterm=NONE
hi! link Terminal Normal
hi! link CursorColumn CursorLine
hi! link CursorIM Cursor
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link Debug Special
hi! link diffAdded String
hi! link diffRemoved WarningMsg
hi! link diffOnly WarningMsg
hi! link diffNoEOL WarningMsg
hi! link diffIsA WarningMsg
hi! link diffIdentical WarningMsg
hi! link diffDiffer WarningMsg
hi! link diffCommon WarningMsg
hi! link diffBDiffer WarningMsg
hi! link lCursor Cursor
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi Directory guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi Title guifg=#ff80ff guibg=NONE gui=NONE cterm=NONE
hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=#333333 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#ff80ff guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#ffa500 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#ffff60 guibg=NONE gui=bold cterm=NONE
hi Todo guifg=#ffff00 guibg=#0000ff gui=reverse cterm=reverse
hi Type guifg=#00ff00 guibg=NONE gui=bold cterm=NONE
hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
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 DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi Normal ctermfg=231 ctermbg=236 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=88 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=241 cterm=NONE
hi CursorLineNr ctermfg=226 ctermbg=241 cterm=NONE
hi EndOfBuffer ctermfg=153 ctermbg=239 cterm=NONE
hi StatusLine ctermfg=236 ctermbg=231 cterm=NONE
hi StatusLineNC ctermfg=236 ctermbg=252 cterm=NONE
hi TabLineSel ctermfg=236 ctermbg=231 cterm=NONE
hi TabLine ctermfg=236 ctermbg=252 cterm=NONE
hi QuickFixLine ctermfg=231 ctermbg=90 cterm=NONE
hi Pmenu ctermfg=231 ctermbg=239 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=250 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
hi LineNr ctermfg=226 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor ctermfg=16 ctermbg=46 cterm=NONE
hi Error ctermfg=196 ctermbg=231 cterm=reverse
hi ErrorMsg ctermfg=231 ctermbg=196 cterm=NONE
hi FoldColumn ctermfg=153 ctermbg=NONE cterm=NONE
hi Folded ctermfg=18 ctermbg=252 cterm=NONE
hi IncSearch ctermfg=46 ctermbg=NONE cterm=reverse
hi MatchParen ctermfg=NONE ctermbg=30 cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
hi NonText ctermfg=153 ctermbg=239 cterm=NONE
hi Question ctermfg=46 ctermbg=NONE cterm=NONE
hi Search ctermfg=16 ctermbg=226 cterm=NONE
hi SignColumn ctermfg=30 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=51 ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=46 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=51 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=201 ctermbg=NONE cterm=underline
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link TabLineFill TabLine
hi ToolbarButton ctermfg=NONE ctermbg=246 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=231 ctermbg=231 cterm=NONE
hi Visual ctermfg=231 ctermbg=246 cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
hi debugBreakpoint ctermfg=18 ctermbg=196 cterm=NONE
hi debugPC ctermfg=18 ctermbg=21 cterm=NONE
hi! link Terminal Normal
hi! link CursorColumn CursorLine
hi! link CursorIM Cursor
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link Debug Special
hi! link diffAdded String
hi! link diffRemoved WarningMsg
hi! link diffOnly WarningMsg
hi! link diffNoEOL WarningMsg
hi! link diffIsA WarningMsg
hi! link diffIdentical WarningMsg
hi! link diffDiffer WarningMsg
hi! link diffCommon WarningMsg
hi! link diffBDiffer WarningMsg
hi! link lCursor Cursor
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi Directory ctermfg=51 ctermbg=NONE cterm=NONE
hi Title ctermfg=201 ctermbg=NONE cterm=NONE
hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=51 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=236 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=201 ctermbg=NONE cterm=NONE
hi Special ctermfg=214 ctermbg=NONE cterm=NONE
hi Statement ctermfg=227 ctermbg=NONE cterm=NONE
hi Todo ctermfg=226 ctermbg=21 cterm=reverse
hi Type ctermfg=46 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
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 DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
let colors_name = "evening"
hi Normal ctermbg=DarkGrey ctermfg=White guifg=White guibg=grey20
" Groups used in the 'highlight' and 'guicursor' options default value.
hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
hi IncSearch term=reverse cterm=reverse gui=reverse
hi ModeMsg term=bold cterm=bold gui=bold
hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold
hi StatusLineNC term=reverse cterm=reverse gui=reverse
hi VertSplit term=reverse cterm=reverse gui=reverse
hi Visual term=reverse ctermbg=black guibg=grey60
hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
hi Cursor guibg=Green guifg=Black
hi lCursor guibg=Cyan guifg=Black
hi Directory term=bold ctermfg=LightCyan guifg=Cyan
hi LineNr term=underline ctermfg=Yellow guifg=Yellow
hi MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen
hi NonText term=bold ctermfg=LightBlue gui=bold guifg=LightBlue guibg=grey30
hi Question term=standout ctermfg=LightGreen gui=bold guifg=Green
hi Search term=reverse ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
hi SpecialKey term=bold ctermfg=LightBlue guifg=Cyan
hi Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta
hi WarningMsg term=standout ctermfg=LightRed guifg=Red
hi WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
hi Folded term=standout ctermbg=LightGrey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
hi FoldColumn term=standout ctermbg=LightGrey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue
hi DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue
hi DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta
hi DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan
hi CursorColumn term=reverse ctermbg=Black guibg=grey40
hi CursorLine term=underline cterm=underline guibg=grey40
" Groups for syntax highlighting
hi Constant term=underline ctermfg=Magenta guifg=#ffa0a0
hi Special term=bold ctermfg=LightRed guifg=Orange
if &t_Co > 8
hi Statement term=bold cterm=bold ctermfg=Yellow guifg=#ffff60 gui=bold
if s:t_Co >= 16
hi Normal ctermfg=white ctermbg=black cterm=NONE
hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=underline
hi EndOfBuffer ctermfg=lightblue ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=black ctermbg=white cterm=NONE
hi StatusLineNC ctermfg=black ctermbg=gray cterm=NONE
hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
hi TabLine ctermfg=black ctermbg=gray cterm=NONE
hi QuickFixLine ctermfg=white ctermbg=darkmagenta cterm=NONE
hi Pmenu ctermfg=white ctermbg=darkgray cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=gray cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi LineNr ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Conceal ctermfg=NONE ctermbg=NONE cterm=NONE
hi Cursor ctermfg=black ctermbg=green cterm=NONE
hi Error ctermfg=red ctermbg=white cterm=reverse
hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
hi FoldColumn ctermfg=lightblue ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkblue ctermbg=gray cterm=NONE
hi IncSearch ctermfg=green ctermbg=NONE cterm=reverse
hi MatchParen ctermfg=NONE ctermbg=darkcyan cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=lightblue ctermbg=darkgray cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
hi Search ctermfg=black ctermbg=darkyellow cterm=NONE
hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=green ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=cyan ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link TabLineFill TabLine
hi ToolbarButton ctermfg=NONE ctermbg=darkgray cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=white ctermbg=white cterm=NONE
hi Visual ctermfg=white ctermbg=darkgray cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
hi debugBreakpoint ctermfg=darkblue ctermbg=red cterm=NONE
hi debugPC ctermfg=darkblue ctermbg=blue cterm=NONE
hi! link Terminal Normal
hi! link CursorColumn CursorLine
hi! link CursorIM Cursor
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link Debug Special
hi! link diffAdded String
hi! link diffRemoved WarningMsg
hi! link diffOnly WarningMsg
hi! link diffNoEOL WarningMsg
hi! link diffIsA WarningMsg
hi! link diffIdentical WarningMsg
hi! link diffDiffer WarningMsg
hi! link diffCommon WarningMsg
hi! link diffBDiffer WarningMsg
hi! link lCursor Cursor
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Comment ctermfg=lightblue ctermbg=NONE cterm=NONE
hi Constant ctermfg=magenta ctermbg=NONE cterm=NONE
hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
hi Ignore ctermfg=gray ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Special ctermfg=darkred ctermbg=NONE cterm=NONE
hi Statement ctermfg=yellow ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkyellow ctermbg=blue cterm=reverse
hi Type ctermfg=green ctermbg=NONE cterm=NONE
hi Underlined ctermfg=lightblue ctermbg=NONE cterm=underline
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 DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
unlet s:t_Co
finish
endif
hi Ignore ctermfg=DarkGrey guifg=grey20
" vim: sw=2
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: lightmagenta #ffa0a0 217 magenta
" Color: blue #0000ff 21 blue
" Color: cyan #00ffff 51 cyan
" Color: yellow #ffff00 226 darkyellow
" Color: white #ffffff 231 white
" Color: black #000000 16 black
" Color: green #00ff00 46 green
" Color: magenta #ff80ff 201 darkmagenta
" Color: red #ff0000 196 red
" Color: lightyellow #ffff60 227 yellow
" Color: darkblue #00008b 18 darkblue
" Color: darkcyan #008b8b 30 darkcyan
" Color: darkmagenta #8b008b 90 darkmagenta
" Color: lightblue #add8e6 153 lightblue
" Color: orange #ffa500 214 darkred
" Color: seagreen #2e8b57 29 darkgreen
" Color: lightgrey #d3d3d3 252 gray
" Color: grey #bebebe 250 gray
" Color: grey20 #333333 236 gray
" Color: grey30 #4d4d4d 239 darkgray
" Color: grey40 #666666 241 darkgray
" Color: grey60 #999999 246 darkgray
" Color: xtermblue #0087ff 33 blue
" Color: xtermdarkblue #006faf 25 darkblue
" Color: xtermred #ff5f5f 203 red
" Color: comment #80a0ff 111 lightblue
" Color: darkred #8b0000 88 darkred
" Term colors: black orange seagreen yellow xtermdarkblue darkmagenta darkcyan grey
" Term colors: grey30 xtermred green lightyellow xtermblue magenta cyan white
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,40 +1,337 @@
" Vim color file
" Maintainer: Shian Lee
" Last Change: 2014 Mar 6 (for vim 7.4)
" Remark: "industry" stands for 'industrial' color scheme. In industrial
" HMI (Human-Machine-Interface) programming, using a standard color
" scheme is mandatory in many cases (in traffic-lights for example):
" LIGHT_RED is 'Warning'
" LIGHT_YELLOW is 'Attention'
" LIGHT_GREEN is 'Normal'
" LIGHT_MAGENTA is 'Warning-Attention' (light RED-YELLOW)
" LIGHT_CYAN is 'Attention-Normal' (light YELLOW-GREEN).
" BLACK is Dark-High-Contrast Background for maximum safety.
" BLUE is Shade of BLACK (not supposed to get attention).
"
" Industrial color scheme is by nature clear, safe and productive.
" Yet, depends on the file type's syntax, it might appear incorrect.
" Name: industry
" Description: "industry" stands for 'industrial' color scheme.
" Author: Original author Shian Lee.
" Maintainer: Original maintainer Shian Lee.
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:38 2022
" Generated by Colortemplate v2.2.0
" Reset to dark background, then reset everything to defaults:
set background=dark
highlight clear
if exists("syntax_on")
syntax reset
hi clear
let g:colors_name = 'industry'
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 = ['#303030', '#870000', '#5fd75f', '#afaf00', '#87afff', '#af00af', '#00afaf', '#6c6c6c', '#444444', '#ff0000', '#00ff00', '#ffff00', '#005fff', '#ff00ff', '#00ffff', '#ffffff']
endif
hi Normal guifg=#dadada guibg=#000000 gui=NONE cterm=NONE
hi EndOfBuffer guifg=#444444 guibg=#000000 gui=NONE cterm=NONE
hi StatusLine guifg=#000000 guibg=#dadada gui=bold cterm=NONE
hi StatusLineNC guifg=#000000 guibg=#6c6c6c gui=NONE cterm=NONE
hi StatusLineTerm guifg=#000000 guibg=#00ff00 gui=bold cterm=NONE
hi StatusLineTermNC guifg=#000000 guibg=#5fd75f gui=NONE cterm=NONE
hi VertSplit guifg=#000000 guibg=#6c6c6c gui=NONE cterm=NONE
hi Pmenu guifg=#dadada guibg=#444444 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#6c6c6c gui=NONE cterm=NONE
hi TabLine guifg=#dadada guibg=#444444 gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#6c6c6c gui=NONE cterm=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 gui=bold cterm=NONE
hi ToolbarButton guifg=#dadada guibg=#6c6c6c gui=bold cterm=NONE
hi ToolbarLine guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi NonText guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=#00afaf guibg=#303030 gui=NONE cterm=NONE
hi Visual guifg=#dadada guibg=#6c6c6c gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#6c6c6c gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#6c6c6c gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=NONE
hi ColorColumn guifg=NONE guibg=#444444 gui=NONE cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#ff00ff gui=NONE cterm=NONE
hi VisualNOS guifg=#dadada guibg=#6c6c6c gui=NONE cterm=NONE
hi LineNr guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
hi SignColumn guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=#87afff guibg=NONE gui=underline cterm=underline
hi Error guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
hi ErrorMsg guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
hi ModeMsg guifg=#ffffff guibg=NONE gui=bold cterm=NONE
hi WarningMsg guifg=#870000 guibg=NONE gui=bold cterm=NONE
hi MoreMsg guifg=#5fd75f guibg=NONE gui=bold cterm=NONE
hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=NONE
hi Todo guifg=#005fff guibg=#ffff00 gui=NONE cterm=NONE
hi MatchParen guifg=#303030 guibg=#afaf00 gui=NONE cterm=NONE
hi Search guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi IncSearch guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#dadada gui=NONE cterm=NONE
hi lCursor guifg=#000000 guibg=#ff0000 gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#005fff guibg=NONE guisp=#005fff gui=undercurl cterm=underline
hi SpellLocal guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
hi SpellRare guifg=#00ff00 guibg=NONE guisp=#00ff00 gui=undercurl cterm=underline
hi Comment guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#ff00ff guibg=NONE gui=NONE cterm=NONE
hi Function guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#ffffff guibg=NONE gui=bold cterm=NONE
hi Constant guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#00ff00 guibg=NONE gui=bold cterm=NONE
hi Special guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
hi Delimiter guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
hi Directory guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#6c6c6c guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi Normal ctermfg=253 ctermbg=16 cterm=NONE
hi EndOfBuffer ctermfg=238 ctermbg=16 cterm=NONE
hi StatusLine ctermfg=16 ctermbg=253 cterm=NONE
hi StatusLineNC ctermfg=16 ctermbg=242 cterm=NONE
hi StatusLineTerm ctermfg=16 ctermbg=46 cterm=NONE
hi StatusLineTermNC ctermfg=16 ctermbg=77 cterm=NONE
hi VertSplit ctermfg=16 ctermbg=242 cterm=NONE
hi Pmenu ctermfg=253 ctermbg=238 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=16 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=242 cterm=NONE
hi TabLine ctermfg=253 ctermbg=238 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=242 cterm=NONE
hi TabLineSel ctermfg=231 ctermbg=16 cterm=NONE
hi ToolbarButton ctermfg=253 ctermbg=242 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=236 cterm=NONE
hi NonText ctermfg=37 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=37 ctermbg=NONE cterm=NONE
hi Folded ctermfg=37 ctermbg=236 cterm=NONE
hi Visual ctermfg=253 ctermbg=242 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=242 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=242 cterm=NONE
hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=238 cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=201 cterm=NONE
hi VisualNOS ctermfg=253 ctermbg=242 cterm=NONE
hi LineNr ctermfg=226 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=37 ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=37 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
hi Error ctermfg=231 ctermbg=196 cterm=NONE
hi ErrorMsg ctermfg=231 ctermbg=196 cterm=NONE
hi ModeMsg ctermfg=231 ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=88 ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=77 ctermbg=NONE cterm=NONE
hi Question ctermfg=46 ctermbg=NONE cterm=NONE
hi Todo ctermfg=27 ctermbg=226 cterm=NONE
hi MatchParen ctermfg=236 ctermbg=142 cterm=NONE
hi Search ctermfg=16 ctermbg=226 cterm=NONE
hi IncSearch ctermfg=16 ctermbg=46 cterm=NONE
hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
hi Cursor ctermfg=16 ctermbg=253 cterm=NONE
hi lCursor ctermfg=16 ctermbg=196 cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=27 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=201 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=46 ctermbg=NONE cterm=underline
hi Comment ctermfg=37 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=201 ctermbg=NONE cterm=NONE
hi Function ctermfg=46 ctermbg=NONE cterm=NONE
hi Statement ctermfg=231 ctermbg=NONE cterm=NONE
hi Constant ctermfg=51 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=226 ctermbg=NONE cterm=NONE
hi Type ctermfg=46 ctermbg=NONE cterm=NONE
hi Special ctermfg=196 ctermbg=NONE cterm=NONE
hi Delimiter ctermfg=226 ctermbg=NONE cterm=NONE
hi Directory ctermfg=51 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=242 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=201 ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
let colors_name = "industry"
if s:t_Co >= 16
hi Normal ctermfg=white ctermbg=black cterm=NONE
hi EndOfBuffer ctermfg=darkgrey ctermbg=black cterm=NONE
hi StatusLine ctermfg=black ctermbg=white cterm=NONE
hi StatusLineNC ctermfg=black ctermbg=grey cterm=NONE
hi StatusLineTerm ctermfg=black ctermbg=green cterm=NONE
hi StatusLineTermNC ctermfg=black ctermbg=darkgreen cterm=NONE
hi VertSplit ctermfg=black ctermbg=grey cterm=NONE
hi Pmenu ctermfg=white ctermbg=darkgrey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLine ctermfg=white ctermbg=darkgrey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
hi NonText ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Visual ctermfg=black ctermbg=grey cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
hi ColorColumn ctermfg=white ctermbg=darkgrey cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=magenta cterm=NONE
hi VisualNOS ctermfg=white ctermbg=grey cterm=NONE
hi LineNr ctermfg=yellow ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
hi Error ctermfg=white ctermbg=red cterm=NONE
hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
hi ModeMsg ctermfg=white ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
hi MatchParen ctermfg=black ctermbg=darkyellow cterm=NONE
hi Search ctermfg=black ctermbg=yellow cterm=NONE
hi IncSearch ctermfg=black ctermbg=green cterm=NONE
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi Cursor ctermfg=black ctermbg=white cterm=NONE
hi lCursor ctermfg=black ctermbg=red cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=blue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=magenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=green ctermbg=NONE cterm=underline
hi Comment ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Identifier ctermfg=magenta ctermbg=NONE cterm=NONE
hi Function ctermfg=green ctermbg=NONE cterm=NONE
hi Statement ctermfg=white ctermbg=NONE cterm=NONE
hi Constant ctermfg=cyan ctermbg=NONE cterm=NONE
hi PreProc ctermfg=yellow ctermbg=NONE cterm=NONE
hi Type ctermfg=green ctermbg=NONE cterm=NONE
hi Special ctermfg=red ctermbg=NONE cterm=NONE
hi Delimiter ctermfg=yellow ctermbg=NONE cterm=NONE
hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
unlet s:t_Co
finish
endif
" First set Normal to regular white on black text colors:
hi Normal ctermfg=LightGray ctermbg=Black guifg=#dddddd guibg=Black
" Syntax highlighting (other color-groups using default, see :help group-name):
hi Comment cterm=NONE ctermfg=DarkCyan gui=NONE guifg=#00aaaa
hi Constant cterm=NONE ctermfg=LightCyan gui=NONE guifg=#00ffff
hi Identifier cterm=NONE ctermfg=LightMagenta gui=NONE guifg=#ff00ff
hi Function cterm=NONE ctermfg=LightGreen gui=NONE guifg=#00ff00
hi Statement cterm=NONE ctermfg=White gui=bold guifg=#ffffff
hi PreProc cterm=NONE ctermfg=Yellow gui=NONE guifg=#ffff00
hi Type cterm=NONE ctermfg=LightGreen gui=bold guifg=#00ff00
hi Special cterm=NONE ctermfg=LightRed gui=NONE guifg=#ff0000
hi Delimiter cterm=NONE ctermfg=Yellow gui=NONE guifg=#ffff00
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: foreground #dadada 253 white
" Color: background #000000 16 black
" Color: color00 #303030 236 black
" Color: color08 #444444 238 darkgrey
" Color: color01 #870000 88 darkred
" Color: color09 #FF0000 196 red
" Color: color02 #5FD75F 77 darkgreen
" Color: color10 #00FF00 46 green
" Color: color03 #AFAF00 142 darkyellow
" Color: color11 #FFFF00 226 yellow
" Color: color04 #87AFFF 111 darkblue
" Color: color12 #005FFF 27 blue
" Color: color05 #AF00AF 127 darkmagenta
" Color: color13 #FF00FF 201 magenta
" Color: color06 #00AFAF 37 darkcyan
" Color: color14 #00FFFF 51 cyan
" Color: color07 #6C6C6C 242 grey
" Color: color15 #FFFFFF 231 white
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,73 +1,360 @@
" local syntax file - set colors on a per-machine basis:
" vim: tw=0 ts=4 sw=4
" Vim color file
" Maintainer: Ron Aaron <ron@ronware.org>
" Last Change: 2016 Sep 04
" Name: koehler
" Author: original author Ron Aaron <ron@ronware.org>
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
" Website: https://www.github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Thu May 12 18:53:29 2022
" Generated by Colortemplate v2.2.0
set background=dark
hi clear
set background=dark
if exists("syntax_on")
syntax reset
let g:colors_name = 'koehler'
let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
hi! link Terminal Normal
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement
hi! link Debug Special
hi! link Define PreProc
hi! link Delimiter Special
hi! link Exception Statement
hi! link Float Number
hi! link Function Identifier
hi! link Include PreProc
hi! link IncSearch Visual
hi! link Keyword Statement
hi! link Label Statement
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link Macro PreProc
hi! link Number Constant
hi! link Operator Statement
hi! link PopupSelected PmenuSel
hi! link PreCondit PreProc
hi! link Repeat Statement
hi! link SpecialChar Special
hi! link SpecialComment Special
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link StorageClass Type
hi! link String Constant
hi! link Structure Type
hi! link Tag Special
hi! link Typedef Type
hi! link lCursor Cursor
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
endif
let g:colors_name = "koehler"
hi Normal guifg=white guibg=black
hi Scrollbar guifg=darkcyan guibg=cyan
hi Menu guifg=black guibg=cyan
hi SpecialKey term=bold cterm=bold ctermfg=darkred guifg=#cc0000
hi NonText term=bold cterm=bold ctermfg=darkred gui=bold guifg=#cc0000
hi Directory term=bold cterm=bold ctermfg=brown guifg=#cc8000
hi ErrorMsg term=standout cterm=bold ctermfg=grey ctermbg=red guifg=White guibg=Red
hi Search term=reverse ctermfg=white ctermbg=red guifg=white guibg=Red
hi MoreMsg term=bold cterm=bold ctermfg=darkgreen gui=bold guifg=SeaGreen
hi ModeMsg term=bold cterm=bold gui=bold guifg=White guibg=Blue
hi LineNr term=underline cterm=bold ctermfg=darkcyan guifg=Yellow
hi Question term=standout cterm=bold ctermfg=darkgreen gui=bold guifg=Green
hi StatusLine term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
hi StatusLineNC term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue
hi Title term=bold cterm=bold ctermfg=darkmagenta gui=bold guifg=Magenta
hi Visual term=reverse cterm=reverse gui=reverse
hi WarningMsg term=standout cterm=bold ctermfg=darkred guifg=Red
hi Cursor guifg=bg guibg=Green
hi Comment term=bold cterm=bold ctermfg=cyan guifg=#80a0ff
hi Constant term=underline cterm=bold ctermfg=magenta guifg=#ffa0a0
hi Special term=bold cterm=bold ctermfg=red guifg=Orange
hi Identifier term=underline ctermfg=brown guifg=#40ffff
hi Statement term=bold cterm=bold ctermfg=yellow gui=bold guifg=#ffff60
hi PreProc term=underline ctermfg=darkmagenta guifg=#ff80ff
hi Type term=underline cterm=bold ctermfg=lightgreen gui=bold guifg=#60ff60
hi Error term=reverse ctermfg=darkcyan ctermbg=black guifg=Red guibg=Black
hi Todo term=standout ctermfg=black ctermbg=darkcyan guifg=Blue guibg=Yellow
hi CursorLine term=underline guibg=#555555 cterm=underline
hi CursorColumn term=underline guibg=#555555 cterm=underline
hi MatchParen term=reverse ctermfg=blue guibg=Blue
hi TabLine term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
hi TabLineFill term=bold,reverse cterm=bold ctermfg=lightblue ctermbg=white gui=bold guifg=blue guibg=white
hi TabLineSel term=reverse ctermfg=white ctermbg=lightblue guifg=white guibg=blue
hi Underlined term=underline cterm=bold,underline ctermfg=lightblue guifg=lightblue gui=bold,underline
hi Ignore ctermfg=black ctermbg=black guifg=black guibg=black
hi EndOfBuffer term=bold cterm=bold ctermfg=darkred guifg=#cc0000 gui=bold
hi link IncSearch Visual
hi link String Constant
hi link Character Constant
hi link Number Constant
hi link Boolean Constant
hi link Float Number
hi link Function Identifier
hi link Conditional Statement
hi link Repeat Statement
hi link Label Statement
hi link Operator Statement
hi link Keyword Statement
hi link Exception Statement
hi link Include PreProc
hi link Define PreProc
hi link Macro PreProc
hi link PreCondit PreProc
hi link StorageClass Type
hi link Structure Type
hi link Typedef Type
hi link Tag Special
hi link SpecialChar Special
hi link Delimiter Special
hi link SpecialComment Special
hi link Debug Special
hi Normal guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#8b0000 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#555555 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#555555 gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=NONE
hi Folded guifg=#00cdcd guibg=#666666 gui=NONE cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
hi Directory guifg=#cc8000 guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#cd0000 guibg=NONE gui=bold cterm=NONE
hi ErrorMsg guifg=#cd0000 guibg=#ffffff gui=reverse cterm=reverse
hi FoldColumn guifg=#00cdcd guibg=NONE gui=NONE cterm=NONE
hi LineNr guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
hi MatchParen guifg=NONE guibg=#0000ff gui=NONE cterm=NONE
hi ModeMsg guifg=#ffffff guibg=#0000ff gui=bold cterm=NONE
hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
hi NonText guifg=#cd0000 guibg=NONE gui=bold cterm=NONE
hi Pmenu guifg=#ffffff guibg=#444444 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
hi Question guifg=#5c5cff guibg=NONE gui=bold cterm=NONE
hi Search guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
hi SignColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#cd0000 guibg=NONE gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#60ff60 guibg=NONE guisp=#60ff60 gui=undercurl cterm=underline
hi SpellLocal guifg=#00ffff guibg=NONE guisp=#00ffff gui=undercurl cterm=underline
hi SpellRare guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
hi StatusLine guifg=#0000ff guibg=#ffffff gui=bold cterm=NONE
hi StatusLineNC guifg=#0000ff guibg=#e5e5e5 gui=NONE cterm=NONE
hi TabLine guifg=#0000ff guibg=#ffffff gui=bold cterm=NONE
hi TabLineFill guifg=#0000ff guibg=#ffffff gui=bold cterm=NONE
hi TabLineSel guifg=#ffffff guibg=#0000ff gui=bold cterm=NONE
hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
hi VertSplit guifg=#0000ff guibg=#e5e5e5 gui=NONE cterm=NONE
hi Visual guifg=NONE guibg=#666666 gui=reverse cterm=reverse
hi VisualNOS guifg=NONE guibg=#000000 gui=bold,underline cterm=underline
hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
hi Error guifg=#cd0000 guibg=#ffffff gui=reverse cterm=reverse
hi Identifier guifg=#40ffff guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=#000000 guibg=#000000 gui=NONE cterm=NONE
hi PreProc guifg=#ff80ff guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#ffa500 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#ffff60 guibg=NONE gui=bold cterm=NONE
hi Todo guifg=#0000ff guibg=#ffff00 gui=NONE cterm=NONE
hi Type guifg=#60ff60 guibg=NONE gui=bold cterm=NONE
hi Underlined guifg=#add8e6 guibg=NONE gui=bold,underline cterm=underline
hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=NONE
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi Normal ctermfg=231 ctermbg=16 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=88 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=240 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=240 cterm=NONE
hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=NONE
hi Folded ctermfg=44 ctermbg=59 cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=226 cterm=NONE
hi Conceal ctermfg=254 ctermbg=145 cterm=NONE
hi Cursor ctermfg=16 ctermbg=46 cterm=NONE
hi Directory ctermfg=172 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=160 ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=160 ctermbg=231 cterm=reverse
hi FoldColumn ctermfg=44 ctermbg=NONE cterm=NONE
hi LineNr ctermfg=226 ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=21 cterm=NONE
hi ModeMsg ctermfg=231 ctermbg=21 cterm=NONE
hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
hi NonText ctermfg=160 ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=231 ctermbg=238 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=44 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
hi Question ctermfg=63 ctermbg=NONE cterm=NONE
hi Search ctermfg=231 ctermbg=196 cterm=NONE
hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=160 ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=83 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=51 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=201 ctermbg=NONE cterm=underline
hi StatusLine ctermfg=21 ctermbg=231 cterm=NONE
hi StatusLineNC ctermfg=21 ctermbg=254 cterm=NONE
hi TabLine ctermfg=21 ctermbg=231 cterm=NONE
hi TabLineFill ctermfg=21 ctermbg=231 cterm=NONE
hi TabLineSel ctermfg=231 ctermbg=21 cterm=NONE
hi Title ctermfg=201 ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=21 ctermbg=254 cterm=NONE
hi Visual ctermfg=NONE ctermbg=59 cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=16 cterm=underline
hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
hi Error ctermfg=160 ctermbg=231 cterm=reverse
hi Identifier ctermfg=87 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=16 ctermbg=16 cterm=NONE
hi PreProc ctermfg=213 ctermbg=NONE cterm=NONE
hi Special ctermfg=214 ctermbg=NONE cterm=NONE
hi Statement ctermfg=227 ctermbg=NONE cterm=NONE
hi Todo ctermfg=21 ctermbg=226 cterm=NONE
hi Type ctermfg=83 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=153 ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=16 ctermbg=254 cterm=NONE
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
if s:t_Co >= 16
hi Normal ctermfg=white ctermbg=black cterm=NONE
hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=yellow cterm=NONE
hi Conceal ctermfg=grey ctermbg=grey cterm=NONE
hi Cursor ctermfg=black ctermbg=green cterm=NONE
hi Directory ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=darkred ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=darkred ctermbg=white cterm=reverse
hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi LineNr ctermfg=yellow ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=darkblue cterm=NONE
hi ModeMsg ctermfg=white ctermbg=darkblue cterm=NONE
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=darkred ctermbg=NONE cterm=NONE
hi Pmenu ctermfg=white ctermbg=darkgrey cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi Question ctermfg=blue ctermbg=NONE cterm=NONE
hi Search ctermfg=white ctermbg=red cterm=NONE
hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkred ctermbg=NONE cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=green ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=cyan ctermbg=NONE cterm=underline
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
hi StatusLine ctermfg=darkblue ctermbg=white cterm=NONE
hi StatusLineNC ctermfg=darkblue ctermbg=grey cterm=NONE
hi TabLine ctermfg=darkblue ctermbg=white cterm=NONE
hi TabLineFill ctermfg=darkblue ctermbg=white cterm=NONE
hi TabLineSel ctermfg=white ctermbg=darkblue cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
hi VertSplit ctermfg=darkblue ctermbg=grey cterm=NONE
hi Visual ctermfg=NONE ctermbg=darkgrey cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
hi Error ctermfg=darkred ctermbg=white cterm=reverse
hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
hi Ignore ctermfg=black ctermbg=black cterm=NONE
hi PreProc ctermfg=magenta ctermbg=NONE cterm=NONE
hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Statement ctermfg=yellow ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkblue ctermbg=yellow cterm=NONE
hi Type ctermfg=green ctermbg=NONE cterm=NONE
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
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: xterm0 #000000 16 black
" Color: xterm1 #cd0000 160 darkred
" Color: xterm2 #00cd00 40 darkgreen
" Color: xterm3 #cdcd00 184 darkyellow
" Color: xterm4 #0000ee 20 darkblue
" Color: xterm5 #cd00cd 164 darkmagenta
" Color: xterm6 #00cdcd 44 darkcyan
" Color: xterm7 #e5e5e5 254 grey
" Color: xterm8 #7f7f7f 102 darkgrey
" Color: xterm9 #ff0000 196 red
" Color: xterm10 #00ff00 46 green
" Color: xterm11 #ffff00 226 yellow
" Color: xterm12 #5c5cff 63 blue
" Color: xterm13 #ff00ff 201 magenta
" Color: xterm14 #00ffff 51 cyan
" Color: xterm15 #ffffff 231 white
" Color: Pmenu #444444 238 darkgrey
" Color: rgbGrey40 #666666 59 darkgrey
" Color: rgbDarkGrey #a9a9a9 145 grey
" Color: rgbDarkBlue #00008b 20 darkblue
" Color: rgbDarkMagenta #8b008b 90 darkmagenta
" Color: rgbBlue #0000ff 21 darkblue
" Color: rgbDarkCyan #008b8b 44 darkcyan
" Color: rgbSeaGreen #2e8b57 29 darkgreen
" Color: rgbGrey #bebebe 250 grey
" Color: StatusLineTerm #90ee90 120 darkgreen
" Color: ToolbarLine #7f7f7f 244 darkgrey
" Color: Comment #80a0ff 111 blue
" Color: Constant #ffa0a0 217 darkred
" Color: Special #ffa500 214 darkyellow
" Color: Identifier #40ffff 87 cyan
" Color: Statement #ffff60 227 yellow
" Color: PreProc #ff80ff 213 magenta
" Color: Type #60ff60 83 green
" Color: koeDirectory #cc8000 172 darkyellow
" Color: koeCursorLine #555555 240 black
" Color: koeLightBlue #ADD8E6 153 blue
" Color: koeDarkRed #8b0000 88 darkred
" Term colors: xterm0 xterm1 xterm2 xterm3 xterm4 xterm5 xterm6 xterm7
" Term colors: xterm8 xterm9 xterm10 xterm11 xterm12 xterm13
" Term colors: xterm14 xterm15
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,56 +1,334 @@
" Vim color file
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2006 Apr 15
" Name: morning
" Description: Colorscheme with light grey background.
" Author: Original author Bram Moolenaar <Bram@vim.org>
" Maintainer: Original maintainer Bram Moolenaar <Bram@vim.org>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Sat May 14 11:15:43 2022
" This color scheme uses a light grey background.
" Generated by Colortemplate v2.2.0
" First remove all existing highlighting.
set background=light
hi clear
if exists("syntax_on")
syntax reset
let g:colors_name = 'morning'
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 = ['#e4e4e4', '#a52a2a', '#ff00ff', '#6a0dad', '#008787', '#2e8b57', '#6a5acd', '#bcbcbc', '#0000ff', '#a52a2a', '#ff00ff', '#6a0dad', '#008787', '#2e8b57', '#6a5acd', '#000000']
endif
hi! link StatuslineTerm Statusline
hi! link StatuslineTermNC StatuslineNC
hi Normal guifg=#000000 guibg=#e4e4e4 gui=NONE cterm=NONE
hi EndOfBuffer guifg=#0000ff guibg=#cccccc gui=bold cterm=NONE
hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#d3d3d3 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#d3d3d3 gui=NONE cterm=NONE
hi CursorLineNr guifg=#a52a2a guibg=NONE gui=bold cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi StatusLine guifg=#eeeeee guibg=#000000 gui=bold cterm=NONE
hi StatusLineNC guifg=#bcbcbc guibg=#000000 gui=NONE cterm=NONE
hi VertSplit guifg=#bcbcbc guibg=#000000 gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#b2b2b2 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#e4e4e4 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#bcbcbc gui=underline cterm=underline
hi TabLineFill guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel guifg=#000000 guibg=#e4e4e4 gui=bold cterm=NONE
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton guifg=NONE guibg=#bcbcbc gui=bold cterm=NONE
hi NonText guifg=#0000ff guibg=#bcbcbc gui=bold cterm=NONE
hi SpecialKey guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
hi Visual guifg=NONE guibg=#d0d0d0 gui=NONE cterm=NONE
hi VisualNOS guifg=NONE guibg=#0000ff gui=NONE cterm=NONE
hi LineNr guifg=#a52a2a guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#00008b guibg=NONE gui=NONE cterm=NONE
hi SignColumn guifg=#00008b guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=#6a5acd guibg=NONE gui=underline cterm=underline
hi Error guifg=#ff0000 guibg=#e4e4e4 gui=reverse cterm=reverse
hi ErrorMsg guifg=#ff0000 guibg=#e4e4e4 gui=reverse cterm=reverse
hi WarningMsg guifg=#6a0dad guibg=NONE gui=bold cterm=NONE
hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
hi ModeMsg guifg=#000000 guibg=NONE gui=bold cterm=NONE
hi Question guifg=#008787 guibg=NONE gui=bold cterm=NONE
hi Todo guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi MatchParen guifg=#e4e4e4 guibg=#6a5acd gui=NONE cterm=NONE
hi Search guifg=#e4e4e4 guibg=#6a0dad gui=NONE cterm=NONE
hi IncSearch guifg=#2e8b57 guibg=NONE gui=reverse cterm=reverse
hi WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=NONE
hi ColorColumn guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi Cursor guifg=#e4e4e4 guibg=#2e8b57 gui=NONE cterm=NONE
hi lCursor guifg=#e4e4e4 guibg=#a52a2a gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#00d700 guibg=NONE guisp=#00d700 gui=undercurl cterm=underline
hi SpellLocal guifg=#a52a2a guibg=NONE guisp=#a52a2a gui=undercurl cterm=underline
hi SpellRare guifg=#2e8b57 guibg=NONE guisp=#2e8b57 gui=undercurl cterm=underline
hi Comment guifg=#0000ff guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#ff00ff guibg=#eeeeee gui=NONE cterm=NONE
hi Identifier guifg=#008787 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#a52a2a guibg=NONE gui=bold cterm=NONE
hi PreProc guifg=#6a0dad guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
hi Special guifg=#6a5acd guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Directory guifg=#008787 guibg=NONE gui=bold cterm=NONE
hi Conceal guifg=#0000ff guibg=NONE gui=NONE cterm=NONE
hi Title guifg=#a52a2a guibg=NONE gui=bold cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi! link StatuslineTerm Statusline
hi! link StatuslineTermNC StatuslineNC
hi Normal ctermfg=16 ctermbg=254 cterm=NONE
hi EndOfBuffer ctermfg=21 ctermbg=252 cterm=NONE
hi Folded ctermfg=18 ctermbg=252 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=252 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=252 cterm=NONE
hi CursorLineNr ctermfg=124 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=226 cterm=NONE
hi StatusLine ctermfg=255 ctermbg=16 cterm=NONE
hi StatusLineNC ctermfg=250 ctermbg=16 cterm=NONE
hi VertSplit ctermfg=250 ctermbg=16 cterm=NONE
hi Pmenu ctermfg=16 ctermbg=249 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=254 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=16 cterm=NONE
hi TabLine ctermfg=16 ctermbg=250 cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=16 ctermbg=254 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=NONE ctermbg=250 cterm=NONE
hi NonText ctermfg=21 ctermbg=250 cterm=NONE
hi SpecialKey ctermfg=250 ctermbg=NONE cterm=NONE
hi Visual ctermfg=NONE ctermbg=252 cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=21 cterm=NONE
hi LineNr ctermfg=124 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=18 ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=18 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=62 ctermbg=NONE cterm=underline
hi Error ctermfg=196 ctermbg=254 cterm=reverse
hi ErrorMsg ctermfg=196 ctermbg=254 cterm=reverse
hi WarningMsg ctermfg=55 ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
hi ModeMsg ctermfg=16 ctermbg=NONE cterm=NONE
hi Question ctermfg=30 ctermbg=NONE cterm=NONE
hi Todo ctermfg=16 ctermbg=226 cterm=NONE
hi MatchParen ctermfg=254 ctermbg=62 cterm=NONE
hi Search ctermfg=254 ctermbg=55 cterm=NONE
hi IncSearch ctermfg=29 ctermbg=NONE cterm=reverse
hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
hi ColorColumn ctermfg=16 ctermbg=231 cterm=NONE
hi Cursor ctermfg=254 ctermbg=29 cterm=NONE
hi lCursor ctermfg=254 ctermbg=124 cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=40 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=124 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=29 ctermbg=NONE cterm=underline
hi Comment ctermfg=21 ctermbg=NONE cterm=NONE
hi Constant ctermfg=201 ctermbg=255 cterm=NONE
hi Identifier ctermfg=30 ctermbg=NONE cterm=NONE
hi Statement ctermfg=124 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=55 ctermbg=NONE cterm=NONE
hi Type ctermfg=29 ctermbg=NONE cterm=NONE
hi Special ctermfg=62 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Directory ctermfg=30 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=21 ctermbg=NONE cterm=NONE
hi Title ctermfg=124 ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
let colors_name = "morning"
hi Normal ctermfg=Black ctermbg=LightGrey guifg=Black guibg=grey90
" Groups used in the 'highlight' and 'guicursor' options default value.
hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
hi IncSearch term=reverse cterm=reverse gui=reverse
hi ModeMsg term=bold cterm=bold gui=bold
hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold
hi StatusLineNC term=reverse cterm=reverse gui=reverse
hi VertSplit term=reverse cterm=reverse gui=reverse
hi Visual term=reverse ctermbg=grey guibg=grey80
hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
hi Cursor guibg=Green guifg=NONE
hi lCursor guibg=Cyan guifg=NONE
hi Directory term=bold ctermfg=DarkBlue guifg=Blue
hi LineNr term=underline ctermfg=Brown guifg=Brown
hi MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen
hi NonText term=bold ctermfg=Blue gui=bold guifg=Blue guibg=grey80
hi Question term=standout ctermfg=DarkGreen gui=bold guifg=SeaGreen
hi Search term=reverse ctermbg=Yellow ctermfg=NONE guibg=Yellow guifg=NONE
hi SpecialKey term=bold ctermfg=DarkBlue guifg=Blue
hi Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta
hi WarningMsg term=standout ctermfg=DarkRed guifg=Red
hi WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
hi Folded term=standout ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
hi FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue
hi DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue
hi DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta
hi DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
hi CursorLine term=underline cterm=underline guibg=grey80
hi CursorColumn term=reverse ctermbg=grey guibg=grey80
" Colors for syntax highlighting
hi Constant term=underline ctermfg=DarkRed guifg=Magenta guibg=grey95
hi Special term=bold ctermfg=DarkMagenta guifg=SlateBlue guibg=grey95
if &t_Co > 8
hi Statement term=bold cterm=bold ctermfg=Brown gui=bold guifg=Brown
if s:t_Co >= 16
hi! link StatuslineTerm Statusline
hi! link StatuslineTermNC StatuslineNC
hi Normal ctermfg=black ctermbg=grey cterm=NONE
hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=NONE
hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=darkred ctermbg=NONE cterm=underline
hi QuickFixLine ctermfg=black ctermbg=yellow cterm=NONE
hi StatusLine ctermfg=white ctermbg=black cterm=NONE
hi StatusLineNC ctermfg=darkgrey ctermbg=black cterm=NONE
hi VertSplit ctermfg=darkgrey ctermbg=black cterm=NONE
hi Pmenu ctermfg=black ctermbg=white cterm=NONE
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=grey cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=black cterm=NONE
hi TabLine ctermfg=black ctermbg=white cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=grey cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=NONE ctermbg=white cterm=NONE
hi NonText ctermfg=blue ctermbg=white cterm=NONE
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Visual ctermfg=NONE ctermbg=white cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=blue cterm=NONE
hi LineNr ctermfg=darkred ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=darkblue ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
hi Error ctermfg=red ctermbg=grey cterm=reverse
hi ErrorMsg ctermfg=red ctermbg=grey cterm=reverse
hi WarningMsg ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi ModeMsg ctermfg=black ctermbg=NONE cterm=NONE
hi Question ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi MatchParen ctermfg=grey ctermbg=darkblue cterm=NONE
hi Search ctermfg=grey ctermbg=darkmagenta cterm=NONE
hi IncSearch ctermfg=darkgreen ctermbg=NONE cterm=reverse
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi ColorColumn ctermfg=black ctermbg=white cterm=NONE
hi Cursor ctermfg=grey ctermbg=darkgreen cterm=NONE
hi lCursor ctermfg=grey ctermbg=darkred cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkgreen ctermbg=NONE cterm=underline
hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
hi Constant ctermfg=magenta ctermbg=white cterm=NONE
hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkred ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Special ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Conceal ctermfg=blue ctermbg=NONE cterm=NONE
hi Title ctermfg=darkred ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
unlet s:t_Co
finish
endif
hi Ignore ctermfg=LightGrey guifg=grey90
" vim: sw=2
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: light
" Color: comment #0000ff 21 blue
" Color: constant #ff00ff 201 magenta
" Color: identifier #008787 30 darkcyan
" Color: statement #a52a2a 124 darkred
" Color: preproc #6a0dad 55 darkmagenta
" Color: type #2e8b57 29 darkgreen
" Color: special #6a5acd 62 darkblue
" Color: fg0 #000000 16 black
" Color: bg0 #e4e4e4 254 grey
" Color: bg1 #bcbcbc 250 white
" Color: status #bcbcbc 250 darkgrey
" Color: bg2 #eeeeee 255 white
" Color: endofbuffer #cccccc 252 darkgrey
" Color: visual #d0d0d0 252 white
" Color: folded #d3d3d3 252 darkgrey
" Color: folded_fg #00008b 18 darkblue
" Color: pmenu #b2b2b2 249 white
" Color: wildmenu #ffff00 226 yellow
" Color: error #ff0000 196 red
" Color: colorcolumn #ffffff 231 white
" Color: spellcap #00d700 40 green
" Term colors: bg0 statement constant preproc identifier type special bg1
" Term colors: comment statement constant preproc identifier type special fg0
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,41 +1,335 @@
" local syntax file - set colors on a per-machine basis:
" vim: tw=0 ts=4 sw=4
" Vim color file
" Maintainer: Ron Aaron <ron@ronware.org>
" Last Change: 2003 May 02
" Name: murphy
" Description: Green foreground black background.
" Author: Original author Ron Aaron <ron@ronware.org>.
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>.
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:41 2022
" Generated by Colortemplate v2.2.0
set background=dark
hi clear
set background=dark
if exists("syntax_on")
syntax reset
endif
let g:colors_name = "murphy"
let g:colors_name = 'murphy'
hi Normal ctermbg=Black ctermfg=lightgreen guibg=Black guifg=lightgreen
hi Comment term=bold ctermfg=LightRed guifg=Orange
hi Constant term=underline ctermfg=LightGreen guifg=White gui=NONE
hi Identifier term=underline ctermfg=LightCyan guifg=#00ffff
hi Ignore ctermfg=black guifg=bg
hi PreProc term=underline ctermfg=LightBlue guifg=Wheat
hi Search term=reverse guifg=white guibg=Blue
hi Special term=bold ctermfg=LightRed guifg=magenta
hi Statement term=bold ctermfg=Yellow guifg=#ffff00 gui=NONE
hi Type ctermfg=LightGreen guifg=grey gui=none
hi Error term=reverse ctermbg=Red ctermfg=White guibg=Red guifg=White
hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=Yellow
" From the source:
hi Cursor guifg=Orchid guibg=fg
hi Directory term=bold ctermfg=LightCyan guifg=Cyan
hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
hi IncSearch term=reverse cterm=reverse gui=reverse
hi LineNr term=underline ctermfg=Yellow guifg=Yellow
hi ModeMsg term=bold cterm=bold gui=bold
hi MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen
hi NonText term=bold ctermfg=Blue gui=bold guifg=Blue
hi Question term=standout ctermfg=LightGreen gui=bold guifg=Cyan
hi SpecialKey term=bold ctermfg=LightBlue guifg=Cyan
hi StatusLine term=reverse,bold cterm=reverse gui=NONE guifg=White guibg=darkblue
hi StatusLineNC term=reverse cterm=reverse gui=NONE guifg=white guibg=#333333
hi Title term=bold ctermfg=LightMagenta gui=bold guifg=Pink
hi WarningMsg term=standout ctermfg=LightRed guifg=Red
hi Visual term=reverse cterm=reverse gui=NONE guifg=white guibg=darkgreen
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 = ['#303030', '#ffa700', '#005f00', '#ffd7af', '#87afff', '#ffafaf', '#00afaf', '#bcbcbc', '#444444', '#ff0000', '#00875f', '#ffff00', '#005fff', '#ff00ff', '#00ffff', '#ffffff']
endif
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi Normal guifg=#87ff87 guibg=#000000 gui=NONE cterm=NONE
hi EndOfBuffer guifg=#0000ff guibg=#000000 gui=NONE cterm=NONE
hi StatusLine guifg=#ffffff guibg=#00008b gui=NONE cterm=NONE
hi StatusLineNC guifg=#ffffff guibg=#3a3a3a gui=NONE cterm=NONE
hi VertSplit guifg=#ffffff guibg=#3a3a3a gui=NONE cterm=NONE
hi Pmenu guifg=#ffffff guibg=#444444 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#bcbcbc gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi TabLine guifg=#87ff87 guibg=#444444 gui=NONE cterm=NONE
hi TabLineSel guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=#303030 gui=NONE cterm=NONE
hi ToolbarButton guifg=#ffffff guibg=#444444 gui=bold cterm=NONE
hi NonText guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
hi QuickFixLine guifg=#303030 guibg=#00afaf gui=NONE cterm=NONE
hi Folded guifg=#00afaf guibg=#303030 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#444444 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#444444 gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=NONE
hi ColorColumn guifg=NONE guibg=#262626 gui=NONE cterm=NONE
hi Visual guifg=#ffffff guibg=#005f00 gui=NONE cterm=NONE
hi VisualNOS guifg=#ffffff guibg=#005f00 gui=NONE cterm=NONE
hi LineNr guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
hi SignColumn guifg=#00afaf guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=#00afaf guibg=NONE gui=underline cterm=underline
hi Error guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
hi ErrorMsg guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
hi ModeMsg guifg=#87ff87 guibg=NONE gui=bold cterm=NONE
hi WarningMsg guifg=#ffa700 guibg=NONE gui=bold cterm=NONE
hi MoreMsg guifg=#005f00 guibg=NONE gui=bold cterm=NONE
hi Question guifg=#00ffff guibg=NONE gui=bold cterm=NONE
hi Todo guifg=#0000ff guibg=#ffff00 gui=NONE cterm=NONE
hi MatchParen guifg=#303030 guibg=#ffd7af gui=NONE cterm=NONE
hi Search guifg=#ffffff guibg=#0000ff gui=NONE cterm=NONE
hi IncSearch guifg=#ffa700 guibg=NONE gui=reverse cterm=reverse
hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#87ff87 gui=NONE cterm=NONE
hi lCursor guifg=#000000 guibg=#ff0000 gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#00ffff guibg=NONE guisp=#00ffff gui=undercurl cterm=underline
hi SpellLocal guifg=#ffd7af guibg=NONE guisp=#ffd7af gui=undercurl cterm=underline
hi SpellRare guifg=#ffff00 guibg=NONE guisp=#ffff00 gui=undercurl cterm=underline
hi Comment guifg=#ffa700 guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#ffffff guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#ffd7af guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#ff00ff guibg=NONE gui=NONE cterm=NONE
hi Directory guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi Conceal guifg=#bcbcbc guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi Normal ctermfg=120 ctermbg=16 cterm=NONE
hi EndOfBuffer ctermfg=21 ctermbg=16 cterm=NONE
hi StatusLine ctermfg=231 ctermbg=18 cterm=NONE
hi StatusLineNC ctermfg=231 ctermbg=237 cterm=NONE
hi VertSplit ctermfg=231 ctermbg=237 cterm=NONE
hi Pmenu ctermfg=231 ctermbg=238 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=236 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=250 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=236 cterm=NONE
hi TabLine ctermfg=120 ctermbg=238 cterm=NONE
hi TabLineSel ctermfg=231 ctermbg=16 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=236 cterm=NONE
hi ToolbarButton ctermfg=231 ctermbg=238 cterm=NONE
hi NonText ctermfg=37 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=37 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=236 ctermbg=37 cterm=NONE
hi Folded ctermfg=37 ctermbg=236 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=238 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=238 cterm=NONE
hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=235 cterm=NONE
hi Visual ctermfg=231 ctermbg=22 cterm=NONE
hi VisualNOS ctermfg=231 ctermbg=22 cterm=NONE
hi LineNr ctermfg=226 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=37 ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=37 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=37 ctermbg=NONE cterm=underline
hi Error ctermfg=231 ctermbg=196 cterm=NONE
hi ErrorMsg ctermfg=231 ctermbg=196 cterm=NONE
hi ModeMsg ctermfg=120 ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=214 ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=22 ctermbg=NONE cterm=NONE
hi Question ctermfg=51 ctermbg=NONE cterm=NONE
hi Todo ctermfg=21 ctermbg=226 cterm=NONE
hi MatchParen ctermfg=236 ctermbg=223 cterm=NONE
hi Search ctermfg=231 ctermbg=21 cterm=NONE
hi IncSearch ctermfg=214 ctermbg=NONE cterm=reverse
hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
hi Cursor ctermfg=16 ctermbg=120 cterm=NONE
hi lCursor ctermfg=16 ctermbg=196 cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=51 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=223 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=226 ctermbg=NONE cterm=underline
hi Comment ctermfg=214 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=51 ctermbg=NONE cterm=NONE
hi Statement ctermfg=226 ctermbg=NONE cterm=NONE
hi Constant ctermfg=231 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=223 ctermbg=NONE cterm=NONE
hi Type ctermfg=250 ctermbg=NONE cterm=NONE
hi Special ctermfg=201 ctermbg=NONE cterm=NONE
hi Directory ctermfg=51 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=250 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=201 ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
if s:t_Co >= 16
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi Normal ctermfg=green ctermbg=black cterm=NONE
hi EndOfBuffer ctermfg=blue ctermbg=black cterm=NONE
hi StatusLine ctermfg=white ctermbg=darkblue cterm=NONE
hi StatusLineNC ctermfg=white ctermbg=darkgrey cterm=NONE
hi VertSplit ctermfg=white ctermbg=darkgrey cterm=NONE
hi Pmenu ctermfg=white ctermbg=darkgrey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=grey cterm=NONE
hi TabLine ctermfg=green ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
hi NonText ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=darkcyan cterm=NONE
hi Folded ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
hi ColorColumn ctermfg=green ctermbg=darkgrey cterm=NONE
hi Visual ctermfg=white ctermbg=darkgreen cterm=NONE
hi VisualNOS ctermfg=white ctermbg=darkgreen cterm=NONE
hi LineNr ctermfg=yellow ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Underlined ctermfg=darkcyan ctermbg=NONE cterm=underline
hi Error ctermfg=white ctermbg=red cterm=NONE
hi ErrorMsg ctermfg=white ctermbg=red cterm=NONE
hi ModeMsg ctermfg=green ctermbg=NONE cterm=NONE
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Question ctermfg=cyan ctermbg=NONE cterm=NONE
hi Todo ctermfg=blue ctermbg=yellow cterm=NONE
hi MatchParen ctermfg=black ctermbg=darkyellow cterm=NONE
hi Search ctermfg=white ctermbg=blue cterm=NONE
hi IncSearch ctermfg=darkred ctermbg=NONE cterm=reverse
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi Cursor ctermfg=black ctermbg=green cterm=NONE
hi lCursor ctermfg=black ctermbg=red cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=cyan ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkyellow ctermbg=NONE cterm=underline
hi SpellRare ctermfg=yellow ctermbg=NONE cterm=underline
hi Comment ctermfg=darkred ctermbg=NONE cterm=NONE
hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
hi Statement ctermfg=yellow ctermbg=NONE cterm=NONE
hi Constant ctermfg=white ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Type ctermfg=grey ctermbg=NONE cterm=NONE
hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
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: foreground #87FF87 120 green
" Color: background #000000 16 black
" Color: color00 #303030 236 black
" Color: color08 #444444 238 darkgrey
" Color: color01 #FFA700 214 darkred
" Color: color09 #FF0000 196 red
" Color: color02 #005F00 22 darkgreen
" Color: color10 #00875F 29 green
" Color: color03 #FFD7AF 223 darkyellow
" Color: color11 #FFFF00 226 yellow
" Color: color04 #00008B 18 darkblue
" Color: color12 #0000FF 21 blue
" Color: color05 #FFAFAF 217 darkmagenta
" Color: color13 #FF00FF 201 magenta
" Color: color06 #00AFAF 37 darkcyan
" Color: color14 #00FFFF 51 cyan
" Color: color07 #BCBCBC 250 grey
" Color: color15 #FFFFFF 231 white
" Color: color16 #262626 235 black
" Color: color17 #3A3A3A 237 darkgrey
" Color: color04t #87AFFF 111 darkblue
" Color: color12t #005FFF 27 blue
" Term colors: color00 color01 color02 color03 color04t color05 color06 color07
" Term colors: color08 color09 color10 color11 color12t color13 color14 color15
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,26 +1,362 @@
" local syntax file - set colors on a per-machine basis:
" vim: tw=0 ts=4 sw=4
" Vim color file
" Maintainer: Ron Aaron <ron@ronware.org>
" Last Change: 2003 May 02
" Name: pablo
" Author: Ron Aaron <ron@ronware.org>
" Maintainer: Original maintainerRon Aaron <ron@ronware.org>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:41 2022
" Generated by Colortemplate v2.2.0
set background=dark
hi clear
set background=dark
if exists("syntax_on")
syntax reset
endif
let g:colors_name = "pablo"
let g:colors_name = 'pablo'
highlight Comment ctermfg=8 guifg=#808080
highlight Constant ctermfg=14 cterm=none guifg=#00ffff gui=none
highlight Identifier ctermfg=6 guifg=#00c0c0
highlight Statement ctermfg=3 cterm=bold guifg=#c0c000 gui=bold
highlight PreProc ctermfg=10 guifg=#00ff00
highlight Type ctermfg=2 guifg=#00c000
highlight Special ctermfg=12 guifg=#0000ff
highlight Error ctermbg=9 guibg=#ff0000
highlight Todo ctermfg=4 ctermbg=3 guifg=#000080 guibg=#c0c000
highlight Directory ctermfg=2 guifg=#00c000
highlight StatusLine ctermfg=11 ctermbg=12 cterm=none guifg=#ffff00 guibg=#0000ff gui=none
highlight Normal guifg=#ffffff guibg=#000000
highlight Search ctermbg=3 guibg=#c0c000
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 = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
endif
hi Normal guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
hi! link Terminal Normal
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi Comment guifg=#808080 guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#00c0c0 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#c0c000 guibg=NONE gui=bold cterm=NONE
hi PreProc guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#00c000 guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#0000ff guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
hi Ignore guifg=#000000 guibg=#000000 gui=NONE cterm=NONE
hi Error guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
hi Todo guifg=#000000 guibg=#c0c000 gui=NONE cterm=NONE
hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi lCursor guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
hi Directory guifg=#00c000 guibg=NONE gui=NONE cterm=NONE
hi Search guifg=#000000 guibg=#c0c000 gui=NONE cterm=NONE
hi IncSearch guifg=#ffffff guibg=NONE gui=reverse cterm=reverse
hi NonText guifg=#0000ff guibg=NONE gui=bold cterm=NONE
hi EndOfBuffer guifg=#0000ff guibg=NONE gui=bold cterm=NONE
hi ErrorMsg guifg=#ffffff guibg=#cd0000 gui=NONE cterm=NONE
hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
hi SignColumn guifg=#00ffff guibg=#a9a9a9 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#4d4d4d gui=NONE cterm=NONE
hi FoldColumn guifg=#7f7f7f guibg=#303030 gui=NONE cterm=NONE
hi Folded guifg=#7f7f7f guibg=#303030 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#3a3a3a gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#3a3a3a gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffff00 guibg=#3a3a3a gui=bold cterm=NONE
hi Visual guifg=#00008b guibg=#a9a9a9 gui=NONE cterm=NONE
hi VisualNOS guifg=NONE guibg=#000000 gui=bold,underline cterm=underline
hi LineNr guifg=#7f7f7f guibg=NONE gui=NONE cterm=NONE
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi MatchParen guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg guifg=#5c5cff guibg=NONE gui=bold cterm=NONE
hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=NONE
hi SpecialKey guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#5c5cff guibg=NONE guisp=#5c5cff gui=undercurl cterm=underline
hi SpellLocal guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
hi SpellRare guifg=#ffff00 guibg=NONE guisp=#ffff00 gui=undercurl cterm=underline
hi StatusLine guifg=#ffff00 guibg=#0000ee gui=NONE cterm=NONE
hi StatusLineNC guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi VertSplit guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi TabLine guifg=#ffffff guibg=#7f7f7f gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#000000 gui=reverse cterm=reverse
hi TabLineSel guifg=#ffffff guibg=#000000 gui=bold cterm=NONE
hi ToolbarLine guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=NONE
hi Pmenu guifg=fg guibg=#303030 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#e5e5e5 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi Normal ctermfg=231 ctermbg=16 cterm=NONE
hi! link Terminal Normal
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi Comment ctermfg=244 ctermbg=NONE cterm=NONE
hi Constant ctermfg=51 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=37 ctermbg=NONE cterm=NONE
hi Statement ctermfg=142 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=46 ctermbg=NONE cterm=NONE
hi Type ctermfg=34 ctermbg=NONE cterm=NONE
hi Special ctermfg=21 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
hi Ignore ctermfg=16 ctermbg=16 cterm=NONE
hi Error ctermfg=231 ctermbg=196 cterm=NONE
hi Todo ctermfg=16 ctermbg=142 cterm=NONE
hi Conceal ctermfg=254 ctermbg=248 cterm=NONE
hi Cursor ctermfg=16 ctermbg=231 cterm=NONE
hi lCursor ctermfg=16 ctermbg=231 cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
hi Title ctermfg=225 ctermbg=NONE cterm=NONE
hi Directory ctermfg=34 ctermbg=NONE cterm=NONE
hi Search ctermfg=16 ctermbg=142 cterm=NONE
hi IncSearch ctermfg=231 ctermbg=NONE cterm=reverse
hi NonText ctermfg=63 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=63 ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
hi WarningMsg ctermfg=224 ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=51 ctermbg=248 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=239 cterm=NONE
hi FoldColumn ctermfg=102 ctermbg=236 cterm=NONE
hi Folded ctermfg=102 ctermbg=236 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=237 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=237 cterm=NONE
hi CursorLineNr ctermfg=226 ctermbg=237 cterm=NONE
hi Visual ctermfg=20 ctermbg=248 cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=16 cterm=underline
hi LineNr ctermfg=102 ctermbg=NONE cterm=NONE
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi MatchParen ctermfg=NONE ctermbg=44 cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=63 ctermbg=NONE cterm=NONE
hi Question ctermfg=121 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=81 ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=44 cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=63 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=201 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=226 ctermbg=NONE cterm=underline
hi StatusLine ctermfg=226 ctermbg=20 cterm=NONE
hi StatusLineNC ctermfg=16 ctermbg=231 cterm=NONE
hi VertSplit ctermfg=16 ctermbg=231 cterm=NONE
hi TabLine ctermfg=231 ctermbg=102 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=16 cterm=reverse
hi TabLineSel ctermfg=231 ctermbg=16 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=16 cterm=NONE
hi ToolbarButton ctermfg=16 ctermbg=254 cterm=NONE
hi Pmenu ctermfg=fg ctermbg=236 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=254 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=231 cterm=NONE
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
if s:t_Co >= 16
hi Normal ctermfg=white ctermbg=black cterm=NONE
hi! link Terminal Normal
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Constant ctermfg=cyan ctermbg=NONE cterm=NONE
hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi PreProc ctermfg=green ctermbg=NONE cterm=NONE
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Special ctermfg=blue ctermbg=NONE cterm=NONE
hi Underlined ctermfg=darkgreen ctermbg=NONE cterm=underline
hi Ignore ctermfg=black ctermbg=black cterm=NONE
hi Error ctermfg=white ctermbg=red cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi Conceal ctermfg=grey ctermbg=grey cterm=NONE
hi Cursor ctermfg=black ctermbg=white cterm=NONE
hi lCursor ctermfg=black ctermbg=white cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
hi Directory ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Search ctermfg=black ctermbg=darkyellow cterm=NONE
hi IncSearch ctermfg=white ctermbg=NONE cterm=reverse
hi NonText ctermfg=blue ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=white ctermbg=darkred cterm=NONE
hi WarningMsg ctermfg=darkred ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=cyan ctermbg=black cterm=NONE
hi ColorColumn ctermfg=white ctermbg=darkgrey cterm=NONE
hi FoldColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Folded ctermfg=blue ctermbg=NONE cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
hi Visual ctermfg=darkblue ctermbg=grey cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi MatchParen ctermfg=NONE ctermbg=darkcyan cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=blue ctermbg=NONE cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=darkcyan cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=blue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=magenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=yellow ctermbg=NONE cterm=underline
hi StatusLine ctermfg=yellow ctermbg=darkblue cterm=NONE
hi StatusLineNC ctermfg=black ctermbg=white cterm=NONE
hi VertSplit ctermfg=black ctermbg=white cterm=NONE
hi TabLine ctermfg=white ctermbg=darkgrey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
hi Pmenu ctermfg=fg ctermbg=darkgrey cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=grey cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=white cterm=NONE
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
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: color00 #000000 16 black
" Color: color08 #7f7f7f 102 darkgrey
" Color: color01 #cd0000 160 darkred
" Color: color09 #ff0000 196 red
" Color: color02 #00cd00 40 darkgreen
" Color: color10 #00ff00 46 green
" Color: color03 #cdcd00 184 darkyellow
" Color: color11 #ffff00 226 yellow
" Color: color04 #0000ee 20 darkblue
" Color: color12 #5c5cff 63 blue
" Color: color05 #cd00cd 164 darkmagenta
" Color: color13 #ff00ff 201 magenta
" Color: color06 #00cdcd 44 darkcyan
" Color: color14 #00ffff 51 cyan
" Color: color07 #e5e5e5 254 grey
" Color: color15 #ffffff 231 white
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
" Color: rgbGrey30 #4d4d4d 239 darkgrey
" Color: rgbGrey40 #666666 241 darkgrey
" Color: rgbDarkGrey #a9a9a9 248 grey
" Color: rgbDarkBlue #00008b 20 darkblue
" Color: rgbDarkMagenta #8b008b 164 darkmagenta
" Color: rgbBlue #0000ff 63 blue
" Color: rgbDarkCyan #008b8b 44 darkcyan
" Color: rgbSeaGreen #2e8b57 121 darkgreen
" Color: rgbGrey #bebebe 248 grey
" Color: Question #00ff00 121 green
" Color: SignColumn #a9a9a9 248 black
" Color: SpecialKey #00ffff 81 cyan
" Color: StatusLineTerm #90ee90 121 darkgreen
" Color: Title #ff00ff 225 magenta
" Color: WarningMsg #ff0000 224 darkred
" Color: ToolbarLine #7f7f7f 242 darkgrey
" Color: ToolbarButton #d3d3d3 254 grey
" Color: Underlined #80a0ff 111 darkgreen
" Color: Comment #808080 244 darkgrey
" Color: Constant #00ffff 51 cyan
" Color: Special #0000ff 21 blue
" Color: Identifier #00c0c0 37 darkcyan
" Color: Search #c0c000 142 darkyellow
" Color: Statement #c0c000 142 darkyellow
" Color: Todo #c0c000 142 darkyellow
" Color: PreProc #00ff00 46 green
" Color: Type #00c000 34 darkgreen
" Color: Directory #00c000 34 darkgreen
" Color: Pmenu #303030 236 darkgrey
" Color: Folded #303030 236 darkgrey
" Color: Cursorline #3a3a3a 237 darkgrey
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,60 +1,335 @@
" Vim color file
" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
" Last Change: 2003-04-23
" URL: http://trific.ath.cx/Ftp/vim/colors/peachpuff.vim
" Name: peachpuff
" Description: This color scheme uses a peachpuff background (what you've expected when it's " called peachpuff?).
" Author: Original author David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
" Maintainer: Original maintainer David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:43 2022
" This color scheme uses a peachpuff background (what you've expected when it's
" called peachpuff?).
"
" Note: Only GUI colors differ from default, on terminal it's just `light'.
" Generated by Colortemplate v2.2.0
" First remove all existing highlighting.
set background=light
hi clear
if exists("syntax_on")
syntax reset
let g:colors_name = 'peachpuff'
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 = ['#ffdab9', '#a52a2a', '#c00058', '#cd00cd', '#008b8b', '#2e8b57', '#6a5acd', '#737373', '#406090', '#a52a2a', '#c00058', '#cd00cd', '#008b8b', '#2e8b57', '#6a5acd', '#000000']
endif
hi Normal guifg=#000000 guibg=#ffdab9 gui=NONE cterm=NONE
hi Folded guifg=#000000 guibg=#e3c1a5 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#f5c195 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#f5c195 gui=NONE cterm=NONE
hi CursorLineNr guifg=#cd0000 guibg=NONE gui=bold cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#ffaf87 gui=NONE cterm=NONE
hi EndOfBuffer guifg=#737373 guibg=NONE gui=NONE cterm=NONE
hi StatusLine guifg=#ffffff guibg=#000000 gui=bold cterm=NONE
hi StatusLineNC guifg=#ffdab9 guibg=#737373 gui=bold cterm=NONE
hi StatusLineTerm guifg=#ffffff guibg=#2e8b57 gui=bold cterm=NONE
hi StatusLineTermNC guifg=#ffdab9 guibg=#008b8b gui=bold cterm=NONE
hi VertSplit guifg=#ffdab9 guibg=#737373 gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#ffaf87 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#f5c195 gui=bold cterm=NONE
hi PmenuSbar guifg=NONE guibg=#ffdab9 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#737373 gui=NONE cterm=NONE
hi TabLine guifg=#ffdab9 guibg=#737373 gui=underline cterm=underline
hi TabLineFill guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel guifg=#000000 guibg=#ffdab9 gui=bold cterm=NONE
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton guifg=#ffdab9 guibg=#737373 gui=bold cterm=NONE
hi NonText guifg=#737373 guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#737373 guibg=NONE gui=NONE cterm=NONE
hi Visual guifg=#000000 guibg=#cccccc gui=NONE cterm=NONE
hi VisualNOS guifg=NONE guibg=#406090 gui=NONE cterm=NONE
hi LineNr guifg=#cd0000 guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#406090 guibg=NONE gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined guifg=#6a5acd guibg=NONE gui=underline cterm=underline
hi Error guifg=#ff0000 guibg=#ffffff gui=bold,reverse cterm=reverse
hi ErrorMsg guifg=#ff0000 guibg=#ffffff gui=bold,reverse cterm=reverse
hi WarningMsg guifg=#cd00cd guibg=#ffdab9 gui=bold cterm=NONE
hi MoreMsg guifg=#2e8b57 guibg=#ffdab9 gui=bold cterm=NONE
hi ModeMsg guifg=#000000 guibg=#ffdab9 gui=bold cterm=NONE
hi Question guifg=#c00058 guibg=NONE gui=bold cterm=NONE
hi Todo guifg=#6a5acd guibg=#ffff00 gui=NONE cterm=NONE
hi MatchParen guifg=#ffdab9 guibg=#6a5acd gui=NONE cterm=NONE
hi Search guifg=#ffdab9 guibg=#cd00cd gui=NONE cterm=NONE
hi IncSearch guifg=#2e8b57 guibg=NONE gui=reverse cterm=reverse
hi WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=NONE
hi ColorColumn guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
hi Cursor guifg=#ffdab9 guibg=#000000 gui=NONE cterm=NONE
hi lCursor guifg=#000000 guibg=#c00058 gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#008b8b guibg=NONE guisp=#008b8b gui=undercurl cterm=underline
hi SpellLocal guifg=#cd00cd guibg=NONE guisp=#cd00cd gui=undercurl cterm=underline
hi SpellRare guifg=#6a5acd guibg=NONE guisp=#6a5acd gui=undercurl cterm=underline
hi Comment guifg=#406090 guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#c00058 guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#a52a2a guibg=NONE gui=bold cterm=NONE
hi PreProc guifg=#cd00cd guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
hi Special guifg=#6a5acd guibg=NONE gui=NONE cterm=NONE
hi Directory guifg=#008b8b guibg=NONE gui=bold cterm=NONE
hi Conceal guifg=#406090 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title guifg=#cd00cd guibg=NONE gui=bold cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi Normal ctermfg=16 ctermbg=223 cterm=NONE
hi Folded ctermfg=16 ctermbg=252 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=180 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=180 cterm=NONE
hi CursorLineNr ctermfg=160 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=216 cterm=NONE
hi EndOfBuffer ctermfg=243 ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=231 ctermbg=16 cterm=NONE
hi StatusLineNC ctermfg=223 ctermbg=243 cterm=NONE
hi StatusLineTerm ctermfg=231 ctermbg=29 cterm=NONE
hi StatusLineTermNC ctermfg=223 ctermbg=30 cterm=NONE
hi VertSplit ctermfg=223 ctermbg=243 cterm=NONE
hi Pmenu ctermfg=16 ctermbg=216 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=180 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=223 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=243 cterm=NONE
hi TabLine ctermfg=223 ctermbg=243 cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=16 ctermbg=223 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=223 ctermbg=243 cterm=NONE
hi NonText ctermfg=243 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=243 ctermbg=NONE cterm=NONE
hi Visual ctermfg=16 ctermbg=252 cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=25 cterm=NONE
hi LineNr ctermfg=160 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=25 ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=62 ctermbg=NONE cterm=underline
hi Error ctermfg=196 ctermbg=231 cterm=reverse
hi ErrorMsg ctermfg=196 ctermbg=231 cterm=reverse
hi WarningMsg ctermfg=164 ctermbg=223 cterm=NONE
hi MoreMsg ctermfg=29 ctermbg=223 cterm=NONE
hi ModeMsg ctermfg=16 ctermbg=223 cterm=NONE
hi Question ctermfg=161 ctermbg=NONE cterm=NONE
hi Todo ctermfg=62 ctermbg=226 cterm=NONE
hi MatchParen ctermfg=223 ctermbg=62 cterm=NONE
hi Search ctermfg=223 ctermbg=164 cterm=NONE
hi IncSearch ctermfg=29 ctermbg=NONE cterm=reverse
hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=255 cterm=NONE
hi Cursor ctermfg=223 ctermbg=16 cterm=NONE
hi lCursor ctermfg=16 ctermbg=161 cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=30 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=164 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=62 ctermbg=NONE cterm=underline
hi Comment ctermfg=25 ctermbg=NONE cterm=NONE
hi Constant ctermfg=161 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=30 ctermbg=NONE cterm=NONE
hi Statement ctermfg=124 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=164 ctermbg=NONE cterm=NONE
hi Type ctermfg=29 ctermbg=NONE cterm=NONE
hi Special ctermfg=62 ctermbg=NONE cterm=NONE
hi Directory ctermfg=30 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=25 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=164 ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
let colors_name = "peachpuff"
if s:t_Co >= 16
hi Normal ctermfg=black ctermbg=white cterm=NONE
hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=underline
hi QuickFixLine ctermfg=black ctermbg=grey cterm=NONE
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=white ctermbg=black cterm=NONE
hi StatusLineNC ctermfg=white ctermbg=darkgrey cterm=NONE
hi StatusLineTerm ctermfg=white ctermbg=darkgreen cterm=NONE
hi StatusLineTermNC ctermfg=white ctermbg=darkcyan cterm=NONE
hi VertSplit ctermfg=white ctermbg=darkgrey cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=white cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi TabLine ctermfg=white ctermbg=darkgrey cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=white ctermbg=darkgrey cterm=NONE
hi NonText ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Visual ctermfg=black ctermbg=grey cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi LineNr ctermfg=red ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=darkblue ctermbg=NONE cterm=underline
hi Error ctermfg=darkred ctermbg=white cterm=reverse
hi ErrorMsg ctermfg=darkred ctermbg=white cterm=reverse
hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
hi MoreMsg ctermfg=darkgreen ctermbg=white cterm=NONE
hi ModeMsg ctermfg=black ctermbg=white cterm=NONE
hi Question ctermfg=darkred ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkblue ctermbg=yellow cterm=NONE
hi MatchParen ctermfg=white ctermbg=darkblue cterm=NONE
hi Search ctermfg=white ctermbg=darkmagenta cterm=NONE
hi IncSearch ctermfg=darkgreen ctermbg=NONE cterm=reverse
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=grey cterm=NONE
hi Cursor ctermfg=white ctermbg=black cterm=NONE
hi lCursor ctermfg=black ctermbg=darkred cterm=NONE
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkcyan ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkblue ctermbg=NONE cterm=underline
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkred ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Special ctermfg=darkblue ctermbg=NONE cterm=NONE
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Conceal ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
unlet s:t_Co
finish
endif
hi Normal guibg=PeachPuff guifg=Black
hi SpecialKey term=bold ctermfg=4 guifg=Blue
hi NonText term=bold cterm=bold ctermfg=4 gui=bold guifg=Blue
hi Directory term=bold ctermfg=4 guifg=Blue
hi ErrorMsg term=standout cterm=bold ctermfg=7 ctermbg=1 gui=bold guifg=White guibg=Red
hi IncSearch term=reverse cterm=reverse gui=reverse
hi Search term=reverse ctermbg=3 guibg=Gold2
hi MoreMsg term=bold ctermfg=2 gui=bold guifg=SeaGreen
hi ModeMsg term=bold cterm=bold gui=bold
hi LineNr term=underline ctermfg=3 guifg=Red3
hi Question term=standout ctermfg=2 gui=bold guifg=SeaGreen
hi StatusLine term=bold,reverse cterm=bold,reverse gui=bold guifg=White guibg=Black
hi StatusLineNC term=reverse cterm=reverse gui=bold guifg=PeachPuff guibg=Gray45
hi VertSplit term=reverse cterm=reverse gui=bold guifg=White guibg=Gray45
hi Title term=bold ctermfg=5 gui=bold guifg=DeepPink3
hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey80 guibg=fg
hi VisualNOS term=bold,underline cterm=bold,underline gui=bold,underline
hi WarningMsg term=standout ctermfg=1 gui=bold guifg=Red
hi WildMenu term=standout ctermfg=0 ctermbg=3 guifg=Black guibg=Yellow
hi Folded term=standout ctermfg=4 ctermbg=7 guifg=Black guibg=#e3c1a5
hi FoldColumn term=standout ctermfg=4 ctermbg=7 guifg=DarkBlue guibg=Gray80
hi DiffAdd term=bold ctermbg=4 guibg=White
hi DiffChange term=bold ctermbg=5 guibg=#edb5cd
hi DiffDelete term=bold cterm=bold ctermfg=4 ctermbg=6 gui=bold guifg=LightBlue guibg=#f6e8d0
hi DiffText term=reverse cterm=bold ctermbg=1 gui=bold guibg=#ff8060
hi Cursor guifg=bg guibg=fg
hi lCursor guifg=bg guibg=fg
" Colors for syntax highlighting
hi Comment term=bold ctermfg=4 guifg=#406090
hi Constant term=underline ctermfg=1 guifg=#c00058
hi Special term=bold ctermfg=5 guifg=SlateBlue
hi Identifier term=underline ctermfg=6 guifg=DarkCyan
hi Statement term=bold ctermfg=3 gui=bold guifg=Brown
hi PreProc term=underline ctermfg=5 guifg=Magenta3
hi Type term=underline ctermfg=2 gui=bold guifg=SeaGreen
hi Ignore cterm=bold ctermfg=7 guifg=bg
hi Error term=reverse cterm=bold ctermfg=7 ctermbg=1 gui=bold guifg=White guibg=Red
hi Todo term=standout ctermfg=0 ctermbg=3 guifg=Blue guibg=Yellow
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: light
" Color: comment #406090 25 darkgrey
" Color: constant #c00058 161 darkred
" Color: identifier #008b8b 30 darkcyan
" Color: statement #a52a2a 124 darkred
" Color: preproc #cd00cd 164 darkmagenta
" Color: type #2e8b57 29 darkgreen
" Color: special #6a5acd 62 darkblue
" Color: fg0 #000000 16 black
" Color: bg0 #ffdab9 223 white
" Color: fg1 #ffffff 231 white
" Color: bg1 #737373 243 darkgrey
" Color: visual #cccccc 252 grey
" Color: folded #e3c1a5 252 cyan
" Color: folded_fg #000000 16 black
" Color: cursorline #f5c195 180 yellow
" Color: pmenu #ffaf87 216 grey
" Color: wildmenu #ffff00 226 yellow
" Color: error #ff0000 196 darkred
" Color: linenr #cd0000 160 red
" Color: blue #0000ff 21 darkblue
" Color: red #ff0000 196 darkred
" Color: colorcolumn #eeeeee 255 grey
" Term colors: bg0 statement constant preproc identifier type special bg1
" Term colors: comment statement constant preproc identifier type special fg0
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,45 +1,378 @@
" local syntax file - set colors on a per-machine basis:
" vim: tw=0 ts=4 sw=4
" Vim color file
" Maintainer: Ron Aaron <ron@ronware.org>
" Last Change: 2013 May 24
" Name: ron
" Author: original author Ron Aaron <ron@ronware.org>
" Maintainer: original maintainer Ron Aaron <ron@ronware.org>
" Website: https://www.github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:43 2022
" Generated by Colortemplate v2.2.0
set background=dark
hi clear
if exists("syntax_on")
syntax reset
let g:colors_name = 'ron'
let s:t_Co = exists('&t_Co') && !empty(&t_Co) && &t_Co > 1 ? &t_Co : 1
hi! link Terminal Normal
hi! link Boolean Constant
hi! link Character Constant
hi! link Conditional Statement
hi! link Debug Special
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 Macro PreProc
hi! link Number Constant
hi! link PopupSelected PmenuSel
hi! link PreCondit PreProc
hi! link Repeat Statement
hi! link SpecialChar Special
hi! link SpecialComment Special
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi! link StorageClass Type
hi! link String Constant
hi! link Structure Type
hi! link Tag Special
hi! link Typedef Type
hi! link lCursor Cursor
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
if (has('termguicolors') && &termguicolors) || has('gui_running')
let g:terminal_ansi_colors = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
endif
let g:colors_name = "ron"
hi Normal guifg=cyan guibg=black
hi NonText guifg=yellow guibg=#303030
hi comment guifg=green
hi constant guifg=cyan gui=bold
hi identifier guifg=cyan gui=NONE
hi statement guifg=lightblue gui=NONE
hi preproc guifg=Pink2
hi type guifg=seagreen gui=bold
hi special guifg=yellow
hi ErrorMsg guifg=Black guibg=Red
hi WarningMsg guifg=Black guibg=Green
hi Error guibg=Red
hi Todo guifg=Black guibg=orange
hi Cursor guibg=#60a060 guifg=#00ff00
hi Search guibg=darkgray guifg=black gui=bold
hi IncSearch gui=NONE guibg=steelblue
hi LineNr guifg=darkgrey
hi title guifg=darkgrey
hi ShowMarksHL ctermfg=cyan ctermbg=lightblue cterm=bold guifg=yellow guibg=black gui=bold
hi StatusLineNC gui=NONE guifg=lightblue guibg=darkblue
hi StatusLine gui=bold guifg=cyan guibg=blue
hi label guifg=gold2
hi operator guifg=orange
hi clear Visual
hi Visual term=reverse cterm=reverse gui=reverse
hi DiffChange guibg=darkgreen
hi DiffText guibg=olivedrab
hi DiffAdd guibg=slateblue
hi DiffDelete guibg=coral
hi Folded guibg=gray30
hi FoldColumn guibg=gray30 guifg=white
hi cIf0 guifg=gray
hi diffOnly guifg=red gui=bold
hi Normal guifg=#00ffff guibg=#000000 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#cd0000 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#666666 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffff00 guibg=NONE gui=bold cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 gui=NONE cterm=NONE
hi Cursor guifg=#ffffff guibg=#60a060 gui=NONE cterm=NONE
hi Directory guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi EndOfBuffer guifg=#ffff00 guibg=#303030 gui=NONE cterm=NONE
hi ErrorMsg guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
hi FoldColumn guifg=#ffffff guibg=NONE gui=NONE cterm=NONE
hi Folded guifg=NONE guibg=#4d4d4d gui=NONE cterm=NONE
hi IncSearch guifg=NONE guibg=#4682b4 gui=NONE cterm=NONE
hi LineNr guifg=#a9a9a9 guibg=NONE gui=NONE cterm=NONE
hi MatchParen guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
hi NonText guifg=#ffff00 guibg=#303030 gui=NONE cterm=NONE
hi Pmenu guifg=#ffffff guibg=#444444 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#00cdcd gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#e5e5e5 gui=NONE cterm=NONE
hi Question guifg=#00ff00 guibg=#000000 gui=bold cterm=NONE
hi Search guifg=#000000 guibg=#a9a9a9 gui=bold cterm=NONE
hi SignColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi StatusLine guifg=#00ffff guibg=#0000ff gui=bold cterm=NONE
hi StatusLineNC guifg=#add8e6 guibg=#00008b gui=NONE cterm=NONE
hi VertSplit guifg=#add8e6 guibg=#00008b gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#008b8b gui=NONE cterm=NONE
hi TabLineFill guifg=#a9a9a9 guibg=#7f7f7f gui=NONE cterm=NONE
hi TabLineSel guifg=#00ffff guibg=#000000 gui=bold cterm=NONE
hi Terminal guifg=#00ffff guibg=#000000 gui=NONE cterm=NONE
hi Title guifg=#a9a9a9 guibg=NONE gui=NONE cterm=NONE
hi Visual guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi VisualNOS guifg=NONE guibg=#000000 gui=bold,underline cterm=underline
hi WarningMsg guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#ffffff guibg=NONE guisp=#ffffff gui=undercurl cterm=underline
hi SpellLocal guifg=#ffff00 guibg=NONE guisp=#ffff00 gui=undercurl cterm=underline
hi SpellRare guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
hi Comment guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#00ffff guibg=NONE gui=bold cterm=NONE
hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
hi Identifier guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=#000000 guibg=#000000 gui=NONE cterm=NONE
hi Label guifg=#eec900 guibg=NONE gui=NONE cterm=NONE
hi Operator guifg=#ffa500 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#eea9b8 guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#ffff00 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#add8e6 guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=#000000 guibg=#ffa500 gui=NONE cterm=NONE
hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=NONE
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi Normal ctermfg=51 ctermbg=16 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=160 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=59 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=59 cterm=NONE
hi CursorLineNr ctermfg=226 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=44 cterm=NONE
hi Conceal ctermfg=254 ctermbg=145 cterm=NONE
hi Cursor ctermfg=231 ctermbg=71 cterm=NONE
hi Directory ctermfg=51 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=226 ctermbg=236 cterm=NONE
hi ErrorMsg ctermfg=196 ctermbg=231 cterm=reverse
hi FoldColumn ctermfg=231 ctermbg=NONE cterm=NONE
hi Folded ctermfg=NONE ctermbg=239 cterm=NONE
hi IncSearch ctermfg=NONE ctermbg=67 cterm=NONE
hi LineNr ctermfg=145 ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=44 cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
hi NonText ctermfg=226 ctermbg=236 cterm=NONE
hi Pmenu ctermfg=231 ctermbg=238 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=16 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=44 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=254 cterm=NONE
hi Question ctermfg=46 ctermbg=16 cterm=NONE
hi Search ctermfg=16 ctermbg=145 cterm=NONE
hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=51 ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=51 ctermbg=21 cterm=NONE
hi StatusLineNC ctermfg=152 ctermbg=20 cterm=NONE
hi VertSplit ctermfg=152 ctermbg=20 cterm=NONE
hi TabLine ctermfg=16 ctermbg=44 cterm=NONE
hi TabLineFill ctermfg=145 ctermbg=102 cterm=NONE
hi TabLineSel ctermfg=51 ctermbg=16 cterm=NONE
hi Terminal ctermfg=51 ctermbg=16 cterm=NONE
hi Title ctermfg=145 ctermbg=NONE cterm=NONE
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=16 cterm=underline
hi WarningMsg ctermfg=226 ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=231 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=226 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=201 ctermbg=NONE cterm=underline
hi Comment ctermfg=46 ctermbg=NONE cterm=NONE
hi Constant ctermfg=51 ctermbg=NONE cterm=NONE
hi Error ctermfg=196 ctermbg=231 cterm=reverse
hi Identifier ctermfg=51 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=16 ctermbg=16 cterm=NONE
hi Label ctermfg=220 ctermbg=NONE cterm=NONE
hi Operator ctermfg=214 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=217 ctermbg=NONE cterm=NONE
hi Special ctermfg=226 ctermbg=NONE cterm=NONE
hi Statement ctermfg=152 ctermbg=NONE cterm=NONE
hi Todo ctermfg=16 ctermbg=214 cterm=NONE
hi Type ctermfg=29 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=16 ctermbg=254 cterm=NONE
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
if s:t_Co >= 16
hi Normal ctermfg=cyan ctermbg=black cterm=NONE
hi ColorColumn ctermfg=cyan ctermbg=darkred cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
hi QuickFixLine ctermfg=black ctermbg=darkcyan cterm=NONE
hi Conceal ctermfg=grey ctermbg=grey cterm=NONE
hi Cursor ctermfg=white ctermbg=green cterm=NONE
hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=yellow ctermbg=darkgrey cterm=NONE
hi ErrorMsg ctermfg=red ctermbg=white cterm=reverse
hi FoldColumn ctermfg=white ctermbg=NONE cterm=NONE
hi Folded ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi IncSearch ctermfg=NONE ctermbg=blue cterm=NONE
hi LineNr ctermfg=grey ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=darkcyan cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi NonText ctermfg=yellow ctermbg=darkgrey cterm=NONE
hi Pmenu ctermfg=white ctermbg=darkgrey cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkcyan cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
hi Question ctermfg=green ctermbg=black cterm=NONE
hi Search ctermfg=black ctermbg=grey cterm=NONE
hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=cyan ctermbg=darkblue cterm=NONE
hi StatusLineNC ctermfg=darkcyan ctermbg=darkblue cterm=NONE
hi VertSplit ctermfg=darkcyan ctermbg=darkblue cterm=NONE
hi TabLine ctermfg=black ctermbg=darkcyan cterm=NONE
hi TabLineFill ctermfg=grey ctermbg=darkgrey cterm=NONE
hi TabLineSel ctermfg=cyan ctermbg=black cterm=NONE
hi Terminal ctermfg=cyan ctermbg=black cterm=NONE
hi Title ctermfg=grey ctermbg=NONE cterm=NONE
hi Visual ctermfg=NONE ctermbg=NONE cterm=reverse
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
hi WarningMsg ctermfg=yellow ctermbg=NONE cterm=NONE
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=white ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=yellow ctermbg=NONE cterm=underline
hi SpellRare ctermfg=magenta ctermbg=NONE cterm=underline
hi Comment ctermfg=green ctermbg=NONE cterm=NONE
hi Constant ctermfg=cyan ctermbg=NONE cterm=NONE
hi Error ctermfg=red ctermbg=white cterm=reverse
hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
hi Ignore ctermfg=black ctermbg=black cterm=NONE
hi Label ctermfg=yellow ctermbg=NONE cterm=NONE
hi Operator ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Special ctermfg=yellow ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Todo ctermfg=black ctermbg=darkyellow cterm=NONE
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
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: xterm0 #000000 16 black
" Color: xterm1 #cd0000 160 darkred
" Color: xterm2 #00cd00 40 darkgreen
" Color: xterm3 #cdcd00 184 darkyellow
" Color: xterm4 #0000ee 20 darkblue
" Color: xterm5 #cd00cd 164 darkmagenta
" Color: xterm6 #00cdcd 44 darkcyan
" Color: xterm7 #e5e5e5 254 grey
" Color: xterm8 #7f7f7f 102 darkgrey
" Color: xterm9 #ff0000 196 red
" Color: xterm10 #00ff00 46 green
" Color: xterm11 #ffff00 226 yellow
" Color: xterm12 #5c5cff 63 blue
" Color: xterm13 #ff00ff 201 magenta
" Color: xterm14 #00ffff 51 cyan
" Color: xterm15 #ffffff 231 white
" Color: rgbGrey40 #666666 59 darkgrey
" Color: rgbDarkGrey #a9a9a9 145 grey
" Color: rgbDarkBlue #00008b 20 darkblue
" Color: rgbBlue #0000ff 21 darkblue
" Color: rgbDarkCyan #008b8b 44 darkcyan
" Color: Directory #00ffff 51 cyan
" Color: rgbSeaGreen #2e8b57 29 darkgreen
" Color: rgbGrey #bebebe 250 grey
" Color: Question #00ff00 46 green
" Color: SignColumn #a9a9a9 248 grey
" Color: SpecialKey #00ffff 51 cyan
" Color: StatusLineTerm #90ee90 120 darkgreen
" Color: ToolbarLine #7f7f7f 244 darkgrey
" Color: Underlined #80a0ff 111 blue
" Color: Pmenu #444444 238 darkgrey
" Color: ron303030 #303030 236 darkgrey
" Color: ronLightBlue #add8e6 152 darkcyan
" Color: ronPink2 #eea9b8 217 darkmagenta
" Color: ronOrange #ffa500 214 darkyellow
" Color: ronCursor #60a060 71 green
" Color: ronSteelBlue #4682b4 67 blue
" Color: ronGold2 #eec900 220 yellow
" Color: ronDarkGreen #006400 22 darkgreen
" Color: ronSlateBlue #6a5acd 62 blue
" Color: ronOliveDrab #6b8e23 64 green
" Color: ronCoral #ff7f50 209 red
" Color: ronGray30 #4d4d4d 239 darkgrey
" Term colors: xterm0 xterm1 xterm2 xterm3 xterm4 xterm5 xterm6 xterm7
" Term colors: xterm8 xterm9 xterm10 xterm11 xterm12 xterm13
" Term colors: xterm14 xterm15
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,60 +1,353 @@
" Vim color file
" Maintainer: Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
" Last Change: 2001 May 25
" Name: shine
" Description: Light colorscheme inspired by normal text editors.
" Author: Original author is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
" Maintainer: Original maintainer is Yasuhiro Matsumoto <mattn@mail.goo.ne.jp>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:44 2022
" This look like normal text editor.
" This color scheme uses a light background.
" Generated by Colortemplate v2.2.0
" First remove all existing highlighting.
set background=light
hi clear
if exists("syntax_on")
syntax reset
let g:colors_name = 'shine'
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 = ['#000000', '#8b0000', '#006400', '#ffff00', '#00008b', '#6a0dad', '#008b8b', '#dadada', '#767676', '#ffafaf', '#90ee90', '#ffff60', '#add8e6', '#ff00ff', '#00ffff', '#ffffff']
endif
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi Folded guifg=#00008b guibg=#dadada gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#dadada gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#dadada gui=NONE cterm=NONE
hi CursorLineNr guifg=NONE guibg=#dadada gui=NONE cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#ff8c00 gui=NONE cterm=NONE
hi! link EndOfBuffer NonText
hi StatusLine guifg=#ffffff guibg=#000000 gui=bold cterm=NONE
hi StatusLineNC guifg=#ffffff guibg=#a8a8a8 gui=NONE cterm=NONE
hi StatusLineTerm guifg=#000000 guibg=#90ee90 gui=bold cterm=NONE
hi StatusLineTermNC guifg=#dadada guibg=#006400 gui=NONE cterm=NONE
hi VertSplit guifg=#a8a8a8 guibg=#a8a8a8 gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffff60 gui=NONE cterm=NONE
hi PmenuSbar guifg=#ffffff guibg=#ffffff gui=NONE cterm=NONE
hi PmenuThumb guifg=#767676 guibg=#767676 gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#dadada gui=underline cterm=underline
hi TabLineFill guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton guifg=NONE guibg=#a8a8a8 gui=bold cterm=NONE
hi NonText guifg=#add8e6 guibg=#ffffff gui=NONE cterm=NONE
hi SpecialKey guifg=#add8e6 guibg=NONE gui=NONE cterm=NONE
hi Visual guifg=#000000 guibg=#a8a8a8 gui=NONE cterm=NONE
hi VisualNOS guifg=NONE guibg=NONE gui=bold,underline ctermfg=NONE ctermbg=NONE cterm=underline
hi LineNr guifg=#767676 guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#767676 guibg=NONE gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined guifg=#6a0dad guibg=NONE gui=underline cterm=underline
hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
hi! link ErrorMsg Error
hi WarningMsg guifg=#6a0dad guibg=#ffffff gui=NONE cterm=NONE
hi MoreMsg guifg=#006400 guibg=#ffffff gui=NONE cterm=NONE
hi ModeMsg guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi Question guifg=#a07070 guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi MatchParen guifg=#ffffff guibg=#ffafaf gui=NONE cterm=NONE
hi Search guifg=#ffffff guibg=#6a0dad gui=NONE cterm=NONE
hi IncSearch guifg=#008b8b guibg=#ffff00 gui=reverse cterm=reverse
hi WildMenu guifg=#000000 guibg=#ffff00 gui=bold cterm=NONE
hi ColorColumn guifg=#000000 guibg=#ffafaf gui=NONE cterm=NONE
hi Cursor guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
hi lCursor guifg=#000000 guibg=#a07070 gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#2e8b57 guibg=NONE guisp=#2e8b57 gui=undercurl cterm=underline
hi SpellLocal guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
hi SpellRare guifg=#00008b guibg=NONE guisp=#00008b gui=undercurl cterm=underline
hi Identifier guifg=#008b8b guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#006400 guibg=NONE gui=bold cterm=NONE
hi Constant guifg=#a07070 guibg=NONE gui=NONE cterm=NONE
hi Number guifg=#a07070 guibg=NONE gui=bold cterm=NONE
hi Float guifg=#a07070 guibg=NONE gui=bold cterm=NONE
hi PreProc guifg=#6a0dad guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#ff8c00 guibg=NONE gui=NONE cterm=NONE
hi SpecialChar guifg=#00008b guibg=NONE gui=NONE cterm=NONE
hi! link Tag Special
hi Type guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
hi! link Operator Statement
hi Directory guifg=#008b8b guibg=NONE gui=bold cterm=NONE
hi Comment guifg=#a8a8a8 guibg=NONE gui=bold cterm=NONE
hi StorageClass guifg=#ff0000 guibg=NONE gui=bold cterm=NONE
hi Conceal guifg=#dadada guibg=#767676 gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title guifg=#006400 guibg=NONE gui=bold cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
hi Folded ctermfg=18 ctermbg=253 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=253 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=253 cterm=NONE
hi CursorLineNr ctermfg=NONE ctermbg=253 cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=208 cterm=NONE
hi! link EndOfBuffer NonText
hi StatusLine ctermfg=231 ctermbg=16 cterm=NONE
hi StatusLineNC ctermfg=231 ctermbg=248 cterm=NONE
hi StatusLineTerm ctermfg=16 ctermbg=120 cterm=NONE
hi StatusLineTermNC ctermfg=253 ctermbg=22 cterm=NONE
hi VertSplit ctermfg=248 ctermbg=248 cterm=NONE
hi Pmenu ctermfg=16 ctermbg=248 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=228 cterm=NONE
hi PmenuSbar ctermfg=231 ctermbg=231 cterm=NONE
hi PmenuThumb ctermfg=243 ctermbg=243 cterm=NONE
hi TabLine ctermfg=16 ctermbg=253 cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=16 ctermbg=231 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=NONE ctermbg=248 cterm=NONE
hi NonText ctermfg=153 ctermbg=231 cterm=NONE
hi SpecialKey ctermfg=153 ctermbg=NONE cterm=NONE
hi Visual ctermfg=16 ctermbg=248 cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
hi LineNr ctermfg=243 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=243 ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=55 ctermbg=NONE cterm=underline
hi Error ctermfg=196 ctermbg=231 cterm=reverse
hi! link ErrorMsg Error
hi WarningMsg ctermfg=55 ctermbg=231 cterm=NONE
hi MoreMsg ctermfg=22 ctermbg=231 cterm=NONE
hi ModeMsg ctermfg=16 ctermbg=231 cterm=NONE
hi Question ctermfg=95 ctermbg=NONE cterm=NONE
hi Todo ctermfg=16 ctermbg=226 cterm=NONE
hi MatchParen ctermfg=231 ctermbg=217 cterm=NONE
hi Search ctermfg=231 ctermbg=55 cterm=NONE
hi IncSearch ctermfg=30 ctermbg=226 cterm=reverse
hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
hi ColorColumn ctermfg=16 ctermbg=217 cterm=NONE
hi Cursor ctermfg=231 ctermbg=16 cterm=NONE
hi lCursor ctermfg=16 ctermbg=95 cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=29 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=201 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=18 ctermbg=NONE cterm=underline
hi Identifier ctermfg=30 ctermbg=NONE cterm=NONE
hi Statement ctermfg=22 ctermbg=NONE cterm=NONE
hi Constant ctermfg=95 ctermbg=NONE cterm=NONE
hi Number ctermfg=95 ctermbg=NONE cterm=NONE
hi Float ctermfg=95 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=55 ctermbg=NONE cterm=NONE
hi Special ctermfg=208 ctermbg=NONE cterm=NONE
hi SpecialChar ctermfg=18 ctermbg=NONE cterm=NONE
hi! link Tag Special
hi Type ctermfg=29 ctermbg=NONE cterm=NONE
hi! link Operator Statement
hi Directory ctermfg=30 ctermbg=NONE cterm=NONE
hi Comment ctermfg=248 ctermbg=NONE cterm=NONE
hi StorageClass ctermfg=196 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=253 ctermbg=243 cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=22 ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
let colors_name = "shine"
hi Normal ctermbg=White ctermfg=Black guifg=Black guibg=White
" Groups used in the 'highlight' and 'guicursor' options default value.
hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
hi IncSearch term=reverse cterm=reverse gui=reverse
hi ModeMsg term=bold cterm=bold gui=bold
hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold
hi StatusLineNC term=reverse cterm=reverse gui=reverse
hi VertSplit term=reverse cterm=reverse gui=reverse
hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey guibg=fg
hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
hi Cursor ctermbg=Green guibg=Green guifg=Black
hi lCursor guibg=Cyan guifg=Black
hi Directory term=bold ctermfg=LightRed guifg=Red
hi LineNr term=underline ctermfg=Yellow guifg=Yellow
hi MoreMsg term=bold ctermfg=LightGreen gui=bold guifg=SeaGreen
hi NonText term=bold ctermfg=LightBlue gui=bold guifg=LightBlue guibg=grey90
hi Question term=standout ctermfg=LightGreen gui=bold guifg=Green
hi Search term=reverse ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
hi SpecialKey term=bold ctermfg=LightBlue guifg=Blue
hi Title term=bold ctermfg=LightMagenta gui=bold guifg=Magenta
hi WarningMsg term=standout ctermfg=LightRed guifg=Red
hi WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
hi Folded term=standout ctermbg=LightGrey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
hi FoldColumn term=standout ctermbg=LightGrey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue
hi DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue
hi DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta
hi DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan
hi Comment ctermfg=DarkGrey ctermbg=White guifg=DarkGrey gui=bold
hi SpecialChar ctermfg=DarkGrey ctermbg=White guifg=DarkGrey gui=bold
hi StorageClass ctermfg=Red ctermbg=White guifg=Red gui=bold
hi Number ctermfg=LightRed ctermbg=White guifg=LightRed gui=bold
" Groups for syntax highlighting
hi Constant term=underline ctermfg=Magenta guifg=#a07070 guibg=grey80
hi Special term=bold ctermfg=LightRed guifg=DarkOrange guibg=grey80
if &t_Co > 8
hi Statement term=bold cterm=bold ctermfg=DarkGreen ctermbg=White guifg=#ffff60 gui=bold
if s:t_Co >= 16
hi Normal ctermfg=black ctermbg=white cterm=NONE
hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=NONE ctermbg=NONE cterm=underline
hi QuickFixLine ctermfg=black ctermbg=darkyellow cterm=NONE
hi! link EndOfBuffer NonText
hi StatusLine ctermfg=white ctermbg=black cterm=NONE
hi StatusLineNC ctermfg=white ctermbg=darkgrey cterm=NONE
hi StatusLineTerm ctermfg=black ctermbg=green cterm=NONE
hi StatusLineTermNC ctermfg=grey ctermbg=darkgreen cterm=NONE
hi VertSplit ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
hi Pmenu ctermfg=black ctermbg=darkgrey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuSbar ctermfg=white ctermbg=white cterm=NONE
hi PmenuThumb ctermfg=darkgrey ctermbg=darkgrey cterm=NONE
hi TabLine ctermfg=black ctermbg=grey cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi NonText ctermfg=blue ctermbg=white cterm=NONE
hi SpecialKey ctermfg=blue ctermbg=NONE cterm=NONE
hi Visual ctermfg=black ctermbg=darkgrey cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=NONE cterm=underline
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=darkmagenta ctermbg=NONE cterm=underline
hi Error ctermfg=red ctermbg=white cterm=reverse
hi! link ErrorMsg Error
hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
hi MoreMsg ctermfg=darkgreen ctermbg=white cterm=NONE
hi ModeMsg ctermfg=black ctermbg=white cterm=NONE
hi Question ctermfg=darkred ctermbg=NONE cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi MatchParen ctermfg=white ctermbg=red cterm=NONE
hi Search ctermfg=white ctermbg=darkmagenta cterm=NONE
hi IncSearch ctermfg=darkcyan ctermbg=yellow cterm=reverse
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi ColorColumn ctermfg=black ctermbg=red cterm=NONE
hi Cursor ctermfg=white ctermbg=black cterm=NONE
hi lCursor ctermfg=black ctermbg=darkred cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkgreen ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=magenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkblue ctermbg=NONE cterm=underline
hi Identifier ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Constant ctermfg=darkred ctermbg=NONE cterm=NONE
hi Number ctermfg=darkred ctermbg=NONE cterm=NONE
hi Float ctermfg=darkred ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi SpecialChar ctermfg=darkblue ctermbg=NONE cterm=NONE
hi! link Tag Special
hi Type ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi! link Operator Statement
hi Directory ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi StorageClass ctermfg=red ctermbg=NONE cterm=NONE
hi Conceal ctermfg=grey ctermbg=darkgrey cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
unlet s:t_Co
finish
endif
hi Ignore ctermfg=LightGrey guifg=grey90
" vim: sw=2
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: light
" Color: Black #000000 16 black
" Color: DarkGrey #767676 243 darkgrey
" Color: MediumGrey #A8A8A8 248 darkgrey
" Color: LightGrey #DADADA 253 grey
" Color: White #ffffff 231 white
" Color: Cyan #00ffff 51 cyan
" Color: Magenta #ff00ff 201 magenta
" Color: Red #ff0000 196 red
" Color: Yellow #ffff00 226 yellow
" Color: SeaGreen #2e8b57 29 darkgreen
" Color: DarkBlue #00008b 18 darkblue
" Color: DarkCyan #008b8b 30 darkcyan
" Color: DarkGreen #006400 22 darkgreen
" Color: DarkOrange #ff8c00 208 darkyellow
" Color: DarkRed #8b0000 88 darkred
" Color: LightBlue #add8e6 153 blue
" Color: LightGreen #90ee90 120 green
" Color: LightMagenta#ff83fa 213 magenta
" Color: LightRed #ffafaf 217 red
" Color: MutedRed #a07070 95 darkred
" Color: MutedYellow #ffff60 228 yellow
" Color: Purple #6a0dad 55 darkmagenta
" Term colors: Black DarkRed DarkGreen Yellow DarkBlue Purple DarkCyan LightGrey
" Term colors: DarkGrey LightRed LightGreen MutedYellow LightBlue Magenta Cyan White
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,56 +1,350 @@
"%% SiSU Vim color file
" Slate Maintainer: Ralph Amissah <ralph@amissah.com>
" (originally looked at desert Hans Fugal <hans@fugal.net> http://hans.fugal.net/vim/colors/desert.vim (2003/05/06)
:set background=dark
:highlight clear
if version > 580
hi clear
if exists("syntax_on")
syntax reset
endif
" Name: slate
" Description: Remake of slate
" Author: Original maintainer Ralph Amissah <ralph@amissah.com>
" Maintainer: Original maintainer Ralph Amissah <ralph@amissah.com>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:45 2022
" Generated by Colortemplate v2.2.0
set background=dark
hi clear
let g:colors_name = 'slate'
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 = ['#000000', '#ff0000', '#5f8700', '#ffff00', '#87d7ff', '#d7d787', '#ffd7af', '#666666', '#333333', '#ffafaf', '#00875f', '#ffd700', '#5f87d7', '#afaf87', '#ff8787', '#ffffff']
endif
let colors_name = "slate"
:hi Normal guifg=White guibg=grey15
:hi Cursor guibg=khaki guifg=slategrey
:hi VertSplit guibg=#c2bfa5 guifg=grey40 gui=none cterm=reverse
:hi Folded guibg=black guifg=grey40 ctermfg=grey ctermbg=darkgrey
:hi FoldColumn guibg=black guifg=grey20 ctermfg=4 ctermbg=7
:hi IncSearch guifg=green guibg=black cterm=none ctermfg=yellow ctermbg=green
:hi ModeMsg guifg=goldenrod cterm=none ctermfg=brown
:hi MoreMsg guifg=SeaGreen ctermfg=darkgreen
:hi NonText guifg=RoyalBlue guibg=grey15 cterm=bold ctermfg=blue
:hi Question guifg=springgreen ctermfg=green
:hi Search guibg=peru guifg=wheat cterm=none ctermfg=grey ctermbg=blue
:hi SpecialKey guifg=yellowgreen ctermfg=darkgreen
:hi StatusLine guibg=#c2bfa5 guifg=black gui=none cterm=bold,reverse
:hi StatusLineNC guibg=#c2bfa5 guifg=grey40 gui=none cterm=reverse
:hi Title guifg=gold gui=bold cterm=bold ctermfg=yellow
:hi Statement guifg=CornflowerBlue ctermfg=lightblue
:hi Visual gui=none guifg=khaki guibg=olivedrab cterm=reverse
:hi WarningMsg guifg=salmon ctermfg=1
:hi String guifg=SkyBlue ctermfg=darkcyan
:hi Comment term=bold ctermfg=11 guifg=grey40
:hi Constant guifg=#ffa0a0 ctermfg=brown
:hi Special guifg=darkkhaki ctermfg=brown
:hi Identifier guifg=salmon ctermfg=red
:hi Include guifg=red ctermfg=red
:hi PreProc guifg=red guibg=white ctermfg=red
:hi Operator guifg=Red ctermfg=Red
:hi Define guifg=gold gui=bold ctermfg=yellow
:hi Type guifg=CornflowerBlue ctermfg=2
:hi Function guifg=navajowhite ctermfg=brown
:hi Structure guifg=green ctermfg=green
:hi LineNr guifg=grey50 ctermfg=3
:hi Ignore guifg=grey40 cterm=bold ctermfg=7
:hi Todo guifg=orangered guibg=yellow2
:hi Directory ctermfg=darkcyan
:hi ErrorMsg cterm=bold guifg=White guibg=Red cterm=bold ctermfg=7 ctermbg=1
:hi VisualNOS cterm=bold,underline
:hi WildMenu ctermfg=0 ctermbg=3
:hi DiffAdd ctermbg=4
:hi DiffChange ctermbg=5
:hi DiffDelete cterm=bold ctermfg=4 ctermbg=6
:hi DiffText cterm=bold ctermbg=1
:hi Underlined cterm=underline ctermfg=5
:hi Error guifg=White guibg=Red cterm=bold ctermfg=7 ctermbg=1
:hi SpellErrors guifg=White guibg=Red cterm=bold ctermfg=7 ctermbg=1
hi Normal guifg=#ffffff guibg=#262626 gui=NONE cterm=NONE
hi EndOfBuffer guifg=#5f87d7 guibg=NONE gui=NONE cterm=NONE
hi StatusLine guifg=#000000 guibg=#afaf87 gui=NONE cterm=NONE
hi StatusLineNC guifg=#666666 guibg=#afaf87 gui=NONE cterm=NONE
hi StatusLineTerm guifg=#000000 guibg=#afaf87 gui=NONE cterm=NONE
hi StatusLineTermNC guifg=#666666 guibg=#afaf87 gui=NONE cterm=NONE
hi VertSplit guifg=#666666 guibg=#afaf87 gui=NONE cterm=NONE
hi PmenuSel guifg=#262626 guibg=#d7d787 gui=NONE cterm=NONE
hi Pmenu guifg=NONE guibg=#4a4a4a gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#262626 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#ffd700 gui=NONE cterm=NONE
hi TabLineSel guifg=#000000 guibg=#afaf87 gui=NONE cterm=NONE
hi TabLine guifg=#666666 guibg=#333333 gui=NONE cterm=NONE
hi TabLineFill guifg=#ff8787 guibg=#333333 gui=NONE cterm=NONE
hi ToolbarLine guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton guifg=#262626 guibg=#d7d787 gui=NONE cterm=NONE
hi NonText guifg=#5f87d7 guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#00875f guibg=NONE gui=NONE cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#5f87d7 gui=NONE cterm=NONE
hi Folded guifg=#666666 guibg=#000000 gui=NONE cterm=NONE
hi FoldColumn guifg=#5f87d7 guibg=#000000 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#333333 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#333333 gui=NONE cterm=NONE
hi CursorLineNr guifg=NONE guibg=#333333 gui=NONE cterm=NONE
hi Visual guifg=#d7d787 guibg=#5f8700 gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=#262626 gui=NONE cterm=NONE
hi VisualNOS guifg=#d7d787 guibg=#5f8700 gui=NONE cterm=NONE
hi LineNr guifg=#666666 guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=#5f87d7 guibg=NONE gui=underline cterm=underline
hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
hi ErrorMsg guifg=#ff0000 guibg=#000000 gui=reverse cterm=reverse
hi ModeMsg guifg=#262626 guibg=#ffd700 gui=NONE cterm=NONE
hi WarningMsg guifg=#ff8787 guibg=NONE gui=NONE cterm=NONE
hi MoreMsg guifg=#00875f guibg=NONE gui=NONE cterm=NONE
hi Question guifg=#ffd700 guibg=NONE gui=NONE cterm=NONE
hi Todo guifg=#ff0000 guibg=#ffff00 gui=NONE cterm=NONE
hi MatchParen guifg=#000000 guibg=#ffd700 gui=NONE cterm=NONE
hi Search guifg=#000000 guibg=#d7875f gui=NONE cterm=NONE
hi IncSearch guifg=#000000 guibg=#00ff00 gui=NONE cterm=NONE
hi WildMenu guifg=#262626 guibg=#d7d787 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi Cursor guifg=#333333 guibg=#d7d787 gui=NONE cterm=NONE
hi lCursor guifg=#262626 guibg=#ffafaf gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#ffff00 guibg=NONE guisp=#ffff00 gui=undercurl cterm=underline
hi SpellLocal guifg=#ffafaf guibg=NONE guisp=#ffafaf gui=undercurl cterm=underline
hi SpellRare guifg=#ffd7af guibg=NONE guisp=#ffd7af gui=undercurl cterm=underline
hi Comment guifg=#666666 guibg=NONE gui=NONE cterm=NONE
hi String guifg=#87d7ff guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#ff8787 guibg=NONE gui=NONE cterm=NONE
hi Function guifg=#ffd7af guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#d7d787 guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#5f87d7 guibg=NONE gui=bold cterm=NONE
hi Constant guifg=#ffafaf guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#d7875f guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#5f87d7 guibg=NONE gui=bold cterm=NONE
hi Operator guifg=#d7875f guibg=NONE gui=NONE cterm=NONE
hi Define guifg=#ffd700 guibg=NONE gui=bold cterm=NONE
hi Structure guifg=#00ff00 guibg=NONE gui=NONE cterm=NONE
hi Directory guifg=#00875f guibg=NONE gui=bold cterm=NONE
hi Conceal guifg=#666666 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title guifg=#ffd700 guibg=NONE gui=bold cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi Normal ctermfg=231 ctermbg=235 cterm=NONE
hi EndOfBuffer ctermfg=68 ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=16 ctermbg=144 cterm=NONE
hi StatusLineNC ctermfg=241 ctermbg=144 cterm=NONE
hi StatusLineTerm ctermfg=16 ctermbg=144 cterm=NONE
hi StatusLineTermNC ctermfg=241 ctermbg=144 cterm=NONE
hi VertSplit ctermfg=241 ctermbg=144 cterm=NONE
hi PmenuSel ctermfg=235 ctermbg=186 cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=239 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=235 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=220 cterm=NONE
hi TabLineSel ctermfg=16 ctermbg=144 cterm=NONE
hi TabLine ctermfg=241 ctermbg=236 cterm=NONE
hi TabLineFill ctermfg=210 ctermbg=236 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=235 ctermbg=186 cterm=NONE
hi NonText ctermfg=68 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=29 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=68 cterm=NONE
hi Folded ctermfg=241 ctermbg=16 cterm=NONE
hi FoldColumn ctermfg=68 ctermbg=16 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=236 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=236 cterm=NONE
hi CursorLineNr ctermfg=NONE ctermbg=236 cterm=NONE
hi Visual ctermfg=186 ctermbg=64 cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=235 cterm=NONE
hi VisualNOS ctermfg=186 ctermbg=64 cterm=NONE
hi LineNr ctermfg=241 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=68 ctermbg=NONE cterm=underline
hi Error ctermfg=196 ctermbg=231 cterm=reverse
hi ErrorMsg ctermfg=196 ctermbg=16 cterm=reverse
hi ModeMsg ctermfg=235 ctermbg=220 cterm=NONE
hi WarningMsg ctermfg=210 ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
hi Question ctermfg=220 ctermbg=NONE cterm=NONE
hi Todo ctermfg=196 ctermbg=226 cterm=NONE
hi MatchParen ctermfg=16 ctermbg=220 cterm=NONE
hi Search ctermfg=16 ctermbg=173 cterm=NONE
hi IncSearch ctermfg=16 ctermbg=46 cterm=NONE
hi WildMenu ctermfg=235 ctermbg=186 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=16 cterm=NONE
hi Cursor ctermfg=236 ctermbg=186 cterm=NONE
hi lCursor ctermfg=235 ctermbg=217 cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=226 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=217 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=223 ctermbg=NONE cterm=underline
hi Comment ctermfg=241 ctermbg=NONE cterm=NONE
hi String ctermfg=117 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=210 ctermbg=NONE cterm=NONE
hi Function ctermfg=223 ctermbg=NONE cterm=NONE
hi Special ctermfg=186 ctermbg=NONE cterm=NONE
hi Statement ctermfg=68 ctermbg=NONE cterm=NONE
hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=173 ctermbg=NONE cterm=NONE
hi Type ctermfg=68 ctermbg=NONE cterm=NONE
hi Operator ctermfg=173 ctermbg=NONE cterm=NONE
hi Define ctermfg=220 ctermbg=NONE cterm=NONE
hi Structure ctermfg=46 ctermbg=NONE cterm=NONE
hi Directory ctermfg=29 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=241 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=220 ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
if s:t_Co >= 16
hi Normal ctermfg=white ctermbg=black cterm=NONE
hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=black ctermbg=grey cterm=NONE
hi StatusLineNC ctermfg=darkgrey ctermbg=grey cterm=NONE
hi StatusLineTerm ctermfg=black ctermbg=grey cterm=NONE
hi StatusLineTermNC ctermfg=darkgrey ctermbg=grey cterm=NONE
hi VertSplit ctermfg=darkgrey ctermbg=grey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi Pmenu ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=black cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=yellow cterm=NONE
hi TabLineSel ctermfg=black ctermbg=darkyellow cterm=NONE
hi TabLine ctermfg=grey ctermbg=darkgrey cterm=NONE
hi TabLineFill ctermfg=cyan ctermbg=darkgrey cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=NONE cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=darkyellow cterm=NONE
hi NonText ctermfg=blue ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=green ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=blue cterm=NONE
hi Folded ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
hi ColorColumn ctermfg=white ctermbg=darkgrey cterm=NONE
hi Visual ctermfg=yellow ctermbg=darkgreen cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=black cterm=NONE
hi VisualNOS ctermfg=darkmagenta ctermbg=darkgreen cterm=NONE
hi LineNr ctermfg=grey ctermbg=NONE cterm=NONE
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
hi Error ctermfg=darkred ctermbg=white cterm=reverse
hi ErrorMsg ctermfg=darkred ctermbg=black cterm=reverse
hi ModeMsg ctermfg=black ctermbg=yellow cterm=NONE
hi WarningMsg ctermfg=cyan ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=green ctermbg=NONE cterm=NONE
hi Question ctermfg=yellow ctermbg=NONE cterm=NONE
hi Todo ctermfg=darkred ctermbg=darkyellow cterm=NONE
hi MatchParen ctermfg=black ctermbg=yellow cterm=NONE
hi Search ctermfg=black ctermbg=darkmagenta cterm=NONE
hi IncSearch ctermfg=black ctermbg=darkgreen cterm=NONE
hi WildMenu ctermfg=black ctermbg=darkyellow cterm=NONE
hi ColorColumn ctermfg=white ctermbg=darkgrey cterm=NONE
hi Cursor ctermfg=darkgrey ctermbg=darkmagenta cterm=NONE
hi lCursor ctermfg=black ctermbg=red cterm=NONE
hi SpellBad ctermfg=darkred ctermbg=NONE cterm=underline
hi SpellCap ctermfg=darkyellow ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=red ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
hi Comment ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi String ctermfg=cyan ctermbg=NONE cterm=NONE
hi Identifier ctermfg=darkred ctermbg=NONE cterm=NONE
hi Function ctermfg=yellow ctermbg=NONE cterm=NONE
hi Special ctermfg=darkyellow ctermbg=NONE cterm=NONE
hi Statement ctermfg=blue ctermbg=NONE cterm=NONE
hi Constant ctermfg=red ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Type ctermfg=blue ctermbg=NONE cterm=NONE
hi Operator ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Define ctermfg=yellow ctermbg=NONE cterm=NONE
hi Structure ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Directory ctermfg=green ctermbg=NONE cterm=NONE
hi Conceal ctermfg=grey ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=yellow ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
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: foreground #FFFFFF 231 white
" Color: background #262626 235 black
" Color: color00 #000000 16 black
" Color: color08 #333333 236 darkgrey
" Color: color01 #FF0000 196 darkred
" Color: color09 #FFAFAF 217 red
" Color: color02 #5F8700 64 darkgreen
" Color: color10 #00875F 29 green
" Color: color03 #ffff00 226 darkyellow
" Color: color11 #FFD700 220 yellow
" Color: color04 #87d7FF 117 darkblue
" Color: color12 #5F87D7 68 blue
" Color: color05 #d7d787 186 darkmagenta
" Color: color13 #AFAF87 144 magenta
" Color: color06 #FFD7AF 223 darkcyan
" Color: color14 #FF8787 210 cyan
" Color: color07 #666666 241 grey
" Color: color15 #FFFFFF 231 white
" Color: color16 #D7875F 173 darkmagenta
" Color: color17 #00FF00 46 darkgreen
" Color: Pmenu #4A4A4A 239 darkgrey
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,238 +1,207 @@
" This script tests a color scheme for some errors and lists potential errors.
" Load the scheme and source this script, like this:
" :edit colors/desert.vim | :so colors/tools/check_colors.vim
vim9script
# This script tests a color scheme for some errors and lists potential errors.
# Load the scheme and source this script, like this:
# :edit colors/desert.vim | :ru colors/tools/check_colors.vim
let s:save_cpo= &cpo
set cpo&vim
def Test_check_colors()
const savedview = winsaveview()
cursor(1, 1)
var err = {}
func! Test_check_colors()
let l:savedview = winsaveview()
call cursor(1,1)
let err = {}
" 1) Check g:colors_name is existing
if !search('\<\%(g:\)\?colors_name\>', 'cnW')
let err['colors_name'] = 'g:colors_name not set'
else
let err['colors_name'] = 'OK'
endif
" 2) Check for some well-defined highlighting groups
let hi_groups = [
\ 'ColorColumn',
\ 'Comment',
\ 'Conceal',
\ 'Constant',
\ 'Cursor',
\ 'CursorColumn',
\ 'CursorLine',
\ 'CursorLineNr',
\ 'DiffAdd',
\ 'DiffChange',
\ 'DiffDelete',
\ 'DiffText',
\ 'Directory',
\ 'EndOfBuffer',
\ 'Error',
\ 'ErrorMsg',
\ 'FoldColumn',
\ 'Folded',
\ 'Identifier',
\ 'Ignore',
\ 'IncSearch',
\ 'LineNr',
\ 'MatchParen',
\ 'ModeMsg',
\ 'MoreMsg',
\ 'NonText',
\ 'Normal',
\ 'Pmenu',
\ 'PmenuSbar',
\ 'PmenuSel',
\ 'PmenuThumb',
\ 'PreProc',
\ 'Question',
\ 'QuickFixLine',
\ 'Search',
\ 'SignColumn',
\ 'Special',
\ 'SpecialKey',
\ 'SpellBad',
\ 'SpellCap',
\ 'SpellLocal',
\ 'SpellRare',
\ 'Statement',
\ 'StatusLine',
\ 'StatusLineNC',
\ 'StatusLineTerm',
\ 'StatusLineTermNC',
\ 'TabLine',
\ 'TabLineFill',
\ 'TabLineSel',
\ 'Title',
\ 'Todo',
\ 'ToolbarButton',
\ 'ToolbarLine',
\ 'Type',
\ 'Underlined',
\ 'VertSplit',
\ 'Visual',
\ 'VisualNOS',
\ 'WarningMsg',
\ 'WildMenu',
\ ]
let groups = {}
for group in hi_groups
if search('\c@suppress\s\+\<' .. group .. '\>', 'cnW')
" skip check, if the script contains a line like
" @suppress Visual:
continue
endif
if search('hi\%[ghlight]!\= \+link \+' .. group, 'cnW') " Linked group
continue
endif
if !search('hi\%[ghlight] \+\<' .. group .. '\>', 'cnW')
let groups[group] = 'No highlight definition for ' .. group
continue
endif
if !search('hi\%[ghlight] \+\<' .. group .. '\>.*[bf]g=', 'cnW')
let groups[group] = 'Missing foreground or background color for ' .. group
continue
endif
if search('hi\%[ghlight] \+\<' .. group .. '\>.*guibg=', 'cnW') &&
\ !search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermbg=', 'cnW')
\ && group != 'Cursor'
let groups[group] = 'Missing bg terminal color for ' .. group
continue
endif
if !search('hi\%[ghlight] \+\<' .. group .. '\>.*guifg=', 'cnW')
\ && group !~ '^Diff'
let groups[group] = 'Missing guifg definition for ' .. group
continue
endif
if !search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermfg=', 'cnW')
\ && group !~ '^Diff'
\ && group != 'Cursor'
let groups[group] = 'Missing ctermfg definition for ' .. group
continue
endif
" do not check for background colors, they could be intentionally left out
call cursor(1,1)
endfor
let err['highlight'] = groups
" 3) Check, that it does not set background highlighting
" Doesn't ':hi Normal ctermfg=253 ctermfg=233' also set the background sometimes?
let bg_set = '\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
let bg_let = 'let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
let bg_pat = '\%(' .. bg_set .. '\|' .. bg_let .. '\)'
let line = search(bg_pat, 'cnW')
if search(bg_pat, 'cnW')
exe line
if search('hi \U\w\+\s\+\S', 'cbnW')
let err['background'] = 'Should not set background option after :hi statement'
endif
else
let err['background'] = 'OK'
endif
call cursor(1,1)
" 4) Check, that t_Co is checked
let pat = '[&]t_Co\s*[<>=]=\?\s*\d\+'
if !search(pat, 'ncW')
let err['t_Co'] = 'Does not check terminal for capable colors'
endif
" 5) Initializes correctly, e.g. should have a section like
" hi clear
" if exists("syntax_on")
" syntax reset
" endif
let pat = 'hi\%[ghlight]\s*clear\n\s*if\s*exists(\([''"]\)syntax_on\1)\n\s*syn\%[tax]\s*reset\n\s*endif'
if !search(pat, 'cnW')
let err['init'] = 'No initialization'
endif
" 6) Does not use :syn on
if search('syn\%[tax]\s\+on', 'cnW')
let err['background'] = 'Should not issue :syn on'
endif
" 7) Does not define filetype specific groups like vimCommand, htmlTag,
let hi_groups = filter(getcompletion('', 'filetype'), { _,v -> v !~# '\%[no]syn\%(color\|load\|tax\)' })
let ft_groups = []
" let group = '\%('.join(hi_groups, '\|').'\)' " More efficient than a for loop, but less informative
for group in hi_groups
let pat = '\Chi\%[ghlight]!\= *\%[link] \+\zs' .. group .. '\w\+\>\ze \+.' " Skips `hi clear`
if search(pat, 'cW')
call add(ft_groups, matchstr(getline('.'), pat))
endif
call cursor(1,1)
endfor
if !empty(ft_groups)
let err['filetype'] = get(err, 'filetype', 'Should not define: ') . join(uniq(sort(ft_groups)))
endif
" 8) Were debugPC and debugBreakpoint defined?
for group in ['debugPC', 'debugBreakpoint']
let pat = '\Chi\%[ghlight]!\= *\%[link] \+\zs' .. group .. '\>'
if search(pat, 'cnW')
let line = search(pat, 'cW')
let err['filetype'] = get(err, 'filetype', 'Should not define: ') . matchstr(getline('.'), pat). ' '
endif
call cursor(1,1)
endfor
" 9) Normal should be defined first, not use reverse, fg or bg
call cursor(1,1)
let pat = 'hi\%[ghlight] \+\%(link\|clear\)\@!\w\+\>'
call search(pat, 'cW') " Look for the first hi def, skipping `hi link` and `hi clear`
if getline('.') !~# '\m\<Normal\>'
let err['highlight']['Normal'] = 'Should be defined first'
elseif getline('.') =~# '\m\%(=\%(fg\|bg\)\)'
let err['highlight']['Normal'] = "Should not use 'fg' or 'bg'"
elseif getline('.') =~# '\m=\%(inv\|rev\)erse'
let err['highlight']['Normal'] = 'Should not use reverse mode'
endif
call winrestview(l:savedview)
let g:err = err
" print Result
call Result(err)
endfu
fu! Result(err)
let do_groups = 0
echohl Title|echomsg "---------------"|echohl Normal
for key in sort(keys(a:err))
if key is# 'highlight'
let do_groups = !empty(a:err[key])
continue
# 1) Check g:colors_name is existing
if !search('\<\%(g:\)\?colors_name\>', 'cnW')
err['colors_name'] = 'g:colors_name not set'
else
if a:err[key] !~ 'OK'
echohl Title
endif
echomsg printf("%15s: %s", key, a:err[key])
echohl Normal
err['colors_name'] = 'OK'
endif
endfor
echohl Title|echomsg "---------------"|echohl Normal
if do_groups
echohl Title | echomsg "Groups" | echohl Normal
for v1 in sort(keys(a:err['highlight']))
echomsg printf("%25s: %s", v1, a:err['highlight'][v1])
endfor
endif
endfu
try
call Test_check_colors()
catch
echohl ErrorMsg
echomsg v:exception
echohl NONE
finally
let &cpo = s:save_cpo
unlet s:save_cpo
endtry
# 2) Check for some well-defined highlighting groups
const hi_groups = [
'ColorColumn',
'Comment',
'Conceal',
'Constant',
'CurSearch',
'Cursor',
'CursorColumn',
'CursorLine',
'CursorLineNr',
'CursorLineFold',
'CursorLineSign',
'DiffAdd',
'DiffChange',
'DiffDelete',
'DiffText',
'Directory',
'EndOfBuffer',
'Error',
'ErrorMsg',
'FoldColumn',
'Folded',
'Identifier',
'Ignore',
'IncSearch',
'LineNr',
'LineNrAbove',
'LineNrBelow',
'MatchParen',
'ModeMsg',
'MoreMsg',
'NonText',
'Normal',
'Pmenu',
'PmenuSbar',
'PmenuSel',
'PmenuThumb',
'PreProc',
'Question',
'QuickFixLine',
'Search',
'SignColumn',
'Special',
'SpecialKey',
'SpellBad',
'SpellCap',
'SpellLocal',
'SpellRare',
'Statement',
'StatusLine',
'StatusLineNC',
'StatusLineTerm',
'StatusLineTermNC',
'TabLine',
'TabLineFill',
'TabLineSel',
'Title',
'Todo',
'ToolbarButton',
'ToolbarLine',
'Type',
'Underlined',
'VertSplit',
'Visual',
'VisualNOS',
'WarningMsg',
'WildMenu',
'debugPC',
'debugBreakpoint',
]
var groups = {}
for group in hi_groups
if search('\c@suppress\s\+\<' .. group .. '\>', 'cnW') != 0
# skip check, if the script contains a line like
# @suppress Visual:
continue
endif
if search('hi\%[ghlight]!\= \+link \+' .. group, 'cnW') != 0 # Linked group
continue
endif
if search('hi\%[ghlight] \+\<' .. group .. '\>', 'cnW') == 0
groups[group] = 'No highlight definition for ' .. group
continue
endif
if search('hi\%[ghlight] \+\<' .. group .. '\>.*[bf]g=', 'cnW') == 0
groups[group] = 'Missing foreground or background color for ' .. group
continue
endif
if search('hi\%[ghlight] \+\<' .. group .. '\>.*guibg=', 'cnW') != 0
&& search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermbg=', 'cnW') == 0
&& group != 'Cursor'
groups[group] = 'Missing bg terminal color for ' .. group
continue
endif
if search('hi\%[ghlight] \+\<' .. group .. '\>.*guifg=', 'cnW') == 0
&& group !~ '^Diff'
groups[group] = 'Missing guifg definition for ' .. group
continue
endif
if search('hi\%[ghlight] \+\<' .. group .. '\>.*ctermfg=', 'cnW') == 0
&& group !~ '^Diff'
&& group != 'Cursor'
groups[group] = 'Missing ctermfg definition for ' .. group
continue
endif
# do not check for background colors, they could be intentionally left out
cursor(1, 1)
endfor
err['highlight'] = groups
# 3) Check, that it does not set background highlighting
# Doesn't ':hi Normal ctermfg=253 ctermfg=233' also set the background sometimes?
const bg_set = '\(set\?\|setl\(ocal\)\?\) .*\(background\|bg\)=\(dark\|light\)'
const bg_let = 'let \%([&]\%([lg]:\)\?\)\%(background\|bg\)\s*=\s*\([''"]\?\)\w\+\1'
const bg_pat = '\%(' .. bg_set .. '\|' .. bg_let .. '\)'
const line = search(bg_pat, 'cnW')
if search(bg_pat, 'cnW') != 0
exe ":" .. line
if search('hi \U\w\+\s\+\S', 'cbnW') != 0
err['background'] = 'Should not set background option after :hi statement'
endif
else
err['background'] = 'OK'
endif
cursor(1, 1)
# 4) Check, that t_Co is checked
var pat = '[&]t_Co\s*[<>=]=\?\s*\d\+'
if search(pat, 'ncW') == 0
err['t_Co'] = 'Does not check terminal for capable colors'
endif
# 5) Initializes correctly, e.g. should have at least:
# hi clear
pat = '^\s*hi\%[ghlight]\s*clear\s*$'
if search(pat, 'cnW') == 0
err['init'] = 'No initialization'
endif
# 6) Does not use :syn on
if search('syn\%[tax]\s\+on', 'cnW') != 0
err['background'] = 'Should not issue :syn on'
endif
# 7) Normal should be defined first, not use reverse, fg or bg
cursor(1, 1)
pat = 'hi\%[light] \+\%(link\|clear\)\@!\w\+\>'
search(pat, 'cW') # Look for the first hi def, skipping `hi link` and `hi clear`
if getline('.') !~# '\m\<Normal\>'
err['highlight']['Normal'] = 'Should be defined first'
elseif getline('.') =~# '\m\%(=\%(fg\|bg\)\)'
err['highlight']['Normal'] = "Should not use 'fg' or 'bg'"
elseif getline('.') =~# '\m=\%(inv\|rev\)erse'
err['highlight']['Normal'] = 'Should not use reverse mode'
endif
# 8) TODO: XXX: Check if g:terminal_ansi_colors are defined
winrestview(savedview)
g:err = err
Result(err)
enddef
def Result(err: any)
var do_groups: bool = v:false
echohl Title | echomsg "---------------" | echohl Normal
for key in sort(keys(err))
if key is 'highlight'
do_groups = !empty(err[key])
continue
else
if err[key] !~ 'OK'
echohl Title
endif
echomsg printf("%15s: %s", key, err[key])
echohl Normal
endif
endfor
echohl Title | echomsg "---------------" | echohl Normal
if do_groups
echohl Title | echomsg "Groups" | echohl Normal
for v1 in sort(keys(err['highlight']))
echomsg printf("%25s: %s", v1, err['highlight'][v1])
endfor
endif
enddef
Test_check_colors()

View File

@@ -1,50 +1,362 @@
" Vim color file
" Maintainer: Thorsten Maerz <info@netztorte.de>
" Last Change: 2006 Dec 07
" grey on black
" optimized for TFT panels
" Name: torte
" Description: Remake of torte (grey on black)
" Author: Original maintainer Thorsten Maerz <info@netztorte.de>
" Maintainer: Original maintainer Thorsten Maerz <info@netztorte.de>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:46 2022
" Generated by Colortemplate v2.2.0
set background=dark
hi clear
if exists("syntax_on")
syntax reset
let g:colors_name = 'torte'
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 = ['#000000', '#cd0000', '#00cd00', '#cdcd00', '#0000ee', '#cd00cd', '#00cdcd', '#e5e5e5', '#7f7f7f', '#ff0000', '#00ff00', '#ffff00', '#5c5cff', '#ff00ff', '#00ffff', '#ffffff']
endif
"colorscheme default
let g:colors_name = "torte"
hi Normal guifg=#cccccc guibg=#000000 gui=NONE cterm=NONE
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi Comment guifg=#80a0ff guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#ffa0a0 guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#40ffff guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#ffff60 guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#ff80ff guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#60ff60 guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#ffa500 guibg=NONE gui=NONE cterm=NONE
hi Underlined guifg=#80a0ff guibg=NONE gui=underline cterm=underline
hi Ignore guifg=#000000 guibg=#000000 gui=NONE cterm=NONE
hi Error guifg=#ffffff guibg=#ff0000 gui=NONE cterm=NONE
hi Todo guifg=#ffff00 guibg=#000000 gui=reverse cterm=reverse
hi Folded guifg=#00cdcd guibg=#3a3a3a gui=NONE cterm=NONE
hi Visual guifg=#000000 guibg=#a9a9a9 gui=bold cterm=NONE
hi CursorColumn guifg=NONE guibg=#666666 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#666666 gui=NONE cterm=NONE
hi CursorLineNr guifg=#ffff00 guibg=#666666 gui=NONE cterm=NONE
hi SignColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi ColorColumn guifg=#cccccc guibg=#8b0000 gui=NONE cterm=NONE
hi Conceal guifg=#e5e5e5 guibg=#a9a9a9 gui=NONE cterm=NONE
hi Cursor guifg=#000000 guibg=#00ff00 gui=bold cterm=NONE
hi lCursor guifg=#000000 guibg=#e5e5e5 gui=NONE cterm=NONE
hi CursorIM guifg=NONE guibg=fg gui=NONE cterm=NONE
hi Title guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
hi Directory guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi Search guifg=#ff0000 guibg=#000000 gui=reverse cterm=reverse
hi IncSearch guifg=#00cd00 guibg=#000000 gui=reverse cterm=reverse
hi NonText guifg=#0000ff guibg=NONE gui=bold cterm=NONE
hi EndOfBuffer guifg=#0000ff guibg=NONE gui=bold cterm=NONE
hi ErrorMsg guifg=#ffffff guibg=#cd0000 gui=NONE cterm=NONE
hi WarningMsg guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
hi LineNr guifg=#7f7f7f guibg=NONE gui=NONE cterm=NONE
hi MatchParen guifg=NONE guibg=#008b8b gui=NONE cterm=NONE
hi ModeMsg guifg=NONE guibg=NONE gui=bold ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg guifg=#2e8b57 guibg=NONE gui=bold cterm=NONE
hi Question guifg=#00ff00 guibg=NONE gui=bold cterm=NONE
hi SpecialKey guifg=#00ffff guibg=NONE gui=NONE cterm=NONE
hi VisualNOS guifg=NONE guibg=#000000 gui=bold,underline cterm=underline
hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi QuickFixLine guifg=#000000 guibg=#cdcd00 gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#5c5cff guibg=NONE guisp=#5c5cff gui=undercurl cterm=underline
hi SpellLocal guifg=#ff00ff guibg=NONE guisp=#ff00ff gui=undercurl cterm=underline
hi SpellRare guifg=#00ffff guibg=NONE guisp=#00ffff gui=undercurl cterm=underline
hi StatusLine guifg=#ffffff guibg=#0000ee gui=bold cterm=NONE
hi StatusLineNC guifg=#000000 guibg=#e5e5e5 gui=NONE cterm=NONE
hi VertSplit guifg=#000000 guibg=#e5e5e5 gui=NONE cterm=NONE
hi TabLine guifg=#ffffff guibg=#7f7f7f gui=NONE cterm=NONE
hi TabLineFill guifg=NONE guibg=#000000 gui=reverse cterm=reverse
hi TabLineSel guifg=#cccccc guibg=#000000 gui=bold cterm=NONE
hi ToolbarLine guifg=NONE guibg=#000000 gui=NONE cterm=NONE
hi ToolbarButton guifg=#000000 guibg=#e5e5e5 gui=bold cterm=NONE
hi Pmenu guifg=fg guibg=#303030 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#bebebe gui=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
" hardcoded colors :
" GUI Comment : #80a0ff = Light blue
" GUI
highlight Normal guifg=Grey80 guibg=Black
highlight Search guifg=Black guibg=Red gui=bold
highlight Visual guifg=#404040 gui=bold
highlight Cursor guifg=Black guibg=Green gui=bold
highlight Special guifg=Orange
highlight Comment guifg=#80a0ff
highlight StatusLine guifg=blue guibg=white
highlight Statement guifg=Yellow gui=NONE
highlight Type gui=NONE
" Console
highlight Normal ctermfg=LightGrey ctermbg=Black
highlight Search ctermfg=Black ctermbg=Red cterm=NONE
highlight Visual cterm=reverse
highlight Cursor ctermfg=Black ctermbg=Green cterm=bold
highlight Special ctermfg=Brown
highlight Comment ctermfg=Blue
highlight StatusLine ctermfg=blue ctermbg=white
highlight Statement ctermfg=Yellow cterm=NONE
highlight Type cterm=NONE
" only for vim 5
if has("unix")
if v:version<600
highlight Normal ctermfg=Grey ctermbg=Black cterm=NONE guifg=Grey80 guibg=Black gui=NONE
highlight Search ctermfg=Black ctermbg=Red cterm=bold guifg=Black guibg=Red gui=bold
highlight Visual ctermfg=Black ctermbg=yellow cterm=bold guifg=#404040 gui=bold
highlight Special ctermfg=LightBlue cterm=NONE guifg=LightBlue gui=NONE
highlight Comment ctermfg=Cyan cterm=NONE guifg=LightBlue gui=NONE
endif
if s:t_Co >= 256
hi Normal ctermfg=251 ctermbg=16 cterm=NONE
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi Comment ctermfg=111 ctermbg=NONE cterm=NONE
hi Constant ctermfg=217 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=87 ctermbg=NONE cterm=NONE
hi Statement ctermfg=227 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=213 ctermbg=NONE cterm=NONE
hi Type ctermfg=83 ctermbg=NONE cterm=NONE
hi Special ctermfg=214 ctermbg=NONE cterm=NONE
hi Underlined ctermfg=111 ctermbg=NONE cterm=underline
hi Ignore ctermfg=16 ctermbg=16 cterm=NONE
hi Error ctermfg=231 ctermbg=196 cterm=NONE
hi Todo ctermfg=226 ctermbg=16 cterm=reverse
hi Folded ctermfg=44 ctermbg=237 cterm=NONE
hi Visual ctermfg=16 ctermbg=248 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=242 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=242 cterm=NONE
hi CursorLineNr ctermfg=226 ctermbg=242 cterm=NONE
hi SignColumn ctermfg=51 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=51 ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=251 ctermbg=88 cterm=NONE
hi Conceal ctermfg=254 ctermbg=248 cterm=NONE
hi Cursor ctermfg=16 ctermbg=46 cterm=NONE
hi lCursor ctermfg=16 ctermbg=254 cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
hi Title ctermfg=201 ctermbg=NONE cterm=NONE
hi Directory ctermfg=51 ctermbg=NONE cterm=NONE
hi Search ctermfg=196 ctermbg=16 cterm=reverse
hi IncSearch ctermfg=40 ctermbg=16 cterm=reverse
hi NonText ctermfg=21 ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=21 ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=231 ctermbg=160 cterm=NONE
hi WarningMsg ctermfg=196 ctermbg=NONE cterm=NONE
hi LineNr ctermfg=102 ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=30 cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=29 ctermbg=NONE cterm=NONE
hi Question ctermfg=46 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=51 ctermbg=NONE cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=16 cterm=underline
hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
hi QuickFixLine ctermfg=16 ctermbg=184 cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=63 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=201 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=51 ctermbg=NONE cterm=underline
hi StatusLine ctermfg=231 ctermbg=20 cterm=NONE
hi StatusLineNC ctermfg=16 ctermbg=254 cterm=NONE
hi VertSplit ctermfg=16 ctermbg=254 cterm=NONE
hi TabLine ctermfg=231 ctermbg=102 cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=16 cterm=reverse
hi TabLineSel ctermfg=251 ctermbg=16 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=16 cterm=NONE
hi ToolbarButton ctermfg=16 ctermbg=254 cterm=NONE
hi Pmenu ctermfg=fg ctermbg=236 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=250 cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
if s:t_Co >= 16
hi Normal ctermfg=white ctermbg=black cterm=NONE
hi! link StatusLineTerm StatusLine
hi! link StatusLineTermNC StatusLineNC
hi Comment ctermfg=blue ctermbg=NONE cterm=NONE
hi Constant ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Identifier ctermfg=cyan ctermbg=NONE cterm=NONE
hi Statement ctermfg=yellow ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Type ctermfg=green ctermbg=NONE cterm=NONE
hi Special ctermfg=darkred ctermbg=NONE cterm=NONE
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
hi Ignore ctermfg=black ctermbg=black cterm=NONE
hi Error ctermfg=white ctermbg=red cterm=NONE
hi Todo ctermfg=yellow ctermbg=black cterm=reverse
hi Folded ctermfg=darkcyan ctermbg=NONE cterm=NONE
hi Visual ctermfg=black ctermbg=grey cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=yellow ctermbg=NONE cterm=underline
hi SignColumn ctermfg=cyan ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=cyan ctermbg=NONE cterm=NONE
hi ColorColumn ctermfg=white ctermbg=darkred cterm=NONE
hi Conceal ctermfg=grey ctermbg=grey cterm=NONE
hi Cursor ctermfg=black ctermbg=green cterm=NONE
hi lCursor ctermfg=black ctermbg=grey cterm=NONE
hi CursorIM ctermfg=NONE ctermbg=fg cterm=NONE
hi Title ctermfg=magenta ctermbg=NONE cterm=NONE
hi Directory ctermfg=cyan ctermbg=NONE cterm=NONE
hi Search ctermfg=red ctermbg=black cterm=reverse
hi IncSearch ctermfg=darkgreen ctermbg=black cterm=reverse
hi NonText ctermfg=blue ctermbg=NONE cterm=NONE
hi EndOfBuffer ctermfg=blue ctermbg=NONE cterm=NONE
hi ErrorMsg ctermfg=white ctermbg=darkred cterm=NONE
hi WarningMsg ctermfg=red ctermbg=NONE cterm=NONE
hi LineNr ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi MatchParen ctermfg=NONE ctermbg=darkcyan cterm=NONE
hi ModeMsg ctermfg=NONE ctermbg=NONE cterm=NONE
hi MoreMsg ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Question ctermfg=green ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=cyan ctermbg=NONE cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=black cterm=underline
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi QuickFixLine ctermfg=black ctermbg=darkyellow cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=blue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=magenta ctermbg=NONE cterm=underline
hi SpellRare ctermfg=cyan ctermbg=NONE cterm=underline
hi StatusLine ctermfg=white ctermbg=darkblue cterm=NONE
hi StatusLineNC ctermfg=black ctermbg=grey cterm=NONE
hi VertSplit ctermfg=black ctermbg=grey cterm=NONE
hi TabLine ctermfg=white ctermbg=darkgrey cterm=NONE
hi TabLineFill ctermfg=NONE ctermbg=black cterm=reverse
hi TabLineSel ctermfg=white ctermbg=black cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
hi ToolbarButton ctermfg=black ctermbg=grey cterm=NONE
hi Pmenu ctermfg=fg ctermbg=darkgrey cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=NONE cterm=NONE
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=grey cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
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: foreground #CCCCCC 251 white
" Color: background #000000 16 black
" Color: color00 #000000 16 black
" Color: color08 #7f7f7f 102 darkgrey
" Color: color01 #cd0000 160 darkred
" Color: color09 #ff0000 196 red
" Color: color02 #00cd00 40 darkgreen
" Color: color10 #00ff00 46 green
" Color: color03 #cdcd00 184 darkyellow
" Color: color11 #ffff00 226 yellow
" Color: color04 #0000ee 20 darkblue
" Color: color12 #5c5cff 63 blue
" Color: color05 #cd00cd 164 darkmagenta
" Color: color13 #ff00ff 201 magenta
" Color: color06 #00cdcd 44 darkcyan
" Color: color14 #00ffff 51 cyan
" Color: color07 #e5e5e5 254 grey
" Color: color15 #ffffff 231 white
" Term colors: color00 color01 color02 color03 color04 color05 color06 color07
" Term colors: color08 color09 color10 color11 color12 color13 color14 color15
" Color: rgbGrey40 #666666 242 grey
" Color: rgbDarkGrey #a9a9a9 248 grey
" Color: rgbDarkBlue #00008b 18 darkblue
" Color: rgbDarkMagenta #8b008b 90 darkmagenta
" Color: rgbBlue #0000ff 21 blue
" Color: rgbDarkCyan #008b8b 30 darkcyan
" Color: Directory #00ffff 51 cyan
" Color: rgbSeaGreen #2e8b57 29 darkgreen
" Color: rgbGrey #bebebe 250 grey
" Color: Question #00ff00 46 green
" Color: SignColumn #a9a9a9 248 black
" Color: SpecialKey #00ffff 51 cyan
" Color: StatusLineTerm #90ee90 120 darkgreen
" Color: Title #ff00ff 201 magenta
" Color: WarningMsg #ff0000 196 red
" Color: ToolbarLine #7f7f7f 243 black
" Color: ToolbarButton #d3d3d3 252 darkgrey
" Color: Comment #80a0ff 111 blue
" Color: Constant #ffa0a0 217 darkmagenta
" Color: Special #ffa500 214 darkred
" Color: Identifier #40ffff 87 cyan
" Color: Statement #ffff60 227 yellow
" Color: PreProc #ff80ff 213 darkcyan
" Color: Type #60ff60 83 green
" Color: Underlined #80a0ff 111 blue
" Color: FoldedBG #3a3a3a 237 darkgrey
" Color: Pmenu #303030 236 darkgrey
" Color: rgbDarkRed #8b0000 88 darkred
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,54 +1,341 @@
" local syntax file - set colors on a per-machine basis:
" vim: tw=0 ts=4 sw=4
" Vim color file
" Maintainer: Ron Aaron <ron@ronware.org>
" Last Change: 2003 May 02
" Name: zellner
" Description: Light background colorscheme.
" Author: Original author Ron Aaron <ron@ronware.org>
" Maintainer: Original maintainer Ron Aaron <ron@ronware.org>
" Website: https://github.com/vim/colorschemes
" License: Same as Vim
" Last Updated: Wed May 11 22:56:47 2022
" Generated by Colortemplate v2.2.0
set background=light
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name = "zellner"
hi Comment term=bold ctermfg=Red guifg=Red
hi Normal guifg=black guibg=white
hi Constant term=underline ctermfg=Magenta guifg=Magenta
hi Special term=bold ctermfg=Magenta guifg=Magenta
hi Identifier term=underline ctermfg=Blue guifg=Blue
hi Statement term=bold ctermfg=DarkRed gui=NONE guifg=Brown
hi PreProc term=underline ctermfg=Magenta guifg=Purple
hi Type term=underline ctermfg=Blue gui=NONE guifg=Blue
hi Visual term=reverse ctermfg=Yellow ctermbg=Red gui=NONE guifg=Black guibg=Yellow
hi Search term=reverse ctermfg=Black ctermbg=Cyan gui=NONE guifg=Black guibg=Cyan
hi Tag term=bold ctermfg=DarkGreen guifg=DarkGreen
hi Error term=reverse ctermfg=15 ctermbg=9 guibg=Red guifg=White
hi Todo term=standout ctermbg=Yellow ctermfg=Black guifg=Blue guibg=Yellow
hi StatusLine term=bold,reverse cterm=NONE ctermfg=Yellow ctermbg=DarkGray gui=NONE guifg=Yellow guibg=DarkGray
hi! link MoreMsg Comment
hi! link ErrorMsg Visual
hi! link WarningMsg ErrorMsg
hi! link Question Comment
hi link String Constant
hi link Character Constant
hi link Number Constant
hi link Boolean Constant
hi link Float Number
hi link Function Identifier
hi link Conditional Statement
hi link Repeat Statement
hi link Label Statement
hi link Operator Statement
hi link Keyword Statement
hi link Exception Statement
hi link Include PreProc
hi link Define PreProc
hi link Macro PreProc
hi link PreCondit PreProc
hi link StorageClass Type
hi link Structure Type
hi link Typedef Type
hi link SpecialChar Special
hi link Delimiter Special
hi link SpecialComment Special
hi link Debug Special
hi clear
let g:colors_name = 'zellner'
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 = ['#ffffff', '#a52a2a', '#ff00ff', '#a020f0', '#0000ff', '#0000ff', '#ff00ff', '#a9a9a9', '#ff0000', '#a52a2a', '#ff00ff', '#a020f0', '#0000ff', '#0000ff', '#ff00ff', '#000000']
endif
hi Normal guifg=#000000 guibg=#ffffff gui=NONE cterm=NONE
hi Folded guifg=#00008b guibg=#d3d3d3 gui=NONE cterm=NONE
hi CursorLine guifg=NONE guibg=#e5e5e5 gui=NONE cterm=NONE
hi CursorColumn guifg=NONE guibg=#e5e5e5 gui=NONE cterm=NONE
hi CursorLineNr guifg=#a52a2a guibg=NONE gui=bold cterm=NONE
hi QuickFixLine guifg=#ffffff guibg=#6a5acd gui=NONE cterm=NONE
hi EndOfBuffer guifg=#a9a9a9 guibg=NONE gui=NONE cterm=NONE
hi StatusLine guifg=#ffff00 guibg=#a9a9a9 gui=NONE cterm=NONE
hi StatusLineNC guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
hi StatusLineTerm guifg=#ffffff guibg=#006400 gui=NONE cterm=NONE
hi StatusLineTermNC guifg=#ffffff guibg=#0000ff gui=NONE cterm=NONE
hi VertSplit guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
hi Pmenu guifg=#000000 guibg=#dadada gui=NONE cterm=NONE
hi PmenuSel guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi PmenuSbar guifg=NONE guibg=#ffffff gui=NONE cterm=NONE
hi PmenuThumb guifg=NONE guibg=#a9a9a9 gui=NONE cterm=NONE
hi TabLine guifg=#000000 guibg=#a9a9a9 gui=underline cterm=underline
hi TabLineFill guifg=NONE guibg=NONE gui=reverse ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
hi ToolbarLine guifg=NONE guibg=#d3d3d3 gui=NONE cterm=NONE
hi ToolbarButton guifg=NONE guibg=#a9a9a9 gui=bold cterm=NONE
hi NonText guifg=#a9a9a9 guibg=NONE gui=NONE cterm=NONE
hi SpecialKey guifg=#a9a9a9 guibg=NONE gui=NONE cterm=NONE
hi Visual guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi VisualNOS guifg=NONE guibg=#ff0000 gui=NONE cterm=NONE
hi LineNr guifg=#a52a2a guibg=NONE gui=NONE cterm=NONE
hi FoldColumn guifg=#00008b guibg=NONE gui=NONE cterm=NONE
hi SignColumn guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined guifg=#6a5acd guibg=NONE gui=underline cterm=underline
hi Error guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
hi ErrorMsg guifg=#ff0000 guibg=#ffffff gui=reverse cterm=reverse
hi WarningMsg guifg=#a020f0 guibg=#ffffff gui=NONE cterm=NONE
hi MoreMsg guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
hi ModeMsg guifg=#000000 guibg=#ffffff gui=bold cterm=NONE
hi Question guifg=#ff00ff guibg=NONE gui=bold cterm=NONE
hi Todo guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi MatchParen guifg=#ffffff guibg=#ff00ff gui=NONE cterm=NONE
hi Search guifg=#ffffff guibg=#a020f0 gui=NONE cterm=NONE
hi IncSearch guifg=#000000 guibg=NONE gui=reverse cterm=reverse
hi WildMenu guifg=#000000 guibg=#ffff00 gui=NONE cterm=NONE
hi ColorColumn guifg=NONE guibg=#eeeeee gui=NONE cterm=NONE
hi Cursor guifg=#ffffff guibg=#000000 gui=NONE cterm=NONE
hi lCursor guifg=#000000 guibg=#ff00ff gui=NONE cterm=NONE
hi SpellBad guifg=#ff0000 guibg=NONE guisp=#ff0000 gui=undercurl cterm=underline
hi SpellCap guifg=#0000ff guibg=NONE guisp=#0000ff gui=undercurl cterm=underline
hi SpellLocal guifg=#878700 guibg=NONE guisp=#878700 gui=undercurl cterm=underline
hi SpellRare guifg=#008787 guibg=NONE guisp=#008787 gui=undercurl cterm=underline
hi Comment guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
hi Constant guifg=#ff00ff guibg=NONE gui=NONE cterm=NONE
hi Identifier guifg=#0000ff guibg=NONE gui=NONE cterm=NONE
hi Statement guifg=#a52a2a guibg=NONE gui=NONE cterm=NONE
hi PreProc guifg=#a020f0 guibg=NONE gui=NONE cterm=NONE
hi Type guifg=#0000ff guibg=NONE gui=NONE cterm=NONE
hi Special guifg=#ff00ff guibg=NONE gui=NONE cterm=NONE
hi Tag guifg=#006400 guibg=NONE gui=NONE cterm=NONE
hi Directory guifg=#0000ff guibg=NONE gui=bold cterm=NONE
hi Conceal guifg=#ff0000 guibg=NONE gui=NONE cterm=NONE
hi Ignore guifg=NONE guibg=NONE gui=NONE ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title guifg=#a020f0 guibg=NONE gui=bold cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd guifg=#ffffff guibg=#5f875f gui=NONE cterm=NONE
hi DiffChange guifg=#ffffff guibg=#5f87af gui=NONE cterm=NONE
hi DiffText guifg=#000000 guibg=#c6c6c6 gui=NONE cterm=NONE
hi DiffDelete guifg=#ffffff guibg=#af5faf gui=NONE cterm=NONE
if s:t_Co >= 256
hi Normal ctermfg=16 ctermbg=231 cterm=NONE
hi Folded ctermfg=18 ctermbg=252 cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=254 cterm=NONE
hi CursorColumn ctermfg=NONE ctermbg=254 cterm=NONE
hi CursorLineNr ctermfg=124 ctermbg=NONE cterm=NONE
hi QuickFixLine ctermfg=231 ctermbg=62 cterm=NONE
hi EndOfBuffer ctermfg=248 ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=226 ctermbg=248 cterm=NONE
hi StatusLineNC ctermfg=231 ctermbg=16 cterm=NONE
hi StatusLineTerm ctermfg=231 ctermbg=22 cterm=NONE
hi StatusLineTermNC ctermfg=231 ctermbg=21 cterm=NONE
hi VertSplit ctermfg=231 ctermbg=16 cterm=NONE
hi Pmenu ctermfg=16 ctermbg=253 cterm=NONE
hi PmenuSel ctermfg=16 ctermbg=226 cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=231 cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=248 cterm=NONE
hi TabLine ctermfg=16 ctermbg=248 cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=16 ctermbg=231 cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=252 cterm=NONE
hi ToolbarButton ctermfg=NONE ctermbg=248 cterm=NONE
hi NonText ctermfg=248 ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=248 ctermbg=NONE cterm=NONE
hi Visual ctermfg=16 ctermbg=226 cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=196 cterm=NONE
hi LineNr ctermfg=124 ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=18 ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=62 ctermbg=NONE cterm=underline
hi Error ctermfg=196 ctermbg=231 cterm=reverse
hi ErrorMsg ctermfg=196 ctermbg=231 cterm=reverse
hi WarningMsg ctermfg=129 ctermbg=231 cterm=NONE
hi MoreMsg ctermfg=16 ctermbg=231 cterm=NONE
hi ModeMsg ctermfg=16 ctermbg=231 cterm=NONE
hi Question ctermfg=201 ctermbg=NONE cterm=NONE
hi Todo ctermfg=16 ctermbg=226 cterm=NONE
hi MatchParen ctermfg=231 ctermbg=201 cterm=NONE
hi Search ctermfg=231 ctermbg=129 cterm=NONE
hi IncSearch ctermfg=16 ctermbg=NONE cterm=reverse
hi WildMenu ctermfg=16 ctermbg=226 cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=255 cterm=NONE
hi Cursor ctermfg=231 ctermbg=16 cterm=NONE
hi lCursor ctermfg=16 ctermbg=201 cterm=NONE
hi SpellBad ctermfg=196 ctermbg=NONE cterm=underline
hi SpellCap ctermfg=21 ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=100 ctermbg=NONE cterm=underline
hi SpellRare ctermfg=30 ctermbg=NONE cterm=underline
hi Comment ctermfg=196 ctermbg=NONE cterm=NONE
hi Constant ctermfg=201 ctermbg=NONE cterm=NONE
hi Identifier ctermfg=21 ctermbg=NONE cterm=NONE
hi Statement ctermfg=124 ctermbg=NONE cterm=NONE
hi PreProc ctermfg=129 ctermbg=NONE cterm=NONE
hi Type ctermfg=21 ctermbg=NONE cterm=NONE
hi Special ctermfg=201 ctermbg=NONE cterm=NONE
hi Tag ctermfg=22 ctermbg=NONE cterm=NONE
hi Directory ctermfg=21 ctermbg=NONE cterm=NONE
hi Conceal ctermfg=196 ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=129 ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=231 ctermbg=65 cterm=NONE
hi DiffChange ctermfg=231 ctermbg=67 cterm=NONE
hi DiffText ctermfg=16 ctermbg=251 cterm=NONE
hi DiffDelete ctermfg=231 ctermbg=133 cterm=NONE
unlet s:t_Co
finish
endif
if s:t_Co >= 16
hi Normal ctermfg=black ctermbg=white cterm=NONE
hi Folded ctermfg=darkblue ctermbg=NONE cterm=NONE
hi CursorLine ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorColumn ctermfg=NONE ctermbg=NONE cterm=underline
hi CursorLineNr ctermfg=darkred ctermbg=NONE cterm=underline
hi QuickFixLine ctermfg=white ctermbg=blue cterm=NONE
hi EndOfBuffer ctermfg=darkgrey ctermbg=NONE cterm=NONE
hi StatusLine ctermfg=yellow ctermbg=darkgrey cterm=NONE
hi StatusLineNC ctermfg=white ctermbg=black cterm=NONE
hi StatusLineTerm ctermfg=white ctermbg=darkgreen cterm=NONE
hi StatusLineTermNC ctermfg=white ctermbg=blue cterm=NONE
hi VertSplit ctermfg=white ctermbg=black cterm=NONE
hi Pmenu ctermfg=black ctermbg=grey cterm=NONE
hi PmenuSel ctermfg=black ctermbg=yellow cterm=NONE
hi PmenuSbar ctermfg=NONE ctermbg=white cterm=NONE
hi PmenuThumb ctermfg=NONE ctermbg=darkgrey cterm=NONE
hi TabLine ctermfg=black ctermbg=grey cterm=underline
hi TabLineFill ctermfg=NONE ctermbg=NONE cterm=reverse
hi TabLineSel ctermfg=black ctermbg=white cterm=NONE
hi ToolbarLine ctermfg=NONE ctermbg=black cterm=NONE
hi ToolbarButton ctermfg=NONE ctermbg=grey cterm=NONE
hi NonText ctermfg=grey ctermbg=NONE cterm=NONE
hi SpecialKey ctermfg=grey ctermbg=NONE cterm=NONE
hi Visual ctermfg=black ctermbg=yellow cterm=NONE
hi VisualNOS ctermfg=NONE ctermbg=red cterm=NONE
hi LineNr ctermfg=darkred ctermbg=NONE cterm=NONE
hi FoldColumn ctermfg=darkblue ctermbg=NONE cterm=NONE
hi SignColumn ctermfg=NONE ctermbg=NONE cterm=NONE
hi Underlined ctermfg=blue ctermbg=NONE cterm=underline
hi Error ctermfg=red ctermbg=white cterm=reverse
hi ErrorMsg ctermfg=red ctermbg=white cterm=reverse
hi WarningMsg ctermfg=darkmagenta ctermbg=white cterm=NONE
hi MoreMsg ctermfg=black ctermbg=white cterm=NONE
hi ModeMsg ctermfg=black ctermbg=white cterm=NONE
hi Question ctermfg=magenta ctermbg=NONE cterm=NONE
hi Todo ctermfg=black ctermbg=yellow cterm=NONE
hi MatchParen ctermfg=white ctermbg=magenta cterm=NONE
hi Search ctermfg=white ctermbg=darkmagenta cterm=NONE
hi IncSearch ctermfg=black ctermbg=NONE cterm=reverse
hi WildMenu ctermfg=black ctermbg=yellow cterm=NONE
hi ColorColumn ctermfg=NONE ctermbg=grey cterm=NONE
hi Cursor ctermfg=white ctermbg=black cterm=NONE
hi lCursor ctermfg=black ctermbg=magenta cterm=NONE
hi SpellBad ctermfg=red ctermbg=NONE cterm=underline
hi SpellCap ctermfg=blue ctermbg=NONE cterm=underline
hi SpellLocal ctermfg=darkyellow ctermbg=NONE cterm=underline
hi SpellRare ctermfg=darkcyan ctermbg=NONE cterm=underline
hi Comment ctermfg=red ctermbg=NONE cterm=NONE
hi Constant ctermfg=magenta ctermbg=NONE cterm=NONE
hi Identifier ctermfg=blue ctermbg=NONE cterm=NONE
hi Statement ctermfg=darkred ctermbg=NONE cterm=NONE
hi PreProc ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi Type ctermfg=blue ctermbg=NONE cterm=NONE
hi Special ctermfg=magenta ctermbg=NONE cterm=NONE
hi Tag ctermfg=darkgreen ctermbg=NONE cterm=NONE
hi Directory ctermfg=blue ctermbg=NONE cterm=NONE
hi Conceal ctermfg=red ctermbg=NONE cterm=NONE
hi Ignore ctermfg=NONE ctermbg=NONE cterm=NONE
hi Title ctermfg=darkmagenta ctermbg=NONE cterm=NONE
hi! link Terminal Normal
hi! link LineNrAbove LineNr
hi! link LineNrBelow LineNr
hi! link CurSearch Search
hi! link CursorLineFold CursorLine
hi! link CursorLineSign CursorLine
hi DiffAdd ctermfg=white ctermbg=darkgreen cterm=NONE
hi DiffChange ctermfg=white ctermbg=blue cterm=NONE
hi DiffText ctermfg=black ctermbg=grey cterm=NONE
hi DiffDelete ctermfg=white ctermbg=magenta cterm=NONE
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: light
" Color: comment #ff0000 196 red
" Color: constant #ff00ff 201 magenta
" Color: identifier #0000ff 21 blue
" Color: statement #a52a2a 124 darkred
" Color: preproc #a020f0 129 darkmagenta
" Color: type #0000ff 21 blue
" Color: special #ff00ff 201 magenta
" Color: tag #006400 22 darkgreen
" Color: fg0 #000000 16 black
" Color: bg0 #ffffff 231 white
" Color: bg1 #a9a9a9 248 grey
" Color: status #a9a9a9 248 darkgrey
" Color: visual #ffff00 226 yellow
" Color: folded #d3d3d3 252 black
" Color: folded_fg #00008b 18 darkblue
" Color: cursorline #e5e5e5 254 black
" Color: pmenu #dadada 253 grey
" Color: wildmenu #ffff00 226 yellow
" Color: error #ff0000 196 red
" Color: linenr #a52a2a 124 darkred
" Color: colorcolumn #eeeeee 255 grey
" Color: slateblue #6a5acd 62 blue
" Color: darkcyan #008787 30 darkcyan
" Color: darkgreen #008700 28 darkgreen
" Color: darkyellow #878700 100 darkyellow
" Term colors: bg0 statement constant preproc identifier type special bg1
" Term colors: comment statement constant preproc identifier type special fg0
" Color: bgDiffA #5F875F 65 darkgreen
" Color: bgDiffC #5F87AF 67 blue
" Color: bgDiffD #AF5FAF 133 magenta
" Color: bgDiffT #C6C6C6 251 grey
" Color: fgDiffW #FFFFFF 231 white
" Color: fgDiffB #000000 16 black
" vim: et ts=2 sw=2

View File

@@ -1,7 +1,8 @@
" scdoc compiler for Vim
" Compiler: scdoc
" Maintainer: Greg Anders <greg@gpanders.com>
" Maintainer: Gregory Anders <contact@gpanders.com>
" Last Updated: 2019-10-24
" Upstream: https://github.com/gpanders/vim-scdoc
if exists('current_compiler')
finish

View File

@@ -144,7 +144,9 @@ DOCS = \
usr_43.txt \
usr_44.txt \
usr_45.txt \
usr_46.txt \
usr_50.txt \
usr_51.txt \
usr_52.txt \
usr_90.txt \
usr_toc.txt \
various.txt \
@@ -290,7 +292,9 @@ HTMLS = \
usr_43.html \
usr_44.html \
usr_45.html \
usr_46.html \
usr_50.html \
usr_51.html \
usr_52.html \
usr_90.html \
usr_toc.html \
various.html \

View File

@@ -1,4 +1,4 @@
*builtin.txt* For Vim version 8.2. Last change: 2022 Apr 16
*builtin.txt* For Vim version 8.2. Last change: 2022 May 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -213,8 +213,12 @@ getcharmod() Number modifiers for the last typed character
getcharpos({expr}) List position of cursor, mark, etc.
getcharsearch() Dict last character search
getcharstr([expr]) String get one character from the user
getcmdcompltype() String return the type of the current
command-line completion
getcmdline() String return the current command-line
getcmdpos() Number return cursor position in command-line
getcmdscreenpos() Number return cursor screen position in
command-line
getcmdtype() String return current command-line type
getcmdwintype() String return current command-line window type
getcompletion({pat}, {type} [, {filtered}])
@@ -295,6 +299,7 @@ inputsecret({prompt} [, {text}]) String like input() but hiding the text
insert({object}, {item} [, {idx}]) List insert {item} in {object} [before {idx}]
interrupt() none interrupt script execution
invert({expr}) Number bitwise invert
isabsolutepath({path}) Number |TRUE| if {path} is an absolute path
isdirectory({directory}) Number |TRUE| if {directory} is a directory
isinf({expr}) Number determine if {expr} is infinity value
(positive or negative)
@@ -337,6 +342,7 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]])
rhs of mapping {name} in mode {mode}
mapcheck({name} [, {mode} [, {abbr}]])
String check for mappings matching {name}
maplist([{abbr}]) List list of all mappings, a dict for each
mapnew({expr1}, {expr2}) List/Dict/Blob/String
like |map()| but creates a new List or
Dictionary
@@ -2014,8 +2020,10 @@ executable({expr}) *executable()*
On MS-Windows it only checks if the file exists and is not a
directory, not if it's really executable.
On MS-Windows an executable in the same directory as Vim is
always found. Since this directory is added to $PATH it
should also work to execute it |win32-PATH|.
normally found. Since this directory is added to $PATH it
should also work to execute it |win32-PATH|. This can be
disabled by setting the $NoDefaultCurrentDirectoryInExePath
environment variable. *NoDefaultCurrentDirectoryInExePath*
The result is a Number:
1 exists
0 does not exist
@@ -2417,7 +2425,8 @@ feedkeys({string} [, {mode}]) *feedkeys()*
all typeahead will be consumed by the last call.
'c' Remove any script context when executing, so that
legacy script syntax applies, "s:var" does not work,
etc.
etc. Note that if the string being fed sets a script
context this still applies.
'!' When used with 'x' will not end Insert mode. Can be
used in a test when a timer is set to exit Insert mode
a little later. Useful for testing CursorHoldI.
@@ -3203,6 +3212,13 @@ getcharstr([expr]) *getcharstr()*
Otherwise this works like |getchar()|, except that a number
result is converted to a string.
getcmdcompltype() *getcmdcompltype()*
Return the type of the current command-line completion.
Only works when the command line is being edited, thus
requires use of |c_CTRL-\_e| or |c_CTRL-R_=|.
See |:command-completion| for the return string.
Also see |getcmdtype()|, |setcmdpos()| and |getcmdline()|.
Returns an empty string when completion is not defined.
getcmdline() *getcmdline()*
Return the current command-line. Only works when the command
@@ -3222,6 +3238,15 @@ getcmdpos() *getcmdpos()*
Returns 0 otherwise.
Also see |getcmdtype()|, |setcmdpos()| and |getcmdline()|.
getcmdscreenpos() *getcmdscreenpos()*
Return the screen position of the cursor in the command line
as a byte count. The first column is 1.
Instead of |getcmdpos()|, it adds the prompt position.
Only works when editing the command line, thus requires use of
|c_CTRL-\_e| or |c_CTRL-R_=| or an expression mapping.
Returns 0 otherwise.
Also see |getcmdpos()|, |setcmdpos()|.
getcmdtype() *getcmdtype()*
Return the current command-line type. Possible return values
are:
@@ -4670,6 +4695,24 @@ invert({expr}) *invert()*
< Can also be used as a |method|: >
:let bits = bits->invert()
isabsolutepath({directory}) *isabsolutepath()*
The result is a Number, which is |TRUE| when {path} is an
absolute path.
< On Unix, a path is considered absolute when it starts with '/'.
On MS-Windows, it is considered absolute when it starts with an
optional drive prefix and is followed by a '\' or '/'. UNC paths
are always absolute.
Example: >
echo isabsolutepath('/usr/share/') " 1
echo isabsolutepath('./foobar') " 0
echo isabsolutepath('C:\Windows') " 1
echo isabsolutepath('foobar') " 0
echo isabsolutepath('\\remote\file') " 1
Can also be used as a |method|: >
GetName()->isabsolutepath()
isdirectory({directory}) *isdirectory()*
The result is a Number, which is |TRUE| when a directory
with the name {directory} exists. If {directory} doesn't
@@ -5235,7 +5278,8 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
When {dict} is omitted or zero: Return the rhs of mapping
{name} in mode {mode}. The returned String has special
characters translated like in the output of the ":map" command
listing.
listing. When {dict} is TRUE a dictionary is returned, see
below. To get a list of all mappings see |maplist()|.
When there is no mapping for {name}, an empty String is
returned. When the mapping for {name} is empty, then "<Nop>"
@@ -5262,7 +5306,7 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
When {dict} is there and it is |TRUE| return a dictionary
containing all the information of the mapping with the
following items:
following items: *mapping-dict*
"lhs" The {lhs} of the mapping as it would be typed
"lhsraw" The {lhs} of the mapping as raw bytes
"lhsrawalt" The {lhs} of the mapping as raw bytes, alternate
@@ -5286,6 +5330,11 @@ maparg({name} [, {mode} [, {abbr} [, {dict}]]]) *maparg()*
"lnum" The line number in "sid", zero if unknown.
"nowait" Do not wait for other, longer mappings.
(|:map-<nowait>|).
"abbr" True if this is an abbreviation |abbreviations|.
"mode_bits" Vim's internal binary representation of "mode".
|mapset()| ignores this; only "mode" is used.
See |maplist()| for usage examples. The values
are from src/vim.h and may change in the future.
The dictionary can be used to restore a mapping with
|mapset()|.
@@ -5336,6 +5385,40 @@ mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()*
GetKey()->mapcheck('n')
maplist([{abbr}]) *maplist()*
Returns a |List| of all mappings. Each List item is a |Dict|,
the same as what is returned by |maparg()|, see
|mapping-dict|. When {abbr} is there and it is |TRUE| use
abbreviations instead of mappings.
Example to show all mappings with 'MultiMatch' in rhs: >
vim9script
echo maplist()->filter(
(_, m) => match(m.rhs, 'MultiMatch') >= 0)
< It can be tricky to find mappings for particular |:map-modes|.
|mapping-dict|'s "mode_bits" can simplify this. For example,
the mode_bits for Normal, Insert or Command-line modes are
0x19. To find all the mappings available in those modes you
can do: >
vim9script
var saved_maps = []
for m in maplist()
if and(m.mode_bits, 0x19) != 0
saved_maps->add(m)
endif
endfor
echo saved_maps->mapnew((_, m) => m.lhs)
< The values of the mode_bits are defined in Vim's src/vim.h
file and they can be discovered at runtime using
|:map-commands| and "maplist()". Example: >
vim9script
omap xyzzy <Nop>
var op_bit = maplist()->filter(
(_, m) => m.lhs == 'xyzzy')[0].mode_bits
ounmap xyzzy
echo printf("Operator-pending mode bit: 0x%x", op_bit)
mapnew({expr1}, {expr2}) *mapnew()*
Like |map()| but instead of replacing items in {expr1} a new
List or Dictionary is created and returned. {expr1} remains
@@ -5344,9 +5427,18 @@ mapnew({expr1}, {expr2}) *mapnew()*
mapset({mode}, {abbr}, {dict}) *mapset()*
Restore a mapping from a dictionary returned by |maparg()|.
{mode} and {abbr} should be the same as for the call to
|maparg()|. *E460*
mapset({dict})
Restore a mapping from a dictionary, possibly returned by
|maparg()| or |maplist()|. A buffer mapping, when dict.buffer
is true, is set on the current buffer; it is up to the caller
to insure that the intended buffer is the current buffer. This
feature allows copying mappings from one buffer to another.
The dict.mode value may restore a single mapping that covers
more than one mode, like with mode values of '!', ' ', 'nox',
or 'v'. *E1276*
In the first form, {mode} and {abbr} should be the same as
for the call to |maparg()|. *E460*
{mode} is used to define the mode in which the mapping is set,
not the "mode" entry in {dict}.
Example for saving and restoring a mapping: >
@@ -5355,8 +5447,22 @@ mapset({mode}, {abbr}, {dict}) *mapset()*
...
call mapset('n', 0, save_map)
< Note that if you are going to replace a map in several modes,
e.g. with `:map!`, you need to save the mapping for all of
them, since they can differ.
e.g. with `:map!`, you need to save/restore the mapping for
all of them, when they might differ.
In the second form, with {dict} as the only argument, mode
and abbr are taken from the dict.
Example: >
vim9script
var save_maps = maplist()->filter(
(_, m) => m.lhs == 'K')
nnoremap K somethingelse
cnoremap K somethingelse2
# ...
unmap K
for d in save_maps
mapset(d)
endfor
match({expr}, {pat} [, {start} [, {count}]]) *match()*
@@ -5576,10 +5682,9 @@ matchfuzzy({list}, {str} [, {dict}]) *matchfuzzy()*
The optional {dict} argument always supports the following
items:
matchseq When this item is present and {str} contains
multiple words separated by white space, then
returns only matches that contain the words in
the given sequence.
matchseq When this item is present return only matches
that contain the characters in {str} in the
given sequence.
If {list} is a list of dictionaries, then the optional {dict}
argument supports the following additional items:

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 8.2. Last change: 2022 Mar 05
*change.txt* For Vim version 8.2. Last change: 2022 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1177,14 +1177,15 @@ register. With blockwise selection it also depends on the size of the block
and whether the corners are on an existing character. (Implementation detail:
it actually works by first putting the register after the selection and then
deleting the selection.)
With 'p' the previously selected text is put in the unnamed register. This is
useful if you want to put that text somewhere else. But you cannot repeat the
same change.
With 'P' the unnamed register is not changed, you can repeat the same change.
But the deleted text cannot be used. If you do need it you can use 'p' with
another register. E.g., yank the text to copy, Visually select the text to
replace and use "0p . You can repeat this as many times as you like, and the
unnamed register will be changed each time.
With |p| the previously selected text is put in the unnamed register (and
possibly the selection and/or clipboard). This is useful if you want to put
that text somewhere else. But you cannot repeat the same change.
With |P| the unnamed register is not changed (and neither the selection or
clipboard), you can repeat the same change. But the deleted text cannot be
used. If you do need it you can use |p| with another register. E.g., yank
the text to copy, Visually select the text to replace and use "0p . You can
repeat this as many times as you like, and the unnamed register will be
changed each time.
When you use a blockwise Visual mode command and yank only a single line into
a register, a paste on a visual selected area will paste that single line on
@@ -1672,9 +1673,9 @@ readability.
letter meaning when present in 'formatoptions' ~
*fo-t*
t Auto-wrap text using textwidth
t Auto-wrap text using 'textwidth'
*fo-c*
c Auto-wrap comments using textwidth, inserting the current comment
c Auto-wrap comments using 'textwidth', inserting the current comment
leader automatically.
*fo-r*
r Automatically insert the current comment leader after hitting
@@ -1683,6 +1684,9 @@ r Automatically insert the current comment leader after hitting
o Automatically insert the current comment leader after hitting 'o' or
'O' in Normal mode. In case comment is unwanted in a specific place
use CTRL-U to quickly delete it. |i_CTRL-U|
*fo-/*
/ When 'o' is included: do not insert the comment leader for a //
comment after a statement, only when // is at the start of the line.
*fo-q*
q Allow formatting of comments with "gq".
Note that formatting will not change blank lines or lines containing
@@ -1745,8 +1749,8 @@ B When joining lines, don't insert a space between two multibyte
1 Don't break a line after a one-letter word. It's broken before it
instead (if possible).
*fo-]*
] Respect textwidth rigorously. With this flag set, no line can be
longer than textwidth, unless line-break-prohibition rules make this
] Respect 'textwidth' rigorously. With this flag set, no line can be
longer than 'textwidth', unless line-break-prohibition rules make this
impossible. Mainly for CJK scripts and works only if 'encoding' is
"utf-8".
*fo-j*

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 8.2. Last change: 2022 Apr 09
*cmdline.txt* For Vim version 8.2. Last change: 2022 Apr 29
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -87,6 +87,7 @@ CTRL-Q Same as CTRL-V. But with some terminals it is used for
CTRL-SHIFT-V *c_CTRL-SHIFT-V* *c_CTRL-SHIFT-Q*
CTRL-SHIFT-Q Works just like CTRL-V, unless |modifyOtherKeys| is active,
then it inserts the Escape sequence for a key with modifiers.
In the GUI the |key-notation| is inserted without simplifying.
*c_<Left>* *c_Left*
<Left> cursor left

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 8.2. Last change: 2022 Apr 17
*eval.txt* For Vim version 8.2. Last change: 2022 May 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -523,8 +523,8 @@ only appear once. Examples: >
A key is always a String. You can use a Number, it will be converted to a
String automatically. Thus the String '4' and the number 4 will find the same
entry. Note that the String '04' and the Number 04 are different, since the
Number will be converted to the String '4'. The empty string can also be used
as a key.
Number will be converted to the String '4', leading zeros are dropped. The
empty string can also be used as a key.
In |Vim9| script literaly keys can be used if the key consists of alphanumeric
characters, underscore and dash, see |vim9-literal-dict|.
@@ -534,7 +534,8 @@ legacy script. This does require the key to consist only of ASCII letters,
digits, '-' and '_'. Example: >
:let mydict = #{zero: 0, one_key: 1, two-key: 2, 333: 3}
Note that 333 here is the string "333". Empty keys are not possible with #{}.
In |Vim9| script the #{} form cannot be used.
In |Vim9| script the #{} form cannot be used because it can be confused with
the start of a comment.
A value can be any expression. Using a Dictionary for a value creates a
nested Dictionary: >
@@ -1523,6 +1524,33 @@ to be doubled. These two commands are equivalent: >
if a =~ '\s*'
interpolated-string *interp-string* *E256*
--------------------
$"string" interpolated string constant *expr-$quote*
$'string' interpolated literal string constant *expr-$'*
Interpolated strings are an extension of the |string| and |literal-string|,
allowing the inclusion of Vim script expressions (see |expr1|). Any
expression returning a value can be enclosed between curly braces. The value
is converted to a string. All the text and results of the expressions
are concatenated to make a new string.
*E1278*
To include an opening brace '{' or closing brace '}' in the string content
double it. For double quoted strings using a backslash also works. A single
closing brace '}' will result in an error.
Examples: >
let your_name = input("What's your name? ")
< What's your name? Peter ~
>
echo
echo $"Hello, {your_name}!"
< Hello, Peter! ~
>
echo $"The square root of {{9}} is {sqrt(9)}"
< The square root of {9} is 3.0 ~
option *expr-option* *E112* *E113*
------
&option option value, local value if possible
@@ -2932,7 +2960,7 @@ the "autoload" directory in 'runtimepath'.
Using an autocommand ~
This is introduced in the user manual, section |41.14|.
This is introduced in the user manual, section |51.4|.
The autocommand is useful if you have a plugin that is a long Vim script file.
You can define the autocommand and quickly quit the script with `:finish`.
@@ -2950,7 +2978,7 @@ The file "~/vim/bufnetfuncs.vim" should then define functions that start with
Using an autoload script ~
*autoload* *E746*
This is introduced in the user manual, section |41.15|.
This is introduced in the user manual, section |51.5|.
Using a script in the "autoload" directory is simpler, but requires using
exactly the right file name. A function that can be autoloaded has a name
@@ -3233,22 +3261,20 @@ text...
{endmarker}.
If "eval" is not specified, then each line of text is
used as a |literal-string|. If "eval" is specified,
then any Vim expression in the form ``={expr}`` is
evaluated and the result replaces the expression.
used as a |literal-string|, except that single quotes
doe not need to be doubled.
If "eval" is specified, then any Vim expression in the
form {expr} is evaluated and the result replaces the
expression, like with |interp-string|.
Example where $HOME is expanded: >
let lines =<< trim eval END
some text
See the file `=$HOME`/.vimrc
See the file {$HOME}/.vimrc
more text
END
< There can be multiple Vim expressions in a single line
but an expression cannot span multiple lines. If any
expression evaluation fails, then the assignment fails.
once the "`=" has been found {expr} and a backtick
must follow. {expr} cannot be empty.
Currenty, in a compiled function {expr} is evaluated
when compiling the function, THIS WILL CHANGE.
{endmarker} must not contain white space.
{endmarker} cannot start with a lower case character.
@@ -3301,10 +3327,10 @@ text...
DATA
let code =<< trim eval CODE
let v = `=10 + 20`
let h = "`=$HOME`"
let s = "`=Str1()` abc `=Str2()`"
let n = `=MyFunc(3, 4)`
let v = {10 + 20}
let h = "{$HOME}"
let s = "{Str1()} abc {Str2()}"
let n = {MyFunc(3, 4)}
CODE
<
*E121*
@@ -3520,8 +3546,8 @@ text...
:for {var} in {object} *:for* *E690* *E732*
:endfo[r] *:endfo* *:endfor*
Repeat the commands between `:for` and `:endfor` for
each item in {object}. {object} can be a |List| or
a |Blob|. *E1177*
each item in {object}. {object} can be a |List|,
a |Blob| or a |String|. *E1177*
Variable {var} is set to the value of each item.
In |Vim9| script the loop variable must not have been

View File

@@ -143,6 +143,7 @@ variables can be used to overrule the filetype used for certain extensions:
*.asp g:filetype_asp |ft-aspvbs-syntax| |ft-aspperl-syntax|
*.bas g:filetype_bas |ft-basic-syntax|
*.cfg g:filetype_cfg
*.csh g:filetype_csh |ft-csh-syntax|
*.dat g:filetype_dat
*.frm g:filetype_frm |ft-form-syntax|
*.fs g:filetype_fs |ft-forth-syntax|
@@ -154,6 +155,8 @@ variables can be used to overrule the filetype used for certain extensions:
*.pl g:filetype_pl
*.pp g:filetype_pp |ft-pascal-syntax|
*.prg g:filetype_prg
*.r g:filetype_r
*.sql g:filetype_sql |ft-sql-syntax|
*.src g:filetype_src
*.sys g:filetype_sys
*.sh g:bash_is_sh |ft-sh-syntax|

View File

@@ -1,4 +1,4 @@
*help.txt* For Vim version 8.2. Last change: 2022 Feb 26
*help.txt* For Vim version 8.2. Last change: 2022 May 13
VIM - main help file
k
@@ -88,12 +88,15 @@ Tuning Vim ~
|usr_43.txt| Using filetypes
|usr_44.txt| Your own syntax highlighted
|usr_45.txt| Select your language
|usr_46.txt| Write plugins using Vim9 script
Writing Vim scripts ~
|usr_50.txt| Advanced Vim script writing
|usr_51.txt| Create a plugin
|usr_52.txt| Write plugins using Vim9 script
Making Vim Run ~
|usr_90.txt| Installing Vim
REFERENCE MANUAL: These files explain every detail of Vim. *reference_toc*
General subjects ~

View File

@@ -939,7 +939,7 @@ tag command note action in Visual mode ~
|v_K| K run 'keywordprg' on the highlighted area
|v_O| O move horizontally to other corner of area
|v_P| P replace highlighted area with register
contents; unnamed register is unchanged
contents; registers are unchanged
Q does not start Ex mode
|v_R| R 2 delete the highlighted lines and start
insert

View File

@@ -1,4 +1,4 @@
*map.txt* For Vim version 8.2. Last change: 2022 Apr 14
*map.txt* For Vim version 8.2. Last change: 2022 May 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -120,7 +120,8 @@ modes.
command applies.
Use the <buffer> argument to remove buffer-local
mappings |:map-<buffer>|
Warning: This also removes the default mappings.
Warning: This also removes the |mac-standard-mappings|
and the |dos-standard-mappings|.
:map |mapmode-nvo|
:nm[ap] |mapmode-n|

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 8.2. Last change: 2022 Apr 13
*options.txt* For Vim version 8.2. Last change: 2022 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1392,14 +1392,20 @@ A jump table for the options with a short description can be found at |Q_op|.
characters. It permits dynamic French paragraph
indentation (negative) or emphasizing the line
continuation (positive).
(default: 0)
sbr Display the 'showbreak' value before applying the
additional indent.
(default: off)
list:{n} Adds an additional indent for lines that match a
numbered or bulleted list (using the
'formatlistpat' setting).
list:-1 Uses the length of a match with 'formatlistpat'
for indentation.
The default value for min is 20, shift and list is 0.
(default: 0)
column:{n} Indent at column {n}. Will overrule the other
sub-options. Note: an additional indent may be
added for the 'showbreak' setting.
(default: off)
*'browsedir'* *'bsdir'*
'browsedir' 'bsdir' string (default: "last")
@@ -8073,6 +8079,13 @@ A jump table for the options with a short description can be found at |Q_op|.
< This requires Vim to be built with the |+vtp| feature.
Note that the "cterm" attributes are still used, not the "gui" ones.
When using Vim with Windows Terminal, the background of Windows
Terminal is normally filled with the Vim background color. Setting
'termguicolors' and the guibg of the Normal highlight group to NONE
will make the background transparent: >
:hi Normal guibg=NONE
<
NOTE: This option is reset when 'compatible' is set.
*'termwinkey'* *'twk'*

View File

@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 8.2. Last change: 2022 Apr 06
*quickref.txt* For Vim version 8.2. Last change: 2022 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1350,7 +1350,7 @@ Context-sensitive completion on the command-line:
|CTRL-W_^| CTRL-W ^ split window and edit alternate file
|CTRL-W_n| CTRL-W n or :new create new empty window
|CTRL-W_q| CTRL-W q or :q[uit] quit editing and close window
|CTRL-W_c| CTRL-W c or :cl[ose] make buffer hidden and close window
|CTRL-W_c| CTRL-W c or :clo[se] make buffer hidden and close window
|CTRL-W_o| CTRL-W o or :on[ly] make current window only one on the
screen

View File

@@ -1,4 +1,4 @@
*scroll.txt* For Vim version 8.2. Last change: 2022 Apr 03
*scroll.txt* For Vim version 8.2. Last change: 2022 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -237,31 +237,34 @@ it works depends on your system. It might also work in an xterm
|xterm-mouse-wheel|. By default only vertical scroll wheels are supported,
but some GUIs also support horizontal scroll wheels.
For the Win32 GUI the scroll action is hard coded. It works just like
dragging the scrollbar of the current window. How many lines are scrolled
depends on your mouse driver. If the scroll action causes input focus
problems, see |intellimouse-wheel-problems|.
On MS-Windows, if the scroll action causes input focus -problems, see
|intellimouse-wheel-problems|.
For the X11 GUIs (Motif and GTK) scrolling the wheel generates key
For Win32 and the X11 GUIs (Motif and GTK) scrolling the wheel generates key
presses <ScrollWheelUp>, <ScrollWheelDown>, <ScrollWheelLeft> and
<ScrollWheelRight>. For example, if you push the scroll wheel upwards a
<ScrollWheelUp> key press is generated causing the window to scroll upwards
(while the text is actually moving downwards). The default action for these
keys are:
<ScrollWheelUp> scroll three lines up *<ScrollWheelUp>*
<ScrollWheelUp> scroll N lines up *<ScrollWheelUp>*
<S-ScrollWheelUp> scroll one page up *<S-ScrollWheelUp>*
<C-ScrollWheelUp> scroll one page up *<C-ScrollWheelUp>*
<ScrollWheelDown> scroll three lines down *<ScrollWheelDown>*
<ScrollWheelDown> scroll N lines down *<ScrollWheelDown>*
<S-ScrollWheelDown> scroll one page down *<S-ScrollWheelDown>*
<C-ScrollWheelDown> scroll one page down *<C-ScrollWheelDown>*
<ScrollWheelLeft> scroll six columns left *<ScrollWheelLeft>*
<ScrollWheelLeft> scroll N columns left *<ScrollWheelLeft>*
<S-ScrollWheelLeft> scroll one page left *<S-ScrollWheelLeft>*
<C-ScrollWheelLeft> scroll one page left *<C-ScrollWheelLeft>*
<ScrollWheelRight> scroll six columns right *<ScrollWheelRight>*
<ScrollWheelRight> scroll N columns right *<ScrollWheelRight>*
<S-ScrollWheelRight> scroll one page right *<S-ScrollWheelRight>*
<C-ScrollWheelRight> scroll one page right *<C-ScrollWheelRight>*
This should work in all modes, except when editing the command line.
The value of N depends on the system. By default Vim scrolls three lines when
moving vertically, and six columns when moving horizontally. On MS-Windows
the amount of lines and columns for each scroll action is taken from the
system-wide settings.
Note that horizontal scrolling only works if 'nowrap' is set. Also, unless
the "h" flag in 'guioptions' is set, the cursor moves to the longest visible
line if the cursor line is about to be scrolled off the screen (similarly to

View File

@@ -1,4 +1,4 @@
*starting.txt* For Vim version 8.2. Last change: 2022 Apr 12
*starting.txt* For Vim version 8.2. Last change: 2022 May 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -737,6 +737,7 @@ In Evim these options are changed from their default value:
:set guioptions-=a non-Unix only: don't do auto-select
Key mappings:
<CTRL-Q> quit, using `:confirm` prompt if there are changes
<Down> moves by screen lines rather than file lines
<Up> idem
Q does "gq", formatting, instead of Ex mode
@@ -747,7 +748,6 @@ Key mappings:
<C-Insert> idem
CTRL-V Pastes from the clipboard (in any mode)
<S-Insert> idem
CTRL-Q do what CTRL-V used to do
CTRL-Z undo
CTRL-Y redo
<M-Space> system menu
@@ -764,6 +764,8 @@ Additionally:
One hint: If you want to go to Normal mode to be able to type a sequence of
commands, use CTRL-L. |i_CTRL-L|
There is no way to stop "easy mode", you need to exit Vim.
==============================================================================
4. Initialization *initialization* *startup*

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 8.2. Last change: 2022 Apr 06
*syntax.txt* For Vim version 8.2. Last change: 2022 May 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -488,7 +488,7 @@ your own highlight colors for the progress bar. Example: >
hi TOhtmlProgress guifg=#c0ffee ctermbg=7
<
*g:html_number_lines*
Default: current 'number' setting.
Default: Current 'number' setting.
When 0, buffer text is displayed in the generated HTML without line numbering.
When 1, a column of line numbers is added to the generated HTML with the same
highlighting as the line number column in Vim (|hl-LineNr|).
@@ -577,7 +577,7 @@ folded text will open the fold as if |g:html_hover_unfold| were set.
:let g:html_no_foldcolumn = 1
<
*TOhtml-uncopyable-text* *g:html_prevent_copy*
Default: empty string.
Default: Empty string.
This option prevents certain regions of the generated HTML from being copied,
when you select all text in document rendered in a browser and copy it. Useful
for allowing users to copy-paste only the source text even if a fold column or
@@ -603,7 +603,7 @@ uncopyable regions. In some browsers, especially older browsers, after
selecting an entire page and copying the selection, the <input> tags are not
pasted with the page text. If |g:html_no_invalid| is 0, the <input> tags have
invalid type; this works in more browsers, but the page will not validate.
Note: this method does NOT work in recent versions of Chrome and equivalent
Note: This method does NOT work in recent versions of Chrome and equivalent
browsers; the <input> tags get pasted with the text.
When "fallback" (default value), the same <input> elements are generated for
@@ -659,12 +659,12 @@ To append a string "_mystring" to the end of each ID: >
:let g:html_id_expr = '"_mystring"'
<
Note, when converting a diff view to HTML, the expression will only be
Note: When converting a diff view to HTML, the expression will only be
evaluated for the first window in the diff, and the result used for all the
windows.
*TOhtml-wrap-text* *g:html_pre_wrap*
Default: current 'wrap' setting.
Default: Current 'wrap' setting.
When 0, if |g:html_no_pre| is 0 or unset, the text in the generated HTML does
not wrap at the edge of the browser window.
When 1, if |g:html_use_css| is 1, the CSS 2.0 "white-space:pre-wrap" value is
@@ -724,7 +724,7 @@ wide browser support. However, you can override this to support specific
encodings that may not be automatically detected by default (see options
below). See http://www.iana.org/assignments/character-sets for the IANA names.
Note, by default all Unicode encodings are converted to UTF-8 with no BOM in
Note: By default all Unicode encodings are converted to UTF-8 with no BOM in
the generated HTML, as recommended by W3C:
http://www.w3.org/International/questions/qa-choosing-encodings
@@ -1328,8 +1328,8 @@ the global or buffer-local variable load_doxygen_syntax. This is done by
adding the following to your .vimrc. >
:let g:load_doxygen_syntax=1
There are a couple of variables that have an effect on syntax highlighting, and
are to do with non-standard highlighting options.
There are a couple of variables that have an effect on syntax highlighting,
and are to do with non-standard highlighting options.
Variable Default Effect ~
g:doxygen_enhanced_color
@@ -1471,8 +1471,8 @@ To enable highlighting some special atoms, put this in your vimrc: >
ELIXIR *elixir.vim* *ft-elixir-syntax*
Elixir is a dynamic, functional language for building scalable and maintainable
applications.
Elixir is a dynamic, functional language for building scalable and
maintainable applications.
The following file extensions are auto-detected as Elixir file types:
@@ -1488,7 +1488,7 @@ Elixir.
FLEXWIKI *flexwiki.vim* *ft-flexwiki-syntax*
FlexWiki is an ASP.NET-based wiki package available at http://www.flexwiki.com
NOTE: this site currently doesn't work, on Wikipedia is mentioned that
NOTE: This site currently doesn't work, on Wikipedia is mentioned that
development stopped in 2009.
Syntax highlighting is available for the most common elements of FlexWiki
@@ -1568,8 +1568,8 @@ syntax highlighting will not be correct if the form is incorrectly set.
When you create a new fortran file, the syntax script assumes fixed source
form. If you always use free source form, then >
:let fortran_free_source=1
in your .vimrc prior to the :syntax on command. If you always use fixed source
form, then >
in your .vimrc prior to the :syntax on command. If you always use fixed
source form, then >
:let fortran_fixed_source=1
in your .vimrc prior to the :syntax on command.
@@ -1840,8 +1840,8 @@ ends with -->) you can define >
JavaScript and Visual Basic embedded inside HTML documents are highlighted as
'Special' with statements, comments, strings and so on colored as in standard
programming languages. Note that only JavaScript and Visual Basic are currently
supported, no other scripting language has been added yet.
programming languages. Note that only JavaScript and Visual Basic are
currently supported, no other scripting language has been added yet.
Embedded and inlined cascading style sheets (CSS) are highlighted too.
@@ -1945,8 +1945,8 @@ The java.vim syntax highlighting file offers several options:
In Java 1.0.2 it was never possible to have braces inside parens, so this was
flagged as an error. Since Java 1.1 this is possible (with anonymous
classes), and therefore is no longer marked as an error. If you prefer the old
way, put the following line into your vim startup file: >
classes), and therefore is no longer marked as an error. If you prefer the
old way, put the following line into your vim startup file: >
:let java_mark_braces_in_parens_as_errors=1
All identifiers in java.lang.* are always visible in all classes. To
@@ -2064,10 +2064,10 @@ LISP *lisp.vim* *ft-lisp-syntax*
The lisp syntax highlighting provides two options: >
g:lisp_instring : if it exists, then "(...)" strings are highlighted
g:lisp_instring : If it exists, then "(...)" strings are highlighted
as if the contents of the string were lisp.
Useful for AutoLisp.
g:lisp_rainbow : if it exists and is nonzero, then differing levels
g:lisp_rainbow : If it exists and is nonzero, then differing levels
of parenthesization will receive different
highlighting.
<
@@ -2197,6 +2197,15 @@ $VIMRUNTIME/syntax/syntax.vim).
mv_finance mv_logic mv_powseries
MARKDOWN *ft-markdown-syntax*
If you have long regions there might be wrong highlighting. At the cost of
slowing down displaying, you can have the engine look further back to sync on
the start of a region, for example 500 lines: >
:let g:markdown_minlines = 500
MATHEMATICA *mma.vim* *ft-mma-syntax* *ft-mathematica-syntax*
Empty *.m files will automatically be presumed to be Matlab files unless you
@@ -2465,8 +2474,8 @@ If you do not want complex things like '@{${"foo"}}' to be parsed: >
(In Vim 6.x it was the other way around: "perl_extended_vars" enabled it.)
The coloring strings can be changed. By default strings and qq friends will be
highlighted like the first line. If you set the variable
The coloring strings can be changed. By default strings and qq friends will
be highlighted like the first line. If you set the variable
perl_string_as_statement, it will be highlighted as in the second line.
"hello world!"; qq|hello world|;
@@ -2478,8 +2487,8 @@ perl_string_as_statement, it will be highlighted as in the second line.
The syncing has 3 options. The first two switch off some triggering of
synchronization and should only be needed in case it fails to work properly.
If while scrolling all of a sudden the whole screen changes color completely
then you should try and switch off one of those. Let me know if you can figure
out the line that causes the mistake.
then you should try and switch off one of those. Let me know if you can
figure out the line that causes the mistake.
One triggers on "^\s*sub\s*" and the other on "^[$@%]" more or less. >
@@ -2516,7 +2525,7 @@ behavior, set 'perl_nofold_packages': >
PHP3 and PHP4 *php.vim* *php3.vim* *ft-php-syntax* *ft-php3-syntax*
[note: previously this was called "php3", but since it now also supports php4
[Note: Previously this was called "php3", but since it now also supports php4
it has been renamed to "php"]
There are the following options for the php syntax highlighting.
@@ -2586,15 +2595,15 @@ PPWizard is a preprocessor for HTML and OS/2 INF files
This syntax file has the options:
- ppwiz_highlight_defs : determines highlighting mode for PPWizard's
- ppwiz_highlight_defs : Determines highlighting mode for PPWizard's
definitions. Possible values are
ppwiz_highlight_defs = 1 : PPWizard #define statements retain the
colors of their contents (e.g. PPWizard macros and variables)
colors of their contents (e.g. PPWizard macros and variables).
ppwiz_highlight_defs = 2 : preprocessor #define and #evaluate
ppwiz_highlight_defs = 2 : Preprocessor #define and #evaluate
statements are shown in a single color with the exception of line
continuation symbols
continuation symbols.
The default setting for ppwiz_highlight_defs is 1.
@@ -2633,7 +2642,7 @@ highlighted by defining the postscr_level variable as follows: >
If this variable is not defined it defaults to 2 (level 2) since this is
the most prevalent version currently.
Note, not all PS interpreters will support all language features for a
Note: Not all PS interpreters will support all language features for a
particular language level. In particular the %!PS-Adobe-3.0 at the start of
PS files does NOT mean the PostScript present is level 3 PostScript!
@@ -2735,7 +2744,7 @@ If you want all possible Python highlighting (the same as setting the
preceding last option and unsetting all other ones): >
:let python_highlight_all = 1
Note: only existence of these options matter, not their value. You can replace
Note: Only existence of these options matter, not their value. You can replace
1 above with anything.
QUAKE *quake.vim* *ft-quake-syntax*
@@ -3175,16 +3184,16 @@ The Speedup syntax file has some options:
the DECLARE section; if you defined own types, you have to include
them in the syntax file.
- oneline_comments : this value ranges from 1 to 3 and determines the
- oneline_comments : This value ranges from 1 to 3 and determines the
highlighting of # style comments.
oneline_comments = 1 : allow normal Speedup code after an even
oneline_comments = 1 : Allow normal Speedup code after an even
number of #s.
oneline_comments = 2 : show code starting with the second # as
oneline_comments = 2 : Show code starting with the second # as
error. This is the default setting.
oneline_comments = 3 : show the whole line as error if it contains
oneline_comments = 3 : Show the whole line as error if it contains
more than one #.
Since especially OPERATION sections tend to become very large due to
@@ -3223,8 +3232,8 @@ This covers the shell named "tcsh". It is a superset of csh. See |csh.vim|
for how the filetype is detected.
Tcsh does not allow \" in strings unless the "backslash_quote" shell variable
is set. If you want VIM to assume that no backslash quote constructs exist add
this line to your .vimrc: >
is set. If you want VIM to assume that no backslash quote constructs exist
add this line to your .vimrc: >
:let tcsh_backslash_quote = 0
@@ -3590,7 +3599,7 @@ start and end tags. This can be turned on by >
:let g:xml_syntax_folding = 1
:set foldmethod=syntax
Note: syntax folding might slow down syntax highlighting significantly,
Note: Syntax folding might slow down syntax highlighting significantly,
especially for large files.
@@ -5089,8 +5098,8 @@ ctermul={color-nr} *highlight-ctermul*
The case of the color names is ignored.
Note that for 16 color ansi style terminals (including xterms), the
numbers in the NR-8 column is used. Here '*' means 'add 8' so that Blue
is 12, DarkGray is 8 etc.
numbers in the NR-8 column is used. Here '*' means 'add 8' so that
Blue is 12, DarkGray is 8 etc.
Note that for some color terminals these names may result in the wrong
colors!
@@ -5229,49 +5238,50 @@ These are the default highlighting groups. These groups are used by the
'highlight' option default. Note that the highlighting depends on the value
of 'background'. You can see the current settings with the ":highlight"
command.
When possible the name is highlighted in the used colors. If this makes it
unreadable use Visual selection.
*hl-ColorColumn*
ColorColumn used for the columns set with 'colorcolumn'
ColorColumn Used for the columns set with 'colorcolumn'.
*hl-Conceal*
Conceal placeholder characters substituted for concealed
text (see 'conceallevel')
Conceal Placeholder characters substituted for concealed
text (see 'conceallevel').
*hl-Cursor*
Cursor the character under the cursor
lCursor the character under the cursor when |language-mapping|
is used (see 'guicursor')
Cursor Character under the cursor.
lCursor Character under the cursor when |language-mapping|
is used (see 'guicursor').
*hl-CursorIM*
CursorIM like Cursor, but used when in IME mode |CursorIM|
CursorIM Like Cursor, but used when in IME mode. |CursorIM|
*hl-CursorColumn*
CursorColumn the screen column that the cursor is in when 'cursorcolumn' is
set
CursorColumn Screen column that the cursor is in when 'cursorcolumn' is set.
*hl-CursorLine*
CursorLine the screen line that the cursor is in when 'cursorline' is
set
CursorLine Screen line that the cursor is in when 'cursorline' is set.
*hl-Directory*
Directory directory names (and other special names in listings)
Directory Directory names (and other special names in listings).
*hl-DiffAdd*
DiffAdd diff mode: Added line |diff.txt|
DiffAdd Diff mode: Added line. |diff.txt|
*hl-DiffChange*
DiffChange diff mode: Changed line |diff.txt|
DiffChange Diff mode: Changed line. |diff.txt|
*hl-DiffDelete*
DiffDelete diff mode: Deleted line |diff.txt|
DiffDelete Diff mode: Deleted line. |diff.txt|
*hl-DiffText*
DiffText diff mode: Changed text within a changed line |diff.txt|
DiffText Diff mode: Changed text within a changed line. |diff.txt|
*hl-EndOfBuffer*
EndOfBuffer filler lines (~) after the last line in the buffer.
EndOfBuffer Filler lines (~) after the last line in the buffer.
By default, this is highlighted like |hl-NonText|.
*hl-ErrorMsg*
ErrorMsg error messages on the command line
ErrorMsg Error messages on the command line.
*hl-VertSplit*
VertSplit the column separating vertically split windows
VertSplit Column separating vertically split windows.
*hl-Folded*
Folded line used for closed folds
Folded Line used for closed folds.
*hl-FoldColumn*
FoldColumn 'foldcolumn'
*hl-SignColumn*
SignColumn column where |signs| are displayed
SignColumn Column where |signs| are displayed.
*hl-IncSearch*
IncSearch 'incsearch' highlighting; also used for the text replaced with
":s///c"
":s///c".
*hl-LineNr*
LineNr Line number for ":number" and ":#" commands, and when 'number'
or 'relativenumber' option is set.
@@ -5289,11 +5299,11 @@ CursorLineSign Like SignColumn when 'cursorline' is set for the cursor line.
*hl-CursorLineFold*
CursorLineFold Like FoldColumn when 'cursorline' is set for the cursor line.
*hl-MatchParen*
MatchParen The character under the cursor or just before it, if it
MatchParen Character under the cursor or just before it, if it
is a paired bracket, and its match. |pi_paren.txt|
*hl-ModeMsg*
ModeMsg 'showmode' message (e.g., "-- INSERT --")
ModeMsg 'showmode' message (e.g., "-- INSERT --").
*hl-MoreMsg*
MoreMsg |more-prompt|
*hl-NonText*
@@ -5302,17 +5312,17 @@ NonText '@' at the end of the window, characters from 'showbreak'
(e.g., ">" displayed when a double-wide character doesn't
fit at the end of the line).
*hl-Normal*
Normal normal text
Normal Normal text.
*hl-Pmenu*
Pmenu Popup menu: normal item.
Pmenu Popup menu: Normal item.
*hl-PmenuSel*
PmenuSel Popup menu: selected item.
PmenuSel Popup menu: Selected item.
*hl-PmenuSbar*
PmenuSbar Popup menu: scrollbar.
PmenuSbar Popup menu: Scrollbar.
*hl-PmenuThumb*
PmenuThumb Popup menu: Thumb of the scrollbar.
*hl-Question*
Question |hit-enter| prompt and yes/no questions
Question |hit-enter| prompt and yes/no questions.
*hl-QuickFixLine*
QuickFixLine Current |quickfix| item in the quickfix window.
*hl-Search*
@@ -5320,10 +5330,12 @@ Search Last search pattern highlighting (see 'hlsearch').
Also used for similar items that need to stand out.
*hl-CurSearch*
CurSearch Current match for the last search pattern (see 'hlsearch').
Note: This is correct after a search, but may get outdated if
changes are made or the screen is redrawn.
*hl-SpecialKey*
SpecialKey Meta and special keys listed with ":map", also for text used
to show unprintable characters in the text, 'listchars'.
Generally: text that is displayed differently from what it
Generally: Text that is displayed differently from what it
really is.
*hl-SpellBad*
SpellBad Word that is not recognized by the spellchecker. |spell|
@@ -5340,35 +5352,35 @@ SpellRare Word that is recognized by the spellchecker as one that is
hardly ever used. |spell|
This will be combined with the highlighting used otherwise.
*hl-StatusLine*
StatusLine status line of current window
StatusLine Status line of current window.
*hl-StatusLineNC*
StatusLineNC status lines of not-current windows
Note: if this is equal to "StatusLine" Vim will use "^^^" in
Note: If this is equal to "StatusLine", Vim will use "^^^" in
the status line of the current window.
*hl-StatusLineTerm*
StatusLineTerm status line of current window, if it is a |terminal| window.
StatusLineTerm Status line of current window, if it is a |terminal| window.
*hl-StatusLineTermNC*
StatusLineTermNC status lines of not-current windows that is a |terminal|
StatusLineTermNC Status lines of not-current windows that is a |terminal|
window.
*hl-TabLine*
TabLine tab pages line, not active tab page label
TabLine Tab pages line, not active tab page label.
*hl-TabLineFill*
TabLineFill tab pages line, where there are no labels
TabLineFill Tab pages line, where there are no labels.
*hl-TabLineSel*
TabLineSel tab pages line, active tab page label
TabLineSel Tab pages line, active tab page label.
*hl-Terminal*
Terminal |terminal| window (see |terminal-size-color|)
Terminal |terminal| window (see |terminal-size-color|).
*hl-Title*
Title titles for output from ":set all", ":autocmd" etc.
Title Titles for output from ":set all", ":autocmd" etc.
*hl-Visual*
Visual Visual mode selection
Visual Visual mode selection.
*hl-VisualNOS*
VisualNOS Visual mode selection when vim is "Not Owning the Selection".
Only X11 Gui's |gui-x11| and |xterm-clipboard| supports this.
*hl-WarningMsg*
WarningMsg warning messages
WarningMsg Warning messages.
*hl-WildMenu*
WildMenu current match in 'wildmenu' completion
WildMenu Current match in 'wildmenu' completion.
*hl-User1* *hl-User1..9* *hl-User9*
The 'statusline' syntax allows the use of 9 different highlights in the
@@ -5758,7 +5770,7 @@ If your syntax causes redrawing to be slow, here are a few hints on making it
faster. To see slowness switch on some features that usually interfere, such
as 'relativenumber' and |folding|.
Note: this is only available when compiled with the |+profile| feature.
Note: This is only available when compiled with the |+profile| feature.
You many need to build Vim with "huge" features.
To find out what patterns are consuming most time, get an overview with this

View File

@@ -1915,12 +1915,6 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
40.3 usr_40.txt /*40.3*
41.1 usr_41.txt /*41.1*
41.10 usr_41.txt /*41.10*
41.11 usr_41.txt /*41.11*
41.12 usr_41.txt /*41.12*
41.13 usr_41.txt /*41.13*
41.14 usr_41.txt /*41.14*
41.15 usr_41.txt /*41.15*
41.16 usr_41.txt /*41.16*
41.2 usr_41.txt /*41.2*
41.3 usr_41.txt /*41.3*
41.4 usr_41.txt /*41.4*
@@ -1953,10 +1947,17 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
45.3 usr_45.txt /*45.3*
45.4 usr_45.txt /*45.4*
45.5 usr_45.txt /*45.5*
46.1 usr_46.txt /*46.1*
46.2 usr_46.txt /*46.2*
46.3 usr_46.txt /*46.3*
46.? usr_46.txt /*46.?*
50.1 usr_50.txt /*50.1*
51.1 usr_51.txt /*51.1*
51.2 usr_51.txt /*51.2*
51.3 usr_51.txt /*51.3*
51.4 usr_51.txt /*51.4*
51.5 usr_51.txt /*51.5*
51.6 usr_51.txt /*51.6*
52.1 usr_52.txt /*52.1*
52.2 usr_52.txt /*52.2*
52.3 usr_52.txt /*52.3*
52.4 usr_52.txt /*52.4*
8g8 various.txt /*8g8*
90.1 usr_90.txt /*90.1*
90.2 usr_90.txt /*90.2*
@@ -2026,7 +2027,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:Break terminal.txt /*:Break*
:Cfilter quickfix.txt /*:Cfilter*
:Clear terminal.txt /*:Clear*
:CompilerSet usr_41.txt /*:CompilerSet*
:CompilerSet usr_51.txt /*:CompilerSet*
:Continue terminal.txt /*:Continue*
:DiffOrig diff.txt /*:DiffOrig*
:DoMatchParen pi_paren.txt /*:DoMatchParen*
@@ -4263,6 +4264,8 @@ E127 eval.txt /*E127*
E1270 change.txt /*E1270*
E1271 vim9.txt /*E1271*
E1274 cmdline.txt /*E1274*
E1276 builtin.txt /*E1276*
E1278 eval.txt /*E1278*
E128 eval.txt /*E128*
E129 eval.txt /*E129*
E13 message.txt /*E13*
@@ -4401,6 +4404,7 @@ E252 options.txt /*E252*
E253 mbyte.txt /*E253*
E254 message.txt /*E254*
E255 sign.txt /*E255*
E256 eval.txt /*E256*
E257 if_cscop.txt /*E257*
E258 remote.txt /*E258*
E259 if_cscop.txt /*E259*
@@ -5312,6 +5316,7 @@ Neovim intro.txt /*Neovim*
NetBSD-backspace options.txt /*NetBSD-backspace*
NetBeans netbeans.txt /*NetBeans*
NetUserPass() pi_netrw.txt /*NetUserPass()*
NoDefaultCurrentDirectoryInExePath builtin.txt /*NoDefaultCurrentDirectoryInExePath*
None eval.txt /*None*
Normal intro.txt /*Normal*
Normal-mode intro.txt /*Normal-mode*
@@ -6489,7 +6494,7 @@ dircolors.vim syntax.txt /*dircolors.vim*
dis motion.txt /*dis*
disable-menus gui.txt /*disable-menus*
discard editing.txt /*discard*
distribute-script usr_41.txt /*distribute-script*
distribute-script usr_51.txt /*distribute-script*
distribution intro.txt /*distribution*
diw motion.txt /*diw*
dl change.txt /*dl*
@@ -6640,6 +6645,8 @@ expr-!=? eval.txt /*expr-!=?*
expr-!~ eval.txt /*expr-!~*
expr-!~# eval.txt /*expr-!~#*
expr-!~? eval.txt /*expr-!~?*
expr-$' eval.txt /*expr-$'*
expr-$quote eval.txt /*expr-$quote*
expr-% eval.txt /*expr-%*
expr-&& eval.txt /*expr-&&*
expr-' eval.txt /*expr-'*
@@ -6787,6 +6794,7 @@ fname_new-variable eval.txt /*fname_new-variable*
fname_out-variable eval.txt /*fname_out-variable*
fnameescape() builtin.txt /*fnameescape()*
fnamemodify() builtin.txt /*fnamemodify()*
fo-/ change.txt /*fo-\/*
fo-1 change.txt /*fo-1*
fo-2 change.txt /*fo-2*
fo-B change.txt /*fo-B*
@@ -6933,6 +6941,7 @@ ft-make-syntax syntax.txt /*ft-make-syntax*
ft-man-plugin filetype.txt /*ft-man-plugin*
ft-maple-syntax syntax.txt /*ft-maple-syntax*
ft-markdown-plugin filetype.txt /*ft-markdown-plugin*
ft-markdown-syntax syntax.txt /*ft-markdown-syntax*
ft-masm-syntax syntax.txt /*ft-masm-syntax*
ft-mathematica-syntax syntax.txt /*ft-mathematica-syntax*
ft-matlab-indent indent.txt /*ft-matlab-indent*
@@ -7020,11 +7029,11 @@ ft_rust.txt ft_rust.txt /*ft_rust.txt*
ft_sql.txt ft_sql.txt /*ft_sql.txt*
ftdetect filetype.txt /*ftdetect*
ftp pi_netrw.txt /*ftp*
ftplugin usr_41.txt /*ftplugin*
ftplugin usr_51.txt /*ftplugin*
ftplugin-docs filetype.txt /*ftplugin-docs*
ftplugin-name usr_05.txt /*ftplugin-name*
ftplugin-overrule filetype.txt /*ftplugin-overrule*
ftplugin-special usr_41.txt /*ftplugin-special*
ftplugin-special usr_51.txt /*ftplugin-special*
ftplugins usr_05.txt /*ftplugins*
fullcommand() builtin.txt /*fullcommand()*
funcref() builtin.txt /*funcref()*
@@ -7350,8 +7359,10 @@ getcharmod() builtin.txt /*getcharmod()*
getcharpos() builtin.txt /*getcharpos()*
getcharsearch() builtin.txt /*getcharsearch()*
getcharstr() builtin.txt /*getcharstr()*
getcmdcompltype() builtin.txt /*getcmdcompltype()*
getcmdline() builtin.txt /*getcmdline()*
getcmdpos() builtin.txt /*getcmdpos()*
getcmdscreenpos() builtin.txt /*getcmdscreenpos()*
getcmdtype() builtin.txt /*getcmdtype()*
getcmdwintype() builtin.txt /*getcmdwintype()*
getcompletion() builtin.txt /*getcompletion()*
@@ -7911,6 +7922,7 @@ interfaces-5.2 version5.txt /*interfaces-5.2*
internal-variables eval.txt /*internal-variables*
internal-wordlist spell.txt /*internal-wordlist*
internet intro.txt /*internet*
interp-string eval.txt /*interp-string*
interrupt() builtin.txt /*interrupt()*
intro intro.txt /*intro*
intro.txt intro.txt /*intro.txt*
@@ -7919,6 +7931,7 @@ invert() builtin.txt /*invert()*
ip motion.txt /*ip*
iquote motion.txt /*iquote*
is motion.txt /*is*
isabsolutepath() builtin.txt /*isabsolutepath()*
isdirectory() builtin.txt /*isdirectory()*
isinf() builtin.txt /*isinf()*
islocked() builtin.txt /*islocked()*
@@ -8173,6 +8186,7 @@ maparg() builtin.txt /*maparg()*
mapcheck() builtin.txt /*mapcheck()*
maple.vim syntax.txt /*maple.vim*
mapleader map.txt /*mapleader*
maplist() builtin.txt /*maplist()*
maplocalleader map.txt /*maplocalleader*
mapmode-c map.txt /*mapmode-c*
mapmode-i map.txt /*mapmode-i*
@@ -8187,6 +8201,7 @@ mapmode-v map.txt /*mapmode-v*
mapmode-x map.txt /*mapmode-x*
mapnew() builtin.txt /*mapnew()*
mapping map.txt /*mapping*
mapping-dict builtin.txt /*mapping-dict*
mapping-functions usr_41.txt /*mapping-functions*
mapset() builtin.txt /*mapset()*
mark motion.txt /*mark*
@@ -8846,8 +8861,8 @@ plaintex.vim syntax.txt /*plaintex.vim*
plsql ft_sql.txt /*plsql*
plugin usr_05.txt /*plugin*
plugin-details filetype.txt /*plugin-details*
plugin-filetype usr_41.txt /*plugin-filetype*
plugin-special usr_41.txt /*plugin-special*
plugin-filetype usr_51.txt /*plugin-filetype*
plugin-special usr_51.txt /*plugin-special*
plugin_name.txt helphelp.txt /*plugin_name.txt*
pmbcs-option print.txt /*pmbcs-option*
pmbfn-option print.txt /*pmbfn-option*
@@ -9395,7 +9410,7 @@ sound_playevent() builtin.txt /*sound_playevent()*
sound_playfile() builtin.txt /*sound_playfile()*
sound_stop() builtin.txt /*sound_stop()*
soundfold() builtin.txt /*soundfold()*
source-vim9-script usr_46.txt /*source-vim9-script*
source-vim9-script usr_52.txt /*source-vim9-script*
space intro.txt /*space*
spec-customizing pi_spec.txt /*spec-customizing*
spec-how-to-use-it pi_spec.txt /*spec-how-to-use-it*
@@ -10157,8 +10172,8 @@ type-casting vim9.txt /*type-casting*
type-checking vim9.txt /*type-checking*
type-inference vim9.txt /*type-inference*
type-mistakes tips.txt /*type-mistakes*
typecorrect-settings usr_41.txt /*typecorrect-settings*
typecorrect.txt usr_41.txt /*typecorrect.txt*
typecorrect-settings usr_51.txt /*typecorrect-settings*
typecorrect.txt usr_51.txt /*typecorrect.txt*
typename() builtin.txt /*typename()*
u undo.txt /*u*
uganda uganda.txt /*uganda*
@@ -10175,8 +10190,8 @@ undo-remarks undo.txt /*undo-remarks*
undo-tree undo.txt /*undo-tree*
undo-two-ways undo.txt /*undo-two-ways*
undo.txt undo.txt /*undo.txt*
undo_ftplugin usr_41.txt /*undo_ftplugin*
undo_indent usr_41.txt /*undo_indent*
undo_ftplugin usr_51.txt /*undo_ftplugin*
undo_indent usr_51.txt /*undo_indent*
undofile() builtin.txt /*undofile()*
undotree() builtin.txt /*undotree()*
unicode mbyte.txt /*unicode*
@@ -10186,7 +10201,7 @@ unlisted-buffer windows.txt /*unlisted-buffer*
up-down-motions motion.txt /*up-down-motions*
uppercase change.txt /*uppercase*
urxvt-mouse options.txt /*urxvt-mouse*
use-cpo-save usr_41.txt /*use-cpo-save*
use-cpo-save usr_51.txt /*use-cpo-save*
use-visual-cmds version4.txt /*use-visual-cmds*
useful-mappings tips.txt /*useful-mappings*
usenet intro.txt /*usenet*
@@ -10194,7 +10209,7 @@ user-cmd-ambiguous map.txt /*user-cmd-ambiguous*
user-commands map.txt /*user-commands*
user-functions eval.txt /*user-functions*
user-manual usr_toc.txt /*user-manual*
using-<Plug> usr_41.txt /*using-<Plug>*
using-<Plug> usr_51.txt /*using-<Plug>*
using-menus gui.txt /*using-menus*
using-scripts repeat.txt /*using-scripts*
using-xxd tips.txt /*using-xxd*
@@ -10230,7 +10245,9 @@ usr_42.txt usr_42.txt /*usr_42.txt*
usr_43.txt usr_43.txt /*usr_43.txt*
usr_44.txt usr_44.txt /*usr_44.txt*
usr_45.txt usr_45.txt /*usr_45.txt*
usr_46.txt usr_46.txt /*usr_46.txt*
usr_50.txt usr_50.txt /*usr_50.txt*
usr_51.txt usr_51.txt /*usr_51.txt*
usr_52.txt usr_52.txt /*usr_52.txt*
usr_90.txt usr_90.txt /*usr_90.txt*
usr_toc.txt usr_toc.txt /*usr_toc.txt*
utf-8 mbyte.txt /*utf-8*
@@ -10556,7 +10573,7 @@ vim9-const vim9.txt /*vim9-const*
vim9-curly vim9.txt /*vim9-curly*
vim9-debug repeat.txt /*vim9-debug*
vim9-declaration vim9.txt /*vim9-declaration*
vim9-declarations usr_46.txt /*vim9-declarations*
vim9-declarations usr_52.txt /*vim9-declarations*
vim9-differences vim9.txt /*vim9-differences*
vim9-export vim9.txt /*vim9-export*
vim9-final vim9.txt /*vim9-final*
@@ -10575,7 +10592,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-script-intro usr_46.txt /*vim9-script-intro*
vim9-script-intro usr_52.txt /*vim9-script-intro*
vim9-types vim9.txt /*vim9-types*
vim9-unpack-ignore vim9.txt /*vim9-unpack-ignore*
vim9-user-command vim9.txt /*vim9-user-command*
@@ -10758,15 +10775,15 @@ workshop workshop.txt /*workshop*
workshop-support workshop.txt /*workshop-support*
workshop.txt workshop.txt /*workshop.txt*
wrap-off intro.txt /*wrap-off*
write-compiler-plugin usr_41.txt /*write-compiler-plugin*
write-compiler-plugin usr_51.txt /*write-compiler-plugin*
write-device editing.txt /*write-device*
write-fail editing.txt /*write-fail*
write-filetype-plugin usr_41.txt /*write-filetype-plugin*
write-library-script usr_41.txt /*write-library-script*
write-local-help usr_41.txt /*write-local-help*
write-filetype-plugin usr_51.txt /*write-filetype-plugin*
write-library-script usr_51.txt /*write-library-script*
write-local-help usr_51.txt /*write-local-help*
write-permissions editing.txt /*write-permissions*
write-plugin usr_41.txt /*write-plugin*
write-plugin-quickload usr_41.txt /*write-plugin-quickload*
write-plugin usr_51.txt /*write-plugin*
write-plugin-quickload usr_51.txt /*write-plugin-quickload*
write-quit editing.txt /*write-quit*
write-readonly editing.txt /*write-readonly*
writefile() builtin.txt /*writefile()*

View File

@@ -1,4 +1,4 @@
*term.txt* For Vim version 8.2. Last change: 2022 Apr 03
*term.txt* For Vim version 8.2. Last change: 2022 Apr 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -386,9 +386,10 @@ Added by Vim (there are no standard codes for these):
t_SR start replace mode (underline cursor shape) *t_SR* *'t_SR'*
t_EI end insert or replace mode (block cursor shape) *t_EI* *'t_EI'*
|termcap-cursor-shape|
t_RV request terminal version string (for xterm) *t_RV* *'t_RV'*
The response is stored in |v:termresponse|
|xterm-8bit| |'ttymouse'| |xterm-codes|
t_RV request terminal version string (works for *t_RV* *'t_RV'*
xterm and other terminal emulators) The
response is stored in |v:termresponse| |xterm-8bit|
|'ttymouse'| |xterm-codes|
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
see |'ambiwidth'|
The response is stored in |v:termu7resp|

View File

@@ -154,9 +154,12 @@ test_gui_event({event}, {args})
move: Optional; if used and TRUE then a mouse move
event can be generated.
Only {args} row: and col: are used and
required; they are interpreted as pixels.
required; they are interpreted as pixels or
screen cells, depending on "cell".
Only results in an event when 'mousemoveevent'
is set or a popup uses mouse move events.
cell: Optional: when present and TRUE then "move"
uses screen cells instead of pixel positions
"scrollbar":
Set or drag the left, right or horizontal scrollbar. Only

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.2. Last change: 2022 Apr 18
*todo.txt* For Vim version 8.2. Last change: 2022 May 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -38,18 +38,23 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
Use "`=expr`" in heredoc also in :def function. #10216 Yegappan will do it.
Once Vim9 is stable:
- Use Vim9 for more runtime files.
- Check code coverage, add more tests if needed.
vim9execute.c line 3500
vim9expr.c
vim9instr.c
vim9script.c
vim9type.c
- Inlude new set of colors: #9795
- Adjust intro message to say "help version9".
Graduate FEAT_CINDENT and FEAT_SMARTINDENT ?
Update the user manual:
- Move most of usr_52.txt into usr_41.txt
- Make usr_41.txt only about basic script writing
- Fill usr_50.txt as an "advanced section" of usr_41.txt
Further Vim9 improvements, possibly after launch:
- Check performance with callgrind and kcachegrind.
getline()/substitute()/setline() in #5632
@@ -65,8 +70,6 @@ Further Vim9 improvements, possibly after launch:
evaluation.
Use the location where the option was set for deciding whether it's to be
evaluated in Vim9 script context.
- Implement "import lazy" - like autoload but with a relative or absolute
path. #9595
- implement :type
- implement :enum
- implement :class and :interface: See |vim9-classes|
@@ -88,6 +91,8 @@ Update list of features to vote on:
Popup windows:
- Preview popup not properly updated when it overlaps with completion menu.
(Yegappan Lakshmanan, 2021 May 22
- Add a function to redraw a specific popup window. Esp. to be used when
editing the command line, when screen updating doesn't happen. (Shougo)
- In some cases prop_remove() does not work correctly. (#8261)
- Add a flag to make a popup window focusable?
CTRL-W P cycle over any preview window or focusable popup, end up back in
@@ -125,11 +130,12 @@ Text properties:
where property fits in.
Or Should we let the textprop highlight overrule other (e.g. diff) highlight
if the priority is above a certain value? (#7392)
- Popup attached to text property stays visible when text is deleted with
"cc". (#7737) "C" works OK. "dd" also files in a buffer with a single
- "C" works OK. "dd" fails to delete text property in a buffer with a single
line.
- Add text property that shifts text to make room for annotation (e.g.
variable type). Like the opposite of conceal. Requires fixing the cursor
positioning and mouse clicks as with conceal mode.
- Auto-indenting may cause highlighting to shift. (#7719)
- "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
- Combining text property with 'cursorline' does not always work (Billie
Cleek, #5533)
- See remarks at top of src/textprop.c
@@ -152,6 +158,7 @@ Terminal debugger:
- Make prompt-buffer variant work better.
- Add option to not open the program window. It's not used when attaching to
an already running program. (M. Kelly)
- Use the optional token on requests, match the result with it. #10300
- When only gdb window exists, on "quit" edit another buffer.
- Termdebug does not work when Vim was built with mzscheme: gdb hangs just
after "run". Everything else works, including communication channel. Not
@@ -203,18 +210,19 @@ Terminal emulator window:
- When 'encoding' is not utf-8, or the job is using another encoding, setup
conversions.
CurSearch highlight is wrong when searching for a space, matches all spaces
instead of only the current one.
Add autocmd functions. PR #10291
a couple of outstanding comments, wait for Yegappan to respond
Can deref_func_name() and deref_function_name() be merged?
When using 'cryptmethod' xchaha20 the undo file is not encrypted.
Need to handle extra bytes.
Add mode bits to maparg() dict? PR #10356
In Select mode the deleted text always goes into the unnamed register.
Use CTRL-R to specify the register to use. (#9531)
After patch 8.2.4915 w_botline is computed much more often. Can this be
reduced?
Some prompts are not translated: #9495
NFA regexp does not handle composing characters well: #10286
[ɔ̃] matches both ɔ and ɔ̃
\(ɔ\|ɔ̃\) matches ɔ and not ɔ̃
Improvement in terminal configuration mess: Request the terminfo entry from
the terminal itself. The $TERM value then is only relevant for whether this
@@ -226,9 +234,6 @@ pass it on with modifications.
Test_communicate_ipv6(): is flaky on many systems
Fails in line 64 of Ch_communicate, no exception is thrown.
Patch for Template string: #4634
Have another look at the implementation.
Rename getdigraphlist -> digraph_getlist() etc.
Can "CSI nr X" be used instead of outputting spaces? Is it faster? #8002
@@ -253,6 +258,8 @@ Memory leaks in test_channel? (or is it because of fork())
PR to support %e and %k in 'errorformat'. #9624
PR to add left and right bitwise shift. #8457
Idea: when typing ":e /some/dir/" and "dir" does not exist, highlight in red.
":set &shellpipe" and ":set &shellredir" should use the logic from
@@ -264,8 +271,7 @@ With concealed text mouse click doesn't put the cursor in the right position.
need to make the change in where RET_WIN_BUF_CHARTABSIZE() is called.
IDEA: when drawing the text, store the text byte index in ScreenLinesIdx[].
When converting screen column to text position use this.
Store the line number and byte index for the start of the line, when
converting the screen line to text position use this, add the byte offset.
The line number can be obtained from win->w_lines[].
MS-Windows: did path modifier :p:8 stop working? #8600
@@ -302,9 +308,6 @@ Also, z= in German on a long word can take a very long time, but CTRL-C to
interrupt does not work. Where to add ui_breakcheck()?
New English spell files also have very slow suggestions.
Searching for \%'> does not find anything when using line Visual selection.
Probably because it's using MAXCOL. #8238
Make "g>" and "g<" in Visual mode move the text right or left.
Also for a block selection. #8558
@@ -333,8 +336,7 @@ Missing filetype test for bashrc, PKGBUILD, etc.
Add an option to not fetch terminal codes in xterm, to avoid flicker when t_Co
changes.
When using ":bwipe!" also get rid of references to be buffer, e.g. in the
jumplist and alternate file.
Add ??= operator, "a ??= b" works like "a = a ?? b". #10343
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
@@ -346,13 +348,6 @@ 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.
Regexp to search for duplicate lines does not work correctly:
/\(^.*\n\)\1 (Chris Morgan, #6239)
MS-Windows: when writing undo file the infostreams are copied in
mch_copy_file_attribute(), that seems unnecessary. (#7925)
Add a flag to only copy attributes?
Make the jumplist behave like a tag stack. (#7738) Should there be a more
time bound navigation, like with undo?
@@ -384,15 +379,6 @@ So that replaying the register doesn't use keymap/langmap and still does the
same thing.
Also see #737: langmap not applied to replaying recording.
Buffer autocommands are a bit inconsistent. Add a separate set of
autocommands for the buffer lifecycle:
BufIsCreated (after buffer ID exists)
BufIsLoaded (after buffer ID has content)
BufIsUnloaded (after buffer ID no longer has)
BufIsWiped (after buffer ID was wiped)
BufIsRenamed (after buffer ID gets another name)
The buffer list and windows are locked, no changes possible
Matchparen doesn't remove highlight after undo. (#7054)
Is OK when syntax HL is active.
@@ -424,27 +410,11 @@ Why does Test_invalid_sid() not work in the GUI?
Lua: updating wrong buffer when using newly created, unloaded buffer.
(#6539)
When "+ register is set then "" points to it. If another Vim grabs the "+
register, then "" doesn't contain anything. Make it still follow "+.
(#6435)
File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733)
When editing a file with ":edit" the output of :swapname is relative, while
editing it with "vim file" it is absolute. (#355)
Which one should it be?
Problem with auto-formatting - inserting space and putting cursor before added
character. (#6154)
undo result wrong: Masato Nishihata, #4798
After recovering from a swap file the undofile should not be used, it causes
corruption. (#6631)
When the computer crashes while writing the undofile, the contents may be
lost. Write to a temp file, fsync and rename. (#8879)
When 'lazyredraw' is set sometimes the title is not updated.
(Jason Franklin, 2020 Feb 3) Looks like a race condition.
@@ -482,8 +452,6 @@ Wrong error when using local arglist. (Harm te Hennepe, #6133)
Test loose_clipboard() by selecting text before suspending.
Undo puts cursor in wrong line after "cG<Esc>" undo.
:unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
Dec 19)
@@ -505,18 +473,10 @@ in terminal.c and then CTRL-N twice.
Should do current file first and not split it up when more results are found.
(Also #1890)
Undo history wrong when ":next file" re-uses a buffer. (#5426)
ex_next() should pass flag to do_argfile(), then to do_ecmd().
Is there a test for this?
Help for ":argadd fname" says that if "fname" is already in the argument list
that entry is used. But instead it's always added. (#6210)
Add flag AL_FIND_ADD, if there is one argument find it in the list.
":bnext" in a help buffer is supposed to go to the next help buffer, but it
goes to any buffer, and then :bnext skips help buffers, since they are
unlisted. (#4478)
Statusline highlighting error, off by one. (#5599)
":find" with 'path' set to "data*" does not find files, while completion does
@@ -571,9 +531,6 @@ when "qq" is mapped and after the first "q" the mouse is moved outside of the
gvim window (with focus follows mouse), then the K_FOCUSLOST key is put in the
input buffer. (#5302)
:buffer completion does not escape "+" properly and results in a regexp error.
(#5467)
Check_external_diff() is used too often. (Daniel Hahler, #4800)
Win32: after "[I" showing matches, scroll wheel messes up screen. (Tsakiridis,
@@ -774,9 +731,6 @@ punctuation is repeated. (Smylers, 2018 Nov 17, #3621)
Using single wide base character with double wide composing character gives
drawing errors. Fill up the base character? (Dominique, #4328)
Problem with two buffers with the same name a/b, if it didn't exist before and
is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
When 'sidescrolloff' is set, using "zl" to go to the end of the line, suddenly
scrolls back. Should allow for this scrolling, like 'scrolloff' does when
using CTRL-E. (Yee Cheng Chin, #3721)
@@ -795,8 +749,6 @@ when possible. (Dylan Lloyd, #3973)
Make ":interactive !cmd" stop termcap mode, also when used in an autocommand.
(#3692)
Add buffer argument to undotree(). (#4001)
matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
19.
@@ -879,10 +831,6 @@ Try out background make plugin:
or asyncmake:
https://github.com/yegappan/asyncmake
Add an option with file patterns, to be used when unloading a buffer: If there
is a match, remove entries for the buffer from marks, jumplist, etc. To be
used for git temp files.
Cursor in wrong position when line wraps. (#2540)
Setting 'columns' in a BufEnter autocommand causes a second tab width to
@@ -915,10 +863,6 @@ missing: --nofork, -A , -b, -h, etc.
":au * * command" should not be allowed, only use * for event when listing or
deleting autocmds, not when adding them.
With 'foldmethod' "indent" and appending an empty line, what follows isn't
included in the existing fold. Deleting the empty line and undo fixes it.
(Oleg Koshovetc, 2018 Jul 15, #3214)
Column number is wrong when using 'linebreak' and 'wrap'. (Keith Smiley, 2018
Jan 15, #2555)
@@ -933,15 +877,10 @@ Python indenting: alternative way to indent arguments:
http://orchistro.tistory.com/236
Should be supported with a flag.
Add the debug command line history to viminfo.
Add Makefiles to the runtime/spell directory tree, since nobody uses Aap.
Will have to explain the manual steps (downloading the .aff and .dic files,
applying the diff, etc.
Pasting a register in Visual mode cannot be repeated. (Mahmoud Al-Qudsi, 2018
Apr 26, #2849)
User dictionary ~/.vim/spell/lang.utf-8.add not used for spell checking until a
word is re-added to it. (Matej Cepl, 2018 Feb 6)
@@ -1074,9 +1013,6 @@ behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
The ++ options for the :edit command are also useful on the Vim command line.
When recovering a file, put the swap file name in b:recovered_swapfile. Then
a command can delete it.
Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14,
#2089) Patch with possible solution by Björn Linse.
@@ -1136,9 +1072,6 @@ Use gvimext.dll from the nightly build? (Issue #249)
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
8, #1690)
Using "wviminfo /tmp/viminfo" does not store file marks that Vim knows about,
it only works when merging with an existing file. (Shougo, 2017 Jun 19, #1781)
Memory leak in test97? The string is actually freed. Weird.
assert_fails() can only check for the first error. Make it possible to have
@@ -1258,8 +1191,6 @@ Should :vmap in matchit.vim be :xmap? (Tony Mechelynck)
Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)
Undo problem: "g-" doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18)
Add "unicode true" to NSIS installer. Doesn't work with Windows 95, which we
no longer support.
@@ -1356,10 +1287,6 @@ Regexp problems:
Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
(2017 May 15, #1252)
Undo message is not always properly displayed. Patch by Ken Takata, 2013 oct
3. Doesn't work properly according to Yukihiro Nakadaira.
Also see #1635.
Idea from Sven: record sequence of keys. Useful to show others what they are
doing (look over the shoulder), and also to see what happened.
Probably list of keystrokes, with some annotations for mode changes.
@@ -1372,9 +1299,6 @@ cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
Patch to order results from taglist(). (Duncan McDougall, 2016 Oct 25)
When using ":diffput" through a mapping, undo in the target buffer isn't
synced. (Ryan Carney, 2016 Sep 14)
Syntax highlighting for messages with RFC3339 timestamp (#946)
Did maintainer reply?
@@ -1662,9 +1586,6 @@ This neither: (ZyX)
Change 'viewdir' to "$HOME/vimfiles/view" and use 'viewdiralt' to also read
from?
Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
2014 Jun 8)
Include a plugin manager with Vim? vim-plug seems to be the best currently:
https://github.com/junegunn/vim-plug.
Also Vundle: https://github.com/gmarik/vundle
@@ -1728,12 +1649,6 @@ Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)
Several syntax file match "^\s*" which may get underlined if that's in the
highlight group. Add a "\zs" after it?
The undo file name can get too long. (Issue 346)
For the path use a hash instead of dir%dir%dir%name hash%name.
Patch to add ":undorecover", get as much text out of the undo file as
possible. (Christian Brabandt, 2014 Mar 12, update Aug 22)
Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)
Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
@@ -1758,9 +1673,6 @@ Dec 13. Only helps a bit, 10000ii<Esc> is still too slow.
GTK: problem with 'L' in 'guioptions' changing the window width.
(Aaron Cornelius, 2012 Feb 6)
Patch to add option that tells whether small deletes go into the numbered
registers. (Aryeh Leib Taurog, 2013 Nov 18)
Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
The BufUnload event is triggered when re-using the empty buffer.
@@ -1810,10 +1722,6 @@ Patch by Christian Brabandt, 2013 Apr 20, unfinished.
Bug: findfile("any", "file:///tmp;") does not work.
In the ATTENTION message about an existing swap file, mention the name of the
process that is running. It might actually be some other program, e.g. after
a reboot.
patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
Patch to add "combine" to :syntax, combines highlight attributes. (Nate
Soares, 2012 Dec 3)
@@ -1878,10 +1786,6 @@ Alternate suggestion: let all columns continue, also the number column.
Patch to add tests for if_xcmdsrv.c., Jul 8, need some more work. (Brian Burns)
New tests Jul 13. Update Jul 17. Discussion Jul 18.
When running Vim in silent ex mode, an existing swapfile causes Vim to wait
for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
Do give the prompt? Quit with an error?
Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
Update Vim app icon (for Gnome). (Jakub Steiner, 2013 Dec 6)
@@ -1954,9 +1858,6 @@ Oct 26)
Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20)
With "unamedplus" in 'clipboard' pasting in Visual mode causes error for empty
register. (Michael Seiwald, 2011 Jun 28) I can't reproduce it.
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
When using a Vim server, a # in the path causes an error message.
@@ -2061,9 +1962,6 @@ Version of netbeans.c for use with MacVim. (Kazuki Sakamoto, 2010 Nov 18)
there is one backslash. (Ray Frush, 2010 Nov 18) What does the original ex
do?
Searching mixed with Visual mode doesn't redraw properly. (James Vega, 2010 Nov
22)
New esperanto spell file can't be processed. (Dominique Pelle, 2011 Jan 30)
- move compflags to separate growarray?
- instead of a regexp use a hashtable. Expand '?', '*', '+'. What would be
@@ -2156,9 +2054,6 @@ Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
Winckler, 2011 May 11)
Requires a map mode for Insert mode started from blockwise Visual mode.
Writing nested List and Dict in viminfo gives error message and can't be read
back. (Yukihiro Nakadaira, 2010 Nov 13)
Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
Additional info by Dominique Pelle. (also on 2010 Apr 10)
@@ -2202,9 +2097,6 @@ like it has ":keepjumps" before it.
Coverity: Check if there are new reported defects:
https://scan.coverity.com/projects/241
Patch to support :undo absolute jump to file save number. (Christian Brabandt,
2010 Nov 5)
Patch to use 'foldnestmax' also for "marker" foldmethod. (Arnaud Lacombe, 2011
Jan 7)
@@ -2315,10 +2207,6 @@ displayed in a window should return the value that's stored for that buffer.
":he ctrl_u" can be auto-corrected to ":he ctrl-u".
There should be a way after an abbreviation has expanded to go back to what
was typed. CTRL-G h ? Would also undo last word or line break inserted
perhaps. And undo CTRL-W. CTRL-G l would redo.
Diff mode out of sync. (Gary Johnson, 2010 Aug 4)
Win32 GUI: last message from startup doesn't show up when there is an echoerr
@@ -2337,9 +2225,6 @@ Session file generates error upon loading, cause by --remote-silent-tab.
Using ~ works OK on 'a' with composing char, but not on 0x0418 with composing
char 0x0301. (Tony Mechelynck, 2009 Mar 4)
Searching for composing char works, but not when inside []. (ZyX, Benjamin R.
Haskell, 2010 Aug 24)
This does not work yet: "a\(%C\)" (get composing characters into a submatch).
Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
@@ -2357,16 +2242,6 @@ a modeline.
Add cscope target to Makefile. (Tony Mechelynck, 2009 Jun 18, replies by
Sergey Khorev)
Consider making YankRing or something else that keeps a list of yanked text
part of standard Vim. The "1 to "9 registers are not sufficient.
6 When yanking into the unnamed registers several times, somehow make the
previous contents also available (like it's done for deleting). What
register names to use? g"1, g"2, etc.?
Also do this for the small delete register "-.
After doing "su" $HOME can be the old user's home, thus ~root/file is not
correct. Don't use it in the swap file.
Completion for ":buf" doesn't work properly on Win32 when 'shellslash' is off.
(Henrik Ohman, 2009, Jan 29)
@@ -2528,22 +2403,12 @@ Try to reproduce at work.
Patch for default choice in file changed dialog. (Bjorn Winckler, 2008 Oct 19)
Is there a way to list all the files first?
When 'smartcase' is set and using CTRL-L to add to the search pattern it may
result in no matches. Convert chars to lower case? (Erik Wognsen, 2009 Apr
16)
Fail to edit file after failed register access. Error flag remains set?
(Lech Lorens, 2010 Aug 30)
Patch for redo register. (Ben Schmidt, 2007 Oct 19)
Await response to question to make the register writable.
Problem with 'ts' set to 9 and 'showbreak' to ">>>". (Matthew Winn, 2007 Oct
1)
In the swapfile dialog, add a H(elp) option that gives more info about what
each choice does. Similar to ":help swap-exists-choices"
":tab help" always opens a new tab, while ":help" re-uses an existing window.
Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
@@ -2607,9 +2472,6 @@ popup menu over it, first draw the new popup menu, remember its position and
size and then redraw the text, skipping the characters under the popup menu.
This should avoid flicker. Other solution by A.Politz, 2007 Aug 22.
When a register contains illegal bytes, writing viminfo in utf-8 and reading
it back doesn't result in utf-8. (Devin Bayer)
When the file name has parenthesis, e.g., "foo (bar).txt", ":!ls '%'" has the
parenthesis escaped but not the space. That's inconsistent. Either escape
neither or both. No escaping might be best, because it doesn't depend on
@@ -2688,9 +2550,6 @@ Cursor displayed in the wrong position when using 'numberwidth'. (James Vega,
When $VAR contains a backslash expand('$VAR') removes it. (Teemu Likonen, 2008
Jun 18)
In debug mode, using CTRL-R = to evaluate a function causes stepping through
the function. (Hari Krishna Dara, 2006 Jun 28)
C++ indenting wrong with "=". (James Kanze, 2007 Jan 26)
":lockvar" should use copyID to avoid endless loop.
@@ -3041,6 +2900,9 @@ Awaiting updated patches:
- For GUI Find/Replace dialog support using a regexp. Patch for Motif
and GTK by degreneir (nov 10 and nov 18).
- Patch for "paranoid mode" by Kevin Collins, March 7. Needs much more work.
- Patch for redo register. (Ben Schmidt, 2007 Oct 19)
Await response to question to make the register writable.
Better 'rightleft' or BIDI support:
- Minimal Vi with bidi support: https://github.com/aligrudi/neatvi
@@ -3583,10 +3445,6 @@ Macintosh:
maximum number of open files, error messages will appear. Detect that
this problem is present, and close any hidden files that don't have
changes.
8 With 'viminfo' set such that the ".viminfo" file is written on a FAT
filesystem, an illegal file name may be created: ".vim".
8 For each buffer that is opened, the viminfo file is opened and read to
check for file marks. This can be slow.
8 Core dump within signal function: gdb doesn't show stack backtrace! Option
to skip catch_signals()?
9 Repeating a "cw" with "." doesn't work if the text was pasted from the
@@ -3636,9 +3494,6 @@ Macintosh:
"initdir" is the default path to be used.
7 When 'scrolloff' is exactly half the window height, "j" causes a scroll of
two lines at a time. "k" doesn't do this. (Cory T. Echols)
8 When write_viminfo() is used while there are many orphaned viminfo
tempfiles writing the viminfo file fails. Give a clear error message so
that the user knows the files have to be deleted.
I can't reproduce these (if you can, let me know how!):
@@ -4797,6 +4652,14 @@ Autocommands:
Default: 0 = do not autosave the buffer.
Alternative: have 'autosave' use 'updatetime' and 'updatecount' but make
them save the file itself besides the swapfile.
- Buffer autocommands are a bit inconsistent. Add a separate set of
autocommands for the buffer lifecycle:
BufIsCreated (after buffer ID exists)
BufIsLoaded (after buffer ID has content)
BufIsUnloaded (after buffer ID no longer has)
BufIsWiped (after buffer ID was wiped)
BufIsRenamed (after buffer ID gets another name)
The buffer list and windows are locked, no changes possible
Omni completion:
@@ -5468,6 +5331,19 @@ Searching:
[not in xvim:] Add option to switch on matches crossing ONE line boundary.
7 Add ":iselect", a combination of ":ilist" and ":tselect". (Aaron) (Zellner)
Also ":dselect".
- Searching for \%'> does not find anything when using line Visual
selection. Probably because it's using MAXCOL. #8238
- Regexp to search for duplicate lines does not work correctly:
/\(^.*\n\)\1 (Chris Morgan, #6239)
- Problem with upwards search on Windows (works OK on Linux). (Brett
Stahlman, 2014 Jun 8)
- Searching mixed with Visual mode doesn't redraw properly. (James Vega,
2010 Nov 22)
- Searching for composing char works, but not when inside []. (ZyX, Benjamin
R. Haskell, 2010 Aug 24)
- When 'smartcase' is set and using CTRL-L to add to the search pattern it
may result in no matches. Convert chars to lower case? (Erik Wognsen,
2009 Apr 16)
Undo:
@@ -5509,6 +5385,36 @@ Undo:
- When executing macro's: Save each line for undo only once.
- When doing a global substitute, causing almost all lines to be changed,
undo info becomes very big. Put undo info in swap file??
- MS-Windows: when writing undo file the infostreams are copied in
mch_copy_file_attribute(), that seems unnecessary. (#7925) Add a flag to
only copy attributes?
- undo result wrong: Masato Nishihata, #4798
- After recovering from a swap file the undofile should not be used, it
causes corruption. (#6631)
- When the computer crashes while writing the undofile, the contents may be
lost. Write to a temp file, fsync and rename. (#8879)
- Undo puts cursor in wrong line after "cG<Esc>" undo.
- Undo history wrong when ":next file" re-uses a buffer. (#5426) ex_next()
should pass flag to do_argfile(), then to do_ecmd(). Is there a test for
this?
- Add buffer argument to undotree(). (#4001)
- Undo problem: "g-" doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18)
- Undo message is not always properly displayed. Patch by Ken Takata, 2013
oct 3. Doesn't work properly according to Yukihiro Nakadaira.
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)
For the path use a hash instead of dir%dir%dir%name hash%name.
- 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
Brabandt, 2010 Nov 5)
- There should be a way after an abbreviation has expanded to go back to
what was typed. CTRL-G h ? Would also undo last word or line break
inserted perhaps. And undo CTRL-W. CTRL-G l would redo.
- When using 'cryptmethod' xchaha20 the undo file is not encrypted.
Need to handle extra bytes.
Buffer list:
@@ -5539,6 +5445,18 @@ Buffer list:
8 Some file systems are case-sensitive, some are not. Besides
'wildignorecase' there might be more parts inside
CASE_INSENSITIVE_FILENAME that are useful on Unix.
- When using ":bwipe!" also get rid of references to be buffer, e.g. in the
jumplist and alternate file.
- ":bnext" in a help buffer is supposed to go to the next help buffer, but
it goes to any buffer, and then :bnext skips help buffers, since they are
unlisted. (#4478)
- :buffer completion does not escape "+" properly and results in a regexp
error. (#5467)
- Problem with two buffers with the same name a/b, if it didn't exist before
and is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
- Add an option with file patterns, to be used when unloading a buffer: If
there is a match, remove entries for the buffer from marks, jumplist, etc.
To be used for git temp files.
Swap (.swp) files:
@@ -5569,6 +5487,21 @@ Swap (.swp) files:
original file. Also do this when the file is huge (>'maxmem'). We do
need to load the file once to count the number of lines? Perhaps keep a
cached list of which line is where.
- When editing a file with ":edit" the output of :swapname is relative,
while editing it with "vim file" it is absolute. (#355) Which one should
it be?
- When recovering a file, put the swap file name in b:recovered_swapfile.
Then a command can delete it.
- In the ATTENTION message about an existing swap file, mention the name of
the process that is running. It might actually be some other program,
e.g. after a reboot.
- When running Vim in silent ex mode, an existing swapfile causes Vim to
wait for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
Do give the prompt? Quit with an error?
- After doing "su" $HOME can be the old user's home, thus ~root/file is not
correct. Don't use it in the swap file.
- In the swapfile dialog, add a H(elp) option that gives more info about
what each choice does. Similar to ":help swap-exists-choices"
Viminfo:
@@ -5595,6 +5528,21 @@ Viminfo:
same files in the windows. Use ":mksession" code?
- Make marks present in .viminfo usable as file marks: Display a list of
"last visited files" and select one to jump to.
- Add the debug command line history to viminfo.
- Using "wviminfo /tmp/viminfo" does not store file marks that Vim knows
about, it only works when merging with an existing file. (Shougo, 2017
Jun 19, #1781)
- Writing nested List and Dict in viminfo gives error message and can't be
read back. (Yukihiro Nakadaira, 2010 Nov 13)
- When a register contains illegal bytes, writing viminfo in utf-8 and
reading it back doesn't result in utf-8. (Devin Bayer)
8 With 'viminfo' set such that the ".viminfo" file is written on a FAT
filesystem, an illegal file name may be created: ".vim".
8 For each buffer that is opened, the viminfo file is opened and read to
check for file marks. This can be slow.
8 When write_viminfo() is used while there are many orphaned viminfo
tempfiles writing the viminfo file fails. Give a clear error message so
that the user knows the files have to be deleted.
Modelines:
@@ -5813,6 +5761,23 @@ Registers:
to position of previous deleted (to swap foo and bar in " + foo")
8 Should be able to yank and delete into the "/ register.
How to take care of the flags (offset, magic)?
- In Select mode the deleted text always goes into the unnamed register.
Use CTRL-R to specify the register to use. (#9531)
- When "+ register is set then "" points to it. If another Vim grabs the "+
register, then "" doesn't contain anything. Make it still follow "+.
(#6435)
- Pasting a register in Visual mode cannot be repeated. (Mahmoud Al-Qudsi,
2018 Apr 26, #2849)
- Patch to add option that tells whether small deletes go into the numbered
registers. (Aryeh Leib Taurog, 2013 Nov 18)
- With "unamedplus" in 'clipboard' pasting in Visual mode causes error for
empty register. (Michael Seiwald, 2011 Jun 28) I can't reproduce it.
- Consider making YankRing or something else that keeps a list of yanked
text part of standard Vim. The "1 to "9 registers are not sufficient.
6 When yanking into the unnamed registers several times, somehow make the
previous contents also available (like it's done for deleting). What
register names to use? g"1, g"2, etc.?
Also do this for the small delete register "-.
Debug mode:
@@ -5820,6 +5785,9 @@ Debug mode:
8 Add breakpoints for assigning to a variable.
7 Store the history from debug mode in viminfo.
7 Make the debug mode history available with histget() et al.
- In debug mode, using CTRL-R = to evaluate a function causes stepping
through the function. (Hari Krishna Dara, 2006 Jun 28)
Various improvements:
7 Add plugins for formatting? Should be able to make a choice depending on

View File

@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 8.2. Last change: 2022 Feb 11
*usr_41.txt* For Vim version 8.2. Last change: 2022 May 13
VIM USER MANUAL - by Bram Moolenaar
@@ -19,12 +19,6 @@ script. There are a lot of them, thus this is a long chapter.
|41.8| Lists and Dictionaries
|41.9| Exceptions
|41.10| Various remarks
|41.11| Writing a plugin
|41.12| Writing a filetype plugin
|41.13| Writing a compiler plugin
|41.14| Writing a plugin that loads quickly
|41.15| Writing library scripts
|41.16| Distributing Vim scripts
Next chapter: |usr_42.txt| Add new menus
Previous chapter: |usr_40.txt| Make new commands
@@ -42,14 +36,10 @@ Syntax files are also Vim scripts. As are files that set options for a
specific file type. A complicated macro can be defined by a separate Vim
script file. You can think of other uses yourself.
If you are familiar with Python, you can find a comparison between
Python and Vim script here, with pointers to other documents:
https://gist.github.com/yegappan/16d964a37ead0979b05e655aa036cad0
And if you are familiar with JavaScript:
https://w0rp.com/blog/post/vim-script-for-the-javascripter/
Vim script comes in two flavors: legacy and |Vim9|. Since this help file is
for new users, we'll teach you the newer and more convenient |Vim9| syntax.
While legacy script is particular for Vim, |Vim9| script looks more like other
languages, such as JavaScript and TypeScript.
To try out Vim script the best way is to edit a script file and source it.
Basically: >
@@ -904,6 +894,7 @@ System functions and manipulation of files:
getfperm() get the permissions of a file
setfperm() set the permissions of a file
getftype() get the kind of a file
isabsolutepath() check if a path is absolute
isdirectory() check if a directory exists
getfsize() get the size of a file
getcwd() get the current working directory
@@ -975,8 +966,12 @@ Buffers, windows and the argument list:
swapname() get the swap file path of a buffer
Command line: *command-line-functions*
getcmdcompltype() get the type of the current command line
completion
getcmdline() get the current command line
getcmdpos() get position of the cursor in the command line
getcmdscreenpos() get screen position of the cursor in the
command line
setcmdpos() set position of the cursor in the command line
getcmdtype() return the current command-line type
getcmdwintype() return the current command-line window type
@@ -1092,6 +1087,7 @@ Mappings and Menus: *mapping-functions*
hasmapto() check if a mapping exists
mapcheck() check if a matching mapping exists
maparg() get rhs of a mapping
maplist() get list of all mappings
mapset() restore a mapping
menu_info() get information about a menu item
wildmenumode() check if the wildmode is active
@@ -1922,838 +1918,6 @@ are script-local.
If you split your plugin into parts, you can use `import` and `export` to
share items between those parts. See `:export` for the details.
==============================================================================
*41.11* Writing a plugin *write-plugin*
You can write a Vim script in such a way that many people can use it. This is
called a plugin. Vim users can drop your script in their plugin directory and
use its features right away |add-plugin|.
There are actually two types of plugins:
global plugins: For all types of files.
filetype plugins: Only for files of a specific type.
In this section the first type is explained. Most items are also relevant for
writing filetype plugins. The specifics for filetype plugins are in the next
section |write-filetype-plugin|.
NAME
First of all you must choose a name for your plugin. The features provided
by the plugin should be clear from its name. And it should be unlikely that
someone else writes a plugin with the same name but which does something
different.
A script that corrects typing mistakes could be called "typecorrect.vim". We
will use it here as an example.
For the plugin to work for everybody, it should follow a few guidelines. This
will be explained step-by-step. The complete example plugin is at the end.
BODY
Let's start with the body of the plugin, the lines that do the actual work: >
14 iabbrev teh the
15 iabbrev otehr other
16 iabbrev wnat want
17 iabbrev synchronisation
18 \ synchronization
The actual list should be much longer, of course.
The line numbers have only been added to explain a few things, don't put them
in your plugin file!
FIRST LINE
>
1 vim9script noclear
You need to use `vimscript` as the very first command. Best is to put it in
the very first line.
The script we are writing will have a `finish` command to bail out when it is
loaded a second time. To avoid the items defined in the script are lost the
"noclear" argument is used. More info about this at |vim9-reload|.
HEADER
You will probably add new corrections to the plugin and soon have several
versions lying around. And when distributing this file, people will want to
know who wrote this wonderful plugin and where they can send remarks.
Therefore, put a header at the top of your plugin: >
2 # Vim global plugin for correcting typing mistakes
3 # Last Change: 2021 Dec 30
4 # Maintainer: Bram Moolenaar <Bram@vim.org>
About copyright and licensing: Since plugins are very useful and it's hardly
worth restricting their distribution, please consider making your plugin
either public domain or use the Vim |license|. A short note about this near
the top of the plugin should be sufficient. Example: >
5 # License: This file is placed in the public domain.
LINE CONTINUATION AND AVOIDING SIDE EFFECTS *use-cpo-save*
In line 18 above, the line-continuation mechanism is used |line-continuation|.
Users with 'compatible' set will run into trouble here, they will get an error
message. We can't just reset 'compatible', because that has a lot of side
effects. Instead, we will set the 'cpoptions' option to its Vim default
value and restore it later. That will allow the use of line-continuation and
make the script work for most people. It is done like this: >
11 var save_cpo = &cpo
12 set cpo&vim
..
42 &cpo = save_cpo
We first store the old value of 'cpoptions' in the "save_cpo" variable. At
the end of the plugin this value is restored.
Notice that "save_cpo" is a script-local variable. A global variable could
already be in use for something else. Always use script-local variables for
things that are only used in the script.
NOT LOADING
It is possible that a user doesn't always want to load this plugin. Or the
system administrator has dropped it in the system-wide plugin directory, but a
user has his own plugin he wants to use. Then the user must have a chance to
disable loading this specific plugin. These lines will make it possible: >
7 if exists("g:loaded_typecorrect")
8 finish
9 endif
10 g:loaded_typecorrect = 1
This also avoids that when the script is loaded twice it would pointlessly
redefine functions and cause trouble for autocommands that are added twice.
The name is recommended to start with "g:loaded_" and then the file name of
the plugin, literally. The "g:" is prepended to make the variable global, so
that other places can check whether its functionality is available. Without
"g:" it would be local to the script.
Using `finish` stops Vim from reading the rest of the file, it's much quicker
than using if-endif around the whole file, since Vim would still need to parse
the commands to find the `endif`.
MAPPING
Now let's make the plugin more interesting: We will add a mapping that adds a
correction for the word under the cursor. We could just pick a key sequence
for this mapping, but the user might already use it for something else. To
allow the user to define which keys a mapping in a plugin uses, the <Leader>
item can be used: >
22 map <unique> <Leader>a <Plug>TypecorrAdd;
The "<Plug>TypecorrAdd;" thing will do the work, more about that further on.
The user can set the "g:mapleader" variable to the key sequence that he wants
plugin mappings to start with. Thus if the user has done: >
g:mapleader = "_"
the mapping will define "_a". If the user didn't do this, the default value
will be used, which is a backslash. Then a map for "\a" will be defined.
Note that <unique> is used, this will cause an error message if the mapping
already happened to exist. |:map-<unique>|
But what if the user wants to define his own key sequence? We can allow that
with this mechanism: >
21 if !hasmapto('<Plug>TypecorrAdd;')
22 map <unique> <Leader>a <Plug>TypecorrAdd;
23 endif
This checks if a mapping to "<Plug>TypecorrAdd;" already exists, and only
defines the mapping from "<Leader>a" if it doesn't. The user then has a
chance of putting this in his vimrc file: >
map ,c <Plug>TypecorrAdd;
Then the mapped key sequence will be ",c" instead of "_a" or "\a".
PIECES
If a script gets longer, you often want to break up the work in pieces. You
can use functions or mappings for this. But you don't want these functions
and mappings to interfere with the ones from other scripts. For example, you
could define a function Add(), but another script could try to define the same
function. To avoid this, we define the function local to the script.
Fortunately, in |Vim9| script this is the default. In a legacy script you
would need to prefix the name with "s:".
We will define a function that adds a new typing correction: >
30 def Add(from: string, correct: bool)
31 var to = input("type the correction for " .. from .. ": ")
32 exe ":iabbrev " .. from .. " " .. to
..
36 enddef
Now we can call the function Add() from within this script. If another
script also defines Add(), it will be local to that script and can only
be called from that script. There can also be a global g:Add() function,
which is again another function.
<SID> can be used with mappings. It generates a script ID, which identifies
the current script. In our typing correction plugin we use it like this: >
24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
..
28 noremap <SID>Add :call <SID>Add(expand("<cword>"), true)<CR>
Thus when a user types "\a", this sequence is invoked: >
\a -> <Plug>TypecorrAdd; -> <SID>Add -> :call <SID>Add(...)
If another script also maps <SID>Add, it will get another script ID and
thus define another mapping.
Note that instead of Add() we use <SID>Add() here. That is because the
mapping is typed by the user, thus outside of the script context. The <SID>
is translated to the script ID, so that Vim knows in which script to look for
the Add() function.
This is a bit complicated, but it's required for the plugin to work together
with other plugins. The basic rule is that you use <SID>Add() in mappings and
Add() in other places (the script itself, autocommands, user commands).
We can also add a menu entry to do the same as the mapping: >
26 noremenu <script> Plugin.Add\ Correction <SID>Add
The "Plugin" menu is recommended for adding menu items for plugins. In this
case only one item is used. When adding more items, creating a submenu is
recommended. For example, "Plugin.CVS" could be used for a plugin that offers
CVS operations "Plugin.CVS.checkin", "Plugin.CVS.checkout", etc.
Note that in line 28 ":noremap" is used to avoid that any other mappings cause
trouble. Someone may have remapped ":call", for example. In line 24 we also
use ":noremap", but we do want "<SID>Add" to be remapped. This is why
"<script>" is used here. This only allows mappings which are local to the
script. |:map-<script>| The same is done in line 26 for ":noremenu".
|:menu-<script>|
<SID> AND <Plug> *using-<Plug>*
Both <SID> and <Plug> are used to avoid that mappings of typed keys interfere
with mappings that are only to be used from other mappings. Note the
difference between using <SID> and <Plug>:
<Plug> is visible outside of the script. It is used for mappings which the
user might want to map a key sequence to. <Plug> is a special code
that a typed key will never produce.
To make it very unlikely that other plugins use the same sequence of
characters, use this structure: <Plug> scriptname mapname
In our example the scriptname is "Typecorr" and the mapname is "Add".
We add a semicolon as the terminator. This results in
"<Plug>TypecorrAdd;". Only the first character of scriptname and
mapname is uppercase, so that we can see where mapname starts.
<SID> is the script ID, a unique identifier for a script.
Internally Vim translates <SID> to "<SNR>123_", where "123" can be any
number. Thus a function "<SID>Add()" will have a name "<SNR>11_Add()"
in one script, and "<SNR>22_Add()" in another. You can see this if
you use the ":function" command to get a list of functions. The
translation of <SID> in mappings is exactly the same, that's how you
can call a script-local function from a mapping.
USER COMMAND
Now let's add a user command to add a correction: >
38 if !exists(":Correct")
39 command -nargs=1 Correct :call Add(<q-args>, false)
40 endif
The user command is defined only if no command with the same name already
exists. Otherwise we would get an error here. Overriding the existing user
command with ":command!" is not a good idea, this would probably make the user
wonder why the command he defined himself doesn't work. |:command|
If it did happen you can find out who to blame with: >
verbose command Correct
SCRIPT VARIABLES
When a variable starts with "s:" it is a script variable. It can only be used
inside a script. Outside the script it's not visible. This avoids trouble
with using the same variable name in different scripts. The variables will be
kept as long as Vim is running. And the same variables are used when sourcing
the same script again. |s:var|
The nice thing about |Vim9| script is that variables are local to the script
by default. You can prepend "s:" if you like, but you do not need to. And
functions in the script can also use the script variables without a prefix.
Script-local variables can also be used in functions, autocommands and user
commands that are defined in the script. Thus they are the perfect way to
share information between parts of your plugin, without it leaking out. In
our example we can add a few lines to count the number of corrections: >
19 var count = 4
..
30 def Add(from: string, correct: bool)
..
34 count += 1
35 echo "you now have " .. count .. " corrections"
36 enddef
"count" is declared and initialized to 4 in the script itself. When later
the Add() function is called, it increments "count". It doesn't matter from
where the function was called, since it has been defined in the script, it
will use the local variables from this script.
THE RESULT
Here is the resulting complete example: >
1 vim9script noclear
2 # Vim global plugin for correcting typing mistakes
3 # Last Change: 2021 Dec 30
4 # Maintainer: Bram Moolenaar <Bram@vim.org>
5 # License: This file is placed in the public domain.
6
7 if exists("g:loaded_typecorrect")
8 finish
9 endif
10 g:loaded_typecorrect = 1
11 var save_cpo = &cpo
12 set cpo&vim
13
14 iabbrev teh the
15 iabbrev otehr other
16 iabbrev wnat want
17 iabbrev synchronisation
18 \ synchronization
19 var count = 4
20
21 if !hasmapto('<Plug>TypecorrAdd;')
22 map <unique> <Leader>a <Plug>TypecorrAdd;
23 endif
24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
25
26 noremenu <script> Plugin.Add\ Correction <SID>Add
27
28 noremap <SID>Add :call <SID>Add(expand("<cword>"), true)<CR>
29
30 def Add(from: string, correct: bool)
31 var to = input("type the correction for " .. from .. ": ")
32 exe ":iabbrev " .. from .. " " .. to
33 if correct | exe "normal viws\<C-R>\" \b\e" | endif
34 count += 1
35 echo "you now have " .. count .. " corrections"
36 enddef
37
38 if !exists(":Correct")
39 command -nargs=1 Correct call Add(<q-args>, false)
40 endif
41
42 &cpo = save_cpo
Line 33 wasn't explained yet. It applies the new correction to the word under
the cursor. The |:normal| command is used to use the new abbreviation. Note
that mappings and abbreviations are expanded here, even though the function
was called from a mapping defined with ":noremap".
DOCUMENTATION *write-local-help*
It's a good idea to also write some documentation for your plugin. Especially
when its behavior can be changed by the user. See |add-local-help| for how
they are installed.
Here is a simple example for a plugin help file, called "typecorrect.txt": >
1 *typecorrect.txt* Plugin for correcting typing mistakes
2
3 If you make typing mistakes, this plugin will have them corrected
4 automatically.
5
6 There are currently only a few corrections. Add your own if you like.
7
8 Mappings:
9 <Leader>a or <Plug>TypecorrAdd;
10 Add a correction for the word under the cursor.
11
12 Commands:
13 :Correct {word}
14 Add a correction for {word}.
15
16 *typecorrect-settings*
17 This plugin doesn't have any settings.
The first line is actually the only one for which the format matters. It will
be extracted from the help file to be put in the "LOCAL ADDITIONS:" section of
help.txt |local-additions|. The first "*" must be in the first column of the
first line. After adding your help file do ":help" and check that the entries
line up nicely.
You can add more tags inside ** in your help file. But be careful not to use
existing help tags. You would probably use the name of your plugin in most of
them, like "typecorrect-settings" in the example.
Using references to other parts of the help in || is recommended. This makes
it easy for the user to find associated help.
FILETYPE DETECTION *plugin-filetype*
If your filetype is not already detected by Vim, you should create a filetype
detection snippet in a separate file. It is usually in the form of an
autocommand that sets the filetype when the file name matches a pattern.
Example: >
au BufNewFile,BufRead *.foo setlocal filetype=foofoo
Write this single-line file as "ftdetect/foofoo.vim" in the first directory
that appears in 'runtimepath'. For Unix that would be
"~/.vim/ftdetect/foofoo.vim". The convention is to use the name of the
filetype for the script name.
You can make more complicated checks if you like, for example to inspect the
contents of the file to recognize the language. Also see |new-filetype|.
SUMMARY *plugin-special*
Summary of special things to use in a plugin:
var name Variable local to the script.
<SID> Script-ID, used for mappings and functions local to
the script.
hasmapto() Function to test if the user already defined a mapping
for functionality the script offers.
<Leader> Value of "mapleader", which the user defines as the
keys that plugin mappings start with.
map <unique> Give a warning if a mapping already exists.
noremap <script> Use only mappings local to the script, not global
mappings.
exists(":Cmd") Check if a user command already exists.
==============================================================================
*41.12* Writing a filetype plugin *write-filetype-plugin* *ftplugin*
A filetype plugin is like a global plugin, except that it sets options and
defines mappings for the current buffer only. See |add-filetype-plugin| for
how this type of plugin is used.
First read the section on global plugins above |41.11|. All that is said there
also applies to filetype plugins. There are a few extras, which are explained
here. The essential thing is that a filetype plugin should only have an
effect on the current buffer.
DISABLING
If you are writing a filetype plugin to be used by many people, they need a
chance to disable loading it. Put this at the top of the plugin: >
# Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
b:did_ftplugin = 1
This also needs to be used to avoid that the same plugin is executed twice for
the same buffer (happens when using an ":edit" command without arguments).
Now users can disable loading the default plugin completely by making a
filetype plugin with only these lines: >
vim9script
b:did_ftplugin = 1
This does require that the filetype plugin directory comes before $VIMRUNTIME
in 'runtimepath'!
If you do want to use the default plugin, but overrule one of the settings,
you can write the different setting in a script: >
setlocal textwidth=70
Now write this in the "after" directory, so that it gets sourced after the
distributed "vim.vim" ftplugin |after-directory|. For Unix this would be
"~/.vim/after/ftplugin/vim.vim". Note that the default plugin will have set
"b:did_ftplugin", but it is ignored here.
OPTIONS
To make sure the filetype plugin only affects the current buffer use the >
setlocal
command to set options. And only set options which are local to a buffer (see
the help for the option to check that). When using `:setlocal` for global
options or options local to a window, the value will change for many buffers,
and that is not what a filetype plugin should do.
When an option has a value that is a list of flags or items, consider using
"+=" and "-=" to keep the existing value. Be aware that the user may have
changed an option value already. First resetting to the default value and
then changing it is often a good idea. Example: >
setlocal formatoptions& formatoptions+=ro
MAPPINGS
To make sure mappings will only work in the current buffer use the >
map <buffer>
command. This needs to be combined with the two-step mapping explained above.
An example of how to define functionality in a filetype plugin: >
if !hasmapto('<Plug>JavaImport;')
map <buffer> <unique> <LocalLeader>i <Plug>JavaImport;
endif
noremap <buffer> <unique> <Plug>JavaImport; oimport ""<Left><Esc>
|hasmapto()| is used to check if the user has already defined a map to
<Plug>JavaImport;. If not, then the filetype plugin defines the default
mapping. This starts with |<LocalLeader>|, which allows the user to select
the key(s) he wants filetype plugin mappings to start with. The default is a
backslash.
"<unique>" is used to give an error message if the mapping already exists or
overlaps with an existing mapping.
|:noremap| is used to avoid that any other mappings that the user has defined
interferes. You might want to use ":noremap <script>" to allow remapping
mappings defined in this script that start with <SID>.
The user must have a chance to disable the mappings in a filetype plugin,
without disabling everything. Here is an example of how this is done for a
plugin for the mail filetype: >
# Add mappings, unless the user didn't want this.
if !exists("g:no_plugin_maps") && !exists("g:no_mail_maps")
# Quote text by inserting "> "
if !hasmapto('<Plug>MailQuote;')
vmap <buffer> <LocalLeader>q <Plug>MailQuote;
nmap <buffer> <LocalLeader>q <Plug>MailQuote;
endif
vnoremap <buffer> <Plug>MailQuote; :s/^/> /<CR>
nnoremap <buffer> <Plug>MailQuote; :.,$s/^/> /<CR>
endif
Two global variables are used:
|g:no_plugin_maps| disables mappings for all filetype plugins
|g:no_mail_maps| disables mappings for the "mail" filetype
USER COMMANDS
To add a user command for a specific file type, so that it can only be used in
one buffer, use the "-buffer" argument to |:command|. Example: >
command -buffer Make make %:r.s
VARIABLES
A filetype plugin will be sourced for each buffer of the type it's for. Local
script variables will be shared between all invocations. Use local buffer
variables |b:var| if you want a variable specifically for one buffer.
FUNCTIONS
When defining a function, this only needs to be done once. But the filetype
plugin will be sourced every time a file with this filetype will be opened.
This construct makes sure the function is only defined once: >
if !exists("*Func")
def Func(arg)
...
enddef
endif
<
UNDO *undo_indent* *undo_ftplugin*
When the user does ":setfiletype xyz" the effect of the previous filetype
should be undone. Set the b:undo_ftplugin variable to the commands that will
undo the settings in your filetype plugin. Example: >
let b:undo_ftplugin = "setlocal fo< com< tw< commentstring<"
\ .. "| unlet b:match_ignorecase b:match_words b:match_skip"
Using ":setlocal" with "<" after the option name resets the option to its
global value. That is mostly the best way to reset the option value.
This does require removing the "C" flag from 'cpoptions' to allow line
continuation, as mentioned above |use-cpo-save|.
For undoing the effect of an indent script, the b:undo_indent variable should
be set accordingly.
Both these variables use legacy script syntax, not |Vim9| syntax.
FILE NAME
The filetype must be included in the file name |ftplugin-name|. Use one of
these three forms:
.../ftplugin/stuff.vim
.../ftplugin/stuff_foo.vim
.../ftplugin/stuff/bar.vim
"stuff" is the filetype, "foo" and "bar" are arbitrary names.
SUMMARY *ftplugin-special*
Summary of special things to use in a filetype plugin:
<LocalLeader> Value of "maplocalleader", which the user defines as
the keys that filetype plugin mappings start with.
map <buffer> Define a mapping local to the buffer.
noremap <script> Only remap mappings defined in this script that start
with <SID>.
setlocal Set an option for the current buffer only.
command -buffer Define a user command local to the buffer.
exists("*s:Func") Check if a function was already defined.
Also see |plugin-special|, the special things used for all plugins.
==============================================================================
*41.13* Writing a compiler plugin *write-compiler-plugin*
A compiler plugin sets options for use with a specific compiler. The user can
load it with the |:compiler| command. The main use is to set the
'errorformat' and 'makeprg' options.
Easiest is to have a look at examples. This command will edit all the default
compiler plugins: >
next $VIMRUNTIME/compiler/*.vim
Type `:next` to go to the next plugin file.
There are two special items about these files. First is a mechanism to allow
a user to overrule or add to the default file. The default files start with: >
if exists("g:current_compiler")
finish
endif
g:current_compiler = "mine"
When you write a compiler file and put it in your personal runtime directory
(e.g., ~/.vim/compiler for Unix), you set the "current_compiler" variable to
make the default file skip the settings.
*:CompilerSet*
The second mechanism is to use ":set" for ":compiler!" and ":setlocal" for
":compiler". Vim defines the ":CompilerSet" user command for this. However,
older Vim versions don't, thus your plugin should define it then. This is an
example: >
if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat& " use the default 'errorformat'
CompilerSet makeprg=nmake
When you write a compiler plugin for the Vim distribution or for a system-wide
runtime directory, use the mechanism mentioned above. When
"current_compiler" was already set by a user plugin nothing will be done.
When you write a compiler plugin to overrule settings from a default plugin,
don't check "current_compiler". This plugin is supposed to be loaded
last, thus it should be in a directory at the end of 'runtimepath'. For Unix
that could be ~/.vim/after/compiler.
==============================================================================
*41.14* Writing a plugin that loads quickly *write-plugin-quickload*
A plugin may grow and become quite long. The startup delay may become
noticeable, while you hardly ever use the plugin. Then it's time for a
quickload plugin.
The basic idea is that the plugin is loaded twice. The first time user
commands and mappings are defined that offer the functionality. The second
time the functions that implement the functionality are defined.
It may sound surprising that quickload means loading a script twice. What we
mean is that it loads quickly the first time, postponing the bulk of the
script to the second time, which only happens when you actually use it. When
you always use the functionality it actually gets slower!
This uses a FuncUndefined autocommand. Since Vim 7 there is an alternative:
use the |autoload| functionality |41.15|. That will also use |Vim9| script
instead of legacy script that is used here.
The following example shows how it's done: >
" Vim global plugin for demonstrating quick loading
" Last Change: 2005 Feb 25
" Maintainer: Bram Moolenaar <Bram@vim.org>
" License: This file is placed in the public domain.
if !exists("s:did_load")
command -nargs=* BNRead call BufNetRead(<f-args>)
map <F19> :call BufNetWrite('something')<CR>
let s:did_load = 1
exe 'au FuncUndefined BufNet* source ' .. expand('<sfile>')
finish
endif
function BufNetRead(...)
echo 'BufNetRead(' .. string(a:000) .. ')'
" read functionality here
endfunction
function BufNetWrite(...)
echo 'BufNetWrite(' .. string(a:000) .. ')'
" write functionality here
endfunction
When the script is first loaded "s:did_load" is not set. The commands between
the "if" and "endif" will be executed. This ends in a |:finish| command, thus
the rest of the script is not executed.
The second time the script is loaded "s:did_load" exists and the commands
after the "endif" are executed. This defines the (possible long)
BufNetRead() and BufNetWrite() functions.
If you drop this script in your plugin directory Vim will execute it on
startup. This is the sequence of events that happens:
1. The "BNRead" command is defined and the <F19> key is mapped when the script
is sourced at startup. A |FuncUndefined| autocommand is defined. The
":finish" command causes the script to terminate early.
2. The user types the BNRead command or presses the <F19> key. The
BufNetRead() or BufNetWrite() function will be called.
3. Vim can't find the function and triggers the |FuncUndefined| autocommand
event. Since the pattern "BufNet*" matches the invoked function, the
command "source fname" will be executed. "fname" will be equal to the name
of the script, no matter where it is located, because it comes from
expanding "<sfile>" (see |expand()|).
4. The script is sourced again, the "s:did_load" variable exists and the
functions are defined.
Notice that the functions that are loaded afterwards match the pattern in the
|FuncUndefined| autocommand. You must make sure that no other plugin defines
functions that match this pattern.
==============================================================================
*41.15* Writing library scripts *write-library-script*
Some functionality will be required in several places. When this becomes more
than a few lines you will want to put it in one script and use it from many
scripts. We will call that one script a library script.
Manually loading a library script is possible, so long as you avoid loading it
when it's already done. You can do this with the |exists()| function.
Example: >
if !exists('*MyLibFunction')
runtime library/mylibscript.vim
endif
MyLibFunction(arg)
Here you need to know that MyLibFunction() is defined in a script
"library/mylibscript.vim" in one of the directories in 'runtimepath'.
To make this a bit simpler Vim offers the autoload mechanism. Then the
example looks like this: >
mylib#myfunction(arg)
That's a lot simpler, isn't it? Vim will recognize the function name by the
embedded "#" character and when it's not defined search for the script
"autoload/mylib.vim" in 'runtimepath'. That script must define the
"mylib#myfunction()" function.
You can put many other functions in the mylib.vim script, you are free to
organize your functions in library scripts. But you must use function names
where the part before the '#' matches the script name. Otherwise Vim would
not know what script to load.
If you get really enthusiastic and write lots of library scripts, you may
want to use subdirectories. Example: >
netlib#ftp#read('somefile')
For Unix the library script used for this could be:
~/.vim/autoload/netlib/ftp.vim
Where the function is defined like this: >
def netlib#ftp#read(fname: string)
# Read the file fname through ftp
enddef
Notice that the name the function is defined with is exactly the same as the
name used for calling the function. And the part before the last '#'
exactly matches the subdirectory and script name.
You can use the same mechanism for variables: >
var weekdays = dutch#weekdays
This will load the script "autoload/dutch.vim", which should contain something
like: >
var dutch#weekdays = ['zondag', 'maandag', 'dinsdag', 'woensdag',
\ 'donderdag', 'vrijdag', 'zaterdag']
Further reading: |autoload|.
==============================================================================
*41.16* Distributing Vim scripts *distribute-script*
Vim users will look for scripts on the Vim website: http://www.vim.org.
If you made something that is useful for others, share it!
Another place is github. But there you need to know where to find it! The
advantage is that most plugin managers fetch plugins from github. You'll have
to use your favorite search engine to find them.
Vim scripts can be used on any system. However, there might not be a tar or
gzip command. If you want to pack files together and/or compress them the
"zip" utility is recommended.
For utmost portability use Vim itself to pack scripts together. This can be
done with the Vimball utility. See |vimball|.
It's good if you add a line to allow automatic updating. See |glvs-plugins|.
==============================================================================
Next chapter: |usr_42.txt| Add new menus

View File

@@ -1,4 +1,4 @@
*usr_45.txt* For Vim version 8.2. Last change: 2020 Jun 11
*usr_45.txt* For Vim version 8.2. Last change: 2022 May 13
VIM USER MANUAL - by Bram Moolenaar
@@ -15,7 +15,7 @@ in various languages is explained.
|45.4| Editing files with a different encoding
|45.5| Entering language text
Next chapter: |usr_46.txt| Write plugins using Vim9 script
Next chapter: |usr_50.txt| Advanced Vim script writing
Previous chapter: |usr_44.txt| Your own syntax highlighted
Table of contents: |usr_toc.txt|
@@ -408,6 +408,6 @@ Don't type the spaces. See |i_CTRL-V_digit| for the details.
==============================================================================
Next chapter: |usr_46.txt| Write plugins using Vim9 script
Next chapter: |usr_50.txt| Advanced Vim script writing
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:

25
runtime/doc/usr_50.txt Normal file
View File

@@ -0,0 +1,25 @@
*usr_50.txt* For Vim version 8.2. Last change: 2022 May 13
VIM USER MANUAL - by Bram Moolenaar
Advanced Vim script writing
TODO - this chapter is to be written
|50.1| Writing stuff
Next chapter: |usr_51.txt| Create a plugin
Previous chapter: |usr_45.txt| Select your language (local)
Table of contents: |usr_toc.txt|
==============================================================================
*50.1* Writing stuff
TODO
==============================================================================
Next chapter: |usr_51.txt| Create a plugin
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:

860
runtime/doc/usr_51.txt Normal file
View File

@@ -0,0 +1,860 @@
*usr_51.txt* For Vim version 8.2. Last change: 2022 May 13
VIM USER MANUAL - by Bram Moolenaar
Write plugins
Plugins can be used to define settings for a specific type of file, syntax
highlighting and many other things. This chapter explains how to write the
most common Vim plugins.
|51.1| Writing a generic plugin
|51.2| Writing a filetype plugin
|51.3| Writing a compiler plugin
|51.4| Writing a plugin that loads quickly
|51.5| Writing library scripts
|51.6| Distributing Vim scripts
Next chapter: |usr_52.txt| Write plugins using Vim9 script
Previous chapter: |usr_50.txt| Advanced Vim script writing
Table of contents: |usr_toc.txt|
==============================================================================
*51.1* Writing a generic plugin *write-plugin*
You can write a Vim script in such a way that many people can use it. This is
called a plugin. Vim users can drop your script in their plugin directory and
use its features right away |add-plugin|.
There are actually two types of plugins:
global plugins: For all types of files.
filetype plugins: Only for files of a specific type.
In this section the first type is explained. Most items are also relevant for
writing filetype plugins. The specifics for filetype plugins are in the next
section |write-filetype-plugin|.
NAME
First of all you must choose a name for your plugin. The features provided
by the plugin should be clear from its name. And it should be unlikely that
someone else writes a plugin with the same name but which does something
different.
A script that corrects typing mistakes could be called "typecorrect.vim". We
will use it here as an example.
For the plugin to work for everybody, it should follow a few guidelines. This
will be explained step-by-step. The complete example plugin is at the end.
BODY
Let's start with the body of the plugin, the lines that do the actual work: >
14 iabbrev teh the
15 iabbrev otehr other
16 iabbrev wnat want
17 iabbrev synchronisation
18 \ synchronization
The actual list should be much longer, of course.
The line numbers have only been added to explain a few things, don't put them
in your plugin file!
FIRST LINE
>
1 vim9script noclear
You need to use `vimscript` as the very first command. Best is to put it in
the very first line.
The script we are writing will have a `finish` command to bail out when it is
loaded a second time. To avoid that the items defined in the script are lost
the "noclear" argument is used. More info about this at |vim9-reload|.
HEADER
You will probably add new corrections to the plugin and soon have several
versions lying around. And when distributing this file, people will want to
know who wrote this wonderful plugin and where they can send remarks.
Therefore, put a header at the top of your plugin: >
2 # Vim global plugin for correcting typing mistakes
3 # Last Change: 2021 Dec 30
4 # Maintainer: Bram Moolenaar <Bram@vim.org>
About copyright and licensing: Since plugins are very useful and it's hardly
worth restricting their distribution, please consider making your plugin
either public domain or use the Vim |license|. A short note about this near
the top of the plugin should be sufficient. Example: >
5 # License: This file is placed in the public domain.
LINE CONTINUATION AND AVOIDING SIDE EFFECTS *use-cpo-save*
In line 18 above, the line-continuation mechanism is used |line-continuation|.
Users with 'compatible' set will run into trouble here, they will get an error
message. We can't just reset 'compatible', because that has a lot of side
effects. Instead, we will set the 'cpoptions' option to its Vim default
value and restore it later. That will allow the use of line-continuation and
make the script work for most people. It is done like this: >
11 var save_cpo = &cpo
12 set cpo&vim
..
42 &cpo = save_cpo
We first store the old value of 'cpoptions' in the "save_cpo" variable. At
the end of the plugin this value is restored.
Notice that "save_cpo" is a script-local variable. A global variable could
already be in use for something else. Always use script-local variables for
things that are only used in the script.
NOT LOADING
It is possible that a user doesn't always want to load this plugin. Or the
system administrator has dropped it in the system-wide plugin directory, but a
user has his own plugin he wants to use. Then the user must have a chance to
disable loading this specific plugin. These lines will make it possible: >
7 if exists("g:loaded_typecorrect")
8 finish
9 endif
10 g:loaded_typecorrect = 1
This also avoids that when the script is loaded twice it would pointlessly
redefine functions and cause trouble for autocommands that are added twice.
The name is recommended to start with "g:loaded_" and then the file name of
the plugin, literally. The "g:" is prepended to make the variable global, so
that other places can check whether its functionality is available. Without
"g:" it would be local to the script.
Using `finish` stops Vim from reading the rest of the file, it's much quicker
than using if-endif around the whole file, since Vim would still need to parse
the commands to find the `endif`.
MAPPING
Now let's make the plugin more interesting: We will add a mapping that adds a
correction for the word under the cursor. We could just pick a key sequence
for this mapping, but the user might already use it for something else. To
allow the user to define which keys a mapping in a plugin uses, the <Leader>
item can be used: >
22 map <unique> <Leader>a <Plug>TypecorrAdd;
The "<Plug>TypecorrAdd;" thing will do the work, more about that further on.
The user can set the "g:mapleader" variable to the key sequence that he wants
plugin mappings to start with. Thus if the user has done: >
g:mapleader = "_"
the mapping will define "_a". If the user didn't do this, the default value
will be used, which is a backslash. Then a map for "\a" will be defined.
Note that <unique> is used, this will cause an error message if the mapping
already happened to exist. |:map-<unique>|
But what if the user wants to define his own key sequence? We can allow that
with this mechanism: >
21 if !hasmapto('<Plug>TypecorrAdd;')
22 map <unique> <Leader>a <Plug>TypecorrAdd;
23 endif
This checks if a mapping to "<Plug>TypecorrAdd;" already exists, and only
defines the mapping from "<Leader>a" if it doesn't. The user then has a
chance of putting this in his vimrc file: >
map ,c <Plug>TypecorrAdd;
Then the mapped key sequence will be ",c" instead of "_a" or "\a".
PIECES
If a script gets longer, you often want to break up the work in pieces. You
can use functions or mappings for this. But you don't want these functions
and mappings to interfere with the ones from other scripts. For example, you
could define a function Add(), but another script could try to define the same
function. To avoid this, we define the function local to the script.
Fortunately, in |Vim9| script this is the default. In a legacy script you
would need to prefix the name with "s:".
We will define a function that adds a new typing correction: >
30 def Add(from: string, correct: bool)
31 var to = input("type the correction for " .. from .. ": ")
32 exe ":iabbrev " .. from .. " " .. to
..
36 enddef
Now we can call the function Add() from within this script. If another
script also defines Add(), it will be local to that script and can only
be called from that script. There can also be a global g:Add() function,
which is again another function.
<SID> can be used with mappings. It generates a script ID, which identifies
the current script. In our typing correction plugin we use it like this: >
24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
..
28 noremap <SID>Add :call <SID>Add(expand("<cword>"), true)<CR>
Thus when a user types "\a", this sequence is invoked: >
\a -> <Plug>TypecorrAdd; -> <SID>Add -> :call <SID>Add(...)
If another script also maps <SID>Add, it will get another script ID and
thus define another mapping.
Note that instead of Add() we use <SID>Add() here. That is because the
mapping is typed by the user, thus outside of the script context. The <SID>
is translated to the script ID, so that Vim knows in which script to look for
the Add() function.
This is a bit complicated, but it's required for the plugin to work together
with other plugins. The basic rule is that you use <SID>Add() in mappings and
Add() in other places (the script itself, autocommands, user commands).
We can also add a menu entry to do the same as the mapping: >
26 noremenu <script> Plugin.Add\ Correction <SID>Add
The "Plugin" menu is recommended for adding menu items for plugins. In this
case only one item is used. When adding more items, creating a submenu is
recommended. For example, "Plugin.CVS" could be used for a plugin that offers
CVS operations "Plugin.CVS.checkin", "Plugin.CVS.checkout", etc.
Note that in line 28 ":noremap" is used to avoid that any other mappings cause
trouble. Someone may have remapped ":call", for example. In line 24 we also
use ":noremap", but we do want "<SID>Add" to be remapped. This is why
"<script>" is used here. This only allows mappings which are local to the
script. |:map-<script>| The same is done in line 26 for ":noremenu".
|:menu-<script>|
<SID> AND <Plug> *using-<Plug>*
Both <SID> and <Plug> are used to avoid that mappings of typed keys interfere
with mappings that are only to be used from other mappings. Note the
difference between using <SID> and <Plug>:
<Plug> is visible outside of the script. It is used for mappings which the
user might want to map a key sequence to. <Plug> is a special code
that a typed key will never produce.
To make it very unlikely that other plugins use the same sequence of
characters, use this structure: <Plug> scriptname mapname
In our example the scriptname is "Typecorr" and the mapname is "Add".
We add a semicolon as the terminator. This results in
"<Plug>TypecorrAdd;". Only the first character of scriptname and
mapname is uppercase, so that we can see where mapname starts.
<SID> is the script ID, a unique identifier for a script.
Internally Vim translates <SID> to "<SNR>123_", where "123" can be any
number. Thus a function "<SID>Add()" will have a name "<SNR>11_Add()"
in one script, and "<SNR>22_Add()" in another. You can see this if
you use the ":function" command to get a list of functions. The
translation of <SID> in mappings is exactly the same, that's how you
can call a script-local function from a mapping.
USER COMMAND
Now let's add a user command to add a correction: >
38 if !exists(":Correct")
39 command -nargs=1 Correct :call Add(<q-args>, false)
40 endif
The user command is defined only if no command with the same name already
exists. Otherwise we would get an error here. Overriding the existing user
command with ":command!" is not a good idea, this would probably make the user
wonder why the command he defined himself doesn't work. |:command|
If it did happen you can find out who to blame with: >
verbose command Correct
SCRIPT VARIABLES
When a variable starts with "s:" it is a script variable. It can only be used
inside a script. Outside the script it's not visible. This avoids trouble
with using the same variable name in different scripts. The variables will be
kept as long as Vim is running. And the same variables are used when sourcing
the same script again. |s:var|
The nice thing about |Vim9| script is that variables are local to the script
by default. You can prepend "s:" if you like, but you do not need to. And
functions in the script can also use the script variables without a prefix.
Script-local variables can also be used in functions, autocommands and user
commands that are defined in the script. Thus they are the perfect way to
share information between parts of your plugin, without it leaking out. In
our example we can add a few lines to count the number of corrections: >
19 var count = 4
..
30 def Add(from: string, correct: bool)
..
34 count += 1
35 echo "you now have " .. count .. " corrections"
36 enddef
"count" is declared and initialized to 4 in the script itself. When later
the Add() function is called, it increments "count". It doesn't matter from
where the function was called, since it has been defined in the script, it
will use the local variables from this script.
THE RESULT
Here is the resulting complete example: >
1 vim9script noclear
2 # Vim global plugin for correcting typing mistakes
3 # Last Change: 2021 Dec 30
4 # Maintainer: Bram Moolenaar <Bram@vim.org>
5 # License: This file is placed in the public domain.
6
7 if exists("g:loaded_typecorrect")
8 finish
9 endif
10 g:loaded_typecorrect = 1
11 var save_cpo = &cpo
12 set cpo&vim
13
14 iabbrev teh the
15 iabbrev otehr other
16 iabbrev wnat want
17 iabbrev synchronisation
18 \ synchronization
19 var count = 4
20
21 if !hasmapto('<Plug>TypecorrAdd;')
22 map <unique> <Leader>a <Plug>TypecorrAdd;
23 endif
24 noremap <unique> <script> <Plug>TypecorrAdd; <SID>Add
25
26 noremenu <script> Plugin.Add\ Correction <SID>Add
27
28 noremap <SID>Add :call <SID>Add(expand("<cword>"), true)<CR>
29
30 def Add(from: string, correct: bool)
31 var to = input("type the correction for " .. from .. ": ")
32 exe ":iabbrev " .. from .. " " .. to
33 if correct | exe "normal viws\<C-R>\" \b\e" | endif
34 count += 1
35 echo "you now have " .. count .. " corrections"
36 enddef
37
38 if !exists(":Correct")
39 command -nargs=1 Correct call Add(<q-args>, false)
40 endif
41
42 &cpo = save_cpo
Line 33 wasn't explained yet. It applies the new correction to the word under
the cursor. The |:normal| command is used to use the new abbreviation. Note
that mappings and abbreviations are expanded here, even though the function
was called from a mapping defined with ":noremap".
DOCUMENTATION *write-local-help*
It's a good idea to also write some documentation for your plugin. Especially
when its behavior can be changed by the user. See |add-local-help| for how
they are installed.
Here is a simple example for a plugin help file, called "typecorrect.txt": >
1 *typecorrect.txt* Plugin for correcting typing mistakes
2
3 If you make typing mistakes, this plugin will have them corrected
4 automatically.
5
6 There are currently only a few corrections. Add your own if you like.
7
8 Mappings:
9 <Leader>a or <Plug>TypecorrAdd;
10 Add a correction for the word under the cursor.
11
12 Commands:
13 :Correct {word}
14 Add a correction for {word}.
15
16 *typecorrect-settings*
17 This plugin doesn't have any settings.
The first line is actually the only one for which the format matters. It will
be extracted from the help file to be put in the "LOCAL ADDITIONS:" section of
help.txt |local-additions|. The first "*" must be in the first column of the
first line. After adding your help file do ":help" and check that the entries
line up nicely.
You can add more tags inside ** in your help file. But be careful not to use
existing help tags. You would probably use the name of your plugin in most of
them, like "typecorrect-settings" in the example.
Using references to other parts of the help in || is recommended. This makes
it easy for the user to find associated help.
FILETYPE DETECTION *plugin-filetype*
If your filetype is not already detected by Vim, you should create a filetype
detection snippet in a separate file. It is usually in the form of an
autocommand that sets the filetype when the file name matches a pattern.
Example: >
au BufNewFile,BufRead *.foo setlocal filetype=foofoo
Write this single-line file as "ftdetect/foofoo.vim" in the first directory
that appears in 'runtimepath'. For Unix that would be
"~/.vim/ftdetect/foofoo.vim". The convention is to use the name of the
filetype for the script name.
You can make more complicated checks if you like, for example to inspect the
contents of the file to recognize the language. Also see |new-filetype|.
SUMMARY *plugin-special*
Summary of special things to use in a plugin:
var name Variable local to the script.
<SID> Script-ID, used for mappings and functions local to
the script.
hasmapto() Function to test if the user already defined a mapping
for functionality the script offers.
<Leader> Value of "mapleader", which the user defines as the
keys that plugin mappings start with.
map <unique> Give a warning if a mapping already exists.
noremap <script> Use only mappings local to the script, not global
mappings.
exists(":Cmd") Check if a user command already exists.
==============================================================================
*51.2* Writing a filetype plugin *write-filetype-plugin* *ftplugin*
A filetype plugin is like a global plugin, except that it sets options and
defines mappings for the current buffer only. See |add-filetype-plugin| for
how this type of plugin is used.
First read the section on global plugins above |51.1|. All that is said there
also applies to filetype plugins. There are a few extras, which are explained
here. The essential thing is that a filetype plugin should only have an
effect on the current buffer.
DISABLING
If you are writing a filetype plugin to be used by many people, they need a
chance to disable loading it. Put this at the top of the plugin: >
# Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
endif
b:did_ftplugin = 1
This also needs to be used to avoid that the same plugin is executed twice for
the same buffer (happens when using an ":edit" command without arguments).
Now users can disable loading the default plugin completely by making a
filetype plugin with only these lines: >
vim9script
b:did_ftplugin = 1
This does require that the filetype plugin directory comes before $VIMRUNTIME
in 'runtimepath'!
If you do want to use the default plugin, but overrule one of the settings,
you can write the different setting in a script: >
setlocal textwidth=70
Now write this in the "after" directory, so that it gets sourced after the
distributed "vim.vim" ftplugin |after-directory|. For Unix this would be
"~/.vim/after/ftplugin/vim.vim". Note that the default plugin will have set
"b:did_ftplugin", but it is ignored here.
OPTIONS
To make sure the filetype plugin only affects the current buffer use the >
setlocal
command to set options. And only set options which are local to a buffer (see
the help for the option to check that). When using `:setlocal` for global
options or options local to a window, the value will change for many buffers,
and that is not what a filetype plugin should do.
When an option has a value that is a list of flags or items, consider using
"+=" and "-=" to keep the existing value. Be aware that the user may have
changed an option value already. First resetting to the default value and
then changing it is often a good idea. Example: >
setlocal formatoptions& formatoptions+=ro
MAPPINGS
To make sure mappings will only work in the current buffer use the >
map <buffer>
command. This needs to be combined with the two-step mapping explained above.
An example of how to define functionality in a filetype plugin: >
if !hasmapto('<Plug>JavaImport;')
map <buffer> <unique> <LocalLeader>i <Plug>JavaImport;
endif
noremap <buffer> <unique> <Plug>JavaImport; oimport ""<Left><Esc>
|hasmapto()| is used to check if the user has already defined a map to
<Plug>JavaImport;. If not, then the filetype plugin defines the default
mapping. This starts with |<LocalLeader>|, which allows the user to select
the key(s) he wants filetype plugin mappings to start with. The default is a
backslash.
"<unique>" is used to give an error message if the mapping already exists or
overlaps with an existing mapping.
|:noremap| is used to avoid that any other mappings that the user has defined
interferes. You might want to use ":noremap <script>" to allow remapping
mappings defined in this script that start with <SID>.
The user must have a chance to disable the mappings in a filetype plugin,
without disabling everything. Here is an example of how this is done for a
plugin for the mail filetype: >
# Add mappings, unless the user didn't want this.
if !exists("g:no_plugin_maps") && !exists("g:no_mail_maps")
# Quote text by inserting "> "
if !hasmapto('<Plug>MailQuote;')
vmap <buffer> <LocalLeader>q <Plug>MailQuote;
nmap <buffer> <LocalLeader>q <Plug>MailQuote;
endif
vnoremap <buffer> <Plug>MailQuote; :s/^/> /<CR>
nnoremap <buffer> <Plug>MailQuote; :.,$s/^/> /<CR>
endif
Two global variables are used:
|g:no_plugin_maps| disables mappings for all filetype plugins
|g:no_mail_maps| disables mappings for the "mail" filetype
USER COMMANDS
To add a user command for a specific file type, so that it can only be used in
one buffer, use the "-buffer" argument to |:command|. Example: >
command -buffer Make make %:r.s
VARIABLES
A filetype plugin will be sourced for each buffer of the type it's for. Local
script variables will be shared between all invocations. Use local buffer
variables |b:var| if you want a variable specifically for one buffer.
FUNCTIONS
When defining a function, this only needs to be done once. But the filetype
plugin will be sourced every time a file with this filetype will be opened.
This construct makes sure the function is only defined once: >
if !exists("*Func")
def Func(arg)
...
enddef
endif
<
UNDO *undo_indent* *undo_ftplugin*
When the user does ":setfiletype xyz" the effect of the previous filetype
should be undone. Set the b:undo_ftplugin variable to the commands that will
undo the settings in your filetype plugin. Example: >
let b:undo_ftplugin = "setlocal fo< com< tw< commentstring<"
\ .. "| unlet b:match_ignorecase b:match_words b:match_skip"
Using ":setlocal" with "<" after the option name resets the option to its
global value. That is mostly the best way to reset the option value.
This does require removing the "C" flag from 'cpoptions' to allow line
continuation, as mentioned above |use-cpo-save|.
For undoing the effect of an indent script, the b:undo_indent variable should
be set accordingly.
Both these variables use legacy script syntax, not |Vim9| syntax.
FILE NAME
The filetype must be included in the file name |ftplugin-name|. Use one of
these three forms:
.../ftplugin/stuff.vim
.../ftplugin/stuff_foo.vim
.../ftplugin/stuff/bar.vim
"stuff" is the filetype, "foo" and "bar" are arbitrary names.
SUMMARY *ftplugin-special*
Summary of special things to use in a filetype plugin:
<LocalLeader> Value of "maplocalleader", which the user defines as
the keys that filetype plugin mappings start with.
map <buffer> Define a mapping local to the buffer.
noremap <script> Only remap mappings defined in this script that start
with <SID>.
setlocal Set an option for the current buffer only.
command -buffer Define a user command local to the buffer.
exists("*s:Func") Check if a function was already defined.
Also see |plugin-special|, the special things used for all plugins.
==============================================================================
*51.3* Writing a compiler plugin *write-compiler-plugin*
A compiler plugin sets options for use with a specific compiler. The user can
load it with the |:compiler| command. The main use is to set the
'errorformat' and 'makeprg' options.
Easiest is to have a look at examples. This command will edit all the default
compiler plugins: >
next $VIMRUNTIME/compiler/*.vim
Type `:next` to go to the next plugin file.
There are two special items about these files. First is a mechanism to allow
a user to overrule or add to the default file. The default files start with: >
vim9script
if exists("g:current_compiler")
finish
endif
g:current_compiler = "mine"
When you write a compiler file and put it in your personal runtime directory
(e.g., ~/.vim/compiler for Unix), you set the "current_compiler" variable to
make the default file skip the settings.
*:CompilerSet*
The second mechanism is to use ":set" for ":compiler!" and ":setlocal" for
":compiler". Vim defines the ":CompilerSet" user command for this. However,
older Vim versions don't, thus your plugin should define it then. This is an
example: >
if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat& " use the default 'errorformat'
CompilerSet makeprg=nmake
When you write a compiler plugin for the Vim distribution or for a system-wide
runtime directory, use the mechanism mentioned above. When
"current_compiler" was already set by a user plugin nothing will be done.
When you write a compiler plugin to overrule settings from a default plugin,
don't check "current_compiler". This plugin is supposed to be loaded
last, thus it should be in a directory at the end of 'runtimepath'. For Unix
that could be ~/.vim/after/compiler.
==============================================================================
*51.4* Writing a plugin that loads quickly *write-plugin-quickload*
A plugin may grow and become quite long. The startup delay may become
noticeable, while you hardly ever use the plugin. Then it's time for a
quickload plugin.
The basic idea is that the plugin is loaded twice. The first time user
commands and mappings are defined that offer the functionality. The second
time the functions that implement the functionality are defined.
It may sound surprising that quickload means loading a script twice. What we
mean is that it loads quickly the first time, postponing the bulk of the
script to the second time, which only happens when you actually use it. When
you always use the functionality it actually gets slower!
This uses a FuncUndefined autocommand. Since Vim 7 there is an alternative:
use the |autoload| functionality |51.5|. That will also use |Vim9| script
instead of legacy script that is used here.
The following example shows how it's done: >
" Vim global plugin for demonstrating quick loading
" Last Change: 2005 Feb 25
" Maintainer: Bram Moolenaar <Bram@vim.org>
" License: This file is placed in the public domain.
if !exists("s:did_load")
command -nargs=* BNRead call BufNetRead(<f-args>)
map <F19> :call BufNetWrite('something')<CR>
let s:did_load = 1
exe 'au FuncUndefined BufNet* source ' .. expand('<sfile>')
finish
endif
function BufNetRead(...)
echo 'BufNetRead(' .. string(a:000) .. ')'
" read functionality here
endfunction
function BufNetWrite(...)
echo 'BufNetWrite(' .. string(a:000) .. ')'
" write functionality here
endfunction
When the script is first loaded "s:did_load" is not set. The commands between
the "if" and "endif" will be executed. This ends in a |:finish| command, thus
the rest of the script is not executed.
The second time the script is loaded "s:did_load" exists and the commands
after the "endif" are executed. This defines the (possible long)
BufNetRead() and BufNetWrite() functions.
If you drop this script in your plugin directory Vim will execute it on
startup. This is the sequence of events that happens:
1. The "BNRead" command is defined and the <F19> key is mapped when the script
is sourced at startup. A |FuncUndefined| autocommand is defined. The
":finish" command causes the script to terminate early.
2. The user types the BNRead command or presses the <F19> key. The
BufNetRead() or BufNetWrite() function will be called.
3. Vim can't find the function and triggers the |FuncUndefined| autocommand
event. Since the pattern "BufNet*" matches the invoked function, the
command "source fname" will be executed. "fname" will be equal to the name
of the script, no matter where it is located, because it comes from
expanding "<sfile>" (see |expand()|).
4. The script is sourced again, the "s:did_load" variable exists and the
functions are defined.
Notice that the functions that are loaded afterwards match the pattern in the
|FuncUndefined| autocommand. You must make sure that no other plugin defines
functions that match this pattern.
==============================================================================
*51.5* Writing library scripts *write-library-script*
Some functionality will be required in several places. When this becomes more
than a few lines you will want to put it in one script and use it from many
scripts. We will call that one script a library script.
Manually loading a library script is possible, so long as you avoid loading it
when it's already done. You can do this with the |exists()| function.
Example: >
if !exists('*MyLibFunction')
runtime library/mylibscript.vim
endif
MyLibFunction(arg)
Here you need to know that MyLibFunction() is defined in a script
"library/mylibscript.vim" in one of the directories in 'runtimepath'.
To make this a bit simpler Vim offers the autoload mechanism. Then the
example looks like this: >
mylib#myfunction(arg)
That's a lot simpler, isn't it? Vim will recognize the function name by the
embedded "#" character and when it's not defined search for the script
"autoload/mylib.vim" in 'runtimepath'. That script must define the
"mylib#myfunction()" function.
You can put many other functions in the mylib.vim script, you are free to
organize your functions in library scripts. But you must use function names
where the part before the '#' matches the script name. Otherwise Vim would
not know what script to load.
If you get really enthusiastic and write lots of library scripts, you may
want to use subdirectories. Example: >
netlib#ftp#read('somefile')
For Unix the library script used for this could be:
~/.vim/autoload/netlib/ftp.vim
Where the function is defined like this: >
def netlib#ftp#read(fname: string)
# Read the file fname through ftp
enddef
Notice that the name the function is defined with is exactly the same as the
name used for calling the function. And the part before the last '#'
exactly matches the subdirectory and script name.
You can use the same mechanism for variables: >
var weekdays = dutch#weekdays
This will load the script "autoload/dutch.vim", which should contain something
like: >
var dutch#weekdays = ['zondag', 'maandag', 'dinsdag', 'woensdag',
\ 'donderdag', 'vrijdag', 'zaterdag']
Further reading: |autoload|.
==============================================================================
*51.6* Distributing Vim scripts *distribute-script*
Vim users will look for scripts on the Vim website: http://www.vim.org.
If you made something that is useful for others, share it!
Another place is github. But there you need to know where to find it! The
advantage is that most plugin managers fetch plugins from github. You'll have
to use your favorite search engine to find them.
Vim scripts can be used on any system. However, there might not be a tar or
gzip command. If you want to pack files together and/or compress them the
"zip" utility is recommended.
For utmost portability use Vim itself to pack scripts together. This can be
done with the Vimball utility. See |vimball|.
It's good if you add a line to allow automatic updating. See |glvs-plugins|.
==============================================================================
Next chapter: |usr_52.txt| Write plugins using Vim9 script
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:

View File

@@ -1,4 +1,4 @@
*usr_46.txt* For Vim version 8.2. Last change: 2020 Jun 14
*usr_52.txt* For Vim version 8.2. Last change: 2022 May 13
VIM USER MANUAL - by Bram Moolenaar
@@ -9,17 +9,17 @@ The Vim9 script language is used for writing plugins, especially larger ones
that use multiple files. This chapter explains how to split up a plugin into
modules, import and export items and keep the rest local.
|46.1| Introduction
|46.2| Variable declarations
|46.3| Functions and types
|46.?| Using a Vim9 script from legacy script
|52.1| Introduction
|52.2| Variable declarations
|52.3| Functions and types
|52.4| Using a Vim9 script from legacy script
Next chapter: |usr_90.txt| Installing Vim
Previous chapter: |usr_45.txt| Select your language (locale)
Previous chapter: |usr_51.txt| Create a plugin
Table of contents: |usr_toc.txt|
==============================================================================
*46.1* Introduction *vim9-script-intro*
*52.1* Introduction *vim9-script-intro*
Vim9 script was designed to make it easier to write large Vim scripts. It
looks more like other script languages, especially Typescript. Also,
@@ -69,7 +69,7 @@ Notice that the assignment `result = GetPart(count)` does not use the `let`
command. That is explained in the next section.
==============================================================================
*46.2* Variable declarations *vim9-declarations*
*52.2* Variable declarations *vim9-declarations*
In Vim9 script variables are declared once with a `:let` or `:const` command.
Assigning a value is done without `:let` and it is not possible to `:unlet`
@@ -108,7 +108,7 @@ Although it's shorter to do: >
let word = condition ? 'yes' : 'no'
==============================================================================
*46.3* Functions and types
*52.3* Functions and types
Legacy Vim script does have type checking, but this happens at runtime, when
the code is executed. And it's permissive, often a computation gives an
@@ -161,7 +161,7 @@ multiple types, you can use the "any" type: >
enddef
==============================================================================
*46.?* Using a Vim9 script from legacy script *source-vim9-script*
*52.4* Using a Vim9 script from legacy script *source-vim9-script*
In some cases you have a legacy Vim script where you want to use items from a
Vim9 script. For example in your .vimrc you want to initialize a plugin. The

View File

@@ -1,4 +1,4 @@
*usr_90.txt* For Vim version 8.2. Last change: 2020 Jun 11
*usr_90.txt* For Vim version 8.2. Last change: 2022 May 13
VIM USER MANUAL - by Bram Moolenaar
@@ -15,7 +15,7 @@ upgrading to a new version is done.
|90.4| Common installation issues
|90.5| Uninstalling Vim
Previous chapter: |usr_46.txt| Write plugins using Vim9 script
Previous chapter: |usr_52.txt| Write plugins using Vim9 script
Table of contents: |usr_toc.txt|
==============================================================================

View File

@@ -1,4 +1,4 @@
*usr_toc.txt* For Vim version 8.2. Last change: 2020 Jun 15
*usr_toc.txt* For Vim version 8.2. Last change: 2022 May 13
VIM USER MANUAL - by Bram Moolenaar
@@ -7,7 +7,7 @@
==============================================================================
Overview ~
Getting Started
Getting Started ~
|usr_01.txt| About the manuals
|usr_02.txt| The first steps in Vim
|usr_03.txt| Moving around
@@ -21,7 +21,7 @@ Getting Started
|usr_11.txt| Recovering from a crash
|usr_12.txt| Clever tricks
Editing Effectively
Editing Effectively ~
|usr_20.txt| Typing command-line commands quickly
|usr_21.txt| Go away and come back
|usr_22.txt| Finding the file to edit
@@ -36,24 +36,28 @@ Editing Effectively
|usr_31.txt| Exploiting the GUI
|usr_32.txt| The undo tree
Tuning Vim
Tuning Vim ~
|usr_40.txt| Make new commands
|usr_41.txt| Write a Vim script
|usr_42.txt| Add new menus
|usr_43.txt| Using filetypes
|usr_44.txt| Your own syntax highlighted
|usr_45.txt| Select your language (locale)
|usr_46.txt| Write plugins using Vim9 script
Making Vim Run
Writing Vim script ~
|usr_50.txt| Advanced Vim script writing
|usr_51.txt| Create a plugin
|usr_52.txt| Write plugins using Vim9 script
Making Vim Run ~
|usr_90.txt| Installing Vim
Reference manual
Reference manual ~
|reference_toc| More detailed information for all commands
The user manual is available as a single, ready to print HTML and PDF file
here:
The user manual (an older version) is available as a single, ready to print
HTML and PDF file here:
http://vimdoc.sf.net
==============================================================================
@@ -302,12 +306,6 @@ Make Vim work as you like it.
|41.8| Lists and Dictionaries
|41.9| Exceptions
|41.10| Various remarks
|41.11| Writing a plugin
|41.12| Writing a filetype plugin
|41.13| Writing a compiler plugin
|41.14| Writing a plugin that loads quickly
|41.15| Writing library scripts
|41.16| Distributing Vim scripts
|usr_42.txt| Add new menus
|42.1| Introduction
@@ -340,11 +338,24 @@ Make Vim work as you like it.
|45.4| Editing files with a different encoding
|45.5| Entering language text
|usr_46.txt| Write plugins using Vim9 script
|46.1| Introduction
|46.2| Variable declarations
|46.3| Functions and types
|46.?| Using a Vim9 script from legacy script
==============================================================================
Writing Vim script ~
|usr_50.txt| TODO
|usr_51.txt| Write plugins
|51.1| Writing a generic plugin
|51.2| Writing a filetype plugin
|51.3| Writing a compiler plugin
|51.4| Writing a plugin that loads quickly
|51.5| Writing library scripts
|51.6| Distributing Vim scripts
|usr_52.txt| Write plugins using Vim9 script
|52.1| Introduction
|52.2| Variable declarations
|52.3| Functions and types
|52.4| Using a Vim9 script from legacy script
==============================================================================
Making Vim Run ~

View File

@@ -1,4 +1,4 @@
*vim9.txt* For Vim version 8.2. Last change: 2022 Apr 14
*vim9.txt* For Vim version 8.2. Last change: 2022 May 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -294,7 +294,8 @@ You can use an autoload function if needed, or call a legacy function and have
Reloading a Vim9 script clears functions and variables by default ~
*vim9-reload* *E1149* *E1150*
When loading a legacy Vim script a second time nothing is removed, the
commands will replace existing variables and functions and create new ones.
commands will replace existing variables and functions, create new ones, and
leave removed things hanging around.
When loading a Vim9 script a second time all existing script-local functions
and variables are deleted, thus you start with a clean slate. This is useful
@@ -857,10 +858,16 @@ like in JavaScript: >
var dict = {["key" .. nr]: value}
The key type can be string, number, bool or float. Other types result in an
error. A number can be given with and without the []: >
var dict = {123: 'without', [456]: 'with'}
error. Without using [] the value is used as a string, keeping leading zeros.
An expression given with [] is evaluated and then converted to a string.
Leading zeros will then be dropped: >
var dict = {000123: 'without', [000456]: 'with'}
echo dict
{'456': 'with', '123': 'without'}
{'456': 'with', '000123': 'without'}
A float only works inside [] because the dot is not accepted otherwise: >
var dict = {[00.013]: 'float'}
echo dict
{'0.013': 'float'}
No :xit, :t, :k, :append, :change or :insert ~

View File

@@ -1,4 +1,4 @@
*visual.txt* For Vim version 8.2. Last change: 2022 Jan 20
*visual.txt* For Vim version 8.2. Last change: 2022 May 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -265,7 +265,7 @@ Additionally the following commands can be used:
X delete (2) |v_X|
Y yank (2) |v_Y|
p put |v_p|
P put without unnamed register overwrite |v_P|
P put without overwriting registers |v_P|
J join (1) |v_J|
U make uppercase |v_U|
u make lowercase |v_u|

View File

@@ -1,4 +1,4 @@
*windows.txt* For Vim version 8.2. Last change: 2022 Apr 06
*windows.txt* For Vim version 8.2. Last change: 2022 May 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1036,7 +1036,7 @@ modified, but is forced (with '!') to be removed from a window, and
'autowrite' is off or the buffer can't be written.
You can make a hidden buffer not hidden by starting to edit it with any
command. Or by deleting it with the ":bdelete" command.
command, or by deleting it with the ":bdelete" command.
The 'hidden' is global, it is used for all buffers. The 'bufhidden' option
can be used to make an exception for a specific buffer. It can take these

View File

@@ -1,6 +1,6 @@
" Vim script for Evim key bindings
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Jan 27
" Last Change: 2022 May 10
" Don't use Vi-compatible mode.
set nocompatible
@@ -8,6 +8,9 @@ set nocompatible
" Use the mswin.vim script for most mappings
source <sfile>:p:h/mswin.vim
" Allow for using CTRL-Q in Insert mode to quit Vim.
inoremap <C-Q> <C-O>:confirm qall<CR>
" Vim is in Insert mode by default
set insertmode

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2022 Apr 13
" Last Change: 2022 Apr 25
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -155,18 +155,21 @@ au BufNewFile,BufRead *.asp
\ setf aspvbs |
\ endif
" Grub (must be before catch *.lst)
" Grub (must be before pattern *.lst)
au BufNewFile,BufRead */boot/grub/menu.lst,*/boot/grub/grub.conf,*/etc/grub.conf setf grub
" Maxima, see:
" https://maxima.sourceforge.io/docs/manual/maxima_71.html#file_005ftype_005fmaxima
au BufNewFile,BufRead *.mc,*.demo,*.dem,*.dm{1,2,3,t},*.wxm,maxima-init.mac setf maxima
" Must be before the pattern *.mac.
" *.dem omitted - also used by gnuplot demos
" *.mc omitted - used by dist#ft#McSetf()
au BufNewFile,BufRead *.demo,*.dm{1,2,3,t},*.wxm,maxima-init.mac setf maxima
" Assembly (all kinds)
" *.lst is not pure assembly, it has two extra columns (address, byte codes)
au BufNewFile,BufRead *.asm,*.[sS],*.[aA],*.mac,*.lst call dist#ft#FTasm()
" Macro (VAX)
" Assembly - Macro (VAX)
au BufNewFile,BufRead *.mar setf vmasm
" Atlas
@@ -716,6 +719,9 @@ au BufNewFile,BufRead *.git/*
" Gkrellmrc
au BufNewFile,BufRead gkrellmrc,gkrellmrc_? setf gkrellmrc
" Gleam
au BufNewFile,BufRead *.gleam setf gleam
" GLSL
au BufNewFile,BufRead *.glsl setf glsl
@@ -818,6 +824,7 @@ au BufNewFile,BufRead *.t.html setf tilde
" HTML (.shtml and .stm for server side)
au BufNewFile,BufRead *.html,*.htm,*.shtml,*.stm call dist#ft#FThtml()
au BufNewFile,BufRead *.cshtml setf html
" HTML with Ruby - eRuby
au BufNewFile,BufRead *.erb,*.rhtml setf eruby
@@ -1585,6 +1592,9 @@ au BufNewFile,BufRead *.rng setf rng
" RPL/2
au BufNewFile,BufRead *.rpl setf rpl
" Robot Framework
au BufNewFile,BufRead *.robot,*.resource setf robot
" Robots.txt
au BufNewFile,BufRead robots.txt setf robots
@@ -1682,7 +1692,8 @@ au BufNewFile,BufRead *.siv,*.sieve setf sieve
" Sendmail
au BufNewFile,BufRead sendmail.cf setf sm
" Sendmail .mc files are actually m4. Could also be MS Message text file.
" Sendmail .mc files are actually m4. Could also be MS Message text file or
" Maxima.
au BufNewFile,BufRead *.mc call dist#ft#McSetf()
" Services
@@ -2115,6 +2126,9 @@ au BufNewFile,BufRead *.wm setf webmacro
" Wget config
au BufNewFile,BufRead .wgetrc,wgetrc setf wget
" Wget2 config
au BufNewFile,BufRead .wget2rc,wget2rc setf wget2
" Website MetaLanguage
au BufNewFile,BufRead *.wml setf wml

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Abaqus finite element input file (www.abaqus.com)
" Maintainer: Carl Osterwisch <osterwischc@asme.org>
" Last Change: 2012 Apr 30
" Last Change: 2022 May 09
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin") | finish | endif
@@ -86,11 +86,11 @@ let b:undo_ftplugin .= "|unmap <buffer> [[|unmap <buffer> ]]"
\ . "|unmap <buffer> <LocalLeader><LocalLeader>"
" Undo must be done in nocompatible mode for <LocalLeader>.
let b:undo_ftplugin = "let s:cpo_save = &cpoptions|"
let b:undo_ftplugin = "let b:cpo_save = &cpoptions|"
\ . "set cpoptions&vim|"
\ . b:undo_ftplugin
\ . "|let &cpoptions = s:cpo_save"
\ . "|unlet s:cpo_save"
\ . "|let &cpoptions = b:cpo_save"
\ . "|unlet b:cpo_save"
" Restore saved compatibility options
let &cpoptions = s:cpo_save

View File

@@ -0,0 +1,11 @@
" Elixir filetype plugin
" Language: Elixir
" Maintainer: Mitchell Hanberg <vimNOSPAM@mitchellhanberg.com>
" Last Change: 2022 Apr 20
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
setlocal commentstring=#\ %s

View File

@@ -1,7 +1,7 @@
" Elm filetype plugin file
" Language: Elm
" Maintainer: Andreas Scharf <as@99n.de>
" Latest Revision: 2020-05-29
" Latest Revision: 2022-04-25
if exists("b:did_ftplugin")
finish
@@ -14,5 +14,7 @@ set cpo&vim
setlocal comments=s1fl:{-,mb:\ ,ex:-},:--
setlocal commentstring=--\ %s
let b:undo_ftplugin = "setl com< cms<"
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1,18 @@
" Vim filetype plugin file
" Language: Fennel
" Maintainer: Gregory Anders <greg[NOSPAM]@gpanders.com>
" Last Update: 2022 Apr 20
if exists('b:did_ftplugin')
finish
endif
let b:did_ftplugin = 1
setlocal commentstring=;%s
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
let b:undo_ftplugin = 'setlocal commentstring< comments< formatoptions< suffixesadd< lisp< lispwords<'

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Microsoft Macro Assembler (80x86)
" Maintainer: Wu Yongwei <wuyongwei@gmail.com>
" Last Change: 2020-05-09 23:02:05 +0800
" Last Change: 2022-04-24 21:24:52 +0800
if exists("b:did_ftplugin")
finish
@@ -15,5 +15,18 @@ let b:undo_ftplugin = "setl iskeyword<"
setlocal iskeyword=@,48-57,_,36,60,62,63,@-@
" Matchit support
if !exists('b:match_words')
let b:match_words = '^\s*\.IF\>:^\s*\.ELSEIF\>:^\s*\.ELSE\>:^\s*\.ENDIF\>,'
\ .. '^\s*\.REPEAT\>:^\s*\.UNTIL\(CXZ\)\?\>,'
\ .. '^\s*\.WHILE\>:^\s*\.ENDW\>,'
\ .. '^\s*IF\(1\|2\|E\|DEF\|NDEF\|B\|NB\|IDNI\?\|DIFI\?\)\?\>:^\s*ELSEIF\(1\|2\|E\|DEF\|NDEF\|B\|NB\|IDNI\?\|DIFI\?\)\?\>:^\s*ELSE\>:^\s*ENDIF\>,'
\ .. '\(\<MACRO\>\|^\s*%\?\s*FORC\?\>\|^\s*REPEAT\>\|^\s*WHILE\):^\s*ENDM\>,'
\ .. '\<PROC\>:\<ENDP\>,'
\ .. '\<SEGMENT\>:\<ENDS\>'
let b:match_ignorecase = 1
let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words"
endif
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -1,7 +1,7 @@
" Vim ftplugin file
" Language: Reva Forth
" Version: 7.1
" Last Change: 2008/01/11
" Last Change: 2022 Apr 27
" Maintainer: Ron Aaron <ron@ronware.org>
" URL: http://ronware.org/reva/
" Filetypes: *.rf *.frt
@@ -23,3 +23,5 @@ setlocal com=s1:/*,mb:*,ex:*/,:\|,:\\
setlocal fo=tcrqol
setlocal matchpairs+=\::;
setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
let b:undo_ftplugin = "setlocal sts< sw< com< fo< mps< isk<"

View File

@@ -1,6 +1,7 @@
" scdoc filetype plugin
" Maintainer: Gregory Anders <greg@gpanders.com>
" Last Updated: 2021-08-04
" Maintainer: Gregory Anders <contact@gpanders.com>
" Last Updated: 2022-05-09
" Upstream: https://github.com/gpanders/vim-scdoc
" Only do this when not done yet for this buffer
if exists('b:did_ftplugin')
@@ -19,8 +20,3 @@ setlocal softtabstop=0
setlocal textwidth=80
let b:undo_ftplugin = 'setl com< cms< fo< et< sw< sts< tw<'
if has('conceal')
setlocal conceallevel=2
let b:undo_ftplugin .= ' cole<'
endif

29
runtime/ftplugin/wget.vim Normal file
View File

@@ -0,0 +1,29 @@
" Vim filetype plugin file
" Language: Wget configuration file (/etc/wgetrc ~/.wgetrc)
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2022 Apr 28
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
setlocal comments=:#,://
setlocal commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql
let b:undo_ftplugin = "setl fo< com< cms<"
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "Wget Configuration File (wgetrc, .wgetrc)\twgetrc;.wgetrc\n" .
\ "All Files (*.*)\t*.*\n"
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
endif
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: nowrap sw=2 sts=2 ts=8

View File

@@ -0,0 +1,29 @@
" Vim filetype plugin file
" Language: Wget2 configuration file (/etc/wget2rc ~/.wget2rc)
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2022 Apr 28
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
setlocal comments=:#,://
setlocal commentstring=#\ %s
setlocal formatoptions-=t formatoptions+=croql
let b:undo_ftplugin = "setl fo< com< cms<"
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "Wget2 Configuration File (wget2rc, .wget2rc)\twget2rc;.wget2rc\n" .
\ "All Files (*.*)\t*.*\n"
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
endif
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: nowrap sw=2 sts=2 ts=8

View File

@@ -1,18 +1,18 @@
" Vim filetype plugin file
" Language: xslt
"
" This runtime file is looking for a new maintainer.
"
" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
" Language: XSLT
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Dan Sharp
" Last Change: 2022 Apr 25
if exists("b:did_ftplugin") | finish | endif
if exists("b:did_ftplugin")
finish
endif
runtime! ftplugin/xml.vim ftplugin/xml_*.vim ftplugin/xml/*.vim
let b:did_ftplugin = 1
" Change the :browse e filter to primarily show xsd-related files.
if has("gui_win32") && exists("b:browsefilter")
let b:browsefilter="XSLT Files (*.xsl,*.xslt)\t*.xsl;*.xslt\n" . b:browsefilter
if (has("gui_win32") || has("gui_gtk")) && exists("b:browsefilter")
let b:browsefilter = "XSLT Files (*.xsl,*.xslt)\t*.xsl;*.xslt\n" . b:browsefilter
endif

View File

@@ -12,6 +12,7 @@ Name[it]=GVim
Name[ru]=GVim
Name[sr]=GVim
Name[tr]=GVim
Name[uk]=GVim
Name=GVim
# Translators: This is the Generic Application Name used in the Vim desktop file
GenericName[ca]=Editor de text
@@ -25,6 +26,7 @@ GenericName[ja]=テキストエディタ
GenericName[ru]=Текстовый редактор
GenericName[sr]=Едитор текст
GenericName[tr]=Metin Düzenleyici
GenericName[uk]=Редактор Тексту
GenericName=Text Editor
# Translators: This is the comment used in the Vim desktop file
Comment[ca]=Edita fitxers de text
@@ -38,6 +40,7 @@ Comment[ja]=テキストファイルを編集します
Comment[ru]=Редактирование текстовых файлов
Comment[sr]=Уређујте текст фајлове
Comment[tr]=Metin dosyaları düzenleyin
Comment[uk]=Редагувати текстові файли
Comment=Edit text files
# The translations should come from the po file. Leave them here for now, they will
# be overwritten by the po file when generating the desktop.file!
@@ -97,9 +100,8 @@ Comment[sv]=Redigera textfiler
Comment[ta]=உரை கோப்புகளை தொகுக்கவும்
Comment[th]=แก้ไขแฟ้มข้อความ
Comment[tk]=Metin faýllary editle
Comment[uk]=Редактор текстових файлів
Comment[vi]=Soạn thảo tập tin văn bản
Comment[wa]=Asspougnî des fitcs tecses
Comment[wa]=Asspougnî des fitcs tecses
Comment[zh_CN]=编辑文本文件
Comment[zh_TW]=編輯文字檔
TryExec=gvim
@@ -118,6 +120,7 @@ Keywords[ja]=テキスト;エディタ;
Keywords[ru]=текст;текстовый редактор;
Keywords[sr]=Текст;едитор;
Keywords[tr]=Metin;düzenleyici;
Keywords[uk]=текст;редактор;
Keywords=Text;editor;
# Translators: This is the Icon file name. Do NOT translate
Icon=gvim

27
runtime/import/dist/vimhelp.vim vendored Normal file
View File

@@ -0,0 +1,27 @@
vim9script
# Extra functionality for displaying Vim help .
# Called when editing the doc/syntax.txt file
export def HighlightGroups()
var buf: number = bufnr('%')
var lnum: number = search('\*highlight-groups\*', 'cn')
while getline(lnum) !~ '===' && lnum < line('$')
var word: string = getline(lnum)->matchstr('^\w\+\ze\t')
if word->hlexists()
var name = 'help-hl-' .. word
if prop_type_list({bufnr: buf})->match(name) == -1
prop_type_add('help-hl-' .. word, {
bufnr: buf,
highlight: word,
combine: false,
})
else
# was called before, delete existing properties
prop_remove({type: name, bufnr: buf})
endif
prop_add(lnum, 1, {length: word->strlen(), type: 'help-hl-' .. word})
endif
++lnum
endwhile
enddef

12
runtime/indent/fennel.vim Normal file
View File

@@ -0,0 +1,12 @@
" Vim indent file
" Language: Fennel
" Maintainer: Gregory Anders <greg[NOSPAM]@gpanders.com>
" Last Change: 2022 Apr 20
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
" Use the Lisp indenting
runtime! indent/lisp.vim

View File

@@ -2,6 +2,7 @@
" Language: PoV-Ray Scene Description Language
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
" Last Change: 2017 Jun 13
" 2022 April: b:undo_indent added by Doug Kearns
" URI: http://trific.ath.cx/Ftp/vim/indent/pov.vim
" Only load this indent file when no other was loaded.
@@ -16,6 +17,8 @@ setlocal nolisp " Make sure lisp indenting doesn't supersede us.
setlocal indentexpr=GetPoVRayIndent()
setlocal indentkeys+==else,=end,0]
let b:undo_indent = "setl inde< indk< lisp<"
" Only define the function once.
if exists("*GetPoVRayIndent")
finish

View File

@@ -14,6 +14,7 @@ map: val
# END_INDENT
# START_INDENT
map: multiline
value
map: |
line1
line2
# END_INDENT

View File

@@ -14,6 +14,7 @@ map: val
# END_INDENT
# START_INDENT
map: multiline
value
map: |
line1
line2
# END_INDENT

View File

@@ -2,7 +2,7 @@
" Language: tf (TinyFugue)
" Maintainer: Christian J. Robinson <heptite@gmail.com>
" URL: http://www.vim.org/scripts/script.php?script_id=174
" Last Change: 2017 Feb 25
" Last Change: 2022 Apr 25
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -14,6 +14,8 @@ setlocal indentexpr=GetTFIndent()
setlocal indentkeys-=0{,0} indentkeys-=0# indentkeys-=:
setlocal indentkeys+==/endif,=/then,=/else,=/done,0;
let b:undo_indent = "setlocal indentexpr< indentkeys<"
" Only define the function once:
if exists("*GetTFIndent")
finish

View File

@@ -1,7 +1,8 @@
"Description: Indent scheme for the tilde weblanguage
"Author: Tobias Rundström <tobi@tobi.nu>
"Author: Tobias Rundström <tobi@tobi.nu> (Invalid email address)
"URL: http://tilde.tildesoftware.net
"Last Change: May 8 09:15:09 CEST 2002
" 2022 April: b:undo_indent added by Doug Kearns
if exists ("b:did_indent")
finish
@@ -13,6 +14,8 @@ setlocal autoindent
setlocal indentexpr=GetTildeIndent(v:lnum)
setlocal indentkeys=o,O,)
let b:undo_indent = "setl ai< inde< indk<"
if exists("*GetTildeIndent")
finish
endif

View File

@@ -1,7 +1,8 @@
" Vim indent file
" Language: Treetop
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2011-03-14
" Language: Treetop
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 2022 April 25
if exists("b:did_indent")
finish
@@ -12,6 +13,8 @@ setlocal indentexpr=GetTreetopIndent()
setlocal indentkeys=0{,0},!^F,o,O,=end
setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
if exists("*GetTreetopIndent")
finish
endif

View File

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

View File

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

View File

@@ -1,7 +1,8 @@
" Vim indent file
" Language: YACC input file
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20
" Language: YACC input file
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Last Change: 2022 April 25
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -14,6 +15,8 @@ setlocal indentexpr=GetYaccIndent()
setlocal indentkeys=!^F,o,O
setlocal nosmartindent
let b:undo_indent = "setl inde< indk< si<"
" Only define the function once.
if exists("*GetYaccIndent")
finish

View File

@@ -2,7 +2,7 @@
" Language: YAML
" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
" Last Update: Lukas Reineke
" Last Change: 2021 Aug 13
" Last Change: 2022 May 02
" Only load this indent file when no other was loaded.
if exists('b:did_indent')
@@ -54,7 +54,7 @@ let s:c_ns_anchor_name = s:c_ns_anchor_char.'+'
let s:c_ns_anchor_property = '\v\&'.s:c_ns_anchor_name
let s:ns_word_char = '\v[[:alnum:]_\-]'
let s:ns_tag_char = '\v%('.s:ns_word_char.'|[#/;?:@&=+$.~*''()])'
let s:ns_tag_char = '\v%(%\x\x|'.s:ns_word_char.'|[#/;?:@&=+$.~*''()])'
let s:c_named_tag_handle = '\v\!'.s:ns_word_char.'+\!'
let s:c_secondary_tag_handle = '\v\!\!'
let s:c_primary_tag_handle = '\v\!'
@@ -63,7 +63,7 @@ let s:c_tag_handle = '\v%('.s:c_named_tag_handle.
\ '|'.s:c_primary_tag_handle.')'
let s:c_ns_shorthand_tag = '\v'.s:c_tag_handle . s:ns_tag_char.'+'
let s:c_non_specific_tag = '\v\!'
let s:ns_uri_char = '\v%('.s:ns_word_char.'\v|[#/;?:@&=+$,.!~*''()[\]])'
let s:ns_uri_char = '\v%(%\x\x|'.s:ns_word_char.'\v|[#/;?:@&=+$,.!~*''()[\]])'
let s:c_verbatim_tag = '\v\!\<'.s:ns_uri_char.'+\>'
let s:c_ns_tag_property = '\v'.s:c_verbatim_tag.
\ '\v|'.s:c_ns_shorthand_tag.

View File

@@ -2,7 +2,7 @@
"
" Author: Bram Moolenaar
" Copyright: Vim license applies, see ":help license"
" Last Change: 2022 Apr 16
" Last Change: 2022 May 09
"
" WORK IN PROGRESS - The basics works stable, more to come
" Note: In general you need at least GDB 7.12 because this provides the
@@ -201,8 +201,8 @@ func s:CheckGdbRunning()
return 'ok'
endfunc
" Open a terminal window without a job, to run the debugged program in.
func s:StartDebug_term(dict)
" Open a terminal window without a job, to run the debugged program in.
let s:ptybuf = term_start('NONE', {
\ 'term_name': 'debugged program',
\ 'vertical': s:vertical,
@@ -346,8 +346,8 @@ func s:StartDebug_term(dict)
call s:StartDebugCommon(a:dict)
endfunc
" Open a window with a prompt buffer to run gdb in.
func s:StartDebug_prompt(dict)
" Open a window with a prompt buffer to run gdb in.
if s:vertical
vertical new
else
@@ -915,7 +915,7 @@ func s:DeleteCommands()
if empty(s:k_map_saved)
nunmap K
else
call mapset('n', 0, s:k_map_saved)
call mapset(s:k_map_saved)
endif
unlet s:k_map_saved
endif

View File

@@ -3,7 +3,7 @@
" Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
" License: This file can be redistribued and/or modified under the same terms
" as Vim itself.
" Last Change: 2020 Oct 07
" Last Change: 2022 Apr 25
" Notes: Last synced with apache-2.2.3, version 1.x is no longer supported
" TODO: see particular FIXME's scattered through the file
" make it really linewise?
@@ -46,6 +46,7 @@ syn keyword apacheMethodOption GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH P
syn keyword apacheMethodOption BASELINE-CONTROL CHECKIN CHECKOUT LABEL MERGE MKACTIVITY MKWORKSPACE REPORT UNCHECKOUT UPDATE VERSION-CONTROL contained
syn case ignore
syn match apacheSection "<\/\=\(Directory\|DirectoryMatch\|Files\|FilesMatch\|IfModule\|IfDefine\|Location\|LocationMatch\|VirtualHost\)[^>]*>" contains=apacheAnything
syn match apacheSection "<\/\=\(RequireAll\|RequireAny\|RequireNone\)>" contains=apacheAnything
syn match apacheLimitSection "<\/\=\(Limit\|LimitExcept\)[^>]*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError
syn keyword apacheLimitSectionKeyword Limit LimitExcept contained
syn match apacheAuthType "AuthType\s.*$" contains=apacheAuthTypeValue

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2022 Mar 17
" Last Change: 2022 Apr 24
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -11,7 +11,7 @@ endif
let s:cpo_save = &cpo
set cpo&vim
let s:ft = matchstr(&ft, '^\([^.]\)\+')
let s:ft = matchstr(&ft, '^\%([^.]\)\+')
" check if this was included from cpp.vim
let s:in_cpp_family = exists("b:filetype_in_cpp_family")
@@ -42,17 +42,17 @@ syn cluster cCommentGroup contains=cTodo,cBadContinuation
" String and Character constants
" Highlight special characters (those which have a backslash) differently
syn match cSpecial display contained "\\\(x\x\+\|\o\{1,3}\|.\|$\)"
syn match cSpecial display contained "\\\%(x\x\+\|\o\{1,3}\|.\|$\)"
if !exists("c_no_utf")
syn match cSpecial display contained "\\\(u\x\{4}\|U\x\{8}\)"
syn match cSpecial display contained "\\\%(u\x\{4}\|U\x\{8}\)"
endif
if !exists("c_no_cformat")
" Highlight % items in strings.
if !exists("c_no_c99") " ISO C99
syn match cFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlLjzt]\|ll\|hh\)\=\([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
syn match cFormat display "%\%(\d\+\$\)\=[-+' #0*]*\%(\d*\|\*\|\*\d\+\$\)\%(\.\%(\d*\|\*\|\*\d\+\$\)\)\=\%([hlLjzt]\|ll\|hh\)\=\%([aAbdiuoxXDOUfFeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
else
syn match cFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
syn match cFormat display "%\%(\d\+\$\)\=[-+' #0*]*\%(\d*\|\*\|\*\d\+\$\)\%(\.\%(\d*\|\*\|\*\d\+\$\)\)\=\%([hlL]\|ll\)\=\%([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
endif
syn match cFormat display "%%" contained
endif
@@ -60,8 +60,8 @@ endif
" cCppString: same as cString, but ends at end of line
if s:in_cpp_family && !exists("cpp_no_cpp11") && !exists("c_no_cformat")
" ISO C++11
syn region cString start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
syn region cCppString start=+\(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
syn region cString start=+\%(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
syn region cCppString start=+\%(L\|u\|u8\|U\|R\|LR\|u8R\|uR\|UR\)\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
elseif s:ft ==# "c" && !exists("c_no_c11") && !exists("c_no_cformat")
" ISO C99
syn region cString start=+\%(L\|U\|u8\)\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
@@ -73,7 +73,7 @@ else
syn region cCppString start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
endif
syn region cCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip
syn region cCppSkip contained start="^\s*\%(%:\|#\)\s*\%(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" contains=cSpaceError,cCppSkip
syn cluster cStringGroup contains=cCppString,cCppSkip
@@ -190,16 +190,16 @@ syn case ignore
syn match cNumbers display transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctalError,cOctal
" Same, but without octal error (for comments)
syn match cNumbersCom display contained transparent "\<\d\|\.\d" contains=cNumber,cFloat,cOctal
syn match cNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
syn match cNumber display contained "\d\+\%(u\=l\{0,2}\|ll\=u\)\>"
"hex number
syn match cNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
syn match cNumber display contained "0x\x\+\%(u\=l\{0,2}\|ll\=u\)\>"
" Flag the first zero of an octal number as something special
syn match cOctal display contained "0\o\+\(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero
syn match cOctal display contained "0\o\+\%(u\=l\{0,2}\|ll\=u\)\>" contains=cOctalZero
syn match cOctalZero display contained "\<0"
"floating point number, with dot, optional exponent
syn match cFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
syn match cFloat display contained "\d\+\.\d*\%(e[-+]\=\d\+\)\=[fl]\="
"floating point number, starting with a dot, optional exponent
syn match cFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
syn match cFloat display contained "\.\d\+\%(e[-+]\=\d\+\)\=[fl]\=\>"
"floating point number, without dot, with exponent
syn match cFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>"
if !exists("c_no_c99")
@@ -219,7 +219,7 @@ if exists("c_comment_strings")
" need to use a special type of cString: cCommentString, which also ends on
" "*/", and sees a "*" at the start of the line as comment again.
" Unfortunately this doesn't very well work for // type of comments :-(
syn match cCommentSkip contained "^\s*\*\($\|\s\+\)"
syn match cCommentSkip contained "^\s*\*\%($\|\s\+\)"
syn region cCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip
syn region cComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial
syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError,cWrongComTail,@Spell
@@ -376,36 +376,36 @@ if !exists("c_no_c99") " ISO C99
endif
" Accept %: for # (C99)
syn region cPreCondit start="^\s*\zs\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
syn match cPreConditMatch display "^\s*\zs\(%:\|#\)\s*\(else\|endif\)\>"
syn region cPreCondit start="^\s*\zs\%(%:\|#\)\s*\%(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" keepend contains=cComment,cCommentL,cCppString,cCharacter,cCppParen,cParenError,cNumbers,cCommentError,cSpaceError
syn match cPreConditMatch display "^\s*\zs\%(%:\|#\)\s*\%(else\|endif\)\>"
if !exists("c_no_if0")
syn cluster cCppOutInGroup contains=cCppInIf,cCppInElse,cCppInElse2,cCppOutIf,cCppOutIf2,cCppOutElse,cCppInSkip,cCppOutSkip
syn region cCppOutWrapper start="^\s*\zs\(%:\|#\)\s*if\s\+0\+\s*\($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
syn region cCppOutWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0\+\s*\%($\|//\|/\*\|&\)" end=".\@=\|$" contains=cCppOutIf,cCppOutElse,@NoSpell fold
syn region cCppOutIf contained start="0\+" matchgroup=cCppOutWrapper end="^\s*\%(%:\|#\)\s*endif\>" contains=cCppOutIf2,cCppOutElse
if !exists("c_no_if0_fold")
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell fold
else
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0\+\s*\($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
syn region cCppOutIf2 contained matchgroup=cCppOutWrapper start="0\+" end="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0\+\s*\%($\|//\|/\*\|&\)\)\@!\|endif\>\)"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
endif
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
syn region cCppInWrapper start="^\s*\zs\(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold
syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\(%:\|#\)\s*endif\>" contains=TOP,cPreCondit
syn region cCppOutElse contained matchgroup=cCppOutWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=TOP,cPreCondit
syn region cCppInWrapper start="^\s*\zs\%(%:\|#\)\s*if\s\+0*[1-9]\d*\s*\%($\|//\|/\*\||\)" end=".\@=\|$" contains=cCppInIf,cCppInElse fold
syn region cCppInIf contained matchgroup=cCppInWrapper start="\d\+" end="^\s*\%(%:\|#\)\s*endif\>" contains=TOP,cPreCondit
if !exists("c_no_if0_fold")
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2 fold
else
syn region cCppInElse contained start="^\s*\(%:\|#\)\s*\(else\>\|elif\s\+\(0*[1-9]\d*\s*\($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2
syn region cCppInElse contained start="^\s*\%(%:\|#\)\s*\%(else\>\|elif\s\+\%(0*[1-9]\d*\s*\%($\|//\|/\*\||\)\)\@!\)" end=".\@=\|$" containedin=cCppInIf contains=cCppInElse2
endif
syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(else\|elif\)\([^/]\|/[^/*]\)*" end="^\s*\(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
syn region cCppOutSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip
syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\(%:\|#\)\s*\(if\s\+\(\d\+\s*\($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc
syn region cCppInElse2 contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(else\|elif\)\%([^/]\|/[^/*]\)*" end="^\s*\%(%:\|#\)\s*endif\>"me=s-1 contains=cSpaceError,cCppOutSkip,@Spell
syn region cCppOutSkip contained start="^\s*\%(%:\|#\)\s*\%(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" contains=cSpaceError,cCppOutSkip
syn region cCppInSkip contained matchgroup=cCppInWrapper start="^\s*\%(%:\|#\)\s*\%(if\s\+\%(\d\+\s*\%($\|//\|/\*\||\|&\)\)\@!\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\%(%:\|#\)\s*endif\>" containedin=cCppOutElse,cCppInIf,cCppInSkip contains=TOP,cPreProc
endif
syn region cIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
syn match cIncluded display contained "<[^>]*>"
syn match cInclude display "^\s*\zs\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
syn match cInclude display "^\s*\zs\%(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
"syn match cLineSkip "\\$"
syn cluster cPreProcGroup contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock
syn region cDefine start="^\s*\zs\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
syn region cPreProc start="^\s*\zs\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
syn region cDefine start="^\s*\zs\%(%:\|#\)\s*\%(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
syn region cPreProc start="^\s*\zs\%(%:\|#\)\s*\%(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
" Optional embedded Autodoc parsing
if exists("c_autodoc")

View File

@@ -1,8 +1,7 @@
" Vim syntax file
" Language: ChordPro (v. 3.6.2)
" Language: ChordPro 6 (https://www.chordpro.org)
" Maintainer: Niels Bo Andersen <niels@niboan.dk>
" Last Change: 2006 Apr 30
" Remark: Requires VIM version 6.00 or greater
" Last Change: 2022-04-15
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -12,54 +11,161 @@ endif
let s:cpo_save = &cpo
set cpo&vim
setlocal iskeyword+=-
syn case ignore
syn keyword chordproDirective contained
\ start_of_chorus soc end_of_chorus eoc new_song ns no_grid ng grid g
\ new_page np new_physical_page npp start_of_tab sot end_of_tab eot
\ column_break colb
" Include embedded abc syntax
syn include @Abc syntax/abc.vim
syn keyword chordproDirWithOpt contained
\ comment c comment_italic ci comment_box cb title t subtitle st define
\ textfont textsize chordfont chordsize columns col
" Lilypond and Pango syntaxes could be embedded as well, but they are not
" available in the distribution.
syn keyword chordproDefineKeyword contained base-fret frets
" Directives without arguments
syn keyword chordproDirective contained nextgroup=chordproConditional
\ new_song ns
\ start_of_chorus soc
\ chorus
\ start_of_verse sov
\ start_of_bridge sob
\ start_of_tab sot
\ start_of_grid sog
\ start_of_abc
\ start_of_ly
\ end_of_chorus eoc
\ end_of_verse eov
\ end_of_bridge eob
\ end_of_tab eot
\ end_of_grid eog
\ end_of_abc
\ end_of_ly
\ new_page np
\ new_physical_page npp
\ column_break cb
\ grid g
\ no_grid ng
\ transpose
\ chordfont cf chordsize cs chordcolour
\ footerfont footersize footercolour
\ gridfont gridsize gridcolour
\ tabfont tabsize tabcolour
\ tocfont tocsize toccolour
\ textfont tf textsize ts textcolour
\ titlefont titlesize titlecolour
syn match chordproDirMatch /{\w*}/ contains=chordproDirective contained transparent
syn match chordproDirOptMatch /{\w*:/ contains=chordproDirWithOpt contained transparent
" Directives with arguments. Some directives are in both groups, as they can
" be used both with and without arguments
syn keyword chordproDirWithArg contained nextgroup=chordproConditional
\ title t
\ subtitle st
\ sorttitle
\ artist
\ composer
\ lyricist
\ arranger
\ copyright
\ album
\ year
\ key
\ time
\ tempo
\ duration
\ capo
\ comment c
\ highlight
\ comment_italic ci
\ comment_box cb
\ image
\ start_of_chorus soc
\ chorus
\ start_of_verse sov
\ start_of_bridge sob
\ start_of_tab sot
\ start_of_grid sog
\ start_of_abc
\ start_of_ly
\ define
\ chord
\ transpose
\ chordfont cf chordsize cs chordcolour
\ footerfont footersize footercolour
\ gridfont gridsize gridcolour
\ tabfont tabsize tabcolour
\ tocfont tocsize toccolour
\ textfont tf textsize ts textcolour
\ titlefont titlesize titlecolour
\ pagetype
\ titles
\ columns col
" Workaround for a bug in VIM 6, which causes incorrect coloring of the first {
if version < 700
syn region chordproOptions start=/{\w*:/ end=/}/ contains=chordproDirOptMatch contained transparent
syn region chordproOptions start=/{define:/ end=/}/ contains=chordproDirOptMatch, chordproDefineKeyword contained transparent
else
syn region chordproOptions start=/{\w*:/hs=e+1 end=/}/he=s-1 contains=chordproDirOptMatch contained
syn region chordproOptions start=/{define:/hs=e+1 end=/}/he=s-1 contains=chordproDirOptMatch, chordproDefineKeyword contained
endif
syn keyword chordproMetaKeyword contained meta
syn keyword chordproMetadata contained title sorttitle subtitle artist composer lyricist arranger copyright album year key time tempo duration capo
syn keyword chordproStandardMetadata contained songindex page pages pagerange today tuning instrument user
syn match chordproStandardMetadata /instrument\.type/ contained
syn match chordproStandardMetadata /instrument\.description/ contained
syn match chordproStandardMetadata /user\.name/ contained
syn match chordproStandardMetadata /user\.fullname/ contained
syn region chordproTag start=/{/ end=/}/ contains=chordproDirMatch,chordproOptions oneline
syn keyword chordproDefineKeyword contained frets fingers
syn match chordproDefineKeyword /base-fret/ contained
syn match chordproArgumentsNumber /\d\+/ contained
syn match chordproCustom /x_\w\+/ contained
syn match chordproDirMatch /{\w\+\(-\w\+\)\?}/ contains=chordproDirective contained transparent
syn match chordproDirArgMatch /{\w\+\(-\w\+\)\?[: ]/ contains=chordproDirWithArg contained transparent
syn match chordproMetaMatch /{meta\(-\w\+\)\?[: ]\+\w\+/ contains=chordproMetaKeyword,chordproMetadata contained transparent
syn match chordproCustomMatch /{x_\w\+\(-\w\+\)\?[: ]/ contains=chordproCustom contained transparent
syn match chordproConditional /-\w\+/ contained
syn match chordproMetaDataOperator /[=|]/ contained
syn match chordproMetaDataValue /%{\w*/ contains=chordproMetaData,chordproStandardMetadata contained transparent
" Handles nested metadata tags, but the end of the containing chordproTag is
" not highlighted correctly, if there are more than two levels of nesting
syn region chordproMetaDataTag start=/%{\w*/ skip=/%{[^}]*}/ end=/}/ contains=chordproMetaDataValue,chordproMetaDataOperator,chordproMetadataTag contained
syn region chordproArguments start=/{\w\+\(-\w\+\)\?[: ]/hs=e+1 skip=/%{[^}]*}/ end=/}/he=s-1 contains=chordproDirArgMatch,chordproArgumentsNumber,chordproMetaDataTag contained
syn region chordproArguments start=/{\(define\|chord\)\(-\w\+\)\?[: ]/hs=e+1 end=/}/he=s-1 contains=chordproDirArgMatch,chordproDefineKeyword,chordproArgumentsNumber contained
syn region chordproArguments start=/{meta\(-\w\+\)\?[: ]/hs=e+1 skip=/%{[^}]*}/ end=/}/he=s-1 contains=chordproMetaMatch,chordproMetaDataTag contained
syn region chordproArguments start=/{x_\w\+\(-\w\+\)\?[: ]/hs=e+1 end=/}/he=s-1 contains=chordproCustomMatch contained
syn region chordproTag start=/{/ skip=/%{[^}]*}/ end=/}/ contains=chordproDirMatch,chordproArguments oneline
syn region chordproChord matchgroup=chordproBracket start=/\[/ end=/]/ oneline
syn region chordproTab start=/{start_of_tab}\|{sot}/hs=e+1 end=/{end_of_tab}\|{eot}/he=s-1 contains=chordproTag,chordproComment keepend
syn region chordproAnnotation matchgroup=chordproBracket start=/\[\*/ end=/]/ oneline
syn region chordproChorus start=/{start_of_chorus}\|{soc}/hs=e+1 end=/{end_of_chorus}\|{eoc}/he=s-1 contains=chordproTag,chordproChord,chordproComment keepend
syn region chordproTab start=/{start_of_tab\(-\w\+\)\?\([: ].\+\)\?}\|{sot\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_tab}\|{eot}/me=s-1 contains=chordproTag,chordproComment keepend
syn region chordproChorus start=/{start_of_chorus\(-\w\+\)\?\([: ].\+\)\?}\|{soc\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_chorus}\|{eoc}/me=s-1 contains=chordproTag,chordproChord,chordproAnnotation,chordproComment keepend
syn region chordproBridge start=/{start_of_bridge\(-\w\+\)\?\([: ].\+\)\?}\|{sob\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_bridge}\|{eob}/me=s-1 contains=chordproTag,chordproChord,chordproAnnotation,chordproComment keepend
syn region chordproAbc start=/{start_of_abc\(-\w\+\)\?\([: ].\+\)\?}/hs=e+1 end=/{end_of_abc}/me=s-1 contains=chordproTag,@Abc keepend
syn match chordproComment /^#.*/
" Define the default highlighting.
hi def link chordproDirective Statement
hi def link chordproDirWithOpt Statement
hi def link chordproOptions Special
hi def link chordproDirWithArg Statement
hi def link chordproConditional Statement
hi def link chordproCustom Statement
hi def link chordproMetaKeyword Statement
hi def link chordproMetaDataOperator Operator
hi def link chordproMetaDataTag Function
hi def link chordproArguments Special
hi def link chordproArgumentsNumber Number
hi def link chordproChord Type
hi def link chordproAnnotation Identifier
hi def link chordproTag Constant
hi def link chordproTab PreProc
hi def link chordproComment Comment
hi def link chordproBracket Constant
hi def link chordproDefineKeyword Type
hi def link chordproDefineKeyword Identifier
hi def link chordproMetadata Identifier
hi def link chordproStandardMetadata Identifier
hi def chordproChorus term=bold cterm=bold gui=bold
hi def chordproBridge term=italic cterm=italic gui=italic
let b:current_syntax = "chordpro"

View File

@@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
" Last Change: 2022 Mar 28
" Last Change: 2022 May 01
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
" Standard syntax initialization
@@ -24,7 +24,7 @@ let s:supported = [
\ 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
\ 'trixie', 'sid', 'rc-buggy',
\
\ 'trusty', 'xenial', 'bionic', 'focal', 'impish', 'jammy',
\ 'trusty', 'xenial', 'bionic', 'focal', 'impish', 'jammy', 'kinetic',
\ 'devel'
\ ]
let s:unsupported = [

View File

@@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
" Last Change: 2021 Nov 26
" Last Change: 2022 May 11
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debcontrol.vim
" Standard syntax initialization
@@ -17,7 +17,7 @@ set cpo&vim
" Should match case except for the keys of each field
syn case match
syn iskeyword @,48-57,-,/
syn iskeyword @,48-57,-
" Everything that is not explicitly matched by the rules below
syn match debcontrolElse "^.*$"

View File

@@ -2,7 +2,7 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
" Last Change: 2022 Mar 28
" Last Change: 2022 May 01
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
" Standard syntax initialization
@@ -26,7 +26,7 @@ let s:supported = [
\ 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
\ 'trixie', 'sid', 'rc-buggy',
\
\ 'trusty', 'xenial', 'bionic', 'focal', 'impish', 'jammy',
\ 'trusty', 'xenial', 'bionic', 'focal', 'impish', 'jammy', 'kinetic',
\ 'devel'
\ ]
let s:unsupported = [

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org)
" Last Change: 2021 Jun 13
" Last Change: 2022 May 13
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -215,6 +215,12 @@ hi def link helpError Error
hi def link helpTodo Todo
hi def link helpURL String
if expand('%:p') =~ '[/\\]doc[/\\]syntax.txt'
" highlight groups with their respective color
import 'dist/vimhelp.vim'
call vimhelp.HighlightGroups()
endif
let b:current_syntax = "help"
let &cpo = s:cpo_save

View File

@@ -3,7 +3,7 @@
" Original Author: Mohamed Boughaba <mohamed dot bgb at gmail dot com>
" Maintainer: Quentin Hibon (github user hiqua)
" Version: 0.4
" Last Change: 2022 Jan 15
" Last Change: 2022 May 05
" References:
" http://i3wm.org/docs/userguide.html#configuring
@@ -50,6 +50,10 @@ syn match i3ConfigVariable /\$\w\+\(\(-\w\+\)\+\)\?\(\s\|+\)\?/ contains=i3Confi
syn keyword i3ConfigInitializeKeyword set contained
syn match i3ConfigInitialize /^\s*set\s\+.*$/ contains=i3ConfigVariable,i3ConfigInitializeKeyword,i3ConfigColor,i3ConfigString
" Include
syn keyword i3ConfigIncludeKeyword include contained
syn match i3ConfigInclude /^\s*include\s\+.*$/ contains=i3ConfigIncludeKeyword,i3ConfigString,i3ConfigVariable
" Gaps
syn keyword i3ConfigGapStyleKeyword inner outer horizontal vertical top right bottom left current all set plus minus toggle up down contained
syn match i3ConfigGapStyle /^\s*\(gaps\)\s\+\(inner\|outer\|horizontal\|vertical\|left\|top\|right\|bottom\)\(\s\+\(current\|all\)\)\?\(\s\+\(set\|plus\|minus\|toggle\)\)\?\(\s\+\(-\?\d\+\|\$.*\)\)$/ contains=i3ConfigGapStyleKeyword,i3ConfigNumber,i3ConfigVariable
@@ -221,6 +225,7 @@ hi def link i3ConfigAssignSpecial Special
hi def link i3ConfigFontNamespace PreProc
hi def link i3ConfigBindArgument PreProc
hi def link i3ConfigNoStartupId PreProc
hi def link i3ConfigIncludeKeyword Identifier
hi def link i3ConfigFontKeyword Identifier
hi def link i3ConfigBindKeyword Identifier
hi def link i3ConfigOrientation Identifier

View File

@@ -2,7 +2,7 @@
" Language: Microsoft Macro Assembler (80x86)
" Orig Author: Rob Brady <robb@datatone.com>
" Maintainer: Wu Yongwei <wuyongwei@gmail.com>
" Last Change: 2020-05-09 22:55:38 +0800
" Last Change: 2022-04-24 20:07:04 +0800
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -68,6 +68,7 @@ syn keyword masmType STDCALL SYSCALL C BASIC FORTRAN PASCAL
syn keyword masmType PTR NEAR FAR NEAR16 FAR16 NEAR32 FAR32
syn keyword masmType REAL4 REAL8 REAL10 BYTE SBYTE TBYTE
syn keyword masmType WORD DWORD QWORD FWORD SWORD SDWORD
syn keyword masmType SQWORD OWORD MMWORD XMMWORD YMMWORD
syn keyword masmOperator AND NOT OR SHL SHR XOR MOD DUP
syn keyword masmOperator EQ GE GT LE LT NE
syn keyword masmOperator LROFFSET SEG LENGTH LENGTHOF SIZE SIZEOF

View File

@@ -1,19 +1,43 @@
" Vim syntax file
" Language: Oracle Procedureal SQL (PL/SQL)
" Maintainer: Jeff Lanzarotta (jefflanzarotta at yahoo dot com)
" Original Maintainer: C. Laurence Gonsalves (clgonsal@kami.com)
" URL: http://lanzarotta.tripod.com/vim/syntax/plsql.vim.zip
" Last Change: September 18, 2002
" History: Geoff Evans & Bill Pribyl (bill at plnet dot org)
" Added 9i keywords.
" Austin Ziegler (austin at halostatue dot ca)
" Added 8i+ features.
" Language: Oracle Procedural SQL (PL/SQL)
" Maintainer: Lee Lindley (lee dot lindley at gmail dot com)
" Previous Maintainer: Jeff Lanzarotta (jefflanzarotta at yahoo dot com)
" Previous Maintainer: C. Laurence Gonsalves (clgonsal@kami.com)
" URL: https://github.com/lee-lindley/vim_plsql_syntax
" Last Change: April 28, 2022
" History Lee Lindley (lee dot lindley at gmail dot com)
" updated to 19c keywords. refined quoting.
" separated reserved, non-reserved keywords and functions
" revised folding, giving up on procedure folding due to issue
" with multiple ways to enter <begin>.
" Eugene Lysyonok (lysyonok at inbox ru)
" Added folding.
" Geoff Evans & Bill Pribyl (bill at plnet dot org)
" Added 9i keywords.
" Austin Ziegler (austin at halostatue dot ca)
" Added 8i+ features.
"
" quit when a syntax file was already loaded
" To put SQL keywords as Function group in legacy style
" let plsql_legacy_sql_keywords = 1
"
" To enable folding (It does setlocal foldmethod=syntax)
" let plsql_fold = 1
"
" From my vimrc file -- turn syntax and syntax folding on,
" associate file suffixes as plsql, open all the folds on file open
" let plsql_fold = 1
" au BufNewFile,BufRead *.sql,*.pls,*.tps,*.tpb,*.pks,*.pkb,*.pkg,*.trg set filetype=plsql
" au BufNewFile,BufRead *.sql,*.pls,*.tps,*.tpb,*.pks,*.pkb,*.pkg,*.trg syntax on
" au Syntax plsql normal zR
if exists("b:current_syntax")
finish
endif
" this file uses line continuations
let s:cpo_sav = &cpo
set cpo&vim
" Todo.
syn keyword plsqlTodo TODO FIXME XXX DEBUG NOTE
syn cluster plsqlCommentGroup contains=plsqlTodo
@@ -25,110 +49,512 @@ syn match plsqlIdentifier "[a-z][a-z0-9$_#]*"
syn match plsqlHostIdentifier ":[a-z][a-z0-9$_#]*"
" When wanted, highlight the trailing whitespace.
if exists("c_space_errors")
if !exists("c_no_trail_space_error")
if exists("plsql_space_errors")
if !exists("plsql_no_trail_space_error")
syn match plsqlSpaceError "\s\+$"
endif
if !exists("c_no_tab_space_error")
if !exists("plsql_no_tab_space_error")
syn match plsqlSpaceError " \+\t"me=e-1
endif
endif
" Symbols.
syn match plsqlSymbol "\(;\|,\|\.\)"
syn match plsqlSymbol "[;,.()]"
" Operators.
syn match plsqlOperator "\(+\|-\|\*\|/\|=\|<\|>\|@\|\*\*\|!=\|\~=\)"
syn match plsqlOperator "\(^=\|<=\|>=\|:=\|=>\|\.\.\|||\|<<\|>>\|\"\)"
" Operators. and words that would be something else if not in operator mode
syn match plsqlOperator "[-+*/=<>@"]"
syn match plsqlOperator "\(\^=\|<=\|>=\|:=\|=>\|\.\.\|||\|<<\|>>\|\*\*\|!=\|\~=\)"
syn match plsqlOperator "\<\(NOT\|AND\|OR\|LIKE\|BETWEEN\|IN\)\>"
syn match plsqlBooleanLiteral "\<NULL\>"
syn match plsqlOperator "\<IS\\_s\+\(NOT\_s\+\)\?NULL\>"
"
" conditional compilation Preprocessor directives and sqlplus define sigil
syn match plsqlPseudo "$[$a-z][a-z0-9$_#]*"
syn match plsqlPseudo "&"
" Some of Oracle's SQL keywords.
syn keyword plsqlSQLKeyword ABORT ACCESS ACCESSED ADD AFTER ALL ALTER AND ANY
syn keyword plsqlSQLKeyword AS ASC ATTRIBUTE AUDIT AUTHORIZATION AVG BASE_TABLE
syn keyword plsqlSQLKeyword BEFORE BETWEEN BY CASCADE CAST CHECK CLUSTER
syn keyword plsqlSQLKeyword CLUSTERS COLAUTH COLUMN COMMENT COMPRESS CONNECT
syn keyword plsqlSQLKeyword CONSTRAINT CRASH CREATE CURRENT DATA DATABASE
syn keyword plsqlSQLKeyword DATA_BASE DBA DEFAULT DELAY DELETE DESC DISTINCT
syn keyword plsqlSQLKeyword DROP DUAL ELSE EXCLUSIVE EXISTS EXTENDS EXTRACT
syn keyword plsqlSQLKeyword FILE FORCE FOREIGN FROM GRANT GROUP HAVING HEAP
syn keyword plsqlSQLKeyword IDENTIFIED IDENTIFIER IMMEDIATE IN INCLUDING
syn keyword plsqlSQLKeyword INCREMENT INDEX INDEXES INITIAL INSERT INSTEAD
syn keyword plsqlSQLKeyword INTERSECT INTO INVALIDATE IS ISOLATION KEY LIBRARY
syn keyword plsqlSQLKeyword LIKE LOCK MAXEXTENTS MINUS MODE MODIFY MULTISET
syn keyword plsqlSQLKeyword NESTED NOAUDIT NOCOMPRESS NOT NOWAIT OF OFF OFFLINE
syn keyword plsqlSQLKeyword ON ONLINE OPERATOR OPTION OR ORDER ORGANIZATION
syn keyword plsqlSQLKeyword PCTFREE PRIMARY PRIOR PRIVATE PRIVILEGES PUBLIC
syn keyword plsqlSQLKeyword QUOTA RELEASE RENAME REPLACE RESOURCE REVOKE ROLLBACK
syn keyword plsqlSQLKeyword ROW ROWLABEL ROWS SCHEMA SELECT SEPARATE SESSION SET
syn keyword plsqlSQLKeyword SHARE SIZE SPACE START STORE SUCCESSFUL SYNONYM
syn keyword plsqlSQLKeyword SYSDATE TABLE TABLES TABLESPACE TEMPORARY TO TREAT
syn keyword plsqlSQLKeyword TRIGGER TRUNCATE UID UNION UNIQUE UNLIMITED UPDATE
syn keyword plsqlSQLKeyword USE USER VALIDATE VALUES VIEW WHENEVER WHERE WITH
syn match plsqlReserved "\<\(CREATE\|THEN\|UPDATE\|INSERT\|SET\)\>"
syn match plsqlKeyword "\<\(REPLACE\|PACKAGE\|FUNCTION\|PROCEDURE\|TYPE|BODY\|WHEN\|MATCHED\)\>"
syn region plsqlUpdate
\ matchgroup=plsqlReserved
\ start="\<UPDATE\>"
\ end="\<SET\>"
\ contains=@plsqlIdentifiers
syn match plsqlReserved "\<WHEN\_s\+\(NOT\_s\+\)\?MATCHED\_s\+THEN\_s\+\(UPDATE\|INSERT\)\(\_s\+SET\)\?"
" PL/SQL's own keywords.
syn keyword plsqlKeyword AGENT AND ANY ARRAY ASSIGN AS AT AUTHID BEGIN BODY BY
syn keyword plsqlKeyword BULK C CASE CHAR_BASE CHARSETFORM CHARSETID CLOSE
syn keyword plsqlKeyword COLLECT CONSTANT CONSTRUCTOR CONTEXT CURRVAL DECLARE
syn keyword plsqlKeyword DVOID EXCEPTION EXCEPTION_INIT EXECUTE EXIT FETCH
syn keyword plsqlKeyword FINAL FUNCTION GOTO HASH IMMEDIATE IN INDICATOR
syn keyword plsqlKeyword INSTANTIABLE IS JAVA LANGUAGE LIBRARY MAP MAXLEN
syn keyword plsqlKeyword MEMBER NAME NEW NOCOPY NUMBER_BASE OBJECT OCICOLL
syn keyword plsqlKeyword OCIDATE OCIDATETIME OCILOBLOCATOR OCINUMBER OCIRAW
syn keyword plsqlKeyword OCISTRING OF OPAQUE OPEN OR ORDER OTHERS OUT
syn keyword plsqlKeyword OVERRIDING PACKAGE PARALLEL_ENABLE PARAMETERS
syn keyword plsqlKeyword PARTITION PIPELINED PRAGMA PROCEDURE RAISE RANGE REF
syn keyword plsqlKeyword RESULT RETURN REVERSE ROWTYPE SB1 SELF SHORT SIZE_T
syn keyword plsqlKeyword SQL SQLCODE SQLERRM STATIC STRUCT SUBTYPE TDO THEN
syn keyword plsqlKeyword TABLE TIMEZONE_ABBR TIMEZONE_HOUR TIMEZONE_MINUTE
syn keyword plsqlKeyword TIMEZONE_REGION TYPE UNDER UNSIGNED USING VARIANCE
syn keyword plsqlKeyword VARRAY VARYING WHEN WRITE
syn match plsqlKeyword "\<END\>"
syn match plsqlKeyword "\.COUNT\>"hs=s+1
syn match plsqlKeyword "\.EXISTS\>"hs=s+1
syn match plsqlKeyword "\.FIRST\>"hs=s+1
syn match plsqlKeyword "\.LAST\>"hs=s+1
syn match plsqlKeyword "\.DELETE\>"hs=s+1
syn match plsqlKeyword "\.PREV\>"hs=s+1
syn match plsqlKeyword "\.NEXT\>"hs=s+1
"
" Oracle's non-reserved keywords
syn keyword plsqlKeyword ABORT ABS ABSENT ACCESS ACCESSED ACCOUNT ACL ACOS ACROSS ACTION ACTIONS
syn keyword plsqlKeyword ACTIVATE ACTIVE ACTIVE_COMPONENT ACTIVE_DATA ACTIVE_FUNCTION ACTIVE_TAG ACTIVITY
syn keyword plsqlKeyword ADAPTIVE_PLAN ADD ADD_COLUMN ADD_GROUP ADD_MONTHS ADG_REDIRECT_DML ADG_REDIRECT_PLSQL
syn keyword plsqlKeyword ADJ_DATE ADMIN ADMINISTER ADMINISTRATOR ADVANCED ADVISE ADVISOR AFD_DISKSTRING
syn keyword plsqlKeyword AFFINITY AFTER AGGREGATE AGGREGATES ALGORITHM ALIAS ALLOCATE ALLOW ALL_ROWS
syn keyword plsqlKeyword ALTERNATE ALWAYS ANALYTIC ANALYTIC_VIEW_SQL ANALYZE ANCESTOR ANCILLARY AND_EQUAL
syn keyword plsqlKeyword ANOMALY ANSI_REARCH ANSWER_QUERY_USING_STATS ANTIJOIN ANYSCHEMA ANY_VALUE
syn keyword plsqlKeyword APPEND APPENDCHILDXML APPEND_VALUES APPLICATION APPLY APPROX_COUNT APPROX_COUNT_DISTINCT
syn keyword plsqlKeyword APPROX_COUNT_DISTINCT_AGG APPROX_COUNT_DISTINCT_DETAIL APPROX_MEDIAN APPROX_PERCENTILE
syn keyword plsqlKeyword APPROX_PERCENTILE_AGG APPROX_PERCENTILE_DETAIL APPROX_RANK APPROX_SUM ARCHIVAL
syn keyword plsqlKeyword ARCHIVE ARCHIVED ARCHIVELOG ARRAY ARRAYS ASCII ASCIISTR ASIN ASIS ASSEMBLY
syn keyword plsqlKeyword ASSIGN ASSOCIATE ASYNC ASYNCHRONOUS AS_JSON AT ATAN ATAN2 ATTRIBUTE ATTRIBUTES
syn keyword plsqlKeyword AUDIT AUTHENTICATED AUTHENTICATION AUTHID AUTHORIZATION AUTO AUTOALLOCATE
syn keyword plsqlKeyword AUTOEXTEND AUTOMATIC AUTO_LOGIN AUTO_REOPTIMIZE AVAILABILITY AVCACHE_OP AVERAGE_RANK
syn keyword plsqlKeyword AVG AVMDX_OP AVRO AV_AGGREGATE AV_CACHE AW BACKGROUND BACKINGFILE BACKUP BAND_JOIN
syn keyword plsqlKeyword BASIC BASICFILE BATCH BATCHSIZE BATCH_TABLE_ACCESS_BY_ROWID BECOME BEFORE
syn keyword plsqlKeyword BEGINNING BEGIN_OUTLINE_DATA BEHALF BEQUEATH BFILENAME BIGFILE BINARY
syn keyword plsqlKeyword BINARY_DOUBLE_INFINITY BINARY_DOUBLE_NAN BINARY_FLOAT_INFINITY BINARY_FLOAT_NAN
syn keyword plsqlKeyword BINDING BIND_AWARE BIN_TO_NUM BITAND BITMAP BITMAPS BITMAP_AND BITMAP_BIT_POSITION
syn keyword plsqlKeyword BITMAP_BUCKET_NUMBER BITMAP_CONSTRUCT_AGG BITMAP_COUNT BITMAP_OR_AGG BITMAP_TREE
syn keyword plsqlKeyword BITOR BITS BITXOR BIT_AND_AGG BIT_OR_AGG BIT_XOR_AGG BLOCK BLOCKCHAIN BLOCKING
syn keyword plsqlKeyword BLOCKS BLOCKSIZE BLOCK_RANGE BOOL BOOTSTRAP BOTH BOUND BRANCH BREADTH
syn keyword plsqlKeyword BROADCAST BSON BUFFER BUFFER_CACHE BUFFER_POOL BUILD BULK BUSHY_JOIN BYPASS_RECURSIVE_CHECK
syn keyword plsqlKeyword BYPASS_UJVC CACHE CACHE_CB CACHE_INSTANCES CACHE_TEMP_TABLE CACHING CALCULATED
syn keyword plsqlKeyword CALL CALLBACK CANCEL CAPACITY CAPTION CAPTURE CARDINALITY CASCADE CAST
syn keyword plsqlKeyword CATALOG_DBLINK CATEGORY CDB$DEFAULT CDB_HTTP_HANDLER CEIL CELLMEMORY CELL_FLASH_CACHE
syn keyword plsqlKeyword CERTIFICATE CFILE CHAINED CHANGE CHANGE_DUPKEY_ERROR_INDEX CHARTOROWID CHAR_CS
syn keyword plsqlKeyword CHECKPOINT CHECKSUM CHECK_ACL_REWRITE CHILD CHOOSE CHR CHUNK CLASS CLASSIFICATION
syn keyword plsqlKeyword CLASSIFIER CLAUSE CLEAN CLEANUP CLEAR CLIENT CLONE CLOSE CLOSEST CLOSE_CACHED_OPEN_CURSORS
syn keyword plsqlKeyword CLOUD_IDENTITY CLUSTERING CLUSTERING_FACTOR CLUSTERS CLUSTER_BY_ROWID CLUSTER_DETAILS
syn keyword plsqlKeyword CLUSTER_DISTANCE CLUSTER_ID CLUSTER_PROBABILITY CLUSTER_SET COALESCE COALESCE_SQ
syn keyword plsqlKeyword COARSE COLAUTH COLD COLLATE COLLATION COLLECT COLUMN COLUMNAR COLUMNS COLUMN_AUTHORIZATION_INDICATOR
syn keyword plsqlKeyword COLUMN_AUTH_INDICATOR COLUMN_STATS COLUMN_VALUE COMMENT COMMIT COMMITTED COMMON
syn keyword plsqlKeyword COMMON_DATA_MAP COMPACT COMPATIBILITY COMPILE COMPLETE COMPLIANCE COMPONENT
syn keyword plsqlKeyword COMPONENTS COMPOSE COMPOSITE COMPOSITE_LIMIT COMPOUND COMPUTATION COMPUTE
syn keyword plsqlKeyword CONCAT CONDITION CONDITIONAL CONFIRM CONFORMING CONNECT_BY_CB_WHR_ONLY CONNECT_BY_COMBINE_SW
syn keyword plsqlKeyword CONNECT_BY_COST_BASED CONNECT_BY_ELIM_DUPS CONNECT_BY_FILTERING CONNECT_BY_ISCYCLE
syn keyword plsqlKeyword CONNECT_BY_ISLEAF CONNECT_BY_ROOT CONNECT_TIME CONSENSUS CONSIDER CONSISTENT
syn keyword plsqlKeyword CONST CONSTANT CONSTRAINT CONSTRAINTS CONTAINER CONTAINERS CONTAINERS_DEFAULT
syn keyword plsqlKeyword CONTAINER_DATA CONTAINER_DATA_ADMIT_NULL CONTAINER_MAP CONTAINER_MAP_OBJECT
syn keyword plsqlKeyword CONTENT CONTENTS CONTEXT CONTINUE CONTROLFILE CONVERSION CONVERT CON_DBID_TO_ID
syn keyword plsqlKeyword CON_GUID_TO_ID CON_ID CON_ID_FILTER CON_ID_TO_CON_NAME CON_ID_TO_DBID CON_ID_TO_GUID
syn keyword plsqlKeyword CON_ID_TO_UID CON_NAME_TO_ID CON_UID_TO_ID COOKIE COPY CORR CORRUPTION CORRUPT_XID
syn keyword plsqlKeyword CORRUPT_XID_ALL CORR_K CORR_S COS COSH COST COST_XML_QUERY_REWRITE COVAR_POP
syn match plsqlKeyword "\<COUNT\>"
syn keyword plsqlKeyword COVAR_SAMP CO_AUTH_IND CPU_COSTING CPU_COUNT CPU_PER_CALL CPU_PER_SESSION
syn keyword plsqlKeyword CPU_TIME CRASH CREATE_FILE_DEST CREATE_STORED_OUTLINES CREATION CREDENTIAL
syn keyword plsqlKeyword CREDENTIALS CRITICAL CROSS CROSSEDITION CSCONVERT CUBE CUBE_AJ CUBE_GB CUBE_SJ
syn keyword plsqlKeyword CUME_DIST CUME_DISTM CURRENT CURRENTV CURRENT_DATE CURRENT_INSTANCE CURRENT_PARTSET_KEY
syn keyword plsqlKeyword CURRENT_SCHEMA CURRENT_SHARD_KEY CURRENT_TIME CURRENT_TIMESTAMP CURRENT_USER
syn keyword plsqlKeyword CURSOR CURSOR_SHARING_EXACT CURSOR_SPECIFIC_SEGMENT CV CYCLE DAGG_OPTIM_GSETS
syn keyword plsqlKeyword DANGLING DATA DATABASE DATABASES DATAFILE DATAFILES DATAMOVEMENT DATAOBJNO
syn keyword plsqlKeyword DATAOBJ_TO_MAT_PARTITION DATAOBJ_TO_PARTITION DATAPUMP DATASTORE DATA_LINK_DML
syn keyword plsqlKeyword DATA_SECURITY_REWRITE_LIMIT DATA_VALIDATE DATE_MODE DAYS DBA DBA_RECYCLEBIN
syn keyword plsqlKeyword DBMS_STATS DBSTR2UTF8 DBTIMEZONE DB_ROLE_CHANGE DB_UNIQUE_NAME DB_VERSION
syn keyword plsqlKeyword DDL DEALLOCATE DEBUG DEBUGGER DECLARE DECODE DECOMPOSE DECOMPRESS DECORRELATE
syn keyword plsqlKeyword DECR DECREMENT DECRYPT DEDUPLICATE DEFAULTS DEFAULT_COLLATION DEFAULT_PDB_HINT
syn keyword plsqlKeyword DEFERRABLE DEFERRED DEFINE DEFINED DEFINER DEFINITION DEGREE DELAY DELEGATE
syn keyword plsqlKeyword DELETEXML DELETE_ALL DEMAND DENORM_AV DENSE_RANK DENSE_RANKM DEPENDENT DEPTH
syn keyword plsqlKeyword DEQUEUE DEREF DEREF_NO_REWRITE DESCENDANT DESCRIPTION DESTROY DETACHED DETERMINED
syn keyword plsqlKeyword DETERMINES DETERMINISTIC DG_GATHER_STATS DIAGNOSTICS DICTIONARY DIGEST DIMENSION
syn keyword plsqlKeyword DIMENSIONS DIRECT DIRECTORY DIRECT_LOAD DIRECT_PATH DISABLE DISABLE_ALL DISABLE_CONTAINERS_DEFAULT
syn keyword plsqlKeyword DISABLE_CONTAINER_MAP DISABLE_PARALLEL_DML DISABLE_PRESET DISABLE_RPKE DISALLOW
syn keyword plsqlKeyword DISASSOCIATE DISCARD DISCONNECT DISK DISKGROUP DISKS DISMOUNT DISTINGUISHED
syn keyword plsqlKeyword DISTRIBUTE DISTRIBUTED DIST_AGG_PROLLUP_PUSHDOWN DML DML_UPDATE DOCFIDELITY
syn keyword plsqlKeyword DOCUMENT DOMAIN_INDEX_FILTER DOMAIN_INDEX_NO_SORT DOMAIN_INDEX_SORT DOWNGRADE
syn keyword plsqlKeyword DRAIN_TIMEOUT DRIVING_SITE DROP_COLUMN DROP_GROUP DST_UPGRADE_INSERT_CONV
syn keyword plsqlKeyword DUMP DUPLICATE DUPLICATED DV DYNAMIC DYNAMIC_SAMPLING DYNAMIC_SAMPLING_EST_CDN
syn keyword plsqlKeyword EACH EDITION EDITIONABLE EDITIONING EDITIONS ELAPSED_TIME ELEMENT ELIMINATE_JOIN
syn keyword plsqlKeyword ELIMINATE_OBY ELIMINATE_OUTER_JOIN ELIMINATE_SQ ELIM_GROUPBY EM EMPTY EMPTY_BLOB
syn keyword plsqlKeyword EMPTY_CLOB ENABLE ENABLE_ALL ENABLE_PARALLEL_DML ENABLE_PRESET ENCODE ENCODING
syn keyword plsqlKeyword ENCRYPT ENCRYPTION
syn keyword plsqlKeyword END_OUTLINE_DATA ENFORCE ENFORCED ENQUEUE ENTERPRISE
syn keyword plsqlKeyword ENTITYESCAPING ENTRY EQUIPART EQUIVALENT ERROR ERRORS ERROR_ARGUMENT ERROR_ON_OVERLAP_TIME
syn keyword plsqlKeyword ESCAPE ESTIMATE EVAL EVALNAME EVALUATE EVALUATION EVEN EVENTS EVERY EXCEPTION
syn keyword plsqlKeyword EXCEPTIONS EXCHANGE EXCLUDE EXCLUDING EXECUTE EXEMPT EXISTING EXISTSNODE EXP
syn keyword plsqlKeyword EXPAND EXPAND_GSET_TO_UNION EXPAND_TABLE EXPIRE EXPLAIN EXPLOSION EXPORT EXPRESS
syn keyword plsqlKeyword EXPR_CORR_CHECK EXTEND EXTENDED EXTENDS EXTENT EXTENTS EXTERNAL EXTERNALLY
syn keyword plsqlKeyword EXTRA EXTRACT EXTRACTCLOBXML EXTRACTVALUE FACILITY FACT FACTOR FACTORIZE_JOIN
syn keyword plsqlKeyword FAILED FAILED_LOGIN_ATTEMPTS FAILGROUP FAILOVER FAILURE FAMILY FAR FAST
syn keyword plsqlKeyword FBTSCAN FEATURE FEATURE_COMPARE FEATURE_DETAILS FEATURE_ID FEATURE_SET FEATURE_VALUE
syn keyword plsqlKeyword FEDERATION FETCH FILE FILEGROUP FILESTORE FILESYSTEM_LIKE_LOGGING FILE_NAME_CONVERT
syn keyword plsqlKeyword FILTER FINAL FINE FINISH FIRSTM FIRST_ROWS FIRST_VALUE FIXED_VIEW_DATA
syn match plsqlKeyword "\<FIRST\>"
syn keyword plsqlKeyword FLAGGER FLASHBACK FLASH_CACHE FLEX FLOB FLOOR FLUSH FOLDER FOLLOWING FOLLOWS
syn keyword plsqlKeyword FORCE FORCE_JSON_TABLE_TRANSFORM FORCE_SPATIAL FORCE_XML_QUERY_REWRITE FOREIGN
syn keyword plsqlKeyword FOREVER FORMAT FORWARD FRAGMENT_NUMBER FREE FREELIST FREELISTS FREEPOOLS FRESH
syn keyword plsqlKeyword FRESH_MV FROM_TZ FTP FULL FULL_OUTER_JOIN_TO_OUTER FUNCTIONS GATHER_OPTIMIZER_STATISTICS
syn keyword plsqlKeyword GATHER_PLAN_STATISTICS GBY_CONC_ROLLUP GBY_PUSHDOWN GENERATED GET GLOBAL GLOBALLY
syn keyword plsqlKeyword GLOBAL_NAME GLOBAL_TOPIC_ENABLED GOLDENGATE GOTO GRANTED GRANULAR GREATEST
syn keyword plsqlKeyword GROUPING GROUPING_ID GROUPS GROUP_BY GROUP_ID GUARANTEE GUARANTEED GUARD H
syn keyword plsqlKeyword HALF_YEARS HASH HASHING HASHKEYS HASHSET_BUILD HASH_AJ HASH_SJ HEADER HEAP
syn keyword plsqlKeyword HELP HEXTORAW HEXTOREF HIDDEN HIDE HIERARCHICAL HIERARCHIES HIERARCHY HIER_ANCESTOR
syn keyword plsqlKeyword HIER_CAPTION HIER_CHILDREN HIER_CHILD_COUNT HIER_COLUMN HIER_CONDITION HIER_DEPTH
syn keyword plsqlKeyword HIER_DESCRIPTION HIER_HAS_CHILDREN HIER_LAG HIER_LEAD HIER_LEVEL HIER_MEMBER_NAME
syn keyword plsqlKeyword HIER_MEMBER_UNIQUE_NAME HIER_ORDER HIER_PARENT HIER_WINDOW HIGH HINTSET_BEGIN
syn keyword plsqlKeyword HINTSET_END HOST HOT HOUR HOURS HTTP HWM_BROKERED HYBRID ID IDENTIFIER IDENTITY
syn keyword plsqlKeyword IDGENERATORS IDLE IDLE_TIME IGNORE IGNORE_OPTIM_EMBEDDED_HINTS IGNORE_ROW_ON_DUPKEY_INDEX
syn keyword plsqlKeyword IGNORE_WHERE_CLAUSE ILM IMMEDIATE IMMUTABLE IMPACT IMPORT INACTIVE INACTIVE_ACCOUNT_TIME
syn keyword plsqlKeyword INCLUDE INCLUDES INCLUDE_VERSION INCLUDING INCOMING INCR INCREMENT INCREMENTAL
syn keyword plsqlKeyword INDENT INDEXED INDEXES INDEXING INDEXTYPE INDEXTYPES INDEX_ASC INDEX_COMBINE
syn keyword plsqlKeyword INDEX_DESC INDEX_FFS INDEX_FILTER INDEX_JOIN INDEX_ROWS INDEX_RRS INDEX_RS
syn keyword plsqlKeyword INDEX_RS_ASC INDEX_RS_DESC INDEX_SCAN INDEX_SKIP_SCAN INDEX_SS INDEX_SS_ASC
syn keyword plsqlKeyword INDEX_SS_DESC INDEX_STATS INDICATOR INFINITE INFORMATIONAL INHERIT INITCAP
syn keyword plsqlKeyword INITIAL INITIALIZED INITIALLY INITRANS INLINE INLINE_XMLTYPE_NT INLINE_XT
syn keyword plsqlKeyword INMEMORY INMEMORY_PRUNING INNER INPLACE INSENSITIVE INSERTCHILDXML INSERTCHILDXMLAFTER
syn keyword plsqlKeyword INSERTCHILDXMLBEFORE INSERTXMLAFTER INSERTXMLBEFORE INSTALL INSTANCE INSTANCES
syn keyword plsqlKeyword INSTANTIABLE INSTANTLY INSTEAD INSTR INSTR2 INSTR4 INSTRB INSTRC INTERLEAVED
syn keyword plsqlKeyword INTERMEDIATE INTERNAL_CONVERT INTERNAL_USE INTERPRETED INTRA_CDB INVALIDATE
syn keyword plsqlKeyword INVALIDATION INVISIBLE IN_MEMORY_METADATA IN_XQUERY IOSEEKTIM IOTFRSPEED IO_LOGICAL
syn keyword plsqlKeyword IO_MEGABYTES IO_REQUESTS ISOLATE ISOLATION ISOLATION_LEVEL ITERATE ITERATION_NUMBER
syn keyword plsqlKeyword JAVA JOB JOIN JSON JSONGET JSONPARSE JSONTOXML JSON_ARRAY JSON_ARRAYAGG JSON_EQUAL
syn keyword plsqlKeyword JSON_EQUAL2 JSON_EXISTS JSON_EXISTS2 JSON_HASH JSON_LENGTH JSON_MERGEPATCH
syn keyword plsqlKeyword JSON_MKMVI JSON_OBJECT JSON_OBJECTAGG JSON_PATCH JSON_QUERY JSON_SCALAR JSON_SERIALIZE
syn keyword plsqlKeyword JSON_TABLE JSON_TEXTCONTAINS JSON_TEXTCONTAINS2 JSON_TRANSFORM JSON_VALUE
syn keyword plsqlKeyword KEEP KEEP_DUPLICATES KERBEROS KEY KEYS KEYSIZE KEYSTORE KEY_LENGTH KILL
syn keyword plsqlKeyword KURTOSIS_POP KURTOSIS_SAMP LABEL LAG LAG_DIFF LAG_DIFF_PERCENT LANGUAGE
syn match plsqlKeyword "\<LAST\>"
syn keyword plsqlKeyword LAST_DAY LAST_VALUE LATERAL LAX LAYER LDAP_REGISTRATION LDAP_REGISTRATION_ENABLED
syn keyword plsqlKeyword LDAP_REG_SYNC_INTERVAL LEAD LEADING LEAD_CDB LEAD_CDB_URI LEAD_DIFF LEAD_DIFF_PERCENT
syn keyword plsqlKeyword LEAF LEAST LEAVES LEDGER LEFT LENGTH LENGTH2 LENGTH4 LENGTHB LENGTHC LESS
syn keyword plsqlKeyword LEVEL LEVELS LIBRARY LIFE LIFECYCLE LIFETIME LIKE2 LIKE4 LIKEC LIMIT LINEAR
syn keyword plsqlKeyword LINK LIST LISTAGG LN LNNVL LOAD LOB LOBNVL LOBS LOB_VALUE LOCALTIME LOCALTIMESTAMP
syn keyword plsqlKeyword LOCAL_INDEXES LOCATION LOCATOR LOCKDOWN LOCKED LOCKING LOG LOGFILE LOGFILES
syn keyword plsqlKeyword LOGGING LOGICAL LOGICAL_READS_PER_CALL LOGICAL_READS_PER_SESSION LOGMINING
syn keyword plsqlKeyword LOGOFF LOGON LOG_READ_ONLY_VIOLATIONS LOST LOW LOWER LPAD LTRIM MAIN MAKE_REF
syn keyword plsqlKeyword MANAGE MANAGED MANAGEMENT MANAGER MANDATORY MANUAL MAP MAPPER MAPPING MASTER
syn keyword plsqlKeyword MATCH MATCHES MATCH_NUMBER MATCH_RECOGNIZE MATERIALIZE MATERIALIZED
syn keyword plsqlKeyword MATRIX MAX MAXARCHLOGS MAXDATAFILES MAXEXTENTS MAXIMIZE MAXINSTANCES MAXLOGFILES
syn keyword plsqlKeyword MAXLOGHISTORY MAXLOGMEMBERS MAXSIZE MAXTRANS MAXVALUE MAX_AUDIT_SIZE MAX_DIAG_SIZE
syn keyword plsqlKeyword MAX_PDB_SNAPSHOTS MAX_SHARED_TEMP_SIZE MBRC MEASURE MEASURES MEDIAN MEDIUM
syn keyword plsqlKeyword MEMBER MEMCOMPRESS MEMOPTIMIZE MEMOPTIMIZE_WRITE MEMORY MERGE MERGE$ACTIONS
syn keyword plsqlKeyword MERGE_AJ MERGE_CONST_ON MERGE_SJ METADATA METADATA_SOURCE_PDB METHOD MIGRATE
syn keyword plsqlKeyword MIGRATE_CROSS_CON MIGRATION MIN MINEXTENTS MINIMIZE MINIMUM MINING MINUS_NULL
syn keyword plsqlKeyword MINUTE MINUTES MINVALUE MIRROR MIRRORCOLD MIRRORHOT MISMATCH MISSING MLE MLSLABEL
syn keyword plsqlKeyword MOD MODEL MODEL_COMPILE_SUBQUERY MODEL_DONTVERIFY_UNIQUENESS MODEL_DYNAMIC_SUBQUERY
syn keyword plsqlKeyword MODEL_MIN_ANALYSIS MODEL_NB MODEL_NO_ANALYSIS MODEL_PBY MODEL_PUSH_REF MODEL_SV
syn keyword plsqlKeyword MODIFICATION MODIFY MODIFY_COLUMN_TYPE MODULE MONITOR MONITORING MONTHS MONTHS_BETWEEN
syn keyword plsqlKeyword MOUNT MOUNTPATH MOUNTPOINT MOVE MOVEMENT MULTIDIMENSIONAL MULTISET MULTIVALUE
syn keyword plsqlKeyword MV_MERGE NAME NAMED NAMES NAMESPACE NAN NANVL NATIVE NATIVE_FULL_OUTER_JOIN
syn keyword plsqlKeyword NATURAL NAV NCHAR_CS NCHR NEEDED NEG NESTED NESTED_ROLLUP_TOP NESTED_TABLE_FAST_INSERT
syn keyword plsqlKeyword NESTED_TABLE_GET_REFS NESTED_TABLE_ID NESTED_TABLE_SET_REFS NESTED_TABLE_SET_SETID
syn keyword plsqlKeyword NETWORK NEVER NEW NEW_TIME NEXT_DAY NLJ_BATCHING NLJ_INDEX_FILTER NLJ_INDEX_SCAN
syn match plsqlKeyword "\<NEXT\>"
syn keyword plsqlKeyword NLJ_PREFETCH NLSSORT NLS_CALENDAR NLS_CHARACTERSET NLS_CHARSET_DECL_LEN NLS_CHARSET_ID
syn keyword plsqlKeyword NLS_CHARSET_NAME NLS_COLLATION_ID NLS_COLLATION_NAME NLS_COMP NLS_CURRENCY
syn keyword plsqlKeyword NLS_DATE_FORMAT NLS_DATE_LANGUAGE NLS_INITCAP NLS_ISO_CURRENCY NLS_LANG NLS_LANGUAGE
syn keyword plsqlKeyword NLS_LENGTH_SEMANTICS NLS_LOWER NLS_NCHAR_CONV_EXCP NLS_NUMERIC_CHARACTERS
syn keyword plsqlKeyword NLS_SORT NLS_SPECIAL_CHARS NLS_TERRITORY NLS_UPPER NL_AJ NL_SJ NO NOAPPEND
syn keyword plsqlKeyword NOARCHIVELOG NOAUDIT NOCACHE NOCOPY NOCPU_COSTING NOCYCLE NODELAY NOENTITYESCAPING
syn keyword plsqlKeyword NOEXTEND NOFORCE NOGUARANTEE NOKEEP NOLOCAL NOLOGGING NOMAPPING NOMAXVALUE
syn keyword plsqlKeyword NOMINIMIZE NOMINVALUE NOMONITORING NONBLOCKING NONE NONEDITIONABLE NONPARTITIONED
syn keyword plsqlKeyword NONSCHEMA NOORDER NOOVERRIDE NOPARALLEL NOPARALLEL_INDEX NORELOCATE NORELY
syn keyword plsqlKeyword NOREPAIR NOREPLAY NORESETLOGS NOREVERSE NOREWRITE NORMAL NOROWDEPENDENCIES
syn keyword plsqlKeyword NOSCALE NOSCHEMACHECK NOSEGMENT NOSHARD NOSORT NOSTRICT NOSWITCH NOTHING NOTIFICATION
syn keyword plsqlKeyword NOVALIDATE NOW NO_ACCESS NO_ADAPTIVE_PLAN NO_ANSI_REARCH NO_ANSWER_QUERY_USING_STATS
syn keyword plsqlKeyword NO_AUTO_REOPTIMIZE NO_BAND_JOIN NO_BASETABLE_MULTIMV_REWRITE NO_BATCH_TABLE_ACCESS_BY_ROWID
syn keyword plsqlKeyword NO_BIND_AWARE NO_BUFFER NO_BUSHY_JOIN NO_CARTESIAN NO_CHECK_ACL_REWRITE NO_CLUSTERING
syn keyword plsqlKeyword NO_CLUSTER_BY_ROWID NO_COALESCE_SQ NO_COMMON_DATA NO_CONNECT_BY_CB_WHR_ONLY
syn keyword plsqlKeyword NO_CONNECT_BY_COMBINE_SW NO_CONNECT_BY_COST_BASED NO_CONNECT_BY_ELIM_DUPS
syn keyword plsqlKeyword NO_CONNECT_BY_FILTERING NO_CONTAINERS NO_COST_XML_QUERY_REWRITE NO_CPU_COSTING
syn keyword plsqlKeyword NO_CROSS_CONTAINER NO_DAGG_OPTIM_GSETS NO_DATA_SECURITY_REWRITE NO_DECORRELATE
syn keyword plsqlKeyword NO_DIST_AGG_PROLLUP_PUSHDOWN NO_DOMAIN_INDEX_FILTER NO_DST_UPGRADE_INSERT_CONV
syn keyword plsqlKeyword NO_ELIMINATE_JOIN NO_ELIMINATE_OBY NO_ELIMINATE_OUTER_JOIN NO_ELIMINATE_SQ
syn keyword plsqlKeyword NO_ELIM_GROUPBY NO_EXPAND NO_EXPAND_GSET_TO_UNION NO_EXPAND_TABLE NO_FACT
syn keyword plsqlKeyword NO_FACTORIZE_JOIN NO_FILTERING NO_FULL_OUTER_JOIN_TO_OUTER NO_GATHER_OPTIMIZER_STATISTICS
syn keyword plsqlKeyword NO_GBY_PUSHDOWN NO_INDEX NO_INDEX_FFS NO_INDEX_SS NO_INMEMORY NO_INMEMORY_PRUNING
syn keyword plsqlKeyword NO_JSON_TABLE_TRANSFORM NO_LOAD NO_MERGE NO_MODEL_PUSH_REF NO_MONITOR NO_MONITORING
syn keyword plsqlKeyword NO_MULTIMV_REWRITE NO_NATIVE_FULL_OUTER_JOIN NO_NLJ_BATCHING NO_NLJ_PREFETCH
syn keyword plsqlKeyword NO_OBJECT_LINK NO_OBY_GBYPD_SEPARATE NO_ORDER_ROLLUPS NO_OR_EXPAND NO_OUTER_JOIN_TO_ANTI
syn keyword plsqlKeyword NO_OUTER_JOIN_TO_INNER NO_PARALLEL NO_PARALLEL_INDEX NO_PARTIAL_COMMIT NO_PARTIAL_JOIN
syn keyword plsqlKeyword NO_PARTIAL_OSON_UPDATE NO_PARTIAL_ROLLUP_PUSHDOWN NO_PLACE_DISTINCT NO_PLACE_GROUP_BY
syn keyword plsqlKeyword NO_PQ_CONCURRENT_UNION NO_PQ_EXPAND_TABLE NO_PQ_MAP NO_PQ_NONLEAF_SKEW NO_PQ_REPLICATE
syn keyword plsqlKeyword NO_PQ_SKEW NO_PRUNE_GSETS NO_PULL_PRED NO_PUSH_HAVING_TO_GBY NO_PUSH_PRED
syn keyword plsqlKeyword NO_PUSH_SUBQ NO_PX_FAULT_TOLERANCE NO_PX_JOIN_FILTER NO_QKN_BUFF NO_QUERY_TRANSFORMATION
syn keyword plsqlKeyword NO_REF_CASCADE NO_REORDER_WIF NO_RESULT_CACHE NO_REWRITE NO_ROOT_SW_FOR_LOCAL
syn keyword plsqlKeyword NO_SEMIJOIN NO_SEMI_TO_INNER NO_SET_GBY_PUSHDOWN NO_SET_TO_JOIN NO_SQL_TRANSLATION
syn keyword plsqlKeyword NO_SQL_TUNE NO_STAR_TRANSFORMATION NO_STATEMENT_QUEUING NO_STATS_GSETS NO_SUBQUERY_PRUNING
syn keyword plsqlKeyword NO_SUBSTRB_PAD NO_SWAP_JOIN_INPUTS NO_TABLE_LOOKUP_BY_NL NO_TEMP_TABLE NO_TRANSFORM_DISTINCT_AGG
syn keyword plsqlKeyword NO_UNNEST NO_USE_CUBE NO_USE_DAGG_UNION_ALL_GSETS NO_USE_HASH NO_USE_HASH_AGGREGATION
syn keyword plsqlKeyword NO_USE_HASH_GBY_FOR_DAGGPSHD NO_USE_HASH_GBY_FOR_PUSHDOWN NO_USE_INVISIBLE_INDEXES
syn keyword plsqlKeyword NO_USE_MERGE NO_USE_NL NO_USE_PARTITION_WISE_DISTINCT NO_USE_PARTITION_WISE_GBY
syn keyword plsqlKeyword NO_USE_PARTITION_WISE_WIF NO_USE_SCALABLE_GBY_INVDIST NO_USE_VECTOR_AGGREGATION
syn keyword plsqlKeyword NO_VECTOR_TRANSFORM NO_VECTOR_TRANSFORM_DIMS NO_VECTOR_TRANSFORM_FACT NO_XDB_FASTPATH_INSERT
syn keyword plsqlKeyword NO_XMLINDEX_REWRITE NO_XMLINDEX_REWRITE_IN_SELECT NO_XML_DML_REWRITE NO_XML_QUERY_REWRITE
syn keyword plsqlKeyword NO_ZONEMAP NTH_VALUE NTILE NULLIF NULLS NUMTODSINTERVAL NUMTOYMINTERVAL NUM_INDEX_KEYS
syn keyword plsqlKeyword NVL NVL2 OBJECT OBJECT2XML OBJNO OBJNO_REUSE OBJ_ID OBY_GBYPD_SEPARATE OCCURENCES
syn keyword plsqlKeyword OCCURRENCES ODD OFF OFFLINE OFFSET OID OIDINDEX OLAP OLD OLD_PUSH_PRED OLS
syn keyword plsqlKeyword OLTP OMIT ONE ONLINE ONLY OPAQUE OPAQUE_TRANSFORM OPAQUE_XCANONICAL OPCODE
syn keyword plsqlKeyword OPEN OPERATIONS OPERATOR OPTIMAL OPTIMIZE OPTIMIZER_FEATURES_ENABLE OPTIMIZER_GOAL
syn keyword plsqlKeyword OPT_ESTIMATE OPT_PARAM ORADEBUG ORA_BRANCH ORA_CHECK_ACL ORA_CHECK_PRIVILEGE
syn keyword plsqlKeyword ORA_CHECK_SYS_PRIVILEGE ORA_CLUSTERING ORA_CONCAT_RWKEY ORA_DM_PARTITION_NAME
syn keyword plsqlKeyword ORA_DST_AFFECTED ORA_DST_CONVERT ORA_DST_ERROR ORA_GET_ACLIDS ORA_GET_PRIVILEGES
syn keyword plsqlKeyword ORA_HASH ORA_INVOKING_USER ORA_INVOKING_USERID ORA_INVOKING_XS_USER ORA_INVOKING_XS_USER_GUID
syn keyword plsqlKeyword ORA_NORMALIZE ORA_PARTITION_VALIDATION ORA_RAWCOMPARE ORA_RAWCONCAT ORA_ROWSCN
syn keyword plsqlKeyword ORA_ROWSCN_RAW ORA_ROWVERSION ORA_SEARCH_RWKEY ORA_SHARDSPACE_NAME ORA_SHARD_ID
syn keyword plsqlKeyword ORA_TABVERSION ORA_WRITE_TIME ORDERED ORDERED_PREDICATES ORDER_KEY_VECTOR_USE
syn keyword plsqlKeyword ORDER_SUBQ ORDINALITY ORGANIZATION OR_EXPAND OR_PREDICATES OSON OSON_DIAG
syn keyword plsqlKeyword OSON_GET_CONTENT OTHER OTHERS OUTER OUTER_JOIN_TO_ANTI OUTER_JOIN_TO_INNER
syn keyword plsqlKeyword OUTLINE OUTLINE_LEAF OUT_OF_LINE OVER OVERFLOW OVERFLOW_NOMOVE OVERLAPS OWN
syn keyword plsqlKeyword OWNER OWNERSHIP PACKAGES PARALLEL PARALLEL_INDEX PARAM PARAMETERS
syn keyword plsqlKeyword PARENT PARITY PART$NUM$INST PARTIAL PARTIALLY PARTIAL_JOIN PARTIAL_ROLLUP_PUSHDOWN
syn keyword plsqlKeyword PARTITION PARTITIONING PARTITIONS PARTITIONSET PARTITION_CONTAINED PARTITION_HASH
syn keyword plsqlKeyword PARTITION_LIST PARTITION_RANGE PASSING PASSIVE PASSWORD PASSWORDFILE_METADATA_CACHE
syn keyword plsqlKeyword PASSWORD_GRACE_TIME PASSWORD_LIFE_TIME PASSWORD_LOCK_TIME PASSWORD_REUSE_MAX
syn keyword plsqlKeyword PASSWORD_REUSE_TIME PASSWORD_ROLLOVER_TIME PASSWORD_VERIFY_FUNCTION PAST PATCH
syn keyword plsqlKeyword PATH PATHS PATH_PREFIX PATTERN PBL_HS_BEGIN PBL_HS_END PCTINCREASE PCTTHRESHOLD
syn keyword plsqlKeyword PCTUSED PCTVERSION PDB_LOCAL_ONLY PEER PEERS PENDING PER PERCENT PERCENTAGE
syn keyword plsqlKeyword PERCENTILE_CONT PERCENTILE_DISC PERCENT_RANK PERCENT_RANKM PERFORMANCE PERIOD
syn keyword plsqlKeyword PERMANENT PERMISSION PERMUTE PERSISTABLE PFILE PHV PHYSICAL PIKEY PIVOT PIV_GB
syn keyword plsqlKeyword PIV_SSF PLACE_DISTINCT PLACE_GROUP_BY PLAN PLSCOPE_SETTINGS PLSQL_CCFLAGS
syn keyword plsqlKeyword PLSQL_CODE_TYPE PLSQL_DEBUG PLSQL_OPTIMIZE_LEVEL PLSQL_WARNINGS PLUGGABLE
syn keyword plsqlKeyword PMEM POINT POLICY POOL_16K POOL_2K POOL_32K POOL_4K POOL_8K PORT POSITION
syn keyword plsqlKeyword POST_TRANSACTION POWER POWERMULTISET POWERMULTISET_BY_CARDINALITY PQ_CONCURRENT_UNION
syn keyword plsqlKeyword PQ_DISTRIBUTE PQ_DISTRIBUTE_WINDOW PQ_EXPAND_TABLE PQ_FILTER PQ_MAP PQ_NOMAP
syn keyword plsqlKeyword PQ_NONLEAF_SKEW PQ_REPLICATE PQ_SKEW PREBUILT PRECEDES PRECEDING PRECOMPUTE_SUBQUERY
syn keyword plsqlKeyword PREDICATE_REORDERS PREDICTION PREDICTION_BOUNDS PREDICTION_COST PREDICTION_DETAILS
syn keyword plsqlKeyword PREDICTION_PROBABILITY PREDICTION_SET PRELOAD PREPARE PRESENT PRESENTNNV PRESENTV
syn keyword plsqlKeyword PRESERVE PRESERVE_OID PRETTY PREVIOUS PRIMARY PRINTBLOBTOCLOB PRIORITY
syn match plsqlKeyword "\<PREV\>"
syn keyword plsqlKeyword PRIVATE PRIVATE_SGA PRIVILEGE PRIVILEGED PRIVILEGES PROCEDURAL PROCESS
syn keyword plsqlKeyword PROFILE PROGRAM PROJECT PROPAGATE PROPAGATION PROPERTY PROTECTED PROTECTION
syn keyword plsqlKeyword PROTOCOL PROXY PRUNING PULL_PRED PURGE PUSH_HAVING_TO_GBY PUSH_PRED PUSH_SUBQ
syn keyword plsqlKeyword PX_FAULT_TOLERANCE PX_GRANULE PX_JOIN_FILTER QB_NAME QUALIFY QUARANTINE QUARTERS
syn keyword plsqlKeyword QUERY QUERY_BLOCK QUEUE QUEUE_CURR QUEUE_ROWP QUIESCE QUORUM QUOTA QUOTAGROUP
syn keyword plsqlKeyword QUOTES RANDOM RANDOM_LOCAL RANGE RANK RANKM RAPIDLY RATIO_TO_REPORT RAWTOHEX
syn keyword plsqlKeyword RAWTONHEX RAWTOREF RBA RBO_OUTLINE RDBA READ READS READ_OR_WRITE REALM REBALANCE
syn keyword plsqlKeyword REBUILD RECONNECT RECORDS_PER_BLOCK RECOVER RECOVERABLE RECOVERY RECYCLE RECYCLEBIN
syn keyword plsqlKeyword REDACTION REDEFINE REDO REDUCED REDUNDANCY REFERENCE REFERENCED REFERENCES
syn keyword plsqlKeyword REFERENCING REFRESH REFTOHEX REFTORAW REF_CASCADE_CURSOR REGEXP_COUNT REGEXP_INSTR
syn keyword plsqlKeyword REGEXP_LIKE REGEXP_REPLACE REGEXP_SUBSTR REGISTER REGR_AVGX REGR_AVGY REGR_COUNT
syn keyword plsqlKeyword REGR_INTERCEPT REGR_R2 REGR_SLOPE REGR_SXX REGR_SXY REGR_SYY REGULAR REJECT
syn keyword plsqlKeyword REKEY RELATIONAL RELOCATE RELY REMAINDER REMOTE REMOTE_MAPPED REMOVE REORDER_WIF
syn keyword plsqlKeyword REPAIR REPEAT REPLICATION REQUIRED RESERVOIR_SAMPLING RESET RESETLOGS
syn keyword plsqlKeyword RESIZE RESOLVE RESOLVER RESPECT RESTART RESTORE RESTORE_AS_INTERVALS RESTRICT
syn keyword plsqlKeyword RESTRICTED RESTRICT_ALL_REF_CONS RESULT_CACHE RESUMABLE RESUME RETENTION RETRY_ON_ROW_CHANGE
syn keyword plsqlKeyword RETURN RETURNING REUSE REVERSE REWRITE REWRITE_OR_ERROR RIGHT RLS_FORCE ROLE
syn keyword plsqlKeyword ROLES ROLESET ROLLBACK ROLLING ROLLOVER ROLLUP ROOT ROUND ROUND_TIES_TO_EVEN
syn keyword plsqlKeyword ROW ROWDEPENDENCIES ROWIDTOCHAR ROWIDTONCHAR ROWID_MAPPING_TABLE ROWNUM ROWS
syn keyword plsqlKeyword ROW_LENGTH ROW_NUMBER RPAD RTRIM RULE RULES RUNNING SALT SAMPLE SAVE SAVEPOINT
syn keyword plsqlKeyword SAVE_AS_INTERVALS SB4 SCALAR SCALARS SCALE SCALE_ROWS SCAN SCAN_INSTANCES
syn keyword plsqlKeyword SCHEDULER SCHEMA SCHEMACHECK SCN SCN_ASCENDING SCOPE SCRUB SDO_GEOM_KEY SDO_GEOM_MAX_X
syn keyword plsqlKeyword SDO_GEOM_MAX_Y SDO_GEOM_MAX_Z SDO_GEOM_MBB SDO_GEOM_MBR SDO_GEOM_MIN_X SDO_GEOM_MIN_Y
syn keyword plsqlKeyword SDO_GEOM_MIN_Z SDO_TOLERANCE SD_ALL SD_INHIBIT SD_SHOW SEARCH SECONDS SECRET
syn keyword plsqlKeyword SECUREFILE SECUREFILE_DBA SECURITY SEED SEGMENT SEG_BLOCK SEG_FILE SELECTIVITY
syn keyword plsqlKeyword SELF SEMIJOIN SEMIJOIN_DRIVER SEMI_TO_INNER SENSITIVE SEQUENCE SEQUENCED SEQUENTIAL
syn keyword plsqlKeyword SERIAL SERIALIZABLE SERVERERROR SERVICE SERVICES SERVICE_NAME_CONVERT SESSION
syn keyword plsqlKeyword SESSIONS_PER_USER SESSIONTIMEZONE SESSIONTZNAME SESSION_CACHED_CURSORS SETS
syn keyword plsqlKeyword SETTINGS SET_GBY_PUSHDOWN SET_TO_JOIN SEVERE SHARD SHARDED SHARDS SHARDSPACE
syn keyword plsqlKeyword SHARD_CHUNK_ID SHARED SHARED_POOL SHARE_OF SHARING SHD$COL$MAP SHELFLIFE SHOW
syn keyword plsqlKeyword SHRINK SHUTDOWN SIBLING SIBLINGS SID SIGN SIGNAL_COMPONENT SIGNAL_FUNCTION
syn keyword plsqlKeyword SIGNATURE SIMPLE SIN SINGLE SINGLETASK SINH SITE SKEWNESS_POP SKEWNESS_SAMP
syn keyword plsqlKeyword SKIP SKIP_EXT_OPTIMIZER SKIP_PROXY SKIP_UNQ_UNUSABLE_IDX SKIP_UNUSABLE_INDEXES
syn keyword plsqlKeyword SMALLFILE SNAPSHOT SOME SORT SOUNDEX SOURCE SOURCE_FILE_DIRECTORY SOURCE_FILE_NAME_CONVERT
syn keyword plsqlKeyword SPACE SPATIAL SPECIFICATION SPFILE SPLIT SPREADSHEET SQL SQLLDR SQL_SCOPE
syn keyword plsqlKeyword SQL_TRACE SQL_TRANSLATION_PROFILE SQRT STALE STANDALONE STANDARD_HASH STANDBY
syn keyword plsqlKeyword STANDBYS STANDBY_MAX_DATA_DELAY STAR STARTUP STAR_TRANSFORMATION STATE STATEMENT
syn keyword plsqlKeyword STATEMENTS STATEMENT_ID STATEMENT_QUEUING STATIC STATISTICS STATS_BINOMIAL_TEST
syn keyword plsqlKeyword STATS_CROSSTAB STATS_F_TEST STATS_KS_TEST STATS_MODE STATS_MW_TEST STATS_ONE_WAY_ANOVA
syn keyword plsqlKeyword STATS_T_TEST_INDEP STATS_T_TEST_INDEPU STATS_T_TEST_ONE STATS_T_TEST_PAIRED
syn keyword plsqlKeyword STATS_WSR_TEST STDDEV STDDEV_POP STDDEV_SAMP STOP STORAGE STORAGE_INDEX STORE
syn keyword plsqlKeyword STREAM STREAMS STRICT STRING STRINGS STRIP STRIPE_COLUMNS STRIPE_WIDTH STRUCTURE
syn keyword plsqlKeyword SUBMULTISET SUBPARTITION SUBPARTITIONING SUBPARTITIONS SUBPARTITION_REL SUBQUERIES
syn keyword plsqlKeyword SUBQUERY_PRUNING SUBSCRIBE SUBSET SUBSTITUTABLE SUBSTR SUBSTR2 SUBSTR4 SUBSTRB
syn keyword plsqlKeyword SUBSTRC SUBTYPE SUCCESS SUCCESSFUL SUM SUMMARY SUPPLEMENTAL SUPPRESS_LOAD
syn keyword plsqlKeyword SUSPEND SWAP_JOIN_INPUTS SWITCH SWITCHOVER SYNC SYNCHRONOUS SYSASM SYSAUX
syn keyword plsqlKeyword SYSBACKUP SYSDATE SYSDBA SYSDG SYSGUID SYSKM SYSOBJ SYSOPER SYSRAC SYSTEM
syn keyword plsqlKeyword SYSTEM_DEFINED SYSTEM_STATS SYSTIMESTAMP SYS_AUDIT SYS_CHECKACL SYS_CHECK_PRIVILEGE
syn keyword plsqlKeyword SYS_CONNECT_BY_PATH SYS_CONS_ANY_SCALAR SYS_CONTEXT SYS_CTXINFOPK SYS_CTX_CONTAINS2
syn keyword plsqlKeyword SYS_CTX_MKIVIDX SYS_DBURIGEN SYS_DL_CURSOR SYS_DM_RXFORM_CHR SYS_DM_RXFORM_LAB
syn keyword plsqlKeyword SYS_DM_RXFORM_NUM SYS_DOM_COMPARE SYS_DST_PRIM2SEC SYS_DST_SEC2PRIM SYS_ET_BFILE_TO_RAW
syn keyword plsqlKeyword SYS_ET_BLOB_TO_IMAGE SYS_ET_IMAGE_TO_BLOB SYS_ET_RAW_TO_BFILE SYS_EXTPDTXT
syn keyword plsqlKeyword SYS_EXTRACT_UTC SYS_FBT_INSDEL SYS_FILTER_ACLS SYS_FNMATCHES SYS_FNREPLACE
syn keyword plsqlKeyword SYS_GETTOKENID SYS_GETXTIVAL SYS_GET_ACLIDS SYS_GET_ANY_SCALAR SYS_GET_COL_ACLIDS
syn keyword plsqlKeyword SYS_GET_PRIVILEGES SYS_GUID SYS_MAKEXML SYS_MAKE_XMLNODEID SYS_MKXMLATTR SYS_MKXTI
syn keyword plsqlKeyword SYS_OPTLOBPRBSC SYS_OPTXICMP SYS_OPTXQCASTASNQ SYS_OP_ADT2BIN SYS_OP_ADTCONS
syn keyword plsqlKeyword SYS_OP_ALSCRVAL SYS_OP_ATG SYS_OP_BIN2ADT SYS_OP_BITVEC SYS_OP_BL2R SYS_OP_BLOOM_FILTER
syn keyword plsqlKeyword SYS_OP_BLOOM_FILTER_LIST SYS_OP_C2C SYS_OP_CAST SYS_OP_CEG SYS_OP_CL2C SYS_OP_COMBINED_HASH
syn keyword plsqlKeyword SYS_OP_COMP SYS_OP_CONVERT SYS_OP_COUNTCHG SYS_OP_CSCONV SYS_OP_CSCONVTEST
syn keyword plsqlKeyword SYS_OP_CSR SYS_OP_CSX_PATCH SYS_OP_CYCLED_SEQ SYS_OP_DECOMP SYS_OP_DESCEND
syn keyword plsqlKeyword SYS_OP_DISTINCT SYS_OP_DRA SYS_OP_DSB_DESERIALIZE SYS_OP_DSB_SERIALIZE SYS_OP_DUMP
syn keyword plsqlKeyword SYS_OP_DV_CHECK SYS_OP_ENFORCE_NOT_NULL$ SYS_OP_EXTRACT SYS_OP_GROUPING SYS_OP_GUID
syn keyword plsqlKeyword SYS_OP_HASH SYS_OP_HCS_TABLE SYS_OP_IIX SYS_OP_INTERVAL_HIGH_BOUND SYS_OP_ITR
syn keyword plsqlKeyword SYS_OP_KEY_VECTOR_CREATE SYS_OP_KEY_VECTOR_FILTER SYS_OP_KEY_VECTOR_FILTER_LIST
syn keyword plsqlKeyword SYS_OP_KEY_VECTOR_PAYLOAD SYS_OP_KEY_VECTOR_SUCCEEDED SYS_OP_KEY_VECTOR_USE
syn keyword plsqlKeyword SYS_OP_LBID SYS_OP_LOBLOC2BLOB SYS_OP_LOBLOC2CLOB SYS_OP_LOBLOC2ID SYS_OP_LOBLOC2NCLOB
syn keyword plsqlKeyword SYS_OP_LOBLOC2TYP SYS_OP_LSVI SYS_OP_LVL SYS_OP_MAKEOID SYS_OP_MAP_NONNULL
syn keyword plsqlKeyword SYS_OP_MSR SYS_OP_NICOMBINE SYS_OP_NIEXTRACT SYS_OP_NII SYS_OP_NIX SYS_OP_NOEXPAND
syn keyword plsqlKeyword SYS_OP_NTCIMG$ SYS_OP_NUMTORAW SYS_OP_OBJ_UPD_IN_TXN SYS_OP_OIDVALUE SYS_OP_OPNSIZE
syn keyword plsqlKeyword SYS_OP_PAR SYS_OP_PARGID SYS_OP_PARGID_1 SYS_OP_PART_ID SYS_OP_PAR_1 SYS_OP_PIVOT
syn keyword plsqlKeyword SYS_OP_R2O SYS_OP_RAWTONUM SYS_OP_RDTM SYS_OP_REF SYS_OP_RMTD SYS_OP_ROWIDTOOBJ
syn keyword plsqlKeyword SYS_OP_RPB SYS_OP_TOSETID SYS_OP_TPR SYS_OP_TRTB SYS_OP_UNDESCEND SYS_OP_VECAND
syn keyword plsqlKeyword SYS_OP_VECBIT SYS_OP_VECOR SYS_OP_VECTOR_GROUP_BY SYS_OP_VECXOR SYS_OP_VERSION
syn keyword plsqlKeyword SYS_OP_VREF SYS_OP_VVD SYS_OP_XMLCONS_FOR_CSX SYS_OP_XPTHATG SYS_OP_XPTHIDX
syn keyword plsqlKeyword SYS_OP_XPTHOP SYS_OP_XTNN SYS_OP_XTXT2SQLT SYS_OP_ZONE_ID SYS_ORDERKEY_DEPTH
syn keyword plsqlKeyword SYS_ORDERKEY_MAXCHILD SYS_ORDERKEY_PARENT SYS_PARALLEL_TXN SYS_PATHID_IS_ATTR
syn keyword plsqlKeyword SYS_PATHID_IS_NMSPC SYS_PATHID_LASTNAME SYS_PATHID_LASTNMSPC SYS_PATH_REVERSE
syn keyword plsqlKeyword SYS_PLSQL_COUNT SYS_PLSQL_CPU SYS_PLSQL_IO SYS_PXQEXTRACT SYS_RAW_TO_XSID
syn keyword plsqlKeyword SYS_REMAP_XMLTYPE SYS_RID_ORDER SYS_ROW_DELTA SYS_SC_2_XMLT SYS_SYNRCIREDO
syn keyword plsqlKeyword SYS_TYPEID SYS_UMAKEXML SYS_XMLANALYZE SYS_XMLCONTAINS SYS_XMLCONV SYS_XMLEXNSURI
syn keyword plsqlKeyword SYS_XMLGEN SYS_XMLINSTR SYS_XMLI_LOC_ISNODE SYS_XMLI_LOC_ISTEXT SYS_XMLLOCATOR_GETSVAL
syn keyword plsqlKeyword SYS_XMLNODEID SYS_XMLNODEID_GETCID SYS_XMLNODEID_GETLOCATOR SYS_XMLNODEID_GETOKEY
syn keyword plsqlKeyword SYS_XMLNODEID_GETPATHID SYS_XMLNODEID_GETPTRID SYS_XMLNODEID_GETRID SYS_XMLNODEID_GETSVAL
syn keyword plsqlKeyword SYS_XMLNODEID_GETTID SYS_XMLTRANSLATE SYS_XMLTYPE2SQL SYS_XMLT_2_SC SYS_XQBASEURI
syn keyword plsqlKeyword SYS_XQCASTABLEERRH SYS_XQCODEP2STR SYS_XQCODEPEQ SYS_XQCON2SEQ SYS_XQCONCAT
syn keyword plsqlKeyword SYS_XQDELETE SYS_XQDFLTCOLATION SYS_XQDOC SYS_XQDOCURI SYS_XQDURDIV SYS_XQED4URI
syn keyword plsqlKeyword SYS_XQENDSWITH SYS_XQERR SYS_XQERRH SYS_XQESHTMLURI SYS_XQEXLOBVAL SYS_XQEXSTWRP
syn keyword plsqlKeyword SYS_XQEXTRACT SYS_XQEXTRREF SYS_XQEXVAL SYS_XQFB2STR SYS_XQFNBOOL SYS_XQFNCMP
syn keyword plsqlKeyword SYS_XQFNDATIM SYS_XQFNLNAME SYS_XQFNNM SYS_XQFNNSURI SYS_XQFNPREDTRUTH SYS_XQFNQNM
syn keyword plsqlKeyword SYS_XQFNROOT SYS_XQFORMATNUM SYS_XQFTCONTAIN SYS_XQFUNCR SYS_XQGETCONTENT
syn keyword plsqlKeyword SYS_XQINDXOF SYS_XQINSERT SYS_XQINSPFX SYS_XQIRI2URI SYS_XQLANG SYS_XQLLNMFRMQNM
syn keyword plsqlKeyword SYS_XQMKNODEREF SYS_XQNILLED SYS_XQNODENAME SYS_XQNORMSPACE SYS_XQNORMUCODE
syn keyword plsqlKeyword SYS_XQNSP4PFX SYS_XQNSPFRMQNM SYS_XQPFXFRMQNM SYS_XQPOLYABS SYS_XQPOLYADD
syn keyword plsqlKeyword SYS_XQPOLYCEL SYS_XQPOLYCST SYS_XQPOLYCSTBL SYS_XQPOLYDIV SYS_XQPOLYFLR SYS_XQPOLYMOD
syn keyword plsqlKeyword SYS_XQPOLYMUL SYS_XQPOLYRND SYS_XQPOLYSQRT SYS_XQPOLYSUB SYS_XQPOLYUMUS SYS_XQPOLYUPLS
syn keyword plsqlKeyword SYS_XQPOLYVEQ SYS_XQPOLYVGE SYS_XQPOLYVGT SYS_XQPOLYVLE SYS_XQPOLYVLT SYS_XQPOLYVNE
syn keyword plsqlKeyword SYS_XQREF2VAL SYS_XQRENAME SYS_XQREPLACE SYS_XQRESVURI SYS_XQRNDHALF2EVN SYS_XQRSLVQNM
syn keyword plsqlKeyword SYS_XQRYENVPGET SYS_XQRYVARGET SYS_XQRYWRP SYS_XQSEQ2CON SYS_XQSEQ2CON4XC
syn keyword plsqlKeyword SYS_XQSEQDEEPEQ SYS_XQSEQINSB SYS_XQSEQRM SYS_XQSEQRVS SYS_XQSEQSUB SYS_XQSEQTYPMATCH
syn keyword plsqlKeyword SYS_XQSTARTSWITH SYS_XQSTATBURI SYS_XQSTR2CODEP SYS_XQSTRJOIN SYS_XQSUBSTRAFT
syn keyword plsqlKeyword SYS_XQSUBSTRBEF SYS_XQTOKENIZE SYS_XQTREATAS SYS_XQXFORM SYS_XQ_ASQLCNV SYS_XQ_ATOMCNVCHK
syn keyword plsqlKeyword SYS_XQ_NRNG SYS_XQ_PKSQL2XML SYS_XQ_UPKXML2SQL SYS_XSID_TO_RAW SYS_ZMAP_FILTER
syn keyword plsqlKeyword SYS_ZMAP_REFRESH TABAUTH TABLES TABLESPACE TABLESPACE_NO TABLE_LOOKUP_BY_NL
syn keyword plsqlKeyword TABLE_STATS TABNO TAG TAN TANH TARGET TBL$OR$IDX$PART$NUM TEMP TEMPFILE TEMPLATE
syn keyword plsqlKeyword TEMPORARY TEMP_TABLE TENANT_ID TEST TEXT THAN THE THREAD THROUGH TIER TIES
syn keyword plsqlKeyword TIMEOUT TIMES TIMESTAMP_TO_NUMBER TIMEZONE_ABBR TIMEZONE_HOUR TIMEZONE_MINUTE
syn keyword plsqlKeyword TIMEZONE_OFFSET TIMEZONE_REGION TIME_ZONE TIV_GB TIV_SSF TOKEN TOPLEVEL TO_ACLID
syn keyword plsqlKeyword TO_APPROX_COUNT_DISTINCT TO_APPROX_PERCENTILE TO_BINARY_DOUBLE TO_BINARY_FLOAT
syn keyword plsqlKeyword TO_BLOB TO_CHAR TO_CLOB TO_DATE TO_DSINTERVAL TO_ISO_STRING TO_LOB TO_MULTI_BYTE
syn keyword plsqlKeyword TO_NCHAR TO_NCLOB TO_NUMBER TO_SINGLE_BYTE TO_TIME TO_TIMESTAMP TO_TIMESTAMP_TZ
syn keyword plsqlKeyword TO_TIME_TZ TO_UTC_TIMESTAMP_TZ TO_YMINTERVAL TRACE TRACING TRACKING TRAILING
syn keyword plsqlKeyword TRANSACTION TRANSFORM TRANSFORM_DISTINCT_AGG TRANSITION TRANSITIONAL TRANSLATE
syn keyword plsqlKeyword TRANSLATION TRANSPORTABLE TREAT TRIGGERS TRIM TRUNC TRUNCATE TRUST TRUSTED
syn keyword plsqlKeyword TUNING TX TYPENAME TYPES TZ_OFFSET UB2 UBA UCS2 UID UNARCHIVED UNBOUND
syn keyword plsqlKeyword UNBOUNDED UNCONDITIONAL UNDER UNDO UNDROP UNIFORM UNINSTALL UNION_ALL UNISTR
syn keyword plsqlKeyword UNITE UNIXTIME UNLIMITED UNLOAD UNLOCK UNMATCHED UNNEST UNNEST_INNERJ_DISTINCT_VIEW
syn keyword plsqlKeyword UNNEST_NOSEMIJ_NODISTINCTVIEW UNNEST_SEMIJ_VIEW UNPACKED UNPIVOT UNPLUG UNPROTECTED
syn keyword plsqlKeyword UNQUIESCE UNRECOVERABLE UNRESTRICTED UNSUBSCRIBE UNTIL UNUSABLE UNUSED UPDATABLE
syn keyword plsqlKeyword UPDATED UPDATEXML UPD_INDEXES UPD_JOININDEX UPGRADE UPPER UPSERT USABLE USAGE
syn keyword plsqlKeyword USE USER USERENV USERGROUP USERS USER_DATA USER_DEFINED USER_RECYCLEBIN USER_TABLESPACES
syn keyword plsqlKeyword USE_ANTI USE_CONCAT USE_CUBE USE_DAGG_UNION_ALL_GSETS USE_HASH USE_HASH_AGGREGATION
syn keyword plsqlKeyword USE_HASH_GBY_FOR_DAGGPSHD USE_HASH_GBY_FOR_PUSHDOWN USE_HIDDEN_PARTITIONS
syn keyword plsqlKeyword USE_INVISIBLE_INDEXES USE_MERGE USE_MERGE_CARTESIAN USE_NL USE_NL_WITH_INDEX
syn keyword plsqlKeyword USE_PARTITION_WISE_DISTINCT USE_PARTITION_WISE_GBY USE_PARTITION_WISE_WIF
syn keyword plsqlKeyword USE_PRIVATE_OUTLINES USE_SCALABLE_GBY_INVDIST USE_SEMI USE_STORED_OUTLINES
syn keyword plsqlKeyword USE_TTT_FOR_GSETS USE_VECTOR_AGGREGATION USE_WEAK_NAME_RESL USING USING_NO_EXPAND
syn keyword plsqlKeyword UTF16BE UTF16LE UTF32 UTF8 V1 V2 VALIDATE VALIDATE_CONVERSION VALIDATION VALID_TIME_END
syn keyword plsqlKeyword VALUE VARIANCE VARRAY VARRAYS VAR_POP VAR_SAMP VECTOR VECTOR_ENCODE VECTOR_READ
syn keyword plsqlKeyword VECTOR_READ_TRACE VECTOR_TRANSFORM VECTOR_TRANSFORM_DIMS VECTOR_TRANSFORM_FACT
syn keyword plsqlKeyword VERIFIER VERIFY VERSION VERSIONING VERSIONS VERSIONS_ENDSCN VERSIONS_ENDTIME
syn keyword plsqlKeyword VERSIONS_OPERATION VERSIONS_STARTSCN VERSIONS_STARTTIME VERSIONS_XID VIEWS
syn keyword plsqlKeyword VIOLATION VIRTUAL VISIBILITY VISIBLE VOLUME VSIZE WAIT WALLET WEEK WEEKS WELLFORMED
syn keyword plsqlKeyword WHENEVER WHITESPACE WIDTH_BUCKET WINDOW WITHIN WITHOUT WITH_EXPRESSION
syn keyword plsqlKeyword WITH_PLSQL WORK WRAPPED WRAPPER WRITE XDB_FASTPATH_INSERT XID XML XML2OBJECT
syn keyword plsqlKeyword XMLATTRIBUTES XMLCAST XMLCDATA XMLCOLATTVAL XMLCOMMENT XMLCONCAT XMLDIFF XMLELEMENT
syn keyword plsqlKeyword XMLEXISTS XMLEXISTS2 XMLFOREST XMLINDEX_REWRITE XMLINDEX_REWRITE_IN_SELECT
syn keyword plsqlKeyword XMLINDEX_SEL_IDX_TBL XMLISNODE XMLISVALID XMLNAMESPACES XMLPARSE XMLPATCH
syn keyword plsqlKeyword XMLPI XMLQUERY XMLQUERYVAL XMLROOT XMLSCHEMA XMLSERIALIZE XMLTABLE XMLTOJSON
syn keyword plsqlKeyword XMLTOKENSET XMLTRANSFORM XMLTRANSFORMBLOB XMLTSET_DML_ENABLE XML_DIAG XML_DML_RWT_STMT
syn keyword plsqlKeyword XPATHTABLE XS XS_SYS_CONTEXT X_DYN_PRUNE YEARS YES ZONEMAP
" PL/SQL functions.
syn keyword plsqlFunction ABS ACOS ADD_MONTHS ASCII ASCIISTR ASIN ATAN ATAN2
syn keyword plsqlFunction BFILENAME BITAND CEIL CHARTOROWID CHR COALESCE
syn keyword plsqlFunction COMMIT COMMIT_CM COMPOSE CONCAT CONVERT COS COSH
syn keyword plsqlFunction COUNT CUBE CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP
syn keyword plsqlFunction DBTIMEZONE DECODE DECOMPOSE DEREF DUMP EMPTY_BLOB
syn keyword plsqlFunction EMPTY_CLOB EXISTS EXP FLOOR FROM_TZ GETBND GLB
syn keyword plsqlFunction GREATEST GREATEST_LB GROUPING HEXTORAW INITCAP
syn keyword plsqlFunction INSTR INSTR2 INSTR4 INSTRB INSTRC ISNCHAR LAST_DAY
syn keyword plsqlFunction LEAST LEAST_UB LENGTH LENGTH2 LENGTH4 LENGTHB LENGTHC
syn keyword plsqlFunction LN LOCALTIME LOCALTIMESTAMP LOG LOWER LPAD
syn keyword plsqlFunction LTRIM LUB MAKE_REF MAX MIN MOD MONTHS_BETWEEN
syn keyword plsqlFunction NCHARTOROWID NCHR NEW_TIME NEXT_DAY NHEXTORAW
syn keyword plsqlFunction NLS_CHARSET_DECL_LEN NLS_CHARSET_ID NLS_CHARSET_NAME
syn keyword plsqlFunction NLS_INITCAP NLS_LOWER NLSSORT NLS_UPPER NULLFN NULLIF
syn keyword plsqlFunction NUMTODSINTERVAL NUMTOYMINTERVAL NVL POWER
syn keyword plsqlFunction RAISE_APPLICATION_ERROR RAWTOHEX RAWTONHEX REF
syn keyword plsqlFunction REFTOHEX REPLACE ROLLBACK_NR ROLLBACK_SV ROLLUP ROUND
syn keyword plsqlFunction ROWIDTOCHAR ROWIDTONCHAR ROWLABEL RPAD RTRIM
syn keyword plsqlFunction SAVEPOINT SESSIONTIMEZONE SETBND SET_TRANSACTION_USE
syn keyword plsqlFunction SIGN SIN SINH SOUNDEX SQLCODE SQLERRM SQRT STDDEV
syn keyword plsqlFunction SUBSTR SUBSTR2 SUBSTR4 SUBSTRB SUBSTRC SUM
syn keyword plsqlFunction SYS_AT_TIME_ZONE SYS_CONTEXT SYSDATE SYS_EXTRACT_UTC
syn keyword plsqlFunction SYS_GUID SYS_LITERALTODATE SYS_LITERALTODSINTERVAL
syn keyword plsqlFunction SYS_LITERALTOTIME SYS_LITERALTOTIMESTAMP
syn keyword plsqlFunction SYS_LITERALTOTZTIME SYS_LITERALTOTZTIMESTAMP
syn keyword plsqlFunction SYS_LITERALTOYMINTERVAL SYS_OVER__DD SYS_OVER__DI
syn keyword plsqlFunction SYS_OVER__ID SYS_OVER_IID SYS_OVER_IIT
syn keyword plsqlFunction SYS_OVER__IT SYS_OVER__TI SYS_OVER__TT
syn keyword plsqlFunction SYSTIMESTAMP TAN TANH TO_ANYLOB TO_BLOB TO_CHAR
syn keyword plsqlFunction TO_CLOB TO_DATE TO_DSINTERVAL TO_LABEL TO_MULTI_BYTE
syn keyword plsqlFunction TO_NCHAR TO_NCLOB TO_NUMBER TO_RAW TO_SINGLE_BYTE
syn keyword plsqlFunction TO_TIME TO_TIMESTAMP TO_TIMESTAMP_TZ TO_TIME_TZ
syn keyword plsqlFunction TO_YMINTERVAL TRANSLATE TREAT TRIM TRUNC TZ_OFFSET UID
syn keyword plsqlFunction UNISTR UPPER UROWID USER USERENV VALUE VARIANCE
syn keyword plsqlFunction VSIZE WORK XOR
" Some of Oracle's Reserved keywords.
syn keyword plsqlReserved ACCESSIBLE AGENT ALL ALTER ANY ASC BFILE_BASE BLOB_BASE BY
"syn match plsqlReserved "\<AS\>"
syn keyword plsqlReserved C CALLING CHARSET CHARSETFORM CHARSETID CHAR_BASE CHECK CLOB_BASE CLUSTER
syn keyword plsqlReserved COLLATE COMPILED COMPRESS CONNECT CONNECT_BY_ROOT CONSTRUCTOR CUSTOMDATUM
syn keyword plsqlReserved DATE_BASE DEFAULT DESC DISTINCT DROP DURATION EXCEPT EXCLUSIVE
syn match plsqlReserved "\<DELETE\>"
syn keyword plsqlReserved EXIT FIXED FROM GENERAL GRANT GROUP HAVING IDENTIFIED INDEX
syn match plsqlReserved "\<EXISTS\>"
syn keyword plsqlReserved INDICES INTERFACE INTERSECT INTO LARGE LIMITED LOCK MAXLEN
syn keyword plsqlReserved MINUS MODE NOCOMPRESS NOWAIT NUMBER_BASE OCICOLL OCIDATE OCIDATETIME
syn keyword plsqlReserved OCIDURATION OCIINTERVAL OCILOBLOCATOR OCINUMBER OCIRAW OCIREF OCIREFCURSOR
syn keyword plsqlReserved OCIROWID OCISTRING OCITYPE OF ON OPTION ORACLE ORADATA ORDER ORLANY ORLVARY
syn keyword plsqlReserved OUT OVERRIDING PARALLEL_ENABLE PARAMETER PASCAL PCTFREE PIPE PIPELINED POLYMORPHIC
syn keyword plsqlReserved PRAGMA PRIOR PUBLIC RAISE RECORD RELIES_ON REM RENAME RESOURCE RESULT REVOKE ROWID
syn keyword plsqlReserved SB1 SB2
syn match plsqlReserved "\<SELECT\>"
syn keyword plsqlReserved SEPARATE SHARE SHORT SIZE SIZE_T SPARSE SQLCODE SQLDATA
syn keyword plsqlReserved SQLNAME SQLSTATE STANDARD START STORED STRUCT STYLE SYNONYM TABLE TDO
syn keyword plsqlReserved TRANSACTIONAL TRIGGER UB1 UB4 UNION UNIQUE UNSIGNED UNTRUSTED VALIST
syn keyword plsqlReserved VALUES VARIABLE VIEW VOID WHERE WITH
" PL/SQL and SQL functions.
syn keyword plsqlFunction ABS ACOS ADD_MONTHS APPROX_COUNT APPROX_COUNT_DISTINCT APPROX_COUNT_DISTINCT_AGG
syn keyword plsqlFunction APPROX_COUNT_DISTINCT_DETAIL APPROX_MEDIAN APPROX_PERCENTILE APPROX_PERCENTILE_AGG
syn keyword plsqlFunction APPROX_PERCENTILE_DETAIL APPROX_RANK APPROX_SUM ASCII ASCIISTR ASIN ATAN ATAN2
syn keyword plsqlFunction AVG BFILENAME BIN_TO_NUM BITAND CARDINALITY CAST CEIL CHARTOROWID CHR CLUSTER_DETAILS
syn keyword plsqlFunction CLUSTER_DISTANCE CLUSTER_ID CLUSTER_PROBABILITY CLUSTER_SET COALESCE COLLATION
syn keyword plsqlFunction COLLECT COMPOSE CONCAT CONVERT CON_DBID_TO_ID CON_GUID_TO_ID CON_NAME_TO_ID
syn keyword plsqlFunction CON_UID_TO_ID CORR COS COSH COVAR_POP COVAR_SAMP CUME_DIST CURRENT_DATE
syn keyword plsqlFunction CURRENT_TIMESTAMP CV DATAOBJ_TO_MAT_PARTITION DATAOBJ_TO_PARTITION DBTIMEZONE
syn keyword plsqlFunction DECODE DECOMPOSE DENSE_RANK DEPTH DEREF DUMP EMPTY_BLOB EMPTY_CLOB EXISTSNODE
syn keyword plsqlFunction EXP EXTRACT EXTRACTVALUE FEATURE_COMPARE FEATURE_DETAILS FEATURE_ID FEATURE_SET
syn keyword plsqlFunction FEATURE_VALUE FIRST_VALUE FLOOR FROM_TZ GREATEST GROUPING GROUPING_ID
syn keyword plsqlFunction GROUP_ID HEXTORAW INITCAP INSTR ITERATION_NUMBER JSON_ARRAY JSON_ARRAYAGG
syn keyword plsqlFunction JSON_OBJECT JSON_OBJECTAGG JSON_QUERY JSON_TABLE JSON_VALUE LAG LAST_DAY
syn keyword plsqlFunction LAST_VALUE LEAD LEAST LENGTH LISTAGG LN LNNVL LOCALTIMESTAMP LOG LOWER LPAD
syn keyword plsqlFunction LTRIM MAKE_REF MAX MEDIAN MIN MOD MONTHS_BETWEEN NANVL NCHR NEW_TIME NEXT_DAY
syn keyword plsqlFunction NLSSORT NLS_CHARSET_DECL_LEN NLS_CHARSET_ID NLS_CHARSET_NAME NLS_COLLATION_ID
syn keyword plsqlFunction NLS_COLLATION_NAME NLS_INITCAP NLS_LOWER NLS_UPPER NTH_VALUE NTILE NULLIF
syn keyword plsqlFunction NUMTODSINTERVAL NUMTOYMINTERVAL NVL NVL2 ORA_DM_PARTITION_NAME ORA_DST_AFFECTED
syn keyword plsqlFunction ORA_DST_CONVERT ORA_DST_ERROR ORA_HASH ORA_INVOKING_USER ORA_INVOKING_USERID
syn keyword plsqlFunction PATH PERCENTILE_CONT PERCENTILE_DISC PERCENT_RANK POWER POWERMULTISET POWERMULTISET_BY_CARDINALITY
syn keyword plsqlFunction PREDICTION PREDICTION_BOUNDS PREDICTION_COST PREDICTION_DETAILS PREDICTION_PROBABILITY
syn keyword plsqlFunction PREDICTION_SET PRESENTNNV PRESENTV PREVIOUS RANK RATIO_TO_REPORT RAWTOHEX
syn keyword plsqlFunction RAWTONHEX REFTOHEX REGEXP_COUNT REGEXP_INSTR REGEXP_REPLACE REGEXP_SUBSTR
syn keyword plsqlFunction REMAINDER ROUND ROUND ROWIDTOCHAR ROWIDTONCHAR ROW_NUMBER RPAD RTRIM
syn keyword plsqlFunction SCN_TO_TIMESTAMP SESSIONTIMEZONE SIGN SIN SINH SOUNDEX SQRT STANDARD_HASH
syn keyword plsqlFunction STATS_BINOMIAL_TEST STATS_CROSSTAB STATS_F_TEST STATS_KS_TEST STATS_MODE STATS_MW_TEST
syn keyword plsqlFunction STATS_ONE_WAY_ANOVA STATS_WSR_TEST STDDEV STDDEV_POP STDDEV_SAMP SUBSTR SUM
syn keyword plsqlFunction SYSDATE SYSTIMESTAMP SYS_CONNECT_BY_PATH SYS_CONTEXT SYS_DBURIGEN SYS_EXTRACT_UTC
syn keyword plsqlFunction SYS_GUID SYS_OP_ZONE_ID SYS_TYPEID SYS_XMLAGG SYS_XMLGEN TAN TANH TIMESTAMP_TO_SCN
syn keyword plsqlFunction TO_APPROX_COUNT_DISTINCT TO_APPROX_PERCENTILE TO_BINARY_DOUBLE TO_BINARY_FLOAT
syn keyword plsqlFunction TO_BLOB TO_CHAR TO_CLOB TO_DATE TO_DSINTERVAL TO_LOB TO_MULTI_BYTE TO_NCHAR
syn keyword plsqlFunction TO_NCLOB TO_NUMBER TO_SINGLE_BYTE TO_TIMESTAMP TO_TIMESTAMP_TZ TO_YMINTERVAL
syn keyword plsqlFunction TRANSLATE TREAT TRIM TRUNC TZ_OFFSET UID UNISTR UPPER USER USERENV VALIDATE_CONVERSION
syn keyword plsqlFunction VALUE VARIANCE VAR_POP VAR_SAMP VSIZE WIDTH_BUCKET XMLAGG XMLCAST XMLCDATA
syn keyword plsqlFunction XMLCOLATTVAL XMLCOMMENT XMLCONCAT XMLDIFF XMLELEMENT XMLEXISTS XMLFOREST XMLISVALID
syn keyword plsqlFunction XMLPARSE XMLPATCH XMLPI XMLQUERY XMLROOT XMLSEQUENCE XMLSERIALIZE XMLTABLE
syn keyword plsqlFunction XMLTRANSFORM
syn keyword plsqlFunction CURRVAL NEXTVAL
syn match plsqlFunction "\<SYS\$LOB_REPLICATION\>"
syn match plsqlFunction "\.COUNT\>"hs=s+1
syn match plsqlFunction "\.EXISTS\>"hs=s+1
syn match plsqlFunction "\.FIRST\>"hs=s+1
syn match plsqlFunction "\.LAST\>"hs=s+1
syn match plsqlFunction "\.DELETE\>"hs=s+1
syn match plsqlFunction "\.PREV\>"hs=s+1
syn match plsqlFunction "\.NEXT\>"hs=s+1
if exists("plsql_legacy_sql_keywords")
" Some of Oracle's SQL keywords.
syn keyword plsqlSQLKeyword ABORT ACCESS ACCESSED ADD AFTER ALL ALTER AND ANY
syn keyword plsqlSQLKeyword ASC ATTRIBUTE AUDIT AUTHORIZATION AVG BASE_TABLE
syn keyword plsqlSQLKeyword BEFORE BETWEEN BY CASCADE CAST CHECK CLUSTER
syn keyword plsqlSQLKeyword CLUSTERS COLAUTH COLUMN COMMENT COMPRESS CONNECT
syn keyword plsqlSQLKeyword CONSTRAINT CRASH CURRENT DATA DATABASE
syn keyword plsqlSQLKeyword DATA_BASE DBA DEFAULT DELAY DELETE DESC DISTINCT
syn keyword plsqlSQLKeyword DROP DUAL EXCLUSIVE EXISTS EXTENDS EXTRACT
syn keyword plsqlSQLKeyword FILE FORCE FOREIGN FROM GRANT GROUP HAVING HEAP
syn keyword plsqlSQLKeyword IDENTIFIED IDENTIFIER IMMEDIATE IN INCLUDING
syn keyword plsqlSQLKeyword INCREMENT INDEX INDEXES INITIAL INSERT INSTEAD
syn keyword plsqlSQLKeyword INTERSECT INTO INVALIDATE ISOLATION KEY LIBRARY
syn keyword plsqlSQLKeyword LIKE LOCK MAXEXTENTS MINUS MODE MODIFY MULTISET
syn keyword plsqlSQLKeyword NESTED NOAUDIT NOCOMPRESS NOT NOWAIT OF OFF OFFLINE
syn keyword plsqlSQLKeyword ON ONLINE OPERATOR OPTION ORDER ORGANIZATION
syn keyword plsqlSQLKeyword PCTFREE PRIMARY PRIOR PRIVATE PRIVILEGES PUBLIC
syn keyword plsqlSQLKeyword QUOTA RELEASE RENAME REPLACE RESOURCE REVOKE ROLLBACK
syn keyword plsqlSQLKeyword ROW ROWLABEL ROWS SCHEMA
syn match plsqlSQLKeyword "\<SELECT\>"
syn keyword plsqlSQLKeyword SEPARATE SESSION SET
syn keyword plsqlSQLKeyword SHARE SIZE SPACE START STORE SUCCESSFUL SYNONYM
syn keyword plsqlSQLKeyword SYSDATE TABLE TABLES TABLESPACE TEMPORARY TO TREAT
syn keyword plsqlSQLKeyword TRIGGER TRUNCATE UID UNION UNIQUE UNLIMITED UPDATE
syn keyword plsqlSQLKeyword USE USER VALIDATE VALUES VIEW WHENEVER WHERE WITH
endif
" The built-in types.
syn keyword plsqlStorage CHAR BYTE VARCHAR2 NCHAR NVARCHAR2
syn keyword plsqlStorage NUMBER FLOAT BINARY_FLOAT BINARY_DOUBLE LONG RAW
syn keyword plsqlStorage DATE TIMESTAMP INTERVAL LOCAL TIME ZONE TO MONTH SECOND YEAR DAY
syn keyword plsqlStorage BLOB CLOB NCLOB BFILE UROWID
syn keyword plsqlStorage CHARACTER VARYING VARCHAR NATIONAL CHARACTER
syn keyword plsqlStorage NUMERIC DECIMAL DEC INTEGER INT SMALLINT
syn keyword plsqlStorage FLOAT DOUBLE PRECISION REAL
syn keyword plsqlStorage SDO_GEOMETRY SDO_TOPO_GEOMETRY SDO_GEORASTER
syn keyword plsqlStorage REF ANYTYPE ANYDATA ANYDATASET XMLTYPE HTTPURITYPE XDBURITYPE DUBRITYPE
syn keyword plsqlStorage BOOLEAN PLS_INTEGER BINARY_INTEGER SIMPLE_FLOAT SIMPLE_INTEGER SIMPLE_DOUBLE SYS_REFCURSOR
"
" PL/SQL Exceptions
syn keyword plsqlException ACCESS_INTO_NULL CASE_NOT_FOUND COLLECTION_IS_NULL
syn keyword plsqlException CURSOR_ALREADY_OPEN DUP_VAL_ON_INDEX INVALID_CURSOR
@@ -139,32 +565,30 @@ syn keyword plsqlException SUBSCRIPT_OUTSIDE_LIMIT SYS_INVALID_ROWID
syn keyword plsqlException TIMEOUT_ON_RESOURCE TOO_MANY_ROWS VALUE_ERROR
syn keyword plsqlException ZERO_DIVIDE
" Oracle Pseudo Colums.
syn keyword plsqlPseudo CURRVAL LEVEL NEXTVAL ROWID ROWNUM
if exists("plsql_highlight_triggers")
syn keyword plsqlTrigger INSERTING UPDATING DELETING
syn keyword plsqlTrigger INSERTING UPDATING DELETING
endif
" Conditionals.
syn keyword plsqlConditional ELSIF ELSE IF
syn match plsqlConditional "\<END\s\+IF\>"
" Loops.
syn keyword plsqlRepeat FOR LOOP WHILE FORALL
syn match plsqlRepeat "\<END\s\+LOOP\>"
" so can not contain it for folding. May no longer be necessary and can change them to plsqlKeyword
syn match plsqlBEGIN "\<BEGIN\>"
syn match plsqlEND "\<END\>"
syn match plsqlISAS "\<\(IS\|AS\)\>"
" Various types of comments.
if exists("c_comment_strings")
syntax match plsqlCommentSkip contained "^\s*\*\($\|\s\+\)"
syntax region plsqlCommentString contained start=+L\="+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=plsqlCommentSkip
syntax region plsqlComment2String contained start=+L\="+ skip=+\\\\\|\\"+ end=+"+ end="$"
syntax region plsqlCommentL start="--" skip="\\$" end="$" keepend contains=@plsqlCommentGroup,plsqlComment2String,plsqlCharLiteral,plsqlBooleanLiteral,plsqlNumbersCom,plsqlSpaceError
syntax region plsqlComment start="/\*" end="\*/" contains=@plsqlCommentGroup,plsqlComment2String,plsqlCharLiteral,plsqlBooleanLiteral,plsqlNumbersCom,plsqlSpaceError
syntax region plsqlCommentL start="--" skip="\\$" end="$" keepend extend contains=@plsqlCommentGroup,plsqlSpaceError
if exists("plsql_fold")
syntax region plsqlComment
\ start="/\*" end="\*/"
\ extend
\ contains=@plsqlCommentGroup,plsqlSpaceError
\ fold
else
syntax region plsqlCommentL start="--" skip="\\$" end="$" keepend contains=@plsqlCommentGroup,plsqlSpaceError
syntax region plsqlComment start="/\*" end="\*/" contains=@plsqlCommentGroup,plsqlSpaceError
syntax region plsqlComment
\ start="/\*" end="\*/"
\ extend
\ contains=@plsqlCommentGroup,plsqlSpaceError
endif
syn cluster plsqlCommentAll contains=plsqlCommentL,plsqlComment
syn sync ccomment plsqlComment
syn sync ccomment plsqlCommentL
@@ -173,28 +597,38 @@ syn sync ccomment plsqlCommentL
syn match plsqlStringError "'.*$"
" Various types of literals.
syn match plsqlNumbers transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=plsqlIntLiteral,plsqlFloatLiteral
syn match plsqlNumbersCom contained transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=plsqlIntLiteral,plsqlFloatLiteral
syn match plsqlIntLiteral contained "[+-]\=\d\+"
syn match plsqlFloatLiteral contained "[+-]\=\d\+\.\d*"
syn match plsqlFloatLiteral contained "[+-]\=\d*\.\d*"
syn match plsqlCharLiteral "'[^']'"
syn match plsqlStringLiteral "'\([^']\|''\)*'"
syn keyword plsqlBooleanLiteral TRUE FALSE NULL
" the + and - get sucked up as operators. Not sure how to take precedence here. Something to do with word boundaries.
" most other syntax files do not try to includ +/- in the number token, so leave them as unary operators
" even though the oracle documentation counts the sign as part of the numeric literal
syn match plsqlNumbers transparent "\<\d\|\.\d" contains=plsqlIntLiteral,plsqlFloatLiteral
syn match plsqlNumbersCom contained transparent "\<\d\|\.\d" contains=plsqlIntLiteral,plsqlFloatLiteral
syn match plsqlIntLiteral contained "\d\+"
syn match plsqlFloatLiteral contained "\d\+\.\(\d\+\([eE][+-]\?\d\+\)\?\)\?[fd]\?"
syn match plsqlFloatLiteral contained "\.\(\d\+\([eE][+-]\?\d\+\)\?\)[fd]\?"
" The built-in types.
syn keyword plsqlStorage ANYDATA ANYTYPE BFILE BINARY_INTEGER BLOB BOOLEAN
syn keyword plsqlStorage BYTE CHAR CHARACTER CLOB CURSOR DATE DAY DEC DECIMAL
syn keyword plsqlStorage DOUBLE DSINTERVAL_UNCONSTRAINED FLOAT HOUR
syn keyword plsqlStorage INT INTEGER INTERVAL LOB LONG MINUTE
syn keyword plsqlStorage MLSLABEL MONTH NATURAL NATURALN NCHAR NCHAR_CS NCLOB
syn keyword plsqlStorage NUMBER NUMERIC NVARCHAR PLS_INT PLS_INTEGER
syn keyword plsqlStorage POSITIVE POSITIVEN PRECISION RAW REAL RECORD
syn keyword plsqlStorage SECOND SIGNTYPE SMALLINT STRING SYS_REFCURSOR TABLE TIME
syn keyword plsqlStorage TIMESTAMP TIMESTAMP_UNCONSTRAINED
syn keyword plsqlStorage TIMESTAMP_TZ_UNCONSTRAINED
syn keyword plsqlStorage TIMESTAMP_LTZ_UNCONSTRAINED UROWID VARCHAR
syn keyword plsqlStorage VARCHAR2 YEAR YMINTERVAL_UNCONSTRAINED ZONE
" double quoted strings in SQL are database object names. Should be a subgroup of Normal.
" We will use Character group as a proxy for that so color can be chosen close to Normal
syn region plsqlQuotedIdentifier matchgroup=plsqlOperator start=+n\?"+ end=+"+ keepend extend
syn cluster plsqlIdentifiers contains=plsqlIdentifier,plsqlQuotedIdentifier
" quoted string literals
if exists("plsql_fold")
syn region plsqlStringLiteral matchgroup=plsqlOperator start=+n\?'+ skip=+''+ end=+'+ fold keepend extend
syn region plsqlStringLiteral matchgroup=plsqlOperator start=+n\?q'\z([^[(<{]\)+ end=+\z1'+ fold keepend extend
syn region plsqlStringLiteral matchgroup=plsqlOperator start=+n\?q'<+ end=+>'+ fold keepend extend
syn region plsqlStringLiteral matchgroup=plsqlOperator start=+n\?q'{+ end=+}'+ fold keepend extend
syn region plsqlStringLiteral matchgroup=plsqlOperator start=+n\?q'(+ end=+)'+ fold keepend extend
syn region plsqlStringLiteral matchgroup=plsqlOperator start=+n\?q'\[+ end=+]'+ fold keepend extend
else
syn region plsqlStringLiteral matchgroup=plsqlOperator start=+n\?'+ skip=+''+ end=+'+
syn region plsqlStringLiteral matchgroup=plsqlOperator start=+n\?q'\z([^[(<{]\)+ end=+\z1'+
syn region plsqlStringLiteral matchgroup=plsqlOperator start=+n\?q'<+ end=+>'+
syn region plsqlStringLiteral matchgroup=plsqlOperator start=+n\?q'{+ end=+}'+
syn region plsqlStringLiteral matchgroup=plsqlOperator start=+n\?q'(+ end=+)'+
syn region plsqlStringLiteral matchgroup=plsqlOperator start=+n\?q'\[+ end=+]'+
endif
syn keyword plsqlBooleanLiteral TRUE FALSE
" A type-attribute is really a type.
syn match plsqlTypeAttribute "%\(TYPE\|ROWTYPE\)\>"
@@ -204,61 +638,183 @@ syn match plsqlAttribute "%\(BULK_EXCEPTIONS\|BULK_ROWCOUNT\|ISOPEN\|FOUND\|NOTF
" This'll catch mis-matched close-parens.
syn cluster plsqlParenGroup contains=plsqlParenError,@plsqlCommentGroup,plsqlCommentSkip,plsqlIntLiteral,plsqlFloatLiteral,plsqlNumbersCom
if exists("c_no_bracket_error")
syn region plsqlParen transparent start='(' end=')' contains=ALLBUT,@plsqlParenGroup
syn match plsqlParenError ")"
syn match plsqlErrInParen contained "[{}]"
if exists("plsql_bracket_error")
" I suspect this code was copied from c.vim and never properly considered. Do
" we even use braces or brackets in sql or pl/sql?
if exists("plsql_fold")
syn region plsqlParen start='(' end=')' contains=ALLBUT,@plsqlParenGroup,plsqlErrInBracket fold keepend extend transparent
else
syn region plsqlParen transparent start='(' end=')' contains=ALLBUT,@plsqlParenGroup,plsqlErrInBracket
endif
syn match plsqlParenError "[\])]"
syn match plsqlErrInParen contained "[{}]"
syn region plsqlBracket transparent start='\[' end=']' contains=ALLBUT,@plsqlParenGroup,plsqlErrInParen
syn match plsqlErrInBracket contained "[);{}]"
else
syn region plsqlParen transparent start='(' end=')' contains=ALLBUT,@plsqlParenGroup,plsqlErrInBracket
syn match plsqlParenError "[\])]"
syn match plsqlErrInParen contained "[{}]"
syn region plsqlBracket transparent start='\[' end=']' contains=ALLBUT,@plsqlParenGroup,plsqlErrInParen
syn match plsqlErrInBracket contained "[);{}]"
if exists("plsql_fold")
syn region plsqlParen start='(' end=')' contains=ALLBUT,@plsqlParenGroup,plsqlErrInParen fold keepend extend transparent
else
syn region plsqlParen transparent start='(' end=')' contains=ALLBUT,@plsqlParenGroup,plsqlErrInParen
endif
syn match plsqlParenError ")"
" should this not be parens isntead of brackets? I never quite followed what this was doing
syn match plsqlErrInParen contained "[{}]"
endif
" Syntax Synchronizing
syn sync minlines=10 maxlines=100
syn match plsqlReserved "\<BODY\>"
syn match plsqlReserved "\<CREATE\_s\+\(OR\_s\+REPLACE\_s\+\)\?"
" Loops
syn match plsqlRepeat "\<\(FOR\|WHILE\|LOOP\|FORALL\)\>"
syn match plsqlRepeat "\<END\_s\+LOOP\>"
" conditionals
syn match plsqlConditional "\<\(ELSIF\|IF\|ELSE\)\>"
syn match plsqlConditional "\<END\>\_s\+\<IF\>"
syn match plsqlCase "\<END\>\_s\+\<CASE\>"
syn match plsqlCase "\<CASE\>"
if exists("plsql_fold")
setlocal foldmethod=syntax
syn sync fromstart
syn cluster plsqlProcedureGroup contains=plsqlProcedure
syn cluster plsqlOnlyGroup contains=@plsqlProcedure,plsqlConditionalBlock,plsqlLoopBlock,plsqlBlock
syntax region plsqlUpdateSet
\ start="\(\<update\>\_s\+\(\<set\>\)\@![a-z][a-z0-9$_#]*\_s\+\(\(\<set\>\)\@![a-z][a-z0-9$_#]*\_s\+\)\?\)\|\(\<when\>\_s\+\<matched\>\_s\+\<then\>\_s\+\<update\>\_s\+\)\<set\>"
\ end="\(\_s*\(;\|\<from\>\|\<where\>\|\<when\>\)\)\@="
\ fold
\ keepend
\ extend
\ transparent
\ contains=ALLBUT,@plsqlOnlyGroup,plsqlSelect
syntax region plsqlSelect
\ start="\<select\>"
\ end="\(\_s*\<from\>\)\@="
\ fold
\ keepend
\ extend
\ transparent
\ contains=ALLBUT,@plsqlOnlyGroup,plsqlUpdateSet
" this is brute force and requires you have the procedure/function name in the END
" statement. ALthough Oracle makes it optional, we cannot. If you do not
" have it, then you can fold the BEGIN/END block of the procedure but not
" the specification of it (other than a paren group). You also cannot fold
" BEGIN/END blocks in the procedure body. Local procedures will fold as
" long as the END statement includes the procedure/function name.
" As for why we cannot make it work any other way, I don't know. It is
" something to do with both plsqlBlock and plsqlProcedure both consuming BEGIN and END,
" even if we use a lookahead for one of them.
syntax region plsqlProcedure
"\ start="\(create\(\_s\+or\_s\+replace\)\?\_s\+\)\?\<\(procedure\|function\)\>\_s\+\z([a-z][a-z0-9$_#]*\)"
\ start="\<\(procedure\|function\)\>\_s\+\(\z([a-z][a-z0-9$_#]*\)\)\([^;]\|\n\)\{-}\<\(is\|as\)\>\_.\{-}\(\<end\>\_s\+\2\_s*;\)\@="
\ end="\<end\>\_s\+\z1\_s*;"
\ fold
\ keepend
\ extend
\ transparent
\ contains=ALLBUT,plsqlBlock
syntax region plsqlBlock
\ start="\<begin\>"
"\ end="\<end\>\_s*\;"
\ end="\<end\>\(\_s\+\(if\|loop\|case\)\@![a-z][a-z0-9$_#]*\)\?\_s*;"
\ fold
\ transparent
\ contains=ALLBUT,@plsqlProcedureGroup,plsqlPackage,plsqlErrInBracket,PlsqlProcedureJava
\ keepend
\ extend
syn region plsqlCaseBlock
\ transparent
\ start="\<case\>\(\_s*;\)\@!"
\ end="\<end\>\(\_s\+case\_s*;\)\?"
\ fold
\ contains=ALLBUT,@plsqlProcedureGroup,plsqlPackage,plsqlErrInBracket,PlsqlProcedureJava
\ keepend
\ extend
"\ contained
syntax region plsqlLoopBlock
\ transparent
\ start="\<loop\>\(\_s*;\)\@!"
\ end="\<end\>\(\_s\+\<loop\>\)\?\_s*;"
\ fold
\ keepend extend
\ contained
\ contains=ALLBUT,@plsqlProcedureGroup,plsqlPackage,plsqlErrInBracket,PlsqlProcedureJava
syn region plsqlConditionalBlock
\ transparent
\ start="\<if\>\(\_s*;\)\@!"
\ end="\<end\>\_s\+\<if\>\_s*;"
\ fold
\ keepend extend
\ contained
\ contains=ALLBUT,@plsqlProcedureGroup,plsqlPackage,plsqlErrInBracket,PlsqlProcedureJava
else
" Syntax Synchronizing
syn sync minlines=1000 maxlines=2000
endif
"
" Define the default highlighting.
" Only when an item doesn't have highlighting yet.
hi def link plsqlAttribute Macro
hi def link plsqlBlockError Error
hi def link plsqlBooleanLiteral Boolean
hi def link plsqlCharLiteral Character
hi def link plsqlComment Comment
hi def link plsqlCommentL Comment
hi def link plsqlConditional Conditional
hi def link plsqlError Error
hi def link plsqlErrInBracket Error
hi def link plsqlErrInBlock Error
hi def link plsqlErrInParen Error
hi def link plsqlException Function
hi def link plsqlFloatLiteral Float
hi def link plsqlFunction Function
hi def link plsqlGarbage Error
hi def link plsqlHostIdentifier Label
hi def link plsqlIdentifier Normal
hi def link plsqlIntLiteral Number
hi def link plsqlOperator Operator
hi def link plsqlParen Normal
hi def link plsqlParenError Error
hi def link plsqlSpaceError Error
hi def link plsqlPseudo PreProc
hi def link plsqlKeyword Keyword
hi def link plsqlRepeat Repeat
hi def link plsqlStorage StorageClass
hi def link plsqlSQLKeyword Function
hi def link plsqlStringError Error
hi def link plsqlStringLiteral String
hi def link plsqlCommentString String
hi def link plsqlComment2String String
hi def link plsqlSymbol Normal
hi def link plsqlTrigger Function
hi def link plsqlTypeAttribute StorageClass
hi def link plsqlTodo Todo
hi def link plsqlAttribute Macro
hi def link plsqlBlockError Error
hi def link plsqlBooleanLiteral Boolean
hi def link plsqlQuotedIdentifier Character
hi def link plsqlComment Comment
hi def link plsqlCommentL Comment
hi def link plsqlConditional Conditional
hi def link plsqlCase Conditional
hi def link plsqlError Error
hi def link plsqlErrInBracket Error
hi def link plsqlErrInBlock Error
hi def link plsqlErrInParen Error
hi def link plsqlException Function
hi def link plsqlFloatLiteral Float
hi def link plsqlFunction Function
hi def link plsqlGarbage Error
hi def link plsqlHostIdentifier Label
hi def link plsqlIdentifier Normal
hi def link plsqlIntLiteral Number
hi def link plsqlOperator Operator
hi def link plsqlParenError Error
hi def link plsqlSpaceError Error
hi def link plsqlPseudo PreProc
hi def link plsqlKeyword Keyword
hi def link plsqlEND Keyword
hi def link plsqlBEGIN Keyword
hi def link plsqlISAS Statement
hi def link plsqlReserved Statement
hi def link plsqlRepeat Repeat
hi def link plsqlStorage StorageClass
hi def link plsqlFunction Function
hi def link plsqlStringError Error
hi def link plsqlStringLiteral String
hi def link plsqlCommentString String
hi def link plsqlComment2String String
hi def link plsqlTrigger Function
hi def link plsqlTypeAttribute StorageClass
hi def link plsqlTodo Todo
" to be able to change them after loading, need override whether defined or not
if exists("plsql_legacy_sql_keywords")
hi link plsqlSQLKeyword Function
hi link plsqlSymbol Normal
hi link plsqlParen Normal
else
hi link plsqlSymbol Special
hi link plsqlParen Special
endif
let b:current_syntax = "plsql"
" vim: ts=8 sw=2
" restore setting from when we entered this file
let &cpo = s:cpo_sav
unlet! s:cpo_sav
" vim: ts=4 sw=4

View File

@@ -1,6 +1,7 @@
" Syntax file for scdoc files
" Maintainer: Gregory Anders <greg@gpanders.com>
" Last Updated: 2021-08-04
" Maintainer: Gregory Anders <contact@gpanders.com>
" Last Updated: 2022-05-09
" Upstream: https://github.com/gpanders/vim-scdoc
if exists('b:current_syntax')
finish
@@ -20,33 +21,43 @@ syntax match scdocIndentError "^[ ]\+"
syntax match scdocLineBreak "++$"
syntax match scdocOrderedListMarker "^\s*\.\%(\s\+\S\)\@="
syntax match scdocListMarker "^\s*-\%(\s\+\S\)\@="
syntax region scdocOrderedListItem matchgroup=scdocOrderedListMarker start="^\z(\s*\)\." skip="^\z1 .*$" end="^" contains=scdocBold,scdocUnderline
syntax region scdocListItem matchgroup=scdocListMarker start="^\z(\s*\)-" skip="^\z1 .*$" end="^" contains=scdocBold,scdocUnderline
syntax match scdocTableStartMarker "^[\[|\]][\[\-\]]"
syntax match scdocTableMarker "^[|:][\[\-\] ]"
" Tables cannot start with a column
syntax match scdocTableError "^:"
syntax region scdocTable matchgroup=scdocTableEntry start="^[\[|\]][\[\-\]<=>]" end="^$" contains=scdocTableEntry,scdocTableError,scdocTableContinuation,scdocBold,scdocUnderline,scdocPre
syntax match scdocTableError "^.*$" contained
syntax match scdocTableContinuation "^ \+\S\+" contained
syntax match scdocTableEntry "^[|:][\[\-\]<=> ]" contained
syntax match scdocTableError "^[|:][\[\-\]<=> ]\S.*$" contained
syntax region scdocBold concealends matchgroup=scdocBoldDelimiter start="\\\@<!\*" end="\\\@<!\*"
syntax region scdocUnderline concealends matchgroup=scdocUnderlineDelimiter start="\<\\\@<!_" end="\\\@<!_\>"
syntax region scdocPre matchgroup=scdocPreDelimiter start="^\t*```" end="^\t*```"
hi link scdocFirstLineValid Comment
hi link scdocComment Comment
hi link scdocHeader Title
hi link scdocOrderedListMarker Statement
hi link scdocListMarker scdocOrderedListMarker
hi link scdocLineBreak Special
hi link scdocTableMarker Statement
hi link scdocTableStartMarker scdocTableMarker
syntax sync minlines=50
hi link scdocFirstLineError Error
hi link scdocCommentError Error
hi link scdocHeaderError Error
hi link scdocIndentError Error
hi default link scdocFirstLineValid Comment
hi default link scdocComment Comment
hi default link scdocHeader Title
hi default link scdocOrderedListMarker Statement
hi default link scdocListMarker scdocOrderedListMarker
hi default link scdocLineBreak Special
hi default link scdocTableSpecifier Statement
hi default link scdocTableEntry Statement
hi link scdocPreDelimiter Delimiter
hi default link scdocFirstLineError Error
hi default link scdocCommentError Error
hi default link scdocHeaderError Error
hi default link scdocIndentError Error
hi default link scdocTableError Error
hi default link scdocTableError Error
hi scdocBold term=bold cterm=bold gui=bold
hi scdocUnderline term=underline cterm=underline gui=underline
hi link scdocBoldDelimiter scdocBold
hi link scdocUnderlineDelimiter scdocUnderline
hi default link scdocPreDelimiter Delimiter
hi default scdocBold term=bold cterm=bold gui=bold
hi default scdocUnderline term=underline cterm=underline gui=underline
hi default link scdocBoldDelimiter scdocBold
hi default link scdocUnderlineDelimiter scdocUnderline

View File

@@ -1,8 +1,8 @@
" Vim syntax file
" Language: TeX
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" Last Change: Jun 29, 2020
" Version: 119
" Last Change: Apr 22, 2022
" Version: 121
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
"
" Notes: {{{1
@@ -173,13 +173,25 @@ if !s:tex_excludematcher
syn cluster texItalGroup add=texMatcher
endif
if !s:tex_nospell
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,@Spell
syn cluster texMatchNMGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,@Spell
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher,@Spell
if !s:tex_no_error
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texError,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,@Spell
syn cluster texMatchNMGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texError,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,@Spell
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texError,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher,@Spell
else
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,@Spell
syn cluster texMatchNMGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,@Spell
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texBoldStyle,texBoldItalStyle,texItalStyle,texItalBoldStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher,@Spell
endif
else
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
syn cluster texMatchNMGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher
if !s:tex_no_error
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texError,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
syn cluster texMatchNMGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texError,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texError,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher
else
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
syn cluster texMatchNMGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher
endif
endif
syn cluster texPreambleMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcherNM,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTitle,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texMathZoneZ
syn cluster texRefGroup contains=texMatcher,texComment,texDelimiter
@@ -189,7 +201,7 @@ if !exists("g:tex_no_math")
syn cluster texMatchGroup add=@texMathZones
syn cluster texMathDelimGroup contains=texMathDelimBad,texMathDelimKey,texMathDelimSet1,texMathDelimSet2
syn cluster texMathMatchGroup contains=@texMathZones,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathMatcher,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone
syn cluster texMathZoneGroup contains=texComment,texDelimiter,texLength,texMathDelim,texMathMatcher,texMathOper,texMathSymbol,texMathText,texRefZone,texSpecialChar,texStatement,texTypeSize,texTypeStyle
syn cluster texMathZoneGroup contains=texBadPar,texComment,texDelimiter,texLength,texMathDelim,texMathMatcher,texMathOper,texMathSymbol,texMathText,texRefZone,texSpecialChar,texStatement,texTypeSize,texTypeStyle
if !s:tex_no_error
syn cluster texMathMatchGroup add=texMathError
syn cluster texMathZoneGroup add=texMathError
@@ -214,21 +226,21 @@ endif
if s:tex_fast =~# 'm'
if !s:tex_no_error
if s:tex_matchcheck =~ '{'
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup,texError
syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup,texError
syn region texMatcher matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup,texError
syn region texMatcherNM matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup,texError
endif
if s:tex_matchcheck =~ '\['
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup,texError,@NoSpell
syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup,texError,@NoSpell
syn region texMatcher matchgroup=texDelimiter start="\[" end="]" transparent contains=@texMatchGroup,texError,@NoSpell
syn region texMatcherNM matchgroup=texDelimiter start="\[" end="]" transparent contains=@texMatchNMGroup,texError,@NoSpell
endif
else
if s:tex_matchcheck =~ '{'
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup
syn region texMatcherNM matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup
syn region texMatcher matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup
syn region texMatcherNM matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchNMGroup
endif
if s:tex_matchcheck =~ '\['
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup
syn region texMatcherNM matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchNMGroup
syn region texMatcher matchgroup=texDelimiter start="\[" end="]" transparent contains=@texMatchGroup
syn region texMatcherNM matchgroup=texDelimiter start="\[" end="]" transparent contains=@texMatchNMGroup
endif
endif
if s:tex_matchcheck =~ '('
@@ -251,7 +263,7 @@ if s:tex_fast =~# 'M'
if !s:tex_no_error
syn match texMathError "}" contained
endif
syn region texMathMatcher matchgroup=Delimiter start="{" skip="\%(\\\\\)*\\}" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup
syn region texMathMatcher matchgroup=texDelimiter start="{" skip="\%(\\\\\)*\\}" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup
endif
endif
@@ -291,14 +303,14 @@ syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"
" \begin{}/\end{} section markers: {{{1
syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName
if s:tex_fast =~# 'm'
syn region texBeginEndName matchgroup=Delimiter start="{" end="}" contained nextgroup=texBeginEndModifier contains=texComment
syn region texBeginEndModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment,@texMathZones,@NoSpell
syn region texBeginEndName matchgroup=texDelimiter start="{" end="}" contained nextgroup=texBeginEndModifier contains=texComment
syn region texBeginEndModifier matchgroup=texDelimiter start="\[" end="]" contained contains=texComment,@texMathZones,@NoSpell
endif
" \documentclass, \documentstyle, \usepackage: {{{1
syn match texDocType "\\documentclass\>\|\\documentstyle\>\|\\usepackage\>" nextgroup=texBeginEndName,texDocTypeArgs
if s:tex_fast =~# 'm'
syn region texDocTypeArgs matchgroup=Delimiter start="\[" end="]" contained nextgroup=texBeginEndName contains=texComment,@NoSpell
syn region texDocTypeArgs matchgroup=texDelimiter start="\[" end="]" contained nextgroup=texBeginEndName contains=texComment,@NoSpell
endif
" Preamble syntax-based folding support: {{{1
@@ -312,7 +324,7 @@ syn match texInputFile "\\include\(graphics\|list\)\=\(\[.\{-}\]\)\=\s*{.\{-}}"
syn match texInputFile "\\\(epsfig\|input\|usepackage\)\s*\(\[.*\]\)\={.\{-}}" contains=texStatement,texInputCurlies,texInputFileOpt
syn match texInputCurlies "[{}]" contained
if s:tex_fast =~# 'm'
syn region texInputFileOpt matchgroup=Delimiter start="\[" end="\]" contained contains=texComment
syn region texInputFileOpt matchgroup=texDelimiter start="\[" end="\]" contained contains=texComment
endif
" Type Styles (LaTeX 2.09): {{{1
@@ -334,10 +346,8 @@ endif
syn match texTypeStyle "\\textmd\>"
syn match texTypeStyle "\\textrm\>"
syn match texTypeStyle "\\mathbb\>"
syn match texTypeStyle "\\mathbf\>"
syn match texTypeStyle "\\mathcal\>"
syn match texTypeStyle "\\mathfrak\>"
syn match texTypeStyle "\\mathit\>"
syn match texTypeStyle "\\mathnormal\>"
syn match texTypeStyle "\\mathrm\>"
@@ -430,6 +440,7 @@ if !exists("g:tex_no_math") && !s:tex_no_error
syn match texBadMath "\\end\s*{\s*\(array\|[bBpvV]matrix\|split\|smallmatrix\)\s*}"
syn match texBadMath "\\end\s*{\s*\(displaymath\|equation\|eqnarray\|math\)\*\=\s*}"
syn match texBadMath "\\[\])]"
syn match texBadPar contained "\%(\\par\>\|^\s*\n.\)"
endif
" Math Zones: {{{1
@@ -475,15 +486,15 @@ if !exists("g:tex_no_math")
" Inline Math Zones: {{{2
if s:tex_fast =~# 'M'
if has("conceal") && &enc == 'utf-8' && s:tex_conceal =~# 'd'
syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend concealends contains=@texMathZoneGroup
syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend concealends contains=@texMathZoneGroup
syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" concealends contains=@texMathZoneGroup
syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" keepend concealends contains=@texMathZoneGroup
syn region texMathZoneV matchgroup=texDelimiter start="\\(" matchgroup=texDelimiter end="\\)\|%stopzone\>" keepend concealends contains=@texMathZoneGroup
syn region texMathZoneW matchgroup=texDelimiter start="\\\[" matchgroup=texDelimiter end="\\]\|%stopzone\>" keepend concealends contains=@texMathZoneGroup
syn region texMathZoneX matchgroup=texDelimiter start="\$" skip="\\\\\|\\\$" matchgroup=texDelimiter end="\$" end="%stopzone\>" concealends contains=@texMathZoneGroup
syn region texMathZoneY matchgroup=texDelimiter start="\$\$" matchgroup=texDelimiter end="\$\$" end="%stopzone\>" keepend concealends contains=@texMathZoneGroup
else
syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend contains=@texMathZoneGroup
syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend contains=@texMathZoneGroup
syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\%(\\\\\)*\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup
syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" keepend contains=@texMathZoneGroup
syn region texMathZoneV matchgroup=texDelimiter start="\\(" matchgroup=texDelimiter end="\\)\|%stopzone\>" keepend contains=@texMathZoneGroup
syn region texMathZoneW matchgroup=texDelimiter start="\\\[" matchgroup=texDelimiter end="\\]\|%stopzone\>" keepend contains=@texMathZoneGroup
syn region texMathZoneX matchgroup=texDelimiter start="\$" skip="\%(\\\\\)*\\\$" matchgroup=texDelimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup
syn region texMathZoneY matchgroup=texDelimiter start="\$\$" matchgroup=texDelimiter end="\$\$" end="%stopzone\>" keepend contains=@texMathZoneGroup
endif
syn region texMathZoneZ matchgroup=texStatement start="\\ensuremath\s*{" matchgroup=texStatement end="}" end="%stopzone\>" contains=@texMathZoneGroup
endif
@@ -650,23 +661,23 @@ if s:tex_fast =~# 'r'
syn region texRefZone matchgroup=texStatement start="\\label{" end="}\|%stopzone\>" contains=@texRefGroup
syn region texRefZone matchgroup=texStatement start="\\\(page\|eq\)ref{" end="}\|%stopzone\>" contains=@texRefGroup
syn region texRefZone matchgroup=texStatement start="\\v\=ref{" end="}\|%stopzone\>" contains=@texRefGroup
syn region texRefOption contained matchgroup=Delimiter start='\[' end=']' contains=@texRefGroup,texRefZone nextgroup=texRefOption,texCite
syn region texCite contained matchgroup=Delimiter start='{' end='}' contains=@texRefGroup,texRefZone,texCite
syn region texRefOption contained matchgroup=texDelimiter start='\[' end=']' contains=@texRefGroup,texRefZone nextgroup=texRefOption,texCite
syn region texCite contained matchgroup=texDelimiter start='{' end='}' contains=@texRefGroup,texRefZone,texCite
endif
syn match texRefZone '\\cite\%([tp]\*\=\)\=\>' nextgroup=texRefOption,texCite
" Handle newcommand, newenvironment : {{{1
syn match texNewCmd "\\newcommand\>" nextgroup=texCmdName skipwhite skipnl
" Handle (re)newcommand, (re)newenvironment : {{{1
syn match texNewCmd "\\\%(re\)\=newcommand\>" nextgroup=texCmdName skipwhite skipnl
if s:tex_fast =~# 'V'
syn region texCmdName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texCmdArgs,texCmdBody skipwhite skipnl
syn region texCmdArgs contained matchgroup=Delimiter start="\["rs=s+1 end="]" nextgroup=texCmdBody skipwhite skipnl
syn region texCmdBody contained matchgroup=Delimiter start="{"rs=s+1 skip="\\\\\|\\[{}]" matchgroup=Delimiter end="}" contains=@texCmdGroup
syn region texCmdName contained matchgroup=texDelimiter start="{"rs=s+1 end="}" nextgroup=texCmdArgs,texCmdBody skipwhite skipnl
syn region texCmdArgs contained matchgroup=texDelimiter start="\["rs=s+1 end="]" nextgroup=texCmdBody skipwhite skipnl
syn region texCmdBody contained matchgroup=texDelimiter start="{"rs=s+1 skip="\\\\\|\\[{}]" matchgroup=texDelimiter end="}" contains=@texCmdGroup
endif
syn match texNewEnv "\\newenvironment\>" nextgroup=texEnvName skipwhite skipnl
syn match texNewEnv "\\\%(re\)\=newenvironment\>" nextgroup=texEnvName skipwhite skipnl
if s:tex_fast =~# 'V'
syn region texEnvName contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvBgn skipwhite skipnl
syn region texEnvBgn contained matchgroup=Delimiter start="{"rs=s+1 end="}" nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup
syn region texEnvEnd contained matchgroup=Delimiter start="{"rs=s+1 end="}" skipwhite skipnl contains=@texEnvGroup
syn region texEnvName contained matchgroup=texDelimiter start="{"rs=s+1 end="}" nextgroup=texEnvBgn skipwhite skipnl
syn region texEnvBgn contained matchgroup=texDelimiter start="{"rs=s+1 end="}" nextgroup=texEnvEnd skipwhite skipnl contains=@texEnvGroup
syn region texEnvEnd contained matchgroup=texDelimiter start="{"rs=s+1 end="}" skipwhite skipnl contains=@texEnvGroup
endif
" Definitions/Commands: {{{1
@@ -694,8 +705,8 @@ if !s:tex_no_error
endif
syn match texStyleStatement "\\[a-zA-Z@]\+" contained
if s:tex_fast =~# 'S'
syn region texStyleMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texStyleGroup,texError contained
syn region texStyleMatcher matchgroup=Delimiter start="\[" end="]" contains=@texStyleGroup,texError contained
syn region texStyleMatcher matchgroup=texDelimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texStyleGroup,texError contained
syn region texStyleMatcher matchgroup=texDelimiter start="\[" end="]" contains=@texStyleGroup,texError contained
endif
endif
@@ -1017,8 +1028,8 @@ if has("conceal") && &enc == 'utf-8'
" Superscripts/Subscripts {{{2
if s:tex_conceal =~# 's'
if s:tex_fast =~# 's'
syn region texSuperscript matchgroup=Delimiter start='\^{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
syn region texSubscript matchgroup=Delimiter start='_{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
syn region texSuperscript matchgroup=texDelimiter start='\^{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSuperscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
syn region texSubscript matchgroup=texDelimiter start='_{' skip="\\\\\|\\[{}]" end='}' contained concealends contains=texSpecialChar,texSubscripts,texStatement,texSubscript,texSuperscript,texMathMatcher
endif
" s:SuperSub:
fun! s:SuperSub(group,leader,pat,cchar)
@@ -1255,6 +1266,7 @@ if !exists("skip_tex_syntax_inits")
if !exists("g:tex_no_error")
if !exists("g:tex_no_math")
hi def link texBadMath texError
hi def link texBadPar texBadMath
hi def link texMathDelimBad texError
hi def link texMathError texError
if !b:tex_stylish

View File

@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Vim 8.2 script
" Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
" Last Change: April 10, 2022
" Version: 8.2-34
" Last Change: May 07, 2022
" Version: 8.2-38
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
" Automatically generated keyword lists: {{{1
@@ -27,7 +27,7 @@ syn keyword vimCommand contained abstract argdo au bd[elete] bo[tright] breakl[i
syn keyword vimCommand contained addd arge[dit] bN[ext] bel[owright] bp[revious] bro[wse] cNf[ile] cadde[xpr] cbe[fore] cdo cg[etfile] checkt[ime] clo[se] co[py] con[tinue] cq[uit] cuna[bbrev] defc[ompile] deletl dep diffpu[t] dj[ump] dp earlier el[se] endenum ene[w] export filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] import isp[lit] keepa l[ist] laf[ter] lbel[ow] lcscope lf[ile] lgr[ep] lli[st] lnf[ile] lol[der] lt[ag] lw[indow] menut[ranslate] mkvie[w] nbc[lose] noh[lsearch] ol[dfiles] pa[ckadd] po[p] prof[ile] pta[g] ptr[ewind] py3f[ile] pythonx quita[ll] redraws[tatus] rew[ind] rubyf[ile] sIg sa[rgument] sba[ll] sbr[ewind] scl scscope sfir[st] sgl sic sin sm[ap] snoreme spelld[ump] spellw[rong] srg sta[g] stopi[nsert] sunmenu sync tab tabfir[st] tabp[revious] tcl th[row] tlnoremenu tn[ext] ts[elect] undoj[oin] up[date] vi[sual] viu[sage] wh[ile] wp[revious] xa[ll] xprop z[^.=]
syn keyword vimCommand contained al[l]
syn match vimCommand contained "\<z[-+^.=]\=\>"
syn keyword vimStdPlugin contained Arguments Asm Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Winbar XMLent XMLns
syn keyword vimStdPlugin contained Arguments Asm Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Until Winbar XMLent XMLns
" vimOptions are caught only when contained in a vimSet {{{2
syn keyword vimOption contained acd ambw arshape aw backupskip beval bk bri bufhidden cdh ci cinsd cms commentstring conceallevel cpt cscopetagorder csto cursorlineopt dg dir ed enc errorfile fcl fdn ffs fillchars fo foldmarker formatoptions gdefault gp guifontwide helpheight history hlsearch imaf ims includeexpr infercase iskeyword keywordprg laststatus lispwords lrm magic maxfuncdepth menuitems mm modifiable mousemev mps nu opendevice paste pex pmbfn printencoding pt pythonhome quoteescape renderoptions rlc ruf scb scrolloff selectmode shellquote shiftwidth showmode sj sn spellfile spo st su swf ta taglength tbis termguicolors textmode thesaurusfunc titlestring tpm ttimeoutlen ttyscroll tx undolevels vartabstop vfile virtualedit warn wfh wildchar wim winminheight wmh write
@@ -79,12 +79,12 @@ syn match vimHLGroup contained "Conceal"
syn case match
" Function Names {{{2
syn keyword vimFuncName contained abs argc assert_equal assert_match atan browse bufloaded byteidx charclass chdir ch_log ch_sendexpr col copy debugbreak diff_hlID empty execute expandcmd filter floor foldlevel function getchangelist getcmdline getcursorcharpos getftime getmarklist getreg gettabwinvar getwinposx globpath histadd hlget indent inputrestore invert items job_status json_decode libcallnr list2str log mapcheck matchaddpos matchfuzzypos menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setcallback prop_clear prop_type_change pumvisible range reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setcursorcharpos setmatches settabwinvar shiftwidth sign_place simplify sound_clear spellbadword state strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_blob test_null_list test_refcount test_void timer_stopall trunc uniq winbufnr win_getid win_id2win winnr win_splitmove
syn keyword vimFuncName contained acos argidx assert_equalfile assert_nobeep atan2 browsedir bufname byteidxcomp charcol ch_evalexpr ch_logfile ch_sendraw complete cos deepcopy digraph_get environ exepath extend finddir fmod foldtext garbagecollect getchar getcmdpos getcwd getftype getmatches getreginfo gettagstack getwinposy has histdel hlID index inputsave isdirectory job_getchannel job_stop json_encode line listener_add log10 mapnew matcharg matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setinterrupt prop_find prop_type_delete py3eval readblob reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcellwidths setenv setpos settagstack sign_define sign_placelist sin soundfold spellsuggest str2float strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_channel test_null_partial test_setmouse timer_info tolower type values wincol win_gettype winlayout winrestcmd winwidth
syn keyword vimFuncName contained add arglistid assert_exception assert_notequal balloon_gettext bufadd bufnr call charidx ch_evalraw ch_open ch_setoptions complete_add cosh delete digraph_getlist escape exists extendnew findfile fnameescape foldtextresult get getcharmod getcmdtype getenv getimstatus getmousepos getregtype gettext getwinvar has_key histget hlset input inputsecret isinf job_info join keys line2byte listener_flush luaeval mapset matchdelete matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prompt_setprompt prop_list prop_type_get pyeval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcharpos setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playevent split str2list strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_dict test_null_string test_settime timer_pause toupper typename virtcol windowsversion win_gotoid winline winrestview wordcount
syn keyword vimFuncName contained and argv assert_fails assert_notmatch balloon_show bufexists bufwinid ceil ch_canread ch_getbufnr ch_read ch_status complete_check count deletebufline digraph_set eval exists_compiled feedkeys flatten fnamemodify foreground getbufinfo getcharpos getcmdwintype getfontname getjumplist getpid gettabinfo getwininfo glob haslocaldir histnr hostname inputdialog insert islocked job_setoptions js_decode len lispindent listener_remove map match matchend matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_add prop_remove prop_type_list pyxeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setcharsearch setline setreg sha256 sign_getplaced sign_unplace slice sound_playfile sqrt str2nr strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_gui_event test_null_function test_option_not_set test_srand_seed timer_start tr undofile visualmode win_execute winheight win_move_separator winsaveview writefile
syn keyword vimFuncName contained append asin assert_false assert_report balloon_split buflisted bufwinnr changenr ch_close ch_getjob ch_readblob cindent complete_info cscope_connection did_filetype digraph_setlist eventhandler exp filereadable flattennew foldclosed fullcommand getbufline getcharsearch getcompletion getfperm getline getpos gettabvar getwinpos glob2regpat hasmapto hlexists iconv inputlist interrupt isnan job_start js_encode libcall list2blob localtime maparg matchadd matchfuzzy max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_getprompt prop_add_list prop_type_add pum_getpos rand readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setcmdpos setloclist settabvar shellescape sign_jump sign_unplacelist sort sound_stop srand strcharlen strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_ignore_error test_null_job test_override test_unknown timer_stop trim undotree wildmenumode win_findbuf win_id2tabwin win_move_statusline win_screenpos xor
syn keyword vimFuncName contained appendbufline assert_beeps assert_inrange assert_true blob2list bufload byte2line char2nr ch_close_in ch_info ch_readraw clearmatches confirm cursor diff_filler echoraw executable expand filewritable float2nr foldclosedend funcref getbufvar getcharstr getcurpos getfsize getloclist getqflist
syn keyword vimFuncName contained abs argc assert_equal assert_match atan browse bufloaded byteidx charclass chdir ch_log ch_sendexpr col copy debugbreak diff_hlID empty execute expandcmd filter floor foldlevel function getchangelist getcmdcompltype getcompletion getfperm getline getpos gettabvar getwinposx has histget hlset input inputsecret isdirectory job_getchannel job_stop json_encode line listener_add log10 maplist matchaddpos matchfuzzypos menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setcallback prop_clear prop_type_change pumvisible range reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setcursorcharpos setmatches settabwinvar shiftwidth sign_place simplify sound_clear spellbadword state strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_blob test_null_list test_refcount test_void timer_stopall trunc uniq winbufnr win_getid win_id2win winnr win_splitmove
syn keyword vimFuncName contained acos argidx assert_equalfile assert_nobeep atan2 browsedir bufname byteidxcomp charcol ch_evalexpr ch_logfile ch_sendraw complete cos deepcopy digraph_get environ exepath extend finddir fmod foldtext garbagecollect getchar getcmdline getcurpos getfsize getloclist getqflist gettabwinvar getwinposy has_key histnr hostname inputdialog insert isinf job_info join keys line2byte listener_flush luaeval mapnew matcharg matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setinterrupt prop_find prop_type_delete py3eval readblob reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcellwidths setenv setpos settagstack sign_define sign_placelist sin soundfold spellsuggest str2float strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_channel test_null_partial test_setmouse timer_info tolower type values wincol win_gettype winlayout winrestcmd winwidth
syn keyword vimFuncName contained add arglistid assert_exception assert_notequal balloon_gettext bufadd bufnr call charidx ch_evalraw ch_open ch_setoptions complete_add cosh delete digraph_getlist escape exists extendnew findfile fnameescape foldtextresult get getcharmod getcmdpos getcursorcharpos getftime getmarklist getreg gettagstack getwinvar haslocaldir hlexists iconv inputlist interrupt islocked job_setoptions js_decode len lispindent listener_remove map mapset matchdelete matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prompt_setprompt prop_list prop_type_get pyeval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcharpos setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playevent split str2list strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_dict test_null_string test_settime timer_pause toupper typename virtcol windowsversion win_gotoid winline winrestview wordcount
syn keyword vimFuncName contained and argv assert_fails assert_notmatch balloon_show bufexists bufwinid ceil ch_canread ch_getbufnr ch_read ch_status complete_check count deletebufline digraph_set eval exists_compiled feedkeys flatten fnamemodify foreground getbufinfo getcharpos getcmdscreenpos getcwd getftype getmatches getreginfo gettext glob hasmapto hlget indent inputrestore invert isnan job_start js_encode libcall list2blob localtime maparg match matchend matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_add prop_remove prop_type_list pyxeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setcharsearch setline setreg sha256 sign_getplaced sign_unplace slice sound_playfile sqrt str2nr strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_gui_event test_null_function test_option_not_set test_srand_seed timer_start tr undofile visualmode win_execute winheight win_move_separator winsaveview writefile
syn keyword vimFuncName contained append asin assert_false assert_report balloon_split buflisted bufwinnr changenr ch_close ch_getjob ch_readblob cindent complete_info cscope_connection did_filetype digraph_setlist eventhandler exp filereadable flattennew foldclosed fullcommand getbufline getcharsearch getcmdtype getenv getimstatus getmousepos getregtype getwininfo glob2regpat histadd hlID index inputsave isabsolutepath items job_status json_decode libcallnr list2str log mapcheck matchadd matchfuzzy max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_getprompt prop_add_list prop_type_add pum_getpos rand readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setcmdpos setloclist settabvar shellescape sign_jump sign_unplacelist sort sound_stop srand strcharlen strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_ignore_error test_null_job test_override test_unknown timer_stop trim undotree wildmenumode win_findbuf win_id2tabwin win_move_statusline win_screenpos xor
syn keyword vimFuncName contained appendbufline assert_beeps assert_inrange assert_true blob2list bufload byte2line char2nr ch_close_in ch_info ch_readraw clearmatches confirm cursor diff_filler echoraw executable expand filewritable float2nr foldclosedend funcref getbufvar getcharstr getcmdwintype getfontname getjumplist getpid gettabinfo getwinpos globpath histdel
"--- syntax here and above generated by mkvimvim ---
" Special Vim Highlighting (not automatic) {{{1

View File

@@ -1,7 +1,9 @@
" Vim syntax file
" Language: Wget configuration file (/etc/wgetrc ~/.wgetrc)
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2013 Jun 1
" Last Change: 2022 Apr 28
" GNU Wget 1.21 built on linux-gnu.
if exists("b:current_syntax")
finish
@@ -18,155 +20,206 @@ syn region wgetString start=+"+ skip=+\\\\\|\\"+ end=+"+ contained oneline
syn region wgetString start=+'+ skip=+\\\\\|\\'+ end=+'+ contained oneline
syn case ignore
syn keyword wgetBoolean on off contained
syn keyword wgetNumber inf contained
syn case match
syn match wgetNumber "\<\%(\d\+\|inf\)\>" contained
syn match wgetQuota "\<\d\+[kKmM]\>" contained
syn match wgetTime "\<\d\+[smhdw]\>" contained
syn keyword wgetBoolean on off yes no contained
syn keyword wgetNumber inf contained
syn match wgetNumber "\<\d\+>" contained
syn match wgetQuota "\<\d\+[kmgt]\>" contained
syn match wgetTime "\<\d\+[smhdw]\>" contained
"{{{ Commands
let s:commands = map([
\ "accept",
\ "add_hostdir",
\ "adjust_extension",
\ "always_rest",
\ "ask_password",
\ "auth_no_challenge",
\ "background",
\ "backup_converted",
\ "backups",
\ "base",
\ "bind_address",
\ "ca_certificate",
\ "ca_directory",
\ "cache",
\ "certificate",
\ "certificate_type",
\ "check_certificate",
\ "connect_timeout",
\ "content_disposition",
\ "continue",
\ "convert_links",
\ "cookies",
\ "cut_dirs",
\ "debug",
\ "default_page",
\ "delete_after",
\ "dns_cache",
\ "dns_timeout",
\ "dir_prefix",
\ "dir_struct",
\ "domains",
\ "dot_bytes",
\ "dots_in_line",
\ "dot_spacing",
\ "dot_style",
\ "egd_file",
\ "exclude_directories",
\ "exclude_domains",
\ "follow_ftp",
\ "follow_tags",
\ "force_html",
\ "ftp_passwd",
\ "ftp_password",
\ "ftp_user",
\ "ftp_proxy",
\ "glob",
\ "header",
\ "html_extension",
\ "htmlify",
\ "http_keep_alive",
\ "http_passwd",
\ "http_password",
\ "http_proxy",
\ "https_proxy",
\ "http_user",
\ "ignore_case",
\ "ignore_length",
\ "ignore_tags",
\ "include_directories",
\ "inet4_only",
\ "inet6_only",
\ "input",
\ "iri",
\ "keep_session_cookies",
\ "kill_longer",
\ "limit_rate",
\ "load_cookies",
\ "locale",
\ "local_encoding",
\ "logfile",
\ "login",
\ "max_redirect",
\ "mirror",
\ "netrc",
\ "no_clobber",
\ "no_parent",
\ "no_proxy",
\ "numtries",
\ "output_document",
\ "page_requisites",
\ "passive_ftp",
\ "passwd",
\ "password",
\ "post_data",
\ "post_file",
\ "prefer_family",
\ "preserve_permissions",
\ "private_key",
\ "private_key_type",
\ "progress",
\ "protocol_directories",
\ "proxy_passwd",
\ "proxy_password",
\ "proxy_user",
\ "quiet",
\ "quota",
\ "random_file",
\ "random_wait",
\ "read_timeout",
\ "reclevel",
\ "recursive",
\ "referer",
\ "reject",
\ "relative_only",
\ "remote_encoding",
\ "remove_listing",
\ "restrict_file_names",
\ "retr_symlinks",
\ "retry_connrefused",
\ "robots",
\ "save_cookies",
\ "save_headers",
\ "secure_protocol",
\ "server_response",
\ "show_all_dns_entries",
\ "simple_host_check",
\ "span_hosts",
\ "spider",
\ "strict_comments",
\ "sslcertfile",
\ "sslcertkey",
\ "timeout",
\ "time_stamping",
\ "use_server_timestamps",
\ "tries",
\ "trust_server_names",
\ "user",
\ "use_proxy",
\ "user_agent",
\ "verbose",
\ "wait",
\ "wait_retry"],
\ "substitute(v:val, '_', '[-_]\\\\=', 'g')")
let s:commands =<< trim EOL
accept
accept_regex
add_host_dir
adjust_extension
always_rest
ask_password
auth_no_challenge
background
backup_converted
backups
base
bind_address
bind_dns_address
body_data
body_file
ca_certificate
ca_directory
cache
certificate
certificate_type
check_certificate
choose_config
ciphers
compression
connect_timeout
content_disposition
content_on_error
continue
convert_file_only
convert_links
cookies
crl_file
cut_dirs
debug
default_page
delete_after
dns_cache
dns_servers
dns_timeout
dir_prefix
dir_struct
domains
dot_bytes
dots_in_line
dot_spacing
dot_style
egd_file
exclude_directories
exclude_domains
follow_ftp
follow_tags
force_html
ftp_passwd
ftp_password
ftp_user
ftp_proxy
ftps_clear_data_connection
ftps_fallback_to_ftp
ftps_implicit
ftps_resume_ssl
hsts
hsts_file
ftp_stmlf
glob
header
html_extension
htmlify
http_keep_alive
http_passwd
http_password
http_proxy
https_proxy
https_only
http_user
if_modified_since
ignore_case
ignore_length
ignore_tags
include_directories
inet4_only
inet6_only
input
input_meta_link
iri
keep_bad_hash
keep_session_cookies
kill_longer
limit_rate
load_cookies
locale
local_encoding
logfile
login
max_redirect
metalink_index
metalink_over_http
method
mirror
netrc
no_clobber
no_config
no_parent
no_proxy
numtries
output_document
page_requisites
passive_ftp
passwd
password
pinned_pubkey
post_data
post_file
prefer_family
preferred_location
preserve_permissions
private_key
private_key_type
progress
protocol_directories
proxy_passwd
proxy_password
proxy_user
quiet
quota
random_file
random_wait
read_timeout
rec_level
recursive
referer
regex_type
reject
rejected_log
reject_regex
relative_only
remote_encoding
remove_listing
report_speed
restrict_file_names
retr_symlinks
retry_connrefused
retry_on_host_error
retry_on_http_error
robots
save_cookies
save_headers
secure_protocol
server_response
show_all_dns_entries
show_progress
simple_host_check
span_hosts
spider
start_pos
strict_comments
sslcertfile
sslcertkey
timeout
timestamping
use_server_timestamps
tries
trust_server_names
unlink
use_askpass
user
use_proxy
user_agent
verbose
wait
wait_retry
warc_cdx
warc_cdx_dedup
warc_compression
warc_digests
warc_file
warc_header
warc_keep_log
warc_max_size
warc_temp_dir
wdebug
xattr
EOL
"}}}
syn case ignore
call map(s:commands, "substitute(v:val, '_', '[-_]\\\\=', 'g')")
for cmd in s:commands
exe 'syn match wgetCommand "' . cmd . '" nextgroup=wgetAssignmentOperator skipwhite contained'
exe 'syn match wgetCommand "\<' . cmd . '\>" nextgroup=wgetAssignmentOperator skipwhite contained'
endfor
syn case match
syn match wgetStart "^" nextgroup=wgetCommand,wgetComment skipwhite
@@ -179,6 +232,7 @@ hi def link wgetComment Comment
hi def link wgetNumber Number
hi def link wgetQuota Number
hi def link wgetString String
hi def link wgetTime Number
hi def link wgetTodo Todo
let b:current_syntax = "wget"

250
runtime/syntax/wget2.vim Normal file
View File

@@ -0,0 +1,250 @@
" Vim syntax file
" Language: Wget2 configuration file (/etc/wget2rc ~/.wget2rc)
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Last Change: 2022 Apr 28
" GNU Wget2 2.0.0 - multithreaded metalink/file/website downloader
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn match wgetComment "#.*$" contains=wgetTodo contained
syn keyword wgetTodo TODO NOTE FIXME XXX contained
syn region wgetString start=+"+ skip=+\\\\\|\\"+ end=+"+ contained oneline
syn region wgetString start=+'+ skip=+\\\\\|\\'+ end=+'+ contained oneline
syn case ignore
syn keyword wgetBoolean on off yes no y n contained
syn keyword wgetNumber infinity inf contained
syn match wgetNumber "\<\d\+>" contained
syn match wgetQuota "\<\d\+[kmgt]\>" contained
syn match wgetTime "\<\d\+[smhd]\>" contained
"{{{ Commands
let s:commands =<< trim EOL
accept
accept-regex
adjust-extension
append-output
ask-password
auth-no-challenge
background
backup-converted
backups
base
bind-address
bind-interface
body-data
body-file
ca-certificate
ca-directory
cache
certificate
certificate-type
check-certificate
check-hostname
chunk-size
clobber
compression
config
connect-timeout
content-disposition
content-on-error
continue
convert-file-only
convert-links
cookie-suffixes
cookies
crl-file
cut-dirs
cut-file-get-vars
cut-url-get-vars
debug
default-http-port
default-https-port
default-page
delete-after
directories
directory-prefix
dns-cache
dns-cache-preload
dns-timeout
domains
download-attr
egd-file
exclude-directories
exclude-domains
execute
filter-mime-type
filter-urls
follow-tags
force-atom
force-css
force-directories
force-html
force-metalink
force-progress
force-rss
force-sitemap
fsync-policy
gnupg-homedir
header
help
host-directories
hpkp
hpkp-file
hsts
hsts-file
hsts-preload
hsts-preload-file
html-extension
http-keep-alive
http-password
http-proxy
http-proxy-password
http-proxy-user
http-user
http2
http2-only
http2-request-window
https-enforce
https-only
https-proxy
hyperlink
if-modified-since
ignore-case
ignore-length
ignore-tags
include-directories
inet4-only
inet6-only
input-encoding
input-file
keep-extension
keep-session-cookies
level
limit-rate
list-plugins
load-cookies
local-db
local-encoding
local-plugin
max-redirect
max-threads
metalink
method
mirror
netrc
netrc-file
ocsp
ocsp-date
ocsp-file
ocsp-nonce
ocsp-server
ocsp-stapling
output-document
output-file
page-requisites
parent
password
plugin
plugin-dirs
plugin-help
plugin-opt
post-data
post-file
prefer-family
private-key
private-key-type
progress
protocol-directories
proxy
quiet
quota
random-file
random-wait
read-timeout
recursive
referer
regex-type
reject
reject-regex
remote-encoding
report-speed
restrict-file-names
retry-connrefused
retry-on-http-error
robots
save-content-on
save-cookies
save-headers
secure-protocol
server-response
signature-extensions
span-hosts
spider
start-pos
stats-dns
stats-ocsp
stats-server
stats-site
stats-tls
strict-comments
tcp-fastopen
timeout
timestamping
tls-false-start
tls-resume
tls-session-file
tries
trust-server-names
unlink
use-askpass
use-server-timestamps
user
user-agent
verbose
verify-save-failed
verify-sig
version
wait
waitretry
xattr
EOL
"}}}
call map(s:commands, "substitute(v:val, '_', '[-_]\\\\=', 'g')")
for cmd in s:commands
exe 'syn match wgetCommand "\<' . cmd . '\>" nextgroup=wgetAssignmentOperator skipwhite contained'
endfor
syn case match
syn match wgetStart "^" nextgroup=wgetCommand,wgetComment skipwhite
syn match wgetAssignmentOperator "=" nextgroup=wgetString,wgetBoolean,wgetNumber,wgetQuota,wgetTime skipwhite contained
hi def link wgetAssignmentOperator Special
hi def link wgetBoolean Boolean
hi def link wgetCommand Identifier
hi def link wgetComment Comment
hi def link wgetNumber Number
hi def link wgetQuota Number
hi def link wgetString String
hi def link wgetTime Number
hi def link wgetTodo Todo
let b:current_syntax = "wget"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8 fdm=marker:

View File

@@ -11,7 +11,7 @@ all: tutor.utf-8 \
tutor.de.utf-8 \
tutor.el tutor.el.cp737 \
tutor.eo \
tutor.es.utf-8 \
tutor.es \
tutor.fr.utf-8 \
tutor.hr tutor.hr.cp1250 \
tutor.hu tutor.hu.cp1250 \
@@ -48,8 +48,8 @@ tutor.el: tutor.el.utf-8
tutor.el.cp737: tutor.el.utf-8
iconv -f UTF-8 -t cp737 tutor.el.utf-8 > tutor.el.cp737
tutor.es.utf-8: tutor.es
iconv -f ISO-8859-1 -t UTF-8 tutor.es > tutor.es.utf-8
tutor.es: tutor.es.utf-8
iconv -f UTF-8 -t ISO-8859-1 tutor.es.utf-8 > tutor.es
tutor.fr.utf-8: tutor.fr
iconv -f ISO-8859-1 -t UTF-8 tutor.fr > tutor.fr.utf-8

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -12,6 +12,7 @@ Name[it]=Vim
Name[ru]=Vim
Name[sr]=Vim
Name[tr]=Vim
Name[uk]=Vim
Name=Vim
# Translators: This is the Generic Application Name used in the Vim desktop file
GenericName[ca]=Editor de text
@@ -25,6 +26,7 @@ GenericName[ja]=テキストエディタ
GenericName[ru]=Текстовый редактор
GenericName[sr]=Едитор текст
GenericName[tr]=Metin Düzenleyici
GenericName[uk]=Редактор Тексту
GenericName=Text Editor
# Translators: This is the comment used in the Vim desktop file
Comment[ca]=Edita fitxers de text
@@ -38,6 +40,7 @@ Comment[ja]=テキストファイルを編集します
Comment[ru]=Редактирование текстовых файлов
Comment[sr]=Уређујте текст фајлове
Comment[tr]=Metin dosyaları düzenleyin
Comment[uk]=Редагувати текстові файли
Comment=Edit text files
# The translations should come from the po file. Leave them here for now, they will
# be overwritten by the po file when generating the desktop.file.
@@ -97,7 +100,6 @@ Comment[sv]=Redigera textfiler
Comment[ta]=உரை கோப்புகளை தொகுக்கவும்
Comment[th]=แก้ไขแฟ้มข้อความ
Comment[tk]=Metin faýllary editle
Comment[uk]=Редактор текстових файлів
Comment[vi]=Soạn thảo tập tin văn bản
Comment[wa]=Asspougnî des fitchîs tecses
Comment[zh_CN]=编辑文本文件
@@ -118,6 +120,7 @@ Keywords[ja]=テキスト;エディタ;
Keywords[ru]=текст;текстовый редактор;
Keywords[sr]=Текст;едитор;
Keywords[tr]=Metin;düzenleyici;
Keywords[uk]=текст;редактор;
Keywords=Text;editor;
# Translators: This is the Icon file name. Do NOT translate
Icon=gvim

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