Compare commits

...

206 Commits

Author SHA1 Message Date
Kazuki Sakamoto 7a04d45bec MacVim Snapshot 96
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.1265

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-02-05 21:33:13 -08:00
Kazuki Sakamoto c0e65e6559 Merge remote-tracking branch 'vim/master' 2016-02-05 20:52:59 -08:00
Bram Moolenaar f416086f26 patch 7.4.1265
Problem:    Not all channel commands are tested.
Solution:   Add a test for "normal", "expr" and "redraw".
2016-02-05 23:09:12 +01:00
Bram Moolenaar 6076fe1986 patch 7.4.1264
Problem:    Crash when receiving an empty array.
Solution:   Check for array with wrong number of arguments. (Damien)
2016-02-05 22:49:56 +01:00
Bram Moolenaar 4d919d748e patch 7.4.1263
Problem:    ch_open() hangs when the server isn't running.
Solution:   Add a timeout. Use a dict to pass arguments. (Yasuhiro Matsumoto)
2016-02-05 22:36:41 +01:00
Bram Moolenaar a07fec9c85 patch 7.4.1262
Problem:    The channel callback is not invoked.
Solution:   Make a list of pending callbacks.
2016-02-05 21:04:08 +01:00
Kazuki Sakamoto 36739b0d22 Merge remote-tracking branch 'vim/master' 2016-02-04 19:04:00 -08:00
Bram Moolenaar 4b6a6dcbe7 patch 7.4.1261
Problem:    Pending channel messages are garbage collected. Leaking memory in
            ch_sendexpr().  Leaking memory for a decoded JSON string.
Solution:   Mark the message list as used. Free the encoded JSON.  Don't save
            the JSON string.
2016-02-04 22:49:49 +01:00
Bram Moolenaar a8343c1808 patch 7.4.1260
Problem:    The channel feature doesn't work on Win32 GUI.
Solution:   Use WSAGetLastError(). (Ken Takata)
2016-02-04 22:09:48 +01:00
Bram Moolenaar 3fc3e14282 patch 7.4.1259
Problem:    No test for what patch 7.3.414 fixed.
Solution:   Add a test. (Elias Diem)
2016-02-04 21:53:33 +01:00
Bram Moolenaar a02b321686 patch 7.4.1258
Problem:    The channel test can fail if messages arrive later.
Solution:   Add a short sleep. (Jun T.)
2016-02-04 21:03:33 +01:00
Bram Moolenaar 681baaf4a4 Update runtime files. 2016-02-04 20:57:07 +01:00
Bram Moolenaar e24692573a patch 7.4.1257
Problem:    Channel test fails in some configurations.
Solution:   Add check for the +channel feature.
2016-02-04 10:54:34 +01:00
Kazuki Sakamoto 9fab7f8d8d Merge remote-tracking branch 'vim/master' 2016-02-03 19:16:19 -08:00
Bram Moolenaar b3e2f00f39 patch 7.4.1256
Problem:    On Mac sys.exit(0) doesn't kill the test server.
Solution:   Use self.server.shutdown(). (Jun Takimoto)
2016-02-04 00:11:37 +01:00
Bram Moolenaar 66624ff0d9 patch 7.4.1255
Problem:    Crash for channel "eval" command without third argument.
Solution:   Check for missing argument.
2016-02-03 23:59:43 +01:00
Bram Moolenaar 3b05b135e3 patch 7.4.1254
Problem:    Opening a second channel causes a crash. (Ken Takata)
Solution:   Don't re-allocate the array with channels.
2016-02-03 23:25:07 +01:00
Bram Moolenaar 608a8919ca patch 7.4.1253
Problem:    Python test server not displaying second of two commands.
            Solaris doesn't have "pkill --full".
Solution:   Also echo the second command. Use "pkill -f".
2016-02-03 22:39:51 +01:00
Bram Moolenaar e7bed627c8 patch 7.4.1252
Problem:    The channel test server may receive two messages concatenated.
Solution:   Split the messages.
2016-02-03 22:20:29 +01:00
Bram Moolenaar bf087cead9 patch 7.4.1251
Problem:    New test file missing from distribution.
Solution:   Add src/testdir/*.py.
2016-02-03 21:56:42 +01:00
Bram Moolenaar 2212c4154c patch 7.4.1250
Problem:    Running tests in shadow directory fails.
Solution:   Also link testdir/*.py
2016-02-03 21:45:27 +01:00
Bram Moolenaar fcb1e3d168 patch 7.4.1249
Problem:    Crash when the process a channel is connected to exits.
Solution:   Use the file descriptor properly.  Add a test. (Damien)
            Also add a test for eval().
2016-02-03 21:32:46 +01:00
Bram Moolenaar f92591f7f9 patch 7.4.1248
Problem:    Can't reliably stop the channel test server.  Can't start the
            server if the python file is not executable.
Solution:   Use "pkill" instead of "killall".  Run the python file as an
            argument instead of as an executable.
2016-02-03 20:22:32 +01:00
Bram Moolenaar a0f9cd148e patch 7.4.1247
Problem:    The channel test doesn't run on MS-Windows.
Solution:   Make it work on the MS-Windows console. (Ken Takata)
2016-02-03 20:13:24 +01:00
Kazuki Sakamoto 4f63131e19 Merge remote-tracking branch 'vim/master' 2016-02-02 18:27:13 -08:00
Kazuki Sakamoto d01ff94e51 Merge pull request #237 from macvim-dev/fix/10_7_build
Fix #236 10.7 build
2016-02-02 18:25:48 -08:00
Bram Moolenaar 7c764f7bbf Make the python script executable. 2016-02-02 23:33:43 +01:00
Bram Moolenaar d7ece1008e patch 7.4.1246
Problem:    The channel functionality isn't tested.
Solution:   Add a test using a Python test server.
2016-02-02 23:23:02 +01:00
Kazuki Sakamoto 839232428f Fix #236 10.7 build 2016-02-02 14:19:31 -08:00
Kazuki Sakamoto f1a6b1f403 Merge remote-tracking branch 'vim/master' 2016-02-02 14:16:00 -08:00
Bram Moolenaar d087566a41 patch 7.4.1245
Problem:    File missing from distribution.
Solution:   Add json_test.c.
2016-02-02 20:52:42 +01:00
Bram Moolenaar f57969a20a patch 7.4.1244
Problem:    The channel functions don't sort together.
Solution:   Use a common "ch_" prefix.
2016-02-02 20:47:49 +01:00
Bram Moolenaar fbf9c6b6c3 patch 7.4.1243
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize it. (Elias Diem)
2016-02-02 19:43:57 +01:00
Bram Moolenaar 8d8c509ac8 patch 7.4.1242
Problem:    json_test fails without the eval feature.
Solution:   Add #ifdef.
2016-02-02 19:15:38 +01:00
Bram Moolenaar 04b08c3de6 patch 7.4.1241
Problem:    Missing change in Makefile due to diff mismatch
Solution:   Update the list of object files.
2016-02-02 19:01:55 +01:00
Bram Moolenaar bc07309225 patch 7.4.1240
Problem:    Visual studio tools are noisy.
Solution:   Suppress startup info. (Mike Williams)
2016-02-02 18:50:45 +01:00
Bram Moolenaar df5b27b20e patch 7.4.1239
Problem:    JSON message after the first one is dropped.
Solution:   Put remainder of message back in the queue.
2016-02-02 18:43:17 +01:00
Bram Moolenaar 56ead341a7 patch 7.4.1238
Problem:    Can't handle two messages right after each other.
Solution:   Find the end of the JSON.  Read more when incomplete.  Add a C
            test for the JSON decoding.
2016-02-02 18:20:08 +01:00
Bram Moolenaar d9ea9069f5 patch 7.4.1237
Problem:    Can't translate message without adding a line break.
Solution:   Join the two parts of the message.
2016-02-02 12:38:02 +01:00
Kazuki Sakamoto 3d372e3739 Merge remote-tracking branch 'vim/master' 2016-02-01 21:46:30 -08:00
Bram Moolenaar 885f24fbca patch 7.4.1236
Problem:    When "syntax manual" was used switching between buffers removes
            the highlighting.
Solution:   Set the syntax option without changing the value. (Anton
            Lindqvist)
2016-02-01 22:54:46 +01:00
Bram Moolenaar 11e0afa00a patch 7.4.1235
Problem:    Missing change to eval.c.
Solution:   Include that change.
2016-02-01 22:41:00 +01:00
Bram Moolenaar 5e9b2fa9bb Updated runtime files and translations. 2016-02-01 22:37:05 +01:00
Bram Moolenaar 488a130ea2 patch 7.4.1234
Problem:    Demo server only runs with Python 2.
Solution:   Make it run with Python 3 as well. (Ken Takata)
2016-02-01 22:01:10 +01:00
Bram Moolenaar 14ad611ca4 patch 7.4.1233
Problem:    Channel command may cause a crash.
Solution:   Check for NULL argument. (Damien)
2016-02-01 21:47:13 +01:00
Bram Moolenaar 1357caf31f patch 7.4.1232
Problem:    Compiler warnings when the Sniff feature is enabled.
Solution:   Add UNUSED.
2016-02-01 21:40:14 +01:00
Bram Moolenaar 19d2f15898 patch 7.4.1231
Problem:    JSON messages are not parsed properly.
Solution:   Queue received messages.
2016-02-01 21:38:19 +01:00
Bram Moolenaar ca568aeec6 patch 7.4.1230
Problem:    Win32: opening a channel may hang.  Not checking for messages
            while waiting for characters.
Solution:   Add a zero timeout.  Call parse_queued_messages(). (Yasuhiro
            Matsumoto)
2016-02-01 21:32:58 +01:00
Kazuki Sakamoto f6c0c77fad Merge pull request #235 from macvim-dev/fix/drop_10_6_build_support
Drop MacVim build support on OS X 10.6
2016-01-31 21:35:54 -08:00
Kazuki Sakamoto b27e281b92 Merge remote-tracking branch 'vim/master' 2016-01-31 12:44:19 -08:00
Bram Moolenaar fb1f62691e patch 7.4.1229
Problem:    "eval" and "expr" channel commands don't work yet.
Solution:   Implement them.  Update the error numbers.  Also add "redraw".
2016-01-31 20:24:32 +01:00
Bram Moolenaar 155500077c patch 7.4.1228
Problem:    copy() and deepcopy() fail with special variables. (Nikolai
            Pavlov)
Solution:   Make it work.  Add a test.  Closes #614.
2016-01-31 18:45:24 +01:00
Bram Moolenaar 448a22549b patch 7.4.1227
Problem:    Compiler warnings.
Solution:   Add UNUSED.  Add type cast. (Yegappan Lakshmanan)
2016-01-31 18:08:34 +01:00
Bram Moolenaar 3803bad99d patch 7.4.1226
Problem:    GRESOURCE_HDR is unused.
Solution:   Remove it. (Kazunobu Kuriyama)
2016-01-31 17:56:07 +01:00
Bram Moolenaar d14e00ea67 patch 7.4.1225
Problem:    Still a few old style function declarations.
Solution:   Make them new style. (Hirohito Higashi)
2016-01-31 17:30:51 +01:00
Bram Moolenaar bbb3339dbf patch 7.4.1224
Problem:    Build problems with GTK on BSD. (Mike Williams)
Solution:   Don't use "$<". Skip building gui_gtk_gresources.h when it doesn't
            work. (Kazunobu Kuriyama)
2016-01-31 16:37:33 +01:00
Bram Moolenaar a542c680a8 patch 7.4.1223
Problem:    Crash when setting v:errors to a number.
Solution:   Free the typval without assuming its type. (Yasuhiro Matsumoto)
2016-01-31 16:28:04 +01:00
Bram Moolenaar e2c3810c2a patch 7.4.1222
Problem:    ":normal" command and others missing in tiny build.
Solution:   Graduate FEAT_EX_EXTRA.
2016-01-31 14:55:40 +01:00
Bram Moolenaar 3c124e3ac8 patch 7.4.1221
Problem:    Including netbeans and channel support in small and tiny builds.
            Build fails with some interfaces.
Solution:   Only include these features in small build and above.  Let
            configure fail if trying to enable an interface that won't build.
2016-01-31 14:36:58 +01:00
Bram Moolenaar fa399af7ec patch 7.4.1220
Problem:    Warnings for unused variables in tiny build. (Tony Mechelynck)
Solution:   Move declarations inside #ifdef. (Hirohito Higashi)
2016-01-31 14:13:21 +01:00
Kazuki Sakamoto af902a03cf Merge remote-tracking branch 'vim/master' 2016-01-30 23:09:38 -08:00
Bram Moolenaar 937204a917 patch 7.4.1219
Problem:    Build fails with +channel but without +float.
Solution:   Add #ifdef.
2016-01-30 23:37:38 +01:00
Bram Moolenaar 779a7759ad patch 7.4.1218
Problem:    Missing change in configure.  More changes for function style.
Solution:   Avoid the typos.
2016-01-30 23:26:34 +01:00
Bram Moolenaar 20fb9f3464 patch 7.4.1217
Problem:    Execution of command on channel doesn't work yet.
Solution:   Implement the "ex" and "normal" commands.
2016-01-30 23:20:33 +01:00
Bram Moolenaar ba4ef2757c patch 7.4.1216
Problem:    Still using HAVE_STDARG_H.
Solution:   Assume it's always defined.
2016-01-30 21:48:49 +01:00
Bram Moolenaar b638a7be95 patch 7.4.1215
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 21:29:58 +01:00
Bram Moolenaar 764b23c8fd patch 7.4.1214
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 21:10:09 +01:00
Bram Moolenaar 055409764c patch 7.4.1213
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 20:31:25 +01:00
Bram Moolenaar c1ab67674a patch 7.4.1212
Problem:    Can't build with Motif.
Solution:   Fix function declaration.(Dominique Pelle)
2016-01-30 19:45:49 +01:00
Bram Moolenaar 9b57814db1 patch 7.4.1211
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 19:39:49 +01:00
Bram Moolenaar 52ea13da0f patch 7.4.1210
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 18:51:09 +01:00
Bram Moolenaar 02fdaeaa69 patch 7.4.1209
Problem:    Can't build with Athena.
Solution:   Fix function declarations.
2016-01-30 18:13:55 +01:00
Bram Moolenaar 68c2f638e6 patch 7.4.1208
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 17:24:07 +01:00
Bram Moolenaar 66f948e928 patch 7.4.1207
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 16:39:25 +01:00
Bram Moolenaar 78c0b7d43e patch 7.4.1206
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 15:52:46 +01:00
Bram Moolenaar 7454a06e26 patch 7.4.1205
Problem:    Using old style function declarations.
Solution:   Change to new style function declarations. (script by Hirohito
            Higashi)
2016-01-30 15:14:10 +01:00
Bram Moolenaar 305598b712 patch 7.4.1204
Problem:    Latin1 characters cause encoding conversion.
Solution:   Remove the characters.
2016-01-30 13:53:36 +01:00
Bram Moolenaar 4349c57543 patch 7.4.1203
Problem:    Still more files still using __ARGS.
Solution:   Remove __ARGS in really the last files.
2016-01-30 13:28:28 +01:00
Kazuki Sakamoto b9777ed993 MacVim Snapshot 95
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.1202

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-01-29 22:05:03 -08:00
Kazuki Sakamoto 23c23c2956 Drop MacVim build support on OS X 10.6
Fix #231, #227
2016-01-29 22:02:46 -08:00
Kazuki Sakamoto 38c7f335ae __ARGS 2016-01-29 18:08:31 -08:00
Kazuki Sakamoto cc37ad3856 __ARGS 2016-01-29 17:53:19 -08:00
Kazuki Sakamoto faf40861fa Merge remote-tracking branch 'vim/master' 2016-01-29 17:27:44 -08:00
Bram Moolenaar 3e96c3d241 patch 7.4.1202
Problem:    Still one more file still using __ARGS.
Solution:   Remove __ARGS in the last file. (script by Hirohito Higashi)
            (closes #612)
2016-01-29 23:46:21 +01:00
Bram Moolenaar 569850724e patch 7.4.1201
Problem:    One more file still using __ARGS.
Solution:   Remove __ARGS in the last file. (script by Hirohito Higashi)
2016-01-29 23:23:06 +01:00
Bram Moolenaar d99df423c5 patch 7.4.1200
Problem:    Still using __ARGS.
Solution:   Remove __ARGS in several files. (script by Hirohito Higashi)
2016-01-29 23:20:40 +01:00
Bram Moolenaar baaa7e9ec7 patch 7.4.1199
Problem:    Still using __ARGS.
Solution:   Remove __ARGS in several files. (script by Hirohito Higashi)
2016-01-29 22:47:03 +01:00
Bram Moolenaar 92b8b2d307 patch 7.4.1198
Problem:    Still using __ARGS.
Solution:   Remove __ARGS in several files. (script by Hirohito Higashi)
            Also remove use of HAVE_STDARG_H.
2016-01-29 22:36:45 +01:00
Bram Moolenaar d25c16e2f2 patch 7.4.1197
Problem:    Still using __ARGS.
Solution:   Remove __ARGS in several files. (script by Hirohito Higashi)
2016-01-29 22:13:30 +01:00
Bram Moolenaar f28dbcea37 patch 7.4.1196
Problem:    Still using __ARGS.
Solution:   Remove __ARGS in several files. (script by Hirohito Higashi)
2016-01-29 22:03:47 +01:00
Kazuki Sakamoto 2f80667a28 Merge pull request #234 from macvim-dev/fix/channel
Fix channel in GUI
2016-01-29 12:50:53 -08:00
Kazuki Sakamoto f1caea5d83 Fix channel in GUI 2016-01-29 12:27:07 -08:00
Bram Moolenaar f12d983dea patch 7.4.1195
Problem:    The channel feature does not work in the MS-Windows console.
Solution:   Add win32 console support. (Yasuhiro Matsumoto)
2016-01-29 21:11:25 +01:00
Kazuki Sakamoto 7069fe5415 Fix .travis.yml 2016-01-28 17:01:20 -08:00
Kazuki Sakamoto cbcbdf421a Merge remote-tracking branch 'vim/master' 2016-01-28 14:59:04 -08:00
Bram Moolenaar 83162468b3 patch 7.4.1194
Problem:    Compiler warning for not using return value of fwrite().
Solution:   Return OK/FAIL. (Charles Campbell)
2016-01-28 23:10:07 +01:00
Bram Moolenaar b8b6511fc1 patch 7.4.1193
Problem:    Can't build the channel feature on MS-Windows.
Solution:   Add #ifdef HAVE_POLL.
2016-01-28 23:01:49 +01:00
Bram Moolenaar fa06a517b5 patch 7.4.1192
Problem:    Can't build with FEAT_EVAL but without FEAT_MBYTE. (John
            Marriott)
Solution:   Add #ifdef for FEAT_MBYTE.
2016-01-28 22:46:58 +01:00
Bram Moolenaar 298b440930 Update runtime files. 2016-01-28 22:38:53 +01:00
Bram Moolenaar 3b5f929b18 patch 7.4.1191
Problem:    The channel feature isn't working yet.
Solution:   Add the connect(), disconnect(), sendexpr() and sendraw()
            functions.  Add initial documentation.  Add a demo server.
2016-01-28 22:37:01 +01:00
Kazuki Sakamoto 0c935dd1e5 Merge remote-tracking branch 'vim/master' 2016-01-28 08:40:49 -08:00
Bram Moolenaar ba59ddbd36 patch 7.4.1190
Problem:    On OSX the default flag for dlopen() is different.
Solution:   Add RTLD_LOCAL in the configure check. (sv99, closes #604)
2016-01-28 15:34:25 +01:00
Bram Moolenaar 923e43b837 patch 7.4.1189
Problem:    Using another language on MS-Windows does not work. (Yongwei Wu)
Solution:   Undo the change to try loading libintl-8.dll first.
2016-01-28 15:07:38 +01:00
Bram Moolenaar 009d84a34f patch 7.4.1188
Problem:    Using older JSON standard.
Solution:   Update the link.  Adjust the text a bit.
2016-01-28 14:12:00 +01:00
Kazuki Sakamoto c9b303e83a Merge pull request #228 from macvim-dev/fix/netbeans
Workaround for NetBeans (NetBeans support will be removed soon)
2016-01-27 20:59:49 -08:00
Kazuki Sakamoto f8c8ee5223 Workaround for NetBeans (NetBeans support will be removed soon) 2016-01-27 20:58:09 -08:00
Kazuki Sakamoto b31c3c32e3 Merge remote-tracking branch 'vim/master' 2016-01-27 20:41:24 -08:00
Kazuki Sakamoto ba94bdc0c4 Merge pull request #226 from rhendric/feature/sparkle_10.6
Only include Sparkle on >=10.8
2016-01-27 20:25:25 -08:00
Ryan Hendrickson c276ec4627 Only include Sparkle on >=10.8 2016-01-27 22:22:36 -05:00
Bram Moolenaar 85be35f33e patch 7.4.1187
Problem:    MS-Windows channel code only supports one channel.  Doesn't build
            without netbeans support.
Solution:   Get the channel index from the socket in the message. Closes #600.
2016-01-27 21:08:18 +01:00
Bram Moolenaar 4a1314cb9c patch 7.4.1186
Problem:    Error messages for security context are hard to translate.
Solution:   Use one string with %s. (Ken Takata)
2016-01-27 20:47:18 +01:00
Kazuki Sakamoto be0e87e7d1 Merge pull request #224 from rhendric/feature/sparkle_10.6
MainMenu.nib for 10.6, with Sparkle
2016-01-27 10:31:08 -08:00
Ryan Hendrickson 841de7e214 MainMenu.nib for 10.6, with Sparkle 2016-01-27 12:51:31 -05:00
Kazuki Sakamoto a223182c26 Merge pull request #223 from macvim-dev/fix/netbeans_warnings
Fix #222
2016-01-27 09:08:57 -08:00
Kazuki Sakamoto 9498828e29 Fix #222 2016-01-27 08:53:08 -08:00
Kazuki Sakamoto 18694f1b69 Merge remote-tracking branch 'vim/master' 2016-01-27 07:03:04 -08:00
Kazuki Sakamoto 3bd2a8a606 Merge remote-tracking branch 'vim/master' 2016-01-27 07:02:51 -08:00
Bram Moolenaar 0d6f835683 patch 7.4.1185
Problem:    Can't build with TCL on some systems.
Solution:   Rename the channel_ functions.
2016-01-27 11:07:47 +01:00
Bram Moolenaar 54e09e7198 patch 7.4.1184
Problem:    MS-Windows build is still broken.
Solution:   Change nbsock to ch_fd.
2016-01-26 23:49:31 +01:00
Bram Moolenaar fb4194e4e0 patch 7.4.1183
Problem:    MS-Windows build is broken.
Solution:   Remove init in wrong place.
2016-01-26 23:39:55 +01:00
Bram Moolenaar d04a020a8a patch 7.4.1182
Problem:    Still socket code intertwined with netbeans.
Solution:   Move code from netbeans.c to channel.c
2016-01-26 23:30:18 +01:00
Bram Moolenaar 6650a69454 patch 7.4.1181
Problem:    free_tv() can't handle special variables. (Damien)
Solution:   Add the variable type.
2016-01-26 19:59:10 +01:00
Kazuki Sakamoto 5a783ebd29 Merge remote-tracking branch 'vim/master' 2016-01-25 20:22:42 -08:00
Bram Moolenaar ac80999985 add missing test file 2016-01-25 22:44:54 +01:00
Bram Moolenaar 7465c6375f patch 7.4.1180
Problem:    Crash with invalid argument to glob2regpat().
Solution:   Check for NULL. (Justin M. Keyes, closes #596)  Add a test.
2016-01-25 22:20:27 +01:00
Bram Moolenaar f4f79b84a5 patch 7.4.1179
Problem:    test_writefile and test_viml do not delete the tempfile.
Solution:   Delete the tempfile. (Charles Cooper)  Add DeleteTheScript().
2016-01-25 20:38:30 +01:00
Bram Moolenaar 767d8c1a1a patch 7.4.1178
Problem:    empty() doesn't work for the new special variables.
Solution:   Make empty() work. (Damien)
2016-01-25 20:22:54 +01:00
Bram Moolenaar 5aec481097 patch 7.4.1177
Problem:    The +channel feature is not in :version output. (Tony Mechelynck)
Solution:   Add the feature string.
2016-01-25 20:15:45 +01:00
Bram Moolenaar 1d63539cc7 patch 7.4.1176
Problem:    Missing change to proto file.
Solution:   Update the proto file. (Charles Cooper)
2016-01-25 16:05:56 +01:00
Bram Moolenaar f75612fd99 patch 7.4.1175
Problem:    Can't build with Mingw and Cygwin.
Solution:   Remove extra "endif". (Christian J. Robinson)
2016-01-25 14:17:04 +01:00
Kazuki Sakamoto 57e16a3394 Merge remote-tracking branch 'vim/master' 2016-01-24 19:41:08 -08:00
Bram Moolenaar 3e53c700a2 patch 7.4.1174
Problem:    Netbeans contains dead code insde #ifdef.
Solution:   Remove the dead code.
2016-01-24 22:17:03 +01:00
Bram Moolenaar 65591001e4 patch 7.4.1173
Problem:    No test for new behavior of v:true et al.
Solution:   Add a test.
2016-01-24 21:51:57 +01:00
Bram Moolenaar 16435480f0 patch 7.4.1172
Problem:    Configure is overly positive.
Solution:   Insert "test".
2016-01-24 21:31:54 +01:00
Bram Moolenaar 2e2301437c patch 7.4.1171
Problem:    Makefile dependencies are outdated.
Solution:   Run "make depend". Add GTK resource dependencies.
2016-01-24 20:54:37 +01:00
Bram Moolenaar 0e7f88e73e patch 7.4.1170
Problem:    Missing changes in src/Makefile, Filelist.
Solution:   Add the missing changes.
2016-01-24 20:41:51 +01:00
Bram Moolenaar e0874f8cbc patch 7.4.1169
Problem:    The socket I/O is intertwined with the netbeans code.
Solution:   Start refactoring the netbeans communication to split off the
            socket I/O.  Add the +channel feature.
2016-01-24 20:36:41 +01:00
Bram Moolenaar 705ada1aff Update a few runtime files. 2016-01-24 17:56:50 +01:00
Bram Moolenaar f48aa160fd patch 7.4.1168
Problem:    This doesn't give the right result: eval(string(v:true)). (Nikolay
            Pavlov)
Solution:   Make the string "v:true" instead of "true".
2016-01-24 17:54:24 +01:00
Bram Moolenaar 0436922965 patch 7.4.1167
Problem:    No tests for "is" and "isnot" with the new variables.
Solution:   Add tests.
2016-01-24 17:21:29 +01:00
Bram Moolenaar fcaaae6b3f patch 7.4.1166
Problem:    Can't encode a Funcref into JSON.  jsonencode() doesn't handle the
            same list or dict twice properly.  (Nikolay Pavlov)
Solution:   Give an error.  Reset copyID when the list or dict is finished.
2016-01-24 16:49:11 +01:00
Bram Moolenaar 938ee834d3 patch 7.4.1165
Problem:    When defining DYNAMIC_ICONV_DLL in the makefile, the build fails.
Solution:   Add #ifdef's. (Taro Muraoka)  Try the newer version first.
2016-01-24 15:36:03 +01:00
Bram Moolenaar 6039c7f053 patch 7.4.1164
Problem:    No tests for comparing special variables.  Error in jsondecode()
            not reported.  test_json does not work Japanse system.
Solution:   Set scriptencoding. (Ken Takata) Add a few more tests. Add error.
2016-01-24 15:05:32 +01:00
Bram Moolenaar 17a13437c9 patch 7.4.1163
Problem:    Expressions "0 + v:true" and "'' . v:true" cause an error.
Solution:   Return something sensible when using a special variable as a
            number or as a string. (suggested by Damien)
2016-01-24 14:22:10 +01:00
Bram Moolenaar 9e3be26872 patch 7.4.1162
Problem:    Missing error number in MzScheme. (Dominique Pelle)
Solution:   Add a proper error number.
2016-01-24 13:58:40 +01:00
Kazuki Sakamoto 63ec85b970 Merge remote-tracking branch 'vim/master' 2016-01-23 18:45:57 -08:00
Bram Moolenaar 2faa29f896 patch 7.4.1161
Problem:    ":argadd" without argument is supposed to add the current buffer
            name to the arglist.
Solution:   Make it work as documented. (Coot, closes #577)
2016-01-23 23:02:34 +01:00
Bram Moolenaar bd4593ffb1 patch 7.4.1160
Problem:    No error for jsondecode('"').
Solution:   Give an error message for missing double quote.
2016-01-23 22:51:07 +01:00
Bram Moolenaar e240c2da79 patch 7.4.1159
Problem:    Automatically generated function prototypes use __ARGS.
Solution:   Remove __ARGS from osdef.sh.
2016-01-23 22:46:10 +01:00
Bram Moolenaar 48e697e4b6 patch 7.4.1158
Problem:    Still using __ARGS().
Solution:   Remove __ARGS() from eval.c
2016-01-23 22:17:30 +01:00
Bram Moolenaar f95534c3d4 patch 7.4.1157
Problem:    type() does not work for v:true, v:none, etc.
Solution:   Add new type numbers.
2016-01-23 21:59:52 +01:00
Bram Moolenaar 2dedb45260 patch 7.4.1156
Problem:    Coverity warns for NULL pointer and ignoring return value.
Solution:   Check for NULL pointer. When dict_add() returns FAIL free the item.
2016-01-23 21:38:51 +01:00
Bram Moolenaar 64922b9014 patch 7.4.1155
Problem:    Build with normal features fails.
Solution:   Always deinfe dict_lookup().
2016-01-23 19:54:30 +01:00
Bram Moolenaar 520e1e41f3 patch 7.4.1154
Problem:    No support for JSON.
Solution:   Add jsonencode() and jsondecode().  Also add v:false, v:true,
            v:null and v:none.
2016-01-23 19:46:28 +01:00
Kazuki Sakamoto 2561504d74 Merge remote-tracking branch 'vim/master' 2016-01-22 22:32:40 -08:00
Kazuki Sakamoto 054e169de5 Merge pull request #217 from macvim-dev/fix/emoji_range
Fix #216
2016-01-22 18:03:59 -08:00
Bram Moolenaar 6920c72d4d patch 7.4.1153
Problem:    Autocommands triggered by quickfix cannot always get the current
            title value.
Solution:   Call qf_fill_buffer() later. (Christian Brabandt)
2016-01-22 22:44:10 +01:00
Kazuki Sakamoto 2a4779dc51 Fix #216 2016-01-22 12:42:50 -08:00
Kazuki Sakamoto b7627630fa Merge remote-tracking branch 'vim/master' 2016-01-21 20:48:36 -08:00
Bram Moolenaar 09e786e7a7 patch 7.4.1152
Problem:    Langmap test fails with normal build.
Solution:   Check for +langmap feature.
2016-01-21 23:53:06 +01:00
Bram Moolenaar 13d5aeef56 Update runtime files 2016-01-21 23:36:05 +01:00
Bram Moolenaar 5f8a14b9de patch 7.4.1151
Problem:    Missing change to eval.c
Solution:   Also change feedkeys().
2016-01-21 23:34:58 +01:00
Bram Moolenaar 25281634cd patch 7.4.1150
Problem:    'langmap' applies to the first character typed in Select mode.
            (David Watson)
Solution:   Check for SELECTMODE. (Christian Brabandt, closes #572)
            Add the 'x' flag to feedkeys().
2016-01-21 23:32:32 +01:00
Bram Moolenaar d6357e8f93 patch 7.4.1149
Problem:    Using the local value of 'errorformat' causes more problems than
            it solves.
Solution:   Revert 7.4.1013.
2016-01-21 21:48:09 +01:00
Bram Moolenaar e5f2be6159 patch 7.4.1148
Problem:    Default for MingW and Cygwin is still "normal".
Solution:   Use "huge" as default. (Ken Takata)
2016-01-21 20:24:34 +01:00
Kazuki Sakamoto 06af25a72a re-fix .travis.yml 2016-01-20 22:11:04 -08:00
Kazuki Sakamoto a1e2571e73 Fix .travis.yml 2016-01-20 21:34:01 -08:00
Kazuki Sakamoto ea9ee936fb MacVim Snapshot 94
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.1147

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-01-20 20:38:59 -08:00
Kazuki Sakamoto 2ec88ec4a8 Merge remote-tracking branch 'vim/master' 2016-01-20 20:21:14 -08:00
Bram Moolenaar 88e8f9f144 patch 7.4.1147
Problem:    Conflict for "chartab". (Kazunobu Kuriyama)
Solution:   Rename the global one to something less obvious.  Move it into
            src/chartab.c.
2016-01-20 22:48:02 +01:00
Bram Moolenaar a7c3795a2e patch 7.4.1146
Problem:    Can't build with Python 3 interface using MingW.
Solution:   Update the Makefile. (Yasuhiro Matsumoto, Ken Takata)
2016-01-20 22:23:15 +01:00
Bram Moolenaar 23c4f7183c patch 7.4.1145
Problem:    Default features are conservative.
Solution:   Make the default feature set for most of todays systems "huge".
2016-01-20 22:11:59 +01:00
Kazuki Sakamoto 862f54d6d8 Merge remote-tracking branch 'vim/master' 2016-01-20 11:12:04 -08:00
Bram Moolenaar 17576a1e33 patch 7.4.1144
Problem:    Can't build on several systems.
Solution:   Include float.h. (Christian Robinson, closes #570 #571)
2016-01-20 20:05:44 +01:00
Kazuki Sakamoto 96539b3033 Merge remote-tracking branch 'vim/master' 2016-01-19 20:55:52 -08:00
Bram Moolenaar f7edf40448 patch 7.4.1143
Problem:    Can't sort on floating point numbers.
Solution:   Add the "f" flag to ":sort".  (Alex Jakushev)  Also add the "f"
            flag to sort().
2016-01-19 23:36:15 +01:00
Bram Moolenaar b8060fe862 patch 7.4.1142
Problem:    Cannot define keyword characters for a syntax file.
Solution:   Add the ":syn iskeyword" command. (Christian Brabandt)
2016-01-19 22:29:28 +01:00
Kazuki Sakamoto 960696e272 Fix merge 2016-01-19 12:27:12 -08:00
Kazuki Sakamoto 692938007d Merge remote-tracking branch 'vim/master' 2016-01-19 12:08:55 -08:00
Bram Moolenaar 6773a348da patch 7.4.1141
Problem:    Using searchpair() with a skip expression that uses syntax
            highlighting sometimes doesn't work. (David Fishburn)
Solution:   Reset next_match_idx. (Christian Brabandt)
2016-01-19 20:52:44 +01:00
Bram Moolenaar e266d6d664 patch 7.4.1140
Problem:    Recognizing <sid> does not work when the language is Turkish.
            (Christian Brabandt)
Solution:   Use MB_STNICMP() instead of STNICMP().
2016-01-19 20:51:32 +01:00
Bram Moolenaar fce7b3d24f patch 7.4.1139
Problem:    MS-Windows: getftype() returns "file for symlink to directory.
Solution:   Make it return "dir". (Ken Takata)
2016-01-19 19:00:32 +01:00
Bram Moolenaar 3a466a8718 patch 7.4.1138
Problem:    When running gvim in the foreground some icons are missing.
            (Taylor Venable)
Solution:   Move the call to gui_gtk_register_resource(). (Kazunobu Kuriyama)
2016-01-19 17:47:25 +01:00
Bram Moolenaar 62ef797496 patch 7.4.1137
Problem:    Illegal memory access when using :copen and :cclose.
Solution:   Avoid that curbuf is invalid. (suggestion by Justin M. Keyes)
            Add a test.
2016-01-19 14:51:54 +01:00
Bram Moolenaar da5dcd9366 patch 7.4.1136
Problem:    Wrong argument to assert_exception() causes a crash. (reported by
            Coverity)
Solution:   Check for NULL pointer.  Add a test.
2016-01-19 14:31:20 +01:00
Bram Moolenaar 301417041b patch 7.4.1135
Problem:    One more arglist test fails on MS-Windows.
Solution:   Don't edit "Y" after editing "y".
2016-01-19 14:14:08 +01:00
Bram Moolenaar 82e4184d48 patch 7.4.1134
Problem:    The arglist test fails on MS-Windows.
Solution:   Only check for failure of argedit on Unix.
2016-01-19 13:50:57 +01:00
Bram Moolenaar ef26954a35 patch 7.4.1133
Problem:    Generated function prototypes still have __ARGS().
Solution:   Generate function prototypes without __ARGS().
2016-01-19 13:22:12 +01:00
Bram Moolenaar 99dbe291f5 patch 7.4.1132
Problem:    Old style tests for the argument list.
Solution:   Add more new style tests. (Yegappan Lakshmanan)
2016-01-19 13:07:23 +01:00
Kazuki Sakamoto f9dbf3e366 Merge remote-tracking branch 'vim/master' 2016-01-18 14:35:41 -08:00
Kazuki Sakamoto e3727f2776 Fix tests in Travis-CI 2016-01-18 14:35:13 -08:00
Bram Moolenaar b20e334859 patch 7.4.1131
Problem:    New lines in the viminfo file are dropped.
Solution:   Copy lines starting with "|".  Fix that when using :rviminfo in a
            function global variables were restored as function-local
            variables.
2016-01-18 23:29:01 +01:00
Bram Moolenaar 61ff4dd6a4 patch 7.4.1130
Problem:    Memory leak in :vimgrep.
Solution:   Call FreeWild(). (Yegappan Lakshmanan)
2016-01-18 20:30:17 +01:00
Kazuki Sakamoto 7ac45012c6 MacVim Snapshot 93
Binary targets OS X 10.8(Mountain Lion), 10.9(Mavericks), 10.10(Yosemite), and 10.11(El Capitan)

- Vim patch 7.4.1129

Script interfaces have compatibility with these versions

- Lua 5.2
- Perl 5.16
- Python2 2.7
- Python3 3.5
- Ruby 2.0
2016-01-17 22:33:12 -08:00
Kazuki Sakamoto e793669ceb Improve test in Travis-CI 2016-01-17 22:29:43 -08:00
Kazuki Sakamoto 39c08b5cd7 Merge remote-tracking branch 'vim/master' 2016-01-17 21:00:42 -08:00
Kazuki Sakamoto 1d10a62c5f Merge pull request #213 from macvim-dev/fix/update_sparkle
Sparkle v1.13.0
2016-01-17 20:24:58 -08:00
Kazuki Sakamoto 8bbd6d3c21 Sparkle v1.13.0 2016-01-17 19:38:25 -08:00
Bram Moolenaar 77324fc9d3 patch 7.4.1129
Problem:    Python None value can't be converted to a Vim value.
Solution:   Just use zero. (Damien)
2016-01-17 22:37:03 +01:00
Bram Moolenaar 85084ef1e9 Update help files. 2016-01-17 22:26:33 +01:00
Bram Moolenaar 203258c3ad patch 7.4.1128
Problem:    MS-Windows: delete() does not recognize junctions.
Solution:   Add mch_isrealdir() for MS-Windows. Update mch_is_symbolic_link().
            (Ken Takata)
2016-01-17 22:15:16 +01:00
Bram Moolenaar 021b593e7e patch 7.4.1127
Problem:    Both old and new style tests for Perl.
Solution:   Merge the old tests with the new style tests.
2016-01-17 22:05:48 +01:00
Bram Moolenaar c970330676 patch 7.4.1126
Problem:    Can only get the directory of the current window.
Solution:   Add window and tab arguments to getcwd() and haslocaldir().
            (Thinca, Hirohito Higashi)
2016-01-17 21:49:33 +01:00
Bram Moolenaar e9b892ebcd patch 7.4.1125
Problem:    There is no perleval().
Solution:   Add perleval(). (Damien)
2016-01-17 21:15:58 +01:00
Bram Moolenaar 25b2b94ea7 patch 7.4.1124
Problem:    MS-Windows: dead key behavior is not ideal.
Solution:   Handle dead keys differently when not in Insert or Select mode.
            (John Wellesz, closes #399)
2016-01-17 20:53:12 +01:00
Bram Moolenaar a24f0a550f patch 7.4.1123
Problem:    Using ":argadd" when there are no arguments results in the second
            argument to be the current one. (Yegappan Lakshmanan)
Solution:   Correct the w_arg_idx value.
2016-01-17 19:39:00 +01:00
584 changed files with 24868 additions and 26764 deletions
+7 -2
View File
@@ -17,6 +17,7 @@ env:
vi_cv_dll_name_perl=/System/Library/Perl/5.16/darwin-thread-multi-2level/CORE/libperl.dylib
vi_cv_dll_name_python=/System/Library/Frameworks/Python.framework/Versions/2.7/Python
vi_cv_dll_name_python3=/usr/local/Frameworks/Python.framework/Versions/3.5/Python
VIMCMD=src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
"CONFOPT='--with-features=huge --enable-multibyte --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-perlinterp=dynamic --enable-pythoninterp=dynamic --enable-python3interp=dynamic --enable-rubyinterp=dynamic --enable-luainterp=dynamic --with-lua-prefix=/usr/local --enable-gui=macvim'"
sudo: false
@@ -29,12 +30,16 @@ before_install:
script:
- NPROC=$(getconf _NPROCESSORS_ONLN)
- ./configure $CONFOPT --enable-fail-if-missing
- cat src/auto/config.mk
- grep -q -- "-DDYNAMIC_PERL_DLL=\\\\\"$vi_cv_dll_name_perl\\\\\"" src/auto/config.mk
- grep -q -- "-DDYNAMIC_PYTHON_DLL=\\\\\"$vi_cv_dll_name_python\\\\\"" src/auto/config.mk
- grep -q -- "-DDYNAMIC_PYTHON3_DLL=\\\\\"$vi_cv_dll_name_python3\\\\\"" src/auto/config.mk
- make -j$NPROC
- cat src/auto/config.mk
- ./src/vim --version
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "lua print(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "perl VIM::Msg(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "py print(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "py3 print(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "ruby puts(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
- make test
before_deploy:
+6
View File
@@ -13,6 +13,7 @@ SRC_ALL = \
src/ascii.h \
src/blowfish.c \
src/buffer.c \
src/channel.c \
src/charset.c \
src/crypt.c \
src/crypt_zip.c \
@@ -39,6 +40,8 @@ SRC_ALL = \
src/gui_beval.h \
src/hardcopy.c \
src/hashtab.c \
src/json.c \
src/json_test.c \
src/keymap.h \
src/macros.h \
src/main.c \
@@ -88,6 +91,7 @@ SRC_ALL = \
src/testdir/README.txt \
src/testdir/Make_all.mak \
src/testdir/*.in \
src/testdir/*.py \
src/testdir/sautest/autoload/*.vim \
src/testdir/runtest.vim \
src/testdir/test[0-9]*.ok \
@@ -113,6 +117,7 @@ SRC_ALL = \
src/proto.h \
src/proto/blowfish.pro \
src/proto/buffer.pro \
src/proto/channel.pro \
src/proto/charset.pro \
src/proto/crypt.pro \
src/proto/crypt_zip.pro \
@@ -132,6 +137,7 @@ SRC_ALL = \
src/proto/gui_beval.pro \
src/proto/hardcopy.pro \
src/proto/hashtab.pro \
src/proto/json.pro \
src/proto/main.pro \
src/proto/mark.pro \
src/proto/mbyte.pro \
File diff suppressed because it is too large Load Diff
+32 -3
View File
@@ -1,8 +1,8 @@
" Vim OMNI completion script for SQL
" Language: SQL
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 15.0
" Last Change: 2013 May 13
" Version: 16.0
" Last Change: 2015 Dec 29
" Homepage: http://www.vim.org/scripts/script.php?script_id=1572
" Usage: For detailed help
" ":help sql.txt"
@@ -16,6 +16,12 @@
" look backwards to a FROM clause and find the first table
" and complete it.
"
" Version 16.0 (Dec 2015)
" - NF: If reseting the cache and table, procedure or view completion
" had been used via dbext, have dbext delete or recreate the
" dictionary so that new objects are picked up for the
" next completion.
"
" Version 15.0 (May 2013)
" - NF: Changed the SQL precached syntax items, omni_sql_precache_syntax_groups,
" to use regular expressions to pick up extended syntax group names.
@@ -103,7 +109,7 @@ endif
if exists('g:loaded_sql_completion')
finish
endif
let g:loaded_sql_completion = 150
let g:loaded_sql_completion = 160
let s:keepcpo= &cpo
set cpo&vim
@@ -459,6 +465,29 @@ function! sqlcomplete#Complete(findstart, base)
let s:tbl_cols = []
let s:syn_list = []
let s:syn_value = []
if s:sql_file_table != ""
if g:loaded_dbext >= 2300
call DB_DictionaryDelete("table")
else
DBCompleteTables!
endif
endif
if s:sql_file_procedure != ""
if g:loaded_dbext >= 2300
call DB_DictionaryDelete("procedure")
else
DBCompleteProcedures!
endif
endif
if s:sql_file_view != ""
if g:loaded_dbext >= 2300
call DB_DictionaryDelete("view")
else
DBCompleteViews!
endif
endif
let s:sql_file_table = ""
let s:sql_file_procedure = ""
let s:sql_file_view = ""
+2
View File
@@ -17,6 +17,7 @@ DOCS = \
arabic.txt \
autocmd.txt \
change.txt \
channel.txt \
cmdline.txt \
debug.txt \
debugger.txt \
@@ -151,6 +152,7 @@ HTMLS = \
arabic.html \
autocmd.html \
change.html \
channel.html \
cmdline.html \
debug.html \
debugger.html \
+14 -14
View File
@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.4. Last change: 2016 Jan 02
*change.txt* For Vim version 7.4. Last change: 2016 Jan 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -977,8 +977,6 @@ This replaces each 'E' character with a euro sign. Read more in |<Char->|.
`:retab!` may also change a sequence of spaces by
<Tab> characters, which can mess up a printf().
{not in Vi}
Not available when |+ex_extra| feature was disabled at
compile time.
*retab-example*
Example for using autocommands and ":retab" to edit a file which is stored
@@ -1354,22 +1352,16 @@ The next three commands always work on whole lines.
Center lines in [range] between [width] columns
(default 'textwidth' or 80 when 'textwidth' is 0).
{not in Vi}
Not available when |+ex_extra| feature was disabled at
compile time.
:[range]ri[ght] [width] *:ri* *:right*
Right-align lines in [range] at [width] columns
(default 'textwidth' or 80 when 'textwidth' is 0).
{not in Vi}
Not available when |+ex_extra| feature was disabled at
compile time.
*:le* *:left*
:[range]le[ft] [indent]
Left-align lines in [range]. Sets the indent in the
lines to [indent] (default 0). {not in Vi}
Not available when |+ex_extra| feature was disabled at
compile time.
*gq*
gq{motion} Format the lines that {motion} moves over.
@@ -1745,7 +1737,7 @@ Vim has a sorting function and a sorting command. The sorting function can be
found here: |sort()|, |uniq()|.
*:sor* *:sort*
:[range]sor[t][!] [i][u][r][n][x][o][b] [/{pattern}/]
:[range]sor[t][!] [b][f][i][n][o][r][u][x] [/{pattern}/]
Sort lines in [range]. When no range is given all
lines are sorted.
@@ -1753,10 +1745,18 @@ found here: |sort()|, |uniq()|.
With [i] case is ignored.
Options [n][f][x][o][b] are mutually exclusive.
With [n] sorting is done on the first decimal number
in the line (after or inside a {pattern} match).
One leading '-' is included in the number.
With [f] sorting is done on the Float in the line.
The value of Float is determined similar to passing
the text (after or inside a {pattern} match) to
str2float() function. This option is available only
if Vim was compiled with Floating point support.
With [x] sorting is done on the first hexadecimal
number in the line (after or inside a {pattern}
match). A leading "0x" or "0X" is ignored.
@@ -1768,10 +1768,10 @@ found here: |sort()|, |uniq()|.
With [b] sorting is done on the first binary number in
the line (after or inside a {pattern} match).
With [u] only keep the first of a sequence of
identical lines (ignoring case when [i] is used).
Without this flag, a sequence of identical lines
will be kept in their original order.
With [u] (u stands for unique) only keep the first of
a sequence of identical lines (ignoring case when [i]
is used). Without this flag, a sequence of identical
lines will be kept in their original order.
Note that leading and trailing white space may cause
lines to be different.
+281
View File
@@ -0,0 +1,281 @@
*channel.txt* For Vim version 7.4. Last change: 2016 Feb 05
VIM REFERENCE MANUAL by Bram Moolenaar
Inter-process communication *channel*
DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT DRAFT
Vim uses channels to communicate with other processes.
A channel uses a socket. *socket-interface*
Vim current supports up to 10 simultaneous channels.
The Netbeans interface also uses a channel. |netbeans|
1. Demo |channel-demo|
2. Opening a channel |channel-open|
3. Using a JSON channel |channel-use|
4. Vim commands |channel-commands|
5. Using a raw channel |channel-use|
6. Job control |job-control|
{Vi does not have any of these features}
{only available when compiled with the |+channel| feature}
==============================================================================
1. Demo *channel-demo*
This requires Python. The demo program can be found in
$VIMRUNTIME/tools/demoserver.py
Run it in one terminal. We will call this T1.
Run Vim in another terminal. Connect to the demo server with: >
let handle = ch_open('localhost:8765')
In T1 you should see:
=== socket opened === ~
You can now send a message to the server: >
echo ch_sendexpr(handle, 'hello!')
The message is received in T1 and a response is sent back to Vim.
You can see the raw messages in T1. What Vim sends is:
[1,"hello!"] ~
And the response is:
[1,"got it"] ~
The number will increase every time you send a message.
The server can send a command to Vim. Type this on T1 (literally, including
the quotes):
["ex","echo 'hi there'"] ~
And you should see the message in Vim. You can move the cursor a word forward:
["normal","w"] ~
To handle asynchronous communication a callback needs to be used: >
func MyHandler(handle, msg)
echo "from the handler: " . a:msg
endfunc
call ch_sendexpr(handle, 'hello!', "MyHandler")
Instead of giving a callback with every send call, it can also be specified
when opening the channel: >
call ch_close(handle)
let handle = ch_open('localhost:8765', {'callback': "MyHandler"})
call ch_sendexpr(handle, 'hello!', 0)
==============================================================================
2. Opening a channel *channel-open*
To open a channel: >
let handle = ch_open({address} [, {argdict}])
{address} has the form "hostname:port". E.g., "localhost:8765".
{argdict} is a dictionary with optional entries:
"mode" can be: *channel-mode*
"json" - Use JSON, see below; most convenient way. Default.
"raw" - Use raw messages
*channel-callback*
"callback" is a function that is called when a message is received that is not
handled otherwise. It gets two arguments: the channel handle and the received
message. Example: >
func Handle(handle, msg)
echo 'Received: ' . a:msg
endfunc
let handle = ch_open("localhost:8765", 'json', "Handle")
"waittime" is the time to wait for the connection to be made in milliseconds.
The default is zero, don't wait, which is useful if the server is supposed to
be running already. A negative number waits forever.
"timeout" is the time to wait for a request when blocking, using
ch_sendexpr(). Again in millisecons. The default si 2000 (2 seconds).
When "mode" is "json" the "msg" argument is the body of the received message,
converted to Vim types.
When "mode" is "raw" the "msg" argument is the whole message as a string.
When "mode" is "json" the "callback" is optional. When omitted it is only
possible to receive a message after sending one.
The handler can be added or changed later: >
call ch_setcallback(handle, {callback})
When "callback is empty (zero or an empty string) the handler is removed.
NOT IMPLEMENTED YET
The timeout can be changed later: >
call ch_settimeout(handle, {msec})
NOT IMPLEMENTED YET
Once done with the channel, disconnect it like this: >
call ch_close(handle)
Currently up to 10 channels can be in use at the same time. *E897*
When the channel can't be opened you will get an error message.
*E898* *E899* *E900* *E901* *E902*
If there is an error reading or writing a channel it will be closed.
*E896* *E630* *E631*
==============================================================================
3. Using a JSON channel *channel-use*
If {mode} is "json" then a message can be sent synchronously like this: >
let response = ch_sendexpr(handle, {expr})
This awaits a response from the other side.
To send a message, without handling a response: >
call ch_sendexpr(handle, {expr}, 0)
To send a message and letting the response handled by a specific function,
asynchronously: >
call ch_sendexpr(handle, {expr}, {callback})
The {expr} is converted to JSON and wrapped in an array. An example of the
message that the receiver will get when {expr} is the string "hello":
[12,"hello"] ~
The format of the JSON sent is:
[{number},{expr}]
In which {number} is different every time. It must be used in the response
(if any):
[{number},{response}]
This way Vim knows which sent message matches with which received message and
can call the right handler. Also when the messages arrive out of order.
The sender must always send valid JSON to Vim. Vim can check for the end of
the message by parsing the JSON. It will only accept the message if the end
was received.
When the process wants to send a message to Vim without first receiving a
message, it must use the number zero:
[0,{response}]
Then channel handler will then get {response} converted to Vim types. If the
channel does not have a handler the message is dropped.
On read error or ch_close() the string "DETACH" is sent, if still possible.
The channel will then be inactive.
==============================================================================
4. Vim commands *channel-commands*
PARTLY IMPLEMENTED: only "ex" and "normal" work
With a "json" channel the process can send commands to Vim that will be
handled by Vim internally, it does not require a handler for the channel.
Possible commands are: *E903* *E904* *E905*
["redraw" {forced}]
["ex", {Ex command}]
["normal", {Normal mode command}]
["eval", {expression}, {number}]
["expr", {expression}]
With all of these: Be careful what these commands do! You can easily
interfere with what the user is doing. To avoid trouble use |mode()| to check
that the editor is in the expected state. E.g., to send keys that must be
inserted as text, not executed as a command:
["ex","if mode() == 'i' | call feedkeys('ClassName') | endif"] ~
Errors in these commands are normally not reported to avoid them messing up
the display. If you do want to see them, set the 'verbose' option to 3 or
higher.
Command "redraw" ~
The other commands do not update the screen, so that you can send a sequence
of commands without the cursor moving around. You must end with the "redraw"
command to show any changed text and show the cursor where it belongs.
The argument is normally an empty string:
["redraw", ""] ~
To first clear the screen pass "force":
["redraw", "force"] ~
Command "ex" ~
The "ex" command is executed as any Ex command. There is no response for
completion or error. You could use functions in an |autoload| script:
["ex","call myscript#MyFunc(arg)"]
You can also use "call |feedkeys()|" to insert any key sequence.
Command "normal" ~
The "normal" command is executed like with ":normal!", commands are not
mapped. Example to open the folds under the cursor:
["normal" "zO"]
Command "eval" ~
The "eval" command an be used to get the result of an expression. For
example, to get the number of lines in the current buffer:
["eval","line('$')"] ~
it will send back the result of the expression:
[{number}, {result}]
Here {number} is the same as what was in the request. Use a negative number
to avoid confusion with message that Vim sends.
{result} is the result of the evaluation and is JSON encoded. If the
evaluation fails it is the string "ERROR".
Command "expr" ~
The "expr" command is similar to "eval", but does not send back any response.
Example:
["expr","setline('$', ['one', 'two', 'three'])"] ~
==============================================================================
5. Using a raw channel *channel-raw*
If {mode} is "raw" then a message can be send like this: >
let response = ch_sendraw(handle, {string})
The {string} is sent as-is. The response will be what can be read from the
channel right away. Since Vim doesn't know how to recognize the end of the
message you need to take care of it yourself.
To send a message, without expecting a response: >
call ch_sendraw(handle, {string}, 0)
The process can send back a response, the channel handler will be called with
it.
To send a message and letting the response handled by a specific function,
asynchronously: >
call ch_sendraw(handle, {string}, {callback})
This {string} can also be JSON, use |jsonencode()| to create it and
|jsondecode()| to handle a received JSON message.
==============================================================================
6. Job control *job-control*
NOT IMPLEMENTED YET
To start another process: >
call startjob({command})
This does not wait for {command} to exit.
TODO:
let handle = startjob({command}, 's') # uses stdin/stdout
let handle = startjob({command}, '', {address}) # uses socket
let handle = startjob({command}, 'd', {address}) # start if connect fails
vim:tw=78:ts=8:ft=help:norl:
+45 -13
View File
@@ -1,4 +1,4 @@
*develop.txt* For Vim version 7.4. Last change: 2014 Mar 27
*develop.txt* For Vim version 7.4. Last change: 2016 Jan 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -166,12 +166,27 @@ This list is not complete. Look in the source code for more examples.
MAKING CHANGES *style-changes*
The basic steps to make changes to the code:
1. Adjust the documentation. Doing this first gives you an impression of how
1. Get the code from github. That makes it easier to keep your changed
version in sync with the main code base (it may be a while before your
changes will be included). You do need to spend some time learning git,
it's not the most user friendly tool.
2. Adjust the documentation. Doing this first gives you an impression of how
your changes affect the user.
2. Make the source code changes.
3. Check ../doc/todo.txt if the change affects any listed item.
4. Make a patch with "diff -c" against the unmodified code and docs.
5. Make a note about what changed and include it with the patch.
3. Make the source code changes.
4. Check ../doc/todo.txt if the change affects any listed item.
5. Make a patch with "git diff". You can also create a pull request on
github, but it's the diff that matters.
6. Make a note about what changed, preferably mentioning the problem and the
solution. Send an email to the vim-dev maillist with an explanation and
include the diff. Or create a pull request on github.
C COMPILER *style-compiler*
The minimal C compiler version supported is C89, also known as ANSI C.
Later standards don't add much and C89 is the widest supported.
One restriction that this implies: no // comments, only /* comments */.
USE OF COMMON FUNCTIONS *style-functions*
@@ -197,7 +212,7 @@ NAMES *style-names*
Function names can not be more than 31 characters long (because of VMS).
Don't use "delete" as a variable name, C++ doesn't like it.
Don't use "delete" or "this" as a variable name, C++ doesn't like it.
Because of the requirement that Vim runs on as many systems as possible, we
need to avoid using names that are already defined by the system. This is a
@@ -288,8 +303,27 @@ OK: do
a = 1;
while (cond);
Wrong: if (cond) {
cmd;
cmd;
} else {
cmd;
cmd;
}
Functions start with:
OK: if (cond)
{
cmd;
cmd;
}
else
{
cmd;
cmd;
}
Use ANSI (new style) function declarations with the return type on a separate
indented line.
Wrong: int function_name(int arg1, int arg2)
@@ -299,16 +333,14 @@ OK: /*
* Return value explanation.
*/
int
function_name(arg1, arg2)
int arg1; /* short comment about arg1 */
int arg2; /* short comment about arg2 */
function_name(
int arg1, /* short comment about arg1 */
int arg2) /* short comment about arg2 */
{
int local; /* comment about local */
local = arg1 * arg2;
NOTE: Don't use ANSI style function declarations. A few people still have to
use a compiler that doesn't support it.
SPACES AND PUNCTUATION *style-spaces*
+1 -3
View File
@@ -14,9 +14,7 @@
#define LINELEN 200
int
main(argc, argv)
int argc;
char **argv;
main(int argc, char **argv)
{
char line[LINELEN];
char *p1, *p2;
+14 -1
View File
@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.4. Last change: 2016 Jan 03
*editing.txt* For Vim version 7.4. Last change: 2016 Feb 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -639,6 +639,7 @@ list of the current window.
:0argadd x x a b c
:1argadd x a x b c
:$argadd x a b c x
And after the last one:
:+2argadd y a b c x y
There is no check for duplicates, it is possible to
add a file to the argument list twice.
@@ -1458,6 +1459,18 @@ using zip, "[blowfish]" when using blowfish, etc.
When writing an undo file, the same key and method will be used for the text
in the undo file. |persistent-undo|.
To test for blowfish support you can use these conditions: >
has('crypt-blowfish')
has('crypt-blowfish2')
This works since Vim 7.4.1099 while blowfish support was added earlier.
Thus the condition failing doesn't mean blowfish is not supported. You can
test for blowfish with: >
v:version >= 703
And for blowfish2 with: >
v:version > 704 || (v:version == 704 && has('patch401'))
If you are sure Vim includes patch 7.4.237 a simpler check is: >
has('patch-7.4.401')
<
*E817* *E818* *E819* *E820*
When encryption does not work properly, you would be able to write your text
to a file and never be able to read it back. Therefore a test is performed to
+185 -28
View File
@@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.4. Last change: 2016 Jan 16
*eval.txt* For Vim version 7.4. Last change: 2016 Feb 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -103,6 +103,9 @@ When mixing Number and Float the Number is converted to Float. Otherwise
there is no automatic conversion of Float. You can use str2float() for String
to Float, printf() for Float to String and float2nr() for Float to Number.
*E891* *E892* *E893* *E894*
When expecting a Float a Number can also be used, but nothing else.
*E706* *sticky-type-checking*
You will get an error if you try to change the type of a variable. You need
to |:unlet| it first to avoid this error. String and Number are considered
@@ -873,7 +876,7 @@ cursor: >
:let c = getline(".")[col(".") - 1]
If the length of the String is less than the index, the result is an empty
String. A negative index always results in an empty string (reason: backwards
String. A negative index always results in an empty string (reason: backward
compatibility). Use [-1:] to get the last byte.
If expr8 is a |List| then it results the item at index expr1. See |list-index|
@@ -1406,6 +1409,13 @@ v:exception The value of the exception most recently caught and not
:endtry
< Output: "caught oops".
*v:false* *false-variable*
v:false A Number with value zero. Used to put "false" in JSON. See
|jsonencode()|.
When used as a string this evaluates to "false". >
echo v:false
< false ~
*v:fcs_reason* *fcs_reason-variable*
v:fcs_reason The reason why the |FileChangedShell| event was triggered.
Can be used in an autocommand to decide what to do and/or what
@@ -1482,7 +1492,7 @@ v:foldstart Used for 'foldtext': first line of closed fold.
v:hlsearch Variable that indicates whether search highlighting is on.
Setting it 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 >
like the |:nohlsearch| command, setting it to one acts like >
let &hlsearch = &hlsearch
< Note that the value is restored when returning from a
function. |function-search-undo|.
@@ -1539,6 +1549,22 @@ v:mouse_col Column number for a mouse click obtained with |getchar()|.
This is the screen column number, like with |virtcol()|. The
value is zero when there was no mouse button click.
*v:none* *none-variable*
v:none An empty String. Used to put an empty item in JSON. See
|jsonencode()|.
When used as a number this evaluates to zero.
When used as a string this evaluates to "none". >
echo v:none
< none ~
*v:null* *null-variable*
v:null An empty String. Used to put "null" in JSON. See
|jsonencode()|.
When used as a number this evaluates to zero.
When used as a string this evaluates to "null". >
echo v:null
< null ~
*v:oldfiles* *oldfiles-variable*
v:oldfiles List of file names that is loaded from the |viminfo| file on
startup. These are the files that Vim remembers marks for.
@@ -1704,6 +1730,12 @@ v:throwpoint The point where the exception most recently caught and not
:endtry
< Output: "Exception from test.vim, line 2"
*v:true* *true-variable*
v:true A Number with value one. Used to put "true" in JSON. See
|jsonencode()|.
When used as a string this evaluates to "true". >
echo v:true
< true ~
*v:val* *val-variable*
v:val Value of the current item of a |List| or |Dictionary|. Only
valid while evaluating the expression used with |map()| and
@@ -1778,6 +1810,12 @@ 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
ch_close( {handle}) none close a channel
ch_open( {address} [, {argdict})] Number open a channel to {address}
ch_sendexpr( {handle}, {expr} [, {callback}])
any send {expr} over JSON channel {handle}
ch_sendraw( {handle}, {string} [, {callback}])
any send {string} over raw channel {handle}
changenr() Number current change number
char2nr( {expr}[, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
cindent( {lnum}) Number C indent for line {lnum}
@@ -1851,7 +1889,7 @@ getcmdpos() Number return cursor position in command-line
getcmdtype() String return current command-line type
getcmdwintype() String return current command-line window type
getcurpos() List position of the cursor
getcwd() String the current working directory
getcwd( [{winnr} [, {tabnr}]]) String get the current working directory
getfontname( [{name}]) String name of font being used
getfperm( {fname}) String file permissions of file {fname}
getfsize( {fname}) Number size in bytes of file {fname}
@@ -1882,7 +1920,8 @@ globpath( {path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
String do glob({expr}) for all dirs in {path}
has( {feature}) Number TRUE if feature {feature} supported
has_key( {dict}, {key}) Number TRUE if {dict} has entry {key}
haslocaldir() Number TRUE if current window executed |:lcd|
haslocaldir( [{winnr} [, {tabnr}]])
Number TRUE if the window executed |:lcd|
hasmapto( {what} [, {mode} [, {abbr}]])
Number TRUE if mapping to {what} exists
histadd( {history},{item}) String add an item to a history
@@ -1909,6 +1948,8 @@ isdirectory( {directory}) Number TRUE if {directory} is a directory
islocked( {expr}) Number TRUE if {expr} is locked
items( {dict}) List key-value pairs in {dict}
join( {list} [, {sep}]) String join {list} items into one String
jsondecode( {string}) any decode JSON
jsonencode( {expr}) String encode JSON
keys( {dict}) List keys in {dict}
len( {expr}) Number the length of {expr}
libcall( {lib}, {func}, {arg}) String call {func} in library {lib} with {arg}
@@ -1950,6 +1991,7 @@ nextnonblank( {lnum}) Number line nr of non-blank line >= {lnum}
nr2char( {expr}[, {utf8}]) String single char with ASCII/UTF8 value {expr}
or( {expr}, {expr}) Number bitwise OR
pathshorten( {expr}) String shorten directory names in a path
perleval( {expr}) any evaluate |Perl| expression
pow( {x}, {y}) Float {x} to the power of {y}
prevnonblank( {lnum}) Number line nr of non-blank line <= {lnum}
printf( {fmt}, {expr1}...) String format text
@@ -2624,6 +2666,48 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
don't fit, a vertical layout is used anyway. For some systems
the horizontal layout is always used.
ch_close({handle}) *ch_close()*
Close channel {handle}. See |channel|.
ch_open({address} [, {argdict}]) *ch_open()*
Open a channel to {address}. See |channel|.
Returns the channel handle on success. Returns a negative
number for failure.
{address} has the form "hostname:port", e.g.,
"localhost:8765".
If {argdict} is given it must be a |Directory|. The optional
items are:
mode "raw" or "json".
Default "json".
callback function to call for requests with a zero
sequence number. See |channel-callback|.
Default: none.
waittime Specify connect timeout as milliseconds.
Negative means forever.
Default: 0.
timeout Specify response read timeout value as
milliseconds.
Default: 2000.
ch_sendexpr({handle}, {expr} [, {callback}]) *ch_sendexpr()*
Send {expr} over JSON channel {handle}. See |channel-use|.
When {callback} is given returns immediately. Without
{callback} waits for a JSON response and returns the decoded
expression. When there is an error or timeout returns an
empty string.
When {callback} is zero no response is expected.
Otherwise {callback} must be a Funcref or the name of a
function. It is called when the response is received. See
|channel-callback|.
ch_sendraw({handle}, {string} [, {callback}]) *ch_sendraw()*
Send {string} over raw channel {handle}. See |channel-raw|.
Works like |ch_sendexpr()|, but does not decode the response.
*copy()*
copy({expr}) Make a copy of {expr}. For Numbers and Strings this isn't
different from using {expr} directly.
@@ -2806,6 +2890,7 @@ empty({expr}) *empty()*
Return the Number 1 if {expr} is empty, zero otherwise.
A |List| or |Dictionary| is empty when it does not have any
items. A Number is empty when its value is zero.
|v:false|, |v:none| and |v:null| are empty, |v:true| is not.
For a long |List| this is much faster than comparing the
length with zero.
@@ -3097,6 +3182,11 @@ feedkeys({string} [, {mode}]) *feedkeys()*
if coming from a mapping. This matters for undo,
opening folds, etc.
'i' Insert the string instead of appending (see above).
'x' Execute commands until typeahead is empty. This is
similar to using ":normal!". You can call feedkeys()
several times without 'x' and then one time with 'x'
(possibly with an empty {string}) to execute all the
typeahead.
Return value is always 0.
filereadable({file}) *filereadable()*
@@ -3521,8 +3611,16 @@ getcurpos() Get the position of the cursor. This is like getpos('.'), but
call setpos('.', save_cursor)
<
*getcwd()*
getcwd() The result is a String, which is the name of the current
getcwd([{winnr} [, {tabnr}]])
The result is a String, which is the name of the current
working directory.
Without arguments, for the current window.
With {winnr} return the local current directory of this window
in the current tab page.
With {winnr} and {tabnr} return the local current directory of
the window in the specified tab page.
Return an empty string if the arguments are invalid.
getfsize({fname}) *getfsize()*
The result is a Number, which is the size in bytes of the
@@ -3586,7 +3684,8 @@ getftype({fname}) *getftype()*
getftype("/home")
< Note that a type such as "link" will only be returned on
systems that support it. On some systems only "dir" and
"file" are returned.
"file" are returned. On MS-Windows a symbolic link to a
directory returns "dir" instead of "link".
*getline()*
getline({lnum} [, {end}])
@@ -3810,7 +3909,9 @@ glob2regpat({expr}) *glob2regpat()*
if filename =~ glob2regpat('Make*.mak')
< This is equivalent to: >
if filename =~ '^Make.*\.mak$'
<
< When {expr} is an empty string the result is "^$", match an
empty string.
*globpath()*
globpath({path}, {expr} [, {nosuf} [, {list} [, {allinks}]]])
Perform glob() on all directories in {path} and concatenate
@@ -3858,9 +3959,15 @@ has_key({dict}, {key}) *has_key()*
The result is a Number, which is 1 if |Dictionary| {dict} has
an entry with key {key}. Zero otherwise.
haslocaldir() *haslocaldir()*
The result is a Number, which is 1 when the current
window has set a local path via |:lcd|, and 0 otherwise.
haslocaldir([{winnr} [, {tabnr}]]) *haslocaldir()*
The result is a Number, which is 1 when the window has set a
local path via |:lcd|, and 0 otherwise.
Without arguments use the current window.
With {winnr} use this window in the current tab page.
With {winnr} and {tabnr} use the window in the specified tab
page.
Return 0 if the arguments are invalid.
hasmapto({what} [, {mode} [, {abbr}]]) *hasmapto()*
The result is a Number, which is 1 if there is a mapping that
@@ -4190,6 +4297,48 @@ join({list} [, {sep}]) *join()*
converted into a string like with |string()|.
The opposite function is |split()|.
jsondecode({string}) *jsondecode()*
This parses a JSON formatted string and returns the equivalent
in Vim values. See |jsonencode()| for the relation between
JSON and Vim values.
The decoding is permissive:
- A trailing comma in an array and object is ignored.
- An empty item in an array, two commas with nothing or white
space in between, results in v:none.
- When an object member name is not a string it is converted
to a string. E.g. the number 123 is used as the string
"123".
- More floating point numbers are recognized, e.g. "1." for
"1.0".
The result must be a valid Vim type:
- An empty object member name is not allowed.
- Duplicate object member names are not allowed.
jsonencode({expr}) *jsonencode()*
Encode {expr} as JSON and return this as a string.
The encoding is specified in:
https://tools.ietf.org/html/rfc7159.html
Vim values are converted as follows:
Number decimal number
Float floating point number
String in double quotes (possibly null)
Funcref not possible, error
List as an array (possibly null); when
used recursively: []
Dict as an object (possibly null); when
used recursively: {}
v:false "false"
v:true "true"
v:none nothing
v:null "null"
Note that using v:none is permitted, although the JSON
standard does not allow empty items. This can be useful for
omitting items in an array:
[0,,,,,5] ~
This is much more efficient than:
[0,null,null,null,null,5] ~
But a strict JSON parser will not accept it.
keys({dict}) *keys()*
Return a |List| with all the keys of {dict}. The |List| is in
arbitrary order.
@@ -4547,8 +4696,8 @@ matchadd({group}, {pattern}[, {priority}[, {id} [, {dict}]]])
respectively. If the {id} argument is not specified or -1,
|matchadd()| automatically chooses a free ID.
The optional {dict} argmument allows for further custom
values. Currently this is used to specify a match specifc
The optional {dict} argument allows for further custom
values. Currently this is used to specify a match specific
conceal character that will be shown for |hl-Conceal|
highlighted matches. The dict can have the following members:
@@ -4778,6 +4927,17 @@ pathshorten({expr}) *pathshorten()*
< ~/.v/a/myfile.vim ~
It doesn't matter if the path exists or not.
perleval({expr}) *perleval()*
Evaluate Perl expression {expr} in scalar context and return
its result converted to Vim data structures. If value can't be
converted, it is returned as a string Perl representation.
Note: If you want an array or hash, {expr} must return a
reference to it.
Example: >
:echo perleval('[1 .. 4]')
< [1, 2, 3, 4]
{only available when compiled with the |+perl| feature}
pow({x}, {y}) *pow()*
Return the power of {x} to the exponent {y} as a |Float|.
{x} and {y} must evaluate to a |Float| or a |Number|.
@@ -5292,7 +5452,7 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
'ignorecase', 'smartcase' and 'magic' are used.
When the 'z' flag is not given seaching always starts in
When the 'z' flag is not given, searching always starts in
column zero and then matches before the cursor are skipped.
When the 'c' flag is present in 'cpo' the next search starts
after the match. Without the 'c' flag the next search starts
@@ -5785,18 +5945,8 @@ shellescape({string} [, {special}]) *shellescape()*
shiftwidth() *shiftwidth()*
Returns the effective value of 'shiftwidth'. This is the
'shiftwidth' value unless it is zero, in which case it is the
'tabstop' value. To be backwards compatible in indent
plugins, use this: >
if exists('*shiftwidth')
func s:sw()
return shiftwidth()
endfunc
else
func s:sw()
return &sw
endfunc
endif
< And then use s:sw() instead of &sw.
'tabstop' value. This function was introduced with patch
7.3.694 in 2012, everybody should have it by now.
simplify({filename}) *simplify()*
@@ -5861,6 +6011,9 @@ sort({list} [, {func} [, {dict}]]) *sort()* *E702*
sorted numerical. This is like 'n' but a string containing
digits will be used as the number they represent.
When {func} is given and it is 'f' then all items will be
sorted numerical. All values must be a Number or a Float.
When {func} is a |Funcref| or a function name, this function
is called to compare items. The function is invoked with two
items as argument and must return zero if they are equal, 1 or
@@ -6537,6 +6690,8 @@ type({expr}) The result is a Number, depending on the type of {expr}:
List: 3
Dictionary: 4
Float: 5
Boolean: 6 (v:false and v:true)
None 7 (v:null and v:none)
To avoid the magic numbers it should be used this way: >
:if type(myvar) == type(0)
:if type(myvar) == type("")
@@ -6544,6 +6699,8 @@ type({expr}) The result is a Number, depending on the type of {expr}:
:if type(myvar) == type([])
:if type(myvar) == type({})
:if type(myvar) == type(0.0)
:if type(myvar) == type(v:false)
:if type(myvar) == type(v:none
undofile({name}) *undofile()*
Return the name of the undo file that would be used for a file
@@ -6909,7 +7066,7 @@ ebcdic Compiled on a machine with ebcdic character set.
emacs_tags Compiled with support for Emacs tags.
eval Compiled with expression evaluation support. Always
true, of course!
ex_extra Compiled with extra Ex commands |+ex_extra|.
ex_extra |+ex_extra|, always true now
extra_search Compiled with support for |'incsearch'| and
|'hlsearch'|
farsi Compiled with Farsi support |farsi|.
@@ -7658,7 +7815,7 @@ This does NOT work: >
From Vim version 4.5 until 5.0, every Ex command in
between the ":if" and ":endif" is ignored. These two
commands were just to allow for future expansions in a
backwards compatible way. Nesting was allowed. Note
backward compatible way. Nesting was allowed. Note
that any ":else" or ":elseif" was ignored, the "else"
part was not executed either.
+3 -3
View File
@@ -1,4 +1,4 @@
*if_mzsch.txt* For Vim version 7.4. Last change: 2012 Dec 17
*if_mzsch.txt* For Vim version 7.4. Last change: 2016 Jan 24
VIM REFERENCE MANUAL by Sergey Khorev
@@ -265,7 +265,7 @@ directly from Scheme. For instance: >
<
==============================================================================
7. Dynamic loading *mzscheme-dynamic* *E815*
7. Dynamic loading *mzscheme-dynamic* *E815*
On MS-Windows the MzScheme libraries can be loaded dynamically. The |:version|
output then includes |+mzscheme/dyn|.
@@ -294,7 +294,7 @@ to set the environment variable as the following: >
PLTCONFIGDIR=C:\Racket63\etc
<
==============================================================================
8. MzScheme setup *mzscheme-setup*
8. MzScheme setup *mzscheme-setup* *E895*
Vim requires "racket/base" module for if_mzsch core (fallback to "scheme/base"
if it doesn't exist), "r5rs" module for test and "raco ctool" command for
+4 -4
View File
@@ -1,4 +1,4 @@
*index.txt* For Vim version 7.4. Last change: 2016 Jan 10
*index.txt* For Vim version 7.4. Last change: 2016 Jan 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1541,14 +1541,14 @@ tag command action ~
|:tabdo| :tabdo execute command in each tab page
|:tabedit| :tabe[dit] edit a file in a new tab page
|:tabfind| :tabf[ind] find file in 'path', edit it in a new tab page
|:tabfirst| :tabfir[st] got to first tab page
|:tablast| :tabl[ast] got to last tab page
|:tabfirst| :tabfir[st] go to first tab page
|:tablast| :tabl[ast] go to last tab page
|:tabmove| :tabm[ove] move tab page to other position
|:tabnew| :tabnew edit a file in a new tab page
|:tabnext| :tabn[ext] go to next tab page
|:tabonly| :tabo[nly] close all tab pages except the current one
|:tabprevious| :tabp[revious] go to previous tab page
|:tabrewind| :tabr[ewind] got to first tab page
|:tabrewind| :tabr[ewind] go to first tab page
|:tabs| :tabs list the tab pages and what they contain
|:tab| :tab create new tab when opening new window
|:tag| :ta[g] jump to tag
+1 -7
View File
@@ -1,4 +1,4 @@
*insert.txt* For Vim version 7.4. Last change: 2015 Sep 15
*insert.txt* For Vim version 7.4. Last change: 2016 Jan 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1872,8 +1872,6 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
or script is finished.
This command does not work from |:normal|.
{not in Vi}
{not available when compiled without the |+ex_extra|
feature}
*:stopi* *:stopinsert*
:stopi[nsert] Stop Insert mode as soon as possible. Works like
@@ -1891,15 +1889,11 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
script that the replacement will only start after
the function or script is finished.
{not in Vi}
{not available when compiled without the |+ex_extra|
feature}
*:startgreplace*
:startg[replace][!] Just like |:startreplace|, but use Virtual Replace
mode, like with |gR|.
{not in Vi}
{not available when compiled without the |+ex_extra|
feature}
==============================================================================
10. Inserting a file *inserting-file*
+6 -4
View File
@@ -1,4 +1,4 @@
*mlang.txt* For Vim version 7.4. Last change: 2012 Jan 15
*mlang.txt* For Vim version 7.4. Last change: 2016 Jan 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -97,13 +97,15 @@ If you used the self-installing .exe file, message translations should work
already. Otherwise get the libintl.dll file if you don't have it yet:
http://sourceforge.net/projects/gettext
Or:
https://mlocati.github.io/gettext-iconv-windows/
This also contains tools xgettext, msgformat and others.
libintl.dll should be placed in same directory with (g)vim.exe, or some
place where PATH environment value describe. Message files (vim.mo)
have to be placed in "$VIMRUNTIME/lang/xx/LC_MESSAGES", where "xx" is the
abbreviation of the language (mostly two letters).
place where PATH environment value describe. Vim also finds libintl-8.dll.
Message files (vim.mo) have to be placed in "$VIMRUNTIME/lang/xx/LC_MESSAGES",
where "xx" is the abbreviation of the language (mostly two letters).
If you write your own translations you need to generate the .po file and
convert it to a .mo file. You need to get the source distribution and read
+3 -3
View File
@@ -1,10 +1,10 @@
*netbeans.txt* For Vim version 7.4. Last change: 2015 Mar 14
*netbeans.txt* For Vim version 7.4. Last change: 2016 Jan 31
VIM REFERENCE MANUAL by Gordon Prieur et al.
*socket-interface* *netbeans* *netbeans-support*
*netbeans* *netbeans-support*
Vim NetBeans Protocol: a socket interface for Vim integration into an IDE.
@@ -823,7 +823,7 @@ REJECT Not used.
6.7 Protocol errors *nb-protocol_errors*
These errors occur when a message violates the protocol:
*E627* *E628* *E629* *E630* *E631* *E632* *E633* *E634* *E635* *E636*
*E627* *E628* *E629* *E632* *E633* *E634* *E635* *E636*
*E637* *E638* *E639* *E640* *E641* *E642* *E643* *E644* *E645* *E646*
*E647* *E648* *E649* *E650* *E651* *E652* *E653* *E654*
+5 -3
View File
@@ -1,4 +1,4 @@
*options.txt* For Vim version 7.4. Last change: 2016 Jan 09
*options.txt* For Vim version 7.4. Last change: 2016 Feb 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2308,7 +2308,7 @@ A jump table for the options with a short description can be found at |Q_op|.
the encrypted bytes will be different.
*blowfish2*
blowfish2 Blowfish method. Medium strong encryption. Requires
Vim 7.4.399 or later, files can NOT be read by Vim 7.3
Vim 7.4.401 or later, files can NOT be read by Vim 7.3
and older. This adds a "seed" to the file, every time
you write the file the encrypted bytes will be
different. The whole undo file is encrypted, not just
@@ -4599,6 +4599,8 @@ A jump table for the options with a short description can be found at |Q_op|.
'*', '"' and '|' (so that CTRL-] on a command finds the help for that
command).
When the 'lisp' option is on the '-' character is always included.
This option also influences syntax highlighting, unless the syntax
uses |:syn-iskeyword|.
NOTE: This option is set to the Vi default value when 'compatible' is
set and to the Vim default value when 'compatible' is reset.
@@ -7117,7 +7119,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The option consists of printf style '%' items interspersed with
normal text. Each status line item is of the form:
%-0{minwid}.{maxwid}{item}
All fields except the {item} is optional. A single percent sign can
All fields except the {item} are optional. A single percent sign can
be given as "%%". Up to 80 items can be specified. *E541*
When the option starts with "%!" then it is used as an expression,
+4 -4
View File
@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 7.4. Last change: 2015 Dec 31
*quickfix.txt* For Vim version 7.4. Last change: 2016 Jan 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -217,9 +217,9 @@ command with 'l'.
:cex[pr][!] {expr} Create a quickfix list using the result of {expr} and
jump to the first error.
If {expr} is a String, then each new-line terminated
line in the String is processed using the value
of 'errorformat' (buffer-local value if it was set)
and the result is added to the quickfix list.
line in the String is processed using the global value
of 'errorformat' and the result is added to the
quickfix list.
If {expr} is a List, then each String item in the list
is processed and added to the quickfix list. Non
String items in the List are ignored.
+28 -1
View File
@@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.4. Last change: 2015 Dec 19
*syntax.txt* For Vim version 7.4. Last change: 2016 Jan 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3438,6 +3438,32 @@ SPELL CHECKING *:syn-spell*
To activate spell checking the 'spell' option must be set.
SYNTAX ISKEYWORD SETTING *:syn-iskeyword*
:sy[ntax] iskeyword [clear | {option}]
This defines the keyword characters. It's like the 'iskeyword' option
for but only applies to syntax highlighting.
clear: Syntax specific iskeyword setting is disabled and the
buffer-local 'iskeyword' setting is used.
{option} Set the syntax 'iskeyword' option to a new value.
Example: >
:syntax iskeyword @,48-57,192-255,$,_
<
This would set the syntax specific iskeyword option to include all
alphabetic characters, plus the numeric characters, all accented
characters and also includes the "_" and the "$".
If no argument is given, the current value will be output.
Setting this option influences what |/\k| matches in syntax patterns
and also determines where |:syn-keyword| will be checked for a new
match.
It is recommended when writing syntax files, to use this command
to the correct value for the specific syntax language and not change
the 'iskeyword' option.
DEFINING KEYWORDS *:syn-keyword*
@@ -3469,6 +3495,7 @@ DEFINING KEYWORDS *:syn-keyword*
isn't, the keyword will never be recognized.
Multi-byte characters can also be used. These do not have to be in
'iskeyword'.
See |:syn-iskeyword| for defining syntax specific iskeyword settings.
A keyword always has higher priority than a match or region, the
keyword is used if more than one item matches. Keywords do not nest
+53 -3
View File
@@ -1195,6 +1195,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
+browse various.txt /*+browse*
+builtin_terms various.txt /*+builtin_terms*
+byte_offset various.txt /*+byte_offset*
+channel various.txt /*+channel*
+cindent various.txt /*+cindent*
+clientserver various.txt /*+clientserver*
+clipboard various.txt /*+clipboard*
@@ -2971,6 +2972,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
:syn-files syntax.txt /*:syn-files*
:syn-fold syntax.txt /*:syn-fold*
:syn-include syntax.txt /*:syn-include*
:syn-iskeyword syntax.txt /*:syn-iskeyword*
:syn-keepend syntax.txt /*:syn-keepend*
:syn-keyword syntax.txt /*:syn-keyword*
:syn-lc syntax.txt /*:syn-lc*
@@ -3404,12 +3406,18 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
== change.txt /*==*
> change.txt /*>*
>> change.txt /*>>*
>backtrace repeat.txt /*>backtrace*
>bt repeat.txt /*>bt*
>cont repeat.txt /*>cont*
>down repeat.txt /*>down*
>finish repeat.txt /*>finish*
>frame repeat.txt /*>frame*
>interrupt repeat.txt /*>interrupt*
>next repeat.txt /*>next*
>quit repeat.txt /*>quit*
>step repeat.txt /*>step*
>up repeat.txt /*>up*
>where repeat.txt /*>where*
? pattern.txt /*?*
?<CR> pattern.txt /*?<CR>*
@ repeat.txt /*@*
@@ -4176,8 +4184,8 @@ E627 netbeans.txt /*E627*
E628 netbeans.txt /*E628*
E629 netbeans.txt /*E629*
E63 pattern.txt /*E63*
E630 netbeans.txt /*E630*
E631 netbeans.txt /*E631*
E630 channel.txt /*E630*
E631 channel.txt /*E631*
E632 netbeans.txt /*E632*
E633 netbeans.txt /*E633*
E634 netbeans.txt /*E634*
@@ -4460,7 +4468,22 @@ E888 pattern.txt /*E888*
E889 map.txt /*E889*
E89 message.txt /*E89*
E890 syntax.txt /*E890*
E891 eval.txt /*E891*
E892 eval.txt /*E892*
E893 eval.txt /*E893*
E894 eval.txt /*E894*
E895 if_mzsch.txt /*E895*
E896 channel.txt /*E896*
E897 channel.txt /*E897*
E898 channel.txt /*E898*
E899 channel.txt /*E899*
E90 message.txt /*E90*
E900 channel.txt /*E900*
E901 channel.txt /*E901*
E902 channel.txt /*E902*
E903 channel.txt /*E903*
E904 channel.txt /*E904*
E905 channel.txt /*E905*
E91 options.txt /*E91*
E92 message.txt /*E92*
E93 windows.txt /*E93*
@@ -5185,6 +5208,10 @@ catch-text eval.txt /*catch-text*
cc change.txt /*cc*
ceil() eval.txt /*ceil()*
ch.vim syntax.txt /*ch.vim*
ch_close() eval.txt /*ch_close()*
ch_open() eval.txt /*ch_open()*
ch_sendexpr() eval.txt /*ch_sendexpr()*
ch_sendraw() eval.txt /*ch_sendraw()*
change-list-jumps motion.txt /*change-list-jumps*
change-name tips.txt /*change-name*
change-tabs change.txt /*change-tabs*
@@ -5210,6 +5237,15 @@ changelog.vim syntax.txt /*changelog.vim*
changenr() eval.txt /*changenr()*
changetick eval.txt /*changetick*
changing change.txt /*changing*
channel channel.txt /*channel*
channel-callback channel.txt /*channel-callback*
channel-commands channel.txt /*channel-commands*
channel-demo channel.txt /*channel-demo*
channel-mode channel.txt /*channel-mode*
channel-open channel.txt /*channel-open*
channel-raw channel.txt /*channel-raw*
channel-use channel.txt /*channel-use*
channel.txt channel.txt /*channel.txt*
char-variable eval.txt /*char-variable*
char2nr() eval.txt /*char2nr()*
characterwise motion.txt /*characterwise*
@@ -5775,6 +5811,7 @@ extension-removal cmdline.txt /*extension-removal*
extensions-improvements todo.txt /*extensions-improvements*
external-editor gui_mac.txt /*external-editor*
f motion.txt /*f*
false-variable eval.txt /*false-variable*
faq intro.txt /*faq*
farsi farsi.txt /*farsi*
farsi-fonts farsi.txt /*farsi-fonts*
@@ -6832,8 +6869,11 @@ java-indenting indent.txt /*java-indenting*
java.vim syntax.txt /*java.vim*
javascript-cinoptions indent.txt /*javascript-cinoptions*
javascript-indenting indent.txt /*javascript-indenting*
job-control channel.txt /*job-control*
join() eval.txt /*join()*
jsbterm-mouse options.txt /*jsbterm-mouse*
jsondecode() eval.txt /*jsondecode()*
jsonencode() eval.txt /*jsonencode()*
jtags tagsrch.txt /*jtags*
jump-motions motion.txt /*jump-motions*
jumplist motion.txt /*jumplist*
@@ -7179,6 +7219,7 @@ mzscheme-examples if_mzsch.txt /*mzscheme-examples*
mzscheme-funcref if_mzsch.txt /*mzscheme-funcref*
mzscheme-mzeval if_mzsch.txt /*mzscheme-mzeval*
mzscheme-sandbox if_mzsch.txt /*mzscheme-sandbox*
mzscheme-setup if_mzsch.txt /*mzscheme-setup*
mzscheme-threads if_mzsch.txt /*mzscheme-threads*
mzscheme-vim if_mzsch.txt /*mzscheme-vim*
mzscheme-vimext if_mzsch.txt /*mzscheme-vimext*
@@ -7516,6 +7557,7 @@ no-eval-feature eval.txt /*no-eval-feature*
no_buffers_menu gui.txt /*no_buffers_menu*
non-greedy pattern.txt /*non-greedy*
non-zero-arg eval.txt /*non-zero-arg*
none-variable eval.txt /*none-variable*
normal-index index.txt /*normal-index*
not-compatible usr_01.txt /*not-compatible*
not-edited editing.txt /*not-edited*
@@ -7523,6 +7565,7 @@ notation intro.txt /*notation*
notepad gui_w32.txt /*notepad*
nr2char() eval.txt /*nr2char()*
nroff.vim syntax.txt /*nroff.vim*
null-variable eval.txt /*null-variable*
number_relativenumber options.txt /*number_relativenumber*
numbered-function eval.txt /*numbered-function*
o insert.txt /*o*
@@ -7625,6 +7668,7 @@ perl-overview if_perl.txt /*perl-overview*
perl-patterns pattern.txt /*perl-patterns*
perl-using if_perl.txt /*perl-using*
perl.vim syntax.txt /*perl.vim*
perleval() eval.txt /*perleval()*
persistent-undo undo.txt /*persistent-undo*
pexpr-option print.txt /*pexpr-option*
pfn-option print.txt /*pfn-option*
@@ -8030,7 +8074,7 @@ sniff if_sniff.txt /*sniff*
sniff-commands if_sniff.txt /*sniff-commands*
sniff-compiling if_sniff.txt /*sniff-compiling*
sniff-intro if_sniff.txt /*sniff-intro*
socket-interface netbeans.txt /*socket-interface*
socket-interface channel.txt /*socket-interface*
sort() eval.txt /*sort()*
sorting change.txt /*sorting*
soundfold() eval.txt /*soundfold()*
@@ -8220,6 +8264,7 @@ strstr() eval.txt /*strstr()*
strtrans() eval.txt /*strtrans()*
strwidth() eval.txt /*strwidth()*
style-changes develop.txt /*style-changes*
style-compiler develop.txt /*style-compiler*
style-examples develop.txt /*style-examples*
style-functions develop.txt /*style-functions*
style-names develop.txt /*style-names*
@@ -8589,6 +8634,7 @@ toolbar-icon gui.txt /*toolbar-icon*
toupper() eval.txt /*toupper()*
tr() eval.txt /*tr()*
trojan-horse starting.txt /*trojan-horse*
true-variable eval.txt /*true-variable*
trunc() eval.txt /*trunc()*
try-conditionals eval.txt /*try-conditionals*
try-echoerr eval.txt /*try-echoerr*
@@ -8698,6 +8744,7 @@ v:dying eval.txt /*v:dying*
v:errmsg eval.txt /*v:errmsg*
v:errors eval.txt /*v:errors*
v:exception eval.txt /*v:exception*
v:false eval.txt /*v:false*
v:fcs_choice eval.txt /*v:fcs_choice*
v:fcs_reason eval.txt /*v:fcs_reason*
v:fname_diff eval.txt /*v:fname_diff*
@@ -8717,6 +8764,8 @@ v:lnum eval.txt /*v:lnum*
v:mouse_col eval.txt /*v:mouse_col*
v:mouse_lnum eval.txt /*v:mouse_lnum*
v:mouse_win eval.txt /*v:mouse_win*
v:none eval.txt /*v:none*
v:null eval.txt /*v:null*
v:oldfiles eval.txt /*v:oldfiles*
v:operator eval.txt /*v:operator*
v:option_new eval.txt /*v:option_new*
@@ -8738,6 +8787,7 @@ v:swapname eval.txt /*v:swapname*
v:termresponse eval.txt /*v:termresponse*
v:this_session eval.txt /*v:this_session*
v:throwpoint eval.txt /*v:throwpoint*
v:true eval.txt /*v:true*
v:val eval.txt /*v:val*
v:var eval.txt /*v:var*
v:version eval.txt /*v:version*
+152 -83
View File
@@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.4. Last change: 2016 Jan 15
*todo.txt* For Vim version 7.4. Last change: 2016 Feb 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -76,6 +76,64 @@ Regexp problems:
matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
- Search for \\~ causes error E874.
- "\%1l^#.*" does not match on a line starting with "#". The zero-width match
clears the start-of-line flag.
Patch by Christian, 2016 Jan 29.
+channel:
- use a timeout for connect()
Patch from Yasuhiro Matsumoto, Feb 2
Change connect() second argument to a dict with items:
mode
timeout
callback
- When receiving malformed json starting with a quote it doesn't get
discarded.
- add ch_setcallback()
- add ch_settimeout()
- cleanup on exit? in mch_getout() and getout().
- Add more contents to channel.txt
- implement debug log
- implement job control:
let job = job_start('command', {options})
call job_stop(job)
let job = job_maystart('command', {address}, {options})
options:
- keep running when Vim exits
- add remark undo sync, is there a way to force it?
- Add a test with a server that can send canned responses.
- Add more testing in json_test.c
- make sure errors lead to a useful error msg. ["ex","foobar"]
- set timeout for channel.
- implement check for ID in response.
- json: implement UTF-16 surrogate pair.
Patch on #608: (Ken Takata)
https://bitbucket.org/k_takata/vim-ktakata-mq/src/479934b94fd56b064c9e4bd8737585c5df69d56a/fix-gvimext-loadlibrary.patch?fileviewer=file-view-default
This difference is unexpected:
echo v:true == 1
1
echo [v:true] == [1]
0
It's because tv_equal() works different.
Allow for an empty dictionary key.
Patch to put undo options together in undo window.
(Gary Johnson, 2016 Jan 28)
Patch for clearing history. (Yegappan Lakshmanan, 2016 Jan 31, second message
has tests)
Patch to update the GTK icon cache when installing. (Kazunobu Kuriyama, 2016
Feb 3)
Patch for test86 and test87. (Roland Puntaier, #622)
Patch for Python: #622. (Roland Puntaier, 2016 Feb 2)
What does it change?
Need to try out instructions in INSSTALLpc.txt about how to install all
interfaces and how to build Vim with them.
Appveyor build with self-installing executable, includes getting most
@@ -85,11 +143,30 @@ result: https://ci.appveyor.com/project/k-takata/vim/history
Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
More info Jul 24. Not clear why.
Duplication of completion suggestions for ":!hom". Issue 539.
Patch by Christian, 2016 Jan 29
>
Problem that a previous silent ":throw" causes a following try/catch not to
work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
jsonencode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
What if there is an invalid character?
Should jsonencode()/jsondecode() restrict recursiveness?
Or avoid recursiveness.
Patch to fix bug in statusline highlighting. (Christian Brabandt, 2016 Feb 2)
Use vim.vim syntax highlighting for help file examples, but without ":" in
'iskeyword' for syntax.
Patch to make "%:h:h" return "." instead of the full path.
(Coot, 2016 Jan 24, #592)
Remove SPACE_IN_FILENAME ? What could possibly go wrong?
Installation of .desktop files does not work everywhere.
It's now fixed, but the target directory probably isn't right.
Add configure check?
@@ -97,7 +174,8 @@ Should use /usr/local/share/applications or /usr/share/applications.
Or use $XDG_DATA_DIRS.
Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
Add has('crypt-blowfish') and has('crypt-blowfish2') (Smu Johnson)
Move the README files that are for including in archives to a subdirectory.
"readmedir/" ?
Access to uninitialized memory in match_backref() regexp_nda.c:4882
(Dominique Pelle, 2015 Nov 6)
@@ -105,6 +183,25 @@ Access to uninitialized memory in match_backref() regexp_nda.c:4882
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
directory exists. (Sergio Gallelli, 2013 Dec 29)
Patch to avoid redrawing tabline when the popup menu is visible.
(Christian Brabandt, 2016 Jan 28)
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
More tests May 14. Update May 29. Update Aug 10.
Now part of large file patches. (Ken Takata, 2016 Feb 1)
Two patches now?
Patch to support 64 bit ints for Number. (Ken Takata, 2016 Jan 21)
7 Add a watchpoint in the debug mode: An expression that breaks execution
when evaluating to non-zero. Add the "watchadd expr" command, stop when
the value of the expression changes. ":watchdel" deletes an item,
":watchlist" lists the items. (Charles Campbell)
Patch by Christian Brabandt, 2016 Feb 1.
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
Using ":windo" to set options in all windows has the side effect that it
changes the window layout and the current window. Make a variant that saves
and restores. Use in the matchparen plugin.
@@ -113,6 +210,13 @@ Patch to add <restore> to :windo, :bufdo, etc. (Christian Brabandt, 2015 Jan
6, 2nd message)
Alternative: ":keeppos" command modifier: ":keeppos windo {cmd}".
Patch to fix that executable() may fail on very long filename in MS-Windows.
(Ken Takata, 2016 Feb 1)
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
@@ -124,9 +228,6 @@ Instead of separately uploading patches to the ftp site, we can get them from
github with a URL like this:
https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff
Diff for version.c contains more context, can't skip a patch.
>
Can src/GvimExt/Make_cyg.mak be removed?
Same for src/xxd/Make_cyg.mak
When t_Co is changed from termresponse, the OptionSet autocmmand event isn't
triggered. Use the code from the end of set_num_option() in
@@ -134,33 +235,17 @@ set_color_count().
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
Patch to fix cursor position in right-left mode with concealing.
(Hirohito Higashi, 2016 Jan 13)
Comparing nested structures with "==" uses a different comperator than when
comparing individual items.
Also, "'' == 0" evaluates to true, which isn't nice.
Add "===" to have a strict comparison (type and value match).
Add "==*" (?) to have a value match, but no automatic conversion, and v:true
equals 1 and 1.0, v:false equals 0 and 0.0.?
Plugin to use Vim in MANPAGER. Konfekt, PR #491
Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)
Patch for explaining the help. (Christian Brabandt, 2015 Jan 8)
Should be in the user manual?
Patch to recognize string slice for variable followed by colon.
(Hirohito Higashi, 2015 Nov 24)
Patch to add debug backtrace. (Alberto Fanjul, 2015 Sep 27)
Update 2016 Jan 2. Issue #433
Patch to gvim.nsi for appveyor build. (Ken Takata, 2016 Jan 12)
Patch to improve behavior of dead keys on MS-Windows. (John Wellesz, 2015 Aug
25) https://github.com/vim/vim/pull/399.diff
Patch to make mzscheme (racket) interface work. (Yukihiro Nakadaira, 2015 Jan
10) Doesn't work for me, need to build from source. Include anyway?
Additional patch by Ken Takata, 2016 Jan 13.
Merged patch by Yasuhiro Nakadaira,, 2016 Jan 14.
Update for INSSTALLpc.txt by Ken Takata, Jan 14.
MS-Windows: When editing a file with a leading space, writing it uses the
wrong name. (Aram, 2014 Nov 7) Vim 7.4.
@@ -171,24 +256,20 @@ Half-finished patch to fix the Problem using cgn to change a search hit when
replacement includes hit. Reported by John Beckett, fix by Christian Brabandt,
2016 Jan 11.
Patch to fix pointer cast warning in VS2015. (Mike Williams, 2015 Dec 13)
Patch to make building GVimExt with VS2015. (Mike Williams, 2015 Dec 13)
Value returned by virtcol() changes depending on how lines wrap. This is
inconsistent with the documentation.
Patch to add perleval(). (Damien, 2015 Dec 8, update 2016 Jan 4)
Can we cache the syntax attributes, so that updates for 'relativenumber' and
'cursorline'/'cursorcolumn' are a lot faster?
Patch to add window and tab arguments to getcwd(). (Thinca, 2015 Nov 15)
Build with Python on Mac does not always use the right library.
(Kazunobu Kuriyama, 2015 Mar 28)
Patch to support Python 'None' value in pyeval(). (Damien, 2015 Nov 21)
Need a Vim equivalent of None and a way to test for it.
Need a Vim equivalent of Python's None and a way to test for it.
Use v:none. var == v:none
Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan
24) Also need a way to get the global arg list? Update later on Jan 24
To support Thai (and other languages) word boundaries, include the ICU
library: http://userguide.icu-project.org/boundaryanalysis
@@ -196,27 +277,18 @@ library: http://userguide.icu-project.org/boundaryanalysis
When complete() first argument is before where insert started and 'backspace'
is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)
Patch to fix bug in searchpair(). (Christian Brabandt, 2016 Jan 11)
Problem reported by David Fishburn, using searchpair() with synID() used in
the skip expression.
Test 44 fails when [[=A=]] is changed to [[=À=]]. Caused by getcmdline() not
handling the 0x80 as a second byte correctly? (Dominique Pelle, 2015 Jun 10)
Patch to use two highlight groups for relative numbers. (Shaun Brady, 2016 Jan
30)
Weird encryption problems on Windows. (Ben Fritz, 2015 Feb 13)
Goes away when disabling the swap file. (might1, Feb 16)
MS-Windows: Crash opening very long file name starting with "\\".
(Christian Brock, 2012 Jun 29)
Patch to add ":syn iskeyword". (Christian Brabandt, 2015 Nov 10)
Patch to use PLATFORM to determine target architecture. (Taro Muraoka, 2015
Nov 29)
If libiconv.dll is not found search for libiconv2.dll. (Yasuhiro Matsumoto,
2015 Oct 7)
Using an external diff is inefficient. Not all systems have a good diff
program available (esp. MS-Windows). Would be nice to have in internal diff
implementation. Can then also use this for displaying changes within a line.
@@ -234,9 +306,6 @@ effects for when set by the user, on init and when reset to default.
The argument for "-S" is not taken literally, the ":so" command expands
wildcards. Add a ":nowild" command modifier? (ZyX, 2015 March 4)
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
30)
Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
Update Aug 14.
@@ -251,10 +320,7 @@ Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
Sep 10)
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8.
Patch to improve I/O for Perl. (Damine, 2015 Jan 9)
Patch to improve I/O for Perl. (Damien, 2015 Jan 9, update Jan 22 2nd one)
Patch to set antialiasing style on Windows. (Ondrej Balaz, 2013 Mar 14)
Needs a different check for CLEARTYPE_QUALITY.
@@ -286,11 +352,14 @@ Is this the right solution? Need to cleanup langmap behavior:
- Remove LANGMAP_ADJUST() in other parts of the code. Make sure the mode is
covered by the above change.
So that replaying the register doesn't use keymap/langmap and still does the
same thing. Remarks on issue 543.
same thing. Remarks on issue 543 (Roland Puntaier).
Patch to add grepfile(). (Scott Prager, 2015 May 26)
Work in progress.
Would be useful to have a treemap() or deepmap() function. Like map() but
when an item is a list or dict would recurse into it.
Patch for global-local options consistency. (Arnaud Decara, 2015 Jul 22)
Is this right?
@@ -356,13 +425,11 @@ Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
Should be easy to highlight all matches with 'incsearch'. Idea by Itchyny,
2015 Feb 6.
Plugins need to make a lot of effort, lots of mappings, to know what happened
before pressing the key that triggers a plugin action. How about keeping the
last N pressed keys, so that they do not need to be mapped?
Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014 Dec 4.
Is this a good solution?
Patch to add /pattern/ to :oldfiles. Pull #575.
Patch to allow setting w:quickfix_title via setqflist() and setloclist()
functions. (Christian Brabandt, 2013 May 8, update May 21)
Patch to add getlocstack() / setlocstack(). (Christian Brabandt, 2013 May 14)
@@ -397,7 +464,7 @@ Patch: On MS-Windows shellescape() may have to triple double quotes.
(Ingo Karkat, 2015 Jan 16)
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
Update 2015 Jul 25 (email).
Update 2016 Jan 31 (email).
Redo only remembers the last change. Could use "{count}g." to redo an older
change. How does the user know which change? At least have a way to list
@@ -444,9 +511,8 @@ compatible with Vim spell files. The old files can no longer be downloaded.
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
Saito, 2013 Apr 24) Has a problem (email 2015 Jan 7).
Update 2015 Jan 10.
Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
More tests May 14. Update May 29. Update Aug 10.
Also see issue #609.
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
Idea: For a window in the middle (has window above and below it), use
right-mouse-drag on the status line to move a window up/down without changing
@@ -473,11 +539,13 @@ Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
2014 Jun 8)
Include a plugin manager with Vim? Neobundle seems to be the best currently.
Also Vundle: https://github.com/gmarik/vundle
Long message about this from ZyX, 2014 Mar 23. And following replies.
Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
User view:
- Support multiple sources, basically any http:// URL. Be able to look into
the files before deciding to install.
- Support multiple sources, basically any http:// URL. Or a central place that
will work for everybody (github? redirects from vim.org?).
Be able to look into the files before deciding to install.
- Be able to try out a plugin and remove it again with (almost) no traces.
- Each plugin needs a "manifest" file that has the version, dependencies
(including Vim version and features), conflicts, list of files, etc.
@@ -532,10 +600,6 @@ Yasuhiro Matsumoto, 2013 May 31.
Or should we add a more general mechanism, like a lambda() function?
Patch by Yasuhiro Matsumoto, 2014 Sep 16.
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
VMS: Select() doesn't work properly, typing ESC may hang Vim. Use sys$qiow
instead. (Samuel Ferencik, 2013 Sep 28)
@@ -1148,6 +1212,12 @@ Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
Winckler, 2011 May 11)
Requires a map mode for Insert mode started from blockwise Visual mode.
Use json format for new items in .viminfo:
|["info","any info"]
|["text","text text text"
|"continuation line"]
|["hist",242342342,{"arg":"value"}]
Writing nested List and Dict in viminfo gives error message and can't be read
back. (Yukihiro Nakadaira, 2010 Nov 13)
@@ -2165,10 +2235,17 @@ Add an option for a minimal text length before inserting a line break for
(Kartik Agaram)
At next release:
- Build a huge version by default.
- Improve plugin handling: Automatic updates, handle dependencies?
E.g. Vundle: https://github.com/gmarik/vundle
Better plugin support (not plugin manager, see elsewhere for that):
- Avoid use of feedkeys, add eval functions where needed:
- manipulating the Visual selection?
- Add createmark(): add a mark like mM, but return a unique ID. Need some way
to clean them up again... Use a name + the script ID.
Add createmark( , 'c') to track inserts/deletes before the column.
- Plugins need to make a lot of effort, lots of mappings, to know what
happened before pressing the key that triggers a plugin action. How about
keeping the last N pressed keys, so that they do not need to be mapped?
- equivalent of netbeans_beval_cb(). With an autocommand?
- Add something to enable debugging when a remote message is received.
More patches:
@@ -3517,10 +3594,7 @@ Syntax highlighting:
one is contained in. Like "keepend" but specified on the contained item,
instead of the containing item.
8 cpp.vim: In C++ it's allowed to use {} inside ().
8 Some syntax files set 'iskeyword'. When switching to another filetype
this isn't reset. Add a special keyword definition for the syntax rules?
When this is done, use vim.vim syntax highlighting for help file examples,
but without ":" in 'iskeyword' for syntax.
8 Some syntax files set 'iskeyword', they should use "syn iskeyword".
Also need a separate 'iskeyword' for the command line, e.g., in a help
window ":e /asdf/asdf/" CTRL-W works different.
8 Add specific syntax item to match with parens/braces that don't have a
@@ -5248,13 +5322,8 @@ Registers:
Debug mode:
7 Add something to enable debugging when a remote message is received.
8 Add breakpoints for setting an option
8 Add breakpoints for assigning to a variable.
7 Add a watchpoint in the debug mode: An expression that breaks execution
when evaluating to non-zero. Add the "watchadd expr" command, stop when
the value of the expression changes. ":watchdel" deletes an item,
":watchlist" lists the items. (Charles Campbell)
7 Store the history from debug mode in viminfo.
7 Make the debug mode history available with histget() et al.
+43 -39
View File
@@ -1,4 +1,4 @@
*usr_02.txt* For Vim version 7.4. Last change: 2016 Jan 15
*usr_02.txt* For Vim version 7.4. Last change: 2016 Jan 16
VIM USER MANUAL - by Bram Moolenaar
@@ -554,38 +554,42 @@ Summary: *help-summary* >
8) Ex-commands always start with ":", so to go to the :s command help: >
:help :s
9) Key combinations. They usually start with a single letter indicating
the mode for which they can be used. E.g.: >
:help i_CTRL-X
< takes you to the family of Ctrl-X commands for insert mode which can be
used to auto complete different things. Note, that certain keys will
always be written the same, e.g. Control will always be CTRL.
For normal mode commands there is no prefix and the topic is available at
:h CTRL-<Letter>. E.g. >
:help CTRL-W
< In contrast >
:help c_CTRL-R
< will describe what the Ctrl-R does when entering commands in the Command
line and >
:help v_Ctrl-A
< talks about incrementing numbers in visual mode and >
:help g_CTRL-A
< talks about the g<C-A> command (e.g. you have to press "g" then <Ctrl-A>).
Here the "g" stand for the normal command "g" which always expects a second
key before doing something similar to the commands starting with "z"
9) Commands specifically for debugging start with ">". To go to to the help
for the "cont" debug command: >
:help >cont
10) Regexp items always start with /. So to get help for the "\+" quantifier
10) Key combinations. They usually start with a single letter indicating
the mode for which they can be used. E.g.: >
:help i_CTRL-X
< takes you to the family of Ctrl-X commands for insert mode which can be
used to auto complete different things. Note, that certain keys will
always be written the same, e.g. Control will always be CTRL.
For normal mode commands there is no prefix and the topic is available at
:h CTRL-<Letter>. E.g. >
:help CTRL-W
< In contrast >
:help c_CTRL-R
< will describe what the Ctrl-R does when entering commands in the Command
line and >
:help v_Ctrl-A
< talks about incrementing numbers in visual mode and >
:help g_CTRL-A
< talks about the g<C-A> command (e.g. you have to press "g" then <Ctrl-A>).
Here the "g" stand for the normal command "g" which always expects a second
key before doing something similar to the commands starting with "z"
11) Regexp items always start with /. So to get help for the "\+" quantifier
in Vim regexes: >
:help /\+
< If you need to know everything about regular expressions, start reading
at: >
< If you need to know everything about regular expressions, start reading
at: >
:help pattern.txt
11) Registers always start with "quote". To find out about the special ":"
12) Registers always start with "quote". To find out about the special ":"
register: >
:help quote:
12) Vim Script (VimL) is available at >
13) Vim Script (VimL) is available at >
:help eval.txt
< Certain aspects of the language are available at :h expr-X where "X" is a
single letter. E.g. >
@@ -600,7 +604,7 @@ Summary: *help-summary* >
< talks about the append VimL function rather than how to append text in the
current buffer.
13) Mappings are talked about in the help page :h |map.txt|. Use >
14) Mappings are talked about in the help page :h |map.txt|. Use >
:help mapmode-i
< to find out about the |:imap| command. Also use :map-topic
to find out about certain subtopics particular for mappings. e.g: >
@@ -609,19 +613,19 @@ Summary: *help-summary* >
:help map-bar
< for how the '|' is handled in mappings.
14) Command definitions are talked about :h command-topic, so use >
15) Command definitions are talked about :h command-topic, so use >
:help command-bar
< to find out about the '!' argument for custom commands.
15) Window management commands always start with CTRL-W, so you find the
16) Window management commands always start with CTRL-W, so you find the
corresponding help at :h CTRL-W_letter. E.g. >
:help CTRL-W_p
< for moving the previous accessed window). You can also access >
< for moving the previous accessed window. You can also access >
:help windows.txt
< and read your way through if you are looking for window handling
commands.
16) Use |:helpgrep| to search in all help pages (and also of any installed
17) Use |:helpgrep| to search in all help pages (and also of any installed
plugins). See |:helpgrep| for how to use it.
To search for a topic: >
:helpgrep topic
@@ -632,7 +636,7 @@ Summary: *help-summary* >
:copen
< Move around to the match you like and press Enter to jump to that help.
17) The user manual. This describes help topics for beginners in a rather
18) The user manual. This describes help topics for beginners in a rather
friendly way. Start at |usr_toc.txt| to find the table of content (as you
might have guessed): >
:help usr_toc.txt
@@ -645,31 +649,31 @@ Summary: *help-summary* >
:help 10.1
< goes to chapter 10.1 in |usr_10.txt| and talks about recording macros.
18) Highlighting groups. Always start with hl-groupname. E.g. >
19) Highlighting groups. Always start with hl-groupname. E.g. >
:help hl-WarningMsg
< talks about the WarningMsg highlighting group.
19) Syntax highlighting is namespaced to :syn-topic e.g. >
20) Syntax highlighting is namespaced to :syn-topic e.g. >
:help :syn-conceal
< talks about the conceal argument for the :syn command.
20) Quickfix commands usually start with :c while location list commands
21) Quickfix commands usually start with :c while location list commands
usually start with :l
21) Autocommand events can be found by their name: >
22) Autocommand events can be found by their name: >
:help BufWinLeave
< To see all possible events: >
:help autocommands-events
22) Command-line switches always start with "-". So for the help of the -f
23) Command-line switches always start with "-". So for the help of the -f
command switch of Vim use: >
:help -f
23) Optional features always start with "+". To find out about the
24) Optional features always start with "+". To find out about the
conceal feature use: >
:help +conceal
24) Documentation for included filetype specific functionality is usually
25) Documentation for included filetype specific functionality is usually
available in the form ft-<filetype>-<functionality>. So >
:help ft-c-syntax
< talks about the C syntax file and the option it provides. Sometimes,
@@ -679,7 +683,7 @@ Summary: *help-summary* >
:help ft-tex-plugin
< are available.
25) Error and Warning codes can be looked up directly in the help. So >
26) Error and Warning codes can be looked up directly in the help. So >
:help E297
< takes you exactly to the description of the swap error message and >
:help W10
+10 -1
View File
@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 7.4. Last change: 2015 Nov 30
*usr_41.txt* For Vim version 7.4. Last change: 2016 Feb 02
VIM USER MANUAL - by Bram Moolenaar
@@ -893,6 +893,14 @@ Testing: *test-functions*
assert_false() assert that an expression is false
assert_true() assert that an expression is true
Inter-process communication:
ch_open() open a channel
ch_close() close a channel
ch_sendexpr() send a JSON message over a channel
ch_sendraw() send a raw message over a channel
jsonencode() encode an expression to a JSON string
jsondecode() decode a JSON string to Vim types
Various: *various-functions*
mode() get current editing mode
visualmode() last visual mode used
@@ -921,6 +929,7 @@ Various: *various-functions*
luaeval() evaluate Lua expression
mzeval() evaluate |MzScheme| expression
perleval() evaluate Perl expression (|+perl|)
py3eval() evaluate Python expression (|+python3|)
pyeval() evaluate Python expression (|+python|)
wordcount() get byte/word/char count of buffer
+3 -7
View File
@@ -1,4 +1,4 @@
*various.txt* For Vim version 7.4. Last change: 2016 Jan 10
*various.txt* For Vim version 7.4. Last change: 2016 Jan 31
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -208,8 +208,6 @@ g8 Print the hex values of the bytes used in the
Example: >
:exe "normal \<c-w>\<c-w>"
< {not in Vi, of course}
{not available when the |+ex_extra| feature was
disabled at compile time}
:{range}norm[al][!] {commands} *:normal-range*
Execute Normal mode commands {commands} for each line
@@ -218,8 +216,6 @@ g8 Print the hex values of the bytes used in the
for each line. Otherwise it's the same as the
":normal" command without a range.
{not in Vi}
{not available when |+ex_extra| feature was disabled
at compile time}
*:sh* *:shell* *E371*
:sh[ell] This command starts a shell. When the shell exits
@@ -319,6 +315,7 @@ N *+builtin_terms* some terminals builtin |builtin-terms|
B *++builtin_terms* maximal terminals builtin |builtin-terms|
N *+byte_offset* support for 'o' flag in 'statusline' option, "go"
and ":goto" commands.
m *+channel* inter process communication |channel|
N *+cindent* |'cindent'|, C indenting
N *+clientserver* Unix and Win32: Remote invocation |clientserver|
*+clipboard* |clipboard| support
@@ -341,8 +338,7 @@ m *+directx* Win32 GUI only: DirectX and |'renderoptions'|
*+dnd* Support for DnD into the "~ register |quote_~|.
B *+emacs_tags* |emacs-tags| files
N *+eval* expression evaluation |eval.txt|
N *+ex_extra* Vim's extra Ex commands: |:center|, |:left|,
|:normal|, |:retab| and |:right|
N *+ex_extra* always on now, used to be for Vim's extra Ex commands
N *+extra_search* |'hlsearch'| and |'incsearch'| options.
B *+farsi* |farsi| language
N *+file_in_path* |gf|, |CTRL-W_f| and |<cfile>|
+1 -1
View File
@@ -159,7 +159,7 @@ Note: "+" と "\-c" は合わせて 10 個まで指定できます。
.TP
\-b
バイナリモード。
バイナリファイルを編集ためのオプションがいくつか設定されます。
バイナリファイルを編集するためのオプションがいくつか設定されます。
.TP
\-C
互換モード。'compatible' オプションがオンになります。
+2 -2
View File
@@ -1,4 +1,4 @@
*windows.txt* For Vim version 7.4. Last change: 2015 Nov 14
*windows.txt* For Vim version 7.4. Last change: 2016 Feb 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -721,7 +721,7 @@ can also get to them with the buffer list commands, like ":bnext".
*:bufdo*
:[range]bufdo[!] {cmd} Execute {cmd} in each buffer in the buffer list or if
[range] is given only for buffers for which their
buffer numer is in the [range]. It works like doing
buffer number is in the [range]. It works like doing
this: >
:bfirst
:{cmd}
+17 -1
View File
@@ -61,6 +61,16 @@
行末には ascii (または ebcdic) で表した場合の文字が表示されます。
このモードでは \-r、\-p、\-i は機能しません。
.TP
.IR \-e
リトルエンディアンの 16 進ダンプに切り替える。
このオプションは、バイトのグループをリトルエンディアンのバイト順のワードとして
扱います。標準のグルーピングは 4 バイトですが、
.RI "" \-g
を使うことで変更可能です。
このオプションは 16 進ダンプのみに適用され、ASCII (あるいは EBCDIC) 表示は
変更されません。
このモードでは \-r、\-p、\-i は機能しません。
.TP
.IR "\-c cols " | " \-cols cols"
一行
.RI < cols >
@@ -80,7 +90,8 @@
.I \-g 0
を指定してください。
.RI < Bytes >
の標準設定は \fI2\fPす。2 進ダンプの場合は \fI1\fP です。
の標準設定は \fI2\fP、リトルエンディアンモードの場合は \fI4\fP
2 進ダンプの場合は \fI1\fP です。
ポストスクリプト形式やインクルード形式で出力するときは、このオプションは使わ
れません。
.TP
@@ -95,6 +106,11 @@ C インクルードファイル形式で出力します。入力ファイルの
.RI < len >
オクテットだけ出力する。
.TP
.I \-o offset
表示されるファイル位置に
.RI < offset >
を加算する。
.TP
.IR \-p " | " \-ps " | " \-postscript " | " \-plain
ポストスクリプト形式の 16 進ダンプを出力する。別名 プレーン 16 進ダンプ。
.TP
+15 -15
View File
@@ -1,11 +1,11 @@
" Vim indent file
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
" Version: 0.42
" Last Change: 2015 Nov. 30
" Version: 0.44
" Last Change: 2016 Jan. 26
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
" Usage: For instructions, do :help fortran-indent from Vim
" Credits:
" Useful suggestions were made by: Albert Oliver Serra.
" Useful suggestions were made by: Albert Oliver Serra and Takuya Fujiwara.
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -92,10 +92,10 @@ function FortranGetIndent(lnum)
"Indent do loops only if they are all guaranteed to be of do/end do type
if exists("b:fortran_do_enddo") || exists("g:fortran_do_enddo")
if prevstat =~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*do\>'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
if getline(v:lnum) =~? '^\s*\(\d\+\s\)\=\s*end\s*do\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
endif
@@ -105,14 +105,14 @@ function FortranGetIndent(lnum)
\ ||prevstat=~? '^\s*\(type\|interface\|associate\|enum\)\>'
\ ||prevstat=~?'^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*\(forall\|where\|block\)\>'
\ ||prevstat=~? '^\s*\(\d\+\s\)\=\s*\(\a\w*\s*:\)\=\s*if\>'
let ind = ind + &sw
let ind = ind + shiftwidth()
" Remove unwanted indent after logical and arithmetic ifs
if prevstat =~? '\<if\>' && prevstat !~? '\<then\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
" Remove unwanted indent after type( statements
if prevstat =~? '^\s*type\s*('
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
endif
@@ -125,12 +125,12 @@ function FortranGetIndent(lnum)
\ ||prevstat =~? '^\s*'.prefix.'subroutine\>'
\ ||prevstat =~? '^\s*'.prefix.type.'function\>'
\ ||prevstat =~? '^\s*'.type.prefix.'function\>'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
if getline(v:lnum) =~? '^\s*contains\>'
\ ||getline(v:lnum)=~? '^\s*end\s*'
\ .'\(function\|subroutine\|module\|program\)\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
endif
@@ -141,23 +141,23 @@ function FortranGetIndent(lnum)
\. '\(else\|else\s*if\|else\s*where\|case\|'
\. 'end\s*\(if\|where\|select\|interface\|'
\. 'type\|forall\|associate\|enum\|block\)\)\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
" Fix indent for case statement immediately after select
if prevstat =~? '\<select\s\+\(case\|type\)\>'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
endif
"First continuation line
if prevstat =~ '&\s*$' && prev2stat !~ '&\s*$'
let ind = ind + &sw
let ind = ind + shiftwidth()
endif
if prevstat =~ '&\s*$' && prevstat =~ '\<else\s*if\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
"Line after last continuation line
if prevstat !~ '&\s*$' && prev2stat =~ '&\s*$' && prevstat !~? '\<then\>'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
return ind
+2 -2
View File
@@ -3,7 +3,7 @@
" Maintainer: Christian Brabandt <cb@256bit.org>
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
" Original Author: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2015-12-15
" Latest Revision: 2016-01-15
" License: Vim (see :h license)
" Repository: https://github.com/chrisbra/vim-sh-indent
@@ -28,7 +28,7 @@ let s:cpo_save = &cpo
set cpo&vim
function s:buffer_shiftwidth()
return &shiftwidth
return shiftwidth()
endfunction
let s:sh_indent_defaults = {
+7 -7
View File
@@ -1,7 +1,7 @@
" Vim indent file
" Language: Vim script
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2014 Dec 12
" Last Change: 2016 Jan 24
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -58,19 +58,19 @@ function GetVimIndentIntern()
if exists("g:vim_indent_cont")
let ind = ind + g:vim_indent_cont
else
let ind = ind + &sw * 3
let ind = ind + shiftwidth() * 3
endif
elseif prev_text =~ '^\s*aug\%[roup]' && prev_text !~ '^\s*aug\%[roup]\s*!\=\s\+END'
let ind = ind + &sw
let ind = ind + shiftwidth()
else
" A line starting with :au does not increment/decrement indent.
if prev_text !~ '^\s*au\%[tocmd]'
let i = match(prev_text, '\(^\||\)\s*\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\%[lly]\|fu\%[nction]\|el\%[seif]\)\>')
if i >= 0
let ind += &sw
let ind += shiftwidth()
if strpart(prev_text, i, 1) == '|' && has('syntax_items')
\ && synIDattr(synID(lnum, i, 1), "name") =~ '\(Comment\|String\)$'
let ind -= &sw
let ind -= shiftwidth()
endif
endif
endif
@@ -82,7 +82,7 @@ function GetVimIndentIntern()
let i = match(prev_text, '[^\\]|\s*\(ene\@!\)')
if i > 0 && prev_text !~ '^\s*au\%[tocmd]'
if !has('syntax_items') || synIDattr(synID(lnum, i + 2, 1), "name") !~ '\(Comment\|String\)$'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
endif
@@ -90,7 +90,7 @@ function GetVimIndentIntern()
" Subtract a 'shiftwidth' on a :endif, :endwhile, :catch, :finally, :endtry,
" :endfun, :else and :augroup END.
if cur_text =~ '^\s*\(ene\@!\|cat\|fina\|el\|aug\%[roup]\s*!\=\s\+[eE][nN][dD]\)'
let ind = ind - &sw
let ind = ind - shiftwidth()
endif
return ind
+6 -6
View File
@@ -1,7 +1,7 @@
" Vim indent file
" Language: Zimbu
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2012 Sep 08
" Last Change: 2016 Jan 25
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -74,9 +74,9 @@ func GetZimbuIndent(lnum)
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|String\\|Char\\)$'")
if pp > 0
return indent(prevLnum) + &sw
return indent(prevLnum) + shiftwidth()
endif
return indent(prevLnum) + &sw * 2
return indent(prevLnum) + shiftwidth() * 2
endif
if plnumstart == p
return indent(prevLnum)
@@ -102,13 +102,13 @@ func GetZimbuIndent(lnum)
endif
if prevline =~ '^\s*\(IF\|\|ELSEIF\|ELSE\|GENERATE_IF\|\|GENERATE_ELSEIF\|GENERATE_ELSE\|WHILE\|REPEAT\|TRY\|CATCH\|FINALLY\|FOR\|DO\|SWITCH\|CASE\|DEFAULT\|FUNC\|VIRTUAL\|ABSTRACT\|DEFINE\|REPLACE\|FINAL\|PROC\|MAIN\|NEW\|ENUM\|CLASS\|INTERFACE\|BITS\|MODULE\|SHARED\)\>'
let plindent += &sw
let plindent += shiftwidth()
endif
if thisline =~ '^\s*\(}\|ELSEIF\>\|ELSE\>\|CATCH\|FINALLY\|GENERATE_ELSEIF\>\|GENERATE_ELSE\>\|UNTIL\>\)'
let plindent -= &sw
let plindent -= shiftwidth()
endif
if thisline =~ '^\s*\(CASE\>\|DEFAULT\>\)' && prevline !~ '^\s*SWITCH\>'
let plindent -= &sw
let plindent -= shiftwidth()
endif
" line up continued comment that started after some code
+7 -5
View File
@@ -1,10 +1,12 @@
" vi:set ts=8 sts=8 sw=8 tw=0:
"
" Menu Translations: Japanese (EUC-JP)
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 12-May-2013.
" Last Translator: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 28-Jan-2016.
"
" Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
" vim-jp (http://vim-jp.org/)
"
" Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
" Quit when menu translations have already been done.
@@ -20,7 +22,7 @@ scriptencoding euc-jp
" Help menu
menutrans &Help ヘルプ(&H)
menutrans &Overview<Tab><F1> 概略(&O)<Tab><F1>
menutrans &User\ Manual ユーザマニュアル(&U)
menutrans &User\ Manual ユーザマニュアル(&U)
menutrans &How-to\ links &How-toリンク
menutrans &Credits クレジット(&C)
menutrans Co&pying 著作権情報(&P)
@@ -138,7 +140,7 @@ menutrans &Tools
menutrans &Jump\ to\ this\ tag<Tab>g^] タグジャンプ(&J)<Tab>g^]
menutrans Jump\ &back<Tab>^T 戻る(&B)<Tab>^T
menutrans Build\ &Tags\ File タグファイル作成(&T)
menutrans &Make<Tab>:make メイク(&M)<Tab>:make
menutrans &Make<Tab>:make ビルド(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl エラーリスト(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! メッセージリスト(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn 次のエラーへ(&N)<Tab>:cn
+7 -5
View File
@@ -1,10 +1,12 @@
" vi:set ts=8 sts=8 sw=8 tw=0:
"
" Menu Translations: Japanese (UTF-8)
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 12-May-2013.
" Last Translator: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 28-Jan-2016.
"
" Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
" vim-jp (http://vim-jp.org/)
"
" Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
" Quit when menu translations have already been done.
@@ -20,7 +22,7 @@ scriptencoding utf-8
" Help menu
menutrans &Help ヘルプ(&H)
menutrans &Overview<Tab><F1> 概略(&O)<Tab><F1>
menutrans &User\ Manual ユーザマニュアル(&U)
menutrans &User\ Manual ユーザマニュアル(&U)
menutrans &How-to\ links &How-toリンク
menutrans &Credits クレジット(&C)
menutrans Co&pying 著作権情報(&P)
@@ -138,7 +140,7 @@ menutrans &Tools ツール(&T)
menutrans &Jump\ to\ this\ tag<Tab>g^] タグジャンプ(&J)<Tab>g^]
menutrans Jump\ &back<Tab>^T 戻る(&B)<Tab>^T
menutrans Build\ &Tags\ File タグファイル作成(&T)
menutrans &Make<Tab>:make メイク(&M)<Tab>:make
menutrans &Make<Tab>:make ビルド(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl エラーリスト(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! メッセージリスト(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn 次のエラーへ(&N)<Tab>:cn
+7 -5
View File
@@ -1,10 +1,12 @@
" vi:set ts=8 sts=8 sw=8 tw=0:
"
" Menu Translations: Japanese (CP932)
" Translated By: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 12-May-2013.
" Last Translator: MURAOKA Taro <koron.kaoriya@gmail.com>
" Last Change: 28-Jan-2016.
"
" Copyright (C) 2001-2016 MURAOKA Taro <koron.kaoriya@gmail.com>,
" vim-jp (http://vim-jp.org/)
"
" Copyright (C) 2001-13 MURAOKA Taro <koron.kaoriya@gmail.com>
" THIS FILE IS DISTRIBUTED UNDER THE VIM LICENSE.
" Quit when menu translations have already been done.
@@ -20,7 +22,7 @@ scriptencoding cp932
" Help menu
menutrans &Help ヘルプ(&H)
menutrans &Overview<Tab><F1> 概略(&O)<Tab><F1>
menutrans &User\ Manual ユーザマニュアル(&U)
menutrans &User\ Manual ユーザマニュアル(&U)
menutrans &How-to\ links &How-toリンク
menutrans &Credits クレジット(&C)
menutrans Co&pying 著作権情報(&P)
@@ -138,7 +140,7 @@ menutrans &Tools
menutrans &Jump\ to\ this\ tag<Tab>g^] タグジャンプ(&J)<Tab>g^]
menutrans Jump\ &back<Tab>^T 戻る(&B)<Tab>^T
menutrans Build\ &Tags\ File タグファイル作成(&T)
menutrans &Make<Tab>:make メイク(&M)<Tab>:make
menutrans &Make<Tab>:make ビルド(&M)<Tab>:make
menutrans &List\ Errors<Tab>:cl エラーリスト(&L)<Tab>:cl
menutrans L&ist\ Messages<Tab>:cl! メッセージリスト(&I)<Tab>:cl!
menutrans &Next\ Error<Tab>:cn 次のエラーへ(&N)<Tab>:cn
+25 -17
View File
@@ -1,9 +1,9 @@
" Vim syntax file for the D programming language (version 1.076 and 2.063).
" Vim syntax file for the D programming language (version 1.076 and 2.069).
"
" Language: D
" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
" Last Change: 2013 October 5
" Version: 0.26
" Last Change: 2016 Feb 2
" Version: 0.28
"
" Contributors:
" - Jason Mills: original Maintainer
@@ -15,6 +15,7 @@
" - Steven N. Oliver
" - Sohgo Takeuchi
" - Robert Clipsham
" - Petar Kirov
"
" Please submit bugs/comments/suggestions to the github repo:
" https://github.com/JesseKPhillips/d.vim
@@ -114,17 +115,19 @@ syn keyword dTraitsIdentifier contained isIntegral isScalar isStaticArray
syn keyword dTraitsIdentifier contained isUnsigned isVirtualFunction
syn keyword dTraitsIdentifier contained isVirtualMethod isAbstractFunction
syn keyword dTraitsIdentifier contained isFinalFunction isStaticFunction
syn keyword dTraitsIdentifier contained isOverrideFunction isTemplate
syn keyword dTraitsIdentifier contained isRef isOut isLazy hasMember
syn keyword dTraitsIdentifier contained identifier getAttributes getMember
syn keyword dTraitsIdentifier contained getOverloads getProtection
syn keyword dTraitsIdentifier contained getVirtualFunctions
syn keyword dTraitsIdentifier contained getVirtualMethods parent
syn keyword dTraitsIdentifier contained classInstanceSize allMembers
syn keyword dTraitsIdentifier contained identifier getAliasThis
syn keyword dTraitsIdentifier contained getAttributes getFunctionAttributes getMember
syn keyword dTraitsIdentifier contained getOverloads getPointerBitmap getProtection
syn keyword dTraitsIdentifier contained getVirtualFunctions getVirtualIndex
syn keyword dTraitsIdentifier contained getVirtualMethods getUnitTests
syn keyword dTraitsIdentifier contained parent classInstanceSize allMembers
syn keyword dTraitsIdentifier contained derivedMembers isSame compiles
syn keyword dPragmaIdentifier contained lib msg startaddress GNU_asm
syn keyword dExternIdentifier contained Windows Pascal Java System D
syn keyword dPragmaIdentifier contained inline lib mangle msg startaddress GNU_asm
syn keyword dExternIdentifier contained C C++ D Windows Pascal System Objective-C
syn keyword dAttribute contained safe trusted system
syn keyword dAttribute contained property disable
syn keyword dAttribute contained property disable nogc
syn keyword dVersionIdentifier contained DigitalMars GNU LDC SDC D_NET
syn keyword dVersionIdentifier contained X86 X86_64 ARM PPC PPC64 IA64 MIPS MIPS64 Alpha
syn keyword dVersionIdentifier contained SPARC SPARC64 S390 S390X HPPA HPPA64 SH SH64
@@ -134,7 +137,7 @@ syn keyword dVersionIdentifier contained Cygwin MinGW
syn keyword dVersionIdentifier contained LittleEndian BigEndian
syn keyword dVersionIdentifier contained D_InlineAsm_X86 D_InlineAsm_X86_64
syn keyword dVersionIdentifier contained D_Version2 D_Coverage D_Ddoc D_LP64 D_PIC
syn keyword dVersionIdentifier contained unittest none all
syn keyword dVersionIdentifier contained unittest assert none all
syn cluster dComment contains=dNestedComment,dBlockComment,dLineComment
@@ -168,10 +171,10 @@ 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\_s" 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\_s" 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
@@ -246,13 +249,17 @@ syn match dUnicode "\\u\d\{4\}"
" String.
"
syn region dString start=+"+ end=+"[cwd]\=+ skip=+\\\\\|\\"+ contains=dEscSequence,@Spell
syn match dFormat display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
syn match dFormat display "%%" contained
syn region dString start=+"+ end=+"[cwd]\=+ skip=+\\\\\|\\"+ contains=dFormat,dEscSequence,@Spell
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=+^\z1"+ contains=@Spell
" Nesting delimited string contents
"
syn region dNestParenString start=+(+ end=+)+ contained transparent contains=dNestParenString,@Spell
@@ -276,8 +283,8 @@ syn cluster dTokens add=dString,dRawString,dHexString,dDelimString,dNestString
" Token strings
"
syn region dNestTokenString start=+{+ end=+}+ contained contains=dNestTokenString,@dTokens
syn region dTokenString matchgroup=dTokenStringBrack transparent start=+q{+ end=+}+ contains=dNestTokenString,@dTokens
syn region dNestTokenString start=+{+ end=+}+ contained contains=dNestTokenString,@dTokens,dFormat
syn region dTokenString matchgroup=dTokenStringBrack transparent start=+q{+ end=+}+ contains=dNestTokenString,@dTokens,dFormat
syn cluster dTokens add=dTokenString
@@ -357,6 +364,7 @@ hi def link dString String
hi def link dHexString String
hi def link dCharacter Character
hi def link dEscSequence SpecialChar
hi def link dFormat SpecialChar
hi def link dSpecialCharError Error
hi def link dOctalError Error
hi def link dOperator Operator
+5 -5
View File
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: DCL (Digital Command Language - vms)
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Oct 23, 2014
" Version: 7
" Last Change: Jan 20, 2016
" Version: 8
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_DCL
" For version 5.x: Clear all syntax items
@@ -13,10 +13,10 @@ elseif exists("b:current_syntax")
finish
endif
if version < 600
set iskeyword=$,@,48-57,_
else
if !has("patch-7.4.1141")
setlocal iskeyword=$,@,48-57,_
else
syn iskeyword $,@,48-57,_
endif
syn case ignore
+5 -3
View File
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Lisp
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Oct 06, 2014
" Version: 23
" Last Change: Jan 20, 2016
" Version: 24
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_LISP
"
" Thanks to F Xavier Noria for a list of 978 Common Lisp symbols taken from HyperSpec
@@ -16,8 +16,10 @@ endif
if exists("g:lisp_isk")
exe "setl isk=".g:lisp_isk
else
elseif !has("patch-7.4.1141")
setl isk=38,42,43,45,47-58,60-62,64-90,97-122,_
else
syn iskeyword 38,42,43,45,47-58,60-62,64-90,97-122,_
endif
if exists("g:lispsyntax_ignorecase") || exists("g:lispsyntax_clisp")
+6 -5
View File
@@ -1,6 +1,6 @@
" Vim syntax support file
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2008 Jan 26
" Last Change: 2016 Feb 01
" This file is used for ":syntax manual".
" It installs the Syntax autocommands, but no the FileType autocommands.
@@ -16,10 +16,11 @@ endif
let syntax_manual = 1
" Remove the connection between FileType and Syntax autocommands.
if exists('#syntaxset')
au! syntaxset FileType
endif
" Overrule the connection between FileType and Syntax autocommands. This sets
" the syntax when the file type is detected, without changing the value.
augroup syntaxset
au! FileType * exe "set syntax=" . &syntax
augroup END
" If the GUI is already running, may still need to install the FileType menu.
" Don't do it when the 'M' flag is included in 'guioptions'.
+5 -5
View File
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Maple V (based on release 4)
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: Oct 23, 2014
" Version: 11
" Last Change: Jan 20, 2016
" Version: 12
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_MAPLE
"
" Package Function Selection: {{{1
@@ -30,10 +30,10 @@ elseif exists("b:current_syntax")
endif
" Iskeyword Effects: {{{1
if version < 600
set iskeyword=$,48-57,_,a-z,@-Z
if !has("patch-7.4.1141")
setl isk=$,48-57,_,a-z,@-Z
else
setlocal iskeyword=$,48-57,_,a-z,@-Z
syn iskeyword $,48-57,_,a-z,@-Z
endif
" Package Selection: {{{1
+2 -1
View File
@@ -3,6 +3,7 @@
" Maintainer: Yakov Lerner <iler.ml@gmail.com>
" Latest Revision: 2008-06-29
" Changes: 2008-06-29 support for RFC3339 tuimestamps James Vega
" 2016 Jan 19: messagesDate changed by Bram
if exists("b:current_syntax")
finish
@@ -13,7 +14,7 @@ set cpo&vim
syn match messagesBegin display '^' nextgroup=messagesDate,messagesDateRFC3339
syn match messagesDate contained display '\a\a\a [ 0-9]\d *'
syn match messagesDate contained display '[[:lower:][:upper:]][[:lower:][:upper:]][[:lower:][:upper:]] [ 0-9]\d *'
\ nextgroup=messagesHour
syn match messagesHour contained display '\d\d:\d\d:\d\d\s*'
+5 -3
View File
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: TeX
" Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
" Last Change: Oct 20, 2015
" Version: 90
" Last Change: Jan 20, 2016
" Version: 91
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
"
" Notes: {{{1
@@ -129,8 +129,10 @@ endif
" g:tex_isk
if exists("g:tex_isk")
exe "setlocal isk=".g:tex_isk
elseif !has("patch-7.4.1141")
setl isk=48-57,a-z,A-Z,192-255
else
setlocal isk=48-57,a-z,A-Z,192-255
syn iskeyword 48-57,a-z,A-Z,192-255
endif
if b:tex_stylish
setlocal isk+=@-@
+34 -27
View File
@@ -1,8 +1,8 @@
" Vim syntax file
" Language: Vim 7.4 script
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Last Change: January 04, 2016
" Version: 7.4-39
" Last Change: January 20, 2016
" Version: 7.4-40
" Automatically generated keyword lists: {{{1
" Quit when a syntax file was already loaded {{{2
@@ -18,38 +18,39 @@ syn keyword vimTodo contained COMBAK FIXME TODO XXX
syn cluster vimCommentGroup contains=vimTodo,@Spell
" regular vim commands {{{2
syn keyword vimCommand contained a arga[dd] argl[ocal] ba[ll] bn[ext] breakd[el] bufdo cabc[lear] cat[ch] ce[nter] cgetb[uffer] che[ckpath] cmapc[lear] cnf com cope[n] cs de delep delf di difft[his] dj[ump] dr[op] ec elsei[f] endf[unction] exi[t] filetype fix[del] for gr[ep] h[elp] hid[e] ij[ump] isp[lit] keepalt lad la[st] lcl[ose] lex[pr] lgete[xpr] ll lne lnf[ile] loc[kmarks] lr[ewind] lv[imgrep] marks mk mkv[imrc] mz[scheme] new noswap[file] o[pen] ped[it] pp[op] profd[el] ptf[irst] ptN[ext] py python3 re redr[aw] rew[ind] rubyf[ile] sa[rgument] sbn[ext] scripte[ncoding] setf[iletype] sh[ell] sim[alt] sm[ap] sni[ff] sor[t] spelli[nfo] spr[evious] start st[op] sunmenu syn ta tabf[ind] tabnew tabr[ewind] tcld[o] tj[ump] tN tr tu[nmenu] undoj[oin] uns[ilent] ve[rsion] vimgrepa[dd] vs[plit] winc[md] wN[ext] ws[verb] x[it] xnoremenu
syn keyword vimCommand contained ab argd ar[gs] bd[elete] bN[ext] breakl[ist] b[uffer] cad cb[uffer] cex[pr] cgete[xpr] checkt[ime] cn cNf comc[lear] co[py] cscope debug d[elete] delf[unction] diffg[et] diffu[pdate] dl ds[earch] echoe[rr] em[enu] en[dif] exu[sage] fin fo[ld] fu grepa[dd] helpc[lose] his[tory] il[ist] iuna[bbrev] keepj[umps] laddb[uffer] lat lcs lf lg[etfile] lla[st] lnew[er] lNf[ile] lockv[ar] ls lvimgrepa[dd] mat[ch] mk[exrc] mo n n[ext] nu[mber] opt[ions] pe[rl] pr prof[ile] ptj[ump] ptp[revious] py3 q r[ead] redraws[tatus] ri[ght] rundo sav[eas] sbN[ext] scrip[tnames] setg[lobal] si sl sme sno[magic] so[urce] spellr[epall] sre[wind] startg[replace] stopi[nsert] sus[pend] sync tab tabfir[st] tabn[ext] tabs tclf[ile] tl[ast] tn[ext] tr[ewind] u undol[ist] up[date] vert[ical] vi[sual] w windo wp[revious] wundo xmapc[lear] xunme
syn keyword vimCommand contained abc[lear] argd[elete] argu[ment] bel[owright] bo[tright] br[ewind] buffers caddb[uffer] cc cf cg[etfile] cl cN cnf[ile] comp[iler] cpf[ile] cstag debugg[reedy] deletel dell diffo[ff] dig dli[st] dsp[lit] echom[sg] en endt[ry] f fina[lly] foldc[lose] fun gui helpf[ind] i imapc[lear] j[oin] kee[pmarks] lad[dexpr] later lcscope lfdo lgr[ep] lli[st] lne[xt] lo lol[der] lt[ag] lw[indow] menut mks[ession] mod[e] nbc[lose] nmapc[lear] o ownsyntax perld[o] pre[serve] promptf[ind] ptl[ast] ptr[ewind] py3do qa[ll] rec[over] reg[isters] rightb[elow] ru[ntime] sba[ll] sbp[revious] scs setl[ocal] sig sla[st] smenu snoreme spe spellu[ndo] st star[tinsert] sts[elect] sv[iew] syncbind tabc[lose] tabl[ast] tabN[ext] ta[g] te[aroff] tm tN[ext] try un unh[ide] v vi viu[sage] wa[ll] winp[os] wq wv[iminfo] xme xunmenu
syn keyword vimCommand contained abo[veleft] argdo as[cii] bf[irst] bp[revious] bro[wse] bun[load] cad[dexpr] ccl[ose] cfdo c[hange] cla[st] cnew[er] cNf[ile] con cp[revious] cuna[bbrev] del deletep delm[arks] diffp[atch] dig[raphs] do e echon endf endw[hile] f[ile] fin[d] folddoc[losed] fu[nction] gvim helpg[rep] ia in ju[mps] keepp[atterns] laddf[ile] lb[uffer] ld[o] lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lop[en] lua ma menut[ranslate] mksp[ell] m[ove] nb[key] noa ol[dfiles] p po[p] prev[ious] promptr[epl] ptn pts[elect] pydo q[uit] red res[ize] ru rv[iminfo] sbf[irst] sbr[ewind] scscope sf[ind] sign sl[eep] sn[ext] snoremenu spelld[ump] spellw[rong] sta[g] startr[eplace] sun[hide] sw[apname] syntime tabd[o] tabm[ove] tabo[nly] tags tf[irst] tm[enu] to[pleft] ts[elect] una[bbreviate] unl ve vie[w] vmapc[lear] wh[ile] win[size] wqa[ll] x xmenu xwininfo
syn keyword vimCommand contained al[l] arge[dit] au bl[ast] brea[k] bu bw[ipeout] caddf[ile] cd cf[ile] changes cl[ist] cn[ext] col[der] conf[irm] cq[uit] cw[indow] delc[ommand] deletl delp diffpu[t] dir doau ea e[dit] endfo[r] ene[w] files fini[sh] foldd[oopen] g h helpt[ags] iabc[lear] intro k l lan lc[d] le[ft] lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lpf[ile] luado mak[e] mes mkv mz nbs[tart] noautocmd omapc[lear] pc[lose] popu p[rint] ps[earch] ptN pu[t] pyf[ile] quita[ll] redi[r] ret[ab] rub[y] sal[l] sbl[ast] sb[uffer] se[t] sfir[st] sil[ent] sm[agic] sN[ext] so spe[llgood] sp[lit] star stj[ump] sunme sy t tabe[dit] tabN tabp[revious] tc[l] th[row] tn tp[revious] tu u[ndo] unlo[ckvar] verb[ose] vim[grep] vne[w] win wn[ext] w[rite] xa[ll] xnoreme y[ank]
syn keyword vimCommand contained ar argg[lobal] bad[d] bm[odified] breaka[dd] buf c cal[l] cdo cfir[st] chd[ir] clo[se] cN[ext] colo[rscheme] con[tinue] cr[ewind] d delel deletp dep diffs[plit] di[splay] dp earlier el[se] endfun ex filet fir[st] foldo[pen] go[to] ha[rdcopy] hi if is[earch] keepa la lan[guage] lch[dir] lefta[bove] lgetb[uffer] l[ist] lN lNf lo[adview] lp[revious] luafile ma[rk] messages mkvie[w] mzf[ile] ne noh[lsearch] on[ly] pe popu[p] pro pta[g] ptn[ext] pw[d] py[thon] r red[o] retu[rn] rubyd[o] san[dbox] sbm[odified] scrip
syn keyword vimCommand contained a argd argu[ment] bf[irst] brea[k] buf cabc[lear] cc cfdo changes clo[se] cN[ext] colo[rscheme] con[tinue] cr[ewind] d delel deletp dep diffpu[t] dir doau ea e[dit] endfo[r] ene[w] files fini[sh] foldd[oopen] g h helpt[ags] iabc[lear] intro k l lan lc[d] le[ft] lfir[st] lh[elpgrep] lmapc[lear] lnf loadkeymap lpf[ile] luado mak[e] mes mkv mz nbs[tart] noautocmd o ownsyntax perld[o] pre[serve] promptf[ind] ptl[ast] ptr[ewind] py3do qa[ll] rec[over] reg[isters] rightb[elow] ru[ntime] sba[ll] sbp[revious] sci scr[iptnames] setl[ocal] sgi sh[ell] sIe sil[ent] sir sm[ap] sno[magic] sp spellu[ndo] sre[wind] srp star[tinsert] sun[hide] sy ta tabfir[st] tabN[ext] tags th[row] tN tr[ewind] un unl verb[ose] vimgrepa[dd] w winp[os] wqa[ll] xa[ll] xnoremenu
syn keyword vimCommand contained ab argd[elete] as[cii] bl[ast] breaka[dd] bufdo cad[dbuffer] ccl[ose] cf[ile] chd[ir] cmapc[lear] cnf com cope[n] cs de delep delf di diffs[plit] di[splay] dp earlier el[se] endfun ex filet fir[st] foldo[pen] go[to] ha[rdcopy] hi if is[earch] keepa la lan[guage] lch[dir] lefta[bove] lgetb[uffer] l[ist] lN lNf lo[adview] lp[revious] luafile ma[rk] messages mkvie[w] mzf[ile] ne noh[lsearch] ol[dfiles] p po[p] prev[ious] promptr[epl] ptn pts[elect] pydo q[uit] red res[ize] ru rv[iminfo] sbf[irst] sbr[ewind] scI scs sf[ind] sgI si sig sim[alt] sIr sme snoreme spe spellw[rong] srg st startr[eplace] sunme syn tab tabl[ast] tabo[nly] tc[l] tj[ump] tn[ext] try una[bbreviate] unlo[ckvar] ve[rsion] vi[sual] wa[ll] win[size] w[rite] x[it] xprop
syn keyword vimCommand contained abc[lear] argdo au bm[odified] breakd[el] b[uffer] cadde[xpr] cd cfir[st] che[ckpath] cn cNf comc[lear] co[py] cscope debug d[elete] delf[unction] dif difft[his] dj[ump] dr[op] ec elsei[f] endf[unction] exi[t] filetype fix[del] for gr[ep] h[elp] hid[e] ij[ump] isp[lit] keepalt lad la[st] lcl[ose] lex[pr] lgete[xpr] ll lne lnf[ile] loc[kmarks] lr[ewind] lv[imgrep] marks mk mkv[imrc] mz[scheme] new nor omapc[lear] pc[lose] popu p[rint] ps[earch] ptN pu[t] pyf[ile] quita[ll] redi[r] ret[ab] rub[y] sal[l] sbl[ast] sb[uffer] scl scscope sfir[st] sgl sI sIg sin sl smenu snoremenu spelld[ump] sp[lit] sri sta[g] stj[ump] sunmenu sync tabc[lose] tabm[ove] tabp[revious] tcld[o] tl[ast] tN[ext] ts[elect] u[ndo] uns[ilent] vert[ical] viu[sage] wh[ile] wn[ext] ws[verb] xmapc[lear] xunme
syn keyword vimCommand contained abo[veleft] arge[dit] bad[d] bn[ext] breakl[ist] buffers caddf[ile] cdo cgetb[uffer] checkt[ime] cN cnf[ile] comp[iler] cpf[ile] cstag debugg[reedy] deletel dell diffg[et] dif[fupdate] dl ds[earch] echoe[rr] em[enu] en[dif] exu[sage] fin fo[ld] fu grepa[dd] helpc[lose] his[tory] il[ist] iuna[bbrev] keepj[umps] laddb[uffer] lat lcs lf lg[etfile] lla[st] lnew[er] lNf[ile] lockv[ar] ls lvimgrepa[dd] mat[ch] mk[exrc] mo n n[ext] nore on[ly] pe popu[p] pro pta[g] ptn[ext] pw[d] py[thon] r red[o] retu[rn] rubyd[o] san[dbox] sbm[odified] sc scp se[t] sg sgn sic sign sIn sla[st] sn[ext] so spe[llgood] spr[evious] srI star st[op] sus[pend] syncbind tabd[o] tabN tabr[ewind] tclf[ile] tm to[pleft] tu undoj[oin] up[date] vi vmapc[lear] win wN[ext] wundo xme xunmenu
syn keyword vimCommand contained al[l] argg[lobal] ba[ll] bN[ext] br[ewind] bun[load] cal[l] ce[nter] cgete[xpr] cl cnew[er] cNf[ile] con cp[revious] cuna[bbrev] del deletep delm[arks] diffo[ff] dig dli[st] dsp[lit] echom[sg] en endt[ry] f fina[lly] foldc[lose] fun gui helpf[ind] i imapc[lear] j[oin] kee[pmarks] lad[dexpr] later lcscope lfdo lgr[ep] lli[st] lne[xt] lo lol[der] lt[ag] lw[indow] menut mks[ession] mod[e] nbc[lose] nmapc[lear] nos[wapfile] o[pen] ped[it] pp[op] profd[el] ptf[irst] ptN[ext] py python3 re redr[aw] rew[ind] rubyf[ile] sa[rgument] sbn[ext] sce scr setf[iletype] sgc sgp sIc sil sip sl[eep] sN[ext] sor[t] spelli[nfo] sr srl start stopi[nsert] sv[iew] syntime tabe[dit] tabnew tabs te[aroff] tm[enu] tp[revious] tu[nmenu] undol[ist] v vie[w] vne[w] winc[md] wp[revious] wv[iminfo] xmenu xwininfo
syn keyword vimCommand contained ar argl[ocal] bd[elete] bo[tright] bro[wse] bw[ipeout] cat[ch] cex[pr] cg[etfile] cla[st] cn[ext] col[der] conf[irm] cq[uit] cw[indow] delc[ommand] deletl delp diffp[atch] dig[raphs] do e echon endf endw[hile] f[ile] fin[d] folddoc[losed] fu[nction] gvim helpg[rep] ia in ju[mps] keepp[atterns] laddf[ile] lb[uffer] ld[o] lf[ile] lgrepa[dd] lmak[e] lN[ext] loadk lop[en] lua ma menut[ranslate] mksp[ell] m[ove] nb[key] noa nu[mber] opt[ions] pe[rl] pr prof[ile] ptj[ump] ptp[revious] py3 q r[ead] redraws[tatus] ri[ght] rundo sav[eas] sbN[ext] scg scripte[ncoding] setg[lobal] sge sgr sie sIl sIp sm[agic] sni[ff] so[urce] spellr[epall] src srn startg[replace] sts[elect] sw[apname] t tabf[ind] tabn[ext] ta[g] tf[irst] tn tr u unh[ide] ve vim[grep] vs[plit] windo wq x xnoreme y[ank]
syn keyword vimCommand contained arga[dd] ar[gs] bel[owright] bp[revious] bu c cb[uffer] cf c[hange] cl[ist]
syn match vimCommand contained "\<z[-+^.=]\=\>"
syn keyword vimStdPlugin contained DiffOrig Man N[ext] P[rint] S TOhtml XMLent XMLns
" vimOptions are caught only when contained in a vimSet {{{2
syn keyword vimOption contained acd ambw arshape background ballooneval bg bl brk buftype cf cinkeys cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex fileformats fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg laststatus lisp loadplugins ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pheader previewheight printmbcharset pvw readonly restorescreen rnu ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
syn keyword vimOption contained ai anti autochdir backspace balloonexpr bh bo browsedir casemap cfu cino cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lazyredraw lispwords lpl macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pi previewwindow printmbfont pythondll redrawtime revins ro ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termencoding thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
syn keyword vimOption contained akm antialias autoindent backup bdir bin bomb bs cb ch cinoptions co commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs filetype fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lbr list ls magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste perldll pm printdevice printoptions pythonthreedll regexpengine ri rop rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis terse tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
syn keyword vimOption contained al ar autoread backupcopy bdlay binary breakat bsdir cc charconvert cinw cocu compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fic fillchars fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lcs listchars lsp makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pex pmbcs printencoding prompt qe relativenumber rightleft rs runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs textauto timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
syn keyword vimOption contained aleph arab autowrite backupdir belloff biosk breakindent bsk ccv ci cinwords cole complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencoding fixendofline fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm luadll makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pexpr pmbfn printexpr pt quoteescape remap rightleftcmd rtp sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
syn keyword vimOption contained allowrevins arabic autowriteall backupext beval bioskey breakindentopt bt cd cin clipboard colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileencodings fixeol foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode pfn popt printfont pumheight rdt renderoptions rl ru sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tal tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
syn keyword vimOption contained altkeymap arabicshape aw backupskip bex bk bri bufhidden cdpath cindent cmdheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformat fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path ph preserveindent printheader pvh re report rlc rubydll sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
syn keyword vimOption contained ambiwidth ari awa balloondelay bexpr bkc briopt buflisted cedit cink cmdwinheight
syn keyword vimOption contained acd ambw arshape background ballooneval bg bl brk buftype cf cinkeys cmdwinheight com conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lazyredraw lispwords lpl macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pi previewwindow printmbfont pythondll redrawtime revins ro ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
syn keyword vimOption contained ai anti autochdir backspace balloonexpr bh bo browsedir casemap cfu cino cmp comments confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs filetype fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lbr list ls magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste perldll pm printdevice printoptions pythonthreedll regexpengine ri rop rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis termencoding thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
syn keyword vimOption contained akm antialias autoindent backup bdir bin bomb bs cb ch cinoptions cms commentstring consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fic fillchars fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lcs listchars lsp makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pex pmbcs printencoding prompt qe relativenumber rightleft rs runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs terse tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
syn keyword vimOption contained al ar autoread backupcopy bdlay binary breakat bsdir cc charconvert cinw co compatible conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencoding fixendofline fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm luadll makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pexpr pmbfn printexpr pt quoteescape remap rightleftcmd rtp sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc textauto timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
syn keyword vimOption contained aleph arab autowrite backupdir belloff biosk breakindent bsk ccv ci cinwords cocu complete copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileencodings fixeol foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode pfn popt printfont pumheight rdt renderoptions rl ru sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tal tcldll textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
syn keyword vimOption contained allowrevins arabic autowriteall backupext beval bioskey breakindentopt bt cd cin clipboard cole completefunc cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformat fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path ph preserveindent printheader pvh re report rlc rubydll sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
syn keyword vimOption contained altkeymap arabicshape aw backupskip bex bk bri bufhidden cdpath cindent cm colorcolumn completeopt cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex fileformats fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg laststatus lisp loadplugins ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pheader previewheight printmbcharset pvw readonly restorescreen rnu ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
syn keyword vimOption contained ambiwidth ari awa balloondelay bexpr bkc briopt buflisted cedit cink cmdheight columns concealcursor
" vimOptions: These are the turn-off setting variants {{{2
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noex nofen nofixendofline nofkmap nogdefault nohidden nohkmapp nohlsearch noicon noim noimcmdline noimdisable noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobiosk nobl nocf nocindent noconsk nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noeol noesckeys noexpandtab nofic nofixeol nofoldenable noguipty nohk nohkp noic noignorecase noimc noimd noincsearch noinfercase nois nojs nolbr nolisp noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb noci nocompatible noconskey nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noet noexrc nofileignorecase nofk nogd nohid nohkmap nohls
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobreakindent nocf nocindent noconsk nocp nocscopetag nocst nocul nocursorline nodg noea noedcompatible noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangnoremap nolbr nolisp nolnr nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
syn keyword vimOption contained noai noaltkeymap noar noarabicshape noautochdir noautowrite noawa nobeval nobiosk nobl nobri noci nocompatible noconskey nocrb nocscopeverbose nocsverb nocursorbind nodeco nodiff noeb noek noequalalways noet noexrc nofileignorecase nofk nofs nogdefault nohidden nohkmapp nohlsearch noignorecase noimcmdline noincsearch noinsertmode nojs nolazyredraw nolinebreak nolist noloadplugins nolz nomacatsui nomh nomod nomodifiable nomore nomousefocus nonu noodev nopaste nopreserveindent noprompt noreadonly noremap norevins norightleft nornu nors noruler nosc noscrollbind nosecure noshellslash noshiftround noshowcmd noshowmatch nosi nosmartcase nosmarttab nosn nospell nosplitright nosr nosta nostmp noswf notagbsearch notagstack notbidi notermbidi notextauto notf notildeop notitle notop nottimeout nottyfast noudf novb nowa nowb nowfh nowic nowildmenu nowinfixwidth nowmnu nowrapscan nowriteany nows
syn keyword vimOption contained noakm noanti noarab noari noautoindent noautowriteall nobackup nobin nobioskey nobomb nobuflisted nocin noconfirm nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noex nofen nofixendofline nofkmap nofsync noguipty nohk nohkp noic noim noimd noinf nois
" vimOptions: These are the invertible variants {{{2
syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbk invbuflisted invcin invconfirm invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invendofline inverrorbells invex invfen invfixendofline invfkmap invgdefault invhidden invhkmapp invhlsearch invicon invim invimcmdline invimdisable invinf invinsertmode invjoinspaces invlazyredraw invlinebreak invlist invlpl invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbiosk invbl invcf invcindent invconsk invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible inveol invesckeys invexpandtab invfic invfixeol invfoldenable invguipty invhk invhkp invic invignorecase invimc invimd invincsearch invinfercase invis invjs invlbr invlisp invloadplugins invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invci invcompatible invconskey invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invequalalways invet invexrc invfileignorecase invfk invgd invhid invhkmap invhls
syn keyword vimOption contained invacd invallowrevins invantialias invarabic invarshape invautoread invaw invballooneval invbinary invbk invbreakindent invcf invcindent invconsk invcp invcscopetag invcst invcul invcursorline invdg invea invedcompatible inveol invesckeys invexpandtab invfic invfixeol invfoldenable invgd invhid invhkmap invhls invicon invimc invimdisable invinfercase invjoinspaces invlangnoremap invlbr invlisp invlnr invlpl invma invmagic invml invmodeline invmodified invmousef invmousehide invnumber invopendevice invpi invpreviewwindow invpvw invrelativenumber invrestorescreen invri invrl invro invru invsb invscb invscs invsft invshelltemp invshortname invshowfulltag invshowmode invsm invsmartindent invsmd invsol invsplitbelow invspr invssl invstartofline invswapfile invta invtagrelative invtbi invtbs invterse invtextmode invtgst invtimeout invto invtr invttybuiltin invtx invundofile invvisualbell invwarn invweirdinvert invwfw invwildignorecase invwinfixheight invwiv invwrap invwrite invwritebackup
syn keyword vimOption contained invai invaltkeymap invar invarabicshape invautochdir invautowrite invawa invbeval invbiosk invbl invbri invci invcompatible invconskey invcrb invcscopeverbose invcsverb invcursorbind invdeco invdiff inveb invek invequalalways invet invexrc invfileignorecase invfk invfs invgdefault invhidden invhkmapp invhlsearch invignorecase invimcmdline invincsearch invinsertmode invjs invlazyredraw invlinebreak invlist invloadplugins invlz invmacatsui invmh invmod invmodifiable invmore invmousefocus invnu invodev invpaste invpreserveindent invprompt invreadonly invremap invrevins invrightleft invrnu invrs invruler invsc invscrollbind invsecure invshellslash invshiftround invshowcmd invshowmatch invsi invsmartcase invsmarttab invsn invspell invsplitright invsr invsta invstmp invswf invtagbsearch invtagstack invtbidi invtermbidi invtextauto invtf invtildeop invtitle invtop invttimeout invttyfast invudf invvb invwa invwb invwfh invwic invwildmenu invwinfixwidth invwmnu invwrapscan invwriteany invws
syn keyword vimOption contained invakm invanti invarab invari invautoindent invautowriteall invbackup invbin invbioskey invbomb invbuflisted invcin invconfirm invcopyindent invcscoperelative invcsre invcuc invcursorcolumn invdelcombine invdigraph inved invendofline inverrorbells invex invfen invfixendofline invfkmap invfsync invguipty invhk invhkp invic invim invimd invinf invis
" termcap codes (which can also be set) {{{2
syn keyword vimOption contained t_AB t_al t_bc t_ce t_cl t_Co t_Cs t_CV t_db t_dl t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_SR t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xn t_xs t_ZH t_ZR
syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm t_cs t_CS t_da
syn keyword vimOption contained t_AB t_al t_bc t_ce t_cl t_Co t_Cs t_CV t_db t_DL t_EI t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_fs t_IE t_IS t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_ke t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ks t_ku t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RB t_RI t_RV t_Sb t_se t_Sf t_SI t_so t_sr t_SR t_te t_ti t_ts t_u7 t_ue t_us t_ut t_vb t_ve t_vi t_vs t_WP t_WS t_xn t_xs t_ZH t_ZR
syn keyword vimOption contained t_AF t_AL t_cd t_Ce t_cm t_cs t_CS t_da t_dl
syn match vimOption contained "t_%1"
syn match vimOption contained "t_#2"
syn match vimOption contained "t_#4"
@@ -75,9 +76,9 @@ syn match vimHLGroup contained "Conceal"
syn case match
" Function Names {{{2
syn keyword vimFuncName contained abs and argidx asin assert_true browse buflisted bufnr byteidx ceil cindent complete confirm cosh cursor did_filetype empty eventhandler exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdline getcmdwintype getfontname getftime getloclist getpos getregtype getwinposx glob has hasmapto histget hlID indent inputdialog inputsave invert items len line localtime luaeval mapcheck matchaddpos matchend max mode nr2char pow pumvisible range reltimestr remote_peek remove resolve screenattr screenrow searchpair server2client setcharsearch setloclist setqflist settabwinvar shellescape sin soundfold split str2nr strftime strlen strridx strwidth substitute synID synIDtrans system tabpagebuflist tabpagewinnr taglist tanh tolower tr type undotree values visualmode winbufnr winheight winnr winrestview winwidth writefile
syn keyword vimFuncName contained acos append arglistid assert_equal atan browsedir bufloaded bufwinnr byteidxcomp changenr clearmatches complete_add copy count deepcopy diff_filler escape executable exp extend filewritable findfile fmod foldclosed foldtext function getbufline getcharmod getcmdpos getcurpos getfperm getftype getmatches getqflist gettabvar getwinposy glob2regpat has_key histadd histnr hostname index inputlist inputsecret isdirectory join libcall line2byte log map match matcharg matchlist min mzeval or prevnonblank py3eval readfile remote_expr remote_read rename reverse screenchar search searchpairpos serverlist setcmdpos setmatches setreg setwinvar shiftwidth sinh spellbadword sqrt strchars stridx strpart strtrans submatch synconcealed synIDattr synstack systemlist tabpagenr tagfiles tan tempname toupper trunc undofile uniq virtcol wildmenumode wincol winline winrestcmd winsaveview wordcount xor
syn keyword vimFuncName contained add argc argv assert_false atan2 bufexists bufname byte2line call char2nr col complete_check cos cscope_connection delete diff_hlID eval exepath expand feedkeys filter float2nr fnameescape foldclosedend foldtextresult garbagecollect getbufvar getcharsearch getcmdtype getcwd getfsize getline getpid getreg gettabwinvar getwinvar globpath haslocaldir histdel hlexists iconv input inputrestore insert islocked keys libcallnr lispindent log10 maparg matchadd matchdelete matchstr mkdir nextnonblank pathshorten printf pyeval reltime remote_foreground remote_send repeat round screencol searchdecl searchpos setbufvar setline setpos settabvar sha256 simplify sort spellsuggest str2float strdisplaywidth string
syn keyword vimFuncName contained abs alloc_fail argc argv assert_exception assert_true browse buflisted bufnr byteidx ceil cindent complete confirm cosh cursor did_filetype empty eventhandler exists expr8 filereadable finddir floor fnamemodify foldlevel foreground get getchar getcmdline getcmdwintype getfontname getftime getloclist getpos getregtype getwinposx glob has hasmapto histget hlID indent inputdialog inputsave invert items len line localtime luaeval mapcheck matchaddpos matchend max mode nr2char perleval printf pyeval reltime remote_foreground remote_send repeat round screencol searchdecl searchpos setbufvar setline setpos settabvar sha256 simplify sort spellsuggest str2float strdisplaywidth string strridx submatch synID synIDtrans system tabpagebuflist tabpagewinnr taglist tanh tolower tr type undotree values visualmode winbufnr winheight winnr winrestview winwidth writefile
syn keyword vimFuncName contained acos and argidx asin assert_fails atan browsedir bufloaded bufwinnr byteidxcomp changenr clearmatches complete_add copy count deepcopy diff_filler escape executable exp extend filewritable findfile fmod foldclosed foldtext function getbufline getcharmod getcmdpos getcurpos getfperm getftype getmatches getqflist gettabvar getwinposy glob2regpat has_key histadd histnr hostname index inputlist inputsecret isdirectory join libcall line2byte log map match matcharg matchlist min mzeval or pow pumvisible range reltimestr remote_peek remove resolve screenattr screenrow searchpair server2client setcharsearch setloclist setqflist settabwinvar shellescape sin soundfold split str2nr strftime strlen strtrans substitute synIDattr synstack systemlist tabpagenr tagfiles tan tempname toupper trunc undofile uniq virtcol wildmenumode wincol winline winrestcmd winsaveview wordcount xor
syn keyword vimFuncName contained add append arglistid assert_equal assert_false atan2 bufexists bufname byte2line call char2nr col complete_check cos cscope_connection delete diff_hlID eval exepath expand feedkeys filter float2nr fnameescape foldclosedend foldtextresult garbagecollect getbufvar getcharsearch getcmdtype getcwd getfsize getline getpid getreg gettabwinvar getwinvar globpath haslocaldir histdel hlexists iconv input inputrestore insert islocked keys libcallnr lispindent log10 maparg matchadd matchdelete matchstr mkdir nextnonblank pathshorten prevnonblank py3eval readfile remote_expr remote_read rename reverse screenchar search searchpairpos serverlist setcmdpos setmatches setreg setwinvar shiftwidth sinh spellbadword sqrt strchars stridx strpart strwidth synconcealed
"--- syntax here and above generated by mkvimvim ---
" Special Vim Highlighting (not automatic) {{{1
@@ -468,6 +469,11 @@ syn match vimGroupAdd contained "add=" nextgroup=vimGroupList
syn match vimGroupRem contained "remove=" nextgroup=vimGroupList
syn cluster vimFuncBodyList add=vimSynType,vimGroupAdd,vimGroupRem
" Syntax: iskeyword {{{2
syn keyword vimSynType contained iskeyword skipwhite nextgroup=vimIskList
syn match vimIskList contained '\S\+' contains=vimIskSep
syn match vimIskSep contained ','
" Syntax: include {{{2
syn keyword vimSynType contained include skipwhite nextgroup=vimGroupList
syn cluster vimFuncBodyList add=vimSynType
@@ -855,6 +861,7 @@ hi def link vimHiTerm Type
hi def link vimHLGroup vimGroup
hi def link vimHLMod PreProc
hi def link vimInsert vimString
hi def link vimIskSep Delimiter
hi def link vimKeyCode vimSpecFile
hi def link vimKeyword Statement
hi def link vimLet vimCommand
+8 -7
View File
@@ -2,7 +2,7 @@
" Language: Zsh shell script
" Maintainer: Christian Brabandt <cb@256bit.org>
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2015-12-25
" Latest Revision: 2016-01-25
" License: Vim (see :h license)
" Repository: https://github.com/chrisbra/vim-zsh
@@ -14,6 +14,7 @@ let s:cpo_save = &cpo
set cpo&vim
setlocal iskeyword+=-
setlocal foldmethod=syntax
syn keyword zshTodo contained TODO FIXME XXX NOTE
@@ -307,19 +308,19 @@ syn match zshNumber '[+-]\=\d\+\.\d\+\>'
" TODO: $[...] is the same as $((...)), so add that as well.
syn cluster zshSubst contains=zshSubst,zshOldSubst,zshMathSubst
syn region zshSubst matchgroup=zshSubstDelim transparent
\ start='\$(' skip='\\)' end=')' contains=TOP
syn region zshParentheses transparent start='(' skip='\\)' end=')'
\ start='\$(' skip='\\)' end=')' contains=TOP fold
syn region zshParentheses transparent start='(' skip='\\)' end=')' fold
syn region zshMathSubst matchgroup=zshSubstDelim transparent
\ start='\$((' skip='\\)'
\ matchgroup=zshSubstDelim end='))'
\ contains=zshParentheses,@zshSubst,zshNumber,
\ @zshDerefs,zshString keepend
\ @zshDerefs,zshString keepend fold
syn region zshBrackets contained transparent start='{' skip='\\}'
\ end='}'
\ end='}' fold
syn region zshSubst matchgroup=zshSubstDelim start='\${' skip='\\}'
\ end='}' contains=@zshSubst,zshBrackets,zshQuoted,zshString
\ end='}' contains=@zshSubst,zshBrackets,zshQuoted,zshString fold
syn region zshOldSubst matchgroup=zshSubstDelim start=+`+ skip=+\\`+
\ end=+`+ contains=TOP,zshOldSubst
\ end=+`+ contains=TOP,zshOldSubst fold
syn sync minlines=50 maxlines=90
syn sync match zshHereDocSync grouphere NONE '<<-\=\s*\%(\\\=\S\+\|\(["']\)\S\+\1\)'
+2
View File
@@ -7,6 +7,7 @@
#include <stdio.h>
int
main()
{
while (1)
@@ -18,4 +19,5 @@ main()
fflush(stdout);
usleep(250000); /* off time */
}
return 0;
}
+4 -2
View File
@@ -85,7 +85,8 @@ const char USAGE[] =
int ShowUsage( char *szError )
{ int i;
{
int i;
fprintf( stderr, USAGE );
@@ -101,7 +102,8 @@ int ShowUsage( char *szError )
return 0;
}
char *echogets(char *s, int echo) {
char *echogets(char *s, int echo)
{
char * const retval=fgets(s, LINELENGTH, stdin);
if (echo!=0 && retval!=NULL) {
fputs(retval, stderr);
+103
View File
@@ -0,0 +1,103 @@
#!/usr/bin/python
#
# Server that will accept connections from a Vim channel.
# Run this server and then in Vim you can open the channel:
# :let handle = ch_open('localhost:8765', 'json')
#
# Then Vim can send requests to the server:
# :let response = ch_sendexpr(handle, 'hello!')
#
# And you can control Vim by typing a JSON message here, e.g.:
# ["ex","echo 'hi there'"]
#
# There is no prompt, just type a line and press Enter.
# To exit cleanly type "quit<Enter>".
#
# See ":help channel-demo" in Vim.
#
# This requires Python 2.6 or later.
from __future__ import print_function
import json
import socket
import sys
import threading
try:
# Python 3
import socketserver
except ImportError:
# Python 2
import SocketServer as socketserver
thesocket = None
class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
def handle(self):
print("=== socket opened ===")
global thesocket
thesocket = self.request
while True:
try:
data = self.request.recv(4096).decode('utf-8')
except socket.error:
print("=== socket error ===")
break
except IOError:
print("=== socket closed ===")
break
if data == '':
print("=== socket closed ===")
break
print("received: {}".format(data))
try:
decoded = json.loads(data)
except ValueError:
print("json decoding failed")
decoded = [-1, '']
# Send a response if the sequence number is positive.
# Negative numbers are used for "eval" responses.
if decoded[0] >= 0:
if decoded[1] == 'hello!':
response = "got it"
else:
response = "what?"
encoded = json.dumps([decoded[0], response])
print("sending {}".format(encoded))
self.request.sendall(encoded.encode('utf-8'))
thesocket = None
class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
pass
if __name__ == "__main__":
HOST, PORT = "localhost", 8765
server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)
ip, port = server.server_address
# Start a thread with the server -- that thread will then start one
# more thread for each request
server_thread = threading.Thread(target=server.serve_forever)
# Exit the server thread when the main thread terminates
server_thread.daemon = True
server_thread.start()
print("Server loop running in thread: ", server_thread.name)
print("Listening on port {}".format(PORT))
while True:
typed = sys.stdin.readline()
if "quit" in typed:
print("Goodbye!")
break
if thesocket is None:
print("No socket yet")
else:
print("sending {}".format(typed))
thesocket.sendall(typed.encode('utf-8'))
server.shutdown()
server.server_close()
+35 -41
View File
@@ -29,10 +29,8 @@
#include <X11/Intrinsic.h>
#include <X11/Xatom.h>
#define __ARGS(x) x
/* Client API */
char * sendToVim __ARGS((Display *dpy, char *name, char *cmd, int asKeys, int *code));
char * sendToVim(Display *dpy, char *name, char *cmd, int asKeys, int *code);
#ifdef MAIN
/* A sample program */
@@ -70,15 +68,15 @@ main(int argc, char **argv)
* Forward declarations for procedures defined later in this file:
*/
static int x_error_check __ARGS((Display *dpy, XErrorEvent *error_event));
static int AppendPropCarefully __ARGS((Display *display,
Window window, Atom property, char *value, int length));
static Window LookupName __ARGS((Display *dpy, char *name,
int delete, char **loose));
static int SendInit __ARGS((Display *dpy));
static char *SendEventProc __ARGS((Display *dpy, XEvent *eventPtr,
int expect, int *code));
static int IsSerialName __ARGS((char *name));
static int x_error_check(Display *dpy, XErrorEvent *error_event);
static int AppendPropCarefully(Display *display,
Window window, Atom property, char *value, int length);
static Window LookupName(Display *dpy, char *name,
int delete, char **loose);
static int SendInit(Display *dpy);
static char *SendEventProc(Display *dpy, XEvent *eventPtr,
int expect, int *code);
static int IsSerialName(char *name);
/* Private variables */
static Atom registryProperty = None;
@@ -96,12 +94,12 @@ static int got_x_error = FALSE;
*/
char *
sendToVim(dpy, name, cmd, asKeys, code)
Display *dpy; /* Where to send. */
char *name; /* Where to send. */
char *cmd; /* What to send. */
int asKeys; /* Interpret as keystrokes or expr ? */
int *code; /* Return code. 0 => OK */
sendToVim(
Display *dpy, /* Where to send. */
char *name, /* Where to send. */
char *cmd, /* What to send. */
int asKeys, /* Interpret as keystrokes or expr ? */
int *code) /* Return code. 0 => OK */
{
Window w;
Atom *plist;
@@ -247,8 +245,7 @@ sendToVim(dpy, name, cmd, asKeys, code)
*/
static int
SendInit(dpy)
Display *dpy;
SendInit(Display *dpy)
{
XErrorHandler old_handler;
@@ -291,11 +288,11 @@ SendInit(dpy)
*/
static Window
LookupName(dpy, name, delete, loose)
Display *dpy; /* Display whose registry to check. */
char *name; /* Name of an interpreter. */
int delete; /* If non-zero, delete info about name. */
char **loose; /* Do another search matching -999 if not found
LookupName(
Display *dpy, /* Display whose registry to check. */
char *name, /* Name of an interpreter. */
int delete, /* If non-zero, delete info about name. */
char **loose) /* Do another search matching -999 if not found
Return result here if a match is found */
{
unsigned char *regProp, *entry;
@@ -398,11 +395,11 @@ LookupName(dpy, name, delete, loose)
}
static char *
SendEventProc(dpy, eventPtr, expected, code)
Display *dpy;
XEvent *eventPtr; /* Information about event. */
int expected; /* The one were waiting for */
int *code; /* Return code. 0 => OK */
SendEventProc(
Display *dpy,
XEvent *eventPtr, /* Information about event. */
int expected, /* The one were waiting for */
int *code) /* Return code. 0 => OK */
{
unsigned char *propInfo;
unsigned char *p;
@@ -537,13 +534,13 @@ SendEventProc(dpy, eventPtr, expected, code)
*/
static int
AppendPropCarefully(dpy, window, property, value, length)
Display *dpy; /* Display on which to operate. */
Window window; /* Window whose property is to
AppendPropCarefully(
Display *dpy, /* Display on which to operate. */
Window window, /* Window whose property is to
* be modified. */
Atom property; /* Name of property. */
char *value; /* Characters to append to property. */
int length; /* How much to append */
Atom property, /* Name of property. */
char *value, /* Characters to append to property. */
int length) /* How much to append */
{
XErrorHandler old_handler;
@@ -562,9 +559,7 @@ AppendPropCarefully(dpy, window, property, value, length)
*/
/* ARGSUSED */
static int
x_error_check(dpy, error_event)
Display *dpy;
XErrorEvent *error_event;
x_error_check(Display *dpy, XErrorEvent *error_event)
{
got_x_error = TRUE;
return 0;
@@ -575,8 +570,7 @@ x_error_check(dpy, error_event)
* Actually just checks if the name ends in a digit.
*/
static int
IsSerialName(str)
char *str;
IsSerialName(char *str)
{
int len = strlen(str);
+1 -1
View File
@@ -52,7 +52,7 @@ gvimext.obj: gvimext.h
$(cc) $(cflags) -DFEAT_GETTEXT $(cvarsmt) $*.cpp
gvimext.res: gvimext.rc
$(rc) $(rcflags) $(rcvars) gvimext.rc
$(rc) /nologo $(rcflags) $(rcvars) gvimext.rc
clean:
- if exist gvimext.dll del gvimext.dll
File diff suppressed because it is too large Load Diff
Binary file not shown.
+1 -1
View File
@@ -1255,7 +1255,7 @@
</dict>
</array>
<key>CFBundleVersion</key>
<string>92</string>
<string>96</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
+3 -4
View File
@@ -56,8 +56,7 @@ extern NSTimeInterval MMBalloonEvalInternalDelay;
unsigned numWholeLineChanges;
unsigned offsetForDrawDataPrune;
BOOL imState;
CFSocketRef netbeansSocket;
CFRunLoopSourceRef netbeansRunLoopSource;
NSMutableDictionary *channelDict;
int winposX;
int winposY;
#ifdef FEAT_BEVAL
@@ -157,8 +156,8 @@ extern NSTimeInterval MMBalloonEvalInternalDelay;
- (BOOL)imState;
- (void)setImState:(BOOL)activated;
- (void)messageFromNetbeans;
- (void)setNetbeansSocket:(int)socket;
- (void)addChannel:(int)idx fileDescriptor:(int)fd;
- (void)removeChannel:(int)idx;
#ifdef FEAT_BEVAL
- (void)setLastToolTip:(NSString *)toolTip;
+69 -44
View File
@@ -163,6 +163,13 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
@end
@interface MMChannel : NSObject {
CFSocketRef socket;
CFRunLoopSourceRef runLoopSource;
}
- (id)initWithIndex:(int)idx fileDescriptor:(int)fd;
@end
@interface MMBackend (Private)
@@ -234,6 +241,7 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
connectionNameDict = [[NSMutableDictionary alloc] init];
clientProxyDict = [[NSMutableDictionary alloc] init];
serverReplyDict = [[NSMutableDictionary alloc] init];
channelDict = [[NSMutableDictionary alloc] init];
NSBundle *mainBundle = [NSBundle mainBundle];
NSString *path = [mainBundle pathForResource:@"Colors" ofType:@"plist"];
@@ -265,6 +273,7 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
gui_mch_free_font(oldWideFont); oldWideFont = NOFONT;
[blinkTimer release]; blinkTimer = nil;
[alternateServerName release]; alternateServerName = nil;
[channelDict release]; channelDict = nil;
[serverReplyDict release]; serverReplyDict = nil;
[clientProxyDict release]; clientProxyDict = nil;
[connectionNameDict release]; connectionNameDict = nil;
@@ -1675,49 +1684,21 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
[self flushQueue:YES];
}
static void netbeansReadCallback(CFSocketRef s,
CFSocketCallBackType callbackType,
CFDataRef address,
const void *data,
void *info)
- (void)addChannel:(int)idx fileDescriptor:(int)fd
{
// NetBeans socket is readable.
[[MMBackend sharedInstance] messageFromNetbeans];
}
- (void)messageFromNetbeans
{
[inputQueue addObject:[NSNumber numberWithInt:NetBeansMsgID]];
[inputQueue addObject:[NSNull null]];
}
- (void)setNetbeansSocket:(int)socket
{
if (netbeansSocket) {
CFRelease(netbeansSocket);
netbeansSocket = NULL;
}
if (netbeansRunLoopSource) {
CFRunLoopSourceInvalidate(netbeansRunLoopSource);
netbeansRunLoopSource = NULL;
}
if (socket == -1)
if (fd == -1)
return;
// Tell CFRunLoop that we are interested in NetBeans socket input.
netbeansSocket = CFSocketCreateWithNative(kCFAllocatorDefault,
socket,
kCFSocketReadCallBack,
&netbeansReadCallback,
NULL);
netbeansRunLoopSource = CFSocketCreateRunLoopSource(NULL,
netbeansSocket,
0);
CFRunLoopAddSource(CFRunLoopGetCurrent(),
netbeansRunLoopSource,
kCFRunLoopCommonModes);
NSNumber *key = [NSNumber numberWithInt:idx];
MMChannel *channel =
[[[MMChannel alloc] initWithIndex:idx fileDescriptor:fd] autorelease];
[channelDict setObject:channel forKey:key];
}
- (void)removeChannel:(int)idx
{
NSNumber *key = [NSNumber numberWithInt:idx];
[channelDict removeObjectForKey:key];
}
#ifdef FEAT_BEVAL
@@ -2075,10 +2056,6 @@ static void netbeansReadCallback(CFSocketRef s,
[self handleOpenWithArguments:[NSDictionary dictionaryWithData:data]];
} else if (FindReplaceMsgID == msgid) {
[self handleFindReplace:[NSDictionary dictionaryWithData:data]];
} else if (NetBeansMsgID == msgid) {
#ifdef FEAT_NETBEANS_INTG
netbeans_read();
#endif
} else if (ZoomMsgID == msgid) {
if (!data) return;
const void *bytes = [data bytes];
@@ -3435,3 +3412,51 @@ static id evalExprCocoa(NSString * expr, NSString ** errstr)
}
@end // NSString (VimStrings)
@implementation MMChannel
- (void)dealloc
{
CFRunLoopSourceInvalidate(runLoopSource);
CFRelease(runLoopSource);
CFRelease(socket);
[super dealloc];
}
static void socketReadCallback(CFSocketRef s,
CFSocketCallBackType callbackType,
CFDataRef address,
const void *data,
void *info)
{
#ifdef FEAT_CHANNEL
int idx = (int)(intptr_t)info;
channel_read(idx);
#endif
}
- (id)initWithIndex:(int)idx fileDescriptor:(int)fd
{
self = [super init];
if (!self) return nil;
// Tell CFRunLoop that we are interested in channel socket input.
CFSocketContext ctx = {0, (void *)(intptr_t)idx, NULL, NULL, NULL};
socket = CFSocketCreateWithNative(kCFAllocatorDefault,
fd,
kCFSocketReadCallBack,
&socketReadCallback,
&ctx);
runLoopSource = CFSocketCreateRunLoopSource(NULL,
socket,
0);
CFRunLoopAddSource(CFRunLoopGetCurrent(),
runLoopSource,
kCFRunLoopCommonModes);
return self;
}
@end
+3 -3
View File
@@ -44,10 +44,11 @@
#define DRAW_CURSOR 0x20
#define DRAW_WIDE 0x40 /* draw wide text */
#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7
#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8
#define kCTFontOrientationDefault kCTFontDefaultOrientation
#endif // MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_8
#if MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7
static void
CTFontDrawGlyphs(CTFontRef fontRef, const CGGlyph glyphs[],
const CGPoint positions[], UniCharCount count,
@@ -58,7 +59,6 @@ CTFontDrawGlyphs(CTFontRef fontRef, const CGGlyph glyphs[],
CGContextShowGlyphsAtPositions(context, glyphs, positions, count);
CGFontRelease(cgFontRef);
}
#endif // MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7
@interface MMCoreTextView (Private)
-1
View File
@@ -191,7 +191,6 @@ enum {
DeactivatedImMsgID,
BrowseForFileMsgID,
ShowDialogMsgID,
NetBeansMsgID,
SetMarkedTextMsgID,
ZoomMsgID,
SetWindowPositionMsgID,
-1
View File
@@ -90,7 +90,6 @@ char *MessageStrings[] =
"DeactivatedImMsgID",
"BrowseForFileMsgID",
"ShowDialogMsgID",
"NetBeansMsgID",
"SetMarkedTextMsgID",
"ZoomMsgID",
"SetWindowPositionMsgID",
+30 -15
View File
@@ -67,6 +67,7 @@
52A364731C4A5789005757EC /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 52A364721C4A5789005757EC /* Sparkle.framework */; };
52A364761C4A57C1005757EC /* Sparkle.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 52A364721C4A5789005757EC /* Sparkle.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
52B7ED9B1C4A4D6900AFFF15 /* dsa_pub.pem in Resources */ = {isa = PBXBuildFile; fileRef = 52B7ED9A1C4A4D6900AFFF15 /* dsa_pub.pem */; };
52818B031C1C08CE00F59085 /* QLStephen.qlgenerator in Copy QuickLookPlugin */ = {isa = PBXBuildFile; fileRef = 52818AFF1C1C075300F59085 /* QLStephen.qlgenerator */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
@@ -95,6 +96,13 @@
remoteGlobalIDString = 8D576316048677EA00EA77CD;
remoteInfo = QuickLookStephen;
};
52818B001C1C084100F59085 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 52818AFA1C1C075300F59085 /* QuickLookStephen.xcodeproj */;
proxyType = 1;
remoteGlobalIDString = 8D57630D048677EA00EA77CD;
remoteInfo = QuickLookStephen;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -134,6 +142,17 @@
name = "Copy Vim Runtime Files";
runOnlyForDeploymentPostprocessing = 0;
};
52818B021C1C088000F59085 /* Copy QuickLookPlugin */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = ../Library/QuickLook;
dstSubfolderSpec = 6;
files = (
52818B031C1C08CE00F59085 /* QLStephen.qlgenerator in Copy QuickLookPlugin */,
);
name = "Copy QuickLookPlugin";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
@@ -447,14 +466,15 @@
8D11072E0486CEB800E47090 /* Frameworks */,
1D0DCAD80BA3604D00B6CCFA /* Copy Executables */,
1D9EB2840C366D7B0074B739 /* Copy Frameworks */,
52818B021C1C088000F59085 /* Copy QuickLookPlugin */,
1DE608B80C58807F0055263D /* Copy Vim Runtime Files */,
1D1C31F00EFFBFD6003FE9A5 /* Make Document Icons */,
520E0E2B1C2FBAF300949DD8 /* ShellScript */,
);
buildRules = (
);
dependencies = (
1D493DCD0C5254A400AB718C /* PBXTargetDependency */,
52818B011C1C084100F59085 /* PBXTargetDependency */,
);
name = MacVim;
productInstallPath = "$(HOME)/Applications";
@@ -578,20 +598,6 @@
shellScript = "# Clear deployment target, else the python script always thinks we're building on Tiger\nunset MACOSX_DEPLOYMENT_TARGET\n\n# Generate the icons (redirect stderr to ignore warnings)\ncd \"$PROJECT_DIR\"/icons/\nmake OUTDIR=\"$TARGET_BUILD_DIR\"/$UNLOCALIZED_RESOURCES_FOLDER_PATH 2> /dev/null\n";
showEnvVarsInLog = 0;
};
520E0E2B1C2FBAF300949DD8 /* ShellScript */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
);
outputPaths = (
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "OSX_MINOR_VERSION=`/usr/bin/sw_vers -productVersion|cut -f2 -d'.'`\nif [ $OSX_MINOR_VERSION -ge 8 ]; then\n xcodebuild -project qlstephen/QuickLookStephen.xcodeproj\n mkdir -p $BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/Library/QuickLook\n cp -pr qlstephen/build/Release/QLStephen.qlgenerator $BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH/Library/QuickLook\nfi";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -629,6 +635,11 @@
name = PSMTabBarControlFramework;
targetProxy = 1D493DCC0C5254A400AB718C /* PBXContainerItemProxy */;
};
52818B011C1C084100F59085 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = QuickLookStephen;
targetProxy = 52818B001C1C084100F59085 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
@@ -670,6 +681,7 @@
C01FCF4B08A954540054247B /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -687,6 +699,7 @@
HEADER_SEARCH_PATHS = "";
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = "";
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.vim.MacVim;
@@ -701,6 +714,7 @@
C01FCF4C08A954540054247B /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -717,6 +731,7 @@
HEADER_SEARCH_PATHS = "";
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
LD_RUNPATH_SEARCH_PATHS = "@loader_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = "";
ONLY_ACTIVE_ARCH = YES;
PRODUCT_BUNDLE_IDENTIFIER = org.vim.MacVim;
@@ -583,6 +583,7 @@
C056398008A954F8003078D8 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
COPY_PHASE_STRIP = NO;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
@@ -608,6 +609,7 @@
C056398108A954F8003078D8 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
COMBINE_HIDPI_IMAGES = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
FRAMEWORK_VERSION = A;
+1
View File
@@ -0,0 +1 @@
Versions/Current/Headers
@@ -1,33 +0,0 @@
//
// SUAppcast.h
// Sparkle
//
// Created by Andy Matuschak on 3/12/06.
// Copyright 2006 Andy Matuschak. All rights reserved.
//
#ifndef SUAPPCAST_H
#define SUAPPCAST_H
@class SUAppcastItem;
@interface SUAppcast : NSObject {
NSArray *items;
NSString *userAgentString;
id delegate;
NSMutableData *incrementalData;
}
- (void)fetchAppcastFromURL:(NSURL *)url;
- (void)setDelegate:delegate;
- (void)setUserAgentString:(NSString *)userAgentString;
- (NSArray *)items;
@end
@interface NSObject (SUAppcastDelegate)
- (void)appcastDidFinishLoading:(SUAppcast *)appcast;
- (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error;
@end
#endif
@@ -1,47 +0,0 @@
//
// SUAppcastItem.h
// Sparkle
//
// Created by Andy Matuschak on 3/12/06.
// Copyright 2006 Andy Matuschak. All rights reserved.
//
#ifndef SUAPPCASTITEM_H
#define SUAPPCASTITEM_H
@interface SUAppcastItem : NSObject {
NSString *title;
NSDate *date;
NSString *itemDescription;
NSURL *releaseNotesURL;
NSString *DSASignature;
NSString *minimumSystemVersion;
NSURL *fileURL;
NSString *versionString;
NSString *displayVersionString;
NSDictionary *propertiesDictionary;
}
// Initializes with data from a dictionary provided by the RSS class.
- initWithDictionary:(NSDictionary *)dict;
- (NSString *)title;
- (NSString *)versionString;
- (NSString *)displayVersionString;
- (NSDate *)date;
- (NSString *)itemDescription;
- (NSURL *)releaseNotesURL;
- (NSURL *)fileURL;
- (NSString *)DSASignature;
- (NSString *)minimumSystemVersion;
// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
- (NSDictionary *)propertiesDictionary;
@end
#endif
@@ -1,118 +0,0 @@
//
// SUUpdater.h
// Sparkle
//
// Created by Andy Matuschak on 1/4/06.
// Copyright 2006 Andy Matuschak. All rights reserved.
//
#ifndef SUUPDATER_H
#define SUUPDATER_H
#import <Sparkle/SUVersionComparisonProtocol.h>
@class SUUpdateDriver, SUAppcastItem, SUHost, SUAppcast;
@interface SUUpdater : NSObject {
NSTimer *checkTimer;
SUUpdateDriver *driver;
SUHost *host;
IBOutlet id delegate;
}
+ (SUUpdater *)sharedUpdater;
+ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
- (NSBundle *)hostBundle;
- (void)setDelegate:(id)delegate;
- delegate;
- (void)setAutomaticallyChecksForUpdates:(BOOL)automaticallyChecks;
- (BOOL)automaticallyChecksForUpdates;
- (void)setUpdateCheckInterval:(NSTimeInterval)interval;
- (NSTimeInterval)updateCheckInterval;
- (void)setFeedURL:(NSURL *)feedURL;
- (NSURL *)feedURL;
- (void)setSendsSystemProfile:(BOOL)sendsSystemProfile;
- (BOOL)sendsSystemProfile;
- (void)setAutomaticallyDownloadsUpdates:(BOOL)automaticallyDownloadsUpdates;
- (BOOL)automaticallyDownloadsUpdates;
// This IBAction is meant for a main menu item. Hook up any menu item to this action,
// and Sparkle will check for updates and report back its findings verbosely.
- (IBAction)checkForUpdates:sender;
// This kicks off an update meant to be programmatically initiated. That is, it will display no UI unless it actually finds an update,
// in which case it proceeds as usual. If the fully automated updating is turned on, however, this will invoke that behavior, and if an
// update is found, it will be downloaded and prepped for installation.
- (void)checkForUpdatesInBackground;
// Date of last update check. Returns null if no check has been performed.
- (NSDate*)lastUpdateCheckDate;
// This begins a "probing" check for updates which will not actually offer to update to that version. The delegate methods, though,
// (up to updater:didFindValidUpdate: and updaterDidNotFindUpdate:), are called, so you can use that information in your UI.
- (void)checkForUpdateInformation;
// Call this to appropriately schedule or cancel the update checking timer according to the preferences for time interval and automatic checks. This call does not change the date of the next check, but only the internal NSTimer.
- (void)resetUpdateCycle;
- (BOOL)updateInProgress;
@end
@interface NSObject (SUUpdaterDelegateInformalProtocol)
// This method allows you to add extra parameters to the appcast URL, potentially based on whether or not Sparkle will also be sending along the system profile. This method should return an array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
- (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
// Use this to override the default behavior for Sparkle prompting the user about automatic update checks.
- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)bundle;
// Implement this if you want to do some special handling with the appcast once it finishes loading.
- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
// If you're using special logic or extensions in your appcast, implement this to use your own logic for finding
// a valid update, if any, in the given appcast.
- (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)bundle;
// Sent when a valid update is found by the update driver.
- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)update;
// Sent when a valid update is not found.
- (void)updaterDidNotFindUpdate:(SUUpdater *)update;
// Sent immediately before installing the specified update.
- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)update;
// Return YES to delay the relaunch until you do some processing; invoke the given NSInvocation to continue.
- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)update untilInvoking:(NSInvocation *)invocation;
// Called immediately before relaunching.
- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
// This method allows you to provide a custom version comparator.
// If you don't implement this method or return nil, the standard version comparator will be used.
- (id <SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
// Returns the path which is used to relaunch the client after the update is installed. By default, the path of the host bundle.
- (NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
@end
// Define some minimum intervals to avoid DOS-like checking attacks. These are in seconds.
#ifdef DEBUG
#define SU_MIN_CHECK_INTERVAL 60
#else
#define SU_MIN_CHECK_INTERVAL 60*60
#endif
#ifdef DEBUG
#define SU_DEFAULT_CHECK_INTERVAL 60
#else
#define SU_DEFAULT_CHECK_INTERVAL 60*60*24
#endif
#endif
@@ -1,27 +0,0 @@
//
// SUVersionComparisonProtocol.h
// Sparkle
//
// Created by Andy Matuschak on 12/21/07.
// Copyright 2007 Andy Matuschak. All rights reserved.
//
#ifndef SUVERSIONCOMPARISONPROTOCOL_H
#define SUVERSIONCOMPARISONPROTOCOL_H
/*!
@protocol
@abstract Implement this protocol to provide version comparison facilities for Sparkle.
*/
@protocol SUVersionComparison
/*!
@method
@abstract An abstract method to compare two version strings.
@discussion Should return NSOrderedAscending if b > a, NSOrderedDescending if b < a, and NSOrderedSame if they are equivalent.
*/
- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB;
@end
#endif
@@ -1,21 +0,0 @@
//
// Sparkle.h
// Sparkle
//
// Created by Andy Matuschak on 3/16/06. (Modified by CDHW on 23/12/07)
// Copyright 2006 Andy Matuschak. All rights reserved.
//
#ifndef SPARKLE_H
#define SPARKLE_H
// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
// there are name-space collisions) so we can list all of them to start with:
#import <Sparkle/SUUpdater.h>
#import <Sparkle/SUAppcast.h>
#import <Sparkle/SUAppcastItem.h>
#import <Sparkle/SUVersionComparisonProtocol.h>
#endif
+1
View File
@@ -0,0 +1 @@
Versions/Current/Modules
+1
View File
@@ -0,0 +1 @@
Versions/Current/PrivateHeaders
+1
View File
@@ -0,0 +1 @@
Versions/Current/Resources
@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>Sparkle</string>
<key>CFBundleIdentifier</key>
<string>org.andymatuschak.Sparkle</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>Sparkle</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.5 Beta 6</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>313</string>
</dict>
</plist>
@@ -1,7 +0,0 @@
Copyright (c) 2006 Andy Matuschak
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -1,174 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>ADP2,1</key>
<string>Developer Transition Kit</string>
<key>MacBook1,1</key>
<string>MacBook (Core Duo)</string>
<key>MacBook2,1</key>
<string>MacBook (Core 2 Duo)</string>
<key>MacBook4,1</key>
<string>MacBook (Core 2 Duo Feb 2008)</string>
<key>MacBookAir1,1</key>
<string>MacBook Air (January 2008)</string>
<key>MacBookPro1,1</key>
<string>MacBook Pro Core Duo (15-inch)</string>
<key>MacBookPro1,2</key>
<string>MacBook Pro Core Duo (17-inch)</string>
<key>MacBookPro2,1</key>
<string>MacBook Pro Core 2 Duo (17-inch)</string>
<key>MacBookPro2,2</key>
<string>MacBook Pro Core 2 Duo (15-inch)</string>
<key>MacBookPro3,1</key>
<string>MacBook Pro Core 2 Duo (15-inch LED, Core 2 Duo)</string>
<key>MacBookPro3,2</key>
<string>MacBook Pro Core 2 Duo (17-inch HD, Core 2 Duo)</string>
<key>MacBookPro4,1</key>
<string>MacBook Pro (Core 2 Duo Feb 2008)</string>
<key>MacPro1,1</key>
<string>Mac Pro (four-core)</string>
<key>MacPro2,1</key>
<string>Mac Pro (eight-core)</string>
<key>MacPro3,1</key>
<string>Mac Pro (January 2008 4- or 8- core "Harpertown")</string>
<key>Macmini1,1</key>
<string>Mac Mini (Core Solo/Duo)</string>
<key>PowerBook1,1</key>
<string>PowerBook G3</string>
<key>PowerBook2,1</key>
<string>iBook G3</string>
<key>PowerBook2,2</key>
<string>iBook G3 (FireWire)</string>
<key>PowerBook2,3</key>
<string>iBook G3</string>
<key>PowerBook2,4</key>
<string>iBook G3</string>
<key>PowerBook3,1</key>
<string>PowerBook G3 (FireWire)</string>
<key>PowerBook3,2</key>
<string>PowerBook G4</string>
<key>PowerBook3,3</key>
<string>PowerBook G4 (Gigabit Ethernet)</string>
<key>PowerBook3,4</key>
<string>PowerBook G4 (DVI)</string>
<key>PowerBook3,5</key>
<string>PowerBook G4 (1GHz / 867MHz)</string>
<key>PowerBook4,1</key>
<string>iBook G3 (Dual USB, Late 2001)</string>
<key>PowerBook4,2</key>
<string>iBook G3 (16MB VRAM)</string>
<key>PowerBook4,3</key>
<string>iBook G3 Opaque 16MB VRAM, 32MB VRAM, Early 2003)</string>
<key>PowerBook5,1</key>
<string>PowerBook G4 (17 inch)</string>
<key>PowerBook5,2</key>
<string>PowerBook G4 (15 inch FW 800)</string>
<key>PowerBook5,3</key>
<string>PowerBook G4 (17-inch 1.33GHz)</string>
<key>PowerBook5,4</key>
<string>PowerBook G4 (15 inch 1.5/1.33GHz)</string>
<key>PowerBook5,5</key>
<string>PowerBook G4 (17-inch 1.5GHz)</string>
<key>PowerBook5,6</key>
<string>PowerBook G4 (15 inch 1.67GHz/1.5GHz)</string>
<key>PowerBook5,7</key>
<string>PowerBook G4 (17-inch 1.67GHz)</string>
<key>PowerBook5,8</key>
<string>PowerBook G4 (Double layer SD, 15 inch)</string>
<key>PowerBook5,9</key>
<string>PowerBook G4 (Double layer SD, 17 inch)</string>
<key>PowerBook6,1</key>
<string>PowerBook G4 (12 inch)</string>
<key>PowerBook6,2</key>
<string>PowerBook G4 (12 inch, DVI)</string>
<key>PowerBook6,3</key>
<string>iBook G4</string>
<key>PowerBook6,4</key>
<string>PowerBook G4 (12 inch 1.33GHz)</string>
<key>PowerBook6,5</key>
<string>iBook G4 (Early-Late 2004)</string>
<key>PowerBook6,7</key>
<string>iBook G4 (Mid 2005)</string>
<key>PowerBook6,8</key>
<string>PowerBook G4 (12 inch 1.5GHz)</string>
<key>PowerMac1,1</key>
<string>Power Macintosh G3 (Blue &amp; White)</string>
<key>PowerMac1,2</key>
<string>Power Macintosh G4 (PCI Graphics)</string>
<key>PowerMac10,1</key>
<string>Mac Mini G4</string>
<key>PowerMac10,2</key>
<string>Mac Mini (Late 2005)</string>
<key>PowerMac11,2</key>
<string>Power Macintosh G5 (Late 2005)</string>
<key>PowerMac12,1</key>
<string>iMac G5 (iSight)</string>
<key>PowerMac2,1</key>
<string>iMac G3 (Slot-loading CD-ROM)</string>
<key>PowerMac2,2</key>
<string>iMac G3 (Summer 2000)</string>
<key>PowerMac3,1</key>
<string>Power Macintosh G4 (AGP Graphics)</string>
<key>PowerMac3,2</key>
<string>Power Macintosh G4 (AGP Graphics)</string>
<key>PowerMac3,3</key>
<string>Power Macintosh G4 (Gigabit Ethernet)</string>
<key>PowerMac3,4</key>
<string>Power Macintosh G4 (Digital Audio)</string>
<key>PowerMac3,5</key>
<string>Power Macintosh G4 (Quick Silver)</string>
<key>PowerMac3,6</key>
<string>Power Macintosh G4 (Mirrored Drive Door)</string>
<key>PowerMac4,1</key>
<string>iMac G3 (Early/Summer 2001)</string>
<key>PowerMac4,2</key>
<string>iMac G4 (Flat Panel)</string>
<key>PowerMac4,4</key>
<string>eMac</string>
<key>PowerMac4,5</key>
<string>iMac G4 (17-inch Flat Panel)</string>
<key>PowerMac5,1</key>
<string>Power Macintosh G4 Cube</string>
<key>PowerMac6,1</key>
<string>iMac G4 (USB 2.0)</string>
<key>PowerMac6,3</key>
<string>iMac G4 (20-inch Flat Panel)</string>
<key>PowerMac6,4</key>
<string>eMac (USB 2.0, 2005)</string>
<key>PowerMac7,2</key>
<string>Power Macintosh G5</string>
<key>PowerMac7,3</key>
<string>Power Macintosh G5</string>
<key>PowerMac8,1</key>
<string>iMac G5</string>
<key>PowerMac8,2</key>
<string>iMac G5 (Ambient Light Sensor)</string>
<key>PowerMac9,1</key>
<string>Power Macintosh G5 (Late 2005)</string>
<key>RackMac1,1</key>
<string>Xserve G4</string>
<key>RackMac1,2</key>
<string>Xserve G4 (slot-loading, cluster node)</string>
<key>RackMac3,1</key>
<string>Xserve G5</string>
<key>Xserve1,1</key>
<string>Xserve (Intel Xeon)</string>
<key>Xserve2,1</key>
<string>Xserve (January 2008 quad-core)</string>
<key>iMac1,1</key>
<string>iMac G3 (Rev A-D)</string>
<key>iMac4,1</key>
<string>iMac (Core Duo)</string>
<key>iMac4,2</key>
<string>iMac for Education (17-inch, Core Duo)</string>
<key>iMac5,1</key>
<string>iMac (Core 2 Duo, 17 or 20 inch, SuperDrive)</string>
<key>iMac5,2</key>
<string>iMac (Core 2 Duo, 17 inch, Combo Drive)</string>
<key>iMac6,1</key>
<string>iMac (Core 2 Duo, 24 inch, SuperDrive)</string>
<key>iMac8,1</key>
<string>iMac (April 2008)</string>
</dict>
</plist>
@@ -1,56 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBClasses</key>
<array>
<dict>
<key>CLASS</key>
<string>SUWindowController</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSWindowController</string>
</dict>
<dict>
<key>CLASS</key>
<string>NSApplication</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSResponder</string>
</dict>
<dict>
<key>CLASS</key>
<string>FirstResponder</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
<dict>
<key>CLASS</key>
<string>NSObject</string>
<key>LANGUAGE</key>
<string>ObjC</string>
</dict>
<dict>
<key>CLASS</key>
<string>SUStatusController</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>OUTLETS</key>
<dict>
<key>actionButton</key>
<string>NSButton</string>
<key>progressBar</key>
<string>NSProgressIndicator</string>
</dict>
<key>SUPERCLASS</key>
<string>SUWindowController</string>
</dict>
</array>
<key>IBVersion</key>
<string>1</string>
</dict>
</plist>
@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBFramework Version</key>
<string>670</string>
<key>IBLastKnownRelativeProjectPath</key>
<string>Sparkle.xcodeproj</string>
<key>IBOldestOS</key>
<integer>5</integer>
<key>IBOpenObjects</key>
<array>
<integer>6</integer>
</array>
<key>IBSystem Version</key>
<string>10A96</string>
<key>targetFramework</key>
<string>IBCocoaFramework</string>
</dict>
</plist>
@@ -1,50 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBClasses</key>
<array>
<dict>
<key>CLASS</key>
<string>SUWindowController</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSWindowController</string>
</dict>
<dict>
<key>ACTIONS</key>
<dict>
<key>doNotInstall</key>
<string>id</string>
<key>installLater</key>
<string>id</string>
<key>installNow</key>
<string>id</string>
</dict>
<key>CLASS</key>
<string>SUAutomaticUpdateAlert</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>SUWindowController</string>
</dict>
<dict>
<key>CLASS</key>
<string>FirstResponder</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
<dict>
<key>CLASS</key>
<string>NSObject</string>
<key>LANGUAGE</key>
<string>ObjC</string>
</dict>
</array>
<key>IBVersion</key>
<string>1</string>
</dict>
</plist>
@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBFramework Version</key>
<string>658</string>
<key>IBLastKnownRelativeProjectPath</key>
<string>../Sparkle.xcodeproj</string>
<key>IBOldestOS</key>
<integer>5</integer>
<key>IBOpenObjects</key>
<array>
<integer>6</integer>
</array>
<key>IBSystem Version</key>
<string>9C7010</string>
<key>targetFramework</key>
<string>IBCocoaFramework</string>
</dict>
</plist>
@@ -1,67 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBClasses</key>
<array>
<dict>
<key>CLASS</key>
<string>SUWindowController</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSWindowController</string>
</dict>
<dict>
<key>CLASS</key>
<string>NSApplication</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSResponder</string>
</dict>
<dict>
<key>ACTIONS</key>
<dict>
<key>installUpdate</key>
<string>id</string>
<key>remindMeLater</key>
<string>id</string>
<key>skipThisVersion</key>
<string>id</string>
</dict>
<key>CLASS</key>
<string>SUUpdateAlert</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>OUTLETS</key>
<dict>
<key>delegate</key>
<string>id</string>
<key>description</key>
<string>NSTextField</string>
<key>releaseNotesView</key>
<string>WebView</string>
</dict>
<key>SUPERCLASS</key>
<string>SUWindowController</string>
</dict>
<dict>
<key>CLASS</key>
<string>FirstResponder</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
<dict>
<key>CLASS</key>
<string>NSObject</string>
<key>LANGUAGE</key>
<string>ObjC</string>
</dict>
</array>
<key>IBVersion</key>
<string>1</string>
</dict>
</plist>
@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBFramework Version</key>
<string>670</string>
<key>IBLastKnownRelativeProjectPath</key>
<string>../Sparkle.xcodeproj</string>
<key>IBOldestOS</key>
<integer>5</integer>
<key>IBOpenObjects</key>
<array>
<integer>18</integer>
</array>
<key>IBSystem Version</key>
<string>10A96</string>
<key>targetFramework</key>
<string>IBCocoaFramework</string>
</dict>
</plist>
@@ -1,59 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBClasses</key>
<array>
<dict>
<key>CLASS</key>
<string>SUWindowController</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSWindowController</string>
</dict>
<dict>
<key>ACTIONS</key>
<dict>
<key>finishPrompt</key>
<string>id</string>
<key>toggleMoreInfo</key>
<string>id</string>
</dict>
<key>CLASS</key>
<string>SUUpdatePermissionPrompt</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>OUTLETS</key>
<dict>
<key>delegate</key>
<string>id</string>
<key>descriptionTextField</key>
<string>NSTextField</string>
<key>moreInfoButton</key>
<string>NSButton</string>
<key>moreInfoView</key>
<string>NSView</string>
</dict>
<key>SUPERCLASS</key>
<string>SUWindowController</string>
</dict>
<dict>
<key>CLASS</key>
<string>FirstResponder</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
<dict>
<key>CLASS</key>
<string>NSObject</string>
<key>LANGUAGE</key>
<string>ObjC</string>
</dict>
</array>
<key>IBVersion</key>
<string>1</string>
</dict>
</plist>
@@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBFramework Version</key>
<string>670</string>
<key>IBLastKnownRelativeProjectPath</key>
<string>../Sparkle.xcodeproj</string>
<key>IBOldestOS</key>
<integer>5</integer>
<key>IBOpenObjects</key>
<array>
<integer>6</integer>
<integer>41</integer>
</array>
<key>IBSystem Version</key>
<string>10A96</string>
<key>targetFramework</key>
<string>IBCocoaFramework</string>
</dict>
</plist>
@@ -1,50 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBClasses</key>
<array>
<dict>
<key>CLASS</key>
<string>SUWindowController</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSWindowController</string>
</dict>
<dict>
<key>ACTIONS</key>
<dict>
<key>doNotInstall</key>
<string>id</string>
<key>installLater</key>
<string>id</string>
<key>installNow</key>
<string>id</string>
</dict>
<key>CLASS</key>
<string>SUAutomaticUpdateAlert</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>SUWindowController</string>
</dict>
<dict>
<key>CLASS</key>
<string>FirstResponder</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
<dict>
<key>CLASS</key>
<string>NSObject</string>
<key>LANGUAGE</key>
<string>ObjC</string>
</dict>
</array>
<key>IBVersion</key>
<string>1</string>
</dict>
</plist>
@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBFramework Version</key>
<string>677</string>
<key>IBLastKnownRelativeProjectPath</key>
<string>../Sparkle.xcodeproj</string>
<key>IBOldestOS</key>
<integer>5</integer>
<key>IBOpenObjects</key>
<array/>
<key>IBSystem Version</key>
<string>9J61</string>
<key>targetFramework</key>
<string>IBCocoaFramework</string>
</dict>
</plist>
@@ -1,67 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBClasses</key>
<array>
<dict>
<key>CLASS</key>
<string>SUWindowController</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSWindowController</string>
</dict>
<dict>
<key>CLASS</key>
<string>NSApplication</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSResponder</string>
</dict>
<dict>
<key>ACTIONS</key>
<dict>
<key>installUpdate</key>
<string>id</string>
<key>remindMeLater</key>
<string>id</string>
<key>skipThisVersion</key>
<string>id</string>
</dict>
<key>CLASS</key>
<string>SUUpdateAlert</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>OUTLETS</key>
<dict>
<key>delegate</key>
<string>id</string>
<key>description</key>
<string>NSTextField</string>
<key>releaseNotesView</key>
<string>WebView</string>
</dict>
<key>SUPERCLASS</key>
<string>SUWindowController</string>
</dict>
<dict>
<key>CLASS</key>
<string>FirstResponder</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
<dict>
<key>CLASS</key>
<string>NSObject</string>
<key>LANGUAGE</key>
<string>ObjC</string>
</dict>
</array>
<key>IBVersion</key>
<string>1</string>
</dict>
</plist>
@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBFramework Version</key>
<string>677</string>
<key>IBLastKnownRelativeProjectPath</key>
<string>../Sparkle.xcodeproj</string>
<key>IBOldestOS</key>
<integer>5</integer>
<key>IBOpenObjects</key>
<array/>
<key>IBSystem Version</key>
<string>9J61</string>
<key>targetFramework</key>
<string>IBCocoaFramework</string>
</dict>
</plist>
@@ -1,59 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBClasses</key>
<array>
<dict>
<key>CLASS</key>
<string>SUWindowController</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSWindowController</string>
</dict>
<dict>
<key>ACTIONS</key>
<dict>
<key>finishPrompt</key>
<string>id</string>
<key>toggleMoreInfo</key>
<string>id</string>
</dict>
<key>CLASS</key>
<string>SUUpdatePermissionPrompt</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>OUTLETS</key>
<dict>
<key>delegate</key>
<string>id</string>
<key>descriptionTextField</key>
<string>NSTextField</string>
<key>moreInfoButton</key>
<string>NSButton</string>
<key>moreInfoView</key>
<string>NSView</string>
</dict>
<key>SUPERCLASS</key>
<string>SUWindowController</string>
</dict>
<dict>
<key>CLASS</key>
<string>FirstResponder</string>
<key>LANGUAGE</key>
<string>ObjC</string>
<key>SUPERCLASS</key>
<string>NSObject</string>
</dict>
<dict>
<key>CLASS</key>
<string>NSObject</string>
<key>LANGUAGE</key>
<string>ObjC</string>
</dict>
</array>
<key>IBVersion</key>
<string>1</string>
</dict>
</plist>
@@ -1,18 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBFramework Version</key>
<string>677</string>
<key>IBLastKnownRelativeProjectPath</key>
<string>../Sparkle.xcodeproj</string>
<key>IBOldestOS</key>
<integer>5</integer>
<key>IBOpenObjects</key>
<array/>
<key>IBSystem Version</key>
<string>9J61</string>
<key>targetFramework</key>
<string>IBCocoaFramework</string>
</dict>
</plist>
Binary file not shown.
Binary file not shown.
+1
View File
@@ -0,0 +1 @@
Versions/Current/Sparkle
@@ -9,25 +9,18 @@
#ifndef SUAPPCAST_H
#define SUAPPCAST_H
#import <Foundation/Foundation.h>
#import "SUExport.h"
@class SUAppcastItem;
@interface SUAppcast : NSObject {
NSArray *items;
NSString *userAgentString;
id delegate;
NSMutableData *incrementalData;
}
SU_EXPORT @interface SUAppcast : NSObject<NSURLDownloadDelegate>
- (void)fetchAppcastFromURL:(NSURL *)url;
- (void)setDelegate:delegate;
- (void)setUserAgentString:(NSString *)userAgentString;
@property (copy) NSString *userAgentString;
@property (copy) NSDictionary *httpHeaders;
- (NSArray *)items;
- (void)fetchAppcastFromURL:(NSURL *)url completionBlock:(void (^)(NSError *))err;
@end
@interface NSObject (SUAppcastDelegate)
- (void)appcastDidFinishLoading:(SUAppcast *)appcast;
- (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error;
@property (readonly, copy) NSArray *items;
@end
#endif
@@ -9,38 +9,35 @@
#ifndef SUAPPCASTITEM_H
#define SUAPPCASTITEM_H
@interface SUAppcastItem : NSObject {
NSString *title;
NSDate *date;
NSString *itemDescription;
NSURL *releaseNotesURL;
NSString *DSASignature;
NSString *minimumSystemVersion;
NSURL *fileURL;
NSString *versionString;
NSString *displayVersionString;
NSDictionary *propertiesDictionary;
}
#import <Foundation/Foundation.h>
#import "SUExport.h"
SU_EXPORT @interface SUAppcastItem : NSObject
@property (copy, readonly) NSString *title;
@property (copy, readonly) NSDate *date;
@property (copy, readonly) NSString *itemDescription;
@property (strong, readonly) NSURL *releaseNotesURL;
@property (copy, readonly) NSString *DSASignature;
@property (copy, readonly) NSString *minimumSystemVersion;
@property (copy, readonly) NSString *maximumSystemVersion;
@property (strong, readonly) NSURL *fileURL;
@property (copy, readonly) NSString *versionString;
@property (copy, readonly) NSString *displayVersionString;
@property (copy, readonly) NSDictionary *deltaUpdates;
@property (strong, readonly) NSURL *infoURL;
// Initializes with data from a dictionary provided by the RSS class.
- initWithDictionary:(NSDictionary *)dict;
- (instancetype)initWithDictionary:(NSDictionary *)dict;
- (instancetype)initWithDictionary:(NSDictionary *)dict failureReason:(NSString **)error;
- (NSString *)title;
- (NSString *)versionString;
- (NSString *)displayVersionString;
- (NSDate *)date;
- (NSString *)itemDescription;
- (NSURL *)releaseNotesURL;
- (NSURL *)fileURL;
- (NSString *)DSASignature;
- (NSString *)minimumSystemVersion;
@property (getter=isDeltaUpdate, readonly) BOOL deltaUpdate;
@property (getter=isCriticalUpdate, readonly) BOOL criticalUpdate;
@property (getter=isInformationOnlyUpdate, readonly) BOOL informationOnlyUpdate;
// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
- (NSDictionary *)propertiesDictionary;
@property (readonly, copy) NSDictionary *propertiesDictionary;
- (NSURL *)infoURL;
@end
@@ -0,0 +1,47 @@
//
// SUErrors.h
// Sparkle
//
// Created by C.W. Betts on 10/13/14.
// Copyright (c) 2014 Sparkle Project. All rights reserved.
//
#ifndef SUERRORS_H
#define SUERRORS_H
#import <Foundation/Foundation.h>
#import "SUExport.h"
/**
* Error domain used by Sparkle
*/
SU_EXPORT extern NSString *const SUSparkleErrorDomain;
typedef NS_ENUM(OSStatus, SUError) {
// Appcast phase errors.
SUAppcastParseError = 1000,
SUNoUpdateError = 1001,
SUAppcastError = 1002,
SURunningFromDiskImageError = 1003,
// Downlaod phase errors.
SUTemporaryDirectoryError = 2000,
// Extraction phase errors.
SUUnarchivingError = 3000,
SUSignatureError = 3001,
// Installation phase errors.
SUFileCopyFailure = 4000,
SUAuthenticationFailure = 4001,
SUMissingUpdateError = 4002,
SUMissingInstallerToolError = 4003,
SURelaunchError = 4004,
SUInstallationError = 4005,
SUDowngradeError = 4006,
// System phase errors
SUSystemPowerOffError = 5000
};
#endif

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