Compare commits

...

186 Commits

Author SHA1 Message Date
Bram Moolenaar
b1692e2b8f updated for version 7.4.202
Problem:    MS-Windows: non-ASCII font names don't work.
Solution:   Convert between the current code page and 'encoding'. (Ken Takata)
2014-03-12 19:24:37 +01:00
Bram Moolenaar
af6c131bf7 updated for version 7.4.201
Problem:    'lispwords' is a global option.
Solution:   Make 'lispwords' global-local. (Sung Pae)
2014-03-12 18:55:58 +01:00
Bram Moolenaar
24ff9e33a9 updated for version 7.4.200
Problem:    Too many #ifdefs in the code.
Solution:   Enable FEAT_VISUAL always, await any complaints
2014-03-12 17:56:48 +01:00
Bram Moolenaar
27bed20452 updated for version 7.4.199
Problem:    (issue 197) ]P doesn't paste over Visual selection.
Solution:   Handle Visual mode specifically. (Christian Brabandt)
2014-03-12 17:42:04 +01:00
Bram Moolenaar
d8619997c4 updated for version 7.4.198
Problem:    Can't build Vim with Perl when -Dusethreads is not specified for
            building Perl, and building Vim with --enable-perlinterp=dynamic.
Solution:   Adjust #ifdefs. (Yasuhiro Matsumoto)
2014-03-12 17:08:05 +01:00
Bram Moolenaar
206f011829 updated for version 7.4.197
Problem:    Various problems on VMS.
Solution:   Fix several VMS problems. (Zoltan Arpadffy)
2014-03-12 16:51:55 +01:00
Bram Moolenaar
f7dc2b5517 updated for version 7.4.196
Problem:    Tests fail on Solaris 9 and 10.
Solution:   Use "test -f" instead of "test -e".  (Laurent Blume)
2014-03-12 15:50:22 +01:00
Bram Moolenaar
038e5d4766 updated for version 7.4.195
Problem:    Python tests fail.
Solution:   Change "then" to "than" in more places. (Dominique Pelle, Taro
            Muraoka)
2014-03-12 15:26:40 +01:00
Bram Moolenaar
4064e24a0f updated for version 7.4.194
Problem:    Can't build for Android.
Solution:   Add #if condition. (Fredrik Fornwall)
2014-03-12 14:54:34 +01:00
Bram Moolenaar
0858917e43 Updated runtime files. 2014-03-08 18:38:28 +01:00
Bram Moolenaar
4de6a212f9 updated for version 7.4.193
Problem:    Typos in messages.
Solution:   "then" -> "than". (Dominique Pelle)
2014-03-08 16:13:44 +01:00
Bram Moolenaar
47b8342abd updated for version 7.4.192
Problem:    Memory leak when giving E853.
Solution:   Free the argument. (Dominique Pelle)
2014-02-24 03:32:00 +01:00
Bram Moolenaar
251835e14f Update runtime files. Add Euphoria syntax files. 2014-02-24 02:51:51 +01:00
Bram Moolenaar
26df092843 updated for version 7.4.191
Problem:    Escaping a file name for shell commands can't be done without a
            function.
Solution:   Add the :S file name modifier.
2014-02-23 23:39:13 +01:00
Bram Moolenaar
581966e832 updated for version 7.4.190
Problem:    Compiler warning for using %lld for off_t.
Solution:   Add type cast.
2014-02-23 22:58:17 +01:00
Bram Moolenaar
f30caaf08d updated for version 7.4.189
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.
2014-02-23 22:54:58 +01:00
Bram Moolenaar
a2aa31a926 updated for version 7.4.188
Problem:    SIZEOF_LONG clashes with similar defines in header files.
Solution:   Rename to a name starting with VIM_.  Also for SIZEOF_INT.
2014-02-23 22:52:40 +01:00
Bram Moolenaar
7d311c52ce updated for version 7.4.187
Problem:    Delete that crosses line break splits multi-byte character.
Solution:   Advance a character instead of a byte. (Cade Foster)
2014-02-22 23:49:35 +01:00
Bram Moolenaar
b1d90a3d77 updated for version 7.4.186
Problem:    Insert in Visual mode sometimes gives incorrect results.
            (Dominique Pelle)
Solution:   Remember the original insert start position. (Christian Brabandt,
            Dominique Pelle)
2014-02-22 23:03:55 +01:00
Bram Moolenaar
631abc35df updated for version 7.4.185
Problem:    Clang gives warnings.
Solution:   Adjust how bigness is set. (Dominique Pelle)
2014-02-22 22:27:47 +01:00
Bram Moolenaar
9feaf6206f updated for version 7.4.184
Problem:    match() does not work properly with a {count} argument.
Solution:   Compute the length once and update it.  Quit the loop when at the
            end. (Hirohito Higashi)
2014-02-22 22:18:47 +01:00
Bram Moolenaar
c86438205b updated for version 7.4.183
Problem:    MSVC Visual Studio update not supported.
Solution:   Add version number. (Mike William)
2014-02-15 19:47:51 +01:00
Bram Moolenaar
45e2bcc275 updated for version 7.4.182
Problem:    Building with mzscheme and racket does not work. (David Chimay)
Solution:   Adjust autoconf. (Sergey Khorev)
2014-02-15 17:19:00 +01:00
Bram Moolenaar
06811f33ce updated for version 7.4.181
Problem:    When using 'pastetoggle' the status lines are not updated. (Samuel
            Ferencik, Jan Christoph Ebersbach)
Solution:   Update the status lines. (Nobuhiro Takasaki)
2014-02-15 16:17:07 +01:00
Bram Moolenaar
403b3cf0a1 updated for version 7.4.180
Problem:    Older Python versions don't support %ld.
Solution:   Use %d instead. (ZyX)
2014-02-15 15:59:03 +01:00
Bram Moolenaar
0e4eebd425 updated for version 7.4.179
Problem:    Warning for type-punned pointer. (Tony Mechelynck)
Solution:   Use intermediate variable.
2014-02-12 22:08:49 +01:00
Bram Moolenaar
f92d8a254a updated for version 7.4.178
Problem:    The J command does not update '[ and '] marks. (William Gardner)
Solution:   Set the marks. (Christian Brabandt)
2014-02-11 19:33:07 +01:00
Bram Moolenaar
92dff1827a Update runtime files. Add support for systemverilog. 2014-02-11 19:15:50 +01:00
Bram Moolenaar
b8e2305656 updated for version 7.4.177
Problem:    Compiler warning for unused variable. (Tony Mechelynck)
Solution:   Add #ifdef.
2014-02-11 18:58:09 +01:00
Bram Moolenaar
2d5f38ff10 updated for version 7.4.176
Problem:    Dictionary.update() thows an error when used without arguments.
            Python programmers don't expect that.
Solution:   Make Dictionary.update() without arguments do nothing. (ZyX)
2014-02-11 18:47:27 +01:00
Bram Moolenaar
cd981f2e0f updated for version 7.4.175
Problem:    When a wide library function fails, falling back to the non-wide
            function may do the wrong thing.
Solution:   Check the platform, when the wide function is supported don't fall
            back to the non-wide function. (Ken Takata)
2014-02-11 17:06:00 +01:00
Bram Moolenaar
3b5226121d updated for version 7.4.174
Problem:    Compiler warnings for Python interface. (Tony Mechelynck)
Solution:   Add type casts, initialize variable.
2014-02-11 16:00:35 +01:00
Bram Moolenaar
12a0f22340 updated for version 7.4.173
Problem:    When using scrollbind the cursor can end up below the last line.
            (mvxxc)
Solution:   Reset w_botfill when scrolling up. (Christian Brabandt)
2014-02-11 15:47:46 +01:00
Bram Moolenaar
4d504a3e11 updated for version 7.4.172
Problem:    The blowfish code mentions output feedback, but the code is
            actually doing cipher feedback.
Solution:   Adjust names and comments.
2014-02-11 15:23:32 +01:00
Bram Moolenaar
0a36fece92 updated for version 7.4.171
Problem:    Redo does not set v:count and v:count1.
Solution:   Use a separate buffer for redo, so that we can set the counts when
            performing redo.
2014-02-11 15:10:43 +01:00
Bram Moolenaar
c467d9b274 updated for version 7.4.170
Problem:    Some help tags don't work with ":help". (Tim Chase)
Solution:   Add exceptions.
2014-02-11 12:15:43 +01:00
Bram Moolenaar
10395d8d6c updated for version 7.4.169
Problem:    ":sleep" puts cursor in the wrong column. (Liang Li)
Solution:   Add the window offset. (Christian Brabandt)
2014-02-05 22:46:52 +01:00
Bram Moolenaar
a1a118b159 updated for version 7.4.168
Problem:    Can't compile with Ruby 2.1.0.
Solution:   Add support for new GC. (Kohei Suzuki)
2014-02-05 22:41:15 +01:00
Bram Moolenaar
4f943c09a5 updated for version 7.4.167
Problem:    Fixes are not tested.
Solution:   Add a test for not autoloading on assignment. (Yukihiro Nakadaira)
2014-02-05 22:26:05 +01:00
Bram Moolenaar
f31ecce97e updated for version 7.4.166
Problem:    Auto-loading a function for code that won't be executed.
Solution:   Do not auto-load when evaluation is off. (Yasuhiro Matsumoto)
2014-02-05 22:13:05 +01:00
Bram Moolenaar
767568846b updated for version 7.4.165
Problem:    By default, after closing a buffer changes can't be undone.
Solution:   In the example vimrc file set 'undofile'.
2014-02-05 22:02:01 +01:00
Bram Moolenaar
dd415a6c5a updated for version 7.4.164
Problem:    Problem with event handling on Windows 8.
Solution:   Ignore duplicate WINDOW_BUFFER_SIZE_EVENTs. (Nobuhiro Takasaki)
2014-02-05 14:02:27 +01:00
Bram Moolenaar
f50eb7882e updated for version 7.4.163
Problem:    MS-Windows input doesn't work properly on Windows 7 and earlier.
Solution:   Add a check for Windows 8. (Yasuhiro Matsumoto)
2014-02-05 13:36:54 +01:00
Bram Moolenaar
09edc46d01 updated for version 7.4.162
Problem:    Running tests in shadow dir doesn't work.
Solution:   Add testdir/sautest to the shadow target. (James McCoy)
2014-02-05 12:36:42 +01:00
Bram Moolenaar
4315f26500 updated for version 7.4.161
Problem:    Crash in Python exception handling.
Solution:   Only use exception variables if did_throw is set. (ZyX)
2014-01-31 14:54:04 +01:00
Bram Moolenaar
fcc3f46735 updated for version 7.4.160
Problem:    Win32: Crash when executing external command.
Solution:   Only close the handle when it was created. (Yasuhiro Matsumoto)
2014-01-24 19:55:37 +01:00
Bram Moolenaar
361aa50547 updated for version 7.4.159
Problem:    Completion hangs when scanning the current buffer after doing
            keywords. (Christian Brabandt)
Solution:   Set the first match position when starting to scan the current
            buffer.
2014-01-23 22:45:58 +01:00
Bram Moolenaar
8af269186c updated for version 7.4.158
Problem:    Pattern containing \zs is not handled correctly by substitute().
Solution:   Change how an empty match is skipped. (Yukihiro Nakadaira)
2014-01-23 20:09:34 +01:00
Bram Moolenaar
b4d587cbd9 updated for version 7.4.157
Problem:    Error number used twice. (Yukihiro Nakadaira)
Solution:   Change the one not referred in the docs.
2014-01-23 18:12:49 +01:00
Bram Moolenaar
4a36bcf0d8 updated for version 7.4.156
Problem:    Test file missing from distribution.
Solution:   Add new directory to file list.
2014-01-23 14:26:24 +01:00
Bram Moolenaar
8d04317104 Updated runtime files. 2014-01-23 14:24:41 +01:00
Bram Moolenaar
ac8400d483 updated for version 7.4.155
Problem:    ":keeppatterns /pat" does not keep search pattern offset.
Solution:   Restore the offset after doing the search.
2014-01-14 21:31:34 +01:00
Bram Moolenaar
8822a9c367 updated for version 7.4.154
Problem:    Still a problem with auto-loading.
Solution:   Pass no_autoload to deref_func_name(). (Yukihiro Nakadaira)
2014-01-14 19:44:34 +01:00
Bram Moolenaar
5395e7afe9 updated for version 7.4.153
Problem:    Compiler warning for pointer type.
Solution:   Add type cast.
2014-01-14 19:35:56 +01:00
Bram Moolenaar
1028f4d75e updated for version 7.4.152
Problem:    Python: Cannot iterate over options.
Solution:   Add options iterator. (ZyX)
2014-01-14 16:55:00 +01:00
Bram Moolenaar
063a46ba77 updated for version 7.4.151
Problem:    Python: slices with steps are not supported.
Solution:   Support slices in Python vim.List. (ZyX)
2014-01-14 16:36:51 +01:00
Bram Moolenaar
14177b77bf updated for version 7.4.150
Problem:    :keeppatterns is not respected for :s.
Solution:   Check the keeppatterns flag. (Yasuhiro Matsumoto)
2014-01-14 15:53:51 +01:00
Bram Moolenaar
6d977d6c1c updated for version 7.4.149
Problem:    Get E685 error when assigning a function to an autoload variable.
            (Yukihiro Nakadaira)
Solution:   Instead of having a global no_autoload variable, pass an autoload
            flag down to where it is used. (ZyX)
2014-01-14 15:24:39 +01:00
Bram Moolenaar
ca058dc71f updated for version 7.4.148
Problem:    Cannot build with Cygwin and X11.
Solution:   Include Xwindows.h instead of windows.h. (Lech Lorens)
2014-01-14 13:26:21 +01:00
Bram Moolenaar
6cd3aeee4c updated for version 7.4.147
Problem:    Cursor moves to wrong position when using "gj" after "$" and
            virtual editing is active.
Solution:   Make "gj" behave differently when virtual editing is active.
            (Hirohito Higashi)
2014-01-14 13:18:58 +01:00
Bram Moolenaar
2cd3696c35 updated for version 7.4.146
Problem:    When starting Vim with "-u NONE" v:oldfiles is NULL.
Solution:   Set v:oldfiles to an empty list. (Yasuhiro Matsumoto)
2014-01-14 12:57:05 +01:00
Bram Moolenaar
32b9201f37 updated for version 7.4.145
Problem:    getregtype() does not return zero for unknown register.
Solution:   Adjust documention: return empty string for unknown register.
            Check the register name to be valid. (Yukihiro Nakadaira)
2014-01-14 12:33:36 +01:00
Bram Moolenaar
9d1685d1cf updated for version 7.4.144
Problem:    MingW also supports intptr_t for OPEN_OH_ARGTYPE.
Solution:   Adjust #ifdef. (Ken Takata)
2014-01-14 12:18:45 +01:00
Bram Moolenaar
e21b6b2a8d updated for version 7.4.143
Problem:    TextChangedI is not triggered.
Solution:   Reverse check for "ready". (lilydjwg)
2014-01-14 12:17:02 +01:00
Bram Moolenaar
b0d5c96133 updated for version 7.4.142
Problem:    On MS-Windows 8 IME input doen't work correctly.
Solution:   Work around the problem. (Nobuhiro Takasaki)
2014-01-12 13:24:51 +01:00
Bram Moolenaar
78cf3f0de9 updated for version 7.4.141
Problem:    Problems when building with Borland: st_mode is signed short;
            can't build with Python; temp files not ignored by Mercurial;
            building with DEBUG doesn't define _DEBUG.
Solution:   Fix the problems. (Ken Takata)
2014-01-10 18:16:07 +01:00
Bram Moolenaar
a02471e295 updated for version 7.4.140
Problem:    Crash when wiping out buffer triggers autocommand that wipes out
            only other buffer.
Solution:   Do not delete the last buffer, make it empty. (Hirohito Higashi)
2014-01-10 16:43:14 +01:00
Bram Moolenaar
bd2dc34774 updated for version 7.4.139
Problem:    Crash when using :cd in autocommand. (François Ingelrest)
Solution:   Set w_localdir to NULL after freeing it. (Dominique Pelle)
2014-01-10 15:53:13 +01:00
Bram Moolenaar
4ea924e0a5 updated for version 7.4.138
Problem:    Directory change messages are not recognized.
Solution:   Fix using a character range literally. (Lech Lorens)
2014-01-10 15:32:21 +01:00
Bram Moolenaar
3a69e1135e updated for version 7.4.137
Problem:    Cannot use IME with Windows 8 console.
Solution:   Change the user of ReadConsoleInput() and PeekConsoleInput().
            (Yasuhiro Matsumoto)
2014-01-10 13:51:42 +01:00
Bram Moolenaar
b1cb35f785 updated for version 7.4.136
Problem:    MS-Windows: When saving a file with a UNC path the file becomes
            read-only.
Solution:   Don't mix up Win32 attributes and Unix attributes. (Ken Takata)
2014-01-10 13:05:20 +01:00
Bram Moolenaar
438f67a004 Updated runtime files. 2014-01-07 06:09:28 +01:00
Bram Moolenaar
2fda301469 updated for version 7.4.135
Problem:    Missing dot in MingW test Makefile.
Solution:   Add the dot. (Michael Soyka)
2014-01-06 15:51:55 +01:00
Bram Moolenaar
5ec8305ea8 updated for version 7.4.134
Problem:    Spurious space in MingW Makefile.
Solution:   Remove the space. (Michael Soyka)
2014-01-06 15:45:10 +01:00
Bram Moolenaar
5f4c8406a2 updated for version 7.4.133
Problem:    Clang warns for using NUL.
Solution:   Change NUL to NULL. (Dominique Pelle)
2014-01-06 06:19:11 +01:00
Bram Moolenaar
3f1138e8ae updated for version 7.4.132
Problem:    Win32: flags and inherit_handles arguments mixed up.
Solution:   Swap the argument. (cs86661)
2014-01-05 13:29:26 +01:00
Bram Moolenaar
4b550b4c50 Runtime file updates. 2013-12-15 10:02:33 +01:00
Bram Moolenaar
dedd1b0aba updated for version 7.4.131
Problem:    Syncbind causes E315 errors in some situations. (Liang Li)
Solution:   Set and restore curbuf in ex_syncbind(). (Christian Brabandt)
2013-12-14 13:06:17 +01:00
Bram Moolenaar
0bd7b3f4ce updated for version 7.4.130
Problem:    Relative line numbers mix up windows when using folds.
Solution:   Use hasFoldingWin() instead of hasFolding(). (Lech Lorens)
2013-12-14 12:48:58 +01:00
Bram Moolenaar
959a143f2e updated for version 7.4.129
Problem:    getline(-1) returns zero. (mvxxc)
Solution:   Return an empty string.
2013-12-14 12:17:38 +01:00
Bram Moolenaar
207fd75cac updated for version 7.4.128
Problem:    Perl 5.18 for MSVC doesn't work.
Solution:   Add check in makefile and define __inline. (Ken Takata)
2013-12-14 11:50:35 +01:00
Bram Moolenaar
7c0daf088e updated for version 7.4.127
Problem:    Perl 5.18 on Unix doesn't work.
Solution:   Move workaround to after including vim.h. (Ken Takata)
2013-12-14 11:46:08 +01:00
Bram Moolenaar
36c85b2c46 updated for version 7.4.126
Problem:    Compiler warnings for "const" and incompatible types.
Solution:   Remove "const", add type cast. (Ken Takata)
2013-12-12 20:25:44 +01:00
Bram Moolenaar
dfb18411cf Updated runtime files. 2013-12-11 18:53:29 +01:00
Bram Moolenaar
175d0704df updated for version 7.4.125
Problem:    Win32: Dealing with messages may not work for multi-byte chars.
Solution:   Use pDispatchMessage(). (Ken Takata)
2013-12-11 18:36:33 +01:00
Bram Moolenaar
2cc8738f2f updated for version 7.4.124
Problem:    Win32: Getting host name does not use wide function.
Solution:   Use GetComputerNameW() if possible. (Ken Takata)
2013-12-11 18:21:45 +01:00
Bram Moolenaar
c8020ee825 updated for version 7.4.123
Problem:    Win32: Getting user name does not use wide function.
Solution:   Use GetUserNameW() if possible. (Ken Takata)
2013-12-11 18:18:06 +01:00
Bram Moolenaar
910cffbb5e updated for version 7.4.122
Problem:    Win32: When 'encoding' is set to "utf-8" and the active codepage
            is cp932 then ":grep" and other commands don't work for multi-byte
            characters.
Solution:   (Yasuhiro Matsumoto)
2013-12-11 17:58:35 +01:00
Bram Moolenaar
893b2d73d1 updated for version 7.4.121
Problem:    Completion doesn't work for ":py3d" and ":py3f". (Bohr Shaw)
Solution:   Skip over letters after ":py3".
2013-12-11 17:44:38 +01:00
Bram Moolenaar
fcf94d3990 updated for version 7.4.120
Problem:    Can't build with Perl 5.18 on Linux. (Lcd 47)
Solution:   Add #ifdef. (Ken Takata)
2013-12-11 17:20:19 +01:00
Bram Moolenaar
4ffa07081f updated for version 7.4.119
Problem:    Vim doesn't work well on OpenVMS.
Solution:   Fix various problems. (Samuel Ferencik)
2013-12-11 17:12:37 +01:00
Bram Moolenaar
1d633413e5 updated for version 7.4.118
Problem:    It's possible that redrawing the status lines causes
            win_redr_custom() to be called recursively.
Solution:   Protect against recursiveness. (Yasuhiro Matsumoto)
2013-12-11 15:52:01 +01:00
Bram Moolenaar
6b10721fa2 updated for version 7.4.117
Problem:    Can't build with Cygwin/MingW and Perl 5.18.
Solution:   Add a linker argument for the Perl library. (Cesar Romani)
            Adjust CFLAGS and LIB. (Cesar Romani)
            Move including inline.h further down. (Ken Takata)
2013-12-11 15:06:40 +01:00
Bram Moolenaar
7ba0741451 updated for version 7.4.116
Problem:    When a mapping starts with a space, the typed space does not show
            up for 'showcmd'.
Solution:   Show "<20>". (Brook Hong)
2013-12-11 14:55:01 +01:00
Bram Moolenaar
b011af9696 updated for version 7.4.115
Problem:    When using Zsh expanding ~abc doesn't work when the result
            contains a space.
Solution:   Off-by-one error in detecting the NUL. (Pavol Juhas)
2013-12-11 13:21:51 +01:00
Bram Moolenaar
5d7f9df8fa updated for version 7.4.114
Problem:    New GNU make outputs messages about changing directory in another
            format.
Solution:   Recognize the new format.
2013-12-11 12:22:58 +01:00
Bram Moolenaar
73c61633b6 updated for version 7.4.113
Problem:    MSVC static analysis gives warnings.
Solution:   Avoid the warnings and avoid possible bugs. (Ken Takata)
2013-12-07 14:48:10 +01:00
Bram Moolenaar
b050c64186 updated for version 7.4.112
Problem:    The defaults for 'directory' and 'backupdir' on MS-Windows do not
            include a directory that exists.
Solution:   Use $TEMP.
2013-12-07 14:32:09 +01:00
Bram Moolenaar
c2401d62e0 updated for version 7.4.111
Problem:    Memory leak in Python OptionsAssItem. (Ken Takata)
Solution:   Call Py_XDECREF() where needed. (ZyX)
2013-12-07 14:28:43 +01:00
Bram Moolenaar
ba2d44f338 updated for version 7.4.110
Problem:    "gUgn" cannot be repeeated. (Dimitar Dimitrov)
Solution:   Don't put "gn" in a different order in the redo buffer.  Restore
            'wrapscan' when the pattern isn't found. (Christian Wellenbrock)
2013-11-28 19:27:30 +01:00
Bram Moolenaar
b95186fd36 updated for version 7.4.109
Problem:    ColorScheme autocommand matches with the current buffer name.
Solution:   Match with the colorscheme name. (Christian Brabandt)
2013-11-28 18:53:52 +01:00
Bram Moolenaar
34b466edfe updated for version 7.4.108
Problem:    "zG" and "zW" leave temp files around on MS-Windows.
Solution:   Delete the temp files when exiting. (Ken Takata)
2013-11-28 17:41:46 +01:00
Bram Moolenaar
9fee7d4729 updated for version 7.4.107
Problem:    Python: When vim.eval() encounters a Vim error, a try/catch in the
            Python code doesn't catch it. (Yggdroot Chen)
Solution:   Throw exceptions on errors in vim.eval(). (ZyX)
2013-11-28 17:04:43 +01:00
Bram Moolenaar
e88a5f3a2c updated for version 7.4.106
Problem:    Can't build with Ruby using Cygwin.
Solution:   Fix library name in makefile. (Steve Hall)
2013-11-28 16:32:38 +01:00
Bram Moolenaar
dff54ac7e8 updated for version 7.4.105
Problem:    Completing a tag pattern may give an error for invalid pattern.
Solution:   Suppress the error, just return no matches.
2013-11-28 14:36:33 +01:00
Bram Moolenaar
174a848b67 updated for version 7.4.104
Problem:    ":help s/\_" reports an internal error. (John Beckett)
Solution:   Check for NUL and invalid character classes.
2013-11-28 14:20:17 +01:00
Bram Moolenaar
3678208477 Updated runtime files. 2013-11-28 13:53:34 +01:00
Bram Moolenaar
c62a644eaf updated for version 7.4.103
Problem:    Dos installer uses an old way to escape spaces in the diff
            command.
Solution:   Adjust the quoting to the new default shellxquote. (Ben Fritz)
2013-11-21 18:13:37 +01:00
Bram Moolenaar
ace8d8ee2f updated for version 7.4.102
Problem:    Crash when interrupting "z=".
Solution:   Add safety check for word length. (Christian Brabandt, Dominique
            Pelle)
2013-11-21 17:42:31 +01:00
Bram Moolenaar
438ee5bf60 updated for version 7.4.101
Problem:    Using \1 in pattern goes one line too far. (Bohr Shaw, John Little)
Solution:   Only advance the match end for the matched characters in the last
            line.
2013-11-21 17:13:00 +01:00
Bram Moolenaar
272fb58236 updated for version 7.4.100
Problem:    NFA regexp doesn't handle backreference correctly. (Ryuichi
            Hayashida, Urtica Dioica)
Solution:   Always add NFA_SKIP, also when it already exists at the start
            position.
2013-11-21 16:03:40 +01:00
Bram Moolenaar
cafaa8a950 updated for version 7.4.099
Problem:    Append in blockwise Visual mode with "$" is wrong.
Solution:   After "$" don't use the code that checks if the cursor was moved.
            (Hirohito Higashi, Ken Takata)
2013-11-21 14:40:04 +01:00
Bram Moolenaar
d07c6e1e82 updated for version 7.4.098
Problem:    When using ":'<,'>del" errors may be given for the visual line
            numbers being out of range.
Solution:   Reset Visual mode in ":del". (Lech Lorens)
2013-11-21 14:21:40 +01:00
Bram Moolenaar
1e42f7ac16 updated for version 7.4.097
Problem:    Unexpected behavior change related to 'virtualedit'. (Ingo Karkat)
Solution:   Update the valid cursor position. (Christian Brabandt)
2013-11-21 13:24:41 +01:00
Bram Moolenaar
ffa2220950 updated for version 7.4.096
Problem:    Can't change directory to an UNC path.
Solution:   Use win32_getattrs() in mch_getperm(). (Christian Brabandt)
2013-11-21 12:34:11 +01:00
Bram Moolenaar
49b10273f0 updated for version 7.4.095
Problem:    Regexp for LuaJIT version doesn't work on BSD.
Solution:   Use "*" instead of "\+" and "\?". (Ozaki)
2013-11-21 12:17:51 +01:00
Bram Moolenaar
49b6a57d19 updated for version 7.4.094
Problem:    Configure may not find that -lint is needed for gettext().
Solution:   Check for gettext() with empty $LIBS.  (Thomas De Schampheleire)
2013-11-17 20:32:54 +01:00
Bram Moolenaar
9421bdc2cd updated for version 7.4.093
Problem:    Configure can't use LuaJIT on ubuntu 12.04.
Solution:   Adjust the configure regexp that locates the version number.
            (Charles Strahan)
2013-11-17 20:17:12 +01:00
Bram Moolenaar
4b60a6cdb3 Update runtime files. 2013-11-14 05:48:46 +01:00
Bram Moolenaar
2593e037c9 updated for version 7.4.092
Problem:    Can't build small version.
Solution:   Add #ifdef where the b_cjk flag is used. (Ken Takata)
2013-11-14 03:54:07 +01:00
Bram Moolenaar
e874744e94 updated for version 7.4.091
Problem:    Missing semicolon.
Solution:   Add the semicolon.
2013-11-12 18:09:29 +01:00
Bram Moolenaar
8f5610df73 updated for version 7.4.090
Problem:    Win32: When a directory name contains an exclamation mark,
            completion doesn't complete the contents of the directory.
Solution:   Escape the exclamation mark. (Jan Stocker)
2013-11-12 05:28:26 +01:00
Bram Moolenaar
0671de335f updated for version 7.4.089
Problem:    When editing a file in a directory mounted through sshfs Vim
            doesn't set the security context on a renamed file.
Solution:   Add mch_copy_sec() to vim_rename(). (Peter Backes)
2013-11-12 05:12:03 +01:00
Bram Moolenaar
cc63c647ee updated for version 7.4.088
Problem:    When spell checking is enabled Asian characters are always marked
            as error.
Solution:   When 'spelllang' contains "cjk" do not mark Asian characters as
            error. (Ken Takata)
2013-11-12 04:44:01 +01:00
Bram Moolenaar
efe06f4dd8 updated for version 7.4.087
Problem:    Compiler warning on 64 bit Windows systems.
Solution:   Fix type cast. (Mike Williams)
2013-11-11 23:17:39 +01:00
Bram Moolenaar
0f8de8dfb2 updated for version 7.4.086
Problem:    Skipping over an expression when not evaluating it does not work
            properly for dict members.
Solution:   Skip over unrecognized expression. (ZyX)
2013-11-11 04:25:53 +01:00
Bram Moolenaar
3f75e422be updated for version 7.4.085
Problem:    When inserting text in Visual block mode and moving the cursor the
            wrong text gets repeated in other lines.
Solution:   Use the '[ mark to find the start of the actually inserted text.
            (Christian Brabandt)
2013-11-11 01:29:22 +01:00
Bram Moolenaar
d6b8a5253b updated for version 7.4.084
Problem:    Python: interrupt not being properly discarded. (Yggdroot Chen)
Solution:   Discard interrupt in VimTryEnd. (ZyX)
2013-11-11 01:05:48 +01:00
Bram Moolenaar
a939e43440 updated for version 7.4.083
Problem:    It's hard to avoid adding a used pattern to the search history.
Solution:   Add the ":keeppatterns" modifier. (Christian Brabandt)
2013-11-09 05:30:26 +01:00
Bram Moolenaar
8e69b4a319 Updated runtime files. 2013-11-09 03:41:58 +01:00
Bram Moolenaar
45d3b1454c updated for version 7.4.082
Problem:    Using "gf" in a changed buffer suggests adding "!", which is not
            possible. (Tim Chase)
Solution:   Pass a flag to check_changed() wether adding ! make sense.
2013-11-09 03:31:51 +01:00
Bram Moolenaar
815135e408 updated for version 7.4.081
Problem:    Wrong logic when ANALYZE is "yes".
Solution:   Use or instead of and. (KF Leong)
2013-11-09 02:32:18 +01:00
Bram Moolenaar
817a8801d7 updated for version 7.4.080
Problem:    Missing documentation for v:hlsearch.
Solution:   Include the right file in the patch.
2013-11-09 01:44:43 +01:00
Bram Moolenaar
8050efa07d updated for version 7.4.079
Problem:    A script cannot detect whether 'hlsearch' highlighting is actually
            displayed.
Solution:   Add the "v:hlsearch" variable. (ZyX)
2013-11-08 04:30:20 +01:00
Bram Moolenaar
e5878f4be9 updated for version 7.4.078
Problem:    MSVC 2013 is not supported.
Solution:   Recognize and support MSVC 2013. (Ed Brown)
2013-11-08 03:15:47 +01:00
Bram Moolenaar
03e228a623 updated for version 7.4.077
Problem:    DOS installer creates shortcut without a path, resulting in the
            current directory to be C:\Windows\system32.
Solution:   Use environment variables.
2013-11-07 04:49:27 +01:00
Bram Moolenaar
fcea03ddd3 updated for version 7.4.076
Problem:    "cgn" does not wrap around the end of the file. (Dimitrov
            Dimitrov)
Solution:   Restore 'wrapscan' earlier. (Christian Brabandt)
2013-11-07 04:46:48 +01:00
Bram Moolenaar
c1c023ecfc updated for version 7.4.075
Problem:    Locally setting 'undolevels' is not tested.
Solution:   Add a test. (Christian Brabandt)
2013-11-07 03:26:06 +01:00
Bram Moolenaar
aa88732efd updated for version 7.4.074
Problem:    When undo'ing all changes and creating a new change the undo
            structure is incorrect. (Christian Brabandt)
Solution:   When deleting the branch starting at the old header, delete the
            whole branch, not just the first entry.
2013-11-07 03:04:11 +01:00
Bram Moolenaar
f5a2fd880a updated for version 7.4.073
Problem:    Setting undolevels for one buffer changes undo in another.
Solution:   Make 'undolevels' a global-local option. (Christian Brabandt)
2013-11-06 05:26:15 +01:00
Bram Moolenaar
4c1e626103 updated for version 7.4.072
Problem:    Crash when using Insert mode completion.
Solution:   Avoid going past the end of pum_array. (idea by Fransisco Lopes)
2013-11-06 04:04:33 +01:00
Bram Moolenaar
84dbb62fca updated for version 7.4.071
Problem:    Passing limits around too often.
Solution:   Use limits from buffer.
2013-11-06 04:01:36 +01:00
Bram Moolenaar
dce7c91de9 updated for version 7.4.070
Problem:    Can't compile with tiny features. (Tony Mechelynck)
Solution:   Add #ifdef.
2013-11-05 17:40:52 +01:00
Bram Moolenaar
6bcbcc59be updated for version 7.4.069
Problem:    Cannot right shift lines starting with #.
Solution:   Allow the right shift when 'cino' contains #N with N > 0.
            (Christian Brabandt)
            Refactor parsing 'cino', store the values in the buffer.
2013-11-05 07:13:41 +01:00
Bram Moolenaar
0958e0fbe7 updated for version 7.4.068
Problem:    Cannot build Vim on Mac with non-Apple compilers.
Solution:   Remove the -no-cpp-precomp flag. (Misty De Meo)
2013-11-04 04:57:50 +01:00
Bram Moolenaar
f332a656c3 updated for version 7.4.067
Problem:    After inserting comment leader, CTRL-\ CTRL-O does move the
            cursor. (Wiktor Ruben)
Solution:   Avoid moving the cursor. (Christian Brabandt)
2013-11-04 04:20:33 +01:00
Bram Moolenaar
69c3500f96 updated for version 7.4.066
Problem:    MS-Windows: When there is a colon in the file name (sub-stream
            feature) the swap file name is wrong.
Solution:   Change the colon to "%". (Yasuhiro Matsumoto)
2013-11-04 02:54:12 +01:00
Bram Moolenaar
332a2cadcd updated for version 7.4.065
Problem:    When recording, the character typed at the hit-enter prompt is
            recorded twice. (Urtica Dioica)
Solution:   Avoid recording the character twice. (Christian Brabandt)
2013-11-04 02:01:01 +01:00
Bram Moolenaar
d9820538bd updated for version 7.4.064
Problem:    When replacing a character in Visual block mode, entering a CR
            does not cause a repeated line break.
Solution:   Recognize the situation and repeat the line break. (Christian
            Brabandt)
2013-11-04 01:41:17 +01:00
Bram Moolenaar
ba2d7ffc4b updated for version 7.4.063
Problem:    Crash when using invalid key in Python dictionary.
Solution:   Check for object to be NULL.  Add tests. (ZyX)
2013-11-04 00:34:53 +01:00
Bram Moolenaar
d5d015d457 Update runtime files. 2013-11-03 21:14:31 +01:00
Bram Moolenaar
18e5469b6e updated for version 7.4.062
Problem:    Configure check for AvailabilityMacros.h is wrong.
Solution:   Use AC_CHECK_HEADERS().
2013-11-03 20:26:31 +01:00
Bram Moolenaar
39766a7595 updated for version 7.4.061
Problem:    Availability macros configure check in wrong place.
Solution:   Also check when not using Darwin. Remove version check.
2013-11-03 00:41:00 +01:00
Bram Moolenaar
0b400087d0 updated for version 7.4.060
Problem:    Declaration has wrong return type for PyObject_SetAttrString().
Solution:   Use int instead of PyObject. (Andreas Schwab)
2013-11-03 00:28:25 +01:00
Bram Moolenaar
9db1293317 updated for version 7.4.059
Problem:    set_last_cursor() may encounter w_buffer being NULL.  (Matt
            Mkaniaris)
Solution:   Check for NULL.
2013-11-03 00:20:52 +01:00
Bram Moolenaar
92c2db8be6 updated for version 7.4.058
Problem:    Warnings on 64 bit Windows.
Solution:   Add type casts. (Mike Williams)
2013-11-02 23:59:35 +01:00
Bram Moolenaar
0ffbbf9ea8 updated for version 7.4.057
Problem:    byteidx() does not work for composing characters.
Solution:   Add byteidxcomp().
2013-11-02 23:29:26 +01:00
Bram Moolenaar
4cc95d1495 updated for version 7.4.056
Problem:    Mac: Compilation problem with OS X 10.9 Mavericks.
Solution:   Include AvailabilityMacros.h when available. (Kazunobu Kuriyama)
2013-11-02 21:49:32 +01:00
Bram Moolenaar
2b1b53f5d9 updated for version 7.4.055
Problem:    Mac: Where availability macros are defined depends on the system.
Solution:   Add a configure check. (Felix Bünemann)
2013-11-02 21:04:38 +01:00
Bram Moolenaar
1180822670 updated for version 7.4.054
Problem:    Reading past end of the 'stl' string.
Solution:   Don't increment pointer when already at the NUL. (Christian
            Brabandt)
2013-11-02 04:39:38 +01:00
Bram Moolenaar
b69a714bb7 updated for version 7.4.053
Problem:    Test75 has a wrong header. (ZyX)
Solution:   Fix the text and remove leading ".
2013-11-02 04:19:34 +01:00
Bram Moolenaar
2c019c8696 updated for version 7.4.052
Problem:    With 'fo' set to "a2" inserting a space in the first column may
            cause the cursor to jump to the previous line.
Solution:   Handle the case when there is no comment leader properly. (Tor
            Perkins)  Also fix that cursor is in the wrong place when spaces
            get replaced with a Tab.
2013-10-06 17:46:56 +02:00
Bram Moolenaar
a951e35478 updated for version 7.4.051
Problem:    Syntax highlighting a Yaml file causes a crash. (Blake Preston)
Solution:   Copy the pim structure before calling addstate() to avoid it
            becoming invalide when the state list is reallocated.
2013-10-06 15:46:11 +02:00
Bram Moolenaar
b133208080 Runtime file updates. 2013-10-06 14:22:40 +02:00
Bram Moolenaar
4c7cb6b884 updated for version 7.4.050
Problem:    "gn" selects too much for the pattern "\d" when there are two
            lines with a single digit. (Ryan Carney)
Solution:   Adjust the logic of is_one_char(). (Christian Brabandt)
2013-10-02 21:55:02 +02:00
Bram Moolenaar
3eead7c227 updated for version 7.4.049
Problem:    In Ex mode, when line numbers are enabled the substitute prompt is
            wrong.
Solution:   Adjust for the line number size. (Benoit Pierre)
2013-10-02 18:43:06 +02:00
Bram Moolenaar
0c6ccfdb62 updated for version 7.4.048
Problem:    Recent clang version complains about -fno-strength-reduce.
Solution:   Add a configure check for the clang version. (Kazunobu Kuriyama)
2013-10-02 18:23:07 +02:00
Bram Moolenaar
35a7c681bc updated for version 7.4.047
Problem:    When using input() in a function invoked by a mapping it doesn't
            work.
Solution:   Temporarily reset ex_normal_busy. (Yasuhiro Matsumoto)
2013-10-02 16:46:28 +02:00
Bram Moolenaar
0b4db6b6e5 updated for version 7.4.046
Problem:    Can't use Tcl 8.6.
Solution:   Change how Tcl_FindExecutable is called. (Jan Nijtmans)
2013-10-02 14:25:44 +02:00
Bram Moolenaar
ceb84af027 updated for version 7.4.045
Problem:    substitute() does not work properly when the pattern starts with
            "\ze".
Solution:   Detect an empty match. (Christian Brabandt)
2013-09-29 21:11:05 +02:00
Bram Moolenaar
8962fda1da updated for version 7.4.044
Problem:    Can't build with old MSVC. (Wang Shoulin)
Solution:   Define OPEN_OH_ARGTYPE instead of using intptr_t directly.
2013-09-29 19:05:21 +02:00
Bram Moolenaar
386dcde30d updated for version 7.4.043
Problem:    VMS can't handle long function names.
Solution:   Shorten may_req_ambiguous_character_width. (Samuel Ferencik)
2013-09-29 16:27:47 +02:00
Bram Moolenaar
7a18fdc8a4 updated for version 7.4.042
Problem:    When using ":setlocal" for 'spell' and 'spellang' then :spelldump
            doesn't work. (Dimitar Dimitrov)
Solution:   Copy the option variables to the new window used to show the dump.
            (Christian Brabandt)
2013-09-29 13:38:29 +02:00
Bram Moolenaar
033d8888e8 updated for version 7.4.041
Problem:    Visual selection does not remain after being copied over. (Axel
            Bender)
Solution:   Move when VIsual_active is reset. (Christian Brabandt)
2013-09-25 23:24:57 +02:00
Bram Moolenaar
cca7413456 updated for version 7.4.040
Problem:    Valgrind error on exit when a script-local variable holds a
            reference to the scope of another script.
Solution:   First clear all variables, then free the scopes. (ZyX)
2013-09-25 21:00:28 +02:00
Bram Moolenaar
2ee95f7d13 updated for version 7.4.039
Problem:    MS-Windows: MSCV10 and earlier can't handle symlinks to a
            directory properly.
Solution:   Add stat_symlink_aware() and wstat_symlink_aware(). (Ken Takata)
2013-09-25 19:13:38 +02:00
Bram Moolenaar
134bf07ca0 updated for version 7.4.038
Problem:    Using "zw" and "zg" when 'spell' is off give a confusing error
            message. (Gary Johnson)
Solution:   Ignore the error when locating the word.  Explicitly mention what
            word was added. (Christian Brabandt)
2013-09-25 18:54:24 +02:00
Bram Moolenaar
f211884fa1 updated for version 7.4.037
Problem:    Using "\ze" in a sub-pattern does not result in the end of the
            match to be set. (Axel Bender)
Solution:   Copy the end of match position when a recursive match was
            successful.
2013-09-25 18:16:38 +02:00
Bram Moolenaar
699c12076d updated for version 7.4.036
Problem:    NFA engine does not capture group correctly when using \@>. (ZyX)
Solution:   Copy submatches before doing the recursive match.
2013-09-25 16:41:54 +02:00
Bram Moolenaar
18441ae2cd Fix problem with 'iskeyword' in CSS syntax. 2013-09-24 23:30:38 +02:00
Bram Moolenaar
268b55b5fb updated for version 7.4.035
Problem:    MS-Windows: The mouse pointer flickers when going from command
            line mode to Normal mode.
Solution:   Check for WM_NCMOUSEMOVE. (Ken Takata)
2013-09-22 15:43:37 +02:00
Bram Moolenaar
ec11aef914 updated for version 7.4.034
Problem:    Using "p" in Visual block mode only changes the first line.
Solution:   Repeat the put in all text in the block. (Christian Brabandt)
2013-09-22 15:23:44 +02:00
Bram Moolenaar
6848c8b561 updated for version 7.4.033
Problem:    When the terminal has only 20 lines test 92 and 93 overwrite the
            input file.
Solution:   Explicitly write test.out. Check that the terminal is large enough
            to run the tests.  (Hirohito Higashi)
2013-09-22 15:03:38 +02:00
Bram Moolenaar
baca7f705b Update runtime files. Add support for J. 2013-09-22 14:42:24 +02:00
Bram Moolenaar
595cad2ea1 updated for version 7.4.032
Problem:    NFA engine does not match the NUL character. (Jonathon Merz)
Solution:   Ues 0x0a instead of NUL. (Christian Brabandt)
2013-09-22 13:57:24 +02:00
Bram Moolenaar
00462ffb7d updated for version 7.4.031
Problem:    ":diffoff!" resets options even when 'diff' is not set. (Charles
            Cooper)
Solution:   Only resets related options in a window where 'diff' is set.
2013-09-20 20:13:53 +02:00
252 changed files with 10479 additions and 5124 deletions

9
.gitignore vendored
View File

@@ -36,6 +36,15 @@ src/Obj*/pathdef.c
gvimext.dll
gvimext.lib
# Borland C++
bcc.cfg
*.ilc
*.ild
*.ilf
*.ils
*.map
*.tds
# Mac OSX
src/xxd/xxd.dSYM

View File

@@ -80,6 +80,7 @@ SRC_ALL = \
src/main.aap \
src/testdir/main.aap \
src/testdir/*.in \
src/testdir/sautest/autoload/*.vim \
src/testdir/test[0-9]*.ok \
src/testdir/test49.vim \
src/testdir/test60.vim \

File diff suppressed because one or more lines are too long

View File

@@ -1,8 +1,8 @@
" ---------------------------------------------------------------------
" getscript.vim
" Author: Charles E. Campbell
" Date: Apr 17, 2013
" Version: 35
" Date: Jan 21, 2014
" Version: 36
" Installing: :help glvs-install
" Usage: :help glvs
"
@@ -15,7 +15,7 @@
if exists("g:loaded_getscript")
finish
endif
let g:loaded_getscript= "v35"
let g:loaded_getscript= "v36"
if &cp
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
finish
@@ -208,8 +208,8 @@ fun! getscript#GetLatestVimScripts()
let lastline = line("$")
" call Decho("lastline#".lastline)
let firstdir = substitute(&rtp,',.*$','','')
let plugins = split(globpath(firstdir,"plugin/*.vim"),'\n')
let plugins = plugins + split(globpath(firstdir,"AsNeeded/*.vim"),'\n')
let plugins = split(globpath(firstdir,"plugin/**/*.vim"),'\n')
let plugins = plugins + split(globpath(firstdir,"AsNeeded/**/*.vim"),'\n')
let foundscript = 0
" this loop updates the GetLatestVimScripts.dat file

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
" netrwSettings.vim: makes netrw settings simpler
" Date: May 03, 2013
" Date: Aug 27, 2013
" Maintainer: Charles E Campbell <drchipNOSPAM at campbellfamily dot biz>
" Version: 14a ASTRO-ONLY
" Version: 14
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@@ -19,7 +19,7 @@
if exists("g:loaded_netrwSettings") || &cp
finish
endif
let g:loaded_netrwSettings = "v14a"
let g:loaded_netrwSettings = "v14"
if v:version < 700
echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0"
@@ -98,6 +98,11 @@ fun! netrwSettings#NetrwSettings()
put = ''
put ='+ Netrw Browser Control'
if exists("g:netrw_altfile")
put = 'let g:netrw_altfile = '.g:netrw_altfile
else
put = 'let g:netrw_altfile = 0'
endif
put = 'let g:netrw_alto = '.g:netrw_alto
put = 'let g:netrw_altv = '.g:netrw_altv
put = 'let g:netrw_banner = '.g:netrw_banner

View File

@@ -0,0 +1,71 @@
" netrw_gitignore#Hide: gitignore-based hiding
" Function returns a string of comma separated patterns convenient for
" assignment to `g:netrw_list_hide` option.
" Function can take additional filenames as arguments, example:
" netrw_gitignore#Hide('custom_gitignore1', 'custom_gitignore2')
"
" Usage examples:
" let g:netrw_list_hide = netrw_gitignore#Hide()
" let g:netrw_list_hide = netrw_gitignore#Hide() . 'more,hide,patterns'
"
" Copyright: Copyright (C) 2013 Bruno Sutic {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" netrw_gitignore.vim is provided *as is* and comes with no
" warranty of any kind, either expressed or implied. By using
" this plugin, you agree that in no event will the copyright
" holder be liable for any damages resulting from the use
" of this software.
function! netrw_gitignore#Hide(...)
let additional_files = a:000
let default_files = ['.gitignore', '.git/info/exclude']
" get existing global/system gitignore files
let global_gitignore = expand(substitute(system("git config --global core.excludesfile"), '\n', '', 'g'))
if global_gitignore !=# ''
let default_files = add(default_files, global_gitignore)
endif
let system_gitignore = expand(substitute(system("git config --system core.excludesfile"), '\n', '', 'g'))
if system_gitignore !=# ''
let default_files = add(default_files, system_gitignore)
endif
" append additional files if given as function arguments
if additional_files !=# []
let files = extend(default_files, additional_files)
else
let files = default_files
endif
" keep only existing/readable files
let gitignore_files = []
for file in files
if filereadable(file)
let gitignore_files = add(gitignore_files, file)
endif
endfor
" get contents of gitignore patterns from those files
let gitignore_lines = []
for file in gitignore_files
for line in readfile(file)
" filter empty lines and comments
if line !~# '^#' && line !~# '^$'
let gitignore_lines = add(gitignore_lines, line)
endif
endfor
endfor
" convert gitignore patterns to Netrw/Vim regex patterns
let escaped_lines = []
for line in gitignore_lines
let escaped = line
let escaped = substitute(escaped, '\.', '\\.', 'g')
let escaped = substitute(escaped, '*', '.*', 'g')
let escaped_lines = add(escaped_lines, escaped)
endfor
return join(escaped_lines, ',')
endfunction

View File

@@ -36,6 +36,14 @@ Some attributes (e.g., bold) might be set in the defaults that you want
removed in your color scheme. Use something like "gui=NONE" to remove the
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 that
ColorScheme autocmd event.
To see which highlight group is used where, find the help for
"highlight-groups" and "group-name".

View File

@@ -25,10 +25,10 @@ CompilerSet errorformat=
\%f:%l:\ %tarning:\ %m,
\%f:%l:\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ `%f',
\%D%*\\a:\ Entering\ directory\ `%f',
\%X%*\\a:\ Leaving\ directory\ `%f',
\%D%*\\a[%*\\d]:\ Entering\ directory\ [`']%f',
\%X%*\\a[%*\\d]:\ Leaving\ directory\ [`']%f',
\%D%*\\a:\ Entering\ directory\ [`']%f',
\%X%*\\a:\ Leaving\ directory\ [`']%f',
\%DMaking\ %*\\a\ in\ %f
if exists('g:compiler_gcc_ignore_unmatched_lines')

View File

@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.4. Last change: 2013 Aug 04
*autocmd.txt* For Vim version 7.4. Last change: 2014 Jan 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -304,6 +304,9 @@ Name triggered by ~
|InsertCharPre| when a character was typed in Insert mode, before
inserting it
|TextChanged| after a change was made to the text in Normal mode
|TextChangedI| after a change was made to the text in Insert mode
|ColorScheme| after loading a color scheme
|RemoteReply| a reply from a server Vim was received
@@ -480,6 +483,12 @@ CmdwinLeave Before leaving the command-line window.
|cmdwin-char|
*ColorScheme*
ColorScheme After loading a color scheme. |:colorscheme|
The pattern is matched against the
colorscheme name. <afile> can be used for the
name of the actual file where this option was
set, and <amatch> for the new colorscheme
name.
*CompleteDone*
CompleteDone After Insert mode completion is done. Either
@@ -553,6 +562,9 @@ FileChangedRO Before making the first change to a read-only
It is not allowed to change to another buffer
here. You can reload the buffer but not edit
another one.
*E881*
If the number of lines changes saving for undo
may fail and the change will be aborted.
*FileChangedShell*
FileChangedShell When Vim notices that the modification time of
a file has changed since editing started.
@@ -731,7 +743,7 @@ QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
command is run, before jumping to the first
location. For |:cfile| and |:lfile| commands
it is run after error file is read and before
moving to the first error.
moving to the first error.
See |QuickFixCmdPost-example|.
*QuitPre*
QuitPre When using `:quit`, `:wq` or `:qall`, before

View File

@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.4. Last change: 2013 Aug 25
*change.txt* For Vim version 7.4. Last change: 2014 Feb 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -156,6 +156,9 @@ only after a '.').
The 'B' and 'M' flags in 'formatoptions' change the behavior for inserting
spaces before and after a multi-byte character |fo-table|.
The '[ mark is set at the end of the first line that was joined, '] at the end
of the resulting line.
==============================================================================
2. Delete and insert *delete-insert* *replacing*
@@ -475,8 +478,8 @@ If the 'shiftround' option is on, the indent is rounded to a multiple of
'shiftwidth'.
If the 'smartindent' option is on, or 'cindent' is on and 'cinkeys' contains
'#', shift right does not affect lines starting with '#' (these are supposed
to be C preprocessor lines that must stay in column 1).
'#' with a zero value, shift right does not affect lines starting with '#'
(these are supposed to be C preprocessor lines that must stay in column 1).
When the 'expandtab' option is off (this is the default) Vim uses <Tab>s as
much as possible to make the indent. You can use ">><<" to replace an indent
@@ -824,7 +827,7 @@ either the first or second pattern in parentheses did not match, so either
<
Substitute with an expression *sub-replace-expression*
*sub-replace-\=*
*sub-replace-\=* *s/\=*
When the substitute string starts with "\=" the remainder is interpreted as an
expression. This does not work recursively: a |substitute()| function inside
the expression cannot use "\=" for the substitute string.
@@ -1069,6 +1072,11 @@ 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, 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
each of the selected lines (thus replacing the blockwise selected region by a
block of the pasted line).
*blockwise-register*
If you use a blockwise Visual mode command to get the text into the register,
the block of text will be inserted before ("P") or after ("p") the cursor
@@ -1126,7 +1134,7 @@ less than one line (the small delete register is used then). An exception is
made for the delete operator with these movement commands: |%|, |(|, |)|, |`|,
|/|, |?|, |n|, |N|, |{| and |}|. Register "1 is always used then (this is Vi
compatible). The "- register is used as well if the delete is within a line.
Note that these character may be mapped. E.g. |%| is mapped by the matchit
Note that these characters may be mapped. E.g. |%| is mapped by the matchit
plugin.
With each successive deletion or change, Vim shifts the previous contents
of register 1 into register 2, 2 into 3, and so forth, losing the previous

View File

@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.4. Last change: 2013 Mar 16
*cmdline.txt* For Vim version 7.4. Last change: 2014 Feb 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -356,6 +356,10 @@ terminals)
List the recent five entries from all histories: >
:history all -5,
:keepp[atterns] {command} *:keepp* *:keeppatterns*
Execute {command}, without adding anything to the search
history
==============================================================================
2. Command-line completion *cmdline-completion*
@@ -754,6 +758,7 @@ characters have a special meaning. These can also be used in the expression
function expand() |expand()|.
% Is replaced with the current file name. *:_%* *c_%*
# Is replaced with the alternate file name. *:_#* *c_#*
This is remembered for every window.
#n (where n is a number) is replaced with *:_#0* *:_#n*
the file name of buffer n. "#0" is the same as "#". *c_#n*
## Is replaced with all names in the argument list *:_##* *c_##*
@@ -819,8 +824,8 @@ Note: these are typed literally, they are not special keys!
the start of the function.
*filename-modifiers*
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs*
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs*
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs* *::S*
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs* *%:S*
The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
"<afile>" or "<abuf>". They are also used with the |fnamemodify()| function.
These are not available when Vim has been compiled without the |+modify_fname|
@@ -875,6 +880,10 @@ These modifiers can be given, in this order:
:gs?pat?sub?
Substitute all occurrences of "pat" with "sub". Otherwise
this works like ":s".
:S Escape special characters for use with a shell command (see
|shellescape()|). Must be the last one. Examples: >
:!dir <cfile>:S
:call system('chmod +w -- ' . expand('%:S'))
Examples, when the file name is "src/version.c", current dir
"/home/mool/vim": >

View File

@@ -1,4 +1,4 @@
*diff.txt* For Vim version 7.4. Last change: 2013 Jul 07
*diff.txt* For Vim version 7.4. Last change: 2013 Sep 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -123,10 +123,14 @@ Since the option values are remembered with the buffer, you can edit another
file for a moment and come back to the same file and be in diff mode again.
*:diffo* *:diffoff*
:diffo[ff] Switch off diff mode for the current window.
:diffo[ff] Switch off diff mode for the current window. Resets related
options also when 'diff' was not set.
:diffo[ff]! Switch off diff mode for the current window and in all windows
in the current tab page where 'diff' is set.
in the current tab page where 'diff' is set. Resetting
related options only happens in a window that has 'diff' set,
if the current window does not have 'diff' set then no options
in it are changed.
The ":diffoff" command resets the relevant options to the values they had when
using |:diffsplit|, |:diffpatch| , |:diffthis|. or starting Vim in diff mode.

View File

@@ -1,4 +1,4 @@
*digraph.txt* For Vim version 7.4. Last change: 2011 Jan 15
*digraph.txt* For Vim version 7.4. Last change: 2013 Dec 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -147,7 +147,7 @@ a standard meaning:
Two 2 Hook
Nine 9 Horn
Equals = Cyrillic
Equals = Cyrillic (= used as second char)
Asterisk * Greek
Percent sign % Greek/Cyrillic special
Plus + smalls: Arabic, capitals: Hebrew

View File

@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.4. Last change: 2013 Aug 03
*editing.txt* For Vim version 7.4. Last change: 2013 Nov 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -38,6 +38,7 @@ If there already was a current file name, then that one becomes the alternate
file name. It can be used with "#" on the command line |:_#| and you can use
the |CTRL-^| command to toggle between the current and the alternate file.
However, the alternate file name is not changed when |:keepalt| is used.
An alternate file name is remembered for each window.
*:keepalt* *:keepa*
:keepalt {cmd} Execute {cmd} while keeping the current alternate file

View File

@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.4. Last change: 2013 Aug 24
*eval.txt* For Vim version 7.4. Last change: 2014 Feb 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1455,6 +1455,13 @@ v:foldend Used for 'foldtext': last line of closed fold.
v:foldstart Used for 'foldtext': first line of closed fold.
Read-only in the |sandbox|. |fold-foldtext|
*v:hlsearch* *hlsearch-variable*
v:hlsearch Variable that determines whether search highlighting is on.
Makes sense only if 'hlsearch' is enabled which requires
|+extra_search|. Setting this variable to zero acts the like
|:nohlsearch| command, setting it to one acts like >
let &hlsearch = &hlsearch
<
*v:insertmode* *insertmode-variable*
v:insertmode Used for the |InsertEnter| and |InsertChange| autocommand
events. Values:
@@ -1512,6 +1519,7 @@ v:oldfiles List of file names that is loaded from the |viminfo| file on
startup. These are the files that Vim remembers marks for.
The length of the List is limited by the ' argument of the
'viminfo' option (default is 100).
When the |viminfo| file is not used the List is empty.
Also see |:oldfiles| and |c_#<|.
The List can be modified, but this has no effect on what is
stored in the |viminfo| file later. If you use values other
@@ -1713,6 +1721,7 @@ bufnr( {expr}) Number Number of the buffer {expr}
bufwinnr( {expr}) Number window number of buffer {expr}
byte2line( {byte}) Number line number at byte count {byte}
byteidx( {expr}, {nr}) Number byte index of {nr}'th char in {expr}
byteidxcomp( {expr}, {nr}) Number byte index of {nr}'th char in {expr}
call( {func}, {arglist} [, {dict}])
any call {func} with arguments {arglist}
ceil( {expr}) Float round {expr} up
@@ -1736,7 +1745,7 @@ cscope_connection( [{num} , {dbpath} [, {prepend}]])
cursor( {lnum}, {col} [, {coladd}])
Number move cursor to {lnum}, {col}, {coladd}
cursor( {list}) Number move cursor to position in {list}
deepcopy( {expr}) any make a full copy of {expr}
deepcopy( {expr} [, {noref}]) any make a full copy of {expr}
delete( {fname}) Number delete file {fname}
did_filetype() Number TRUE if FileType autocommand event used
diff_filler( {lnum}) Number diff filler lines about {lnum}
@@ -2261,7 +2270,10 @@ byteidx({expr}, {nr}) *byteidx()*
{expr}. Use zero for the first character, it returns zero.
This function is only useful when there are multibyte
characters, otherwise the returned value is equal to {nr}.
Composing characters are counted as a separate character.
Composing characters are not counted separately, their byte
length is added to the preceding base character. See
|byteidxcomp()| below for counting composing characters
separately.
Example : >
echo matchstr(str, ".", byteidx(str, 3))
< will display the fourth character. Another way to do the
@@ -2270,7 +2282,20 @@ byteidx({expr}, {nr}) *byteidx()*
echo strpart(s, 0, byteidx(s, 1))
< If there are less than {nr} characters -1 is returned.
If there are exactly {nr} characters the length of the string
is returned.
in bytes is returned.
byteidxcomp({expr}, {nr}) *byteidxcomp()*
Like byteidx(), except that a composing character is counted
as a separate character. Example: >
let s = 'e' . nr2char(0x301)
echo byteidx(s, 1)
echo byteidxcomp(s, 1)
echo byteidxcomp(s, 2)
< The first and third echo result in 3 ('e' plus composing
character is 3 bytes), the second echo results in 1 ('e' is
one byte).
Only works different from byteidx() when 'encoding' is set to
a Unicode encoding.
call({func}, {arglist} [, {dict}]) *call()* *E699*
Call function {func} with the items in |List| {arglist} as
@@ -3176,7 +3201,7 @@ getchar([expr]) *getchar()*
If [expr] is 1, only check if a character is available, it is
not consumed. Return zero if no character available.
Without {expr} and when {expr} is 0 a whole character or
Without [expr] and when [expr] is 0 a whole character or
special key is returned. If it is an 8-bit character, the
result is a number. Use nr2char() to convert it to a String.
Otherwise a String is returned with the encoded character.
@@ -3186,7 +3211,7 @@ getchar([expr]) *getchar()*
String when a modifier (shift, control, alt) was used that is
not included in the character.
When {expr} is 1 only the first byte is returned. For a
When [expr] is 1 only the first byte is returned. For a
one-byte character it is the character itself as a number.
Use nr2char() to convert it to a String.
@@ -3436,7 +3461,7 @@ getregtype([{regname}]) *getregtype()*
"v" for |characterwise| text
"V" for |linewise| text
"<CTRL-V>{width}" for |blockwise-visual| text
0 for an empty or unknown register
"" for an empty or unknown register
<CTRL-V> is one character with value 0x16.
If {regname} is not specified, |v:register| is used.
@@ -4110,6 +4135,8 @@ maparg({name}[, {mode} [, {abbr} [, {dict}]]]) *maparg()*
(|mapmode-ic|)
"sid" The script local ID, used for <sid> mappings
(|<SID>|).
"nowait" Do not wait for other, longer mappings.
(|:map-<nowait>|).
The mappings local to the current buffer are checked first,
then the global mappings.
@@ -4211,6 +4238,9 @@ matchadd({group}, {pattern}[, {priority}[, {id}]])
"match"). It will be highlighted with {group}. Returns an
identification number (ID), which can be used to delete the
match using |matchdelete()|.
Matching is case sensitive and magic, unless case sensitivity
or magicness are explicitly overridden in {pattern}. The
'magic', 'smartcase' and 'ignorecase' options are not used.
The optional {priority} argument assigns a priority to the
match. A match with a high priority will have its
@@ -4420,6 +4450,9 @@ getpos({expr}) Get the position for {expr}. For possible values of {expr}
it is the offset in screen columns from the start of the
character. E.g., a position within a <Tab> or after the last
character.
Note that for '< and '> Visual mode matters: when it is "V"
(visual line mode) the column of '< is zero and the column of
'> is a large number.
This can be used to save and restore the cursor position: >
let save_cursor = getpos(".")
MoveTheCursorAround
@@ -5243,6 +5276,10 @@ setpos({expr}, {list})
character. E.g., a position within a <Tab> or after the last
character.
Note that for '< and '> changing the line number may result in
the marks to be effectively be swapped, so that '< is always
before '>.
Returns 0 when the position could be set, -1 otherwise.
An error message is given if {expr} is invalid.
@@ -5391,6 +5428,7 @@ shellescape({string} [, {special}]) *shellescape()*
< This results in a directory listing for the file under the
cursor. Example of use with |system()|: >
:call system("chmod +w -- " . shellescape(expand("%")))
< See also |::S|.
shiftwidth() *shiftwidth()*
@@ -5605,7 +5643,7 @@ strchars({expr}) *strchars()*
strdisplaywidth({expr}[, {col}]) *strdisplaywidth()*
The result is a Number, which is the number of display cells
String {expr} occupies on the screen.
String {expr} occupies on the screen when it starts a {col}.
When {col} is omitted zero is used. Otherwise it is the
screen column where to start. This matters for Tab
characters.
@@ -5873,14 +5911,16 @@ system({expr} [, {input}]) *system()* *E677*
passed as stdin to the command. The string is written as-is,
you need to take care of using the correct line separators
yourself. Pipes are not used.
Note: Use |shellescape()| to escape special characters in a
command argument. Newlines in {expr} may cause the command to
fail. The characters in 'shellquote' and 'shellxquote' may
also cause trouble.
Note: Use |shellescape()| or |::S| with |expand()| or
|fnamemodify()| to escape special characters in a command
argument. Newlines in {expr} may cause the command to fail.
The characters in 'shellquote' and 'shellxquote' may also
cause trouble.
This is not to be used for interactive commands.
The result is a String. Example: >
:let files = system("ls " . shellescape(expand('%:h')))
:let files = system('ls ' . expand('%:h:S'))
< To make the result more system-independent, the shell output
is filtered to replace <CR> with <NL> for Macintosh, and
@@ -6603,7 +6643,7 @@ See |:verbose-cmd| for more information.
For the {arguments} see |function-argument|.
*a:firstline* *a:lastline*
*:func-range* *a:firstline* *a:lastline*
When the [range] argument is added, the function is
expected to take care of a range itself. The range is
passed as "a:firstline" and "a:lastline". If [range]
@@ -6612,10 +6652,10 @@ See |:verbose-cmd| for more information.
of each line. See |function-range-example|.
The cursor is still moved to the first line of the
range, as is the case with all Ex commands.
*:func-abort*
When the [abort] argument is added, the function will
abort as soon as an error is detected.
*:func-dict*
When the [dict] argument is added, the function must
be invoked through an entry in a |Dictionary|. The
local variable "self" will then be set to the
@@ -7420,7 +7460,7 @@ This does NOT work: >
for Vim commands, |shellescape()| for |:!| commands.
Examples: >
:execute "e " . fnameescape(filename)
:execute "!ls " . shellescape(expand('%:h'), 1)
:execute "!ls " . shellescape(filename, 1)
<
Note: The executed string may be any command-line, but
you cannot start or end a "while", "for" or "if"

View File

@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 7.4. Last change: 2013 May 25
*filetype.txt* For Vim version 7.4. Last change: 2013 Dec 15
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -447,23 +447,25 @@ g:changelog_new_date_format
%% insert a single '%' character
%d insert the date from above
%u insert the user from above
%p insert result of b:changelog_entry_prefix
%c where to position cursor when done
The default is "%d %u\n\n\t* %c\n\n", which produces
The default is "%d %u\n\n\t* %p%c\n\n", which produces
something like (| is where cursor will be, unless at
the start of the line where it denotes the beginning
of the line) >
|2003-01-14 Full Name <user@host>
|
| * |
| * prefix|
<
g:changelog_new_entry_format
The format used when creating a new entry.
The following table describes special tokens in the
string:
%p insert result of b:changelog_entry_prefix
%c where to position cursor when done
The default is "\t*%c", which produces something
similar to >
| * |
| * prefix|
<
g:changelog_date_entry_search
The search pattern to use when searching for a

View File

@@ -1,4 +1,4 @@
*fold.txt* For Vim version 7.4. Last change: 2010 May 13
*fold.txt* For Vim version 7.4. Last change: 2013 Dec 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -285,9 +285,10 @@ zF Create a fold for [count] lines. Works like "zf".
*zd* *E351*
zd Delete one fold at the cursor. When the cursor is on a folded
line, that fold is deleted. Nested folds are moved one level
up. In Visual mode all folds (partially) in the selected area
are deleted. Careful: This easily deletes more folds than you
expect and there is no undo.
up. In Visual mode one level of all folds (partially) in the
selected area are deleted.
Careful: This easily deletes more folds than you expect and
there is no undo for manual folding.
This only works when 'foldmethod' is "manual" or "marker".
Also see |fold-delete-marker|.

View File

@@ -1,4 +1,4 @@
*gui.txt* For Vim version 7.4. Last change: 2013 Jun 12
*gui.txt* For Vim version 7.4. Last change: 2014 Mar 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -133,6 +133,7 @@ task bar with the 'guiheadroom' option.
:winp[os]
Display current position of the top left corner of the GUI vim
window in pixels. Does not work in all versions.
Also see |getwinposx()| and |getwinposy()|.
:winp[os] {X} {Y} *E466*
Put the GUI vim window at the given {X} and {Y} coordinates.
@@ -151,8 +152,11 @@ task bar with the 'guiheadroom' option.
option.
If you are running the X Window System, you can get information about the
window Vim is running in with this command: >
window Vim is running in with these commands: >
:!xwininfo -id $WINDOWID
:!xprop -id $WINDOWID
:execute '!xwininfo -id ' . v:windowid
:execute '!xprop -id ' . v:windowid
<
*gui-IME* *iBus*
Input methods for international characters in X that rely on the XIM

View File

@@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 7.4. Last change: 2011 Sep 14
*gui_x11.txt* For Vim version 7.4. Last change: 2014 Mar 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -442,7 +442,7 @@ command line argument).
*gui-x11-kde*
There is no KDE version of Vim. There has been some work on a port using the
Qt toolkit, but it never worked properly and it has been abandoned. Work
continues on Yzis: www.yzis.org.
continues on Yzis: https://github.com/chrizel/Yzis.
==============================================================================
8. Compiling *gui-x11-compiling*

View File

@@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 7.4. Last change: 2012 Oct 25
*if_perl.txt* For Vim version 7.4. Last change: 2013 Oct 05
VIM REFERENCE MANUAL by Sven Verdoolaege

View File

@@ -1,4 +1,4 @@
*indent.txt* For Vim version 7.4. Last change: 2013 Aug 03
*indent.txt* For Vim version 7.4. Last change: 2013 Nov 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -545,10 +545,12 @@ The examples below assume a 'shiftwidth' of 4.
(default 70 lines).
*cino-#*
#N When N is non-zero recognize shell/Perl comments, starting with
'#'. Default N is zero: don't recognize '#' comments. Note
that lines starting with # will still be seen as preprocessor
lines.
#N When N is non-zero recognize shell/Perl comments starting with
'#', do not recognize preprocessor lines; allow right-shifting
lines that start with "#".
When N is zero (default): don't recognize '#' comments, do
recognize preprocessor lines; right-shifting lines that start
with "#" does not work.
The defaults, spelled out in full, are:
@@ -556,7 +558,7 @@ The defaults, spelled out in full, are:
c3,C0,/0,(2s,us,U0,w0,W0,k0,m0,j0,J0,)20,*70,#0
Vim puts a line in column 1 if:
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#'.
- It starts with '#' (preprocessor directives), if 'cinkeys' contains '#0'.
- It starts with a label (a keyword followed by ':', other than "case" and
"default") and 'cinoptions' does not contain an 'L' entry with a positive
value.
@@ -581,8 +583,8 @@ CLOJURE *ft-clojure-indent* *clojure-indent*
Clojure indentation differs somewhat from traditional Lisps, due in part to
the use of square and curly brackets, and otherwise by community convention.
These conventions are not always universally followed, so the Clojure indent
script offers a few configurable options, listed below.
These conventions are not universally followed, so the Clojure indent script
offers a few configurable options, listed below.
If the current vim does not include searchpairpos(), the indent script falls
back to normal 'lisp' indenting, and the following options are ignored.
@@ -596,7 +598,6 @@ without limits.
" Default
let g:clojure_maxlines = 100
<
*g:clojure_fuzzy_indent*
*g:clojure_fuzzy_indent_patterns*
*g:clojure_fuzzy_indent_blacklist*
@@ -650,7 +651,6 @@ default list below.
let g:clojure_special_indent_words =
\ 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
<
*g:clojure_align_multiline_strings*
Align subsequent lines in multiline strings to the column after the opening
@@ -675,6 +675,28 @@ This option is off by default.
" Default
let g:clojure_align_multiline_strings = 0
<
*g:clojure_align_subforms*
By default, parenthesized compound forms that look like function calls and
whose head subform is on its own line have subsequent subforms indented by
two spaces relative to the opening paren:
>
(foo
bar
baz)
<
Setting this option changes this behavior so that all subforms are aligned to
the same column:
>
(foo
bar
baz)
<
This option is off by default.
>
" Default
let g:clojure_align_subforms = 0
<
FORTRAN *ft-fortran-indent*

View File

@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.4. Last change: 2013 Jul 17
*index.txt* For Vim version 7.4. Last change: 2013 Nov 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1191,12 +1191,12 @@ tag command action ~
|:digraphs| :dig[raphs] show or enter digraphs
|:display| :di[splay] display registers
|:djump| :dj[ump] jump to #define
|:dl| :dl short for |:delete|
|:dl| :del[ete]l short for |:delete|
|:dl| :dl short for |:delete| with the 'l' flag
|:dl| :del[ete]l short for |:delete| with the 'l' flag
|:dlist| :dli[st] list #defines
|:doautocmd| :do[autocmd] apply autocommands to current buffer
|:doautoall| :doautoa[ll] apply autocommands for all loaded buffers
|:dp| :d[elete]p short for |:delete|
|:dp| :d[elete]p short for |:delete| with the 'p' flag
|:drop| :dr[op] jump to window editing file or edit file in
current window
|:dsearch| :ds[earch] list one #define
@@ -1275,6 +1275,7 @@ tag command action ~
|:keepalt| :keepa[lt] following command keeps the alternate file
|:keepmarks| :kee[pmarks] following command keeps marks where they are
|:keepjumps| :keepj[umps] following command keeps jumplist and marks
|:keeppatterns| :keepp[atterns] following command keeps search pattern history
|:lNext| :lN[ext] go to previous entry in location list
|:lNfile| :lNf[ile] go to last entry in previous file
|:list| :l[ist] print lines

View File

@@ -593,7 +593,7 @@ illogical when compared to other commands.
When you have a mapping that contains an Ex command, you need to put a line
terminator after it to have it executed. The use of <CR> is recommended for
this (see |<>|). Example: >
:map _ls :!ls -l %<CR>:echo "the end"<CR>
:map _ls :!ls -l %:S<CR>:echo "the end"<CR>
To avoid mapping of the characters you type in insert or Command-line mode,
type a CTRL-V first. The mapping in Insert mode is disabled if the 'paste'

View File

@@ -1,4 +1,4 @@
*motion.txt* For Vim version 7.4. Last change: 2013 Jul 17
*motion.txt* For Vim version 7.4. Last change: 2014 Feb 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -343,7 +343,7 @@ gg Goto line [count], default first line, on the first
See also 'startofline' option. {not in Vi}
:[range]go[to] [count] *:go* *:goto* *go*
[count]go Go to {count} byte in the buffer. Default [count] is
[count]go Go to [count] byte in the buffer. Default [count] is
one, start of the file. When giving [range], the
last number in it used as the byte count. End-of-line
characters are counted depending on the current

View File

@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.4. Last change: 2013 Aug 22
*options.txt* For Vim version 7.4. Last change: 2013 Dec 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -987,7 +987,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'backupdir'* *'bdir'*
'backupdir' 'bdir' string (default for Amiga: ".,t:",
for MS-DOS and Win32: ".,c:/tmp,c:/temp"
for MS-DOS and Win32: ".,$TEMP,c:/tmp,c:/temp"
for Unix: ".,~/tmp,~/")
global
{not in Vi}
@@ -2477,7 +2477,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'directory'* *'dir'*
'directory' 'dir' string (default for Amiga: ".,t:",
for MS-DOS and Win32: ".,c:\tmp,c:\temp"
for MS-DOS and Win32: ".,$TEMP,c:\tmp,c:\temp"
for Unix: ".,~/tmp,/var/tmp,/tmp")
global
List of directory names for the swap file, separated with commas.
@@ -4629,7 +4629,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'lispwords'* *'lw'*
'lispwords' 'lw' string (default is very long)
global
global or local to buffer |global-local|
{not in Vi}
{not available when compiled without the |+lispindent|
feature}
@@ -4757,8 +4757,9 @@ A jump table for the options with a short description can be found at |Q_op|.
global or local to buffer |global-local|
{not in Vi}
Program to use for the ":make" command. See |:make_makeprg|.
This option may contain '%' and '#' characters, which are expanded to
the current and alternate file name. |:_%| |:_#|
This option may contain '%' and '#' characters (see |:_%| and |:_#|),
which are expanded to the current and alternate file name. Use |::S|
to escape file names in case they contain special characters.
Environment variables are expanded |:set_env|. See |option-backslash|
about including spaces and backslashes.
Note that a '|' must be escaped twice: once for ":set" and once for
@@ -6555,6 +6556,9 @@ A jump table for the options with a short description can be found at |Q_op|.
region by listing them: "en_us,en_ca" supports both US and Canadian
English, but not words specific for Australia, New Zealand or Great
Britain.
If the name "cjk" is included East Asian characters are excluded from
spell checking. This is useful when editing text that also has Asian
words.
*E757*
As a special case the name of a .spl file can be given as-is. The
first "_xx" in the name is removed and used as the region name
@@ -7594,7 +7598,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'undolevels'* *'ul'*
'undolevels' 'ul' number (default 100, 1000 for Unix, VMS,
Win32 and OS/2)
global
global or local to buffer |global-local|
{not in Vi}
Maximum number of changes that can be undone. Since undo information
is kept in memory, higher numbers will cause more memory to be used
@@ -7605,8 +7609,9 @@ A jump table for the options with a short description can be found at |Q_op|.
< But you can also get Vi compatibility by including the 'u' flag in
'cpoptions', and still be able to use CTRL-R to repeat undo.
Also see |undo-two-ways|.
Set to a negative number for no undo at all: >
set ul=-1
Set to -1 for no undo at all. You might want to do this only for the
current buffer: >
setlocal ul=-1
< This helps when you run out of memory for a single change.
Also see |clear-undo|.

View File

@@ -764,6 +764,22 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
9. VMS related changes *vms-changes*
Version 7.4
- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
add _un_ at the beginning to keep the extension
- correct swap file name wildcard handling
- handle iconv usage correctly
- do not optimize on vax - otherwise it hangs compiling crypto files
- fileio.c fix the comment
- correct RealWaitForChar
- after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have
G_FLOAT but IA64 uses IEEE float otherwise Vim crashes
- guard agains crashes that are caused by mixed filenames
- [TESTDIR]make_vms.mms changed to see the output files
- Improve tests, update known issues
- minor compiler warnings fixed
- CTAGS 5.8 +regex included
Version 7.3
- CTAGS 5.8 included
- VMS compile warnings fixed - floating-point overflow warning corrected on VAX

View File

@@ -93,7 +93,7 @@ the default value of 'term' from the environment variable "TERM".
$PATH *win32-PATH*
The directory of the Vim executable is appended to $PATH. This is mostly to
make "!xxd' work, as it is in the Tools menu. And it also means that when
make "!xxd" work, as it is in the Tools menu. And it also means that when
executable() returns 1 the executable can actually be executed.
==============================================================================

View File

@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.4. Last change: 2013 Jul 06
*pattern.txt* For Vim version 7.4. Last change: 2014 Feb 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -192,10 +192,10 @@ affected.
An example of how to search for matches with a pattern and change the match
with another word: >
/foo<CR> find "foo"
c//e change until end of match
c//e<CR> change until end of match
bar<Esc> type replacement
//<CR> go to start of next match
c//e change until end of match
c//e<CR> change until end of match
beep<Esc> type another replacement
etc.
<

View File

@@ -1,4 +1,4 @@
*pi_getscript.txt* For Vim version 7.4. Last change: 2012 Apr 07
*pi_getscript.txt* For Vim version 7.0. Last change: 2013 Nov 29
>
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell
<
@@ -385,6 +385,10 @@ The AutoInstall process will:
==============================================================================
9. GetLatestVimScripts History *getscript-history* *glvs-hist* {{{1
v36 Apr 22, 2013 : * (glts) suggested use of plugin/**/*.vim instead of
plugin/*.vim in globpath() call.
* (Andy Wokula) got warning message when setting
g:loaded_getscriptPlugin
v35 Apr 07, 2012 : * (MengHuan Yu) pointed out that the script url has
changed (somewhat). However, it doesn't work, and
the original one does (under Linux). I'll make it

View File

@@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 7.4. Last change: 2013 May 18
*pi_netrw.txt* For Vim version 7.4. Last change: 2014 Jan 21
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell
@@ -6,7 +6,7 @@
Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM>
(remove NOSPAM from Campbell's email first)
Copyright: Copyright (C) 1999-2013 Charles E Campbell *netrw-copyright*
Copyright: Copyright (C) 1999-2014 Charles E Campbell *netrw-copyright*
The VIM LICENSE applies to the files in this package, including
netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and
syntax/netrw.vim. Like anything else that's free, netrw.vim and its
@@ -192,21 +192,22 @@ You may do so by placing the following two lines in your <.vimrc>: >
EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
Protocol Variable Default Value
-------- ---------------- -------------
dav: *g:netrw_dav_cmd* = "cadaver" if cadaver is executable
dav: g:netrw_dav_cmd = "curl -o" elseif curl is available
fetch: *g:netrw_fetch_cmd* = "fetch -o" if fetch is available
ftp: *g:netrw_ftp_cmd* = "ftp"
http: *g:netrw_http_cmd* = "elinks" if elinks is available
http: g:netrw_http_cmd = "links" elseif links is available
http: g:netrw_http_cmd = "curl" elseif curl is available
http: g:netrw_http_cmd = "wget" elseif wget is available
http: g:netrw_http_cmd = "fetch" elseif fetch is available
rcp: *g:netrw_rcp_cmd* = "rcp"
rsync: *g:netrw_rsync_cmd* = "rsync -a"
scp: *g:netrw_scp_cmd* = "scp -q"
sftp: *g:netrw_sftp_cmd* = "sftp"
Protocol Variable Default Value
-------- ---------------- -------------
dav: *g:netrw_dav_cmd* = "cadaver" if cadaver is executable
dav: g:netrw_dav_cmd = "curl -o" elseif curl is available
fetch: *g:netrw_fetch_cmd* = "fetch -o" if fetch is available
ftp: *g:netrw_ftp_cmd* = "ftp"
http: *g:netrw_http_cmd* = "elinks" if elinks is available
http: g:netrw_http_cmd = "links" elseif links is available
http: g:netrw_http_cmd = "curl" elseif curl is available
http: g:netrw_http_cmd = "wget" elseif wget is available
http: g:netrw_http_cmd = "fetch" elseif fetch is available
http: *g:netrw_http_put_cmd* = "curl -T"
rcp: *g:netrw_rcp_cmd* = "rcp"
rsync: *g:netrw_rsync_cmd* = "rsync -a"
scp: *g:netrw_scp_cmd* = "scp -q"
sftp: *g:netrw_sftp_cmd* = "sftp"
*g:netrw_http_xcmd* : the option string for http://... protocols are
specified via this variable and may be independently overridden. By
@@ -223,6 +224,9 @@ EXTERNAL APPLICATIONS AND PROTOCOLS *netrw-externapp* {{{2
let g:netrw_http_xcmd= "-dump >"
< in your .vimrc.
g:netrw_http_put_cmd: this option specifies both the executable and
any needed options. This command does a PUT operation to the url.
READING *netrw-read* *netrw-nread* {{{2
@@ -816,8 +820,7 @@ variables listed below, and may be modified by the user.
------------------------
Option Type Setting Meaning
--------- -------- -------------- ---------------------------
<
netrw_ftp variable =doesn't exist userid set by "user userid"
< netrw_ftp variable =doesn't exist userid set by "user userid"
=0 userid set by "user userid"
=1 userid set by "userid"
NetReadFixup function =doesn't exist no change
@@ -825,17 +828,18 @@ variables listed below, and may be modified by the user.
read via ftp automatically
transformed however they wish
by NetReadFixup()
g:netrw_dav_cmd variable ="cadaver" if cadaver is executable
g:netrw_dav_cmd variable ="curl -o" elseif curl is executable
g:netrw_fetch_cmd variable ="fetch -o" if fetch is available
g:netrw_ftp_cmd variable ="ftp"
g:netrw_http_cmd variable ="fetch -o" if fetch is available
g:netrw_http_cmd variable ="wget -O" else if wget is available
g:netrw_list_cmd variable ="ssh USEPORT HOSTNAME ls -Fa"
g:netrw_rcp_cmd variable ="rcp"
g:netrw_rsync_cmd variable ="rsync -a"
g:netrw_scp_cmd variable ="scp -q"
g:netrw_sftp_cmd variable ="sftp" >
g:netrw_dav_cmd var ="cadaver" if cadaver is executable
g:netrw_dav_cmd var ="curl -o" elseif curl is executable
g:netrw_fetch_cmd var ="fetch -o" if fetch is available
g:netrw_ftp_cmd var ="ftp"
g:netrw_http_cmd var ="fetch -o" if fetch is available
g:netrw_http_cmd var ="wget -O" else if wget is available
g:netrw_http_put_cmd var ="curl -T"
g:netrw_list_cmd var ="ssh USEPORT HOSTNAME ls -Fa"
g:netrw_rcp_cmd var ="rcp"
g:netrw_rsync_cmd var ="rsync -a"
g:netrw_scp_cmd var ="scp -q"
g:netrw_sftp_cmd var ="sftp" >
-------------------------------------------------------------------------
<
*netrw-ftp*
@@ -1097,16 +1101,20 @@ QUICK REFERENCE: MAPS *netrw-browse-maps* {{{2
mapping defined before netrw is autoloaded,
then a double clicked leftmouse button will return
to the netrw browser window. See |g:netrw_retmap|.
<s-leftmouse> (gvim only) like mf, will mark files
<s-leftmouse> (gvim only) like mf, will mark files. Dragging
the shifted leftmouse will mark multiple files.
(see |netrw-mf|)
(to disable mouse buttons while browsing: |g:netrw_mousemaps|)
*netrw-quickcom* *netrw-quickcoms*
QUICK REFERENCE: COMMANDS *netrw-explore-cmds* *netrw-browse-cmds* {{{2
:NetrwClean[!] ...........................................|netrw-clean|
:NetrwSettings ...........................................|netrw-settings|
:NetrwClean[!]............................................|netrw-clean|
:NetrwSettings............................................|netrw-settings|
:Ntree....................................................|netrw-ntree|
:Explore[!] [dir] Explore directory of current file......|netrw-explore|
:Hexplore[!] [dir] Horizontal Split & Explore.............|netrw-explore|
:Lexplore [dir] Left Explorer Toggle...................|netrw-explore|
:Nexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
:Pexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
:Rexplore Return to Explorer.....................|netrw-explore|
@@ -1321,6 +1329,17 @@ See |g:netrw_dirhistmax| for how to control the quantity of history stack
slots.
CHANGING TREE TOP *netrw-ntree* *:Ntree*
One may specify a new tree top for tree listings using >
:Ntree [dirname]
Without a "dirname", the current line is used (and any leading depth
information is elided).
With a "dirname", the specified directory name is used.
NETRW CLEAN *netrw-clean* *:NetrwClean*
With :NetrwClean one may easily remove netrw from one's home directory;
@@ -1458,7 +1477,7 @@ Associated setting variable: |g:netrw_localrmdir| |g:netrw_rm_cmd|
*netrw-explore* *netrw-hexplore* *netrw-nexplore* *netrw-pexplore*
*netrw-rexplore* *netrw-sexplore* *netrw-texplore* *netrw-vexplore*
*netrw-rexplore* *netrw-sexplore* *netrw-texplore* *netrw-vexplore* *netrw-lexplore*
DIRECTORY EXPLORATION COMMANDS {{{2
:[N]Explore[!] [dir]... Explore directory of current file *:Explore*
@@ -1467,6 +1486,7 @@ DIRECTORY EXPLORATION COMMANDS {{{2
:[N]Sexplore[!] [dir]... Split&Explore current file's directory *:Sexplore*
:Texplore [dir]... Tab & Explore *:Texplore*
:[N]Vexplore[!] [dir]... Vertical Split & Explore *:Vexplore*
:Lexplore [dir]... Left Explorer Toggle *:Lexplore*
Used with :Explore **/pattern : (also see |netrw-starstar|)
:Nexplore............. go to next matching file *:Nexplore*
@@ -1478,6 +1498,9 @@ DIRECTORY EXPLORATION COMMANDS {{{2
window will take over that window. Normally the splitting is taken
horizontally.
:Explore! is like :Explore, but will use vertical splitting.
:Lexplore [dir] toggles an Explorer window on the left hand side
of the current tab It will open a netrw window on the current
directory if [dir] is omitted.
:Sexplore will always split the window before invoking the local-directory
browser. As with Explore, the splitting is normally done
horizontally.
@@ -1486,7 +1509,7 @@ DIRECTORY EXPLORATION COMMANDS {{{2
:Hexplore! [dir] does an :Explore with |:aboveleft| horizontal splitting.
:Vexplore [dir] does an :Explore with |:leftabove| vertical splitting.
:Vexplore! [dir] does an :Explore with |:rightbelow| vertical splitting.
:Texplore [dir] does a tabnew before generating the browser window
:Texplore [dir] does a |:tabnew| before generating the browser window
By default, these commands use the current file's directory. However, one may
explicitly provide a directory (path) to use.
@@ -1505,6 +1528,8 @@ windows should have.
of the <2-leftmouse> map (which is only available under gvim and
cooperative terms).
Also see: |g:netrw_alto| |g:netrw_altv| |g:netrw_winsize|
*netrw-star* *netrw-starpat* *netrw-starstar* *netrw-starstarpat*
EXPLORING WITH STARS AND PATTERNS
@@ -1696,9 +1721,36 @@ As a quick shortcut, one may press >
to toggle between hiding files which begin with a period (dot) and not hiding
them.
Associated setting variable: |g:netrw_list_hide| |g:netrw_hide|
Associated setting variables: |g:netrw_list_hide| |g:netrw_hide|
Associated topics: |netrw-a| |netrw-ctrl-h| |netrw-mh|
*netrw-gitignore*
Netrw provides a helper function 'netrw_gitignore#Hide()' that, when used with
|g:netrw_list_hide| automatically hides all git-ignored files.
'netrw_gitignore#Hide' searches for patterns in the following files:
'./.gitignore'
'./.git/info/exclude'
global gitignore file: `git config --global core.excludesfile`
system gitignore file: `git config --system core.excludesfile`
Files that do not exist, are ignored.
Git-ignore patterns are taken from existing files, and converted to patterns for
hiding files. For example, if you had '*.log' in your '.gitignore' file, it
would be converted to '.*\.log'.
To use this function, simply assign it's output to |g:netrw_list_hide| option.
Example: let g:netrw_list_hide= netrw_gitignore#Hide()
Git-ignored files are hidden in Netrw.
Example: let g:netrw_list_hide= netrw_gitignore#Hide('my_gitignore_file')
Function can take additional files with git-ignore patterns.
Example: g:netrw_list_hide= netrw_gitignore#Hide() . '.*\.swp$'
Combining 'netrw_gitignore#Hide' with custom patterns.
IMPROVING BROWSING *netrw-listhack* *netrw-ssh-hack* {{{2
Especially with the remote directory browser, constantly entering the password
@@ -1778,6 +1830,15 @@ passwords:
http://sial.org/howto/openssh/publickey-auth/
Ssh hints:
Thomer Gil has provided a hint on how to speed up netrw+ssh:
http://thomer.com/howtos/netrw_ssh.html
Alex Young has several hints on speeding ssh up:
http://usevim.com/2012/03/16/editing-remote-files/
LISTING BOOKMARKS AND HISTORY *netrw-qb* *netrw-listbookmark* {{{2
Pressing "qb" (query bookmarks) will list both the bookmarked directories and
@@ -1800,8 +1861,8 @@ directory. Attempts to make a local directory that already exists (as either
a file or a directory) will be detected, reported on, and ignored.
Related topics: |netrw-D|
Associated setting variables: |g:netrw_localmkdir| |g:netrw_mkdir_cmd|
|g:netrw_remote_mkdir|
Associated setting variables: |g:netrw_localmkdir| |g:netrw_mkdir_cmd|
|g:netrw_remote_mkdir| |netrw-%|
MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY *netrw-c* {{{2
@@ -1860,6 +1921,10 @@ like >
<
into $HOME/.vim/after/syntax/netrw.vim .
If the mouse is enabled and works with your vim, you may use <s-leftmouse> to
mark one or more files. You may mark multiple files by dragging the shifted
leftmouse. (see |netrw-mouse|)
*markfilelist* *global_markfilelist* *local_markfilelist*
All marked files are entered onto the global marked file list; there is only
one such list. In addition, every netrw buffer also has its own local marked
@@ -2114,7 +2179,15 @@ your browsing preferences. (see also: |netrw-settings|)
--- -----------
Var Explanation
--- -----------
< *g:netrw_alto* change from above splitting to below splitting
< *g:netrw_altfile* some like |CTRL-^| to return to the last
edited file. Choose that by setting this
parameter to 1.
Others like |CTRL-^| to return to the
netrw browsing buffer. Choose that by setting
this parameter to 0.
default: =0
*g:netrw_alto* change from above splitting to below splitting
by setting this variable (see |netrw-o|)
default: =&sb (see |'sb'|)
@@ -2142,6 +2215,10 @@ your browsing preferences. (see also: |netrw-settings|)
to get vertical splitting instead of
horizontal splitting.
Related topics:
|netrw-cr| |netrw-C|
|g:netrw_alto| |g:netrw_altv|
*g:netrw_browsex_viewer* specify user's preference for a viewer: >
"kfmclient exec"
"gnome-open"
@@ -2303,10 +2380,19 @@ your browsing preferences. (see also: |netrw-settings|)
stamp information and file size)
= 2: wide listing (multiple files in columns)
= 3: tree style listing
*g:netrw_list_hide* comma separated pattern list for hiding files
Patterns are regular expressions (see |regexp|)
Example: let g:netrw_list_hide= '.*\.swp$'
default: ""
There's some special support for git-ignore
files: you may add the output from the helper
function 'netrw_gitignore#Hide() automatically
hiding all gitignored files.
For more details see |netrw-gitignore|.
Examples:
let g:netrw_list_hide= '.*\.swp$'
let g:netrw_list_hide= netrw_gitignore#Hide().'.*\.swp$'
default: ""
*g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
="copy" Windows
@@ -2551,6 +2637,8 @@ To open a file in netrw's current directory, press "%". This map will
query the user for a new filename; an empty file by that name will be
placed in the netrw's current directory (ie. b:netrw_curdir).
Related topics: |netrw-d|
PREVIEW WINDOW *netrw-p* *netrw-preview* {{{2
@@ -2655,7 +2743,7 @@ One may select a netrw window for editing with the "C" mapping, or by setting
g:netrw_chgwin to the selected window number. Subsequent selection of a file
to edit (|netrw-cr|) will use that window.
Related topics: |netrw-cr|
Related topics: |netrw-cr| |g:netrw_browse_split|
Associated setting variables: |g:netrw_chgwin|
@@ -2988,15 +3076,78 @@ which is loaded automatically at startup (assuming :set nocp).
read/write your file over the network in a separate tab.
To save the file, use >
:tabnext
:set bt=
:w! DBG
< Please send that information to <netrw.vim>'s maintainer, >
< Furthermore, it'd be helpful if you would type >
:Dsep
< after each command you issue, thereby making it easier to
associate which part of the debugging trace is due to which
command.
Please send that information to <netrw.vim>'s maintainer, >
NdrOchip at ScampbellPfamily.AbizM - NOSPAM
<
==============================================================================
12. History *netrw-history* {{{1
v150: Jul 12, 2013 * removed a "keepalt" to allow ":e #" to
return to the netrw directory listing
Jul 13, 2013 * (Jonas Diemer) suggested changing
a <cWORD> to <cfile>.
Jul 21, 2013 * (Yuri Kanivetsky) reported that netrw's
use of mkdir did not produce directories
following umask.
Aug 27, 2013 * introduced |g:netrw_altfile| option
Sep 05, 2013 * s:Strlen() now uses |strdisplaywidth()|
when available, by default
Sep 12, 2013 * (Selyano Baldo) reported that netrw wasn't
opening some directories properly from the
command line.
Nov 09, 2013 * |:Lexplore| introduced
* (Ondrej Platek) reported an issue with
netrw's trees (P15). Fixed.
* (Jorge Solis) reported that "t" in
tree mode caused netrw to forget its
line position.
Dec 05, 2013 * Added <s-leftmouse> file marking
(see |netrw-mf|)
Dec 05, 2013 * (Yasuhiro Matsumoto) Explore should use
strlen() instead s:Strlen() when handling
multibyte chars with strpart()
(ie. strpart() is byte oriented, not
display-width oriented).
Dec 09, 2013 * (Ken Takata) Provided a patch; File sizes
and a portion of timestamps were wrongly
highlighted with the directory color when
setting `:let g:netrw_liststyle=1` on Windows.
* (Paul Domaskis) noted that sometimes
cursorline was activating in non-netrw
windows. All but one setting of cursorline
was done via setl; there was one that was
overlooked. Fixed.
Dec 24, 2013 * (esquifit) asked that netrw allow the
/cygdrive prefix be a user-alterable
parameter.
Jan 02, 2014 * Fixed a problem with netrw-based ballon
evaluation (ie. netrw#NetrwBaloonHelp()
not having been loaded error messages)
Jan 03, 2014 * Fixed a problem with tree listings
* New command installed: |:Ntree|
Jan 06, 2014 * (Ivan Brennan) reported a problem with
|netrw-P|. Fixed.
Jan 06, 2014 * Fixed a problem with |netrw-P| when the
modified file was to be abandoned.
Jan 15, 2014 * (Matteo Cavalleri) reported that when the
banner is suppressed and tree listing is
used, a blank line was left at the top of
the display. Fixed.
Jan 20, 2014 * (Gideon Go) reported that, in tree listing
style, with a previous window open, that
the wrong directory was being used to open
a file. Fixed. (P21)
v149: Apr 18, 2013 * in wide listing format, now have maps for
w and b to move to next/previous file
Apr 26, 2013 * one may now copy files in the same
@@ -3009,7 +3160,8 @@ which is loaded automatically at startup (assuming :set nocp).
May 01, 2013 * :Explore ftp://... wasn't working. Fixed.
May 02, 2013 * introduced |g:netrw_bannerbackslash| as
requested by Paul Domaskis.
May 18, 2013 * More fixes for windows (not cygwin)
Jul 03, 2013 * Explore now avoids splitting when a buffer
will be hidden.
v148: Apr 16, 2013 * changed Netrw's Style menu to allow direct
choice of listing style, hiding style, and
sorting style

View File

@@ -188,7 +188,7 @@ WINDOWS *vimball-windows*
* Changed silent! to sil! (shorter)
* Safed |'swf'| setting (during vimball extraction,
its now turned off)
32 : May 19, 2010 * (Christian Brabrandt) :so someplugin.vba and
32 : May 19, 2010 * (Christian Brabandt) :so someplugin.vba and
:so someplugin.vba.gz (and the other supported
compression types) now works
* (Jan Steffens) added support for xz compression

View File

@@ -838,7 +838,7 @@ Unfortunately, there is no standard way to run the tests.
The alltests.py script seems to be used quite often, that's all.
Useful values for the 'makeprg' options therefore are:
setlocal makeprg=./alltests.py " Run a testsuite
setlocal makeprg=python % " Run a single testcase
setlocal makeprg=python\ %:S " Run a single testcase
Also see http://vim.sourceforge.net/tip_view.php?tip_id=280.
@@ -1332,7 +1332,7 @@ or: >
Here is an alternative from Michael F. Lamb for Unix that filters the errors
first: >
:setl errorformat=%Z%f:%l:\ %m,%A%p^,%-G%*[^sl]%.%#
:setl makeprg=javac\ %\ 2>&1\ \\\|\ vim-javac-filter
:setl makeprg=javac\ %:S\ 2>&1\ \\\|\ vim-javac-filter
You need to put the following in "vim-javac-filter" somewhere in your path
(e.g., in ~/bin) and make it executable: >

View File

@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 7.4. Last change: 2013 Jul 25
*repeat.txt* For Vim version 7.4. Last change: 2014 Feb 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -26,10 +26,14 @@ Chapter 26 of the user manual introduces repeating |usr_26.txt|.
Simple changes can be repeated with the "." command. Without a count, the
count of the last change is used. If you enter a count, it will replace the
last one. If the last change included a specification of a numbered register,
the register number will be incremented. See |redo-register| for an example
how to use this. Note that when repeating a command that used a Visual
selection, the same SIZE of area is used, see |visual-repeat|.
last one. |v:count| and |v:count1| will be set.
If the last change included a specification of a numbered register, the
register number will be incremented. See |redo-register| for an example how
to use this.
Note that when repeating a command that used a Visual selection, the same SIZE
of area is used, see |visual-repeat|.
*@:*
@: Repeat last command-line [count] times.

View File

@@ -1,4 +1,4 @@
*sign.txt* For Vim version 7.4. Last change: 2012 Jul 10
*sign.txt* For Vim version 7.4. Last change: 2013 Nov 17
VIM REFERENCE MANUAL by Gordon Prieur
@@ -173,7 +173,7 @@ REMOVING SIGNS *:sign-unplace* *E159*
Remove the placed sign at the cursor position.
LISTING PLACED SIGNS
LISTING PLACED SIGNS *:sign-place-list*
:sign place file={fname}
List signs placed in file {fname}.

View File

@@ -1,4 +1,4 @@
*spell.txt* For Vim version 7.4. Last change: 2013 Jul 17
*spell.txt* For Vim version 7.4. Last change: 2013 Nov 12
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -269,6 +269,13 @@ In a table:
latin1 yi transliterated Yiddish
utf-8 yi-tr transliterated Yiddish
*spell-cjk*
Chinese, Japanese and other East Asian characters are normally marked as
errors, because spell checking of these characters is not supported. If
'spelllang' includes "cjk", these characters are not marked as errors. This
is useful when editing text with spell checking while some Asian words are
present.
SPELL FILES *spell-load*

View File

@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.4. Last change: 2013 Aug 22
*syntax.txt* For Vim version 7.4. Last change: 2014 Feb 25
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1281,6 +1281,32 @@ Finally, some vendors support hexadecimal constants. To handle them, add >
to your startup file.
EUPHORIA *euphoria3.vim* *euphoria4.vim* *ft-euphoria-syntax*
Two syntax highlighting files exists for Euphoria. One for Euphoria
version 3.1.1, which is the default syntax highlighting file, and one for
Euphoria version 4.0.5 or later.
Euphoria version 3.1.1 (http://www.rapideuphoria.com/) is still necessary
for developing applications for the DOS platform, which Euphoria version 4
(http://www.openeuphoria.org/) does not support.
The following file extensions are auto-detected as Euphoria file type:
*.e, *.eu, *.ew, *.ex, *.exu, *.exw
*.E, *.EU, *.EW, *.EX, *.EXU, *.EXW
To select syntax highlighting file for Euphoria, as well as for
auto-detecting the *.e and *.E file extensions as Euphoria file type,
add the following line to your startup file: >
:let filetype_euphoria="euphoria3"
or
:let filetype_euphoria="euphoria4"
ERLANG *erlang.vim* *ft-erlang-syntax*
Erlang is a functional programming language developed by Ericsson. Files with

View File

@@ -12,6 +12,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
% motion.txt /*%*
%:. cmdline.txt /*%:.*
%:8 cmdline.txt /*%:8*
%:S cmdline.txt /*%:S*
%:e cmdline.txt /*%:e*
%:gs cmdline.txt /*%:gs*
%:h cmdline.txt /*%:h*
@@ -1788,6 +1789,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:3match pattern.txt /*:3match*
::. cmdline.txt /*::.*
::8 cmdline.txt /*::8*
::S cmdline.txt /*::S*
::e cmdline.txt /*::e*
::gs cmdline.txt /*::gs*
::h cmdline.txt /*::h*
@@ -1827,6 +1829,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:GnatPretty ft_ada.txt /*:GnatPretty*
:GnatTags ft_ada.txt /*:GnatTags*
:Hexplore pi_netrw.txt /*:Hexplore*
:Lexplore pi_netrw.txt /*:Lexplore*
:Man filetype.txt /*:Man*
:MkVimball pi_vimball.txt /*:MkVimball*
:N editing.txt /*:N*
@@ -1838,6 +1841,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:Nread pi_netrw.txt /*:Nread*
:Ns pi_netrw.txt /*:Ns*
:Nsource pi_netrw.txt /*:Nsource*
:Ntree pi_netrw.txt /*:Ntree*
:Nw pi_netrw.txt /*:Nw*
:Nwrite pi_netrw.txt /*:Nwrite*
:P various.txt /*:P*
@@ -2214,6 +2218,9 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:foldopen fold.txt /*:foldopen*
:for eval.txt /*:for*
:fu eval.txt /*:fu*
:func-abort eval.txt /*:func-abort*
:func-dict eval.txt /*:func-dict*
:func-range eval.txt /*:func-range*
:function eval.txt /*:function*
:function-verbose eval.txt /*:function-verbose*
:g repeat.txt /*:g*
@@ -2300,6 +2307,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:keepj motion.txt /*:keepj*
:keepjumps motion.txt /*:keepjumps*
:keepmarks motion.txt /*:keepmarks*
:keepp cmdline.txt /*:keepp*
:keeppatterns cmdline.txt /*:keeppatterns*
:l various.txt /*:l*
:lN quickfix.txt /*:lN*
:lNext quickfix.txt /*:lNext*
@@ -2740,6 +2749,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:sign-jump sign.txt /*:sign-jump*
:sign-list sign.txt /*:sign-list*
:sign-place sign.txt /*:sign-place*
:sign-place-list sign.txt /*:sign-place-list*
:sign-undefine sign.txt /*:sign-undefine*
:sign-unplace sign.txt /*:sign-unplace*
:sil various.txt /*:sil*
@@ -4296,6 +4306,7 @@ E878 pattern.txt /*E878*
E879 syntax.txt /*E879*
E88 windows.txt /*E88*
E880 if_pyth.txt /*E880*
E881 autocmd.txt /*E881*
E89 message.txt /*E89*
E90 message.txt /*E90*
E91 options.txt /*E91*
@@ -4902,6 +4913,7 @@ builtin_terms term.txt /*builtin_terms*
byte-count editing.txt /*byte-count*
byte2line() eval.txt /*byte2line()*
byteidx() eval.txt /*byteidx()*
byteidxcomp() eval.txt /*byteidxcomp()*
bzip2 pi_gzip.txt /*bzip2*
c change.txt /*c*
c.vim syntax.txt /*c.vim*
@@ -5460,6 +5472,8 @@ errors message.txt /*errors*
escape intro.txt /*escape*
escape() eval.txt /*escape()*
escape-bar version4.txt /*escape-bar*
euphoria3.vim syntax.txt /*euphoria3.vim*
euphoria4.vim syntax.txt /*euphoria4.vim*
eval eval.txt /*eval*
eval() eval.txt /*eval()*
eval-examples eval.txt /*eval-examples*
@@ -5726,6 +5740,7 @@ ft-dosbatch-syntax syntax.txt /*ft-dosbatch-syntax*
ft-dtd-syntax syntax.txt /*ft-dtd-syntax*
ft-eiffel-syntax syntax.txt /*ft-eiffel-syntax*
ft-erlang-syntax syntax.txt /*ft-erlang-syntax*
ft-euphoria-syntax syntax.txt /*ft-euphoria-syntax*
ft-flexwiki-syntax syntax.txt /*ft-flexwiki-syntax*
ft-form-syntax syntax.txt /*ft-form-syntax*
ft-fortran-indent indent.txt /*ft-fortran-indent*
@@ -5878,6 +5893,7 @@ g:ada_standard_types ft_ada.txt /*g:ada_standard_types*
g:ada_with_gnat_project_files ft_ada.txt /*g:ada_with_gnat_project_files*
g:ada_withuse_ordinary ft_ada.txt /*g:ada_withuse_ordinary*
g:clojure_align_multiline_strings indent.txt /*g:clojure_align_multiline_strings*
g:clojure_align_subforms indent.txt /*g:clojure_align_subforms*
g:clojure_fuzzy_indent indent.txt /*g:clojure_fuzzy_indent*
g:clojure_fuzzy_indent_blacklist indent.txt /*g:clojure_fuzzy_indent_blacklist*
g:clojure_fuzzy_indent_patterns indent.txt /*g:clojure_fuzzy_indent_patterns*
@@ -5926,6 +5942,7 @@ g:html_use_css syntax.txt /*g:html_use_css*
g:html_use_encoding syntax.txt /*g:html_use_encoding*
g:html_use_xhtml syntax.txt /*g:html_use_xhtml*
g:html_whole_filler syntax.txt /*g:html_whole_filler*
g:netrw_altfile pi_netrw.txt /*g:netrw_altfile*
g:netrw_alto pi_netrw.txt /*g:netrw_alto*
g:netrw_altv pi_netrw.txt /*g:netrw_altv*
g:netrw_banner pi_netrw.txt /*g:netrw_banner*
@@ -5960,6 +5977,7 @@ g:netrw_glob_escape pi_netrw.txt /*g:netrw_glob_escape*
g:netrw_hide pi_netrw.txt /*g:netrw_hide*
g:netrw_home pi_netrw.txt /*g:netrw_home*
g:netrw_http_cmd pi_netrw.txt /*g:netrw_http_cmd*
g:netrw_http_put_cmd pi_netrw.txt /*g:netrw_http_put_cmd*
g:netrw_http_xcmd pi_netrw.txt /*g:netrw_http_xcmd*
g:netrw_ignorenetrc pi_netrw.txt /*g:netrw_ignorenetrc*
g:netrw_keepdir pi_netrw.txt /*g:netrw_keepdir*
@@ -6360,6 +6378,7 @@ hl-WarningMsg syntax.txt /*hl-WarningMsg*
hl-WildMenu syntax.txt /*hl-WildMenu*
hlID() eval.txt /*hlID()*
hlexists() eval.txt /*hlexists()*
hlsearch-variable eval.txt /*hlsearch-variable*
holy-grail index.txt /*holy-grail*
home intro.txt /*home*
home-replace editing.txt /*home-replace*
@@ -6980,6 +6999,7 @@ netrw-gd pi_netrw.txt /*netrw-gd*
netrw-getftype pi_netrw.txt /*netrw-getftype*
netrw-gf pi_netrw.txt /*netrw-gf*
netrw-gh pi_netrw.txt /*netrw-gh*
netrw-gitignore pi_netrw.txt /*netrw-gitignore*
netrw-gp pi_netrw.txt /*netrw-gp*
netrw-gx pi_netrw.txt /*netrw-gx*
netrw-handler pi_netrw.txt /*netrw-handler*
@@ -6994,6 +7014,7 @@ netrw-incompatible pi_netrw.txt /*netrw-incompatible*
netrw-internal-variables pi_netrw.txt /*netrw-internal-variables*
netrw-intro-browse pi_netrw.txt /*netrw-intro-browse*
netrw-leftmouse pi_netrw.txt /*netrw-leftmouse*
netrw-lexplore pi_netrw.txt /*netrw-lexplore*
netrw-list pi_netrw.txt /*netrw-list*
netrw-listbookmark pi_netrw.txt /*netrw-listbookmark*
netrw-listhack pi_netrw.txt /*netrw-listhack*
@@ -7024,6 +7045,7 @@ netrw-netrc pi_netrw.txt /*netrw-netrc*
netrw-nexplore pi_netrw.txt /*netrw-nexplore*
netrw-noload pi_netrw.txt /*netrw-noload*
netrw-nread pi_netrw.txt /*netrw-nread*
netrw-ntree pi_netrw.txt /*netrw-ntree*
netrw-nwrite pi_netrw.txt /*netrw-nwrite*
netrw-o pi_netrw.txt /*netrw-o*
netrw-options pi_netrw.txt /*netrw-options*
@@ -7579,6 +7601,7 @@ s/\2 change.txt /*s\/\\2*
s/\3 change.txt /*s\/\\3*
s/\9 change.txt /*s\/\\9*
s/\<CR> change.txt /*s\/\\<CR>*
s/\= change.txt /*s\/\\=*
s/\E change.txt /*s\/\\E*
s/\L change.txt /*s\/\\L*
s/\U change.txt /*s\/\\U*
@@ -7789,6 +7812,7 @@ spell-affix-flags spell.txt /*spell-affix-flags*
spell-affix-mbyte spell.txt /*spell-affix-mbyte*
spell-affix-not-supported spell.txt /*spell-affix-not-supported*
spell-affix-vim spell.txt /*spell-affix-vim*
spell-cjk spell.txt /*spell-cjk*
spell-compound spell.txt /*spell-compound*
spell-dic-format spell.txt /*spell-dic-format*
spell-double-scoring spell.txt /*spell-double-scoring*
@@ -8366,6 +8390,7 @@ v:folddashes eval.txt /*v:folddashes*
v:foldend eval.txt /*v:foldend*
v:foldlevel eval.txt /*v:foldlevel*
v:foldstart eval.txt /*v:foldstart*
v:hlsearch eval.txt /*v:hlsearch*
v:insertmode eval.txt /*v:insertmode*
v:key eval.txt /*v:key*
v:lang eval.txt /*v:lang*

View File

@@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 7.4. Last change: 2013 Jul 28
*tagsrch.txt* For Vim version 7.4. Last change: 2013 Oct 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -771,11 +771,11 @@ CTRL-W i Open a new window, with the cursor on the first line
*:dli* *:dlist*
:[range]dli[st][!] [/]string[/]
Like "[D" and "]D", but search in [range] lines
Like `[D` and `]D`, but search in [range] lines
(default: whole file).
See |:search-args| for [/] and [!]. {not in Vi}
Note that ":dl" works like ":delete" with the "l"
register.
Note that `:dl` works like `:delete` with the "l"
flag, not `:dlist`.
*[_CTRL-D*
[ CTRL-D Jump to the first macro definition that contains the

View File

@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.4. Last change: 2013 Sep 05
*todo.txt* For Vim version 7.4. Last change: 2014 Mar 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -34,86 +34,219 @@ not be repeated below, unless there is extra information.
*known-bugs*
-------------------- Known bugs and current work -----------------------
NFA engine mismatch, with example. (ZyX, 2013 Aug 29)
Regexp problems:
- NFA regexp doesn't count tab matches correctly. (Urtica Dioica / gaultheria
Shallon, 2013 Nov 18)
- After patch 7.4.100 there is still a difference between NFA and old engine.
25 a's with pattern \v^(aa+)\1+$ (Urtica Dioica, 2013 Nov 21) Also: 9 a's
with pattern \v^(a{-2,})\1+$ (Nov 23)
- NFA engine combining character mismatch. (glts, 2013 Aug 27)
Remark from Dominique, Aug 27
- Issue 164: freeze on regexp search.
- NFA problem with non-greedy match and branches. (Ingo Karkat, 2013 Nov 29)
- Ignorecase not handled properly for multi-byte characters. (Axel Bender,
2013 Dec 11)
- Using \@> and \?. (Brett Stahlman, 2013 Dec 21) Remark from Marcin Szamotulski
Remark from Brett 2014 Jan 6 and 7.
- Bug with back references. (Lech Lorens, 2014 Feb 3)
- Bug when using \>. (Ramel, 2014 Feb 2) (Aaron Bohannon, 2014 Feb 13)
php syntax file update. (Jason Woofenden, Aug 30)
Problem that a previous silent ":throw" causes a following try/catch not to
work. (ZyX, 2013 Sep 28)
Problem positioning the cursor after auto-formatting without a comment. (Tor
Perkins, 2013 Sep 1)
Patch for VMS. (Zoltan Arpadffy, 2014 Mar 6)
Popup menu: first item is not selected when typing more than one character?
Euphoria syntax, Shian Lee, Feb 27
Patch to add async functionality. (Geoff Greer, 2013 Sep 1)
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
directory exists. (Sergio Gallelli, 2013 Dec 29)
Patch to avoid mouse cursor flickering. (Ken Takata,, 2013 Sep 2)
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
Should win_redr_custom() not be allowed to use recursively?
(Yasuhiro Matsumoto, 2013 Aug 15)
Can't build Vim with Perl when -Dusethreads is not specified for building
perl, and building with --enable-perlinterp=dynamic.
Patch by Yasuhiro Matsumoto, 2014 Feb 24.
NFA engine combining character mismatch. (glts, 2013 Aug 27)
Remark Dominique, Aug 27
Update for Clojure ftplugin. (Sung Pae). Await discussion about formatting in
ftplugins.
Issue 164: freeze on regexp search.
Update for phpcomplete.vim. (Complex, 2014 Mar 1)
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
Patch to fix substitute prompt with line number. (Benoit Pierre, 2013 Aug 27,
third message)
Using autoconf 2.69 gives a lot of warnings.
Patch to avoid problem with colon in file name. (Yasuhiro Matsumoto, 2013 Sep
5) Only copy file name when needed.
Patch to allow for negative index in string. (LCD, 2014 Feb 13)
Feb 14 with test. Or does this intentionally not work?
Include systemverilog file? Two votes yes.
Issue 197: ]P doesn't paste over Visual selection. With patch from Christian
Brabandt, Feb 6. Issue 197.
Wrapping around end of file does not work for "." after "cgn". (Dimitar
Dimitrov)
Patch by Christian Brabandt, 2013 Aug 22
Make 'lispwords' global-local. (Sung Pae, 2014 Feb 16)
Problem with 'spellsuggest' file, only works for some words.
(Cesar Romani, 2013 Aug 20) Depends on file name? (Aug 24)
Additional remark by glts: the suggested words are marked bad?
8 non-ASCII font names don't work. Need to convert from 'encoding' and use
the wide functions. Patch by Ken Takata, 2013 Dec 22.
Update 2014 Jan 6.
Syntax highlighting slow (hangs) in SASS file. (Niek Bosch, 2013 Aug 21)
Problem with 'errorformat'. Patch by Lcd, 2014 Feb 21. With test.
Patch for the problem that a mapping where the second byte is 0x80 isn't
handled correcly. (Nobuhiro Takasaki, 2014 Feb 11)
Update 2014 Mar 8.
Patch for mksession. (Nobuhiro Takasaki, 2014 Jan 31)
Also fixes another problem (following email)
Patch to use rubyarchhdrdir for Ruby 2.x. (James McCoy, 2014 Feb 24)
Dynamic Ruby linking issues. Patch by Danek Duvall (2014 Feb 26)
and by Yukihiro Nakadaira (2014 Feb 27)
Patch: Detect grep options for Solaris. (Danek Duvall, 2014 Feb 26)
Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
Syntax file for gnuplot. Existing one is very old. (Andrew Rasmussen, 2014
Feb 24)
Crash with ":%s/\n//g" on long file. (Aidan Marlin, 2014 Jan 15)
Christian Brabandt: patch to run this into a join. (2014 Jan 18)
Suggestion to not save replaced line for undo: Yukihiro Nakadaira, 2014 Jan
25.
Add digraph for Rouble: =P. What's the Unicode?
Bug: "!ls %" expands parenthesis in %, but not spaces. So this doesn't work
either: ':!ls "%"'.
Patch by Gary Johnson, 2014 Mar 6.
Issue 174: Detect Mason files.
Phpcomplete.vim update. (Complex, 2014 Jan 15)
PHP syntax is extremely slow. (Anhad Jai Singh, 2014 Jan 19)
Can we make ":unlet $VAR" use unsetenv() to delete the env var?
What for systems that don't have unsetenv()?
spec ftplugin: patch from Igor Gnatenko, 2014 Jan 26.
Include if maintainers don't respond.
Patch to make has() check for Vim version and patch at the same time.
(Marc Weber, 2013 Jun 7)
Regression on pach 7.4.034. (Ingo Karkat, 2013 Nov 20)
Patch to include smack support (Linux security library). (Jose Bollo, 2014 Jan
14) Update Jan 15.
Tag list, as used for :tjump, does not unescape regexp. (Gary Johnson, 2014 Jan
6) With patch in another message.
VMS: Select() doesn't work properly, typing ESC may hang Vim. Use sys$qiow
instead. (Samuel Ferencik, 2013 Sep 28)
Series of patches for NL vs NUL handling. (ZyX, 2013 Nov 3, Nov 9)
Patch for XDG base directory support. (Jean François Bignolles, 2014 Mar 4)
Patch to add flag to shortmess to avoid giving completion messages.
(Shougo Matsu, 2014 Jan 6, update Jan 11)
Patch to add v:completed_item. (Shougo Matsu, 2013 Nov 29).
Patch to make test 100 work on MS-Windows. (Taro Muraoka, 2013 Dec 12)
Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)
Perl: support for Activestate perl 5.18: Issue 170.
Several syntax file match "^\s*" which may get underlined if that's in the
highlight group. Add a "\zs" after it?
Patch to fix temp directories for Windows, so that it works without tweaking.
Issue 28.
Go through more coverity reports.
Include Haiku port? (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)
Some quickfix messages appear twice. (Gary Johnson, 2014 Feb 16)
Patch by Christian Brabandt, 2014 Feb 17.
Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
With "$" in 'cpoptions' the popup menu isn't fully drawn. (Matti Niemenmaa,
2013 Sep 5)
"gUgn" cannot be repeated, while "dgn" can. (Dimitar Dimitrov)
Patch by Christian Brabandt (2013 Aug 12)
Patch to add "ntab" item in 'listchars' to repeat first character. (Nathaniel
Braun, pragm, 2013 Oct 13) Again 2014 Mar 5.
Several Win32 functions are not using Unicode.
Patches to fix this. (Ken Takata, 2013 Aug 9)
Undo message is not always properly displayed. Patch by Ken Takata, 2013 oct
3. Doesn't work properly according to Yukihiro Nakadaira.
/[b-a] gives error E16, should probably be E769.
7 Windows XP: When using "ClearType" for text smoothing, a column of yellow
pixels remains when typing spaces in front of a "D" ('guifont' set to
"lucida_console:h8").
Patch by Thomas Tuegel, also for GTK, 2013 Nov 24
:help gives example for z?, but it does not work. m? and t? do work.
Python: Extended funcrefs: use func_T* structure in place of char_u* function
names.
(ZyX, 2013 Jul 15, update Sep 22, 24, 28; Update 2013 Dec 15, 2014 Jan 6)
Also fixes Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
Patch to add funcref to Lua. (Luis Carvalho, 2013 Sep 4)
Missing tests.
With tests: Sep 5.
Patch to fix that on suckless Terminal mousewheel up does not work.
(Ralph Eastwood, 2013 Nov 25)
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
Patch to make external commands work with multi-byte characters on Win32 when
'encoding' differs from the active codepage. (Yasuhiro Matsumoto, 2013 Aug 5)
Checking runtime scripts: Thilo Six, 2012 Jun 6.
When evaluating expression in backticks, autoload doesn't work.
(Andy Wokula, 2013 Dec 14)
Using <nr>ifoobar<esc> can slow down Vim. Patch by Christian Brabandt, 2013
Dec 13.
Fold can't be opened after ":move". (Ein Brown)
Patch from Christian Brabandt doesn't fix it completely.
Patch from Christian Brabandt to preserve upper case marks when wiping out a
buffer. (2013 Dec 9)
Patch for drag&drop reordering of GUI tab pages reordering.
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
":sign-jump" uses first window in buffer instead of current window.
Patch by James McCoy, 2013 Nov 22.
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)
Win32: use different args for SearchPath()? (Yasuhiro Matsumoto, 2009 Jan 30)
Also fixes wrong result from executable().
Update from Ken Takata, 2014 Jan 10.
Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
The BufUnload event is triggered when re-using the empty buffer.
@@ -124,6 +257,10 @@ The CompleteDone autocommand needs some info passed to it:
- The word that was selected (empty if abandoned complete)
- Type of completion: tag, omnifunc, user func.
Patch to allow more types in remote_expr(). (Lech Lorens, 2014 Jan 5)
Doesn't work for string in list. Other way to pass all types of variables
reliably?
Using ":call foo#d.f()" doesn't autoload the "foo.vim" file.
That is, calling a dictionary function on an autoloaded dict.
Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar
@@ -131,10 +268,6 @@ Works OK for echo, just not for ":call" and ":call call()". (Ted, 2011 Mar
Patch by Christian Brabandt, 2013 Mar 23.
Not 100% sure this is the right solution.
Win32: When a directory name contains an exclamation mark, completion doesn't
complete the contents of the directory. No escaping for the "!"? (Jan
Stocker, 2012 Jan 5; 2013 Aug 20)
Patch to support expression argument to sort() instead of a function name.
Yasuhiro Matsumoto, 2013 May 31.
Or should we add a more general mechanism, like lambda functions?
@@ -142,6 +275,15 @@ Or should we add a more general mechanism, like lambda functions?
Problem caused by patch 7.3.638: window->open does not update window
correctly. Issue 91.
Patch to add {lhs} to :mapclear: clear all maps starting with {lhs}.
(Christian Brabandt, 2013 Dec 9)
The garbage collector may use too much stack. Make set_ref_in_item()
iterative instead of recursive. Test program by Marc Weber (2013 Dec 10)
Exception caused by argument of return is not caught by try/catch.
(David Barnett, 2013 Nov 19)
8 'backupdir' and 'directory' should use $TMPDIR, $TMP and/or $TEMP when
defined.
Issue 28.
@@ -160,7 +302,7 @@ carried over when using :global. (Christian Brabandt, 2013 Jun 19)
Bug with 'cursorline' in diff mode. Line being scrolled into view gets
highlighted as the cursor line. (Alessandro Ivaldi, 2013 Jun 4)
Two highlighting bugs. (Zyx, 2013 Aug 18)
Two highlighting bugs. (ZyX, 2013 Aug 18)
Patch to add the bufferlist() function. (Yegappan Lakshmanan, 2013 May 5)
May 17: with winlist() and tabpagelist().
@@ -182,9 +324,6 @@ Second one. Update May 22.
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
TCL: With MSVC 2010 doesn't find Tcl_FindExecutable. (tux)
Patch to define it. (Ken Takata, 2013 Aug 12) Is this right?
MS-Windows: Patch to make tests copy files to avoid changing the fileformat of
the files under version control. (Taro Muraoka, 2013 Jul 5)
@@ -211,8 +350,18 @@ a reboot.
MS-Windows: Crash opening very long file name starting with "\\".
(Christian Brock, 2012 Jun 29)
Patch to have text objects defined by arbitrary single characters. (Daniel
Thau, 2013 Nov 20, 2014 Jan 29, 2014 Jan 31)
Ben Fritz: problem with 'selection' set to "exclusive".
Patch to select the next or previous text object if there isn't one under the
cursor. (Daniel Thau, 2013 Nov 20)
patch to add "combine" flag to syntax commands. (so8res, 2012 Dec 6)
Bug caused by patch 7.3.1288? Issue 183.
I can't reproduce it.
Syntax update problem in one buffer opened in two windows, bottom window is
not correctly updated. (Paul Harris, 2012 Feb 27)
@@ -250,9 +399,6 @@ b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan
Win32: The Python interface only works with one version of Python, selected at
compile time. Can this be made to work with version 2.1 and 2.2 dynamically?
Python: Extended funcrefs: use func_T* structure in place of char_u* function
names. (ZyX, 2013 Jul 15 and later)
Python: Be able to define a Python function that can be called directly from
Vim script. Requires converting the arguments and return value, like with
vim.bindeval().
@@ -319,10 +465,6 @@ But use "gi" instead of "a". Or use CTRL-\ CTRL-O.
Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012
Aug 16)
Have an option for spell checking to not mark any Chinese, Japanese or other
double-width characters as error. Or perhaps all characters above 256.
(Bill Sun) Helps a lot for mixed Asian and latin text.
When there are no command line arguments ":next" and ":argu" give E163, which
is confusing. Should say "the argument list is empty".
@@ -345,6 +487,8 @@ Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
Update Vim app icon (for Gnome). (Jakub Steiner, 2013 Dec 6)
Patch to use .png icons for the toolbar on MS-Windows. (Martin Gieseking, 2013
Apr 18)
@@ -357,13 +501,12 @@ And one for gui_x11.txt.
More recent version: https://retracile.net/wiki/VimBreakIndent
Posted to vim-dev by Taylor Hedberg, 2011 Nov 25
Update by Taylor Hedberg, 2013 May 30.
Updated for Vim 7.4 by Ken Takata, 2013 Oct 5.
":cd" doesn't work when current directory path contains "**".
finddir() has the same problem. (Yukihiro Nakadaira, 2012 Jan 10)
Requires a rewrite of the file_file_in_path code.
Problem with l: dictionary being locked in a function. (ZyX, 2011 Jul 21)
Should use has("browsefilter") in ftplugins. Requires patch 7.3.593.
Update for vim2html.pl. (Tyru, 2013 Feb 22)
@@ -445,8 +588,6 @@ When using a Vim server, a # in the path causes an error message.
Setting $HOME on MS-Windows is not very well documented. Suggestion by Ben
Fritz (2011 Oct 27).
Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
Bug: Windows 7 64 bit system freezes when 'clipboard' set to "unnamed" and
doing ":g/test/d". Putting every delete on the clipboard? (Robert Chan, 2011
Jun 17)
@@ -490,6 +631,8 @@ following "redir" command gives an error for not being able to access s:foo.
When setqflist() uses a filename that triggers a BufReadCmd autocommand Vim
doesn't jump to the correct line with :cfirst. (ZyX, 2011 Sep 18)
Behavior of i" and a" text objects isn't logical. (Ben Fritz, 2013 Nov 19)
7 Make "ga" show the digraph for a character, if it exists.
Patch from Christian Brabandt, 2011 Aug 19.
@@ -630,7 +773,7 @@ Assume the system converts between the actual encoding of the filesystem to
the system encoding (usually utf-8).
Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
26)
26, update 2013 Dec 14)
Problem producing tags file when hebrew.frx is present. It has a BOM.
Results in E670. (Tony Mechelynck, 2010 May 2)
@@ -668,9 +811,6 @@ C-indenting: A matching { in a comment is ignored, but intermediate { are not
checked to be in a comment. Implement FM_SKIPCOMM flag of findmatchlimit().
Issue 46.
When 'paste' is changed with 'pastetoggle', the ruler doesn't reflect this
right away. (Samuel Ferencik, 2010 Dec 7)
Mac with X11: clipboard doesn't work properly. (Raf, 2010 Aug 16)
Using CompilerSet doesn't record where an option was set from. E.g., in the
@@ -702,10 +842,6 @@ 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)
Can 'undolevels' be a buffer-local option? Helps for making big changes in
one file only, set 'ul' to -1 only for that buffer.
Patch by Christian Brabandt, 2010 Dec 17. Needs test.
Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
Additional info by Dominique Pelle. (also on 2010 Apr 10)
@@ -912,8 +1048,6 @@ system when 'encoding' is "utf-8".
Win32 GUI: last message from startup doesn't show up when there is an echoerr
command. (Cyril Slobin, 2009 Mar 13)
Win32: use different args for SearchPath()? (Yasuhiro Matsumoto, 2009 Jan 30)
Win32: completion of file name ":e c:\!test" results in ":e c:\\!test", which
does not work. (Nieko Maatjes, 2009 Jan 8, Ingo Karkat, 2009 Jan 22)
@@ -930,7 +1064,7 @@ 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)
A function on a dictionary is not profiled. (Zyx, 2010 Dec 25)
A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
Inconsistent: starting with $LANG set to es_ES.utf-8 gives Spanish
messages, even though locale is not supported. But ":lang messages
@@ -959,7 +1093,7 @@ 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)
shellescape() depends on 'shellshash' for quoting. That doesn't work when
shellescape() depends on 'shellslash' for quoting. That doesn't work when
'shellslash' is set but using cmd.exe. (Ben Fritz)
Use a different option or let it depend on whether 'shell' looks like a
unix-like shell?
@@ -992,8 +1126,6 @@ Also: swap files are in ~/tmp/ One has relative file name ".mozilla/...".
Add v:motion_force. (Kana Natsuno, 2008 Dec 6)
Maybe call it v:motiontype.
Runtime files for Clojure. (Toralf Wittner, 2008 Jun 25)
MS-Windows: editing the first, empty buffer, 'ffs' set to "unix,dos", ":enew"
doesn't set 'ff' to "unix". (Ben Fritz, 2008 Dec 5) Reusing the old buffer
probably causes this.
@@ -1002,7 +1134,7 @@ probably causes this.
2009 Jan 16)
Patch to support strikethrough next to bold and italic. (Christian Brabandt,
2013 Jul 30)
2013 Jul 30) Update from Ken Takata, 2013 Oct 12.
Document that default font in Athena can be set with resources:
XtDefaultFont: "9x15"
@@ -1370,14 +1502,17 @@ Win32: When 'shell' is bash shellescape() doesn't always do the right thing.
Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape()
only takes 'shellslash' into account.
Pressing the 'pastetoggle' key doesn't update the statusline. (Jan Christoph
Ebersbach, 2008 Feb 1)
Menu item that does "xxd -r" doesn't work when 'fileencoding' is utf-16.
Check for this and use iconv? (Edward L. Fox, 2007 Sep 12)
Does the conversion in the other direction work when 'filenecodings' is set
Does the conversion in the other direction work when 'fileencodings' is set
properly?
Add a few features to xxd. (Vadim Vygonets, 2013 Nov 11)
Patches: 2013 Nov 19
1: Add -e: little endian hexdump
2: Add -o: add offset to displayed position
3: Change displayed file position width to 8 chars
Cursor displayed in the wrong position when using 'numberwidth'. (James Vega,
2007 Jun 21)
@@ -1533,6 +1668,9 @@ Completing with 'wildmenu' and using <Up> and <Down> to move through directory
tree stops unexpectedly when using ":cd " and entering a directory that
doesn't contain other directories.
Default for 'background' is wrong when using xterm with 256 colors.
Table with estimates from Matteo Cavalleri, 2014 Jan 10.
Setting 'background' resets the Normal background color:
highlight Normal ctermbg=DarkGray
set background=dark
@@ -1789,7 +1927,7 @@ Awaiting updated patches:
How does this work? Missing comments.
8 Add a few more command names to the menus. Patch from Jiri Brezina
(28 feb 2002). Will mess the translations...
7 ATTENTION dialog choices are more logical when "Delete it' appears
7 ATTENTION dialog choices are more logical when "Delete it" appears
before "Quit". Patch by Robert Webb, 2004 May 3.
- Include flipcase patch: ~/vim/patches/wall.flipcase2 ? Make it work
for multi-byte characters.
@@ -1938,8 +2076,6 @@ GTK+ GUI known bugs:
Win32 GUI known bugs:
- Win32: tearoff menu window should have a scrollbar when it's taller than
the screen.
8 non-ASCII font names don't work. Need to convert from 'encoding' and use
the wide functions.
8 On Windows 98 the unicows library is needed to support functions with UCS2
file names. Can we load unicows.dll dynamically?
8 The -P argument doesn't work very well with many MDI applications.
@@ -1947,9 +2083,6 @@ Win32 GUI known bugs:
Tutorial: http://win32assembly.online.fr/tut32.html
8 In eval.c, io.h is included when MSWIN32 is defined. Shouldn't this be
WIN32? Or can including io.h be moved to vim.h? (Dan Sharp)
7 Windows XP: When using "ClearType" for text smoothing, a column of yellow
pixels remains when typing spaces in front of a "D" ('guifont' set to
"lucida_console:h8").
6 Win32 GUI: With "-u NONE -U NONE" and doing "CTRL-W v" "CTRL-W o", the ":"
of ":only" is highlighted like the cursor. (Lipelis)
8 When 'encoding' is "utf-8", should use 'guifont' for both normal and wide
@@ -2805,10 +2938,6 @@ Tab pages:
Spell checking:
- have some way not to give spelling errors for a range of characters.
E.g. for Chinese and other languages with specific characters for which we
don't have a spell file. Useful when there is also text in other
languages in the file.
- Support more regions? Caolan McNamara argues it's needed for es_XX.
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=219777
- Unicode defines another quote character: 0x2019. Use it as an equivalent
@@ -3222,6 +3351,7 @@ Syntax highlighting:
Built-in script language:
8 Make the filename and line number available to script functions, so that
they can give useful debugging info. The whole call stack would be ideal.
At least use this for error messages.
7 Execute a function with standard option values. No need to save and
restore option values. Especially useful for new options. Problem: how
to avoid a performance penalty (esp. for string options)?
@@ -4724,7 +4854,7 @@ Marks:
Digraphs:
7 Make "ga" show the keymap for a character, if it exists.
Also show the code of the character after conversion to 'filenecoding'.
Also show the code of the character after conversion to 'fileencoding'.
- Use digraph table to tell Vim about the collating sequence of special
characters?
8 Add command to remove one or more (all) digraphs. (Brown)
@@ -4921,6 +5051,7 @@ Various improvements:
6 Add ":timer" command, to set a command to be executed at a certain
interval, or once after some time has elapsed. (Aaron)
Perhaps an autocommand event like CursorHold is better?
Patch to add async functionality. (Geoff Greer, 2013 Sep 1 and later)
8 Add ":confirm" handling in open_exfile(), for when file already exists.
8 When quitting with changed files, make the dialog list the changed file
and allow "write all", "discard all", "write some". The last one would

View File

@@ -1,4 +1,4 @@
*undo.txt* For Vim version 7.4. Last change: 2013 Aug 22
*undo.txt* For Vim version 7.4. Last change: 2013 Sep 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -249,8 +249,9 @@ a simple scheme that maps filesystem paths directly to undo files. Vim will
detect if an undo file is no longer synchronized with the file it was written
for (with a hash of the file contents) and ignore it when the file was changed
after the undo file was written, to prevent corruption. An undo file is also
ignored if its owner differs from the owner of the edited file. Set 'verbose'
to get a message about that when opening a file.
ignored if its owner differs from the owner of the edited file, except when
the owner of the undo file is the current user. Set 'verbose' to get a
message about that when opening a file.
Undo files are normally saved in the same directory as the file. This can be
changed with the 'undodir' option.

View File

@@ -86,7 +86,7 @@ line, type: >
v4jgq
"v" to start Visual mode, "4j' to move to the end of the paragraph and then
"v" to start Visual mode, "4j" to move to the end of the paragraph and then
the "gq" operator. The result is:
1 2 3

View File

@@ -128,7 +128,7 @@ be escaped with a backslash. Example: >
You can include special Vim keywords in the command specification. The %
character expands to the name of the current file. So if you execute the
command: >
:set makeprg=make\ %
:set makeprg=make\ %:S
When you are editing main.c, then ":make" executes the following command: >
@@ -137,7 +137,7 @@ When you are editing main.c, then ":make" executes the following command: >
This is not too useful, so you will refine the command a little and use the :r
(root) modifier: >
:set makeprg=make\ %:r.o
:set makeprg=make\ %:r:S.o
Now the command executed is as follows: >

View File

@@ -209,7 +209,7 @@ The ":map" command can be followed by another command. A | character
separates the two commands. This also means that a | character can't be used
inside a map command. To include one, use <Bar> (five characters). Example:
>
:map <F8> :write <Bar> !checkin %<CR>
:map <F8> :write <Bar> !checkin %:S<CR>
The same problem applies to the ":unmap" command, with the addition that you
have to watch out for trailing white space. These two commands are different:

View File

@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 7.4. Last change: 2013 Feb 20
*usr_41.txt* For Vim version 7.4. Last change: 2014 Jan 10
VIM USER MANUAL - by Bram Moolenaar
@@ -595,13 +595,17 @@ String manipulation: *string-functions*
matchlist() like matchstr() and also return submatches
stridx() first index of a short string in a long string
strridx() last index of a short string in a long string
strlen() length of a string
strlen() length of a string in bytes
strchars() length of a string in characters
strwidth() size of string when displayed
strdisplaywidth() size of string when displayed, deals with tabs
substitute() substitute a pattern match with a string
submatch() get a specific match in ":s" and substitute()
strpart() get part of a string
expand() expand special keywords
iconv() convert text from one encoding to another
byteidx() byte index of a character in a string
byteidxcomp() like byteidx() but count composing characters
repeat() repeat a string multiple times
eval() evaluate a string expression
@@ -656,6 +660,9 @@ Floating point computation: *float-functions*
ceil() round up
floor() round down
trunc() remove value after decimal point
fmod() remainder of division
exp() exponential
log() natural logarithm (logarithm to base e)
log10() logarithm to base 10
pow() value of x to the exponent y
sqrt() square root
@@ -675,6 +682,7 @@ Other computation: *bitwise-function*
invert() bitwise invert
or() bitwise OR
xor() bitwise XOR
sha256() SHA-256 hash
Variables: *var-functions*
type() type of a variable
@@ -697,11 +705,15 @@ Cursor and mark position: *cursor-functions* *mark-functions*
wincol() window column number of the cursor
winline() window line number of the cursor
cursor() position the cursor at a line/column
screencol() get screen column of the cursor
screenrow() get screen row of the cursor
getpos() get position of cursor, mark, etc.
setpos() set position of cursor, mark, etc.
byte2line() get line number at a specific byte count
line2byte() byte count at a specific line
diff_filler() get the number of filler lines above a line
screenattr() get attribute at a screen line/row
screenchar() get character code at a screen line/row
Working with text in the current buffer: *text-functions*
getline() get a line or list of lines from the buffer
@@ -883,14 +895,22 @@ Various: *various-functions*
libcall() call a function in an external library
libcallnr() idem, returning a number
undofile() get the name of the undo file
undotree() return the state of the undo tree
getreg() get contents of a register
getregtype() get type of a register
setreg() set contents and type of a register
shiftwidth() effective value of 'shiftwidth'
taglist() get list of matching tags
tagfiles() get a list of tags files
luaeval() evaluate Lua expression
mzeval() evaluate |MzScheme| expression
py3eval() evaluate Python expression (|+python3|)
pyeval() evaluate Python expression (|+python|)
==============================================================================
*41.7* Defining a function

View File

@@ -311,7 +311,7 @@ redefine what these items do (after the default menus are setup).
item with a bitmap. For example, define a new toolbar item with: >
:tmenu ToolBar.Compile Compile the current file
:amenu ToolBar.Compile :!cc % -o %:r<CR>
:amenu ToolBar.Compile :!cc %:S -o %:r:S<CR>
Now you need to create the icon. For MS-Windows it must be in bitmap format,
with the name "Compile.bmp". For Unix XPM format is used, the file name is

View File

@@ -328,8 +328,8 @@ actually use Vim to convert a file. Example: >
*45.5* Entering language text
Computer keyboards don't have much more than a hundred keys. Some languages
have thousands of characters, Unicode has ten thousands. So how do you type
these characters?
have thousands of characters, Unicode has over hundred thousand. So how do
you type these characters?
First of all, when you don't use too many of the special characters, you
can use digraphs. This was already explained in |24.9|.
When you use a language that uses many more characters than keys on your

View File

@@ -2020,7 +2020,7 @@ File browser added *file-browser-5.2*
The Win32, Athena and Motif GUI bring up a file requester if the user asks to
":browse" for the ":e", ":w", ":r", ":so", ":redirect" and
":mkexrc/vimrc/vsess" commands. ::browse e /foo/bar" opens the requester in
":mkexrc/vimrc/vsess" commands. ":browse e /foo/bar" opens the requester in
the /foo/bar directory, so you can have nice mapping rhs's like ":browse so
$vim/macros". If no initial dir specified for ":browse e", can be compiled to
either begin in the current directory, or that of the current buffer. (Negri

View File

@@ -1,4 +1,4 @@
*version7.txt* For Vim version 7.4. Last change: 2013 Sep 03
*version7.txt* For Vim version 7.4. Last change: 2013 Nov 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2395,7 +2395,7 @@ with special attributes were redrawn. Now only do this for characters that
actually are bold. Speeds up displaying considerably.
When only highlighting changes and the text is scrolled at the same time
everything is redraw instead of using a scroll and updating the changed text.
everything is redrawn instead of using a scroll and updating the changed text.
E.g., when using ":match" to highlight a paren that the cursor landed on.
Added SOME_VALID: Redraw the whole window but also try to scroll to minimize
redrawing.
@@ -7188,7 +7188,7 @@ More encryption *new-more-encryption*
---------------
Support for Blowfish encryption. Added the 'cryptmethod' option.
Mostly by Moshin Ahmed.
Mostly by Mohsin Ahmed.
Also encrypt the text in the swap file and the undo file.

View File

@@ -540,7 +540,7 @@ character (and shows it immediately).
Added :wnext command. Same as ":write" followed by ":next".
The ":w!" command always writes, also when the file is write protected. In Vi
you would have to do ":!chmod +w %" and ":set noro".
you would have to do ":!chmod +w %:S" and ":set noro".
When 'tildeop' has been set, "~" is an operator (must be followed by a
movement command).

View File

@@ -1,4 +1,4 @@
*visual.txt* For Vim version 7.4. Last change: 2012 Aug 15
*visual.txt* For Vim version 7.4. Last change: 2013 Nov 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -75,7 +75,11 @@ position.
*V* *linewise-visual*
[count]V Start Visual mode linewise.
With [count] select that many lines.
With [count] select the same number of lines as used
for the last Visual operation, but at the current
cursor position, multiplied by [count]. When there
was no previous Visual operation [count] lines are
selected.
*CTRL-V* *blockwise-visual*
[count]CTRL-V Start Visual mode blockwise. Note: Under Windows

View File

@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2013 Aug 03
" Last Change: 2014 Feb 26
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -106,6 +106,9 @@ au BufNewFile,BufRead *.run setf ampl
" Ant
au BufNewFile,BufRead build.xml setf ant
" Arduino
au BufNewFile,BufRead *.ino,*.pde setf arduino
" Apache style config file
au BufNewFile,BufRead proftpd.conf* call s:StarSetf('apachestyle')
@@ -129,7 +132,7 @@ au BufNewFile,BufRead .asoundrc,*/usr/share/alsa/alsa.conf,*/etc/asound.conf set
au BufNewFile,BufRead *.aml setf aml
" APT config file
au BufNewFile,BufRead apt.conf setf aptconf
au BufNewFile,BufRead apt.conf setf aptconf
au BufNewFile,BufRead */.aptitude/config setf aptconf
au BufNewFile,BufRead */etc/apt/apt.conf.d/{[-_[:alnum:]]\+,[-_.[:alnum:]]\+.conf} setf aptconf
@@ -536,6 +539,20 @@ au BufNewFile,BufRead *enlightenment/*.cfg setf c
" Eterm
au BufNewFile,BufRead *Eterm/*.cfg setf eterm
" Euphoria 3 or 4
au BufNewFile,BufRead *.eu,*.ew,*.ex,*.exu,*.exw call s:EuphoriaCheck()
if has("fname_case")
au BufNewFile,BufRead *.EU,*.EW,*.EX,*.EXU,*.EXW call s:EuphoriaCheck()
endif
func! s:EuphoriaCheck()
if exists('g:filetype_euphoria')
exe 'setf ' . g:filetype_euphoria
else
setf euphoria3
endif
endfunc
" Lynx config files
au BufNewFile,BufRead lynx.cfg setf lynx
@@ -656,22 +673,26 @@ au BufNewFile,BufRead *.ed\(f\|if\|n\|o\) setf edif
" Embedix Component Description
au BufNewFile,BufRead *.ecd setf ecd
" Eiffel or Specman
" Eiffel or Specman or Euphoria
au BufNewFile,BufRead *.e,*.E call s:FTe()
" Elinks configuration
au BufNewFile,BufRead */etc/elinks.conf,*/.elinks/elinks.conf setf elinks
func! s:FTe()
let n = 1
while n < 100 && n < line("$")
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
setf specman
return
endif
let n = n + 1
endwhile
setf eiffel
if exists('g:filetype_euphoria')
exe 'setf ' . g:filetype_euphoria
else
let n = 1
while n < 100 && n < line("$")
if getline(n) =~ "^\\s*\\(<'\\|'>\\)\\s*$"
setf specman
return
endif
let n = n + 1
endwhile
setf eiffel
endif
endfunc
" ERicsson LANGuage; Yaws is erlang too
@@ -952,6 +973,9 @@ au BufNewFile,BufRead inittab setf inittab
" Inno Setup
au BufNewFile,BufRead *.iss setf iss
" J
au BufNewFile,BufRead *.ijs setf j
" JAL
au BufNewFile,BufRead *.jal,*.JAL setf jal
@@ -1014,7 +1038,7 @@ au BufNewFile,BufRead *.ldif setf ldif
au BufNewFile,BufRead *.ld setf ld
" Lex
au BufNewFile,BufRead *.lex,*.l setf lex
au BufNewFile,BufRead *.lex,*.l,*.lxx,*.l++ setf lex
" Libao
au BufNewFile,BufRead */etc/libao.conf,*/.libao setf libao
@@ -1169,6 +1193,9 @@ au BufNewFile,BufRead *.mp setf mp
" MGL
au BufNewFile,BufRead *.mgl setf mgl
" MIX - Knuth assembly
au BufNewFile,BufRead *.mix,*.mixal setf mix
" MMIX or VMS makefile
au BufNewFile,BufRead *.mms call s:FTmms()
@@ -2058,14 +2085,15 @@ au BufNewFile,BufRead */etc/sudoers,sudoers.tmp setf sudoers
" SVG (Scalable Vector Graphics)
au BufNewFile,BufRead *.svg setf svg
" If the file has an extension of 't' and is in a directory 't' then it is
" almost certainly a Perl test file.
" If the file has an extension of 't' and is in a directory 't' or 'xt' then
" it is almost certainly a Perl test file.
" If the first line starts with '#' and contains 'perl' it's probably a Perl
" file.
" (Slow test) If a file contains a 'use' statement then it is almost certainly
" a Perl file.
func! s:FTperl()
if expand("%:e") == 't' && expand("%:p:h:t") == 't'
let dirname = expand("%:p:h:t")
if expand("%:e") == 't' && (dirname == 't' || dirname == 'xt')
setf perl
return 1
endif
@@ -2092,7 +2120,7 @@ au BufNewFile,BufRead *.tak setf tak
" Task
au BufRead,BufNewFile {pending,completed,undo}.data setf taskdata
au BufRead,BufNewFile *.task setf taskedit
au BufRead,BufNewFile *.task setf taskedit
" Tcl (JACL too)
au BufNewFile,BufRead *.tcl,*.tk,*.itcl,*.itk,*.jacl setf tcl
@@ -2217,12 +2245,12 @@ au BufNewFile,BufRead *.uc setf uc
au BufNewFile,BufRead */etc/updatedb.conf setf updatedb
" Upstart (init(8)) config files
au BufNewFile,BufRead */usr/share/upstart/*.conf setf upstart
au BufNewFile,BufRead */usr/share/upstart/*.override setf upstart
au BufNewFile,BufRead */usr/share/upstart/*.conf setf upstart
au BufNewFile,BufRead */usr/share/upstart/*.override setf upstart
au BufNewFile,BufRead */etc/init/*.conf,*/etc/init/*.override setf upstart
au BufNewFile,BufRead */.init/*.conf,*/.init/*.override setf upstart
au BufNewFile,BufRead */.config/upstart/*.conf setf upstart
au BufNewFile,BufRead */.config/upstart/*.override setf upstart
au BufNewFile,BufRead */.config/upstart/*.conf setf upstart
au BufNewFile,BufRead */.config/upstart/*.override setf upstart
" Vera
au BufNewFile,BufRead *.vr,*.vri,*.vrh setf vera
@@ -2233,6 +2261,9 @@ au BufNewFile,BufRead *.v setf verilog
" Verilog-AMS HDL
au BufNewFile,BufRead *.va,*.vams setf verilogams
" SystemVerilog
au BufNewFile,BufRead *.sv,*.svh setf systemverilog
" VHDL
au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst setf vhdl
au BufNewFile,BufRead *.vhdl_[0-9]* call s:StarSetf('vhdl')
@@ -2405,7 +2436,7 @@ au BufNewFile,BufRead *.xsd setf xsd
au BufNewFile,BufRead *.xsl,*.xslt setf xslt
" Yacc
au BufNewFile,BufRead *.yy setf yacc
au BufNewFile,BufRead *.yy,*.yxx,*.y++ setf yacc
" Yacc or racc
au BufNewFile,BufRead *.y call s:FTy()

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: generic Changelog file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2012-08-23
" Latest Revision: 2014-01-10
" Variables:
" g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) -
" description: the timeformat used in ChangeLog entries.
@@ -122,12 +122,12 @@ if &filetype == 'changelog'
" Format used for new date entries.
if !exists('g:changelog_new_date_format')
let g:changelog_new_date_format = "%d %u\n\n\t* %c\n\n"
let g:changelog_new_date_format = "%d %u\n\n\t* %p%c\n\n"
endif
" Format used for new entries to current date entry.
if !exists('g:changelog_new_entry_format')
let g:changelog_new_entry_format = "\t* %c"
let g:changelog_new_entry_format = "\t* %p%c"
endif
" Regular expression used to find a given date entry.
@@ -143,16 +143,16 @@ if &filetype == 'changelog'
" Substitutes specific items in new date-entry formats and search strings.
" Can be done with substitute of course, but unclean, and need \@! then.
function! s:substitute_items(str, date, user)
function! s:substitute_items(str, date, user, prefix)
let str = a:str
let middles = {'%': '%', 'd': a:date, 'u': a:user, 'c': '{cursor}'}
let middles = {'%': '%', 'd': a:date, 'u': a:user, 'p': a:prefix, 'c': '{cursor}'}
let i = stridx(str, '%')
while i != -1
let inc = 0
if has_key(middles, str[i + 1])
let mid = middles[str[i + 1]]
let str = strpart(str, 0, i) . mid . strpart(str, i + 2)
let inc = strlen(mid)
let inc = strlen(mid) - 1
endif
let i = stridx(str, '%', i + 1 + inc)
endwhile
@@ -171,7 +171,7 @@ if &filetype == 'changelog'
endfunction
" Internal function to create a new entry in the ChangeLog.
function! s:new_changelog_entry()
function! s:new_changelog_entry(prefix)
" Deal with 'paste' option.
let save_paste = &paste
let &paste = 1
@@ -179,7 +179,7 @@ if &filetype == 'changelog'
" Look for an entry for today by our user.
let date = strftime(g:changelog_dateformat)
let search = s:substitute_items(g:changelog_date_entry_search, date,
\ s:username())
\ s:username(), a:prefix)
if search(search) > 0
" Ok, now we look for the end of the date entry, and add an entry.
call cursor(nextnonblank(line('.') + 1), 1)
@@ -188,7 +188,7 @@ if &filetype == 'changelog'
else
let p = line('.')
endif
let ls = split(s:substitute_items(g:changelog_new_entry_format, '', ''),
let ls = split(s:substitute_items(g:changelog_new_entry_format, '', '', a:prefix),
\ '\n')
call append(p, ls)
call cursor(p + 1, 1)
@@ -198,7 +198,7 @@ if &filetype == 'changelog'
" No entry today, so create a date-user header and insert an entry.
let todays_entry = s:substitute_items(g:changelog_new_date_format,
\ date, s:username())
\ date, s:username(), a:prefix)
" Make sure we have a cursor positioning.
if stridx(todays_entry, '{cursor}') == -1
let todays_entry = todays_entry . '{cursor}'
@@ -206,7 +206,7 @@ if &filetype == 'changelog'
" Now do the work.
call append(0, split(todays_entry, '\n'))
" Remove empty lines at end of file.
if remove_empty
$-/^\s*$/-1,$delete
@@ -223,8 +223,8 @@ if &filetype == 'changelog'
endfunction
if exists(":NewChangelogEntry") != 2
noremap <buffer> <silent> <Leader>o <Esc>:call <SID>new_changelog_entry()<CR>
command! -nargs=0 NewChangelogEntry call s:new_changelog_entry()
noremap <buffer> <silent> <Leader>o <Esc>:call <SID>new_changelog_entry('')<CR>
command! -nargs=0 NewChangelogEntry call s:new_changelog_entry('')
endif
let b:undo_ftplugin = "setl com< fo< et< ai<"
@@ -277,10 +277,7 @@ else
if exists('b:changelog_entry_prefix')
let prefix = call(b:changelog_entry_prefix, [])
else
let prefix = substitute(strpart(expand('%:p'), strlen(path)), '^/\+', "", "") . ':'
endif
if !empty(prefix)
let prefix = ' ' . prefix
let prefix = substitute(strpart(expand('%:p'), strlen(path)), '^/\+', "", "")
endif
let buf = bufnr(changelog)

View File

@@ -1,22 +1,23 @@
" Vim filetype plugin file
" Language: Clojure
" Author: Meikel Brandmeyer <mb@kotka.de>
" Language: Clojure
" Author: Meikel Brandmeyer <mb@kotka.de>
"
" Maintainer: Sung Pae <self@sungpae.com>
" URL: https://github.com/guns/vim-clojure-static
" License: Same as Vim
" Last Change: 30 January 2013
" Maintainer: Sung Pae <self@sungpae.com>
" URL: https://github.com/guns/vim-clojure-static
" License: Same as Vim
" Last Change: 08 September 2013
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
finish
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
let b:undo_ftplugin = 'setlocal define< formatoptions< comments< commentstring<'
let b:undo_ftplugin = 'setlocal iskeyword< define< formatoptions< comments< commentstring<'
setlocal iskeyword+=?,-,*,!,+,/,=,<,>,.,:,$
" There will be false positives, but this is better than missing the whole set
" of user-defined def* definitions.
@@ -35,10 +36,10 @@ setlocal commentstring=;\ %s
" 'completefunc' so that the user has some form of completion available when
" 'omnifunc' is set and no REPL connection exists.
for s:setting in ['omnifunc', 'completefunc']
if exists('&' . s:setting) && empty(eval('&' . s:setting))
execute 'setlocal ' . s:setting . '=clojurecomplete#Complete'
let b:undo_ftplugin .= ' | setlocal ' . s:setting . '<'
endif
if exists('&' . s:setting) && empty(eval('&' . s:setting))
execute 'setlocal ' . s:setting . '=clojurecomplete#Complete'
let b:undo_ftplugin .= ' | setlocal ' . s:setting . '<'
endif
endfor
" Take all directories of the CLOJURE_SOURCE_DIRS environment variable
@@ -46,34 +47,34 @@ endfor
"
" This is a legacy option for VimClojure users.
if exists('$CLOJURE_SOURCE_DIRS')
for s:dir in split($CLOJURE_SOURCE_DIRS, (has("win32") || has("win64")) ? ';' : ':')
let s:dir = fnameescape(s:dir)
" Whitespace escaping for Windows
let s:dir = substitute(s:dir, '\', '\\\\', 'g')
let s:dir = substitute(s:dir, '\ ', '\\ ', 'g')
execute "setlocal path+=" . s:dir . "/**"
endfor
let b:undo_ftplugin .= ' | setlocal path<'
for s:dir in split($CLOJURE_SOURCE_DIRS, (has("win32") || has("win64")) ? ';' : ':')
let s:dir = fnameescape(s:dir)
" Whitespace escaping for Windows
let s:dir = substitute(s:dir, '\', '\\\\', 'g')
let s:dir = substitute(s:dir, '\ ', '\\ ', 'g')
execute "setlocal path+=" . s:dir . "/**"
endfor
let b:undo_ftplugin .= ' | setlocal path<'
endif
" Skip brackets in ignored syntax regions when using the % command
if exists('loaded_matchit')
let b:match_words = &matchpairs
let b:match_skip = 's:comment\|string\|regex\|character'
let b:undo_ftplugin .= ' | unlet! b:match_words b:match_skip'
let b:match_words = &matchpairs
let b:match_skip = 's:comment\|string\|regex\|character'
let b:undo_ftplugin .= ' | unlet! b:match_words b:match_skip'
endif
" Win32 can filter files in the browse dialog
if has("gui_win32") && !exists("b:browsefilter")
let b:browsefilter = "Clojure Source Files (*.clj)\t*.clj\n" .
\ "ClojureScript Source Files (*.cljs)\t*.cljs\n" .
\ "Java Source Files (*.java)\t*.java\n" .
\ "All Files (*.*)\t*.*\n"
let b:undo_ftplugin .= ' | unlet! b:browsefilter'
let b:browsefilter = "Clojure Source Files (*.clj)\t*.clj\n" .
\ "ClojureScript Source Files (*.cljs)\t*.cljs\n" .
\ "Java Source Files (*.java)\t*.java\n" .
\ "All Files (*.*)\t*.*\n"
let b:undo_ftplugin .= ' | unlet! b:browsefilter'
endif
let &cpo = s:cpo_save
unlet! s:cpo_save s:setting s:dir
" vim:sts=4 sw=4 et:
" vim:sts=8:sw=8:ts=8:noet

View File

@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: cobol
" Author: Tim Pope <vimNOSPAM@tpope.info>
" $Id: cobol.vim,v 1.1 2007/05/05 17:24:38 vimboss Exp $
" Last Update: By ZyX: use shiftwidth()
" Insert mode mappings: <C-T> <C-D> <Tab>
" Normal mode mappings: < > << >> [[ ]] [] ][
@@ -113,7 +113,7 @@ endfunction
function! s:increase(...)
let lnum = '.'
let sw = &shiftwidth
let sw = shiftwidth()
let i = a:0 ? a:1 : indent(lnum)
if i >= 11
return sw - (i - 11) % sw
@@ -128,7 +128,7 @@ endfunction
function! s:decrease(...)
let lnum = '.'
let sw = &shiftwidth
let sw = shiftwidth()
let i = indent(a:0 ? a:1 : lnum)
if i >= 11 + sw
return 1 + (i + 12) % sw
@@ -147,7 +147,7 @@ function! CobolIndentBlock(shift)
let head = strpart(getline('.'),0,7)
let tail = strpart(getline('.'),7)
let indent = match(tail,'[^ ]')
let sw = &shiftwidth
let sw = shiftwidth()
let shift = a:shift
if shift > 0
if indent < 4
@@ -221,7 +221,8 @@ endfunction
function! s:Tab()
if (strpart(getline('.'),0,col('.')-1) =~ '^\s*$' && &sta)
return s:IncreaseIndent()
elseif &sts == &sw && &sts != 8 && &et
" &softtabstop < 0: &softtabstop follows &shiftwidth
elseif (&sts < 0 || &sts == shiftwidth()) && &sts != 8 && &et
return s:repeat(" ",s:increase(col('.')-1))
else
return "\<Tab>"

View File

@@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainers: Michael Piefel <piefel@informatik.hu-berlin.de>
" Stefano Zacchiroli <zack@debian.org>
" Last Change: 2012-01-31
" Last Change: 2014-01-31
" License: Vim License
" URL: http://hg.debian.org/hg/pkg-vim/vim/file/unstable/runtime/ftplugin/debchangelog.vim
@@ -152,7 +152,7 @@ function CloseBug()
endfunction
function Distribution(dist)
call setline(1, substitute(getline(1), ") [[:lower:] ]*;", ") " . a:dist . ";", ""))
call setline(1, substitute(getline(1), ') *\%(UNRELEASED\|\l\+\);', ") " . a:dist . ";", ""))
endfunction
function Urgency(urg)

View File

@@ -1,12 +1,12 @@
" Vim settings file
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66)
" Version: 0.48
" Last Change: 2012 Apr. 18
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www.unb.ca/chem/ajit/>
" Version: 0.49
" Last Change: 2013 Oct. 01
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
" Usage: Do :help fortran-plugin from Vim
" Credits:
" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, and Ben
" Fritz.
" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, Ben
" Fritz, and David Barnett.
" Only do these settings when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -64,8 +64,8 @@ if (b:fortran_fixed_source == 1)
" setlocal tw=73
else
setlocal comments=:!
" Free format allows a textwidth of 132 for code but 80 is more usual
setlocal tw=80
" Free format allows a textwidth of 132
setlocal tw=132
endif
" Set commentstring for foldmethod=marker
@@ -76,8 +76,8 @@ if !exists("fortran_have_tabs")
setlocal expandtab
endif
" Set 'formatoptions' to break comment and text lines but allow long lines
setlocal fo+=tcql
" Set 'formatoptions' to break text lines
setlocal fo+=t
setlocal include=^\\c#\\=\\s*include\\s\\+
setlocal suffixesadd+=.f08,.f03,.f95,.f90,.for,.f,.F,.f77,.ftn,.fpp
@@ -114,7 +114,7 @@ if has("gui_win32") && !exists("b:browsefilter")
\ "All Files (*.*)\t*.*\n"
endif
let b:undo_ftplugin = "setl fo< com< tw< cms< et< inc<"
let b:undo_ftplugin = "setl fo< com< tw< cms< et< inc< sua<"
\ . "| unlet! b:match_ignorecase b:match_words b:browsefilter"
let &cpoptions=s:cposet

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

@@ -0,0 +1,18 @@
" Vim filetype plugin
" Language: J
" Maintainer: David Bürgin <676c7473@gmail.com>
" Last Change: 2013-10-06
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
setlocal iskeyword=48-57,65-90,_,97-122
setlocal comments=:NB.
setlocal commentstring=NB.\ %s
setlocal formatoptions-=t
setlocal shiftwidth=2 softtabstop=2 expandtab
setlocal matchpairs=(:)
let b:undo_ftplugin = "setl mps< et< sts< sw< fo< cms< com< isk<"

View File

@@ -0,0 +1,15 @@
" Vim filetype plugin
" Language: Java properties file
" Maintainer: David Bürgin <676c7473@gmail.com>
" Last Change: 2013-11-19
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
setlocal formatoptions-=t
setlocal comments=:#,:!
setlocal commentstring=#\ %s
let b:undo_ftplugin = "setl cms< com< fo<"

View File

@@ -4,7 +4,7 @@
" URL: http://sites.google.com/site/khorser/opensource/vim
" Original author: Dorai Sitaram <ds26@gte.com>
" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
" Last Change: Feb 12, 2013
" Last Change: Oct 23, 2013
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -21,9 +21,6 @@ setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
setl lisp
setl commentstring=;%s
" make comments behaviour like in c.vim
" e.g. insertion of ;;; and ;; on normal "O" or "o" when staying in comment
setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|#
setl formatoptions+=croql
let b:undo_ftplugin = "setlocal comments< define< formatoptions< iskeyword< lisp< commentstring<"

View File

@@ -1,7 +1,8 @@
" Vim filetype plugin file
" Language: python
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Wed, 21 Apr 2004 13:13:08 CEST
" Last Change: 2014 Feb 09
" Last Change By Johannes: Wed, 21 Apr 2004 13:13:08 CEST
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
@@ -10,11 +11,11 @@ set cpo&vim
setlocal cinkeys-=0#
setlocal indentkeys-=0#
setlocal include=\s*\\(from\\\|import\\)
setlocal include=^\\s*\\(from\\\|import\\)
setlocal includeexpr=substitute(v:fname,'\\.','/','g')
setlocal suffixesadd=.py
setlocal comments-=:%
setlocal commentstring=#%s
setlocal comments=b:#,fb:-
setlocal commentstring=#\ %s
setlocal omnifunc=pythoncomplete#Complete
@@ -25,24 +26,40 @@ nnoremap <silent> <buffer> [[ :call <SID>Python_jump('?^\(class\\|def\)')<cr>
nnoremap <silent> <buffer> ]m :call <SID>Python_jump('/^\s*\(class\\|def\)')<cr>
nnoremap <silent> <buffer> [m :call <SID>Python_jump('?^\s*\(class\\|def\)')<cr>
if exists('*<SID>Python_jump') | finish | endif
if !exists('*<SID>Python_jump')
fun! <SID>Python_jump(motion) range
let cnt = v:count1
let save = @/ " save last search pattern
mark '
while cnt > 0
silent! exe a:motion
let cnt = cnt - 1
endwhile
call histdel('/', -1)
let @/ = save " restore last search pattern
endfun
endif
fun! <SID>Python_jump(motion) range
let cnt = v:count1
let save = @/ " save last search pattern
mark '
while cnt > 0
silent! exe a:motion
let cnt = cnt - 1
endwhile
call histdel('/', -1)
let @/ = save " restore last search pattern
endfun
if has("gui_win32") && !exists("b:browsefilter")
if has("browsefilter") && !exists("b:browsefilter")
let b:browsefilter = "Python Files (*.py)\t*.py\n" .
\ "All Files (*.*)\t*.*\n"
endif
" As suggested by PEP8.
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
" First time: try finding "pydoc".
if !exists('g:pydoc_executable')
if executable('pydoc')
let g:pydoc_executable = 1
else
let g:pydoc_executable = 0
endif
endif
" If "pydoc" was found use it for keywordprg.
if g:pydoc_executable
setlocal keywordprg=pydoc
endif
let &cpo = s:keepcpo
unlet s:keepcpo

View File

@@ -0,0 +1,36 @@
" Vim filetype plugin file
" Language: Windows Registry export with regedit (*.reg)
" Maintainer: Cade Forester <ahx2323@gmail.com>
" Latest Revision: 2014-01-09
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
let s:cpo_save = &cpo
set cpo&vim
let b:undo_ftplugin =
\ 'let b:browsefilter = "" | ' .
\ 'setlocal ' .
\ 'comments< '.
\ 'commentstring< ' .
\ 'formatoptions< '
if has( 'gui_win32' )
\ && !exists( 'b:browsefilter' )
let b:browsefilter =
\ 'registry files (*.reg)\t*.reg\n' .
\ 'All files (*.*)\t*.*\n'
endif
setlocal comments=:;
setlocal commentstring=;\ %s
setlocal formatoptions-=t
setlocal formatoptions+=croql
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -4,7 +4,7 @@
" URL: http://sites.google.com/site/khorser/opensource/vim
" Original author: Dorai Sitaram <ds26@gte.com>
" Original URL: http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
" Last Change: Feb 12, 2013
" Last Change: Oct 23, 2013
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@@ -22,10 +22,7 @@ setl iskeyword+=+,-,*,/,%,<,=,>,:,$,?,!,@-@,94
setl lisp
setl commentstring=;%s
" make comments behaviour like in c.vim
" e.g. insertion of ;;; and ;; on normal "O" or "o" when staying in comment
setl comments^=:;;;,:;;,sr:#\|,mb:\|,ex:\|#
setl formatoptions+=croql
" Scheme-specific settings
if exists("b:is_mzscheme") || exists("is_mzscheme")

View File

@@ -1,7 +1,8 @@
" Plugin to update the %changelog section of RPM spec files
" Filename: spec.vim
" Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com>
" Last Change: 2012 Mar 07
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
" Former Maintainer: Gustavo Niemeyer <niemeyer@conectiva.com> (until March 2014)
" Last Change: Sun Mar 2 11:24 MSK 2014 Igor Gnatenko
if exists("b:did_ftplugin")
finish
@@ -150,6 +151,10 @@ if !exists("*s:ParseRpmVars")
execute a:strline
let definestr = "^[ \t]*%define[ \t]\\+" . varname . "[ \t]\\+\\(.*\\)$"
let linenum = search(definestr, "bW")
if (linenum == 0)
let definestr = substitute(definestr, "%define", "%global", "")
let linenum = search(definestr, "bW")
endif
if (linenum != -1)
let ret = ret . substitute(getline(linenum), definestr, "\\1", "")
else

View File

@@ -0,0 +1,11 @@
" Vim filetype plugin file
" Language: SystemVerilog
" Maintainer: kocha <kocha.lsifrontend@gmail.com>
" Last Change: 12-Aug-2013.
if exists("b:did_ftplugin")
finish
endif
" Behaves just like Verilog
runtime! ftplugin/verilog.vim

View File

@@ -1,16 +1,20 @@
" Vim indent file
" Language: Clojure
" Author: Meikel Brandmeyer <mb@kotka.de>
" URL: http://kotka.de/projects/clojure/vimclojure.html
" Language: Clojure
" Author: Meikel Brandmeyer <mb@kotka.de>
" URL: http://kotka.de/projects/clojure/vimclojure.html
"
" Maintainer: Sung Pae <self@sungpae.com>
" URL: https://github.com/guns/vim-clojure-static
" License: Same as Vim
" Last Change: 30 January 2013
" Maintainer: Sung Pae <self@sungpae.com>
" URL: https://github.com/guns/vim-clojure-static
" License: Same as Vim
" Last Change: 16 December 2013
" TODO: Indenting after multibyte characters is broken:
" (let [Δ (if foo
" bar ; Indent error
" baz)])
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
finish
endif
let b:did_indent = 1
@@ -25,290 +29,281 @@ setlocal indentkeys=!,o,O
if exists("*searchpairpos")
if !exists('g:clojure_maxlines')
let g:clojure_maxlines = 100
endif
if !exists('g:clojure_maxlines')
let g:clojure_maxlines = 100
endif
if !exists('g:clojure_fuzzy_indent')
let g:clojure_fuzzy_indent = 1
endif
if !exists('g:clojure_fuzzy_indent')
let g:clojure_fuzzy_indent = 1
endif
if !exists('g:clojure_fuzzy_indent_patterns')
let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
endif
if !exists('g:clojure_fuzzy_indent_patterns')
let g:clojure_fuzzy_indent_patterns = ['^with', '^def', '^let']
endif
if !exists('g:clojure_fuzzy_indent_blacklist')
let g:clojure_fuzzy_indent_blacklist = ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
endif
if !exists('g:clojure_fuzzy_indent_blacklist')
let g:clojure_fuzzy_indent_blacklist = ['-fn$', '\v^with-%(meta|out-str|loading-context)$']
endif
if !exists('g:clojure_special_indent_words')
let g:clojure_special_indent_words = 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
endif
if !exists('g:clojure_special_indent_words')
let g:clojure_special_indent_words = 'deftype,defrecord,reify,proxy,extend-type,extend-protocol,letfn'
endif
if !exists('g:clojure_align_multiline_strings')
let g:clojure_align_multiline_strings = 0
endif
if !exists('g:clojure_align_multiline_strings')
let g:clojure_align_multiline_strings = 0
endif
function! s:SynIdName()
return synIDattr(synID(line("."), col("."), 0), "name")
endfunction
if !exists('g:clojure_align_subforms')
let g:clojure_align_subforms = 0
endif
function! s:CurrentChar()
return getline('.')[col('.')-1]
endfunction
function! s:SynIdName()
return synIDattr(synID(line("."), col("."), 0), "name")
endfunction
function! s:CurrentWord()
return getline('.')[col('.')-1 : searchpos('\v>', 'n', line('.'))[1]-2]
endfunction
function! s:CurrentChar()
return getline('.')[col('.')-1]
endfunction
function! s:IsParen()
return s:CurrentChar() =~ '\v[\(\)\[\]\{\}]' &&
\ s:SynIdName() !~? '\vstring|comment'
endfunction
function! s:CurrentWord()
return getline('.')[col('.')-1 : searchpos('\v>', 'n', line('.'))[1]-2]
endfunction
" Returns 1 if string matches a pattern in 'patterns', which may be a
" list of patterns, or a comma-delimited string of implicitly anchored
" patterns.
function! s:MatchesOne(patterns, string)
let list = type(a:patterns) == type([])
\ ? a:patterns
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
for pat in list
if a:string =~ pat | return 1 | endif
endfor
endfunction
function! s:IsParen()
return s:CurrentChar() =~ '\v[\(\)\[\]\{\}]' &&
\ s:SynIdName() !~? '\vstring|regex|comment|character'
endfunction
function! s:SavePosition()
let [ _b, l, c, _o ] = getpos(".")
let b = bufnr("%")
return [b, l, c]
endfunction
" Returns 1 if string matches a pattern in 'patterns', which may be a
" list of patterns, or a comma-delimited string of implicitly anchored
" patterns.
function! s:MatchesOne(patterns, string)
let list = type(a:patterns) == type([])
\ ? a:patterns
\ : map(split(a:patterns, ','), '"^" . v:val . "$"')
for pat in list
if a:string =~ pat | return 1 | endif
endfor
endfunction
function! s:RestorePosition(value)
let [b, l, c] = a:value
if bufnr("%") != b
execute b "buffer!"
endif
call setpos(".", [0, l, c, 0])
endfunction
function! s:MatchPairs(open, close, stopat)
" Stop only on vector and map [ resp. {. Ignore the ones in strings and
" comments.
if a:stopat == 0
let stopat = max([line(".") - g:clojure_maxlines, 0])
else
let stopat = a:stopat
endif
function! s:MatchPairs(open, close, stopat)
" Stop only on vector and map [ resp. {. Ignore the ones in strings and
" comments.
if a:stopat == 0
let stopat = max([line(".") - g:clojure_maxlines, 0])
else
let stopat = a:stopat
endif
let pos = searchpairpos(a:open, '', a:close, 'bWn', "!s:IsParen()", stopat)
return [pos[0], virtcol(pos)]
endfunction
let pos = searchpairpos(a:open, '', a:close, 'bWn', "!s:IsParen()", stopat)
return [pos[0], virtcol(pos)]
endfunction
function! s:ClojureCheckForStringWorker()
" Check whether there is the last character of the previous line is
" highlighted as a string. If so, we check whether it's a ". In this
" case we have to check also the previous character. The " might be the
" closing one. In case the we are still in the string, we search for the
" opening ". If this is not found we take the indent of the line.
let nb = prevnonblank(v:lnum - 1)
function! s:ClojureCheckForStringWorker()
" Check whether there is the last character of the previous line is
" highlighted as a string. If so, we check whether it's a ". In this
" case we have to check also the previous character. The " might be the
" closing one. In case the we are still in the string, we search for the
" opening ". If this is not found we take the indent of the line.
let nb = prevnonblank(v:lnum - 1)
if nb == 0
return -1
endif
if nb == 0
return -1
endif
call cursor(nb, 0)
call cursor(0, col("$") - 1)
if s:SynIdName() !~? "string"
return -1
endif
call cursor(nb, 0)
call cursor(0, col("$") - 1)
if s:SynIdName() !~? "string"
return -1
endif
" This will not work for a " in the first column...
if s:CurrentChar() == '"'
call cursor(0, col("$") - 2)
if s:SynIdName() !~? "string"
return -1
endif
if s:CurrentChar() != '\\'
return -1
endif
call cursor(0, col("$") - 1)
endif
" This will not work for a " in the first column...
if s:CurrentChar() == '"'
call cursor(0, col("$") - 2)
if s:SynIdName() !~? "string"
return -1
endif
if s:CurrentChar() != '\\'
return -1
endif
call cursor(0, col("$") - 1)
endif
let p = searchpos('\(^\|[^\\]\)\zs"', 'bW')
let p = searchpos('\(^\|[^\\]\)\zs"', 'bW')
if p != [0, 0]
return p[1] - 1
endif
if p != [0, 0]
return p[1] - 1
endif
return indent(".")
endfunction
return indent(".")
endfunction
function! s:CheckForString()
let pos = getpos('.')
try
let val = s:ClojureCheckForStringWorker()
finally
call setpos('.', pos)
endtry
return val
endfunction
function! s:CheckForString()
let pos = s:SavePosition()
try
let val = s:ClojureCheckForStringWorker()
finally
call s:RestorePosition(pos)
endtry
return val
endfunction
function! s:ClojureIsMethodSpecialCaseWorker(position)
" Find the next enclosing form.
call search('\S', 'Wb')
function! s:ClojureIsMethodSpecialCaseWorker(position)
" Find the next enclosing form.
call search('\S', 'Wb')
" Special case: we are at a '(('.
if s:CurrentChar() == '('
return 0
endif
call cursor(a:position)
" Special case: we are at a '(('.
if s:CurrentChar() == '('
return 0
endif
call cursor(a:position)
let nextParen = s:MatchPairs('(', ')', 0)
let nextParen = s:MatchPairs('(', ')', 0)
" Special case: we are now at toplevel.
if nextParen == [0, 0]
return 0
endif
call cursor(nextParen)
" Special case: we are now at toplevel.
if nextParen == [0, 0]
return 0
endif
call cursor(nextParen)
call search('\S', 'W')
if g:clojure_special_indent_words =~ '\<' . s:CurrentWord() . '\>'
return 1
endif
call search('\S', 'W')
if g:clojure_special_indent_words =~ '\<' . s:CurrentWord() . '\>'
return 1
endif
return 0
endfunction
return 0
endfunction
function! s:IsMethodSpecialCase(position)
let pos = getpos('.')
try
let val = s:ClojureIsMethodSpecialCaseWorker(a:position)
finally
call setpos('.', pos)
endtry
return val
endfunction
function! s:IsMethodSpecialCase(position)
let pos = s:SavePosition()
try
let val = s:ClojureIsMethodSpecialCaseWorker(a:position)
finally
call s:RestorePosition(pos)
endtry
return val
endfunction
function! GetClojureIndent()
" Get rid of special case.
if line(".") == 1
return 0
endif
function! GetClojureIndent()
" Get rid of special case.
if line(".") == 1
return 0
endif
" We have to apply some heuristics here to figure out, whether to use
" normal lisp indenting or not.
let i = s:CheckForString()
if i > -1
return i + !!g:clojure_align_multiline_strings
endif
" We have to apply some heuristics here to figure out, whether to use
" normal lisp indenting or not.
let i = s:CheckForString()
if i > -1
return i + !!g:clojure_align_multiline_strings
endif
call cursor(0, 1)
call cursor(0, 1)
" Find the next enclosing [ or {. We can limit the second search
" to the line, where the [ was found. If no [ was there this is
" zero and we search for an enclosing {.
let paren = s:MatchPairs('(', ')', 0)
let bracket = s:MatchPairs('\[', '\]', paren[0])
let curly = s:MatchPairs('{', '}', bracket[0])
" Find the next enclosing [ or {. We can limit the second search
" to the line, where the [ was found. If no [ was there this is
" zero and we search for an enclosing {.
let paren = s:MatchPairs('(', ')', 0)
let bracket = s:MatchPairs('\[', '\]', paren[0])
let curly = s:MatchPairs('{', '}', bracket[0])
" In case the curly brace is on a line later then the [ or - in
" case they are on the same line - in a higher column, we take the
" curly indent.
if curly[0] > bracket[0] || curly[1] > bracket[1]
if curly[0] > paren[0] || curly[1] > paren[1]
return curly[1]
endif
endif
" In case the curly brace is on a line later then the [ or - in
" case they are on the same line - in a higher column, we take the
" curly indent.
if curly[0] > bracket[0] || curly[1] > bracket[1]
if curly[0] > paren[0] || curly[1] > paren[1]
return curly[1]
endif
endif
" If the curly was not chosen, we take the bracket indent - if
" there was one.
if bracket[0] > paren[0] || bracket[1] > paren[1]
return bracket[1]
endif
" If the curly was not chosen, we take the bracket indent - if
" there was one.
if bracket[0] > paren[0] || bracket[1] > paren[1]
return bracket[1]
endif
" There are neither { nor [ nor (, ie. we are at the toplevel.
if paren == [0, 0]
return 0
endif
" There are neither { nor [ nor (, ie. we are at the toplevel.
if paren == [0, 0]
return 0
endif
" Now we have to reimplement lispindent. This is surprisingly easy, as
" soon as one has access to syntax items.
"
" - Check whether we are in a special position after a word in
" g:clojure_special_indent_words. These are special cases.
" - Get the next keyword after the (.
" - If its first character is also a (, we have another sexp and align
" one column to the right of the unmatched (.
" - In case it is in lispwords, we indent the next line to the column of
" the ( + sw.
" - If not, we check whether it is last word in the line. In that case
" we again use ( + sw for indent.
" - In any other case we use the column of the end of the word + 2.
call cursor(paren)
" Now we have to reimplement lispindent. This is surprisingly easy, as
" soon as one has access to syntax items.
"
" - Check whether we are in a special position after a word in
" g:clojure_special_indent_words. These are special cases.
" - Get the next keyword after the (.
" - If its first character is also a (, we have another sexp and align
" one column to the right of the unmatched (.
" - In case it is in lispwords, we indent the next line to the column of
" the ( + sw.
" - If not, we check whether it is last word in the line. In that case
" we again use ( + sw for indent.
" - In any other case we use the column of the end of the word + 2.
call cursor(paren)
if s:IsMethodSpecialCase(paren)
return paren[1] + &shiftwidth - 1
endif
if s:IsMethodSpecialCase(paren)
return paren[1] + &shiftwidth - 1
endif
" In case we are at the last character, we use the paren position.
if col("$") - 1 == paren[1]
return paren[1]
endif
" In case we are at the last character, we use the paren position.
if col("$") - 1 == paren[1]
return paren[1]
endif
" In case after the paren is a whitespace, we search for the next word.
call cursor(0, col('.') + 1)
if s:CurrentChar() == ' '
call search('\v\S', 'W')
endif
" In case after the paren is a whitespace, we search for the next word.
normal! l
if s:CurrentChar() == ' '
normal! w
endif
" If we moved to another line, there is no word after the (. We
" use the ( position for indent.
if line(".") > paren[0]
return paren[1]
endif
" If we moved to another line, there is no word after the (. We
" use the ( position for indent.
if line(".") > paren[0]
return paren[1]
endif
" We still have to check, whether the keyword starts with a (, [ or {.
" In that case we use the ( position for indent.
let w = s:CurrentWord()
if stridx('([{', w[0]) > -1
return paren[1]
endif
" We still have to check, whether the keyword starts with a (, [ or {.
" In that case we use the ( position for indent.
let w = s:CurrentWord()
if stridx('([{', w[0]) > -1
return paren[1]
endif
" Test words without namespace qualifiers and leading reader macro
" metacharacters.
"
" e.g. clojure.core/defn and #'defn should both indent like defn.
let ww = substitute(w, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
" Test words without namespace qualifiers and leading reader macro
" metacharacters.
"
" e.g. clojure.core/defn and #'defn should both indent like defn.
let ww = substitute(w, "\\v%(.*/|[#'`~@^,]*)(.*)", '\1', '')
if &lispwords =~ '\V\<' . ww . '\>'
return paren[1] + &shiftwidth - 1
endif
if &lispwords =~ '\V\<' . ww . '\>'
return paren[1] + &shiftwidth - 1
endif
if g:clojure_fuzzy_indent
\ && !s:MatchesOne(g:clojure_fuzzy_indent_blacklist, ww)
\ && s:MatchesOne(g:clojure_fuzzy_indent_patterns, ww)
return paren[1] + &shiftwidth - 1
endif
if g:clojure_fuzzy_indent
\ && !s:MatchesOne(g:clojure_fuzzy_indent_blacklist, ww)
\ && s:MatchesOne(g:clojure_fuzzy_indent_patterns, ww)
return paren[1] + &shiftwidth - 1
endif
call search('\v\_s', 'cW')
call search('\v\S', 'W')
if paren[0] < line(".")
return paren[1] + (g:clojure_align_subforms ? 0 : &shiftwidth - 1)
endif
normal! W
if paren[0] < line(".")
return paren[1] + &shiftwidth - 1
endif
call search('\v\S', 'bW')
return virtcol(".") + 1
endfunction
normal! ge
return virtcol(".") + 1
endfunction
setlocal indentexpr=GetClojureIndent()
setlocal indentexpr=GetClojureIndent()
else
" In case we have searchpairpos not available we fall back to
" normal lisp indenting.
setlocal indentexpr=
setlocal lisp
let b:undo_indent .= '| setlocal lisp<'
" In case we have searchpairpos not available we fall back to
" normal lisp indenting.
setlocal indentexpr=
setlocal lisp
let b:undo_indent .= '| setlocal lisp<'
endif
@@ -390,9 +385,8 @@ setlocal lispwords+=while
" Exception handling
setlocal lispwords+=catch
setlocal lispwords+=try " For aesthetics when enclosing single line
let &cpo = s:save_cpo
unlet! s:save_cpo
" vim:sts=4 sw=4 et:
" vim:sts=8:sw=8:ts=8:noet

37
runtime/indent/j.vim Normal file
View File

@@ -0,0 +1,37 @@
" Vim indent file
" Language: J
" Maintainer: David Bürgin <676c7473@gmail.com>
" Last Change: 2013-09-21
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentexpr=GetJIndent()
setlocal indentkeys-=0{,0},\:,0#
setlocal indentkeys+=0),=case.,=catch.,=catchd.,=catcht.,=do.,=else.,=elseif.,=end.,=fcase.
let b:undo_indent = "setl indk< inde<"
if exists("*GetJIndent")
finish
endif
function GetJIndent()
let prevlnum = prevnonblank(v:lnum-1)
if prevlnum == 0
return 0
endif
let indent = indent(prevlnum)
if getline(prevlnum) =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|fcase\|for\%(_\a\k*\)\=\|if\|select\|try\|whil\%(e\|st\)\)\.'
if getline(prevlnum) !~# '\<end\.'
let indent += &shiftwidth
endif
endif
if getline(v:lnum) =~# '^\s*\%(case\|catch[dt]\=\|do\|else\%(if\)\=\|end\|fcase\)\.'
let indent -= &shiftwidth
endif
return indent
endfunction

View File

@@ -3,7 +3,7 @@
" Author: John Wellesz <John.wellesz (AT) teaser (DOT) fr>
" URL: http://www.2072productions.com/vim/indent/php.vim
" Home: https://github.com/2072/PHP-Indenting-for-VIm
" Last Change: 2013 August 7th
" Last Change: 2014 Jan 21
" Version: 1.39
"
"
@@ -642,7 +642,7 @@ function! GetPhpIndent()
if previous_line =~ '^\s*}\|;\s*}'.endline " XXX
call cursor(last_line_num, 1)
call search('}\|;\s*}'.endline, 'W')
call search('}\|;\s*}'.endline, 'cW')
let oldLastLine = last_line_num
let last_line_num = searchpair('{', '', '}', 'bW', 'Skippmatch()')

View File

@@ -1,7 +1,8 @@
" Vim indent file
" Language: Shell Script
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2010-01-06
" Maintainer: Peter Aronoff <telemachus@arpinum.org>
" Original Author: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2013-11-28
if exists("b:did_indent")
finish
@@ -77,6 +78,8 @@ function! GetShIndent()
let line = getline(v:lnum)
if line =~ '^\s*\%(then\|do\|else\|elif\|fi\|done\)\>' || line =~ '^\s*}'
let ind -= s:indent_value('default')
elseif line =~ '^\s*esac\>' && s:is_case_empty(getline(v:lnum - 1))
let ind -= s:indent_value('default')
elseif line =~ '^\s*esac\>'
let ind -= (s:is_case_label(pine, lnum) && s:is_case_ended(pine) ?
\ 0 : s:indent_value('case-statements')) +
@@ -154,5 +157,13 @@ function! s:is_case_ended(line)
return s:is_case_break(a:line) || a:line =~ ';[;&]\s*\%(#.*\)\=$'
endfunction
function! s:is_case_empty(line)
if a:line =~ '^\s*$' || a:line =~ '^\s*#'
return s:is_case_empty(getline(v:lnum - 1))
else
return a:line =~ '^\s*case\>'
endif
endfunction
let &cpo = s:cpo_save
unlet s:cpo_save

View File

@@ -0,0 +1,230 @@
" Vim indent file
" Language: SystemVerilog
" Maintainer: kocha <kocha.lsifrontend@gmail.com>
" Last Change: 12-Aug-2013.
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
let b:did_indent = 1
setlocal indentexpr=SystemVerilogIndent()
setlocal indentkeys=!^F,o,O,0),0},=begin,=end,=join,=endcase,=join_any,=join_none
setlocal indentkeys+==endmodule,=endfunction,=endtask,=endspecify
setlocal indentkeys+==endclass,=endpackage,=endsequence,=endclocking
setlocal indentkeys+==endinterface,=endgroup,=endprogram,=endproperty,=endchecker
setlocal indentkeys+==`else,=`endif
" Only define the function once.
if exists("*SystemVerilogIndent")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
function SystemVerilogIndent()
if exists('b:systemverilog_indent_width')
let offset = b:systemverilog_indent_width
else
let offset = &sw
endif
if exists('b:systemverilog_indent_modules')
let indent_modules = offset
else
let indent_modules = 0
endif
" Find a non-blank line above the current line.
let lnum = prevnonblank(v:lnum - 1)
" At the start of the file use zero indent.
if lnum == 0
return 0
endif
let lnum2 = prevnonblank(lnum - 1)
let curr_line = getline(v:lnum)
let last_line = getline(lnum)
let last_line2 = getline(lnum2)
let ind = indent(lnum)
let ind2 = indent(lnum - 1)
let offset_comment1 = 1
" Define the condition of an open statement
" Exclude the match of //, /* or */
let sv_openstat = '\(\<or\>\|\([*/]\)\@<![*(,{><+-/%^&|!=?:]\([*/]\)\@!\)'
" Define the condition when the statement ends with a one-line comment
let sv_comment = '\(//.*\|/\*.*\*/\s*\)'
if exists('b:verilog_indent_verbose')
let vverb_str = 'INDENT VERBOSE:'
let vverb = 1
else
let vverb = 0
endif
" Indent accoding to last line
" End of multiple-line comment
if last_line =~ '\*/\s*$' && last_line !~ '/\*.\{-}\*/'
let ind = ind - offset_comment1
if vverb
echo vverb_str "De-indent after a multiple-line comment."
endif
" Indent after if/else/for/case/always/initial/specify/fork blocks
elseif last_line =~ '`\@<!\<\(if\|else\)\>' ||
\ last_line =~ '^\s*\<\(for\|case\%[[zx]]\|do\|foreach\|randcase\)\>' ||
\ last_line =~ '^\s*\<\(always\|always_comb\|always_ff\|always_latch\)\>' ||
\ last_line =~ '^\s*\<\(initial\|specify\|fork\|final\)\>'
if last_line !~ '\(;\|\<end\>\)\s*' . sv_comment . '*$' ||
\ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . sv_comment . '*$'
let ind = ind + offset
if vverb | echo vverb_str "Indent after a block statement." | endif
endif
" Indent after function/task/class/package/sequence/clocking/
" interface/covergroup/property/checkerprogram blocks
elseif last_line =~ '^\s*\<\(function\|task\|class\|package\)\>' ||
\ last_line =~ '^\s*\<\(sequence\|clocking\|interface\)\>' ||
\ last_line =~ '^\s*\(\w\+\s*:\)\=\s*\<covergroup\>' ||
\ last_line =~ '^\s*\<\(property\|checker\|program\)\>'
if last_line !~ '\<end\>\s*' . sv_comment . '*$' ||
\ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . sv_comment . '*$'
let ind = ind + offset
if vverb
echo vverb_str "Indent after function/task/class block statement."
endif
endif
" Indent after module/function/task/specify/fork blocks
elseif last_line =~ '^\s*\(\<extern\>\s*\)\=\<module\>'
let ind = ind + indent_modules
if vverb && indent_modules
echo vverb_str "Indent after module statement."
endif
if last_line =~ '[(,]\s*' . sv_comment . '*$' &&
\ last_line !~ '\(//\|/\*\).*[(,]\s*' . sv_comment . '*$'
let ind = ind + offset
if vverb
echo vverb_str "Indent after a multiple-line module statement."
endif
endif
" Indent after a 'begin' statement
elseif last_line =~ '\(\<begin\>\)\(\s*:\s*\w\+\)*' . sv_comment . '*$' &&
\ last_line !~ '\(//\|/\*\).*\(\<begin\>\)' &&
\ ( last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' ||
\ last_line2 =~ '^\s*[^=!]\+\s*:\s*' . sv_comment . '*$' )
let ind = ind + offset
if vverb | echo vverb_str "Indent after begin statement." | endif
" Indent after a '{' or a '('
elseif last_line =~ '[{(]' . sv_comment . '*$' &&
\ last_line !~ '\(//\|/\*\).*[{(]' &&
\ ( last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' ||
\ last_line2 =~ '^\s*[^=!]\+\s*:\s*' . sv_comment . '*$' )
let ind = ind + offset
if vverb | echo vverb_str "Indent after begin statement." | endif
" De-indent for the end of one-line block
elseif ( last_line !~ '\<begin\>' ||
\ last_line =~ '\(//\|/\*\).*\<begin\>' ) &&
\ last_line2 =~ '\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|final\)\>.*' .
\ sv_comment . '*$' &&
\ last_line2 !~ '\(//\|/\*\).*\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|final\)\>' &&
\ last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' &&
\ ( last_line2 !~ '\<begin\>' ||
\ last_line2 =~ '\(//\|/\*\).*\<begin\>' )
let ind = ind - offset
if vverb
echo vverb_str "De-indent after the end of one-line statement."
endif
" Multiple-line statement (including case statement)
" Open statement
" Ident the first open line
elseif last_line =~ sv_openstat . '\s*' . sv_comment . '*$' &&
\ last_line !~ '\(//\|/\*\).*' . sv_openstat . '\s*$' &&
\ last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$'
let ind = ind + offset
if vverb | echo vverb_str "Indent after an open statement." | endif
" Close statement
" De-indent for an optional close parenthesis and a semicolon, and only
" if there exists precedent non-whitespace char
elseif last_line =~ ')*\s*;\s*' . sv_comment . '*$' &&
\ last_line !~ '^\s*)*\s*;\s*' . sv_comment . '*$' &&
\ last_line !~ '\(//\|/\*\).*\S)*\s*;\s*' . sv_comment . '*$' &&
\ ( last_line2 =~ sv_openstat . '\s*' . sv_comment . '*$' &&
\ last_line2 !~ ';\s*//.*$') &&
\ last_line2 !~ '^\s*' . sv_comment . '$'
let ind = ind - offset
if vverb | echo vverb_str "De-indent after a close statement." | endif
" `ifdef and `else
elseif last_line =~ '^\s*`\<\(ifdef\|else\)\>'
let ind = ind + offset
if vverb
echo vverb_str "Indent after a `ifdef or `else statement."
endif
endif
" Re-indent current line
" De-indent on the end of the block
" join/end/endcase/endfunction/endtask/endspecify
if curr_line =~ '^\s*\<\(join\|join_any\|join_none\|\|end\|endcase\|while\)\>' ||
\ curr_line =~ '^\s*\<\(endfunction\|endtask\|endspecify\|endclass\)\>' ||
\ curr_line =~ '^\s*\<\(endpackage\|endsequence\|endclocking\|endinterface\)\>' ||
\ curr_line =~ '^\s*\<\(endgroup\|endproperty\|endchecker\|endprogram\)\>' ||
\ curr_line =~ '^\s*}'
let ind = ind - offset
if vverb | echo vverb_str "De-indent the end of a block." | endif
elseif curr_line =~ '^\s*\<endmodule\>'
let ind = ind - indent_modules
if vverb && indent_modules
echo vverb_str "De-indent the end of a module."
endif
" De-indent on a stand-alone 'begin'
elseif curr_line =~ '^\s*\<begin\>'
if last_line !~ '^\s*\<\(function\|task\|specify\|module\|class\|package\)\>' ||
\ last_line !~ '^\s*\<\(sequence\|clocking\|interface\|covergroup\)\>' ||
\ last_line !~ '^\s*\<\(property\|checker\|program\)\>' &&
\ last_line !~ '^\s*\()*\s*;\|)\+\)\s*' . sv_comment . '*$' &&
\ ( last_line =~
\ '\<\(`\@<!if\|`\@<!else\|for\|case\%[[zx]]\|always\|initial\|do\|foreach\|randcase\|final\)\>' ||
\ last_line =~ ')\s*' . sv_comment . '*$' ||
\ last_line =~ sv_openstat . '\s*' . sv_comment . '*$' )
let ind = ind - offset
if vverb
echo vverb_str "De-indent a stand alone begin statement."
endif
endif
" De-indent after the end of multiple-line statement
elseif curr_line =~ '^\s*)' &&
\ ( last_line =~ sv_openstat . '\s*' . sv_comment . '*$' ||
\ last_line !~ sv_openstat . '\s*' . sv_comment . '*$' &&
\ last_line2 =~ sv_openstat . '\s*' . sv_comment . '*$' )
let ind = ind - offset
if vverb
echo vverb_str "De-indent the end of a multiple statement."
endif
" De-indent `else and `endif
elseif curr_line =~ '^\s*`\<\(else\|endif\)\>'
let ind = ind - offset
if vverb | echo vverb_str "De-indent `else and `endif statement." | endif
endif
" Return the indention
return ind
endfunction
let &cpo = s:cpo_save
unlet s:cpo_save
" vim:sw=2

View File

@@ -855,7 +855,7 @@ if has("lispindent")
call append("$", "\t(local to buffer)")
call <SID>BinOptionL("lisp")
call append("$", "lispwords\twords that change how lisp indenting works")
call <SID>OptionG("lw", &lw)
call <SID>OptionL("lw", &lw)
endif

View File

@@ -1,7 +1,7 @@
" ---------------------------------------------------------------------
" getscriptPlugin.vim
" Author: Charles E. Campbell
" Date: Jan 07, 2008
" Date: Nov 29, 2013
" Installing: :help glvs-install
" Usage: :help glvs
"
@@ -13,13 +13,16 @@
" Initialization: {{{1
" if you're sourcing this file, surely you can't be
" expecting vim to be in its vi-compatible mode
if &cp || exists("g:loaded_getscriptPlugin")
if exists("g:loaded_getscriptPlugin")
finish
endif
if &cp
if &verbose
echo "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
endif
finish
endif
let g:loaded_getscriptPlugin = "v35"
let g:loaded_getscriptPlugin = "v36"
let s:keepcpo = &cpo
set cpo&vim

View File

@@ -1,9 +1,9 @@
" netrwPlugin.vim: Handles file transfer and remote directory listing across a network
" PLUGIN SECTION
" Date: Apr 30, 2013
" Date: Dec 31, 2013
" Maintainer: Charles E Campbell <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2012 Charles E. Campbell {{{1
" Copyright: Copyright (C) 1999-2013 Charles E. Campbell {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -20,27 +20,33 @@
if &cp || exists("g:loaded_netrwPlugin")
finish
endif
"DechoTabOn
let g:loaded_netrwPlugin = "v149"
let g:loaded_netrwPlugin = "v150"
if v:version < 702
echohl WarningMsg | echo "***netrw*** you need vim version 7.2 for this version of netrw" | echohl None
echohl WarningMsg
echo "***warning*** you need vim version 7.2 for this version of netrw"
echohl None
finish
endif
if v:version < 703 || (v:version == 703 && !has("patch465"))
echohl WarningMsg
echo "***warning*** this version of netrw needs vim 7.3.465 or later"
echohl Normal
finish
endif
let s:keepcpo = &cpo
set cpo&vim
"DechoTabOn
"DechoRemOn
" ---------------------------------------------------------------------
" Public Interface: {{{1
" Local Browsing: {{{2
" Local Browsing Autocmds: {{{2
augroup FileExplorer
au!
" SEE Benzinger problem...
au BufEnter * sil! call s:LocalBrowse(expand("<amatch>"))
au VimEnter * sil! call s:VimEnter(expand("<amatch>"))
au BufEnter * sil call s:LocalBrowse(expand("<amatch>"))
au VimEnter * sil call s:VimEnter(expand("<amatch>"))
if has("win32") || has("win95") || has("win64") || has("win16")
au BufEnter .* sil! call s:LocalBrowse(expand("<amatch>"))
au BufEnter .* sil call s:LocalBrowse(expand("<amatch>"))
endif
augroup END
@@ -50,8 +56,8 @@ augroup Network
au BufReadCmd file://* call netrw#FileUrlRead(expand("<amatch>"))
au BufReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(2,expand("<amatch>"))|exe "sil doau BufReadPost ".fnameescape(expand("<amatch>"))
au FileReadCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileReadPre ".fnameescape(expand("<amatch>"))|call netrw#Nread(1,expand("<amatch>"))|exe "sil doau FileReadPost ".fnameescape(expand("<amatch>"))
au BufWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
au FileWriteCmd ftp://*,rcp://*,scp://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
au BufWriteCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau BufWritePre ".fnameescape(expand("<amatch>"))|exe 'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau BufWritePost ".fnameescape(expand("<amatch>"))
au FileWriteCmd ftp://*,rcp://*,scp://*,http://*,dav://*,davs://*,rsync://*,sftp://* exe "sil doau FileWritePre ".fnameescape(expand("<amatch>"))|exe "'[,']".'Nwrite '.fnameescape(expand("<amatch>"))|exe "sil doau FileWritePost ".fnameescape(expand("<amatch>"))
try
au SourceCmd ftp://*,rcp://*,scp://*,http://*,https://*,dav://*,davs://*,rsync://*,sftp://* exe 'Nsource '.fnameescape(expand("<amatch>"))
catch /^Vim\%((\a\+)\)\=:E216/
@@ -64,8 +70,9 @@ com! -count=1 -nargs=* Nread call netrw#NetrwSavePosn()<bar>call netrw#NetRead(
com! -range=% -nargs=* Nwrite call netrw#NetrwSavePosn()<bar><line1>,<line2>call netrw#NetWrite(<f-args>)<bar>call netrw#NetrwRestorePosn()
com! -nargs=* NetUserPass call NetUserPass(<f-args>)
com! -nargs=* Nsource call netrw#NetrwSavePosn()<bar>call netrw#NetSource(<f-args>)<bar>call netrw#NetrwRestorePosn()
com! -nargs=? Ntree call netrw#NetrwSetTreetop(<q-args>)
" Commands: :Explore, :Sexplore, Hexplore, Vexplore {{{2
" Commands: :Explore, :Sexplore, Hexplore, Vexplore, Lexplore {{{2
com! -nargs=* -bar -bang -count=0 -complete=dir Explore call netrw#Explore(<count>,0,0+<bang>0,<q-args>)
com! -nargs=* -bar -bang -count=0 -complete=dir Sexplore call netrw#Explore(<count>,1,0+<bang>0,<q-args>)
com! -nargs=* -bar -bang -count=0 -complete=dir Hexplore call netrw#Explore(<count>,1,2+<bang>0,<q-args>)
@@ -73,6 +80,7 @@ com! -nargs=* -bar -bang -count=0 -complete=dir Vexplore call netrw#Explore(<cou
com! -nargs=* -bar -count=0 -complete=dir Texplore call netrw#Explore(<count>,0,6 ,<q-args>)
com! -nargs=* -bar -bang Nexplore call netrw#Explore(-1,0,0,<q-args>)
com! -nargs=* -bar -bang Pexplore call netrw#Explore(-2,0,0,<q-args>)
com! -nargs=* -bar -complete=dir Lexplore call netrw#Lexplore(<q-args>)
" Commands: NetrwSettings {{{2
com! -nargs=0 NetrwSettings call netrwSettings#NetrwSettings()
@@ -83,46 +91,61 @@ if !exists("g:netrw_nogx") && maparg('gx','n') == ""
if !hasmapto('<Plug>NetrwBrowseX')
nmap <unique> gx <Plug>NetrwBrowseX
endif
nno <silent> <Plug>NetrwBrowseX :call netrw#NetrwBrowseX(expand("<cWORD>"),0)<cr>
nno <silent> <Plug>NetrwBrowseX :call netrw#NetrwBrowseX(expand("<cfile>"),0)<cr>
endif
" ---------------------------------------------------------------------
" LocalBrowse: {{{2
" LocalBrowse: invokes netrw#LocalBrowseCheck() on directory buffers {{{2
fun! s:LocalBrowse(dirname)
" unfortunate interaction -- debugging calls can't be used here;
" the BufEnter event causes triggering when attempts to write to
" Unfortunate interaction -- only DechoMsg debugging calls can be safely used here.
" Otherwise, the BufEnter event gets triggered when attempts to write to
" the DBG buffer are made.
if !exists("s:vimentered")
" If s:vimentered doesn't exist, then the VimEnter event hasn't fired. It will,
" and so s:VimEnter() will then be calling this routine, but this time with s:vimentered defined.
" call Dfunc("s:LocalBrowse(dirname<".a:dirname.">) (s:vimentered doesn't exist)")
" call Dret("s:LocalBrowse")
return
endif
" call Decho("s:LocalBrowse(dirname<".a:dirname.">){")
" echomsg "dirname<".a:dirname.">"
" call Dfunc("s:LocalBrowse(dirname<".a:dirname.">) (s:vimentered=".s:vimentered.")")
if has("amiga")
" The check against '' is made for the Amiga, where the empty
" string is the current directory and not checking would break
" things such as the help command.
" call Decho("(LocalBrowse) dirname<".a:dirname."> (amiga)")
" call Decho("(LocalBrowse) dirname<".a:dirname."> (isdirectory, amiga)")
if a:dirname != '' && isdirectory(a:dirname)
sil! call netrw#LocalBrowseCheck(a:dirname)
endif
elseif isdirectory(a:dirname)
" echomsg "dirname<".dirname."> isdir"
" call Decho("(LocalBrowse) dirname<".a:dirname."> (not amiga)")
" call Decho("(LocalBrowse) dirname<".a:dirname."> (isdirectory, not amiga)")
sil! call netrw#LocalBrowseCheck(a:dirname)
else
" not a directory, ignore it
" call Decho("(LocalBrowse) dirname<".a:dirname."> not a directory, ignoring...")
endif
" not a directory, ignore it
" call Decho("|return s:LocalBrowse }")
" call Dret("s:LocalBrowse")
endfun
" ---------------------------------------------------------------------
" s:VimEnter: {{{2
" s:VimEnter: after all vim startup stuff is done, this function is called. {{{2
" Its purpose: to look over all windows and run s:LocalBrowse() on
" them, which checks if they're directories and will create a directory
" listing when appropriate.
" It also sets s:vimentered, letting s:LocalBrowse() know that s:VimEnter()
" has already been called.
fun! s:VimEnter(dirname)
" call Decho("VimEnter(dirname<".a:dirname.">){")
" call Dfunc("s:VimEnter(dirname<".a:dirname.">) expand(%)<".expand("%").">")
let curwin = winnr()
let s:vimentered = 1
windo if a:dirname != expand("%")|call s:LocalBrowse(expand("%:p"))|endif
windo call s:LocalBrowse(expand("%:p"))
exe curwin."wincmd w"
" call Decho("|return VimEnter }")
" call Dret("s:VimEnter")
endfun
" ---------------------------------------------------------------------

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: xa 6502 cross assembler
" Maintainer: Clemens Kirchgatterer <clemens@thf.ath.cx>
" Last Change: 2003 May 03
" Maintainer: Clemens Kirchgatterer <clemens@1541.org>
" Last Change: 2014 Jan 05
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded

View File

@@ -1,11 +1,9 @@
" Vim syntax file
" This is a GENERATED FILE. Please always refer to source file at the URI below.
" Language: Apache configuration (httpd.conf, srm.conf, access.conf, .htaccess)
" Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
" 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: 2006-12-13
" URL: http://trific.ath.cx/Ftp/vim/syntax/apache.vim
" Last Change: 2014-03-04
" 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?
@@ -30,7 +28,10 @@ syn keyword apacheFixme FIXME TODO XXX NOT
syn case ignore
syn match apacheAnything "\s[^>]*" contained
syn match apacheError "\w\+" contained
syn region apacheString start=+"+ end=+"+ skip=+\\\\\|\\\"+
syn region apacheString start=+"+ end=+"+ skip=+\\\\\|\\\"+ oneline
" Following is to prevent escaped quotes from being parsed as strings.
syn match apacheSkipQuote +\\"+
" Core and mpm
syn keyword apacheDeclaration AccessFileName AddDefaultCharset AllowOverride AuthName AuthType ContentDigest DefaultType DocumentRoot ErrorDocument ErrorLog HostNameLookups IdentityCheck Include KeepAlive KeepAliveTimeout LimitRequestBody LimitRequestFields LimitRequestFieldsize LimitRequestLine LogLevel MaxKeepAliveRequests NameVirtualHost Options Require RLimitCPU RLimitMEM RLimitNPROC Satisfy ScriptInterpreterSource ServerAdmin ServerAlias ServerName ServerPath ServerRoot ServerSignature ServerTokens TimeOut UseCanonicalName
@@ -156,7 +157,7 @@ syn keyword apacheDeclaration PerlRestartHandler PerlDispatchHandler
syn keyword apacheDeclaration PerlFreshRestart PerlSendHeader
syn keyword apacheDeclaration php_value php_flag php_admin_value php_admin_flag
syn match apacheSection "<\/\=\(Proxy\|ProxyMatch\)[^>]*>" contains=apacheAnything
syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPass ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia
syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPass ProxyPassMatch ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia
syn keyword apacheDeclaration RewriteBase RewriteCond RewriteEngine RewriteLock RewriteLog RewriteLogLevel RewriteMap RewriteOptions RewriteRule
syn keyword apacheOption inherit
syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase

View File

@@ -0,0 +1,61 @@
" Vim syntax file
" Language: Arduino
" Maintainer: Johannes Hoff <johannes@johanneshoff.com>
" Last Change: 2011 June 3
" License: VIM license (:help license, replace vim by arduino.vim)
" Syntax highlighting like in the Arduino IDE
" Keywords extracted from <arduino>/build/shared/lib/keywords.txt (arduino
" version 0021)
" Thanks to Rik, Erik Nomitch, Adam Obeng and Graeme Cross for helpful feedback!
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Read the C syntax to start with
if version < 600
so <sfile>:p:h/cpp.vim
else
runtime! syntax/cpp.vim
endif
syn keyword arduinoConstant HIGH LOW INPUT OUTPUT
syn keyword arduinoConstant DEC BIN HEX OCT BYTE
syn keyword arduinoConstant PI HALF_PI TWO_PI
syn keyword arduinoConstant LSBFIRST MSBFIRST
syn keyword arduinoConstant CHANGE FALLING RISING
syn keyword arduinoConstant SERIAL DISPLAY
syn keyword arduinoConstant DEFAULT EXTERNAL INTERNAL INTERNAL1V1 INTERNAL2V56
syn keyword arduinoStdFunc abs acos asin atan atan2 ceil constrain
syn keyword arduinoStdFunc cos degrees exp floor log
syn keyword arduinoStdFunc map max min pow radians
syn keyword arduinoStdFunc round sin sq sqrt tan
syn keyword arduinoStdFunc randomSeed random
syn keyword arduinoFunc analogReference analogRead analogWrite
syn keyword arduinoFunc attachInterrupt detachInterrupt interrupts noInterrupts
syn keyword arduinoFunc lowByte highByte bitRead bitWrite bitSet bitClear
syn keyword arduinoFunc millis micros delay delayMicroseconds
syn keyword arduinoFunc pinMode digitalWrite digitalRead
syn keyword arduinoFunc tone noTone pulseIn shiftOut
syn keyword arduinoMethod setup loop
syn keyword arduinoMethod begin end available read flush print println write peek
syn keyword arduinoType boolean byte word String
syn keyword arduinoModule Serial Serial1 Serial2 Serial3
hi def link arduinoType Type
hi def link arduinoConstant Constant
hi def link arduinoStdFunc Function
hi def link arduinoFunc Function
hi def link arduinoMethod Function
hi def link arduinoModule Identifier

View File

@@ -3,7 +3,7 @@
" Maintainer: Erik Wognsen <erik.wognsen@gmail.com>
" Previous maintainer:
" Kevin Dahlhausen <kdahlhaus@yahoo.com>
" Last Change: 2012 Apr 09
" Last Change: 2014 Feb 04
" Thanks to Ori Avtalion for feedback on the comment markers!
@@ -93,7 +93,11 @@ syn match asmCond "\.endif"
syn match asmMacro "\.macro"
syn match asmMacro "\.endm"
syn match asmDirective "\.[a-z][a-z]\+"
" Assembler directives start with a '.' and may contain upper case (e.g.,
" .ABORT), numbers (e.g., .p2align), dash (e.g., .app-file) and underscore in
" CFI directives (e.g., .cfi_startproc). This will also match labels starting
" with '.', including the GCC auto-generated '.L' labels.
syn match asmDirective "\.[A-Za-z][0-9A-Za-z-_]*"
syn case match

View File

@@ -2,7 +2,7 @@
" Language: Clean
" Author: Pieter van Engelen <pietere@sci.kun.nl>
" Co-Author: Arthur van Leeuwen <arthurvl@sci.kun.nl>
" Last Change: 2013 Jun 19 by Jurriën Stutterheim
" Last Change: 2013 Oct 15 by Jurriën Stutterheim
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -31,11 +31,10 @@ syn keyword cleanIncludeKeyword contained from import as qualified
" To do some Denotation Highlighting
syn keyword cleanBoolDenot True False
syn region cleanStringDenot start=+"+ end=+"+
syn match cleanCharDenot "'.'"
syn match cleanCharsDenot "'[^'\\]*\(\\.[^'\\]\)*'" contained
syn match cleanIntegerDenot "[+-~]\=\<\(\d\+\|0[0-7]\+\|0x[0-9A-Fa-f]\+\)\>"
syn match cleanRealDenot "[+-~]\=\<\d\+\.\d+\(E[+-~]\=\d+\)\="
syn region cleanStringDenot start=+"+ skip=+\(\(\\\\\)\+\|\\"\)+ end=+"+ display
syn match cleanCharDenot "'\(\\\\\|\\'\|[^'\\]\)\+'" display
syn match cleanIntegerDenot "[\~+-]\?\<\(\d\+\|0[0-7]\+\|0x[0-9A-Fa-f]\+\)\>" display
syn match cleanRealDenot "[\~+-]\?\d\+\.\d\+\(E[\~+-]\?\d\+\)\?" display
" To highlight the use of lists, tuples and arrays
syn region cleanList start="\[" end="\]" contains=ALL
@@ -44,11 +43,13 @@ syn region cleanArray start="{:" end=":}" contains=ALL
syn match cleanTuple "([^=]*,[^=]*)" contains=ALL
" To do some Comment Highlighting
syn region cleanComment start="/\*" end="\*/" contains=cleanComment
syn match cleanComment "//.*"
syn region cleanComment start="/\*" end="\*/" contains=cleanComment,cleanTodo fold
syn region cleanComment start="//.*" end="$" display contains=cleanTodo
syn keyword cleanTodo TODO FIXME XXX contained
" Now for some useful type definition recognition
syn match cleanFuncTypeDef "\([a-zA-Z].*\|(\=[-~@#$%^?!+*<>\/|&=:]\+)\=\)\s*\(infix[lr]\=\)\=\s*\d\=\s*::.*->.*" contains=cleanSpecial,cleanBasicType,cleanSpecialType,cleanKeyword
" Now for some useful typedefinitionrecognition
syn match cleanFuncTypeDef "\([a-zA-Z].*\|(\=[-~@#$%^?!+*<>\/|&=:]\+)\=\)[ \t]*\(infix[lr]\=\)\=[ \t]*\d\=[ \t]*::.*->.*" contains=cleanSpecial
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
@@ -64,7 +65,6 @@ if version >= 508 || !exists("did_clean_syntax_init")
" Comments
HiLink cleanComment Comment
" Constants and denotations
HiLink cleanCharsDenot String
HiLink cleanStringDenot String
HiLink cleanCharDenot Character
HiLink cleanIntegerDenot Number
@@ -91,6 +91,7 @@ if version >= 508 || !exists("did_clean_syntax_init")
HiLink cleanTuple Special
" Error
" Todo
HiLink cleanTodo Todo
delcommand HiLink
endif

File diff suppressed because one or more lines are too long

View File

@@ -6,7 +6,7 @@
" Nikolai Weibull (Add CSS2 support)
" Maintainer: Jules Wang <w.jq0722@gmail.com>
" URL: https://github.com/JulesWang/css.vim
" Last Change: 2013 Jul 23
" Last Change: 2013 Nov.27
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -37,12 +37,12 @@ syn keyword cssTagName link map menu meta noframes noscript ol optgroup
syn keyword cssTagName option p param pre q s samp script select small
syn keyword cssTagName span strike strong style sub sup table tbody td
syn keyword cssTagName textarea tfoot th thead title tr tt ul u var
syn keyword cssTagName object
syn keyword cssTagName object svg
" HTML5 new tags 5*6=30
syn keyword cssTagName article aside audio bdi canvas command
syn keyword cssTagName datalist details embed figcaption figure footer
syn keyword cssTagName header hgroup keygen mark meter nav
" 34 HTML5 tags
syn keyword cssTagName article aside audio bdi canvas command data
syn keyword cssTagName datalist details dialog embed figcaption figure footer
syn keyword cssTagName header hgroup keygen main mark menuitem meter nav
syn keyword cssTagName output progress rt rp ruby section
syn keyword cssTagName source summary time track video wbr
@@ -50,17 +50,16 @@ syn keyword cssTagName source summary time track video wbr
syn keyword cssDeprecated acronym applet basefont big center dir
syn keyword cssDeprecated font frame frameset noframes strike tt
"syn match cssTagName "\<table\>"
syn match cssTagName "\*"
" selectors
syn match cssSelectorOp "[,>+]"
syn match cssSelectorOp "[,>+~]"
syn match cssSelectorOp2 "[~|^$*]\?=" contained
" FIXME: add HTML5 attribute
syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" transparent contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
" .class and #id
syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+"
syn match cssClassName "\.[A-Za-z][A-Za-z0-9_-]\+" contains=cssClassNameDot
syn match cssClassNameDot contained '\.'
try
syn match cssIdentifier "#[A-Za-z<>-<2D>_@][A-Za-z<>-<2D>0-9_@-]*"
@@ -68,26 +67,60 @@ catch /^.*/
syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*"
endtry
syn match cssTagName "@page\>" nextgroup=cssDefinition
" FIXME: use cssVendor here
syn match cssTagName "@\(-\(webkit\|moz\|o\|ms\)-\)\=keyframes\>" nextgroup=cssDefinition
" digits
syn match cssValueInteger contained "[-+]\=\d\+" contains=cssUnitDecorators
syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\=" contains=cssUnitDecorators
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\)" contains=cssUnitDecorators
syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)" contains=cssUnitDecorators
syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)" contains=cssUnitDecorators
syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)" contains=cssUnitDecorators
syn match cssMedia "@media\>" nextgroup=cssMediaType skipwhite skipnl
syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all nextgroup=cssMediaComma,cssMediaBlock skipwhite skipnl
"syn match cssMediaComma "," nextgroup=cssMediaType skipwhite skipnl
syn region cssMediaBlock transparent matchgroup=cssBraces start='{' end='}' contains=cssTagName,cssError,cssComment,cssDefinition,cssURL,cssUnicodeEscape,cssIdentifier
syn match cssValueInteger contained "[-+]\=\d\+"
syn match cssValueNumber contained "[-+]\=\d\+\(\.\d*\)\="
syn match cssValueLength contained "[-+]\=\d\+\(\.\d*\)\=\(%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\)"
syn match cssValueAngle contained "[-+]\=\d\+\(\.\d*\)\=\(deg\|grad\|rad\)"
syn match cssValueTime contained "+\=\d\+\(\.\d*\)\=\(ms\|s\)"
syn match cssValueFrequency contained "+\=\d\+\(\.\d*\)\=\(Hz\|kHz\)"
syn match cssIncludeKeyword /@\(-[a-z]+-\)\=\(media\|keyframes\|import\|charset\|namespace\|page\)/ contained
" @media
syn region cssInclude start=/@media\>/ end=/\ze{/ skipwhite skipnl contains=cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType,cssIncludeKeyword,cssMediaComma,cssComment nextgroup=cssMediaBlock
syn keyword cssMediaType contained screen print aural braille embossed handheld projection tty tv speech all contained skipwhite skipnl
syn keyword cssMediaKeyword only not and contained
syn region cssMediaBlock transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssTagName,cssClassName,cssIdentifier,cssPseudoClass,cssSelectorOp,cssSelectorOp2,cssAttributeSelector fold
syn match cssMediaComma "," skipwhite skipnl contained
" Reference: http://www.w3.org/TR/css3-mediaqueries/
syn keyword cssMediaProp contained width height orientation scan grid
syn match cssMediaProp contained /\(\(device\)-\)\=aspect-ratio/
syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-pixel-ratio/
syn match cssMediaProp contained /\(\(max\|min\)-\)\=device-\(height\|width\)/
syn match cssMediaProp contained /\(\(max\|min\)-\)\=\(height\|width\|resolution\|monochrome\|color\(-index\)\=\)/
syn keyword cssMediaAttr contained portrait landscape progressive interlace
" @page
" http://www.w3.org/TR/css3-page/
syn match cssPage "@page\>[^{]*{\@=" contains=cssPagePseudo,cssIncludeKeyword nextgroup=cssPageWrap transparent skipwhite skipnl
syn match cssPagePseudo /:\(left\|right\|first\|blank\)/ contained skipwhite skipnl
syn region cssPageWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssPageMargin,cssPageProp,cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks
syn match cssPageMargin /@\(\(top\|left\|right\|bottom\)-\(left\|center\|right\|middle\|bottom\)\)\(-corner\)\=/ contained nextgroup=cssDefinition skipwhite skipnl
syn keyword cssPageProp contained content size
" http://www.w3.org/TR/CSS2/page.html#break-inside
syn keyword cssPageProp contained orphans widows
" @keyframe
" http://www.w3.org/TR/css3-animations/#keyframes
syn match cssKeyFrame "@\(-[a-z]+-\)\=keyframes\>[^{]*{\@=" nextgroup=cssKeyFrameWrap contains=cssVendor,cssIncludeKeyword skipwhite skipnl transparent
syn region cssKeyFrameWrap contained transparent matchgroup=cssBraces start="{" end="}" contains=cssKeyFrameSelector
syn match cssKeyFrameSelector /\(\d*%\|from\|to\)\=/ contained skipwhite skipnl nextgroup=cssDefinition
" @import
syn region cssInclude start=/@import\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword,cssURL,cssMediaProp,cssValueLength,cssMediaKeyword,cssValueInteger,cssMediaAttr,cssVendor,cssMediaType
syn region cssInclude start=/@charset\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
syn region cssInclude start=/@namespace\>/ end=/\ze;/ transparent contains=cssStringQ,cssStringQQ,cssUnicodeEscape,cssComment,cssIncludeKeyword
" @font-face
" http://www.w3.org/TR/css3-fonts/#at-font-face-rule
syn match cssFontDescriptor "@font-face\>" nextgroup=cssFontDescriptorBlock skipwhite skipnl
syn region cssFontDescriptorBlock contained transparent matchgroup=cssBraces start="{" end="}" contains=cssComment,cssError,cssUnicodeEscape,cssFontProp,cssFontAttr,cssCommonAttr,cssStringQ,cssStringQQ,cssFontDescriptorProp,cssValue.*,cssFontDescriptorFunction,cssUnicodeRange,cssFontDescriptorAttr
syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>"
syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline
"syn match cssFontDescriptorProp contained "\<\(unicode-range\|unit-per-em\|panose-1\|cap-height\|x-height\|definition-src\)\>"
"syn keyword cssFontDescriptorProp contained src stemv stemh slope ascent descent widths bbox baseline centerline mathline topline
syn keyword cssFontDescriptorProp contained src
syn match cssFontDescriptorProp contained "\<unicode-range\>"
syn keyword cssFontDescriptorAttr contained all
syn region cssFontDescriptorFunction contained matchgroup=cssFunctionName start="\<\(uri\|url\|local\|format\)\s*(" end=")" contains=cssStringQ,cssStringQQ oneline keepend
syn match cssUnicodeRange contained "U+[0-9A-Fa-f?]\+"
@@ -124,7 +157,7 @@ syn keyword cssColor contained slategray slategrey snow springgreen steelblue ta
syn keyword cssColor contained thistle tomato turquoise violet wheat
syn keyword cssColor contained whitesmoke yellowgreen
" FIXME: These are actually case-insentivie too, but (a) specs recommend using
" FIXME: These are actually case-insensitive too, but (a) specs recommend using
" mixed-case (b) it's hard to highlight the word `Background' correctly in
" all situations
syn case match
@@ -135,50 +168,75 @@ syn match cssImportant contained "!\s*important\>"
syn match cssColor contained "\<transparent\>"
syn match cssColor contained "\<white\>"
syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>"
syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>"
syn match cssColor contained "#[0-9A-Fa-f]\{3\}\>" contains=cssUnitDecorators
syn match cssColor contained "#[0-9A-Fa-f]\{6\}\>" contains=cssUnitDecorators
syn region cssURL contained matchgroup=cssFunctionName start="\<url\s*(" end=")" oneline keepend
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\)\s*(" end=")" oneline keepend
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\)\s*(" end=")" oneline keepend
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear\|radial\)-gradient\s*(" end=")" oneline keepend
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(matrix\(3d\)\=\|scale\(3d\|X\|Y|\Z\)\=\|translate\(3d\|X\|Y|\Z\)\=\|skew\(X\|Y\)\=\|rotate\(3d\|X\|Y|\Z\)\=\|perspective\)\s*(" end=")" oneline keepend
syn region cssURL contained matchgroup=cssFunctionName start="\<url\s*(" end=")" oneline extend
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgb\|clip\|attr\|counter\|rect\|cubic-bezier\|steps\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(rgba\|hsl\|hsla\|color-stop\|from\|to\)\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunctionComma,cssFunction
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(linear-\|radial-\)\=\gradient\s*(" end=")" oneline contains=cssColor,cssValueInteger,cssValueNumber,cssValueLength,cssFunction,cssGradientAttr,cssFunctionComma
syn region cssFunction contained matchgroup=cssFunctionName start="\<\(matrix\(3d\)\=\|scale\(3d\|X\|Y\|Z\)\=\|translate\(3d\|X\|Y\|Z\)\=\|skew\(X\|Y\)\=\|rotate\(3d\|X\|Y\|Z\)\=\|perspective\)\s*(" end=")" oneline contains=cssValueInteger,cssValueNumber,cssValueLength,cssValueAngle,cssFunctionComma
syn keyword cssGradientAttr contained top bottom left right cover center middle ellipse at
syn match cssFunctionComma contained ","
" Prop and Attr
" Reference: http://www.w3schools.com/cssref/default.asp
syn keyword cssCommonAttr contained auto none inherit all
syn keyword cssCommonAttr contained top bottom
syn keyword cssCommonAttr contained medium normal
" Common Prop and Attr
syn keyword cssCommonAttr contained auto none inherit all default normal
syn keyword cssCommonAttr contained top bottom center stretch hidden visible
"------------------------------------------------
" CSS Animations
" http://www.w3.org/TR/css3-animations/
syn match cssAnimationProp contained "\<animation\(-\(delay\|direction\|duration\|fill-mode\|name\|play-state\|timing-function\|iteration-count\)\)\=\>"
" animation-direction attributes
syn keyword cssAnimationAttr contained alternate reverse
syn match cssAnimationAttr contained "\<alternate-reverse\>"
syn match cssAnimationProp contained "\<animation\(-\(name\|duration\|timing-function\|delay\|iteration-cout\|play-state\)\)\=\>"
" animation-fill-mode attributes
syn keyword cssAnimationAttr contained forwards backwards both
" animation-play-state attributes
syn keyword cssAnimationAttr contained running paused
"------------------------------------------------
" CSS Backgrounds and Borders Module Level 3
" http://www.w3.org/TR/css3-background/
syn match cssBackgroundProp contained "\<background\(-\(attachment\|clip\|color\|image\|origin\|position\|repeat\|size\)\)\=\>"
" background-attachment attributes
syn keyword cssBackgroundAttr contained scroll fixed local
syn keyword cssAnimationAttr contained infinite alternate paused running
" bugfix: escape linear-gradient
syn match cssAnimationAttr contained "\<linear\(-gradient\)\@!\>"
syn match cssAnimationAttr contained "\<ease\(-\(in-out\|out\|in\)\)\=\>"
" background-position attributes
syn keyword cssBackgroundAttr contained left center right top bottom
syn match cssBackgroundProp contained "\<background\(-\(color\|image\|attachment\|position\|clip\|origin\|size\)\)\=\>"
syn keyword cssBackgroundAttr contained center fixed over contain
" background-repeat attributes
syn match cssBackgroundAttr contained "\<no-repeat\>"
syn match cssBackgroundAttr contained "\<repeat\(-[xy]\)\=\>"
syn match cssBackgroundAttr contained "\<\(border\|content\|padding\)-box\>"
syn keyword cssBackgroundAttr contained space round
" background-size attributes
syn keyword cssBackgroundAttr contained cover contain
syn match cssBorderOutlineProp contained "\<border\(-\(top\|right\|bottom\|left\)\)\=\(-\(width\|color\|style\)\)\=\>"
syn match cssBorderOutlineProp contained "\<outline\(-\(width\|style\|color\)\)\=\>"
syn match cssBorderOutlineProp contained "\<border-\(top\|bottom\)-\(left\|right\)\(-radius\)\=\>"
syn match cssBorderOutlineProp contained "\<border-image\(-\(outset\|repeat\|slice\|source\|width\)\)\=\>"
syn match cssBorderOutlineProp contained "\<border-radius\>"
syn keyword cssBorderOutlineAttr contained thin thick medium
syn keyword cssBorderOutlineAttr contained dotted dashed solid double groove ridge inset outset
syn keyword cssBorderOutlineAttr contained hidden visible scroll collapse
syn keyword cssBorderOutlineAttr contained stretch round
syn match cssBorderProp contained "\<border\(-\(top\|right\|bottom\|left\)\)\=\(-\(width\|color\|style\)\)\=\>"
syn match cssBorderProp contained "\<border\(-\(top\|bottom\)-\(left\|right\)\)\=-radius\>"
syn match cssBorderProp contained "\<border-image\(-\(outset\|repeat\|slice\|source\|width\)\)\=\>"
syn match cssBorderProp contained "\<box-decoration-break\>"
syn match cssBorderProp contained "\<box-shadow\>"
" border-image attributes
syn keyword cssBorderAttr contained stretch round space fill
" border-style attributes
syn keyword cssBorderAttr contained dotted dashed solid double groove ridge inset outset
" border-width attributes
syn keyword cssBorderAttr contained thin thick medium
" box-decoration-break attributes
syn keyword cssBorderAttr contained clone slice
"------------------------------------------------
syn match cssBoxProp contained "\<padding\(-\(top\|right\|bottom\|left\)\)\=\>"
syn match cssBoxProp contained "\<margin\(-\(top\|right\|bottom\|left\)\)\=\>"
syn match cssBoxProp contained "\<overflow\(-\(x\|y\|style\)\)\=\>"
syn match cssBoxProp contained "\<rotation\(-point\)=\>"
syn match cssBoxProp contained "\<rotation\(-point\)\=\>"
syn keyword cssBoxAttr contained visible hidden scroll auto
syn match cssBoxAttr contained "\<no-\(display\|content\)\>"
@@ -193,36 +251,70 @@ syn keyword cssDimensionProp contained width
" shadow and sizing are in other property groups
syn match cssFlexibleBoxProp contained "\<box-\(align\|direction\|flex\|ordinal-group\|orient\|pack\|shadow\|sizing\)\>"
syn keyword cssFlexibleBoxAttr contained start end center baseline stretch
syn keyword cssFlexibleBoxAttr contained normal reverse
syn keyword cssFlexibleBoxAttr contained start end baseline
syn keyword cssFlexibleBoxAttr contained reverse
syn keyword cssFlexibleBoxAttr contained single mulitple
syn keyword cssFlexibleBoxAttr contained horizontal
" bugfix: escape vertial-align
syn match cssFlexibleBoxAttr contained "\<vertical\(-align\)\@!\>"
syn match cssFlexibleBoxAttr contained "\<vertical\(-align\)\@!\>" "escape vertical-align
syn match cssFlexibleBoxAttr contained "\<\(inline\|block\)-axis\>"
syn match cssFontProp contained "\<font\(-\(family\|style\|variant\|weight\|size\(-adjust\)\=\|stretch\)\)\=\>"
syn match cssFontAttr contained "\<\(sans-\)\=\<serif\>"
syn match cssFontAttr contained "\<small\(-\(caps\|caption\)\)\=\>"
syn match cssFontAttr contained "\<x\{1,2\}-\(large\|small\)\>"
" CSS Fonts Module Level 3
" http://www.w3.org/TR/css-fonts-3/
syn match cssFontProp contained "\<font\(-\(family\|\|feature-settings\|kerning\|language-override\|size\(-adjust\)\=\|stretch\|style\|synthesis\|variant\(-\(alternates\|caps\|east-asian\|ligatures\|numeric\|position\)\)\=\|weight\)\)\=\>"
" font attributes
syn keyword cssFontAttr contained icon menu caption
syn match cssFontAttr contained "\<small-\(caps\|caption\)\>"
syn match cssFontAttr contained "\<message-box\>"
syn match cssFontAttr contained "\<status-bar\>"
syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\|status-bar\)-\)\=\(condensed\|expanded\)\>"
syn keyword cssFontAttr contained cursive fantasy monospace italic oblique
syn keyword cssFontAttr contained bold bolder light lighter larger smaller
syn keyword cssFontAttr contained icon menu caption
syn keyword cssFontAttr contained large smaller larger narrower wider
syn keyword cssFontAttr contained Courier Arial Georgia Times
syn keyword cssFontAttr contained larger smaller
syn match cssFontAttr contained "\<\(x\{1,2\}-\)\=\(large\|small\)\>"
" font-family attributes
syn match cssFontAttr contained "\<\(sans-\)\=serif\>"
syn keyword cssFontAttr contained Antiqua Arial Black Book Charcoal Comic Courier Dingbats Gadget Geneva Georgia Grande Helvetica Impact Linotype Lucida MS Monaco Neue New Palatino Roboto Roman Symbol Tahoma Times Trebuchet Unicode Verdana Webdings Wingdings York Zapf
syn keyword cssFontAttr contained cursive fantasy monospace
" font-feature-settings attributes
syn keyword cssFontAttr contained on off
" font-stretch attributes
syn match cssFontAttr contained "\<\(\(ultra\|extra\|semi\)-\)\=\(condensed\|expanded\)\>"
" font-style attributes
syn keyword cssFontAttr contained italic oblique
" font-variant-caps attributes
syn match cssFontAttr contained "\<\(all-\)\=\(small-\|petite-\|titling-\)caps\>"
syn keyword cssFontAttr contained unicase
" font-weight attributes
syn keyword cssFontAttr contained bold bolder lighter
"------------------------------------------------
" Webkit specific property/attributes
syn match cssFontProp contained "\<font-smooth\>"
syn match cssFontAttr contained "\<\(subpixel-\)\=\antialiased\>"
syn keyword cssGeneratedContentProp contained content quotes crop
" CSS Multi-column Layout Module
" http://www.w3.org/TR/css3-multicol/
syn match cssMultiColumnProp contained "\<break-\(after\|before\|inside\)\>"
syn match cssMultiColumnProp contained "\<column-\(count\|fill\|gap\|rule\(-\(color\|style\|width\)\)\=\|span\|width\)\>"
syn keyword cssMultiColumnProp contained columns
syn keyword cssMultiColumnAttr contained balance medium
syn keyword cssMultiColumnAttr contained always avoid left right page column
syn match cssMultiColumnAttr contained "\<avoid-\(page\|column\)\>"
" http://www.w3.org/TR/css3-break/#page-break
syn match cssMultiColumnProp contained "\<page\(-break-\(before\|after\|inside\)\)\=\>"
" TODO find following items in w3c docs.
syn keyword cssGeneratedContentProp contained quotes crop
syn match cssGeneratedContentProp contained "\<counter-\(reset\|increment\)\>"
syn match cssGeneratedContentProp contained "\<move-to\>"
syn match cssGeneratedContentProp contained "\<page-policy\>"
syn match cssGeneratedContentAttr contained "\<\(no-\)\=\(open\|close\)-quote\>"
syn match cssGridProp contained "\<grid-\(columns\|rows\)\>"
syn match cssHyerlinkProp contained "\<target\(-\(name\|new\|position\)\)\=\>"
@@ -234,26 +326,16 @@ syn match cssListAttr contained "\<\(decimal\(-leading-zero\)\=\|cjk-ideographic
syn keyword cssListAttr contained disc circle square hebrew armenian georgian
syn keyword cssListAttr contained inside outside
syn match cssMarginProp contained "\<margin\(-\(top\|right\|bottom\|left\)\)\=\>"
syn match cssMultiColumnProp contained "\<column\(-\(\break-\(after\|before\)\|count\|gap\|rule\(-\(color\|style\|width\)\)\=\)\|span\|width\)\=\>"
syn match cssPaddingProp contained "\<padding\(-\(top\|right\|bottom\|left\)\)\=\>"
syn keyword cssPositioningProp contained bottom clear clip display float left
syn keyword cssPositioningProp contained position right top visibility
syn match cssPositioningProp contained "\<z-index\>"
syn keyword cssPositioningAttr contained block inline compact
syn match cssPositioningAttr contained "\<table\(-\(row-gorup\|\(header\|footer\)-group\|row\|column\(-group\)\=\|cell\|caption\)\)\=\>"
syn keyword cssPositioningAttr contained block compact
syn match cssPositioningAttr contained "\<table\(-\(row-group\|\(header\|footer\)-group\|row\|column\(-group\)\=\|cell\|caption\)\)\=\>"
syn keyword cssPositioningAttr contained left right both
syn match cssPositioningAttr contained "\<list-item\>"
syn match cssPositioningAttr contained "\<inline-\(block\|table\)\>"
syn match cssPositioningAttr contained "\<inline\(-\(block\|box\|table\)\)\=\>"
syn keyword cssPositioningAttr contained static relative absolute fixed
syn match cssPrintProp contained "\<page\(-break-\(before\|after\|inside\)\)\=\>"
syn keyword cssPrintProp contained orphans widows
syn keyword cssPrintAttr contained landscape portrait crop cross always avoid
syn match cssTableProp contained "\<\(caption-side\|table-layout\|border-collapse\|border-spacing\|empty-cells\)\>"
@@ -262,18 +344,18 @@ syn keyword cssTableAttr contained fixed collapse separate show hide once always
syn keyword cssTextProp contained color direction
syn match cssTextProp "\<\(\(word\|letter\)-spacing\|text\(-\(decoration\|transform\|align\|index\|shadow\)\)\=\|vertical-align\|unicode-bidi\|line-height\)\>"
syn match cssTextProp contained "\<text-\(justify\|\outline\|overflow\|warp\|align-last\)\>"
syn match cssTextProp contained "\<text-\(justify\|outline\|warp\|align-last\|size-adjust\|rendering\|stroke\|indent\)\>"
syn match cssTextProp contained "\<word-\(break\|\wrap\)\>"
syn match cssTextProp contained "\<white-space\>"
syn match cssTextProp contained "\<hanging-punctuation\>"
syn match cssTextProp contained "\<punctuation-trim\>"
syn match cssTextAttr contained "\<line-through\>"
syn match cssTextAttr contained "\<text-indent\>"
syn match cssTextAttr contained "\<\(text-\)\=\(top\|bottom\)\>"
syn keyword cssTextAttr contained ltr rtl embed nowrap
syn keyword cssTextAttr contained underline overline blink sub super middle
syn keyword cssTextAttr contained capitalize uppercase lowercase
syn keyword cssTextAttr contained center justify baseline sub super
syn keyword cssTextAttr contained justify baseline sub super
syn keyword cssTextAttr contained optimizeLegibility optimizeSpeed
syn match cssTextAttr contained "\<pre\(-\(line\|wrap\)\)\=\>"
syn match cssTextAttr contained "\<\(allow\|force\)-end\>"
syn keyword cssTextAttr contained start end adjacent
@@ -283,22 +365,69 @@ syn keyword cssTextAttr contained clip ellipsis unrestricted suppress
syn match cssTextAttr contained "\<break-all\>"
syn match cssTextAttr contained "\<break-word\>"
syn keyword cssTextAttr contained hyphenate
syn match cssTextAttr contained "\<bidi-override\>"
syn match cssTransformProp contained "\<transform\(-\(origin\|style\)\)\=\>"
syn match cssTransformProp contained "\<perspective\(-origin\)\=\>"
syn match cssTransformProp contained "\<backface-visibility\>"
" CSS Transitions
" http://www.w3.org/TR/css3-transitions/
syn match cssTransitionProp contained "\<transition\(-\(delay\|duration\|property\|timing-function\)\)\=\>"
syn match cssUIProp contained "\<nav-\(down\|index\|left\|right\|up\)\=\>"
syn match cssUIProp contained "\<outline-offset\>"
" transition-time-function attributes
syn match cssTransitionAttr contained "\<linear\(-gradient\)\@!\>"
syn match cssTransitionAttr contained "\<ease\(-\(in-out\|out\|in\)\)\=\>"
syn match cssTransitionAttr contained "\<step\(-start\|-end\)\=\>"
"------------------------------------------------
" CSS Basic User Interface Module Level 3 (CSS3 UI)
" http://www.w3.org/TR/css3-ui/
syn match cssUIProp contained "\<box-sizing\>"
syn keyword cssUIProp contained appearance icon resize
syn keyword cssUIAttr contained window button menu field
syn match cssUIAttr contained "\<\(content\|padding\|border\)\(-box\)\=\>"
syn keyword cssUIProp contained cursor
syn match cssUIAttr contained "\<\(\([ns]\=[ew]\=\)\|col\|row\|nesw\|nwse\)-resize\>"
syn keyword cssUIAttr contained crosshair help move pointer alias copy
syn keyword cssUIAttr contained progress wait text cell move
syn match cssUIAttr contained "\<context-menu\>"
syn match cssUIAttr contained "\<no-drop\>"
syn match cssUIAttr contained "\<not-allowed\>"
syn match cssUIAttr contained "\<all-scroll\>"
syn match cssUIAttr contained "\<\(vertical-\)\=text\>"
syn match cssUIAttr contained "\<zoom\(-in\|-out\)\=\>"
syn match cssUIProp contained "\<ime-mode\>"
syn keyword cssUIAttr contained active inactive disabled
syn match cssUIProp contained "\<nav-\(down\|index\|left\|right\|up\)\=\>"
syn match cssUIProp contained "\<outline\(-\(width\|style\|color\|offset\)\)\=\>"
syn keyword cssUIAttr contained invert
syn keyword cssUIProp contained icon resize
syn keyword cssUIAttr contained both horizontal vertical
syn match cssUIProp contained "\<text-overflow\>"
syn keyword cssUIAttr contained clip ellipsis
" Already highlighted Props: font content
"------------------------------------------------
" Webkit/iOS specific attributes
syn match cssUIAttr contained '\(preserve-3d\)'
" IE specific attributes
syn match cssIEUIAttr contained '\(bicubic\)'
" Webkit/iOS specific properties
syn match cssUIProp contained '\(tap-highlight-color\|user-select\|touch-callout\)'
" IE specific properties
syn match cssIEUIProp contained '\(interpolation-mode\|zoom\|filter\)'
" Webkit/Firebox specific properties/attributes
syn keyword cssUIProp contained appearance
syn keyword cssUIAttr contained window button field icon document menu
syn match cssAuralProp contained "\<\(pause\|cue\)\(-\(before\|after\)\)\=\>"
syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numerals\)\)\=\)\>"
syn match cssAuralProp contained "\<\(play-during\|speech-rate\|voice-family\|pitch\(-range\)\=\|speak\(-\(punctuation\|numeral\|header\)\)\=\)\>"
syn keyword cssAuralProp contained volume during azimuth elevation stress richness
syn match cssAuralAttr contained "\<\(x-\)\=\(soft\|loud\)\>"
syn keyword cssAuralAttr contained silent
@@ -307,58 +436,69 @@ syn keyword cssAuralAttr contained non mix
syn match cssAuralAttr contained "\<\(left\|right\)-side\>"
syn match cssAuralAttr contained "\<\(far\|center\)-\(left\|center\|right\)\>"
syn keyword cssAuralAttr contained leftwards rightwards behind
syn keyword cssAuralAttr contained below level above higher
syn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\)\>"
syn keyword cssAuralAttr contained below level above lower higher
syn match cssAuralAttr contained "\<\(x-\)\=\(slow\|fast\|low\|high\)\>"
syn keyword cssAuralAttr contained faster slower
syn keyword cssAuralAttr contained male female child code digits continuous
syn match cssAuralAttr contained "\<lower\>"
" cursor
syn keyword cssUIProp contained cursor
syn match cssUIAttr contained "\<[ns]\=[ew]\=-resize\>"
syn keyword cssUIAttr contained crosshair default help move pointer
syn keyword cssUIAttr contained progress wait
" FIXME: I could not find them in reference
syn keyword cssUIAttr contained invert maker size zoom
syn match cssRenderAttr contained "\<run-in\>"
syn match cssRenderAttr contained "\<text-rendering\>"
syn match cssRenderAttr contained "\<font-smoothing\>"
syn match cssRenderProp contained "\<marker-offset\>"
syn match cssRenderAttr contained "\<bidi-override\>"
" mobile text
syn match cssMobileTextProp contained "\<text-size-adjust\>"
" FIXME: This allows cssMediaBlock before the semicolon, which is wrong.
syn region cssInclude start="@import" end=";" contains=cssComment,cssURL,cssUnicodeEscape,cssMediaType
syn match cssBraces contained "[{}]"
syn match cssError contained "{@<>"
syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=css.*Attr,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition
syn region cssDefinition transparent matchgroup=cssBraces start='{' end='}' contains=cssAttrRegion,css.*Prop,cssComment,cssValue.*,cssColor,cssURL,cssImportant,cssError,cssStringQ,cssStringQQ,cssFunction,cssUnicodeEscape,cssVendor,cssDefinition,cssHacks keepend fold
syn match cssBraceError "}"
syn match cssAttrComma ","
" Pseudo class
syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssPseudoClassId,cssUnicodeEscape
syn keyword cssPseudoClassId link visited active hover focus before after left right lang
syn match cssPseudoClassId contained "\<first\(-\(line\|letter\|child\)\)\=\>"
" FIXME: handle functions.
"syn region cssPseudoClassLang matchgroup=cssPseudoClassId start="lang(" end=")"
syn match cssPseudoClassId contained "\<\(last\|only\|nth\|nth-last\)-child\>"
syn match cssPseudoClassId contained "\<\(first\|last\|only\|nth\|nth-last\)-of-type\>"
syn keyword cssPseudoClassId root empty target enable disabled checked not invalid
syn match cssPseudoClassId contained "::\(-moz-\)\=selection"
" http://www.w3.org/TR/css3-selectors/
syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssNoise,cssPseudoClassId,cssUnicodeEscape,cssVendor,cssPseudoClassFn
syn keyword cssPseudoClassId contained link visited active hover before after left right
syn keyword cssPseudoClassId contained root empty target enable disabled checked invalid
syn match cssPseudoClassId contained "\<first-\(line\|letter\)\>"
syn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>"
syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")"
" ------------------------------------
" Vendor specific properties
syn match cssPseudoClassId contained "\<selection\>"
syn match cssPseudoClassId contained "\<focus\(-inner\)\=\>"
syn match cssPseudoClassId contained "\<\(input-\)\=placeholder\>"
" Comment
syn region cssComment start="/\*" end="\*/" contains=@Spell
syn region cssComment start="//" skip="\\$" end="$" keepend contains=@Spell
syn region cssComment start="/\*" end="\*/" contains=@Spell fold
syn match cssUnicodeEscape "\\\x\{1,6}\s\?"
syn match cssSpecialCharQQ +\\"+ contained
syn match cssSpecialCharQ +\\'+ contained
syn match cssSpecialCharQQ +\\\\\|\\"+ contained
syn match cssSpecialCharQ +\\\\\|\\'+ contained
syn region cssStringQQ start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=cssUnicodeEscape,cssSpecialCharQQ
syn region cssStringQ start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=cssUnicodeEscape,cssSpecialCharQ
" Vendor Prefix
syn match cssVendor contained "\(-\(webkit\|moz\|o\|ms\)-\)"
" Various CSS Hack characters
" In earlier versions of IE (6 and 7), one can prefix property names
" with a _ or * to isolate those definitions to particular versions of IE
" This is purely decorative and therefore we assign to the same highlight
" group to cssVendor, for more information:
" http://www.paulirish.com/2009/browser-specific-css-hacks/
syn match cssHacks contained /\(_\|*\)/
" Misc highlight groups
syntax match cssUnitDecorators /\(#\|-\|%\|mm\|cm\|in\|pt\|pc\|em\|ex\|px\|rem\|dpi\|dppx\|dpcm\|Hz\|kHz\|s\|ms\|deg\|grad\|rad\)/ contained
syntax match cssNoise contained /\(:\|;\|\/\)/
" Attr Enhance
" Some keywords are both Prop and Attr, so we have to handle them
syn region cssAttrRegion start=/:/ end=/;/ contained keepend contains=css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
" Hack for transition
" The 'transition' Prop has Props after ':'.
syn region cssAttrRegion start=/transition\s*:/ end=/;/ contained keepend contains=css.*Prop,css.*Attr,cssColor,cssImportant,cssValue.*,cssFunction,cssString.*,cssURL,cssComment,cssUnicodeEscape,cssVendor,cssError,cssAttrComma,cssNoise
if main_syntax == "css"
syn sync minlines=10
@@ -377,73 +517,76 @@ if version >= 508 || !exists("did_css_syn_inits")
HiLink cssComment Comment
HiLink cssVendor Comment
HiLink cssHacks Comment
HiLink cssTagName Statement
HiLink cssDeprecated Error
HiLink cssSelectorOp Special
HiLink cssSelectorOp2 Special
HiLink cssAttrComma Special
HiLink cssAnimationProp StorageClass
HiLink cssBackgroundProp StorageClass
HiLink cssBorderOutlineProp StorageClass
HiLink cssBoxProp StorageClass
HiLink cssColorProp StorageClass
HiLink cssContentForPagedMediaProp StorageClass
HiLink cssDimensionProp StorageClass
HiLink cssFlexibleBoxProp StorageClass
HiLink cssFontProp StorageClass
HiLink cssGeneratedContentProp StorageClass
HiLink cssGridProp StorageClass
HiLink cssHyerlinkProp StorageClass
HiLink cssLineboxProp StorageClass
HiLink cssListProp StorageClass
HiLink cssMarginProp StorageClass
HiLink cssMarqueeProp StorageClass
HiLink cssMultiColumnProp StorageClass
HiLink cssPaddingProp StorageClass
HiLink cssPagedMediaProp StorageClass
HiLink cssPositioningProp StorageClass
HiLink cssPrintProp StorageClass
HiLink cssRubyProp StorageClass
HiLink cssSpeechProp StorageClass
HiLink cssTableProp StorageClass
HiLink cssTextProp StorageClass
HiLink cssTransformProp StorageClass
HiLink cssTransitionProp StorageClass
HiLink cssUIProp StorageClass
HiLink cssAuralProp StorageClass
HiLink cssRenderProp StorageClass
HiLink cssAnimationProp cssProp
HiLink cssBackgroundProp cssProp
HiLink cssBorderProp cssProp
HiLink cssBoxProp cssProp
HiLink cssColorProp cssProp
HiLink cssContentForPagedMediaProp cssProp
HiLink cssDimensionProp cssProp
HiLink cssFlexibleBoxProp cssProp
HiLink cssFontProp cssProp
HiLink cssGeneratedContentProp cssProp
HiLink cssGridProp cssProp
HiLink cssHyerlinkProp cssProp
HiLink cssLineboxProp cssProp
HiLink cssListProp cssProp
HiLink cssMarqueeProp cssProp
HiLink cssMultiColumnProp cssProp
HiLink cssPagedMediaProp cssProp
HiLink cssPositioningProp cssProp
HiLink cssPrintProp cssProp
HiLink cssRubyProp cssProp
HiLink cssSpeechProp cssProp
HiLink cssTableProp cssProp
HiLink cssTextProp cssProp
HiLink cssTransformProp cssProp
HiLink cssTransitionProp cssProp
HiLink cssUIProp cssProp
HiLink cssIEUIProp cssProp
HiLink cssAuralProp cssProp
HiLink cssRenderProp cssProp
HiLink cssMobileTextProp cssProp
HiLink cssAnimationAttr Type
HiLink cssBackgroundAttr Type
HiLink cssBorderOutlineAttr Type
HiLink cssBoxAttr Type
HiLink cssColorAttr Type
HiLink cssContentForPagedMediaAttr Type
HiLink cssDimensionAttr Type
HiLink cssFlexibleBoxAttr Type
HiLink cssFontAttr Type
HiLink cssGeneratedContentAttr Type
HiLink cssGridAttr Type
HiLink cssHyerlinkAttr Type
HiLink cssLineboxAttr Type
HiLink cssListAttr Type
HiLink cssMarginAttr Type
HiLink cssMarqueeAttr Type
HiLink cssMultiColumnAttr Type
HiLink cssPaddingAttr Type
HiLink cssPagedMediaAttr Type
HiLink cssPositioningAttr Type
HiLink cssPrintAttr Type
HiLink cssRubyAttr Type
HiLink cssSpeechAttr Type
HiLink cssTableAttr Type
HiLink cssTextAttr Type
HiLink cssTransformAttr Type
HiLink cssTransitionAttr Type
HiLink cssUIAttr Type
HiLink cssAuralAttr Type
HiLink cssRenderAttr Type
HiLink cssCommonAttr Type
HiLink cssAnimationAttr cssAttr
HiLink cssBackgroundAttr cssAttr
HiLink cssBorderAttr cssAttr
HiLink cssBoxAttr cssAttr
HiLink cssContentForPagedMediaAttr cssAttr
HiLink cssDimensionAttr cssAttr
HiLink cssFlexibleBoxAttr cssAttr
HiLink cssFontAttr cssAttr
HiLink cssGeneratedContentAttr cssAttr
HiLink cssGridAttr cssAttr
HiLink cssHyerlinkAttr cssAttr
HiLink cssLineboxAttr cssAttr
HiLink cssListAttr cssAttr
HiLink cssMarginAttr cssAttr
HiLink cssMarqueeAttr cssAttr
HiLink cssMultiColumnAttr cssAttr
HiLink cssPaddingAttr cssAttr
HiLink cssPagedMediaAttr cssAttr
HiLink cssPositioningAttr cssAttr
HiLink cssGradientAttr cssAttr
HiLink cssPrintAttr cssAttr
HiLink cssRubyAttr cssAttr
HiLink cssSpeechAttr cssAttr
HiLink cssTableAttr cssAttr
HiLink cssTextAttr cssAttr
HiLink cssTransformAttr cssAttr
HiLink cssTransitionAttr cssAttr
HiLink cssUIAttr cssAttr
HiLink cssIEUIAttr cssAttr
HiLink cssAuralAttr cssAttr
HiLink cssRenderAttr cssAttr
HiLink cssCommonAttr cssAttr
HiLink cssPseudoClassId PreProc
HiLink cssPseudoClassLang Constant
@@ -456,26 +599,43 @@ if version >= 508 || !exists("did_css_syn_inits")
HiLink cssFunction Constant
HiLink cssURL String
HiLink cssFunctionName Function
HiLink cssFunctionComma Function
HiLink cssColor Constant
HiLink cssIdentifier Function
HiLink cssInclude Include
HiLink cssIncludeKeyword atKeyword
HiLink cssImportant Special
HiLink cssBraces Function
HiLink cssBraceError Error
HiLink cssError Error
HiLink cssInclude Include
HiLink cssUnicodeEscape Special
HiLink cssStringQQ String
HiLink cssStringQ String
HiLink cssMedia Special
HiLink cssAttributeSelector String
HiLink cssMedia atKeyword
HiLink cssMediaType Special
HiLink cssMediaComma Normal
HiLink cssMediaKeyword Statement
HiLink cssMediaProp cssProp
HiLink cssMediaAttr cssAttr
HiLink cssPage atKeyword
HiLink cssPagePseudo PreProc
HiLink cssPageMargin atKeyword
HiLink cssPageProp cssProp
HiLink cssKeyFrame atKeyword
HiLink cssKeyFrameSelector Constant
HiLink cssFontDescriptor Special
HiLink cssFontDescriptorFunction Constant
HiLink cssFontDescriptorProp StorageClass
HiLink cssFontDescriptorAttr Type
HiLink cssFontDescriptorProp cssProp
HiLink cssFontDescriptorAttr cssAttr
HiLink cssUnicodeRange Constant
HiLink cssClassName Function
HiLink cssClassNameDot Function
HiLink cssProp StorageClass
HiLink cssAttr Constant
HiLink cssUnitDecorators Number
HiLink cssNoise Noise
HiLink atKeyword Comment
delcommand HiLink
endif

View File

@@ -2,8 +2,8 @@
"
" Language: D
" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
" Last Change: 2013 May 21
" Version: 0.25
" Last Change: 2013 October 5
" Version: 0.26
"
" Contributors:
" - Jason Mills: original Maintainer
@@ -158,7 +158,7 @@ syn match dStatement "\<__traits\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=
" Pragma Statement
syn match dPragma "\<pragma\>"
syn match dPragma "\<pragma\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+8 contains=dPragmaIdentifier
syn match dPragma "\<pragma\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+6 contains=dPragmaIdentifier
" Necessary to highlight C++ in extern modifiers.
syn match dExternIdentifier "C\(++\)\?" contained
@@ -168,16 +168,18 @@ syn match dExternal "\<extern\>"
syn match dExtern "\<extern\s*([_a-zA-Z][_a-zA-Z0-9\+]*\>"he=s+6 contains=dExternIdentifier
" Make import a region to prevent highlighting keywords
syn region dImport start="import" end=";" contains=dExternal,@dComment
syn region dImport start="import\_s" end=";" contains=dExternal,@dComment
" Make module a region to prevent highlighting keywords
syn region dImport start="module" end=";" contains=dExternal,@dComment
syn region dImport start="module\_s" end=";" contains=dExternal,@dComment
" dTokens is used by the token string highlighting
syn cluster dTokens contains=dExternal,dConditional,dBranch,dRepeat,dBoolean
syn cluster dTokens add=dConstant,dTypedef,dStructure,dOperator,dOpOverload
syn cluster dTokens add=dType,dDebug,dExceptions,dScopeDecl,dStatement
syn cluster dTokens add=dStorageClass,dPragma,dAssert,dAnnotation,dEnum
syn cluster dTokens add=dParenString,dBrackString,dAngleString,dCurlyString
syn cluster dTokens add=dTokenString,dDelimString,dHereString
" Create a match for parameter lists to identify storage class
syn region paramlist start="(" end=")" contains=@dTokens
@@ -192,6 +194,9 @@ syn cluster dTokens add=dUserLabel,dLabel
" Comments
"
syn match dCommentError display "\*/"
syn match dNestedCommentError display "+/"
syn keyword dTodo contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
syn match dCommentStar contained "^\s*\*[^/]"me=e-1
syn match dCommentStar contained "^\s*\*$"
@@ -201,15 +206,12 @@ if exists("d_comment_strings")
syn region dBlockCommentString contained start=+"+ end=+"+ end=+\*/+me=s-1,he=s-1 contains=dCommentStar,dUnicode,dEscSequence,@Spell
syn region dNestedCommentString contained start=+"+ end=+"+ end="+"me=s-1,he=s-1 contains=dCommentPlus,dUnicode,dEscSequence,@Spell
syn region dLineCommentString contained start=+"+ end=+$\|"+ contains=dUnicode,dEscSequence,@Spell
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell fold
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
else
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,@Spell fold
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
endif
syn region dBlockComment start="/\*" end="\*/" contains=dBlockCommentString,dTodo,dCommentStartError,@Spell fold
syn region dNestedComment start="/+" end="+/" contains=dNestedComment,dNestedCommentString,dTodo,@Spell fold
syn match dLineComment "//.*" contains=dLineCommentString,dTodo,@Spell
hi link dLineCommentString dBlockCommentString
hi link dBlockCommentString dString
hi link dNestedCommentString dString
@@ -249,7 +251,7 @@ syn region dRawString start=+`+ end=+`[cwd]\=+ contains=@Spell
syn region dRawString start=+r"+ end=+"[cwd]\=+ contains=@Spell
syn region dHexString start=+x"+ end=+"[cwd]\=+ contains=@Spell
syn region dDelimString start=+q"\z(.\)+ end=+\z1"+ contains=@Spell
syn region dHereString start=+q"\z(\I\i*\)\n+ end=+\n\z1"+ contains=@Spell
syn region dHereString start=+q"\z(\I\i*\)\n+ end=+^\z1"+ contains=@Spell
" Nesting delimited string contents
"
@@ -368,6 +370,9 @@ hi def link dType Type
hi def link dLineComment Comment
hi def link dBlockComment Comment
hi def link dNestedComment Comment
hi def link dCommentError Error
hi def link dNestedCommentError Error
hi def link dCommentStartError Error
hi def link dExternal Include
hi def link dAnnotation PreProc
hi def link dSharpBang PreProc

View File

@@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
" Last Change: 2013 May 05
" Last Change: 2014 Jan 20
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
" Standard syntax initialization
@@ -19,7 +19,7 @@ syn case ignore
" Define some common expressions we can use later on
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile)|wheezy-backports|%(lucid|precise|quantal|raring|saucy)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogTarget contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile)|wheezy-backports|%(lucid|precise|quantal|saucy|trusty)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogVersion contained "(.\{-})"
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"

View File

@@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
" Last Change: 2013 May 05
" Last Change: 2013 Oct 28
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
" Standard syntax initialization
@@ -24,7 +24,7 @@ syn match debControlComma ", *"
syn match debControlSpace " "
" Define some common expressions we can use later on
syn match debcontrolArchitecture contained "\%(all\|linux-any\|\%(any-\)\=\%(alpha\|amd64\|arm\%(e[bl]\|hf\)\=\|avr32\|hppa\|i386\|ia64\|lpia\|m32r\|m68k\|mips\%(el\)\=\|powerpc\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc\%(64\)\=\)\|hurd-\%(i386\|any\)\|kfreebsd-\%(i386\|amd64\|any\)\|knetbsd-\%(i386\|any\)\|kopensolaris-\%(i386\|any\)\|netbsd-\%(alpha\|i386\|any\)\|any\)"
syn match debcontrolArchitecture contained "\%(all\|linux-any\|\%(any-\)\=\%(alpha\|amd64\|arm\%(e[bl]\|hf\|64\)\=\|avr32\|hppa\|i386\|ia64\|lpia\|m32r\|m68k\|mips\%(el\)\=\|powerpc\%(spe\)\=\|ppc64\|s390x\=\|sh[34]\(eb\)\=\|sh\|sparc\%(64\)\=\)\|x32\|hurd-\%(i386\|any\)\|kfreebsd-\%(i386\|amd64\|any\)\|knetbsd-\%(i386\|any\)\|kopensolaris-\%(i386\|any\)\|netbsd-\%(alpha\|i386\|any\)\|any\)"
syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)"
syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"

View File

@@ -2,7 +2,7 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
" Last Change: 2013 May 05
" Last Change: 2014 Jan 20
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
" Standard syntax initialization
@@ -23,7 +23,7 @@ syn match debsourcesComment /#.*/ contains=@Spell
" Match uri's
syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|lucid\|precise\|quantal\|raring\|saucy\)\([-[:alnum:]_./]*\)+
syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|lucid\|precise\|quantal\|saucy\|trusty\)\([-[:alnum:]_./]*\)+
" Associate our matches and regions with pretty colours
hi def link debsourcesLine Error

View File

@@ -2,7 +2,7 @@
" Language: Diff (context or unified)
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Translations by Jakson Alves de Aquino.
" Last Change: 2013 Jul 24
" Last Change: 2013 Oct 06
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -336,7 +336,7 @@ syn match diffLine "^---$"
"Some versions of diff have lines like "#c#" and "#d#" (where # is a number)
syn match diffLine "^\d\+\(,\d\+\)\=[cda]\d\+\>.*"
syn match diffFile "^diff.*"
syn match diffFile "^diff\>.*"
syn match diffFile "^+++ .*"
syn match diffFile "^Index: .*"
syn match diffFile "^==== .*"

View File

@@ -1,751 +1,213 @@
" Vim syntax file
" Language: dircolors(1) input file
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2012-04-25
" Language: dircolors(1) input file
" Maintainer: Jan Larres <jan@majutsushi.net>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2013-08-17
if exists("b:current_syntax")
finish
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn keyword dircolorsTodo contained FIXME TODO XXX NOTE
syntax keyword dircolorsTodo FIXME TODO XXX NOTE contained
syn region dircolorsComment start='#' end='$' contains=dircolorsTodo,@Spell
syntax region dircolorsComment start='#' end='$' contains=dircolorsTodo,@Spell
syn keyword dircolorsKeyword TERM LEFT LEFTCODE RIGHT RIGHTCODE END ENDCODE
syntax keyword dircolorsKeyword TERM LEFT LEFTCODE RIGHT RIGHTCODE END ENDCODE
syn keyword dircolorsKeyword NORMAL NORM FILE DIR LNK LINK SYMLINK ORPHAN
\ RESET MULTIHARDLINK CAPABILITY SETUID SETGID
\ STICKY STICKY_OTHER_WRITABLE OTHER_WRITABLE
\ MISSING FIFO PIPE SOCK BLK BLOCK CHR CHAR
\ DOOR EXEC
\ nextgroup=@dircolorsColors skipwhite
syntax keyword dircolorsKeyword NORMAL NORM FILE RESET DIR LNK LINK SYMLINK
\ MULTIHARDLINK FIFO SOCK DOOR BLK CHR ORPHAN
\ MISSING PIPE BLOCK CHR EXEC SETUID SETGID
\ CAPABILITY STICKY_OTHER_WRITABLE
\ OTHER_WRITABLE STICKY
if exists("dircolors_is_slackware")
syn keyword dircolorsKeyword COLOR OPTIONS EIGHTBIT
" Slackware only, ignored by GNU dircolors.
syntax keyword dircolorsKeyword COLOR OPTIONS EIGHTBIT
syntax match dircolorsExtension '^\s*\zs[.*]\S\+'
syntax match dircolorsEscape '\\[abefnrtv?_\\^#]'
syntax match dircolorsEscape '\\[0-9]\{3}'
syntax match dircolorsEscape '\\x[0-9a-f]\{3}'
if !has('gui_running') && &t_Co == ''
syntax match dircolorsNumber '\<\d\+\>'
highlight default link dircolorsNumber Number
endif
syn match dircolorsExtension '^\s*\zs[.*]\S\+'
\ nextgroup=dircolorsColorPair skipwhite
highlight default link dircolorsTodo Todo
highlight default link dircolorsComment Comment
highlight default link dircolorsKeyword Keyword
highlight default link dircolorsExtension Identifier
highlight default link dircolorsEscape Special
syn match dircolorsColorPair contained '.*$'
\ transparent contains=@dircolorsColors
function! s:set_guicolors() abort
let s:guicolors = {}
if &t_Co == 8 || &t_Co == 16
syn cluster dircolorsColors contains=dircolorsBold,dircolorsUnderline,
\ dircolorsBlink,dircolorsReverse,
\ dircolorsInvisible,dircolorsBlack,
\ dircolorsRed,dircolorsGreen,dircolorsYellow,
\ dircolorsBlue,dircolorsMagenta,dircolorsCyan,
\ dircolorsWhite,dircolorsBGBlack,
\ dircolorsBGRed,dircolorsBGGreen,
\ dircolorsBGYellow,dircolorsBGBlue,
\ dircolorsBGMagenta,dircolorsBGCyan,
\ dircolorsBGWhite
let s:guicolors[0] = "Black"
let s:guicolors[1] = "DarkRed"
let s:guicolors[2] = "DarkGreen"
let s:guicolors[3] = "DarkYellow"
let s:guicolors[4] = "DarkBlue"
let s:guicolors[5] = "DarkMagenta"
let s:guicolors[6] = "DarkCyan"
let s:guicolors[7] = "Gray"
let s:guicolors[8] = "DarkGray"
let s:guicolors[9] = "Red"
let s:guicolors[10] = "Green"
let s:guicolors[11] = "Yellow"
let s:guicolors[12] = "Blue"
let s:guicolors[13] = "Magenta"
let s:guicolors[14] = "Cyan"
let s:guicolors[15] = "White"
syn match dircolorsBold contained '\<0\=1\>'
syn match dircolorsUnderline contained '\<0\=4\>'
syn match dircolorsBlink contained '\<0\=5\>'
syn match dircolorsReverse contained '\<0\=7\>'
syn match dircolorsInvisible contained '\<0\=8\>'
syn match dircolorsBlack contained '\<30\>'
syn match dircolorsRed contained '\<31\>'
syn match dircolorsGreen contained '\<32\>'
syn match dircolorsYellow contained '\<33\>'
syn match dircolorsBlue contained '\<34\>'
syn match dircolorsMagenta contained '\<35\>'
syn match dircolorsCyan contained '\<36\>'
syn match dircolorsWhite contained '\<37\>'
syn match dircolorsBGBlack contained '\<40\>'
syn match dircolorsBGRed contained '\<41\>'
syn match dircolorsBGGreen contained '\<42\>'
syn match dircolorsBGYellow contained '\<43\>'
syn match dircolorsBGBlue contained '\<44\>'
syn match dircolorsBGMagenta contained '\<45\>'
syn match dircolorsBGCyan contained '\<46\>'
syn match dircolorsBGWhite contained '\<47\>'
elseif &t_Co == 256 || has("gui_running")
syn cluster dircolorsColors contains=dircolorsColor0,
\ dircolorsColor1,dircolorsColor2,
\ dircolorsColor3,dircolorsColor4,
\ dircolorsColor5,dircolorsColor6,
\ dircolorsColor7,dircolorsColor8,
\ dircolorsColor9,dircolorsColor10,
\ dircolorsColor11,dircolorsColor12,
\ dircolorsColor13,dircolorsColor14,
\ dircolorsColor15,dircolorsColor16,
\ dircolorsColor17,dircolorsColor18,
\ dircolorsColor19,dircolorsColor20,
\ dircolorsColor21,dircolorsColor22,
\ dircolorsColor23,dircolorsColor24,
\ dircolorsColor25,dircolorsColor26,
\ dircolorsColor27,dircolorsColor28,
\ dircolorsColor29,dircolorsColor30,
\ dircolorsColor31,dircolorsColor32,
\ dircolorsColor33,dircolorsColor34,
\ dircolorsColor35,dircolorsColor36,
\ dircolorsColor37,dircolorsColor38,
\ dircolorsColor39,dircolorsColor40,
\ dircolorsColor41,dircolorsColor42,
\ dircolorsColor43,dircolorsColor44,
\ dircolorsColor45,dircolorsColor46,
\ dircolorsColor47,dircolorsColor48,
\ dircolorsColor49,dircolorsColor50,
\ dircolorsColor51,dircolorsColor52,
\ dircolorsColor53,dircolorsColor54,
\ dircolorsColor55,dircolorsColor56,
\ dircolorsColor57,dircolorsColor58,
\ dircolorsColor59,dircolorsColor60,
\ dircolorsColor61,dircolorsColor62,
\ dircolorsColor63,dircolorsColor64,
\ dircolorsColor65,dircolorsColor66,
\ dircolorsColor67,dircolorsColor68,
\ dircolorsColor69,dircolorsColor70,
\ dircolorsColor71,dircolorsColor72,
\ dircolorsColor73,dircolorsColor74,
\ dircolorsColor75,dircolorsColor76,
\ dircolorsColor77,dircolorsColor78,
\ dircolorsColor79,dircolorsColor80,
\ dircolorsColor81,dircolorsColor82,
\ dircolorsColor83,dircolorsColor84,
\ dircolorsColor85,dircolorsColor86,
\ dircolorsColor87,dircolorsColor88,
\ dircolorsColor89,dircolorsColor90,
\ dircolorsColor91,dircolorsColor92,
\ dircolorsColor93,dircolorsColor94,
\ dircolorsColor95,dircolorsColor96,
\ dircolorsColor97,dircolorsColor98,
\ dircolorsColor99,dircolorsColor100,
\ dircolorsColor101,dircolorsColor102,
\ dircolorsColor103,dircolorsColor104,
\ dircolorsColor105,dircolorsColor106,
\ dircolorsColor107,dircolorsColor108,
\ dircolorsColor109,dircolorsColor110,
\ dircolorsColor111,dircolorsColor112,
\ dircolorsColor113,dircolorsColor114,
\ dircolorsColor115,dircolorsColor116,
\ dircolorsColor117,dircolorsColor118,
\ dircolorsColor119,dircolorsColor120,
\ dircolorsColor121,dircolorsColor122,
\ dircolorsColor123,dircolorsColor124,
\ dircolorsColor125,dircolorsColor126,
\ dircolorsColor127,dircolorsColor128,
\ dircolorsColor129,dircolorsColor130,
\ dircolorsColor131,dircolorsColor132,
\ dircolorsColor133,dircolorsColor134,
\ dircolorsColor135,dircolorsColor136,
\ dircolorsColor137,dircolorsColor138,
\ dircolorsColor139,dircolorsColor140,
\ dircolorsColor141,dircolorsColor142,
\ dircolorsColor143,dircolorsColor144,
\ dircolorsColor145,dircolorsColor146,
\ dircolorsColor147,dircolorsColor148,
\ dircolorsColor149,dircolorsColor150,
\ dircolorsColor151,dircolorsColor152,
\ dircolorsColor153,dircolorsColor154,
\ dircolorsColor155,dircolorsColor156,
\ dircolorsColor157,dircolorsColor158,
\ dircolorsColor159,dircolorsColor160,
\ dircolorsColor161,dircolorsColor162,
\ dircolorsColor163,dircolorsColor164,
\ dircolorsColor165,dircolorsColor166,
\ dircolorsColor167,dircolorsColor168,
\ dircolorsColor169,dircolorsColor170,
\ dircolorsColor171,dircolorsColor172,
\ dircolorsColor173,dircolorsColor174,
\ dircolorsColor175,dircolorsColor176,
\ dircolorsColor177,dircolorsColor178,
\ dircolorsColor179,dircolorsColor180,
\ dircolorsColor181,dircolorsColor182,
\ dircolorsColor183,dircolorsColor184,
\ dircolorsColor185,dircolorsColor186,
\ dircolorsColor187,dircolorsColor188,
\ dircolorsColor189,dircolorsColor190,
\ dircolorsColor191,dircolorsColor192,
\ dircolorsColor193,dircolorsColor194,
\ dircolorsColor195,dircolorsColor196,
\ dircolorsColor197,dircolorsColor198,
\ dircolorsColor199,dircolorsColor200,
\ dircolorsColor201,dircolorsColor202,
\ dircolorsColor203,dircolorsColor204,
\ dircolorsColor205,dircolorsColor206,
\ dircolorsColor207,dircolorsColor208,
\ dircolorsColor209,dircolorsColor210,
\ dircolorsColor211,dircolorsColor212,
\ dircolorsColor213,dircolorsColor214,
\ dircolorsColor215,dircolorsColor216,
\ dircolorsColor217,dircolorsColor218,
\ dircolorsColor219,dircolorsColor220,
\ dircolorsColor221,dircolorsColor222,
\ dircolorsColor223,dircolorsColor224,
\ dircolorsColor225,dircolorsColor226,
\ dircolorsColor227,dircolorsColor228,
\ dircolorsColor229,dircolorsColor230,
\ dircolorsColor231,dircolorsColor232,
\ dircolorsColor233,dircolorsColor234,
\ dircolorsColor235,dircolorsColor236,
\ dircolorsColor237,dircolorsColor238,
\ dircolorsColor239,dircolorsColor240,
\ dircolorsColor241,dircolorsColor242,
\ dircolorsColor243,dircolorsColor244,
\ dircolorsColor245,dircolorsColor246,
\ dircolorsColor247,dircolorsColor248,
\ dircolorsColor249,dircolorsColor250,
\ dircolorsColor251,dircolorsColor252,
\ dircolorsColor253,dircolorsColor254,
\ dircolorsColor255
let xterm_palette = ["00", "5f", "87", "af", "d7", "ff"]
syn match dircolorsColor0 contained '\<0\=0\>'
syn match dircolorsColor1 contained '\<0\=1\>'
syn match dircolorsColor2 contained '\<0\=2\>'
syn match dircolorsColor3 contained '\<0\=3\>'
syn match dircolorsColor4 contained '\<0\=4\>'
syn match dircolorsColor5 contained '\<0\=5\>'
syn match dircolorsColor6 contained '\<0\=6\>'
syn match dircolorsColor7 contained '\<0\=7\>'
syn match dircolorsColor8 contained '\<0\=8\>'
syn match dircolorsColor9 contained '\<0\=9\>'
syn match dircolorsColor10 contained '\<10\>'
syn match dircolorsColor11 contained '\<11\>'
syn match dircolorsColor12 contained '\<12\>'
syn match dircolorsColor13 contained '\<13\>'
syn match dircolorsColor14 contained '\<14\>'
syn match dircolorsColor15 contained '\<15\>'
syn match dircolorsColor16 contained '\<16\>'
syn match dircolorsColor17 contained '\<17\>'
syn match dircolorsColor18 contained '\<18\>'
syn match dircolorsColor19 contained '\<19\>'
syn match dircolorsColor20 contained '\<20\>'
syn match dircolorsColor21 contained '\<21\>'
syn match dircolorsColor22 contained '\<22\>'
syn match dircolorsColor23 contained '\<23\>'
syn match dircolorsColor24 contained '\<24\>'
syn match dircolorsColor25 contained '\<25\>'
syn match dircolorsColor26 contained '\<26\>'
syn match dircolorsColor27 contained '\<27\>'
syn match dircolorsColor28 contained '\<28\>'
syn match dircolorsColor29 contained '\<29\>'
syn match dircolorsColor30 contained '\<30\>'
syn match dircolorsColor31 contained '\<31\>'
syn match dircolorsColor32 contained '\<32\>'
syn match dircolorsColor33 contained '\<33\>'
syn match dircolorsColor34 contained '\<34\>'
syn match dircolorsColor35 contained '\<35\>'
syn match dircolorsColor36 contained '\<36\>'
syn match dircolorsColor37 contained '\<37\>'
syn match dircolorsColor38 contained '\<38\>'
syn match dircolorsColor39 contained '\<39\>'
syn match dircolorsColor40 contained '\<40\>'
syn match dircolorsColor41 contained '\<41\>'
syn match dircolorsColor42 contained '\<42\>'
syn match dircolorsColor43 contained '\<43\>'
syn match dircolorsColor44 contained '\<44\>'
syn match dircolorsColor45 contained '\<45\>'
syn match dircolorsColor46 contained '\<46\>'
syn match dircolorsColor47 contained '\<47\>'
syn match dircolorsColor48 contained '\<48\>'
syn match dircolorsColor49 contained '\<49\>'
syn match dircolorsColor50 contained '\<50\>'
syn match dircolorsColor51 contained '\<51\>'
syn match dircolorsColor52 contained '\<52\>'
syn match dircolorsColor53 contained '\<53\>'
syn match dircolorsColor54 contained '\<54\>'
syn match dircolorsColor55 contained '\<55\>'
syn match dircolorsColor56 contained '\<56\>'
syn match dircolorsColor57 contained '\<57\>'
syn match dircolorsColor58 contained '\<58\>'
syn match dircolorsColor59 contained '\<59\>'
syn match dircolorsColor60 contained '\<60\>'
syn match dircolorsColor61 contained '\<61\>'
syn match dircolorsColor62 contained '\<62\>'
syn match dircolorsColor63 contained '\<63\>'
syn match dircolorsColor64 contained '\<64\>'
syn match dircolorsColor65 contained '\<65\>'
syn match dircolorsColor66 contained '\<66\>'
syn match dircolorsColor67 contained '\<67\>'
syn match dircolorsColor68 contained '\<68\>'
syn match dircolorsColor69 contained '\<69\>'
syn match dircolorsColor70 contained '\<70\>'
syn match dircolorsColor71 contained '\<71\>'
syn match dircolorsColor72 contained '\<72\>'
syn match dircolorsColor73 contained '\<73\>'
syn match dircolorsColor74 contained '\<74\>'
syn match dircolorsColor75 contained '\<75\>'
syn match dircolorsColor76 contained '\<76\>'
syn match dircolorsColor77 contained '\<77\>'
syn match dircolorsColor78 contained '\<78\>'
syn match dircolorsColor79 contained '\<79\>'
syn match dircolorsColor80 contained '\<80\>'
syn match dircolorsColor81 contained '\<81\>'
syn match dircolorsColor82 contained '\<82\>'
syn match dircolorsColor83 contained '\<83\>'
syn match dircolorsColor84 contained '\<84\>'
syn match dircolorsColor85 contained '\<85\>'
syn match dircolorsColor86 contained '\<86\>'
syn match dircolorsColor87 contained '\<87\>'
syn match dircolorsColor88 contained '\<88\>'
syn match dircolorsColor89 contained '\<89\>'
syn match dircolorsColor90 contained '\<90\>'
syn match dircolorsColor91 contained '\<91\>'
syn match dircolorsColor92 contained '\<92\>'
syn match dircolorsColor93 contained '\<93\>'
syn match dircolorsColor94 contained '\<94\>'
syn match dircolorsColor95 contained '\<95\>'
syn match dircolorsColor96 contained '\<96\>'
syn match dircolorsColor97 contained '\<97\>'
syn match dircolorsColor98 contained '\<98\>'
syn match dircolorsColor99 contained '\<99\>'
syn match dircolorsColor100 contained '\<100\>'
syn match dircolorsColor101 contained '\<101\>'
syn match dircolorsColor102 contained '\<102\>'
syn match dircolorsColor103 contained '\<103\>'
syn match dircolorsColor104 contained '\<104\>'
syn match dircolorsColor105 contained '\<105\>'
syn match dircolorsColor106 contained '\<106\>'
syn match dircolorsColor107 contained '\<107\>'
syn match dircolorsColor108 contained '\<108\>'
syn match dircolorsColor109 contained '\<109\>'
syn match dircolorsColor110 contained '\<110\>'
syn match dircolorsColor111 contained '\<111\>'
syn match dircolorsColor112 contained '\<112\>'
syn match dircolorsColor113 contained '\<113\>'
syn match dircolorsColor114 contained '\<114\>'
syn match dircolorsColor115 contained '\<115\>'
syn match dircolorsColor116 contained '\<116\>'
syn match dircolorsColor117 contained '\<117\>'
syn match dircolorsColor118 contained '\<118\>'
syn match dircolorsColor119 contained '\<119\>'
syn match dircolorsColor120 contained '\<120\>'
syn match dircolorsColor121 contained '\<121\>'
syn match dircolorsColor122 contained '\<122\>'
syn match dircolorsColor123 contained '\<123\>'
syn match dircolorsColor124 contained '\<124\>'
syn match dircolorsColor125 contained '\<125\>'
syn match dircolorsColor126 contained '\<126\>'
syn match dircolorsColor127 contained '\<127\>'
syn match dircolorsColor128 contained '\<128\>'
syn match dircolorsColor129 contained '\<129\>'
syn match dircolorsColor130 contained '\<130\>'
syn match dircolorsColor131 contained '\<131\>'
syn match dircolorsColor132 contained '\<132\>'
syn match dircolorsColor133 contained '\<133\>'
syn match dircolorsColor134 contained '\<134\>'
syn match dircolorsColor135 contained '\<135\>'
syn match dircolorsColor136 contained '\<136\>'
syn match dircolorsColor137 contained '\<137\>'
syn match dircolorsColor138 contained '\<138\>'
syn match dircolorsColor139 contained '\<139\>'
syn match dircolorsColor140 contained '\<140\>'
syn match dircolorsColor141 contained '\<141\>'
syn match dircolorsColor142 contained '\<142\>'
syn match dircolorsColor143 contained '\<143\>'
syn match dircolorsColor144 contained '\<144\>'
syn match dircolorsColor145 contained '\<145\>'
syn match dircolorsColor146 contained '\<146\>'
syn match dircolorsColor147 contained '\<147\>'
syn match dircolorsColor148 contained '\<148\>'
syn match dircolorsColor149 contained '\<149\>'
syn match dircolorsColor150 contained '\<150\>'
syn match dircolorsColor151 contained '\<151\>'
syn match dircolorsColor152 contained '\<152\>'
syn match dircolorsColor153 contained '\<153\>'
syn match dircolorsColor154 contained '\<154\>'
syn match dircolorsColor155 contained '\<155\>'
syn match dircolorsColor156 contained '\<156\>'
syn match dircolorsColor157 contained '\<157\>'
syn match dircolorsColor158 contained '\<158\>'
syn match dircolorsColor159 contained '\<159\>'
syn match dircolorsColor160 contained '\<160\>'
syn match dircolorsColor161 contained '\<161\>'
syn match dircolorsColor162 contained '\<162\>'
syn match dircolorsColor163 contained '\<163\>'
syn match dircolorsColor164 contained '\<164\>'
syn match dircolorsColor165 contained '\<165\>'
syn match dircolorsColor166 contained '\<166\>'
syn match dircolorsColor167 contained '\<167\>'
syn match dircolorsColor168 contained '\<168\>'
syn match dircolorsColor169 contained '\<169\>'
syn match dircolorsColor170 contained '\<170\>'
syn match dircolorsColor171 contained '\<171\>'
syn match dircolorsColor172 contained '\<172\>'
syn match dircolorsColor173 contained '\<173\>'
syn match dircolorsColor174 contained '\<174\>'
syn match dircolorsColor175 contained '\<175\>'
syn match dircolorsColor176 contained '\<176\>'
syn match dircolorsColor177 contained '\<177\>'
syn match dircolorsColor178 contained '\<178\>'
syn match dircolorsColor179 contained '\<179\>'
syn match dircolorsColor180 contained '\<180\>'
syn match dircolorsColor181 contained '\<181\>'
syn match dircolorsColor182 contained '\<182\>'
syn match dircolorsColor183 contained '\<183\>'
syn match dircolorsColor184 contained '\<184\>'
syn match dircolorsColor185 contained '\<185\>'
syn match dircolorsColor186 contained '\<186\>'
syn match dircolorsColor187 contained '\<187\>'
syn match dircolorsColor188 contained '\<188\>'
syn match dircolorsColor189 contained '\<189\>'
syn match dircolorsColor190 contained '\<190\>'
syn match dircolorsColor191 contained '\<191\>'
syn match dircolorsColor192 contained '\<192\>'
syn match dircolorsColor193 contained '\<193\>'
syn match dircolorsColor194 contained '\<194\>'
syn match dircolorsColor195 contained '\<195\>'
syn match dircolorsColor196 contained '\<196\>'
syn match dircolorsColor197 contained '\<197\>'
syn match dircolorsColor198 contained '\<198\>'
syn match dircolorsColor199 contained '\<199\>'
syn match dircolorsColor200 contained '\<200\>'
syn match dircolorsColor201 contained '\<201\>'
syn match dircolorsColor202 contained '\<202\>'
syn match dircolorsColor203 contained '\<203\>'
syn match dircolorsColor204 contained '\<204\>'
syn match dircolorsColor205 contained '\<205\>'
syn match dircolorsColor206 contained '\<206\>'
syn match dircolorsColor207 contained '\<207\>'
syn match dircolorsColor208 contained '\<208\>'
syn match dircolorsColor209 contained '\<209\>'
syn match dircolorsColor210 contained '\<210\>'
syn match dircolorsColor211 contained '\<211\>'
syn match dircolorsColor212 contained '\<212\>'
syn match dircolorsColor213 contained '\<213\>'
syn match dircolorsColor214 contained '\<214\>'
syn match dircolorsColor215 contained '\<215\>'
syn match dircolorsColor216 contained '\<216\>'
syn match dircolorsColor217 contained '\<217\>'
syn match dircolorsColor218 contained '\<218\>'
syn match dircolorsColor219 contained '\<219\>'
syn match dircolorsColor220 contained '\<220\>'
syn match dircolorsColor221 contained '\<221\>'
syn match dircolorsColor222 contained '\<222\>'
syn match dircolorsColor223 contained '\<223\>'
syn match dircolorsColor224 contained '\<224\>'
syn match dircolorsColor225 contained '\<225\>'
syn match dircolorsColor226 contained '\<226\>'
syn match dircolorsColor227 contained '\<227\>'
syn match dircolorsColor228 contained '\<228\>'
syn match dircolorsColor229 contained '\<229\>'
syn match dircolorsColor230 contained '\<230\>'
syn match dircolorsColor231 contained '\<231\>'
syn match dircolorsColor232 contained '\<232\>'
syn match dircolorsColor233 contained '\<233\>'
syn match dircolorsColor234 contained '\<234\>'
syn match dircolorsColor235 contained '\<235\>'
syn match dircolorsColor236 contained '\<236\>'
syn match dircolorsColor237 contained '\<237\>'
syn match dircolorsColor238 contained '\<238\>'
syn match dircolorsColor239 contained '\<239\>'
syn match dircolorsColor240 contained '\<240\>'
syn match dircolorsColor241 contained '\<241\>'
syn match dircolorsColor242 contained '\<242\>'
syn match dircolorsColor243 contained '\<243\>'
syn match dircolorsColor244 contained '\<244\>'
syn match dircolorsColor245 contained '\<245\>'
syn match dircolorsColor246 contained '\<246\>'
syn match dircolorsColor247 contained '\<247\>'
syn match dircolorsColor248 contained '\<248\>'
syn match dircolorsColor249 contained '\<249\>'
syn match dircolorsColor250 contained '\<250\>'
syn match dircolorsColor251 contained '\<251\>'
syn match dircolorsColor252 contained '\<252\>'
syn match dircolorsColor253 contained '\<253\>'
syn match dircolorsColor254 contained '\<254\>'
syn match dircolorsColor255 contained '\<255\>'
else
syn cluster dircolorsColors contains=dircolorsNumber
syn match dircolorsNumber '\<\d\+\>'
let cur_col = 16
for r in xterm_palette
for g in xterm_palette
for b in xterm_palette
let s:guicolors[cur_col] = '#' . r . g . b
let cur_col += 1
endfor
endfor
endfor
for i in range(24)
let g = i * 0xa + 8
let s:guicolors[i + 232] = '#' . g . g . g
endfor
endfunction
function! s:get_hi_str(color, place) abort
if a:color >= 0 && a:color <= 255
if has('gui_running')
return ' gui' . a:place . '=' . s:guicolors[a:color]
elseif a:color <= 7 || &t_Co == 256 || &t_Co == 88
return ' cterm' . a:place . '=' . a:color
endif
endif
return ''
endfunction
function! s:get_256color(colors) abort
if len(a:colors) >= 2 " May be fewer while editing
let [_five, color] = remove(a:colors, 0, 1)
if _five != '5' || color == ''
return -1
else
return str2nr(color)
endif
else
return -1
endif
endfunction
function! s:preview_color(linenr) abort
let line = getline(a:linenr)
let defline = matchlist(line, '^\v([A-Z_]+|[*.]\S+)\s+([0-9;]+)')
if empty(defline)
return
endif
let colordef = defline[2]
let colors = split(colordef, ';')
let hi_str = ''
let hi_attrs = []
while len(colors) > 0
let item = str2nr(remove(colors, 0))
if item == 1
call add(hi_attrs, 'bold')
elseif item == 3
call add(hi_attrs, 'italic')
elseif item == 4
call add(hi_attrs, 'underline')
elseif item == 7
call add(hi_attrs, 'inverse')
elseif item >= 30 && item <= 37
" ANSI SGR foreground color
let hi_str .= s:get_hi_str(item - 30, 'fg')
elseif item >= 40 && item <= 47
" ANSI SGR background color
let hi_str .= s:get_hi_str(item - 40, 'bg')
elseif item == 38
" Foreground for terminals with 88/256 color support
let color = s:get_256color(colors)
if color == -1
break
endif
let hi_str .= s:get_hi_str(color, 'fg')
elseif item == 48
" Background for terminals with 88/256 color support
let color = s:get_256color(colors)
if color == -1
break
endif
let hi_str .= s:get_hi_str(color, 'bg')
endif
endwhile
if hi_str == '' && empty(hi_attrs)
return
endif
" Check whether we have already defined this color
redir => s:currentmatch
silent! execute 'syntax list'
redir END
if s:currentmatch !~# '\/\\_s\\zs' . colordef . '\\ze\\_s\/'
" Append the buffer number to avoid problems with other dircolors
" buffers interfering
let bufnr = bufnr('%')
execute 'syntax match dircolorsColor' . b:dc_next_index . '_' . bufnr .
\ ' "\_s\zs' . colordef . '\ze\_s"'
let hi_attrs_str = ''
if !empty(hi_attrs)
if has('gui_running')
let hi_attrs_str = ' gui=' . join(hi_attrs, ',')
else
let hi_attrs_str = ' cterm=' . join(hi_attrs, ',')
endif
endif
execute 'highlight default dircolorsColor' . b:dc_next_index . '_' .
\ bufnr . hi_str . hi_attrs_str
let b:dc_next_index += 1
endif
endfunction
" Avoid accumulating too many definitions while editing
function! s:reset_colors() abort
if b:dc_next_index > 0
let bufnr = bufnr('%')
for i in range(b:dc_next_index)
execute 'syntax clear dircolorsColor' . i . '_' . bufnr
execute 'highlight clear dircolorsColor' . i . '_' . bufnr
endfor
let b:dc_next_index = 0
endif
for linenr in range(1, line('$'))
call s:preview_color(linenr)
endfor
endfunction
let b:dc_next_index = 0
if has('gui_running')
call s:set_guicolors()
endif
hi def link dircolorsTodo Todo
hi def link dircolorsComment Comment
hi def link dircolorsKeyword Keyword
hi def link dircolorsExtension Keyword
if has('gui_running') || &t_Co != ''
call s:reset_colors()
if &t_Co == 8 || &t_Co == 16
hi def dircolorsBold term=bold cterm=bold gui=bold
hi def dircolorsUnderline term=underline cterm=underline gui=underline
hi def link dircolorsBlink Normal
hi def dircolorsReverse term=reverse cterm=reverse gui=reverse
hi def link dircolorsInvisible Ignore
hi def dircolorsBlack ctermfg=Black guifg=Black
hi def dircolorsRed ctermfg=Red guifg=Red
hi def dircolorsGreen ctermfg=Green guifg=Green
hi def dircolorsYellow ctermfg=Yellow guifg=Yellow
hi def dircolorsBlue ctermfg=Blue guifg=Blue
hi def dircolorsMagenta ctermfg=Magenta guifg=Magenta
hi def dircolorsCyan ctermfg=Cyan guifg=Cyan
hi def dircolorsWhite ctermfg=White guifg=White
hi def dircolorsBGBlack ctermbg=Black ctermfg=White
\ guibg=Black guifg=White
hi def dircolorsBGRed ctermbg=DarkRed guibg=DarkRed
hi def dircolorsBGGreen ctermbg=DarkGreen guibg=DarkGreen
hi def dircolorsBGYellow ctermbg=DarkYellow guibg=DarkYellow
hi def dircolorsBGBlue ctermbg=DarkBlue guibg=DarkBlue
hi def dircolorsBGMagenta ctermbg=DarkMagenta guibg=DarkMagenta
hi def dircolorsBGCyan ctermbg=DarkCyan guibg=DarkCyan
hi def dircolorsBGWhite ctermbg=White ctermfg=Black
\ guibg=White guifg=Black
elseif &t_Co == 256 || has("gui_running")
hi def dircolorsColor0 ctermfg=0 guifg=Black
hi def dircolorsColor1 ctermfg=1 guifg=DarkRed
hi def dircolorsColor2 ctermfg=2 guifg=DarkGreen
hi def dircolorsColor3 ctermfg=3 guifg=DarkYellow
hi def dircolorsColor4 ctermfg=4 guifg=DarkBlue
hi def dircolorsColor5 ctermfg=5 guifg=DarkMagenta
hi def dircolorsColor6 ctermfg=6 guifg=DarkCyan
hi def dircolorsColor7 ctermfg=7 guifg=Gray
hi def dircolorsColor8 ctermfg=8 guifg=DarkGray
hi def dircolorsColor9 ctermfg=9 guifg=Red
hi def dircolorsColor10 ctermfg=10 guifg=Green
hi def dircolorsColor11 ctermfg=11 guifg=Yellow
hi def dircolorsColor12 ctermfg=12 guifg=Blue
hi def dircolorsColor13 ctermfg=13 guifg=Magenta
hi def dircolorsColor14 ctermfg=14 guifg=Cyan
hi def dircolorsColor15 ctermfg=15 guifg=White
hi def dircolorsColor16 ctermfg=16 guifg=#000000
hi def dircolorsColor17 ctermfg=17 guifg=#00005f
hi def dircolorsColor18 ctermfg=18 guifg=#000087
hi def dircolorsColor19 ctermfg=19 guifg=#0000af
hi def dircolorsColor20 ctermfg=20 guifg=#0000d7
hi def dircolorsColor21 ctermfg=21 guifg=#0000ff
hi def dircolorsColor22 ctermfg=22 guifg=#005f00
hi def dircolorsColor23 ctermfg=23 guifg=#005f5f
hi def dircolorsColor24 ctermfg=24 guifg=#005f87
hi def dircolorsColor25 ctermfg=25 guifg=#005faf
hi def dircolorsColor26 ctermfg=26 guifg=#005fd7
hi def dircolorsColor27 ctermfg=27 guifg=#005fff
hi def dircolorsColor28 ctermfg=28 guifg=#008700
hi def dircolorsColor29 ctermfg=29 guifg=#00875f
hi def dircolorsColor30 ctermfg=30 guifg=#008787
hi def dircolorsColor31 ctermfg=31 guifg=#0087af
hi def dircolorsColor32 ctermfg=32 guifg=#0087d7
hi def dircolorsColor33 ctermfg=33 guifg=#0087ff
hi def dircolorsColor34 ctermfg=34 guifg=#00af00
hi def dircolorsColor35 ctermfg=35 guifg=#00af5f
hi def dircolorsColor36 ctermfg=36 guifg=#00af87
hi def dircolorsColor37 ctermfg=37 guifg=#00afaf
hi def dircolorsColor38 ctermfg=38 guifg=#00afd7
hi def dircolorsColor39 ctermfg=39 guifg=#00afff
hi def dircolorsColor40 ctermfg=40 guifg=#00d700
hi def dircolorsColor41 ctermfg=41 guifg=#00d75f
hi def dircolorsColor42 ctermfg=42 guifg=#00d787
hi def dircolorsColor43 ctermfg=43 guifg=#00d7af
hi def dircolorsColor44 ctermfg=44 guifg=#00d7d7
hi def dircolorsColor45 ctermfg=45 guifg=#00d7ff
hi def dircolorsColor46 ctermfg=46 guifg=#00ff00
hi def dircolorsColor47 ctermfg=47 guifg=#00ff5f
hi def dircolorsColor48 ctermfg=48 guifg=#00ff87
hi def dircolorsColor49 ctermfg=49 guifg=#00ffaf
hi def dircolorsColor50 ctermfg=50 guifg=#00ffd7
hi def dircolorsColor51 ctermfg=51 guifg=#00ffff
hi def dircolorsColor52 ctermfg=52 guifg=#5f0000
hi def dircolorsColor53 ctermfg=53 guifg=#5f005f
hi def dircolorsColor54 ctermfg=54 guifg=#5f0087
hi def dircolorsColor55 ctermfg=55 guifg=#5f00af
hi def dircolorsColor56 ctermfg=56 guifg=#5f00d7
hi def dircolorsColor57 ctermfg=57 guifg=#5f00ff
hi def dircolorsColor58 ctermfg=58 guifg=#5f5f00
hi def dircolorsColor59 ctermfg=59 guifg=#5f5f5f
hi def dircolorsColor60 ctermfg=60 guifg=#5f5f87
hi def dircolorsColor61 ctermfg=61 guifg=#5f5faf
hi def dircolorsColor62 ctermfg=62 guifg=#5f5fd7
hi def dircolorsColor63 ctermfg=63 guifg=#5f5fff
hi def dircolorsColor64 ctermfg=64 guifg=#5f8700
hi def dircolorsColor65 ctermfg=65 guifg=#5f875f
hi def dircolorsColor66 ctermfg=66 guifg=#5f8787
hi def dircolorsColor67 ctermfg=67 guifg=#5f87af
hi def dircolorsColor68 ctermfg=68 guifg=#5f87d7
hi def dircolorsColor69 ctermfg=69 guifg=#5f87ff
hi def dircolorsColor70 ctermfg=70 guifg=#5faf00
hi def dircolorsColor71 ctermfg=71 guifg=#5faf5f
hi def dircolorsColor72 ctermfg=72 guifg=#5faf87
hi def dircolorsColor73 ctermfg=73 guifg=#5fafaf
hi def dircolorsColor74 ctermfg=74 guifg=#5fafd7
hi def dircolorsColor75 ctermfg=75 guifg=#5fafff
hi def dircolorsColor76 ctermfg=76 guifg=#5fd700
hi def dircolorsColor77 ctermfg=77 guifg=#5fd75f
hi def dircolorsColor78 ctermfg=78 guifg=#5fd787
hi def dircolorsColor79 ctermfg=79 guifg=#5fd7af
hi def dircolorsColor80 ctermfg=80 guifg=#5fd7d7
hi def dircolorsColor81 ctermfg=81 guifg=#5fd7ff
hi def dircolorsColor82 ctermfg=82 guifg=#5fff00
hi def dircolorsColor83 ctermfg=83 guifg=#5fff5f
hi def dircolorsColor84 ctermfg=84 guifg=#5fff87
hi def dircolorsColor85 ctermfg=85 guifg=#5fffaf
hi def dircolorsColor86 ctermfg=86 guifg=#5fffd7
hi def dircolorsColor87 ctermfg=87 guifg=#5fffff
hi def dircolorsColor88 ctermfg=88 guifg=#870000
hi def dircolorsColor89 ctermfg=89 guifg=#87005f
hi def dircolorsColor90 ctermfg=90 guifg=#870087
hi def dircolorsColor91 ctermfg=91 guifg=#8700af
hi def dircolorsColor92 ctermfg=92 guifg=#8700d7
hi def dircolorsColor93 ctermfg=93 guifg=#8700ff
hi def dircolorsColor94 ctermfg=94 guifg=#875f00
hi def dircolorsColor95 ctermfg=95 guifg=#875f5f
hi def dircolorsColor96 ctermfg=96 guifg=#875f87
hi def dircolorsColor97 ctermfg=97 guifg=#875faf
hi def dircolorsColor98 ctermfg=98 guifg=#875fd7
hi def dircolorsColor99 ctermfg=99 guifg=#875fff
hi def dircolorsColor100 ctermfg=100 guifg=#878700
hi def dircolorsColor101 ctermfg=101 guifg=#87875f
hi def dircolorsColor102 ctermfg=102 guifg=#878787
hi def dircolorsColor103 ctermfg=103 guifg=#8787af
hi def dircolorsColor104 ctermfg=104 guifg=#8787d7
hi def dircolorsColor105 ctermfg=105 guifg=#8787ff
hi def dircolorsColor106 ctermfg=106 guifg=#87af00
hi def dircolorsColor107 ctermfg=107 guifg=#87af5f
hi def dircolorsColor108 ctermfg=108 guifg=#87af87
hi def dircolorsColor109 ctermfg=109 guifg=#87afaf
hi def dircolorsColor110 ctermfg=110 guifg=#87afd7
hi def dircolorsColor111 ctermfg=111 guifg=#87afff
hi def dircolorsColor112 ctermfg=112 guifg=#87d700
hi def dircolorsColor113 ctermfg=113 guifg=#87d75f
hi def dircolorsColor114 ctermfg=114 guifg=#87d787
hi def dircolorsColor115 ctermfg=115 guifg=#87d7af
hi def dircolorsColor116 ctermfg=116 guifg=#87d7d7
hi def dircolorsColor117 ctermfg=117 guifg=#87d7ff
hi def dircolorsColor118 ctermfg=118 guifg=#87ff00
hi def dircolorsColor119 ctermfg=119 guifg=#87ff5f
hi def dircolorsColor120 ctermfg=120 guifg=#87ff87
hi def dircolorsColor121 ctermfg=121 guifg=#87ffaf
hi def dircolorsColor122 ctermfg=122 guifg=#87ffd7
hi def dircolorsColor123 ctermfg=123 guifg=#87ffff
hi def dircolorsColor124 ctermfg=124 guifg=#af0000
hi def dircolorsColor125 ctermfg=125 guifg=#af005f
hi def dircolorsColor126 ctermfg=126 guifg=#af0087
hi def dircolorsColor127 ctermfg=127 guifg=#af00af
hi def dircolorsColor128 ctermfg=128 guifg=#af00d7
hi def dircolorsColor129 ctermfg=129 guifg=#af00ff
hi def dircolorsColor130 ctermfg=130 guifg=#af5f00
hi def dircolorsColor131 ctermfg=131 guifg=#af5f5f
hi def dircolorsColor132 ctermfg=132 guifg=#af5f87
hi def dircolorsColor133 ctermfg=133 guifg=#af5faf
hi def dircolorsColor134 ctermfg=134 guifg=#af5fd7
hi def dircolorsColor135 ctermfg=135 guifg=#af5fff
hi def dircolorsColor136 ctermfg=136 guifg=#af8700
hi def dircolorsColor137 ctermfg=137 guifg=#af875f
hi def dircolorsColor138 ctermfg=138 guifg=#af8787
hi def dircolorsColor139 ctermfg=139 guifg=#af87af
hi def dircolorsColor140 ctermfg=140 guifg=#af87d7
hi def dircolorsColor141 ctermfg=141 guifg=#af87ff
hi def dircolorsColor142 ctermfg=142 guifg=#afaf00
hi def dircolorsColor143 ctermfg=143 guifg=#afaf5f
hi def dircolorsColor144 ctermfg=144 guifg=#afaf87
hi def dircolorsColor145 ctermfg=145 guifg=#afafaf
hi def dircolorsColor146 ctermfg=146 guifg=#afafd7
hi def dircolorsColor147 ctermfg=147 guifg=#afafff
hi def dircolorsColor148 ctermfg=148 guifg=#afd700
hi def dircolorsColor149 ctermfg=149 guifg=#afd75f
hi def dircolorsColor150 ctermfg=150 guifg=#afd787
hi def dircolorsColor151 ctermfg=151 guifg=#afd7af
hi def dircolorsColor152 ctermfg=152 guifg=#afd7d7
hi def dircolorsColor153 ctermfg=153 guifg=#afd7ff
hi def dircolorsColor154 ctermfg=154 guifg=#afff00
hi def dircolorsColor155 ctermfg=155 guifg=#afff5f
hi def dircolorsColor156 ctermfg=156 guifg=#afff87
hi def dircolorsColor157 ctermfg=157 guifg=#afffaf
hi def dircolorsColor158 ctermfg=158 guifg=#afffd7
hi def dircolorsColor159 ctermfg=159 guifg=#afffff
hi def dircolorsColor160 ctermfg=160 guifg=#d70000
hi def dircolorsColor161 ctermfg=161 guifg=#d7005f
hi def dircolorsColor162 ctermfg=162 guifg=#d70087
hi def dircolorsColor163 ctermfg=163 guifg=#d700af
hi def dircolorsColor164 ctermfg=164 guifg=#d700d7
hi def dircolorsColor165 ctermfg=165 guifg=#d700ff
hi def dircolorsColor166 ctermfg=166 guifg=#d75f00
hi def dircolorsColor167 ctermfg=167 guifg=#d75f5f
hi def dircolorsColor168 ctermfg=168 guifg=#d75f87
hi def dircolorsColor169 ctermfg=169 guifg=#d75faf
hi def dircolorsColor170 ctermfg=170 guifg=#d75fd7
hi def dircolorsColor171 ctermfg=171 guifg=#d75fff
hi def dircolorsColor172 ctermfg=172 guifg=#d78700
hi def dircolorsColor173 ctermfg=173 guifg=#d7875f
hi def dircolorsColor174 ctermfg=174 guifg=#d78787
hi def dircolorsColor175 ctermfg=175 guifg=#d787af
hi def dircolorsColor176 ctermfg=176 guifg=#d787d7
hi def dircolorsColor177 ctermfg=177 guifg=#d787ff
hi def dircolorsColor178 ctermfg=178 guifg=#d7af00
hi def dircolorsColor179 ctermfg=179 guifg=#d7af5f
hi def dircolorsColor180 ctermfg=180 guifg=#d7af87
hi def dircolorsColor181 ctermfg=181 guifg=#d7afaf
hi def dircolorsColor182 ctermfg=182 guifg=#d7afd7
hi def dircolorsColor183 ctermfg=183 guifg=#d7afff
hi def dircolorsColor184 ctermfg=184 guifg=#d7d700
hi def dircolorsColor185 ctermfg=185 guifg=#d7d75f
hi def dircolorsColor186 ctermfg=186 guifg=#d7d787
hi def dircolorsColor187 ctermfg=187 guifg=#d7d7af
hi def dircolorsColor188 ctermfg=188 guifg=#d7d7d7
hi def dircolorsColor189 ctermfg=189 guifg=#d7d7ff
hi def dircolorsColor190 ctermfg=190 guifg=#d7ff00
hi def dircolorsColor191 ctermfg=191 guifg=#d7ff5f
hi def dircolorsColor192 ctermfg=192 guifg=#d7ff87
hi def dircolorsColor193 ctermfg=193 guifg=#d7ffaf
hi def dircolorsColor194 ctermfg=194 guifg=#d7ffd7
hi def dircolorsColor195 ctermfg=195 guifg=#d7ffff
hi def dircolorsColor196 ctermfg=196 guifg=#ff0000
hi def dircolorsColor197 ctermfg=197 guifg=#ff005f
hi def dircolorsColor198 ctermfg=198 guifg=#ff0087
hi def dircolorsColor199 ctermfg=199 guifg=#ff00af
hi def dircolorsColor200 ctermfg=200 guifg=#ff00d7
hi def dircolorsColor201 ctermfg=201 guifg=#ff00ff
hi def dircolorsColor202 ctermfg=202 guifg=#ff5f00
hi def dircolorsColor203 ctermfg=203 guifg=#ff5f5f
hi def dircolorsColor204 ctermfg=204 guifg=#ff5f87
hi def dircolorsColor205 ctermfg=205 guifg=#ff5faf
hi def dircolorsColor206 ctermfg=206 guifg=#ff5fd7
hi def dircolorsColor207 ctermfg=207 guifg=#ff5fff
hi def dircolorsColor208 ctermfg=208 guifg=#ff8700
hi def dircolorsColor209 ctermfg=209 guifg=#ff875f
hi def dircolorsColor210 ctermfg=210 guifg=#ff8787
hi def dircolorsColor211 ctermfg=211 guifg=#ff87af
hi def dircolorsColor212 ctermfg=212 guifg=#ff87d7
hi def dircolorsColor213 ctermfg=213 guifg=#ff87ff
hi def dircolorsColor214 ctermfg=214 guifg=#ffaf00
hi def dircolorsColor215 ctermfg=215 guifg=#ffaf5f
hi def dircolorsColor216 ctermfg=216 guifg=#ffaf87
hi def dircolorsColor217 ctermfg=217 guifg=#ffafaf
hi def dircolorsColor218 ctermfg=218 guifg=#ffafd7
hi def dircolorsColor219 ctermfg=219 guifg=#ffafff
hi def dircolorsColor220 ctermfg=220 guifg=#ffd700
hi def dircolorsColor221 ctermfg=221 guifg=#ffd75f
hi def dircolorsColor222 ctermfg=222 guifg=#ffd787
hi def dircolorsColor223 ctermfg=223 guifg=#ffd7af
hi def dircolorsColor224 ctermfg=224 guifg=#ffd7d7
hi def dircolorsColor225 ctermfg=225 guifg=#ffd7ff
hi def dircolorsColor226 ctermfg=226 guifg=#ffff00
hi def dircolorsColor227 ctermfg=227 guifg=#ffff5f
hi def dircolorsColor228 ctermfg=228 guifg=#ffff87
hi def dircolorsColor229 ctermfg=229 guifg=#ffffaf
hi def dircolorsColor230 ctermfg=230 guifg=#ffffd7
hi def dircolorsColor231 ctermfg=231 guifg=#ffffff
hi def dircolorsColor232 ctermfg=232 guifg=#080808
hi def dircolorsColor233 ctermfg=233 guifg=#121212
hi def dircolorsColor234 ctermfg=234 guifg=#1c1c1c
hi def dircolorsColor235 ctermfg=235 guifg=#262626
hi def dircolorsColor236 ctermfg=236 guifg=#303030
hi def dircolorsColor237 ctermfg=237 guifg=#3a3a3a
hi def dircolorsColor238 ctermfg=238 guifg=#444444
hi def dircolorsColor239 ctermfg=239 guifg=#4e4e4e
hi def dircolorsColor240 ctermfg=240 guifg=#585858
hi def dircolorsColor241 ctermfg=241 guifg=#626262
hi def dircolorsColor242 ctermfg=242 guifg=#6c6c6c
hi def dircolorsColor243 ctermfg=243 guifg=#767676
hi def dircolorsColor244 ctermfg=244 guifg=#808080
hi def dircolorsColor245 ctermfg=245 guifg=#8a8a8a
hi def dircolorsColor246 ctermfg=246 guifg=#949494
hi def dircolorsColor247 ctermfg=247 guifg=#9e9e9e
hi def dircolorsColor248 ctermfg=248 guifg=#a8a8a8
hi def dircolorsColor249 ctermfg=249 guifg=#b2b2b2
hi def dircolorsColor250 ctermfg=250 guifg=#bcbcbc
hi def dircolorsColor251 ctermfg=251 guifg=#c6c6c6
hi def dircolorsColor252 ctermfg=252 guifg=#d0d0d0
hi def dircolorsColor253 ctermfg=253 guifg=#dadada
hi def dircolorsColor254 ctermfg=254 guifg=#e4e4e4
hi def dircolorsColor255 ctermfg=255 guifg=#eeeeee
else
hi def link dircolorsNumber Number
autocmd CursorMoved,CursorMovedI <buffer> call s:preview_color('.')
autocmd CursorHold,CursorHoldI <buffer> call s:reset_colors()
endif
let b:current_syntax = "dircolors"

View File

@@ -1,26 +1,19 @@
" Vim syntax file
" Maintainer: Thilo Six
" Contact: <vim-dev at vim dot org>
" http://www.vim.org/maillist.php#vim-dev
"
" Contact: vim-foo@xk2c-foo.de
" :3s+-foo++g
" Description: highlight dnsmasq configuration files
" File: runtime/syntax/dnsmasq.vim
" Version: 2.61-1
" Last Change: 2012 May 19
" Version: 2.67
" Last Change: 2013 Nov 03
" Modeline: vim: ts=8:sw=2:sts=2:
"
" Credits: Igor N. Prischepoff
" Doug Kearns
" David Ne\v{c}as
" Christian Brabandt
"
" License: VIM License
" Vim is Charityware, see ":help Uganda"
"
" Options: You might want to add this to your vimrc:
"
" if &background == "dark"
" " dnsmasq.vim
" let dnsmasq_backrgound_light = 0
" else
" let dnsmasq_backrgound_light = 1
@@ -28,8 +21,7 @@
"
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
if v:version < 600
syntax clear
elseif exists("b:current_syntax") || &compatible
finish
@@ -39,11 +31,11 @@ let s:cpo_save = &cpo
set cpo&vim
if !exists("b:dnsmasq_backrgound_light")
if exists("dnsmasq_backrgound_light")
let b:dnsmasq_backrgound_light = dnsmasq_backrgound_light
else
let b:dnsmasq_backrgound_light = 0
endif
if exists("dnsmasq_backrgound_light")
let b:dnsmasq_backrgound_light = dnsmasq_backrgound_light
else
let b:dnsmasq_backrgound_light = 0
endif
endif
@@ -89,10 +81,13 @@ syn match DnsmasqKeywordSpecial ",\<ignore\>"hs=s+1 contains=DnsmasqSpecial
syn match DnsmasqKeywordSpecial "\<id\>:"me=e-1
syn match DnsmasqKeyword "^\s*add-mac\>"
syn match DnsmasqKeyword "^\s*add-subnet\>"
syn match DnsmasqKeyword "^\s*addn-hosts\>"
syn match DnsmasqKeyword "^\s*address\>"
syn match DnsmasqKeyword "^\s*alias\>"
syn match DnsmasqKeyword "^\s*all-servers\>"
syn match DnsmasqKeyword "^\s*auth-zone\>"
syn match DnsmasqKeyword "^\s*bind-dynamic\>"
syn match DnsmasqKeyword "^\s*bind-interfaces\>"
syn match DnsmasqKeyword "^\s*bogus-nxdomain\>"
syn match DnsmasqKeyword "^\s*bogus-priv\>"
@@ -128,6 +123,7 @@ syn match DnsmasqKeyword "^\s*dhcp-option-force\>"
syn match DnsmasqKeyword "^\s*dhcp-optsfile\>"
syn match DnsmasqKeyword "^\s*dhcp-proxy\>"
syn match DnsmasqKeyword "^\s*dhcp-range\>"
syn match DnsmasqKeyword "^\s*dhcp-relay\>"
syn match DnsmasqKeyword "^\s*dhcp-remoteid\>"
syn match DnsmasqKeyword "^\s*dhcp-script\>"
syn match DnsmasqKeyword "^\s*dhcp-scriptuser\>"
@@ -135,6 +131,7 @@ syn match DnsmasqKeyword "^\s*dhcp-sequential-ip\>"
syn match DnsmasqKeyword "^\s*dhcp-subscrid\>"
syn match DnsmasqKeyword "^\s*dhcp-userclass\>"
syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>"
syn match DnsmasqKeyword "^\s*dns-rr\>"
syn match DnsmasqKeyword "^\s*dns-forward-max\>"
syn match DnsmasqKeyword "^\s*domain\>"
syn match DnsmasqKeyword "^\s*domain-needed\>"
@@ -149,6 +146,7 @@ syn match DnsmasqKeyword "^\s*group\>"
syn match DnsmasqKeyword "^\s*host-record\>"
syn match DnsmasqKeyword "^\s*interface\>"
syn match DnsmasqKeyword "^\s*interface-name\>"
syn match DnsmasqKeyword "^\s*ipset\>"
syn match DnsmasqKeyword "^\s*keep-in-foreground\>"
syn match DnsmasqKeyword "^\s*leasefile-ro\>"
syn match DnsmasqKeyword "^\s*listen-address\>"
@@ -161,6 +159,7 @@ syn match DnsmasqKeyword "^\s*log-dhcp\>"
syn match DnsmasqKeyword "^\s*log-facility\>"
syn match DnsmasqKeyword "^\s*log-queries\>"
syn match DnsmasqKeyword "^\s*max-ttl\>"
syn match DnsmasqKeyword "^\s*max-cache-ttl\>"
syn match DnsmasqKeyword "^\s*min-port\>"
syn match DnsmasqKeyword "^\s*mx-host\>"
syn match DnsmasqKeyword "^\s*mx-target\>"
@@ -180,6 +179,10 @@ syn match DnsmasqKeyword "^\s*ptr-record\>"
syn match DnsmasqKeyword "^\s*pxe-prompt\>"
syn match DnsmasqKeyword "^\s*pxe-service\>"
syn match DnsmasqKeyword "^\s*query-port\>"
syn match DnsmasqKeyword "^\s*quiet-ra\>"
syn match DnsmasqKeyword "^\s*quiet-dhcp\>"
syn match DnsmasqKeyword "^\s*quiet-dhcp6\>"
syn match DnsmasqKeyword "^\s*ra-param\>"
syn match DnsmasqKeyword "^\s*read-ethers\>"
syn match DnsmasqKeyword "^\s*rebind-domain-ok\>"
syn match DnsmasqKeyword "^\s*rebind-localhost-ok\>"
@@ -189,6 +192,7 @@ syn match DnsmasqKeyword "^\s*server\>"
syn match DnsmasqKeyword "^\s*srv-host\>"
syn match DnsmasqKeyword "^\s*stop-dns-rebind\>"
syn match DnsmasqKeyword "^\s*strict-order\>"
syn match DnsmasqKeyword "^\s*synth-domain\>"
syn match DnsmasqKeyword "^\s*tag-if\>"
syn match DnsmasqKeyword "^\s*test\>"
syn match DnsmasqKeyword "^\s*tftp-max\>"

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: dts/dtsi (device tree files)
" Maintainer: Daniel Mack <vim@zonque.org>
" Last Change: 2013 Apr 05
" Last Change: 2013 Oct 20
if exists("b:current_syntax")
finish
@@ -11,11 +11,12 @@ syntax region dtsComment start="/\*" end="\*/"
syntax match dtsReference "&[[:alpha:][:digit:]_]\+"
syntax region dtsBinaryProperty start="\[" end="\]"
syntax match dtsStringProperty "\".*\""
syntax match dtsKeyword "/.*/"
syntax match dtsKeyword "/.\{-1,\}/"
syntax match dtsLabel "^[[:space:]]*[[:alpha:][:digit:]_]\+:"
syntax match dtsNode /[[:alpha:][:digit:]-_]\+\(@[0-9a-fA-F]\+\|\)[[:space:]]*{/he=e-1
syntax region dtsCellProperty start="<" end=">" contains=dtsReference,dtsBinaryProperty,dtsStringProperty,dtsComment
syntax region dtsCommentInner start="/\*" end="\*/"
syntax match dtsCommentLine "//.*$"
hi def link dtsCellProperty Number
hi def link dtsBinaryProperty Number
@@ -26,3 +27,4 @@ hi def link dtsNode Structure
hi def link dtsReference Macro
hi def link dtsComment Comment
hi def link dtsCommentInner Comment
hi def link dtsCommentLine Comment

View File

@@ -0,0 +1,135 @@
" Vim syntax file
" Language: Euphoria 3.1.1 - supports DOS - (http://www.rapideuphoria.com/)
" Maintainer: Shian Lee
" Last Change: 2014 Feb 24 (for Vim 7.4)
" Remark: Euphoria has two syntax files, euphoria3.vim and euphoria4.vim;
" For details see :help ft-euphoria-syntax
" Quit if a (custom) syntax file was already loaded (compatible with Vim 5.8):
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Reset compatible-options to Vim default value, just in case:
let s:save_cpo = &cpo
set cpo&vim
" Should suffice for very long expressions:
syn sync lines=40
" Euphoria is a case-sensitive language (with only 4 builtin types):
syntax case match
" Keywords/Builtins for Debug - from $EUDIR/bin/keywords.e:
syn keyword euphoria3Debug with without trace profile
syn keyword euphoria3Debug profile_time warning type_check
" Keywords (Statments) - from $EUDIR/bin/keywords.e:
syn keyword euphoria3Keyword if end then procedure else for return
syn keyword euphoria3Keyword do elsif while type constant to and or
syn keyword euphoria3Keyword exit function global by not include
syn keyword euphoria3Keyword xor
" Builtins (Identifiers) - from $EUDIR/bin/keywords.e:
syn keyword euphoria3Builtin length puts integer sequence position object
syn keyword euphoria3Builtin append prepend print printf
syn keyword euphoria3Builtin clear_screen floor getc gets get_key
syn keyword euphoria3Builtin rand repeat atom compare find match
syn keyword euphoria3Builtin time command_line open close getenv
syn keyword euphoria3Builtin sqrt sin cos tan log system date remainder
syn keyword euphoria3Builtin power machine_func machine_proc abort peek poke
syn keyword euphoria3Builtin call sprintf arctan and_bits or_bits xor_bits
syn keyword euphoria3Builtin not_bits pixel get_pixel mem_copy mem_set
syn keyword euphoria3Builtin c_proc c_func routine_id call_proc call_func
syn keyword euphoria3Builtin poke4 peek4s peek4u equal system_exec
syn keyword euphoria3Builtin platform task_create task_schedule task_yield
syn keyword euphoria3Builtin task_self task_suspend task_list
syn keyword euphoria3Builtin task_status task_clock_stop task_clock_start
syn keyword euphoria3Builtin find_from match_from
" Builtins (Identifiers) shortcuts for length() and print():
syn match euphoria3Builtin "\$"
syn match euphoria3Builtin "?"
" Library Identifiers (Function) - from $EUDIR/doc/library.doc:
syn keyword euphoria3Library reverse sort custom_sort lower upper
syn keyword euphoria3Library wildcard_match wildcard_file arcsin
syn keyword euphoria3Library arccos PI flush lock_file unlock_file
syn keyword euphoria3Library pretty_print sprint get_bytes prompt_string
syn keyword euphoria3Library wait_key get prompt_number value seek where
syn keyword euphoria3Library current_dir chdir dir walk_dir allow_break
syn keyword euphoria3Library check_break get_mouse mouse_events mouse_pointer
syn keyword euphoria3Library tick_rate sleep get_position graphics_mode
syn keyword euphoria3Library video_config scroll wrap text_color bk_color
syn keyword euphoria3Library palette all_palette get_all_palette read_bitmap
syn keyword euphoria3Library save_bitmap get_active_page set_active_page
syn keyword euphoria3Library get_display_page set_display_page sound
syn keyword euphoria3Library cursor text_rows get_screen_char put_screen_char
syn keyword euphoria3Library save_text_image display_text_image draw_line
syn keyword euphoria3Library polygon ellipse save_screen save_image display_image
syn keyword euphoria3Library dos_interrupt allocate free allocate_low free_low
syn keyword euphoria3Library allocate_string register_block unregister_block
syn keyword euphoria3Library get_vector set_vector lock_memory int_to_bytes
syn keyword euphoria3Library bytes_to_int int_to_bits bits_to_int atom_to_float64
syn keyword euphoria3Library atom_to_float32 float64_to_atom float32_to_atom
syn keyword euphoria3Library set_rand use_vesa crash_file crash_message
syn keyword euphoria3Library crash_routine open_dll define_c_proc define_c_func
syn keyword euphoria3Library define_c_var call_back message_box free_console
syn keyword euphoria3Library instance
" Library Identifiers (Function) - from $EUDIR/doc/database.doc:
syn keyword euphoria3Library db_create db_open db_select db_close db_create_table
syn keyword euphoria3Library db_select_table db_rename_table db_delete_table
syn keyword euphoria3Library db_table_list db_table_size db_find_key db_record_key
syn keyword euphoria3Library db_record_data db_insert db_delete_record
syn keyword euphoria3Library db_replace_data db_compress db_dump db_fatal_id
" Linux shell comment (#!...):
syn match euphoria3Comment "\%^#!.*$"
" Comment on one line:
syn region euphoria3Comment start=/--/ end=/$/
" Delimiters and brackets:
syn match euphoria3Delimit "[([\])]"
syn match euphoria3Delimit "\.\."
syn match euphoria3Operator "[{}]"
" Character constant:
syn region euphoria3Char start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline
" String constant:
syn region euphoria3String start=/"/ skip=/\\"\|\\\\/ end=/"/ oneline
" Hexadecimal integer:
syn match euphoria3Number "#[0-9A-F]\+\>"
" Integer/Floating point without a dot:
syn match euphoria3Number "\<\d\+\>"
" Floating point with dot:
syn match euphoria3Number "\<\d\+\.\d*\>"
" Floating point starting with a dot:
syn match euphoria3Number "\.\d\+\>"
" Boolean constants:
syn keyword euphoria3Boolean true TRUE false FALSE
" Define the default highlighting.
" Only used when an item doesn't have highlighting yet:
hi def link euphoria3Comment Comment
hi def link euphoria3String String
hi def link euphoria3Char Character
hi def link euphoria3Number Number
hi def link euphoria3Boolean Boolean
hi def link euphoria3Builtin Identifier
hi def link euphoria3Library Function
hi def link euphoria3Keyword Statement
hi def link euphoria3Operator Statement
hi def link euphoria3Debug Debug
hi def link euphoria3Delimit Delimiter
let b:current_syntax = "euphoria3"
" Restore current compatible-options:
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@@ -0,0 +1,246 @@
" Vim syntax file
" Language: Euphoria 4.0.5 (http://www.openeuphoria.org/)
" Maintainer: Shian Lee
" Last Change: 2014 Feb 24 (for Vim 7.4)
" Remark: Euphoria has two syntax files, euphoria3.vim and euphoria4.vim;
" For details see :help ft-euphoria-syntax
" Quit if a (custom) syntax file was already loaded (compatible with Vim 5.8):
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Reset compatible-options to Vim default value, just in case:
let s:save_cpo = &cpo
set cpo&vim
" Should suffice for very long strings and expressions:
syn sync lines=40
" Euphoria is a case-sensitive language (with only 4 builtin types):
syntax case match
" Some keywords/Builtins for Debug - from $EUDIR/include/euphoria/keywords.e:
syn keyword euphoria4Debug with without trace profile batch check indirect
syn keyword euphoria4Debug includes inline warning define
" Keywords for conditional compilation - from $EUDIR/include/euphoria/keywords.e:
syn keyword euphoria4PreProc elsedef elsifdef ifdef
" Keywords (Statments) - from $EUDIR/include/euphoria/keywords.e:
syn keyword euphoria4Keyword and as break by case constant continue do else
syn keyword euphoria4Keyword elsif end entry enum exit export
syn keyword euphoria4Keyword fallthru for function global goto if include
syn keyword euphoria4Keyword label loop namespace not or override procedure
syn keyword euphoria4Keyword public retry return routine switch then to type
syn keyword euphoria4Keyword until while xor
" Builtins (Identifiers) - from $EUDIR/include/euphoria/keywords.e:
syn keyword euphoria4Builtin abort and_bits append arctan atom c_func c_proc
syn keyword euphoria4Builtin call call_func call_proc clear_screen close
syn keyword euphoria4Builtin command_line compare cos date delete delete_routine
syn keyword euphoria4Builtin equal find floor get_key getc getenv gets hash
syn keyword euphoria4Builtin head include_paths insert integer length log
syn keyword euphoria4Builtin machine_func machine_proc match mem_copy mem_set
syn keyword euphoria4Builtin not_bits object open option_switches or_bits peek
syn keyword euphoria4Builtin peek2s peek2u peek4s peek4u peek_string peeks pixel
syn keyword euphoria4Builtin platform poke poke2 poke4 position power prepend
syn keyword euphoria4Builtin print printf puts rand remainder remove repeat
syn keyword euphoria4Builtin replace routine_id sequence sin splice sprintf
syn keyword euphoria4Builtin sqrt system system_exec tail tan task_clock_start
syn keyword euphoria4Builtin task_clock_stop task_create task_list task_schedule
syn keyword euphoria4Builtin task_self task_status task_suspend task_yield time
syn keyword euphoria4Builtin xor_bits
" Builtins (Identifiers) shortcuts for length() and print():
syn match euphoria4Builtin "\$"
syn match euphoria4Builtin "?"
" Library Identifiers (Function) - grep from $EUDIR/include/*:
syn keyword euphoria4Library DEP_on SyntaxColor abbreviate_path abs absolute_path
syn keyword euphoria4Library accept add add_item all_copyrights all_matches
syn keyword euphoria4Library allocate allocate_code allocate_data allocate_low
syn keyword euphoria4Library allocate_pointer_array allocate_protect
syn keyword euphoria4Library allocate_string allocate_string_pointer_array
syn keyword euphoria4Library allocate_wstring allocations allow_break any_key
syn keyword euphoria4Library append_lines apply approx arccos arccosh arcsin
syn keyword euphoria4Library arcsinh arctanh assert at atan2 atom_to_float32
syn keyword euphoria4Library atom_to_float64 attr_to_colors avedev average
syn keyword euphoria4Library begins binary_search bind binop_ok bits_to_int
syn keyword euphoria4Library bk_color breakup build_commandline build_list
syn keyword euphoria4Library bytes_to_int calc_hash calc_primes call_back
syn keyword euphoria4Library canon2win canonical canonical_path ceil
syn keyword euphoria4Library central_moment chance char_test chdir
syn keyword euphoria4Library check_all_blocks check_break check_free_list
syn keyword euphoria4Library checksum clear clear_directory close cmd_parse
syn keyword euphoria4Library colors_to_attr columnize combine connect
syn keyword euphoria4Library console_colors copy copy_file cosh count crash
syn keyword euphoria4Library crash_file crash_message crash_routine create
syn keyword euphoria4Library create_directory create_file curdir current_dir
syn keyword euphoria4Library cursor custom_sort datetime days_in_month
syn keyword euphoria4Library days_in_year db_cache_clear db_clear_table db_close
syn keyword euphoria4Library db_compress db_connect db_create db_create_table
syn keyword euphoria4Library db_current db_current_table db_delete_record
syn keyword euphoria4Library db_delete_table db_dump db_fetch_record db_find_key
syn keyword euphoria4Library db_get_errors db_get_recid db_insert db_open
syn keyword euphoria4Library db_record_data db_record_key db_record_recid
syn keyword euphoria4Library db_rename_table db_replace_data db_replace_recid
syn keyword euphoria4Library db_select db_select_table db_set_caching
syn keyword euphoria4Library db_table_list db_table_size deallocate decanonical
syn keyword euphoria4Library decode defaulted_value defaultext define_c_func
syn keyword euphoria4Library define_c_proc define_c_var deg2rad delete_file
syn keyword euphoria4Library dep_works dequote deserialize diff dir dir_size
syn keyword euphoria4Library dirname disk_metrics disk_size display
syn keyword euphoria4Library display_text_image dnsquery driveid dump dup emovavg
syn keyword euphoria4Library encode ends ensure_in_list ensure_in_range
syn keyword euphoria4Library error_code error_message error_no error_string
syn keyword euphoria4Library error_to_string escape euphoria_copyright exec
syn keyword euphoria4Library exp extract fetch fib file_exists file_length
syn keyword euphoria4Library file_timestamp file_type filebase fileext filename
syn keyword euphoria4Library filter find_all find_all_but find_any find_each
syn keyword euphoria4Library find_nested find_replace find_replace_callback
syn keyword euphoria4Library find_replace_limit flags_to_string flatten
syn keyword euphoria4Library float32_to_atom float64_to_atom flush for_each
syn keyword euphoria4Library format frac free free_code free_console free_low
syn keyword euphoria4Library free_pointer_array from_date from_unix gcd geomean
syn keyword euphoria4Library get get_bytes get_charsets get_def_lang
syn keyword euphoria4Library get_display_page get_dstring get_encoding_properties
syn keyword euphoria4Library get_integer16 get_integer32 get_lang_path get_lcid
syn keyword euphoria4Library get_mouse get_option get_ovector_size get_pid
syn keyword euphoria4Library get_position get_rand get_screen_char get_text
syn keyword euphoria4Library get_vector getaddrinfo getmxrr getnsrr graphics_mode
syn keyword euphoria4Library harmean has has_console has_match hex_text
syn keyword euphoria4Library host_by_addr host_by_name http_get http_post iff
syn keyword euphoria4Library iif info init_class init_curdir insertion_sort
syn keyword euphoria4Library instance int_to_bits int_to_bytes intdiv
syn keyword euphoria4Library is_DEP_supported is_empty is_even is_even_obj
syn keyword euphoria4Library is_in_list is_in_range is_inetaddr is_leap_year
syn keyword euphoria4Library is_match is_using_DEP is_win_nt join join_path
syn keyword euphoria4Library keep_comments keep_newlines key_codes keys keyvalues
syn keyword euphoria4Library kill kurtosis lang_load larger_of largest last
syn keyword euphoria4Library listen load load_map locate_file lock_file
syn keyword euphoria4Library lock_memory log10 lookup lower malloc mapping
syn keyword euphoria4Library match_all match_any match_replace matches max
syn keyword euphoria4Library maybe_any_key median memory_used merge message_box
syn keyword euphoria4Library mid min minsize mod mode money mouse_events
syn keyword euphoria4Library mouse_pointer movavg move_file nested_get
syn keyword euphoria4Library nested_put new new_extra new_from_kvpairs
syn keyword euphoria4Library new_from_string new_time next_prime now now_gmt
syn keyword euphoria4Library number open_dll optimize option_spec_to_string
syn keyword euphoria4Library or_all pad_head pad_tail pairs parse
syn keyword euphoria4Library parse_commandline parse_ip_address parse_querystring
syn keyword euphoria4Library parse_url patch pathinfo pathname pcre_copyright
syn keyword euphoria4Library peek_end peek_top peek_wstring pivot platform_name
syn keyword euphoria4Library poke_string poke_wstring pop powof2 prepare_block
syn keyword euphoria4Library pretty_print pretty_sprint prime_list process_lines
syn keyword euphoria4Library product project prompt_number prompt_string proper
syn keyword euphoria4Library push put put_integer16 put_integer32 put_screen_char
syn keyword euphoria4Library quote rad2deg rand_range range raw_frequency read
syn keyword euphoria4Library read_bitmap read_file read_lines receive receive_from
syn keyword euphoria4Library register_block rehash remove_all remove_directory
syn keyword euphoria4Library remove_dups remove_item remove_subseq rename_file
syn keyword euphoria4Library repeat_pattern reset retain_all reverse rfind rmatch
syn keyword euphoria4Library rnd rnd_1 roll rotate rotate_bits round safe_address
syn keyword euphoria4Library sample save_bitmap save_map save_text_image scroll
syn keyword euphoria4Library seek select send send_to serialize series
syn keyword euphoria4Library service_by_name service_by_port set
syn keyword euphoria4Library set_accumulate_summary set_charsets set_colors
syn keyword euphoria4Library set_decimal_mark set_def_lang set_default_charsets
syn keyword euphoria4Library set_encoding_properties set_keycodes set_lang_path
syn keyword euphoria4Library set_option set_rand set_test_abort set_test_verbosity
syn keyword euphoria4Library set_vector set_wait_on_summary setenv shift_bits
syn keyword euphoria4Library show_block show_help show_tokens shuffle shutdown
syn keyword euphoria4Library sign sim_index sinh size skewness sleep slice small
syn keyword euphoria4Library smaller_of smallest sort sort_columns sound split
syn keyword euphoria4Library split_any split_limit split_path sprint start_time
syn keyword euphoria4Library statistics stdev store string_numbers subtract sum
syn keyword euphoria4Library sum_central_moments swap tanh task_delay temp_file
syn keyword euphoria4Library test_equal test_exec test_fail test_false
syn keyword euphoria4Library test_not_equal test_pass test_read test_report
syn keyword euphoria4Library test_true test_write text_color text_rows threshold
syn keyword euphoria4Library tick_rate to_integer to_number to_string to_unix
syn keyword euphoria4Library tokenize_file tokenize_string top transform translate
syn keyword euphoria4Library transmute trim trim_head trim_tail trsprintf trunc
syn keyword euphoria4Library type_of uname unlock_file unregister_block unsetenv
syn keyword euphoria4Library upper use_vesa valid valid_index value values version
syn keyword euphoria4Library version_date version_major version_minor version_node
syn keyword euphoria4Library version_patch version_revision version_string
syn keyword euphoria4Library version_string_long version_string_short version_type
syn keyword euphoria4Library video_config vlookup vslice wait_key walk_dir
syn keyword euphoria4Library warning_file weeks_day where which_bit wildcard_file
syn keyword euphoria4Library wildcard_match wrap write write_file write_lines
syn keyword euphoria4Library writef writefln years_day
" Library Identifiers (Type) - grep from $EUDIR/include/*:
syn keyword euphoria4Type ascii_string boolean bordered_address byte_range
syn keyword euphoria4Type case_flagset_type color cstring datetime
syn keyword euphoria4Type file_number file_position graphics_point
syn keyword euphoria4Type integer_array lcid lock_type machine_addr map
syn keyword euphoria4Type mixture number_array option_spec
syn keyword euphoria4Type page_aligned_address positive_int process regex
syn keyword euphoria4Type sequence_array socket stack std_library_address
syn keyword euphoria4Type string t_alnum t_alpha t_ascii t_boolean
syn keyword euphoria4Type t_bytearray t_cntrl t_consonant t_digit t_display
syn keyword euphoria4Type t_graph t_identifier t_lower t_print t_punct
syn keyword euphoria4Type t_space t_specword t_text t_upper t_vowel t_xdigit
syn keyword euphoria4Type valid_memory_protection_constant valid_wordsize
" Linux shell comment (#!...):
syn match euphoria4Comment "\%^#!.*$"
" Single and multilines comments:
syn region euphoria4Comment start=/--/ end=/$/
syn region euphoria4Comment start="/\*" end="\*/"
" Delimiters and brackets:
syn match euphoria4Delimit "[([\])]"
syn match euphoria4Delimit "\.\."
syn match euphoria4Delimit ":"
syn match euphoria4Operator "[{}]"
" Character constant:
syn region euphoria4Char start=/'/ skip=/\\'\|\\\\/ end=/'/ oneline
" Single and multiline string constant:
syn region euphoria4String start=/"\|b"\|x"/ skip=/\\"\|\\\\/ end=/"/ oneline
syn region euphoria4String start=/`/ end=/`/
syn region euphoria4String start=/"""/ end=/"""/
" Binary/Octal/Decimal/Hexadecimal integer:
syn match euphoria4Number "\<0b[01_]\+\>"
syn match euphoria4Number "\<0t[0-7_]\+\>"
syn match euphoria4Number "\<0d[0-9_]\+\>"
syn match euphoria4Number "\<0x[0-9A-Fa-f_]\+\>"
syn match euphoria4Number "#[0-9A-Fa-f_]\+\>"
" Integer/Floating point without a dot:
syn match euphoria4Number "\<\d\+\>"
" Floating point with dot:
syn match euphoria4Number "\<\d\+\.\d*\>"
" Floating point starting with a dot:
syn match euphoria4Number "\.\d\+\>"
" Boolean constants:
syn keyword euphoria4Boolean true TRUE false FALSE
" Define the default highlighting.
" Only used when an item doesn't have highlighting yet:
hi def link euphoria4Comment Comment
hi def link euphoria4String String
hi def link euphoria4Char Character
hi def link euphoria4Number Number
hi def link euphoria4Boolean Boolean
hi def link euphoria4Builtin Identifier
hi def link euphoria4Library Function
hi def link euphoria4Type Type
hi def link euphoria4Keyword Statement
hi def link euphoria4Operator Statement
hi def link euphoria4Debug Debug
hi def link euphoria4Delimit Delimiter
hi def link euphoria4PreProc PreProc
let b:current_syntax = "euphoria4"
" Restore current compatible-options:
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: Vim help file
" Maintainer: Bram Moolenaar (Bram@vim.org)
" Last Change: 2013 Sep 05
" Last Change: 2014 Feb 12
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -40,7 +40,7 @@ endif
syn match helpNormal "|.*====*|"
syn match helpNormal "|||"
syn match helpNormal ":|vim:|" " for :help modeline
syn match helpVim "Vim version [0-9.a-z]\+"
syn match helpVim "\<Vim version [0-9][0-9.a-z]*"
syn match helpVim "VIM REFERENCE.*"
syn match helpOption "'[a-z]\{2,\}'"
syn match helpOption "'t_..'"
@@ -153,7 +153,7 @@ syn sync minlines=40
" Define the default highlighting.
" Only used when an item doesn't have highlighting yet
hi def link helpIgnore Ignore
hi def link helpHyperTextJump Subtitle
hi def link helpHyperTextJump Identifier
hi def link helpBar Ignore
hi def link helpBacktick Ignore
hi def link helpStar Ignore
@@ -168,7 +168,6 @@ hi def link helpOption Type
hi def link helpNotVi Special
hi def link helpSpecial Special
hi def link helpNote Todo
hi def link Subtitle Identifier
hi def link helpComment Comment
hi def link helpConstant Constant

45
runtime/syntax/j.vim Normal file
View File

@@ -0,0 +1,45 @@
" Vim syntax file
" Language: J
" Maintainer: David Bürgin <676c7473@gmail.com>
" Last Change: 2013-10-06
if exists("b:current_syntax")
finish
endif
syntax case match
syntax sync minlines=50
syn match jControl /\<\%(assert\|break\|case\|catch[dt]\=\|continue\|do\|else\%(if\)\=\|end\|fcase\|for\|if\|return\|select\|throw\|try\|whil\%(e\|st\)\)\./
syn match jControl /\<\%(for\|goto\|label\)_\a\k*\./
syn region jString oneline start=/'/ skip=/''/ end=/'/
" Patterns for numbers in general, rational numbers, numbers with explicit
" base, infinities, and numbers with extended precision.
"
" Matching J numbers is difficult. The regular expression used for the general
" case roughly embodies this grammar sketch:
"
" EXP := /_?\d+(\.\d*)?([eE]_?\d+)?/
" COMP := EXP | EXP (j|a[dr]) EXP
" PIEU := COMP | COMP [px] COMP
"
" For the rest, a compromise between correctness and practicality was made.
" See http://www.jsoftware.com/help/dictionary/dcons.htm for reference.
syn match jNumber /\<_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\%(\%(j\|a[dr]\)_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\)\=\%([px]_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\%(\%(j\|a[dr]\)_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=\)\=\)\=/
syn match jNumber /\<_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=r_\=\d\+\%(\.\d*\)\=\%([eE]_\=\d\+\)\=/
syn match jNumber /\<_\=\d\+\%([eE]\d\+\)\=b_\=[0-9a-z]\+/
syn match jNumber /\<__\=\>/
syn match jNumber /\<_\=\d\+x\>/
syn match jComment /NB\..*$/ contains=jTodo,@Spell
syn keyword jTodo TODO FIXME XXX contained
hi def link jControl Statement
hi def link jString String
hi def link jNumber Number
hi def link jComment Comment
hi def link jTodo Todo
let b:current_syntax = "j"

View File

@@ -2,14 +2,11 @@
" Language: Microsoft Macro Assembler (80x86)
" Orig Author: Rob Brady <robb@datatone.com>
" Maintainer: Wu Yongwei <wuyongwei@gmail.com>
" Last Change: $Date: 2012/02/04 12:45:39 $
" $Revision: 1.46 $
" Last Change: $Date: 2013/11/13 11:49:24 $
" $Revision: 1.48 $
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
@@ -194,6 +191,10 @@ syn keyword masmRegister R8D R9D R10D R11D R12D R13D R14D R15D
syn keyword masmRegister R8W R9W R10W R11W R12W R13W R14W R15W
syn keyword masmRegister R8B R9B R10B R11B R12B R13B R14B R15B
" SSE/AVX registers
syn match masmRegister "\(X\|Y\)MM[0-9]\>"
syn match masmRegister "\(X\|Y\)MM1[0-5]\>"
" Instruction prefixes
syn keyword masmOpcode LOCK REP REPE REPNE REPNZ REPZ
@@ -302,50 +303,69 @@ syn keyword masmOpcode FISTTP LDDQU ADDSUBPS ADDSUBPD
syn keyword masmOpcode HADDPS HSUBPS HADDPD HSUBPD
syn keyword masmOpcode MOVSHDUP MOVSLDUP MOVDDUP MONITOR MWAIT
" SSSE3 opcodes (Core and later)
syn keyword masmOpcode PSIGNB PSIGNW PSIGND PABSB PABSW PABSD
syn keyword masmOpcode PALIGNR PSHUFB PMULHRSW PMADDUBSW
syn keyword masmOpcode PHSUBW PHSUBD PHSUBSW PHADDW PHADDD PHADDSW
" SSE 4.1 opcodes (Penryn and later)
syn keyword masmOpcode MPSADBW PHMINPOSUW PMULDQ PMULLD DPPS DPPD
syn keyword masmOpcode BLENDPS BLENDPD BLENDVPS BLENDVPD
syn keyword masmOpcode PBLENDVB PBLENDW
syn keyword masmOpcode PMINSB PMAXSB PMINSD PMAXSD
syn keyword masmOpcode PMINUW PMAXUW PMINUD PMAXUD
syn keyword masmOpcode ROUNDPS ROUNDSS ROUNDPD ROUNDSD
syn keyword masmOpcode INSERTPS PINSRB PINSRD PINSRQ
syn keyword masmOpcode EXTRACTPS PEXTRB PEXTRD PEXTRQ
syn keyword masmOpcode PMOVSXBW PMOVZXBW PMOVSXBD PMOVZXBD
syn keyword masmOpcode PMOVSXBQ PMOVZXBQ PMOVSXWD PMOVZXWD
syn keyword masmOpcode PMOVSXWQ PMOVZXWQ PMOVSXDQ PMOVZXDQ
syn keyword masmOpcode PTEST PCMPEQQ PACKUSDW MOVNTDQA
" SSE 4.2 opcodes (Nehalem and later)
syn keyword masmOpcode PCMPESTRI PCMPESTRM PCMPISTRI PCMPISTRM PCMPGTQ
syn keyword masmOpcode CRC32 POPCNT LZCNT
" AES-NI (Westmere (2010) and later)
syn keyword masmOpcode AESENC AESENCLAST AESDEC AESDECLAST
syn keyword masmOpcode AESKEYGENASSIST AESIMC PCLMULQDQ
" AVX (Sandy Bridge (2011) and later)
syn keyword masmOpcode VBROADCASTSS VBROADCASTSD VBROADCASTF128
syn keyword masmOpcode VINSERTF128 VEXTRACTF128 VMASKMOVPS VMASKMOVPD
syn keyword masmOpcode VPERMILPS VPERMILPD VPERM2F128
syn keyword masmOpcode VZEROALL VZEROUPPER
" Other opcodes in Pentium and later processors
syn keyword masmOpcode CMPXCHG8B CPUID UD2
syn keyword masmOpcode RSM RDMSR WRMSR RDPMC RDTSC SYSENTER SYSEXIT
syn match masmOpcode "CMOV\(P[EO]\|\(N\?\([ABGL]E\?\|[CEOPSZ]\)\)\)\>"
" Define the default highlighting.
" For version 5.7 and earlier: only when not done already
" For version 5.8 and later: only when an item doesn't have highlighting yet
if version >= 508 || !exists("did_masm_syntax_inits")
if version < 508
let did_masm_syntax_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
" The default highlighting
hi def link masmLabel PreProc
hi def link masmComment Comment
hi def link masmDirective Statement
hi def link masmType Type
hi def link masmOperator Type
hi def link masmOption Special
hi def link masmRegister Special
hi def link masmString String
hi def link masmText String
hi def link masmTitle Title
hi def link masmOpcode Statement
hi def link masmOpFloat Statement
" The default methods for highlighting. Can be overridden later
HiLink masmLabel PreProc
HiLink masmComment Comment
HiLink masmDirective Statement
HiLink masmType Type
HiLink masmOperator Type
HiLink masmOption Special
HiLink masmRegister Special
HiLink masmString String
HiLink masmText String
HiLink masmTitle Title
HiLink masmOpcode Statement
HiLink masmOpFloat Statement
hi def link masmHexadecimal Number
hi def link masmDecimal Number
hi def link masmOctal Number
hi def link masmBinary Number
hi def link masmFloatRaw Number
hi def link masmFloat Number
HiLink masmHexadecimal Number
HiLink masmDecimal Number
HiLink masmOctal Number
HiLink masmBinary Number
HiLink masmFloatRaw Number
HiLink masmFloat Number
hi def link masmIdentifier Identifier
HiLink masmIdentifier Identifier
syntax sync minlines=50
delcommand HiLink
endif
syntax sync minlines=50
let b:current_syntax = "masm"

83
runtime/syntax/mix.vim Normal file
View File

@@ -0,0 +1,83 @@
" Vim syntax file
" Language: MIX (Donald Knuth's assembly language used in TAOCP)
" Maintainer: Wu Yongwei <wuyongwei@gmail.com>
" Filenames: *.mixal *.mix
" Last Change: 2013 Nov 13
" Quit when a syntax file was already loaded
if exists("b:current_syntax")
finish
endif
let s:cpo_save = &cpo
set cpo&vim
syn case ignore
" Special processing of ALF directive: implementations vary whether quotation
" marks are needed
syn match mixAlfParam #\s\{1,2\}"\?[^"]\{,5\}"\?# contains=mixAlfDirective,mixString nextgroup=mixEndComment contained
" Region for parameters
syn match mixParam #[-+*/:=0-9a-z,()"]\+# contains=mixIdentifier,mixSpecial,mixNumber,mixString,mixLabel nextgroup=mixEndComment contained
" Comment at the line end
syn match mixEndComment ".*" contains=mixRegister contained
" Identifier; must go before literals
syn match mixIdentifier "[a-z0-9_]\+" contained
" Literals
syn match mixSpecial "[-+*/:=]" contained
syn match mixNumber "[0-9]\+\>" contained
syn region mixString start=+"+ skip=+\\"+ end=+"+ contained
" Labels
syn match mixLabel "^[a-z0-9_]\{,10\}\s\+" nextgroup=mixAlfSpecial,mixOpcode,mixDirective
syn match mixLabel "[0-9][BF]" contained
" Comments
syn match mixComment "^\*.*" contains=mixRegister
" Directives
syn keyword mixDirective ORIG EQU CON END nextgroup=mixParam contained skipwhite
syn keyword mixDirective ALF nextgroup=mixAlfParam contained
" Opcodes
syn keyword mixOpcode NOP HLT NUM CHAR FLOT FIX nextgroup=mixEndComment contained
syn keyword mixOpcode FADD FSUB FMUL FDIV FCMP MOVE ADD SUB MUL DIV IOC IN OUT JRED JBUS JMP JSJ JOV JNOV JL JE JG JLE JNE JGE SLA SRA SLAX SRAX SLC SRC nextgroup=mixParam contained skipwhite
syn match mixOpcode "LD[AX1-6]N\?\>" nextgroup=mixParam contained skipwhite
syn match mixOpcode "ST[AX1-6JZ]\>" nextgroup=mixParam contained skipwhite
syn match mixOpcode "EN[TN][AX1-6]\>" nextgroup=mixParam contained skipwhite
syn match mixOpcode "INC[AX1-6]\>" nextgroup=mixParam contained skipwhite
syn match mixOpcode "DEC[AX1-6]\>" nextgroup=mixParam contained skipwhite
syn match mixOpcode "CMP[AX1-6]\>" nextgroup=mixParam contained skipwhite
syn match mixOpcode "J[AX1-6]N\?[NZP]\>" nextgroup=mixParam contained skipwhite
" Switch back to being case sensitive
syn case match
" Registers (only to used in comments now)
syn keyword mixRegister rA rX rI1 rI2 rI3 rI4 rI5 rI6 rJ contained
" The default highlighting
hi def link mixRegister Special
hi def link mixLabel Define
hi def link mixComment Comment
hi def link mixEndComment Comment
hi def link mixDirective Keyword
hi def link mixOpcode Keyword
hi def link mixSpecial Special
hi def link mixNumber Number
hi def link mixString String
hi def link mixAlfParam String
hi def link mixIdentifier Identifier
let b:current_syntax = "mix"
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: ts=8

View File

@@ -19,11 +19,12 @@ syn cluster NetrwTreeGroup contains=netrwDir,netrwSymLink,netrwExe
syn match netrwPlain "\(\S\+ \)*\S\+" contains=@NoSpell
syn match netrwSpecial "\%(\S\+ \)*\S\+[*|=]\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
syn match netrwDir "\.\{1,2}/" contains=netrwClassify,@NoSpell
syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify,@NoSpell
"syn match netrwDir "\%(\S\+ \)*\S\+/" contains=netrwClassify,@NoSpell
syn match netrwDir "\%(\S\+ \)*\S\+/\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
syn match netrwSizeDate "\<\d\+\s\d\{1,2}/\d\{1,2}/\d\{4}\s" skipwhite contains=netrwDateSep,@NoSpell nextgroup=netrwTime
syn match netrwSymLink "\%(\S\+ \)*\S\+@\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
syn match netrwExe "\%(\S\+ \)*\S*[^~]\*\ze\%(\s\{2,}\|$\)" contains=netrwClassify,@NoSpell
syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
syn match netrwTreeBar "^\%([-+|] \)\+" contains=netrwTreeBarSpace nextgroup=@netrwTreeGroup
syn match netrwTreeBarSpace " " contained
syn match netrwClassify "[*=|@/]\ze\%(\s\{2,}\|$\)" contained

View File

@@ -1,7 +1,7 @@
" Vim syntax file
" Language: reStructuredText documentation format
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2013-06-03
" Latest Revision: 2013-11-26
if exists("b:current_syntax")
finish
@@ -152,7 +152,7 @@ for code in g:rst_syntax_code_list
exe 'syn region rstDirective'.code.' matchgroup=rstDirective fold '
\.'start=#\%(sourcecode\|code\%(-block\)\=\)::\s\+'.code.'\s*$# '
\.'skip=#^$# '
\.'end=#^\s\@!# contains=@NoSpell,@rst'.code
\.'end=#^\s\@!# contains=@NoSpell,@rst'.code.' keepend'
exe 'syn cluster rstDirectives add=rstDirective'.code
endfor

View File

@@ -1,8 +1,9 @@
" Filename: spec.vim
" Purpose: Vim syntax file
" Language: SPEC: Build/install scripts for Linux RPM packages
" Maintainer: Donovan Rebbechi elflord@panix.com
" Last Change: Fri Dec 3 11:54 EST 2004 Marcin Dalecki
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
" Former Maintainer: Donovan Rebbechi elflord@panix.com (until March 2014)
" Last Change: Sun Mar 2 10:33 MSK 2014 Igor Gnatenko
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -82,8 +83,8 @@ syn keyword specMacroNameLocal contained _arch _binary_payload _bindir _build _b
"One line macros - valid in all ScriptAreas
"tip: remember do include new items on specScriptArea's skip section
syn region specSectionMacroArea oneline matchgroup=specSectionMacro start='^%\(define\|patch\d*\|setup\|configure\|GNUconfigure\|find_lang\|makeinstall\|include\)\>' end='$' contains=specCommandOpts,specMacroIdentifier
syn region specSectionMacroBracketArea oneline matchgroup=specSectionMacro start='^%{\(configure\|GNUconfigure\|find_lang\|makeinstall\)}' end='$' contains=specCommandOpts,specMacroIdentifier
syn region specSectionMacroArea oneline matchgroup=specSectionMacro start='^%\(define\|global\|patch\d*\|setup\|configure\|GNUconfigure\|find_lang\|makeinstall\|make_install\|include\)\>' end='$' contains=specCommandOpts,specMacroIdentifier
syn region specSectionMacroBracketArea oneline matchgroup=specSectionMacro start='^%{\(configure\|GNUconfigure\|find_lang\|makeinstall\|make_install\)}' end='$' contains=specCommandOpts,specMacroIdentifier
"%% Files Section %%
"TODO %config valid parameters: missingok\|noreplace
@@ -113,7 +114,7 @@ syn region specDescriptionArea matchgroup=specSection start='^%description' end=
syn region specPackageArea matchgroup=specSection start='^%package' end='^%'me=e-1 contains=specPackageOpts,specPreAmble,specComment
"%% Scripts Section %%
syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|pre\|postun\|preun\|post\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|find_lang\|makeinstall\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
syn region specScriptArea matchgroup=specSection start='^%\(prep\|build\|install\|clean\|pre\|postun\|preun\|post\|posttrans\)\>' skip='^%{\|^%\(define\|patch\d*\|configure\|GNUconfigure\|setup\|find_lang\|makeinstall\|make_install\)\>' end='^%'me=e-1 contains=specSpecialVariables,specVariables,@specCommands,specVariables,shDo,shFor,shCaseEsac,specNoNumberHilite,specCommandOpts,shComment,shIf,specSpecialChar,specMacroIdentifier,specSectionMacroArea,specSectionMacroBracketArea,shOperator,shQuote1,shQuote2
"%% Changelog Section %%
syn region specChangelogArea matchgroup=specSection start='^%changelog' end='^%'me=e-1 contains=specEmail,specURL,specWeekday,specMonth,specNumber,specComment,specLicense

View File

@@ -2,15 +2,18 @@
" Language: Subversion (svn) commit file
" Maintainer: Dmitry Vasiliev <dima at hlabs dot org>
" URL: https://github.com/hdima/vim-scripts/blob/master/syntax/svn.vim
" Last Change: 2012-07-21
" Last Change: 2013-11-08
" Filenames: svn-commit*.tmp
" Version: 1.9
" Version: 1.10
" Contributors:
" Stefano Zacchiroli
"
" List of the contributors in alphabetical order:
"
" A. S. Budden
" Myk Taylor
" Ingo Karkat
" Myk Taylor
" Stefano Zacchiroli
" For version 5.x: Clear all syntax items.
" For version 6.x: Quit when a syntax file was already loaded.
@@ -20,14 +23,19 @@ elseif exists("b:current_syntax")
finish
endif
syn region svnText start="\%^" end="^--.*--$"me=s-1 contains=@Spell
syn spell toplevel
syn region svnRegion start="^--.*--$" end="\%$" contains=ALL
syn match svnRemoved "^D .*$" contained
syn match svnRenamed "^R[ M][ U][ +] .*$" contained
syn match svnAdded "^A[ M][ U][ +] .*$" contained
syn match svnModified "^M[ M][ U] .*$" contained
syn match svnProperty "^_M[ U] .*$" contained
syn match svnFirstLine "\%^.*" nextgroup=svnRegion,svnBlank skipnl
syn match svnSummary "^.\{0,50\}" contained containedin=svnFirstLine nextgroup=svnOverflow contains=@Spell
syn match svnOverflow ".*" contained contains=@Spell
syn match svnBlank "^.*" contained contains=@Spell
syn region svnRegion end="\%$" matchgroup=svnDelimiter start="^--.*--$" contains=svnRemoved,svnRenamed,svnAdded,svnModified,svnProperty,@NoSpell
syn match svnRemoved "^D .*$" contained contains=@NoSpell
syn match svnRenamed "^R[ M][ U][ +] .*$" contained contains=@NoSpell
syn match svnAdded "^A[ M][ U][ +] .*$" contained contains=@NoSpell
syn match svnModified "^M[ M][ U] .*$" contained contains=@NoSpell
syn match svnProperty "^_M[ U] .*$" contained contains=@NoSpell
" Synchronization.
syn sync clear
@@ -44,7 +52,11 @@ if version >= 508 || !exists("did_svn_syn_inits")
command -nargs=+ HiLink hi def link <args>
endif
HiLink svnSummary Keyword
HiLink svnBlank Error
HiLink svnRegion Comment
HiLink svnDelimiter NonText
HiLink svnRemoved Constant
HiLink svnAdded Identifier
HiLink svnModified Special

View File

@@ -0,0 +1,101 @@
" Vim syntax file
" Language: SystemVerilog
" Maintainer: kocha <kocha.lsifrontend@gmail.com>
" Last Change: 12-Aug-2013.
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
if version < 600
syntax clear
elseif exists("b:current_syntax")
finish
endif
" Read in Verilog syntax files
if version < 600
so <sfile>:p:h/verilog.vim
else
runtime! syntax/verilog.vim
unlet b:current_syntax
endif
" IEEE1800-2005
syn keyword systemverilogStatement always_comb always_ff always_latch
syn keyword systemverilogStatement class endclass new
syn keyword systemverilogStatement virtual local const protected
syn keyword systemverilogStatement package endpackage
syn keyword systemverilogStatement rand randc constraint randomize
syn keyword systemverilogStatement with inside dist
syn keyword systemverilogStatement sequence endsequence randsequence
syn keyword systemverilogStatement srandom
syn keyword systemverilogStatement logic bit byte
syn keyword systemverilogStatement int longint shortint
syn keyword systemverilogStatement struct packed
syn keyword systemverilogStatement final
syn keyword systemverilogStatement import export
syn keyword systemverilogStatement context pure
syn keyword systemverilogStatement void shortreal chandle string
syn keyword systemverilogStatement clocking endclocking iff
syn keyword systemverilogStatement interface endinterface modport
syn keyword systemverilogStatement cover covergroup coverpoint endgroup
syn keyword systemverilogStatement property endproperty
syn keyword systemverilogStatement program endprogram
syn keyword systemverilogStatement bins binsof illegal_bins ignore_bins
syn keyword systemverilogStatement alias matches solve static assert
syn keyword systemverilogStatement assume super before expect bind
syn keyword systemverilogStatement extends null tagged extern this
syn keyword systemverilogStatement first_match throughout timeprecision
syn keyword systemverilogStatement timeunit type union
syn keyword systemverilogStatement uwire var cross ref wait_order intersect
syn keyword systemverilogStatement wildcard within
syn keyword systemverilogTypeDef typedef enum
syn keyword systemverilogConditional randcase
syn keyword systemverilogConditional unique priority
syn keyword systemverilogRepeat return break continue
syn keyword systemverilogRepeat do foreach
syn keyword systemverilogLabel join_any join_none forkjoin
" IEEE1800-2009 add
syn keyword systemverilogStatement checker endchecker
syn keyword systemverilogStatement accept_on reject_on
syn keyword systemverilogStatement sync_accept_on sync_reject_on
syn keyword systemverilogStatement eventually nexttime until until_with
syn keyword systemverilogStatement s_always s_eventually s_nexttime s_until s_until_with
syn keyword systemverilogStatement let untyped
syn keyword systemverilogStatement strong weak
syn keyword systemverilogStatement restrict global implies
syn keyword systemverilogConditional unique0
" IEEE1800-2012 add
syn keyword systemverilogStatement implements
syn keyword systemverilogStatement interconnect soft nettype
" Define the default highlighting.
if version >= 508 || !exists("did_systemverilog_syn_inits")
if version < 508
let did_systemverilog_syn_inits = 1
command -nargs=+ HiLink hi link <args>
else
command -nargs=+ HiLink hi def link <args>
endif
" The default highlighting.
HiLink systemverilogStatement Statement
HiLink systemverilogTypeDef TypeDef
HiLink systemverilogConditional Conditional
HiLink systemverilogRepeat Repeat
HiLink systemverilogLabel Label
HiLink systemverilogGlobal Define
HiLink systemverilogNumber Number
delcommand HiLink
endif
let b:current_syntax = "systemverilog"
" vim: ts=8

View File

@@ -6,11 +6,9 @@
" (previously Matt Neumann <mattneu@purpleturtle.com>)
" (previously Allan Kelly <allan@fruitloaf.co.uk>)
" Original: Robin Becker <robin@jessikat.demon.co.uk>
" Last Change: 2009/04/06 02:38:36
" Version: 1.13
" URL: http://real.metasyntax.net:2357/cvs/cvsweb.cgi/Config/vim/syntax/tcl.vim
"
" Keywords TODO: click anchor
" Last Change: 2014-02-12
" Version: 1.14
" URL: http://bitbucket.org/taylor_venable/metasyntax/src/tip/Config/vim/syntax/tcl.vim
" For version 5.x: Clear all syntax items
" For version 6.x: Quit when a syntax file was already loaded
@@ -20,41 +18,39 @@ elseif exists("b:current_syntax")
finish
endif
" Basic Tcl commands: http://www.tcl.tk/man/tcl8.5/TclCmd/contents.htm
syn keyword tclCommand after append apply array bgerror binary catch cd chan clock
syn keyword tclCommand close concat dde dict encoding eof error eval exec exit
syn keyword tclCommand expr fblocked fconfigure fcopy file fileevent filename flush
syn keyword tclCommand format gets glob global history incr info interp join
syn keyword tclCommand lappend lassign lindex linsert list llength load lrange lrepeat
syn keyword tclCommand lreplace lreverse lsearch lset lsort memory namespace open package
syn keyword tclCommand pid proc puts pwd read regexp registry regsub rename return
syn keyword tclCommand scan seek set socket source split string subst tell time
syn keyword tclCommand trace unknown unload unset update uplevel upvar variable vwait
" Basic Tcl commands: http://www.tcl.tk/man/tcl8.6/TclCmd/contents.htm
syn keyword tclCommand after append array bgerror binary cd chan clock close concat
syn keyword tclCommand dde dict encoding eof error eval exec exit expr fblocked
syn keyword tclCommand fconfigure fcopy file fileevent flush format gets glob
syn keyword tclCommand global history http incr info interp join lappend lassign
syn keyword tclCommand lindex linsert list llength lmap load lrange lrepeat
syn keyword tclCommand lreplace lreverse lsearch lset lsort memory my namespace
syn keyword tclCommand next nextto open package pid puts pwd read refchan regexp
syn keyword tclCommand registry regsub rename scan seek self set socket source
syn keyword tclCommand split string subst tell time trace unknown unload unset
syn keyword tclCommand update uplevel upvar variable vwait
" The 'Tcl Standard Library' commands: http://www.tcl.tk/man/tcl8.5/TclCmd/library.htm
syn keyword tclCommand auto_execok auto_import auto_load auto_mkindex auto_mkindex_old
syn keyword tclCommand auto_qualify auto_reset parray tcl_endOfWord tcl_findLibrary
syn keyword tclCommand tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter
syn keyword tclCommand tcl_wordBreakBefore
" The 'Tcl Standard Library' commands: http://www.tcl.tk/man/tcl8.6/TclCmd/library.htm
syn keyword tclCommand auto_execok auto_import auto_load auto_mkindex auto_reset
syn keyword tclCommand auto_qualify tcl_findLibrary parray tcl_endOfWord
syn keyword tclCommand tcl_startOfNextWord tcl_startOfPreviousWord
syn keyword tclCommand tcl_wordBreakAfter tcl_wordBreakBefore
" Commands that were added in Tcl 8.6
syn keyword tclCommand my oo::copy oo::define oo::objdefine self
syn keyword tclCommand coroutine tailcall throw yield
" Global variables used by Tcl: http://www.tcl.tk/man/tcl8.5/TclCmd/tclvars.htm
syn keyword tclVars env errorCode errorInfo tcl_library tcl_patchLevel tcl_pkgPath
syn keyword tclVars tcl_platform tcl_precision tcl_rcFileName tcl_traceCompile
syn keyword tclVars tcl_traceExec tcl_wordchars tcl_nonwordchars tcl_version argc argv
syn keyword tclVars argv0 tcl_interactive geometry
" Global variables used by Tcl: http://www.tcl.tk/man/tcl8.6/TclCmd/tclvars.htm
syn keyword tclVars auto_path env errorCode errorInfo tcl_library tcl_patchLevel
syn keyword tclVars tcl_pkgPath tcl_platform tcl_precision tcl_rcFileName
syn keyword tclVars tcl_traceCompile tcl_traceExec tcl_wordchars
syn keyword tclVars tcl_nonwordchars tcl_version argc argv argv0 tcl_interactive
" Strings which expr accepts as boolean values, aside from zero / non-zero.
syn keyword tclBoolean true false on off yes no
syn keyword tclLabel case default
syn keyword tclProcCommand apply coroutine proc return tailcall yield yieldto
syn keyword tclConditional if then else elseif switch
syn keyword tclConditional try finally
syn keyword tclConditional catch try throw finally
syn keyword tclLabel default
syn keyword tclRepeat while for foreach break continue
syn keyword tcltkSwitch contained insert create polygon fill outline tag
" WIDGETS
@@ -91,6 +87,11 @@ syn match tclVarRef "$\(\(::\)\?\([[:alnum:]_]*::\)*\)\a[[:alnum:]_]*"
" ${...} may contain any character except '}'
syn match tclVarRef "${[^}]*}"
" Used to facilitate hack to utilize string background for certain color
" schemes, e.g. inkpot and lettuce.
syn cluster tclVarRefC add=tclVarRef
syn cluster tclSpecialC add=tclSpecial
" The syntactic unquote-splicing replacement for [expand].
syn match tclExpand '\s{\*}'
syn match tclExpand '^{\*}'
@@ -203,9 +204,9 @@ syn match tclSpecial contained '\\[\[\]\{\}\"\$]'
syn region tclEmbeddedStatement start='\[' end='\]' contained contains=tclCommand,tclNumber,tclLineContinue,tclString,tclVarRef,tclEmbeddedStatement
" A string needs the skip argument as it may legitimately contain \".
" Match at start of line
syn region tclString start=+^"+ end=+"+ contains=tclSpecial skip=+\\\\\|\\"+
syn region tclString start=+^"+ end=+"+ contains=@tclSpecialC skip=+\\\\\|\\"+
"Match all other legal strings.
syn region tclString start=+[^\\]"+ms=s+1 end=+"+ contains=tclSpecial,tclVarRef,tclEmbeddedStatement skip=+\\\\\|\\"+
syn region tclString start=+[^\\]"+ms=s+1 end=+"+ contains=@tclSpecialC,@tclVarRefC,tclEmbeddedStatement skip=+\\\\\|\\"+
" Line continuation is backslash immediately followed by newline.
syn match tclLineContinue '\\$'
@@ -231,6 +232,9 @@ syn case match
syn region tclComment start="^\s*\#" skip="\\$" end="$" contains=tclTodo
syn region tclComment start=/;\s*\#/hs=s+1 skip="\\$" end="$" contains=tclTodo
"syn match tclComment /^\s*\#.*$/
"syn match tclComment /;\s*\#.*$/hs=s+1
"syn sync ccomment tclComment
" Define the default highlighting.
@@ -252,6 +256,7 @@ if version >= 508 || !exists("did_tcl_syntax_inits")
HiLink tclNumber Number
HiLink tclError Error
HiLink tclCommand Statement
HiLink tclProcCommand Type
HiLink tclString String
HiLink tclComment Comment
HiLink tclSpecial Special
@@ -279,4 +284,4 @@ endif
let b:current_syntax = "tcl"
" vim: ts=8 noet
" vim: ts=8 noet nolist

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