Compare commits

..

2122 Commits

Author SHA1 Message Date
Bjorn Winckler aa86531f82 Snapshot 60 2011-07-22 20:17:04 +02:00
Bjorn Winckler e0f133cb14 Merge branch 'vim' 2011-07-22 19:51:20 +02:00
Bjorn Winckler 56390fac62 Fix for zsh causing freezes on Lion
Make sure tty is opened using the same flags as when opening the pty.
In particular, the O_NOCTTY was missing from the tty open call.  This
caused waitpid() to always return 0 and Vim would get stuck in an
endless loop waiting for the child to exit.
2011-07-22 19:46:58 +02:00
Bjorn Winckler c35d6d1d3c Addendum to emergency fix
Ensure vim_message() outputs an empty message when the Ruby string has
length 0.  Failing to do this will cause the message area not to clear
when it should.
2011-07-22 19:46:49 +02:00
Bjorn Winckler 27086e3b64 Emergency fix for Ruby problems
With optimizations enabled "alloca(len)" generates code which depends on
"len > 0".  If "len == 0" then the stack pointer becomes botched.  This
fix simply avoids a call to "alloca(len)" in the latter case.  The root
of this problem may be deeper than this, hence I am calling this an
"emergency fix" for now but at least it fixes the crashes in the Ruby
interface that appear when compiling on Mac OS X 10.7.
2011-07-22 19:46:36 +02:00
Bram Moolenaar e967a23863 Added tag v7-3-260 for changeset cb4682b95909 2011-07-20 18:29:39 +02:00
Bram Moolenaar 851cd145ab updated for version 7.3.260
Problem:    CursorHold triggers on an incomplete mapping. (Will Gray)
Solution:   Don't trigger CursorHold when there is typeahead.
2011-07-20 18:29:39 +02:00
Bram Moolenaar 12011cfc3e Added tag v7-3-259 for changeset 59130cd78dfc 2011-07-20 17:58:20 +02:00
Bram Moolenaar 073aa81247 updated for version 7.3.259
Problem:    Equivalence classes only work for latin characters.
Solution:   Add the Unicode equivalence characters. (Dominique Pelle)
2011-07-20 17:58:20 +02:00
Bram Moolenaar 3f7b3209d8 Added tag v7-3-258 for changeset bdc3335bd72e 2011-07-20 17:27:25 +02:00
Bram Moolenaar d293bc15ca updated for version 7.3.258
Problem:    MS-Windows: The edit with existing vim context menu entries can be
	    unwanted.
Solution:   Let a registry entry disable them. (Jerome Vuarand)
2011-07-20 17:27:25 +02:00
Bram Moolenaar 136af5316e Added tag v7-3-257 for changeset 1fad9c73d77a 2011-07-20 16:37:24 +02:00
Bram Moolenaar e01174b1f3 updated for version 7.3.257
Problem:    Not all completions are available to user commands.
Solution:   Add "color", "compiler", "file_in_path" and "locale". (Dominique
	    Pelle)
2011-07-20 16:37:24 +02:00
Bram Moolenaar 103ac57ae2 Added tag v7-3-256 for changeset c296c225736e 2011-07-20 15:09:44 +02:00
Bram Moolenaar ac79fd3bee updated for version 7.3.256
Problem:    Javascript indenting not sufficiently tested.
Solution:   Add more tests. (Luc Deschenaux)  Mark the lines that are indented
	    wrong.
2011-07-20 15:09:43 +02:00
Bram Moolenaar fc6320cf98 Added tag v7-3-255 for changeset aa998de9f959 2011-07-20 15:04:59 +02:00
Bram Moolenaar 31ed9f1341 updated for version 7.3.255
Problem:    When editing a file such as "File[2010-08-15].vim" an E16 error is
	    given. (Manuel Stol)
Solution:   Don't give an error for failing to compile the regexp.
2011-07-20 15:04:58 +02:00
Bram Moolenaar 1e4ca096eb Updated runtime files.
Add missing test82 files.
2011-07-18 19:40:27 +02:00
Bjorn Winckler 301fd4c3ac Merge branch 'vim'
Conflicts:
	src/auto/configure
2011-07-17 21:12:55 +02:00
Bjorn Winckler b5fae0ff3f Fix compiler warning 2011-07-16 15:48:33 +02:00
Bjorn Winckler d99c9c1101 Fix bug in swipe code 2011-07-16 15:46:38 +02:00
Bram Moolenaar 155ee7b0ca Added tag v7-3-254 for changeset 1eb805225de7 2011-07-15 21:24:12 +02:00
Bram Moolenaar c3d99f427d updated for version 7.3.254
Problem:    The coladd field is not reset when setting the line number for a
	    ":call" command.
Solution:   Reset it.
2011-07-15 21:24:11 +02:00
Bram Moolenaar cee4357a5b Added tag v7-3-253 for changeset c21429d7768c 2011-07-15 21:16:59 +02:00
Bram Moolenaar fa6185ce52 updated for version 7.3.253
Problem:    "echo 'abc' > ''" returns 0 or 1, depending on 'ignorecase'.
	    Checks in mb_strnicmp() for illegal and truncated bytes are
	    wrong.  Should not assume that byte length is equal before case
	    folding.
Solution:   Add utf_safe_read_char_adv() and utf_strnicmp(). Add a test for
	    this. (Ivan Krasilnikov)
2011-07-15 21:16:59 +02:00
Bram Moolenaar c9cf2496c7 Added tag v7-3-252 for changeset 0b4289bcf836 2011-07-15 17:56:16 +02:00
Bram Moolenaar 803d8bdfb4 updated for version 7.3.252
Problem:    Tests fail. (David Northfield)
Solution:   Add missing update for .ok file.
2011-07-15 17:56:16 +02:00
Bram Moolenaar 4616dfcd3a Added tag v7-3-251 for changeset fe6ad3fd8532 2011-07-15 17:51:34 +02:00
Bram Moolenaar 37573a22d4 updated for version 7.3.251
Problem:    "gH<Del>" deletes the current line, except when it's the last
	    line.
Solution:   Set the "include" flag to indicate the last line is to be deleted.
2011-07-15 17:51:34 +02:00
Bram Moolenaar 44d2f391c9 Added tag v7-3-250 for changeset f909f4f0f38c 2011-07-15 15:54:44 +02:00
Bram Moolenaar 187319ac73 updated for version 7.3.250
Problem:    Python: Errors in Unicode characters not handled nicely.
Solution:   Add the surrogateescape error handler. (lilydjwg)
2011-07-15 15:54:44 +02:00
Bram Moolenaar bea434d7ad Added tag v7-3-249 for changeset 9f71f5a526af 2011-07-15 14:12:31 +02:00
Bram Moolenaar ddc01469a8 updated for version 7.3.249
Problem:    Wrong indenting for array initializer.
Solution:   Detect '}' in a better way. (Lech Lorens)
2011-07-15 14:12:30 +02:00
Bram Moolenaar 1f1e41911e Added tag v7-3-248 for changeset 57a7998e0fa8 2011-07-15 13:52:04 +02:00
Bram Moolenaar 7c4547bf99 updated for version 7.3.248
Problem:    PC Install instructions missing install instructions.
Solution:   Step-by-step explanation. (Michael Soyka)
2011-07-15 13:52:04 +02:00
Bram Moolenaar 7322c3ba4b Added tag v7-3-247 for changeset 7fe2c092913e 2011-07-15 13:33:21 +02:00
Bram Moolenaar 9d86f0c543 updated for version 7.3.247
Problem:    Running tests changes the users viminfo file.  Test for patch
	    7.3.245 missing.
Solution:   Add "nviminfo" to the 'viminfo' option.  Include the test.
2011-07-15 13:33:21 +02:00
Bram Moolenaar be9bf38b00 Added tag v7-3-246 for changeset 3f1a4ed36d1b 2011-07-15 13:21:30 +02:00
Bram Moolenaar 78f1705c39 updated for version 7.3.246
Problem:    Repeating "f4" in "4444" skips one 4.
Solution:   Check the t_cmd flag. (Christian Brabandt)
2011-07-15 13:21:30 +02:00
Bram Moolenaar f752a1288f Added tag v7-3-245 for changeset 52512eddb876 2011-07-15 13:09:51 +02:00
Bram Moolenaar 5aa313472e updated for version 7.3.245
Problem:    Python 3.2 libraries not correctly detected.
Solution:   Add the suffix to the library name. (Niclas Zeising)
2011-07-15 13:09:51 +02:00
Bjorn Winckler b0625e5e96 Snapshot 59 2011-07-10 17:06:35 +02:00
Bjorn Winckler 8c1e930854 Use public API to toggle display of hidden files
Use public API (introduced in OS X 10.6) to toggle display of hidden
files in the open and save panels.  This fixes a bug where MacVim would
lock up or crash when using the open or save panels on OS X 10.7.
2011-07-09 19:54:35 +02:00
Bram Moolenaar ff3e697c62 Added tag v7-3-244 for changeset be6b65096362 2011-07-07 17:43:42 +02:00
Bram Moolenaar 9c42afa550 updated for version 7.3.244
Problem:    MS-Windows: Build problem with old compiler. (John Beckett)
Solution:   Only use HandleToLong() when available. (Mike Williams)
2011-07-07 17:43:41 +02:00
Bram Moolenaar cf1628689a Added tag v7-3-243 for changeset 512ddd87f1a8 2011-07-07 17:36:57 +02:00
Bram Moolenaar b70aad41ed updated for version 7.3.243
Problem:    Illegal memory access in readline().
Solution:   Swap the conditions. (Dominique Pelle)
2011-07-07 17:36:56 +02:00
Bram Moolenaar 8dd190f611 Added tag v7-3-242 for changeset 3d96ddbeb3b0 2011-07-07 17:15:33 +02:00
Bram Moolenaar b20d2575d0 updated for version 7.3.242
Problem:    Illegal memory access in after_pathsep().
Solution:   Check that the pointer is not at the start of the file name.
	    (Dominique Pelle)
2011-07-07 17:15:33 +02:00
Bram Moolenaar 195add0620 Added tag v7-3-241 for changeset 0a650db02653 2011-07-07 16:44:38 +02:00
Bram Moolenaar fd92d3e268 updated for version 7.3.241
Problem:    Using CTRL-R CTRL-W on the command line may insert only part of
	    the word.
Solution:   Use the cursor position instead of assuming it is at the end of
	    the command. (Tyru)
2011-07-07 16:44:37 +02:00
Bram Moolenaar a9c96dd4b4 Added tag v7-3-240 for changeset bf283e37792b 2011-07-07 16:20:52 +02:00
Bram Moolenaar 09fcb03138 updated for version 7.3.240
Problem:    External commands can't use pipes on MS-Windows.
Solution:   Implement pipes and use them when 'shelltemp' isn't set. (Vincent
	    Berthoux)
2011-07-07 16:20:52 +02:00
Bram Moolenaar dab1828e3d Added tag v7-3-239 for changeset 0bef86c5c985 2011-07-07 15:08:58 +02:00
Bram Moolenaar a732285db7 updated for version 7.3.239
Problem:    Python corrects the cursor column without taking 'virtualedit'
	    into account. (lilydjwg)
Solution:   Call check_cursor_col_win().
2011-07-07 15:08:58 +02:00
Bram Moolenaar f562b94b3f Added tag v7-3-238 for changeset f2c108f44f41 2011-07-07 15:04:52 +02:00
Bram Moolenaar 64379f252a updated for version 7.3.238
Problem:    Compiler warning for conversion.
Solution:   Add type cast. (Mike Williams)
2011-07-07 15:04:52 +02:00
Bjorn Winckler 5a13bc1fed Snapshot 58 2011-06-27 12:18:00 +02:00
Bjorn Winckler f6c0037945 Merge branch 'vim'
Conflicts:
	src/gui.c
2011-06-27 12:03:57 +02:00
Bram Moolenaar 961eab79ea Added tag v7-3-237 for changeset e3bb93df6c34 2011-06-26 19:40:23 +02:00
Bram Moolenaar e201ce759a updated for version 7.3.237
Problem:    "filetype" completion doesn't work on Windows. (Yue Wu)
Solution:   Don't use a glob pattern for the directories, use a list of
	    directories. (Dominique Pelle)
2011-06-26 19:40:23 +02:00
Bram Moolenaar 28aab099ac Added tag v7-3-236 for changeset c1733ef5b6e8 2011-06-26 19:13:51 +02:00
Bram Moolenaar c4ffce9c94 updated for version 7.3.236
Problem:    Python 3 doesn't compile without +multi_byte
Solution:   Use "latin1" when MULTI_BYTE is not defined. (lilydjwg)
2011-06-26 19:13:50 +02:00
Bram Moolenaar 0a51880d44 Added tag v7-3-235 for changeset 441d364773dc 2011-06-26 05:36:34 +02:00
Bram Moolenaar beda110d44 updated for version 7.3.235
Problem:    ";" gets stuck on a "t" command, it's not useful.
Solution:   Add the ';' flag in 'cpo'. (Christian Brabandt)
2011-06-26 05:36:34 +02:00
Bram Moolenaar deef077331 Added tag v7-3-234 for changeset 7653420fdc45 2011-06-26 04:49:00 +02:00
Bram Moolenaar b70ae538c9 updated for version 7.3.234
Problem:    With GTK menu may be popping down.
Solution:   Use event time instead of GDK_CURRENT_TIME. (Hong Xu)
2011-06-26 04:49:00 +02:00
Bram Moolenaar 87ed530032 Added tag v7-3-233 for changeset 69b90e43b728 2011-06-26 04:25:30 +02:00
Bram Moolenaar be9de3cbaf updated for version 7.3.233
Problem:    ":scriptnames" and ":breaklist" show long file names.
Solution:   Shorten to use "~/" when possible. (Jean-Rene David)
2011-06-26 04:25:30 +02:00
Bram Moolenaar ba5f3329d8 Added tag v7-3-232 for changeset b67d3a44262a 2011-06-26 04:01:44 +02:00
Bram Moolenaar 66af0b2adb updated for version 7.3.232
Problem:    Python doesn't compile without +multi_byte
Solution:   Use "latin1" when MULTI_BYTE is not defined.
2011-06-26 04:01:44 +02:00
Bram Moolenaar 44aca09673 Added tag v7-3-231 for changeset 455a4c85d04d 2011-06-26 03:18:52 +02:00
Bram Moolenaar a59ce30cdb updated for version 7.3.231
Problem:    Runtime file patches failed.
Solution:   Redo the patches made against the patched files instead of the
	    files in the mercurial repository.
2011-06-26 03:18:52 +02:00
Bram Moolenaar a99496b7f2 Added tag v7-3-230 for changeset 70c8f54e7efb 2011-06-20 05:02:58 +02:00
Bram Moolenaar befc3cb32f updated for version 7.3.230
Problem:    ":wundo" and ":rundo" don't unescape their argument.  (Aaron
	    Thoma)
Solution:   Use FILE1 instead of XFILE.
2011-06-20 05:02:58 +02:00
Bram Moolenaar 1bb588dd8c Added tag v7-3-229 for changeset 07647a0545c9 2011-06-20 00:53:15 +02:00
Bram Moolenaar c9a00c5398 updated for version 7.3.229
Problem:    Using fork() makes gvim crash on Mac when build with
	    CoreFoundation.
Solution:   Disallow fork() when __APPLE__ is defined. (Hisashi T Fujinaka)
2011-06-20 00:53:15 +02:00
Bram Moolenaar 960fec7f12 Added tag v7-3-228 for changeset c6df8554b39d 2011-06-20 00:45:58 +02:00
Bram Moolenaar 6af28e78bd updated for version 7.3.228
Problem:    "2gj" does not always move to the correct position.
Solution:   Get length of line after moving to a next line. (James Vega)
2011-06-20 00:45:58 +02:00
Bram Moolenaar 3a686b2786 Added tag v7-3-227 for changeset b65a26a2aa09 2011-06-20 00:25:44 +02:00
Bram Moolenaar 3844e50139 updated for version 7.3.227
Problem:    Mac OS doesn't have the linewise clipboard fix.
Solution:   Also change the Mac OS file. (Bjorn Winckler)
2011-06-20 00:25:44 +02:00
Bram Moolenaar c06b3af207 Updated runtime files. 2011-06-19 05:09:16 +02:00
Bram Moolenaar de5765153a Added tag v7-3-226 for changeset 8477b2cc2b81 2011-06-19 04:54:22 +02:00
Bram Moolenaar bea751a99e updated for version 7.3.226
Problem:    On a 64 bit system "syn sync fromstart" is very slow.  (Bjorn
	    Steinbrink)
Solution:   Store the state when starting to parse from the first line.
2011-06-19 04:54:21 +02:00
Bram Moolenaar e733bfcbad Added tag v7-3-225 for changeset c249d9aa60f7 2011-06-19 04:32:15 +02:00
Bram Moolenaar 8a6556b02c updated for version 7.3.225
Problem:    Using "\n" in a substitute inside ":s" does not result in a line
	    break.
Solution:   Change behavior inside vim_regexec_nl().   Add tests.  (Motoya
	    Kurotsu)
2011-06-19 04:32:15 +02:00
Bram Moolenaar 46ac6c8ed5 Added tag v7-3-224 for changeset 69e0783ed0ef 2011-06-19 02:55:38 +02:00
Bram Moolenaar ebcf5fa241 updated for version 7.3.224
Problem:    Can't pass dict to sort function.
Solution:   Add the optional {dict} argument to sort(). (ZyX)
2011-06-19 02:55:37 +02:00
Bram Moolenaar 2bba29d744 Added tag v7-3-223 for changeset 4e21fd3cfc30 2011-06-19 01:30:07 +02:00
Bram Moolenaar 5d930f4b08 updated for version 7.3.223
Problem:    MingW cross compilation doesn't work with tiny features.
Solution:   Move acp_to_enc(), enc_to_utf16() and utf16_to_enc() outside of
	    "#ifdef CLIPBOARD".  Fix typo in makefile.
2011-06-19 01:30:07 +02:00
Bram Moolenaar 5db465dfb1 Added tag v7-3-222 for changeset c3b4b1c89d8e 2011-06-19 01:27:34 +02:00
Bram Moolenaar a949911b55 updated for version 7.3.222
Problem:    Warning for building GvimExt.
Solution:   Comment-out the DESCRIPTION line. (Mike Williams)
2011-06-19 01:27:34 +02:00
Bram Moolenaar d88e997f35 Added tag v7-3-221 for changeset fd4224d9ee09 2011-06-19 01:14:29 +02:00
Bram Moolenaar f280de7b25 updated for version 7.3.221
Problem:    Text from the clipboard is sometimes handled as linewise, but not
	    consistently.
Solution:   Assume the text is linewise when it ends in a CR or NL.
2011-06-19 01:14:29 +02:00
Bram Moolenaar ff1604d5f5 Added tag v7-3-220 for changeset fe9c7da98b5e 2011-06-19 00:27:51 +02:00
Bram Moolenaar e8c4996e56 updated for version 7.3.220
Problem:    Python 3: vim.error is a 'str' instead of an 'Exception' object,
	    so 'except' or 'raise' it causes a 'SystemError' exception.
	    Buffer objects do not support slice assignment.
	    When exchanging text between Vim and Python, multibyte texts become
	    gabage or cause Unicode Expceptions, etc.
	    'py3file' tries to read in the file as Unicode, sometimes causes
	    UnicodeDecodeException
Solution:   Fix the problems. (lilydjwg)
2011-06-19 00:27:51 +02:00
Bjorn Winckler 30332fd2ac Remove unused Carbon include 2011-06-14 20:33:38 +02:00
Bjorn Winckler 93116bdb88 Merge branch 'vim'
Conflicts:
	src/auto/configure
	src/vim.h
2011-06-14 20:26:16 +02:00
Bram Moolenaar c8550f3099 Add files added by recent patches. 2011-06-13 21:21:22 +02:00
Bram Moolenaar d0e744cbef Added tag v7-3-219 for changeset acda456c788a 2011-06-13 02:04:00 +02:00
Bram Moolenaar fb3e1c2a39 updated for version 7.3.219
Problem:    Can't compile with GTK on Mac.
Solution:   Add some #ifdef trickery. (Ben Schmidt)
2011-06-13 02:04:00 +02:00
Bram Moolenaar 6e39600c36 Added tag v7-3-218 for changeset cf89a1d3a0dd 2011-06-13 01:32:47 +02:00
Bram Moolenaar 835b978fb0 updated for version 7.3.218
Problem:    Tiny configuration problem with Python 3.
Solution:   Add abiflags in one more place. (Andreas Behr)
2011-06-13 01:32:46 +02:00
Bram Moolenaar e28bc5cf93 Added tag v7-3-217 for changeset 15705b520c29 2011-06-13 01:19:56 +02:00
Bram Moolenaar 9be5c3e5b4 updated for version 7.3.217
Problem:    Inside an "if" a ":wincmd" causes problems.
Solution:   When skipping commands let ":wincmd" skip over its argument.
2011-06-13 01:19:56 +02:00
Bram Moolenaar 6d901b26e2 Added tag v7-3-216 for changeset eb6c70460702 2011-06-13 01:07:27 +02:00
Bram Moolenaar 81257b83bb updated for version 7.3.216
Problem:    When recovering a file a range of lines is missing. (Charles Jie)
Solution:   Reset the index when advancing to the next pointer block.  Add a
	    test to verify recovery works.
2011-06-13 01:07:27 +02:00
Bram Moolenaar de3f282492 Added tag v7-3-215 for changeset b7523ef31e23 2011-06-12 22:13:41 +02:00
Bram Moolenaar 7cf54dc283 updated for version 7.3.215
Problem:    Wrong file names in previous patch. (Toothpik)
Solution:   Include the option changes.
2011-06-12 22:13:40 +02:00
Bram Moolenaar 29726c771c Added tag v7-3-214 for changeset d84a564f28c9 2011-06-12 22:03:23 +02:00
Bram Moolenaar 21e6897baf updated for version 7.3.214
Problem:    The text displayed by ":z-" isn't exactly like old Vi.
Solution:   Add one to the start line number. (ChangZhuo Chen)
2011-06-12 22:03:23 +02:00
Bram Moolenaar ac8e1de210 Added tag v7-3-213 for changeset 493897f8bf90 2011-06-12 21:51:08 +02:00
Bram Moolenaar f9a4c81c8c updated for version 7.3.213
Problem:    Javascript object literal is not indented correctly.
Solution:   Make a special case for when "J1" is in 'cino'. (Luc Deschenaux)
2011-06-12 21:51:08 +02:00
Bram Moolenaar 288de1c3be Added tag v7-3-212 for changeset 6bbdb9c7a425 2011-06-12 21:37:13 +02:00
Bram Moolenaar 6c57e2a441 updated for version 7.3.212
Problem:    With Python 3.2 ":py3" fails.
Solution:   Move PyEval_InitThreads() to after Py_Initialize(). (Roland
	    Puntaier)  Check abiflags in configure. (Andreas Behr)
2011-06-12 21:37:13 +02:00
Bram Moolenaar bec12f5d07 Added tag v7-3-211 for changeset c7d942260772 2011-06-12 21:25:00 +02:00
Bram Moolenaar 7e24d094eb updated for version 7.3.211
Problem:    Compiler warning.
Solution:   Add type cast.
2011-06-12 21:25:00 +02:00
Bram Moolenaar 177020d4bf Added tag v7-3-210 for changeset eeb1ac4f66d1 2011-06-12 20:42:22 +02:00
Bram Moolenaar 4d3049155a updated for version 7.3.210
Problem:    Can't always find the file when using cscope.
Solution:   Add the 'cscoperelative' option. (Raghavendra D Prabhu)
2011-06-12 20:42:22 +02:00
Bram Moolenaar 4efcc45248 Added tag v7-3-209 for changeset 82cd9f1e8d6b 2011-06-12 20:36:09 +02:00
Bram Moolenaar d61d77b467 updated for version 7.3.209
Problem:    MSVC Install instructions point to wrong batch file.
Solution:   Add a batch file for use with MSVC 10.
2011-06-12 20:36:09 +02:00
Bram Moolenaar 959be16128 Added tag v7-3-208 for changeset 205adc87d579 2011-06-12 20:33:38 +02:00
Bram Moolenaar 2a3af00db7 updated for version 7.3.208
Problem:    Early terminated if statement.
Solution:   Remove the semicolon. (Lech Lorens)
2011-06-12 20:33:38 +02:00
Bram Moolenaar 99d12d6e38 Added tag v7-3-207 for changeset d1445b72ddb7 2011-06-12 20:31:31 +02:00
Bram Moolenaar 8afdd1ca38 updated for version 7.3.207
Problem:    Can't compile with MSVC with pentium4 and 64 bit.
Solution:   Only use SSE2 for 32 bit. (Mike Williams)
2011-06-12 20:31:31 +02:00
Bjorn Winckler b8ec9035b6 Plug major memory leak 2011-06-09 20:21:13 +02:00
Bjorn Winckler d8066f8a5d Fix untitled window open regression
Fixes bug where Quickstart would cause no window to open when the Dock
icon was clicked with MacVim already launched and no open windows.  This
commit also plugs a minor memory leak.
2011-05-31 11:39:01 +02:00
Bjorn Winckler c60f09b824 Merge branch 'vim'
Conflicts:
	src/ex_getln.c
	src/gui.c
	src/gui.h
	src/vim.h
2011-05-30 21:42:28 +02:00
Bram Moolenaar 2bdcd40dc1 Added tag v7-3-206 for changeset 46544d3ae7ec 2011-05-25 21:18:06 +02:00
Bram Moolenaar c915094815 updated for version 7.3.206
Problem:    64bit MS-Windows compiler warning.
Solution:   Use HandleToLong() instead of type cast. (Mike Williams)
2011-05-25 21:18:06 +02:00
Bram Moolenaar 14136c04f5 Added tag v7-3-205 for changeset 8d8bd6307b1a 2011-05-25 17:56:27 +02:00
Bram Moolenaar 03de7d2640 updated for version 7.3.205
Problem:    Syntax "extend" doesn't work correctly.
Solution:   Avoid calling check_state_ends() recursively (Ben Schmidt)
2011-05-25 17:56:27 +02:00
Bram Moolenaar ae34050c41 Added tag v7-3-204 for changeset e6ce47f06836 2011-05-25 17:29:44 +02:00
Bram Moolenaar 2b724c2f9a updated for version 7.3.204
Problem:    Compiler warning.
Solution:   Add type cast. (Mike Williams)
2011-05-25 17:29:44 +02:00
Bram Moolenaar c1acf0d255 Added tag v7-3-203 for changeset ce1dce2af2a3 2011-05-25 17:06:23 +02:00
Bram Moolenaar 218031ae11 updated for version 7.3.203
Problem:    MS-Windows: Can't run an external command without a console window.
Solution:   Support ":!start /b cmd". (Xaizek)
2011-05-25 17:06:22 +02:00
Bram Moolenaar 36732acfc3 Added tag v7-3-202 for changeset f80e67bd6271 2011-05-25 15:16:18 +02:00
Bram Moolenaar 02d1fbc72f updated for version 7.3.202
Problem:    Cannot influence the indent inside a namespace.
Solution:   Add the "N" 'cino' parameter. (Konstantin Lepa)
2011-05-25 15:16:18 +02:00
Bram Moolenaar 1c093c505c Added tag v7-3-201 for changeset 78859ef2982b 2011-05-25 13:34:04 +02:00
Bram Moolenaar b935466893 updated for version 7.3.201
Problem:    "} else" still causes following lines to be indented too much.
Solution:   Better detection for the "else" block. (Lech Lorens)
2011-05-25 13:34:04 +02:00
Bram Moolenaar 987ccc53b3 Added tag v7-3-200 for changeset 41b17dd07029 2011-05-25 12:51:22 +02:00
Bram Moolenaar 93e15bc5e3 updated for version 7.3.200
Problem:    CTRL-D doesn't complete :lang.
Solution:   Add the missing part of the change. (Dominique Pelle)
2011-05-25 12:51:22 +02:00
Bram Moolenaar 493d43c74a Added tag v7-3-199 for changeset c76efe33a3c1 2011-05-25 12:09:50 +02:00
Bram Moolenaar 3a7bc43e4d updated for version 7.3.199
Problem:    MS-Windows: Compilation problem of OLE with MingW compiler.
Solution:   Put #ifdef around declarations. (Guopeng Wen)
2011-05-25 12:09:50 +02:00
Bram Moolenaar 86b160506f Added tag v7-3-198 for changeset b0190e93e601 2011-05-19 18:26:40 +02:00
Bram Moolenaar df053212ba updated for version 7.3.198
Problem:    No completion for ":lang".
Solution:   Get locales to complete from. (Dominique Pelle)
2011-05-19 18:26:40 +02:00
Bram Moolenaar 123bfb110d Added tag v7-3-197 for changeset 45c536fe48db 2011-05-19 17:42:59 +02:00
Bram Moolenaar 651ca1529b updated for version 7.3.197
Problem:    When a QuickfixCmdPost event removes all errors, Vim still tries
	    to jump to the first error, resulting in E42.
Solution:   Get the number of error after the autocmd event. (Mike Lundy)
2011-05-19 17:42:59 +02:00
Bram Moolenaar ed7e7e9b62 Added tag v7-3-196 for changeset d641f141f937 2011-05-19 17:25:41 +02:00
Bram Moolenaar f3e738a583 updated for version 7.3.196
Problem:    Can't intercept a character that is going to be inserted.
Solution:   Add the InsertCharPre autocommand event. (Jakson A. Aquino)
2011-05-19 17:25:41 +02:00
Bram Moolenaar 091f96ef35 Added tag v7-3-195 for changeset 8dbea5adc937 2011-05-19 16:35:09 +02:00
Bram Moolenaar 42e346cacd updated for version 7.3.195
Problem:    "} else" causes following lines to be indented too much. (Rouben
	    Rostamian)
Solution:   Better detection for the "else". (Lech Lorens)
2011-05-19 16:35:09 +02:00
Bram Moolenaar ed5764ab40 Added tag v7-3-194 for changeset 664c1adcb909 2011-05-19 14:59:10 +02:00
Bram Moolenaar dd0a9c58ac updated for version 7.3.194
Problem:    When "b" is a symlink to directory "a", resolve("b/") doesn't
	    result in "a/".  (ZyX)
Solution:   Remove the trailing slash. (Jean-Rene David)
2011-05-19 14:59:10 +02:00
Bram Moolenaar 84f79796e2 Added tag v7-3-193 for changeset e1c5f69de95b 2011-05-19 14:50:54 +02:00
Bram Moolenaar 941dce206c updated for version 7.3.193
Problem:    In the command line window ":close" doesn't work properly. (Tony
	    Mechelynck)
Solution:   Use Ctrl_C instead of K_IGNORE for cmdwin_result. (Jean-Rene
	    David)
2011-05-19 14:50:54 +02:00
Bram Moolenaar 5c77b48708 Added tag v7-3-192 for changeset 8470ac4679c1 2011-05-19 14:30:16 +02:00
Bram Moolenaar b1d4f0435f updated for version 7.3.192
Problem:    Ex command ":s/ \?/ /g" splits multi-byte characters into bytes.
	    (Dominique Pelle)
Solution:   Advance over whole character instead of one byte.
2011-05-19 14:30:16 +02:00
Bram Moolenaar f697b48d81 Updated message translations. 2011-05-19 13:44:07 +02:00
Bram Moolenaar 7b04f15258 Added tag v7-3-191 for changeset 107b03fdf1ad 2011-05-19 13:41:14 +02:00
Bram Moolenaar 73a0c98c11 updated for version 7.3.191
Problem:    Still some RISC OS stuff to remove.
Solution:   Remove files and lines. (Hong Xu)
	    Remove the 'osfiletype' option code.
2011-05-19 13:41:14 +02:00
Bram Moolenaar 436044e240 Updated runtime files. 2011-05-19 12:22:51 +02:00
Bram Moolenaar 254777bd7f Added tag v7-3-190 for changeset 30b7cde21940 2011-05-19 12:14:11 +02:00
Bram Moolenaar d9c06c301b updated for version 7.3.190
Problem:    When there is a "containedin" syntax argument highlighting may be
	    wrong. (Radek)
Solution:   Reset current_next_list. (Ben Schmidt)
2011-05-19 12:14:10 +02:00
Bjorn Winckler 42402338c1 Use "Source File" consistently in Info.plist 2011-05-11 19:30:26 +02:00
Bjorn Winckler 7e1e159165 Add Lua to supported file types in Info.plist
Based on patch by Andrea D'Amore.
2011-05-11 19:29:52 +02:00
Bjorn Winckler a761f7959f Revert "Fix Cmd-v pasting in insert mode"
This patch causes re-indentation of pasted text, sometimes causing
nicely formatted text to "staircase" when pasted.  Ugh.

This reverts commit 3b33bfb6d1.
2011-05-11 18:36:13 +02:00
Bram Moolenaar 98dad7de42 Added tag v7-3-189 for changeset 71e1da07e141 2011-05-10 17:29:34 +02:00
Bram Moolenaar ad071c2cb4 updated for version 7.3.189
Problem:    Can't build without +clipboard feature. (Christian Ebert)
Solution:   Add the missing #ifdef.
2011-05-10 17:29:33 +02:00
Bram Moolenaar 7fc039338e Added tag v7-3-188 for changeset f2e1c3a90a3b 2011-05-10 17:21:56 +02:00
Bram Moolenaar cbae63cff9 updated for version 7.3.188
Problem:    More RISC OS files to remove.
Solution:   Remove them.  Update the file list.
2011-05-10 17:21:56 +02:00
Bram Moolenaar a93c4e62ab Updated runtime files. 2011-05-10 17:18:44 +02:00
Bram Moolenaar caeb8c0eb4 Remove the deleted RISC OS files. 2011-05-10 16:42:00 +02:00
Bram Moolenaar ec1195bb6a Added tag v7-3-187 for changeset 8bd38abda314 2011-05-10 16:41:26 +02:00
Bram Moolenaar 88903e9bb6 updated for version 7.3.187
Problem:    The RISC OS port has obvious errors and is not being maintained.
Solution:   Remove the RISC OS files and code.
2011-05-10 16:41:25 +02:00
Bram Moolenaar e24151f3c4 Added tag v7-3-186 for changeset 3d1a3aa0240c 2011-05-10 16:12:45 +02:00
Bram Moolenaar 67631189d3 updated for version 7.3.186
Problem:    When 'clipboard' contains "unnamed" or "unnamedplus" the value of
	    v:register is wrong for operators without a specific register.
Solution:   Adjust the register according to 'clipboard'. (Ingo Karkat)
2011-05-10 16:12:45 +02:00
Bram Moolenaar 9f601b9c18 Added tag v7-3-185 for changeset 9c8dffc62a41 2011-05-10 16:00:47 +02:00
Bram Moolenaar eebb917f13 updated for version 7.3.185
Problem:    ":windo g/pattern/q" closes windows and reports "N more lines".
	    (Tim Chase)
Solution:   Remember what buffer ":global" started in. (Jean-Rene David)
2011-05-10 16:00:47 +02:00
Bram Moolenaar f5b91de515 Added tag v7-3-184 for changeset b941cc96926a 2011-05-10 15:52:15 +02:00
Bram Moolenaar 421e72c802 updated for version 7.3.184
Problem:    Static code analysis errors in riscOS.
Solution:   Make buffer size bigger. (Dominique Pelle)
2011-05-10 15:52:15 +02:00
Bram Moolenaar 0bf68f0ec0 Added tag v7-3-183 for changeset e4403440e192 2011-05-10 15:42:03 +02:00
Bram Moolenaar eb0abdc869 updated for version 7.3.183
Problem:    When Exuberant ctags binary is exuberant-ctags it's not found.
Solution:   Add configure check for exuberant-ctags.
2011-05-10 15:42:03 +02:00
Bram Moolenaar ebf2482918 Added tag v7-3-182 for changeset 21346361ce6c 2011-05-10 14:44:11 +02:00
Bram Moolenaar f9c94d65e1 updated for version 7.3.182
Problem:    Compiler warning for uninitialized variable.
Solution:   Add dummy initializer.
2011-05-10 14:44:11 +02:00
Bram Moolenaar 24e22acbe6 Added tag v7-3-181 for changeset 5381eb5b1eb9 2011-05-10 14:22:16 +02:00
Bram Moolenaar 1a229150cd updated for version 7.3.181
Problem:    When repeating the insert of CTRL-V or a digraph the display may
	    not be updated correctly.
Solution:   Only call edit_unputchar() after edit_putchar(). (Lech Lorens)
2011-05-10 14:22:16 +02:00
Bram Moolenaar 294ec7351d Added tag v7-3-180 for changeset ed47d18b39c6 2011-05-10 13:38:27 +02:00
Bram Moolenaar 7811b8d46e updated for version 7.3.180
Problem:    When both a middle part of 'comments' matches and an end part, the
	    middle part was used errornously.
Solution:   After finding the middle part match continue looking for a better
	    end part match. (partly by Lech Lorens)
2011-05-10 13:38:27 +02:00
Bjorn Winckler aa8c27fa33 Use generic doc icon for VHDL 2011-05-10 13:26:17 +02:00
Trond Danielsen cd9acb1214 Added VHDL to the list of supported files in Info.plist 2011-05-10 13:26:17 +02:00
Bjorn Winckler 77b96094f0 Fix cursor drawing issue with 'rl' enabled 2011-05-10 13:11:31 +02:00
Bjorn Winckler 3c7743bc13 Remove hard-coded Cmd-key mappings 2011-05-10 12:58:30 +02:00
Bjorn Winckler 3b33bfb6d1 Fix Cmd-v pasting in insert mode
Hitting Cmd-v in insert mode will paste at cursor (not line above) even
if pasteboard contains "linewise" text.  Also fixes problems with
pasting after typing I in block-wise visual mode.
2011-05-10 12:36:24 +02:00
Bram Moolenaar c139b75eba Added tag v7-3-179 for changeset 11e62fb6f815 2011-05-10 11:56:30 +02:00
Bram Moolenaar adc67a01b3 updated for version 7.3.179
Problem:    C-indent doesn't handle colon in string correctly.
Solution:   Skip the string. (Lech Lorens)
2011-05-10 11:56:30 +02:00
Bram Moolenaar 21e8ca393b Added tag v7-3-178 for changeset ac639ca9f58f 2011-05-10 11:39:19 +02:00
Bram Moolenaar 4cc979f7e7 updated for version 7.3.178
Problem:    C-indent doesn't handle code right after { correctly.
Solution:   Fix detecting unterminated line. (Lech Lorens)
2011-05-10 11:39:19 +02:00
Bjorn Winckler d0d1d08737 Merge branch 'vim'
Conflicts:
	src/auto/configure
	src/configure.in
2011-05-07 16:06:07 +02:00
Bram Moolenaar 45f4f1d1f7 Added tag v7-3-177 for changeset 66f2d62271fe 2011-05-05 18:31:59 +02:00
Bram Moolenaar 723ead6149 updated for version 7.3.177
Problem:    MS-Windows: mkdir() doesn't work properly when 'encoding' is
	    "utf-8".
Solution:   Convert to utf-16. (Yukihiro Nakadaira)
2011-05-05 18:31:59 +02:00
Bram Moolenaar 913fec0bff Added tag v7-3-176 for changeset 94f42ae4e4e6 2011-05-05 18:10:16 +02:00
Bram Moolenaar a6ecd62891 updated for version 7.3.176
Problem:    Ruby linking doesn't work properly on Mac OS X.
Solution:   Fix the configure check for Ruby. (Bjorn Winckler)
2011-05-05 18:10:16 +02:00
Bram Moolenaar 7a27ffc335 Added tag v7-3-175 for changeset 537e0102c0f9 2011-05-05 17:32:44 +02:00
Bram Moolenaar cf06c0b8de updated for version 7.3.175
Problem:    When 'colorcolumn' is set locally to a window, ":new" opens a
	    window with the same highlighting but 'colorcolumn' is empty.
	    (Tyru)
Solution:   Call check_colorcolumn() after clearing and copying options.
	    (Christian Brabandt)
2011-05-05 17:32:44 +02:00
Bram Moolenaar fb45742fc5 Added tag v7-3-174 for changeset 820f12659c50 2011-05-05 17:24:27 +02:00
Bram Moolenaar 8ced361fbc updated for version 7.3.174
Problem:    When Exuberant ctags binary is exctags it's not found.
Solution:   Add configure check for exctags. (Hong Xu)
2011-05-05 17:24:27 +02:00
Bram Moolenaar 5b1a973ab6 Added tag v7-3-173 for changeset 133d089f247e 2011-05-05 17:14:14 +02:00
Bram Moolenaar f132f35de4 updated for version 7.3.173
Problem:    After using setqflist() to make the quickfix list empty ":cwindow"
	    may open the window anyway.  Also after ":vimgrep".
Solution:   Correctly check whether the list is empty. (Ingo Karkat)
2011-05-05 17:14:14 +02:00
Bram Moolenaar 40683d3fc9 Added tag v7-3-172 for changeset ee48b3da9d53 2011-05-05 16:41:24 +02:00
Bram Moolenaar 6fff088061 updated for version 7.3.172
Problem:    MS-Windows: rename() might delete the file if the name differs but
	    it's actually the same file.
Solution:   Use the file handle to check if it's the same file. (Yukihiro
	    Nakadaira)
2011-05-05 16:41:24 +02:00
Bram Moolenaar e5ad1c011c Added tag v7-3-171 for changeset 1bd8af13fb43 2011-05-05 14:26:41 +02:00
Bram Moolenaar 825b6d5bca updated for version 7.3.171
Problem:    When the clipboard isn't supported: ":yank*" gives a confusing
	    error message.
Solution:   Specifically mention that the register name is invalid.
	    (Jean-Rene David)
2011-05-05 14:26:41 +02:00
Bram Moolenaar 0d9e478cc9 Added tag v7-3-170 for changeset 64c3402df964 2011-04-28 19:05:05 +02:00
Bram Moolenaar 6a44f3ca2b updated for version 7.3.170
Problem:    VMS Makefile for testing was not updated for test77.
Solution:   Add test77 to the Makefile.
2011-04-28 19:05:05 +02:00
Bram Moolenaar e8f41f95a7 Updated runtime files. 2011-04-28 19:02:44 +02:00
Bram Moolenaar 4cb303909d Added tag v7-3-169 for changeset 5f45bacf31ef 2011-04-28 17:48:44 +02:00
Bram Moolenaar f4310fdea0 updated for version 7.3.169
Problem:    Freeing memory already freed, warning from static code analyzer.
Solution:   Initialize pointers to NULL, correct use of "mustfree". (partly by
	    Dominique Pelle)
2011-04-28 17:48:44 +02:00
Bram Moolenaar f6a8ba67b9 Added tag v7-3-168 for changeset 930b171ce3fc 2011-04-28 17:30:09 +02:00
Bram Moolenaar ce00dbcbd6 updated for version 7.3.168
Problem:    When the second argument of input() contains a CR the text up to
	    that is used without asking the user. (Yasuhiro Matsumoto)
Solution:   Change CR, NL and ESC in the text to a space.
2011-04-28 17:30:09 +02:00
Bram Moolenaar 9d8a66a8d4 Added tag v7-3-167 for changeset 0a0d7961b4fe 2011-04-28 17:27:09 +02:00
Bram Moolenaar 8ce2ed700c updated for version 7.3.167
Problem:    When using the internal grep QuickFixCmdPost is not triggered.
	    (Yukihiro Nakadaira)
Solution:   Change the place where autocommands are triggered.
2011-04-28 17:27:09 +02:00
Bram Moolenaar 457f607ed2 Added tag v7-3-166 for changeset 5ddb68c2a845 2011-04-28 17:24:58 +02:00
Bram Moolenaar 068fe803c8 updated for version 7.3.166
Problem:    Buffer on the stack may be too big
Solution:   Allocate the space.
2011-04-28 17:24:58 +02:00
Bram Moolenaar c4087bdf67 Added tag v7-3-165 for changeset e92a4b9b4484 2011-04-28 17:21:54 +02:00
Bram Moolenaar 72d938651c updated for version 7.3.165
Problem:    ":find" completion does not escape spaces in a directory name.
	    (Isz)
Solution:   Add backslashes for EXPAND_FILES_IN_PATH. (Carlo Teubner)
2011-04-28 17:21:53 +02:00
Bram Moolenaar a7435d1c45 Added tag v7-3-164 for changeset cdefcbb70e8c 2011-04-28 13:02:09 +02:00
Bram Moolenaar 7ef3518c0f updated for version 7.3.164
Problem:    C-indenting: a preprocessor statement confuses detection of a
	    function delcaration.
Solution:   Ignore preprocessor lines. (Lech Lorens)  Also recognize the style
	    to put a comma before the argument name.
2011-04-28 13:02:09 +02:00
Bram Moolenaar e882419cdb Added tag v7-3-163 for changeset e8f012b00187 2011-04-28 12:57:36 +02:00
Bram Moolenaar 4f1e668795 updated for version 7.3.163
Problem:    For the default of 'shellpipe' "mksh" and "pdksh" are not
	    recognized.
Solution:   Recognize these shell names.
2011-04-28 12:57:36 +02:00
Bram Moolenaar 7ae77cbf3c Added tag v7-3-162 for changeset 18ad854f5dcd 2011-04-21 14:27:28 +02:00
Bram Moolenaar ad7e25727b updated for version 7.3.162
Problem:    No error message when assigning to a list with an index out of
	    range. (Yukihiro Nakadaira)
Solution:   Add the error message.
2011-04-21 14:27:28 +02:00
Bjorn Winckler f7f11165e3 Merge branch 'vim' 2011-04-21 11:07:30 +02:00
Bram Moolenaar e509b664d0 Added tag v7-3-161 for changeset 25672ad7f377 2011-04-11 21:35:11 +02:00
Bram Moolenaar 0ebab84605 updated for version 7.3.161
Problem:    Items on the stack may be too big.
Solution:   Make items static or allocate them.
2011-04-11 21:35:11 +02:00
Bram Moolenaar 3de223977c Added tag v7-3-160 for changeset c5e47b752f07 2011-04-11 16:56:35 +02:00
Bram Moolenaar fe7d891b2a updated for version 7.3.160
Problem:    Unsafe string copying.
Solution:   Use vim_strncpy() instead of strcpy().  Use vim_strcat() instead
	    of strcat().
2011-04-11 16:56:35 +02:00
Bram Moolenaar 391b796edb Added tag v7-3-159 for changeset 415c55534d90 2011-04-11 14:29:18 +02:00
Bram Moolenaar 534a71230d updated for version 7.3.159
Problem:    Using uninitialized pointer when out of memory.
Solution:   Check for NULL return value.
2011-04-11 14:29:17 +02:00
Bram Moolenaar 5c43378c07 Added tag v7-3-158 for changeset b5f774f15927 2011-04-11 14:27:38 +02:00
Bram Moolenaar 88b8254da3 updated for version 7.3.158
Problem:    Might use uninitialized memory in C indenting.
Solution:   Init arrays to empty.
2011-04-11 14:27:38 +02:00
Bram Moolenaar 2fdb9ea81e Added tag v7-3-157 for changeset 9a98d8562637 2011-04-11 14:26:19 +02:00
Bram Moolenaar 498df33ab0 updated for version 7.3.157
Problem:    Superfluous assignment.
Solution:   Remove assignment.
2011-04-11 14:26:19 +02:00
Bram Moolenaar 47a61988e3 Added tag v7-3-156 for changeset 7fb8cdb9cb25 2011-04-11 14:24:37 +02:00
Bram Moolenaar 0e62d42d66 updated for version 7.3.156
Problem:    Tty names possibly left unterminated.
Solution:   Use vim_strncpy() instead of strncpy().
2011-04-11 14:24:37 +02:00
Bram Moolenaar b70f5520fe Added tag v7-3-155 for changeset 5747cd65d62b 2011-04-11 13:46:14 +02:00
Bram Moolenaar b0095b9531 updated for version 7.3.155
Problem:    Crash when using map(), filter() and remove() on v:. (ZyX)
            Also for extend(). (Yukihiro Nakadaira)
Solution:   Mark v: as locked.  Also correct locking error messages.
2011-04-11 13:46:13 +02:00
Bram Moolenaar 8d629f3e45 Added tag v7-3-154 for changeset d72d709f0e18 2011-04-02 15:12:50 +02:00
Bram Moolenaar a061651587 updated for version 7.3.154
Problem:    Can't compile with tiny features. (Tony Mechelynck)
Solution:   Move #define outside of #ifdef.
2011-04-02 15:12:50 +02:00
Bram Moolenaar 1aaca95fa9 Added tag v7-3-153 for changeset d0cae5983609 2011-04-02 14:44:56 +02:00
Bram Moolenaar 6d006c90db updated for version 7.3.153
Problem:    Compiler warning for ambiguous else, missing prototype.
Solution:   Add braces. (Dominique Pelle)  Add prototype for die().
2011-04-02 14:44:55 +02:00
Bram Moolenaar 426c90eabb Added tag v7-3-152 for changeset 0f7f66682a55 2011-04-01 19:14:40 +02:00
Bram Moolenaar be59799582 updated for version 7.3.152
Problem:    Xxd does not check for errors from library functions.
Solution:   Add error checks. (Florian Zumbiehl)
2011-04-01 19:14:40 +02:00
Bram Moolenaar ce0253ed24 Updated runtime files. 2011-04-01 18:03:16 +02:00
Bram Moolenaar 5735af75f2 Added tag v7-3-151 for changeset f169a51f7ead 2011-04-01 16:28:39 +02:00
Bram Moolenaar 44d4897fc9 updated for version 7.3.151
Problem:    When "unnamedplus" is in 'clipboard' the selection is sometimes
	    also copied to the star register.
Solution:   Avoid copy to the star register when undesired. (James Vega)
2011-04-01 16:28:38 +02:00
Bram Moolenaar 219f913e21 Added tag v7-3-150 for changeset 6146c9859f65 2011-04-01 16:07:46 +02:00
Bram Moolenaar e81654e2ce updated for version 7.3.150
Problem:    readline() does not return the last line when the NL is missing.
	    (Hong Xu)
Solution:   When at the end of the file Also check for a previous line.
2011-04-01 16:07:46 +02:00
Bram Moolenaar e27224e5b6 Added tag v7-3-149 for changeset 7f937a04cdba 2011-04-01 15:33:59 +02:00
Bram Moolenaar 6cd3d80da1 updated for version 7.3.149
Problem:    The cursor disappears after the processing of the 'setDot'
	    netbeans command when vim runs in a terminal.
Solution:   Show the cursor after a screen update. (Xavier de Gaye, 2011
2011-04-01 15:33:59 +02:00
Bram Moolenaar d4bf197d3b Added tag v7-3-148 for changeset d67916de812a 2011-04-01 14:44:59 +02:00
Bram Moolenaar e5d0e3db86 updated for version 7.3.148
Problem:    A syntax file with a huge number of items or clusters causes weird
	    behavior, a hang or a crash. (Yukihiro Nakadaira)
Solution:   Check running out of IDs. (partly by Ben Schmidt)
2011-04-01 14:44:59 +02:00
Bram Moolenaar a14d86bf45 Added tag v7-3-147 for changeset 55fe8407514f 2011-04-01 13:05:46 +02:00
Bram Moolenaar 598cd24352 updated for version 7.3.147
Problem:    Can't build on HP-UX.
Solution:   Remove an unnecessary backslash. (John Marriott)
2011-04-01 13:05:45 +02:00
JessThrysoee 76f08e5853 Honor VIM and VIMRUNTIME environment variables 2011-03-30 20:41:06 +02:00
Bram Moolenaar 36d4cc881b Added tag v7-3-146 for changeset 2bd574a2ef1c 2011-03-27 16:03:15 +02:00
Bram Moolenaar aae002e178 updated for version 7.3.146
Problem:    It's possible to assign to a read-only member of a dict.
	    It's possible to create a global variable "0". (ZyX)
            It's possible to add a v: variable with ":let v:.name = 1".
Solution:   Add check for dict item being read-only.
	    Check the name of g: variables.
	    Disallow adding v: variables.
2011-03-27 16:03:15 +02:00
Bram Moolenaar b5795b5d85 Added tag v7-3-145 for changeset 329a9676040c 2011-03-26 18:32:06 +01:00
Bram Moolenaar 31a04844b5 updated for version 7.3.145
Problem:    Can't build with Python dynamically loading.
Solution:   Add dll_PyType_Ready.
2011-03-26 18:32:05 +01:00
Bram Moolenaar abb0528865 Added tag v7-3-144 for changeset 322a5c8d392b 2011-03-26 13:56:48 +01:00
Bram Moolenaar 94caed3c03 updated for version 7.3.144
Problem:    Crash with ":python help(dir)". (Kearn Holliday)
Solution:   Fix the way the type is set on objects. (Tobias Columbus)
2011-03-26 13:56:48 +01:00
Bjorn Winckler 557788dc9e Merge branch 'vim'
Conflicts:
	runtime/menu.vim
2011-03-22 22:09:37 +01:00
Bram Moolenaar 3fa799c7cc Added tag v7-3-143 for changeset 632f43801ddb 2011-03-22 20:54:25 +01:00
Bram Moolenaar 910de71ad4 Remove tag. 2011-03-22 20:54:22 +01:00
Bram Moolenaar 812b94f3da Add missing files for patch 7.3.143. 2011-03-22 20:52:37 +01:00
Bram Moolenaar 2f1fb87fe1 Added tag v7-3-143 for changeset e0a90042318d 2011-03-22 18:10:45 +01:00
Bram Moolenaar fa4251cf34 updated for version 7.3.143
Problem:    Memfile is not tested sufficiently.  Looking up blocks in a
	    memfile is slow when there are many blocks.
Solution:   Add high level test and unittest.  Adjust the number of hash
	    buckets to the number of blocks.  (Ivan Krasilnikov)
2011-03-22 18:10:45 +01:00
Bram Moolenaar c370d9ee31 Updated runtime file. Fix Italian translations. 2011-03-22 17:40:10 +01:00
Bram Moolenaar 23e9b91745 Added tag v7-3-142 for changeset 62e8d93241cd 2011-03-22 15:47:44 +01:00
Bram Moolenaar 8862aa78c8 updated for version 7.3.142
Problem:    Python stdout doesn't have a flush() method, causing an import to
	    fail.
Solution:   Add a dummy flush() method. (Tobias Columbus)
2011-03-22 15:47:44 +01:00
Bram Moolenaar 734af5576d updated for version 7.3.141
Problem:    When a key code is not set get a confusing error message.
Solution:   Change the error message to say the key code is not set.
2011-03-22 14:35:05 +01:00
Bram Moolenaar 49d654e23e Updated runtime files. 2011-03-22 14:05:35 +01:00
Bram Moolenaar 084da87a47 updated for version 7.3.140
Problem:    Crash when drawing the "$" at end-of-line for list mode just after
	    the window border and 'cursorline' is set.
Solution:   Don't check for 'cursorline'. (Quentin Carbonneaux)
2011-03-22 13:29:24 +01:00
Bram Moolenaar 2f27037885 updated for version 7.3.139
Problem:    When 'lazyredraw' is set ":ver" output can't be read.
Solution:   Don't redraw the screen when at a prompt or command line.
2011-03-22 13:07:26 +01:00
Bjorn Winckler 638774c620 Add note on document icon generation to README 2011-03-21 19:17:53 +01:00
Bjorn Winckler 3811f44935 Disable document icon generation
By default all document icons will be a document sheet with the MacVim
icon on top.  In order to get proper document icons call "make all"
inside src/MacVim/icons before building.  This will generate document
icons with the extension of the represented file type on the icon.  (To
get nicer small icons, call "make getenvy", then "make all".  This
downloads the Envy Code R font first which is then used to generate
nicer icons.)
2011-03-21 18:27:29 +01:00
Bram Moolenaar 959ece9e4d updated for version 7.3.138
Problem:    ":com" changes the multi-byte text of :echo. (Dimitar Dimitrov)
Solution:   Search for K_SPECIAL as a byte, not a character. (Ben Schmidt)
2011-03-03 15:54:50 +01:00
Bram Moolenaar 7d7272b506 updated for version 7.3.137
Problem:    When 'lazyredraw' is set the screen may not be updated. (Ivan
	    Krasilnikov)
Solution:   Call update_screen() before waiting for input.
2011-03-03 15:04:08 +01:00
Bram Moolenaar 028c80a30c updated for version 7.3.136
Problem:    Duplicate include of assert.h.
Solution:   Remove it.
2011-03-03 15:01:30 +01:00
Bjorn Winckler 386f229708 Make it possible to compile without a GUI 2011-02-27 22:20:22 +01:00
David Whetstone d12f09201e Envy Code R no longer required to build
Use Monaco if Envy Code R is unavailable during the document icon
generation phase.  Call 'make getenvy' inside the icons/ folder to
manually download Envy Code R.
2011-02-27 21:55:26 +01:00
Janusz Bossy cebfc0471f Make :winpos measure Y coordinates from top
This is to make :winpos consistent with other ports where Y coordinates
are measured from the top instead of the bottom of the screen.
2011-02-27 21:42:07 +01:00
Bram Moolenaar cae485de36 updated for version 7.3.135
Problem:    When there is no previous substitute pattern, the previous search
	    pattern is used.  The other way around doesn't work.
Solution:   When there is no previous search pattern, use the previous
	    substitute pattern if possible. (Christian Brabandt)
2011-02-25 18:38:36 +01:00
Bram Moolenaar 4677895033 updated for version 7.3.134
Problem:    Drag-n-drop doesn't work in KDE Dolphin.
Solution:   Add GDK_ACTION_MOVE flag. (Florian Degner)
2011-02-25 17:10:27 +01:00
Bram Moolenaar 1df4978375 updated for version 7.3.133
Problem:    When using encryption it's not clear what method was used.
Solution:   In the file message show "blowfish" when using blowfish.
2011-02-25 16:52:17 +01:00
Bram Moolenaar 6c91e04896 updated for version 7.3.132
Problem:    C++ style comments.
Solution:   Change to C comments.
2011-02-25 15:18:50 +01:00
Bram Moolenaar 26a4e590d1 updated for version 7.3.131
Problem:    Including errno.h too often.
Solution:   Don't include errno.h in Unix header file.
2011-02-25 15:17:19 +01:00
Bram Moolenaar 346fb6a297 updated for version 7.3.130
Problem:    Variable misplaced in #ifdef.
Solution:   Move clipboard_event_time outside of #ifdef.
2011-02-25 15:15:50 +01:00
Bram Moolenaar 5c9a44edda updated for version 7.3.129
Problem:    Using integer like a boolean.
Solution:   Nicer check for integer being non-zero.
2011-02-25 15:13:48 +01:00
Bram Moolenaar f9c4a950c4 updated for version 7.3.128
Problem:    Another compiler warning for signed pointer.
Solution:   Use unsigned int argument for sscanf().
2011-02-25 15:11:22 +01:00
Bram Moolenaar 419de51056 updated for version 7.3.127
Problem:    Compiler complains about comma.
Solution:   Remove comma after last enum element.
2011-02-25 14:46:09 +01:00
Bram Moolenaar 8cc3b3177b updated for version 7.3.126
Problem:    Compiler warning for signed pointer.
Solution:   Use unsigned int argument for sscanf().
2011-02-25 14:42:45 +01:00
Bram Moolenaar 163e8a729a Runtime file updates. 2011-02-25 14:42:19 +01:00
Bjorn Winckler 088d1203b0 Update URL for Envy Code R download 2011-02-23 10:19:06 +01:00
Bjorn Winckler 8b4669ff38 Constrain window before autosaving dimensions
This fixes a bug where the view would not be maximized vertically when
entering full screen on startup.  (Debugging assist by David Whetstone.)
2011-02-22 20:50:19 +01:00
Bjorn Winckler 4ea64bd52c Merge branch 'vim' 2011-02-20 14:17:19 +01:00
Karsten Gebbert 299188302d Fix --with-ruby-command argument
Original patch to get Ruby 1.9 to work by Michael Shapiro (koudelka).
2011-02-16 19:02:37 +01:00
Bram Moolenaar cd6a821ac5 updated for version 7.3.125
Problem:    MSVC: Problem with quotes in link argument.
Solution:   Escape backslashes and quotes. (Weasley)
2011-02-15 18:06:15 +01:00
Bram Moolenaar 1fd163bd82 updated for version 7.3.124
Problem:    When writing a file in binary mode it may be missing the final EOL
	    if a file previously read was missing the EOL. (Kevin Goodsell)
Solution:   Move the write_no_eol_lnum into the buffer struct.
2011-02-15 17:39:22 +01:00
Bram Moolenaar 5e69f973fd updated for version 7.3.123
Problem:    ml_get error when executing register being recorded into, deleting
	    lines and 'conceallevel' is set. (ZyX)
Solution:   Don't redraw a line for concealing when it doesn't exist.
2011-02-15 16:29:59 +01:00
Bram Moolenaar eaee7938b0 updated for version 7.3.122
Problem:    Having auto/config.mk in the repository causes problems.
Solution:   Remove auto/config.mk from the distribution.  In the toplevel
	    Makefile copy it from the "dist" file.
2011-02-15 15:28:09 +01:00
Bram Moolenaar 00c19fd486 updated for version 7.3.121
Problem:    Complicated 'statusline' causes a crash. (Christian Brabandt)
Solution:   Check that the number of items is not too big.
2011-02-15 14:24:46 +01:00
Bram Moolenaar cd5139dfd3 updated for version 7.3.120
Problem:    The message for an existing swap file is too long to fit in a 25
	    line terminal.
Solution:   Make the message shorter. (Chad Miller)
2011-02-15 11:57:04 +01:00
Bjorn Winckler 633dfac838 Merge branch 'vim'
Conflicts:
	src/auto/configure
2011-02-13 17:33:16 +01:00
Bram Moolenaar 3321f186b4 updated for version 7.3.119
Problem:    Build problem on Mac. (Nicholas Stallard)
Solution:   Use "extern" instead of "EXTERN" for p_vfile.
2011-02-12 14:00:03 +01:00
Eric Wing 3d348a439e Fix URL scheme handler to accept paths with spaces 2011-02-10 18:16:17 +01:00
Bram Moolenaar d7eaf66c4d updated for version 7.3.118
Problem:    Ruby uses SIGVTALARM which makes Vim exit. (Alec Tica)
Solution:   Ignore SIGVTALARM. (Dominique Pelle)
2011-02-09 18:47:40 +01:00
Bram Moolenaar 7ea0ed346d updated for version 7.3.117
Problem:    On some systems --as-needed does not work, because the "tinfo"
	    library is included indirectly from "ncurses". (Charles Campbell)
Solution:   In configure prefer using "tinfo" instead of "ncurses".
2011-02-09 17:42:57 +01:00
Bram Moolenaar 66584afea5 updated for version 7.3.116
Problem:    'cursorline' is displayed too short when there are concealed
	    characters and 'list' is set.  (Dennis Preiser)
Solution:   Check for 'cursorline' when 'list' is set. (Christian Brabandt)
2011-02-09 17:09:30 +01:00
Bram Moolenaar 6a29db8542 Updated runtime files and translations. 2011-02-09 17:07:58 +01:00
Bram Moolenaar 3cbb489efc updated for version 7.3.115
Problem:    Vim can crash when tmpnam() returns NULL.
Solution:   Check for NULL. (Hong Xu)
2011-02-09 16:44:51 +01:00
Bram Moolenaar ef378e504f updated for version 7.3.114
Problem:    Potential problem in initialization when giving an error message
	    early.
Solution:   Initialize 'verbosefile' empty. (Ben Schmidt)
2011-02-09 15:59:37 +01:00
Bram Moolenaar 67f827d664 updated for version 7.3.113
Problem:    Windows: Fall back directory for creating temp file is wrong.
Solution:   Use "." instead of empty string. (Hong Xu)
2011-02-09 14:47:03 +01:00
Bram Moolenaar 5bd57dcfcd updated for version 7.3.112
Problem:    Setting 'statusline' to "%!'asdf%' reads uninitialized memory.
Solution:   Check for NUL after %.
2011-02-01 21:55:01 +01:00
Bjorn Winckler 1eee089039 Force flush output before running shell command
Shell commands may take a long time to finish (without drawing anything)
so force a flush before executing any shell command.
2011-02-01 20:19:15 +01:00
Bram Moolenaar 7ecf6c20db updated for version 7.3.111
Problem:    Executing a :normal command in 'statusline' evaluation causes the
	    cursor to move. (Dominique Pelle)
Solution:   When updating the cursor for 'cursorbind' allow the cursor beyond
	    the end of the line.  When evaluating 'statusline' temporarily
	    reset 'cursorbind'.
2011-02-01 18:01:11 +01:00
Bram Moolenaar 7822b718c4 updated for version 7.3.110
Problem:    The "nbsp" item in 'listchars' isn't used for ":list".
Solution:   Make it work. (Christian Brabandt)
2011-02-01 17:12:25 +01:00
Bram Moolenaar 467eeffa84 updated for version 7.3.109
Problem:    Processing new Esperanto spell file fails and crashes Vim.
	    (Dominique Pelle)
Solution:   When running out of memory give an error.  Handle '?' in
	    COMPOUNDRULE properly.
2011-02-01 13:59:48 +01:00
Bram Moolenaar 024087914b updated for version 7.3.108
Problem:    Useless check for NULL when calling vim_free().
Solution:   Remove the check. (Dominique Pelle)
2011-02-01 13:48:53 +01:00
Bjorn Winckler 6e6fac588c Snapshot 57 2011-01-29 15:49:40 +01:00
Bjorn Winckler 20ded53831 Fix compilation problems caused by patch 7.3.102 2011-01-29 15:22:20 +01:00
Bjorn Winckler 5e544c5abe Merge branch 'vim' 2011-01-29 15:08:23 +01:00
Bjorn Winckler f19b66ea39 Refactor MRU code
Only add to MRU in GUI mode and limit number of files added to the
maximum that Cocoa will display.
2011-01-23 13:02:01 +01:00
Bram Moolenaar 38b167abc5 updated for version 7.3.107
Problem:    Year number for :undolist can be confused with month or day.
Solution:   Change "%y" to "%Y".
2011-01-22 21:25:11 +01:00
Bram Moolenaar ade0ce2c47 updated for version 7.3.106
Problem:    When 'cursorbind' is set another window may scroll unexpectedly
	    when 'scrollbind' is also set. (Xavier Wang)
Solution:   Don't call update_topline() if 'scrollbind' is set.
2011-01-22 21:05:07 +01:00
Bjorn Winckler 7bcc5932e0 Fix for 'set fu' in gvimrc
It is now possible to enter full screen on startup by setting the option
'fullscreen' in gvimrc.
2011-01-22 18:41:40 +01:00
Bram Moolenaar 43592906a0 updated for version 7.3.105
Problem:    Can't get the value of "b:changedtick" with getbufvar().
Solution:   Make it work. (Christian Brabandt)
2011-01-22 01:13:39 +01:00
Bram Moolenaar dba2afde7d updated for version 7.3.104
Problem:    Conceal: using Tab for cchar causes problems. (ZyX)
Solution:   Do not accept a control character for cchar.
2011-01-22 00:58:20 +01:00
Bram Moolenaar 9285b887ec updated for version 7.3.103
Problem:    Changing 'fileformat' and then using ":w" in an empty file sets
	    the 'modified' option.
Solution:   In unchanged() don't ignore 'ff' for an empty file.
2011-01-22 00:11:50 +01:00
Bjorn Winckler dfa2561d7d Add --nomru switch
Use this switch from the command line to skip adding file to MRU list
(Most Recently Used files).  This may be useful when setting e.g.
$EDITOR to avoid temporary files from being added to the MRU.
2011-01-20 21:44:23 +01:00
Bjorn Winckler 506b335894 Add files opened from command line to MRU
Only files opened from the command line is added to the MRU (Most
Recently Used files).  Files opened from inside Vim (using :e, etc.) are
not added to the MRU.
2011-01-20 21:41:27 +01:00
Bjorn Winckler 16895bea46 Raise correct window on file open
This fixes a regression introduced in commit 210a71b4cb where
double-clicking a file in Finder that was already open would not cause
the window/tab containing that file to be raised.
2011-01-20 17:46:34 +01:00
Bjorn Winckler 4a85f40d23 Change heuristic to determine cell width
Some fonts (e.g. Monaco:h9) looked way too tight with the old heuristic
and the Core Text renderer.  Now the Core Text renderer uses the same
heuristic as the default renderer.
2011-01-18 22:00:31 +01:00
Bram Moolenaar b8e65930d2 updated for version 7.3.102
Problem:    When using ":make", typing the next command and then getting the
	    "reload" prompt the next command is (partly) eaten by the reload
	    prompt.
Solution:   Accept ':' as a special character at the reload prompt to accept
	    the default choice and execute the command.
2011-01-17 20:08:11 +01:00
Bram Moolenaar f2cfab95d8 updated for version 7.3.101
Problem:    ino_t defined with wrong size.
Solution:   Move including auto/config.h before other includes. (Marius
	    Geminas)
2011-01-17 19:53:27 +01:00
Bram Moolenaar b434a909e6 updated for version 7.3.100
Problem:    When using :normal v:count isn't set.
Solution:   Call normal_cmd() with toplevel set to TRUE.
2011-01-17 19:50:06 +01:00
Bjorn Winckler f6dc8d2962 Fix untitled window opening regression
This fixes a regression that caused two windows to open when a file was
opened from Xcode (one window holding the file, the other empty).
2011-01-17 19:12:55 +01:00
Bjorn Winckler 210a71b4cb Fix open from Xcode with selection range
This is an initial attempt to fix a problem where double clicking a
search result in Xcode would select an incorrect range of characters
when the file opened in MacVim.  It only works the file uses an 8 bit
encoding.
2011-01-17 18:00:30 +01:00
Bjorn Winckler 00936cdd77 Merge branch 'vim'
Conflicts:
	runtime/doc/eval.txt
2011-01-09 16:16:35 +01:00
Bjorn Winckler 75ca477625 Add suppression tick box to termination alert
This will disable the warning about multiple window and tabs.  Tiger
users can access this functionality by setting the user default
MMSuppressTerminationAlert to 1.
2011-01-09 16:10:16 +01:00
Bjorn Winckler 7ec523f4a8 Delete obsolete README-repo.txt 2011-01-09 13:56:19 +01:00
Bjorn Winckler 9109c9355a Hide Dock before entering full screen
This avoids the hide animation from playing after fading to black when
entering full screen.
2011-01-09 13:04:56 +01:00
Bjorn Winckler 353b836087 No partially grey window when leaving full screen 2011-01-09 12:37:37 +01:00
Bjorn Winckler 6863b04a52 Avoid switching Spaces when leaving full screen
This fixes a bug where if the full screen window was moved to another
Space a Space switch would occur when leaving full screen.
2011-01-08 19:12:29 +01:00
Bjorn Winckler 8ca9999ea6 Fix for dragging full screen window in Spaces
Ensure the full screen window is still covering the screen after having
dragged it in Spaces (or moved it in any other manner).
2011-01-08 19:04:53 +01:00
Bram Moolenaar fa35c64041 Updated runtime files. 2011-01-08 16:06:37 +01:00
Bram Moolenaar 72050cce91 updated for version 7.3.099
Problem:    Crash when splitting a window with zero height. (Yukihiro
	    Nakadaira)
Solution:   Don't set the fraction in a window with zero height.
2011-01-08 14:46:03 +01:00
Bram Moolenaar fa57d270bb updated for version 7.3.098
Problem:    Function that ignores error still causes called_emsg to be set.
	    E.g. when expand() fails the status line is disabled.
Solution:   Move check for emsg_not_now() up. (James Vega)
2011-01-04 19:25:50 +01:00
Bram Moolenaar 5e2f13cc52 updated for version 7.3.097
Problem:    Using ":call" inside "if 0" does not see that a function returns a
	    Dict and gives error for "." as string concatenation.
Solution:   Use eval0() to skip over the expression.  (Yasuhiro Matsumoto)
2011-01-04 19:03:27 +01:00
Bram Moolenaar a14d5d9f66 updated for version 7.3.096
Problem:    "gvim -nb" is not interruptable.  Leaking file descriptor on
	    netbeans connection error.
Solution:   Check for CTRL-C typed.  Free file descriptor.  (Xavier de Gaye)
2011-01-04 18:11:43 +01:00
Bram Moolenaar 60a00567b5 updated for version 7.3.095
Problem:    Win32: In Chinese tear-off menu doesn't work. (Weasley)
Solution:   Use menu_name_equal().  (Alex Jakushev)
2011-01-04 17:49:32 +01:00
Bjorn Winckler 0e9b4e11b0 Handle resolution changes while in full screen
If the screen resolution changes (either due to an external monitor
being unplugged or because the settings were changed manually) the full
screen window is now resized to match the new resolution.  Before this
commit full screen was exited on such an event.

This fixes a bug where the full screen option got out of sync after the
resolution changed.
2010-12-31 23:02:15 +01:00
Bjorn Winckler fa41b4a850 Fix compilation problems on OS X 10.4 2010-12-31 11:06:42 +01:00
Bjorn Winckler 3bcd07d562 Avoid switching Spaces when entering full screen
This fixes a bug where MacVim would switch Space when entering full
screen (which only occurred when MacVim was assigned to a specific
Space in the System Preferences).
2010-12-30 21:23:13 +01:00
Bjorn Winckler 1cb9a4ffb9 Fix file open problem in full screen with Spaces
This fixes a problem when a full screen window was on another Space and
files were set to open in the topmost window.  Previously, this caused a
new window to open on the current Space instead of opening the file in
the full screen window on the other Space.
2010-12-30 15:31:22 +01:00
Bjorn Winckler deb3e9a368 Add full screen window title to "Window" menu 2010-12-30 15:20:08 +01:00
Bram Moolenaar d593ffe24c updated for version 7.3.094
Problem:    Using abs() requires type cast to int.
Solution:   Use labs() so that the value remains long. (Hong Xu)
2010-12-30 14:57:08 +01:00
Bram Moolenaar 1fcd6cf86c updated for version 7.3.093
Problem:    New DLL dependencies in MingW with gcc 4.5.0.
Solution:   Add STATIC_STDCPLUS, LDFLAGS and split up WINDRES. (Guopeng Wen)
2010-12-30 14:50:52 +01:00
Bram Moolenaar 9faca9f9ea updated for version 7.3.092
Problem:    Resizing the window when exiting.
Solution:   Don't resize when exiting.
2010-12-30 14:47:36 +01:00
Bram Moolenaar 6b0175c466 updated for version 7.3.091
Problem:    "vim -w foo" writes special key codes for removed escape
	    sequences. (Josh Triplett)
Solution:   Don't write K_IGNORE codes.
2010-12-30 12:30:31 +01:00
Bram Moolenaar 9d282c465a updated for version 7.3.090
Problem:    Wrong help text for Cscope.
Solution:   Adjust the help text for "t". (Dominique Pelle)
2010-12-30 11:41:09 +01:00
Bjorn Winckler 3a2e09f42d Update help file 2010-12-28 21:48:57 +01:00
Bjorn Winckler 57975f6dad Update Mac specific README files 2010-12-24 15:09:30 +01:00
Bram Moolenaar ecb97f5d05 updated for version 7.3.089
Problem:    Compiler warning on 64 bit MS-Windows.
Solution:   Add type cast. (Mike Williams)
2010-12-24 14:00:17 +01:00
Bram Moolenaar a65917abf4 updated for version 7.3.088
Problem:    Ruby can't load Gems sometimes, may cause a crash.
Solution:   Undefine off_t.  Use ruby_process_options(). (Yasuhiro Matsumoto)
2010-12-24 13:39:35 +01:00
Bjorn Winckler d1182d2223 Snapshot 56 2010-12-21 14:43:24 +01:00
Bjorn Winckler 1be91f7476 Avoid use of CLEAR flag when not using GUI 2010-12-21 11:11:22 +01:00
Bjorn Winckler caabb3f058 Avoid unnecessary clearing of the status line
When resizing a (Vim-) window don't use the CLEAR flag as it causes the
status line to be redrawn (which causes problems for plugins like
Command-T).

The reason CLEAR was used in the first place was because resizing a
window would cause display corruption due to wide letters like "w"
spilling over into the neigboring display cell.  To circumvent this
problem we now always clear neigboring blank cells whenever a cell is
cleared (just like other GUIs deal with faked bold glyphs spilling over
into neighboring display cells).
2010-12-20 21:57:36 +01:00
Bjorn Winckler 50b3a7f8e7 Fix proxy icon response to modified buffers
The proxy icon is only disabled when the current buffer is modified
(previously this happened when any buffer was modified).  This also has
the consequence that the dot in the red "close button" only appears when
the current buffer is modified.
2010-12-19 12:19:30 +01:00
Bjorn Winckler 34d035c0ac Merge branch 'vim'
Conflicts:
	runtime/syntax/vim.vim
2010-12-19 12:18:48 +01:00
Bram Moolenaar e88db6d282 updated for version 7.3.087
Problem:    EINTR is not always defined.
Solution:   Include errno.h in vim.h.
2010-12-17 20:24:01 +01:00
Bram Moolenaar 7d51f1a543 updated for version 7.3.086
Problem:    When using a mapping with an expression and there was no count,
	    v:count has the value of the previous command. (ZyX)
Solution:   Also set v:count and v:count1 before getting the character that
	    could be a command or a count.
2010-12-17 18:53:01 +01:00
Bram Moolenaar cd6656d82b updated for version 7.3.085
Problem:    Inconsistency with preproc symbols.  void * computation.
Solution:   Include vimio.h from vim.h.  Add type cast.
2010-12-17 18:06:06 +01:00
Bram Moolenaar 3017c44c4b updated for version 7.3.084
Problem:    When splitting the window, the new one scrolls with the cursor at
	    the top.
Solution:   Compute w_fraction before setting the new height.
2010-12-17 17:35:10 +01:00
Bram Moolenaar 25ac995bea updated for version 7.3.083
Problem:    When a read() or write() is interrupted by a signal it fails.
Solution:   Add read_eintr() and write_eintr().
2010-12-17 16:27:16 +01:00
Bram Moolenaar 7b65439491 updated for version 7.3.082
Problem:    Leaking file descriptor when hostname doesn't exist.
Solution:   Remove old debugging lines.
2010-12-17 12:19:21 +01:00
Bram Moolenaar f2c486c416 Update runtime files. 2010-12-10 20:35:50 +01:00
Bjorn Winckler c42b133098 Check for conversion error in Core Text renderer
Original patch by Kazuki Sakamoto.
2010-12-10 19:37:19 +01:00
Bjorn Winckler 29697da99f Merge branch 'vim' into merge
Conflicts:
	src/auto/configure
	src/eval.c
	src/netbeans.c
2010-12-10 19:13:58 +01:00
Bram Moolenaar aa0a6d7be4 updated for version 7.3.081
Problem:    Non-printable characters in 'statusline' cause trouble. (ZyX)
Solution:   Use transstr(). (partly by Caio Ariede)
2010-12-08 19:56:58 +01:00
Bram Moolenaar 5a48d473ef updated for version 7.3.080
Problem:    Spell doesn't work on VMS.
Solution:   Use different file names. (Zoltan Bartos, Zoltan Arpadffy)
2010-12-08 17:09:32 +01:00
Bram Moolenaar d6a9ced3b1 updated for version 7.3.079
Problem:    Duplicate lines in makefile.
Solution:   Remove the lines. (Hong Xu)
2010-12-08 14:55:02 +01:00
Bram Moolenaar a1faf70262 updated for version 7.3.078
Problem:    Warning for unused variable.
Solution:   Adjuste #ifdefs.
2010-12-08 14:23:15 +01:00
Bram Moolenaar 115821eae9 updated for version 7.3.077
Problem:    When updating crypt of swapfile fails there is no error message.
	    (Carlo Teubner)
Solution:   Add the error message.
2010-12-08 13:17:03 +01:00
Bram Moolenaar 664e7696dd updated for version 7.3.076
Problem:    Clang warnings for dead code.
Solution:   Remove it. (Carlo Teubner)
2010-12-08 13:11:21 +01:00
Bram Moolenaar 4d81d0d159 updated for version 7.3.075
Problem:    Missing part of 'wildignorecase'
Solution:   Also adjust expand()
2010-12-02 21:44:40 +01:00
Bram Moolenaar 38b368ba4d updated for version 7.3.074
Problem:    Can't use the "+ register like "* for yank and put.
Solution:   Add "unnamedplus" to the 'clipboard' option. (Ivan Krasilnikov)
2010-12-02 21:43:16 +01:00
Bram Moolenaar 3e515b81da updated for version 7.3.073
Problem:    Double free memory when netbeans command follows DETACH.
Solution:   Only free the node when owned. (Xavier de Gaye)
2010-12-02 17:09:54 +01:00
Bram Moolenaar 5ac44c0391 updated for version 7.3.072
Problem:    Can't complete file names while ignoring case.
Solution:   Add 'wildignorecase'.
2010-12-02 16:01:29 +01:00
Bram Moolenaar a17cdd917e updated for version 7.3.071
Problem:    Editing a file in a window that's in diff mode resets 'diff'
	    but not cursor binding.
Solution:   Reset cursor binding in two more places.
2010-12-02 15:33:21 +01:00
Bram Moolenaar 4ece06e069 updated for version 7.3.070
Problem:    Can set environment variables in the sandbox, could be abused.
Solution:   Disallow it.
2010-12-02 14:48:14 +01:00
Bram Moolenaar 7c84bd9153 updated for version 7.3.069
Problem:    GTK: pressing Enter in inputdialog() doesn't work like clicking OK
	    as documented.
Solution:   call gtk_entry_set_activates_default(). (Britton Kerin)
2010-11-24 18:48:12 +01:00
Bram Moolenaar 8601f0b5aa updated for version 7.3.068
Problem:    Using freed memory when doing ":saveas" and an autocommand sets
	    'autochdir'. (Kevin Klement)
Solution:   Get the value of fname again after executing autocommands.
2010-11-24 17:59:32 +01:00
Bram Moolenaar 35e32414c7 updated for version 7.3.067
Problem:    Ruby: Init_prelude is not always available.
Solution:   Remove use of Init_prelude. (Yasuhiro Matsumoto)
2010-11-24 17:03:38 +01:00
Bram Moolenaar e703226fe0 updated for version 7.3.066
Problem:    Crash when changing to another window while in a :vimgrep command.
	    (Christian Brabandt)
Solution:   When wiping out the dummy before, remove it from aucmd_win.
2010-11-24 16:32:05 +01:00
Bram Moolenaar 401556f3b1 updated for version 7.3.065
Problem:    Can't get current line number in a source file.
Solution:   Add the <slnum> item, similar to <sfile>.
2010-11-24 15:50:59 +01:00
Bram Moolenaar 2b09922e3c updated for version 7.3.064
Problem:    Win32: ":dis +" shows nothing, but "+p does insert text.
Solution:   Display the * register, since that's what will be inserted.
	    (Christian Brabandt)
2010-11-24 14:28:58 +01:00
Bram Moolenaar 2286d370ca updated for version 7.3.063
Problem:    Win32: Running a filter command makes Vim lose focus.
Solution:   Use SW_SHOWMINNOACTIVE instead of SW_SHOWMINIMIZED. (Hong Xu)
2010-11-24 12:35:21 +01:00
Bram Moolenaar 96d70531dd Updated runtime files. 2010-11-16 20:34:40 +01:00
Bram Moolenaar 17bcd02554 updated for version 7.3.062
Problem:    Python doesn't work properly when installed in another directory
	    than expected.
Solution:   Figure out home directory in configure and use Py_SetPythonHome()
	    at runtime. (Roland Puntaier)
2010-11-16 19:26:02 +01:00
Bram Moolenaar 4f6c7e6888 updated for version 7.3.061
Problem:    Remote ":drop" does not respect 'autochdir'. (Peter Odding)
Solution:   Don't restore the directory when 'autochdir' is set. (Benjamin
	    Fritz)
2010-11-16 16:25:51 +01:00
Bram Moolenaar 73b4a4e09e updated for version 7.3.060
Problem:    Netbeans: crash when socket is disconnected unexpectedly.
Solution:   Don't cleanup when a read fails, put a message in the queue and
	    disconnect later. (Xavier de Gaye)
2010-11-16 15:49:02 +01:00
Bram Moolenaar 1e08012084 updated for version 7.3.059
Problem:    Netbeans: Problem with recursively handling messages for Athena
	    and Motif.
Solution:   Call netbeans_parse_messages() in the main loop, like it's done
	    for GTK. (Xavier de Gaye)
2010-11-16 15:04:57 +01:00
Bram Moolenaar 29dfc2cfeb updated for version 7.3.058
Problem:    Error "code converter not found" when loading Ruby script.
Solution:   Load Gem module. (Yasuhiro Matsumoto)
2010-11-16 14:46:19 +01:00
Bram Moolenaar 1d286783fc updated for version 7.3.057
Problem:    Segfault with command line abbreviation. (Randy Morris)
Solution:   Don't retrigger the abbreviation when abandoning the command line.
	    Continue editing the command line after the error.
2010-11-16 14:06:08 +01:00
Kazuki Sakamoto dc7ffe83f7 Fix build problem on Leopard 2010-11-16 13:22:14 +01:00
Bram Moolenaar 419aa8ea7e updated for version 7.3.056
Problem:    "getline" argument in do_cmdline() shadows global.
Solution:   Rename the argument.
Files:	    src/ex_docmd.c
2010-11-16 11:32:01 +01:00
Bram Moolenaar a3b7664813 updated for version 7.3.055
Problem:    Recursively nested lists and dictionaries cause a near-endless
	    loop when comparing them with a copy. (ZyX)
Solution:   Limit recursiveness in a way that non-recursive structures can
	    still be nested very deep.
Files:	    src/eval.c, src/testdir/test55.in, src/testdir/test55.ok
2010-11-10 20:41:57 +01:00
Bram Moolenaar a9b86193df updated for version 7.3.054
Problem:    Can define a user command for :Print, but it doesn't work. (Aaron
	    Thoma)
Solution:   Let user command :Print overrule the builtin command (Christian
	    Brabandt)  Disallow :X and :Next as a user defined command.
2010-11-10 19:00:01 +01:00
Bram Moolenaar 6505c5126b updated for version 7.3.053
Problem:    complete() function doesn't reset complete direction.  Can't use
	    an empty string in the list of matches.
Solution:   Set compl_direction to FORWARD.  Add "empty" key to allow empty
	    words. (Kikuchan)
2010-11-10 17:11:33 +01:00
Bram Moolenaar 951183ee1c updated for version 7.3.052
Problem:    When 'completefunc' opens a new window all kinds of errors follow.
	    (Xavier Deguillard)
Solution:   When 'completefunc' goes to another window or buffer and when it
	    deletes text abort completion.  Add a test for 'completefunc'.
2010-11-10 16:54:20 +01:00
Bram Moolenaar 917f0addc2 updated for version 7.3.051
Problem:    Crash when /home/mool/bin:/usr/local/sbin:/usr/local/bin:/home/mool/java/jdk/bin:/bin:/sbin:/usr/bin:/usr/games:/usr/sbin:/usr/X11R6/bin:/usr/local/linux-jdk1.3.1/bin:/usr/local/lib/python2.2/Tools/idle is empty.
Solution:   Check for vim_getenv() returning NULL. (Yasuhiro Matsumoto)
2010-11-10 15:37:05 +01:00
Bjorn Winckler 32e3d8896d Do not process IM state change immediately
IM state change needs to update the cursor which may cause Vim state
changes and so the processing of IM messages needs to be delayed.
2010-11-06 14:09:22 +01:00
Kazuki Sakamoto d2e82df267 Fix to update cursor at the IM state changed
It fixes changing cursor with ":hi CursorIM" even though the cursor
blinking is turned off (:set gcr=a:blinkon0) when the IM state is
changed.
2010-11-06 21:26:40 +09:00
Kazuki Sakamoto 8587729a7a Listen to InputSourceChanged notification
This way Vim is immediately made aware when the input source changes
(previously it polled this on keyboard input) which is useful e.g. if
":hi CursorIM .." is set.
2010-11-05 20:46:29 +01:00
Bram Moolenaar 7282627798 updated for version 7.3.050
Problem:    The link script is clumsy.
Solution:   Use the --as-needed linker option if available. (Kirill A.
	    Shutemov)
2010-11-03 22:32:24 +01:00
Bram Moolenaar 180512e308 updated for version 7.3.049
Problem:    PLT has rebranded their Scheme to Racket.
Solution:   Add support for Racket 5.x. (Sergey Khorev)
2010-11-03 21:59:30 +01:00
Bram Moolenaar 8a2d7636c8 updated for version 7.3.048
Problem:    ":earlier 1f" doesn't work after loading undo file.
Solution:   Set b_u_save_nr_cur when loading an undo file. (Christian
	    Brabandt)
	    Fix only showing time in ":undolist"
2010-11-03 19:32:42 +01:00
Bjorn Winckler 5c71a17d6c Merge branch 'vim'
Conflicts:
	src/auto/configure
2010-11-01 13:39:23 +01:00
Bram Moolenaar 76712c4f9c updated for version 7.3.047
Problem:    Missing makefile updates for test 75.
Solution:   Update the makefiles.
2010-10-27 18:36:36 +02:00
Bram Moolenaar 65cb201df3 Updated runtile files. 2010-10-27 18:34:44 +02:00
Bram Moolenaar cfce532319 updated for version 7.3.046
Problem:    Can't build Ruby on MS-Windows.
Solution:   Add #ifdef, don't use WIN3264 before including vim.h.
2010-10-27 17:40:59 +02:00
Bram Moolenaar 35a2c2a0c3 updated for version 7.3.045
Problem:    Compiler warning for uninitialized variable.
Solution:   Initialize the variable always.
2010-10-27 17:39:05 +02:00
Bram Moolenaar 41a630757e updated for version 7.3.044
Problem:    The preview window opened by the popup menu is larger than
	    specified with 'previewheight'. (Benjamin Haskell)
Solution:   Use 'previewheight' if it's set and smaller.
2010-10-27 17:11:15 +02:00
Bram Moolenaar aa49bfd374 updated for version 7.3.043
Problem:    Can't load Ruby dynamically on Unix.
Solution:   Adjust the configure script. (James Vega)
2010-10-27 16:49:47 +02:00
Bram Moolenaar 745b4e08ad updated for version 7.3.042
Problem:    No spell highlighting when re-using an empty buffer.
Solution:   Clear the spell checking info only when clearing the options for a
	    buffer. (James Vega)
2010-10-27 16:18:00 +02:00
Bram Moolenaar 4641b5152a updated for version 7.3.041
Problem:    Compiler warning for accessing mediumVersion. (Tony Mechelynck)
Solution:   Use the pointer instead of the array itself. (Dominique Pelle)
2010-10-27 16:01:27 +02:00
Bram Moolenaar 2f0e0b3e71 updated for version 7.3.040
Problem:    Comparing strings while ignoring case goes beyond end of the
	    string when there are illegal bytes. (Dominique Pelle)
Solution:   Explicitly check for illegal bytes.
2010-10-27 13:37:44 +02:00
Bram Moolenaar 33685d8d01 updated for version 7.3.039
Problem:    Crash when using skk.vim plugin.
Solution:   Get length of expression evaluation result only after checking for
	    NULL.  (Noriaki Yagi, Dominique Pelle)
2010-10-27 12:58:23 +02:00
Bram Moolenaar c68d7a56e1 updated for version 7.3.038
Problem:    v:windowid isn't set on MS-Windows.
Solution:   Set it to the window handle. (Chris Sutcliffe)
2010-10-27 12:33:17 +02:00
Bram Moolenaar 2f749d43e9 updated for version 7.3.037
Problem:    Compiler warnings for loss of data. (Mike Williams)
Solution:   Add type casts.
2010-10-27 12:18:00 +02:00
Bram Moolenaar ba7586c13b updated for version 7.3.036
Problem:    Win32 GUI: When building without menus, the font for dialogs and
	    tab page headers also changes.
Solution:   Define USE_SYSMENU_FONT always. (Harig G.)
2010-10-27 12:15:33 +02:00
Bram Moolenaar 074c397ed7 updated for version 7.3.035
Problem:    Stray semicolon after if statement. (Hari G)
Solution:   Remove the semicolon.
2010-10-24 14:33:43 +02:00
Bram Moolenaar 8e94a6f547 updated for version 7.3.034
Problem:    Win32: may be loading .dll from the wrong directory.
Solution:   Go to the Vim executable directory when opening a library.
2010-10-23 14:02:54 +02:00
Bram Moolenaar 74cbc24648 updated for version 7.3.033
Problem:    Can't build without FEAT_LOCALMAP.
Solution:   Add an #ifdef. (John Marriott)
2010-10-22 22:13:52 +02:00
Bram Moolenaar 8b9203b419 updated for version 7.3.032
Problem:    maparg() doesn't return the flags, such as <buffer>, <script>,
	    <silent>.  These are needed to save and restore a mapping.
Solution:   Improve maparg(). (also by Christian Brabandt)
2010-10-20 21:23:33 +02:00
Bram Moolenaar 112534aad5 updated for version 7.3.031
Problem:    Can't pass the X window ID to another application.
Solution:   Add v:windowid. (Christian J. Robinson, Lech Lorens)
2010-10-20 19:17:48 +02:00
Bram Moolenaar 679e2d9461 Updated runtime files and translations. 2010-10-20 18:45:33 +02:00
Bram Moolenaar 79603e8b55 updated for version 7.3.030
Problem:    Cannot store Dict and List in viminfo file.
Solution:   Add support for this. (Christian Brabandt)
2010-10-20 17:44:42 +02:00
Bjorn Winckler 243ebf0db8 Use correct screen when constraining views
The view constraining code could get called before the window had been
placed sometimes causing the wrong screen to be used when more than one
monitor was connected.
2010-10-19 11:24:47 +02:00
Bjorn Winckler c9972234b6 Fix cascading with multiple monitors
The window cascading code had an "off by one" bug which could cause the
wrong screen to used when using more than one monitor.
2010-10-19 11:22:26 +02:00
Bram Moolenaar 5055b0389e updated for version 7.3.029
Problem:    ":sort n" sorts lines without a number as number zero. (Beeyawned)
Solution:   Make lines without a number sort before lines with a number.  Also
	    fix sorting negative numbers.
2010-10-15 20:20:05 +02:00
Bjorn Winckler 73626de24f Update help on binding to Cmd-key 2010-10-15 15:34:54 +02:00
Bram Moolenaar 733962c814 updated for version 7.3.028
Problem:    Signs don't show up. (Charles Campbell)
Solution:   Don't use negative numbers.  Also assign a number to signs that
	    have a name of all digits to avoid using a sign number twice.
2010-10-14 21:29:37 +02:00
Bjorn Winckler 98b5cd3e62 Use correct screen for full screen
The autocommand "au GUIEnter * set fu" would cause the full screen
window to always appear on the primary monitor when multiple monitors
were connected.  This commit fixes this problem.
2010-10-14 20:08:45 +02:00
Bjorn Winckler 291a5c40b4 Merge branch 'vim'
Conflicts:
	src/os_unix.c
2010-10-14 17:41:28 +02:00
Bram Moolenaar 4758cc5fb2 updated for version 7.3.027
Problem:    Opening a file on a network share is very slow.
Solution:   When fixing file name case append "\*" to directory, server and
	    network share names. (David Anderson, John Beckett)
2010-10-13 20:37:41 +02:00
Bram Moolenaar a95ebf0fcd updated for version 7.3.026
Problem:    CTRL-] in a help file doesn't always work. (Tony Mechelynck)
Solution:   Don't escape special characters. (Carlo Teubner)
2010-10-13 18:06:47 +02:00
Bram Moolenaar 801135edc8 updated for version 7.3.025
Problem:    ":mksession" does not square brackets escape file name properly.
Solution:   Improve escapging of file names. (partly by Peter Odding)
2010-10-13 17:50:07 +02:00
Bram Moolenaar 0a7cafb2c8 updated for version 7.3.024
Problem:    Named signs do not use a negative number as intended.
Solution:   Fix the numbering of named signs. (Xavier de Gaye)
2010-10-13 16:44:23 +02:00
Bram Moolenaar a112c49589 updated for version 7.3.023
Problem:    External program may hang when it tries to write to the tty.
Solution:   Don't close the slave tty until after the child exits. (Nikola
	    Knezevic)
2010-10-13 16:22:09 +02:00
Bram Moolenaar b5f9dd7b3f updated for version 7.3.022
Problem:    When opening a new window the 'spellcapcheck' option is cleared.
Solution:   Copy the correct option value. (Christian Brabandt)
2010-10-13 14:05:35 +02:00
Bram Moolenaar eb3ed243d9 updated for version 7.3.021
Problem:    Conflict for defining Boolean in Mac header files.
Solution:   Define NO_X11_INCLUDES. (Rainer Muller)
2010-10-10 17:08:43 +02:00
Bram Moolenaar 0a8e611590 updated for version 7.3.020
Problem:    Cursor position wrong when joining multiple lines and
	    'formatoptions' contains "a". (Moshe Kamensky)
Solution:   Adjust cursor position for skipped indent. (Carlo Teubner)
2010-10-09 17:23:31 +02:00
Bjorn Winckler 76f937b87b Snapshot 55 2010-10-05 21:14:36 +02:00
Bjorn Winckler c96d4dcc8e Do not change pwd on open file for onscreen window
This change is to make the behavior more consistent and easier to
predict (e.g. when MacVim is used with PeepOpen).

If opening new files causes a new window to appear on screen, then the
pwd is set to the directory of the first file being opened.

If a window is already visible and new files are set to open in the
"current" window, then the pwd will not change when opening files.
2010-10-03 17:49:23 +02:00
Bjorn Winckler cc43c3f65c Fix inline marked text regression
This regression was introduced in commit be8446006b.
2010-10-02 19:21:20 +02:00
Bjorn Winckler e1f144fff9 Snapshot 54 2010-10-01 21:33:51 +02:00
Bjorn Winckler 96a5aaca30 Update credits 2010-10-01 21:23:12 +02:00
Bjorn Winckler fe4dcf1ea1 Patch 7.3.019 missing #ifdef 2010-10-01 16:57:50 +02:00
Bjorn Winckler 051dd87d5e Merge branch 'vim'
Conflicts:
	src/main.c
2010-10-01 16:55:17 +02:00
Dmitry Vazhov 24b70ebcfa Set represented filename for full screen window
This fixes a bug which caused DTerm not to work when in full screen
mode.
2010-10-01 16:47:55 +02:00
Bram Moolenaar 8d49009628 Runtime file updates. 2010-09-30 21:47:56 +02:00
Bram Moolenaar 59d9dd938d updated for version 7.3.019
Problem:    ":nbstart" can fail silently.
Solution:   Give an error when netbeans is not supported by the GUI. (Xavier
	    de Gaye)
2010-09-30 21:03:26 +02:00
Bjorn Winckler fdd289b215 Shorter input check intervals 2010-09-30 12:25:54 +02:00
Bjorn Winckler be8446006b Avoid Vim locking up whilst waiting for input
Put keyboard input on Vim's input buffer as soon as it arrives instead
of first putting it on the backend's input buffer.

This should fix problems with MacVim spuriously locking up when opening
files as has been reported by users of the PeepOpen utility.
2010-09-30 11:59:32 +02:00
Bram Moolenaar daa5cfe9dd updated for version 7.3.018
Problem:    Missing argument to windres in MingW makefiles.
Solution:   Add the argument that was wrapped in the patch. (Jon Maken)
2010-09-29 18:42:28 +02:00
Bram Moolenaar 855f2810f5 updated for version 7.3.017
Problem:    smatch reports errors.
Solution:   Fix the reported errors. (Dominique Pelle)
2010-09-29 18:32:52 +02:00
Bram Moolenaar 09915c6560 updated for version 7.3.016
Problem:    Netbeans doesn't work under Athena.
Solution:   Support Athena, just like Motif. (Xavier de Gaye)
2010-09-29 17:27:01 +02:00
Bram Moolenaar 32de6c1f95 updated for version 7.3.015
Problem:    Test is using error message that no longer exists.
Solution:   Change E106 to E121. (Dominique Pelle)
2010-09-29 16:55:49 +02:00
Bram Moolenaar 2e002ed5f0 updated for version 7.3.014
Problem:    Ending a line in a backslash inside an ":append" or ":insert"
	    command in Ex mode doesn't work properly. (Ray Frush)
Solution:   Halve the number of backslashes, only insert a NUL after an odd
	    number of backslashes.
2010-09-29 15:50:30 +02:00
Bram Moolenaar 9b3ee033ca updated for version 7.3.013
Problem:    Dynamic loading with Ruby doesn't work for 1.9.2.
Solution:   Handle rb_str2cstr differently.  Also support dynamic loading on
	    Unix. (Jon Maken)
2010-09-29 13:02:53 +02:00
Bram Moolenaar e0035e72ff updated for version 7.3.012
Problem:    Problems building with MingW.
Solution:   Adjust the MingW makefiles. (Jon)
2010-09-29 12:38:00 +02:00
Bram Moolenaar 3a7b73bbe8 Updated runtime files. 2010-09-21 22:34:02 +02:00
Bram Moolenaar fa8a10cc0d updated for version 7.3.011
Problem:    X11 clipboard doesn't work in Athena/Motif GUI.  First selection
	    after a shell command doesn't work.
Solution:   When using the GUI use XtLastTimestampProcessed() instead of
	    changing a property.  (partly by Toni Ronkko)
	    When executing a shell command disown the selection.
2010-09-21 22:09:37 +02:00
Bram Moolenaar e35b5e0207 updated for version 7.3.010
Problem:    Mac GUI: Missing break statements.
Solution:   Add the break statements. (Dominique Pelle)
2010-09-21 17:34:31 +02:00
Bram Moolenaar f04780aebd updated for version 7.3.009
Problem:    Win32: Crash on Windows when using a bad argument for strftime().
	    (Christian Brabandt)
Solution:   Use the bad_param_handler(). (Mike Williams)
2010-09-21 17:29:23 +02:00
Bram Moolenaar 3faee0eea8 updated for version 7.3.008
Problem:    'cursorbind' is kept in places where 'scrollbind' is reset.
Solution:   Reset 'cursorbind'.
2010-09-21 16:56:35 +02:00
Bram Moolenaar e4b1724130 updated for version 7.3.007
Problem:    Python code defines global "buffer".  Re-implements a grow-array.
Solution:   Use a grow-array instead of coding the same functionality.  Handle
	    out-of-memory situation properly.
2010-09-21 16:49:37 +02:00
Bram Moolenaar 7e9a35b73e Updated runtime files. 2010-09-19 19:01:21 +02:00
Bram Moolenaar a030e14f4c updated for version 7.3.006
Problem:    Can't build some multi-byte code with C89.
Solution:   Move code to after declarations. (Joachim Schmitz)
2010-09-18 13:36:49 +02:00
Bjorn Winckler 3609f1181b Update help on Quickstart feature 2010-09-17 21:47:40 +02:00
Bram Moolenaar 7f521f9180 updated for version 7.3.005
Problem:    Crash when using undotree(). (Christian Brabandt)
Solution:   Increase the list reference count.  Add a test for undotree()
	    (Lech Lorens)
2010-09-14 12:47:37 +02:00
Bram Moolenaar 5bfb7b6c36 updated for version 7.3.004
Problem:    Crash when using very long regexp. (Peter Odding)
Solution:   Reset reg_toolong. (Carlo Teubner)
2010-09-14 10:55:47 +02:00
Bjorn Winckler 6b593596a8 Deprecate Pinch/Rotate gestures
These do not make much sense to include (and they could not easily be
mapped to because of the fact that they generate events as the gesture
is being performed).

Also, make some updates to the help.
2010-09-08 18:51:30 +02:00
Bjorn Winckler 355030366f Add help on trackpad gestures 2010-09-02 20:49:03 +02:00
Bjorn Winckler a542a26f2e Use swipe gesture to navigate help
Left/right swipe goes back/forward through tag stag when reading help.
2010-09-02 19:02:53 +02:00
Bjorn Winckler 65065e6c02 Avoid <SwipeLeft> etc. being inserted
Performing a gesture will not cause <SwipeLeft> etc. to be inserted into
the text while in insert mode/cmdline mode/etc.
2010-09-02 18:54:52 +02:00
Bjorn Winckler a5db9c5785 Add support for trackpad gestures
Supported gestures are swipe, pinch and rotate.  These generate the
following keys:

    <SwipeLeft> <SwipeRight> <SwipeUp> <SwipeDown>
    <PinchIn>   <PinchOut>
    <RotateCW>  <RotateCCW>

(CW = ClockWise, CCW = CounterClockWise)
2010-09-01 22:30:21 +02:00
Bjorn Winckler 2a25ea4e26 Improvements to Spotlight integration
No longer issue a warning if the text entered in Spotlight can not be
found in a file opened from Spotlight.  Sanitize Spotlight input before
passing it on to Vim.
2010-09-01 18:02:56 +02:00
Nikola Knezevic f4e9d096f2 Fix Vim hanging when using zsh+git
This fixes the problem explained in [2]. Essentially, when executing
external program, where default shell is zsh, Vim would hang. This
behaviour does not occur with bash, or other shells.

Problem:
When Vim executes an external program from GUI (MacVim in this case), it
opens PTYs. Parent passes information to the child via these PTYs. Savvy
implementation closes all unused filehandles, so slave PTY fd is closed
in the parent immediately after fork(). This causes problems on
MacVim, due to [1]. In a nutshell, on BSD-like systems, write operations
on PTY would block until one side reads or exits. If a child tries to
write on a PTY, which is closed in parent, that would block the child,
and stop further progress.

Resolution:
Instead of closing child's fd in the parent immediately after fork(),
close it after child exits.

[1] http://osdir.com/ml/darwin-kernel/2010-04/msg00025.html
[2] http://groups.google.com/group/vim_mac/browse_thread/thread/78b18ce8cc15557d
2010-08-29 14:29:51 +02:00
Nikola Knezevic daa43ff96d Revert "Double fork to avoid Vim hanging when using zsh"
This reverts commit 453876f267.

This is not the right/complete solution.
2010-08-29 14:25:00 +02:00
Nikola Knezevic 453876f267 Double fork to avoid Vim hanging when using zsh 2010-08-24 19:49:32 +02:00
Bjorn Winckler 329a140ce1 Remove snapshot appcast 2010-08-24 15:41:38 +02:00
Bram Moolenaar 8dfe0f6e7a Fold Vim 7.2 default branch back to trunk to avoid two heads. (Tony
Mechelynck)
2010-08-20 11:11:57 +02:00
Bram Moolenaar 9be9c0aaeb updated for version 7.3.003
Problem:    Crash with specific BufWritePost autocmd. (Peter Odding)
Solution:   Don't free the quickfix title twice. (Lech Lorens)
2010-08-17 20:26:59 +02:00
Bjorn Winckler ff0faa47a4 Merge 'Snapshot 53' commit 2010-08-17 13:43:00 +02:00
Bjorn Winckler 730064c7f3 Snapshot 53 2010-08-17 13:41:41 +02:00
Bjorn Winckler f408e184c1 Merge branch 'vim' 2010-08-17 12:58:43 +02:00
Bram Moolenaar d22aff9897 updated for version 7.3.002
Problem:    ":find" completion doesn't work when halfway an environment
	    variable. (Dominique Pelle)
Solution:   Only use in-path completion when expanding file names. (Nazri
	    Ramliy)
2010-08-16 22:34:29 +02:00
Bram Moolenaar 85431083e7 updated for version 7.3.002
Problem:    ":find" completion doesn't work when halfway an environment
	    variable. (Dominique Pelle)
Solution:   Only use in-path completion when expanding file names. (Nazri
	    Ramliy)
2010-08-16 21:53:27 +02:00
Bram Moolenaar 0d3005d65e Make the vim73 branch the default branch. 2010-08-16 21:24:09 +02:00
Bjorn Winckler c8e3375a84 Merge branch 'vim73' into macvim73
Conflicts:
	runtime/doc/options.txt
2010-08-15 21:06:58 +02:00
Bram Moolenaar 810bd0344d Last changes for the 7.3 release!
--HG--
branch : vim73
2010-08-15 15:24:20 +02:00
Bram Moolenaar d80c290d5e Fix #ifdef for GDK_SUPER_MASK. (Stephan Schulz)
--HG--
branch : vim73
2010-08-15 13:53:58 +02:00
Bram Moolenaar 68c020b98a Make the references to features in the help more consistent. (Sylvain Hitier)
--HG--
branch : vim73
2010-08-15 13:50:43 +02:00
Bram Moolenaar 909e6329b5 Docs fix for tabpagewinnr(). (Sylvain Hitier)
--HG--
branch : vim73
2010-08-15 13:30:34 +02:00
Bram Moolenaar 9637f8e5ee Two fixes for :find completion and more testing. (Nazri Ramliy)
--HG--
branch : vim73
2010-08-15 13:29:11 +02:00
Bram Moolenaar 6926154a72 Do include Mac clipboard code for MacVim.
--HG--
branch : vim73
2010-08-15 12:57:37 +02:00
Bram Moolenaar 4ff5570f88 Runtime file updates.
--HG--
branch : vim73
2010-08-14 21:57:32 +02:00
Bram Moolenaar afbb6f4050 Fix building the Mac version with GUI.
--HG--
branch : vim73
2010-08-14 21:56:42 +02:00
Bjorn Winckler 34604f8552 Merge branch 'vim73' into macvim73
Conflicts:
	src/auto/configure
2010-08-14 20:55:23 +02:00
Bram Moolenaar 58f82541d3 README and help file updates.
--HG--
branch : vim73
2010-08-14 17:46:20 +02:00
Bram Moolenaar 158daf552f Fix: in compatible mode, in an empty buffer, ":r file" triggered an error
message.

--HG--
branch : vim73
2010-08-14 14:32:54 +02:00
Bram Moolenaar c1478f924f Fix: strcat() on overlapping string. (Dominique Pelle)
--HG--
branch : vim73
2010-08-14 13:34:39 +02:00
Bram Moolenaar b3239cd34b Version 7.3f -> 7.3g
--HG--
branch : vim73
2010-08-14 13:33:56 +02:00
Bram Moolenaar f01ae85b30 Preparations for 7.3f release.
--HG--
branch : vim73
2010-08-13 22:05:54 +02:00
Bram Moolenaar fad6d0e53a Cleanup in :find completion code. Make it work for "./subdir" in 'path'.
--HG--
branch : vim73
2010-08-13 21:16:49 +02:00
Bram Moolenaar 678252dec5 Use mkdir() instead of !mkdir in test 73, it's more reliable.
--HG--
branch : vim73
2010-08-13 19:13:18 +02:00
Bram Moolenaar 6c5480136a Now really fix using expressions in the command line (hopefully).
--HG--
branch : vim73
2010-08-13 19:12:07 +02:00
Bram Moolenaar 301f8317b8 Fix illegal memory access when using expressions in the command line.
--HG--
branch : vim73
2010-08-13 16:51:26 +02:00
Bram Moolenaar 27f47b6465 Update message for :python/:py3 usage with approximate translations.
--HG--
branch : vim73
2010-08-13 16:24:30 +02:00
Bram Moolenaar 148e620808 Add a configure check for RTLD_GLOBAL. (James Vega, Roland Puntaier)
--HG--
branch : vim73
2010-08-13 16:22:57 +02:00
Bram Moolenaar 34dc8f9859 Conceal feature caused the 'cursorline' highlighting to stop early.
--HG--
branch : vim73
2010-08-13 15:24:39 +02:00
Bram Moolenaar cd6dedcacc Fix for Yaml syntax file. (Nikolai Weibull)
--HG--
branch : vim73
2010-08-13 14:58:53 +02:00
Bram Moolenaar d341131f60 Runtime file updates.
--HG--
branch : vim73
2010-08-13 14:38:12 +02:00
Bram Moolenaar e698e2e892 Fix #ifdef for GDK_SUPER_MASK.
--HG--
branch : vim73
2010-08-13 13:57:13 +02:00
Bram Moolenaar 2c33d78d77 More fixes for :find completion. (mostly by Nazri Ramliy)
--HG--
branch : vim73
2010-08-13 13:36:15 +02:00
Bram Moolenaar 1d86870323 Update to Perl runtime files. (Andy Lester)
--HG--
branch : vim73
2010-08-13 12:09:22 +02:00
Bram Moolenaar d93a09b391 Updated Italian menus. (Vlad Sandrini)
--HG--
branch : vim73
2010-08-13 11:57:42 +02:00
Bram Moolenaar fc88796a54 Updates for :TOhtml. (Benjamin Fritz)
--HG--
branch : vim73
2010-08-13 11:30:02 +02:00
Bram Moolenaar 3960dfd634 Avoid warnings from the clang compiler. (Dominique Pelle)
--HG--
branch : vim73
2010-08-13 11:18:02 +02:00
Bram Moolenaar 17a24384f2 Updated Finnish translations. (Flammie Pirinen)
--HG--
branch : vim73
2010-08-12 22:19:09 +02:00
Bram Moolenaar 5ca64c5590 Fix: Lua interface tried to load the library when closing a buffer or window.
--HG--
branch : vim73
2010-08-12 22:14:01 +02:00
Bram Moolenaar 960f7a935d Improvements for :find completion.
--HG--
branch : vim73
2010-08-12 21:50:51 +02:00
Bram Moolenaar 16b0591410 Include wchar.h in charset.c for towupper().
--HG--
branch : vim73
2010-08-12 20:17:02 +02:00
Bram Moolenaar f166b809bc Runtime file updates.
--HG--
branch : vim73
2010-08-11 23:37:32 +02:00
Bram Moolenaar 21f371a03f Updated translations. Added Portuguese tutor.
--HG--
branch : vim73
2010-08-11 23:11:47 +02:00
Bram Moolenaar b47c4ef970 Fixes for :find completion.
--HG--
branch : vim73
2010-08-11 22:05:57 +02:00
Bram Moolenaar 093a8bedd9 Improved pt_PT spell file generation.
--HG--
branch : vim73
2010-08-10 22:53:02 +02:00
Bram Moolenaar a0988408a7 Updated message translations.
--HG--
branch : vim73
2010-08-10 22:52:25 +02:00
Bram Moolenaar 05246bf32e Runtime file updates. Fix tar plugin window split.
--HG--
branch : vim73
2010-08-10 21:43:35 +02:00
Bram Moolenaar 7bf5da720e Make :find completion work better with the DJGPP build. (Nazri Ramliy)
--HG--
branch : vim73
2010-08-10 19:50:26 +02:00
Bram Moolenaar 0f2e2b513c Fix compiler warning.
--HG--
branch : vim73
2010-08-10 09:25:48 +02:00
Bram Moolenaar 0b15a03984 Fix crash when using netbeans in a terminal when compiled with GUI support.
(partly by Xavier de Gaye)

--HG--
branch : vim73
2010-08-09 22:49:00 +02:00
Bram Moolenaar b6a0fcfb5d Runtime file updates.
--HG--
branch : vim73
2010-08-09 22:33:06 +02:00
Bram Moolenaar aecbe728ca Fix: :ltag command did not set w:quickfix_title. (Lech Lorens)
--HG--
branch : vim73
2010-08-09 22:14:48 +02:00
Bram Moolenaar 95f9912a7c Fix for float values on VMS. (Zoltan Arpadffy)
--HG--
branch : vim73
2010-08-09 22:07:08 +02:00
Bram Moolenaar a6abdcd2d8 When building with both Python 2 and Python 3 don't use RTLD_GLOBAL, so that
both may work.

--HG--
branch : vim73
2010-08-09 22:06:13 +02:00
Bram Moolenaar bc4d825ebb Version 7.3e -> 7.3f.
--HG--
branch : vim73
2010-08-09 20:16:32 +02:00
Bram Moolenaar c263388a1f Runtime file updates. (Tim Pope)
--HG--
branch : vim73
2010-08-09 20:13:35 +02:00
Bjorn Winckler 9787b377fa Merge branch 'vim73' into macvim73
Conflicts:
	runtime/syntax/vim.vim
	src/screen.c
2010-08-08 23:13:25 +02:00
Bram Moolenaar 68d9438b6b Prepare for 7.3e release.
--HG--
branch : vim73
2010-08-08 21:39:46 +02:00
Bram Moolenaar 146cfede96 Update version info in help files.
--HG--
branch : vim73
2010-08-08 21:15:53 +02:00
Bram Moolenaar eb2f8f9997 Fixed: on MS-Windows sometimes files with number 4913 or higher are left
behind.

--HG--
branch : vim73
2010-08-08 18:46:06 +02:00
Bram Moolenaar 051f2d4097 Update help about wildcards in 'tags' option.
--HG--
branch : vim73
2010-08-08 18:29:48 +02:00
Bram Moolenaar b3ac306f4d Fix: 'suffixesadd' was used for finding tags file.
--HG--
branch : vim73
2010-08-08 18:17:52 +02:00
Bram Moolenaar 4348a787c1 Remove unused code.
--HG--
branch : vim73
2010-08-08 16:38:42 +02:00
Bram Moolenaar 94b89909c2 NL spelling: remove REP items to avoid lots of suggestions with dots.
--HG--
branch : vim73
2010-08-08 16:34:14 +02:00
Bram Moolenaar 9a96d5dc0c Also support Doxygen in C# files. (Andreas J. Beblik)
--HG--
branch : vim73
2010-08-08 15:28:22 +02:00
Bram Moolenaar ac7910b487 Improve positioning of combining characters in GTK.
--HG--
branch : vim73
2010-08-08 14:40:37 +02:00
Bram Moolenaar 143ada6e41 Make test 11 pass when there is no gzip program. (John Beckett)
--HG--
branch : vim73
2010-08-08 13:18:47 +02:00
Bram Moolenaar 39393cc7e6 Avoid that test 73 ovewrites viminfo. (James Vega)
--HG--
branch : vim73
2010-08-08 13:13:51 +02:00
Bram Moolenaar d447b77552 Fix: test 73 failed with small features.
--HG--
branch : vim73
2010-08-08 13:07:57 +02:00
Bram Moolenaar c03b6d1131 Change readfile() to ignore byte order marks, unless in binary mode.
--HG--
branch : vim73
2010-08-07 20:30:49 +02:00
Bram Moolenaar c3498b833c Use different Czech keymap (Stepan Nemec)
--HG--
branch : vim73
2010-08-07 18:42:45 +02:00
Bram Moolenaar fa08512fbe Fixed: on MS-Windows completion of shell commands didn't work.
--HG--
branch : vim73
2010-08-07 17:07:21 +02:00
Bram Moolenaar 47b954c206 Updated translations. (Dominique Pelle)
--HG--
branch : vim73
2010-08-07 16:38:38 +02:00
Bram Moolenaar 4ca52a25b2 Fix: An unprintable multi-byte character at the start of the screen line
caused the following text to be drawn at the wrong position.

--HG--
branch : vim73
2010-08-07 16:38:13 +02:00
Bram Moolenaar e8219a043c Updates for :TOhtml. (Ben Fritz)
--HG--
branch : vim73
2010-08-07 15:47:30 +02:00
Bram Moolenaar 555b0423c7 Fix: with newer GTK versions accented characters were drawn too much to the
left.

--HG--
branch : vim73
2010-08-07 15:46:45 +02:00
Bram Moolenaar bd16010c08 Update for jsp syntax file.
--HG--
branch : vim73
2010-08-07 13:46:23 +02:00
Bram Moolenaar b2034ba10b Some messages were missing when updating translations. (Dominique Pelle)
--HG--
branch : vim73
2010-08-07 13:45:59 +02:00
Bram Moolenaar 61cf0e3671 Set 'visualbell' in test 72 to avoid a beep.
--HG--
branch : vim73
2010-08-07 13:27:48 +02:00
Bram Moolenaar 564684dcd1 Update pt_BR translations.
--HG--
branch : vim73
2010-08-07 13:19:56 +02:00
Bram Moolenaar 2056c4dd3d Update README files. Remove references to extra and lang archives.
--HG--
branch : vim73
2010-08-07 13:19:27 +02:00
Bram Moolenaar 40a740fd61 Fix: ml_get errors when using undo with 'virtualedit'.
--HG--
branch : vim73
2010-08-07 12:54:12 +02:00
Bram Moolenaar 84275e8904 Updated Dutch spell files to use latest OpenOffic.org version.
--HG--
branch : vim73
2010-08-06 22:14:36 +02:00
Bram Moolenaar 5f28281f0e Update version number in gvim.exe manifest. (Michael Wookey)
--HG--
branch : vim73
2010-08-06 20:53:49 +02:00
Bram Moolenaar d378970155 Call gui_mch_update() before triggering GuiEnter autocmd. (Ron Aaron)
--HG--
branch : vim73
2010-08-06 20:42:30 +02:00
Bram Moolenaar d436e625c9 Updated syntax files.
--HG--
branch : vim73
2010-08-05 22:08:47 +02:00
Bram Moolenaar 6b904597ff Improve handling of user settings in :TOhtml. Default to generating CSS.
(Benjamin Fritz)

--HG--
branch : vim73
2010-08-05 21:54:00 +02:00
Bram Moolenaar 4146339b02 Fix a few problems for :find completion. Test much more. (Nazri Ramliy)
--HG--
branch : vim73
2010-08-05 21:40:16 +02:00
Bram Moolenaar 203a46a890 Updated syntax files. (Charles Campbell)
--HG--
branch : vim73
2010-08-04 23:03:17 +02:00
Bram Moolenaar 217d9d53e1 Fixed: "make install" installed a few Amiga .info files.
--HG--
branch : vim73
2010-08-04 22:44:27 +02:00
Bram Moolenaar a648f81ac2 Disallow setting 'ambiwidth' to "double" when 'listchars' or 'fillchars'
contains a character that would become double width.

--HG--
branch : vim73
2010-08-04 20:55:44 +02:00
Bram Moolenaar a57a03e1c4 After entering a crypt key would need to hit return to continue.
When silencing a message it would still clear a kept message.

--HG--
branch : vim73
2010-08-04 20:12:32 +02:00
Bram Moolenaar d180e1037e 7.3d -> 7.3e.
--HG--
branch : vim73
2010-08-04 19:29:04 +02:00
Bjorn Winckler 8f5eed6089 Merge branch 'master' into macvim73 2010-08-04 19:23:56 +02:00
Bjorn Winckler e9de29bf9e Merge branch 'vim73' into macvim73 2010-08-04 19:23:39 +02:00
Bram Moolenaar 47b042e294 Make test 73 a bit more portable.
--HG--
branch : vim73
2010-08-04 18:27:57 +02:00
Bram Moolenaar 97583c42f0 Preparations for 7.3d release.
--HG--
branch : vim73
2010-08-04 17:49:30 +02:00
Bram Moolenaar bd3d778efd Make :find completion consistent between Unix and MS-Windows. Add a test.
(Nazri Ramliy)

--HG--
branch : vim73
2010-08-04 17:07:20 +02:00
Bram Moolenaar 6aca8a785d Add translations in diff syntax. (Jakson A. Aquino)
--HG--
branch : vim73
2010-08-04 16:11:50 +02:00
Bram Moolenaar 0e05a4a18a Small changes to the test files. (John Beckett)
--HG--
branch : vim73
2010-08-04 16:10:19 +02:00
Bram Moolenaar f422abef95 Set 'wrapscan' when checking the .po files. (Mike Williams)
--HG--
branch : vim73
2010-08-04 15:47:08 +02:00
Bram Moolenaar c08f721564 Fix: when setting crypt key seed was not updated when the swap file wasn't
created yet.

--HG--
branch : vim73
2010-08-04 15:32:46 +02:00
Bram Moolenaar 06be8496ce When undoing a reload, move the cursor to the first changed line.
--HG--
branch : vim73
2010-08-04 14:29:54 +02:00
Bram Moolenaar 3bc8f1b4b1 Fix crash when no item in 'path' is used for :find completion.
--HG--
branch : vim73
2010-08-04 12:39:44 +02:00
Bram Moolenaar 4778cee7c3 Rename quickfix plugin to match the filetype set in the code.
--HG--
branch : vim73
rename : runtime/ftplugin/quickfix.vim => runtime/ftplugin/qf.vim
2010-08-04 12:05:40 +02:00
Bram Moolenaar d8ac2e3d0f Runtime file updates.
--HG--
branch : vim73
2010-08-03 23:00:38 +02:00
Bram Moolenaar 06bc20c906 Recognize .f03 and .f08 as Fortran files. (Ajit Thakkar)
--HG--
branch : vim73
2010-08-03 22:45:06 +02:00
Bram Moolenaar 38356ae07e Fix crash in :find completion. (Nazri Ramliy)
--HG--
branch : vim73
2010-08-03 22:21:00 +02:00
Bram Moolenaar 0c8c0341a0 Fix: With 'path' set to relative directory ":find" completion didn't work.
(Nazri Ramliy)

--HG--
branch : vim73
2010-08-03 22:11:29 +02:00
Bram Moolenaar 315cc1108f Windows uninstaller: Instead of calling RegDeleteKeyEx() directly load it
dynamically from the .dll.  Should work everywhere.

--HG--
branch : vim73
2010-08-02 23:06:46 +02:00
Bram Moolenaar 1e68b02c5b Take OLE registration back to 32 bit registry, the unregister wasn't working
for the 64 registry.

--HG--
branch : vim73
2010-08-02 22:13:25 +02:00
Bram Moolenaar 29caec46a7 Syntax file updates. (Charles Campbell)
--HG--
branch : vim73
2010-08-02 22:12:46 +02:00
Bram Moolenaar 26d733c022 Updated version of gettext for use with MVC. (Mike Williams)
--HG--
branch : vim73
2010-08-02 21:43:29 +02:00
Bram Moolenaar b0caec19f2 Improvements for :find completion. (Nazri Ramliy)
--HG--
branch : vim73
2010-08-02 21:33:37 +02:00
Bram Moolenaar ce53e73573 Put quotes around the gvim.exe path for the "Open with" menu entry.
--HG--
branch : vim73
2010-08-02 20:45:27 +02:00
Bram Moolenaar a958040a47 Workaround for missing RegDeleteKeyEx() method.
--HG--
branch : vim73
2010-08-02 20:26:43 +02:00
Bjorn Winckler e54169d516 Remove "Edit in ..." project from .gitignore 2010-08-02 11:57:06 +02:00
Bram Moolenaar cdd47af97a Update version.h for 7.3c -> 7.3d.
--HG--
branch : vim73
2010-08-01 22:35:43 +02:00
Bjorn Winckler 902ce662b7 Update help file 2010-08-01 22:23:37 +02:00
Bjorn Winckler 4ba6c13f75 Update string in "About" dialog 2010-08-01 22:04:56 +02:00
Bram Moolenaar 650770be1e Add Datascript syntax file. (Dominique Pelle)
--HG--
branch : vim73
2010-08-01 21:48:21 +02:00
Bram Moolenaar 70590be8d2 Fix: the MS-Windows uninstaller did not delete registry keys on 64 bit systems.
--HG--
branch : vim73
2010-08-01 21:15:45 +02:00
Bjorn Winckler 7a742084e2 Merge branch 'vim73' into macvim73
Conflicts:
	src/normal.c
	src/vim.h
2010-08-01 20:55:44 +02:00
Bjorn Winckler 492dc30376 Merge branch 'master' into macvim73 2010-08-01 20:53:02 +02:00
Bram Moolenaar 3d8a2fe869 Version 7.3c -> 7.3d
--HG--
branch : vim73
2010-08-01 20:38:51 +02:00
Bram Moolenaar e4d4426cb0 Update todo file.
--HG--
branch : vim73
2010-08-01 20:18:38 +02:00
Bram Moolenaar 1f79696e44 Define the WOW64 key when needed.
--HG--
branch : vim73
2010-08-01 19:50:25 +02:00
Bram Moolenaar b8078f7f79 Update utf-8 version of tutor.
--HG--
branch : vim73
2010-08-01 19:11:06 +02:00
Bram Moolenaar 60d66b36f3 Minor updates for the 7.3c release.
--HG--
branch : vim73
2010-08-01 19:06:10 +02:00
Bjorn Winckler 39481734e1 Update credits 2010-08-01 18:59:58 +02:00
Bram Moolenaar a463dec5c4 Remove unused variable and STRLEN(). (Dominique Pelle)
--HG--
branch : vim73
2010-08-01 17:59:57 +02:00
Bram Moolenaar 78781634cc Fix: test 69 didn't work on MS-Windows. Test 72 beeped too often.
--HG--
branch : vim73
2010-08-01 17:37:17 +02:00
Bram Moolenaar 89146a1a9f Runtime file updates.
--HG--
branch : vim73
2010-08-01 16:13:51 +02:00
Bram Moolenaar 75ff1d163c Avoid illegal memory access in spell suggestion. (Dominique Pelle)
--HG--
branch : vim73
2010-08-01 15:47:35 +02:00
Bram Moolenaar a4a5e9f566 Avoid that running tests changes viminfo.
--HG--
branch : vim73
2010-08-01 15:47:03 +02:00
Bram Moolenaar 6cc03fa13a Fix: crash in spell checking with a 0x300 character.
--HG--
branch : vim73
2010-08-01 15:37:02 +02:00
Bram Moolenaar bac1bc2a37 Fix: uninitialized memory access. (Dominique Pelle)
--HG--
branch : vim73
2010-08-01 15:11:43 +02:00
Bram Moolenaar 67ceb87a6e Fix typos in README files. (Dominique Pelle)
--HG--
branch : vim73
2010-08-01 14:36:59 +02:00
Bram Moolenaar bf66a9df86 No need to redraw cursorline when 'modifiable' is changed. (Dominique Pelle)
--HG--
branch : vim73
2010-08-01 14:35:05 +02:00
Bram Moolenaar 50d657aef4 Fix: changing case of a character removed combining characters.
--HG--
branch : vim73
2010-08-01 14:22:48 +02:00
Bram Moolenaar b1b2f88c8c Add the WOW64 flag back to OLE registration. (untested)
--HG--
branch : vim73
2010-08-01 13:25:05 +02:00
Bram Moolenaar bd47321246 Fix that uninstaller isn't found on 64-bit Windows.
--HG--
branch : vim73
2010-07-31 22:03:44 +02:00
Bram Moolenaar 6125579e7e Fix: on MS-Windows the "open with..." menu starts Vim without a file.
--HG--
branch : vim73
2010-07-31 20:53:54 +02:00
Bram Moolenaar dd1c05e11f Move many more common Python items to if_py_both.c.
--HG--
branch : vim73
2010-07-31 19:54:14 +02:00
Bram Moolenaar ddafe8a14a Fixed: CTRL-R in Insert mode doesn't insert composing characters.
--HG--
branch : vim73
2010-07-31 17:59:29 +02:00
Bram Moolenaar b49f68742f Fixes for coverity warnings.
--HG--
branch : vim73
2010-07-31 16:44:19 +02:00
Bram Moolenaar afd84afec5 Support syntax and filetype completion for user commands. (Christian Brabandt)
--HG--
branch : vim73
2010-07-31 14:59:19 +02:00
Bram Moolenaar e505c2aee1 Possibly make OLE work on Windows 64 bit. (untested)
--HG--
branch : vim73
2010-07-31 14:45:05 +02:00
Bram Moolenaar 5537eecf8c More updated runtime files.
--HG--
branch : vim73
2010-07-30 22:41:22 +02:00
Bram Moolenaar 7b30da4eda Improvements for VMS. (Zoltan Arpadffy)
--HG--
branch : vim73
2010-07-30 22:29:41 +02:00
Bram Moolenaar 2e324441dc Correct comments in testdir makefiles. (John Beckett)
--HG--
branch : vim73
2010-07-30 22:04:17 +02:00
Bram Moolenaar 6b1be9f544 Runtime file updates.
--HG--
branch : vim73
2010-07-30 21:49:40 +02:00
Bram Moolenaar d2650f0159 Fix test 72 not setting encryption method. (Dominique Pelle)
--HG--
branch : vim73
2010-07-30 21:49:07 +02:00
Bjorn Winckler 382f00014d Revert "Support for Cocoa Standard AS Dictionary"
This reverts commit fb3590e751.

Conflicts:

	src/MacVim/MacVim.xcodeproj/project.pbxproj
2010-07-30 17:04:48 +02:00
Bram Moolenaar 0393708fc4 Dectect Perl6.
--HG--
branch : vim73
2010-07-29 23:12:43 +02:00
Bram Moolenaar aa04494107 Few more fixes for VMS.
--HG--
branch : vim73
2010-07-29 23:12:15 +02:00
Bram Moolenaar 49492830d2 Fix a few compile warnings. (Mike Williams)
--HG--
branch : vim73
2010-07-29 23:10:40 +02:00
Bram Moolenaar fadf978bc9 Updated runtime files. Add logcheck filetype plugin. (James Vega)
--HG--
branch : vim73
2010-07-29 22:33:18 +02:00
Bram Moolenaar e4c39f4d21 Add completion for ":ownsyntax" and improve completion for ":filetype".
(Dominique Pelle)

--HG--
branch : vim73
2010-07-29 20:59:59 +02:00
Bram Moolenaar b33a4e633d Updated runtime files. :TOhtml improvements by Benjamin Fritz.
--HG--
branch : vim73
2010-07-29 20:43:36 +02:00
Bram Moolenaar a5672c1daf Update for Lua interface. (Luis Carvalho)
--HG--
branch : vim73
2010-07-28 22:46:08 +02:00
Bram Moolenaar b379ad862b Remove Mupad indent and ftplugin files, they are not useful.
--HG--
branch : vim73
2010-07-28 22:30:00 +02:00
Bram Moolenaar 317c358364 Improvements for ":find" completion. (Nazri Ramliy)
--HG--
branch : vim73
2010-07-28 22:29:10 +02:00
Bram Moolenaar ded2e15a0e Changes for VMS. Mostly by Zoltan Arpadffy.
--HG--
branch : vim73
2010-07-28 19:38:16 +02:00
Bram Moolenaar 20ae607f71 Fix: :redir to a dictionary that is changed before ":redir END" causes a
memory access error.

--HG--
branch : vim73
2010-07-28 18:55:02 +02:00
Bram Moolenaar 9c5e157a00 More runtime file updates.
--HG--
branch : vim73
2010-07-28 18:17:41 +02:00
Bram Moolenaar 84142e9d4e Fix: concealed regions didn't get redrawn correctly when moving the cursor
through them.

--HG--
branch : vim73
2010-07-28 18:14:45 +02:00
Bram Moolenaar 98f89366d7 More accented characters in tex.vim syntax. (Charles Campbell)
--HG--
branch : vim73
2010-07-28 17:25:21 +02:00
Bram Moolenaar 6d69cf0576 Updated runtime files.
--HG--
branch : vim73
2010-07-28 17:02:55 +02:00
Bram Moolenaar 608d8d470c Updated Italian messages. (Vlad Sandrini)
--HG--
branch : vim73
2010-07-28 14:28:48 +02:00
Bram Moolenaar 8a34e48829 Minor runtime file updates.
--HG--
branch : vim73
2010-07-28 12:52:27 +02:00
Bram Moolenaar 58fad7d1ee Updated runtime files. New netrw plugin version.
--HG--
branch : vim73
2010-07-27 22:50:36 +02:00
Bram Moolenaar b6f95fa663 Fix build warnings and problems for tiny/small Win32 build. (Mike Williams)
--HG--
branch : vim73
2010-07-27 22:41:43 +02:00
Bram Moolenaar 89a4db0de3 Fix for "concealends". (Vince Negri)
--HG--
branch : vim73
2010-07-27 20:47:25 +02:00
Bram Moolenaar 60943f173f Update TeX syntax file.
--HG--
branch : vim73
2010-07-26 22:51:56 +02:00
Bram Moolenaar 309262c0d9 Fix compiler warnings on 64 bit systems.
--HG--
branch : vim73
2010-07-26 22:51:28 +02:00
Bram Moolenaar 919a34d10a Updated runtime files.
--HG--
branch : vim73
2010-07-26 22:21:27 +02:00
Bjorn Winckler fcb74336d8 Merge branch 'master' into macvim73 2010-07-26 19:49:35 +02:00
Bjorn Winckler 21baffc2a5 Change default font to Menlo
On system where Menlo is missing (i.e. OS X 10.5 and earlier) Monaco
will be used instead.
2010-07-26 19:47:32 +02:00
Bjorn Winckler 4efc4c32a7 Change mouse cursor to arrow when outside window 2010-07-26 18:58:38 +02:00
Bjorn Winckler 51e86fbc86 Update balloon eval on scroll wheel event 2010-07-26 17:25:29 +02:00
Bjorn Winckler 66cfd7c136 Fix problem when compiling without Core Text 2010-07-26 16:53:28 +02:00
Bjorn Winckler 86d89594e6 Fix compliation problems with os_mac_conv.c 2010-07-25 23:52:46 +02:00
Bjorn Winckler 370077b539 Merge branch 'master' into macvim73 2010-07-25 23:17:58 +02:00
Bjorn Winckler 5679cb554b Fix scroll wheel force feature 2010-07-25 23:12:59 +02:00
Bjorn Winckler ff27fbf695 Send horizontal trackpad events on to Vim 2010-07-25 23:09:23 +02:00
Bjorn Winckler 73972981a6 Merge branch 'vim73' into macvim73
Conflicts:
	src/auto/configure
	src/configure.in
	src/normal.c
2010-07-25 23:09:00 +02:00
Bjorn Winckler c1a59b534a Add +balloon_eval support
The tracking rect code had to be pulled to get tool tips to work.  This
has at least one negative drawback (the mouse cursor does not change
back to an arrow when moved outside the window) and there may be more.

Changes to 'bdlay' are only detected after disabling and re-enabling
'beval'.
2010-07-25 22:58:24 +02:00
Bram Moolenaar 96d1382ade Fix: terminal title not properly restured when there are multi-byte
characters.  (partly by James Vega)

--HG--
branch : vim73
2010-07-25 22:30:20 +02:00
Bram Moolenaar f7845bf576 7.3b -> 7.3c
--HG--
branch : vim73
2010-07-25 20:53:06 +02:00
Bjorn Winckler b71ce80f16 Add preference to toggle inline IM 2010-07-25 18:33:28 +02:00
Bram Moolenaar 34303a71a0 Prepare for 7.3b release. Fix src/Makefile enabling python3 by default.
--HG--
branch : vim73
2010-07-25 17:42:45 +02:00
Bjorn Winckler 9f9e94b8ac Avoid bottom scrollbar covering resize indicator
Fixes a bug where the bottom scrollbar would cover the resize indicator
when the right scrollbar was hidden.
2010-07-25 17:12:13 +02:00
Bram Moolenaar 6e183f3321 Add "q" item for 'statusline'. Add w:quickfix_title. (Lech Lorens)
--HG--
branch : vim73
2010-07-25 16:58:46 +02:00
Bjorn Winckler 9bd07078ed No right/bot scrollbar -> no resize indicator
The resize indicator covers the text view when there is no right or
bottom scrollbar so don't draw it in this situation.  Also avoids a
display corruption when using Core Text renderer with ":set go-=r".
2010-07-25 16:49:05 +02:00
Bram Moolenaar 58fb211e8e Fix: editing a not encrypted file after a crypted file messed up reading the
text from an undo file.

--HG--
branch : vim73
2010-07-25 16:05:19 +02:00
Bjorn Winckler 1623ced00c Remove +x flag on Advanced.png 2010-07-25 15:54:32 +02:00
Bjorn Winckler 27cdb59352 Update Credits 2010-07-25 15:53:25 +02:00
Bjorn Winckler bfeba1168a Remove MacVim plugin related code 2010-07-25 15:51:26 +02:00
Bram Moolenaar a3501619fc Add support for horizontal scroll wheel. (Bjorn Winckler)
--HG--
branch : vim73
2010-07-25 15:49:07 +02:00
Bjorn Winckler 9114c483a0 Remove 'Edit in ODBEditor'
Also remove all things related to it such as the Integration preference
pane.
2010-07-25 15:37:28 +02:00
Bram Moolenaar 2f9a26798c Better fix for memory access in recovery. (Dominique Pelle)
--HG--
branch : vim73
2010-07-25 15:11:11 +02:00
Bram Moolenaar c5514b2df2 Fix memory access to 'cryptmethod' during recovery. (Dominique Pelle)
--HG--
branch : vim73
2010-07-25 14:00:46 +02:00
Bram Moolenaar c6d3895d18 Add completion for :setfiletype. (Dominique Pelle)
--HG--
branch : vim73
2010-07-25 13:53:11 +02:00
Bram Moolenaar 131e21ad6f Add completion for :lmap and :lunmap.
--HG--
branch : vim73
2010-07-25 13:50:33 +02:00
Bram Moolenaar ef6828cc08 Include old Python changes in Python 3 interface.
--HG--
branch : vim73
2010-07-25 13:43:20 +02:00
Bram Moolenaar a471cee782 Fix: when resetting both 'title' and 'icon' the title would be set after a
shell command.
Reset 'title' and 'icon' in test47 to avoid the xterm title getting messed up.

--HG--
branch : vim73
2010-07-25 13:42:29 +02:00
Bram Moolenaar 1e77f68d9c Use the SONAME-versioned liblua, if it exists. (James Vega)
--HG--
branch : vim73
2010-07-25 13:12:49 +02:00
Bram Moolenaar db79a140c6 Add the synconcealed() function and use it for :TOhtml. (Benjamin Fritz)
--HG--
branch : vim73
2010-07-25 12:46:44 +02:00
Bram Moolenaar 9bcb14d67a Let 'v' flag in 'concealcursor' apply to all lines in the Visual area.
--HG--
branch : vim73
2010-07-24 23:52:26 +02:00
Bram Moolenaar f804a143ec Move some common code from if_python.c and if_python3.c to if_py_both.h.
--HG--
branch : vim73
2010-07-24 23:51:45 +02:00
Bram Moolenaar 8161dabfe2 More runtime file updates.
--HG--
branch : vim73
2010-07-24 20:57:44 +02:00
Bram Moolenaar 107b7738ee Fix for compiler warning about function prototype in pty.c.
--HG--
branch : vim73
2010-07-24 20:44:27 +02:00
Bram Moolenaar 874d2011bc Add 'window' to the options window.
--HG--
branch : vim73
2010-07-24 20:44:02 +02:00
Bram Moolenaar 6db64abe9a Further improvements for :options. (Dominique Pelle)
--HG--
branch : vim73
2010-07-24 20:35:12 +02:00
Bram Moolenaar 5eb7e35306 Add the 'undoreload' option to be able to undo a file reload.
--HG--
branch : vim73
2010-07-24 20:27:03 +02:00
Bram Moolenaar 28064151ea Fix for cursor position in wrapped line with concealed text.
--HG--
branch : vim73
2010-07-24 17:39:52 +02:00
Bram Moolenaar 9d5ae4635a Give each syntax item a sequence number, so that we know when it starts and
can show the 'cchar' for each of them.

--HG--
branch : vim73
2010-07-24 17:29:03 +02:00
Bram Moolenaar 085a9bcf49 Document extra argument for Python append().
--HG--
branch : vim73
2010-07-24 16:58:02 +02:00
Bram Moolenaar 992cbccce3 Fix: errors for allocating zero bytes when profiling an empty function.
--HG--
branch : vim73
2010-07-24 16:57:39 +02:00
Bram Moolenaar 95632957a2 Remove -arch flag from build flags for Perl. (Bjorn Wickler)
--HG--
branch : vim73
2010-07-24 16:19:44 +02:00
Bram Moolenaar 6e74390adb Find python3 also in lib64 directory. (Ben Boeckel)
--HG--
branch : vim73
2010-07-24 16:11:21 +02:00
Bram Moolenaar 1ae64c557c Fix memory leak in :find completion. (Dominique Pelle)
--HG--
branch : vim73
2010-07-24 16:01:56 +02:00
Bram Moolenaar 5aceb17039 Better text for 'concealcursor' in :options window.
--HG--
branch : vim73
2010-07-24 15:56:43 +02:00
Bram Moolenaar af7eb87126 Fix 'autochdir' not showing up in :options window. (Dominique Pelle)
Adjust :options window for changes in conceal options.

--HG--
branch : vim73
2010-07-24 15:48:31 +02:00
Bram Moolenaar a324d8f0d6 Temporary solution for crashing when using both :py and :py3: disallow both in
one session.

--HG--
branch : vim73
2010-07-24 15:42:14 +02:00
Bram Moolenaar 3d196d6ed4 Specify library to load for Python more precisely. (James Vega)
--HG--
branch : vim73
2010-07-24 15:19:11 +02:00
Bram Moolenaar d68c93612e Add the 'c' flag to 'concealcursor'.
--HG--
branch : vim73
2010-07-24 15:00:38 +02:00
Bram Moolenaar 4e94f5d1c0 Another conceal fix: cursor in wrong column when 'number' set.
--HG--
branch : vim73
2010-07-24 13:31:09 +02:00
Bram Moolenaar 74d377165c Don't conceal text in lines inside the Visual area.
--HG--
branch : vim73
2010-07-24 13:15:07 +02:00
Bram Moolenaar a278cc9c26 Window split didn't copy the value of 'conceallevel'.
--HG--
branch : vim73
2010-07-23 22:27:03 +02:00
Bram Moolenaar ca003f191d Add the 'concealcursor' option to decide when the cursor line is to be
concealed or not.
Rename 'conc' to 'cole' as the short name for 'conceallevel'.

--HG--
branch : vim73
2010-07-23 22:10:27 +02:00
Bjorn Winckler 3113fcfd89 Don't call gui_mch_mousehide() 2010-07-23 16:53:54 +02:00
Bjorn Winckler 1fac0e217a Fix missing prototype warning 2010-07-23 16:32:17 +02:00
Bjorn Winckler 7f753e8841 Merge branch 'master' into macvim73 2010-07-23 13:45:10 +02:00
Bjorn Winckler 5dcf4f9ffe Merge branch 'vim73' into macvim73
Conflicts:
	runtime/syntax/vim.vim
	src/auto/configure
2010-07-23 13:44:55 +02:00
Vincent Berthoux 3b984bfba1 Add support for graphical signs 2010-07-23 02:21:48 +02:00
Bram Moolenaar 9b74bcb368 Update Fortran indent and syntax file. (Ajit Thakkar)
--HG--
branch : vim73
2010-07-22 22:30:23 +02:00
Bram Moolenaar 1da5839fe7 Fix: strdisplaywidth("x", 2) returned 3 instead of 1.
--HG--
branch : vim73
2010-07-22 22:20:57 +02:00
Bram Moolenaar c8e70b997c For conceal mode: when two different syntax items follow each other, show the
replacement character for both.

--HG--
branch : vim73
2010-07-22 22:16:29 +02:00
Bram Moolenaar 605246a15f Fix: "import termios" doesn't work with dynamically loaded Python. (James
Vega)

--HG--
branch : vim73
2010-07-22 21:44:13 +02:00
Bram Moolenaar b67b86f15f Make it possible to load Lua dynamically on Unix. (Luis Carvalho)
--HG--
branch : vim73
2010-07-22 21:32:16 +02:00
Benjamin Cullen-Kerney fb3590e751 Support for Cocoa Standard AS Dictionary
This provides, among other things, support for moving/resizing windows
via AppleScript.
2010-07-22 19:27:04 +02:00
Bram Moolenaar 12451bfc9a Fix building with Perl on Windows with MingW. (James Vega)
--HG--
branch : vim73
2010-07-22 11:34:16 +02:00
Bram Moolenaar e6dbed8a8f Update French and Esperanto translations. (Dominique Pelle)
--HG--
branch : vim73
2010-07-21 22:27:37 +02:00
Bram Moolenaar 6a480b9930 Make it possible to load Perl dynamically on Unix. (James Vega)
--HG--
branch : vim73
2010-07-21 22:05:20 +02:00
Bram Moolenaar 541fd385f5 Fix dependencies in help Makefile. (James Vega)
--HG--
branch : vim73
2010-07-21 20:40:27 +02:00
Bram Moolenaar d7c11bc26c Small docs fixes.
--HG--
branch : vim73
2010-07-21 20:36:22 +02:00
Bram Moolenaar 4200870dac Fix build problem when fchown() not available. (Gary Johnson)
--HG--
branch : vim73
2010-07-21 20:31:07 +02:00
Bram Moolenaar c746883958 Fix that :py3file was not working.
--HG--
branch : vim73
2010-07-21 16:00:43 +02:00
Bram Moolenaar d05dd089d0 Update timestamps for recently changed help files.
--HG--
branch : vim73
2010-07-20 22:45:13 +02:00
Bram Moolenaar a7a47ad6e0 Fix hang when resizing in diff mode and there are concealed items.
--HG--
branch : vim73
2010-07-20 22:33:34 +02:00
Bram Moolenaar 18d100096f Avoid error when exiting in diff mode with EXITFREE defined.
--HG--
branch : vim73
2010-07-20 22:30:01 +02:00
Bram Moolenaar 1b2986bd7c When resetting 'mousehide' show the mouse pointer right away.
--HG--
branch : vim73
2010-07-20 18:44:27 +02:00
Bram Moolenaar b47cb44d53 Fix some duplicates in ":find" completion. (Nazri Ramliy)
--HG--
branch : vim73
2010-07-20 18:10:15 +02:00
Bram Moolenaar d8cf19bf73 Change 'cryptmethod' from a number to a string option. Make it global-local.
--HG--
branch : vim73
2010-07-20 17:32:38 +02:00
Bram Moolenaar cf73ab732f Fix: When 'searchhl' causes a hang make CTRL-C disable 'shearchhl'.
--HG--
branch : vim73
2010-07-20 13:11:28 +02:00
Bram Moolenaar 0070356c5b Add a few items to the syntax menu. Split up long submenus.
--HG--
branch : vim73
2010-07-20 13:10:11 +02:00
Bram Moolenaar 8123df60d7 Updated sh and vim syntax files. (Charles Campbell)
--HG--
branch : vim73
2010-07-20 12:36:02 +02:00
Bram Moolenaar a164a2ded7 Fix 'colorcolumn' adjecent columns not highlighted after end of line.
--HG--
branch : vim73
2010-07-20 11:29:07 +02:00
Bram Moolenaar 5d1b07fbcd Fix typos in documentation. (Dominique Pelle)
--HG--
branch : vim73
2010-07-20 11:16:17 +02:00
Bram Moolenaar ecd10f8c48 Fixed: crash with ":find " completion, using uninitialized count.
--HG--
branch : vim73
2010-07-19 23:11:27 +02:00
Bram Moolenaar b1e4b5bf2a Updated Ukranian translations. (Anatoli Sakhnik)
--HG--
branch : vim73
2010-07-19 22:08:50 +02:00
Bram Moolenaar 226dfe0f86 Updated Polish translations. (Mikolaj Machowski)
--HG--
branch : vim73
2010-07-19 21:51:01 +02:00
Bram Moolenaar 3221588663 Fix configure for Python3 libs and version number. (James Vega)
--HG--
branch : vim73
2010-07-19 21:18:54 +02:00
Bram Moolenaar 206e86e4b3 Rename some "python3" symbols to "py3", as the command name.
Documentation updates.

--HG--
branch : vim73
2010-07-19 20:46:22 +02:00
Bram Moolenaar b30d60f6ce Never hide text for conceal in cursor line. Do hide when there is
highlighting.

--HG--
branch : vim73
2010-07-19 20:13:22 +02:00
Bram Moolenaar b7668b0bca Rename w_p_conceal to w_p_conc for consistency.
--HG--
branch : vim73
2010-07-19 19:52:13 +02:00
Bram Moolenaar d16c57f2f8 Also make ALT modifier work for mouse wheel. (Benjamin Haskell)
--HG--
branch : vim73
2010-07-18 23:32:13 +02:00
Bram Moolenaar 57f8186de6 Fix: 'colorcolumn' interfered with concealed text.
--HG--
branch : vim73
2010-07-18 23:30:34 +02:00
Bram Moolenaar 187a813f3f Vim 7.3a -> 7.3b.
--HG--
branch : vim73
2010-07-18 23:29:58 +02:00
Bjorn Winckler b34c99a64d Merge branch 'vim73' into macvim73 2010-07-18 23:15:00 +02:00
Bram Moolenaar 71cc1812ba Fix: MS-Windows installer used wrong path for uninstaller key.
--HG--
branch : vim73
2010-07-18 22:33:56 +02:00
Bram Moolenaar d721278828 Last few changes for the 7.3a BETA release.
--HG--
branch : vim73
2010-07-18 22:10:01 +02:00
Bram Moolenaar ac2b3fd963 Fixes and improvements for MS-Windows build.
--HG--
branch : vim73
2010-07-18 21:42:34 +02:00
Bram Moolenaar 317e4a0605 Minor runtime file updates.
--HG--
branch : vim73
2010-07-18 18:47:44 +02:00
Bram Moolenaar 222acc458c Make automatic prototype generation work with more interfaces.
--HG--
branch : vim73
2010-07-18 18:04:50 +02:00
Bjorn Winckler 12e6a57d52 Merge branch 'vim73' into macvim73
Conflicts:
	src/auto/configure
	src/configure.in
	src/eval.c
2010-07-18 18:03:55 +02:00
Bram Moolenaar 882333cf2d Added strdisplaywidth() function.
--HG--
branch : vim73
2010-07-18 15:45:49 +02:00
Bram Moolenaar c21d154234 Added strwidth() and strchars() functions.
--HG--
branch : vim73
2010-07-18 15:31:08 +02:00
Bram Moolenaar 8eec834325 Better conceal in help. (partly by Dominique Pelle)
--HG--
branch : vim73
2010-07-18 14:34:51 +02:00
Bram Moolenaar 1be25d9c47 Make CTRL modifier work for mouse wheel. (Benjamin Haskell)
--HG--
branch : vim73
2010-07-18 14:26:11 +02:00
Bram Moolenaar 4b758f9b6a Fix build broken without multi-byte feature.
--HG--
branch : vim73
2010-07-18 14:20:35 +02:00
Bram Moolenaar d7e673e0d2 Improved :TOhtml. (Benjamin Fritz)
--HG--
branch : vim73
2010-07-18 14:07:22 +02:00
Bram Moolenaar 1a810129f2 Build problem when using all interfaces except Lua.
--HG--
branch : vim73
2010-07-18 13:58:26 +02:00
Bram Moolenaar fb1ecd29a6 Make 'cursorcolumn' work together with the conceal feature.
--HG--
branch : vim73
2010-07-18 13:55:02 +02:00
Bram Moolenaar 6f1679b5d6 Make it easier to build with Lua. Remove compiler warnings.
--HG--
branch : vim73
2010-07-18 12:35:47 +02:00
Bram Moolenaar b7e3f706b4 Whitespace cleanup.
--HG--
branch : vim73
2010-07-17 23:52:29 +02:00
Bram Moolenaar 56361677b1 Added support for Python 3. (Roland Puntaier)
--HG--
branch : vim73
2010-07-17 21:19:38 +02:00
Bram Moolenaar 2f90abaa05 Add the 'L' item to 'cinoptions'. (Manuel Konig)
--HG--
branch : vim73
2010-07-17 17:12:06 +02:00
Bram Moolenaar 13606deb9e Mac: Support disabling antialias. (LC Mi)
--HG--
branch : vim73
2010-07-17 16:44:59 +02:00
Bram Moolenaar 85bd78f896 Make it possible to drag a tab page label to another position. (Paul B. Mahol)
--HG--
branch : vim73
2010-07-17 16:30:42 +02:00
Bram Moolenaar f5c3efd38e Better implementation of creating the Color Scheme menu. (Juergen Kraemer)
--HG--
branch : vim73
2010-07-17 15:20:30 +02:00
Bram Moolenaar a88ec92ab1 In Visual mode with 'showcmd' display the number of bytes and characters.
--HG--
branch : vim73
2010-07-17 12:47:16 +02:00
Bram Moolenaar 696f8a6064 Fix bad parsing of 'colorcolumn'. (Dominique Pelle)
--HG--
branch : vim73
2010-07-16 21:29:06 +02:00
Bram Moolenaar 53aafa1254 Avoid compiler warnings for size_t to int conversions.
--HG--
branch : vim73
2010-07-16 20:38:52 +02:00
Bram Moolenaar 7b76ae97e6 Improved version of 2html.vim.
Includes progress bar.
Fix dynamic folding in diff view.
(Benjamin Fritz)

--HG--
branch : vim73
2010-07-16 20:35:36 +02:00
Bjorn Winckler 9c0b69fed8 Merge branch 'master' into macvim73 2010-07-16 02:44:42 +02:00
Bjorn Winckler 2b70f7d985 Fix full sreen tabline bug
This fixes a bug where showing the tabline in full screen would
sometimes cause the tabline to disappear when leaving full screen.
2010-07-16 02:42:14 +02:00
Bjorn Winckler 7dc2c998ff Avoid window flashing white when opened (final)
The previous commit would not present the window until all plugins etc.
had been loaded.  Since this can take a significant time it may seem
like no window is opening.  This commit opens a blank window as soon as
possible.

(Also fixes a regression introduced by the last commit where opening
multiple files in tabs from Terminal would cause two tablines to be
displayed.)
2010-07-16 02:01:33 +02:00
Bjorn Winckler 14422b553e Merge branch 'vim73' into macvim73
Conflicts:
	runtime/doc/options.txt
	runtime/doc/tags
	src/auto/configure
	src/configure.in
	src/eval.c
	src/main.c
	src/option.c
	src/os_mac.h
	src/os_macosx.c
	src/proto.h
	src/vim.h
2010-07-15 23:27:46 +02:00
Bram Moolenaar 8f5008d4ae Added Lua interfae. (Luis Carvalho)
--HG--
branch : vim73
2010-07-14 23:23:17 +02:00
Bram Moolenaar e7380e8e16 Fix: When entering a digraph or special character after a line that fits the
window the '?' or '^' on the next line is not redrawn. (Ian Kelling)

--HG--
branch : vim73
2010-07-14 22:35:55 +02:00
Bram Moolenaar e6c3708dc1 Allow synIDattr() getting GUI attributes when build without GUI.
(Matt Wozniski)

--HG--
branch : vim73
2010-07-14 22:04:22 +02:00
Bram Moolenaar 4788cece7c Disallow setting 'enc' in a modeline. (Patrick Texier)
--HG--
branch : vim73
2010-07-14 21:12:05 +02:00
Bram Moolenaar 6f8679267c Fix: cursor line not properly concealed when moving between windows.
(Vince Negri)

--HG--
branch : vim73
2010-07-14 20:57:00 +02:00
Bram Moolenaar 96a3849891 Remove obsolete Mac code.
--HG--
branch : vim73
2010-07-14 20:31:44 +02:00
Bram Moolenaar 5a4dfdb36d Added 'colorcolumn' option. Partly by Gregor Uhlenheuer.
--HG--
branch : vim73
2010-07-14 19:53:30 +02:00
Bram Moolenaar 78b2599ab4 Fix using freed memory in :find completion.
--HG--
branch : vim73
2010-07-14 16:59:57 +02:00
Bram Moolenaar f4b1122d52 Missing piece for Mac console clipboard support. (Bjorn Winckler)
--HG--
branch : vim73
2010-07-14 16:54:21 +02:00
Bram Moolenaar 6a69fb8ff7 Support completion for ":find". (Nazri Ramliy)
Cleanup white space.

--HG--
branch : vim73
2010-07-14 16:52:17 +02:00
Bram Moolenaar 74a0f28894 Fix a few compiler warnings.
--HG--
branch : vim73
2010-07-14 14:28:26 +02:00
Bram Moolenaar ca048d538e Add clipboard support in Mac console. (Bjorn Winckler)
--HG--
branch : vim73
rename : src/os_macosx.c => src/os_macosx.m
2010-07-14 13:58:07 +02:00
Bram Moolenaar 1f3faff642 Minor runtime file updates.
--HG--
branch : vim73
2010-07-12 23:05:41 +02:00
Bram Moolenaar 396f1f85b7 Fix: Composing characters in :s substitute text were dropped.
--HG--
branch : vim73
2010-07-12 22:42:33 +02:00
Bram Moolenaar b34087a4a2 updated for version 7.2.446
Problem:    Crash in GUI when closing the last window in a tabpage. (ryo7000)
Solution:   Remove the tabpage from the list before freeing the window.
2010-07-12 21:38:19 +02:00
Bram Moolenaar 41df0a78d7 updated for version 7.2.446
Problem:    Crash in GUI when closing the last window in a tabpage. (ryo7000)
Solution:   Remove the tabpage from the list before freeing the window.

--HG--
branch : vim73
2010-07-12 21:38:19 +02:00
Bram Moolenaar f2edee1193 Fix: exists() was causing an autload script to be loaded.
--HG--
branch : vim73
2010-07-11 23:12:29 +02:00
Bram Moolenaar db6930efe9 When the buffer is in diff mode, have :TOhtml create HTML to show the diff
side-by-side.  (Christian Brabandt)

--HG--
branch : vim73
2010-07-11 22:38:52 +02:00
Bram Moolenaar 39a3092623 Filter out -pthread for cproto.
--HG--
branch : vim73
2010-07-11 20:52:58 +02:00
Bram Moolenaar 2bdb74b540 Make CTRL-L in command line mode respect 'ignorecase' and 'smartcase'. (Martin
Toft)

--HG--
branch : vim73
2010-07-11 20:46:53 +02:00
Bram Moolenaar 1f85434c24 Avoid use of the GTK mail_loop() so that the GtkFileChooser can be used.
(James Vega)

--HG--
branch : vim73
2010-07-11 19:01:06 +02:00
Bram Moolenaar 757f07824b Add back SAL lines for Swedish spell file.
--HG--
branch : vim73
2010-07-11 18:03:15 +02:00
Bram Moolenaar b36b32454c Fix crash in generating spell .sug file.
--HG--
branch : vim73
2010-07-11 18:01:39 +02:00
Bram Moolenaar b37a46eabd When 'formatexpr' evaluates to non-zero fall back to internal formatting, also
for "gq". (James Vega)

--HG--
branch : vim73
2010-07-11 17:35:50 +02:00
Bram Moolenaar 0558bdd979 Improve Javascript indenting. Add "J" flag to 'cino'. (Hari Kumar G)
--HG--
branch : vim73
2010-07-11 17:23:02 +02:00
Bram Moolenaar 91d87c99b3 Support :browse for commands that use an error file argument. (Lech Lorens)
--HG--
branch : vim73
2010-07-11 16:58:51 +02:00
Bram Moolenaar f2ca8ca020 Support wide file names in gvimext. (Szabolcs Horvat)
--HG--
branch : vim73
2010-07-10 19:22:44 +02:00
Bram Moolenaar 6a21449820 Make joining a range of lines much faster. (Milan Vancura)
--HG--
branch : vim73
2010-07-10 17:51:46 +02:00
Bram Moolenaar e104e73228 Fix bug: spell menu moved cursor, causing Copy not to work. Spell replacement
didn't work in 'compatible' mode.

--HG--
branch : vim73
2010-07-10 16:36:59 +02:00
Bram Moolenaar 24aae35392 Update spell files for Ubuntu locale names.
--HG--
branch : vim73
2010-07-10 15:52:35 +02:00
Bram Moolenaar c94109e17e Improve test for joining lines. (Milan Vancura)
--HG--
branch : vim73
2010-07-10 14:10:50 +02:00
Bram Moolenaar b1f187797b Fixed ":s" message. Docs updates.
--HG--
branch : vim73
2010-07-10 13:52:13 +02:00
Bram Moolenaar 0e8c1dd9f5 Make synstack() work on the character just after the end of the line.
--HG--
branch : vim73
2010-07-08 22:27:55 +02:00
Bram Moolenaar c3d15f3f7b Apply patch 7.2.445.
--HG--
branch : vim73
2010-07-07 18:26:28 +02:00
Bram Moolenaar 874574c6bb updated for version 7.2.445
Problem:    Crash when using undo/redo and a FileChangedRO autocmd event that
	    reloads the buffer. (Dominique Pelle)
Solution:   Do not allow autocommands while performing and undo or redo.
2010-07-07 18:20:28 +02:00
Bram Moolenaar 36e9390c7f Make the dos installer work with more compilers.
--HG--
branch : vim73
2010-07-07 15:14:03 +02:00
Bram Moolenaar 2c1d0dfacb Adjust MS-Windows installer so that it also works for 64 bit systems. (George
Reilly)

--HG--
branch : vim73
2010-07-07 13:19:55 +02:00
Bram Moolenaar 7d67de1232 Change SKIP_GTK to SKIP_GTK2 in configure.
--HG--
branch : vim73
2010-07-05 22:57:59 +02:00
Bram Moolenaar 2bf7997061 Better init for match highlighting when using conceal feature.
--HG--
branch : vim73
2010-07-05 22:22:57 +02:00
Bjorn Winckler 7d62a58bb9 Merge branch 'master' into macvim73 2010-07-05 22:11:55 +02:00
Bjorn Winckler 3877ec23cd Merge branch 'vim73' into macvim73
Conflicts:
	runtime/syntax/vim.vim
	src/auto/configure
	src/configure.in
	src/feature.h
	src/globals.h
	src/gui.c
	src/gui.h
	src/mbyte.c
	src/option.c
	src/option.h
	src/screen.c
2010-07-05 22:11:19 +02:00
Bjorn Winckler 9b3ab2637a Avoid window flashing white when opened
This bug was only triggered when 'go' did not include the "r" flag.
2010-07-05 20:10:33 +02:00
Bjorn Winckler a23ad7f390 Fix "t" and "T" mixup in 'guioptions' help 2010-07-05 19:00:18 +02:00
Bjorn Winckler 8bd342d382 Update help file to reflect changes to menu setup 2010-07-05 18:34:33 +02:00
Bjorn Winckler 4101b63035 Remove obsolete plugin-related credits from About 2010-07-05 18:29:00 +02:00
Bjorn Winckler c836ac1c37 Fix restore of window dim when leaving full screen
Restore the window dimensions when leaving full screen even if the view
size changed a little bit during full screen mode.  This way the window
dimensions are restored even if tabline or scrollbars were toggled
during full screen.
2010-07-05 18:22:22 +02:00
Bjorn Winckler ba4486860e Fix display corruption when dragging divider
This fixes a bug where the screen would get corrupted when dragging a
horizontal divider in full-screen mode.
2010-07-05 18:02:03 +02:00
Bram Moolenaar 1fed4edbe6 Mainly documentation updates.
--HG--
branch : vim73
2010-07-04 22:20:21 +02:00
Bram Moolenaar 1632064821 Make updating text for conceal mode simpler. A few compiler warning fixes.
--HG--
branch : vim73
2010-07-02 20:20:09 +02:00
Bram Moolenaar e849cc36b4 Added ":earlier 1f" and ":later 1f".
--HG--
branch : vim73
2010-06-27 05:18:54 +02:00
Bram Moolenaar ab11acdc25 Add file save counter to undo information. Add undotree() function.
--HG--
branch : vim73
2010-06-27 01:15:55 +02:00
Bram Moolenaar f396affb6b Remove wrong #ifdef added by previous change.
--HG--
branch : vim73
2010-06-26 21:15:50 +02:00
Bram Moolenaar 011a08dc54 Various small fixes from Dominique Pelle.
--HG--
branch : vim73
2010-06-26 06:24:45 +02:00
Bram Moolenaar e2e6984ea3 Change remaining HAVE_GTK2 to FEAT_GUI_GTK.
--HG--
branch : vim73
2010-06-26 05:38:18 +02:00
Bram Moolenaar 04747b2311 Fix that :mksession may generate "2argu" even though there is no such
argument. (Peter Odding)

--HG--
branch : vim73
2010-06-26 05:25:54 +02:00
Bram Moolenaar b65daa26c3 Remove the old and not well supported GTK 1 code. (James Vega)
--HG--
branch : vim73
2010-06-25 05:37:59 +02:00
Bram Moolenaar 50e21c46b5 Fix build problem with Ruby on Windows. (Cesar Romani)
--HG--
branch : vim73
2010-06-25 04:29:11 +02:00
Bjorn Winckler 94da0a9aba Regenerate 'src/configure'
This ensures that the size of off_t etc. are defined in
'src/auto/config.mk'.
2010-06-24 10:32:08 +02:00
Bjorn Winckler 3fe8916f2a Merge branch 'vim73' into macvim73
Conflicts:
	src/vim.h
2010-06-24 10:28:04 +02:00
Bram Moolenaar fc7edcfd4f Fix a memory leak in encryption. (Dominique Pelle)
--HG--
branch : vim73
2010-06-24 05:39:03 +02:00
Bram Moolenaar f614d1b5dd Fix compiler warning.
--HG--
branch : vim73
2010-06-24 05:20:13 +02:00
Bram Moolenaar ab473c0c5a Fix compiler warnings for shadowed variables. Make 'conceal' a long instead
of int.

--HG--
branch : vim73
2010-06-22 06:28:58 +02:00
Bram Moolenaar 65d14fed40 Fixes for time in clipboard request. Also fix ownership. (David Fries)
--HG--
branch : vim73
2010-06-22 06:07:12 +02:00
Bram Moolenaar bf9b503224 Couple of small fixes for conceal feature. (Dominique Pelle)
--HG--
branch : vim73
2010-06-22 05:16:38 +02:00
Bram Moolenaar bb2f889448 Command line completion for :ownsyntax. (Dominique Pelle)
--HG--
branch : vim73
2010-06-21 06:24:34 +02:00
Bram Moolenaar 1a0457e431 Crypt the swapfile.
--HG--
branch : vim73
2010-06-21 06:15:46 +02:00
Bram Moolenaar b89b824c41 Fix tiny build, move functions to undo.c.
--HG--
branch : vim73
2010-06-14 01:39:13 +02:00
Bram Moolenaar e20a968994 Added salt to blowfish encryption.
--HG--
branch : vim73
2010-06-13 05:20:42 +02:00
Bram Moolenaar 6e664be861 updated for version 7.2.444
Problem:    Can't build with GTK 1, gtk_selection_clear_targets() is not
	    available. (Patrick Texier)
Solution:   Don't change the targets for GTK 1, set them once.
2010-06-13 02:35:46 +02:00
Bram Moolenaar 318f787765 Update help files.
--HG--
branch : vim73
2010-06-12 20:18:19 +02:00
Bram Moolenaar a92a746da4 updated for version 7.2.443
Problem:    Using taglist() on a tag file with duplicate fields generates an
	    internal error. (Peter Odding)
Solution:   Check for duplicate field names.
2010-06-12 20:12:02 +02:00
Bram Moolenaar 0bf59cca94 updated for version 7.2.443
Problem:    Using taglist() on a tag file with duplicate fields generates an
	    internal error. (Peter Odding)
Solution:   Check for duplicate field names.

--HG--
branch : vim73
2010-06-12 20:12:02 +02:00
Bjorn Winckler 57fbf071a4 Merge branch 'vim73' into macvim73 2010-06-12 12:32:35 +02:00
Bram Moolenaar 8bc77d798e Minor typo and docs update.
--HG--
branch : vim73
2010-06-12 06:46:44 +02:00
Bram Moolenaar 4123bd4bc3 Avoid compiler warnings on Mac 10.6.
--HG--
branch : vim73
2010-06-12 06:45:20 +02:00
Bjorn Winckler 6f31fa5b89 Merge branch 'vim73' into macvim73 2010-06-09 19:10:45 +02:00
Bram Moolenaar 8b7f3067e2 Update src/po/it.po. Fixed errors in ko.po.
--HG--
branch : vim73
2010-06-08 23:17:01 +02:00
Bram Moolenaar 5636cfe8e3 Fix conceal feature for gj, gk, etc. (Vince Negri)
--HG--
branch : vim73
2010-06-08 22:59:42 +02:00
Bram Moolenaar 3047e44942 Fix crash when using ":grep".
--HG--
branch : vim73
2010-06-07 23:07:44 +02:00
Bram Moolenaar 3474f9a4d9 Fix Make_ivc.mak makefile. (Vince Negri)
--HG--
branch : vim73
2010-06-07 22:50:29 +02:00
Bjorn Winckler 3099f063a9 Merge branch 'vim73' into macvim73 2010-06-07 22:00:10 +02:00
Bram Moolenaar d7ae4afbbf Fix crash for ":ownsyntax". (Dominique Pelle)
--HG--
branch : vim73
2010-06-06 23:10:19 +02:00
Bram Moolenaar b89da70f82 Avoid compiler warnings.
--HG--
branch : vim73
2010-06-06 23:04:47 +02:00
Bram Moolenaar 59bf4cb355 One more fix for conceal patch.
--HG--
branch : vim73
2010-06-06 17:41:24 +02:00
Bram Moolenaar 24549d755c Fixed: after ":ownsyntax perl" and ":e" syntax was cleared in other window.
--HG--
branch : vim73
2010-06-06 16:11:09 +02:00
Bram Moolenaar 36443a74e8 Fixed memory leak in ":ownsyntax".
--HG--
branch : vim73
2010-06-06 15:21:10 +02:00
Bram Moolenaar 0b69e0ad42 Fix a few compiler warnings. Fix crash with encrypted undo file.
--HG--
branch : vim73
2010-06-06 14:20:26 +02:00
Bjorn Winckler 5b8ff51961 Merge branch 'vim73' into macvim73
Conflicts:
	src/version.c
2010-06-06 14:02:46 +02:00
Bram Moolenaar 01601aaade Add the conceal patch from Vince Negri.
--HG--
branch : vim73
2010-06-05 23:22:07 +02:00
Bjorn Winckler 05c00b8a3c Merge upstream/hg/vim73 into macvim73
Conflicts:
	runtime/doc/tags
	src/auto/configure
2010-06-05 21:33:03 +02:00
Bram Moolenaar 1a342b8200 Use full path in undofile(). Updated docs.
--HG--
branch : vim73
2010-06-05 17:43:32 +02:00
Bram Moolenaar 18ce00cbee updated for version 7.2.442
Problem:    Copy/paste with OpenOffice doesn't work.
Solution:   Do not offer the HTML target when it is not supported. (James
	    Vega)
2010-06-05 12:49:46 +02:00
Bram Moolenaar 365146c3b7 updated for version 7.2.442
Problem:    Copy/paste with OpenOffice doesn't work.
Solution:   Do not offer the HTML target when it is not supported. (James
	    Vega)

--HG--
branch : vim73
2010-06-05 12:49:46 +02:00
Bram Moolenaar e150cb9c8c Add patch to improve support of z/OS (OS/390). (Ralf Schandl)
--HG--
branch : vim73
2010-06-03 21:17:25 +02:00
Bram Moolenaar 2548b4d333 Move text from various.txt to a new helphelp.txt help file.
--HG--
branch : vim73
2010-06-03 20:25:18 +02:00
Bjorn Winckler 4216a70cf5 Merge upstream/hg/vim73 into macvim73
Conflicts:
	src/auto/configure
2010-06-03 18:08:20 +02:00
Bram Moolenaar bfdd2d0052 Optimize the blowfish crypt/decrypt code a bit more.
--HG--
branch : vim73
2010-06-02 20:32:23 +02:00
Bram Moolenaar 91e7430c2c Made crypt/decrypt faster.
--HG--
branch : vim73
2010-06-01 23:37:39 +02:00
Bram Moolenaar b01764ea44 Fix completion of file names with '%' and '*'.
--HG--
branch : vim73
2010-06-01 21:57:09 +02:00
Bram Moolenaar 306a63dc46 Don't use pointers to store numbers, use a union.
Fixed MSVC makefile use of /Wp64 flag.

--HG--
branch : vim73
2010-06-01 19:58:08 +02:00
Bram Moolenaar f7d7f59544 Correct use of long instead of off_t for file size. (James Vega)
--HG--
branch : vim73
2010-05-31 21:59:46 +02:00
Bram Moolenaar 48acdfaec4 Add test for gettabvar() and settabvar().
--HG--
branch : vim73
2010-05-31 21:27:30 +02:00
Bram Moolenaar 89b968ade7 Crypt the text in the undo file if the file itself is crypted.
--HG--
branch : vim73
2010-05-30 22:48:02 +02:00
Bram Moolenaar 7936c025ce Made reading/writing undo info a bit more robust.
--HG--
branch : vim73
2010-05-30 20:40:11 +02:00
Bjorn Winckler b428828252 Merge branch 'master' into macvim73 2010-05-30 19:05:02 +02:00
Bram Moolenaar 0ab1925a51 Add a few #ifdefs to exclude functions that are not used. (Domnique Pelle)
--HG--
branch : vim73
2010-05-30 19:00:15 +02:00
Bjorn Winckler 1152da7c66 Do not append arg number to window title
This patch was lost during the move to use the Vim hg repo as upstream
so re-add it.
2010-05-30 19:00:08 +02:00
Bjorn Winckler 5bddbe0688 Merge upstream/hg/vim73 into macvim73
Conflicts:
	src/auto/configure
2010-05-30 18:39:14 +02:00
Bjorn Winckler e8125bcdff Merge upstream/hg/vim73 into macvim73
Conflicts:
	runtime/doc/eval.txt
	runtime/syntax/vim.vim
	src/Makefile
	src/auto/configure
	src/feature.h
	src/netbeans.c
	src/proto/netbeans.pro
	src/structs.h
2010-05-30 18:33:05 +02:00
Bram Moolenaar cc32c43b5e Added the undofile() function. Updated runtime files.
--HG--
branch : vim73
2010-05-30 18:30:36 +02:00
Bram Moolenaar 65d77852bc Do not write an undo file if there is nothing to undo.
--HG--
branch : vim73
2010-05-30 17:17:42 +02:00
Bram Moolenaar 8e9bf3f572 updated for version 7.2.441
Problem:    When using ":earlier" undo information may be wrong.
Solution:   When changing alternate branches also adjust b_u_oldhead.
2010-05-30 16:55:22 +02:00
Bram Moolenaar f2ba195bf5 updated for version 7.2.441
Problem:    When using ":earlier" undo information may be wrong.
Solution:   When changing alternate branches also adjust b_u_oldhead.

--HG--
branch : vim73
2010-05-30 16:55:22 +02:00
Bram Moolenaar b98973fcbc A bit of cleanup and simplification for undofile.
--HG--
branch : vim73
2010-05-30 16:01:37 +02:00
Bram Moolenaar a00fea679d A few more fixes for undo file. Split test in two parts so that it doesn't
fail with tiny features.

--HG--
branch : vim73
2010-05-30 13:26:21 +02:00
Bram Moolenaar 29d8c5346b Various improvements to undo file code to make it more robust.
--HG--
branch : vim73
2010-05-29 20:33:07 +02:00
Bjorn Winckler 7fb78f10c9 Regenerate help tags and update vim syntax file
To avoid problems during the move to use the Mercurial repository the
help tags and syntax/vim.vim file were not updated.  This commit
(re-)adds all MacVim specific options and commands to vim.vim and
regenerates the help tags.
2010-05-29 18:19:54 +02:00
Bjorn Winckler d2371b911b Fix placement of auxiliary IM window for Core Text 2010-05-29 18:17:32 +02:00
Bjorn Winckler 488baf60e7 Merge upstream
Conflicts:
	src/auto/configure
	src/configure.in
	src/if_ruby.c
	src/menu.c
	src/vim.h
2010-05-29 18:15:35 +02:00
Bram Moolenaar 34f50aa920 Remove old and unused method to allocate memory for undo.
--HG--
branch : vim73
2010-05-29 15:40:47 +02:00
Bram Moolenaar 4c456cf323 Fix a few more things for persistent undo.
--HG--
branch : vim73
2010-05-29 15:11:47 +02:00
Bram Moolenaar c0dd720f49 updated for version 7.2.440
Problem:    Calling a function through a funcref, where the function deletes
	    the funcref, leads to an invalid memory access.
Solution:   Make a copy of the function name. (Lech Lorens)
2010-05-28 22:06:46 +02:00
Bram Moolenaar 0927ca1d2f updated for version 7.2.440
Problem:    Calling a function through a funcref, where the function deletes
	    the funcref, leads to an invalid memory access.
Solution:   Make a copy of the function name. (Lech Lorens)

--HG--
branch : vim73
2010-05-28 22:06:46 +02:00
Bram Moolenaar 69c231441a updated for version 7.2.439
Problem:    Invalid memory access when doing thesaurus completion and
	    'infercase' is set.
Solution:   Use the minimal length of completed word and replacement.
	    (Dominique Pelle)
2010-05-28 21:31:58 +02:00
Bram Moolenaar 74df7b901e updated for version 7.2.439
Problem:    Invalid memory access when doing thesaurus completion and
	    'infercase' is set.
Solution:   Use the minimal length of completed word and replacement.
	    (Dominique Pelle)

--HG--
branch : vim73
2010-05-28 21:31:58 +02:00
Bram Moolenaar 0f4e7cdbeb Don't execute some autocommands when v:dying is 2 or more.
--HG--
branch : vim73
2010-05-28 21:07:08 +02:00
Bram Moolenaar 7b63ece29f Runtime file updates.
--HG--
branch : vim73
2010-05-28 20:54:39 +02:00
Bram Moolenaar ec6020b690 Fix definition of UINT_PTR for 64 bit systems.
--HG--
branch : vim73
2010-05-26 21:42:54 +02:00
Bram Moolenaar 732b873d9c More strict checks for the undo file.
--HG--
branch : vim73
2010-05-26 21:21:00 +02:00
Bram Moolenaar f126928ec6 Fix for using ":wundo foo" when foo is an empty file.
--HG--
branch : vim73
2010-05-25 22:09:21 +02:00
Bram Moolenaar c93594baa5 updated for version 7.2.438
Problem:    "vim -r" crashes.
Solution:   Don't use NULL pointer argument.
2010-05-25 21:37:17 +02:00
Bram Moolenaar d572569c7f updated for version 7.2.438
Problem:    "vim -r" crashes.
Solution:   Don't use NULL pointer argument.

--HG--
branch : vim73
2010-05-25 21:37:17 +02:00
Bram Moolenaar 65d38dfdab Found a way to make the MS-Windows installer wait for the uninstaller to
finish, no need for the user to press Enter.

--HG--
branch : vim73
2010-05-25 21:02:00 +02:00
Bram Moolenaar aea64e2623 And another small fix for persistent undo.
--HG--
branch : vim73
2010-05-24 22:06:04 +02:00
Bram Moolenaar 3b5a16cfa7 Fix: :wundo didn't work in a buffer without a name.
--HG--
branch : vim73
2010-05-24 22:02:24 +02:00
Bram Moolenaar 38594008ba Improve the MS-Windows installer.
--HG--
branch : vim73
2010-05-24 21:34:22 +02:00
Bram Moolenaar f67e1db899 Tiny change for Italian man page.
--HG--
branch : vim73
2010-05-24 21:25:23 +02:00
Bram Moolenaar 1ce6651297 Fix uninit memory read in undo code. Fix uint32_t in proto file.
A few minor changes.

--HG--
branch : vim73
2010-05-24 11:59:29 +02:00
Bram Moolenaar def17d9dff Included patch for persistent undo. Lots of changes and added test.
--HG--
branch : vim73
2010-05-23 23:34:36 +02:00
Bram Moolenaar 5489f92049 Fix for Netbeans on MS-Windows not compiling.
--HG--
branch : vim73
2010-05-23 12:06:58 +02:00
Bram Moolenaar 39ffa410d1 Some versions of Ruby redefine rb_str_new2 to rb_str_new_cstr.
Attempt at a fix.

--HG--
branch : vim73
2010-05-22 21:56:55 +02:00
Bram Moolenaar 424d5bcd5f Fix wrong memory access when clearing crypt key.
--HG--
branch : vim73
2010-05-22 21:37:53 +02:00
Bram Moolenaar d5e4a8c492 Add :nbstart and :nbclose.
--HG--
branch : vim73
2010-05-22 21:34:09 +02:00
Bram Moolenaar 1984743956 Included the patch to support netbeans in a terminal.
--HG--
branch : vim73
2010-05-22 18:28:27 +02:00
Bram Moolenaar 62010e66e5 Fix: window title not updated after file dropped.
--HG--
branch : vim73
2010-05-22 15:50:12 +02:00
Bram Moolenaar c882513569 Add the settabvar() and gettabvar() functions.
Various runtime file updates.

--HG--
branch : vim73
2010-05-22 15:37:44 +02:00
Bram Moolenaar ddc6fcaf0d Add extra floating point functions.
--HG--
branch : vim73
2010-05-21 16:33:48 +02:00
Bram Moolenaar 06a3de6d29 "g8" doesn't work properly on a NUL.
--HG--
branch : vim73
2010-05-21 15:46:35 +02:00
Bram Moolenaar d8af52a80f A few more changes for encryption. Add test that encrypted file can be read.
--HG--
branch : vim73
2010-05-21 15:36:08 +02:00
Bram Moolenaar bc69624568 updated for version 7.2.437
Problem:    When "\\\n" appears in the expression result the \n doesn't result
	    in a line break. (Andy Wokula)
Solution:   Also replace a \n after a backslash into \r.
2010-05-21 13:08:58 +02:00
Bram Moolenaar 7b984414e9 updated for version 7.2.437
Problem:    When "\\\n" appears in the expression result the \n doesn't result
	    in a line break. (Andy Wokula)
Solution:   Also replace a \n after a backslash into \r.

--HG--
branch : vim73
2010-05-21 13:08:58 +02:00
Bram Moolenaar 87366b1850 Updated runtime files.
--HG--
branch : vim73
2010-05-21 12:05:36 +02:00
Bram Moolenaar 0fbbe8f96b Other solution for GTK not changing the locale.
--HG--
branch : vim73
2010-05-21 12:04:55 +02:00
Bram Moolenaar 1115fbc44b Various smaller changes. Updated proto files. Updated dependencies.
--HG--
branch : vim73
2010-05-20 21:46:00 +02:00
Bram Moolenaar 6fb0823fe6 Use UINT32_T in the code, define it to uint32_t or unsigned int.
Better autoconf check for uint32_t.

--HG--
branch : vim73
2010-05-19 21:57:45 +02:00
Bram Moolenaar a1342c27be Updated a few runtime files.
--HG--
branch : vim73
2010-05-18 22:28:22 +02:00
Bram Moolenaar 999d14c7be One more fix for defining uint32_t.
--HG--
branch : vim73
2010-05-18 21:49:58 +02:00
Bram Moolenaar 049d0a29bd Change wording in link.sh: "remove" -> "omit"
--HG--
branch : vim73
2010-05-18 21:41:09 +02:00
Bram Moolenaar 0811d25dee Fix build on Cygwin and MingW.
--HG--
branch : vim73
2010-05-18 21:17:10 +02:00
Bram Moolenaar a59b4cfa52 Undefine uint32_t when building if_perl.xs to fix the build.
--HG--
branch : vim73
2010-05-18 21:05:27 +02:00
Bram Moolenaar f9801e2133 Add blowfish and sha256 source files to more Makefiles.
--HG--
branch : vim73
2010-05-18 20:34:20 +02:00
Bram Moolenaar cc826cd545 Small update to help files.
--HG--
branch : vim73
2010-05-17 22:07:47 +02:00
Bram Moolenaar 8fd40d8a05 Avoid warnings for unused arguments when compiling with Gnome.
--HG--
branch : vim73
2010-05-17 22:07:15 +02:00
Bram Moolenaar 16400e3b02 Undo undesired changes in src/Makefile.
--HG--
branch : vim73
2010-05-17 21:37:47 +02:00
Bram Moolenaar ff1d99757b Fixed encryption big/little endian test.
Use uint32_t to avoid crash on 64 bit machines.
Added error numbers for Blowfish errors.
Fixed the tiny version not building.

--HG--
branch : vim73
2010-05-17 20:32:55 +02:00
Bram Moolenaar 1f8471db11 Minor updates to blowfish encryption.
--HG--
branch : vim73
2010-05-16 23:02:33 +02:00
Bram Moolenaar 5287c18061 Add the blowfish encryption patch from Mohsin Ahmed. Needs more work.
--HG--
branch : vim73
2010-05-16 22:32:54 +02:00
Bram Moolenaar 14290793f2 Add 'relativenumber' patch from Markus Heidelberg.
--HG--
branch : vim73
2010-05-16 15:46:46 +02:00
Bram Moolenaar bc5b951cfd Remove outdated line from top Makefile.
--HG--
branch : vim73
2010-05-16 15:15:27 +02:00
Bram Moolenaar 96028b0942 Move items around in the todo list.
--HG--
branch : vim73
2010-05-16 15:14:25 +02:00
Bram Moolenaar 30887c5a27 updated for version 7.2.436
Problem:    Reproducible crash in syntax HL. (George Reilly, Dominique Pelle)
Solution:   Make sst_stacksize an int instead of short. (Dominique Pelle)
2010-05-16 13:56:06 +02:00
Bram Moolenaar f6f38ec97a updated for version 7.2.436
Problem:    Reproducible crash in syntax HL. (George Reilly, Dominique Pelle)
Solution:   Make sst_stacksize an int instead of short. (Dominique Pelle)

--HG--
branch : vim73
2010-05-16 13:56:06 +02:00
Bram Moolenaar c5c0aaf2c5 Fix typo in release date.
--HG--
branch : vim73
2010-05-16 13:40:33 +02:00
Bram Moolenaar 350b73a180 updated for version 7.2.435
Problem:    Crash when using bad_char_idx uninitialized. (Patrick Texier)
Solution:   Don't use bad_char_idx, reproduce the ++bad argument from bad_char.
2010-05-16 13:26:25 +02:00
Bram Moolenaar dfeffccb5b updated for version 7.2.435
Problem:    Crash when using bad_char_idx uninitialized. (Patrick Texier)
Solution:   Don't use bad_char_idx, reproduce the ++bad argument from bad_char.

--HG--
branch : vim73
2010-05-16 13:26:25 +02:00
Bram Moolenaar 324eb04d44 Merge patch 7.2.434.
--HG--
branch : vim73
2010-05-16 12:49:27 +02:00
Bram Moolenaar 4b758f6023 updated for version 7.2.434
Problem:    Compilation fails without the multi-lang feature.
Solution:   Add #ifdefs. (Johm Marriott)
2010-05-16 12:32:51 +02:00
Bram Moolenaar 5163062745 Merged change from default branch: Correct Japanese menus.
--HG--
branch : vim73
2010-05-15 21:29:02 +02:00
Bram Moolenaar 5ebd22a7c0 Undo changes that are meant for the Vim 7.3 branch. 2010-05-15 21:13:04 +02:00
Bram Moolenaar 74f31c9615 Correct Japanese menus to avoid error while loading them after 7.2.432. 2010-05-15 18:21:26 +02:00
Bram Moolenaar a5ebaf6f60 After recovery check if the text changed. If it did mark the buffer as
modified.

--HG--
branch : vim73
2010-05-15 17:06:53 +02:00
Bram Moolenaar d8025cb9da After recovery check if the text changed. If it did mark the buffer as
modified.

--HG--
extra : rebase_source : 0527eb0f6918ca9111d64d32092d92ec8ea70e11
2010-05-15 17:06:53 +02:00
Bram Moolenaar c1fa6b7780 Get rid of the "extra" and "lang" archives.
--HG--
branch : vim73
2010-05-15 15:41:59 +02:00
Bram Moolenaar 524b356466 Get rid of the "extra" and "lang" archives.
--HG--
extra : rebase_source : c1d31f774a03e6e4bea6e08ea6608915da43aa39
2010-05-15 15:41:59 +02:00
Bram Moolenaar 994b5ba664 Switched from autoconf 2.63 to 2.65.
--HG--
branch : vim73
2010-05-15 15:04:53 +02:00
Bram Moolenaar b3bdfdd3dc Switched from autoconf 2.63 to 2.65.
--HG--
extra : rebase_source : 29df04ae0fad8926f8f6a7166d26caae32974134
2010-05-15 15:04:53 +02:00
Bram Moolenaar ad6dba0ef1 Small fix for compiler warning in Netbeans.
--HG--
branch : vim73
2010-05-15 14:49:02 +02:00
Bram Moolenaar e306f514a6 Small fix for compiler warning in Netbeans.
--HG--
extra : rebase_source : e8ef654038c4d9d18187be14a2ca49ec746e70f9
2010-05-15 14:49:02 +02:00
Bram Moolenaar 9009d457ba First step in the Vim 7.3 branch. Changed version numbers.
--HG--
branch : vim73
2010-05-15 13:56:02 +02:00
Bram Moolenaar 13b802f309 First step in the Vim 7.3 branch. Changed version numbers.
--HG--
extra : rebase_source : 7c8c7c95a865c6da6338889441b8d55d8c5b656d
2010-05-15 13:56:02 +02:00
Bram Moolenaar 4ef670823d Updated runtime files. 2010-05-14 23:24:24 +02:00
Bram Moolenaar 288e7eb764 updated for version 7.2.433
Problem:    Can't use cscope with QuickFixCmdPre and QuickFixCmdPost.
Solution:   Add cscope support for these autocmd events. (Bryan Venteicher)
2010-05-14 23:14:42 +02:00
Bram Moolenaar 9ae07d1632 updated for version 7.2.432
Problem:    When menus are translated they can only be found by the translated
	    name.  That makes ":emenu" difficult to use.
Solution:   Store the untranslated name and use it for completion and :emenu.
	    (Edward L. Fox / Liang Peng / Bezetek James)
2010-05-14 22:24:40 +02:00
Bram Moolenaar 623a10f3ce updated for version 7.2.431
Problem:    ":amenu" moves the cursor when in Insert mode.
Solution:   Use CTRL-\ CTRL-O instead of CTRL-O. (Christian Brabandt)
2010-05-14 21:19:23 +02:00
Bram Moolenaar 2eaae56ac0 updated for version 7.2.430
Problem:    The ++bad argument is handled wrong, resulting in an invalid
	    memory access.
Solution:   Use the bad_char field only for the replacement character, add
	    bad_char_idx to store the position. (Dominique Pelle)
2010-05-14 20:41:05 +02:00
Bram Moolenaar 4252205d1c updated for version 7.2.429
Problem:    A file that exists but access is denied may result in a "new file"
	    message.  E.g. when its directory is unreadable.
Solution:   Specifically check for ENOENT to decide a file doesn't exist.
	    (partly by James Vega)
2010-05-14 18:56:38 +02:00
Bram Moolenaar a620019318 updated for version 7.2.428
Problem:    Using setqflist([]) to clear the error list doesn't work properly.
Solution:   Set qf_nonevalid to TRUE when appropriate. (Christian Brabandt)
2010-05-14 18:10:27 +02:00
Bram Moolenaar 8a6d87b57c updated for version 7.2.427
Problem:    The swapfile is created using the destination of a symlink, but
	    recovery doesn't follow symlinks.
Solution:   When recovering, resolve symlinks. (James Vega)
2010-05-14 17:52:42 +02:00
Bram Moolenaar 9116d0f6e2 updated for version 7.2.426
Problem:    Commas in 'langmap' are not always handled correctly.
Solution:   Require commas to be backslash escaped. (James Vega)
2010-05-14 17:32:58 +02:00
Bram Moolenaar 8122eec258 updated for version 7.2.425
Problem:    Some compilers complain about fourth EX() argument.
Solution:   Add cast to long_u.
2010-05-14 15:42:53 +02:00
Bram Moolenaar 8067c3e203 updated for version 7.2.424
Problem:    ":colorscheme" without an argument doesn't do anything.
Solution:   Make it echo the current color scheme name.  (partly by Christian
	    Brabandt)
2010-05-14 15:28:44 +02:00
Bram Moolenaar e5c9762c08 updated for version 7.2.423
Problem:    Crash when assigning s: to variable. (Yukihiro Nakadaira)
Solution:   Make ga_scripts contain pointer to scriptvar_T instead of
	    scriptvar_T itself. (Dominique Pelle)
2010-05-14 12:16:25 +02:00
Bram Moolenaar 714ac2ada5 updated for version 7.2.422
Problem:    May get E763 when using spell dictionaries.
Solution:   Avoid utf-8 case folded character to be truncated to 8 bits and
	    differ from latin1. (Dominique Pelle)
2010-05-13 17:46:58 +02:00
Bram Moolenaar eefdd2aa79 updated for version 7.2.421
Problem:    Folds are sometimes not updated properly and there is no way to
	    force an update.
Solution:   Make "zx" and "zX" recompute folds (suggested by Christian
	    Brabandt)
2010-05-13 17:35:59 +02:00
Bram Moolenaar 61eb14a1a9 updated for version 7.2.420
Problem:    ":argedit" does not accept "++enc=utf8" as documented. (Dominique
	    Pelle)
Solution:   Add the ARGOPT flag to ":argedit".
2010-05-13 16:46:21 +02:00
Bram Moolenaar 61740227ab updated for version 7.2.419
Problem:    Memory leak in Motif when clicking on "Search Vim Help".
Solution:   Free string returned by XmTextGetString(). (Dominique Pelle)
2010-05-13 16:31:25 +02:00
Bram Moolenaar de95ceada3 updated for version 7.2.418
Problem:    Vim tries to set the background or foreground color in a terminal
	    to -1.  (Graywh)  Happens with ":hi Normal ctermbg=NONE".
Solution:   When resetting the foreground or background color don't set the
	    color, let the clear screen code do that.
2010-05-13 15:40:30 +02:00
Bram Moolenaar 64ae1f22ca updated for version 7.2.417
Problem:    When 'shell' has an argument with a slash then 'shellpipe' is not
	    set properly. (Britton Kerin)
Solution:   Assume there are no spaces in the path, arguments follow.
2010-05-13 13:12:06 +02:00
Bram Moolenaar 903b33d4cf updated for version 7.2.416
Problem:    Logtalk.dict is not installed.
Solution:   Add it to the install target. (Markus Heidelberg)
2010-05-07 16:54:37 +02:00
Bram Moolenaar 38a528b1ed updated for version 7.2.415
Problem:    Win32: Can't open a remote file when starting Vim.
Solution:   Don't invoke cygwin_conv_path() for URLs. (Tomoya Adachi)
2010-05-07 16:35:04 +02:00
Bram Moolenaar 9f783ad144 updated for version 7.2.414
Problem:    CTRK-K <space> <space> does not produce 0xa0 as expected. (Tony
	    Mechelynck)
Solution:   Remove the Unicode range 0xe000 - 0xefff from digraphs, these are
	    not valid characters.
2010-05-07 16:18:14 +02:00
Bram Moolenaar 0fbdc203b0 updated for version 7.2.413
Problem:    Large file support is incorrect.
Solution:   Add AC_SYS_LARGEFILE to configure. (James Vega)
2010-05-07 16:05:55 +02:00
Bram Moolenaar 4e956d93b8 updated for version 7.2.412
Problem:    [ or ] followed by mouse click doesn't work.
Solution:   Reverse check for key being a mouse event. (Dominique Pelle)
2010-05-07 15:52:08 +02:00
Bram Moolenaar e9e15b98bd updated for version 7.2.411
Problem:    When parsing 'cino' a comma isn't skipped properly.
Solution:   Skip the comma. (Lech Lorens)
2010-03-23 18:22:46 +01:00
Bram Moolenaar 99a82d2c14 updated for version 7.2.410
Problem:    Highlighting directories for completion doesn't work properly.
Solution:   Don't halve backslashes when not needed, expaned "~/".
	    (Dominique Pelle)
2010-03-23 18:06:52 +01:00
Bram Moolenaar d3d0ad8ba7 updated for version 7.2.409
Problem:    Summary of number of substitutes is incorrect for ":folddo". (Jean
	    Johner)
Solution:   Reset sub_nsubs and sub_nlines in global_exe().
2010-03-23 17:49:24 +01:00
Bram Moolenaar f4bc0aba8f updated for version 7.2.408
Problem:    With ":g/the/s/foo/bar/" the '[ and '] marks can be set to a line
	    that was not changed.
Solution:   Only set '[ and '] marks when a substitution was done.
2010-03-23 17:36:29 +01:00
Bram Moolenaar 37480ce4ee updated for version 7.2.407
Problem:    When using an expression in ":s" backslashes in the result are
	    dropped. (Sergey Goldgaber, Christian Brabandt)
Solution:   Double backslashes.
2010-03-23 16:27:22 +01:00
Bram Moolenaar 6cfc2a58d8 updated for version 7.2.406
Problem:    Patch 7.2.119 introduces uninit mem read. (Dominique Pelle)
Solution:   Only used ScreeenLinesC when ScreeenLinesUC is not zero. (Yukihiro
	    Nakadaira)  Also clear ScreeenLinesC when allocating.
2010-03-23 15:36:35 +01:00
Bram Moolenaar e22077e337 updated for version 7.2.405
Problem:    When built with small features the matching text is not
	    highlighted for ":s/pat/repl/c".
Solution:   Remove the #ifdef for IncSearch. (James Vega)
2010-03-23 14:39:12 +01:00
Bram Moolenaar b460b9fe3a updated for version 7.2.404
Problem:    Pointers for composing characters are not properly initialized.
Solution:   Compute the size of the pointer, not what it points to. (Yukihiro
	    Nakadaira)
2010-03-23 13:56:59 +01:00
Bram Moolenaar e3ab6b8de2 updated for version 7.2.403
Problem:    Compiler warning for pointer type. (Tony Mechelynck)
Solution:   Move type cast to the right place.
2010-03-19 23:08:48 +01:00
Bram Moolenaar 3907422459 Updated runtime and language files. 2010-03-17 20:02:06 +01:00
Bram Moolenaar 2952d2c56f updated for version 7.2.402
Problem:    This gives a #705 error: let X = function('haslocaldir')
	    let X = function('getcwd')
Solution:   Don't give E705 when the name is found in the hashtab. (Sergey
	    Khorev)
2010-03-17 19:53:49 +01:00
Bram Moolenaar 24a8895aa2 updated for version 7.2.401
Problem:    ":e dir<Tab>" with 'wildmode' set to "list" doesn't highlight
	    directory names with a space. (Alexandre Provencio)
Solution:   Remove the backslash before checking if the name is a directory.
	    (Dominique Pelle)
2010-03-17 19:13:27 +01:00
Bram Moolenaar a91d915dc3 updated for version 7.2.400
Problem:    Dynamic Ruby is not initialised properly for version 1.9.1.
	    Ruby cannot create strings from NULL.
Solution:   Cleanup #ifdefs.  Handle NULL like an empty string.  Add
	    ruby_init_stack. (Sergey Khorev)
2010-03-17 18:15:23 +01:00
Bram Moolenaar 23307fe885 updated for version 7.2.399
Problem:    Cannot compile on MingW
Solution:   Move ifneq to separate line. (Vlad Sandrini, Dominique Pelle)
2010-03-17 17:25:09 +01:00
Bram Moolenaar 7d0dc719da updated for version 7.2.398
Problem:    When moving windows the cursor ends up in the wrong line.
Solution:   Set the window width and height properly. (Lech Lorens)
2010-03-17 16:54:57 +01:00
Bram Moolenaar 0765e19fd2 updated for version 7.2.397
Problem:    Redundant check for w_lines_valid.
Solution:   Remove the if.  (Lech Lorens)
2010-03-17 16:45:12 +01:00
Bram Moolenaar 2bba68f071 updated for version 7.2.396
Problem:    Get E38 errors. (Dasn)
Solution:   Set cursor to line 1 instead of 0. (Dominique Pelle)
2010-03-17 14:48:24 +01:00
Bram Moolenaar 23226485b6 updated for version 7.2.395
Problem:    In help CTRL=] on g?g? escapes the ?, causing it to fail. (Tony
	    Mechelynck)
Solution:   Don't escape ? for a help command. (Sergey Khorev)
2010-03-17 13:07:08 +01:00
Bram Moolenaar 4a9008eb12 updated for version 7.2.394
Problem:    .xz files are not supported.
Solution:   Recognize .xz files so that they can be edited.
2010-03-10 17:16:12 +01:00
Bram Moolenaar e850ae566c updated for version 7.2.393
Problem:    Mac: Can't build with different Xcode developer tools directory.
Solution:   make "Developer" directory name configurable. (Rainer Muller)
2010-03-10 16:28:12 +01:00
Bram Moolenaar 3a97e3116d updated for version 7.2.392
Problem:    Netbeans hangs reading from a socket at the maximum block size.
Solution:   Use select() or poll(). (Xavier de Gaye)
2010-03-10 16:12:48 +01:00
Bram Moolenaar 622d45c4bc updated for version 7.2.391
Problem:    Internal alloc(0) error when doing "CTRL-V $ c". (Martti Kuparinen)
Solution:   Fix computations in getvcol(). (partly by Lech Lorens)
2010-03-10 14:46:26 +01:00
Bram Moolenaar 1c3a921584 updated for version 7.2.390
Problem:    In some situations the popup menu can be displayed wrong.
Solution:   Remove the popup menu if the cursor moved. (Lech Lorens)
2010-03-10 14:15:54 +01:00
Bram Moolenaar 63285373fc updated for version 7.2.389
Problem:    synIDattr() cannot return the font.
Solution:   Support the "font" argument. (Christian Brabandt)
2010-03-10 13:43:49 +01:00
Bram Moolenaar 2615293db8 updated for version 7.2.388
Problem:    Ruby with MingW still doesn't build all versions.
Solution:   Different approach to build file. (Sergey Khorev)
2010-03-10 13:20:40 +01:00
Bram Moolenaar 4d845ec1e4 updated for version 7.2.387
Problem:    Ruby with MingW still doesn't build all versions.
Solution:   More #ifdefs for the  Ruby code. (Sergey Khorev)
2010-03-10 12:47:00 +01:00
Bram Moolenaar 2bfa891d43 updated for version 7.2.386
Problem:    Focus hack for KDE 3.1 causes problems for other window managers.
Solution:   Remove the hack. (forwarded by Joel Bradshaw)
2010-03-10 12:25:03 +01:00
Bjorn Winckler 66cee2b3d6 Snapshot 52 2010-03-05 17:13:08 +01:00
Bram Moolenaar cf27aa936a updated for version 7.2.385
Problem:    When in the command line window dragging status line only works
	    for last-but-one window. (Jean Johner)
Solution:   Remove the code that disallows this.
2010-03-02 18:16:09 +01:00
Bram Moolenaar 09aa30055a updated for version 7.2.384
Problem:    Vim doesn't build properly with MSVC 2010.
Solution:   Add the nmake version to the build file. (George Reilly)
2010-03-02 17:59:44 +01:00
Bram Moolenaar 54b75f39a3 updated for version 7.2.383
Problem:    Vim doesn't build cleanly with MSVC 2010.
Solution:   Change a few types. (George Reilly)
2010-03-02 17:54:33 +01:00
Bram Moolenaar abd56ba103 updated for version 7.2.382
Problem:    Accessing freed memory when closing the cmdline window when
	    'bufhide' is set to "wipe".
Solution:   Check if the buffer still exists before invoking close_buffer()
	    (Dominique Pelle)
2010-03-02 17:23:21 +01:00
Bram Moolenaar a3a0af3a2f Updated runtime an documentation files. 2010-03-02 16:19:40 +01:00
Bram Moolenaar 297b7c73bf updated for version 7.2.381
Problem:    No completion for :behave.
Solution:   Add :behave completion.  Minor related fixes. (Dominique Pelle)
2010-03-02 15:56:05 +01:00
Bram Moolenaar dd4fbabba3 updated for version 7.2.380
Problem:    Perl interface builds with 5.10.1 but not with 5.10.0.
Solution:   Change the #ifdefs. (Sergey Khorev)
2010-03-02 15:14:33 +01:00
Bram Moolenaar 410d99662d updated for version 7.2.379
Problem:    'eventignore' is set to an invalid value inside ":doau". (Antony
	    Scriven)
Solution:   Don't include the leading comma when the option was empty.
2010-03-02 12:48:05 +01:00
Bram Moolenaar 1c01da47f6 updated for version 7.2.378
Problem:    C function declaration indented too much. (Rui)
Solution:   Don't see a line containing { or } as a type. (Matt Wozniski)
2010-03-02 12:38:22 +01:00
Bram Moolenaar f2838028a8 updated for version 7.2.377
Problem:    Misplaced assignment.  Duplicate build line for gvimext.dll.
Solution:   Move setting CROSS_COMPILE to before ifneq.  Remove the wrong
	    build line. (Markus Heidelberg)
2010-02-26 22:05:22 +01:00
Bjorn Winckler 37bf40d260 Merge upstream
Conflicts:
	runtime/doc/options.txt
	src/auto/configure
	src/eval.c
	src/if_ruby.c
	src/vim.h
2010-02-24 17:23:00 +01:00
Bram Moolenaar d6319a9921 updated for version 7.2.376
Problem:    ml_get error when using SiSU syntax. (Nathan Thomas)
Solution:   If the match ends below the last line move it to the end of the
	    last line.
2010-02-24 17:22:20 +01:00
Bram Moolenaar b8aec556b3 updated for version 7.2.375
Problem:    ml_get errors when using ":bprevious" in a BufEnter autocmd.
	    (Dominique Pelle)
Solution:   Clear w_valid when entering another buffer.
2010-02-24 16:58:36 +01:00
Bram Moolenaar 63bad3a41b updated for version 7.2.374
Problem:    Ruby eval() doesn't understand Vim types.
Solution:   Add the vim_to_ruby() function.  (George Gensure)
2010-02-24 15:48:04 +01:00
Bram Moolenaar a578534635 updated for version 7.2.373
Problem:    Gcc 4.5 adds more error messages. (Chris Indy)
Solution:   Update default 'errorformat'.
2010-02-24 15:25:25 +01:00
Bram Moolenaar 06bd94bcd5 updated for version 7.2.372
Problem:    Cross-compiling GvimExt and xxd doesn't work.
Solution:   Change the build files. (Markus Heidelberg)
2010-02-24 15:08:27 +01:00
Bram Moolenaar 6f08d935f3 updated for version 7.2.371
Problem:    Build problems on Tandem NonStop.
Solution:   A few changes to #ifdefs (Joachim Schmitz)
2010-02-24 14:47:08 +01:00
Bram Moolenaar 6894f171d8 updated for version 7.2.370
Problem:    A redraw may cause folds to be closed.
Solution:   Revert part of the previous patch.  Add a test. (Lech Lorens)
2010-02-24 14:34:19 +01:00
Bram Moolenaar 9da6d40907 updated for version 7.2.369
Problem:    Error message is not easy to understand.
Solution:   Add quotes. (SungHyun Nam)
2010-02-24 14:01:28 +01:00
Bjorn Winckler c5c236f87d Add support for :winpos
Note that window coordinates are specified in a coordinate system where
X points to the right and Y points upwards.
2010-02-20 00:40:23 +01:00
Bjorn Winckler 9e30756b1f Output build results in $(PROJECT_DIR)/build
This overrides the global Xcode preference, which if set to a customized
location caused the build to fail.  (Patch by wezm)
2010-02-19 19:38:31 +01:00
Bram Moolenaar 44c8160d60 updated for version 7.2.368
Problem:    Ruby interface: Appending line doesn't work. (Michael Henry)
Solution:   Reverse check for NULL line. (James Vega)
2010-02-18 15:53:29 +01:00
Bram Moolenaar e8f2764176 updated for version 7.2.367
Problem:    "xxd -r -p" doesn't work as documented.
Solution:   Skip white space. (James Vega)
2010-02-17 18:28:41 +01:00
Bram Moolenaar 2a03b38e00 updated for version 7.2.366
Problem:    CTRL-B doesn't go back to the first line of the buffer.
Solution:   Avoid an overflow when adding MAXCOL.
2010-02-17 18:20:37 +01:00
Bram Moolenaar 87b90ea791 updated for version 7.2.365
Problem:    MS-Windows with MingW: "File->Save As" does not work. (John
	    Marriott)
Solution:   Correctly fill in structure size. (Andy Kittner)
2010-02-17 17:34:43 +01:00
Bram Moolenaar 5e1643ff95 updated for version 7.2.364
Problem:    Can't build gvimext.dll on Win 7 x64 using MinGW (John Marriott)
Solution:   Check if _MSC_VER is defined. (Andy Kittner)
2010-02-17 17:24:27 +01:00
Bram Moolenaar 37de107112 updated for version 7.2.363
Problem:    Can't dynamically load Perl 5.10.
Solution:   Add the function Perl_croak_xs_usage. (Sergey Khorev)
2010-02-17 16:40:58 +01:00
Bram Moolenaar fc5fcdd406 updated for version 7.2.362
Problem:    Win64: Vim doesn't work when cross-compiled with MingW libraries.
Solution:   Instead of handling WM_NCCREATE, create wide text area window
	    class if the parent window iw side. (Sergey Khorev)
2010-02-17 16:31:32 +01:00
Bram Moolenaar ff5306dd64 updated for version 7.2.361
Problem:    Ruby 1.9 is not supported.
Solution:   Add Ruby 1.9 support. (Msaki Suketa)
2010-02-17 16:23:09 +01:00
Bram Moolenaar 08275fe08b updated for version 7.2.360
Problem:    Ruby on MS-Windows: can't use sockets.
Solution:   Call NtInitialize() during initialization. (Ariya Mizutani)
2010-02-17 15:11:50 +01:00
Bjorn Winckler 2b3c216798 Set cwd before launching Vim process
This fixes a bug where the 'exrc' option did not work when opening files
from Finder.
2010-02-16 22:55:20 +01:00
Bjorn Winckler d975a6125f Do not open files in "unused windows"
A window is "unused" if it has just been opened with Cmd+n.  Previously
a file opened from Finder would be opened in an unused window if one was
available.  This leads to problems with some Vim options, e.g. trying to
open an encrypted file from Spotlight will fail.  The code that has been
removed also had some quite ugly hacks and it is not entirely clear
whether the reuse of unused windows was entirely intuitive.

(The "Open files from applications" option is not affected by this
change.)
2010-02-16 19:04:47 +01:00
Bjorn Winckler edefdc97f2 Pass arguments to Vim on command line
Do not pass arguments via DO since some options only work if the files
to open were passed on the command line (e.g. "%" flag in 'viminfo').
Also, if a file is encrypted and opened from Spotlight the Spotlight
search text is passed as input and it ends up being used as password for
the encryption key, so the file opens up encrypted.

The above problems still persist if Quickstart is enabled.
2010-02-15 21:43:08 +01:00
Bjorn Winckler 23cd926331 Update Services for Snow Leopard
Rename Services so that it is clearer what they do when they appear in
context menus:
    New MacVim Buffer With Selection
    New MacVim Buffer Here
The latter Service now works in Finder on Snow Leopard (it was broken
before).  The Service "Open Selected File" has been deprecated since it
does not seem very useful and it is rather confusing as to what it
really does.
2010-02-14 21:12:27 +01:00
Bjorn Winckler cb399da217 Abandon marked text when switching IM
This fixes a bug with Chinese IM where pressing "o" in normal mode would
cause Vim to start a new line and then insert "o" into the text.  With
this patch the "o" is no longer inserted.
2010-02-14 17:25:25 +01:00
Bjorn Winckler ffad6673de Resize view properly when showing toolbar
Fixes a bug where the view would not resize when the window covered the
height of the screen and the toolbar was shown.
2010-02-14 01:38:07 +01:00
Bjorn Winckler 99e33fc726 Fix memory leak in ATSUI renderer
The wide font was not released properly.
2010-02-14 01:24:20 +01:00
Bjorn Winckler c9a95e68f9 Add wide font support to Core Text renderer 2010-02-14 01:23:59 +01:00
Bjorn Winckler 3f6c885564 Alt+Space mappings in Keyboard Layouts now work
For example, French Dvorak assigns Underscore to Alt+Space.  Without
this patch Alt+Space would produce a Space, whereas with this patch it
will produce an Underscore.
2010-02-14 00:37:35 +01:00
Bjorn Winckler 3d5810fa54 Allow window resizing across multiple screens
It is now possible to drag to resize a window to be larger than one
screen.  However, if the window size changes programmatically (due to
scrollbars or toolbar hiding/showing, etc.) then the window will be
constrained to fit on the screen holding most of the window.  This is
perhaps annoying but at least it is consistent with the way Terminal.app
works (try opening a new tab when a Terminal window spans two screens).
2010-02-13 23:50:53 +01:00
Bjorn Winckler d6be8fd0ed Place scrollbars correctly for positive inset
Make sure that the scrollbar stretches to the top of the window even if
the text inset is > 0 (and similarly for the horizontal scrollbar).
This applies to the Core Text and ATSUI renderers only.
2010-02-13 15:11:41 +01:00
Bram Moolenaar e34979f5cf updated for version 7.2.359
Problem:    Crash when using the Netbeans join command.
Solution:   Make sure the ml_flush_line() function is not used recursively.
	    (Xavier de Gaye)
2010-02-11 18:54:43 +01:00
Bram Moolenaar c44bd69ee5 updated for version 7.2.358
Problem:    Compiler warnings on VMS. (Zoltan Arpadffy)
Solution:   Pass array itself instead its address.  Return a value.
2010-02-11 18:19:38 +01:00
Bram Moolenaar c52fb19a92 updated for version 7.2.357
Problem:    When changing 'fileformat' from/to "mac" and there is a CR in the
	    text the display is wrong.
Solution:   Redraw the text when 'fileformat' is changed. (Ben Schmidt)
2010-02-11 17:02:11 +01:00
Bram Moolenaar 074c3f75e4 Updated runtime files. 2010-02-11 14:19:15 +01:00
Bjorn Winckler b7bbbc85bf Backend initiates window zooming
Don't change the window size immediately upon pressing the zoom button.
Instead send the message to Vim and let it resize before the window
does.  This avoids flickering problem when zooming with the Core Text
renderer.

The zooming is also slightly smarter about which window size to restore
if the toolbar was hidden while the window was zoomed.
2010-02-08 18:18:34 +01:00
Bjorn Winckler c621846160 Avoid display corruption on :vsp and 'go' changes
Always redraw the screen when splitting vertically or when the 'go'
option is modified (it may e.g. cause scrollbars to hide/show).
2010-02-08 16:00:12 +01:00
Bjorn Winckler 698f70bccf Avoid window flashing white when zooming
This applies to the Core Text renderer only.

There is still a short annoying flash when clicking the zoom button to
make the window smaller.
2010-02-05 17:55:21 +01:00
Bjorn Winckler 21d222a1d7 Avoid window flashing white when first shown
This only applies to the Core Text renderer.
2010-02-03 23:07:13 +01:00
Bram Moolenaar 7a2df8113c updated for version 7.2.356
Problem:    When 'foldmethod' is changed not all folds are closed as expected.
Solution:   In foldUpdate() correct the start position and reset fd_flags when
	    w_foldinvalid is set. (Lech Lorens)
2010-02-03 18:14:49 +01:00
Bram Moolenaar 9940c308a5 updated for version 7.2.355
Problem:    Computing the cursor column in validate_cursor_col() is wrong when
	    line numbers are used and 'n' is not in 'cpoptions', causing the
	    popup menu to be positioned wrong.
Solution:   Correctly use the offset. (partly by Dominique Pelle)
2010-02-03 17:43:07 +01:00
Bram Moolenaar f376e9355d updated for version 7.2.354
Problem:    Japanese single-width double-byte characters not handled correctly.
Solution:   Put 0x8e in ScreenLines[] and the second byte in ScreenLines2[].
	    (partly by Kikuchan)
2010-02-03 15:48:04 +01:00
Bram Moolenaar 3456504b23 updated for version 7.2.353
Problem:    No command line completion for ":profile".
Solution:   Complete the subcommand and file name.
2010-02-03 15:14:22 +01:00
Bjorn Winckler 3c41769deb Fix vert split problems in Core Text renderer
The display is no longer corrupted on :vsp when using the Core Text
renderer.  Also fixes a problem where background would not be cleared
correctly when left scrollbar was visible.

Remove a hack in live resizing code when using CT.  This may cause the
window to flicker more during live resize (have to find a better fix).
2010-02-03 14:46:56 +01:00
Bram Moolenaar 264ac2cefd updated for version 7.2.352
Problem:    Win64: Vim doesn't work when cross-compiled with MingW libraries.
Solution:   Always return TRUE for the WM_NCCREATE message. (Andy Kittner)
2010-02-03 12:23:24 +01:00
Bjorn Winckler e6f1c6e2d8 Fill the square under the left scrollbar
This fixes a drawing issue that appeared on ":vsp".
2010-01-29 19:09:43 +01:00
Bram Moolenaar 43b89a3991 updated for version 7.2.351
Problem:    Can't build with some compilers.
Solution:   Move the #ifdef outside of a macro.  Cleanup the code.
2010-01-28 22:58:16 +01:00
Bram Moolenaar 48fb92df3d updated for version 7.2.350
Problem:    Win32: When changing font the window may jump from the secondary
	    to the primary screen. (Michael Wookey)
Solution:   When the screen position was negative don't correct it to zero.
2010-01-27 21:05:05 +01:00
Bram Moolenaar ced469c670 updated for version 7.2.349
Problem:    CTRL-W gf doesn't put the new tab in the same place as "tab split"
	    and "gf". (Tony Mechelynck)
Solution:   Store the tab number in cmdmod.tab.
2010-01-27 20:26:46 +01:00
Bram Moolenaar 4e68db907f updated for version 7.2.348
Problem:    Unicode double-width characters are not up-to date.
Solution:   Produce the double-width table like the others.
2010-01-27 18:29:26 +01:00
Bram Moolenaar 296238971c updated for version 7.2.347
Problem:    Crash when executing <expr> mapping redefines that same mapping.
Solution:   Save the values used before evaluating the expression.
2010-01-27 17:31:43 +01:00
Bram Moolenaar 5023c42275 updated for version 7.2.346
Problem:    Repeating a command with @: causes a mapping to be applied twice.
Solution:   Do not remap characters inserted in the typeahead buffer. (Kana
	    Natsuno)
2010-01-27 16:31:13 +01:00
Bram Moolenaar bc77ae5486 updated for version 7.2.345
Problem:    Tab line is not updated when the value of 'bt' is changed.
Solution:   Call redraw_titles(). (Lech Lorens)
2010-01-27 15:58:13 +01:00
Bjorn Winckler 1807edf411 Lower priority for exception logs 2010-01-24 15:14:19 +01:00
Bram Moolenaar 3bd66b1b26 Add more pathdef.c to .hgignore. 2010-01-20 21:56:50 +01:00
Bram Moolenaar 7d2bf1a67c updated for version 7.2.344
Problem:    Can't compile on some systems
Solution:   Move the #ifdef outside of the mch_open macro. (Patrick Texier)
2010-01-20 21:41:47 +01:00
Bram Moolenaar 3318bc7fd5 updated for version 7.2.343
Problem:    Can't compile on Win32.
Solution:   Insert the missing bar.
2010-01-19 23:30:41 +01:00
Bram Moolenaar ca8f58a600 updated for version 7.2.342
Problem:    Popup menu displayed wrong in 'rightleft' mode when there are
	    multi-byte characters.
Solution:   Adjust the column computations. (Dominique Pelle)
2010-01-19 18:06:03 +01:00
Bram Moolenaar 4c0bcb9f19 updated for version 7.2.341
Problem:    Popup menu wraps to next line when double-wide character doesn't
	    fit. (Jiang Ma)
Solution:   Display a ">" instead. (Dominique Pelle)
2010-01-19 17:40:46 +01:00
Bram Moolenaar 90db1756f3 updated for version 7.2.340
Problem:    Gcc warning for condition that can never be true. (James Vega)
Solution:   Use start_lvl instead flp->lvl.
2010-01-19 17:24:25 +01:00
Bram Moolenaar b720c6880f updated for version 7.2.339
Problem:    Part of --startuptime patch is missing.
Solution:   Add check for time_fd.
2010-01-19 16:31:47 +01:00
Bram Moolenaar 6735e2e56a updated for version 7.2.338
Problem:    Part of FD_CLOEXEC change is missing.
Solution:   Include source file skipped because of typo.
2010-01-19 16:22:03 +01:00
Bram Moolenaar 67e9e6d1ac updated for version 7.2.337
Problem:    The :compiler command doesn't function properly when invoked in a
	    function.
Solution:   Add "g:" before "current_compiler". (Yukihiro Nakadaira)
2010-01-19 16:13:50 +01:00
Bram Moolenaar 588c51a1bc updated for version 7.2.336
Problem:    MzScheme interface can't evaluate an expression.
Solution:   Add mzeval(). (Sergey Khorev)
2010-01-19 15:55:06 +01:00
Bram Moolenaar 9590862732 updated for version 7.2.335
Problem:    The CTRL-] command escapes too many characters.
Solution:   Use a different list of characters to be escaped. (Sergey Khorev)
2010-01-19 15:24:27 +01:00
Bram Moolenaar b9dad4f682 updated for version 7.2.334
Problem:    Postponing keys in Netbeans interface does not work properly.
Solution:   Store the key string instead of the number.  Avoid an infinite
	    loop. (Mostly by Xavier de Gaye)
2010-01-19 15:13:14 +01:00
Bram Moolenaar 76cf08b6ab updated for version 7.2.333
Problem:    Warnings from static code analysis.
Solution:   Small changes to various lines. (Dominique Pelle)
2010-01-19 14:59:56 +01:00
Bram Moolenaar 38f9623414 updated for version 7.2.332
Problem:    Crash when spell correcting triggers an autocommand that reloads
	    the buffer.
Solution:   Make a copy of the line to be modified. (Dominique Pelle)
2010-01-19 13:08:42 +01:00
Bram Moolenaar 48da66c841 updated for version 7.2.331
Problem:    Can't interrupt "echo list" for a very long list.
Solution:   Call line_breakcheck() in list_join().
2010-01-19 12:48:05 +01:00
Bram Moolenaar 94e4a1e380 Add a few missing runtime files. 2010-01-17 14:38:06 +01:00
Bram Moolenaar d58219ca38 Updated runtime files. 2010-01-16 14:29:14 +01:00
Bram Moolenaar 679d4c8d30 Updated runtime files. 2010-01-12 21:31:21 +01:00
Bram Moolenaar e7e70d5f54 updated for version 7.2.330
Problem:    Tables for Unicode case operators are outdated.
Solution:   Add a Vim script for generating the tables.  Include tables for
	    Unicode 5.2.
2010-01-12 19:52:03 +01:00
Bram Moolenaar 2296d028c7 updated for version 7.2.329
Problem:    "g_" doesn't position cursor correctly when in Visual mode and
	    'selection' is "exclusive". (Ben Fritz)
Solution:   Call adjust_for_sel().
2010-01-12 15:42:37 +01:00
Bram Moolenaar 925392f7db updated for version 7.2.328
Problem:    has("win64") does not return 1 on 64 bit MS-Windows version.
Solution:   Also check for _WIN64 besides WIN64.
2010-01-12 13:18:33 +01:00
Bram Moolenaar f4c8ae65db Fixed encoding name in Ukranian message file. 2010-01-11 20:07:07 +01:00
Bram Moolenaar f0e00ae7ae Add an .hgignore file (suggested by Mike Williams). 2010-01-10 14:44:52 +01:00
Bram Moolenaar b356a1b414 Remove config.h from the distribution, let's see if that works. 2010-01-10 14:35:14 +01:00
Bram Moolenaar 6ef6c58da0 Minor text file updates. 2010-01-06 21:16:31 +01:00
Bram Moolenaar 4895774ca7 Update runtime files. 2010-01-06 20:54:52 +01:00
Bram Moolenaar dee4beca2a Update documentation files. 2010-01-06 20:52:26 +01:00
Bram Moolenaar 2c99695854 Update message translations. 2010-01-06 20:29:28 +01:00
Bram Moolenaar 70c9faac89 updated for version 7.2.327 2010-01-06 18:25:34 +01:00
Bram Moolenaar 3dd8d6b9bc updated for version 7.2.326 2010-01-06 17:53:38 +01:00
convert-repo e1a538c47a update tags 2010-01-06 14:58:33 +00:00
vimboss 0d71e0eea8 updated for version 7.2-325 2009-12-31 13:53:33 +00:00
vimboss c34e8a1780 updated for version 7.2-324 2009-12-31 12:18:30 +00:00
vimboss f29fa68b1b updated for version 7.2-323 2009-12-24 15:11:40 +00:00
vimboss c78a20b44b updated for version 7.2-322 2009-12-24 14:46:12 +00:00
vimboss d636fedf95 updated for version 7.2-321 2009-12-24 14:01:12 +00:00
Bjorn Winckler e47dc041ee Use device colors instead of calibrated colors
This fixes a bug in full-screen where the full-screen background color
in "set fuopt=background:Normal" would not match the background color of
the Vim view (with the experimental renderer).
2009-12-19 21:58:10 +01:00
vimboss ff88a3d72f updated for version 7.2-320 2009-12-16 18:02:47 +00:00
vimboss 67d685247c updated for version 7.2-319 2009-12-16 17:49:39 +00:00
vimboss ad8645f0af updated for version 7.2-318 2009-12-16 17:28:07 +00:00
vimboss 9d373ca370 updated for version 7.2-317 2009-12-16 17:13:44 +00:00
vimboss 780cd57aea updated for version 7.2-316 2009-12-16 16:14:51 +00:00
Bjorn Winckler 8b934e5b95 Update README 2009-12-09 10:53:27 +01:00
Bjorn Winckler 345ed7ab01 Support the "a" flag in 'guioptions' 2009-12-03 18:07:10 +01:00
vimboss 79bb1525a4 updated for version 7.2-315 2009-12-02 16:58:33 +00:00
vimboss c8f033fcb2 updated for version 7.2-314 2009-12-02 16:47:11 +00:00
vimboss 84fd8734c3 updated for version 7.2-313 2009-12-02 16:14:36 +00:00
vimboss be7c0483a9 updated for version 7.2-312 2009-12-02 14:02:39 +00:00
vimboss b0cdf23fdc updated for version 7.2-311 2009-12-02 12:31:27 +00:00
vimboss eea0b35637 updated for version 7.2-310 2009-12-02 11:08:38 +00:00
Bjorn Winckler e98f8a27c2 Improve Find pasteboard interaction
Put two representation of the search pattern on the Find pasteboard: one
that holds the unmodified pattern, and a second one that removes some
common backslash escapes from the first.  The second pattern will be
used by other applications so e.g. hitting * in MacVim and then Cmd+g in
another app now works.
2009-11-28 19:10:03 +01:00
Bjorn Winckler 1c1f5c6646 Fix Ctrl-Tab handling in Core Text 2009-11-27 23:02:06 +01:00
Bjorn Winckler 034f136ad2 Remove references to MMAtsuiRenderer in nib file 2009-11-27 20:06:43 +01:00
vimboss d3bfef043f updated for version 7.2-309 2009-11-26 19:40:49 +00:00
vimboss 976686d38c updated for version 7.2-308 2009-11-25 18:51:24 +00:00
vimboss a807d1879b updated for version 7.2-307 2009-11-25 17:21:32 +00:00
vimboss b0c8ac3bfe updated for version 7.2-306 2009-11-25 16:14:45 +00:00
vimboss ff3c3f2b91 updated for version 7.2-305 2009-11-25 12:08:03 +00:00
vimboss d1bf9c480f updated for version 7.2-304 2009-11-25 11:38:30 +00:00
Bjorn Winckler d7d3ee4971 Fix ATSUI/Core Text compilation issues on Tiger 2009-11-23 12:56:44 +01:00
Bjorn Winckler 4494783964 Snapshot 51 2009-11-22 14:02:45 +01:00
Bjorn Winckler 6f45b7a83c Don't link Sparkle framework 2009-11-21 22:27:16 +01:00
Bjorn Winckler 9352553da0 Remove MMAtsuiRenderer user default
This has been deprecated in favor of MMRenderer.
2009-11-21 22:20:09 +01:00
Bjorn Winckler 78330ec132 Remove feat/core-text from README-repo.txt 2009-11-21 16:36:13 +01:00
Bjorn Winckler 5c9e4f17bc Avoid 0x0 window when autosaved dimension missing
This fixes a bug where the first window would be tiny if no autosaved
dimensions existed on startup.
2009-11-21 15:54:39 +01:00
Bjorn Winckler 86d7c475d6 Merge upstream
Conflicts:
	src/auto/configure
2009-11-18 20:12:00 +01:00
vimboss 9bd435daa1 updated for version 7.2-303 2009-11-18 19:11:58 +00:00
vimboss 21d545e55d updated for version 7.2-302 2009-11-17 16:57:14 +00:00
vimboss e4f9c806e5 updated for version 7.2-301 2009-11-17 16:41:01 +00:00
vimboss 07c2bd2d5e updated for version 7.2-300 2009-11-17 16:13:15 +00:00
vimboss f9905d3944 updated for version 7.2-299 2009-11-17 15:08:26 +00:00
vimboss aa5e59d5eb updated for version 7.2-298 2009-11-17 13:57:22 +00:00
vimboss c60da0b7b6 updated for version 7.2-297 2009-11-17 11:43:06 +00:00
vimboss 31f660b37a updated for version 7.2-296 2009-11-17 11:31:25 +00:00
vimboss 116d179fc0 updated for version 7.2-295 2009-11-17 11:20:35 +00:00
vimboss 1c7b224c37 updated for version 7.2-294 2009-11-17 11:08:52 +00:00
Bjorn Winckler fc698b39fe Add MMRenderer user default
Set to 0 for Cocoa renderer, 1 for ATSUI, 2 for Core Text.  The default
is 0.
2009-11-15 22:33:13 +01:00
Jjgod Jiang 5f81e8ad27 Fix transparency for Core Text renderer 2009-11-15 19:59:21 +01:00
Bjorn Winckler 34d334c013 Implemented CoreText renderer 2009-11-15 18:52:21 +01:00
Bjorn Winckler 04820b04d6 Update Advanced preferences pane
Remove the "Use login shell" option, and rename the ATSUI option (since
Core Text may actually be used and not ATSUI).
2009-11-11 22:06:00 +01:00
vimboss dae5f35607 updated for version 7.2-293 2009-11-11 16:30:08 +00:00
vimboss 10244aa84b updated for version 7.2-292 2009-11-11 16:22:28 +00:00
vimboss 313941f77d updated for version 7.2-291 2009-11-11 16:07:20 +00:00
vimboss 435935bf0b updated for version 7.2-290 2009-11-11 15:56:10 +00:00
vimboss 4888e4d704 updated for version 7.2-289 2009-11-11 15:23:37 +00:00
vimboss 0aef550233 updated for version 7.2-288 2009-11-11 14:06:59 +00:00
vimboss 01100ceedc updated for version 7.2-287 2009-11-11 13:45:33 +00:00
vimboss fb48afe434 updated for version 7.2-286 2009-11-11 13:22:11 +00:00
vimboss 1ebdd8968f updated for version 7.2-285 2009-11-11 12:22:32 +00:00
Bjorn Winckler 2da8cec3c2 Autosaved dimensions do not override vimrc
Setting 'lines' and 'columns' in .vimrc works again.  This patch also
fixes a minor memory leak related to the autosaved dimensions.  Finally,
skip checking terminal capabilies when the GUI is about to start.
2009-11-10 21:44:06 +01:00
Bjorn Winckler e9f75c50c1 Remove SUUpdater object from MainMenu.nib
This avoids an annoying warning on each startup (Sparkle, which this
object belongs to, has temporarily been disabled).
2009-11-09 20:25:54 +01:00
Bjorn Winckler b4d507b9d0 Avoid forcing redraw in full-screen
Previously the content view in full-screen mode would get redrawn
whenever the Vim view possibly changed size.  Now the view is only
updated if the view did change size (fixes redraw problems with the Core
Text renderer).
2009-11-08 18:59:30 +01:00
Bjorn Winckler ded90a7def Fix full-screen drawing issues
This commit fixes a problem where the screen would look blurry, or where
each redraw would cause the entire screen to be cleared before the
redraw (only the Core Text renderer was affected by this bug).
2009-11-08 17:46:16 +01:00
Bjorn Winckler 44b0f3bc30 Fix Ruby compilation on case-sensitive FS 2009-11-04 16:43:36 +01:00
vimboss c8a0b8cdfb updated for version 7.2-284 2009-11-03 17:47:12 +00:00
vimboss 99eb5f2c9c updated for version 7.2-283 2009-11-03 17:13:59 +00:00
vimboss b5688c3ef3 updated for version 7.2-282 2009-11-03 17:04:43 +00:00
vimboss 3ed1ee17eb updated for version 7.2-281 2009-11-03 16:36:44 +00:00
vimboss f9d04339ee updated for version 7.2-280 2009-11-03 16:20:34 +00:00
vimboss bc6c0f325c updated for version 7.2-279 2009-11-03 15:44:21 +00:00
vimboss 7092cfd2f8 updated for version 7.2-278 2009-11-03 15:30:12 +00:00
vimboss dbf3bcd840 updated for version 7.2-277 2009-11-03 15:23:14 +00:00
vimboss 4367811170 updated for version 7.2-276 2009-11-03 15:04:20 +00:00
vimboss a4f7e934f5 updated for version 7.2-275 2009-11-03 14:33:17 +00:00
vimboss bf9f50247f updated for version 7.2-274 2009-11-03 13:46:54 +00:00
vimboss 8d96449a24 updated for version 7.2-273 2009-11-03 13:26:55 +00:00
vimboss a6ce4014c4 updated for version 7.2-272 2009-11-03 12:06:23 +00:00
vimboss 1178591d1f updated for version 7.2-271 2009-11-03 11:53:55 +00:00
vimboss 073ba3f0e8 updated for version 7.2-270 2009-11-03 11:40:19 +00:00
vimboss 26f1599979 updated for version 7.2-269 2009-11-03 11:11:11 +00:00
vimboss 2dc63d8e16 updated for version 7.2-268 2009-11-03 10:43:27 +00:00
Bjorn Winckler 5d7d4f9684 Disable NSRepeatCountBinding 2009-10-31 14:14:36 +01:00
Bjorn Winckler 40c88bce6f Fix window tiling with multiple monitors 2009-10-27 20:00:20 +01:00
Bjorn Winckler a409aa7c89 Release text view helper correctly 2009-10-23 20:09:14 +02:00
Bjorn Winckler ddd5a2bd4b Snapshot 50 2009-10-10 02:55:31 +02:00
Bjorn Winckler 5bc897df9d Update UTIs in Info.plist
Ideally all org.vim.*-file UTIs should be replaced with proper UTIs, but
they can be hard to find so they will be replaced as new UTIs are found.
2009-10-09 22:23:52 +02:00
Bjorn Winckler 2f3a9d7740 Remove "No connection ..." warning with --remote 2009-10-09 20:38:31 +02:00
Bjorn Winckler 3aaef67b85 Merge upstream
Conflicts:
	src/auto/configure
2009-10-07 16:21:00 +02:00
vimboss 9f957bcd6c updated for version 7.2-267 2009-10-07 14:20:30 +00:00
Bjorn Winckler 9a01753529 Fix wide character support for 64 bit 2009-10-01 21:13:17 +02:00
Bjorn Winckler ac4412ace2 Add missing defines to Tiger
CGFloat and NS[U]Integer were introduced in 10.5, make sure they are
defined when compiling for 10.4.
2009-09-30 23:04:12 +02:00
Bjorn Winckler b712dd06eb Clean Python and Ruby flags when macsdk is set
Most importantly there are no explicit -I.. flags that break the
--with-macsdk functionality.  Also use -framework Ruby and include Ruby
properly.
2009-09-30 21:46:31 +02:00
Bjorn Winckler 8cad670f16 Don't include Carbon.h in os_mac.h
This avoid polluting the global namespace with Carbon symbols (there was
a conflict between Carbon and Ruby both defining "ID").  To accomodate
this the Carbon types OSErr and OSType have been changed to int16_t and
uint32_t, respectively.
2009-09-30 21:42:50 +02:00
Bjorn Winckler fe79caddfa Enable 64 bit compilation (Vim and MacVim)
Note that Sparkle currently is not 64 bit so automatic updating won't
work when MacVim is compiled for 64 bit.
2009-09-30 19:38:06 +02:00
Bjorn Winckler 33c4dd0eef Deprecate mac-arch, superseded by --with-macarchs
Move --with-macarchs and --with-macsdk to an earlier place in the
configure script.  The flag --with-macsdk is now enabled but it should
also set the MACOSX_DEPLOYMENT_TARGET environment variable (how?).
2009-09-30 15:21:32 +02:00
vimboss d5365574cc updated for version 7.2-266 2009-09-30 13:17:02 +00:00
Bjorn Winckler 615d7dd609 Remove unnecessary include paths in Makefile 2009-09-30 13:30:10 +02:00
vimboss e411119903 updated for version 7.2-265 2009-09-30 11:24:36 +00:00
Bjorn Winckler 1ab1bec908 Strip all -arch flags from Perl and Ruby
The system provided Perl and Ruby libraries adds -arch flags since they
were built as universal binaries.  This causes Vim to build with these
flags which is undesirable (the default should be to only build for the
native architecture).  The solution is to strip any -arch flags from
Perl and Ruby.

A universal binary can be built by using the --with-archs configure
flag.
2009-09-30 10:19:06 +02:00
Bjorn Winckler 770796042e Fix 64 bit compilation warnings in backend 2009-09-29 23:31:32 +02:00
Bjorn Winckler f5a8f4f083 Clean up Carbon includes
Don't use FlatCarbon when building MacVim (only for Carbon GUI).
2009-09-29 23:12:26 +02:00
Bjorn Winckler c36f69c013 Add --with-macsdk flag to configure
Compilation fails for some reason, so this option is disabled.
2009-09-29 22:39:29 +02:00
Bjorn Winckler b05db8d377 Add --with-xcodecfg configure flag 2009-09-29 21:32:00 +02:00
Bjorn Winckler b262a38339 Add --with-archs configure flag 2009-09-29 20:17:38 +02:00
Bjorn Winckler 3b2784e277 Use MacVim instead of Carbon GUI by default 2009-09-29 18:35:16 +02:00
Bjorn Winckler 04a6eb68d0 Build xcode project from Makefile 2009-09-29 03:02:30 +02:00
Bjorn Winckler 25d39a282a Remove Universal configuration from 'Edit in ...' 2009-09-29 02:23:29 +02:00
Bjorn Winckler fdd9622c00 Force 32 bit, remove Universal configuration
The Sparkle framework does not include a 64 bit binary, so force 32 bit
until it is updated.
2009-09-28 22:58:33 +02:00
Bjorn Winckler be45005f25 Prepare for 64 bit
Mostly fixes problems involving NSUInteger.
2009-09-28 22:55:16 +02:00
Bjorn Winckler 281f280eb1 Disable MacVim plugins for now
The supporting files for CTGradient and RBSplitView causes several
warnings when compiling for 64 bit.  Since nobody uses MacVim plugins
I have decided to disable them instead of having to support these files
(although these warnings are easy enough to fix for anybody interested).
2009-09-28 21:26:39 +02:00
Bjorn Winckler 9c1037f556 Prepare PSMTabBarControl for 64 bit
Change unsigned -> NSUInteger, float -> CGFloat as necessary.
2009-09-28 19:44:13 +02:00
Bjorn Winckler 2b77fe974e Don't pass 'long' vars over process boundary
The only place 'long' was used was in scrollbar identifiers.  These are
now "truncated" to fit inside 32 bit (when compiling for 64 bit).
2009-09-27 21:52:06 +02:00
Bjorn Winckler fc05fb5e3e Strip x86_64 arch from Ruby LDFLAGS 2009-09-25 19:08:58 +02:00
Nicolas Weber b7b4e364c4 Really fix icon generation on Snow Leopard 2009-09-24 00:50:18 -07:00
vimboss ed55437203 updated for version 7.2-264 2009-09-23 16:14:49 +00:00
vimboss b07059a739 updated for version 7.2-263 2009-09-23 15:35:48 +00:00
Bjorn Winckler 00a63422ca Update help file 2009-09-23 13:28:05 +02:00
Bjorn Winckler a3bc1d1a86 Fix typo in help file 2009-09-20 14:46:06 +02:00
Bjorn Winckler 629eb02403 Fix Ctrl-C handling
This fixes a bug where mappings to e.g. <C-c>g would fail.
2009-09-18 19:24:11 +02:00
vimboss a81d84df1f updated for version 7.2-262 2009-09-18 15:25:52 +00:00
vimboss 19314f214b updated for version 7.2-261 2009-09-18 13:17:09 +00:00
vimboss baeec8addc updated for version 7.2-260 2009-09-18 12:59:26 +00:00
vimboss 49c9e43d59 updated for version 7.2-259 2009-09-11 15:24:31 +00:00
vimboss 0b5eab9c89 updated for version 7.2-258 2009-09-11 14:48:27 +00:00
vimboss 49a5d8fbab updated for version 7.2-257 2009-09-11 14:17:54 +00:00
vimboss 5f972f11ac updated for version 7.2-256 2009-09-11 13:46:41 +00:00
vimboss 554448b77f updated for version 7.2-255 2009-09-11 13:20:33 +00:00
vimboss c8d08d3d53 updated for version 7.2-254 2009-09-11 13:04:24 +00:00
vimboss 9539d1240e updated for version 7.2-253 2009-09-11 12:19:51 +00:00
vimboss f6785cd6c8 updated for version 7.2-252 2009-09-11 12:02:34 +00:00
vimboss 2688634afb updated for version 7.2-251 2009-09-11 11:44:54 +00:00
vimboss 2a1aff523b updated for version 7.2-250 2009-09-11 11:26:56 +00:00
vimboss d2d8135617 updated for version 7.2-249 2009-09-11 11:00:05 +00:00
vimboss e33ea64952 updated for version 7.2-248 2009-09-11 10:49:58 +00:00
vimboss 6a36ea9a4f updated for version 7.2-247 2009-09-11 10:21:41 +00:00
vimboss 98d113300f updated for version 7.2-246 2009-09-11 09:30:34 +00:00
Bjorn Winckler 814f3a5ed0 Fix "New Document Here" Service
Expand leading tilde in paths, else NSFileManager thinks the path does
not exists.
2009-09-04 18:23:56 +02:00
Bjorn Winckler 99805e6988 Make Services work on 10.6
Services need a (possibly empty) NSRequiredContext dictionary in the
application's Info.plist on 10.6.
2009-09-04 18:22:44 +02:00
Bjorn Winckler fd2804b9df MAC_OS_X_VERSION_10_6 not defined on pre-10.6
Just use a literal 1060 in header files which do not (and should not)
include MacVim.h.
2009-09-02 21:21:12 +02:00
Bjorn Winckler 6f553b7ad5 Use availability macros correctly
Always use >= when checking lower bounds and < when checking upper
bounds. The problem is that MAC_OS_X_MAX_ALLOWED and
MAC_OS_X_MIN_REQUIRED need not be equal to one of the MAC_OS_X_VERSION_*
macros.  For example, on 10.5.8 MAC_OS_X_VERSION_MAX_ALLOWED is 1058
whereas MAC_OS_X_VERSION_10_5 is 1050.

(Based on a patch by Michael Guntsche.)
2009-09-02 20:07:08 +02:00
Bjorn Winckler 67df700615 Disable the ATSUI renderer on 10.6
ATSUI has been deprecated on 10.6.  As it stands the ATSUI renderer does
not even work and it spews out masses of warnings when building, so
ATSUI is disabled when compiling for 10.6 for now.
2009-09-01 22:43:56 +02:00
Bjorn Winckler ad7da68f84 Fix some Xcode static analyzer warnings
The only relevant complaint was a memory leak when opening files from
Finder.
2009-09-02 00:29:14 +02:00
Bjorn Winckler a396b2f7bf Ensure Vim compiles as 32 bit
The MacVim binary always builds as 32 bit so make sure the Vim binary is
32 bit as well (GCC defaults to 64 bit on Leopard).
2009-09-02 00:26:42 +02:00
Bjorn Winckler bb28facdad Don't use +[NSConnection defaultConnection]
The defaultConnection message was deprecated in 10.6.
2009-09-02 00:03:50 +02:00
Bjorn Winckler 25133f7d03 Avoid compilation warnings on 10.6 2009-09-01 22:42:35 +02:00
Bjorn Winckler 6907a6b43e Declare PSMTabBarControl delegate on 10.6
This avoids a compilation warning, nothing else.
2009-09-01 22:14:12 +02:00
Bjorn Winckler 6a87e8cc02 Fix warning in ODBEditor (10.6) 2009-09-01 22:13:16 +02:00
Bjorn Winckler d04263aee2 Autosave window rows and columns 2009-09-01 22:13:10 +02:00
Nicolas Weber 64d84c49fa Fix icon generation on Snow Leopard
Snow Leopard seems to not support Scrap Manager, so don't use the Scrap
Manager code.
2009-08-30 17:11:42 -07:00
Bjorn Winckler 823ab3d45a Copy Sparkle framework into app bundle
The previous commit accidentally removed the step where the Sparkle
framework got copied into the app bundle.
2009-08-30 21:03:40 +02:00
Bjorn Winckler 2a5bbeead5 Include PSMTabBarControl framework properly 2009-08-30 20:43:33 +02:00
Bjorn Winckler 935ea1a658 Don't use Carbon framework from 10.4u sdk 2009-08-30 20:32:25 +02:00
Bjorn Winckler bf68c50168 Fix warnings in Edit in ODBEditor 2009-08-30 20:31:24 +02:00
Bjorn Winckler 84c844a956 Ignore user files in Edit in ODBEditor framework 2009-08-30 20:15:58 +02:00
Bjorn Winckler 889b7064e3 Build Edit in ODBEditor against current OS version 2009-08-30 20:12:27 +02:00
Bjorn Winckler 7a5e3f51cb Disable prebinding of PSMTabBarControl framework 2009-08-30 20:07:13 +02:00
Bjorn Winckler f03063e1cf Ignore user files in PSMTabBar framework 2009-08-30 20:04:13 +02:00
Bjorn Winckler 32c1d587d8 Fix warnings in PSMTabBarControl 2009-08-30 19:31:44 +02:00
Bjorn Winckler 497535c098 Build PSMTabBar against current OS version 2009-08-30 19:31:43 +02:00
Bjorn Winckler 8624d40d53 Delete user config files from PSMTabBar project 2009-08-30 19:26:48 +02:00
Bjorn Winckler dc8a6b7bec Change runtime fall-back directory 2009-08-30 17:35:30 +02:00
Bjorn Winckler c5d549a4e0 Set $VIM and $VIMRUNTIME early
Otherwise bindtextdomain() gets the wrong runtime path inside
init_locale() causing messages never to be translated.
2009-08-29 22:52:00 +02:00
Bjorn Winckler 3eb0ca1305 Make Find and Replace dialog localizable 2009-08-29 19:27:20 +02:00
Bjorn Winckler 6ab612e357 Disable localized menus in system vimrc
Can be enabled by setting/clearing 'langmenu' in ~/.vimrc.
2009-08-29 18:39:35 +02:00
Bjorn Winckler 16caec3a2b Move menus to menu.vim 2009-08-29 18:30:35 +02:00
Bjorn Winckler 3506261522 Fix handling of built-in toolbar icons
In particular, this patch ensures that built-in toolbar icons are
properly used when menus are translated.
2009-08-29 15:36:07 +02:00
Bjorn Winckler 6cc607a2f4 Disallow comments in :macmenu command
This is necessary, otherwise e.g. Edit.Paste<Tab>"+gP does not parse
properly.
2009-08-29 14:47:46 +02:00
Bjorn Winckler 4894e8fb74 Fix window cascading
Windows always cascade a fixed amount down and right from the topmost
window.  If the window sticks out on the right/bottom then it is moved
as far left/up as possible.
2009-08-28 18:25:32 +02:00
Kazuki Sakamoto a2e0526744 IM enhancements
By the default the keyboard layout matching the current locale is used.
Also fix bug where IM switching got confused after manually changing the
IM with Cmd-Space.  Finally, fix support for Ctrl-^ when IM is enabled
(e.g. this did not previously work with the Kotoeri input manager).
2009-08-28 13:22:06 +09:00
Bjorn Winckler d69e140c24 Avoid race condition (e.g. when closing windows)
The app may become multithreaded e.g. due to the open panel being
displayed.  In this case connectionDidDie notifications may arrive
outside the main thread, possibly leading to windows being closed
simultaneously on multiple threads.  This scenario could happen e.g.
when quitting with multiple windows open.

To avoid this situation performSelectorOnMainThread: is used instead of
performSelector:.
2009-08-27 18:16:44 +02:00
Bjorn Winckler 7cae9e965c Fix Cmd key regression
Shift and Alt modifiers now register in combination with Cmd and e.g.
arrow keys.
2009-08-27 17:41:42 +02:00
Bjorn Winckler 2d7c78f24c Snapshot 49 2009-08-16 01:19:58 +02:00
Bjorn Winckler a8da347a13 Fix Ctrl key regression
Fix Ctrl-h, Ctrl-@ and Ctrl-o regression.  Also remove all key bindings
involving arrays from KeyBinding.dict.
2009-08-16 01:09:02 +02:00
Bjorn Winckler 2e45751630 Fix arrow and function key bug on Tiger
The bug caused arrow (and function) key presses to be sent twice.
2009-08-15 02:49:17 +02:00
Bjorn Winckler 8cd984a56b Snapshot 48 2009-08-15 01:07:26 +02:00
Bjorn Winckler 650cb7ac61 Remove feat/inline-im from README-repo.txt 2009-08-15 00:21:44 +02:00
Bjorn Winckler ae400c2dbb Add user default MMUseInlineIm
Use inline IM (Vim draws marked text) when on, use old IM drawing code
otherwise.
2009-08-09 21:27:30 +02:00
Bjorn Winckler 507a68ef81 Add support for +xim
Inline marked text editing, underline marked text (even on command
line), etc.
2009-08-09 19:12:10 +02:00
Bjorn Winckler 271ef88821 Add rudimentary inline IM support
Not possible to move cursor in marked text.
2009-08-09 19:11:10 +02:00
Bjorn Winckler 9a248b819d Fix compilation errors on Tiger 2009-08-09 18:38:19 +02:00
Bjorn Winckler 6aeca470b5 Don't remember IM source if ASCII
This fixes a bug where the IM source would be forgotten whenever command
line mode was entered (with 'noimd' set).
2009-08-09 02:28:28 +02:00
Bjorn Winckler 936863de98 Add feat/inline-im to README-repo.txt 2009-08-09 02:20:42 +02:00
Bjorn Winckler d96b64262d Delete feat/input from README-repo.txt 2009-08-09 00:01:22 +02:00
Bjorn Winckler 200d3e5957 Only set ASCII IM source when setting 'noimd'
The layout used in normal mode (IM disabled) no longer changes when IM
is disabled.  It only changes when the 'noimd' option is set.
2009-08-08 23:37:29 +02:00
Bjorn Winckler 4ca28fccbd Merge upstream 2009-07-29 18:26:00 +02:00
vimboss 9c08729d42 updated for version 7.2-245 2009-07-29 16:25:31 +00:00
vimboss 8e0d50c1ed updated for version 7.2-244 2009-07-29 16:06:27 +00:00
vimboss 865619bc65 updated for version 7.2-243 2009-07-29 14:24:36 +00:00
vimboss 3b1a4d48f0 updated for version 7.2-242 2009-07-29 13:42:05 +00:00
vimboss 6c124f1604 updated for version 7.2-241 2009-07-29 10:10:29 +00:00
vimboss 44c21d0863 updated for version 7.2-240 2009-07-29 09:11:15 +00:00
Bjorn Winckler ad1b34005d Add note on improved IM support to the help 2009-07-26 17:02:10 +02:00
Bjorn Winckler 107a1cf7cc Improve IM support for 10.5
When using "set noimd" remember which input source was used in normal
mode separately from the input source used in insert mode.  This way it
is possible to e.g. use a US layout in normal mode and a non-US layout
in insert mode.

The input source used in normal mode must be ASCII capable or it won't
be remembered -- any input source used in insert mode is remembered.

On 10.4 the IM code is unchanged because 10.4 does not support the Text
Input Source Services.
2009-07-25 00:25:32 +02:00
Bjorn Winckler cbe2f307b1 Fix numeric key pad support 2009-07-24 12:42:42 +02:00
Bjorn Winckler 5213b783d7 Refactor keyboard input code
This both cleans up the code as well as improve support for binding to
more key combinations.  The Cocoa key bindings system is effectively
disabled; a custom key binding dictionary is set up in KeyBinding.plist
(so that keyboard navigation works in dialogs).
2009-07-23 18:28:34 +02:00
vimboss c6babee370 updated for version 7.2-239 2009-07-22 14:23:13 +00:00
vimboss b4b97fe905 updated for version 7.2-238 2009-07-22 12:28:17 +00:00
Bjorn Winckler cd37d01770 Add Vimball (vba) as supported filetype 2009-07-22 13:51:30 +02:00
vimboss d8b193e98b updated for version 7.2-237 2009-07-22 11:28:11 +00:00
vimboss 629579e8a0 updated for version 7.2-236 2009-07-22 09:17:23 +00:00
vimboss 9d6d075726 updated for version 7.2-235 2009-07-22 09:04:20 +00:00
Bjorn Winckler 7d6909d353 Set right pwd when dropping a folder on Dock icon
The last path component of the folder that was dropped is no longer
disregarded.
2009-07-21 03:34:15 +02:00
Bjorn Winckler b75c36581f ATSUI clips text to avoid bleeding 2009-07-20 20:13:42 +02:00
Bjorn Winckler ae253a2dad Fix typo in README-repo.txt 2009-07-19 00:29:47 +02:00
Bjorn Winckler 21cced3fc6 Add README-repo.txt file
For the "readme" section on the repo web page.  Pandoc is used to
generate the HTML file.
2009-07-18 21:18:39 +02:00
Bjorn Winckler 29745cf124 Snapshot 47 2009-07-16 20:08:56 +02:00
Bjorn Winckler 699de3c049 Change some logging messages 2009-07-16 14:35:27 +02:00
Bjorn Winckler 5560396666 Dialog sheet animation can no longer cause a crash
Explicitly force the sheet animation to be performed before passing the
result of the sheet on to the backend.  Before this patch the animation
was performed asynchronously and this could lead to a Vim controller
being released at the same time as the animation was being performed
since the animation took place in the default run loop mode.
2009-07-15 00:54:08 +02:00
Bjorn Winckler 8570b5df1f Merge upstream 2009-07-14 21:41:00 +02:00
vimboss 7391be3977 updated for version 7.2-234 2009-07-14 19:40:21 +00:00
vimboss 7068f9086c updated for version 7.2-233 2009-07-14 16:38:36 +00:00
vimboss af2e8b9e3b updated for version 7.2-232 2009-07-14 15:38:41 +00:00
vimboss 7d87f83e26 updated for version 7.2-231 2009-07-14 14:04:54 +00:00
vimboss eb6512ab82 updated for version 7.2-230 2009-07-14 11:44:30 +00:00
vimboss c2d5277fc9 updated for version 7.2-229 2009-07-14 10:20:22 +00:00
Bjorn Winckler e9d2694dce Snapshot 46 2009-07-11 00:34:33 +02:00
Bjorn Winckler 36154dd8c0 More normalization of filenames, use NFC
Apparently NTFS uses NFC so switch to NFC instead of using NFKC.
2009-07-10 19:01:28 +02:00
Bjorn Winckler 0d778b28a4 Merge upstream 2009-07-10 15:12:00 +02:00
vimboss fa7096a6ee updated for version 7.2-228 2009-07-10 13:11:26 +00:00
vimboss cc2b9e2245 updated for version 7.2-227 2009-07-09 18:13:49 +00:00
vimboss 2cd4c80953 updated for version 7.2-226 2009-07-09 18:06:49 +00:00
vimboss 8303ab1b1a updated for version 7.2-225 2009-07-09 16:24:19 +00:00
vimboss 3ef707c468 updated for version 7.2-224 2009-07-09 16:15:16 +00:00
vimboss b3ec0ad87a updated for version 7.2-223 2009-07-09 13:55:43 +00:00
Bjorn Winckler 4486bb71fb Replace NSLog() with ASLogXXX() 2009-07-07 21:01:13 +02:00
Bjorn Winckler 176ab5d393 Add simple logging facility (using ASL) 2009-07-07 18:34:32 +02:00
Bjorn Winckler aff8366139 Fix typo in help file 2009-07-03 14:46:23 +02:00
vimboss d05fb395d1 updated for version 7.2-222 2009-07-01 18:18:57 +00:00
vimboss e764e25045 updated for version 7.2-221 2009-07-01 16:04:58 +00:00
vimboss bd178a9659 updated for version 7.2-220 2009-07-01 15:13:56 +00:00
vimboss 5a5cd60221 updated for version 7.2-219 2009-07-01 14:13:18 +00:00
Kazuki Sakamoto 7c3e218035 Add NetBeans support 2009-06-26 06:32:14 +09:00
vimboss 760e36dc8b updated for version 7.2-218 2009-06-24 16:32:08 +00:00
vimboss 941e7a992d updated for version 7.2-217 2009-06-24 16:08:18 +00:00
vimboss 7108d56061 updated for version 7.2-216 2009-06-24 15:51:37 +00:00
vimboss d5a9cdd9c8 updated for version 7.2-215 2009-06-24 15:32:01 +00:00
vimboss 60ed6e1213 updated for version 7.2-214 2009-06-24 15:05:00 +00:00
vimboss d628c3711d updated for version 7.2-213 2009-06-24 14:50:12 +00:00
vimboss 3344f11140 updated for version 7.2-212 2009-06-24 14:41:19 +00:00
vimboss f047b3aa3e updated for version 7.2-211 2009-06-24 14:25:49 +00:00
vimboss 31ad5d0472 updated for version 7.2-210 2009-06-24 09:58:32 +00:00
Bjorn Winckler edbdca29e1 Normalize filenames to NFKC before opening
Vim does not cope very well with Unicode decomposed form NFD (i.e. it
does not normalize to composed form before rendering) which causes
problems since HFS+ stores filenames in NFD.  To work around this issue
normalize to compatibility form C before passing filenames to Vim.

(This is not a solution to the problem with NFD since files stored in
NFD will still be problematic but at least a user can work around this
issue by making sure files are in composed form before opening them.)
2009-06-23 20:38:39 +02:00
Bjorn Winckler 5433ca7d4c Support Quick Look for all known file extensions 2009-06-20 22:13:51 +02:00
Bjorn Winckler 816ac0a441 Change name of window menu items
Change "Next/Previous Tab" to "Select Next/Previous Tab" to keep titles
the same as in e.g. Safari.
2009-06-20 20:26:14 +02:00
Bjorn Winckler 90e4752df4 Update 'gfw' on Cmd--/Cmd-+ 2009-06-20 01:58:06 +02:00
Bjorn Winckler 0978ebc1c6 Add help on binding Cmd-keys 2009-06-20 00:14:09 +02:00
Bjorn Winckler f486bb41d6 Avoid exceptions in charRangeForRow::: 2009-06-19 23:09:03 +02:00
Bjorn Winckler 44227b9a93 Fix typo in comment 2009-06-18 21:08:43 +02:00
Bjorn Winckler ad02696d27 Merge upstream
Conflicts:
	src/buffer.c
	src/eval.c
	src/option.c
	src/vim.h
2009-06-16 18:30:00 +02:00
vimboss 87658a916a updated for version 7.2-209 2009-06-16 16:29:10 +00:00
vimboss 66299b9ed5 updated for version 7.2-208 2009-06-16 15:50:33 +00:00
vimboss fc072b7b61 updated for version 7.2-207 2009-06-16 15:22:12 +00:00
vimboss fef8272db2 updated for version 7.2-206 2009-06-16 14:57:26 +00:00
vimboss b04c78a6a0 updated for version 7.2-205 2009-06-16 14:44:48 +00:00
vimboss 99b7765c18 updated for version 7.2-204 2009-06-16 14:34:38 +00:00
vimboss c8e331a5f5 updated for version 7.2-203 2009-06-16 14:01:43 +00:00
vimboss 03f0a92f69 updated for version 7.2-202 2009-06-16 13:35:20 +00:00
vimboss ca96b60e9a updated for version 7.2-201 2009-06-16 13:23:06 +00:00
vimboss ea811731f0 updated for version 7.2-200 2009-06-16 13:12:07 +00:00
vimboss 11b068fc25 updated for version 7.2-199 2009-06-16 12:31:33 +00:00
vimboss 097577c351 updated for version 7.2-198 2009-06-16 09:07:49 +00:00
vimboss 250b62c9a8 updated for version 7.2-197 2009-06-10 16:15:40 +00:00
vimboss 54fea5fe67 updated for version 7.2-196 2009-06-03 20:08:14 +00:00
vimboss e63aad92b1 updated for version 7.2-195 2009-06-03 14:20:21 +00:00
vimboss 8ac99eed90 updated for version 7.2-194 2009-06-03 13:05:07 +00:00
vimboss 25b4e351c9 updated for version 7.2-193 2009-06-03 12:26:06 +00:00
vimboss 20da24a60c updated for version 7.2-192 2009-06-03 11:22:45 +00:00
vimboss 0873fb8f49 updated for version 7.2-191 2009-05-26 20:59:55 +00:00
vimboss 839717064f updated for version 7.2-190 2009-05-26 16:12:37 +00:00
vimboss cee529f197 updated for version 7.2-189 2009-05-26 09:02:10 +00:00
vimboss a3935654b8 updated for version 7.2-188 2009-05-24 11:40:58 +00:00
vimboss ff7ca495c1 updated for version 7.2-187 2009-05-23 12:28:15 +00:00
vimboss 335f08054d updated for version 7.2-186 2009-05-22 19:08:31 +00:00
vimboss fa0d5e0ba9 updated for version 7.2-185 2009-05-22 16:20:57 +00:00
vimboss 1f4d8dd8e1 updated for version 7.2-184 2009-05-21 21:27:43 +00:00
vimboss b465ee5bbe updated for version 7.2-183 2009-05-21 13:20:59 +00:00
vimboss 919b11d301 updated for version 7.2-182 2009-05-17 21:25:42 +00:00
vimboss f5cfc6a148 updated for version 7.2-181 2009-05-17 14:24:23 +00:00
vimboss 915fba8a25 updated for version 7.2-180 2009-05-17 11:33:22 +00:00
vimboss 6b64a62626 updated for version 7.2-179 2009-05-16 19:16:33 +00:00
vimboss 0ee0fbc2d4 updated for version 7.2-178 2009-05-16 19:07:03 +00:00
vimboss 8db81befc3 updated for version 7.2-177 2009-05-16 15:31:32 +00:00
vimboss 47b763090e updated for version 7.2-176 2009-05-16 14:41:10 +00:00
vimboss 99b962f986 updated for version 7.2-175 2009-05-16 14:16:02 +00:00
vimboss e6b7f4ff3b updated for version 7.2-174 2009-05-15 19:33:18 +00:00
vimboss 11f7764bd6 updated for version 7.2-173 2009-05-14 20:20:33 +00:00
vimboss 3f2fbccc21 updated for version 7.2-172 2009-05-14 20:01:05 +00:00
vimboss 84602997b6 updated for version 7.2-171 2009-05-14 19:51:46 +00:00
vimboss 19a1e1db6b updated for version 7.2-170 2009-05-13 18:48:16 +00:00
vimboss 0949ad4f8b updated for version 7.2-169 2009-05-13 16:56:33 +00:00
vimboss 8f5131b2d7 updated for version 7.2-168 2009-05-13 12:49:39 +00:00
vimboss 682e144672 updated for version 7.2-167fix 2009-05-13 12:15:37 +00:00
vimboss a05172e1db updated for version 7.2-168 2009-05-13 10:51:08 +00:00
Travis Jeffery 9b0f42ed24 Add reStructuredText as supported file type 2009-05-11 18:23:50 +02:00
vimboss 7b900cf55a updated for version 7.2-166 2009-04-29 16:47:23 +00:00
vimboss 82c9ce9eeb updated for version 7.2-165 2009-04-29 16:03:38 +00:00
vimboss 104a7e6484 updated for version 7.2-164 2009-04-29 15:41:40 +00:00
vimboss 1e2844207d updated for version 7.2-163 2009-04-29 10:05:51 +00:00
vimboss b39439f386 updated for version 7.2-162 2009-04-29 09:52:12 +00:00
vimboss 185e34337d updated for version 7.2-161 2009-04-29 09:02:44 +00:00
Bjorn Winckler e711158eed Update credits 2009-04-28 23:11:13 +02:00
Kazuki Sakamoto f43ffacda1 Move all IM code into frontend 2009-04-25 22:32:54 +09:00
vimboss 160f5fa78f updated for version 7.2-160 2009-04-22 16:45:21 +00:00
vimboss 7ebc297d1d updated for version 7.2-159 2009-04-22 15:53:09 +00:00
vimboss 3a9b07d2d2 updated for version 7.2-158 2009-04-22 15:45:05 +00:00
vimboss 86d424677a updated for version 7.2-157 2009-04-22 14:44:41 +00:00
vimboss 1666886eaa updated for version 7.2-156 2009-04-22 14:25:01 +00:00
vimboss 7f3a4e21e7 updated for version 7.2-155 2009-04-22 14:10:39 +00:00
vimboss 49b3032c6d updated for version 7.2-154 2009-04-22 13:58:46 +00:00
vimboss 153c893e9e updated for version 7.2-153 2009-04-22 13:39:36 +00:00
vimboss e07aeca8c3 updated for version 7.2-152 2009-04-22 12:44:48 +00:00
vimboss 788aadad0a updated for version 7.2-151 2009-04-22 11:52:33 +00:00
vimboss 396732e9af updated for version 7.2-150 2009-04-22 11:08:26 +00:00
vimboss 1c74207cd6 updated for version 7.2-149 2009-04-22 10:56:16 +00:00
Nicolas Weber eb9ece5bf1 Add markdown as supported file type 2009-04-19 22:29:27 -07:00
Bjorn Winckler 204e14b994 Snapshot 45 2009-04-13 19:28:18 +02:00
Bjorn Winckler 2e8bea32db Fix compilation problems on Tiger
The NSRunLoopCommonModes constant is not defined in the Tiger API so
explicitly enumerate the necessary modes instead.
2009-04-13 16:04:49 +02:00
Bjorn Winckler e70fb38670 Add "show hidden files" checkbox to save dialog 2009-04-13 13:48:54 +02:00
Bjorn Winckler 3d56969f47 Add function to print message queue 2009-04-10 19:05:49 +02:00
Bjorn Winckler 294d03baf6 Beware exceptions when processing input
Added comment on the dangers of exceptions being raised when processing
input in the frontend.  Shuffled the exception handling around in the
vim controller.
2009-04-10 18:33:02 +02:00
Bjorn Winckler ac96dc67ba Fix Quickstart regression
Output from a Vim process may reach the frontend even if the process is
cached.  Thus when processing input queues in the frontend, also check
if the input came from a cached controller else it could be silently
ignored.
2009-04-10 18:11:18 +02:00
Bjorn Winckler 0413dcf3f1 Make dialog sheet messages unsafe 2009-04-08 20:41:32 +02:00
Bjorn Winckler 40263195cb Avoid enumerating vim controllers
Don't enumerate vim controllers when processing input since it may
potentially be a huge operation.  If the vim controller array were to be
modified during input processing (should never happen) MacVim would crash.
2009-04-08 20:38:28 +02:00
Bjorn Winckler dd76f85f0b Deprecate performSelectorOnMainThread calls
Use performSelector:withObject:after:delay instead since it
automatically only triggers in default mode.
2009-04-08 19:36:00 +02:00
Bjorn Winckler e93e9c4201 Do not modify frontend state in DO calls
In particular, delay all state changes that used to be made inside
connectBackend:pid such add adding vim controllers to the vimControllers
array.
2009-04-05 21:43:00 +02:00
Bjorn Winckler a4a14b39ac Cleanup 2009-04-05 20:21:36 +02:00
Bjorn Winckler 49eeb133ac Add comment on DO timeouts 2009-04-05 20:00:02 +02:00
Bjorn Winckler 28de969ae3 Deprecate inProcessCommandQueue related code
We are guarding against re-entrant calls in the app controller now so
the inProcessCommandQueue related code is now obsolete.
2009-04-05 19:56:21 +02:00
Bjorn Winckler 6961a51e9a Cleanup 2009-04-05 19:21:16 +02:00
Bjorn Winckler f679af784b Update README 2009-04-05 19:20:42 +02:00
Bjorn Winckler fd8e8e0b4f Clear delayed vim controller calls on cleanup 2009-04-05 19:02:08 +02:00
Bjorn Winckler cd5ca1918d Add support for dialogs 2009-04-05 18:57:56 +02:00
Bjorn Winckler 27d4ee55ae Add support for live resizing 2009-04-05 18:22:59 +02:00
Bjorn Winckler 23e38c4298 Guard against re-entrant calls to process input 2009-04-05 18:12:23 +02:00
Bjorn Winckler 0486075221 Vim talks only to app controller
- dialog support not implemented yet
- live resizing not supported
2009-04-05 17:32:37 +02:00
Kazuki Sakamoto 7a010c4a46 Avoid forever bouncing dock icon
This problem was caused by calling the Carbon function KeyScript() from
the Vim process.
2009-04-03 21:54:15 +09:00
Bjorn Winckler 9aeade7147 Use "guisp" color for underline in ATSUI 2009-04-01 20:12:26 +02:00
Bjorn Winckler 5663536b1f Do not hide toolbar unless requested
Commit 2d497eabe995ed7f667d67166b396dff6389d12f introduced a regression
where the toolbar automatically hid upon startup regardless whether 'go'
included the "T" flag or not.
2009-03-30 19:41:50 +02:00
Bjorn Winckler 95f42c734a Snapshot 44 2009-03-29 17:34:18 +02:00
Bjorn Winckler e1ece272fa Exit full-screen if the window moves
The window is not supposed to move in full-screen mode so if this
happens then exit full-screen.  This situation can occur e.g. if the
window is on a screen that gets unplugged.
2009-03-29 16:40:59 +02:00
Bjorn Winckler 73b5d1837c Validate screen before constraining window
If a window is on a screen that gets unplugged it may happen that
[NSWindow screen] returns nil.  Guard against this when constraining
the window frame to the screen frame.

This fixes a bug where a window could "disappear" if it was on a screen
that got unplugged.
2009-03-29 16:35:47 +02:00
Bjorn Winckler 790f685006 Merge upstream
Conflicts:
	src/vim.h
2009-03-18 20:10:00 +02:00
vimboss a680267d49 updated for version 7.2-148 2009-03-18 18:09:03 +00:00
vimboss 5f1547b288 updated for version 7.2-147 2009-03-18 15:28:08 +00:00
vimboss 9d9a5983f5 updated for version 7.2-146 2009-03-18 14:42:00 +00:00
vimboss 16e57e6189 updated for version 7.2-145 2009-03-18 13:32:24 +00:00
vimboss 5d45d4a4d2 updated for version 7.2-144 2009-03-18 13:21:18 +00:00
vimboss 0546647038 updated for version 7.2-143 2009-03-18 11:52:53 +00:00
vimboss c9ad0b6d4d updated for version 7.2-142 2009-03-18 11:22:25 +00:00
Bjorn Winckler 25306ee0c5 Fix full-screen zooming with Dock visible
This fixes a bug where 'set fu=maxvert' would not cover the screen
vertically if the Dock was visible.
2009-03-16 17:36:05 +01:00
Bjorn Winckler 2e024248fa Use /usr/bin/python in icons/Makefile 2009-03-16 17:05:17 +01:00
Bjorn Winckler 85879328b0 Fix "set go+=rT" bug
The number of columns now matches the width of the window after calling
"set go+=rT".
2009-03-15 14:12:48 +01:00
Bjorn Winckler 9c530a8030 Revert temp patch, fixed properly in 7.2.121
This patch ensures that Ctrl-C works during lengthy :grep operations in
GUI mode.
2009-03-15 15:58:46 +01:00
Bjorn Winckler 9105eb1fd0 Tab labels only shows file name tail 2009-03-15 15:15:23 +01:00
Bjorn Winckler c49868a11f Fix <C-Tab> regression
This fixes a regression introduced with commmit
c79be7f927aff8b2b52a6d8d917b899154ab0ff9 where Ctrl+Unprintable key
presses could no longer be mapped to.
2009-03-13 22:35:12 +01:00
vimboss 795860de7c updated for version 7.2-141 2009-03-11 16:58:40 +00:00
vimboss 90a729a8e4 updated for version 7.2-140 2009-03-11 16:47:21 +00:00
vimboss 1a328483b7 updated for version 7.2-139 2009-03-11 16:29:20 +00:00
vimboss 5e09d64d77 updated for version 7.2-138 2009-03-11 15:37:53 +00:00
vimboss 4591403b7e updated for version 7.2-137 2009-03-11 15:28:26 +00:00
vimboss e90f76c1aa updated for version 7.2-136 2009-03-11 14:37:32 +00:00
vimboss 8745e4380e updated for version 7.2-135 2009-03-11 14:10:38 +00:00
vimboss cd7a1f6539 updated for version 7.2-134 2009-03-11 12:11:02 +00:00
vimboss bb21f9f120 updated for version 7.2-133 2009-03-11 11:47:18 +00:00
vimboss 38c7ababf6 updated for version 7.2-132 2009-03-05 02:15:53 +00:00
vimboss 5aea857883 updated for version 7.2-131 2009-03-04 03:13:35 +00:00
vimboss 322b4eec7e updated for version 7.2-130 2009-03-02 01:47:02 +00:00
vimboss 886d3d7aed updated for version 7.2-129 2009-03-02 01:12:48 +00:00
vimboss b2f7a2f021 updated for version 7.2-128 2009-03-01 01:45:35 +00:00
Zvezdan Petkovic 4374e9787e Colors.plist autogenerated from "showrgb" command
The Colors.plist dictionary is now generated from "showrgb" to properly
match rgb.txt.  Also add three colors which were missing from the output
of "showrgb" (darkyellow, lightmagenta, lightred).
2009-02-25 20:09:30 +01:00
vimboss 080a7c2c6c updated for version 7.2-127 2009-02-24 03:38:04 +00:00
vimboss ffef064005 updated for version 7.2-126 2009-02-24 03:30:14 +00:00
vimboss d23a68d047 updated for version 7.2-125 2009-02-24 03:12:40 +00:00
vimboss c973e12d3e updated for version 7.2-124 2009-02-22 23:54:59 +00:00
vimboss 5e0543116b updated for version 7.2-123 2009-02-22 22:43:27 +00:00
vimboss d9f633dbb3 updated for version 7.2-122 2009-02-22 20:13:39 +00:00
vimboss 32cb07dd61 updated for version 7.2-121 2009-02-22 01:52:59 +00:00
vimboss 40ae005819 updated for version 7.2-120 2009-02-22 01:37:59 +00:00
vimboss c4e8fcc338 updated for version 7.2-119 2009-02-22 00:14:58 +00:00
vimboss 9dbb79f942 updated for version 7.2-118 2009-02-21 23:59:19 +00:00
vimboss 031479c46b updated for version 7.2-117 2009-02-21 23:03:09 +00:00
vimboss 843a3a41bf updated for version 7.2-116 2009-02-21 21:58:24 +00:00
vimboss 01973d329c updated for version 7.2-115 2009-02-21 21:30:39 +00:00
vimboss bcfeb7c895 updated for version 7.2-114 2009-02-21 21:14:00 +00:00
vimboss 46b250b75f updated for version 7.2-113 2009-02-21 21:04:20 +00:00
vimboss 9b06b0a4b2 updated for version 7.2-112 2009-02-21 20:23:59 +00:00
vimboss 80b36e7995 updated for version 7.2-111 2009-02-21 20:11:41 +00:00
vimboss d29599b7ea updated for version 7.2-110 2009-02-21 19:37:46 +00:00
vimboss a63fc2427e updated for version 7.2-109 2009-02-21 19:28:48 +00:00
Bjorn Winckler 393e47945b Snapshot 43 2009-02-20 14:43:08 +01:00
Bjorn Winckler 5100db4427 Set correct protocol for frontend proxy 2009-02-18 23:21:46 +01:00
Bjorn Winckler 19ee857237 Merge upstream
Conflicts:
	src/buffer.c
2009-02-11 22:49:00 +01:00
vimboss 781ac5b687 updated for version 7.2-108 2009-02-11 21:48:40 +00:00
vimboss 9b52c915d9 updated for version 7.2-107 2009-02-11 17:47:54 +00:00
vimboss 7a68824771 updated for version 7.2-106 2009-02-11 16:58:49 +00:00
vimboss c2aed127ca updated for version 7.2-105 2009-02-11 15:47:05 +00:00
vimboss 12b3ecfdcd updated for version 7.2-104 2009-02-11 15:03:45 +00:00
vimboss 4143f69655 updated for version 7.2-103 2009-02-11 10:35:36 +00:00
Bjorn Winckler 7a720947c8 Mention that 'go' does not support "f" in help 2009-02-10 22:11:43 +01:00
Bjorn Winckler 9393a4151c Revert "Don't init backend if Vim is about to fork"
This reverts commit ef03c36272e9a45f71659df7cecfce7aa15c2cbf.

Conflicts:

	src/MacVim/gui_macvim.m
2009-02-10 22:06:18 +01:00
Bjorn Winckler 95a678d204 Don't update 'fuoptions' before GUI has started
This avoids allocating the MMBackend object before forking.
2009-02-10 22:03:36 +01:00
Bjorn Winckler 68cec2f91b Fork directly after command line scan
This fixes a bug with relative paths as arguments when 'autochdir' was
enabled and also cuts down on startup times.  However, it also has the
negative side-effect that 'f' is no longer supported in 'guioptions'.
2009-02-10 22:00:40 +01:00
Bjorn Winckler 5ed292ebfb Revert old forking code 2009-02-10 21:19:37 +01:00
Bjorn Winckler 6d70e1a179 Fix untitled window on reopen with quickstart
This reverts commit 662aa32b399c1149daa1cd3a2b5bccc8e75f589a and
clarifies the comment regarding how 'pidArguments' is used.
2009-02-08 22:29:58 +01:00
Bjorn Winckler 355d2ec231 Fix untitled window on reopen bug
When MacVim is started from Terminal "-MMNoWindow yes" is passed as an
argument.  This argument will no longer stop new windows from opening on
"reactivate" events -- it only affects "activate" events.
2009-02-08 22:08:34 +01:00
Bjorn Winckler c6ceb6c969 Decrease delay in gui_macvim_flush() 2009-02-07 15:56:17 +01:00
Nicolas Weber 60c1c58967 Fix icon generation Makefile 2009-02-06 22:43:54 +01:00
Bjorn Winckler ba43ddb524 Add more files in MacVim/icons to .gitignore 2009-02-06 18:21:59 +01:00
Nicolas Weber 2a032c05b7 Make icon module compilation more portable 2009-02-05 17:11:45 -08:00
vimboss 8d8aecf662 updated for version 7.2-102 2009-02-05 19:48:25 +00:00
Bjorn Winckler 380d7b2cbf Update credits 2009-02-04 22:04:32 +01:00
Bjorn Winckler 30a12fc740 Ignore temporary files in src/MacVim/icons folder 2009-02-04 21:28:15 +01:00
vimboss 43050b40f8 updated for version 7.2-101 2009-02-04 17:35:52 +00:00
vimboss d5dfed9cfc updated for version 7.2-100 2009-02-04 16:50:47 +00:00
vimboss 0e2e98e570 updated for version 7.2-099 2009-02-04 16:29:07 +00:00
vimboss d0a875e3af updated for version 7.2-098 2009-02-04 15:27:06 +00:00
vimboss b770256474 updated for version 7.2-097 2009-02-04 13:19:42 +00:00
vimboss e14b8cd599 updated for version 7.2-096 2009-02-04 12:14:51 +00:00
vimboss 938149499b updated for version 7.2-095 2009-02-04 10:46:25 +00:00
vimboss 9245af7148 updated for version 7.2-094 2009-02-04 10:20:58 +00:00
Nicolas Weber a874eae869 Update credits 2009-02-01 10:37:58 -08:00
Nicolas Weber cca95bae41 Use text-based 16x16 icons 2009-02-01 10:20:32 -08:00
Bjorn Winckler 243fcce65c Ensure viminfo is written on Cmd-q 2009-02-01 10:15:40 +01:00
Bjorn Winckler b8c8a68a5c Fix <C-]> on German keyboard layout
Instead of checking for Ctrl-character, check when Cocoa translates a
keypress to an unprintable character (in particular, this happens on
Ctrl-character).  This ensures keys like <C-]> work on (some) keyboards
where ] requires the use of Alt.
2009-01-30 20:34:41 +01:00
Bjorn Winckler 8502d5f2b2 Avoid exception in key handling routine 2009-01-30 18:30:21 +01:00
vimboss da857362b0 updated for version 7.2-093 2009-01-28 20:23:17 +00:00
vimboss 4c50d72cdf updated for version 7.2-092 2009-01-28 18:09:38 +00:00
vimboss 9af39a7cb2 updated for version 7.2-091 2009-01-28 15:04:42 +00:00
vimboss d4038f59f4 updated for version 7.2-090 2009-01-28 14:42:59 +00:00
vimboss 9150d82be1 updated for version 7.2-089 2009-01-28 13:18:26 +00:00
Bjorn Winckler 87694dc1bf Tell Git to ignore .pyc files in icons folder 2009-01-23 23:36:12 +01:00
Bjorn Winckler 22704e2bb4 Remove .pyc files from icons folder on clean 2009-01-23 23:33:02 +01:00
Nico Weber 95676cfcd4 Doc icon generation cleanup 2009-01-23 23:28:07 +01:00
Bjorn Winckler 1e901456a5 Fix two minor memory leaks
The MMTextViewHelper class failed to release two objects on dealloc.
2009-01-23 23:23:10 +01:00
vimboss 899f9a6260 updated for version 7.2-088 2009-01-22 20:50:10 +00:00
vimboss 6b989afdb1 updated for version 7.2-087 2009-01-22 20:32:12 +00:00
vimboss 4f48c32bc3 updated for version 7.2-086 2009-01-22 19:48:55 +00:00
vimboss c2ea4b240d updated for version 7.2-085 2009-01-22 17:33:49 +00:00
Bjorn Winckler f81158c840 Always respect MMLayoutVerticalSplit
This flag used to be ignored when dropping a file onto a window.
2009-01-17 20:34:51 +01:00
Bjorn Winckler 3950b3a6b1 Respect layout pref when raising an open file
For example, with layout set to "arglist" and with 'hidden' enabled,
double-clicking an already open (but hidden) file will no longer cause
it to open in a new tab.  Instead it opens as if the ":buf" command had
been used.
2009-01-17 20:25:48 +01:00
vimboss ae65cb89b3 updated for version 7.2-084 2009-01-13 17:11:05 +00:00
vimboss f90e3c31ab updated for version 7.2-083 2009-01-13 16:28:21 +00:00
vimboss 014700ca55 updated for version 7.2-082 2009-01-13 15:58:01 +00:00
vimboss f86423097b updated for version 7.2-081 2009-01-13 15:38:37 +00:00
vimboss a4cdb9b1c4 updated for version 7.2-080 2009-01-13 11:29:48 +00:00
Jonathon Mah 03a1a0ea74 Opening with search text does inclusive search 2009-01-13 06:27:01 +10:30
Jonathon Mah 4e1a1cad93 Fix typo in debug message string 2009-01-13 06:25:24 +10:30
Bjorn Winckler e4abcd6741 Snapshot 42 2009-01-12 16:35:09 +01:00
Bjorn Winckler b0f34cac04 Update appcast 2009-01-10 21:09:43 +01:00
Bjorn Winckler dd243c8ab1 Snapshot 41 2009-01-10 20:57:33 +01:00
Bjorn Winckler 02592cfe41 Prune draw queue before sending to frontend
If the draw queue fills up with lots (i.e. twice the number of max rows)
of insert/delete line commands we can remove draw commands from the
beginning of the draw queue.  This reduces the possibility of the draw
queue overflowing.
2009-01-10 17:39:29 +01:00
Bjorn Winckler e706fca4d6 Cmd-. sends SIGINT
Ctrl-C does not always work to interrupt a stuck Vim process. By making
Cmd-. send SIGINT it is more likely to succeed where Ctrl-C has failed.
(E.g. Ctrl-C may fail if a DO message is dropped, or if the Vim process
is stuck in a loop and isn't checking for new input.)
2009-01-10 17:38:11 +01:00
Bjorn Winckler 8d00a30b0a Show output from external commands as it happens
Previously, all output was sent to the frontend at once so only the last
few rows were visible.  This was a bit disconcerting when a command took
a bit of time because there was no feedback that anything was happening.
The downside to this patch is that it takes a bit longer for a command
to finish since the frontend has to do more drawing.
2009-01-10 17:37:49 +01:00
Bjorn Winckler 76200b7c03 Allow interrupt during external commands 2009-01-08 21:25:37 +01:00
Bjorn Winckler e648d3b011 Don't ignore SIGCHLD (fix automatic updating)
Ignoring SIGCHLD caused problems with automatic updating (Sparkle) since
it uses popen() (and hence implicitly uses wait4()) to unpack archives.
Now that SIGCHLD is no longer ignored we have to reap child processes
after exiting a Vim process as well as when MacVim is about to
terminate.
2009-01-08 16:11:30 +01:00
Bjorn Winckler 1db4b7903b Make no DO calls during app termination 2009-01-07 21:01:47 +01:00
Bjorn Winckler e5e129b933 Prune unnecessary code, clarify comment 2009-01-07 20:19:44 +01:00
Bjorn Winckler 354968a9b9 Add comment 2009-01-07 20:16:01 +01:00
Bjorn Winckler 87e4ef758b Clean up process termination code
Exiting immediately on TerminateNowMsgID simplifies the code a bit and
also minimizes the probability of a process not terminating before
MacVim.
2009-01-07 20:14:03 +01:00
Bjorn Winckler 2b721c9e9c New user default MMLoadDefaultFont
When enabled the default font is loaded from within the app bundle each
time MacVim is started (the default setting).  Startup times are shorter
if this is disabled.  Note that if the default font has already been
installed on the system then this may as well be disabled.
2009-01-07 14:19:27 +01:00
Bjorn Winckler c50143db47 Fix deprecated API compiler warning 2009-01-06 22:05:50 +01:00
Bjorn Winckler 2153ab22d7 Don't load default font in Vim (faster startup)
Loading and unloading a font can take a substantial amount of time so
this cuts down on the startup time.
2009-01-06 21:41:47 +01:00
Bjorn Winckler aefc975f1b Fix compiler issues on Tiger 2009-01-06 22:58:38 +01:00
Bjorn Winckler 79851d47b1 Build Debug and Release using default SDK
The Universal target still builds using the 10.4u SDK.
2009-01-06 17:51:36 +01:00
Bjorn Winckler 2c9f69f2bf Fix double free memory problem
This bug was introduced in commit:
    e162109d6f022942edb7281736f587ee79e20bfe
2009-01-06 18:31:38 +01:00
vimboss 9dc3e9172c updated for version 7.2-079 2009-01-06 15:14:30 +00:00
vimboss 2e69b16f67 updated for version 7.2-078 2009-01-06 14:02:45 +00:00
Bjorn Winckler 462fb78a85 Deprecate "redr|f" in addInput: calls
The previous commit ensures these are no longer neeeded (they used to be
there to avoid the "Press ENTER..." prompt).
2009-01-04 22:13:48 +01:00
Bjorn Winckler d2dbd62e7b Avoid "Press ENTER..." prompt
When adding input programmatically the 'silent' flag is automatically
set.  Hopefully this will mean the end of the annoying "Press ENTER..."
prompt.  This also means that it should no longer be necessary to
manually try to make commands silent (e.g. ":redr|f" should not be
needed).
2009-01-04 21:44:27 +01:00
Bjorn Winckler e1c4adc8c9 Add user default to toggle the "add tab" button
The user default MMShowAddTabButton controls whether the "add tab"
button is displayed on the tab bar or not.
2009-01-04 17:58:57 +01:00
Bjorn Winckler 2ffc552c25 Avoid switching Spaces when using 'mvim' 2009-01-04 17:46:48 +01:00
Nico Weber 7845992803 Toggle menu bar on focus change in full-screen 2009-01-02 13:55:11 -08:00
vimboss 3142e74a3a updated for version 7.2-077 2008-12-31 15:21:32 +00:00
Nico Weber 1eb73428b0 Icon generation works on Tiger again 2008-12-30 23:36:50 -08:00
vimboss c5b2d1b5b4 updated for version 7.2-076 2008-12-30 15:15:57 +00:00
Bjorn Winckler 2ab7e98bb8 Snapshot 40 2008-12-28 17:58:44 +01:00
Bjorn Winckler ebf311d2df List all non-standard options and commands in help 2008-12-28 17:20:30 +01:00
Bjorn Winckler 88d6d362c3 Show dialog when clicking to close modified tab 2008-12-26 17:46:36 +01:00
Bjorn Winckler daf5b3430a Look for toolbar icons in runtime path 2008-12-26 18:56:05 +01:00
Bjorn Winckler b13dede64d Merge upstream 2008-12-24 14:26:00 +01:00
vimboss bd1000809d updated for version 7.2-075 2008-12-24 13:25:14 +00:00
vimboss 2614f8ee3e updated for version 7.2-074 2008-12-24 12:06:26 +00:00
vimboss dd3577db8c updated for version 7.2-073 2008-12-24 11:54:31 +00:00
vimboss ff92260a55 updated for version 7.2-072 2008-12-24 11:43:49 +00:00
vimboss 90c9bf33a2 updated for version 7.2-071 2008-12-24 11:20:53 +00:00
vimboss 8f0b9d6525 updated for version 7.2-070 2008-12-23 22:52:58 +00:00
Bjorn Winckler b9eb197443 Clean up 'guitabtooltip' patch 2008-12-23 23:05:06 +01:00
Jonathon Mah a61f1bf714 Add support for 'guitabtooltip' 2008-12-23 22:52:14 +01:00
Nico Weber c7323339d9 Make icon generation script faster and more flexible 2008-12-23 22:33:41 +01:00
Nico Weber 48fc2be299 Small doc icons look sharper, faster generation 2008-12-23 21:11:42 +01:00
Nico Weber a5be20ba89 Automatically generate document icons
Document icons are generated using the makeicns program and a Python
script.  Note that the script uses PyObjC and hence requires Mac OS X
10.5 or later (on earlier systems a blank icon will be used for all
document types).

This patch also adds more filetypes to Info.plist.

Integration into Xcode project by Bjorn Winckler
<bjorn.winckler@gmail.com> with the help of Keith Hubbard
<keith@bangj.com>
2008-12-23 20:19:33 +01:00
Bjorn Winckler 48874c704b Fix character escaping for "New File Here" service
This also makes this service work on Tiger.
2008-12-22 16:12:21 +01:00
Kent Sibilev b8d2ad693a Add clipboard support in non-GUI mode 2008-12-11 18:00:57 +01:00
vimboss d11de6c31d updated for version 7.2-069 2008-12-09 21:34:39 +00:00
vimboss 4c5d17ec00 updated for version 7.2-068 2008-12-09 11:13:06 +00:00
vimboss 34207703d8 updated for version 7.2-067 2008-12-09 10:18:03 +00:00
vimboss 8ff21dbb7c updated for version 7.2-066 2008-12-09 09:57:49 +00:00
vimboss 1cd2bd4a21 updated for version 7.2-065 2008-12-03 17:50:45 +00:00
Bjorn Winckler 32561e2742 Input Method is disabled by default
The IM code is a bit flakey so keep IM disabled by default for now.
2008-12-03 15:45:04 +01:00
vimboss fe0e293cb9 updated for version 7.2-064 2008-12-03 12:38:36 +00:00
vimboss dcaf01ff54 updated for version 7.2-063 2008-12-03 12:18:55 +00:00
vimboss adac29fc57 updated for version 7.2-062 2008-12-03 10:21:57 +00:00
vimboss 341e36b48d updated for version 7.2-061 2008-12-03 08:52:26 +00:00
vimboss 7b26c6980f updated for version 7.2-060 2008-11-30 20:12:46 +00:00
Bjorn Winckler 668c778621 Handle TerminateNow input message immediately
Fixes a bug where code which waits on the run loop fails to detect
TerminateNow input messages (this could e.g. result in a "leak" of Vim
processes when Quickstart was enabled).
2008-11-30 18:04:13 +01:00
vimboss 279e83bccc updated for version 7.2-059 2008-11-30 14:16:57 +00:00
vimboss c1a71eedb5 updated for version 7.2-058 2008-11-30 11:15:09 +00:00
vimboss 4dea3b30d0 updated for version 7.2-057 2008-11-29 19:19:19 +00:00
vimboss 05b47ac89e updated for version 7.2-056 2008-11-29 19:11:40 +00:00
vimboss 3965aefc79 updated for version 7.2-055 2008-11-28 20:29:07 +00:00
vimboss be089b8aa0 updated for version 7.2-053 2008-11-28 10:47:47 +00:00
vimboss 7aab071854 updated for version 7.2-052 2008-11-28 10:16:05 +00:00
vimboss cff1a9e3c9 updated for version 7.2-051 2008-11-28 10:01:10 +00:00
vimboss 7d03b73992 updated for version 7.2-050 2008-11-28 09:08:51 +00:00
Bjorn Winckler 213d223679 Snapshot 39 2008-11-23 19:53:20 +01:00
Bjorn Winckler f00a001406 Update README 2008-11-22 14:50:25 +01:00
Ben Schmidt 7ae32a1bef Avoid "Stray process..." warning messages 2008-11-22 14:32:12 +01:00
Nico Weber 62b5aae721 Add <D-BS> and <M-BS> insert mode mappings
These are standard shortcuts in Mac OS X.  <D-BS> deletes a whole line,
<M-BS> deletes the previous word.
2008-11-21 20:32:41 +01:00
Bjorn Winckler 1741da563b Merge upstream 2008-11-21 20:20:00 +01:00
Bjorn Winckler c3239dd5e5 Snapshot 38 2008-11-21 20:11:51 +01:00
vimboss 09eb973f44 updated for version 7.2-049 2008-11-20 16:10:17 +00:00
vimboss 1dfdf3ebaa updated for version 7.2-048 2008-11-20 15:12:02 +00:00
vimboss d50de2f2f0 updated for version 7.2-047 2008-11-20 13:12:36 +00:00
vimboss 233164a7d2 updated for version 7.2-046 2008-11-20 10:56:33 +00:00
vimboss ae96eb8469 updated for version 7.2-045 2008-11-20 10:04:53 +00:00
vimboss d676af07ec updated for version 7.2-044 2008-11-20 09:37:01 +00:00
vimboss 73827e6e15 updated for version 7.2-043 2008-11-20 09:27:32 +00:00
Bjorn Winckler 8420566635 Exit if connection becomes invalid
This is only a temporary measure until a proper fix is found.
2008-11-19 19:30:46 +01:00
Ben Schmidt e4c49238bd Use default SIGCHLD handler in Vim processes 2008-11-17 21:36:36 +01:00
Bjorn Winckler 616f845128 No error message when dropping files (Issue 135) 2008-11-16 17:05:14 +01:00
vimboss 09c7a21e4f fix truncation 2008-11-15 15:16:46 +00:00
vimboss 9e75f31ff2 updated for version 7.2-042 2008-11-15 15:06:17 +00:00
vimboss 950ef8ff2f updated for version 7.2-041 2008-11-15 13:12:07 +00:00
Bjorn Winckler 915d2e30ac Snapshot 37 2008-11-15 14:02:15 +01:00
Bjorn Winckler 6319b9c517 Add Reload/Ignore All buttons to file changed dialog 2008-11-14 20:06:53 +01:00
Bjorn Winckler 0dde2b7232 Explicitly ignore SIGCHLD to avoid zombies 2008-11-14 15:43:54 +01:00
vimboss 5d900f6f7e updated for version 7.2-040 2008-11-12 15:05:21 +00:00
vimboss 6907698f60 updated for version 7.2-039 2008-11-12 14:29:28 +00:00
vimboss ce49edcc1e updated for version 7.2-038 2008-11-12 13:52:46 +00:00
vimboss 911a34fed0 updated for version 7.2-037 2008-11-12 13:10:15 +00:00
vimboss a57ecd4e2e updated for version 7.2-036 2008-11-12 12:36:30 +00:00
vimboss 81a5c6dd4e updated for version 7.2-035 2008-11-12 12:08:45 +00:00
vimboss a53e7167fc updated for version 7.2-034 2008-11-12 11:52:19 +00:00
vimboss 6cf044c8fc updated for version 7.2-033 2008-11-11 20:57:11 +00:00
Bjorn Winckler d0645670b5 Merge upstream
Conflicts:
	src/feature.h
2008-11-09 17:23:00 +01:00
vimboss 3157d8636c updated for version 7.2-032 2008-11-09 16:22:01 +00:00
vimboss 8bb0169bd0 updated for version 7.2-031 2008-11-09 12:46:09 +00:00
vimboss 00d911af72 updated for version 7.2-030 2008-11-06 19:47:51 +00:00
vimboss 1111099ec1 updated for version 7.2-029 2008-11-06 16:16:44 +00:00
vimboss 9b4580c4dc updated for version 7.2-028 2008-11-06 10:05:42 +00:00
vimboss e63ff36e87 updated for version 7.2-027 2008-11-06 09:23:57 +00:00
Bjorn Winckler 198610ad25 Data received from system services replaces selection
When data is received from system services it replaces the current
selection.  The current implementation is a bit naive in that it assumes
that Vim is in Visual mode (it doesn't even work in Select mode).  (To
test this functionality: enter "2+3", select it, then hit Cmd-* and the
selection is replaced with "5".)
2008-11-01 19:21:02 +01:00
vimboss a57332a176 updated for version 7.2-026 2008-11-01 12:52:38 +00:00
Bjorn Winckler 9bd6777571 Support "mvim" script symlinks to [m|g]ex, rmvim
Symlinks to "mex" or "gex" starts MacVim in ex mode.  Symlinks to "ex"
starts Vim in ex mode (no GUI).  Symlinks to "rmvim" (or "rgvim" which
was already supported previous to this patch) starts MacVim in
restricted mode.
2008-10-29 17:21:13 +01:00
Bjorn Winckler aee4e6d6ca Add help on symlinks to "mvim" script 2008-10-29 17:04:01 +01:00
Bjorn Winckler 7112e2b5f7 Update help on 'runtimepath' 2008-10-29 16:46:15 +01:00
Bjorn Winckler f9064e4c16 Fix typo in a comment 2008-10-26 22:57:32 +01:00
Bjorn Winckler 69c156faf4 Speed up live resize 2008-10-25 21:10:52 +02:00
Bjorn Winckler dd74c0b520 Connection not in event tracking mode by default
Only add backend connection to event tracking mode when it is absolutely
needed.  At the moment this happens when the window is in "live resize"
or when the mouse button is held on some part of a scroller.
2008-10-25 20:31:17 +02:00
Bjorn Winckler f6ecb9aae9 Help cleanup 2008-10-25 18:38:38 +02:00
Bjorn Winckler bc82e6d58e More help on menu key equivalents 2008-10-25 18:22:12 +02:00
Bjorn Winckler 667279dbca Add help on how to remap Caps Lock to Esc 2008-10-25 18:03:39 +02:00
Bjorn Winckler 331a21d0bd Revert "Modifier key sends Esc" related commits
This reverts the following three commits:
  3ae360ddb38dd49e9392aad7a70f0f31a30849ee
  007bb96eb3ec035169510caa4e206ab901e4b6d0
  b6c06f31be1e8124ed12cc2ff5361752df1e4634
2008-10-25 16:34:16 +02:00
Bjorn Winckler 2cccddd458 Fix "Special Characters" palette bug
It is again possible to insert text from the "Special Characters"
palette (broken by commit 8fbb13da74a1912839e9302ebc725df67619c9c0).
2008-10-18 18:45:50 +02:00
Bjorn Winckler 49a52f9eff Keep whole window visible on ":set lines=X columns=Y" 2008-10-18 17:34:54 +02:00
Bjorn Winckler f231eff6c2 Fix "set lines=999" in .gvimrc
Ensure that the window fits on screen when the window is resized to fit
the content.  This should fix a problem where the window would not be
flush with the menu bar when "set lines=999" was added to .gvimrc.
2008-10-18 15:38:08 +02:00
Bjorn Winckler 3a8ce4e72c Constrain window size during live resize
Ensure that the window size isn't larger than the visible frame of the
current screen.  This avoids problems where the window would "snap back"
immediately after being resized manually.
2008-10-18 14:28:25 +02:00
Bjorn Winckler 52f08cc6aa Delay flushing send queue
Ensure that the send queue is flushed after processCommandQueueDidFinish
since that method may add messages to the send queue.
2008-10-18 14:24:59 +02:00
Bjorn Winckler 1a91b2a5c9 Fix computation of zoomed window frame
When computing the zoomed window frame ensure that it is constrained to
hold an even number of rows and columns.  This fixes a problem where the
window would not "un-zoom" after being zoomed.
2008-10-18 13:23:24 +02:00
Bjorn Winckler 467b890d13 Top of window flush with menu bar after zoom 2008-10-12 17:57:39 +02:00
Jason Foreman fa6eedf24f Enable basic AppleScript support
Putting this key into the Info.plist file turns on the basic AppleScript
support Cocoa provides.  Doing so allows MacVim to receive some basic
events.  This gives MacVim a bit better integration into Mac OS X.

Below is an example which, when placed in one's .vimrc file,  causes the
window to be zoomed during startup.

let script='osascript -e "tell application \"MacVim\""'
       \ . ' -e "set zoomed of first window to true"'
       \ . ' -e "end tell"'
au VIMEnter * call system(script)
2008-10-12 14:36:22 +02:00
Bjorn Winckler 0b546f60b1 Move window to top of screen if bottom is obscured 2008-10-12 14:34:22 +02:00
Bjorn Winckler 1957b370bb Use option as meta key
Added a buffer local option called 'macmeta' which when set causes
MacVim not to interpret option+key presses thus enabling the user to
bind to <M-..>.  Also updated the documentation and added 'macmeta' to
the .vim syntax file.
2008-10-12 14:05:42 +02:00
Bjorn Winckler 275fc44523 Avoid crash when resizing window
Sanity check input to gui_macvim_draw_string(); it can happen that 'len'
is non-zero even though first byte of 's' is NUL (test case with file
containing Chinese characters).
2008-10-11 20:03:23 +02:00
Bjorn Winckler ee1fd606dd Snapshot 36 2008-10-04 19:26:05 +02:00
Bjorn Winckler ac3900639d Update credits 2008-10-04 17:27:58 +02:00
Bjorn Winckler aa3ac2d303 Add Find & Replace dialog box 2008-10-04 17:25:07 +02:00
Bjorn Winckler e84420f7d1 Remove TODO 2008-10-03 16:26:33 +02:00
vimboss 678ceed917 updated for version 7.2-025 2008-10-02 20:55:54 +00:00
Bjorn Winckler f3c411fafe Add help on "modifier key as Esc" 2008-10-02 22:53:17 +02:00
vimboss 1506bb79d9 updated for version 7.2-024 2008-10-02 20:48:41 +00:00
Bjorn Winckler d366864ff5 Add preference to change fake Esc modifier key 2008-10-02 22:28:52 +02:00
vimboss 69742a596f updated for version 7.2-023 2008-10-02 16:04:05 +00:00
Bjorn Winckler 3d2d6a810e Modifier key sends Esc
Adds possibility to make the left Ctrl, Alt, or Cmd key function as a
second Esc key.  The key will still function as a modifier if held down
in conjunction with another key.  Enable by setting the user default
"MMFakeEscModifier" to:
    1 = Left Ctrl
    2 = Left Alt
    3 = Left Cmd
    any other number disables this functionality

By remapping Caps-Lock to one of the above modifier keys this enables
the use of Caps-Lock as a second (and easy to reach) Esc key.  Caps-Lock
can be remapped inside "System Preferences -> Keyboard & Mouse ->
Modifier Keys...".

The Esc event is sent when the modifier key is released.  If the key is
not released within a predefined timeout, then no Esc event is
generated.  The timeout can be changed by setting the user default
MMFakeEscTimeout (a float, specifying the timeout in seconds).

The fact that the Esc event is sent on release makes it feel somewhat
sluggish.  It is possible to have the event sent when the modifier key
is pressed by setting the user default "MMFakeEscOnKeyDown" but then the
left modifier key can only be used as an Esc key.
2008-09-30 22:06:30 +02:00
Jonathon Mah 6fb7a6f38b Added dragging to tab bar
Dragging a file to a tab will open it in that tab.
Dragging files to the end of the tab bar will open them in new tabs.
2008-09-30 02:09:17 +09:30
Jonathon Mah cf7a0a71bd Added tool tips for tabs when tab labels are truncated 2008-09-29 22:06:54 +09:30
Jonathon Mah 6e1e046cbb Fixed memory leak in -[MMAppController openFiles:withArguments:] 2008-09-29 21:20:28 +09:30
Bjorn Winckler 2d1fc65b0e Don't drop non-repeating keyboard input
Keyboard input is not dropped, unless the input was received due to a
key being automatically repeated (as a consequence of the key being held
down).  This way characters are never dropped while typing, but it also
avoids situations where the screen doesn't stop scrolling immediately
when "j" is released after being held.
2008-09-28 23:50:39 +02:00
Bjorn Winckler e378d7332b Add keyboard shortcuts to help file 2008-09-28 22:07:07 +02:00
Bjorn Winckler 4879bdfc5e Snapshot 35 2008-09-26 21:33:40 +02:00
Kaoru Yoshida 52bb6e960f Add IM support to ATSUI renderer
More functionality now shared between ATSUI and Cocoa renderers.
(Some modifications by Bjorn Winckler.)
2008-09-24 21:19:24 +02:00
Bjorn Winckler 0b018a5836 Use -[NSString vimStringSave] 2008-09-24 20:19:24 +02:00
Bjorn Winckler ae2eb1cf48 Merge upstream
Conflicts:
	src/pty.c
2008-09-20 16:28:00 +02:00
vimboss 597590c414 updated for version 7.2-022 2008-09-20 14:27:03 +00:00
Bjorn Winckler 2a70805ffb Put cursor back on cmdline after Cmd-=
Changing the font size up/down while the cursor was on the command line
would cause the cursor to jump away from the cmdline.  This is no longer
the case.  Also fixes a similar problem when showing/hiding the toolbar
by clicking the "pill button".
2008-09-19 20:17:01 +02:00
Bjorn Winckler 86ae8db7d6 Don't coalesce scroll wheel events
Since the backend now pops off all input events at once whenever it
tends to the run-loop, it is no longer necessary to coalesce scroll
wheel events.  In fact, without coalescing the scroll wheel (or track
pad) feels a lot smoother.
2008-09-19 17:50:07 +02:00
Bjorn Winckler dc9008674b Fix typos in help 2008-09-19 16:54:50 +02:00
vimboss 99b9fe4a6d updated for version 7.2-021 2008-09-18 19:29:58 +00:00
vimboss 1d73dbfbe5 updated for version 7.2-020 2008-09-18 18:57:10 +00:00
vimboss 7d9d31e97d updated for version 7.2-019 2008-09-18 10:44:28 +00:00
Bjorn Winckler 8bc680dd63 Update Credits 2008-09-16 22:55:53 +02:00
Bjorn Winckler 5da159c4eb Correct bug in previous commit 2008-09-16 23:08:22 +02:00
Bjorn Winckler def2d1a9e4 Update fullscreen background color immediately
It is no longer necessary to exit and re-enter fullscreen to see changes
to the "background" setting in 'fopt'.
2008-09-16 22:51:08 +02:00
Bjorn Winckler bdb7f8efa6 Fix scrolling bug
Scrolling now works e.g. after pressing 'f' in normal mode (previously
the scrollbar moved, but the window content did not scroll).
2008-09-16 22:14:43 +02:00
Bjorn Winckler db0d1f51a5 Update help file 2008-09-16 21:28:42 +02:00
Bjorn Winckler 6b4059f69d Simplify Services menu
All services open a new window by default, unless new files are set to
open in the current window in the General preference pane.
2008-09-16 21:24:50 +02:00
Ron Olson 232024f71d Add "New Document Here" Service
The "New Document Here" service will create a blank document in the
currently selected directory.  If new files are set to open in the
current window, then the blank document opens in a new tab in the
topmost window, otherwise a new window is opened.
2008-09-14 20:47:55 -05:00
vimboss d732c28bfc updated for version 7.2-018 2008-09-14 19:41:30 +00:00
vimboss e5bae4cb22 updated for version 7.2-017 2008-09-14 13:58:34 +00:00
vimboss bb36e94f24 updated for version 7.2-016 2008-09-14 12:42:29 +00:00
Bjorn Winckler 2e22c44eab Cmd-. sends interrupt
In other words, Cmd-. is synonymous with Ctrl-C.  The former is standard
for Mac apps whereas the latter is standard for Vim.  Incidentally,
Cmd-. may thus be used as a substitute for Esc to exit insert mode.
2008-09-13 21:14:30 +02:00
Bjorn Winckler f6f6f2c8f8 Decrease connection polling interval on startup
This reduces the startup time by almost 1 second when starting MacVim
from Terminal.
2008-09-13 18:47:22 +02:00
Bjorn Winckler ad6fe811e7 Check for Ctrl-C when gui_mch_update() is called
Since gui_mch_update() is called so frequently we only check for
interrupts at most once per second.
2008-09-13 02:48:57 +02:00
Bjorn Winckler deaae7e717 Ignore gui_mch_update()
By making gui_mch_update() a no-op the frame-rate is dramatically
increased in certain situations.  The downside is that it is no longer
possible to interrupt Vim with Ctrl-C when it is busy processing.
2008-09-13 00:37:09 +02:00
Bjorn Winckler e52ae8cbc0 Be more conservative about flushing output queue
Don't flush on gui_mch_flush(); instead only flush when forced (happens
e.g. if Vim is about to take a nap) or just before waiting for new
input.  This reduces screen flicker dramatically in certain cases.
2008-09-13 00:30:07 +02:00
Bjorn Winckler 8e7466bccc Do not allow input queue to fill up
The backend keeps at most one copy of each message on the input queue.
This makes MacVim feel a lot more responsive e.g. when scrolling the
screen.  It used to be that holding down 'j' to scroll and then
releasing 'j' would cause the screen to keep scrolling for a while even
after the release.
2008-09-13 00:08:47 +02:00
Bjorn Winckler 4100056f46 Don't init backend if Vim is about to fork
This way we avoid doing the initializations twice and cut down a bit on
the startup time when starting MacVim from Terminal.
2008-09-11 19:19:03 +02:00
Jjgod Jiang df35270598 Fix blurry text problem in full screen mode for ATSUI 2008-09-11 21:31:46 +02:00
vimboss b2e17cca75 updated for version 7.2-015 2008-09-10 16:26:04 +00:00
vimboss e25a17541d updated for version 7.2-014 2008-09-10 13:39:10 +00:00
vimboss e76375a3e9 updated for version 7.2-013 2008-09-07 19:48:53 +00:00
vimboss ea83ab3650 updated for version 7.2-012 2008-09-07 13:50:37 +00:00
vimboss c53513d4ac updated for version 7.2-011 2008-09-07 11:55:43 +00:00
vimboss 06c64fe88c updated for version 7.2-010 2008-09-06 14:44:59 +00:00
vimboss b39b209d02 updated for version 7.2-009 2008-09-01 15:56:45 +00:00
vimboss 3e5bc79f11 updated for version 7.2-008 2008-09-01 15:33:17 +00:00
vimboss 96e61949b3 updated for version 7.2-007 2008-09-01 14:51:37 +00:00
Bjorn Winckler ce613d4671 Cmd-E copies selection to Find pasteboard but does not search 2008-08-26 02:14:28 +02:00
vimboss b2e259fb62 updated for version 7.2-006 2008-08-25 03:04:18 +00:00
vimboss 28132658b2 updated for version 7.2-005 2008-08-25 02:49:18 +00:00
vimboss 92ed496e29 updated for version 7.2-004 2008-08-25 02:35:59 +00:00
vimboss 91ed612ac0 updated for version 7.2-003 2008-08-25 02:14:05 +00:00
Bjorn Winckler cec4f8b9ee Ensure order of files to open is not affected by 'suffixes'
Opening the same set of files in a new window and in an already open
window could result in the order of the files being different due to a
non-empty 'suffixes' option.  This patch clears 'suffix' before opening
multiple files and restores it afterwards.
2008-08-24 19:32:04 +02:00
Nico Weber 22799739f5 Fix problems with 'fullscreen' and :mksession
If 'fullscreen', 'lines' and 'columns' are all set in the same Vim
script then it used to be possible that the latter two options got
ignored.  This would in particular cause problems with :mks.
2008-08-24 19:00:37 +02:00
Bjorn Winckler 053d76dc13 Update help on mvim:// URL handler 2008-08-24 18:08:10 +02:00
Bjorn Winckler 38a0fd10d1 Make "Save changes" dialog conform to Apple HIG
If 'guioptions' has "c" set then the standard Vim dialog is used
instead.

The dialog for multiple unsaved changes has also been updated to be a
little more like the "Save changes" dialog.
2008-08-23 19:55:21 +02:00
Bjorn Winckler 325a3db78d Add "line" and "column" support to mvim:// URL handler 2008-08-24 00:10:09 +02:00
Bjorn Winckler 27c683092d Add option to hide MacVim when last window closes 2008-08-23 22:01:30 +02:00
Bjorn Winckler 0b896e4f59 Try to ensure new windows open with bottom edge visible on screen
In particular, if new windows are set to open maximized in the vertical
direction then the top of newly opened windows will be in line with the
top of the frontmost window.
2008-08-22 23:07:23 +02:00
Bjorn Winckler 6fcd21f338 Sort files opened from Finder
Finder does not take into consideration the order in which files are
selected anyway, so sorting the files makes opening multiple files more
predictable without breaking anything.
2008-08-22 02:19:10 +02:00
Bjorn Winckler 316034e1db Now works to use :maca on VimLeave auto command
To fix this the output queue is flushed before exiting a Vim process.
Also, the CloseWindowMsgID is added to the "unsafe" list so that other
unsafe messages (such as ExecuteActionMsgID) are not delayed until after
CloseWindowMsgID.
2008-08-22 01:53:24 +02:00
Bjorn Winckler dd46cfc500 Update 'go' help on 'T' option 2008-08-22 00:40:38 +02:00
Bjorn Winckler 28c43bdc64 Update Appcast 2008-08-21 20:11:00 +02:00
Nico Weber 97b5e3c119 Add support for mvim:// URL handler 2008-08-18 20:38:54 +02:00
vimboss 17f08c9776 updated for version 7.2-002 2008-08-17 21:44:45 +00:00
vimboss 9e2f853d00 updated for version 7.2-001 2008-08-17 21:03:18 +00:00
Bjorn Winckler d9d242b00f Snapshot 34 2008-08-16 17:47:30 +02:00
Bjorn Winckler a614dfbfcd Reorder preferences panel
"Use login shell" is now enabled by default and has been moved to the
Advanced pane.  Also, when clicking this or the "Use ATSUI renderer"
button the preload cache is rebuilt.
2008-08-16 16:27:25 +02:00
Bjorn Winckler d72aaeda7f Remove make-snapshot.sh and README-snapshot.sh 2008-08-16 14:36:15 +02:00
Bjorn Winckler 90377d2495 About dialog box shows "Custom Version" 2008-08-15 16:47:41 +02:00
Bjorn Winckler 8b385ca122 Limit scroll wheel message frequency
This avoids clogging up the DO messaging system on fast machines with
high resolution scroll wheels (or track pads).
2008-08-15 21:36:58 +02:00
Michael Wookey 94c7edebd7 Paragraph tidy up in gui_mac.txt
* Some paragraphs weren't formatted properly for the correct line
   length.
 * Fixed a small spelling mistake (know -> known).
2008-08-14 20:24:09 +02:00
Bjorn Winckler d70f67e5b9 Release text storage only if text view class is MMTextView 2008-08-14 19:24:09 +02:00
Bjorn Winckler 03c5dada39 Insert Vim state message first on output queue when flushing 2008-08-14 19:11:58 +02:00
Bjorn Winckler 0cec396a20 Use bundle path for main connection name
This is to make it easier to run two different versions of MacVim
simultaneously.
2008-08-14 16:50:12 +02:00
Bjorn Winckler 50be9d4227 Avoid "dropping incoming DO message ..." being logged
These warnings were caused by a Vim process sending a DO message and
then immediately exiting so that the process would some times die before
the message was received by MacVim.
2008-08-14 18:32:28 +02:00
Ben Schmidt a689202f4e Fix Leopard pty problems
Problem: Pseudo TTYs (ptys) are not successfully allocated on Leopard
         (or when Vim is compiled on Leopard).
Solution: Do not attempt to use SVR4-compatible ptys on Mac OS X even
          though configure may detect their presence.
2008-08-14 12:45:41 +02:00
Jjgod Jiang 41e6389b83 Fix rounding problem in ATSUI renderer
This problem will cause characters with descender (like 'g')
to be drawn a little bit lower than the correct place. Thus
will result some extra pixels after the line is cleared.
2008-08-14 11:02:27 +08:00
Bjorn Winckler 4c615b9622 Fix compilation problems on OS X 10.4 2008-08-13 01:03:57 +02:00
Bjorn Winckler c1f4a11e10 Add ATSUI renderer option to advanced prefs 2008-08-13 00:25:55 +02:00
Bjorn Winckler dcd91fe279 Remove duplicate code in text renderers
Most of the code shared between the text renderers now resides in a
"helper" object.  This way it will be a lot easier to maintain several
renderers at once.

As an added bonus, the ATSUI renderer now has mouse support as well as
drag-n-drop support.
2008-08-12 23:54:06 +02:00
Bjorn Winckler 452e41f92e Now works to set 'linespace' in [g]vimrc 2008-08-12 21:18:55 +02:00
Bjorn Winckler d58cb64b76 Stop using deprecated Cocoa APIs 2008-08-12 21:18:23 +02:00
Bjorn Winckler ee84ad6010 Remove unused method 2008-08-12 20:47:16 +02:00
Bjorn Winckler 055d07bd87 Change Quickstart slider to checkbox in advanced prefs 2008-08-12 20:18:40 +02:00
Bjorn Winckler 1611954a47 Remove NSLog 2008-08-11 21:37:36 +02:00
Bjorn Winckler 0a0f80b2c0 Clear preload cache on "login shell" option changes 2008-08-11 21:32:41 +02:00
Bjorn Winckler 6f0611c29a Start and stop FS events if needed when preload cache size changes 2008-08-11 20:18:47 +02:00
Bjorn Winckler 3420b3b4d8 Smaller FS event latency, cancel previous requests on FS event 2008-08-11 20:17:47 +02:00
Bjorn Winckler 1b68724361 Use FS Streams to watch modifications in ~/.vim 2008-08-11 20:16:47 +02:00
Bjorn Winckler 550e75eed2 Enable cross compilation in Xcode project
Deployment target is OS X 10.4, development SDK is current OS version.
2008-08-11 20:15:47 +02:00
Bjorn Winckler 7e36001233 Change a few toolbar icons 2008-08-11 20:14:47 +02:00
Bjorn Winckler 4f1446124f Missing toolbar icon fallback code fix 2008-08-11 20:13:48 +02:00
Bjorn Winckler 232720a611 Change pwd if file is opening in an "unused" editor
When opening a file from Finder, set the pwd to the directory the file
resides in but only if the editor window is unused (e.g. it doesn't
already have files open in it).
2008-08-10 21:16:31 +02:00
Bjorn Winckler 3c918888d7 Change "untitled window" detection heuristic
Also change terminology to "unused editor" instead of "untitled window"
since the detction has nothing to do with the window's title.
2008-08-10 21:12:34 +02:00
Bjorn Winckler 772859fcca Current directory handling changes
New processes default to using the user's home directory as the current
directory.  When opening files opened from Finder the current directory
is changed to that of the first file opened.
2008-08-10 18:04:27 +02:00
Bjorn Winckler 85c6b71293 "New Window" item on Dock menu activates MacVim 2008-08-10 16:50:02 +02:00
Bjorn Winckler 0fae0b0238 Version strings changed to 7.2 2008-08-10 16:09:17 +02:00
Bjorn Winckler 43ebeed946 Merge upstream 2008-08-09 19:56:00 +02:00
vimboss 0dceccaafb updated for version 7.2-000 2008-08-09 17:55:22 +00:00
vimboss 7d5860b32b updated for version 7.2c-003 2008-08-08 11:45:39 +00:00
vimboss 1c8fc078a3 updated for version 7.2c-002 2008-08-08 10:59:17 +00:00
vimboss c7fead45e0 updated for version 7.2c-001 2008-08-08 10:36:31 +00:00
vimboss ebb92ddd72 updated for version 7.2c-000 2008-08-06 17:06:04 +00:00
vimboss 3047db21af updated for version 7.2b-030 2008-08-06 13:28:57 +00:00
vimboss d128618aba updated for version 7.2b-029 2008-08-06 13:03:07 +00:00
vimboss 764d5e5121 updated for version 7.2b-028 2008-08-06 12:37:44 +00:00
vimboss 2d003da317 updated for version 7.2b-027 2008-08-06 12:19:26 +00:00
Bjorn Winckler 79e728785f Deprecate "Force New Window" menu 2008-08-03 21:32:30 +02:00
Bjorn Winckler 2c9ae326a0 Add "Advanced" preferences pane
The "Advanced" pane can be used to control the preload cache size.
2008-08-03 21:27:30 +02:00
Bjorn Winckler 705ddcf213 Rebuild cache when vimrc/gvimrc files have been modified 2008-08-02 22:00:22 +02:00
Bjorn Winckler ad06dcbb69 Modify how and when preloaded windows open
This hopefully fixes the bug where a preloaded window sometimes failed
to ever show up but MacVim would still think that it was showing.
2008-08-02 19:47:35 +02:00
Bjorn Winckler 5c2795baae More file opening options (plus quickstart feature)
The preferences panel allow for more ways to open files from other
applications.  This is controlled by three user preferences:
  - MMOpenInCurrentWindow
  - MMOpenLayout
  - MMVerticalSplit
These options are also respected when dropping files on a window.

The quickstart feature is currently disabled by default and can be
enabled by setting the user default MMPreloadCacheSize to a positive
integer.  With it enabled, new windows open more or less
instantaneously.
2008-08-01 21:31:03 +02:00
vimboss c295e3d8d1 updated for version 7.2b-026 2008-07-31 20:29:28 +00:00
vimboss b1b0936737 updated for version 7.2b-025 2008-07-31 20:04:27 +00:00
Jjgod Jiang e43b739944 A few MMAtsuiTextView rendering fixes
1. Fix AtsuiTextView italic angle problem.
2. Add underline/undercurl support for text drawing.
3. Use default background color to fill the inset area.
2008-07-29 21:42:45 +02:00
vimboss ea3d1b4ba6 updated for version 7.2b-024 2008-07-29 10:22:12 +00:00
vimboss 8c3618271b updated for version 7.2b-023 2008-07-27 13:57:29 +00:00
Bjorn Winckler 37e3e82f7c Ensure valid scroll region when deleting/inserting rows 2008-07-26 20:06:52 +02:00
vimboss 71ced625f5 updated for version 7.2b-022 2008-07-26 14:05:07 +00:00
vimboss fa46cfe5e7 updated for version 7.2b-021 2008-07-24 20:09:16 +00:00
vimboss 63cd7ab513 updated for version 7.2b-020 2008-07-24 19:31:11 +00:00
vimboss 93b5422bc6 updated for version 7.2b-019 2008-07-24 18:51:11 +00:00
vimboss a4a6146f2d updated for version 7.2b-018 2008-07-24 18:29:37 +00:00
vimboss 0b28a1550d updated for version 7.2b-017 2008-07-24 17:34:23 +00:00
vimboss d5bd3e3888 updated for version 7.2b-016 2008-07-24 16:45:38 +00:00
vimboss b1bc820ac9 updated for version 7.2b-015 2008-07-24 15:20:50 +00:00
vimboss c7333a644b updated for version 7.2b-014 2008-07-24 14:24:48 +00:00
vimboss a8cb1c5563 updated for version 7.2b-012 2008-07-24 11:51:40 +00:00
vimboss 752dcda77e updated for version 7.2b-011 2008-07-24 11:21:31 +00:00
vimboss b86aff8f47 updated for version 7.2b-010 2008-07-22 16:58:47 +00:00
vimboss 41a8a4d368 updated for version 7.2b-009 2008-07-18 15:14:43 +00:00
vimboss 25c670073a updated for version 7.2b-008 2008-07-18 10:54:50 +00:00
vimboss 6743003ba5 updated for version 7.2b-007 2008-07-18 10:05:58 +00:00
vimboss 61c7c7dd1b updated for version 7.2b-006 2008-07-18 09:26:30 +00:00
vimboss 76e0da8cce updated for version 7.2b-005 2008-07-16 20:43:37 +00:00
Jjgod Jiang 8c8db3cd4c Turn off ligatures by default
Turn off all common ligatures (fi, ffi) and rare ligatures (ct, ss).
2008-07-16 16:27:59 +08:00
Bjorn Winckler f96c9a6845 Update doc and short version string for Vim 7.2b 2008-07-16 16:16:23 +02:00
vimboss 998efd292e updated for version 7.2b-004 2008-07-14 21:05:15 +00:00
vimboss 093e2f20f2 updated for version 7.2b-003 2008-07-14 19:48:05 +00:00
vimboss 86c54f9853 updated for version 7.2b-002 2008-07-14 17:51:11 +00:00
vimboss d693919cdd updated for version 7.2b-001 2008-07-14 09:52:40 +00:00
vimboss 7a75fec5ca updated for version 7.2b-000 2008-07-13 17:41:49 +00:00
Bjorn Winckler e9f5ced05c Fix typo in selector name for delayed dialog 2008-07-11 16:10:06 +02:00
Nicolas Weber e5e3c0d2c1 Fix memory leaks in PSMTabBarControl 2008-07-08 20:18:40 +02:00
Matt Tolton 1e2467b3f3 Add versioning to the plugin architecture
The plugin architecture version can be retrieved by a plugin from the
app mediator by calling the majorVersion and minorVersion methods.
2008-07-08 19:59:59 +02:00
Matt Tolton 754d698c33 Add menu item to toggle the plugin view drawer
The setting is remembered, so if the drawer was last toggled closed then
it should not open again until toggled.
2008-07-08 19:58:56 +02:00
vimboss 73626b6c6c updated for version 7.2a-019 2008-07-08 15:15:08 +00:00
vimboss ec20f00066 updated for version 7.2a-018 2008-07-08 10:46:08 +00:00
vimboss 4d14ca32db updated for version 7.2a-017 2008-07-08 09:36:58 +00:00
vimboss 3f3214a409 updated for version 7.2a-016 2008-07-07 19:23:37 +00:00
vimboss 82a81c93f1 updated for version 7.2a-015 2008-07-06 17:16:02 +00:00
Bjorn Winckler 3245d2c6e4 Snapshot 33 2008-07-05 20:33:57 +02:00
Bjorn Winckler 3af179bc83 Send print jobs to Preview.app
There are two drawbacks to this method:
1. the temporary file generated by :hardcopy is not deleted
2. Preview shows a "save changes?" sheet upon closing
2008-07-05 17:41:43 +02:00
Bjorn Winckler a3963603ed Update credits 2008-07-05 16:23:14 +02:00
Bjorn Winckler abfce2ceb7 Merge upstream
Conflicts:
	runtime/doc/eval.txt
	runtime/doc/os_mac.txt
	runtime/doc/various.txt
	runtime/syntax/vim.vim
2008-07-05 12:00:00 +02:00
vimboss dedeca9e4b updated for version 7.2a-014 2008-07-04 16:51:55 +00:00
vimboss 69a421f7a9 updated for version 7.2a-013 2008-07-04 09:44:11 +00:00
Kaoru Yoshida 01367854ac Draw marked text at pre-edit position 2008-07-04 09:43:55 +09:00
Kaoru Yoshida 3f99a2ce60 Fix marked text disappearing issues 2008-07-04 09:41:28 +09:00
Kaoru Yoshida 83c4f299d4 Fix display issue with marked text at the edge of a window 2008-07-02 21:59:37 +02:00
vimboss cb5a3504ee updated for version 7.2a-012 2008-07-02 19:05:48 +00:00
vimboss 7332de00a2 updated for version 7.2a-011 2008-07-01 19:56:57 +00:00
Bjorn Winckler 26335ef7bd Cmd-=/- work again
A category on NSNumber which is essential for Cmd-=/- got lost in the
creation of Miscellaneous.h, so revive this category.
2008-07-01 20:15:49 +02:00
Bjorn Winckler 76a3a22210 Marked text baseline adjusts for 'linespace' and font baseline 2008-07-01 20:11:00 +02:00
Kaoru Yoshida 33c4a57e05 Inline IM Patch 2008-07-01 19:19:19 +02:00
Bjorn Winckler b24d62ac03 Update help for 7.2a 2008-07-01 18:51:52 +02:00
Matt Tolton 523982bd0f Basic plugin architecture
Supports automatic loading of plugins.  Plugins can: add "GUI panels"
(which appear in a drawer for now), add global menu items, execute
arbitrary Vim script inside its associated Vim instance.

Also add routines to evaluate expressions in Vim and automatically
convert returned value to a Cocoa object.
2008-07-01 00:08:59 +02:00
Bjorn Winckler d363012f00 Add support for a global "Plug-In" menu 2008-06-30 23:51:37 +02:00
vimboss 2c3d9cf5f4 updated for version 7.2a-010 2008-06-29 14:16:06 +00:00
vimboss 7ccbd55772 updated for version 7.2a-009 2008-06-29 12:00:49 +00:00
Bjorn Winckler 63324d8fb8 Update credits 2008-06-28 18:09:14 +02:00
Bjorn Winckler 68e5dc4041 Only show proxy icon if file being edited exists 2008-06-28 18:07:47 +02:00
Bjorn Winckler 6af7bf3d9d Dialogs are always displayed in the default run loop mode 2008-06-28 18:00:23 +02:00
vimboss 957dd2b789 updated for version 7.2a-008 2008-06-28 14:10:11 +00:00
vimboss 7f1ec4af38 updated for version 7.2a-007 2008-06-28 13:09:56 +00:00
vimboss 6274fc0a91 updated for version 7.2a-006 2008-06-28 11:03:50 +00:00
vimboss a6273ea452 updated for version 7.2a-005 2008-06-27 19:17:34 +00:00
vimboss 1b66758764 updated for version 7.2a-004 2008-06-27 18:58:11 +00:00
vimboss 0b417afefb updated for version 7.2a-003 2008-06-27 18:42:32 +00:00
vimboss 3e03911680 updated for version 7.2a-002 2008-06-27 18:26:11 +00:00
vimboss 151ecabf8d updated for version 7.2a-001 2008-06-26 20:14:00 +00:00
Bjorn Winckler 3abdb9cb77 Cmd-? brings up "Help" menu on Leopard (shows help on Tiger) 2008-06-26 20:01:28 +02:00
Bjorn Winckler ad5cf22a75 Add file for misc code in frontend
The files Miscellaneous.[m|h] should be used for code common to the
frontend only (code shared with backend belongs in MacVim.[h|m]).  Some
code has been moved from MacVim.[h|m] and some from other frontend
source files.

Some code from the previous commit has also been restructured.
2008-06-26 19:27:48 +02:00
vimboss a74b78844d updated for version 7.2a-00 2008-06-25 20:13:35 +00:00
vimboss 527eb86b22 updated for version 7.2a 2008-06-25 01:35:16 +00:00
vimboss 473f6440a5 updated for version 7.2a 2008-06-25 01:26:17 +00:00
vimboss 0688d62523 updated for version 7.2a 2008-06-25 01:18:32 +00:00
vimboss 4f10f1c121 updated for version 7.2a 2008-06-25 01:14:13 +00:00
vimboss fd92d907e2 updated for version 7.2a 2008-06-25 01:05:34 +00:00
vimboss ddd0692356 updated for version 7.2a 2008-06-25 01:02:34 +00:00
vimboss 075a66afb3 updated for version 7.2a 2008-06-25 01:00:37 +00:00
vimboss c08d59f6fb updated for version 7.2a 2008-06-25 00:55:20 +00:00
vimboss b97664e078 updated for version 7.2a 2008-06-25 00:50:38 +00:00
vimboss 34a3bc02df updated for version 7.2a 2008-06-25 00:48:31 +00:00
vimboss e2884876f2 updated for version 7.2a 2008-06-25 00:44:59 +00:00
vimboss 721ab2c4ee updated for version 7.2a 2008-06-25 00:42:29 +00:00
vimboss 0c515cb6e8 updated for version 7.2a 2008-06-25 00:39:49 +00:00
vimboss 925a408c9b updated for version 7.2a 2008-06-25 00:34:34 +00:00
vimboss d51da8ae26 updated for version 7.2a 2008-06-25 00:33:13 +00:00
vimboss 5f8d5b9506 updated for version 7.2a 2008-06-25 00:31:04 +00:00
vimboss 8aac2cfa00 updated for version 7.2a 2008-06-25 00:29:54 +00:00
vimboss 42a20b424e updated for version 7.2a 2008-06-25 00:26:19 +00:00
vimboss b9fa86db77 updated for version 7.2a 2008-06-25 00:23:56 +00:00
vimboss f4c4042cc7 updated for version 7.2a 2008-06-25 00:22:05 +00:00
vimboss 9910f9a404 updated for version 7.2a 2008-06-25 00:16:10 +00:00
vimboss 7d20ae0e9f updated for version 7.2a 2008-06-25 00:09:14 +00:00
vimboss da0253b0b8 updated for version 7.2a 2008-06-24 23:58:50 +00:00
vimboss 97186bab3b updated for version 7.2a 2008-06-24 22:58:06 +00:00
vimboss 0554c4af6b updated for version 7.2a 2008-06-24 22:14:38 +00:00
vimboss 8f5a3aeb21 updated for version 7.2a 2008-06-24 22:09:24 +00:00
vimboss efe58cdf91 updated for version 7.2a 2008-06-24 21:56:24 +00:00
vimboss 490fa97722 updated for version 7.2a 2008-06-24 21:16:56 +00:00
vimboss d87f8c5f49 updated for version 7.2a 2008-06-24 20:39:31 +00:00
vimboss 2d9f2539e6 updated for version 7.2a 2008-06-24 20:19:36 +00:00
Nico Weber b391feee88 Add "show hidden files" checkbox to open file dialog 2008-06-24 21:32:31 +02:00
Bjorn Winckler 79ec8a039d Fix typo in Appcast for snapshot 32 2008-06-25 00:01:12 +02:00
Bjorn Winckler da4c936c72 Tell Git to ignore files 2008-06-24 20:53:57 +02:00
Bjorn Winckler 57247ff882 Don't respond to SetWindowTitleMsgID message in live resize
Responding to these messages would clobber the text dimension title that
is set during live resize.
2008-06-24 20:52:01 +02:00
Kyle Lippincott 53f258bb6f Add proxy icon support 2008-06-24 20:28:40 +02:00
Bjorn Winckler 10cff2591d Update README file 2008-06-22 17:08:38 +02:00
Bjorn Winckler ab9df03d0d Snapshot 32 2008-06-22 14:30:09 +02:00
Bjorn Winckler e7b9c11089 Delay display of popup menu
The popup menu enters a modal loop so it is not displayed immediately to
avoid blocking inside processCommandQueue:.
2008-06-21 21:23:30 +02:00
Bjorn Winckler d98996d31c Code cleanup 2008-06-21 21:18:17 +02:00
Bjorn Winckler 40056b05c3 Delay processing unsafe command queue items
Unsafe messages are defined in isUnsafeMessage().  If a message is
unsafe it should only be handled in the default run loop mode.  This is
e.g. to avoid deleting Cocoa objects when a Cocoa message may be busy
processing it (which may happen due to the nature of distributed objects
and the fact that we process DO message in 'event tracking' mode).
2008-06-21 20:32:37 +02:00
Bjorn Winckler a4e3a7370b Search for toolbar icons in 'runtimepath' 2008-06-21 18:14:36 +02:00
Bjorn Winckler 7ad0084f3f Merge upstream 2008-06-21 16:31:00 +02:00
vimboss d165ccb4bc updated for version 7.1-330 2008-06-21 14:30:28 +00:00
vimboss b53ee76b5e updated for version 7.1-329 2008-06-21 12:14:30 +00:00
vimboss 6255f52fc5 updated for version 7.1-328 2008-06-21 11:12:49 +00:00
vimboss f63e3834b4 updated for version 7.1-327 2008-06-20 19:29:35 +00:00
Bjorn Winckler 9338c9c55c Fall back on latin-1 if Vim strings are not valid utf-8 2008-06-20 19:50:22 +02:00
Bjorn Winckler 11a1c2cb92 Never delete toolbar 2008-06-20 19:36:34 +02:00
Bjorn Winckler 59ad683558 Ensure vim controllers are released in default run loop mode
Vim controllers are released when NSConnectionDidDieNotification is
received.  This notification can arrive in pretty much any run loop mode
so we take care not to act on it until the run loop mode is back to
default.  Otherwise we run the risk of releasing objects which Cocoa is
currently using (e.g. view items) and this leads to crashes.
2008-06-20 19:33:34 +02:00
vimboss 95fb95ebcc updated for version 7.1-326 2008-06-20 16:51:41 +00:00
vimboss bc9688ffdc updated for version 7.1-325 2008-06-20 16:31:07 +00:00
vimboss bafdc2c3e1 updated for version 7.1-324 2008-06-20 16:07:02 +00:00
vimboss 279b3f843c updated for version 7.1-323 2008-06-20 15:53:31 +00:00
vimboss 603f746178 updated for version 7.1-322 2008-06-20 15:31:51 +00:00
vimboss 255571d05e updated for version 7.1-321 2008-06-20 14:52:32 +00:00
vimboss 82038bc905 updated for version 7.1-320 2008-06-20 14:32:41 +00:00
vimboss bca5b2086e updated for version 7.1-319 2008-06-20 10:56:16 +00:00
vimboss 67d03b985b updated for version 7.1-318 2008-06-20 09:59:25 +00:00
vimboss 2d36c33fd5 updated for version 7.1-317 2008-06-20 09:40:11 +00:00
vimboss ee9959e56c updated for version 7.1-316 2008-06-20 09:11:34 +00:00
Bjorn Winckler 9ca5f6bcdb Guard against reentrant calls to processCommandQueue:
If processCommandQueue: is called when inProcessCommandQueue is set we
add the input to a receive queue and return.  This is to ensure that
processCommandQueue: can only be called "once at a time".  Reentrant
calls can be caused by calling a synchronous DO message or by entering a
modal loop in the frontend.
2008-06-15 16:11:38 +02:00
vimboss 626995c3e8 updated for version 7.1-315 2008-06-15 12:21:50 +00:00
Bjorn Winckler 634ef3b803 Never translate Ctrl-click if Alt, Shift, or Cmd are pressed 2008-06-13 19:27:56 +02:00
Bjorn Winckler aed4648a3d Make background processes work 2008-06-13 19:12:55 +02:00
Bjorn Winckler cd2f7e9eb1 Flush output queue even when 'exiting' flag is set
There are legitimate instances when the queue should flush even though
Vim is exiting, e.g. to display a 'confirm quit' dialog with 'go+=c'.

This patch has the negative side-effect that the "dropping DO message"
warning may occur more frequently.  Another fix for this problem has to
be devised.
2008-06-13 19:01:56 +02:00
Bjorn Winckler 3b966f9e01 Snapshot 31 2008-06-13 16:35:31 +02:00
Bjorn Winckler 8009a9912d Update DejaVu font to version 2.25 2008-06-13 14:27:02 +02:00
Bjorn Winckler cdf043f0f9 Draw modeless selection 2008-06-12 22:22:16 +02:00
Bjorn Winckler 757e8b4359 Toolbar buttons respond to mouse clicks again
Toolbar items send vimToolbarItemAction: instead of vimMenuItemAction:.
This enables us to separate toolbar items from menu items and can build
proper descriptors (starting with "ToolBar").
2008-06-12 13:23:26 +02:00
Bjorn Winckler 7b68b0b56d Disable default main menu key equivalent hack
In performKeyEquivalent: do not pass the key equivalent to
defaultMainMenu since this breaks the menus on OS X 10.4.  Also, this
hack is not strictly needed now that window cycling is hardcoded (and a
"New Window" menu is always available on the dock menu) so it is just as
well that it is removed.
2008-06-12 12:58:52 +02:00
Bjorn Winckler 21b029712f Set mouse cursor on mouseMoved:
This seems to be the only way to get the mouse cursor not to be changed
to an I-beam cursor all the time.
2008-06-09 22:18:36 +02:00
Bjorn Winckler 80b4c97a2c Add Dock menu 2008-06-09 21:52:32 +02:00
Bjorn Winckler 404077032e Dialog box handling updated
Keep waiting for dialog reply until it is received.  Any input received
during this wait is discarded unless it is a 'set text dimensions'
message (or keyboard/mouse input).  Also, make setDialogReturn: a
synchronous call so that it is less likely to get dropped.
2008-06-09 21:34:54 +02:00
Bjorn Winckler 04cd1420c1 Force flush output queue before presenting any dialog
The previous commit did not ensure the output queue was flushed before
"browse" dialogs were shown.
2008-06-09 19:13:43 +02:00
Bjorn Winckler 46ae2ec9cb Force flush output queue before showing dialog
This ensures that the swap file information is displayed when the 'swap
file exists' dialog is shown.
2008-06-09 18:48:10 +02:00
Bjorn Winckler 85cc2265e8 Merge upstream 2008-06-09 17:08:00 +02:00
vimboss 4c3907a8ff updated for version 7.1-314 2008-06-09 15:07:54 +00:00
vimboss f4fef46de2 updated for version 7.1-313 2008-06-09 13:10:45 +00:00
vimboss 28c76af675 updated for version 7.1-312 2008-06-09 12:46:00 +00:00
Bjorn Winckler 9716d0b66f Snapshot 30 2008-06-08 16:54:26 +02:00
Bjorn Winckler 428d1b4412 Window cycling hardcoded to keycode 50
Window cycling is hardcoded to happen when the Cmd key is pressed with
the key whose keycode = 50.  Having window cycling in the "Window" menu
means that window cycling stops working when the keyboard layout is
changed.  Thus revert back to the old way of dealing with this since it
seems to work better.
2008-06-08 16:35:43 +02:00
Bjorn Winckler bf70f82498 Snapshot 29 2008-06-08 14:21:16 +02:00
Bjorn Winckler 89d9e60b8a Add 'rightleft' support to ATSUI renderer 2008-06-07 15:36:07 +02:00
Bjorn Winckler 0ea7546c7c Add 'mousehide' option support 2008-06-07 15:35:25 +02:00
Bjorn Winckler 321fdf61aa Ensure processCommandQueueDidFinish: gets called if exception is raised 2008-06-07 14:33:05 +02:00
Bjorn Winckler 2fa74c01aa Use -[NSScreen visibleFrame] to get full-screen max dimensions
This fixes a bug where the window dimensions were not restored after
leaving full-screen (with 'maxvert' fu-option set).
2008-06-07 14:30:52 +02:00
Bjorn Winckler c4222c6ebb Don't delay loading "Buffers" menu
This avoids a flickering menu each time a new editor window is opened.
2008-06-07 12:42:47 +02:00
Bjorn Winckler 1f538dc364 Set title for separator items to ensure valid descriptors 2008-06-06 23:32:26 +02:00
Bjorn Winckler 9471224d0b Give Vim processes some time to terminate before MacVim does
This should stop MacVim from beeping when Cmd-q is pressed.
2008-06-06 22:46:13 +02:00
Bjorn Winckler 1d83527039 Pass 'rl' option in "DrawCursor" message 2008-06-06 22:31:21 +02:00
Bjorn Winckler 7752431b82 Ensure "Services" menu is empty when creating new main menu
MMVimController uses a copy of the "MacVim" menu that is defined inside
MainMenu.nib instead of getting it from the default main menu.  This
ensures that the "Services" menu is initially empty for each new
MMVimController.  Without this the setKeyEquivalent: call would fail if
the key equivalent already was in a "Services" menu item (e.g. <D-F> and
<D-L> would fail).
2008-06-06 21:20:55 +02:00
Bjorn Winckler 2ac28f887e Edit->Font->Bigger/Smaller validates properly
Fixes bug where the above items were enabled even when all windows were
minimized.
2008-06-06 17:47:54 +02:00
Bjorn Winckler 9c517cb4e9 Don't draw control chars in MMTextStorage
It can happen that MMTextStorage is asked to draw characters from the
"Control Characters" set (e.g. when :shell is invoked).  This would
cause internal errors in MMTextStorage so when control chars are
detected, simply draw blanks instead.
2008-06-06 14:24:49 +02:00
Bjorn Winckler 3915c6afc6 Catch exceptions in processCommandQueue: 2008-06-06 14:22:49 +02:00
Bjorn Winckler a4569d06ac Do not set key equivalent when 'mac_key == 0' 2008-06-06 14:16:10 +02:00
Bjorn Winckler cb120a21cf Validate performClose: in MMWindow and MMFullscreenWindow
Failing to validate would cause the "Close" menu item to be disabled in
full-screen.
2008-06-05 23:13:40 +02:00
Bjorn Winckler 7070fd3f76 Update help on menus 2008-06-05 21:27:02 +02:00
Bjorn Winckler 9f1b770ee6 Add "Cycle Through Windows" to default "Windows" menu
This ensures that Cmd-` works for all windows.  Also changed its
alternate to read "Cycle Backwards Through Windows".  Note that the
default "Windows" menu does not contain the alternate since Interface
Builder turned Cmd-Shift-` into Cmd-~ which is no longer a valid
alternate.
2008-06-05 20:52:30 +02:00
Bjorn Winckler ebf10927c7 Ignore "Recent Files" when no "File" menu is found 2008-06-05 20:24:36 +02:00
Bjorn Winckler e18186c461 Pass key equivalents to default main menu after main menu
This is so that the key equivalents set up in the default main menu will
work even when the system gvimrc files hasn't been sourced.  This is
useful e.g. when "-u NONE -U NONE" is passed as arguments resulting in
the default Vim menus being used.
2008-06-05 20:19:32 +02:00
Bjorn Winckler af279d2477 Update MMAppController top level information 2008-06-04 21:53:05 +02:00
Bjorn Winckler 8c442b7b28 Merge upstream 2008-06-04 21:36:00 +02:00
vimboss 4c6ed9759c updated for version 7.1-311 2008-06-04 19:35:35 +00:00
Bjorn Winckler d98e291038 Set windows menu even if it is nil 2008-06-04 21:21:28 +02:00
Bjorn Winckler 092e0cc894 Add support for popup menus 2008-06-04 21:17:05 +02:00
vimboss b904b019b8 updated for version 7.1-310 2008-06-04 17:37:34 +00:00
Bjorn Winckler c0159b8fdf Default menu "MacVim Help" item opens help window maximized 2008-06-04 19:08:52 +02:00
Bjorn Winckler 11ec93a03a Add "Minimize All" and "Zoom All" items to "Windows" menu 2008-06-04 19:03:33 +02:00
Bjorn Winckler c2f8b396de Add "Cycle Through Windows" to Windows menu (remove <D-`> hack) 2008-06-04 18:45:45 +02:00
Bjorn Winckler fa15736b2b Hook up "MacVim Help" on default main menu 2008-06-04 18:25:08 +02:00
Bjorn Winckler d1a9e08f94 Add standard menus to default main menu 2008-06-04 18:17:23 +02:00
vimboss 9d2727c56f updated for version 7.1-309 2008-06-04 13:28:18 +00:00
vimboss ce9c112020 updated for version 7.1-308 2008-06-04 12:29:14 +00:00
vimboss 0e2ddfca38 updated for version 7.1-307 2008-06-04 11:35:26 +00:00
vimboss 1f7de911ba updated for version 7.1-306 2008-06-04 09:00:32 +00:00
Bjorn Winckler f6ab5cbc03 Use default menu when no window open, fix 'Recent Files' menu 2008-06-03 23:15:18 +02:00
Bjorn Winckler 44d7e60b06 Change heuristic for finding "Services" menu 2008-06-02 18:44:59 +02:00
Bjorn Winckler 0e37f590ab Use -[NSApp setMainMenu:] to update main menu 2008-06-01 21:28:18 +02:00
Bjorn Winckler a0f684e003 Add autoenabling for menus 2008-06-01 15:57:21 +02:00
Bjorn Winckler f54c3100e9 Menu removal functionality added 2008-06-01 14:30:00 +02:00
Bjorn Winckler a588fc3e33 Use menu descriptors instead of tags to locate menu items 2008-05-31 21:47:30 +02:00
vimboss 039f611554 updated for version 7.1-305 2008-05-29 20:41:57 +00:00
vimboss 3a4682c9dd updated for version 7.1-304 2008-05-29 19:47:13 +00:00
Nico Weber fdc64858c5 Wrap user-visible strings in NSLocalizedString() 2008-05-29 17:01:44 +02:00
vimboss 45a9151fc6 updated for version 7.1-303 2008-05-29 13:36:10 +00:00
vimboss b9241163d8 updated for version 7.1-302 2008-05-28 20:02:48 +00:00
Bjorn Winckler defa7bd098 Insert mode cursor respects 'rightleft' option
When 'rl' is enabled the insert mode cursor is drawn on the right-hand
side of a cell.
2008-05-28 21:16:27 +02:00
vimboss 6bfab82aca updated for version 7.1-301 2008-05-28 17:02:46 +00:00
vimboss 64959e3177 updated for version 7.1-300 2008-05-28 15:32:20 +00:00
vimboss 2eee45eb39 updated for version 7.1-299 2008-05-28 14:49:58 +00:00
Nico Weber 8d051eef4e Make QuickLook work with .vim files 2008-05-27 17:40:55 +02:00
Bjorn Winckler 7f449520a5 Patch a memory leak
The 'vimState' instance variable in MMVimController is now released on
dealloc.
2008-05-25 21:59:39 +02:00
Bjorn Winckler 07831f45b2 Snapshot 28 2008-05-25 20:22:58 +02:00
Bjorn Winckler 9a69ad0d62 Open and save dialogs track the Vim pwd
Open and save dialogs will open up at the present working directory of
the key Vim process.  This can be disabled by setting the user default
"MMDialogsTrackPwd" to 0.  If disabled, these dialogs always open up at
the last location browsed to (which is the default OS X behaviour).
2008-05-25 19:22:12 +02:00
Bjorn Winckler be6ecb5d92 Set 'backspace' in the system vimrc
Add "indent,eol,start" to the 'backspace' option in $VIM/vimrc to make
the delete key behave in a more familiar way to new users.  The help
file has been update to point out this non-standard behaviour.
2008-05-25 13:35:08 +02:00
Bjorn Winckler 138be9d567 Improve "Edit" menu support in dialogs
The Edit menu items cut/copy/paste/select all/undo/redo are wired to
send the appropriate action messages (now possible with :macmenu
command) so that they may work with dialogs.  However, to make this work
100%, menus must first autoenable (which they currently do not).  This
will be addressed in a future patch.
2008-05-20 16:12:52 +02:00
Bjorn Winckler 0430474168 Coerce MacVim to work with LCC
The LCC (Logitech Control Center) comes with an input manager which
registers its own root object with the default NSConnection.  MacVim
uses the root object of the default connection to vend the frontend
object, so LCC would cause MacVim to never open any new windows.

To work around this problem the default connection is no longer used in
MacVim, instead a new connection is created and this connection is used
to vend the frontend object instead.
2008-05-20 14:40:57 +02:00
Bjorn Winckler 0f1ee64746 Fix bug in :macmenu
Menu item not found lead to bad memory access.
2008-05-19 21:34:55 +02:00
Bjorn Winckler d08cc220fd Add "File.Save All" menu item
This patch serves the secondary purpose of showing off the new feature
of being able to specify alternate menu items using the new :macmenu
command.  When the "File" menu is revealed either the "Save All" or the
"Save" item is displayed, depending on whether Alt is held or not.
2008-05-19 20:08:52 +02:00
Bjorn Winckler 04d9ab21b0 Bind "File.Close" to ":conf q"
With the introduction of ":macmenu" it is possible to bind "File.Close"
to ":conf q" and at the same time have it send the "performClose:"
action.

This patch reverts back to using ":conf q" since there were problems
with "File.Close" in conjunction with bindings to <C-\>.
2008-05-19 19:28:20 +02:00
Bjorn Winckler 9c7523e944 Change ":macmenukey" to ":macmenu"
The new command allows better control over menus with ability to specify
key equivalent, action, and wheter menu item is an alternate.  These are
specified as "key=value" pairs to allow future expansion.  The help
files have also been rewritten to reflect this change.
2008-05-19 19:09:05 +02:00
Bjorn Winckler 030d0d07ec Update help which referred to Carbon version
In particular, state that MacVim does not source $VIMRUNTIME/macmap.vim.
2008-05-19 17:40:02 +02:00
Bjorn Winckler 0578f14843 Appcast points to fixed snapshot 27 2008-05-13 19:38:58 +02:00
Bjorn Winckler 11274e43c4 Merge upstream 2008-05-12 18:00:00 +02:00
Bjorn Winckler ebfad47ec6 Snapshot 27
The 'make-snapshot.sh' script has been updated to run on Leopard with
Perl support (TCL support is disabled for now).
2008-05-11 17:54:22 +02:00
Bjorn Winckler 48e6f325d6 Update credits 2008-05-11 16:22:01 +02:00
vimboss e899e2dfc7 updated for version 7.1-298 2008-05-10 19:39:08 +00:00
Bjorn Winckler 1bc466c774 Move "Recent Files" menu 2008-05-10 16:11:43 +02:00
Bjorn Winckler f08c899208 Add files opened/saved from :browse to "Recent Files" menu 2008-05-10 16:07:58 +02:00
Bjorn Winckler 31bd050607 Avoid "dropping DO message ..." warning when quitting
The warning was a result of sending a DO message from Vim and then
immediately exiting the process.  It is avoided by not sending any DO
messages while Vim is exiting.
2008-05-10 15:25:44 +02:00
Bjorn Winckler 2e6fb2ea53 Enable macvim color scheme to work with other Vim ports 2008-05-09 21:58:19 +02:00
Nico Weber 862da53932 Add "Recent Files" menu
The recent files menu will only remember files opened from Finder and
not files opened from within Vim (via :e etc.).  Recent files will also
be added to the "Recent Items" menu under the Apple menu.

(Patch by Nico Weber with some modifications by Bjorn Winckler.)
2008-05-09 21:41:39 +02:00
Bjorn Winckler 15763286bd Window no longer moves down on zoom 2008-05-09 15:05:31 +02:00
Bjorn Winckler fed823a238 Modifying 'antialias' in .[g]vimrc now works 2008-05-09 13:36:15 +02:00
Bjorn Winckler 5d5176aabf Cmd-w shows confirmation dialog when buffer modified 2008-05-09 13:27:03 +02:00
Enno Lübbers 19468d3117 Add background color option to 'fuopt' 2008-05-08 12:31:28 +02:00
Bjorn Winckler 0402b6b5c4 Merge upstream 2008-05-07 21:47:00 +02:00
vimboss b6932fb3ae updated for version 7.1-297 2008-05-07 19:46:51 +00:00
vimboss 22695b7f3b updated for version 7.1-296 2008-05-07 17:09:24 +00:00
vimboss bc8b62f3d9 updated for version 7.1-295 2008-05-07 15:40:33 +00:00
vimboss bd542602dd updated for version 7.1-294 2008-05-07 11:10:28 +00:00
Bjorn Winckler e5159c3b6a Snapshot 26 2008-04-11 22:54:48 +02:00
Bjorn Winckler b36829bcaa Add 'antialias' to list of non-standard options in help 2008-04-10 21:07:52 +02:00
Bjorn Winckler 07c344444b New MacVim icon 2008-04-10 20:57:46 +02:00
Bjorn Winckler bafcc3365d Merge upstream 2008-04-09 15:50:00 +02:00
vimboss 41ca0e5508 updated for version 7.1-293 2008-04-09 13:49:57 +00:00
vimboss 246dfc17f4 updated for version 7.1-292 2008-04-09 10:16:02 +00:00
Bjorn Winckler 9aae3ba3cc Fix initial window placement bug
The algorithm which determines the topmost window only searches through
visible windows.  The initial window placement bug was a result of this
algorithm returning the (invisible) window whose position was to be
determined.
2008-04-08 13:37:21 +02:00
Bjorn Winckler 0a54dd7370 Snapshot 25 2008-04-06 19:38:05 +02:00
Bjorn Winckler 6e8e20588d Only cascade from windows belonging to Vim process
This ensures that a newly opened window isn't cascaded from e.g. the
preferences panel.
2008-04-06 14:36:12 +02:00
Bjorn Winckler 296634f40e Make copy/paste respect block-wise selections
When text is copied inside Vim we put both the text and the motion type
on the pasteboard.  Text copied from outside Vim never contains the
motion type so we have to guess between line and character-wise motion
types in that case.
2008-04-05 15:24:25 +02:00
Bjorn Winckler 13d45e4ff9 Merge upstream
Conflicts:
	src/vim.h
2008-04-01 20:00:00 +01:00
vimboss 3e314dee6e updated for version 7.1-291 2008-04-01 18:59:07 +00:00
vimboss 779811f241 updated for version 7.1-290 2008-04-01 15:14:36 +00:00
vimboss 22017e1410 updated for version 7.1-289 2008-04-01 12:53:43 +00:00
vimboss af8ea2cc11 updated for version 7.1-288 2008-04-01 12:31:14 +00:00
vimboss ac3b778ddb updated for version 7.1-287 2008-04-01 11:12:09 +00:00
vimboss 1de2bc973a updated for version 7.1-286 2008-04-01 10:06:39 +00:00
Bjorn Winckler cdb8dc17ca Update :maca help, release actionDict 2008-03-26 20:41:00 +01:00
Bjorn Winckler b11e6ca3c9 Fix typo in help on :maca 2008-03-23 19:05:37 +01:00
Nico Weber 69c366f7ed Add command line completion to :macaction command
This enables the user to cycle through all actions by typing
":maca <Tab>" and then repeatedly hitting <Tab>.  The help on :maca was
also updated.

(Initial patch by Nico Weber with some changes by Bjorn Winckler.)
2008-03-23 18:48:24 +01:00
Nico Weber 7792c4e8ab Transparency setting not lost after leaving full-screen
Fixes bug where setting 'transp' while in full-screen and switching back
to windowed mode would result in the window being opaque.
2008-03-22 17:15:46 +01:00
Bjorn Winckler 3910f20697 Disable <D-?> key equivalent
The key equivalent is disabled for now since it only works on Tiger and
not on Leopard.
2008-03-22 14:19:23 +01:00
Bjorn Winckler 472eda54f6 Update Help menu
Add "MacVim Help" item with <D-?> key equivalent, as well as a
"MacVim Website" item which opens up the MacVim website in the user's
default browser.
2008-03-21 20:30:41 +01:00
vimboss c09ef35588 updated for version 7.1-285 2008-03-20 13:39:37 +00:00
vimboss bf90097520 updated for version 7.1-284 2008-03-20 12:23:49 +00:00
Bjorn Winckler 3292e01a82 Improve <D-w> behaviour
With this patch <D-w> works as follows:
- if in Ex-mode, exit by sending "^U:vi<CR>"
- if the command-line window is open, close it using CTRL-\_CTRL-N
- otherwise go to normal mode and add ":q<CR>" to the input buffer
2008-03-19 19:56:19 +01:00
Nico Weber ba210fdada Add full-screen options
When entering full-screen the 'fuoptions' option is used to determine
whether the vim view should maximize in the vertical and/or horizontal
directions.  The previous rows/columns are restored upon returning to
windowed mode.

The help docs for 'fullscreen' have been updated and docs for
'fuoptions' have been added.
2008-03-18 19:52:59 +01:00
Jjgod Jiang 2d57fac276 Support 'antialias' with default renderer
This provides some support for the 'antialias' option with the
NSTextView renderer.  However, some fonts seem to be unaffected by this
option.  In particular, Monaco of point sizes up to 10 always render
without antialiasing.
2008-03-16 21:53:35 +01:00
Jjgod Jiang 4868c3cb85 Support 'antialias' with ATSUI renderer
This commit adds support for the 'antialias' option with the ATSUI
renderer (the NSTextView renderer still uses System Preferences).  The
docs on 'antialias' have been updated.

Some changes to the code used by Carbon Vim is affected by this commit.
A feature flag FEAT_ANTIALIAS was added to support easy disabling of
'antialias' support.

(Patch by Jjgod Jiang with some modifications by Bjorn Winckler.)
2008-03-16 18:40:48 +01:00
vimboss d38abe1843 updated for version 7.1-283 2008-03-16 15:04:34 +00:00
vimboss 045cef0a51 updated for version 7.1-282 2008-03-16 13:54:13 +00:00
vimboss 560504f7ba updated for version 7.1-281 2008-03-16 12:09:58 +00:00
vimboss 4ba3129468 updated for version 7.1-280 2008-03-15 12:12:59 +00:00
vimboss 98cc0fee24 updated for version 7.1-279 2008-03-15 11:41:07 +00:00
Bjorn Winckler 26349fc938 Update credits 2008-03-15 12:03:32 +01:00
Bjorn Winckler fb5cf175af Snapshot 24 2008-03-14 21:38:36 +01:00
Bjorn Winckler 0243a624be All prefs panes have same width 2008-03-14 20:12:45 +01:00
Bjorn Winckler 96433d48a1 Update credits 2008-03-14 20:11:37 +01:00
Nico Weber e5ecb34260 Update layout of the Integration prefs pane 2008-03-14 19:44:34 +01:00
Bjorn Winckler 60fd59ea55 Remove build phase from "Edit in ODBEditor" project
The removed build phase was a "Run Script" which called a shell script
that effectively did nothing.
2008-03-14 19:25:24 +01:00
Nico Weber 8afb077865 Ensure mouse cursor is set (again)
The former patch did not work 100% and it also hogged CPU.  This patch
seems to work better and requires no extra CPU.
2008-03-14 19:12:52 +01:00
Bjorn Winckler eef4ba19a6 Take care of compiler warning in MMTextView 2008-03-13 21:45:12 +01:00
Scott 8574b2152c Fix ODB Input Manager memory issue
The Input Manager failed to retain two string objects which were
accessed after having been autoreleased.  This patch fixes the bug where
the "Edit in ..." menu entry was corrupted and related issues.

The version number of the Input Manager has been bumped to 1.2.
2008-03-13 21:41:38 +01:00
vimboss 52b5ee23fc updated for version 7.1-278 2008-03-12 20:48:13 +00:00
vimboss d97c301011 updated for version 7.1-277 2008-03-12 16:38:55 +00:00
vimboss 343bd24d2e updated for version 7.1-276 2008-03-12 16:27:00 +00:00
vimboss a58654a6b0 updated for version 7.1-275 2008-03-12 13:40:54 +00:00
vimboss af62299744 updated for version 7.1-274 2008-03-12 12:46:13 +00:00
vimboss 60cd2a75c1 updated for version 7.1-273 2008-03-12 12:17:28 +00:00
vimboss 2ef7f8c8a0 updated for version 7.1-272 2008-03-12 11:23:53 +00:00
vimboss f2282b0096 updated for version 7.1-271 2008-03-11 21:02:00 +00:00
Nico Weber 90c663f76b Ensure mouse cursor is set
There is a bug in NSTextView where it keeps resetting the mouse cursor
back to the I-beam cursor.  We "fix" this by setting the custom cursor
each time the mouse moves.
2008-03-11 21:46:53 +01:00
vimboss 5d748c8f27 updated for version 7.1-270 2008-03-10 20:34:59 +00:00
vimboss b884eef376 updated for version 7.1-269 2008-03-09 15:45:53 +00:00
vimboss 49cb3f99b8 updated for version 7.1-268 2008-03-09 13:30:56 +00:00
1362 changed files with 220736 additions and 139133 deletions
+14
View File
@@ -1,10 +1,23 @@
.*.swp
.DS_Store
src/MacVim/MacVim.xcodeproj/*.mode1
src/MacVim/MacVim.xcodeproj/*.mode1v3
src/MacVim/MacVim.xcodeproj/*.pbxuser
src/MacVim/icons/*.pyc
src/MacVim/icons/*.ttf
src/MacVim/icons/*.reg
src/MacVim/icons/*.zip
src/MacVim/icons/*.txt
src/MacVim/icons/*.so
src/MacVim/icons/*.egg-info
src/MacVim/icons/build
src/MacVim/icons/makeicns/*.o
src/MacVim/icons/makeicns/makeicns
src/MacVim/PSMTabBarControl/PSMTabBarControl.xcodeproj/*.mode1
src/MacVim/PSMTabBarControl/PSMTabBarControl.xcodeproj/*.mode1v3
src/MacVim/PSMTabBarControl/PSMTabBarControl.xcodeproj/*.pbxuser
src/MacVim/PSMTabBarControl/build
src/MacVim/PSMTabBarControl/build
src/MacVim/build
src/TAGS
src/Vim
@@ -21,3 +34,4 @@ src/objects
src/po/*.mo
src/tags
src/xxd/xxd
src/xxd/xxd.dSYM
+53
View File
@@ -0,0 +1,53 @@
syntax: glob
# Unixen: object and executable files.
*.o
src/vim
src/xxd/xxd
src/auto/if_perl.c
src/tags
# We do need src/auto/configure.
src/auto/config.aap
src/auto/config.cache
src/auto/config.h
src/auto/config.log
src/auto/config.mk
src/auto/config.status
src/auto/configure.aap
src/auto/osdef.h
src/auto/link.log
src/auto/link.sed
src/auto/pathdef.c
# Windows
*.exe
*.idb
*.manifest
*.exp
*.obj
*.pdb
*.ilk
*.sln
*.suo
*.res
*.RES
src/pathdef.c
src/Obj*/pathdef.c
gvimext.dll
gvimext.lib
# All platforms
*.rej
*.orig
*.mo
*.swp
*~
# Generated by "make test"
src/po/*.ck
src/testdir/mbyte.vim
src/testdir/mzscheme.vim
src/testdir/small.vim
src/testdir/tiny.vim
src/testdir/test*.out
+1597
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -9,10 +9,10 @@ Vim Vi IMproved. A clone of the UNIX text editor Vi. Very useful
messages, shows current file name in window title, on-line
help, rectangular cut/paste, etc., etc., etc...
Version 7.1. Also runs under UNIX, MSDOS and other systems.
vim71rt.tgz contains the documentation and syntax files.
vim71bin.tgz contains the binaries.
vim71src.tgz contains the sources.
Version 7.3. Also runs under UNIX, MSDOS and other systems.
vim73rt.tgz contains the documentation and syntax files.
vim73bin.tgz contains the binaries.
vim73src.tgz contains the sources.
Author: Bram Moolenaar et al.
+27 -22
View File
@@ -7,6 +7,7 @@ SRC_ALL = \
src/arabic.c \
src/arabic.h \
src/ascii.h \
src/blowfish.c \
src/buffer.c \
src/charset.c \
src/diff.c \
@@ -38,6 +39,7 @@ SRC_ALL = \
src/mark.c \
src/mbyte.c \
src/memfile.c \
src/memfile_test.c \
src/memline.c \
src/menu.c \
src/message.c \
@@ -58,6 +60,7 @@ SRC_ALL = \
src/regexp.h \
src/screen.c \
src/search.c \
src/sha256.c \
src/structs.h \
src/spell.c \
src/syntax.c \
@@ -79,6 +82,7 @@ SRC_ALL = \
src/testdir/test49.vim \
src/testdir/test60.vim \
src/proto.h \
src/proto/blowfish.pro \
src/proto/buffer.pro \
src/proto/charset.pro \
src/proto/diff.pro \
@@ -116,6 +120,7 @@ SRC_ALL = \
src/proto/regexp.pro \
src/proto/screen.pro \
src/proto/search.pro \
src/proto/sha256.pro \
src/proto/spell.pro \
src/proto/syntax.pro \
src/proto/tag.pro \
@@ -137,6 +142,7 @@ SRC_UNIX = \
pixmaps/gen-inline-pixbufs.sh \
pixmaps/stock_icons.h \
src/INSTALL \
src/INSTALLx.txt \
src/Makefile \
src/auto/configure \
src/config.aap.in \
@@ -193,6 +199,7 @@ SRC_UNIX = \
src/vim_icon.xbm \
src/vim_mask.xbm \
src/vimtutor \
src/gvimtutor \
src/which.sh \
src/workshop.c \
src/workshop.h \
@@ -204,19 +211,24 @@ SRC_UNIX = \
SRC_DOS_UNIX = \
src/if_cscope.c \
src/if_cscope.h \
src/if_lua.c \
src/if_mzsch.c \
src/if_mzsch.h \
src/if_perl.xs \
src/if_perlsfio.c \
src/if_python.c \
src/if_python3.c \
src/if_py_both.h \
src/if_ruby.c \
src/if_sniff.h \
src/if_tcl.c \
src/proto/if_cscope.pro \
src/proto/if_lua.pro \
src/proto/if_mzsch.pro \
src/proto/if_perl.pro \
src/proto/if_perlsfio.pro \
src/proto/if_python.pro \
src/proto/if_python3.pro \
src/proto/if_ruby.pro \
src/proto/if_tcl.pro \
src/typemap \
@@ -249,6 +261,8 @@ SRC_DOS = \
src/Make_w16.mak \
src/bigvim.bat \
src/msvcsetup.bat \
src/msvc2008.bat \
src/msvc2010.bat \
src/dimm.idl \
src/dlldata.c \
src/dosinst.c \
@@ -282,6 +296,7 @@ SRC_DOS = \
src/proto/os_win32.pro \
src/proto/os_mswin.pro \
src/testdir/Make_dos.mak \
src/testdir/Make_ming.mak \
src/testdir/dos.vim \
src/uninstal.c \
src/vim.def \
@@ -365,7 +380,7 @@ SRC_MAC = \
src/os_mac.h \
src/os_mac.rsr.hqx \
src/os_mac_conv.c \
src/os_macosx.c \
src/os_macosx.m \
src/proto/gui_mac.pro \
src/proto/os_mac_conv.pro \
@@ -413,9 +428,6 @@ SRC_EXTRA = \
$(SRC_VMS) \
README_os390.txt \
src/Make_mint.mak \
src/Make_ro.mak \
src/gui_riscos.c \
src/gui_riscos.h \
src/if_sniff.c \
src/infplist.xml \
src/link.390 \
@@ -423,10 +435,6 @@ SRC_EXTRA = \
src/os_beos.h \
src/os_beos.rsrc \
src/os_mint.h \
src/os_riscos.c \
src/os_riscos.h \
src/proto/gui_riscos.pro \
src/proto/os_riscos.pro \
src/os_vms_fix.com \
src/toolbar.phi \
@@ -513,6 +521,7 @@ RT_SCRIPTS = \
runtime/indent/*.vim \
runtime/indent/README.txt \
runtime/ftplugin/*.vim \
runtime/ftplugin/logtalk.dict \
runtime/ftplugin/README.txt \
runtime/plugin/*.vim \
runtime/plugin/README.txt \
@@ -649,13 +658,12 @@ EXTRA = \
farsi/fonts/*/far-* \
runtime/vimlogo.xpm \
src/swis.s \
src/tee/Makefile* \
src/tee/Makefile \
src/tee/tee.c \
csdpmi4b.zip \
# generic language files
LANG_GEN = \
README_lang.txt \
runtime/doc/*-fr.1 \
runtime/doc/*-fr.UTF-8.1 \
runtime/doc/*-it.1 \
@@ -670,25 +678,22 @@ LANG_GEN = \
runtime/keymap/*.vim \
runtime/tutor/README.*.txt \
runtime/tutor/Makefile \
runtime/tutor/tutor.utf-8 \
runtime/tutor/tutor.?? \
runtime/tutor/tutor.cs.* \
runtime/tutor/tutor.gr.* \
runtime/tutor/tutor.hu.* \
runtime/tutor/tutor.ja.* \
runtime/tutor/tutor.ko.* \
runtime/tutor/tutor.pl.* \
runtime/tutor/tutor.ru.* \
runtime/tutor/tutor.sk.* \
runtime/tutor/tutor.tr.* \
runtime/tutor/tutor.zh.* \
runtime/tutor/tutor.??.* \
runtime/tutor/tutor.bar \
runtime/tutor/tutor.bar.* \
runtime/spell/README.txt \
runtime/spell/??/*.diff \
runtime/spell/??/main.aap \
runtime/spell/tet/*.diff \
runtime/spell/tet/main.aap \
runtime/spell/check/main.aap \
runtime/spell/check/*.aff \
runtime/spell/check/*.dic \
runtime/spell/yi/README.txt \
runtime/spell/main.aap \
runtime/spell/cleanadd.vim \
runtime/spell/*.vim \
runtime/spell/fixdup \
# generic language files, binary
LANG_GEN_BIN = \
+112 -127
View File
@@ -3,8 +3,10 @@
# 2. Creating the various distribution files.
# 1. Using this Makefile without an argument will compile Vim for Unix.
#########################################################################
# 1. Starting the compilation of Vim for Unix.
#
# Using this Makefile without an argument will compile Vim for Unix.
# "make install" is also possible.
#
# NOTE: If this doesn't work properly, first change directory to "src" and use
@@ -21,6 +23,9 @@
# has run can result in compiling with $(CC) empty.
first:
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
@@ -28,25 +33,22 @@ first:
# Some make programs use the last target for the $@ default; put the other
# targets separately to always let $@ expand to "first" by default.
all install uninstall tools config configure reconfig proto depend lint tags types test testclean clean distclean:
@if test ! -f src/auto/config.mk; then \
cp src/config.mk.dist src/auto/config.mk; \
fi
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
# 2. Create the various distributions:
#########################################################################
# 2. Creating the various distribution files.
#
# TARGET PRODUCES CONTAINS
# unixall vim-#.#.tar.bz2 Runtime files and Sources for Unix
#
# extra vim-#.#-extra.tar.gz Extra source and runtime files
# lang vim-#.#-lang.tar.gz multi-language files
# unixall vim-#.#.tar.bz2 All runtime files and sources, for Unix
#
# html vim##html.zip HTML docs
#
# amisrc vim##src.tgz sources for Amiga
# amirt vim##rt.tgz runtime for Amiga
# amibin vim##bin.tgz binary for Amiga
#
# dossrc vim##src.zip sources for MS-DOS
# dosrt vim##rt.zip runtime for MS-DOS
# dosbin vim##d16.zip binary for MS-DOS 16 bits
@@ -55,7 +57,11 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
# gvim##.zip binary for GUI Win32
# gvim##ole.zip OLE exe for Win32 GUI
# gvim##_s.zip exe for Win32s GUI
# doslang vim##lang.zip language files for Win32
#
# OBSOLETE
# amisrc vim##src.tgz sources for Amiga
# amirt vim##rt.tgz runtime for Amiga
# amibin vim##bin.tgz binary for Amiga
#
# os2bin vim##os2.zip binary for OS/2
# (use RT from dosrt)
@@ -64,31 +70,37 @@ all install uninstall tools config configure reconfig proto depend lint tags typ
#
# All output files are created in the "dist" directory. Existing files are
# overwritten!
# To do all this you need the unix, extra and lang archives, and
# compiled binaries.
# To do all this you need the Unix archive and compiled binaries.
# Before creating an archive first delete all backup files, *.orig, etc.
MAJOR = 7
MINOR = 1
MINOR = 3
# Uncomment this line if the Win32s version is to be included.
DOSBIN_S = dosbin_s
# Uncomment this line if the 16 bit DOS version is to be included.
# DOSBIN_D16 = dosbin_d16
# CHECKLIST for creating a new version:
#
# - Update Vim version number. For a test version in: src/version.h, Contents,
# MAJOR/MINOR above, VIMMAJOR and VIMMINOR in src/Makefile, README*.txt,
# runtime/doc/*.txt and nsis/gvim.nsi. Other things in README_os2.txt. For a
# minor/major version: src/GvimExt/GvimExt.reg, src/vim.def, src/vim16.def.
# minor/major version: src/GvimExt/GvimExt.reg, src/vim.def, src/vim16.def,
# src/gvim.exe.mnf.
# - Adjust the date and other info in src/version.h.
# - Correct included_patches[] in src/version.c.
# - Compile Vim with GTK, Perl, Python, TCL, Ruby, MZscheme (if you can make it
# work), Cscope and "huge" features. Exclude workshop and SNiFF.
# - Compile Vim with GTK, Perl, Python, Python3, TCL, Ruby, MZscheme, Lua (if
# you can make it all work), Cscope and "huge" features. Exclude workshop
# and SNiFF.
# - With these features: "make proto" (requires cproto and Motif installed;
# ignore warnings for missing include files, fix problems for syntax errors).
# - With these features: "make depend" (works best with gcc).
# - "make lint" and check the output (ignore GTK warnings).
# - Enable the efence library in "src/Makefile" and run "make test". May
# require disabling Python and Ruby to avoid trouble with threads.
# - If you have a lint program: "make lint" and check the output (ignore GTK
# warnings).
# - Enable the efence library in "src/Makefile" and run "make test". Disable
# Python and Ruby to avoid trouble with threads (efence is not threadsafe).
# - Check for missing entries in runtime/makemenu.vim (with checkmenu script).
# - Check for missing options in runtime/optwin.vim et al. (with check.vim).
# - Do "make menu" to update the runtime/synmenu.vim file.
@@ -102,10 +114,10 @@ DOSBIN_S = dosbin_s
# the "check" script).
# - Check compiling on Amiga, MS-DOS and MS-Windows.
# - Delete all *~, *.sw?, *.orig, *.rej files
# - "make unixall", "make extra", "make lang", "make html"
# - "make unixall", "make html"
# - Make diff files against the previous release: "makediff7 7.1 7.2"
#
# Amiga:
# Amiga: (OBSOLETE, Amiga files are no longer distributed)
# - "make amisrc", move the archive to the Amiga and compile:
# "make -f Make_manx.mak" (will use "big" features by default).
# - Run the tests: "make -f Make_manx.mak test"
@@ -114,23 +126,29 @@ DOSBIN_S = dosbin_s
# - "make amirt", "make amibin".
#
# PC:
# - Run make on Unix to update the ".mo" files.
# - "make dossrc" and "make dosrt". Unpack the archives on a PC.
# 16 bit DOS version:
# 16 bit DOS version: (OBSOLETE, 16 bit version doesn't build)
# - Set environment for compiling with Borland C++ 3.1.
# - "bmake -f Make_bc3.mak BOR=E:\borlandc" (compiling xxd might fail, in that
# case set environment for compiling with Borland C++ 4.0 and do
# "make -f make_bc3.mak BOR=E:\BC4 xxd/xxd.exe").
# NOTE: this currently fails because Vim is too big.
# - "make test" and check the output.
# - Rename the executables to "vimd16.exe", "xxdd16.exe", "installd16.exe" and
# "uninstald16.exe".
# 32 bit DOS version:
# - Set environment for compiling with DJGPP; "gmake -f Make_djg.mak".
# - "rm testdir/*.out", "gmake -f Make_djg.mak test" and check the output.
# - "rm testdir/*.out", "gmake -f Make_djg.mak test" and check the output for
# "ALL DONE".
# - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
# "uninstald32.exe".
# Win32 console version:
# - Set environment for Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the
# paths when necessary).
# - Set environment for Visual C++ 2008, e.g.:
# "E:\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat". Or, when using the
# Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the paths when necessary).
# For Windows 98/ME the 2003 version is required, but then it won't work on
# Windows 7 and 64 bit.
# - "nmake -f Make_mvc.mak"
# - "rm testdir/*.out", "nmake -f Make_mvc.mak test" and check the output.
# - Rename the executables to "vimw32.exe", "xxdw32.exe".
@@ -151,8 +169,8 @@ DOSBIN_S = dosbin_s
# - Delete install.exe and uninstal.exe.
# - If building the Win32s version delete vimrun.exe.
# Win32s GUI version:
# - Set environment for Visual C++ 4.1 (requires a new console window)
# - "vcvars32" (use the path for VC 4.1 e:\msdev\bin)
# - Set environment for Visual C++ 4.1 (requires a new console window):
# "vcvars32.bat" (use the path for VC 4.1 e:\msdev\bin)
# - "nmake -f Make_mvc.mak GUI=yes INTL=no clean" (use the path for VC 4.1)
# - "nmake -f Make_mvc.mak GUI=yes INTL=no" (use the path for VC 4.1)
# - Rename "gvim.exe" to "gvim_w32s.exe".
@@ -163,21 +181,23 @@ DOSBIN_S = dosbin_s
# - Copy all the "*.exe" files to where this Makefile is.
# - Copy all the "*.pdb" files to where this Makefile is.
# - "make dosbin".
# - Run make on Unix to update the ".mo" files.
# - "make doslang".
# NSIS self installing exe:
# - Unpack the doslang archive on the PC.
# - To get NSIS see http://nsis.sourceforge.net
# - Make sure gvim_ole.exe, vimd32.exe, vimw32.exe, installw32.exe,
# uninstalw32.exe and xxdw32.exe have been build as mentioned above.
# - put gvimext.dll in src/GvimExt and VisVim.dll in src/VisVim (get them
# from a binary archive or build them)
# - copy these files (get them from a binary archive or build them):
# gvimext.dll in src/GvimExt
# gvimext64.dll in src/GvimExt
# VisVim.dll in src/VisVim
# Note: VisVim needs to be build with MSVC 5, newer versions don't work.
# gvimext64.dll can be obtained from http://code.google.com/p/vim-win3264/
# It is part of vim72.zip as vim72/gvimext.dll.
# - make sure there is a diff.exe two levels up
# - go to ../nsis and do "makensis gvim.nsi".
# - go to ../nsis and do "makensis gvim.nsi" (takes a few minutes).
# - Copy gvim##.exe to the dist directory.
#
# OS/2:
# - Unpack the Unix "src", "extra" and "rt" archives.
# OS/2: (OBSOLETE, OS/2 version is no longer distributed)
# - Unpack the Unix archive.
# - "make -f Make_os2.mak".
# - Rename the executables to vimos2.exe, xxdos2.exe and teeos2.exe and copy
# them to here.
@@ -212,8 +232,6 @@ dist/comment:
mkdir dist/comment
COMMENT_RT = comment/$(VERSION)-rt
COMMENT_RT1 = comment/$(VERSION)-rt1
COMMENT_RT2 = comment/$(VERSION)-rt2
COMMENT_D16 = comment/$(VERSION)-bin-d16
COMMENT_D32 = comment/$(VERSION)-bin-d32
COMMENT_W32 = comment/$(VERSION)-bin-w32
@@ -224,17 +242,10 @@ COMMENT_SRC = comment/$(VERSION)-src
COMMENT_OS2 = comment/$(VERSION)-bin-os2
COMMENT_HTML = comment/$(VERSION)-html
COMMENT_FARSI = comment/$(VERSION)-farsi
COMMENT_LANG = comment/$(VERSION)-lang
dist/$(COMMENT_RT): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) runtime files for MS-DOS and MS-Windows" > dist/$(COMMENT_RT)
dist/$(COMMENT_RT1): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 1) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT1)
dist/$(COMMENT_RT2): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) runtime files (PART 2) for MS-DOS and MS-Windows" > dist/$(COMMENT_RT2)
dist/$(COMMENT_D16): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) binaries for MS-DOS 16 bit real mode" > dist/$(COMMENT_D16)
@@ -265,9 +276,6 @@ dist/$(COMMENT_HTML): dist/comment
dist/$(COMMENT_FARSI): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) Farsi language files" > dist/$(COMMENT_FARSI)
dist/$(COMMENT_LANG): dist/comment
echo "Vim - Vi IMproved - v$(VDOT) MS-Windows language files" > dist/$(COMMENT_LANG)
unixall: dist prepare
-rm -f dist/$(VIMVER).tar.bz2
-rm -rf dist/$(VIMRTDIR)
@@ -283,6 +291,8 @@ unixall: dist prepare
$(SRC_ALL) \
$(SRC_UNIX) \
$(SRC_DOS_UNIX) \
$(EXTRA) \
$(LANG_SRC) \
| (cd dist/$(VIMRTDIR); tar xf -)
# Need to use a "distclean" config.mk file
cp -f src/config.mk.dist dist/$(VIMRTDIR)/src/auto/config.mk
@@ -290,26 +300,6 @@ unixall: dist prepare
touch dist/$(VIMRTDIR)/src/auto/config.h
# Make sure configure is newer than config.mk to force it to be generated
touch dist/$(VIMRTDIR)/src/configure
cd dist && tar cf $(VIMVER).tar $(VIMRTDIR)
bzip2 dist/$(VIMVER).tar
extra: dist prepare
-rm -f dist/$(VIMVER)-extra.tar.gz
-rm -rf dist/$(VIMRTDIR)
mkdir dist/$(VIMRTDIR)
tar cf - \
$(EXTRA) \
| (cd dist/$(VIMRTDIR); tar xf -)
cd dist && tar cf $(VIMVER)-extra.tar $(VIMRTDIR)
gzip -9 dist/$(VIMVER)-extra.tar
lang: dist prepare
-rm -f dist/$(VIMVER)-lang.tar.gz
-rm -rf dist/$(VIMRTDIR)
mkdir dist/$(VIMRTDIR)
tar cf - \
$(LANG_SRC) \
| (cd dist/$(VIMRTDIR); tar xf -)
# Make sure ja.sjis.po is newer than ja.po to avoid it being regenerated.
# Same for cs.cp1250.po, pl.cp1250.po and sk.cp1250.po.
touch dist/$(VIMRTDIR)/src/po/ja.sjis.po
@@ -319,9 +309,11 @@ lang: dist prepare
touch dist/$(VIMRTDIR)/src/po/zh_CN.cp936.po
touch dist/$(VIMRTDIR)/src/po/ru.cp1251.po
touch dist/$(VIMRTDIR)/src/po/uk.cp1251.po
cd dist && tar cf $(VIMVER)-lang.tar $(VIMRTDIR)
gzip -9 dist/$(VIMVER)-lang.tar
# Create the archive.
cd dist && tar cf $(VIMVER).tar $(VIMRTDIR)
bzip2 dist/$(VIMVER).tar
# Amiga runtime - OBSOLETE
amirt: dist prepare
-rm -f dist/vim$(VERSION)rt.tar.gz
-rm -rf dist/Vim
@@ -344,6 +336,7 @@ amirt: dist prepare
gzip -9 dist/vim$(VERSION)rt.tar
mv dist/vim$(VERSION)rt.tar.gz dist/vim$(VERSION)rt.tgz
# Amiga binaries - OBSOLETE
amibin: dist prepare
-rm -f dist/vim$(VERSION)bin.tar.gz
-rm -rf dist/Vim
@@ -361,6 +354,7 @@ amibin: dist prepare
gzip -9 dist/vim$(VERSION)bin.tar
mv dist/vim$(VERSION)bin.tar.gz dist/vim$(VERSION)bin.tgz
# Amiga sources - OBSOLETE
amisrc: dist prepare
-rm -f dist/vim$(VERSION)src.tar.gz
-rm -rf dist/Vim
@@ -381,15 +375,41 @@ amisrc: dist prepare
no_title.vim: Makefile
echo "set notitle noicon nocp nomodeline viminfo=" >no_title.vim
# MS-DOS sources
dossrc: dist no_title.vim dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt
-rm -rf dist/vim$(VERSION)src.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(SRC_ALL) \
$(SRC_DOS) \
$(SRC_AMI_DOS) \
$(SRC_DOS_UNIX) \
runtime/doc/uganda.nsis.txt \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
tar cf - \
$(SRC_DOS_BIN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
runtime/doc/uganda.nsis.txt: runtime/doc/uganda.txt
cd runtime/doc && $(MAKE) uganda.nsis.txt
dosrt: dist dist/$(COMMENT_RT) dosrt_unix2dos
-rm -rf dist/vim$(VERSION)rt.zip
cd dist && zip -9 -rD -z vim$(VERSION)rt.zip vim <$(COMMENT_RT)
# Split in two parts to avoid a "argument list too long" error.
# Split in two parts to avoid an "argument list too long" error.
dosrt_unix2dos: dist prepare no_title.vim
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
mkdir dist/vim/$(VIMRTDIR)/lang
cd src && MAKEMO=yes $(MAKE) languages
tar cf - \
$(RT_ALL) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
@@ -400,7 +420,7 @@ dosrt_unix2dos: dist prepare no_title.vim
$(RT_AMI_DOS) \
$(LANG_GEN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
tar cf - \
$(RT_UNIX_DOS_BIN) \
$(RT_ALL_BIN) \
@@ -409,6 +429,18 @@ dosrt_unix2dos: dist prepare no_title.vim
| (cd dist/vim/$(VIMRTDIR); tar xf -)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
# Add the message translations. Trick: skip ja.mo and use ja.sjis.mo instead.
# Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo, sk.mo / sk.cp1250.mo,
# zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and ru.mo / ru.cp1251.mo.
for i in $(LANG_DOS); do \
if test "$$i" != "src/po/ja.mo" -a "$$i" != "src/po/pl.mo" -a "$$i" != "src/po/cs.mo" -a "$$i" != "src/po/sk.mo" -a "$$i" != "src/po/zh_CN.mo" -a "$$i" != "src/po/ru.mo" -a "$$i" != "src/po/uk.mo"; then \
n=`echo $$i | sed -e "s+src/po/\([-a-zA-Z0-9_]*\(.UTF-8\)*\)\(.sjis\)*\(.cp1250\)*\(.cp1251\)*\(.cp936\)*.mo+\1+"`; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES; \
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
fi \
done
cp libintl.dll dist/vim/$(VIMRTDIR)/
# Convert runtime files from Unix fileformat to dos fileformat.
@@ -418,7 +450,7 @@ runtime_unix2dos: dosrt_unix2dos
cd dist/vim/$(VIMRTDIR); tar cf - * \
| (cd ../../../runtime/dos; tar xf -)
dosbin: prepare dosbin_gvim dosbin_w32 dosbin_d32 dosbin_d16 dosbin_ole $(DOSBIN_S)
dosbin: prepare dosbin_gvim dosbin_w32 dosbin_d32 dosbin_ole $(DOSBIN_S) $(DOSBIN_D16)
# make Win32 gvim
dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
@@ -429,7 +461,7 @@ dosbin_gvim: dist no_title.vim dist/$(COMMENT_GVIM)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp gvim.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
@@ -448,7 +480,7 @@ dosbin_w32: dist no_title.vim dist/$(COMMENT_W32)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp vimw32.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installw32.exe dist/vim/$(VIMRTDIR)/install.exe
@@ -465,7 +497,7 @@ dosbin_d32: dist no_title.vim dist/$(COMMENT_D32)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp vimd32.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installd32.exe dist/vim/$(VIMRTDIR)/install.exe
@@ -482,7 +514,7 @@ dosbin_d16: dist no_title.vim dist/$(COMMENT_D16)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp vimd16.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdd16.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp installd16.exe dist/vim/$(VIMRTDIR)/install.exe
@@ -498,7 +530,7 @@ dosbin_ole: dist no_title.vim dist/$(COMMENT_OLE)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp gvim_ole.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp xxdw32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp vimrun.exe dist/vim/$(VIMRTDIR)/vimrun.exe
@@ -520,7 +552,7 @@ dosbin_s: dist no_title.vim dist/$(COMMENT_W32S)
tar cf - \
$(BIN_DOS) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp gvim_w32s.exe dist/vim/$(VIMRTDIR)/gvim.exe
cp xxdd32.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp README_w32s.txt dist/vim/$(VIMRTDIR)
@@ -528,53 +560,6 @@ dosbin_s: dist no_title.vim dist/$(COMMENT_W32S)
cp uninstalw32.exe dist/vim/$(VIMRTDIR)/uninstal.exe
cd dist && zip -9 -rD -z gvim$(VERSION)_s.zip vim <$(COMMENT_W32S)
# make Win32 lang archive
doslang: dist prepare no_title.vim dist/$(COMMENT_LANG)
-rm -rf dist/vim$(VERSION)lang.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
mkdir dist/vim/$(VIMRTDIR)/lang
cd src && MAKEMO=yes $(MAKE) languages
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
# Add the message translations. Trick: skip ja.mo and use ja.sjis.mo instead.
# Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo, sk.mo / sk.cp1250.mo,
# zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and ru.mo / ru.cp1251.mo.
for i in $(LANG_DOS); do \
if test "$$i" != "src/po/ja.mo" -a "$$i" != "src/po/pl.mo" -a "$$i" != "src/po/cs.mo" -a "$$i" != "src/po/sk.mo" -a "$$i" != "src/po/zh_CN.mo" -a "$$i" != "src/po/ru.mo" -a "$$i" != "src/po/uk.mo"; then \
n=`echo $$i | sed -e "s+src/po/\([-a-zA-Z0-9_]*\(.UTF-8\)*\)\(.sjis\)*\(.cp1250\)*\(.cp1251\)*\(.cp936\)*.mo+\1+"`; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n; \
mkdir dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES; \
cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
fi \
done
cp libintl.dll dist/vim/$(VIMRTDIR)/
cd dist && zip -9 -rD -z vim$(VERSION)lang.zip vim <$(COMMENT_LANG)
# MS-DOS sources
dossrc: dist no_title.vim dist/$(COMMENT_SRC) runtime/doc/uganda.nsis.txt
-rm -rf dist/vim$(VERSION)src.zip
-rm -rf dist/vim
mkdir dist/vim
mkdir dist/vim/$(VIMRTDIR)
tar cf - \
$(SRC_ALL) \
$(SRC_DOS) \
$(SRC_AMI_DOS) \
$(SRC_DOS_UNIX) \
runtime/doc/uganda.nsis.txt \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
rmdir dist/vim/$(VIMRTDIR)/runtime
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
tar cf - \
$(SRC_DOS_BIN) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
cd dist && zip -9 -rD -z vim$(VERSION)src.zip vim <$(COMMENT_SRC)
runtime/doc/uganda.nsis.txt: runtime/doc/uganda.txt
cd runtime/doc && $(MAKE) uganda.nsis.txt
os2bin: dist no_title.vim dist/$(COMMENT_OS2)
-rm -rf dist/vim$(VERSION)os2.zip
-rm -rf dist/vim
@@ -583,7 +568,7 @@ os2bin: dist no_title.vim dist/$(COMMENT_OS2)
tar cf - \
$(BIN_OS2) \
| (cd dist/vim/$(VIMRTDIR); tar xf -)
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -u no_title.vim -c ":set tx|wq" {} \;
find dist/vim/$(VIMRTDIR) -type f -exec $(VIM) -e -X -u no_title.vim -c ":set tx|wq" {} \;
cp vimos2.exe dist/vim/$(VIMRTDIR)/vim.exe
cp xxdos2.exe dist/vim/$(VIMRTDIR)/xxd.exe
cp teeos2.exe dist/vim/$(VIMRTDIR)/tee.exe
+15 -43
View File
@@ -1,4 +1,4 @@
README.txt for version 7.1 of Vim: Vi IMproved.
README.txt for version 7.3 of Vim: Vi IMproved.
WHAT IS VIM
@@ -9,13 +9,13 @@ on-line help, spell checking, filename completion, block operations, etc.
There is also a Graphical User Interface (GUI) available. See
"runtime/doc/vi_diff.txt" for differences with Vi.
This editor is very useful for editing programs and other plain ASCII files.
This editor is very useful for editing programs and other plain text files.
All commands are given with normal keyboard characters, so those who can type
with ten fingers can work very fast. Additionally, function keys can be
defined by the user, and the mouse can be used.
Vim currently runs under Amiga DOS, MS-DOS, MS-Windows 95/98/Me/NT/2000/XP,
Atari MiNT, Macintosh, BeOS, VMS, RISC OS, OS/2 and almost all flavours of
Vim runs under Amiga DOS, MS-DOS, MS-Windows (95, 98, Me, NT, 2000, XP, Vista,
7), Atari MiNT, Macintosh, BeOS, VMS, RISC OS, OS/2 and almost all flavours of
UNIX. Porting to other systems should not be very difficult.
@@ -32,19 +32,19 @@ an overview of currently available distributions.
DOCUMENTATION
The vim tutor is a one hour training course for beginners. Mostly it can be
started as "vimtutor". See ":help tutor" for more information.
The best is to use ":help" in Vim. If you don't have an executable yet, read
"runtime/doc/help.txt". It contains pointers to the other documentation
files. The User Manual reads like a book and is recommended to learn to use
Vim. See ":help user-manual".
The vim tutor is a one hour training course for beginners. Mostly it can be
started as "vimtutor". See ":help tutor" for more information.
COPYING
Vim is Charityware. You can use and copy it as much as you like, but you are
encouraged to make a donation to orphans in Uganda. Please read the file
encouraged to make a donation to help orphans in Uganda. Please read the file
"runtime/doc/uganda.txt" for details (do ":help uganda" inside Vim).
Summary of the license: There are no restrictions on using or distributing an
@@ -86,6 +86,8 @@ README_os2.txt OS/2
README_mac.txt Macintosh
README_vms.txt VMS
There are more README_*.txt files, depending on the distribution you used.
INFORMATION
@@ -98,44 +100,14 @@ If you have problems, have a look at the Vim FAQ:
Send bug reports to:
Bram Moolenaar <Bram@vim.org>
There are five mailing lists for Vim:
<vim@vim.org>
For discussions about using existing versions of Vim: Useful mappings,
questions, answers, where to get a specific version, etc.
<vim-dev@vim.org>
For discussions about changing Vim: New features, porting, beta-test
versions, etc.
<vim-announce@vim.org>
Announcements about new versions of Vim; also beta-test versions and
ports to different systems.
<vim-multibyte@vim.org>
For discussions about using and improving the multi-byte aspects of
Vim: XIM, Hangul, fontset, etc.
<vim-mac@vim.org>
For discussions about using and improving Vim on the Macintosh.
For more info and URLs of the archives see "http://www.vim.org/maillist.php".
NOTE:
- You can only send messages to these lists if you have subscribed!
- You need to send the messages from the same location as where you subscribed
from (to avoid spam mail).
- Maximum message size is 40000 characters.
If you want to join a maillist, send a message to
<vim-help@vim.org>
Make sure that your "From:" address is correct. Then the list server will
send you a help message.
There are several mailing lists for Vim, see http://www.vim.org/maillist.php.
MAIN AUTHOR
Send any other comments, patches, pizza and suggestions to:
Send any other comments, patches, flowers and suggestions to:
Bram Moolenaar E-mail: Bram@vim.org
Molenstraat 2
2161 HP Lisse
The Netherlands
This is the address of my parents, they will forward mail and eat the pizza.
My actual address will change a couple of times in 2006.
Finsterruetihof 1
8134 Adliswil
Switzerland
+1 -1
View File
@@ -1,4 +1,4 @@
README_ami.txt for version 7.1 of Vim: Vi IMproved.
README_ami.txt for version 7.3 of Vim: Vi IMproved.
This file explains the installation of Vim on Amiga systems.
See README.txt for general information about Vim.
+1 -1
View File
@@ -1,4 +1,4 @@
README_amibin.txt for version 7.1 of Vim: Vi IMproved.
README_amibin.txt for version 7.3 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
+1 -1
View File
@@ -1,4 +1,4 @@
README_amisrc.txt for version 7.1 of Vim: Vi IMproved.
README_amisrc.txt for version 7.3 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_ami.txt" for installation instructions for the Amiga.
+10 -10
View File
@@ -1,19 +1,19 @@
README_bindos.txt for version 7.1 of Vim: Vi IMproved.
README_bindos.txt for version 7.3 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
These files are in the runtime archive (vim70rt.zip).
These files are in the runtime archive (vim73rt.zip).
There are several binary distributions of Vim for the PC. You would normally
pick only one of them, but it's also possible to install several.
These ones are available (the version number may differ):
vim70d16.zip 16 bit DOS version
vim70d32.zip 32 bit DOS version
vim70w32.zip Windows 95/98/NT/etc. console version
gvim70.zip Windows 95/98/NT/etc. GUI version
gvim70ole.zip Windows 95/98/NT/etc. GUI version with OLE
gvim70_s.zip Windows 3.1 GUI version
vim73d16.zip 16 bit DOS version
vim73d32.zip 32 bit DOS version
vim73w32.zip Windows 95/98/NT/etc. console version
gvim73.zip Windows 95/98/NT/etc. GUI version
gvim73ole.zip Windows 95/98/NT/etc. GUI version with OLE
gvim73_s.zip Windows 3.1 GUI version
You MUST also get the runtime archive (vim70rt.zip).
The sources are also available (vim70src.zip).
You MUST also get the runtime archive (vim73rt.zip).
The sources are also available (vim73src.zip).
+17 -17
View File
@@ -1,4 +1,4 @@
README_dos.txt for version 7.1 of Vim: Vi IMproved.
README_dos.txt for version 7.3 of Vim: Vi IMproved.
This file explains the installation of Vim on MS-DOS and MS-Windows systems.
See "README.txt" for general information about Vim.
@@ -47,13 +47,13 @@ These are the normal steps to install Vim from the .zip archives:
Binary and runtime Vim archives are normally unpacked in the same location,
on top of each other.
2. Unpack the zip archives. This will create a new directory "vim\vim70",
2. Unpack the zip archives. This will create a new directory "vim\vim73",
in which all the distributed Vim files are placed. Since the directory
name includes the version number, it is unlikely that you overwrite
existing files.
Examples:
pkunzip -d gvim70.zip
unzip vim70w32.zip
pkunzip -d gvim73.zip
unzip vim73w32.zip
You need to unpack the runtime archive and at least one of the binary
archives. When using more than one binary version, be careful not to
@@ -69,7 +69,7 @@ These are the normal steps to install Vim from the .zip archives:
archive and follow the instructions in the documentation.
3. Change to the new directory:
cd vim\vim70
cd vim\vim73
Run the "install.exe" program. It will ask you a number of questions about
how you would like to have your Vim setup. Among these are:
- You can tell it to write a "_vimrc" file with your preferences in the
@@ -80,8 +80,8 @@ These are the normal steps to install Vim from the .zip archives:
console or in a shell. You can select one of the directories in your
$PATH. If you skip this, you can add Vim to the search path manually:
The simplest is to add a line to your autoexec.bat. Examples:
set path=%path%;C:\vim\vim70
set path=%path%;D:\editors\vim\vim70
set path=%path%;C:\vim\vim73
set path=%path%;D:\editors\vim\vim73
- Create entries for Vim on the desktop and in the Start menu.
That's it!
@@ -93,8 +93,8 @@ Remarks:
won't show a menubar. Then you need to set the $VIM environment variable to
point to the top directory of your Vim files. Example:
set VIM=C:\editors\vim
Vim version 6.0 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim70. See ":help $VIM" for more information.
Vim version 7.3 will look for your vimrc file in $VIM, and for the runtime
files in $VIM/vim73. See ":help $VIM" for more information.
- To avoid confusion between distributed files of different versions and your
own modified vim scripts, it is recommended to use this directory layout:
@@ -105,14 +105,14 @@ Remarks:
C:\vim\vimfiles\ftplugin\*.vim Filetype plugins
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim70\vim.exe The Vim version 6.0 executable.
C:\vim\vim70\doc\*.txt The version 6.0 documentation files.
C:\vim\vim70\bugreport.vim A Vim version 6.0 script.
C:\vim\vim70\... Other version 6.0 distributed files.
C:\vim\vim73\vim.exe The Vim version 7.3 executable.
C:\vim\vim73\doc\*.txt The version 7.3 documentation files.
C:\vim\vim73\bugreport.vim A Vim version 7.3 script.
C:\vim\vim73\... Other version 7.3 distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim
Then $VIMRUNTIME will automatically be set to "$VIM\vim70". Don't add
"vim70" to $VIM, that won't work.
Then $VIMRUNTIME will automatically be set to "$VIM\vim73". Don't add
"vim73" to $VIM, that won't work.
- You can put your Vim executable anywhere else. If the executable is not
with the other Vim files, you should set $VIM. The simplest is to add a line
@@ -136,8 +136,8 @@ Remarks:
Select Properties.
5. In the Program tab, change the "Cmdline" to add "/c" and the name of the
Vim executable. Examples:
C:\command.com /c C:\vim\vim70\vim.exe
C:\command.com /c D:\editors\vim\vim70\vim.exe
C:\command.com /c C:\vim\vim73\vim.exe
C:\command.com /c D:\editors\vim\vim73\vim.exe
6. Select the font, window size, etc. that you like. If this isn't
possible, select "Advanced" in the Program tab, and deselect "MS-DOS
mode".
+33 -41
View File
@@ -1,61 +1,53 @@
README_extra.txt for version 7.1 of Vim: Vi IMproved.
README_extra.txt for version 7.3 of Vim: Vi IMproved.
The extra archive of Vim is to be used in combination with the source archive
(vim-7.0-src.tar.gz). The extra archive is useless without it.
For more information, see the "README.txt" file that comes with the runtime
archive (vim-7.0-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive too!
The extra archive plus the source and runtime achives make up the complete
sources of Vim for all systems.
These extra files of Vim are for special purposes. This README explains what
the files are for. For general information about Vim, see the "README.txt"
file.
Some of the things that the extra archive contains:
farsi/* Files for the Farsi (persian) language. If you don't
know what Farsi is, this is not for you.
Farsi Files for the Farsi (persian) language. If you don't know
what Farsi is, this is not for you.
src/if_sniff.* Interface to SNiFF. If you don't know what SNiFF is,
this is not for you.
if_sniff Interface to SNiFF. If you don't know what SNiFF is, this is
not for you.
src/os_amiga.* Files for the Amiga port.
os_amiga Files for the Amiga port.
src/gui_beos.*
src/os_beos.* Files for the BeOS port.
gui_riscos
os_riscos Files for the RISC OS port.
src/os_msdos.*
src/os_dos.* Files for the MS-DOS port.
gui_beos
os_beos Files for the BeOS port.
src/gui_mac.* Carbon GUI (not used)
src/os_mac* Shared files for the different Mac ports.
os_msdos
os_dos Files for the MS-DOS port.
src/MacVim/* Files for the MacVim port.
gui_mac
os_mac Files for the Mac port.
src/os_mint.8 Files for the Atari Mint port.
os_mint Files for the Atari Mint port.
src/os_os2* Files for the OS/2 port.
src/tee/* Extra program for OS/2.
os_os2 Files for the OS/2 port.
tee Extra program for OS/2.
src/os_vms* Files for the VMS port.
os_vms Files for the VMS port.
src/os_w32*
src/os_win32.* Files for the Win32 port.
os_w32
os_win32 Files for the Win32 port.
src/gui_w32.* Files for the Win32 GUI.
src/gui_w48.* Files for the Win32 and Win16 GUI.
src/Make_mvc.mak MS Visual C++ makefile for the Win32 GUI.
runtime/rgb.txt File with color definitions for the Win32 GUI.
gui_w32 Files for the Win32 GUI.
gui_w48 Files for the Win32 and Win16 GUI.
Make_mvc.mak MS Visual C++ makefile for the Win32 GUI.
rgb.txt File with color definitions for the Win32 GUI.
src/if_ole.* OLE automation interface, for MS Windows 95 and NT.
if_ole OLE automation interface, for MS Windows 95 and NT.
src/VisVim/* Integration of Win32 GUI with MS Visual Developer
Studio.
VisVim Integration of Win32 GUI with MS Visual Developer Studio.
src/GvimExt/* DLL for the "Edit with Vim" context menu entry
GvimExt DLL for the "Edit with Vim" context menu entry
nsis/* NSIS script to build the self-installing MS-Windows exe
nsis NSIS script to build the self-installing MS-Windows exe
runtime/doc/*.man Preprocessed manual pages.
*.man Preprocessed manual pages.
file_select.vim Vim script to browse directories (Unix only).
runtime/macros/file_select.vim Vim script to browse directories (Unix only).
-5
View File
@@ -1,5 +0,0 @@
README_lang.txt for version 7.1 of Vim: Vi IMproved.
This file contains files for non-English languages:
- Translated messages.
- Translated menus.
+32 -3
View File
@@ -1,8 +1,37 @@
README_mac.txt for version 7.1 of Vim: Vi IMproved.
README_mac.txt for version 7.3 of Vim: Vi IMproved.
This file explains the installation of Vim on Macintosh systems.
This file explains the installation of MacVim.
See "README.txt" for general information about Vim.
See "src/MacVim/README" for an overview of the MacVim specific source code.
MacVim uses the usual configure/make steps to build the binary but instead of
"make install" you just drag the app bundle into the directory you wish to
install in (usually `/Applications').
Sorry, this text still needs to be written!
How to build and install
========================
Run `./configure` in the `src/` directory with the flags you want, e.g.:
$ cd src
$ ./configure --with-features=huge \
--enable-rubyinterp \
--enable-pythoninterp \
--enable-perlinterp \
--enable-cscope
Now build the project using `make`:
$ make
The resulting app bundle will reside under `MacVim/build/Release`. To try it
out quickly, type:
$ open MacVim/build/Release/MacVim.app
To install MacVim, type
$ open MacVim/build/Release
and drag the MacVim icon into your `Applications` folder.
+2 -2
View File
@@ -1,4 +1,4 @@
README_ole.txt for version 7.1 of Vim: Vi IMproved.
README_ole.txt for version 7.3 of Vim: Vi IMproved.
This archive contains gvim.exe with OLE interface and VisVim.
This version of gvim.exe can also load a number of interface dynamically (you
@@ -16,5 +16,5 @@ Win32 with OLE - "MS-Windows 32 bit GUI version with OLE support"
For further information, type this inside Vim:
:help if_ole
Futhermore, this archive contains VISVIM.DLL. It can be used to integrate
Furthermore, this archive contains VISVIM.DLL. It can be used to integrate
the OLE gvim with Microsoft Visual Developer Studio. See VisVim/README.txt.
+12 -12
View File
@@ -1,32 +1,32 @@
README_os2.txt for version 7.1 of Vim: Vi IMproved.
README_os2.txt for version 7.3 of Vim: Vi IMproved.
This file explains the installation of Vim on OS/2 systems.
See "README.txt" for general information about Vim.
NOTE: You will need two archives:
vim71rt.zip contains the runtime files (same as for the PC version)
vim71os2.zip contains the OS/2 executables
vim73rt.zip contains the runtime files (same as for the PC version)
vim73os2.zip contains the OS/2 executables
1. Go to the directory where you want to put the Vim files. Examples:
cd C:\
cd D:\editors
2. Unpack the zip archives. This will create a new directory "vim/vim71",
2. Unpack the zip archives. This will create a new directory "vim/vim73",
in which all the distributed Vim files are placed. Since the directory
name includes the version number, it is unlikely that you overwrite
existing files.
Examples:
pkunzip -d vim71os2.zip
unzip vim71os2.zip
pkunzip -d vim73os2.zip
unzip vim73os2.zip
After you unpacked the files, you can still move the whole directory tree
to another location.
3. Add the directory where vim.exe is to your path. The simplest is to add a
line to your autoexec.bat. Examples:
set path=%path%;C:\vim\vim71
set path=%path%;D:\editors\vim\vim71
set path=%path%;C:\vim\vim73
set path=%path%;D:\editors\vim\vim73
That's it!
@@ -41,10 +41,10 @@ Extra remarks:
C:\vim\_viminfo Dynamic info for 'viminfo'.
C:\vim\... Other files you made.
Distributed files:
C:\vim\vim71\vim.exe The Vim version 7.1 executable.
C:\vim\vim71\doc\*.txt The version 7.1 documentation files.
C:\vim\vim71\bugreport.vim A Vim version 7.1 script.
C:\vim\vim71\... Other version 7.1 distributed files.
C:\vim\vim73\vim.exe The Vim version 7.3 executable.
C:\vim\vim73\doc\*.txt The version 7.3 documentation files.
C:\vim\vim73\bugreport.vim A Vim version 7.3 script.
C:\vim\vim73\... Other version 7.3 distributed files.
In this case the $VIM environment variable would be set like this:
set VIM=C:\vim
+55 -68
View File
@@ -1,51 +1,84 @@
README_os_390.txt for version 7.1 of Vim: Vi IMproved.
README_zOS.txt for version 7.3 of Vim: Vi IMproved.
Welcome to the OS/390 Unix port of VIM.
This readme explains how to build Vim on z/OS. Formerly called OS/390.
See "README.txt" for general information about Vim.
ATTENTION: THIS IS AN _ALPHA_ VERSION!!!
I expect you to know how to handle alpha software!
Most likely there are not many users out there using Vim on z/OS. So chances
are good, that some bugs are still undiscovered.
This port was done by Ralf Schandl <schandl@de.ibm.com>.
This port is not maintained or supported by IBM!!
Getting the source to z/OS:
==========================
First get the source code in one big tar file and ftp it a binary to z/OS. If
the tar file is initially compressed with gzip (tar.gz) or bzip2 (tar.bz2)
uncompress it on your PC, as this tools are (most likely) not available on the
mainframe.
For the list of changes see runtime/doc/os_390.txt.
To reduce the size of the tar file you might compress it into a zip file. On
z/OS Unix you might have the command "jar" from java to uncompress a zip. Use:
jar xvf <zip file name>
Unpack the tar file on z/OS with
pax -o from=ISO8859-1,to=IBM-1047 -rf vim.tar
Note: The Vim source contains a few bitmaps etc which will be destroyed by
this command, but these files are not needed on zOS (at least not for the
console version).
Compiling:
----------
==========
Note: After the file configure was created via autoconf, it had been
handedited, to make the test for ICEConnectionNumber work.
DO NOT run autoconf again!
Vim can be compiled with or without GUI support. For 7.3 only the compilation
without GUI was tested. Below is a section about compiling with X11 but this
is from an earlier version of Vim.
Without X11:
Console only:
-------------
If you build VIM without X11 support, compiling and building is nearly
straightforward. The only restriction is, that you can't call make from the
VIM toplevel directory. Change to the src directory first and call make from
there. Here is a what to do:
straightforward.
Change to the vim directory and do:
# Don't use c89!
# Make additional symbols visible.
# Allow intermixing of compiler options and files.
$ export CC=cc
$ export CFLAGS=-D_ALL_SOURCE
$ export _CC_CCMODE=1
$./configure --enable-max-features --without-x --enable-gui=no
$./configure --with-features=big --without-x --enable-gui=no
$ cd src
$ make
There may be warnings:
- include files not found (libc, sys/param.h, ...)
- Redeclaration of ... differs from ...
-- just ignore them.
$ make test
Note: Test 28 will be reported as failed. This is because diff can't
compare files containing '\0' characters. Test 11 will fail if you
don't have gzip.
This will produce lots of garbage on your screen (including error
messages). Don't worry.
If the test stops at one point in vim (might happen in test 11), just
press :q!
Expected test failures:
11: If you don't have gzip installed
24: test of backslash sequences in regexp are ASCII dependent
42: Multibyte is not supported on z/OS
55: ASCII<->EBCDIC sorting
57: ASCII<->EBCDIC sorting
58: Spell checking is not supported with EBCDIC
71: Blowfish encryption doesn't work
$ make install
With X11:
---------
WARNING: This instruction was not tested with Vim 7.3.
There are two ways for building VIM with X11 support. The first way is simple
and results in a big executable (~13 Mb), the second needs a few additional
@@ -54,8 +87,6 @@ you want Motif.
The easy way:
$ export CC=cc
$ export CFLAGS="-D_ALL_SOURCE -W c,dll"
$ export LDFLAGS="-W l,dll"
$ export _CC_CCMODE=1
$ ./configure --enable-max-features --enable-gui=motif
$ cd src
@@ -65,7 +96,7 @@ you want Motif.
The smarter way:
Make VIM as described above. Then create a file named 'link.sed' with the
following contense:
following content (see src/link.390):
s/-lXext *//g
s/-lXmu *//g
@@ -84,47 +115,3 @@ you want Motif.
See the Makefile and the file link.sh on how link.sed is used.
Hint:
-----
Use the online help! (See weaknesses below.)
Example:
Enter ':help syntax' and then press <TAB> several times, you will switch
through all help items containing 'syntax'. Press <ENTER> on the one you are
interested at. Or press <Ctrl-D> and you will get a list of all items printed
that contain 'syntax'.
The helpfiles contains cross-references. Links are between '|'. Position the
cursor on them and press <Ctrl-]> to follow this link. Use <Ctrl-T> to jump
back.
Known weaknesses:
-----------------
- You can't call make from the toplevel directory, you have to do a 'cd src'
first. If you do it, make will call configure again. I don't know why and
didn't investigate it, there were more important things to do. If you can
make it work drop me a note.
- The documentation was not updated for this alpha release. It contains lot of
ASCII dependencies, especially in examples.
- Digraphs are dependent on code page 1047. Digraphs are used to enter
characters that normally cannot be entered by an ordinary keyboard.
See ":help digraphs".
- Using 'ga' to show the code of the character under the cursor shows the
correct dec/hex/oct values, but the other informations might be missing or
wrong.
- The sed syntax file doesn't work, it is ASCII dependent.
Bugs:
-----
If you find a bug please inform me (schandl@de.ibm.com), don't disturb Bram
Moolenaar. It's most likely a bug I introduced during porting or some ASCII
dependency I didn't notice.
Feedback:
---------
Feedback welcome! Just drop me a note.
+3 -3
View File
@@ -1,10 +1,10 @@
README_src.txt for version 7.1 of Vim: Vi IMproved.
README_src.txt for version 7.3 of Vim: Vi IMproved.
The source archive contains the files needed to compile Vim on Unix systems.
It is packed for Unix systems (NL line separator). It is also used for other
systems in combination with the extra archive (vim-7.0-extra.tar.gz, in the
systems in combination with the extra archive (vim-7.3-extra.tar.gz, in the
"extra" directory of ftp.vim.org).
For more information, see the README.txt file that comes with the runtime
archive (vim-7.0-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive (vim-7.3-rt.tar.gz). To be able to run Vim you MUST get the runtime
archive too!
+2 -2
View File
@@ -1,8 +1,8 @@
README_srcdos.txt for version 7.1 of Vim: Vi IMproved.
README_srcdos.txt for version 7.3 of Vim: Vi IMproved.
See "README.txt" for general information about Vim.
See "README_dos.txt" for installation instructions for MS-DOS and MS-Windows.
These files are in the runtime archive (vim70rt.zip).
These files are in the runtime archive (vim73rt.zip).
The DOS source archive contains the files needed to compile Vim on MS-DOS or
+1 -1
View File
@@ -1,4 +1,4 @@
README_unix.txt for version 7.1 of Vim: Vi IMproved.
README_unix.txt for version 7.3 of Vim: Vi IMproved.
This file explains the installation of Vim on Unix systems.
See "README.txt" for general information about Vim.
+1 -1
View File
@@ -1,4 +1,4 @@
README_vms.txt for version 7.1 of Vim: Vi IMproved.
README_vms.txt for version 7.3 of Vim: Vi IMproved.
This file explains the installation of Vim on VMS systems.
See "README.txt" in the runtime archive for information about Vim.
+1 -1
View File
@@ -1,4 +1,4 @@
README_w32s.txt for version 7.1 of Vim: Vi IMproved.
README_w32s.txt for version 7.3 of Vim: Vi IMproved.
This archive contains the gvim.exe that was specifically compiled for use in
the Win32s subsystem in MS-Windows 3.1 and 3.11.
+18 -7
View File
@@ -1,6 +1,6 @@
# NSIS file to create a self-installing exe for Vim.
# It requires NSIS version 2.0 or later.
# Last change: 2004 May 02
# Last Change: 2010 Jul 30
# WARNING: if you make changes to this script, look out for $0 to be valid,
# because uninstall deletes most files in $0.
@@ -22,17 +22,20 @@
!define HAVE_NLS
!define VER_MAJOR 7
!define VER_MINOR 1
!define VER_MINOR 3
# ----------- No configurable settings below this line -----------
!include UpgradeDLL.nsh # for VisVim.dll
!include LogicLib.nsh
!include x64.nsh
Name "Vim ${VER_MAJOR}.${VER_MINOR}"
OutFile gvim${VER_MAJOR}${VER_MINOR}.exe
CRCCheck force
SetCompressor lzma
SetDatablockOptimize on
RequestExecutionLevel highest
ComponentText "This will install Vim ${VER_MAJOR}.${VER_MINOR} on your computer."
DirText "Choose a directory to install Vim (must end in 'vim')"
@@ -139,7 +142,7 @@ FunctionEnd
Function .onInstSuccess
WriteUninstaller vim${VER_MAJOR}${VER_MINOR}\uninstall-gui.exe
MessageBox MB_YESNO|MB_ICONQUESTION \
"The installation process has been successfull. Happy Vimming! \
"The installation process has been successful. Happy Vimming! \
$\n$\n Do you want to see the README file now?" IDNO NoReadme
Exec '$0\gvim.exe -R "$0\README.txt"'
NoReadme:
@@ -290,13 +293,21 @@ Section "Add an Edit-with-Vim context menu entry"
SetOutPath $0
ClearErrors
SetOverwrite try
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
${If} ${RunningX64}
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext64.dll
${Else}
File /oname=gvimext.dll ${VIMSRC}\GvimExt\gvimext.dll
${EndIf}
IfErrors 0 GvimExtDone
# Can't copy gvimext.dll, create it under another name and rename it on
# next reboot.
GetTempFileName $3 $0
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
${If} ${RunningX64}
File /oname=$3 ${VIMSRC}\GvimExt\gvimext64.dll
${Else}
File /oname=$3 ${VIMSRC}\GvimExt\gvimext.dll
${EndIf}
Rename /REBOOTOK $3 $0\gvimext.dll
GvimExtDone:
@@ -438,8 +449,8 @@ Section Uninstall
AskRemove:
MessageBox MB_YESNO|MB_ICONQUESTION \
"Remove all files in your $1\vimfiles directory? \
$\nIf you have created something there that you want to keep, click No" IDNO Fin
"Remove all files in your $1\vimfiles directory?$\n \
$\nCAREFUL: If you have created something there that you want to keep, click No" IDNO Fin
RMDir /r $1\vimfiles
NoRemove:
+67 -32
View File
@@ -1,14 +1,16 @@
"------------------------------------------------------------------------------
" Description: Perform Ada specific completion & tagging.
" Language: Ada (2005)
" $Id$
" Maintainer: Martin Krischik
" $Id: ada.vim 887 2008-07-08 14:29:01Z krischik $
" Maintainer: Martin Krischik <krischik@users.sourceforge.net>
" Taylor Venable <taylor@metasyntax.net>
" Neil Bird <neil@fnxweb.com>
" $Author$
" $Date$
" Version: 4.2
" $Revision$
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/ada.vim $
" Ned Okie <nokie@radford.edu>
" $Author: krischik $
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6
" $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/ada.vim $
" History: 24.05.2006 MK Unified Headers
" 26.05.2006 MK ' should not be in iskeyword.
" 16.07.2006 MK Ada-Mode as vim-ball
@@ -17,6 +19,10 @@
" 05.11.2006 MK Bram suggested not to use include protection for
" autoload
" 05.11.2006 MK Bram suggested to save on spaces
" 08.07.2007 TV fix mapleader problems.
" 09.05.2007 MK Session just won't work no matter how much
" tweaking is done
" 19.09.2007 NO still some mapleader problems
" Help Page: ft-ada-functions
"------------------------------------------------------------------------------
@@ -425,30 +431,49 @@ function ada#Create_Tags (option)
execute '!ctags --excmd=number ' . l:Filename
endfunction ada#Create_Tags
function ada#Switch_Session (New_Session) "{{{1
if a:New_Session != v:this_session
"
" We actualy got a new session - otherwise there
" is nothing to do.
"
if strlen (v:this_session) > 0
execute 'mksession! ' . v:this_session
" Section: ada#Switch_Session {{{1
"
function ada#Switch_Session (New_Session)
"
" you should not save to much date into the seession since they will
" be sourced
"
let l:sessionoptions=&sessionoptions
try
set sessionoptions=buffers,curdir,folds,globals,resize,slash,tabpages,tabpages,unix,winpos,winsize
if a:New_Session != v:this_session
"
" We actualy got a new session - otherwise there
" is nothing to do.
"
if strlen (v:this_session) > 0
execute 'mksession! ' . v:this_session
endif
let v:this_session = a:New_Session
"if filereadable (v:this_session)
"execute 'source ' . v:this_session
"endif
augroup ada_session
autocmd!
autocmd VimLeavePre * execute 'mksession! ' . v:this_session
augroup END
"if exists ("g:Tlist_Auto_Open") && g:Tlist_Auto_Open
"TlistOpen
"endif
endif
let v:this_session = a:New_Session
if filereadable (v:this_session)
execute 'source ' . v:this_session
endif
augroup ada_session
autocmd!
autocmd VimLeavePre * execute 'mksession! ' . v:this_session
augroup END
endif
finally
let &sessionoptions=l:sessionoptions
endtry
return
endfunction ada#Switch_Session "}}}1
endfunction ada#Switch_Session
" Section: GNAT Pretty Printer folding {{{1
"
@@ -546,18 +571,23 @@ function ada#Map_Menu (Text, Keys, Command)
\ a:Keys .
\" <C-O>:" . a:Command . "<CR>"
else
if exists("g:mapleader")
let l:leader = g:mapleader
else
let l:leader = '\'
endif
execute
\ "50amenu " .
\ "Ada." . escape(a:Text, ' ') .
\ "<Tab>" . escape(g:mapleader . "a" . a:Keys , '\') .
\ "<Tab>" . escape(l:leader . "a" . a:Keys , '\') .
\ " :" . a:Command . "<CR>"
execute
\ "nnoremap <buffer>" .
\ escape(g:mapleader . "a" . a:Keys , '\') .
\ escape(l:leader . "a" . a:Keys , '\') .
\" :" . a:Command
execute
\ "inoremap <buffer>" .
\ escape(g:mapleader . "a" . a:Keys , '\') .
\ escape(l:leader . "a" . a:Keys , '\') .
\" <C-O>:" . a:Command
endif
return
@@ -566,10 +596,15 @@ endfunction
" Section: ada#Map_Popup {{{2
"
function ada#Map_Popup (Text, Keys, Command)
if exists("g:mapleader")
let l:leader = g:mapleader
else
let l:leader = '\'
endif
execute
\ "50amenu " .
\ "PopUp." . escape(a:Text, ' ') .
\ "<Tab>" . escape(g:mapleader . "a" . a:Keys , '\') .
\ "<Tab>" . escape(l:leader . "a" . a:Keys , '\') .
\ " :" . a:Command . "<CR>"
call ada#Map_Menu (a:Text, a:Keys, a:Command)
+6 -6
View File
@@ -1,13 +1,13 @@
"------------------------------------------------------------------------------
" Description: Vim Ada omnicompletion file
" Language: Ada (2005)
" $Id$
" $Id: adacomplete.vim 887 2008-07-08 14:29:01Z krischik $
" Maintainer: Martin Krischik
" $Author$
" $Date$
" Version: 4.2
" $Revision$
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/adacomplete.vim $
" $Author: krischik $
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6
" $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/adacomplete.vim $
" History: 24.05.2006 MK Unified Headers
" 26.05.2006 MK improved search for begin of word.
" 16.07.2006 MK Ada-Mode as vim-ball
+22 -1
View File
@@ -1,7 +1,7 @@
" Vim completion script
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2006 May 08
" Last Change: 2010 Mar 23
" This function is used for the 'omnifunc' option.
@@ -119,6 +119,27 @@ function! ccomplete#Complete(findstart, base)
" TODO: join previous line if it makes sense
let line = getline('.')
let col = col('.')
if stridx(strpart(line, 0, col), ';') != -1
" Handle multiple declarations on the same line.
let col2 = col - 1
while line[col2] != ';'
let col2 -= 1
endwhile
let line = strpart(line, col2 + 1)
let col -= col2
endif
if stridx(strpart(line, 0, col), ',') != -1
" Handle multiple declarations on the same line in a function
" declaration.
let col2 = col - 1
while line[col2] != ','
let col2 -= 1
endwhile
if strpart(line, col2 + 1, col - col2 - 1) =~ ' *[^ ][^ ]* *[^ ]'
let line = strpart(line, col2 + 1)
let col -= col2
endif
endif
if len(items) == 1
" Completing one word and it's a local variable: May add '[', '.' or
" '->'.
+8 -8
View File
@@ -1,14 +1,14 @@
"------------------------------------------------------------------------------
" Description: Vim Ada/Dec Ada compiler file
" Language: Ada (Dec Ada)
" $Id$
" $Id: decada.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik
" $Author$
" $Date$
" Version: 4.2
" $Revision$
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/decada.vim $
" Maintainer: Martin Krischik <krischik@users.sourceforge.net>
" $Author: krischik $
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6
" $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/decada.vim $
" History: 21.07.2006 MK New Dec Ada
" 15.10.2006 MK Bram's suggestion for runtime integration
" 05.11.2006 MK Bram suggested not to use include protection for
@@ -45,7 +45,7 @@ function decada#Set_Session (...) dict " {{{1
call ada#Switch_Session (a:1)
elseif argc() == 0 && strlen (v:servername) > 0
call ada#Switch_Session (
\ expand('~')[0:-2] . ".vimfiles.session]" .
\ expand('~')[0:-2] . ".vimfiles.session]decada_" .
\ v:servername . ".vim")
endif
return
+433 -325
View File
@@ -1,8 +1,8 @@
" ---------------------------------------------------------------------
" getscript.vim
" Author: Charles E. Campbell, Jr.
" Date: May 11, 2007
" Version: 27
" Date: May 31, 2011
" Version: 33
" Installing: :help glvs-install
" Usage: :help glvs
"
@@ -11,23 +11,42 @@
" ---------------------------------------------------------------------
" Initialization: {{{1
" if you're sourcing this file, surely you can't be
" expecting vim to be in its vi-compatible mode
" expecting vim to be in its vi-compatible mode!
if exists("g:loaded_getscript")
finish
endif
let g:loaded_getscript= "v33"
if &cp
echoerr "GetLatestVimScripts is not vi-compatible; not loaded (you need to set nocp)"
finish
endif
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of getscript needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo = &cpo
set cpo&vim
"DechoTabOn
if exists("g:loaded_getscript")
finish
" ---------------------------
" Global Variables: {{{1
" ---------------------------
" Cygwin Detection ------- {{{2
if !exists("g:getscript_cygwin")
if has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
let g:getscript_cygwin= 1
else
let g:getscript_cygwin= 0
endif
else
let g:getscript_cygwin= 0
endif
endif
let g:loaded_getscript= "v27"
" ---------------------------------------------------------------------
" Global Variables: {{{1
" allow user to change the command for obtaining scripts (does fetch work?)
" wget vs curl {{{2
if !exists("g:GetLatestVimScripts_wget")
if executable("wget")
let g:GetLatestVimScripts_wget= "wget"
@@ -79,7 +98,9 @@ if g:GetLatestVimScripts_allowautoinstall
endif
endif
if exists('$HOME') && isdirectory(expand("$HOME")."/".s:dotvim)
if exists("g:GetLatestVimScripts_autoinstalldir") && isdirectory(g:GetLatestVimScripts_autoinstalldir)
let s:autoinstall= g:GetLatestVimScripts_autoinstalldir"
elseif exists('$HOME') && isdirectory(expand("$HOME")."/".s:dotvim)
let s:autoinstall= $HOME."/".s:dotvim
endif
" call Decho("s:autoinstall<".s:autoinstall.">")
@@ -93,262 +114,6 @@ com! -nargs=0 GetLatestVimScripts call getscript#GetLatestVimScripts()
com! -nargs=0 GetScript call getscript#GetLatestVimScripts()
silent! com -nargs=0 GLVS call getscript#GetLatestVimScripts()
" ---------------------------------------------------------------------
" GetOneScript: (Get Latest Vim Script) this function operates {{{1
" on the current line, interpreting two numbers and text as
" ScriptID, SourceID, and Filename.
" It downloads any scripts that have newer versions from vim.sf.net.
fun! s:GetOneScript(...)
" call Dfunc("GetOneScript()")
" set options to allow progress to be shown on screen
let t_ti= &t_ti
let t_te= &t_te
let rs = &rs
set t_ti= t_te= nors
" put current line on top-of-screen and interpret it into
" a script identifer : used to obtain webpage
" source identifier : used to identify current version
" and an associated comment: used to report on what's being considered
if a:0 >= 3
let scriptid = a:1
let srcid = a:2
let fname = a:3
let cmmnt = ""
" call Decho("scriptid<".scriptid.">")
" call Decho("srcid <".srcid.">")
" call Decho("fname <".fname.">")
else
let curline = getline(".")
if curline =~ '^\s*#'
" call Dret("GetOneScript : skipping a pure comment line")
return
endif
let parsepat = '^\s*\(\d\+\)\s\+\(\d\+\)\s\+\(.\{-}\)\(\s*#.*\)\=$'
try
let scriptid = substitute(curline,parsepat,'\1','e')
catch /^Vim\%((\a\+)\)\=:E486/
let scriptid= 0
endtry
try
let srcid = substitute(curline,parsepat,'\2','e')
catch /^Vim\%((\a\+)\)\=:E486/
let srcid= 0
endtry
try
let fname= substitute(curline,parsepat,'\3','e')
catch /^Vim\%((\a\+)\)\=:E486/
let fname= ""
endtry
try
let cmmnt= substitute(curline,parsepat,'\4','e')
catch /^Vim\%((\a\+)\)\=:E486/
let cmmnt= ""
endtry
" call Decho("curline <".curline.">")
" call Decho("parsepat<".parsepat.">")
" call Decho("scriptid<".scriptid.">")
" call Decho("srcid <".srcid.">")
" call Decho("fname <".fname.">")
endif
if scriptid == 0 || srcid == 0
" When looking for :AutoInstall: lines, skip scripts that
" have 0 0 scriptname
" call Dret("GetOneScript : skipping a scriptid==srcid==0 line")
return
endif
let doautoinstall= 0
if fname =~ ":AutoInstall:"
" call Decho("fname<".fname."> has :AutoInstall:...")
let aicmmnt= substitute(fname,'\s\+:AutoInstall:\s\+',' ','')
" call Decho("aicmmnt<".aicmmnt."> s:autoinstall=".s:autoinstall)
if s:autoinstall != ""
let doautoinstall = g:GetLatestVimScripts_allowautoinstall
endif
else
let aicmmnt= fname
endif
" call Decho("aicmmnt<".aicmmnt.">: doautoinstall=".doautoinstall)
exe "norm z\<CR>"
redraw!
" call Decho('considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid)
echomsg 'considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid
" grab a copy of the plugin's vim.sf.net webpage
let scriptaddr = 'http://vim.sf.net/script.php?script_id='.scriptid
let tmpfile = tempname()
let v:errmsg = ""
" make up to three tries at downloading the description
let itry= 1
while itry <= 3
" call Decho("try#".itry." to download description of <".aicmmnt."> with addr=".scriptaddr)
if has("win32") || has("win16") || has("win95")
" call Decho("silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".tmpfile.' "'.scriptaddr.'"')
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".tmpfile.' "'.scriptaddr.'"'
else
" call Decho("silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".tmpfile." '".scriptaddr."'")
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".tmpfile." '".scriptaddr."'"
endif
if itry == 1
exe "silent vsplit ".tmpfile
else
silent! e %
endif
" find the latest source-id in the plugin's webpage
silent! 1
let findpkg= search('Click on the package to download','W')
if findpkg > 0
break
endif
let itry= itry + 1
endwhile
" call Decho(" --- end downloading tries while loop --- itry=".itry)
" testing: did finding "Click on the package..." fail?
if findpkg == 0 || itry >= 4
silent q!
call delete(tmpfile)
" restore options
let &t_ti = t_ti
let &t_te = t_te
let &rs = rs
let s:downerrors = s:downerrors + 1
" call Decho("***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">")
echomsg "***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">"
" call Dret("GetOneScript : srch for /Click on the package/ failed")
return
endif
" call Decho('found "Click on the package to download"')
let findsrcid= search('src_id=','W')
if findsrcid == 0
silent q!
call delete(tmpfile)
" restore options
let &t_ti = t_ti
let &t_te = t_te
let &rs = rs
let s:downerrors = s:downerrors + 1
" call Decho("***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">")
echomsg "***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">"
" call Dret("GetOneScript : srch for /src_id/ failed")
return
endif
" call Decho('found "src_id=" in description page')
let srcidpat = '^\s*<td class.*src_id=\(\d\+\)">\([^<]\+\)<.*$'
let latestsrcid= substitute(getline("."),srcidpat,'\1','')
let sname = substitute(getline("."),srcidpat,'\2','') " script name actually downloaded
" call Decho("srcidpat<".srcidpat."> latestsrcid<".latestsrcid."> sname<".sname.">")
silent q!
call delete(tmpfile)
" convert the strings-of-numbers into numbers
let srcid = srcid + 0
let latestsrcid = latestsrcid + 0
" call Decho("srcid=".srcid." latestsrcid=".latestsrcid." sname<".sname.">")
" has the plugin's most-recent srcid increased, which indicates
" that it has been updated
if latestsrcid > srcid
" call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."]: need to update <".sname.">")
let s:downloads= s:downloads + 1
if sname == bufname("%")
" GetLatestVimScript has to be careful about downloading itself
let sname= "NEW_".sname
endif
" the plugin has been updated since we last obtained it, so download a new copy
" call Decho("...downloading new <".sname.">")
echomsg "...downloading new <".sname.">"
if has("win32") || has("gui_win32") || has("gui_win32s") || has("win16") || has("win64") || has("win32unix") || has("win95")
" call Decho("windows: silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".sname.' "'.'http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid.'"')
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".sname.' "'.'http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid.'"'
else
" call Decho("unix: silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".sname." '".'http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid."'")
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".sname." '".'http://vim.sf.net/scripts/download_script.php?src_id='.latestsrcid."'"
endif
" AutoInstall: only if doautoinstall is so indicating
if doautoinstall
" call Decho("attempting to do autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname))
if filereadable(sname)
" call Decho("move <".sname."> to ".s:autoinstall)
exe "silent !".g:GetLatestVimScripts_mv." ".sname." ".s:autoinstall
let curdir= escape(substitute(getcwd(),'\','/','ge'),"|[]*'\" #")
" call Decho("exe cd ".s:autoinstall)
exe "cd ".s:autoinstall
" decompress
if sname =~ '\.bz2$'
" call Decho("decompress: attempt to bunzip2 ".sname)
exe "silent !bunzip2 ".sname
let sname= substitute(sname,'\.bz2$','','')
" call Decho("decompress: new sname<".sname."> after bunzip2")
elseif sname =~ '\.gz$'
" call Decho("decompress: attempt to gunzip ".sname)
exe "silent !gunzip ".sname
let sname= substitute(sname,'\.gz$','','')
" call Decho("decompress: new sname<".sname."> after gunzip")
endif
" distribute archive(.zip, .tar, .vba) contents
if sname =~ '\.zip$'
" call Decho("dearchive: attempt to unzip ".sname)
exe "silent !unzip -o ".sname
elseif sname =~ '\.tar$'
" call Decho("dearchive: attempt to untar ".sname)
exe "silent !tar -xvf ".sname
elseif sname =~ '\.vba$'
" call Decho("dearchive: attempt to handle a vimball: ".sname)
silent 1split
exe "silent e ".sname
silent so %
silent q
endif
if sname =~ '.vim$'
" call Decho("dearchive: attempt to simply move ".sname." to plugin")
exe "silent !".g:GetLatestVimScripts_mv." ".sname." plugin"
endif
" helptags step
let docdir= substitute(&rtp,',.*','','e')."/doc"
" call Decho("helptags: docdir<".docdir.">")
exe "helptags ".docdir
exe "cd ".curdir
endif
if fname !~ ':AutoInstall:'
let modline=scriptid." ".latestsrcid." :AutoInstall: ".fname.cmmnt
else
let modline=scriptid." ".latestsrcid." ".fname.cmmnt
endif
else
let modline=scriptid." ".latestsrcid." ".fname.cmmnt
endif
" update the data in the <GetLatestVimScripts.dat> file
call setline(line("."),modline)
" call Decho("update data in ".expand("%")."#".line(".").": modline<".modline.">")
" else " Decho
" call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."], no need to update")
endif
" restore options
let &t_ti= t_ti
let &t_te= t_te
let &rs = rs
" call Dret("GetOneScript")
endfun
" ---------------------------------------------------------------------
" GetLatestVimScripts: this function gets the latest versions of {{{1
" scripts based on the list in
@@ -363,6 +128,12 @@ fun! getscript#GetLatestVimScripts()
return
endif
" insure that fnameescape() is available
if !exists("*fnameescape")
echoerr "GetLatestVimScripts needs fnameescape() (provided by 7.1.299 or later)"
return
endif
" Find the .../GetLatest subdirectory under the runtimepath
for datadir in split(&rtp,',') + ['']
if isdirectory(datadir."/GetLatest")
@@ -382,7 +153,6 @@ fun! getscript#GetLatestVimScripts()
" call Dret("GetLatestVimScripts : unable to find a GetLatest subdirectory")
return
endif
if filewritable(datadir) != 2
echoerr "(getLatestVimScripts) Your ".datadir." isn't writable"
" call Dret("GetLatestVimScripts : non-writable directory<".datadir.">")
@@ -399,19 +169,30 @@ fun! getscript#GetLatestVimScripts()
" call Dret("GetLatestVimScripts : non-writable datafile<".datafile.">")
return
endif
" --------------------
" Passed sanity checks
" --------------------
" call Decho("datadir <".datadir.">")
" call Decho("datafile <".datafile.">")
" don't let any events interfere (like winmanager's, taglist's, etc)
let eikeep= &ei
set ei=all
" don't let any event handlers interfere (like winmanager's, taglist's, etc)
let eikeep = &ei
let hlskeep = &hls
let acdkeep = &acd
set ei=all hls&vim noacd
" record current directory, change to datadir, open split window with
" datafile
" Edit the datafile (ie. GetLatestVimScripts.dat):
" 1. record current directory (origdir),
" 2. change directory to datadir,
" 3. split window
" 4. edit datafile
let origdir= getcwd()
exe "cd ".escape(substitute(datadir,'\','/','ge'),"|[]*'\" #")
" call Decho("exe cd ".fnameescape(substitute(datadir,'\','/','ge')))
exe "cd ".fnameescape(substitute(datadir,'\','/','ge'))
split
exe "e ".escape(substitute(datafile,'\','/','ge'),"|[]*'\" #")
" call Decho("exe e ".fnameescape(substitute(datafile,'\','/','ge')))
exe "e ".fnameescape(substitute(datafile,'\','/','ge'))
res 1000
let s:downloads = 0
let s:downerrors= 0
@@ -421,78 +202,85 @@ fun! getscript#GetLatestVimScripts()
" call Decho("searching plugins for GetLatestVimScripts dependencies")
let lastline = line("$")
" call Decho("lastline#".lastline)
let plugins = split(globpath(&rtp,"plugin/*.vim"))
let firstdir = substitute(&rtp,',.*$','','')
let plugins = split(globpath(firstdir,"plugin/*.vim"),'\n')
let plugins = plugins + split(globpath(firstdir,"AsNeeded/*.vim"),'\n')
let foundscript = 0
let firstdir= ""
" this loop updates the GetLatestVimScripts.dat file
" with dependencies explicitly mentioned in the plugins
" via GetLatestVimScripts: ... lines
" It reads the plugin script at the end of the GetLatestVimScripts.dat
" file, examines it, and then removes it.
for plugin in plugins
" don't process plugins in system directories
if firstdir == ""
let firstdir= substitute(plugin,'[/\\][^/\\]\+$','','')
" call Decho("firstdir<".firstdir.">")
else
let curdir= substitute(plugin,'[/\\][^/\\]\+$','','')
" call Decho("curdir<".curdir.">")
if curdir != firstdir
break
endif
endif
" call Decho(" ")
" call Decho("plugin<".plugin.">")
" read plugin in
" evidently a :r creates a new buffer (the "#" buffer) that is subsequently unused -- bwiping it
$
" call Decho(" ")
" call Decho(".dependency checking<".plugin."> line$=".line("$"))
exe "silent r ".plugin
" call Decho("..exe silent r ".fnameescape(plugin))
exe "silent r ".fnameescape(plugin)
exe "silent bwipe ".bufnr("#")
while search('^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+','W') != 0
let newscript= substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+\s\+\(.*\)$','\1','e')
let llp1 = lastline+1
" call Decho("..newscript<".newscript.">")
let depscript = substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\d\+\s\+\d\+\s\+\(.*\)$','\1','e')
let depscriptid = substitute(getline("."),'^"\s\+GetLatestVimScripts:\s\+\(\d\+\)\s\+.*$','\1','')
let llp1 = lastline+1
" call Decho("..depscript<".depscript.">")
" don't process ""GetLatestVimScripts lines
if newscript !~ '^"'
" found a "GetLatestVimScripts: # #" line in the script; check if its already in the datafile
let curline = line(".")
let noai_script = substitute(newscript,'\s*:AutoInstall:\s*','','e')
exe llp1
let srchline = search('\<'.noai_script.'\>','bW')
" call Decho("..noai_script<".noai_script."> srch=".srchline."curline#".line(".")." lastline#".lastline)
if srchline == 0
" found a new script to permanently include in the datafile
let keep_rega = @a
let @a = substitute(getline(curline),'^"\s\+GetLatestVimScripts:\s\+','','')
exe lastline."put a"
echomsg "Appending <".@a."> to ".datafile." for ".newscript
" call Decho("..APPEND (".noai_script.")<".@a."> to GetLatestVimScripts.dat")
let @a = keep_rega
let lastline = llp1
let curline = curline + 1
let foundscript = foundscript + 1
" else " Decho
" call Decho("..found <".noai_script."> (already in datafile at line#".srchline.")")
endif
let curline = curline + 1
exe curline
" found a "GetLatestVimScripts: # #" line in the script;
" check if its already in the datafile by searching backwards from llp1,
" the (prior to reading in the plugin script) last line plus one of the GetLatestVimScripts.dat file,
" for the script-id with no wrapping allowed.
let curline = line(".")
let noai_script = substitute(depscript,'\s*:AutoInstall:\s*','','e')
exe llp1
let srchline = search('^\s*'.depscriptid.'\s\+\d\+\s\+.*$','bW')
if srchline == 0
" this second search is taken when, for example, a 0 0 scriptname is to be skipped over
let srchline= search('\<'.noai_script.'\>','bW')
endif
" call Decho("..noai_script<".noai_script."> depscriptid#".depscriptid." srchline#".srchline." curline#".line(".")." lastline#".lastline)
if srchline == 0
" found a new script to permanently include in the datafile
let keep_rega = @a
let @a = substitute(getline(curline),'^"\s\+GetLatestVimScripts:\s\+','','')
echomsg "Appending <".@a."> to ".datafile." for ".depscript
" call Decho("..Appending <".@a."> to ".datafile." for ".depscript)
exe lastline."put a"
let @a = keep_rega
let lastline = llp1
let curline = curline + 1
let foundscript = foundscript + 1
" else " Decho
" call Decho("..found <".noai_script."> (already in datafile at line#".srchline.")")
endif
let curline = curline + 1
exe curline
endwhile
" llp1: last line plus one
let llp1= lastline + 1
" call Decho(".deleting lines: ".llp1.",$d")
exe "silent! ".llp1.",$d"
endfor
" call Decho("--- end dependency checking loop --- foundscript=".foundscript)
" call Decho(" ")
" call Dredir("BUFFER TEST (GetLatestVimScripts 1)","ls!")
if foundscript == 0
set nomod
setlocal nomod
endif
" --------------------------------------------------------------------
" Check on out-of-date scripts using GetLatest/GetLatestVimScripts.dat
" --------------------------------------------------------------------
" call Decho("begin: checking out-of-date scripts using datafile<".datafile.">")
set lz
setlocal lz
1
" /^-----/,$g/^\s*\d/call Decho(getline("."))
1
@@ -529,14 +317,334 @@ fun! getscript#GetLatestVimScripts()
q
" restore events and current directory
exe "cd ".escape(substitute(origdir,'\','/','ge'),"|[]*'\" #")
let &ei= eikeep
set nolz
exe "cd ".fnameescape(substitute(origdir,'\','/','ge'))
let &ei = eikeep
let &hls = hlskeep
let &acd = acdkeep
setlocal nolz
" call Dredir("BUFFER TEST (GetLatestVimScripts 2)","ls!")
" call Dret("GetLatestVimScripts : did ".s:downloads." downloads")
endfun
" ---------------------------------------------------------------------
" ---------------------------------------------------------------------
" GetOneScript: (Get Latest Vim Script) this function operates {{{1
" on the current line, interpreting two numbers and text as
" ScriptID, SourceID, and Filename.
" It downloads any scripts that have newer versions from vim.sourceforge.net.
fun! s:GetOneScript(...)
" call Dfunc("GetOneScript()")
" set options to allow progress to be shown on screen
let rega= @a
let t_ti= &t_ti
let t_te= &t_te
let rs = &rs
set t_ti= t_te= nors
" put current line on top-of-screen and interpret it into
" a script identifer : used to obtain webpage
" source identifier : used to identify current version
" and an associated comment: used to report on what's being considered
if a:0 >= 3
let scriptid = a:1
let srcid = a:2
let fname = a:3
let cmmnt = ""
" call Decho("scriptid<".scriptid.">")
" call Decho("srcid <".srcid.">")
" call Decho("fname <".fname.">")
else
let curline = getline(".")
if curline =~ '^\s*#'
let @a= rega
" call Dret("GetOneScript : skipping a pure comment line")
return
endif
let parsepat = '^\s*\(\d\+\)\s\+\(\d\+\)\s\+\(.\{-}\)\(\s*#.*\)\=$'
try
let scriptid = substitute(curline,parsepat,'\1','e')
catch /^Vim\%((\a\+)\)\=:E486/
let scriptid= 0
endtry
try
let srcid = substitute(curline,parsepat,'\2','e')
catch /^Vim\%((\a\+)\)\=:E486/
let srcid= 0
endtry
try
let fname= substitute(curline,parsepat,'\3','e')
catch /^Vim\%((\a\+)\)\=:E486/
let fname= ""
endtry
try
let cmmnt= substitute(curline,parsepat,'\4','e')
catch /^Vim\%((\a\+)\)\=:E486/
let cmmnt= ""
endtry
" call Decho("curline <".curline.">")
" call Decho("parsepat<".parsepat.">")
" call Decho("scriptid<".scriptid.">")
" call Decho("srcid <".srcid.">")
" call Decho("fname <".fname.">")
endif
" plugin author protection from downloading his/her own scripts atop their latest work
if scriptid == 0 || srcid == 0
" When looking for :AutoInstall: lines, skip scripts that have 0 0 scriptname
let @a= rega
" call Dret("GetOneScript : skipping a scriptid==srcid==0 line")
return
endif
let doautoinstall= 0
if fname =~ ":AutoInstall:"
" call Decho("case AutoInstall: fname<".fname.">")
let aicmmnt= substitute(fname,'\s\+:AutoInstall:\s\+',' ','')
" call Decho("aicmmnt<".aicmmnt."> s:autoinstall=".s:autoinstall)
if s:autoinstall != ""
let doautoinstall = g:GetLatestVimScripts_allowautoinstall
endif
else
let aicmmnt= fname
endif
" call Decho("aicmmnt<".aicmmnt.">: doautoinstall=".doautoinstall)
exe "norm z\<CR>"
redraw!
" call Decho('considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid)
echo 'considering <'.aicmmnt.'> scriptid='.scriptid.' srcid='.srcid
" grab a copy of the plugin's vim.sourceforge.net webpage
let scriptaddr = 'http://vim.sourceforge.net/script.php?script_id='.scriptid
let tmpfile = tempname()
let v:errmsg = ""
" make up to three tries at downloading the description
let itry= 1
while itry <= 3
" call Decho(".try#".itry." to download description of <".aicmmnt."> with addr=".scriptaddr)
if has("win32") || has("win16") || has("win95")
" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile).' '.shellescape(scriptaddr)."|bw!")
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile).' '.shellescape(scriptaddr)|bw!
else
" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile)." ".shellescape(scriptaddr))
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(tmpfile)." ".shellescape(scriptaddr)
endif
if itry == 1
exe "silent vsplit ".fnameescape(tmpfile)
else
silent! e %
endif
setlocal bh=wipe
" find the latest source-id in the plugin's webpage
silent! 1
let findpkg= search('Click on the package to download','W')
if findpkg > 0
break
endif
let itry= itry + 1
endwhile
" call Decho(" --- end downloading tries while loop --- itry=".itry)
" testing: did finding "Click on the package..." fail?
if findpkg == 0 || itry >= 4
silent q!
call delete(tmpfile)
" restore options
let &t_ti = t_ti
let &t_te = t_te
let &rs = rs
let s:downerrors = s:downerrors + 1
" call Decho("***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">")
echomsg "***warning*** couldn'".'t find "Click on the package..." in description page for <'.aicmmnt.">"
" call Dret("GetOneScript : srch for /Click on the package/ failed")
let @a= rega
return
endif
" call Decho('found "Click on the package to download"')
let findsrcid= search('src_id=','W')
if findsrcid == 0
silent q!
call delete(tmpfile)
" restore options
let &t_ti = t_ti
let &t_te = t_te
let &rs = rs
let s:downerrors = s:downerrors + 1
" call Decho("***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">")
echomsg "***warning*** couldn'".'t find "src_id=" in description page for <'.aicmmnt.">"
let @a= rega
" call Dret("GetOneScript : srch for /src_id/ failed")
return
endif
" call Decho('found "src_id=" in description page')
let srcidpat = '^\s*<td class.*src_id=\(\d\+\)">\([^<]\+\)<.*$'
let latestsrcid= substitute(getline("."),srcidpat,'\1','')
let sname = substitute(getline("."),srcidpat,'\2','') " script name actually downloaded
" call Decho("srcidpat<".srcidpat."> latestsrcid<".latestsrcid."> sname<".sname.">")
silent q!
call delete(tmpfile)
" convert the strings-of-numbers into numbers
let srcid = srcid + 0
let latestsrcid = latestsrcid + 0
" call Decho("srcid=".srcid." latestsrcid=".latestsrcid." sname<".sname.">")
" has the plugin's most-recent srcid increased, which indicates that it has been updated
if latestsrcid > srcid
" call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."]: need to update <".sname.">")
let s:downloads= s:downloads + 1
if sname == bufname("%")
" GetLatestVimScript has to be careful about downloading itself
let sname= "NEW_".sname
endif
" -----------------------------------------------------------------------------
" the plugin has been updated since we last obtained it, so download a new copy
" -----------------------------------------------------------------------------
" call Decho(".downloading new <".sname.">")
echomsg ".downloading new <".sname.">"
if has("win32") || has("win16") || has("win95")
" call Decho(".new|exe silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='.latestsrcid)."|q")
new|exe "silent r!".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='.latestsrcid)|q
else
" call Decho(".exe silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id='))
exe "silent !".g:GetLatestVimScripts_wget." ".g:GetLatestVimScripts_options." ".shellescape(sname)." ".shellescape('http://vim.sourceforge.net/scripts/download_script.php?src_id=').latestsrcid
endif
" --------------------------------------------------------------------------
" AutoInstall: only if doautoinstall has been requested by the plugin itself
" --------------------------------------------------------------------------
" call Decho("checking if plugin requested autoinstall: doautoinstall=".doautoinstall)
if doautoinstall
" call Decho(" ")
" call Decho("Autoinstall: getcwd<".getcwd()."> filereadable(".sname.")=".filereadable(sname))
if filereadable(sname)
" call Decho("<".sname."> is readable")
" call Decho("exe silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall))
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".shellescape(s:autoinstall)
let curdir = fnameescape(substitute(getcwd(),'\','/','ge'))
let installdir= curdir."/Installed"
if !isdirectory(installdir)
call mkdir(installdir)
endif
" call Decho("curdir<".curdir."> installdir<".installdir.">")
" call Decho("exe cd ".fnameescape(s:autoinstall))
exe "cd ".fnameescape(s:autoinstall)
" determine target directory for moves
let firstdir= substitute(&rtp,',.*$','','')
let pname = substitute(sname,'\..*','.vim','')
" call Decho("determine tgtdir: is <".firstdir.'/AsNeeded/'.pname." readable?")
if filereadable(firstdir.'/AsNeeded/'.pname)
let tgtdir= "AsNeeded"
else
let tgtdir= "plugin"
endif
" call Decho("tgtdir<".tgtdir."> pname<".pname.">")
" decompress
if sname =~ '\.bz2$'
" call Decho("decompress: attempt to bunzip2 ".sname)
exe "silent !bunzip2 ".shellescape(sname)
let sname= substitute(sname,'\.bz2$','','')
" call Decho("decompress: new sname<".sname."> after bunzip2")
elseif sname =~ '\.gz$'
" call Decho("decompress: attempt to gunzip ".sname)
exe "silent !gunzip ".shellescape(sname)
let sname= substitute(sname,'\.gz$','','')
" call Decho("decompress: new sname<".sname."> after gunzip")
elseif sname =~ '\.xz$'
" call Decho("decompress: attempt to unxz ".sname)
exe "silent !unxz ".shellescape(sname)
let sname= substitute(sname,'\.xz$','','')
" call Decho("decompress: new sname<".sname."> after unxz")
else
" call Decho("no decompression needed")
endif
" distribute archive(.zip, .tar, .vba) contents
if sname =~ '\.zip$'
" call Decho("dearchive: attempt to unzip ".sname)
exe "silent !unzip -o ".shellescape(sname)
elseif sname =~ '\.tar$'
" call Decho("dearchive: attempt to untar ".sname)
exe "silent !tar -xvf ".shellescape(sname)
elseif sname =~ '\.vba$'
" call Decho("dearchive: attempt to handle a vimball: ".sname)
silent 1split
if exists("g:vimball_home")
let oldvimballhome= g:vimball_home
endif
let g:vimball_home= s:autoinstall
exe "silent e ".fnameescape(sname)
silent so %
silent q
if exists("oldvimballhome")
let g:vimball_home= oldvimballhome
else
unlet g:vimball_home
endif
else
" call Decho("no dearchiving needed")
endif
" ---------------------------------------------
" move plugin to plugin/ or AsNeeded/ directory
" ---------------------------------------------
if sname =~ '.vim$'
" call Decho("dearchive: attempt to simply move ".sname." to ".tgtdir)
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".tgtdir
else
" call Decho("dearchive: move <".sname."> to installdir<".installdir.">")
exe "silent !".g:GetLatestVimScripts_mv." ".shellescape(sname)." ".installdir
endif
if tgtdir != "plugin"
" call Decho("exe silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir)
exe "silent !".g:GetLatestVimScripts_mv." plugin/".shellescape(pname)." ".tgtdir
endif
" helptags step
let docdir= substitute(&rtp,',.*','','e')."/doc"
" call Decho("helptags: docdir<".docdir.">")
exe "helptags ".fnameescape(docdir)
exe "cd ".fnameescape(curdir)
endif
if fname !~ ':AutoInstall:'
let modline=scriptid." ".latestsrcid." :AutoInstall: ".fname.cmmnt
else
let modline=scriptid." ".latestsrcid." ".fname.cmmnt
endif
else
let modline=scriptid." ".latestsrcid." ".fname.cmmnt
endif
" update the data in the <GetLatestVimScripts.dat> file
call setline(line("."),modline)
" call Decho("update data in ".expand("%")."#".line(".").": modline<".modline.">")
" else " Decho
" call Decho("[latestsrcid=".latestsrcid."] <= [srcid=".srcid."], no need to update")
endif
" restore options
let &t_ti = t_ti
let &t_te = t_te
let &rs = rs
let @a = rega
" call Dredir("BUFFER TEST (GetOneScript)","ls!")
" call Dret("GetOneScript")
endfun
" ---------------------------------------------------------------------
" Restore Options: {{{1
let &cpo= s:keepcpo
unlet s:keepcpo
" ---------------------------------------------------------------------
" Modelines: {{{1
" vim: ts=8 sts=2 fdm=marker nowrap
+22 -14
View File
@@ -1,14 +1,15 @@
"------------------------------------------------------------------------------
" Description: Vim Ada/GNAT compiler file
" Language: Ada (GNAT)
" $Id$
" $Id: gnat.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik
" $Author$
" $Date$
" Version: 4.2
" $Revision$
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/gnat.vim $
" Maintainer: Martin Krischi <krischik@users.sourceforge.net>k
" Ned Okie <nokie@radford.edu>
" $Author: krischik $
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6
" $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/autoload/gnat.vim $
" History: 24.05.2006 MK Unified Headers
" 16.07.2006 MK Ada-Mode as vim-ball
" 05.08.2006 MK Add session support
@@ -16,6 +17,7 @@
" 05.11.2006 MK Bram suggested not to use include protection for
" autoload
" 05.11.2006 MK Bram suggested to save on spaces
" 19.09.2007 NO use project file only when there is a project
" Help Page: compiler-gnat
"------------------------------------------------------------------------------
@@ -71,13 +73,19 @@ function gnat#Set_Project_File (...) dict " {{{1
execute 'mksession! ' . v:this_session
endif
if strlen (self.Project_File) > 0
call ada#Switch_Session (
\ expand('~') . "/vimfiles/session/" .
\ fnamemodify (self.Project_File, ":t:r") . ".vim")
else
call ada#Switch_Session ('')
endif
"if strlen (self.Project_File) > 0
"if has("vms")
"call ada#Switch_Session (
"\ expand('~')[0:-2] . ".vimfiles.session]gnat_" .
"\ fnamemodify (self.Project_File, ":t:r") . ".vim")
"else
"call ada#Switch_Session (
"\ expand('~') . "/vimfiles/session/gnat_" .
"\ fnamemodify (self.Project_File, ":t:r") . ".vim")
"endif
"else
"call ada#Switch_Session ('')
"endif
return
endfunction gnat#Set_Project_File " }}}1
+26 -14
View File
@@ -1,6 +1,6 @@
" Vim autoload file for editing compressed files.
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2007 May 10
" Last Change: 2008 Jul 04
" These functions are used by the gzip plugin.
@@ -73,8 +73,15 @@ fun gzip#read(cmd)
let empty = line("'[") == 1 && line("']") == line("$")
let tmp = tempname()
let tmpe = tmp . "." . expand("<afile>:e")
if exists('*fnameescape')
let tmp_esc = fnameescape(tmp)
let tmpe_esc = fnameescape(tmpe)
else
let tmp_esc = escape(tmp, ' ')
let tmpe_esc = escape(tmpe, ' ')
endif
" write the just read lines to a temp file "'[,']w tmp.gz"
execute "silent '[,']w " . escape(tmpe, ' ')
execute "silent '[,']w " . tmpe_esc
" uncompress the temp file: call system("gzip -dn tmp.gz")
call system(a:cmd . " " . s:escape(tmpe))
if !filereadable(tmp)
@@ -95,12 +102,12 @@ fun gzip#read(cmd)
setlocal nobin
if exists(":lockmarks")
if empty
execute "silent lockmarks " . l . "r ++edit " . tmp
execute "silent lockmarks " . l . "r ++edit " . tmp_esc
else
execute "silent lockmarks " . l . "r " . tmp
execute "silent lockmarks " . l . "r " . tmp_esc
endif
else
execute "silent " . l . "r " . tmp
execute "silent " . l . "r " . tmp_esc
endif
" if buffer became empty, delete trailing blank line
@@ -110,8 +117,8 @@ fun gzip#read(cmd)
endif
" delete the temp file and the used buffers
call delete(tmp)
silent! exe "bwipe " . tmp
silent! exe "bwipe " . tmpe
silent! exe "bwipe " . tmp_esc
silent! exe "bwipe " . tmpe_esc
endif
" Restore saved option values.
@@ -124,10 +131,15 @@ fun gzip#read(cmd)
" When uncompressed the whole buffer, do autocommands
if ok && empty
if &verbose >= 8
execute "doau BufReadPost " . expand("%:r")
if exists('*fnameescape')
let fname = fnameescape(expand("%:r"))
else
execute "silent! doau BufReadPost " . expand("%:r")
let fname = escape(expand("%:r"), " \t\n*?[{`$\\%#'\"|!<")
endif
if &verbose >= 8
execute "doau BufReadPost " . fname
else
execute "silent! doau BufReadPost " . fname
endif
endif
endfun
@@ -141,9 +153,9 @@ fun gzip#write(cmd)
let nmt = s:tempname(nm)
if rename(nm, nmt) == 0
if exists("b:gzip_comp_arg")
call system(a:cmd . " " . b:gzip_comp_arg . " " . s:escape(nmt))
call system(a:cmd . " " . b:gzip_comp_arg . " -- " . s:escape(nmt))
else
call system(a:cmd . " " . s:escape(nmt))
call system(a:cmd . " -- " . s:escape(nmt))
endif
call rename(nmt . "." . expand("<afile>:e"), nm)
endif
@@ -168,10 +180,10 @@ fun gzip#appre(cmd)
if rename(nm, nmte) == 0
if &patchmode != "" && getfsize(nm . &patchmode) == -1
" Create patchmode file by creating the decompressed file new
call system(a:cmd . " -c " . s:escape(nmte) . " > " . s:escape(nmt))
call system(a:cmd . " -c -- " . s:escape(nmte) . " > " . s:escape(nmt))
call rename(nmte, nm . &patchmode)
else
call system(a:cmd . " " . s:escape(nmte))
call system(a:cmd . " -- " . s:escape(nmte))
endif
call rename(nmt, nm)
endif
+2 -1
View File
@@ -1,7 +1,7 @@
" Vim completion script
" Language: HTML and XHTML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2006 Oct 19
" Last Change: 2011 Apr 28
function! htmlcomplete#CompleteTags(findstart, base)
if a:findstart
@@ -285,6 +285,7 @@ function! htmlcomplete#CompleteTags(findstart, base)
let cssfiles = styletable + secimportfiles
let classes = []
for file in cssfiles
let classlines = []
if filereadable(file)
let stylesheet = readfile(file)
let stylefile = join(stylesheet, ' ')
+6580 -3242
View File
File diff suppressed because it is too large Load Diff
+36 -30
View File
@@ -1,9 +1,9 @@
" netrwFileHandlers: contains various extension-based file handlers for
" netrw's browsers' x command ("eXecute launcher")
" Author: Charles E. Campbell, Jr.
" Date: May 30, 2006
" Version: 9
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
" Date: Sep 30, 2008
" Version: 10
" Copyright: Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
@@ -20,9 +20,15 @@
if exists("g:loaded_netrwFileHandlers") || &cp
finish
endif
let g:loaded_netrwFileHandlers= "v10"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of netrwFileHandlers needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo= &cpo
set cpo&vim
let g:loaded_netrwFileHandlers= "v9"
" ---------------------------------------------------------------------
" netrwFileHandlers#Invoke: {{{1
@@ -73,10 +79,10 @@ fun! s:NFH_html(pagefile)
if executable("mozilla")
" call Decho("executing !mozilla ".page)
exe "!mozilla ".g:netrw_shq.page.g:netrw_shq
exe "!mozilla ".shellescape(page,1)
elseif executable("netscape")
" call Decho("executing !netscape ".page)
exe "!netscape ".g:netrw_shq..page.g:netrw_shq
exe "!netscape ".shellescape(page,1)
else
" call Dret("s:NFH_html 0")
return 0
@@ -96,10 +102,10 @@ fun! s:NFH_htm(pagefile)
if executable("mozilla")
" call Decho("executing !mozilla ".page)
exe "!mozilla ".g:netrw_shq.page.g:netrw_shq
exe "!mozilla ".shellescape(page,1)
elseif executable("netscape")
" call Decho("executing !netscape ".page)
exe "!netscape ".g:netrw_shq.page.g:netrw_shq
exe "!netscape ".shellescape(page,1)
else
" call Dret("s:NFH_htm 0")
return 0
@@ -115,10 +121,10 @@ fun! s:NFH_jpg(jpgfile)
" call Dfunc("s:NFH_jpg(jpgfile<".a:jpgfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".g:netrw_shq.a:jpgfile.g:netrw_shq
exe "silent! !gimp -s ".shellescape(a:jpgfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
" call Decho("silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".escape(a:jpgfile," []|'"))
exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:jpgfile.g:netrw_shq
exe "!".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:jpgfile,1)
else
" call Dret("s:NFH_jpg 0")
return 0
@@ -134,9 +140,9 @@ fun! s:NFH_gif(giffile)
" call Dfunc("s:NFH_gif(giffile<".a:giffile.">)")
if executable("gimp")
exe "silent! !gimp -s ".g:netrw_shq.a:giffile.g:netrw_shq
exe "silent! !gimp -s ".shellescape(a:giffile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:giffile.g:netrw_shq
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:giffile,1)
else
" call Dret("s:NFH_gif 0")
return 0
@@ -152,9 +158,9 @@ fun! s:NFH_png(pngfile)
" call Dfunc("s:NFH_png(pngfile<".a:pngfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".g:netrw_shq.a:pngfile.g:netrw_shq
exe "silent! !gimp -s ".shellescape(a:pngfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:pngfile.g:netrw_shq
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pngfile,1)
else
" call Dret("s:NFH_png 0")
return 0
@@ -170,9 +176,9 @@ fun! s:NFH_pnm(pnmfile)
" call Dfunc("s:NFH_pnm(pnmfile<".a:pnmfile.">)")
if executable("gimp")
exe "silent! !gimp -s ".g:netrw_shq.a:pnmfile.g:netrw_shq
exe "silent! !gimp -s ".shellescape(a:pnmfile,1)
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:pnmfile.g:netrw_shq
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:pnmfile,1)
else
" call Dret("s:NFH_pnm 0")
return 0
@@ -190,7 +196,7 @@ fun! s:NFH_bmp(bmpfile)
if executable("gimp")
exe "silent! !gimp -s ".a:bmpfile
elseif executable(expand("$SystemRoot")."/SYSTEM32/MSPAINT.EXE")
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".g:netrw_shq.a:bmpfile.g:netrw_shq
exe "silent! !".expand("$SystemRoot")."/SYSTEM32/MSPAINT ".shellescape(a:bmpfile,1)
else
" call Dret("s:NFH_bmp 0")
return 0
@@ -205,9 +211,9 @@ endfun
fun! s:NFH_pdf(pdf)
" call Dfunc("s:NFH_pdf(pdf<".a:pdf.">)")
if executable("gs")
exe 'silent! !gs '.g:netrw_shq.a:pdf.g:netrw_shq
exe 'silent! !gs '.shellescape(a:pdf,1)
elseif executable("pdftotext")
exe 'silent! pdftotext -nopgbrk '.g:netrw_shq.a:pdf.g:netrw_shq
exe 'silent! pdftotext -nopgbrk '.shellescape(a:pdf,1)
else
" call Dret("s:NFH_pdf 0")
return 0
@@ -223,7 +229,7 @@ fun! s:NFH_doc(doc)
" call Dfunc("s:NFH_doc(doc<".a:doc.">)")
if executable("oowriter")
exe 'silent! !oowriter '.g:netrw_shq.a:doc.g:netrw_shq
exe 'silent! !oowriter '.shellescape(a:doc,1)
redraw!
else
" call Dret("s:NFH_doc 0")
@@ -240,7 +246,7 @@ fun! s:NFH_sxw(sxw)
" call Dfunc("s:NFH_sxw(sxw<".a:sxw.">)")
if executable("oowriter")
exe 'silent! !oowriter '.g:netrw_shq.a:sxw.g:netrw_shq
exe 'silent! !oowriter '.shellescape(a:sxw,1)
redraw!
else
" call Dret("s:NFH_sxw 0")
@@ -257,7 +263,7 @@ fun! s:NFH_xls(xls)
" call Dfunc("s:NFH_xls(xls<".a:xls.">)")
if executable("oocalc")
exe 'silent! !oocalc '.g:netrw_shq.a:xls.g:netrw_shq
exe 'silent! !oocalc '.shellescape(a:xls,1)
redraw!
else
" call Dret("s:NFH_xls 0")
@@ -274,15 +280,15 @@ fun! s:NFH_ps(ps)
" call Dfunc("s:NFH_ps(ps<".a:ps.">)")
if executable("gs")
" call Decho("exe silent! !gs ".a:ps)
exe "silent! !gs ".g:netrw_shq.a:ps.g:netrw_shq
exe "silent! !gs ".shellescape(a:ps,1)
redraw!
elseif executable("ghostscript")
" call Decho("exe silent! !ghostscript ".a:ps)
exe "silent! !ghostscript ".g:netrw_shq.a:ps.g:netrw_shq
exe "silent! !ghostscript ".shellescape(a:ps,1)
redraw!
elseif executable("gswin32")
" call Decho("exe silent! !gswin32 ".g:netrw_shq.a:ps.g:netrw_shq)
exe "silent! !gswin32 ".g:netrw_shq.a:ps.g:netrw_shq
" call Decho("exe silent! !gswin32 ".shellescape(a:ps,1))
exe "silent! !gswin32 ".shellescape(a:ps,1)
redraw!
else
" call Dret("s:NFH_ps 0")
@@ -298,16 +304,16 @@ endfun
fun! s:NFH_eps(eps)
" call Dfunc("s:NFH_eps()")
if executable("gs")
exe "silent! !gs ".g:netrw_shq.a:eps.g:netrw_shq
exe "silent! !gs ".shellescape(a:eps,1)
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".g:netrw_shq.a:eps.g:netrw_shq
exe "silent! !ghostscript ".shellescape(a:eps,1)
redraw!
elseif executable("ghostscript")
exe "silent! !ghostscript ".g:netrw_shq.a:eps.g:netrw_shq
exe "silent! !ghostscript ".shellescape(a:eps,1)
redraw!
elseif executable("gswin32")
exe "silent! !gswin32 ".g:netrw_shq.a:eps.g:netrw_shq
exe "silent! !gswin32 ".shellescape(a:eps,1)
redraw!
else
" call Dret("s:NFH_eps 0")
+34 -15
View File
@@ -1,7 +1,7 @@
" netrwSettings.vim: makes netrw settings simpler
" Date: Mar 26, 2007
" Date: Sep 03, 2008
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" Version: 9
" Version: 13
" Copyright: Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
@@ -19,13 +19,19 @@
if exists("g:loaded_netrwSettings") || &cp
finish
endif
let g:loaded_netrwSettings = "v9"
let g:loaded_netrwSettings = "v13"
if v:version < 700
echohl WarningMsg
echo "***warning*** this version of netrwSettings needs vim 7.0"
echohl Normal
finish
endif
" ---------------------------------------------------------------------
" NetrwSettings: {{{1
fun! netrwSettings#NetrwSettings()
" this call is here largely just to insure that netrw has been loaded
call netrw#NetSavePosn()
call netrw#NetrwSavePosn()
if !exists("g:loaded_netrw")
echohl WarningMsg | echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings" | echohl None
return
@@ -82,8 +88,6 @@ fun! netrwSettings#NetrwSettings()
put = 'let g:netrw_ftpmode = '.g:netrw_ftpmode
put = 'let g:netrw_ignorenetrc = '.g:netrw_ignorenetrc
put = 'let g:netrw_sshport = '.g:netrw_sshport
let shqline= line("$")
put = 'let g:netrw_shq...'
put = 'let g:netrw_use_nt_rcp = '.g:netrw_use_nt_rcp
put = 'let g:netrw_win95ftp = '.g:netrw_win95ftp
let s:netrw_xfer_stop= line(".")
@@ -101,35 +105,53 @@ fun! netrwSettings#NetrwSettings()
else
put = 'let g:netrw_browsex_viewer = (not defined)'
endif
put = 'let g:netrw_compress = '.g:netrw_compress
put = 'let g:netrw_cursorline = '.g:netrw_cursorline
let decompressline= line("$")
put ='let g:netrw_decompress...'
put = 'let g:netrw_dirhistmax = '.g:netrw_dirhistmax
put = 'let g:netrw_fastbrowse = '.g:netrw_fastbrowse
let fnameescline= line("$")
put = 'let g:netrw_fname_escape...'
put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
put = 'let g:netrw_ftp_list_cmd = '.g:netrw_ftp_list_cmd
put = 'let g:netrw_ftp_sizelist_cmd = '.g:netrw_ftp_sizelist_cmd
put = 'let g:netrw_ftp_timelist_cmd = '.g:netrw_ftp_timelist_cmd
let globescline= line("$")
put ='let g:netrw_glob_escape...'
put = 'let g:netrw_hide = '.g:netrw_hide
put = 'let g:netrw_keepdir = '.g:netrw_keepdir
put = 'let g:netrw_list_cmd = '.g:netrw_list_cmd
put = 'let g:netrw_list_hide = '.g:netrw_list_hide
put = 'let g:netrw_local_mkdir = '.g:netrw_local_mkdir
put = 'let g:netrw_local_rmdir = '.g:netrw_local_rmdir
put = 'let g:netrw_liststyle = '.g:netrw_liststyle
put = 'let g:netrw_localcopycmd = '.g:netrw_localcopycmd
put = 'let g:netrw_local_mkdir = '.g:netrw_local_mkdir
put = 'let g:netrw_localmovecmd = '.g:netrw_localmovecmd
put = 'let g:netrw_local_rmdir = '.g:netrw_local_rmdir
put = 'let g:netrw_maxfilenamelen = '.g:netrw_maxfilenamelen
put = 'let g:netrw_menu = '.g:netrw_menu
put = 'let g:netrw_mkdir_cmd = '.g:netrw_mkdir_cmd
put = 'let g:netrw_preview = '.g:netrw_preview
put = 'let g:netrw_rename_cmd = '.g:netrw_rename_cmd
put = 'let g:netrw_retmap = '.g:netrw_retmap
put = 'let g:netrw_rm_cmd = '.g:netrw_rm_cmd
put = 'let g:netrw_rmdir_cmd = '.g:netrw_rmdir_cmd
put = 'let g:netrw_rmf_cmd = '.g:netrw_rmf_cmd
put = 'let g:netrw_silent = '.g:netrw_silent
put = 'let g:netrw_sort_by = '.g:netrw_sort_by
put = 'let g:netrw_sort_direction = '.g:netrw_sort_direction
put = 'let g:netrw_sort_options = '.g:netrw_sort_options
put = 'let g:netrw_sort_sequence = '.g:netrw_sort_sequence
put = 'let g:netrw_special_syntax = '.g:netrw_special_syntax
put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
put = 'let g:netrw_scpport = '.g:netrw_scpport
put = 'let g:netrw_sepchr = '.g:netrw_sepchr
put = 'let g:netrw_sshport = '.g:netrw_sshport
put = 'let g:netrw_timefmt = '.g:netrw_timefmt
let tmpfileescline= line("$")
put ='let g:netrw_tmpfile_escape...'
put = 'let g:netrw_use_noswf = '.g:netrw_use_noswf
put = 'let g:netrw_xstrlen = '.g:netrw_xstrlen
put = 'let g:netrw_winsize = '.g:netrw_winsize
put =''
@@ -142,13 +164,10 @@ fun! netrwSettings#NetrwSettings()
silent %s/= $/= ''/e
1
" Put in shq setting.
" (deferred so as to avoid the quote manipulation just preceding)
if g:netrw_shq == "'"
call setline(shqline,'let g:netrw_shq = "'.g:netrw_shq.'"')
else
call setline(shqline,"let g:netrw_shq = '".g:netrw_shq."'")
endif
call setline(decompressline,"let g:netrw_decompress = ".substitute(string(g:netrw_decompress),"^'\\(.*\\)'$",'\1',''))
call setline(fnameescline, "let g:netrw_fname_escape = '".escape(g:netrw_fname_escape,"'")."'")
call setline(globescline, "let g:netrw_glob_escape = '".escape(g:netrw_glob_escape,"'")."'")
call setline(tmpfileescline,"let g:netrw_tmpfile_escape = '".escape(g:netrw_tmpfile_escape,"'")."'")
set nomod
+606
View File
@@ -0,0 +1,606 @@
"python3complete.vim - Omni Completion for python
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
" Version: 0.9
" Last Updated: 18 Jun 2009
"
" Roland Puntaier: this file contains adaptations for python3 and is parallel to pythoncomplete.vim
"
" Changes
" TODO:
" 'info' item output can use some formatting work
" Add an "unsafe eval" mode, to allow for return type evaluation
" Complete basic syntax along with import statements
" i.e. "import url<c-x,c-o>"
" Continue parsing on invalid line??
"
" v 0.9
" * Fixed docstring parsing for classes and functions
" * Fixed parsing of *args and **kwargs type arguments
" * Better function param parsing to handle things like tuples and
" lambda defaults args
"
" v 0.8
" * Fixed an issue where the FIRST assignment was always used instead of
" using a subsequent assignment for a variable
" * Fixed a scoping issue when working inside a parameterless function
"
"
" v 0.7
" * Fixed function list sorting (_ and __ at the bottom)
" * Removed newline removal from docs. It appears vim handles these better in
" recent patches
"
" v 0.6:
" * Fixed argument completion
" * Removed the 'kind' completions, as they are better indicated
" with real syntax
" * Added tuple assignment parsing (whoops, that was forgotten)
" * Fixed import handling when flattening scope
"
" v 0.5:
" Yeah, I skipped a version number - 0.4 was never public.
" It was a bugfix version on top of 0.3. This is a complete
" rewrite.
"
if !has('python3')
echo "Error: Required vim compiled with +python3"
finish
endif
function! python3complete#Complete(findstart, base)
"findstart = 1 when we need to get the text length
if a:findstart == 1
let line = getline('.')
let idx = col('.')
while idx > 0
let idx -= 1
let c = line[idx]
if c =~ '\w'
continue
elseif ! c =~ '\.'
let idx = -1
break
else
break
endif
endwhile
return idx
"findstart = 0 when we need to return the list of completions
else
"vim no longer moves the cursor upon completion... fix that
let line = getline('.')
let idx = col('.')
let cword = ''
while idx > 0
let idx -= 1
let c = line[idx]
if c =~ '\w' || c =~ '\.'
let cword = c . cword
continue
elseif strlen(cword) > 0 || idx == 0
break
endif
endwhile
execute "py3 vimpy3complete('" . cword . "', '" . a:base . "')"
return g:python3complete_completions
endif
endfunction
function! s:DefPython()
py3 << PYTHONEOF
import sys, tokenize, io, types
from token import NAME, DEDENT, NEWLINE, STRING
debugstmts=[]
def dbg(s): debugstmts.append(s)
def showdbg():
for d in debugstmts: print("DBG: %s " % d)
def vimpy3complete(context,match):
global debugstmts
debugstmts = []
try:
import vim
cmpl = Completer()
cmpl.evalsource('\n'.join(vim.current.buffer),vim.eval("line('.')"))
all = cmpl.get_completions(context,match)
all.sort(key=lambda x:x['abbr'].replace('_','z'))
dictstr = '['
# have to do this for double quoting
for cmpl in all:
dictstr += '{'
for x in cmpl: dictstr += '"%s":"%s",' % (x,cmpl[x])
dictstr += '"icase":0},'
if dictstr[-1] == ',': dictstr = dictstr[:-1]
dictstr += ']'
#dbg("dict: %s" % dictstr)
vim.command("silent let g:python3complete_completions = %s" % dictstr)
#dbg("Completion dict:\n%s" % all)
except vim.error:
dbg("VIM Error: %s" % vim.error)
class Completer(object):
def __init__(self):
self.compldict = {}
self.parser = PyParser()
def evalsource(self,text,line=0):
sc = self.parser.parse(text,line)
src = sc.get_code()
dbg("source: %s" % src)
try: exec(src,self.compldict)
except: dbg("parser: %s, %s" % (sys.exc_info()[0],sys.exc_info()[1]))
for l in sc.locals:
try: exec(l,self.compldict)
except: dbg("locals: %s, %s [%s]" % (sys.exc_info()[0],sys.exc_info()[1],l))
def _cleanstr(self,doc):
return doc.replace('"',' ').replace("'",' ')
def get_arguments(self,func_obj):
def _ctor(class_ob):
try: return class_ob.__init__
except AttributeError:
for base in class_ob.__bases__:
rc = _ctor(base)
if rc is not None: return rc
return None
arg_offset = 1
if type(func_obj) == type: func_obj = _ctor(func_obj)
elif type(func_obj) == types.MethodType: arg_offset = 1
else: arg_offset = 0
arg_text=''
if type(func_obj) in [types.FunctionType, types.LambdaType,types.MethodType]:
try:
cd = func_obj.__code__
real_args = cd.co_varnames[arg_offset:cd.co_argcount]
defaults = func_obj.__defaults__ or []
defaults = ["=%s" % name for name in defaults]
defaults = [""] * (len(real_args)-len(defaults)) + defaults
items = [a+d for a,d in zip(real_args,defaults)]
if func_obj.__code__.co_flags & 0x4:
items.append("...")
if func_obj.__code__.co_flags & 0x8:
items.append("***")
arg_text = (','.join(items)) + ')'
except:
dbg("arg completion: %s: %s" % (sys.exc_info()[0],sys.exc_info()[1]))
pass
if len(arg_text) == 0:
# The doc string sometimes contains the function signature
# this works for alot of C modules that are part of the
# standard library
doc = func_obj.__doc__
if doc:
doc = doc.lstrip()
pos = doc.find('\n')
if pos > 0:
sigline = doc[:pos]
lidx = sigline.find('(')
ridx = sigline.find(')')
if lidx > 0 and ridx > 0:
arg_text = sigline[lidx+1:ridx] + ')'
if len(arg_text) == 0: arg_text = ')'
return arg_text
def get_completions(self,context,match):
#dbg("get_completions('%s','%s')" % (context,match))
stmt = ''
if context: stmt += str(context)
if match: stmt += str(match)
try:
result = None
all = {}
ridx = stmt.rfind('.')
if len(stmt) > 0 and stmt[-1] == '(':
result = eval(_sanitize(stmt[:-1]), self.compldict)
doc = result.__doc__
if doc is None: doc = ''
args = self.get_arguments(result)
return [{'word':self._cleanstr(args),'info':self._cleanstr(doc)}]
elif ridx == -1:
match = stmt
all = self.compldict
else:
match = stmt[ridx+1:]
stmt = _sanitize(stmt[:ridx])
result = eval(stmt, self.compldict)
all = dir(result)
dbg("completing: stmt:%s" % stmt)
completions = []
try: maindoc = result.__doc__
except: maindoc = ' '
if maindoc is None: maindoc = ' '
for m in all:
if m == "_PyCmplNoType": continue #this is internal
try:
dbg('possible completion: %s' % m)
if m.find(match) == 0:
if result is None: inst = all[m]
else: inst = getattr(result,m)
try: doc = inst.__doc__
except: doc = maindoc
typestr = str(inst)
if doc is None or doc == '': doc = maindoc
wrd = m[len(match):]
c = {'word':wrd, 'abbr':m, 'info':self._cleanstr(doc)}
if "function" in typestr:
c['word'] += '('
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
elif "method" in typestr:
c['word'] += '('
c['abbr'] += '(' + self._cleanstr(self.get_arguments(inst))
elif "module" in typestr:
c['word'] += '.'
elif "type" in typestr:
c['word'] += '('
c['abbr'] += '('
completions.append(c)
except:
i = sys.exc_info()
dbg("inner completion: %s,%s [stmt='%s']" % (i[0],i[1],stmt))
return completions
except:
i = sys.exc_info()
dbg("completion: %s,%s [stmt='%s']" % (i[0],i[1],stmt))
return []
class Scope(object):
def __init__(self,name,indent,docstr=''):
self.subscopes = []
self.docstr = docstr
self.locals = []
self.parent = None
self.name = name
self.indent = indent
def add(self,sub):
#print('push scope: [%s@%s]' % (sub.name,sub.indent))
sub.parent = self
self.subscopes.append(sub)
return sub
def doc(self,str):
""" Clean up a docstring """
d = str.replace('\n',' ')
d = d.replace('\t',' ')
while d.find(' ') > -1: d = d.replace(' ',' ')
while d[0] in '"\'\t ': d = d[1:]
while d[-1] in '"\'\t ': d = d[:-1]
dbg("Scope(%s)::docstr = %s" % (self,d))
self.docstr = d
def local(self,loc):
self._checkexisting(loc)
self.locals.append(loc)
def copy_decl(self,indent=0):
""" Copy a scope's declaration only, at the specified indent level - not local variables """
return Scope(self.name,indent,self.docstr)
def _checkexisting(self,test):
"Convienance function... keep out duplicates"
if test.find('=') > -1:
var = test.split('=')[0].strip()
for l in self.locals:
if l.find('=') > -1 and var == l.split('=')[0].strip():
self.locals.remove(l)
def get_code(self):
str = ""
if len(self.docstr) > 0: str += '"""'+self.docstr+'"""\n'
for l in self.locals:
if l.startswith('import'): str += l+'\n'
str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n'
for sub in self.subscopes:
str += sub.get_code()
for l in self.locals:
if not l.startswith('import'): str += l+'\n'
return str
def pop(self,indent):
#print('pop scope: [%s] to [%s]' % (self.indent,indent))
outer = self
while outer.parent != None and outer.indent >= indent:
outer = outer.parent
return outer
def currentindent(self):
#print('parse current indent: %s' % self.indent)
return ' '*self.indent
def childindent(self):
#print('parse child indent: [%s]' % (self.indent+1))
return ' '*(self.indent+1)
class Class(Scope):
def __init__(self, name, supers, indent, docstr=''):
Scope.__init__(self,name,indent, docstr)
self.supers = supers
def copy_decl(self,indent=0):
c = Class(self.name,self.supers,indent, self.docstr)
for s in self.subscopes:
c.add(s.copy_decl(indent+1))
return c
def get_code(self):
str = '%sclass %s' % (self.currentindent(),self.name)
if len(self.supers) > 0: str += '(%s)' % ','.join(self.supers)
str += ':\n'
if len(self.docstr) > 0: str += self.childindent()+'"""'+self.docstr+'"""\n'
if len(self.subscopes) > 0:
for s in self.subscopes: str += s.get_code()
else:
str += '%spass\n' % self.childindent()
return str
class Function(Scope):
def __init__(self, name, params, indent, docstr=''):
Scope.__init__(self,name,indent, docstr)
self.params = params
def copy_decl(self,indent=0):
return Function(self.name,self.params,indent, self.docstr)
def get_code(self):
str = "%sdef %s(%s):\n" % \
(self.currentindent(),self.name,','.join(self.params))
if len(self.docstr) > 0: str += self.childindent()+'"""'+self.docstr+'"""\n'
str += "%spass\n" % self.childindent()
return str
class PyParser:
def __init__(self):
self.top = Scope('global',0)
self.scope = self.top
def _parsedotname(self,pre=None):
#returns (dottedname, nexttoken)
name = []
if pre is None:
tokentype, token, indent = self.donext()
if tokentype != NAME and token != '*':
return ('', token)
else: token = pre
name.append(token)
while True:
tokentype, token, indent = self.donext()
if token != '.': break
tokentype, token, indent = self.donext()
if tokentype != NAME: break
name.append(token)
return (".".join(name), token)
def _parseimportlist(self):
imports = []
while True:
name, token = self._parsedotname()
if not name: break
name2 = ''
if token == 'as': name2, token = self._parsedotname()
imports.append((name, name2))
while token != "," and "\n" not in token:
tokentype, token, indent = self.donext()
if token != ",": break
return imports
def _parenparse(self):
name = ''
names = []
level = 1
while True:
tokentype, token, indent = self.donext()
if token in (')', ',') and level == 1:
if '=' not in name: name = name.replace(' ', '')
names.append(name.strip())
name = ''
if token == '(':
level += 1
name += "("
elif token == ')':
level -= 1
if level == 0: break
else: name += ")"
elif token == ',' and level == 1:
pass
else:
name += "%s " % str(token)
return names
def _parsefunction(self,indent):
self.scope=self.scope.pop(indent)
tokentype, fname, ind = self.donext()
if tokentype != NAME: return None
tokentype, open, ind = self.donext()
if open != '(': return None
params=self._parenparse()
tokentype, colon, ind = self.donext()
if colon != ':': return None
return Function(fname,params,indent)
def _parseclass(self,indent):
self.scope=self.scope.pop(indent)
tokentype, cname, ind = self.donext()
if tokentype != NAME: return None
super = []
tokentype, thenext, ind = self.donext()
if thenext == '(':
super=self._parenparse()
elif thenext != ':': return None
return Class(cname,super,indent)
def _parseassignment(self):
assign=''
tokentype, token, indent = self.donext()
if tokentype == tokenize.STRING or token == 'str':
return '""'
elif token == '(' or token == 'tuple':
return '()'
elif token == '[' or token == 'list':
return '[]'
elif token == '{' or token == 'dict':
return '{}'
elif tokentype == tokenize.NUMBER:
return '0'
elif token == 'open' or token == 'file':
return 'file'
elif token == 'None':
return '_PyCmplNoType()'
elif token == 'type':
return 'type(_PyCmplNoType)' #only for method resolution
else:
assign += token
level = 0
while True:
tokentype, token, indent = self.donext()
if token in ('(','{','['):
level += 1
elif token in (']','}',')'):
level -= 1
if level == 0: break
elif level == 0:
if token in (';','\n'): break
assign += token
return "%s" % assign
def donext(self):
type, token, (lineno, indent), end, self.parserline = next(self.gen)
if lineno == self.curline:
#print('line found [%s] scope=%s' % (line.replace('\n',''),self.scope.name))
self.currentscope = self.scope
return (type, token, indent)
def _adjustvisibility(self):
newscope = Scope('result',0)
scp = self.currentscope
while scp != None:
if type(scp) == Function:
slice = 0
#Handle 'self' params
if scp.parent != None and type(scp.parent) == Class:
slice = 1
newscope.local('%s = %s' % (scp.params[0],scp.parent.name))
for p in scp.params[slice:]:
i = p.find('=')
if len(p) == 0: continue
pvar = ''
ptype = ''
if i == -1:
pvar = p
ptype = '_PyCmplNoType()'
else:
pvar = p[:i]
ptype = _sanitize(p[i+1:])
if pvar.startswith('**'):
pvar = pvar[2:]
ptype = '{}'
elif pvar.startswith('*'):
pvar = pvar[1:]
ptype = '[]'
newscope.local('%s = %s' % (pvar,ptype))
for s in scp.subscopes:
ns = s.copy_decl(0)
newscope.add(ns)
for l in scp.locals: newscope.local(l)
scp = scp.parent
self.currentscope = newscope
return self.currentscope
#p.parse(vim.current.buffer[:],vim.eval("line('.')"))
def parse(self,text,curline=0):
self.curline = int(curline)
buf = io.StringIO(''.join(text) + '\n')
self.gen = tokenize.generate_tokens(buf.readline)
self.currentscope = self.scope
try:
freshscope=True
while True:
tokentype, token, indent = self.donext()
#dbg( 'main: token=[%s] indent=[%s]' % (token,indent))
if tokentype == DEDENT or token == "pass":
self.scope = self.scope.pop(indent)
elif token == 'def':
func = self._parsefunction(indent)
if func is None:
print("function: syntax error...")
continue
dbg("new scope: function")
freshscope = True
self.scope = self.scope.add(func)
elif token == 'class':
cls = self._parseclass(indent)
if cls is None:
print("class: syntax error...")
continue
freshscope = True
dbg("new scope: class")
self.scope = self.scope.add(cls)
elif token == 'import':
imports = self._parseimportlist()
for mod, alias in imports:
loc = "import %s" % mod
if len(alias) > 0: loc += " as %s" % alias
self.scope.local(loc)
freshscope = False
elif token == 'from':
mod, token = self._parsedotname()
if not mod or token != "import":
print("from: syntax error...")
continue
names = self._parseimportlist()
for name, alias in names:
loc = "from %s import %s" % (mod,name)
if len(alias) > 0: loc += " as %s" % alias
self.scope.local(loc)
freshscope = False
elif tokentype == STRING:
if freshscope: self.scope.doc(token)
elif tokentype == NAME:
name,token = self._parsedotname(token)
if token == '=':
stmt = self._parseassignment()
dbg("parseassignment: %s = %s" % (name, stmt))
if stmt != None:
self.scope.local("%s = %s" % (name,stmt))
freshscope = False
except StopIteration: #thrown on EOF
pass
except:
dbg("parse error: %s, %s @ %s" %
(sys.exc_info()[0], sys.exc_info()[1], self.parserline))
return self._adjustvisibility()
def _sanitize(str):
val = ''
level = 0
for c in str:
if c in ('(','{','['):
level += 1
elif c in (']','}',')'):
level -= 1
elif level == 0:
val += c
return val
sys.path.extend(['.','..'])
PYTHONEOF
endfunction
call s:DefPython()
+61 -35
View File
@@ -1,17 +1,28 @@
"pythoncomplete.vim - Omni Completion for python
" Maintainer: Aaron Griffin <aaronmgriffin@gmail.com>
" Version: 0.7
" Last Updated: 19 Oct 2006
" Version: 0.9
" Last Updated: 18 Jun 2009
"
" Changes
" TODO:
" User defined docstrings aren't handled right...
" 'info' item output can use some formatting work
" Add an "unsafe eval" mode, to allow for return type evaluation
" Complete basic syntax along with import statements
" i.e. "import url<c-x,c-o>"
" Continue parsing on invalid line??
"
" v 0.9
" * Fixed docstring parsing for classes and functions
" * Fixed parsing of *args and **kwargs type arguments
" * Better function param parsing to handle things like tuples and
" lambda defaults args
"
" v 0.8
" * Fixed an issue where the FIRST assignment was always used instead of
" using a subsequent assignment for a variable
" * Fixed a scoping issue when working inside a parameterless function
"
"
" v 0.7
" * Fixed function list sorting (_ and __ at the bottom)
" * Removed newline removal from docs. It appears vim handles these better in
@@ -63,7 +74,7 @@ function! pythoncomplete#Complete(findstart, base)
while idx > 0
let idx -= 1
let c = line[idx]
if c =~ '\w' || c =~ '\.' || c == '('
if c =~ '\w' || c =~ '\.'
let cword = c . cword
continue
elseif strlen(cword) > 0 || idx == 0
@@ -206,7 +217,7 @@ class Completer(object):
if len(stmt) > 0 and stmt[-1] == '(':
result = eval(_sanitize(stmt[:-1]), self.compldict)
doc = result.__doc__
if doc == None: doc = ''
if doc is None: doc = ''
args = self.get_arguments(result)
return [{'word':self._cleanstr(args),'info':self._cleanstr(doc)}]
elif ridx == -1:
@@ -223,18 +234,18 @@ class Completer(object):
try: maindoc = result.__doc__
except: maindoc = ' '
if maindoc == None: maindoc = ' '
if maindoc is None: maindoc = ' '
for m in all:
if m == "_PyCmplNoType": continue #this is internal
try:
dbg('possible completion: %s' % m)
if m.find(match) == 0:
if result == None: inst = all[m]
if result is None: inst = all[m]
else: inst = getattr(result,m)
try: doc = inst.__doc__
except: doc = maindoc
typestr = str(inst)
if doc == None or doc == '': doc = maindoc
if doc is None or doc == '': doc = maindoc
wrd = m[len(match):]
c = {'word':wrd, 'abbr':m, 'info':self._cleanstr(doc)}
@@ -260,9 +271,9 @@ class Completer(object):
return []
class Scope(object):
def __init__(self,name,indent):
def __init__(self,name,indent,docstr=''):
self.subscopes = []
self.docstr = ''
self.docstr = docstr
self.locals = []
self.parent = None
self.name = name
@@ -281,29 +292,28 @@ class Scope(object):
while d.find(' ') > -1: d = d.replace(' ',' ')
while d[0] in '"\'\t ': d = d[1:]
while d[-1] in '"\'\t ': d = d[:-1]
dbg("Scope(%s)::docstr = %s" % (self,d))
self.docstr = d
def local(self,loc):
if not self._hasvaralready(loc):
self.locals.append(loc)
self._checkexisting(loc)
self.locals.append(loc)
def copy_decl(self,indent=0):
""" Copy a scope's declaration only, at the specified indent level - not local variables """
return Scope(self.name,indent)
return Scope(self.name,indent,self.docstr)
def _hasvaralready(self,test):
def _checkexisting(self,test):
"Convienance function... keep out duplicates"
if test.find('=') > -1:
var = test.split('=')[0].strip()
for l in self.locals:
if l.find('=') > -1 and var == l.split('=')[0].strip():
return True
return False
self.locals.remove(l)
def get_code(self):
# we need to start with this, to fix up broken completions
# hopefully this name is unique enough...
str = '"""'+self.docstr+'"""\n'
str = ""
if len(self.docstr) > 0: str += '"""'+self.docstr+'"""\n'
for l in self.locals:
if l.startswith('import'): str += l+'\n'
str += 'class _PyCmplNoType:\n def __getattr__(self,name):\n return None\n'
@@ -330,11 +340,11 @@ class Scope(object):
return ' '*(self.indent+1)
class Class(Scope):
def __init__(self, name, supers, indent):
Scope.__init__(self,name,indent)
def __init__(self, name, supers, indent, docstr=''):
Scope.__init__(self,name,indent, docstr)
self.supers = supers
def copy_decl(self,indent=0):
c = Class(self.name,self.supers,indent)
c = Class(self.name,self.supers,indent, self.docstr)
for s in self.subscopes:
c.add(s.copy_decl(indent+1))
return c
@@ -351,11 +361,11 @@ class Class(Scope):
class Function(Scope):
def __init__(self, name, params, indent):
Scope.__init__(self,name,indent)
def __init__(self, name, params, indent, docstr=''):
Scope.__init__(self,name,indent, docstr)
self.params = params
def copy_decl(self,indent=0):
return Function(self.name,self.params,indent)
return Function(self.name,self.params,indent, self.docstr)
def get_code(self):
str = "%sdef %s(%s):\n" % \
(self.currentindent(),self.name,','.join(self.params))
@@ -371,7 +381,7 @@ class PyParser:
def _parsedotname(self,pre=None):
#returns (dottedname, nexttoken)
name = []
if pre == None:
if pre is None:
tokentype, token, indent = self.next()
if tokentype != NAME and token != '*':
return ('', token)
@@ -405,17 +415,20 @@ class PyParser:
while True:
tokentype, token, indent = self.next()
if token in (')', ',') and level == 1:
names.append(name)
if '=' not in name: name = name.replace(' ', '')
names.append(name.strip())
name = ''
if token == '(':
level += 1
name += "("
elif token == ')':
level -= 1
if level == 0: break
else: name += ")"
elif token == ',' and level == 1:
pass
else:
name += str(token)
name += "%s " % str(token)
return names
def _parsefunction(self,indent):
@@ -495,16 +508,26 @@ class PyParser:
#Handle 'self' params
if scp.parent != None and type(scp.parent) == Class:
slice = 1
p = scp.params[0]
i = p.find('=')
if i != -1: p = p[:i]
newscope.local('%s = %s' % (scp.params[0],scp.parent.name))
for p in scp.params[slice:]:
i = p.find('=')
if len(p) == 0: continue
pvar = ''
ptype = ''
if i == -1:
newscope.local('%s = _PyCmplNoType()' % p)
pvar = p
ptype = '_PyCmplNoType()'
else:
newscope.local('%s = %s' % (p[:i],_sanitize(p[i+1])))
pvar = p[:i]
ptype = _sanitize(p[i+1:])
if pvar.startswith('**'):
pvar = pvar[2:]
ptype = '{}'
elif pvar.startswith('*'):
pvar = pvar[1:]
ptype = '[]'
newscope.local('%s = %s' % (pvar,ptype))
for s in scp.subscopes:
ns = s.copy_decl(0)
@@ -532,17 +555,19 @@ class PyParser:
self.scope = self.scope.pop(indent)
elif token == 'def':
func = self._parsefunction(indent)
if func == None:
if func is None:
print "function: syntax error..."
continue
dbg("new scope: function")
freshscope = True
self.scope = self.scope.add(func)
elif token == 'class':
cls = self._parseclass(indent)
if cls == None:
if cls is None:
print "class: syntax error..."
continue
freshscope = True
dbg("new scope: class")
self.scope = self.scope.add(cls)
elif token == 'import':
@@ -569,6 +594,7 @@ class PyParser:
name,token = self._parsedotname(token)
if token == '=':
stmt = self._parseassignment()
dbg("parseassignment: %s = %s" % (name, stmt))
if stmt != None:
self.scope.local("%s = %s" % (name,stmt))
freshscope = False
+13 -13
View File
@@ -1,11 +1,11 @@
" Vim completion script
" Language: Ruby
" Maintainer: Mark Guzman <segfault@hasno.info>
" Info: $Id$
" Last Change: 2009 Sep 28
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
" Maintainer Version: 0.8
" Maintainer Version: 0.8.1
" ----------------------------------------------------------------------------
"
" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com)
@@ -36,7 +36,7 @@ if !exists("g:rubycomplete_classes_in_global")
endif
if !exists("g:rubycomplete_buffer_loading")
let g:rubycomplete_classes_in_global = 0
let g:rubycomplete_buffer_loading = 0
endif
if !exists("g:rubycomplete_include_object")
@@ -301,7 +301,7 @@ class VimRubyCompletion
def get_buffer_entity(name, vimfun)
loading_allowed = VIM::evaluate("exists('g:rubycomplete_buffer_loading') && g:rubycomplete_buffer_loading")
return nil if loading_allowed != '1'
return nil if loading_allowed.to_i.zero?
return nil if /(\"|\')+/.match( name )
buf = VIM::Buffer.current
nums = eval( VIM::evaluate( vimfun % name ) )
@@ -325,7 +325,7 @@ class VimRubyCompletion
ln = buf[x]
if /^\s*(module|class|def|include)\s+/.match(ln)
clscnt += 1 if $1 == "class"
#dprint "\$1: %s" % $1
#dprint "\$1$1
classdef += "%s\n" % ln
classdef += "end\n" if /def\s+/.match(ln)
dprint ln
@@ -368,7 +368,7 @@ class VimRubyCompletion
# this will be a little expensive.
loading_allowed = VIM::evaluate("exists('g:rubycomplete_buffer_loading') && g:rubycomplete_buffer_loading")
allow_aggressive_load = VIM::evaluate("exists('g:rubycomplete_classes_in_global') && g:rubycomplete_classes_in_global")
return [] if allow_aggressive_load != '1' || loading_allowed != '1'
return [] if allow_aggressive_load.to_i.zero? || loading_allowed.to_i.zero?
buf = VIM::Buffer.current
eob = buf.length
@@ -401,7 +401,7 @@ class VimRubyCompletion
def load_rails
allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails")
return if allow_rails != '1'
return if allow_rails.to_i.zero?
buf_path = VIM::evaluate('expand("%:p")')
file_name = VIM::evaluate('expand("%:t")')
@@ -461,7 +461,7 @@ class VimRubyCompletion
def get_rails_helpers
allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails")
rails_loaded = VIM::evaluate('s:rubycomplete_rails_loaded')
return [] if allow_rails != '1' || rails_loaded != '1'
return [] if allow_rails.to_i.zero? || rails_loaded.to_i.zero?
buf_path = VIM::evaluate('expand("%:p")')
buf_path.gsub!( /\\/, "/" )
@@ -511,7 +511,7 @@ class VimRubyCompletion
def add_rails_columns( cls )
allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails")
rails_loaded = VIM::evaluate('s:rubycomplete_rails_loaded')
return [] if allow_rails != '1' || rails_loaded != '1'
return [] if allow_rails.to_i.zero? || rails_loaded.to_i.zero?
begin
eval( "#{cls}.establish_connection" )
@@ -534,7 +534,7 @@ class VimRubyCompletion
def get_rails_view_methods
allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails")
rails_loaded = VIM::evaluate('s:rubycomplete_rails_loaded')
return [] if allow_rails != '1' || rails_loaded != '1'
return [] if allow_rails.to_i.zero? || rails_loaded.to_i.zero?
buf_path = VIM::evaluate('expand("%:p")')
buf_path.gsub!( /\\/, "/" )
@@ -580,7 +580,7 @@ class VimRubyCompletion
def get_completions(base)
loading_allowed = VIM::evaluate("exists('g:rubycomplete_buffer_loading') && g:rubycomplete_buffer_loading")
if loading_allowed == '1'
if loading_allowed.to_i == 1
load_requires
load_rails
end
@@ -632,7 +632,7 @@ class VimRubyCompletion
methods = Object.constants
methods.grep(/^#{receiver}/).collect{|e| "::" + e}
when /^(((::)?[A-Z][^:.\(]*)+)::?([^:.]*)$/ # Constant or class methods
when /^(((::)?[A-Z][^:.\(]*)+?)::?([^:.]*)$/ # Constant or class methods
receiver = $1
message = Regexp.quote($4)
dprint "const or cls 2 [recv: \'%s\', msg: \'%s\']" % [ receiver, message ]
@@ -666,7 +666,7 @@ class VimRubyCompletion
dprint "global"
methods = global_variables.grep(Regexp.new(Regexp.quote($1)))
when /^((\.?[^.]+)+)\.([^.]*)$/ # variable
when /^((\.?[^.]+)+?)\.([^.]*)$/ # variable
dprint "variable"
receiver = $1
message = Regexp.quote($3)
+54 -14
View File
@@ -1,9 +1,15 @@
" Vim script to download a missing spell file
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2007 May 08
" Last Change: 2008 Nov 29
if !exists('g:spellfile_URL')
let g:spellfile_URL = 'ftp://ftp.vim.org/pub/vim/runtime/spell'
" Prefer using http:// when netrw should be able to use it, since
" more firewalls let this through.
if executable("curl") || executable("wget") || executable("fetch")
let g:spellfile_URL = 'http://ftp.vim.org/pub/vim/runtime/spell'
else
let g:spellfile_URL = 'ftp://ftp.vim.org/pub/vim/runtime/spell'
endif
endif
let s:spellfile_URL = '' " Start with nothing so that s:donedict is reset.
@@ -33,19 +39,22 @@ function! spellfile#LoadFile(lang)
let s:donedict[a:lang . &enc] = 1
" Find spell directories we can write in.
let dirlist = []
let dirchoices = '&Cancel'
for dir in split(globpath(&rtp, 'spell'), "\n")
if filewritable(dir) == 2
call add(dirlist, dir)
let dirchoices .= "\n&" . len(dirlist)
endif
endfor
let [dirlist, dirchoices] = spellfile#GetDirChoices()
if len(dirlist) == 0
if &verbose
let dir_to_create = spellfile#WritableSpellDir()
if &verbose || dir_to_create != ''
echomsg 'spellfile#LoadFile(): There is no writable spell directory.'
endif
return
if dir_to_create != ''
if confirm("Shall I create " . dir_to_create, "&Yes\n&No", 2) == 1
" After creating the directory it should show up in the list.
call mkdir(dir_to_create, "p")
let [dirlist, dirchoices] = spellfile#GetDirChoices()
endif
endif
if len(dirlist) == 0
return
endif
endif
let msg = 'Cannot find spell file for "' . a:lang . '" in ' . &enc
@@ -106,7 +115,12 @@ function! spellfile#LoadFile(lang)
endfor
let dirchoice = confirm(msg, dirchoices) - 2
if dirchoice >= 0
exe "write " . escape(dirlist[dirchoice], ' ') . '/' . fname
if exists('*fnameescape')
let dirname = fnameescape(dirlist[dirchoice])
else
let dirname = escape(dirlist[dirchoice], ' ')
endif
exe "write " . dirname . '/' . fname
" Also download the .sug file, if the user wants to.
let msg = "Do you want me to try getting the .sug file?\n"
@@ -119,7 +133,7 @@ function! spellfile#LoadFile(lang)
call spellfile#Nread(fname)
if getline(2) =~ 'VIMsug'
1d
exe "write " . escape(dirlist[dirchoice], ' ') . '/' . fname
exe "write " . dirname . '/' . fname
set nomod
else
echo 'Sorry, downloading failed'
@@ -166,3 +180,29 @@ function! spellfile#Nread(fname)
unlet g:netrw_use_errorwindow
endif
endfunc
" Get a list of writable spell directories and choices for confirm().
function! spellfile#GetDirChoices()
let dirlist = []
let dirchoices = '&Cancel'
for dir in split(globpath(&rtp, 'spell'), "\n")
if filewritable(dir) == 2
call add(dirlist, dir)
let dirchoices .= "\n&" . len(dirlist)
endif
endfor
return [dirlist, dirchoices]
endfunc
function! spellfile#WritableSpellDir()
if has("unix")
" For Unix always use the $HOME/.vim directory
return $HOME . "/.vim/spell"
endif
for dir in split(&rtp, ',')
if filewritable(dir) == 2
return dir . "/spell"
endif
endfor
return ''
endfunction
+171 -67
View File
@@ -1,13 +1,47 @@
" Vim OMNI completion script for SQL
" Language: SQL
" Maintainer: David Fishburn <fishburn@ianywhere.com>
" Version: 5.0
" Last Change: Mon Jun 05 2006 3:30:04 PM
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 10.0
" Last Change: 2010 Jun 11
" Usage: For detailed help
" ":help sql.txt"
" or ":help ft-sql-omni"
" or read $VIMRUNTIME/doc/sql.txt
" History
" Version 10.0
" Updated PreCacheSyntax()
" - Now returns a List of the syntax items it finds.
" This allows other plugins / scripts to use this list for their own
" purposes. In this case XPTemplate can use them for a Choose list.
" - Verifies the parameters are the correct type and displays a
" warning if not.
" - Verifies the parameters are the correct type and displays a
" warning if not.
" Updated SQLCWarningMsg()
" - Prepends warning message with SQLComplete so you know who issued
" the warning.
" Updated SQLCErrorMsg()
" - Prepends error message with SQLComplete so you know who issued
" the error.
"
" Version 9.0
" This change removes some of the support for tables with spaces in their
" names in order to simplify the regexes used to pull out query table
" aliases for more robust table name and column name code completion.
" Full support for "table names with spaces" can be added in again
" after 7.3.
"
" Version 8.0
" Incorrectly re-executed the g:ftplugin_sql_omni_key_right and g:ftplugin_sql_omni_key_left
" when drilling in and out of a column list for a table.
"
" Version 7.0
" Better handling of object names
"
" Version 6.0
" Supports object names with spaces "my table name"
"
" Set completion with CTRL-X CTRL-O to autoloaded function.
" This check is in place in case this script is
" sourced directly instead of using the autoload feature.
@@ -22,7 +56,7 @@ endif
if exists('g:loaded_sql_completion')
finish
endif
let g:loaded_sql_completion = 50
let g:loaded_sql_completion = 100
" Maintains filename of dictionary
let s:sql_file_table = ""
@@ -106,10 +140,23 @@ function! sqlcomplete#Complete(findstart, base)
let begindot = 1
endif
while start > 0
if line[start - 1] =~ '\w'
" Additional code was required to handle objects which
" can contain spaces like "my table name".
if line[start - 1] !~ '\(\w\|\.\)'
" If the previous character is not a period or word character
break
" elseif line[start - 1] =~ '\(\w\|\s\+\)'
" let start -= 1
elseif line[start - 1] =~ '\w'
" If the previous character is word character continue back
let start -= 1
elseif line[start - 1] =~ '\.' &&
\ compl_type =~ 'column\|table\|view\|procedure'
" If the previous character is a period and we are completing
" an object which can be specified with a period like this:
" table_name.column_name
" owner_name.table_name
" If lastword has already been set for column completion
" break from the loop, since we do not also want to pickup
" a table name if it was also supplied.
@@ -178,32 +225,26 @@ function! sqlcomplete#Complete(findstart, base)
" Allow the user to override the dbext plugin to specify whether
" the owner/creator should be included in the list
let saved_dbext_show_owner = 1
if exists('g:dbext_default_dict_show_owner')
let saved_dbext_show_owner = g:dbext_default_dict_show_owner
if g:loaded_dbext >= 300
let saveSetting = DB_listOption('dict_show_owner')
exec 'DBSetOption dict_show_owner='.(g:omni_sql_include_owner==1?'1':'0')
endif
let g:dbext_default_dict_show_owner = g:omni_sql_include_owner
let compl_type_uc = substitute(compl_type, '\w\+', '\u&', '')
if s:sql_file_{compl_type} == ""
let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc)
endif
" Same call below, no need to do it twice
" if s:sql_file_{compl_type} == ""
" let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc)
" endif
let s:sql_file_{compl_type} = DB_getDictionaryName(compl_type_uc)
if s:sql_file_{compl_type} != ""
if filereadable(s:sql_file_{compl_type})
let compl_list = readfile(s:sql_file_{compl_type})
" let dic_list = readfile(s:sql_file_{compl_type})
" if !empty(dic_list)
" for elem in dic_list
" let kind = (compl_type=='table'?'m':(compl_type=='procedure'?'f':'v'))
" let item = {'word':elem, 'menu':elem, 'kind':kind, 'info':compl_type}
" let compl_list += [item]
" endfor
" endif
endif
endif
let g:dbext_default_dict_show_owner = saved_dbext_show_owner
if g:loaded_dbext > 300
exec 'DBSetOption dict_show_owner='.saveSetting
endif
elseif compl_type =~? 'column'
" This type of completion relies upon the dbext.vim plugin
@@ -237,7 +278,7 @@ function! sqlcomplete#Complete(findstart, base)
" 1. Check if the dbext plugin has the option turned
" on to even allow owners
" 2. Based on 1, if the user is showing a table list
" and the DrillIntoTable (using <C-Right>) then
" and the DrillIntoTable (using <Right>) then
" this will be owner.table. In this case, we can
" check to see the table.column exists in the
" cached table list. If it does, then we have
@@ -319,9 +360,16 @@ function! sqlcomplete#Complete(findstart, base)
endif
if base != ''
" Filter the list based on the first few characters the user
" entered
let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\([^.]*\\)\\?'.base.'\\)"'
" Filter the list based on the first few characters the user entered.
" Check if the text matches at the beginning
" or
" Match to a owner.table or alias.column type match
" or
" Handle names with spaces "my table name"
let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|^\\(\\w\\+\\.\\)\\?'.base.'\\)"'
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\)"'
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\(\\.\\)\\?'.base.'\\)"'
" let expr = 'v:val '.(g:omni_sql_ignorecase==1?'=~?':'=~#').' "\\(^'.base.'\\|\\([^.]*\\)\\?'.base.'\\)"'
let compl_list = filter(deepcopy(compl_list), expr)
endif
@@ -334,7 +382,13 @@ endfunc
function! sqlcomplete#PreCacheSyntax(...)
let syn_group_arr = []
let syn_items = []
if a:0 > 0
if type(a:1) != 3
call s:SQLCWarningMsg("Parameter is not a list. Example:['syntaxGroup1', 'syntaxGroup2']")
return ''
endif
let syn_group_arr = a:1
else
let syn_group_arr = g:omni_sql_precache_syntax_groups
@@ -343,7 +397,36 @@ function! sqlcomplete#PreCacheSyntax(...)
" the sytnax items.
if !empty(syn_group_arr)
for group_name in syn_group_arr
call s:SQLCGetSyntaxList(group_name)
let syn_items = extend( syn_items, s:SQLCGetSyntaxList(group_name) )
endfor
endif
return syn_items
endfunction
function! sqlcomplete#ResetCacheSyntax(...)
let syn_group_arr = []
if a:0 > 0
if type(a:1) != 3
call s:SQLCWarningMsg("Parameter is not a list. Example:['syntaxGroup1', 'syntaxGroup2']")
return ''
endif
let syn_group_arr = a:1
else
let syn_group_arr = g:omni_sql_precache_syntax_groups
endif
" For each group specified in the list, precache all
" the sytnax items.
if !empty(syn_group_arr)
for group_name in syn_group_arr
let list_idx = index(s:syn_list, group_name, 0, &ignorecase)
if list_idx > -1
" Remove from list of groups
call remove( s:syn_list, list_idx )
" Remove from list of keywords
call remove( s:syn_value, list_idx )
endif
endfor
endif
endfunction
@@ -370,13 +453,14 @@ function! sqlcomplete#DrillIntoTable()
call sqlcomplete#Map('column')
" C-Y, makes the currently highlighted entry active
" and trigger the omni popup to be redisplayed
call feedkeys("\<C-Y>\<C-X>\<C-O>")
call feedkeys("\<C-Y>\<C-X>\<C-O>", 'n')
else
if has('win32')
" If the popup is not visible, simple perform the normal
" <C-Right> behaviour
exec "normal! \<C-Right>"
endif
" If the popup is not visible, simple perform the normal
" key behaviour.
" Must use exec since they key must be preceeded by "\"
" or feedkeys will simply push each character of the string
" rather than the "key press".
exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_right.'", "n")'
endif
return ""
endfunction
@@ -388,24 +472,25 @@ function! sqlcomplete#DrillOutOfColumns()
" Trigger the omni popup to be redisplayed
call feedkeys("\<C-X>\<C-O>")
else
if has('win32')
" If the popup is not visible, simple perform the normal
" <C-Left> behaviour
exec "normal! \<C-Left>"
endif
" If the popup is not visible, simple perform the normal
" key behaviour.
" Must use exec since they key must be preceeded by "\"
" or feedkeys will simply push each character of the string
" rather than the "key press".
exec 'call feedkeys("\'.g:ftplugin_sql_omni_key_left.'", "n")'
endif
return ""
endfunction
function! s:SQLCWarningMsg(msg)
echohl WarningMsg
echomsg a:msg
echomsg 'SQLComplete:'.a:msg
echohl None
endfunction
function! s:SQLCErrorMsg(msg)
echohl ErrorMsg
echomsg a:msg
echomsg 'SQLComplete:'.a:msg
echohl None
endfunction
@@ -431,7 +516,7 @@ function! s:SQLCGetSyntaxList(syn_group)
let g:omni_syntax_group_include_sql = syn_group
endif
let g:omni_syntax_group_exclude_sql = ''
let syn_value = OmniSyntaxList()
let syn_value = syntaxcomplete#OmniSyntaxList()
let g:omni_syntax_group_include_sql = s:save_inc
let g:omni_syntax_group_exclude_sql = s:save_exc
" Cache these values for later use
@@ -450,8 +535,8 @@ function! s:SQLCCheck4dbext()
" Leave time for the user to read the error message
:sleep 2
return -1
elseif g:loaded_dbext < 300
let msg = "The dbext plugin must be at least version 3.00 " .
elseif g:loaded_dbext < 600
let msg = "The dbext plugin must be at least version 5.30 " .
\ " for dynamic SQL completion"
call s:SQLCErrorMsg(msg)
" Leave time for the user to read the error message
@@ -514,34 +599,42 @@ endfunction
function! s:SQLCGetObjectOwner(object)
" The owner regex matches a word at the start of the string which is
" followed by a dot, but doesn't include the dot in the result.
" ^ - from beginning of line
" "\? - ignore any quotes
" \zs - start the match now
" \w\+ - get owner name
" \ze - end the match
" "\? - ignore any quotes
" \. - must by followed by a .
let owner = matchstr( a:object, '^"\?\zs\w\+\ze"\?\.' )
" ^ - from beginning of line
" \("\|\[\)\? - ignore any quotes
" \zs - start the match now
" .\{-} - get owner name
" \ze - end the match
" \("\|\[\)\? - ignore any quotes
" \. - must by followed by a .
" let owner = matchstr( a:object, '^\s*\zs.*\ze\.' )
let owner = matchstr( a:object, '^\("\|\[\)\?\zs\.\{-}\ze\("\|\]\)\?\.' )
return owner
endfunction
function! s:SQLCGetColumns(table_name, list_type)
" Check if the table name was provided as part of the column name
let table_name = matchstr(a:table_name, '^[a-zA-Z0-9_]\+\ze\.\?')
let table_name = matchstr(a:table_name, '^["\[\]a-zA-Z0-9_ ]\+\ze\.\?')
let table_cols = []
let table_alias = ''
let move_to_top = 1
let table_name = substitute(table_name, '\s*\(.\{-}\)\s*$', '\1', 'g')
" If the table name was given as:
" where c.
let table_name = substitute(table_name, '^\c\(WHERE\|AND\|OR\)\s\+', '', '')
if g:loaded_dbext >= 300
let saveSettingAlias = DB_listOption('use_tbl_alias')
exec 'DBSetOption use_tbl_alias=n'
endif
let table_name_stripped = substitute(table_name, '["\[\]]*', '', 'g')
" Check if we have already cached the column list for this table
" by its name
let list_idx = index(s:tbl_name, table_name, 0, &ignorecase)
let list_idx = index(s:tbl_name, table_name_stripped, 0, &ignorecase)
if list_idx > -1
let table_cols = split(s:tbl_cols[list_idx])
let table_cols = split(s:tbl_cols[list_idx], '\n')
else
" Check if we have already cached the column list for this table
" by its alias, assuming the table_name provided was actually
@@ -549,11 +642,11 @@ function! s:SQLCGetColumns(table_name, list_type)
" select *
" from area a
" where a.
let list_idx = index(s:tbl_alias, table_name, 0, &ignorecase)
let list_idx = index(s:tbl_alias, table_name_stripped, 0, &ignorecase)
if list_idx > -1
let table_alias = table_name
let table_alias = table_name_stripped
let table_name = s:tbl_name[list_idx]
let table_cols = split(s:tbl_cols[list_idx])
let table_cols = split(s:tbl_cols[list_idx], '\n')
endif
endif
@@ -581,7 +674,7 @@ function! s:SQLCGetColumns(table_name, list_type)
" Search backwards to the beginning of the statement
" and do NOT wrap
" exec 'silent! normal! v?\<\(select\|update\|delete\|;\)\>'."\n".'"yy'
exec 'silent! normal! ?\<\(select\|update\|delete\|;\)\>'."\n"
exec 'silent! normal! ?\<\c\(select\|update\|delete\|;\)\>'."\n"
" Start characterwise visual mode
" Advance right one character
@@ -590,27 +683,38 @@ function! s:SQLCGetColumns(table_name, list_type)
" 2. A ; at the end of a line (the delimiter)
" 3. The end of the file (incase no delimiter)
" Yank the visually selected text into the "y register.
exec 'silent! normal! vl/\(\<select\>\|\<update\>\|\<delete\>\|;\s*$\|\%$\)'."\n".'"yy'
exec 'silent! normal! vl/\c\(\<select\>\|\<update\>\|\<delete\>\|;\s*$\|\%$\)'."\n".'"yy'
let query = @y
let query = substitute(query, "\n", ' ', 'g')
let found = 0
" if query =~? '^\(select\|update\|delete\)'
if query =~? '^\(select\)'
" if query =~? '^\c\(select\)'
if query =~? '^\(select\|update\|delete\)'
let found = 1
" \(\(\<\w\+\>\)\.\)\? -
" 'from.\{-}' - Starting at the from clause
" '\c\(from\|join\|,\).\{-}' - Starting at the from clause (case insensitive)
" '\zs\(\(\<\w\+\>\)\.\)\?' - Get the owner name (optional)
" '\<\w\+\>\ze' - Get the table name
" '\s\+\<'.table_name.'\>' - Followed by the alias
" '\s*\.\@!.*' - Cannot be followed by a .
" '\(\<where\>\|$\)' - Must be followed by a WHERE clause
" '.*' - Exclude the rest of the line in the match
" let table_name_new = matchstr(@y,
" \ '\c\(from\|join\|,\).\{-}'.
" \ '\zs\(\("\|\[\)\?.\{-}\("\|\]\)\.\)\?'.
" \ '\("\|\[\)\?.\{-}\("\|\]\)\?\ze'.
" \ '\s\+\%(as\s\+\)\?\<'.
" \ matchstr(table_name, '.\{-}\ze\.\?$').
" \ '\>'.
" \ '\s*\.\@!.*'.
" \ '\(\<where\>\|$\)'.
" \ '.*'
" \ )
let table_name_new = matchstr(@y,
\ 'from.\{-}'.
\ '\zs\(\(\<\w\+\>\)\.\)\?'.
\ '\<\w\+\>\ze'.
\ '\c\(\<from\>\|\<join\>\|,\)\s*'.
\ '\zs\(\("\|\[\)\?\w\+\("\|\]\)\?\.\)\?'.
\ '\("\|\[\)\?\w\+\("\|\]\)\?\ze'.
\ '\s\+\%(as\s\+\)\?\<'.
\ matchstr(table_name, '.\{-}\ze\.\?$').
\ '\>'.
@@ -618,9 +722,10 @@ function! s:SQLCGetColumns(table_name, list_type)
\ '\(\<where\>\|$\)'.
\ '.*'
\ )
if table_name_new != ''
let table_alias = table_name
let table_name = table_name_new
let table_name = matchstr( table_name_new, '^\(.*\.\)\?\zs.*\ze' )
let list_idx = index(s:tbl_name, table_name, 0, &ignorecase)
if list_idx > -1
@@ -668,7 +773,7 @@ function! s:SQLCGetColumns(table_name, list_type)
let s:tbl_name = add( s:tbl_name, table_name )
let s:tbl_alias = add( s:tbl_alias, table_alias )
let s:tbl_cols = add( s:tbl_cols, table_cols_str )
let table_cols = split(table_cols_str)
let table_cols = split(table_cols_str, '\n')
endif
endif
@@ -688,4 +793,3 @@ function! s:SQLCGetColumns(table_name, list_type)
return table_cols
endfunction
+137 -63
View File
@@ -1,10 +1,35 @@
" Vim completion script
" Language: All languages, uses existing syntax highlighting rules
" Maintainer: David Fishburn <fishburn@ianywhere.com>
" Version: 3.0
" Last Change: Wed Nov 08 2006 10:46:46 AM
" Maintainer: David Fishburn <dfishburn dot vim at gmail dot com>
" Version: 7.0
" Last Change: 2010 Jul 29
" Usage: For detailed help, ":help ft-syntax-omni"
" History
"
" Version 7.0
" Updated syntaxcomplete#OmniSyntaxList()
" - Looking up the syntax groups defined from a syntax file
" looked for only 1 format of {filetype}GroupName, but some
" syntax writers use this format as well:
" {b:current_syntax}GroupName
" OmniSyntaxList() will now check for both if the first
" method does not find a match.
"
" Version 6.0
" Added syntaxcomplete#OmniSyntaxList()
" - Allows other plugins to use this for their own
" purposes.
" - It will return a List of all syntax items for the
" syntax group name passed in.
" - XPTemplate for SQL will use this function via the
" sqlcomplete plugin to populate a Choose box.
"
" Version 5.0
" Updated SyntaxCSyntaxGroupItems()
" - When processing a list of syntax groups, the final group
" was missed in function SyntaxCSyntaxGroupItems.
"
" Set completion with CTRL-X CTRL-O to autoloaded function.
" This check is in place in case this script is
" sourced directly instead of using the autoload feature.
@@ -19,7 +44,7 @@ endif
if exists('g:loaded_syntax_completion')
finish
endif
let g:loaded_syntax_completion = 30
let g:loaded_syntax_completion = 70
" Set ignorecase to the ftplugin standard
" This is the default setting, but if you define a buffer local
@@ -123,7 +148,30 @@ function! syntaxcomplete#Complete(findstart, base)
return compl_list
endfunc
function! OmniSyntaxList()
function! syntaxcomplete#OmniSyntaxList(...)
if a:0 > 0
let parms = []
if 3 == type(a:1)
let parms = a:1
elseif 1 == type(a:1)
let parms = split(a:1, ',')
endif
return OmniSyntaxList( parms )
else
return OmniSyntaxList()
endif
endfunc
function! OmniSyntaxList(...)
let list_parms = []
if a:0 > 0
if 3 == type(a:1)
let list_parms = a:1
elseif 1 == type(a:1)
let list_parms = split(a:1, ',')
endif
endif
" Default to returning a dictionary, if use_dictionary is set to 0
" a list will be returned.
" let use_dictionary = 1
@@ -152,16 +200,40 @@ function! OmniSyntaxList()
endif
let saveL = @l
let filetype = substitute(&filetype, '\.', '_', 'g')
if empty(list_parms)
" Default the include group to include the requested syntax group
let syntax_group_include_{filetype} = ''
" Check if there are any overrides specified for this filetype
if exists('g:omni_syntax_group_include_'.filetype)
let syntax_group_include_{filetype} =
\ substitute( g:omni_syntax_group_include_{filetype},'\s\+','','g')
let list_parms = split(g:omni_syntax_group_include_{filetype}, ',')
if syntax_group_include_{filetype} =~ '\w'
let syntax_group_include_{filetype} =
\ substitute( syntax_group_include_{filetype},
\ '\s*,\s*', '\\|', 'g'
\ )
endif
endif
else
" A specific list was provided, use it
endif
" Loop through all the syntax groupnames, and build a
" syntax file which contains these names. This can
" work generically for any filetype that does not already
" have a plugin defined.
" This ASSUMES the syntax groupname BEGINS with the name
" of the filetype. From my casual viewing of the vim7\syntax
" directory.
" directory this is true for almost all syntax definitions.
" As an example, the SQL syntax groups have this pattern:
" sqlType
" sqlOperators
" sqlKeyword ...
redir @l
silent! exec 'syntax list '
silent! exec 'syntax list '.join(list_parms)
redir END
let syntax_full = "\n".@l
@@ -176,31 +248,23 @@ function! OmniSyntaxList()
let filetype = substitute(&filetype, '\.', '_', 'g')
" Default the include group to include the requested syntax group
let syntax_group_include_{filetype} = ''
" Check if there are any overrides specified for this filetype
if exists('g:omni_syntax_group_include_'.filetype)
let syntax_group_include_{filetype} =
\ substitute( g:omni_syntax_group_include_{filetype},'\s\+','','g')
if syntax_group_include_{filetype} =~ '\w'
let syntax_group_include_{filetype} =
\ substitute( syntax_group_include_{filetype},
\ '\s*,\s*', '\\|', 'g'
\ )
endif
endif
" Default the exclude group to nothing
let syntax_group_exclude_{filetype} = ''
" Check if there are any overrides specified for this filetype
if exists('g:omni_syntax_group_exclude_'.filetype)
let syntax_group_exclude_{filetype} =
\ substitute( g:omni_syntax_group_exclude_{filetype},'\s\+','','g')
if syntax_group_exclude_{filetype} =~ '\w'
let syntax_group_exclude_{filetype} =
\ substitute( syntax_group_exclude_{filetype},
\ '\s*,\s*', '\\|', 'g'
\ )
let list_exclude_groups = []
if a:0 > 0
" Do nothing since we have specific a specific list of groups
else
" Default the exclude group to nothing
let syntax_group_exclude_{filetype} = ''
" Check if there are any overrides specified for this filetype
if exists('g:omni_syntax_group_exclude_'.filetype)
let syntax_group_exclude_{filetype} =
\ substitute( g:omni_syntax_group_exclude_{filetype},'\s\+','','g')
let list_exclude_groups = split(g:omni_syntax_group_exclude_{filetype}, ',')
if syntax_group_exclude_{filetype} =~ '\w'
let syntax_group_exclude_{filetype} =
\ substitute( syntax_group_exclude_{filetype},
\ '\s*,\s*', '\\|', 'g'
\ )
endif
endif
endif
@@ -225,47 +289,51 @@ function! OmniSyntaxList()
let index = 0
let index = match(syntax_full, next_group_regex, index)
if index == -1 && exists('b:current_syntax') && ft_part_name != b:current_syntax
" There appears to be two standards when writing syntax files.
" Either items begin as:
" syn keyword {filetype}Keyword values ...
" let b:current_syntax = "sql"
" let b:current_syntax = "sqlanywhere"
" Or
" syn keyword {syntax_filename}Keyword values ...
" let b:current_syntax = "mysql"
" So, we will make the format of finding the syntax group names
" a bit more flexible and look for both if the first fails to
" find a match.
let next_group_regex = '\n' .
\ '\zs'.b:current_syntax.'\w\+\ze'.
\ '\s\+xxx\s\+'
let index = 0
let index = match(syntax_full, next_group_regex, index)
endif
while index > -1
let group_name = matchstr( syntax_full, '\w\+', index )
let get_syn_list = 1
" if syntax_group_include_{&filetype} == ''
" if syntax_group_exclude_{&filetype} != ''
" if '\<'.syntax_group_exclude_{&filetype}.'\>' =~ '\<'.group_name.'\>'
for exclude_group_name in list_exclude_groups
if '\<'.exclude_group_name.'\>' =~ '\<'.group_name.'\>'
let get_syn_list = 0
endif
endfor
" This code is no longer needed in version 6.0 since we have
" augmented the syntax list command to only retrieve the syntax
" groups we are interested in.
"
" if get_syn_list == 1
" if syntax_group_include_{filetype} != ''
" if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
" let get_syn_list = 0
" endif
" endif
" else
" if '\<'.syntax_group_include_{&filetype}.'\>' !~ '\<'.group_name.'\>'
" let get_syn_list = 0
" endif
" endif
if syntax_group_exclude_{filetype} != ''
if '\<'.syntax_group_exclude_{filetype}.'\>' =~ '\<'.group_name.'\>'
let get_syn_list = 0
endif
endif
if get_syn_list == 1
if syntax_group_include_{filetype} != ''
if '\<'.syntax_group_include_{filetype}.'\>' !~ '\<'.group_name.'\>'
let get_syn_list = 0
endif
endif
endif
if get_syn_list == 1
" Pass in the full syntax listing, plus the group name we
" are interested in.
let extra_syn_list = s:SyntaxCSyntaxGroupItems(group_name, syntax_full)
" if !empty(extra_syn_list)
" for elem in extra_syn_list
" let item = {'word':elem, 'kind':'t', 'info':group_name}
" let compl_list += [item]
" endfor
" endif
let syn_list = syn_list . extra_syn_list . "\n"
endif
@@ -312,9 +380,13 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
" \zs - start the match
" .\{-} - everything ...
" \ze - end the match
" \( - start a group or 2 potential matches
" \n\w - at the first newline starting with a character
" \| - 2nd potential match
" \%$ - matches end of the file or string
" \) - end a group
let syntax_group = matchstr(a:syntax_full,
\ "\n".a:group_name.'\s\+xxx\s\+\zs.\{-}\ze'."\n".'\w'
\ "\n".a:group_name.'\s\+xxx\s\+\zs.\{-}\ze\(\n\w\|\%$\)'
\ )
if syntax_group != ""
@@ -353,9 +425,11 @@ function! s:SyntaxCSyntaxGroupItems( group_name, syntax_full )
else
let accept_chars = ','.&iskeyword.','
" Remove all character ranges
let accept_chars = substitute(accept_chars, ',[^,]\+-[^,]\+,', ',', 'g')
" let accept_chars = substitute(accept_chars, ',[^,]\+-[^,]\+,', ',', 'g')
let accept_chars = substitute(accept_chars, ',\@<=[^,]\+-[^,]\+,', '', 'g')
" Remove all numeric specifications
let accept_chars = substitute(accept_chars, ',\d\{-},', ',', 'g')
" let accept_chars = substitute(accept_chars, ',\d\{-},', ',', 'g')
let accept_chars = substitute(accept_chars, ',\@<=\d\{-},', '', 'g')
" Remove all commas
let accept_chars = substitute(accept_chars, ',', '', 'g')
" Escape special regex characters
+310 -101
View File
@@ -1,30 +1,36 @@
" tar.vim: Handles browsing tarfiles
" AUTOLOAD PORTION
" Date: Sep 29, 2006
" Version: 11
" Date: May 31, 2011
" Version: 27
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
"
" Contains many ideas from Michael Toren's <tar.vim>
"
" Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{1
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" tarPlugin.vim is provided *as is* and comes with no warranty
" of any kind, either expressed or implied. By using this
" plugin, you agree that in no event will the copyright
" holder be liable for any damages resulting from the use
" of this software.
" tar.vim and tarPlugin.vim are provided *as is* and comes
" with no warranty of any kind, either expressed or implied.
" By using this plugin, you agree that in no event will the
" copyright holder be liable for any damages resulting from
" the use of this software.
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" ---------------------------------------------------------------------
" Load Once: {{{1
let s:keepcpo= &cpo
set cpo&vim
if &cp || exists("g:loaded_tar") || v:version < 700
if &cp || exists("g:loaded_tar")
finish
endif
let g:loaded_tar= "v11"
let g:loaded_tar= "v27"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of tar needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo= &cpo
set cpo&vim
"call Decho("loading autoload/tar.vim")
" ---------------------------------------------------------------------
@@ -41,13 +47,52 @@ endif
if !exists("g:tar_writeoptions")
let g:tar_writeoptions= "uf"
endif
if !exists("g:tar_shq")
if has("unix")
let g:tar_shq= "'"
if !exists("g:netrw_cygwin")
if has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
let g:netrw_cygwin= 1
else
let g:netrw_cygwin= 0
endif
else
let g:tar_shq= '"'
let g:netrw_cygwin= 0
endif
endif
if !exists("g:tar_copycmd")
if !exists("g:netrw_localcopycmd")
if has("win32") || has("win95") || has("win64") || has("win16")
if g:netrw_cygwin
let g:netrw_localcopycmd= "cp"
else
let g:netrw_localcopycmd= "copy"
endif
elseif has("unix") || has("macunix")
let g:netrw_localcopycmd= "cp"
else
let g:netrw_localcopycmd= ""
endif
endif
let g:tar_copycmd= g:netrw_localcopycmd
endif
if !exists("g:tar_extractcmd")
let g:tar_extractcmd= "tar -xf"
endif
" set up shell quoting character
if !exists("g:tar_shq")
if exists("&shq") && &shq != ""
let g:tar_shq= &shq
elseif has("win32") || has("win95") || has("win64") || has("win16")
if exists("g:netrw_cygwin") && g:netrw_cygwin
let g:tar_shq= "'"
else
let g:tar_shq= '"'
endif
else
let g:tar_shq= "'"
endif
" call Decho("g:tar_shq<".g:tar_shq.">")
endif
" ----------------
" Functions: {{{1
@@ -64,7 +109,6 @@ fun! tar#Browse(tarfile)
if !executable(g:tar_cmd)
redraw!
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Browse")
return
@@ -75,7 +119,6 @@ fun! tar#Browse(tarfile)
" if its an url, don't complain, let url-handlers such as vim do its thing
redraw!
echohl Error | echo "***error*** (tar#Browse) File not readable<".a:tarfile.">" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
endif
let &report= repkeep
" call Dret("tar#Browse : file<".a:tarfile."> not readable")
@@ -84,7 +127,7 @@ fun! tar#Browse(tarfile)
if &ma != 1
set ma
endif
let w:tarfile= a:tarfile
let b:tarfile= a:tarfile
setlocal noswapfile
setlocal buftype=nofile
@@ -95,45 +138,58 @@ fun! tar#Browse(tarfile)
" give header
" call Decho("printing header")
exe "$put ='".'\"'." tar.vim version ".g:loaded_tar."'"
exe "$put ='".'\"'." Browsing tarfile ".a:tarfile."'"
exe "$put ='".'\"'." Select a file with cursor and press ENTER"."'"
0d
$
let lastline= line("$")
call setline(lastline+1,'" tar.vim version '.g:loaded_tar)
call setline(lastline+2,'" Browsing tarfile '.a:tarfile)
call setline(lastline+3,'" Select a file with cursor and press ENTER')
keepj $put =''
keepj 0d
keepj $
let tarfile= a:tarfile
if has("win32") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".tarfile),'\n$','','e')
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif
let curlast= line("$")
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("exe silent r! gzip -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! gzip -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_browseoptions." - "
" call Decho("1: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lrp'
" call Decho("2: exe silent r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "sil! r! cat -- ".shellescape(tarfile,1)."|gzip -d -c -|".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.bz2$'
" call Decho("exe silent r! bzip2 -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "silent r! bzip2 -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_browseoptions." - "
" call Decho("3: exe silent r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.lzma$'
" call Decho("3: exe silent r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
elseif tarfile =~# '\.\(xz\|txz\)$'
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - ")
exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_browseoptions." - "
else
" call Decho("exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".g:tar_shq.tarfile.g:tar_shq)
exe "silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".g:tar_shq.tarfile.g:tar_shq
if tarfile =~ '^\s*-'
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
let tarfile = substitute(tarfile, '-', './-', '')
endif
" call Decho("4: exe silent r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,0))
exe "sil! r! ".g:tar_cmd." -".g:tar_browseoptions." ".shellescape(tarfile,1)
endif
if v:shell_error != 0
redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) please check your g:tar_browseoptions<".g:tar_browseoptions.">"
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
return
endif
if line("$") == curlast || ( line("$") == (curlast + 1) && getline("$") =~ '\c\%(warning\|error\|inappropriate\|unrecognized\)')
redraw!
echohl WarningMsg | echo "***warning*** (tar#Browse) ".a:tarfile." doesn't appear to be a tar file" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
silent %d
keepj sil! %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
exe "r ".a:tarfile
exe "r ".fnameescape(a:tarfile)
let &ei= eikeep
1d
keepj sil! 1d
" call Dret("tar#Browse : a:tarfile<".a:tarfile.">")
return
endif
@@ -142,18 +198,25 @@ fun! tar#Browse(tarfile)
noremap <silent> <buffer> <cr> :call <SID>TarBrowseSelect()<cr>
let &report= repkeep
" call Dret("tar#Browse : w:tarfile<".w:tarfile.">")
" call Dret("tar#Browse : b:tarfile<".b:tarfile.">")
endfun
" ---------------------------------------------------------------------
" TarBrowseSelect: {{{2
fun! s:TarBrowseSelect()
" call Dfunc("TarBrowseSelect() w:tarfile<".w:tarfile."> curfile<".expand("%").">")
" call Dfunc("TarBrowseSelect() b:tarfile<".b:tarfile."> curfile<".expand("%").">")
let repkeep= &report
set report=10
let fname= getline(".")
" call Decho("fname<".fname.">")
if !exists("g:tar_secure") && fname =~ '^\s*-\|\s\+-'
redraw!
echohl WarningMsg | echo '***warning*** (tar#BrowseSelect) rejecting tarfile member<'.fname.'> because of embedded "-"'
" call Dret('tar#BrowseSelect : rejecting tarfile member<'.fname.'> because of embedded "-"')
return
endif
" sanity check
if fname =~ '^"'
let &report= repkeep
@@ -161,18 +224,20 @@ fun! s:TarBrowseSelect()
return
endif
" about to make a new window, need to use w:tarfile
let tarfile= w:tarfile
" about to make a new window, need to use b:tarfile
let tarfile= b:tarfile
let curfile= expand("%")
if has("win32") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".tarfile),'\n$','','e')
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif
new
wincmd _
if !exists("g:tar_nomax") || g:tar_nomax == 0
wincmd _
endif
let s:tblfile_{winnr()}= curfile
call tar#Read("tarfile:".tarfile.':'.fname,1)
call tar#Read("tarfile:".tarfile.'::'.fname,1)
filetype detect
let &report= repkeep
@@ -185,48 +250,98 @@ fun! tar#Read(fname,mode)
" call Dfunc("tar#Read(fname<".a:fname.">,mode=".a:mode.")")
let repkeep= &report
set report=10
let tarfile = substitute(a:fname,'tarfile:\(.\{-}\):.*$','\1','')
let fname = substitute(a:fname,'tarfile:.\{-}:\(.*\)$','\1','')
let tarfile = substitute(a:fname,'tarfile:\(.\{-}\)::.*$','\1','')
let fname = substitute(a:fname,'tarfile:.\{-}::\(.*\)$','\1','')
if has("win32") && executable("cygpath")
" assuming cygwin
let tarfile=substitute(system("cygpath -u ".tarfile),'\n$','','e')
let tarfile=substitute(system("cygpath -u ".shellescape(tarfile,0)),'\n$','','e')
endif
" call Decho("tarfile<".tarfile.">")
" call Decho("fname<".fname.">")
if tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("exe silent r! gzip -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -OPxf - '".fname."'")
exe "silent r! gzip -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_readoptions." - '".fname."'"
elseif tarfile =~# '\.bz2$'
" call Decho("exe silent r! bzip2 -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_readoptions." - '".fname."'")
exe "silent r! bzip2 -d -c ".g:tar_shq.tarfile.g:tar_shq."| ".g:tar_cmd." -".g:tar_readoptions." - '".fname."'"
if fname =~ '\.bz2$' && executable("bzcat")
let decmp= "|bzcat"
let doro = 1
elseif fname =~ '\.gz$' && executable("zcat")
let decmp= "|zcat"
let doro = 1
elseif fname =~ '\.lzma$' && executable("lzcat")
let decmp= "|lzcat"
let doro = 1
elseif fname =~ '\.xz$' && executable("xzcat")
let decmp= "|xzcat"
let doro = 1
else
" call Decho("exe silent r! ".g:tar_cmd." -".g:tar_readoptions." ".g:tar_shq.tarfile.g:tar_shq." ".g:tar_shq.fname.g:tar_shq)
exe "silent r! ".g:tar_cmd." -".g:tar_readoptions." ".g:tar_shq.tarfile.g:tar_shq." ".g:tar_shq.fname.g:tar_shq
let decmp=""
let doro = 0
if fname =~ '\.bz2$\|\.gz$\|\.lzma$\|\.xz$\|\.zip$\|\.Z$'
setlocal bin
endif
endif
let w:tarfile= a:fname
exe "file tarfile:".fname
if exists("g:tar_secure")
let tar_secure= " -- "
else
let tar_secure= " "
endif
if tarfile =~# '\.bz2$'
" call Decho("7: exe silent r! bzip2 -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "sil! r! bzip2 -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.\(gz\|tgz\)$'
" call Decho("5: exe silent r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd.' -'.g:tar_readoptions.' - '.tar_secure.shellescape(fname,1))
exe "sil! r! gzip -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.lrp$'
" call Decho("6: exe silent r! cat ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "sil! r! cat -- ".shellescape(tarfile,1)." | gzip -d -c - | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.lzma$'
" call Decho("7: exe silent r! lzma -d -c ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "sil! r! lzma -d -c -- ".shellescape(tarfile,1)."| ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
elseif tarfile =~# '\.\(xz\|txz\)$'
" call Decho("3: exe silent r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp)
exe "sil! r! xz --decompress --stdout -- ".shellescape(tarfile,1)." | ".g:tar_cmd." -".g:tar_readoptions." - ".tar_secure.shellescape(fname,1).decmp
else
if tarfile =~ '^\s*-'
" A file name starting with a dash is taken as an option. Prepend ./ to avoid that.
let tarfile = substitute(tarfile, '-', './-', '')
endif
" call Decho("8: exe silent r! ".g:tar_cmd." -".g:tar_readoptions.tar_secure.shellescape(tarfile,1)." ".shellescape(fname,1).decmp)
exe "silent r! ".g:tar_cmd." -".g:tar_readoptions.shellescape(tarfile,1)." ".tar_secure.shellescape(fname,1).decmp
endif
if doro
" because the reverse process of compressing changed files back into the tarball is not currently supported
setlocal ro
endif
let b:tarfile= a:fname
exe "file tarfile::".fnameescape(fname)
" cleanup
0d
keepj sil! 0d
set nomod
let &report= repkeep
" call Dret("tar#Read : w:tarfile<".w:tarfile.">")
" call Dret("tar#Read : b:tarfile<".b:tarfile.">")
endfun
" ---------------------------------------------------------------------
" tar#Write: {{{2
fun! tar#Write(fname)
" call Dfunc("tar#Write(fname<".a:fname.">) w:tarfile<".w:tarfile."> tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
" call Dfunc("tar#Write(fname<".a:fname.">) b:tarfile<".b:tarfile."> tblfile_".winnr()."<".s:tblfile_{winnr()}.">")
let repkeep= &report
set report=10
if !exists("g:tar_secure") && a:fname =~ '^\s*-\|\s\+-'
redraw!
echohl WarningMsg | echo '***warning*** (tar#Write) rejecting tarfile member<'.a:fname.'> because of embedded "-"'
" call Dret('tar#Write : rejecting tarfile member<'.fname.'> because of embedded "-"')
return
endif
" sanity checks
if !executable(g:tar_cmd)
redraw!
echohl Error | echo '***error*** (tar#Browse) "'.g:tar_cmd.'" not available on your system'
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
@@ -234,7 +349,6 @@ fun! tar#Write(fname)
if !exists("*mkdir")
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, mkdir() doesn't work on your system" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
@@ -251,11 +365,10 @@ fun! tar#Write(fname)
" attempt to change to the indicated directory
try
exe "cd ".escape(tmpdir,' \')
exe "cd ".fnameescape(tmpdir)
catch /^Vim\%((\a\+)\)\=:E344/
redraw!
echohl Error | echo "***error*** (tar#Write) cannot cd to temporary directory" | Echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
let &report= repkeep
" call Dret("tar#Write")
return
@@ -270,29 +383,42 @@ fun! tar#Write(fname)
cd _ZIPVIM_
" call Decho("current directory now: ".getcwd())
let tarfile = substitute(w:tarfile,'tarfile:\(.\{-}\):.*$','\1','')
let fname = substitute(w:tarfile,'tarfile:.\{-}:\(.*\)$','\1','')
let tarfile = substitute(b:tarfile,'tarfile:\(.\{-}\)::.*$','\1','')
let fname = substitute(b:tarfile,'tarfile:.\{-}::\(.*\)$','\1','')
" handle compressed archives
if tarfile =~# '\.gz'
call system("gzip -d ".tarfile)
let tarfile = substitute(tarfile,'\.gz','','e')
let compress= "gzip '".tarfile."'"
elseif tarfile =~# '\.tgz'
call system("gzip -d ".tarfile)
let tarfile = substitute(tarfile,'\.tgz','.tar','e')
let compress= "gzip '".tarfile."'"
let tgz = 1
elseif tarfile =~# '\.bz2'
call system("bzip2 -d ".tarfile)
if tarfile =~# '\.bz2'
call system("bzip2 -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.bz2','','e')
let compress= "bzip2 '".tarfile."'"
let compress= "bzip2 -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.gz'
call system("gzip -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.gz','','e')
let compress= "gzip -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.tgz'
call system("gzip -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.tgz','.tar','e')
let compress= "gzip -- ".shellescape(tarfile,0)
let tgz = 1
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.xz'
call system("xz -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.xz','','e')
let compress= "xz -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
elseif tarfile =~# '\.lzma'
call system("lzma -d -- ".shellescape(tarfile,0))
let tarfile = substitute(tarfile,'\.lzma','','e')
let compress= "lzma -- ".shellescape(tarfile,0)
" call Decho("compress<".compress.">")
endif
" call Decho("tarfile<".tarfile.">")
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
else
" call Decho("tarfile<".tarfile."> fname<".fname.">")
@@ -300,36 +426,43 @@ fun! tar#Write(fname)
if fname =~ '/'
let dirpath = substitute(fname,'/[^/]\+$','','e')
if executable("cygpath")
let dirpath = substitute(system("cygpath ".dirpath),'\n','','e')
let dirpath = substitute(system("cygpath ".shellescape(dirpath, 0)),'\n','','e')
endif
call mkdir(dirpath,"p")
endif
if tarfile !~ '/'
let tarfile= curdir.'/'.tarfile
endif
if tarfile =~ '^\s*-'
" A file name starting with a dash may be taken as an option. Prepend ./ to avoid that.
let tarfile = substitute(tarfile, '-', './-', '')
endif
" call Decho("tarfile<".tarfile."> fname<".fname.">")
exe "w! ".fname
if exists("g:tar_secure")
let tar_secure= " -- "
else
let tar_secure= " "
endif
exe "w! ".fnameescape(fname)
if executable("cygpath")
let tarfile = substitute(system("cygpath ".tarfile),'\n','','e')
let tarfile = substitute(system("cygpath ".shellescape(tarfile,0)),'\n','','e')
endif
" delete old file from tarfile
" call Decho("tar --delete -f '".tarfile."' '".fname."'")
call system("tar --delete -f '".tarfile."' '".fname."'")
" call Decho("system(".g:tar_cmd." --delete -f ".shellescape(tarfile,0)." -- ".shellescape(fname,0).")")
call system(g:tar_cmd." --delete -f ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
else
" update tarfile with new file
" call Decho("tar -".g:tar_writeoptions." '".tarfile."' '".fname."'")
call system("tar -".g:tar_writeoptions." '".tarfile."' '".fname."'")
" call Decho(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
call system(g:tar_cmd." -".g:tar_writeoptions." ".shellescape(tarfile,0).tar_secure.shellescape(fname,0))
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".tarfile." with ".fname | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
echohl Error | echo "***error*** (tar#Write) sorry, unable to update ".fnameescape(tarfile)." with ".fnameescape(fname) | echohl None
elseif exists("compress")
" call Decho("call system(".compress.")")
call system(compress)
@@ -345,13 +478,13 @@ fun! tar#Write(fname)
" call Decho("handle writing <".tarfile."> across network to <".s:tblfile_{winnr()}.">")
let tblfile= s:tblfile_{winnr()}
1split|enew
let binkeep= &binary
let binkeep= &l:binary
let eikeep = &ei
set binary ei=all
exe "e! ".tarfile
exe "e! ".fnameescape(tarfile)
call netrw#NetWrite(tblfile)
let &ei = eikeep
let &binary = binkeep
let &ei = eikeep
let &l:binary = binkeep
q!
unlet s:tblfile_{winnr()}
endif
@@ -360,7 +493,7 @@ fun! tar#Write(fname)
" cleanup and restore current directory
cd ..
call s:Rmdir("_ZIPVIM_")
exe "cd ".escape(curdir,' \')
exe "cd ".fnameescape(curdir)
setlocal nomod
let &report= repkeep
@@ -368,23 +501,99 @@ fun! tar#Write(fname)
endfun
" ---------------------------------------------------------------------
" Rmdir: {{{2
" s:Rmdir: {{{2
fun! s:Rmdir(fname)
" call Dfunc("Rmdir(fname<".a:fname.">)")
if has("unix")
call system("/bin/rm -rf ".a:fname)
call system("/bin/rm -rf -- ".shellescape(a:fname,0))
elseif has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~? "sh$"
call system("/bin/rm -rf ".a:fname)
call system("/bin/rm -rf -- ".shellescape(a:fname,0))
else
call system("del /S ".a:fname)
call system("del /S ".shellescape(a:fname,0))
endif
endif
" call Dret("Rmdir")
endfun
" ------------------------------------------------------------------------
" ---------------------------------------------------------------------
" tar#Vimuntar: installs a tarball in the user's .vim / vimfiles directory {{{2
fun! tar#Vimuntar(...)
" call Dfunc("tar#Vimuntar() a:0=".a:0." a:1<".(exists("a:1")? a:1 : "-n/a-").">")
let tarball = expand("%")
" call Decho("tarball<".tarball.">")
let tarbase = substitute(tarball,'\..*$','','')
" call Decho("tarbase<".tarbase.">")
let tarhome = expand("%:p")
if has("win32") || has("win95") || has("win64") || has("win16")
let tarhome= substitute(tarhome,'\\','/','g')
endif
let tarhome= substitute(tarhome,'/[^/]*$','','')
" call Decho("tarhome<".tarhome.">")
let tartail = expand("%:t")
" call Decho("tartail<".tartail.">")
let curdir = getcwd()
" call Decho("curdir <".curdir.">")
" set up vimhome
if a:0 > 0 && a:1 != ""
let vimhome= a:1
else
let vimhome= vimball#VimballHome()
endif
" call Decho("vimhome<".vimhome.">")
" call Decho("curdir<".curdir."> vimhome<".vimhome.">")
if simplify(curdir) != simplify(vimhome)
" copy (possibly compressed) tarball to .vim/vimfiles
" call Decho(netrw#WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome))
call system(netrw#WinPath(g:tar_copycmd)." ".shellescape(tartail)." ".shellescape(vimhome))
" call Decho("exe cd ".fnameescape(vimhome))
exe "cd ".fnameescape(vimhome)
endif
" call Decho("getcwd<".getcwd().">")
" if necessary, decompress the tarball; then, extract it
if tartail =~ '\.tgz'
if executable("gunzip")
silent exe "!gunzip ".shellescape(tartail)
elseif executable("gzip")
silent exe "!gzip -d ".shellescape(tartail)
else
echoerr "unable to decompress<".tartail."> on this sytem"
if simplify(curdir) != simplify(tarhome)
" remove decompressed tarball, restore directory
" call Decho("delete(".tartail.".tar)")
call delete(tartail.".tar")
" call Decho("exe cd ".fnameescape(curdir))
exe "cd ".fnameescape(curdir)
endif
" call Dret("tar#Vimuntar")
return
endif
else
call vimball#Decompress(tartail,0)
endif
let extractcmd= netrw#WinPath(g:tar_extractcmd)
" call Decho("system(".extractcmd." ".shellescape(tarbase.".tar").")")
call system(extractcmd." ".shellescape(tarbase.".tar"))
" set up help
if filereadable("doc/".tarbase.".txt")
" call Decho("exe helptags ".getcwd()."/doc")
exe "helptags ".getcwd()."/doc"
endif
if simplify(tarhome) != simplify(vimhome)
" remove decompressed tarball, restore directory
call delete(vimhome."/".tarbase.".tar")
exe "cd ".fnameescape(curdir)
endif
" call Dret("tar#Vimuntar")
endfun
" =====================================================================
" Modelines And Restoration: {{{1
let &cpo= s:keepcpo
unlet s:keepcpo
" vim:ts=8 fdm=marker
" vim:ts=8 fdm=marker
+758
View File
@@ -0,0 +1,758 @@
" Vim autoload file for the tohtml plugin.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2011 Apr 05
"
" Additional contributors:
"
" Original by Bram Moolenaar <Bram@vim.org>
" Diff2HTML() added by Christian Brabandt <cb@256bit.org>
"
" See Mercurial change logs for more!
" this file uses line continuations
let s:cpo_sav = &cpo
set cpo-=C
" Automatically find charsets from all encodings supported natively by Vim. With
" the 8bit- and 2byte- prefixes, Vim can actually support more encodings than
" this. Let the user specify these however since they won't be supported on
" every system.
"
" Note, not all of Vim's supported encodings have a charset to use.
"
" Names in this list are from:
" http://www.iana.org/assignments/character-sets
" g:tohtml#encoding_to_charset: {{{
let g:tohtml#encoding_to_charset = {
\ 'latin1' : 'ISO-8859-1',
\ 'iso-8859-2' : 'ISO-8859-2',
\ 'iso-8859-3' : 'ISO-8859-3',
\ 'iso-8859-4' : 'ISO-8859-4',
\ 'iso-8859-5' : 'ISO-8859-5',
\ 'iso-8859-6' : 'ISO-8859-6',
\ 'iso-8859-7' : 'ISO-8859-7',
\ 'iso-8859-8' : 'ISO-8859-8',
\ 'iso-8859-9' : 'ISO-8859-9',
\ 'iso-8859-10' : '',
\ 'iso-8859-13' : 'ISO-8859-13',
\ 'iso-8859-14' : '',
\ 'iso-8859-15' : 'ISO-8859-15',
\ 'koi8-r' : 'KOI8-R',
\ 'koi8-u' : 'KOI8-U',
\ 'macroman' : 'macintosh',
\ 'cp437' : '',
\ 'cp775' : '',
\ 'cp850' : '',
\ 'cp852' : '',
\ 'cp855' : '',
\ 'cp857' : '',
\ 'cp860' : '',
\ 'cp861' : '',
\ 'cp862' : '',
\ 'cp863' : '',
\ 'cp865' : '',
\ 'cp866' : 'IBM866',
\ 'cp869' : '',
\ 'cp874' : '',
\ 'cp1250' : 'windows-1250',
\ 'cp1251' : 'windows-1251',
\ 'cp1253' : 'windows-1253',
\ 'cp1254' : 'windows-1254',
\ 'cp1255' : 'windows-1255',
\ 'cp1256' : 'windows-1256',
\ 'cp1257' : 'windows-1257',
\ 'cp1258' : 'windows-1258',
\ 'euc-jp' : 'EUC-JP',
\ 'sjis' : 'Shift_JIS',
\ 'cp932' : 'Shift_JIS',
\ 'cp949' : '',
\ 'euc-kr' : 'EUC-KR',
\ 'cp936' : 'GBK',
\ 'euc-cn' : 'GB2312',
\ 'big5' : 'Big5',
\ 'cp950' : 'Big5',
\ 'utf-8' : 'UTF-8',
\ 'ucs-2' : 'UTF-8',
\ 'ucs-2le' : 'UTF-8',
\ 'utf-16' : 'UTF-8',
\ 'utf-16le' : 'UTF-8',
\ 'ucs-4' : 'UTF-8',
\ 'ucs-4le' : 'UTF-8',
\ }
lockvar g:tohtml#encoding_to_charset
" Notes:
" 1. All UCS/UTF are converted to UTF-8 because it is much better supported
" 2. Any blank spaces are there because Vim supports it but at least one major
" web browser does not according to http://wiki.whatwg.org/wiki/Web_Encodings.
" }}}
" Only automatically find encodings supported natively by Vim, let the user
" specify the encoding if it's not natively supported. This function is only
" used when the user specifies the charset, they better know what they are
" doing!
"
" Names in this list are from:
" http://www.iana.org/assignments/character-sets
" g:tohtml#charset_to_encoding: {{{
let g:tohtml#charset_to_encoding = {
\ 'iso_8859-1:1987' : 'latin1',
\ 'iso-ir-100' : 'latin1',
\ 'iso_8859-1' : 'latin1',
\ 'iso-8859-1' : 'latin1',
\ 'latin1' : 'latin1',
\ 'l1' : 'latin1',
\ 'ibm819' : 'latin1',
\ 'cp819' : 'latin1',
\ 'csisolatin1' : 'latin1',
\ 'iso_8859-2:1987' : 'iso-8859-2',
\ 'iso-ir-101' : 'iso-8859-2',
\ 'iso_8859-2' : 'iso-8859-2',
\ 'iso-8859-2' : 'iso-8859-2',
\ 'latin2' : 'iso-8859-2',
\ 'l2' : 'iso-8859-2',
\ 'csisolatin2' : 'iso-8859-2',
\ 'iso_8859-3:1988' : 'iso-8859-3',
\ 'iso-ir-109' : 'iso-8859-3',
\ 'iso_8859-3' : 'iso-8859-3',
\ 'iso-8859-3' : 'iso-8859-3',
\ 'latin3' : 'iso-8859-3',
\ 'l3' : 'iso-8859-3',
\ 'csisolatin3' : 'iso-8859-3',
\ 'iso_8859-4:1988' : 'iso-8859-4',
\ 'iso-ir-110' : 'iso-8859-4',
\ 'iso_8859-4' : 'iso-8859-4',
\ 'iso-8859-4' : 'iso-8859-4',
\ 'latin4' : 'iso-8859-4',
\ 'l4' : 'iso-8859-4',
\ 'csisolatin4' : 'iso-8859-4',
\ 'iso_8859-5:1988' : 'iso-8859-5',
\ 'iso-ir-144' : 'iso-8859-5',
\ 'iso_8859-5' : 'iso-8859-5',
\ 'iso-8859-5' : 'iso-8859-5',
\ 'cyrillic' : 'iso-8859-5',
\ 'csisolatincyrillic' : 'iso-8859-5',
\ 'iso_8859-6:1987' : 'iso-8859-6',
\ 'iso-ir-127' : 'iso-8859-6',
\ 'iso_8859-6' : 'iso-8859-6',
\ 'iso-8859-6' : 'iso-8859-6',
\ 'ecma-114' : 'iso-8859-6',
\ 'asmo-708' : 'iso-8859-6',
\ 'arabic' : 'iso-8859-6',
\ 'csisolatinarabic' : 'iso-8859-6',
\ 'iso_8859-7:1987' : 'iso-8859-7',
\ 'iso-ir-126' : 'iso-8859-7',
\ 'iso_8859-7' : 'iso-8859-7',
\ 'iso-8859-7' : 'iso-8859-7',
\ 'elot_928' : 'iso-8859-7',
\ 'ecma-118' : 'iso-8859-7',
\ 'greek' : 'iso-8859-7',
\ 'greek8' : 'iso-8859-7',
\ 'csisolatingreek' : 'iso-8859-7',
\ 'iso_8859-8:1988' : 'iso-8859-8',
\ 'iso-ir-138' : 'iso-8859-8',
\ 'iso_8859-8' : 'iso-8859-8',
\ 'iso-8859-8' : 'iso-8859-8',
\ 'hebrew' : 'iso-8859-8',
\ 'csisolatinhebrew' : 'iso-8859-8',
\ 'iso_8859-9:1989' : 'iso-8859-9',
\ 'iso-ir-148' : 'iso-8859-9',
\ 'iso_8859-9' : 'iso-8859-9',
\ 'iso-8859-9' : 'iso-8859-9',
\ 'latin5' : 'iso-8859-9',
\ 'l5' : 'iso-8859-9',
\ 'csisolatin5' : 'iso-8859-9',
\ 'iso-8859-10' : 'iso-8859-10',
\ 'iso-ir-157' : 'iso-8859-10',
\ 'l6' : 'iso-8859-10',
\ 'iso_8859-10:1992' : 'iso-8859-10',
\ 'csisolatin6' : 'iso-8859-10',
\ 'latin6' : 'iso-8859-10',
\ 'iso-8859-13' : 'iso-8859-13',
\ 'iso-8859-14' : 'iso-8859-14',
\ 'iso-ir-199' : 'iso-8859-14',
\ 'iso_8859-14:1998' : 'iso-8859-14',
\ 'iso_8859-14' : 'iso-8859-14',
\ 'latin8' : 'iso-8859-14',
\ 'iso-celtic' : 'iso-8859-14',
\ 'l8' : 'iso-8859-14',
\ 'iso-8859-15' : 'iso-8859-15',
\ 'iso_8859-15' : 'iso-8859-15',
\ 'latin-9' : 'iso-8859-15',
\ 'koi8-r' : 'koi8-r',
\ 'cskoi8r' : 'koi8-r',
\ 'koi8-u' : 'koi8-u',
\ 'macintosh' : 'macroman',
\ 'mac' : 'macroman',
\ 'csmacintosh' : 'macroman',
\ 'ibm437' : 'cp437',
\ 'cp437' : 'cp437',
\ '437' : 'cp437',
\ 'cspc8codepage437' : 'cp437',
\ 'ibm775' : 'cp775',
\ 'cp775' : 'cp775',
\ 'cspc775baltic' : 'cp775',
\ 'ibm850' : 'cp850',
\ 'cp850' : 'cp850',
\ '850' : 'cp850',
\ 'cspc850multilingual' : 'cp850',
\ 'ibm852' : 'cp852',
\ 'cp852' : 'cp852',
\ '852' : 'cp852',
\ 'cspcp852' : 'cp852',
\ 'ibm855' : 'cp855',
\ 'cp855' : 'cp855',
\ '855' : 'cp855',
\ 'csibm855' : 'cp855',
\ 'ibm857' : 'cp857',
\ 'cp857' : 'cp857',
\ '857' : 'cp857',
\ 'csibm857' : 'cp857',
\ 'ibm860' : 'cp860',
\ 'cp860' : 'cp860',
\ '860' : 'cp860',
\ 'csibm860' : 'cp860',
\ 'ibm861' : 'cp861',
\ 'cp861' : 'cp861',
\ '861' : 'cp861',
\ 'cp-is' : 'cp861',
\ 'csibm861' : 'cp861',
\ 'ibm862' : 'cp862',
\ 'cp862' : 'cp862',
\ '862' : 'cp862',
\ 'cspc862latinhebrew' : 'cp862',
\ 'ibm863' : 'cp863',
\ 'cp863' : 'cp863',
\ '863' : 'cp863',
\ 'csibm863' : 'cp863',
\ 'ibm865' : 'cp865',
\ 'cp865' : 'cp865',
\ '865' : 'cp865',
\ 'csibm865' : 'cp865',
\ 'ibm866' : 'cp866',
\ 'cp866' : 'cp866',
\ '866' : 'cp866',
\ 'csibm866' : 'cp866',
\ 'ibm869' : 'cp869',
\ 'cp869' : 'cp869',
\ '869' : 'cp869',
\ 'cp-gr' : 'cp869',
\ 'csibm869' : 'cp869',
\ 'windows-1250' : 'cp1250',
\ 'windows-1251' : 'cp1251',
\ 'windows-1253' : 'cp1253',
\ 'windows-1254' : 'cp1254',
\ 'windows-1255' : 'cp1255',
\ 'windows-1256' : 'cp1256',
\ 'windows-1257' : 'cp1257',
\ 'windows-1258' : 'cp1258',
\ 'extended_unix_code_packed_format_for_japanese' : 'euc-jp',
\ 'cseucpkdfmtjapanese' : 'euc-jp',
\ 'euc-jp' : 'euc-jp',
\ 'shift_jis' : 'sjis',
\ 'ms_kanji' : 'sjis',
\ 'sjis' : 'sjis',
\ 'csshiftjis' : 'sjis',
\ 'ibm-thai' : 'cp874',
\ 'csibmthai' : 'cp874',
\ 'ks_c_5601-1987' : 'cp949',
\ 'iso-ir-149' : 'cp949',
\ 'ks_c_5601-1989' : 'cp949',
\ 'ksc_5601' : 'cp949',
\ 'korean' : 'cp949',
\ 'csksc56011987' : 'cp949',
\ 'euc-kr' : 'euc-kr',
\ 'cseuckr' : 'euc-kr',
\ 'gbk' : 'cp936',
\ 'cp936' : 'cp936',
\ 'ms936' : 'cp936',
\ 'windows-936' : 'cp936',
\ 'gb_2312-80' : 'euc-cn',
\ 'iso-ir-58' : 'euc-cn',
\ 'chinese' : 'euc-cn',
\ 'csiso58gb231280' : 'euc-cn',
\ 'big5' : 'big5',
\ 'csbig5' : 'big5',
\ 'utf-8' : 'utf-8',
\ 'iso-10646-ucs-2' : 'ucs-2',
\ 'csunicode' : 'ucs-2',
\ 'utf-16' : 'utf-16',
\ 'utf-16be' : 'utf-16',
\ 'utf-16le' : 'utf-16le',
\ 'utf-32' : 'ucs-4',
\ 'utf-32be' : 'ucs-4',
\ 'utf-32le' : 'ucs-4le',
\ 'iso-10646-ucs-4' : 'ucs-4',
\ 'csucs4' : 'ucs-4'
\ }
lockvar g:tohtml#charset_to_encoding
"}}}
func! tohtml#Convert2HTML(line1, line2) "{{{
let s:settings = tohtml#GetUserSettings()
if !&diff || s:settings.diff_one_file "{{{
if a:line2 >= a:line1
let g:html_start_line = a:line1
let g:html_end_line = a:line2
else
let g:html_start_line = a:line2
let g:html_end_line = a:line1
endif
runtime syntax/2html.vim "}}}
else "{{{
let win_list = []
let buf_list = []
windo | if &diff | call add(win_list, winbufnr(0)) | endif
let s:settings.whole_filler = 1
let g:html_diff_win_num = 0
for window in win_list
" switch to the next buffer to convert
exe ":" . bufwinnr(window) . "wincmd w"
" figure out whether current charset and encoding will work, if not
" default to UTF-8
if !exists('g:html_use_encoding') &&
\ (((&l:fileencoding=='' || (&l:buftype!='' && &l:buftype!=?'help'))
\ && &encoding!=?s:settings.vim_encoding)
\ || &l:fileencoding!='' && &l:fileencoding!=?s:settings.vim_encoding)
echohl WarningMsg
echomsg "TOhtml: mismatched file encodings in Diff buffers, using UTF-8"
echohl None
let s:settings.vim_encoding = 'utf-8'
let s:settings.encoding = 'UTF-8'
endif
" set up for diff-mode conversion
let g:html_start_line = 1
let g:html_end_line = line('$')
let g:html_diff_win_num += 1
" convert this file
runtime syntax/2html.vim
" remember the HTML buffer for later combination
call add(buf_list, bufnr('%'))
endfor
unlet g:html_diff_win_num
call tohtml#Diff2HTML(win_list, buf_list)
endif "}}}
unlet g:html_start_line
unlet g:html_end_line
unlet s:settings
endfunc "}}}
func! tohtml#Diff2HTML(win_list, buf_list) "{{{
let xml_line = ""
let tag_close = '>'
let s:old_paste = &paste
set paste
let s:old_magic = &magic
set magic
if s:settings.use_xhtml
if s:settings.encoding != ""
let xml_line = "<?xml version=\"1.0\" encoding=\"" . s:settings.encoding . "\"?>"
else
let xml_line = "<?xml version=\"1.0\"?>"
endif
let tag_close = ' />'
endif
let style = [s:settings.use_xhtml ? "" : '-->']
let body_line = ''
let html = []
if s:settings.use_xhtml
call add(html, xml_line)
endif
if s:settings.use_xhtml
call add(html, "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">")
call add(html, '<html xmlns="http://www.w3.org/1999/xhtml">')
elseif s:settings.use_css && !s:settings.no_pre
call add(html, "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">")
call add(html, '<html>')
else
call add(html, '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"')
call add(html, ' "http://www.w3.org/TR/html4/loose.dtd">')
call add(html, '<html>')
endif
call add(html, '<head>')
" include encoding as close to the top as possible, but only if not already
" contained in XML information
if s:settings.encoding != "" && !s:settings.use_xhtml
call add(html, "<meta http-equiv=\"content-type\" content=\"text/html; charset=" . s:settings.encoding . '"' . tag_close)
endif
call add(html, '<title>diff</title>')
call add(html, '<meta name="Generator" content="Vim/'.v:version/100.'.'.v:version%100.'"'.tag_close)
call add(html, '<meta name="plugin-version" content="'.g:loaded_2html_plugin.'"'.tag_close)
call add(html, '<meta name="settings" content="'.
\ join(filter(keys(s:settings),'s:settings[v:val]'),',').
\ '"'.tag_close)
call add(html, '</head>')
let body_line_num = len(html)
call add(html, '<body>')
call add(html, '<table border="1" width="100%">')
call add(html, '<tr>')
for buf in a:win_list
call add(html, '<th>'.bufname(buf).'</th>')
endfor
call add(html, '</tr><tr>')
let diff_style_start = 0
let insert_index = 0
for buf in a:buf_list
let temp = []
exe bufwinnr(buf) . 'wincmd w'
" If text is folded because of user foldmethod settings, etc. we don't want
" to act on everything in a fold by mistake.
setlocal nofoldenable
" When not using CSS or when using xhtml, the <body> line can be important.
" Assume it will be the same for all buffers and grab it from the first
" buffer. Similarly, need to grab the body end line as well.
if body_line == ''
1
call search('<body')
let body_line = getline('.')
$
call search('</body>', 'b')
let s:body_end_line = getline('.')
endif
" Grab the style information. Some of this will be duplicated so only insert
" it if it's not already there. {{{
1
let style_start = search('^<style type="text/css">')
1
let style_end = search('^</style>')
if style_start > 0 && style_end > 0
let buf_styles = getline(style_start + 1, style_end - 1)
for a_style in buf_styles
if index(style, a_style) == -1
if diff_style_start == 0
if a_style =~ '\<Diff\(Change\|Text\|Add\|Delete\)'
let diff_style_start = len(style)-1
endif
endif
call insert(style, a_style, insert_index)
let insert_index += 1
endif
endfor
endif " }}}
" everything new will get added before the diff styles so diff highlight
" properly overrides normal highlight
if diff_style_start != 0
let insert_index = diff_style_start
endif
" Delete those parts that are not needed so
" we can include the rest into the resulting table
1,/^<body/d_
$
?</body>?,$d_
let temp = getline(1,'$')
" undo deletion of start and end part
" so we can later save the file as valid html
" TODO: restore using grabbed lines if undolevel is 1?
normal 2u
if s:settings.use_css
call add(html, '<td valign="top"><div>')
elseif s:settings.use_xhtml
call add(html, '<td nowrap="nowrap" valign="top"><div>')
else
call add(html, '<td nowrap valign="top"><div>')
endif
let html += temp
call add(html, '</div></td>')
" Close this buffer
" TODO: the comment above says we're going to allow saving the file
" later...but here we discard it?
quit!
endfor
let html[body_line_num] = body_line
call add(html, '</tr>')
call add(html, '</table>')
call add(html, s:body_end_line)
call add(html, '</html>')
let i = 1
let name = "Diff" . (s:settings.use_xhtml ? ".xhtml" : ".html")
" Find an unused file name if current file name is already in use
while filereadable(name)
let name = substitute(name, '\d*\.x\?html$', '', '') . i . '.' . fnamemodify(copy(name), ":t:e")
let i += 1
endwhile
exe "topleft new " . name
setlocal modifiable
" just in case some user autocmd creates content in the new buffer, make sure
" it is empty before proceeding
%d
" set the fileencoding to match the charset we'll be using
let &l:fileencoding=s:settings.vim_encoding
" According to http://www.w3.org/TR/html4/charset.html#doc-char-set, the byte
" order mark is highly recommend on the web when using multibyte encodings. But,
" it is not a good idea to include it on UTF-8 files. Otherwise, let Vim
" determine when it is actually inserted.
if s:settings.vim_encoding == 'utf-8'
setlocal nobomb
else
setlocal bomb
endif
call append(0, html)
if len(style) > 0
1
let style_start = search('^</head>')-1
" Insert javascript to toggle matching folds open and closed in all windows,
" if dynamic folding is active. {{{
if s:settings.dynamic_folds
call append(style_start, [
\ "<script type='text/javascript'>",
\ s:settings.use_xhtml ? '//<![CDATA[' : " <!--",
\ " function toggleFold(objID)",
\ " {",
\ " for (win_num = 1; win_num <= ".len(a:buf_list)."; win_num++)",
\ " {",
\ " var fold;",
\ ' fold = document.getElementById("win"+win_num+objID);',
\ " if(fold.className == 'closed-fold')",
\ " {",
\ " fold.className = 'open-fold';",
\ " }",
\ " else if (fold.className == 'open-fold')",
\ " {",
\ " fold.className = 'closed-fold';",
\ " }",
\ " }",
\ " }",
\ s:settings.use_xhtml ? '//]]>' : " -->",
\ "</script>"
\ ])
endif "}}}
" Insert styles from all the generated html documents and additional styles
" for the table-based layout of the side-by-side diff. The diff should take
" up the full browser window (but not more), and be static in size,
" horizontally scrollable when the lines are too long. Otherwise, the diff
" is pretty useless for really long lines. {{{
if s:settings.use_css
call append(style_start,
\ ['<style type="text/css">']+
\ style+
\ [ s:settings.use_xhtml ? '' : '<!--',
\ 'table { table-layout: fixed; }',
\ 'html, body, table, tbody { width: 100%; margin: 0; padding: 0; }',
\ 'th, td { width: '.printf("%.1f",100.0/len(a:win_list)).'%; }',
\ 'td div { overflow: auto; }',
\ s:settings.use_xhtml ? '' : '-->',
\ '</style>'
\])
endif "}}}
endif
let &paste = s:old_paste
let &magic = s:old_magic
endfunc "}}}
" Gets a single user option and sets it in the passed-in Dict, or gives it the
" default value if the option doesn't actually exist.
func! tohtml#GetOption(settings, option, default) "{{{
if exists('g:html_'.a:option)
let a:settings[a:option] = g:html_{a:option}
else
let a:settings[a:option] = a:default
endif
endfunc "}}}
" returns a Dict containing the values of all user options for 2html, including
" default values for those not given an explicit value by the user. Discards the
" html_ prefix of the option for nicer looking code.
func! tohtml#GetUserSettings() "{{{
if exists('s:settings')
" just restore the known options if we've already retrieved them
return s:settings
else
" otherwise figure out which options are set
let user_settings = {}
" Define the correct option if the old option name exists and we haven't
" already defined the correct one. Maybe I'll put out a warnig message about
" this sometime and remove the old option entirely at some even later time,
" but for now just silently accept the old option.
if exists('g:use_xhtml') && !exists("g:html_use_xhtml")
let g:html_use_xhtml = g:use_xhtml
endif
" get current option settings with appropriate defaults {{{
call tohtml#GetOption(user_settings, 'no_progress', !has("statusline") )
call tohtml#GetOption(user_settings, 'diff_one_file', 0 )
call tohtml#GetOption(user_settings, 'number_lines', &number )
call tohtml#GetOption(user_settings, 'pre_wrap', &wrap )
call tohtml#GetOption(user_settings, 'use_css', 1 )
call tohtml#GetOption(user_settings, 'ignore_conceal', 0 )
call tohtml#GetOption(user_settings, 'ignore_folding', 0 )
call tohtml#GetOption(user_settings, 'dynamic_folds', 0 )
call tohtml#GetOption(user_settings, 'no_foldcolumn', 0 )
call tohtml#GetOption(user_settings, 'hover_unfold', 0 )
call tohtml#GetOption(user_settings, 'no_pre', 0 )
call tohtml#GetOption(user_settings, 'whole_filler', 0 )
call tohtml#GetOption(user_settings, 'use_xhtml', 0 )
" }}}
" override those settings that need it {{{
" hover opening implies dynamic folding
if user_settings.hover_unfold
let user_settings.dynamic_folds = 1
endif
" ignore folding overrides dynamic folding
if user_settings.ignore_folding && user_settings.dynamic_folds
let user_settings.dynamic_folds = 0
let user_settings.hover_unfold = 0
endif
" dynamic folding with no foldcolumn implies hover opens
if user_settings.dynamic_folds && user_settings.no_foldcolumn
let user_settings.hover_unfold = 1
endif
" dynamic folding implies css
if user_settings.dynamic_folds
let user_settings.use_css = 1
endif
" if we're not using CSS we cannot use a pre section because <font> tags
" aren't allowed inside a <pre> block
if !user_settings.use_css
let user_settings.no_pre = 1
endif
" pre_wrap doesn't do anything if not using pre or not using CSS
if user_settings.no_pre || !user_settings.use_css
let user_settings.pre_wrap=0
endif
"}}}
" set up expand_tabs option after all the overrides so we know the
" appropriate defaults {{{
if user_settings.no_pre == 0
call tohtml#GetOption(user_settings,
\ 'expand_tabs',
\ &expandtab || &ts != 8 || user_settings.number_lines ||
\ (user_settings.dynamic_folds && !user_settings.no_foldcolumn))
else
let user_settings.expand_tabs = 1
endif
" }}}
if exists("g:html_use_encoding") "{{{
" user specified the desired MIME charset, figure out proper
" 'fileencoding' from it or warn the user if we cannot
let user_settings.encoding = g:html_use_encoding
let user_settings.vim_encoding = tohtml#EncodingFromCharset(g:html_use_encoding)
if user_settings.vim_encoding == ''
echohl WarningMsg
echomsg "TOhtml: file encoding for"
\ g:html_use_encoding
\ "unknown, please set 'fileencoding'"
echohl None
endif
else
" Figure out proper MIME charset from 'fileencoding' if possible
if &l:fileencoding != ''
" If the buffer is not a "normal" type, the 'fileencoding' value may not
" be trusted; since the buffer should not be written the fileencoding is
" not intended to be used.
if &l:buftype=='' || &l:buftype==?'help'
let user_settings.vim_encoding = &l:fileencoding
call tohtml#CharsetFromEncoding(user_settings)
else
let user_settings.encoding = '' " trigger detection using &encoding
endif
endif
" else from 'encoding' if possible
if &l:fileencoding == '' || user_settings.encoding == ''
let user_settings.vim_encoding = &encoding
call tohtml#CharsetFromEncoding(user_settings)
endif
" else default to UTF-8 and warn user
if user_settings.encoding == ''
let user_settings.vim_encoding = 'utf-8'
let user_settings.encoding = 'UTF-8'
echohl WarningMsg
echomsg "TOhtml: couldn't determine MIME charset, using UTF-8"
echohl None
endif
endif "}}}
" TODO: font
return user_settings
endif
endfunc "}}}
" get the proper HTML charset name from a Vim encoding option.
function! tohtml#CharsetFromEncoding(settings) "{{{
let l:vim_encoding = a:settings.vim_encoding
if exists('g:html_charset_override') && has_key(g:html_charset_override, l:vim_encoding)
let a:settings.encoding = g:html_charset_override[l:vim_encoding]
else
if l:vim_encoding =~ '^8bit\|^2byte'
" 8bit- and 2byte- prefixes are to indicate encodings available on the
" system that Vim will convert with iconv(), look up just the encoding name,
" not Vim's prefix.
let l:vim_encoding = substitute(l:vim_encoding, '^8bit-\|^2byte-', '', '')
endif
if has_key(g:tohtml#encoding_to_charset, l:vim_encoding)
let a:settings.encoding = g:tohtml#encoding_to_charset[l:vim_encoding]
else
let a:settings.encoding = ""
endif
endif
if a:settings.encoding != ""
let l:vim_encoding = tohtml#EncodingFromCharset(a:settings.encoding)
if l:vim_encoding != ""
" if the Vim encoding to HTML encoding conversion is set up (by default or
" by the user) to convert to a different encoding, we need to also change
" the Vim encoding of the new buffer
let a:settings.vim_encoding = l:vim_encoding
endif
endif
endfun "}}}
" Get the proper Vim encoding option setting from an HTML charset name.
function! tohtml#EncodingFromCharset(encoding) "{{{
if exists('g:html_encoding_override') && has_key(g:html_encoding_override, a:encoding)
return g:html_encoding_override[a:encoding]
elseif has_key(g:tohtml#charset_to_encoding, tolower(a:encoding))
return g:tohtml#charset_to_encoding[tolower(a:encoding)]
else
return ""
endif
endfun "}}}
let &cpo = s:cpo_sav
unlet s:cpo_sav
" Make sure any patches will probably use consistent indent
" vim: ts=8 sw=2 sts=2 noet fdm=marker
+283 -163
View File
@@ -1,9 +1,9 @@
" vimball.vim : construct a file containing both paths and files
" Author: Charles E. Campbell, Jr.
" Date: May 07, 2007
" Version: 22
" Date: Apr 02, 2011
" Version: 33
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2006 by Charles E. Campbell, Jr.
" Copyright: (c) 2004-2011 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
" (see |copyright|) except use "Vimball" instead of "Vim".
" No warranty, express or implied.
@@ -11,12 +11,19 @@
" ---------------------------------------------------------------------
" Load Once: {{{1
if &cp || exists("g:loaded_vimball") || v:version < 700
if &cp || exists("g:loaded_vimball")
finish
endif
let s:keepcpo = &cpo
let g:loaded_vimball = "v22"
let g:loaded_vimball = "v33"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of vimball needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo= &cpo
set cpo&vim
"DechoTabOn
" =====================================================================
" Constants: {{{1
@@ -24,6 +31,33 @@ if !exists("s:USAGE")
let s:USAGE = 0
let s:WARNING = 1
let s:ERROR = 2
" determine if cygwin is in use or not
if !exists("g:netrw_cygwin")
if has("win32") || has("win95") || has("win64") || has("win16")
if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
let g:netrw_cygwin= 1
else
let g:netrw_cygwin= 0
endif
else
let g:netrw_cygwin= 0
endif
endif
" set up g:vimball_mkdir if the mkdir() call isn't defined
if !exists("*mkdir")
if exists("g:netrw_local_mkdir")
let g:vimball_mkdir= g:netrw_local_mkdir
elseif executable("mkdir")
let g:vimball_mkdir= "mkdir"
elseif executable("makedir")
let g:vimball_mkdir= "makedir"
endif
if !exists(g:vimball_mkdir)
call vimball#ShowMesg(s:WARNING,"(vimball) g:vimball_mkdir undefined")
endif
endif
endif
" =====================================================================
@@ -31,7 +65,12 @@ endif
" ---------------------------------------------------------------------
" vimball#MkVimball: creates a vimball given a list of paths to files {{{2
" Vimball Format:
" Input:
" line1,line2: a range of lines containing paths to files to be included in the vimball
" writelevel : if true, force a write to filename.vmb, even if it exists
" (usually accomplished with :MkVimball! ...
" filename : base name of file to be created (ie. filename.vmb)
" Output: a filename.vmb using vimball format:
" path
" filesize
" [file]
@@ -40,17 +79,17 @@ endif
" [file]
fun! vimball#MkVimball(line1,line2,writelevel,...) range
" call Dfunc("MkVimball(line1=".a:line1." line2=".a:line2." writelevel=".a:writelevel." vimballname<".a:1.">) a:0=".a:0)
if a:1 =~ '.vim' || a:1 =~ '.txt'
let vbname= substitute(a:1,'\.\a\{3}$','.vba','')
if a:1 =~ '\.vim$' || a:1 =~ '\.txt$'
let vbname= substitute(a:1,'\.\a\{3}$','.vmb','')
else
let vbname= a:1
endif
if vbname !~ '\.vba$'
let vbname= vbname.'.vba'
if vbname !~ '\.vmb$'
let vbname= vbname.'.vmb'
endif
" call Decho("vbname<".vbname.">")
if a:1 =~ '[\/]'
call vimball#ShowMesg(s:ERROR,"(MkVimball) vimball name<".a:1."> should not include slashes")
if !a:writelevel && a:1 =~ '[\/]'
call vimball#ShowMesg(s:ERROR,"(MkVimball) vimball name<".a:1."> should not include slashes; use ! to insist")
" call Dret("MkVimball : vimball name<".a:1."> should not include slashes")
return
endif
@@ -61,14 +100,14 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
endif
" user option bypass
call s:SaveSettings()
call vimball#SaveSettings()
if a:0 >= 2
" allow user to specify where to get the files
let home= expand(a:2)
else
" use first existing directory from rtp
let home= s:VimballHome()
let home= vimball#VimballHome()
endif
" save current directory
@@ -87,7 +126,7 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
if !filereadable(svfile)
call vimball#ShowMesg(s:ERROR,"unable to read file<".svfile.">")
call s:ChgDir(curdir)
call s:RestoreSettings()
call vimball#RestoreSettings()
" call Dret("MkVimball")
return
endif
@@ -95,7 +134,7 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
" create/switch to mkvimball tab
if !exists("vbtabnr")
tabnew
silent! file Vimball
sil! file Vimball
let vbtabnr= tabpagenr()
else
exe "tabn ".vbtabnr
@@ -112,9 +151,8 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
call setline(lastline+1,0)
" write the file from the tab
let svfilepath= s:Path(svfile,'')
" call Decho("exe $r ".svfilepath)
exe "$r ".svfilepath
" call Decho("exe $r ".fnameescape(svfile))
exe "$r ".fnameescape(svfile)
call setline(lastline+1,line("$") - lastline - 1)
" call Decho("lastline=".lastline." line$=".line("$"))
@@ -127,14 +165,13 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
" write the vimball
exe "tabn ".vbtabnr
call s:ChgDir(curdir)
setlocal ff=unix
if a:writelevel
let vbnamepath= s:Path(vbname,'')
" call Decho("exe w! ".vbnamepath)
exe "w! ".vbnamepath
" call Decho("exe w! ".fnameescape(vbname))
exe "w! ".fnameescape(vbname)
else
let vbnamepath= s:Path(vbname,'')
" call Decho("exe w ".vbnamepath)
exe "w ".vbnamepath
" call Decho("exe w ".fnameescape(vbname))
exe "w ".fnameescape(vbname)
endif
" call Decho("Vimball<".vbname."> created")
echo "Vimball<".vbname."> created"
@@ -145,30 +182,39 @@ fun! vimball#MkVimball(line1,line2,writelevel,...) range
exe "tabc ".vbtabnr
" restore options
call s:RestoreSettings()
call vimball#RestoreSettings()
" call Dret("MkVimball")
endfun
" ---------------------------------------------------------------------
" vimball#Vimball: extract and distribute contents from a vimball {{{2
" (invoked the the UseVimball command embedded in
" vimballs' prologue)
fun! vimball#Vimball(really,...)
" call Dfunc("vimball#Vimball(really=".a:really.") a:0=".a:0)
if getline(1) !~ '^" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.$'
if v:version < 701 || (v:version == 701 && !exists('*fnameescape'))
echoerr "your vim is missing the fnameescape() function (pls upgrade to vim 7.2 or later)"
" call Dret("vimball#Vimball : needs 7.1 with patch 299 or later")
return
endif
if getline(1) !~ '^" Vimball Archiver'
echoerr "(Vimball) The current file does not appear to be a Vimball!"
" call Dret("vimball#Vimball")
return
endif
" set up standard settings
call s:SaveSettings()
let curtabnr = tabpagenr()
call vimball#SaveSettings()
let curtabnr = tabpagenr()
let vimballfile = expand("%:tr")
" set up vimball tab
" call Decho("setting up vimball tab")
tabnew
silent! file Vimball
sil! file Vimball
let vbtabnr= tabpagenr()
let didhelp= ""
@@ -176,7 +222,7 @@ fun! vimball#Vimball(really,...)
if a:0 > 0
let home= expand(a:1)
else
let home= s:VimballHome()
let home= vimball#VimballHome()
endif
" call Decho("home<".home.">")
@@ -186,16 +232,18 @@ fun! vimball#Vimball(really,...)
" call Decho("curdir<".curdir.">")
call s:ChgDir(home)
call vimball#RmVimball()
let s:ok_unablefind= 1
call vimball#RmVimball(vimballfile)
unlet s:ok_unablefind
let linenr = 4
let filecnt = 0
" give title to listing of (extracted) files from Vimball Archive
if a:really
echohl Title | echomsg "Vimball Archive" | echohl None
else
echohl Title | echomsg "Vimball Archive Listing" | echohl None
echohl Title | echomsg "Vimball Archive" | echohl None
else
echohl Title | echomsg "Vimball Archive Listing" | echohl None
echohl Statement | echomsg "files would be placed under: ".home | echohl None
endif
@@ -206,9 +254,10 @@ fun! vimball#Vimball(really,...)
while 1 < linenr && linenr < line("$")
let fname = substitute(getline(linenr),'\t\[\[\[1$','','')
let fname = substitute(fname,'\\','/','g')
let fsize = getline(linenr+1)
let fsize = substitute(getline(linenr+1),'^\(\d\+\).\{-}$','\1','')+0
let fenc = substitute(getline(linenr+1),'^\d\+\s*\(\S\{-}\)$','\1','')
let filecnt = filecnt + 1
" call Decho("fname<".fname."> fsize=".fsize." filecnt=".filecnt)
" call Decho("fname<".fname."> fsize=".fsize." filecnt=".filecnt. " fenc=".fenc)
if a:really
echomsg "extracted <".fname.">: ".fsize." lines"
@@ -219,10 +268,10 @@ fun! vimball#Vimball(really,...)
" call Decho("using L#".(linenr+1).": fsize=".fsize)
" Allow AsNeeded/ directory to take place of plugin/ directory
" when AsNeeded/filename is filereadable
" when AsNeeded/filename is filereadable or was present in VimballRecord
if fname =~ '\<plugin/'
let anfname= substitute(fname,'\<plugin/','AsNeeded/','')
if filereadable(anfname)
if filereadable(anfname) || (exists("s:VBRstring") && s:VBRstring =~ anfname)
" call Decho("using anfname<".anfname."> instead of <".fname.">")
let fname= anfname
endif
@@ -240,7 +289,11 @@ fun! vimball#Vimball(really,...)
" call Decho("dirname<".dirname.">")
if !isdirectory(dirname)
" call Decho("making <".dirname.">")
call mkdir(dirname)
if exists("g:vimball_mkdir")
call system(g:vimball_mkdir." ".shellescape(dirname))
else
call mkdir(dirname)
endif
call s:RecordInVar(home,"rmdir('".dirname."')")
endif
endwhile
@@ -252,48 +305,55 @@ fun! vimball#Vimball(really,...)
let linenr = linenr + 2
let lastline = linenr + fsize - 1
" call Decho("exe ".linenr.",".lastline."yank a")
exe "silent ".linenr.",".lastline."yank a"
" no point in handling a zero-length file
if lastline >= linenr
exe "silent ".linenr.",".lastline."yank a"
" copy "a" buffer into tab
" copy "a" buffer into tab
" call Decho('copy "a buffer into tab#'.vbtabnr)
exe "tabn ".vbtabnr
silent! %d
silent put a
1
silent d
exe "tabn ".vbtabnr
setlocal ma
sil! %d
silent put a
1
sil! d
" write tab to file
if a:really
let fnamepath= s:Path(home."/".fname,'')
" call Decho("exe w! ".fnamepath)
exe "silent w! ".fnamepath
echo "wrote ".fnamepath
" write tab to file
if a:really
let fnamepath= home."/".fname
" call Decho("exe w! ".fnameescape(fnamepath))
if fenc != ""
exe "silent w! ++enc=".fnameescape(fenc)." ".fnameescape(fnamepath)
else
exe "silent w! ".fnameescape(fnamepath)
endif
echo "wrote ".fnameescape(fnamepath)
call s:RecordInVar(home,"call delete('".fnamepath."')")
endif
endif
" return to tab with vimball
" return to tab with vimball
" call Decho("exe tabn ".curtabnr)
exe "tabn ".curtabnr
exe "tabn ".curtabnr
" set up help if its a doc/*.txt file
" set up help if its a doc/*.txt file
" call Decho("didhelp<".didhelp."> fname<".fname.">")
if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.txt$'
let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.txt$','\1','')
if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.\(txt\|..x\)$'
let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.\(txt\|..x\)$','\1','')
" call Decho("didhelp<".didhelp.">")
endif
endif
" update for next file
" let oldlinenr = linenr " Decho
let linenr = linenr + fsize
" call Decho("update linenr= [linenr=".oldlinenr."] + [fsize=".fsize."] = ".linenr)
" call Decho("update linenr= [linenr=".linenr."] + [fsize=".fsize."] = ".(linenr+fsize))
let linenr= linenr + fsize
endwhile
" set up help
" call Decho("about to set up help: didhelp<".didhelp.">")
if didhelp != ""
let htpath= escape(substitute(s:Path(home."/".didhelp,'"'),'"','','g'),' ')
let htpath= home."/".didhelp
" call Decho("exe helptags ".htpath)
exe "helptags ".htpath
exe "helptags ".fnameescape(htpath)
echo "did helptags"
endif
@@ -311,7 +371,7 @@ fun! vimball#Vimball(really,...)
setlocal nomod bh=wipe
exe "tabn ".curtabnr
exe "tabc ".vbtabnr
call s:RestoreSettings()
call vimball#RestoreSettings()
call s:ChgDir(curdir)
" call Dret("vimball#Vimball")
@@ -329,12 +389,10 @@ fun! vimball#RmVimball(...)
" call Dret("vimball#RmVimball : (g:vimball_norecord)")
return
endif
let eikeep= &ei
set ei=all
" call Decho("turned off all events")
if a:0 == 0
let curfile= '^'.expand("%:tr")
let curfile= expand("%:tr")
" call Decho("case a:0=0: curfile<".curfile."> (used expand(%:tr))")
else
if a:1 =~ '[\/]'
call vimball#ShowMesg(s:USAGE,"RmVimball vimballname [path]")
@@ -342,16 +400,17 @@ fun! vimball#RmVimball(...)
return
endif
let curfile= a:1
" call Decho("case a:0=".a:0.": curfile<".curfile.">")
endif
if curfile !~ '.vba$'
let curfile= curfile.".vba: "
else
let curfile= curfile.": "
if curfile =~ '\.vmb$'
let curfile= substitute(curfile,'\.vmb','','')
elseif curfile =~ '\.vba$'
let curfile= substitute(curfile,'\.vba','','')
endif
if a:0 >= 2
let home= expand(a:2)
else
let home= s:VimballHome()
let home= vimball#VimballHome()
endif
let curdir = getcwd()
" call Decho("home <".home.">")
@@ -363,52 +422,113 @@ fun! vimball#RmVimball(...)
" call Decho(".VimballRecord is readable")
" call Decho("curfile<".curfile.">")
keepalt keepjumps 1split
silent! keepalt keepjumps e .VimballRecord
sil! keepalt keepjumps e .VimballRecord
let keepsrch= @/
if search(curfile,'cw')
let exestring= substitute(getline("."),curfile,'','')
" call Decho("exe ".exestring)
silent! keepalt keepjumps exe exestring
silent! keepalt keepjumps d
" call Decho('search for ^\M'.curfile.'.\m: ')
" call Decho('search for ^\M'.curfile.'.\m{vba|vmb}: ')
" call Decho('search for ^\M'.curfile.'\m[-0-9.]*\.{vba|vmb}: ')
if search('^\M'.curfile."\m: ".'cw')
let foundit= 1
elseif search('^\M'.curfile.".\mvmb: ",'cw')
let foundit= 2
elseif search('^\M'.curfile.'\m[-0-9.]*\.vmb: ','cw')
let foundit= 2
elseif search('^\M'.curfile.".\mvba: ",'cw')
let foundit= 1
elseif search('^\M'.curfile.'\m[-0-9.]*\.vba: ','cw')
let foundit= 1
else
" call Decho("unable to find <".curfile."> in .VimballRecord")
let foundit = 0
endif
silent! keepalt keepjumps g/^\s*$/d
silent! keepalt keepjumps wq!
if foundit
if foundit == 1
let exestring = substitute(getline("."),'^\M'.curfile.'\m\S\{-}\.vba: ','','')
else
let exestring = substitute(getline("."),'^\M'.curfile.'\m\S\{-}\.vmb: ','','')
endif
let s:VBRstring= substitute(exestring,'call delete(','','g')
let s:VBRstring= substitute(s:VBRstring,"[')]",'','g')
" call Decho("exe ".exestring)
sil! keepalt keepjumps exe exestring
sil! keepalt keepjumps d
let exestring= strlen(substitute(exestring,'call delete(.\{-})|\=',"D","g"))
" call Decho("exestring<".exestring.">")
echomsg "removed ".exestring." files"
else
let s:VBRstring= ''
let curfile = substitute(curfile,'\.vmb','','')
" call Decho("unable to find <".curfile."> in .VimballRecord")
if !exists("s:ok_unablefind")
call vimball#ShowMesg(s:WARNING,"(RmVimball) unable to find <".curfile."> in .VimballRecord")
endif
endif
sil! keepalt keepjumps g/^\s*$/d
sil! keepalt keepjumps wq!
let @/= keepsrch
endif
call s:ChgDir(curdir)
" restoring events
" call Decho("restoring events")
let &ei= eikeep
" call Dret("vimball#RmVimball")
endfun
" ---------------------------------------------------------------------
" vimball#Decompress: attempts to automatically decompress vimballs {{{2
fun! vimball#Decompress(fname)
" call Dfunc("Decompress(fname<".a:fname.">)")
fun! vimball#Decompress(fname,...)
" call Dfunc("Decompress(fname<".a:fname.">) a:0=".a:0)
" decompression:
if expand("%") =~ '.*\.gz' && executable("gunzip")
exe "!gunzip ".a:fname
" handle *.gz with gunzip
silent exe "!gunzip ".shellescape(a:fname)
if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) gunzip may have failed with <".a:fname.">")
endif
let fname= substitute(a:fname,'\.gz$','','')
exe "e ".escape(fname,' \')
call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)")
if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
elseif expand("%") =~ '.*\.gz' && executable("gzip")
" handle *.gz with gzip -d
silent exe "!gzip -d ".shellescape(a:fname)
if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "gzip -d" may have failed with <'.a:fname.">")
endif
let fname= substitute(a:fname,'\.gz$','','')
exe "e ".escape(fname,' \')
if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
elseif expand("%") =~ '.*\.bz2' && executable("bunzip2")
exe "!bunzip2 ".a:fname
" handle *.bz2 with bunzip2
silent exe "!bunzip2 ".shellescape(a:fname)
if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) bunzip2 may have failed with <".a:fname.">")
endif
let fname= substitute(a:fname,'\.bz2$','','')
exe "e ".escape(fname,' \')
call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)")
if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
elseif expand("%") =~ '.*\.bz2' && executable("bzip2")
" handle *.bz2 with bzip2 -d
silent exe "!bzip2 -d ".shellescape(a:fname)
if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,'(vimball#Decompress) "bzip2 -d" may have failed with <'.a:fname.">")
endif
let fname= substitute(a:fname,'\.bz2$','','')
exe "e ".escape(fname,' \')
if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
elseif expand("%") =~ '.*\.zip' && executable("unzip")
exe "!unzip ".a:fname
" handle *.zip with unzip
silent exe "!unzip ".shellescape(a:fname)
if v:shell_error != 0
call vimball#ShowMesg(s:WARNING,"(vimball#Decompress) unzip may have failed with <".a:fname.">")
endif
let fname= substitute(a:fname,'\.zip$','','')
exe "e ".escape(fname,' \')
call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)")
if a:0 == 0| call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)") | endif
endif
set noma bt=nofile fmr=[[[,]]] fdm=marker
if a:0 == 0| setlocal noma bt=nofile fmr=[[[,]]] fdm=marker | endif
" call Dret("Decompress")
endfun
@@ -417,20 +537,21 @@ endfun
" vimball#ShowMesg: {{{2
fun! vimball#ShowMesg(level,msg)
" call Dfunc("vimball#ShowMesg(level=".a:level." msg<".a:msg.">)")
let rulerkeep = &ruler
let showcmdkeep = &showcmd
set noruler noshowcmd
redraw!
if &fo =~ '[ta]'
echomsg "***vimball*** " a:msg
echomsg "***vimball*** ".a:msg
else
if a:level == s:WARNING || a:level == s:USAGE
echohl WarningMsg
elseif a:level == s:ERROR
echohl Error
endif
echomsg "***vimball*** " a:msg
echomsg "***vimball*** ".a:msg
echohl None
endif
@@ -443,36 +564,16 @@ fun! vimball#ShowMesg(level,msg)
" call Dret("vimball#ShowMesg")
endfun
" ---------------------------------------------------------------------
let &cpo= s:keepcpo
unlet s:keepcpo
" =====================================================================
" s:ChgDir: change directory (in spite of Windoze) {{{2
fun! s:ChgDir(newdir)
" call Dfunc("ChgDir(newdir<".a:newdir.">)")
if (has("win32") || has("win95") || has("win64") || has("win16"))
exe 'silent cd '.escape(substitute(a:newdir,'/','\\','g'),' ')
exe 'silent cd '.fnameescape(substitute(a:newdir,'/','\\','g'))
else
exe 'silent cd '.escape(a:newdir,' ')
exe 'silent cd '.fnameescape(a:newdir)
endif
" call Dret("ChgDir")
endfun
" ---------------------------------------------------------------------
" s:Path: prepend and append quotes, do escaping, as necessary {{{2
fun! s:Path(cmd,quote)
" call Dfunc("Path(cmd<".a:cmd."> quote<".a:quote.">)")
if (has("win32") || has("win95") || has("win64") || has("win16"))
let cmdpath= a:quote.substitute(a:cmd,'/','\\','g').a:quote
else
let cmdpath= a:quote.a:cmd.a:quote
endif
if a:quote == ""
let cmdpath= escape(cmdpath,' ')
endif
" call Dret("Path <".cmdpath.">")
return cmdpath
" call Dret("ChgDir : curdir<".getcwd().">")
endfun
" ---------------------------------------------------------------------
@@ -485,23 +586,20 @@ fun! s:RecordInVar(home,cmd)
" else
" let s:recorddir= s:recorddir."|".substitute(a:cmd,'^rmdir',"call s:Rmdir",'')
" endif
" call Decho("recorddir=".s:recorddir)
elseif !exists("s:recordfile")
let s:recordfile= a:cmd
" call Decho("recordfile=".s:recordfile)
else
let s:recordfile= s:recordfile."|".a:cmd
" call Decho("recordfile=".s:recordfile)
endif
" call Dret("RecordInVar")
" call Dret("RecordInVar : s:recordfile<".(exists("s:recordfile")? s:recordfile : "")."> s:recorddir<".(exists("s:recorddir")? s:recorddir : "").">")
endfun
" ---------------------------------------------------------------------
" s:RecordInFile: {{{2
fun! s:RecordInFile(home)
" call Dfunc("RecordInFile()")
" call Dfunc("s:RecordInFile()")
if exists("g:vimball_norecord")
" call Dret("RecordInFile : (g:vimball_norecord)")
" call Dret("s:RecordInFile : g:vimball_norecord")
return
endif
@@ -509,8 +607,12 @@ fun! s:RecordInFile(home)
let curdir= getcwd()
call s:ChgDir(a:home)
keepalt keepjumps 1split
let cmd= expand("%:tr").": "
silent! keepalt keepjumps e .VimballRecord
" call Decho("cmd<".cmd.">")
sil! keepalt keepjumps e .VimballRecord
setlocal ma
$
if exists("s:recordfile") && exists("s:recorddir")
let cmd= cmd.s:recordfile."|".s:recorddir
@@ -519,44 +621,47 @@ fun! s:RecordInFile(home)
elseif exists("s:recordfile")
let cmd= cmd.s:recordfile
else
" call Dret("RecordInFile")
" call Dret("s:RecordInFile : neither recordfile nor recorddir exist")
return
endif
" call Decho("cmd<".cmd.">")
" put command into buffer, write .VimballRecord `file
keepalt keepjumps put=cmd
silent! keepalt keepjumps g/^\s*$/d
silent! keepalt keepjumps wq!
sil! keepalt keepjumps g/^\s*$/d
sil! keepalt keepjumps wq!
call s:ChgDir(curdir)
if exists("s:recorddir") |unlet s:recorddir |endif
if exists("s:recordfile")|unlet s:recordfile|endif
if exists("s:recorddir")
" call Decho("unlet s:recorddir<".s:recorddir.">")
unlet s:recorddir
endif
if exists("s:recordfile")
" call Decho("unlet s:recordfile<".s:recordfile.">")
unlet s:recordfile
endif
else
" call Decho("s:record[file|dir] doesn't exist")
endif
" call Dret("RecordInFile")
" call Dret("s:RecordInFile")
endfun
" ---------------------------------------------------------------------
" s:Rmdir: {{{2
"fun! s:Rmdir(dirname)
"" call Dfunc("s:Rmdir(dirname<".a:dirname.">)")
" if (has("win32") || has("win95") || has("win64") || has("win16")) && &shell !~? 'sh$'
" call system("del ".a:dirname)
" else
" call system("rmdir ".a:dirname)
" endif
"" call Dret("s:Rmdir")
"endfun
" ---------------------------------------------------------------------
" s:VimballHome: determine/get home directory path (usually from rtp) {{{2
fun! s:VimballHome()
" call Dfunc("VimballHome()")
" vimball#VimballHome: determine/get home directory path (usually from rtp) {{{2
fun! vimball#VimballHome()
" call Dfunc("vimball#VimballHome()")
if exists("g:vimball_home")
let home= g:vimball_home
else
" go to vim plugin home
for home in split(&rtp,',') + ['']
if isdirectory(home) && filewritable(home) | break | endif
let basehome= substitute(home,'[/\\]\.vim$','','')
if isdirectory(basehome) && filewritable(basehome)
let home= basehome."/.vim"
break
endif
endfor
if home == ""
" just pick the first directory
@@ -566,13 +671,25 @@ fun! s:VimballHome()
let home= substitute(home,'/','\\','g')
endif
endif
" call Dret("VimballHome <".home.">")
" insure that the home directory exists
" call Decho("picked home<".home.">")
if !isdirectory(home)
if exists("g:vimball_mkdir")
" call Decho("home<".home."> isn't a directory -- making it now with g:vimball_mkdir<".g:vimball_mkdir.">")
" call Decho("system(".g:vimball_mkdir." ".shellescape(home).")")
call system(g:vimball_mkdir." ".shellescape(home))
else
" call Decho("home<".home."> isn't a directory -- making it now with mkdir()")
call mkdir(home)
endif
endif
" call Dret("vimball#VimballHome <".home.">")
return home
endfun
" ---------------------------------------------------------------------
" s:SaveSettings: {{{2
fun! s:SaveSettings()
" vimball#SaveSettings: {{{2
fun! vimball#SaveSettings()
" call Dfunc("SaveSettings()")
let s:makeep = getpos("'a")
let s:regakeep= @a
@@ -580,30 +697,34 @@ fun! s:SaveSettings()
let s:acdkeep = &acd
endif
let s:eikeep = &ei
let s:fenkeep = &fen
let s:fenkeep = &l:fen
let s:hidkeep = &hidden
let s:ickeep = &ic
let s:lzkeep = &lz
let s:pmkeep = &pm
let s:repkeep = &report
let s:vekeep = &ve
let s:ffkeep = &l:ff
let s:swfkeep = &l:swf
if exists("&acd")
set ei=all ve=all noacd nofen noic report=999 nohid bt= ma lz pm=
setlocal ei=all ve=all noacd nofen noic report=999 nohid bt= ma lz pm= ff=unix noswf
else
set ei=all ve=all nofen noic report=999 nohid bt= ma lz pm=
setlocal ei=all ve=all nofen noic report=999 nohid bt= ma lz pm= ff=unix noswf
endif
" vimballs should be in unix format
setlocal ff=unix
" call Dret("SaveSettings")
endfun
" ---------------------------------------------------------------------
" s:RestoreSettings: {{{2
fun! s:RestoreSettings()
" vimball#RestoreSettings: {{{2
fun! vimball#RestoreSettings()
" call Dfunc("RestoreSettings()")
let @a = s:regakeep
if exists("&acd")
let &acd = s:acdkeep
endif
let &fen = s:fenkeep
let &l:fen = s:fenkeep
let &hidden = s:hidkeep
let &ic = s:ickeep
let &lz = s:lzkeep
@@ -611,17 +732,16 @@ fun! s:RestoreSettings()
let &report = s:repkeep
let &ve = s:vekeep
let &ei = s:eikeep
let &l:ff = s:ffkeep
if s:makeep[0] != 0
" restore mark a
" call Decho("restore mark-a: makeep=".string(makeep))
call setpos("'a",s:makeep)
endif
if exists("&acd")
unlet s:regakeep s:acdkeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep s:lzkeep s:pmkeep
else
unlet s:regakeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep s:lzkeep s:pmkeep
unlet s:acdkeep
endif
set bt=nofile noma
unlet s:regakeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep s:lzkeep s:pmkeep s:ffkeep
" call Dret("RestoreSettings")
endfun
-1
View File
@@ -381,4 +381,3 @@ let g:xmldata_html32 = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix
-1
View File
@@ -466,4 +466,3 @@ let g:xmldata_html401t = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix
-1
View File
@@ -408,4 +408,3 @@ let g:xmldata_html401s = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix
-1
View File
@@ -458,4 +458,3 @@ let g:xmldata_html401t = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix
-1
View File
@@ -466,4 +466,3 @@ let g:xmldata_html40t = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix
-1
View File
@@ -408,4 +408,3 @@ let g:xmldata_html40s = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix
-1
View File
@@ -458,4 +458,3 @@ let g:xmldata_html40t = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix
-1
View File
@@ -467,4 +467,3 @@ let g:xmldata_xhtml10f = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix
-1
View File
@@ -408,4 +408,3 @@ let g:xmldata_xhtml10s = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix
-1
View File
@@ -458,4 +458,3 @@ let g:xmldata_xhtml10t = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix
-1
View File
@@ -432,4 +432,3 @@ let g:xmldata_xhtml11 = {
\ 'param': ['/>', ''],
\ }
\ }
" vim:ft=vim:ff=unix
+6 -4
View File
@@ -1,10 +1,12 @@
" Vim completion script
" Language: XML
" Maintainer: Mikolaj Machowski ( mikmach AT wp DOT pl )
" Last Change: 2006 Jul 18
" Version: 1.8
" Last Change: 2006 Aug 15
" Version: 1.9
"
" Changelog:
" 1.9 - 2007 Aug 15
" - fix closing of namespaced tags (Johannes Weiss)
" 1.8 - 2006 Jul 18
" - allow for closing of xml tags even when data file isn't available
@@ -413,12 +415,12 @@ function! xmlcomplete#GetLastOpenTag(unaryTagsStack)
if exists("b:xml_namespace")
if b:xml_namespace == 'DEFAULT'
let tagpat='</\=\(\k\|[.-]\)\+\|/>'
let tagpat='</\=\(\k\|[.:-]\)\+\|/>'
else
let tagpat='</\='.b:xml_namespace.':\(\k\|[.-]\)\+\|/>'
endif
else
let tagpat='</\=\(\k\|[.-]\)\+\|/>'
let tagpat='</\=\(\k\|[.:-]\)\+\|/>'
endif
while (linenum>0)
let line=getline(linenum)
+68 -59
View File
@@ -1,28 +1,34 @@
" zip.vim: Handles browsing zipfiles
" AUTOLOAD PORTION
" Date: May 08, 2007
" Version: 14
" Date: May 24, 2011
" Version: 24
" Maintainer: Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
" License: Vim License (see vim's :help license)
" Copyright: Copyright (C) 2005 Charles E. Campbell, Jr. {{{1
" Copyright: Copyright (C) 2005-2011 Charles E. Campbell, Jr. {{{1
" Permission is hereby granted to use and distribute this code,
" with or without modifications, provided that this copyright
" notice is copied with it. Like anything else that's free,
" zipPlugin.vim is provided *as is* and comes with no warranty
" of any kind, either expressed or implied. By using this
" plugin, you agree that in no event will the copyright
" zip.vim and zipPlugin.vim are provided *as is* and comes with
" no warranty of any kind, either expressed or implied. By using
" this plugin, you agree that in no event will the copyright
" holder be liable for any damages resulting from the use
" of this software.
" ---------------------------------------------------------------------
" Load Once: {{{1
let s:keepcpo= &cpo
set cpo&vim
if &cp || exists("g:loaded_zip") || v:version < 700
if &cp || exists("g:loaded_zip")
finish
endif
let g:loaded_zip= "v24"
if v:version < 702
echohl WarningMsg
echo "***warning*** this version of zip needs vim 7.2"
echohl Normal
finish
endif
let s:keepcpo= &cpo
set cpo&vim
let g:loaded_zip = "v14"
let s:zipfile_escape = ' ?&;\'
let s:ERROR = 2
let s:WARNING = 1
@@ -31,7 +37,9 @@ let s:NOTE = 0
" ---------------------------------------------------------------------
" Global Values: {{{1
if !exists("g:zip_shq")
if has("unix")
if &shq != ""
let g:zip_shq= &shq
elseif has("unix")
let g:zip_shq= "'"
else
let g:zip_shq= '"'
@@ -56,6 +64,12 @@ fun! zip#Browse(zipfile)
set report=10
" sanity checks
if !exists("*fnameescape")
if &verbose > 1
echoerr "the zip plugin is not available (your vim doens't support fnameescape())"
endif
return
endif
if !executable(g:zip_unzipcmd)
redraw!
echohl Error | echo "***error*** (zip#Browse) unzip not available on your system"
@@ -89,37 +103,26 @@ fun! zip#Browse(zipfile)
set ft=tar
" give header
exe "$put ='".'\"'." zip.vim version ".g:loaded_zip."'"
exe "$put ='".'\"'." Browsing zipfile ".a:zipfile."'"
exe "$put ='".'\"'." Select a file with cursor and press ENTER"."'"
$put =''
0d
$
call append(0, ['" zip.vim version '.g:loaded_zip,
\ '" Browsing zipfile '.a:zipfile,
\ '" Select a file with cursor and press ENTER'])
keepj $
" call Decho("exe silent r! ".g:zip_unzipcmd." -l ".s:QuoteFileDir(a:zipfile))
exe "silent r! ".g:zip_unzipcmd." -l ".s:QuoteFileDir(a:zipfile)
" call Decho("exe silent r! ".g:zip_unzipcmd." -l -- ".s:Escape(a:zipfile,1))
exe "silent r! ".g:zip_unzipcmd." -Z -1 -- ".s:Escape(a:zipfile,1)
if v:shell_error != 0
redraw!
echohl WarningMsg | echo "***warning*** (zip#Browse) ".a:zipfile." is not a zip file" | echohl None
echohl WarningMsg | echo "***warning*** (zip#Browse) ".fnameescape(a:zipfile)." is not a zip file" | echohl None
" call inputsave()|call input("Press <cr> to continue")|call inputrestore()
silent %d
keepj sil! %d
let eikeep= &ei
set ei=BufReadCmd,FileReadCmd
exe "r ".a:zipfile
exe "keepj r ".fnameescape(a:zipfile)
let &ei= eikeep
1d
keepj 1d
" call Dret("zip#Browse")
return
endif
" call Decho("line 6: ".getline(6))
let namecol= stridx(getline(6),'Name') + 1
" call Decho("namecol=".namecol)
4,$g/^\s*----/d
4,$g/^\s*\a/d
$d
if namecol > 0
exe 'silent 4,$s/^.*\%'.namecol.'c//'
endif
setlocal noma nomod ro
noremap <silent> <buffer> <cr> :call <SID>ZipBrowseSelect()<cr>
@@ -160,10 +163,12 @@ fun! s:ZipBrowseSelect()
" call Decho("curfile<".curfile.">")
new
wincmd _
if !exists("g:zip_nomax") || g:zip_nomax == 0
wincmd _
endif
let s:zipfile_{winnr()}= curfile
" call Decho("exe e zipfile:".escape(zipfile,s:zipfile_escape).'::'.escape(fname,s:zipfile_escape))
exe "e zipfile:".escape(zipfile,s:zipfile_escape).'::'.escape(fname,s:zipfile_escape)
" call Decho("exe e ".fnameescape("zipfile:".zipfile.'::'.fname))
exe "e ".fnameescape("zipfile:".zipfile.'::'.fname)
filetype detect
let &report= repkeep
@@ -188,11 +193,12 @@ fun! zip#Read(fname,mode)
" call Decho("zipfile<".zipfile.">")
" call Decho("fname <".fname.">")
" call Decho("exe r! ".g:zip_unzipcmd." -p ".s:QuoteFileDir(zipfile)." ".s:QuoteFileDir(fname))
exe "silent r! ".g:zip_unzipcmd." -p ".s:QuoteFileDir(zipfile)." ".s:QuoteFileDir(fname)
" call Decho("exe r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1))
exe "keepj sil! r! ".g:zip_unzipcmd." -p -- ".s:Escape(zipfile,1)." ".s:Escape(fnameescape(fname),1)
filetype detect
" cleanup
0d
keepj 0d
set nomod
let &report= repkeep
@@ -262,7 +268,7 @@ fun! zip#Write(fname)
if fname =~ '/'
let dirpath = substitute(fname,'/[^/]\+$','','e')
if executable("cygpath")
let dirpath = substitute(system("cygpath ".dirpath),'\n','','e')
let dirpath = substitute(system("cygpath ".s:Escape(dirpath,0)),'\n','','e')
endif
" call Decho("mkdir(dirpath<".dirpath.">,p)")
call mkdir(dirpath,"p")
@@ -272,17 +278,17 @@ fun! zip#Write(fname)
endif
" call Decho("zipfile<".zipfile."> fname<".fname.">")
exe "w! ".escape(fname,s:zipfile_escape)
exe "w! ".fnameescape(fname)
if executable("cygpath")
let zipfile = substitute(system("cygpath ".zipfile),'\n','','e')
let zipfile = substitute(system("cygpath ".s:Escape(zipfile,0)),'\n','','e')
endif
if (has("win32") || has("win95") || has("win64") || has("win16")) && &shell !~? 'sh$'
let fname = substitute(fname, '[', '[[]', 'g')
endif
" call Decho(g:zip_zipcmd." -u ".s:QuoteFileDir(zipfile)." ".s:QuoteFileDir(fname))
call system(g:zip_zipcmd." -u ".s:QuoteFileDir(zipfile)." ".s:QuoteFileDir(fname))
" call Decho(g:zip_zipcmd." -u ".s:Escape(fnamemodify(zipfile,":p"),0)." ".s:Escape(fname,0))
call system(g:zip_zipcmd." -u ".s:Escape(fnamemodify(zipfile,":p"),0)." ".s:Escape(fname,0))
if v:shell_error != 0
redraw!
echohl Error | echo "***error*** (zip#Write) sorry, unable to update ".zipfile." with ".fname | echohl None
@@ -296,7 +302,7 @@ fun! zip#Write(fname)
let binkeep= &binary
let eikeep = &ei
set binary ei=all
exe "e! ".zipfile
exe "e! ".fnameescape(zipfile)
call netrw#NetWrite(netzipfile)
let &ei = eikeep
let &binary = binkeep
@@ -316,11 +322,20 @@ fun! zip#Write(fname)
endfun
" ---------------------------------------------------------------------
" QuoteFileDir: {{{2
fun! s:QuoteFileDir(fname)
" call Dfunc("QuoteFileDir(fname<".a:fname.">)")
" call Dret("QuoteFileDir")
return g:zip_shq.a:fname.g:zip_shq
" s:Escape: {{{2
fun! s:Escape(fname,isfilt)
" call Dfunc("QuoteFileDir(fname<".a:fname."> isfilt=".a:isfilt.")")
if exists("*shellescape")
if a:isfilt
let qnameq= shellescape(a:fname,1)
else
let qnameq= shellescape(a:fname)
endif
else
let qnameq= g:zip_shq.escape(a:fname,g:zip_shq).g:zip_shq
endif
" call Dret("QuoteFileDir <".qnameq.">")
return qnameq
endfun
" ---------------------------------------------------------------------
@@ -328,14 +343,8 @@ endfun
fun! s:ChgDir(newdir,errlvl,errmsg)
" call Dfunc("ChgDir(newdir<".a:newdir."> errlvl=".a:errlvl." errmsg<".a:errmsg.">)")
if (has("win32") || has("win95") || has("win64") || has("win16")) && &shell !~? 'sh$'
let newdir= escape(a:newdir,' ')
else
let newdir= escape(a:newdir,'\ ')
endif
try
exe "cd ".newdir
exe "cd ".fnameescape(a:newdir)
catch /^Vim\%((\a\+)\)\=:E344/
redraw!
if a:errlvl == s:NOTE
@@ -355,13 +364,13 @@ fun! s:ChgDir(newdir,errlvl,errmsg)
endfun
" ---------------------------------------------------------------------
" Rmdir: {{{2
" s:Rmdir: {{{2
fun! s:Rmdir(fname)
" call Dfunc("Rmdir(fname<".a:fname.">)")
if (has("win32") || has("win95") || has("win64") || has("win16")) && &shell !~? 'sh$'
call system("rmdir /S/Q ".s:QuoteFileDir(a:fname))
call system("rmdir /S/Q ".s:Escape(a:fname,0))
else
call system("/bin/rm -rf ".s:QuoteFileDir(a:fname))
call system("/bin/rm -rf ".s:Escape(a:fname,0))
endif
" call Dret("Rmdir")
endfun
+3
View File
@@ -50,6 +50,9 @@ If you think you have a color scheme that is good enough to be used by others,
please check the following items:
- Does it work in a color terminal as well as in the GUI?
- Is "g:colors_name" set to a meaningful value? In case of doubt you can do
it this way:
let g:colors_name = expand('<sfile>:t:r')
- Is 'background' either used or appropriately set to "light" or "dark"?
- Try setting 'hlsearch' and searching for a pattern, is the match easy to
spot?
+7 -1
View File
@@ -1,6 +1,6 @@
" Vim color file
" Maintainer: Bohdan Vlasyuk <bohdan@vstu.edu.ua>
" Last Change: 2006 Apr 30
" Last Change: 2008 Jul 18
" darkblue -- for those who prefer dark background
" [note: looks bit uglier with come terminal palettes,
@@ -58,3 +58,9 @@ hi PreProc ctermfg=magenta guifg=#ff80ff gui=none cterm=none
hi type ctermfg=green guifg=#60ff60 gui=none cterm=none
hi Underlined cterm=underline term=underline
hi Ignore guifg=bg ctermfg=bg
" suggested by tigmoid, 2008 Jul 18
hi Pmenu guifg=#c0c0c0 guibg=#404080
hi PmenuSel guifg=#c0c0c0 guibg=#2050d0
hi PmenuSbar guifg=blue guibg=darkgray
hi PmenuThumb guifg=#c0c0c0
+3 -3
View File
@@ -1,9 +1,9 @@
" Vim color file
" Maintainer: Hans Fugal <hans@fugal.net>
" Last Change: $Date$
" Last Change: $Date$
" Last Change: $Date: 2004/06/13 19:30:30 $
" Last Change: $Date: 2004/06/13 19:30:30 $
" URL: http://hans.fugal.net/vim/colors/desert.vim
" Version: $Id$
" Version: $Id: desert.vim,v 1.1 2004/06/13 19:30:30 vimboss Exp $
" cool help screens
" :he group-name
+12 -4
View File
@@ -1,7 +1,7 @@
" MacVim colorscheme
"
" Maintainer: Bjorn Winckler <bjorn.winckler@gmail.com>
" Last Change: 2007 Nov 17
" Last Change: 2008 May 9
"
" This is the default MacVim color scheme. It supports both light and dark
" backgrounds (see :h 'background').
@@ -50,7 +50,11 @@ hi TabLineFill gui=reverse
hi TabLineSel gui=bold
hi Title gui=bold guifg=DeepSkyBlue3
hi VertSplit gui=NONE guifg=DarkSlateGray guibg=Gray90
hi Visual guibg=MacSelectedTextBackgroundColor
if has("gui_macvim")
hi Visual guibg=MacSelectedTextBackgroundColor
else
hi Visual guibg=#72F7FF
endif
hi WarningMsg guifg=Firebrick2
" Syntax items (`:he group-name` -- more groups are available, these are just
@@ -101,7 +105,11 @@ else
hi DiffText gui=NONE guibg=Gold
hi LineNr guifg=#888888 guibg=#E6E6E6
hi MatchParen guifg=White guibg=MediumPurple1
hi Normal gui=NONE guifg=MacTextColor guibg=MacTextBackgroundColor
if has("gui_macvim")
hi Normal gui=NONE guifg=MacTextColor guibg=MacTextBackgroundColor
else
hi Normal gui=NONE guifg=Black guibg=White
endif
hi Search guibg=CadetBlue1 guifg=NONE
hi Statement gui=bold guifg=Maroon guibg=NONE
hi Todo gui=NONE guifg=DarkGreen guibg=PaleGreen1
@@ -115,7 +123,7 @@ endif
" Change the selection color on focus change (but only if the "macvim"
" colorscheme is active).
"
if !exists("s:augroups_defined")
if has("gui_macvim") && !exists("s:augroups_defined")
au FocusLost * if exists("colors_name") && colors_name == "macvim" | hi Visual guibg=MacSecondarySelectedControlColor | endif
au FocusGained * if exists("colors_name") && colors_name == "macvim" | hi Visual guibg=MacSelectedTextBackgroundColor | endif
+1
View File
@@ -9,6 +9,7 @@ if version > 580
syntax reset
endif
endif
let colors_name = "slate"
:hi Normal guifg=White guibg=grey15
:hi Cursor guibg=khaki guifg=slategrey
:hi VertSplit guibg=#c2bfa5 guifg=grey40 gui=none cterm=reverse
+7 -5
View File
@@ -1,7 +1,8 @@
" Vim compiler file
" Compiler: ms C#
" Maintainer: Joseph H. Yao (hyao@sina.com)
" Last Change: 2004 Mar 27
" Compiler: Microsoft Visual Studio C#
" Maintainer: Zhou YiChao (broken.zhou@gmail.com)
" Previous Maintainer: Joseph H. Yao (hyao@sina.com)
" Last Change: 2011 Apr 21
if exists("current_compiler")
finish
@@ -12,8 +13,9 @@ if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
" default errorformat
CompilerSet errorformat&
CompilerSet errorformat+=%f(%l\\,%v):\ %t%*[^:]:\ %m,
\%trror%*[^:]:\ %m,
\%tarning%*[^:]:\ %m
" default make
CompilerSet makeprg=csc\ %
+29
View File
@@ -0,0 +1,29 @@
" Vim compiler file
" Compiler: Cucumber
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2010 Aug 09
if exists("current_compiler")
finish
endif
let current_compiler = "cucumber"
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
let s:cpo_save = &cpo
set cpo-=C
CompilerSet makeprg=cucumber
CompilerSet errorformat=
\%W%m\ (Cucumber::Undefined),
\%E%m\ (%.%#),
\%Z%f:%l,
\%Z%f:%l:%.%#
let &cpo = s:cpo_save
unlet s:cpo_save
" vim:set sw=2 sts=2:
+15 -14
View File
@@ -1,16 +1,17 @@
"------------------------------------------------------------------------------
" Description: Vim Ada/Dec Ada compiler file
" Language: Ada (Dec Ada)
" $Id$
" $Id: decada.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik
" $Author$
" $Date$
" Version: 4.2
" $Revision$
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/compiler/decada.vim $
" Maintainer: Martin Krischik <krischik@users.sourceforge.net>
" $Author: krischik $
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6
" $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/compiler/decada.vim $
" History: 21.07.2006 MK New Dec Ada
" 15.10.2006 MK Bram's suggestion for runtime integration
" 08.09.2006 MK Correct double load protection.
" Help Page: compiler-decada
"------------------------------------------------------------------------------
@@ -24,6 +25,13 @@ let current_compiler = "decada"
if !exists("g:decada")
let g:decada = decada#New ()
call ada#Map_Menu (
\'Dec Ada.Build',
\'<F7>',
\'call decada.Make ()')
call g:decada.Set_Session ()
endif
if exists(":CompilerSet") != 2
@@ -33,16 +41,9 @@ if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args>
endif
call g:decada.Set_Session ()
execute "CompilerSet makeprg=" . escape (g:decada.Make_Command, ' ')
execute "CompilerSet errorformat=" . escape (g:decada.Error_Format, ' ')
call ada#Map_Menu (
\'Dec Ada.Build',
\'<F7>',
\'call decada.Make ()')
finish " 1}}}
"------------------------------------------------------------------------------
+2 -2
View File
@@ -1,7 +1,7 @@
" Vim compiler file
" Language: eRuby
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Info: $Id$
" Last Change: 2008 Aug 1
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
@@ -38,4 +38,4 @@ CompilerSet errorformat=
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: nowrap sw=2 sts=2 ts=8 ff=unix:
" vim: nowrap sw=2 sts=2 ts=8:
+2 -2
View File
@@ -1,8 +1,8 @@
" Vim compiler file
" Compiler: g77 (GNU Fortran)
" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
" Last Change: $Date$
" $Revision$
" Last Change: $Date: 2004/06/13 18:17:36 $
" $Revision: 1.1 $
if exists("current_compiler")
finish
+23
View File
@@ -0,0 +1,23 @@
" Compiler: G95
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.3
" Last Change: 2011 Apr 01
" Homepage: http://www.vim.org/scripts/script.php?script_id=3492
" https://bitbucket.org/xuhdev/compiler-g95.vim
" License: Same as Vim
if exists('current_compiler')
finish
endif
let current_compiler = 'g95'
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat=
\%AIn\ file\ %f:%l,
\%-C%p1,
\%-Z%trror:\ %m,
\%-Z%tarning\ (%n):\ %m,
\%-C%.%#
+10 -3
View File
@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: GNU C Compiler
" Maintainer: Nikolai Weibull <now@bitwi.se>
" Latest Revision: 2006-12-20
" Latest Revision: 2010-10-14
if exists("current_compiler")
finish
@@ -11,11 +11,18 @@ let current_compiler = "gcc"
let s:cpo_save = &cpo
set cpo-=C
setlocal errorformat=
CompilerSet errorformat=
\%*[^\"]\"%f\"%*\\D%l:%c:\ %m,
\%*[^\"]\"%f\"%*\\D%l:\ %m,
\\"%f\"%*\\D%l:%c:\ %m,
\\"%f\"%*\\D%l:\ %m,
\%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
\%-G%f:%l:\ %trror:\ for\ each\ function\ it\ appears\ in.),
\%f:%l:%c:\ %trror:\ %m,
\%f:%l:%c:\ %tarning:\ %m,
\%f:%l:%c:\ %m,
\%f:%l:\ %trror:\ %m,
\%f:%l:\ %tarning:\ %m,
\%f:%l:\ %m,
\\"%f\"\\,\ line\ %l%*\\D%c%*[^\ ]\ %m,
\%D%*\\a[%*\\d]:\ Entering\ directory\ `%f',
@@ -25,7 +32,7 @@ setlocal errorformat=
\%DMaking\ %*\\a\ in\ %f
if exists('g:compiler_gcc_ignore_unmatched_lines')
let &errorformat .= ',%-G%.%#'
CompilerSet errorformat+=%-G%.%#
endif
let &cpo = s:cpo_save
+22
View File
@@ -0,0 +1,22 @@
" Compiler: GNU Fortran Compiler
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.3
" Last Change: 19 March 2011
" Homepage: http://www.vim.org/scripts/script.php?script_id=3496
" https://bitbucket.org/xuhdev/compiler-gfortran.vim
" License: Same as Vim
if exists('current_compiler')
finish
endif
let current_compiler = 'gfortran'
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat=
\%A%f:%l.%c:,
\%-Z%trror:\ %m,
\%-Z%tarning:\ %m,
\%-C%.%#
+11 -9
View File
@@ -1,17 +1,19 @@
"------------------------------------------------------------------------------
" Description: Vim Ada/GNAT compiler file
" Language: Ada (GNAT)
" $Id$
" $Id: gnat.vim 887 2008-07-08 14:29:01Z krischik $
" Copyright: Copyright (C) 2006 Martin Krischik
" Maintainer: Martin Krischik
" $Author$
" $Date$
" Version: 4.2
" $Revision$
" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/compiler/gnat.vim $
" Maintainer: Martin Krischi <krischik@users.sourceforge.net>k
" Ned Okie <nokie@radford.edu>
" $Author: krischik $
" $Date: 2008-07-08 16:29:01 +0200 (Di, 08 Jul 2008) $
" Version: 4.6
" $Revision: 887 $
" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/compiler/gnat.vim $
" History: 24.05.2006 MK Unified Headers
" 16.07.2006 MK Ada-Mode as vim-ball
" 15.10.2006 MK Bram's suggestion for runtime integration
" 19.09.2007 NO use project file only when there is a project
" Help Page: compiler-gnat
"------------------------------------------------------------------------------
@@ -46,6 +48,8 @@ if !exists("g:gnat")
\ 'GNAT.Set Projectfile\.\.\.',
\ ':SetProject',
\ 'call gnat.Set_Project_File ()')
call g:gnat.Set_Session ()
endif
if exists(":CompilerSet") != 2
@@ -55,8 +59,6 @@ if exists(":CompilerSet") != 2
command -nargs=* CompilerSet setlocal <args>
endif
call g:gnat.Set_Session ()
execute "CompilerSet makeprg=" . escape (g:gnat.Get_Command('Make'), ' ')
execute "CompilerSet errorformat=" . escape (g:gnat.Error_Format, ' ')
+22
View File
@@ -0,0 +1,22 @@
" Compiler: Intel Fortran Compiler
" Maintainer: H Xu <xuhdev@gmail.com>
" Version: 0.1.1
" Last Change: 19 March 2011
" Homepage: http://www.vim.org/scripts/script.php?script_id=3497
" https://bitbucket.org/xuhdev/compiler-ifort.vim
" License: Same as Vim
if exists('current_compiler')
finish
endif
let current_compiler = 'ifort'
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
CompilerSet errorformat=
\%A%f(%l):\ %trror\ \#%n:\ %m,
\%A%f(%l):\ %tarning\ \#%n:\ %m,
\%-Z%p^,
\%-G%.%#
+2 -2
View File
@@ -1,8 +1,8 @@
" Vim Compiler File
" Compiler: Jikes
" Maintainer: Dan Sharp <dwsharp at hotmail dot com>
" Last Change: 2004 Mar 27
" URL: http://mywebpage.netscape.com/sharppeople/vim/compiler
" Last Change: 20 Jan 2009
" URL: http://dwsharp.users.sourceforge.net/vim/compiler
if exists("current_compiler")
finish
+13 -5
View File
@@ -1,7 +1,7 @@
" Vim Compiler File
" Compiler: Perl syntax checks (perl -Wc)
" Maintainer: Christian J. Robinson <infynity@onewest.net>
" Last Change: 2004 Mar 27
" Maintainer: Christian J. Robinson <heptite@gmail.com>
" Last Change: 2006 Aug 13
if exists("current_compiler")
finish
@@ -15,12 +15,20 @@ endif
let s:savecpo = &cpo
set cpo&vim
if getline(1) =~# '-[^ ]*T'
CompilerSet makeprg=perl\ -WTc\ %
if exists('g:perl_compiler_force_warnings') && g:perl_compiler_force_warnings == 0
let s:warnopt = 'w'
else
CompilerSet makeprg=perl\ -Wc\ %
let s:warnopt = 'W'
endif
if getline(1) =~# '-[^ ]*T'
let s:taintopt = 'T'
else
let s:taintopt = ''
endif
exe 'CompilerSet makeprg=perl\ -' . s:warnopt . s:taintopt . 'c\ %'
CompilerSet errorformat=
\%-G%.%#had\ compilation\ errors.,
\%-G%.%#syntax\ OK,
+41
View File
@@ -0,0 +1,41 @@
" Vim compiler file
" Language: RSpec
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
" Last Change: 2009 Dec 22
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
if exists("current_compiler")
finish
endif
let current_compiler = "rspec"
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
command -nargs=* CompilerSet setlocal <args>
endif
let s:cpo_save = &cpo
set cpo-=C
CompilerSet makeprg=spec
CompilerSet errorformat=
\%+W'%.%#'\ FAILED,
\%+I'%.%#'\ FIXED,
\%-Cexpected:%.%#,
\%-C\ \ \ \ \ got:%.%#,
\%E%.%#:in\ `load':\ %f:%l:%m,
\%C%f:%l:,
\%W%f:%l:\ warning:\ %m,
\%E%f:%l:in\ %*[^:]:\ %m,
\%E%f:%l:\ %m,
\%-Z%\tfrom\ %f:%l,
\%-Z%p^%.%#,
\%-C%.%#,
\%-G%.%#
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: nowrap sw=2 sts=2 ts=8:
+2 -2
View File
@@ -2,7 +2,7 @@
" Language: Ruby
" Function: Syntax check and/or error reporting
" Maintainer: Tim Hammerquist <timh at rubyforge.org>
" Info: $Id$
" Last Change: 2008 Aug 1
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
@@ -65,4 +65,4 @@ CompilerSet errorformat=
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: nowrap sw=2 sts=2 ts=8 ff=unix:
" vim: nowrap sw=2 sts=2 ts=8:
+2 -2
View File
@@ -1,7 +1,7 @@
" Vim compiler file
" Language: Test::Unit - Ruby Unit Testing Framework
" Maintainer: Doug Kearns <dougkearns@gmail.com>
" Info: $Id$
" Last Change: 2008 Aug 1
" URL: http://vim-ruby.rubyforge.org
" Anon CVS: See above site
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
@@ -32,4 +32,4 @@ CompilerSet errorformat=\%W\ %\\+%\\d%\\+)\ Failure:,
let &cpo = s:cpo_save
unlet s:cpo_save
" vim: nowrap sw=2 sts=2 ts=8 ff=unix:
" vim: nowrap sw=2 sts=2 ts=8:
+1 -1
View File
@@ -3,7 +3,7 @@
" Maintainer: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
" Splint Home: http://www.splint.org/
" Last Change: 2005 Apr 21
" $Revision$
" $Revision: 1.3 $
if exists("current_compiler")
finish
+44 -15
View File
@@ -14,13 +14,12 @@ VIMEXE = vim
include ../../src/auto/config.mk
DOCS = \
ada.txt \
arabic.txt \
autocmd.txt \
change.txt \
cmdline.txt \
debugger.txt \
debug.txt \
debugger.txt \
develop.txt \
diff.txt \
digraph.txt \
@@ -29,6 +28,8 @@ DOCS = \
farsi.txt \
filetype.txt \
fold.txt \
ft_ada.txt \
ft_sql.txt \
gui.txt \
gui_w16.txt \
gui_w32.txt \
@@ -36,8 +37,10 @@ DOCS = \
hangulin.txt \
hebrew.txt \
help.txt \
helphelp.txt \
howto.txt \
if_cscop.txt \
if_lua.txt \
if_mzsch.txt \
if_ole.txt \
if_perl.txt \
@@ -50,10 +53,10 @@ DOCS = \
insert.txt \
intro.txt \
map.txt \
message.txt \
motion.txt \
mbyte.txt \
message.txt \
mlang.txt \
motion.txt \
netbeans.txt \
options.txt \
os_390.txt \
@@ -89,10 +92,9 @@ DOCS = \
russian.txt \
scroll.txt \
sign.txt \
spell.txt \
sponsor.txt \
starting.txt \
spell.txt \
sql.txt \
syntax.txt \
tabpage.txt \
tagsrch.txt \
@@ -145,7 +147,6 @@ DOCS = \
workshop.txt
HTMLS = \
ada.html \
arabic.html \
autocmd.html \
change.html \
@@ -160,14 +161,18 @@ HTMLS = \
farsi.html \
filetype.html \
fold.html \
ft_ada.html \
ft_sql.html \
gui.html \
gui_w16.html \
gui_w32.html \
gui_x11.html \
hangulin.html \
hebrew.html \
helphelp.html \
howto.html \
if_cscop.html \
if_lua.html \
if_mzsch.html \
if_ole.html \
if_perl.html \
@@ -177,14 +182,13 @@ HTMLS = \
if_tcl.html \
indent.html \
index.html \
vimindex.html \
insert.html \
intro.html \
map.html \
message.html \
motion.html \
mbyte.html \
message.html \
mlang.html \
motion.html \
netbeans.html \
options.html \
os_390.html \
@@ -220,10 +224,9 @@ HTMLS = \
russian.html \
scroll.html \
sign.html \
spell.html \
sponsor.html \
starting.html \
spell.html \
sql.html \
syntax.html \
tabpage.html \
tags.html \
@@ -272,6 +275,7 @@ HTMLS = \
version6.html \
version7.html \
vi_diff.html \
vimindex.html \
visual.html \
windows.html \
workshop.html
@@ -287,16 +291,21 @@ CONVERTED = \
vimdiff-it.UTF-8.1 \
vimtutor-it.UTF-8.1 \
xxd-it.UTF-8.1 \
vim-pl.UTF-8.1 \
evim-pl.UTF-8.1 \
vimdiff-pl.UTF-8.1 \
vimtutor-pl.UTF-8.1 \
xxd-pl.UTF-8.1 \
vim-ru.UTF-8.1 \
evim-ru.UTF-8.1 \
vimdiff-ru.UTF-8.1 \
vimtutor-ru.UTF-8.1 \
xxd-ru.UTF-8.1 \
xxd-ru.UTF-8.1
.SUFFIXES:
.SUFFIXES: .c .o .txt .html
all: tags vim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
all: tags vim.man evim.man vimdiff.man vimtutor.man xxd.man $(CONVERTED)
# Use Vim to generate the tags file. Can only be used when Vim has been
# compiled and installed. Supports multiple languages.
@@ -314,6 +323,9 @@ doctags: doctags.c
vim.man: vim.1
nroff -man vim.1 | sed -e s/.//g > vim.man
evim.man: evim.1
nroff -man evim.1 | sed -e s/.//g > evim.man
vimdiff.man: vimdiff.1
nroff -man vimdiff.1 | sed -e s/.//g > vimdiff.man
@@ -328,12 +340,14 @@ uganda.nsis.txt: uganda.txt
uganda.txt | uniq >uganda.nsis.txt
# Awk version of .txt to .html conversion.
html: noerrors tags tags.ref $(HTMLS)
html: noerrors tags $(HTMLS)
@if test -f errors.log; then more errors.log; fi
noerrors:
-rm -f errors.log
$(HTMLS): tags.ref
.txt.html:
$(AWK) -f makehtml.awk $< >$@
@@ -445,6 +459,21 @@ vimtutor-it.UTF-8.1: vimtutor-it.1
xxd-it.UTF-8.1: xxd-it.1
iconv -f latin1 -t utf-8 $< >$@
vim-pl.UTF-8.1: vim-pl.1
iconv -f latin2 -t utf-8 $< >$@
evim-pl.UTF-8.1: evim-pl.1
iconv -f latin2 -t utf-8 $< >$@
vimdiff-pl.UTF-8.1: vimdiff-pl.1
iconv -f latin2 -t utf-8 $< >$@
vimtutor-pl.UTF-8.1: vimtutor-pl.1
iconv -f latin2 -t utf-8 $< >$@
xxd-pl.UTF-8.1: xxd-pl.1
iconv -f latin2 -t utf-8 $< >$@
vim-ru.UTF-8.1: vim-ru.1
iconv -f KOI8-R -t utf-8 $< >$@
+3 -3
View File
@@ -1,4 +1,4 @@
*arabic.txt* For Vim version 7.1. Last change: 2005 Mar 29
*arabic.txt* For Vim version 7.3. Last change: 2010 Nov 13
VIM REFERENCE MANUAL by Nadim Shaikli
@@ -146,7 +146,7 @@ o Enable Arabic settings [short-cut]
:set arabic
<
The two above noted possible invocations are the preferred manner
in which users are instructed to proceed. Baring an enabled 'termbidi'
in which users are instructed to proceed. Barring an enabled 'termbidi'
setting, both command options:
1. set the appropriate keymap
@@ -275,7 +275,7 @@ o Keyboard
+ CTRL-^ in insert/replace mode toggles between Arabic/Latin mode
+ Keyboard mapping is based on the Microsoft's Arabic keymap (the
defacto standard in the Arab world):
de facto standard in the Arab world):
+---------------------------------------------------------------------+
|! |@ |# |$ |% |^ |& |* |( |) |_ |+ || |~ ّ |
+67 -28
View File
@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.1. Last change: 2007 Mar 27
*autocmd.txt* For Vim version 7.3. Last change: 2011 May 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -59,10 +59,10 @@ Note: The ":autocmd" command cannot be followed by another command, since any
:au[tocmd] [group] {event} {pat} [nested] {cmd}
Add {cmd} to the list of commands that Vim will
execute automatically on {event} for a file matching
{pat}. Vim always adds the {cmd} after existing
autocommands, so that the autocommands execute in the
order in which they were given. See |autocmd-nested|
for [nested].
{pat} |autocmd-patterns|.
Vim always adds the {cmd} after existing autocommands,
so that the autocommands execute in the order in which
they were given. See |autocmd-nested| for [nested].
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
See |autocmd-buflocal|.
@@ -104,7 +104,7 @@ local to the script and use mappings local to the script. When the event is
triggered and the command executed, it will run in the context of the script
it was defined in. This matters if |<SID>| is used in a command.
When executing the commands, the messages from one command overwrites a
When executing the commands, the message from one command overwrites a
previous message. This is different from when executing the commands
manually. Mostly the screen will not scroll up, thus there is no hit-enter
prompt. When one command outputs two messages this can happen anyway.
@@ -299,6 +299,8 @@ Name triggered by ~
|InsertEnter| starting Insert mode
|InsertChange| when typing <Insert> while in Insert or Replace mode
|InsertLeave| when leaving Insert mode
|InsertCharPre| when a character was typed in Insert mode, before
inserting it
|ColorScheme| after loading a color scheme
@@ -334,7 +336,9 @@ BufDelete Before deleting a buffer from the buffer list.
list is renamed.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being deleted "<afile>".
buffer being deleted "<afile>" and "<abuf>".
Don't change to another buffer, it will cause
problems.
*BufEnter*
BufEnter After entering a buffer. Useful for setting
options for a file type. Also executed when
@@ -397,13 +401,23 @@ BufUnload Before unloading a buffer. This is when the
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being unloaded "<afile>".
Don't change to another buffer, it will cause
problems.
When exiting and v:dying is 2 or more this
event is not triggered.
*BufWinEnter*
BufWinEnter After a buffer is displayed in a window. This
can be when the buffer is loaded (after
processing the modelines), when a hidden
processing the modelines) or when a hidden
buffer is displayed in a window (and is no
longer hidden) or a buffer already visible in
a window is also displayed in another window.
longer hidden).
Does not happen for |:split| without
arguments, since you keep editing the same
buffer, or ":split" with a file that's already
open in a window, because it re-uses an
existing buffer. But it does happen for a
":split" with the name of the current buffer,
since it reloads that buffer.
*BufWinLeave*
BufWinLeave Before a buffer is removed from a window.
Not when it's still visible in another window.
@@ -412,6 +426,8 @@ BufWinLeave Before a buffer is removed from a window.
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being unloaded "<afile>".
When exiting and v:dying is 2 or more this
event is not triggered.
*BufWipeout*
BufWipeout Before completely deleting a buffer. The
BufUnload and BufDelete events may be called
@@ -422,6 +438,8 @@ BufWipeout Before completely deleting a buffer. The
NOTE: When this autocommand is executed, the
current buffer "%" may be different from the
buffer being deleted "<afile>".
Don't change to another buffer, it will cause
problems.
*BufWrite* *BufWritePre*
BufWrite or BufWritePre Before writing the whole buffer to a file.
*BufWriteCmd*
@@ -539,7 +557,7 @@ FileChangedShell When Vim notices that the modification time of
buffer that was changed "<afile>".
NOTE: The commands must not change the current
buffer, jump to another buffer or delete a
buffer. *E246*
buffer. *E246* *E811*
NOTE: This event never nests, to avoid an
endless loop. This means that while executing
commands for the FileChangedShell event no
@@ -641,6 +659,17 @@ InsertChange When typing <Insert> while in Insert or
indicates the new mode.
Be careful not to move the cursor or do
anything else that the user does not expect.
*InsertCharPre*
InsertCharPre When a character is typed in Insert mode,
before inserting the char.
The |v:char| variable indicates the char typed
and can be changed during the event to insert
a different character. When |v:char| is set
to more than one character this text is
inserted literally.
It is not allowed to change the text |textlock|.
The event is not triggered when 'paste' is
set.
*InsertEnter*
InsertEnter Just before starting Insert mode. Also for
Replace mode and Virtual Replace mode. The
@@ -666,10 +695,10 @@ MenuPopup Just before showing the popup menu (under the
QuickFixCmdPre Before a quickfix command is run (|:make|,
|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
|:lgrepadd|, |:vimgrep|, |:lvimgrep|,
|:vimgrepadd|, |:lvimgrepadd|). The pattern is
matched against the command being run. When
|:grep| is used but 'grepprg' is set to
"internal" it still matches "grep".
|:vimgrepadd|, |:lvimgrepadd|, |:cscope|).
The pattern is matched against the command
being run. When |:grep| is used but 'grepprg'
is set to "internal" it still matches "grep".
This command cannot be used to set the
'makeprg' and 'grepprg' variables.
If this command causes an error, the quickfix
@@ -677,7 +706,7 @@ QuickFixCmdPre Before a quickfix command is run (|:make|,
*QuickFixCmdPost*
QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
command is run, before jumping to the first
location.
location. See |QuickFixCmdPost-example|.
*RemoteReply*
RemoteReply When a reply from a Vim that functions as
server was received |server2client()|. The
@@ -742,8 +771,10 @@ SwapExists Detected an existing swap file when starting
'a' abort, like hitting CTRL-C
When set to an empty string the user will be
asked, as if there was no SwapExists autocmd.
Note: Do not try to change the buffer, the
results are unpredictable.
*E812*
It is not allowed to change to another buffer,
change a buffer name or change directory
here.
*Syntax*
Syntax When the 'syntax' option has been set. The
pattern is matched against the syntax name.
@@ -768,7 +799,10 @@ TermChanged After the value of 'term' has changed. Useful
TermResponse After the response to |t_RV| is received from
the terminal. The value of |v:termresponse|
can be used to do things depending on the
terminal version.
terminal version. Note that this event may be
triggered halfway executing another event,
especially if file I/O, a shell command or
anything else that takes time is involved.
*User*
User Never executed automatically. To be used for
autocommands that are only executed with
@@ -785,6 +819,8 @@ VimLeave Before exiting Vim, just after writing the
.viminfo file. Executed only once, like
VimLeavePre.
To detect an abnormal exit use |v:dying|.
When v:dying is 2 or more this event is not
triggered.
*VimLeavePre*
VimLeavePre Before exiting Vim, just before writing the
.viminfo file. This is executed only once,
@@ -793,6 +829,8 @@ VimLeavePre Before exiting Vim, just before writing the
Mostly useful with a "*" pattern. >
:autocmd VimLeavePre * call CleanupStuff()
< To detect an abnormal exit use |v:dying|.
When v:dying is 2 or more this event is not
triggered.
*VimResized*
VimResized After the Vim window was resized, thus 'lines'
and/or 'columns' changed. Not when starting
@@ -821,9 +859,9 @@ The file pattern {pat} is tested for a match against the file name in one of
two ways:
1. When there is no '/' in the pattern, Vim checks for a match against only
the tail part of the file name (without its leading directory path).
2. When there is a '/' in the pattern, Vim checks for a match against the
both short file name (as you typed it) and the full file name (after
expanding it to a full path and resolving symbolic links).
2. When there is a '/' in the pattern, Vim checks for a match against both the
short file name (as you typed it) and the full file name (after expanding
it to a full path and resolving symbolic links).
The special pattern <buffer> or <buffer=N> is used for buffer-local
autocommands |autocmd-buflocal|. This pattern is not matched against the name
@@ -848,7 +886,7 @@ This autocommand will for example be executed for "/tmp/doc/xx.txt" and
The file name that the pattern is matched against is after expanding
wildcards. Thus is you issue this command: >
wildcards. Thus if you issue this command: >
:e $ROOTDIR/main.$EXT
The argument is first expanded to: >
/usr/root/main.py
@@ -927,7 +965,7 @@ simply use the special string instead of the pattern. Examples: >
" current buffer
:au! * <buffer=33> " remove buffer-local autocommands for
" buffer #33
:dobuf :au! CursorHold <buffer> " remove autocmd for given event for all
:bufdo :au! CursorHold <buffer> " remove autocmd for given event for all
" buffers
:au * <buffer> " list buffer-local autocommands for
" current buffer
@@ -1031,13 +1069,14 @@ option will not cause any commands to be executed.
undefined group name, Vim gives you an error message.
After applying the autocommands the modelines are
processed, so that their overrule the settings from
autocommands, like what happens when editing a file.
processed, so that their settings overrule the
settings from autocommands, like what happens when
editing a file.
*:doautoa* *:doautoall*
:doautoa[ll] [group] {event} [fname]
Like ":doautocmd", but apply the autocommands to each
loaded buffer. Note that {fname} is used to select
loaded buffer. Note that [fname] is used to select
the autocommands, not the buffers to which they are
applied.
Careful: Don't use this for autocommands that delete a
@@ -1257,7 +1296,7 @@ and "++ff=" argument that are effective. These should be used for the command
that reads/writes the file. The |v:cmdbang| variable is one when "!" was
used, zero otherwise.
See the $VIMRUNTIME/plugin/netrw.vim for examples.
See the $VIMRUNTIME/plugin/netrwPlugin.vim for examples.
==============================================================================
11. Disabling autocommands *autocmd-disable*
+172 -84
View File
@@ -1,4 +1,4 @@
*change.txt* For Vim version 7.1. Last change: 2007 Jan 07
*change.txt* For Vim version 7.3. Last change: 2011 Jun 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -159,7 +159,7 @@ gR Enter Virtual Replace mode: Each character you type
<Tab> may replace several characters at once.
Repeat the entered text [count]-1 times. See
|Virtual-Replace-mode| for more details.
{not available when compiled without the +vreplace
{not available when compiled without the |+vreplace|
feature}
*c*
@@ -229,16 +229,18 @@ key restores the original text (if there was any). (See section "Insert and
Replace mode" |mode-ins-repl|).
*cw* *cW*
Special case: "cw" and "cW" work the same as "ce" and "cE" if the cursor is
on a non-blank. This is because Vim interprets "cw" as change-word, and a
word does not include the following white space. {Vi: "cw" when on a blank
followed by other blanks changes only the first blank; this is probably a
bug, because "dw" deletes all the blanks; use the 'w' flag in 'cpoptions' to
make it work like Vi anyway}
Special case: When the cursor is in a word, "cw" and "cW" do not include the
white space after a word, they only change up to the end of the word. This is
because Vim interprets "cw" as change-word, and a word does not include the
following white space.
{Vi: "cw" when on a blank followed by other blanks changes only the first
blank; this is probably a bug, because "dw" deletes all the blanks; use the
'w' flag in 'cpoptions' to make it work like Vi anyway}
If you prefer "cw" to include the space after a word, use this mapping: >
:map cw dwi
<
Or use "caw" (see |aw|).
*:c* *:ch* *:change*
:{range}c[hange][!] Replace lines of text with some different text.
Type a line containing only "." to stop replacing.
@@ -277,7 +279,7 @@ gr{char} Replace the virtual characters under the cursor with
space. See |gR| and |Virtual-Replace-mode| for more
details. As with |r| a count may be given.
{char} can be entered like with |r|.
{not available when compiled without the +vreplace
{not available when compiled without the |+vreplace|
feature}
*digraph-arg*
@@ -345,6 +347,10 @@ g?{motion} Rot13 encode {motion} text. {not in Vi}
g?g? *g?g?* *g??*
g?? Rot13 encode current line. {not in Vi}.
To turn one line into title caps, make every first letter of a word
uppercase: >
:s/\v<(.)(\w*)/\u\1\L\2/g
Adding and subtracting ~
*CTRL-A*
@@ -474,7 +480,7 @@ For example: >
A filter is a program that accepts text at standard input, changes it in some
way, and sends it to standard output. You can use the commands below to send
some text through a filter, so that it is replace by the filter output.
some text through a filter, so that it is replaced by the filter output.
Examples of filters are "sort", which sorts lines alphabetically, and
"indent", which formats C program files (you need a version of indent that
works like a filter; not all versions do). The 'shell' option specifies the
@@ -500,9 +506,9 @@ comment (starting with '"') after the ":!" command.
{filter}. Vim replaces the optional bangs with the
latest given command and appends the optional [arg].
Vim saves the output of the filter command in a
temporary file and then reads the file into the
buffer. Vim uses the 'shellredir' option to redirect
the filter output to the temporary file.
temporary file and then reads the file into the buffer
|tempfile|. Vim uses the 'shellredir' option to
redirect the filter output to the temporary file.
However, if the 'shelltemp' option is off then pipes
are used when possible (on Unix).
When the 'R' flag is included in 'cpoptions' marks in
@@ -516,9 +522,11 @@ comment (starting with '"') after the ":!" command.
={motion} Filter {motion} lines through the external program
given with the 'equalprg' option. When the 'equalprg'
option is empty (this is the default), use the
internal formatting function |C-indenting|. But when
'indentexpr' is not empty, it will be used instead
|indent-expression|.
internal formatting function |C-indenting| and
|'lisp'|. But when 'indentexpr' is not empty, it will
be used instead |indent-expression|. When Vim was
compiled without internal formatting then the "indent"
program is used as a last resort.
*==*
== Filter [count] lines like with ={motion}.
@@ -528,6 +536,22 @@ comment (starting with '"') after the ":!" command.
{not in Vi}
*tempfile* *setuid*
Vim uses temporary files for filtering, generating diffs and also for
tempname(). For Unix, the file will be in a private directory (only
accessible by the current user) to avoid security problems (e.g., a symlink
attack or other people reading your file). When Vim exits the directory and
all files in it are deleted. When Vim has the setuid bit set this may cause
problems, the temp file is owned by the setuid user but the filter command
probably runs as the original user.
On MS-DOS and OS/2 the first of these directories that works is used: $TMP,
$TEMP, c:\TMP, c:\TEMP.
For Unix the list of directories is: $TMPDIR, /tmp, current-dir, $HOME.
For MS-Windows the GetTempFileName() system function is used.
For other systems the tmpnam() library function is used.
4.2 Substitute *:substitute*
*:s* *:su*
:[range]s[ubstitute]/{pattern}/{string}/[flags] [count]
@@ -561,7 +585,7 @@ comment (starting with '"') after the ":!" command.
":&r". See |:s_flags| for [flags].
*&*
& Synonym for ":s//~/" (repeat last substitute). Note
& Synonym for ":s" (repeat last substitute). Note
that the flags are not remembered, thus it might
actually work differently. You can use ":&&" to keep
the flags.
@@ -598,9 +622,9 @@ The flags that you can use for the substitute commands:
'a' to substitute this and all remaining matches {not in Vi}
'q' to quit substituting {not in Vi}
CTRL-E to scroll the screen up {not in Vi, not available when
compiled without the +insert_expand feature}
compiled without the |+insert_expand| feature}
CTRL-Y to scroll the screen down {not in Vi, not available when
compiled without the +insert_expand feature}
compiled without the |+insert_expand| feature}
If the 'edcompatible' option is on, Vim remembers the [c] flag and
toggles it each time you use it, but resets it when you give a new
search pattern.
@@ -661,12 +685,13 @@ The flags that you can use for the substitute commands:
{not in Vi}
Note that there is no flag to change the "magicness" of the pattern. A
different command is used instead. The reason is that the flags can only be
found by skipping the pattern, and in order to skip the pattern the
"magicness" must be known. Catch 22!
different command is used instead, or you can use |/\v| and friends. The
reason is that the flags can only be found by skipping the pattern, and in
order to skip the pattern the "magicness" must be known. Catch 22!
If the {pattern} for the substitute command is empty, the command uses the
pattern from the last substitute or ":global" command. With the [r] flag, the
pattern from the last substitute or ":global" command. If there is none, but
there is a previous search pattern, that one is used. With the [r] flag, the
command uses the pattern from the last substitute, ":global", or search
command.
@@ -686,15 +711,19 @@ can use any other single-byte character, but not an alphanumeric character,
pattern or replacement string. Example: >
:s+/+//+
For the definition of a pattern, see |pattern|.
For the definition of a pattern, see |pattern|. In Visual block mode, use
|/\%V| in the pattern to have the substitute work in the block only.
Otherwise it works on whole lines anyway.
*sub-replace-special* *:s\=*
When the {string} starts with "\=" it is evaluated as an expression, see
|sub-replace-expression|. You can use that for any special characters.
|sub-replace-expression|. You can use that for complex replacement or special
characters.
Otherwise these characters in {string} have a special meaning:
*:s%*
When {string} is equal to "%" and '/' is included with the 'cpoptions' option,
then the {string} of the previous substitute command is used. |cpo-/|
then the {string} of the previous substitute command is used, see |cpo-/|
magic nomagic action ~
& \& replaced with the whole matched pattern *s/\&*
@@ -729,6 +758,14 @@ magic nomagic action ~
\x where x is any character not mentioned above:
Reserved for future expansion
The special meaning is also used inside the third argument {sub} of
the |substitute()| function with the following exceptions:
- A % inserts a percent literally without regard to 'cpoptions'.
- magic is always set without regard to 'magic'.
- A ~ inserts a tilde literally.
- <CR> and \r inserts a carriage-return (CTRL-M).
- \<CR> does not have a special meaning. it's just one of \x.
Examples: >
:s/a\|b/xxx\0xxx/g modifies "a b" to "xxxaxxx xxxbxxx"
:s/\([abc]\)\([efg]\)/\2\1/g modifies "af fa bg" to "fa fa gb"
@@ -760,17 +797,19 @@ either the first or second pattern in parentheses did not match, so either
Substitute with an expression *sub-replace-expression*
*sub-replace-\=*
When the substitute string starts with "\=" the remainder is interpreted as an
expression. This does not work recursively: a substitute() function inside
expression. This does not work recursively: a |substitute()| function inside
the expression cannot use "\=" for the substitute string.
The special meaning for characters as mentioned at |sub-replace-special| does
not apply except "<CR>", "\<CR>" and "\\". Thus in the result of the
expression you need to use two backslashes get one, put a backslash before a
<CR> you want to insert and use a <CR> without a backslash where you want to
break the line.
not apply except for "<CR>". A <NL> character is used as a line break, you
can get one with a double-quote string: "\n". Prepend a backslash to get a
real <NL> character (which will be a NUL in the file).
For convenience a <NL> character is also used as a line break. Prepend a
backslash to get a real <NL> character (which will be a NUL in the file).
The "\=" notation can also be used inside the third argument {sub} of
|substitute()| function. In this case, the special meaning for characters as
mentioned at |sub-replace-special| does not apply at all. Especially, <CR> and
<NL> are interpreted not as a line break but as a carriage-return and a
new-line respectively.
When the result is a |List| then the items are joined with separating line
breaks. Thus each item becomes a line, except that they can contain line
@@ -789,7 +828,7 @@ Examples: >
This replaces an end-of-line with a new line containing the value of $HOME. >
s/E/\="\<Char-0x20ac>"/g
This replaces 'E' characters with an euro sign. Read more in |<Char->|.
This replaces each 'E' character with a euro sign. Read more in |<Char->|.
4.3 Search and replace *search-replace*
@@ -798,13 +837,13 @@ This replaces 'E' characters with an euro sign. Read more in |<Char->|.
:promptf[ind] [string]
Put up a Search dialog. When [string] is given, it is
used as the initial search string.
{only for Win32, Motif and GTK GUI}
{only for Win32, Motif, GTK and MacVim GUI}
*:promptr* *:promptrepl*
:promptr[epl] [string]
Put up a Search/Replace dialog. When [string] is
given, it is used as the initial search string.
{only for Win32, Motif and GTK GUI}
{only for Win32, Motif, GTK and MacVim GUI}
4.4 Changing tabs *change-tabs*
@@ -853,7 +892,10 @@ inside of strings can change! Also see 'softtabstop' option. >
*:reg* *:registers*
:reg[isters] Display the contents of all numbered and named
registers. {not in Vi}
registers. If a register is written to for |:redir|
it will not be listed.
{not in Vi}
:reg[isters] {arg} Display the contents of the numbered and named
registers that are mentioned in {arg}. For example: >
@@ -887,8 +929,10 @@ inside of strings can change! Also see 'softtabstop' option. >
{Visual}["x]Y Yank the highlighted lines [into register x] (for
{Visual} see |Visual-mode|). {not in Vi}
*:y* *:yank*
:[range]y[ank] [x] Yank [range] lines [into register x].
*:y* *:yank* *E850*
:[range]y[ank] [x] Yank [range] lines [into register x]. Yanking to the
"* or "+ registers is possible only when the
|+clipboard| feature is included.
:[range]y[ank] [x] {count}
Yank {count} lines, starting with last line number
@@ -986,6 +1030,11 @@ register. With blockwise selection it also depends on the size of the block
and whether the corners are on an existing character. (Implementation detail:
it actually works by first putting the register after the selection and then
deleting the selection.)
The previously selected text is put in the unnamed register. If you want to
put the same text into a Visual selection several times you need to use
another register. E.g., yank the text to copy, Visually select the text to
replace and use "0p . You can repeat this as many times as you like, the
unnamed register will be changed each time.
*blockwise-register*
If you use a blockwise Visual mode command to get the text into the register,
@@ -1023,8 +1072,10 @@ There are nine types of registers: *registers* *E354*
Vim fills this register with text deleted with the "d", "c", "s", "x" commands
or copied with the yank "y" command, regardless of whether or not a specific
register was used (e.g. "xdd). This is like the unnamed register is pointing
to the last used register. An exception is the '_' register: "_dd does not
store the deleted text in any register.
to the last used register. Thus when appending using an uppercase register
name, the unnamed register contains the same text as the named register.
An exception is the '_' register: "_dd does not store the deleted text in any
register.
Vim uses the contents of the unnamed register for any put command (p or P)
which does not specify a register. Additionally you can access it with the
name '"'. This means you have to type two double quotes. Writing to the ""
@@ -1090,15 +1141,20 @@ normal command-line editing commands are available, including a special
history for expressions. When you end the command-line by typing <CR>, Vim
computes the result of the expression. If you end it with <Esc>, Vim abandons
the expression. If you do not enter an expression, Vim uses the previous
expression (like with the "/" command). The expression must evaluate to a
string. If the result is a number it's turned into a string. A List,
Dictionary or FuncRef results in an error message (use string() to convert).
If the "= register is used for the "p" command, the string is split up at <NL>
characters. If the string ends in a <NL>, it is regarded as a linewise
expression (like with the "/" command).
The expression must evaluate to a String. A Number is always automatically
converted to a String. For the "p" and ":put" command, if the result is a
Float it's converted into a String. If the result is a List each element is
turned into a String and used as a line. A Dictionary or FuncRef results in
an error message (use string() to convert).
If the "= register is used for the "p" command, the String is split up at <NL>
characters. If the String ends in a <NL>, it is regarded as a linewise
register. {not in Vi}
7. Selection and drop registers "*, "+ and "~
Use these register for storing and retrieving the selected text for the GUI.
Use these registers for storing and retrieving the selected text for the GUI.
See |quotestar| and |quoteplus|. When the clipboard is not available or not
working, the unnamed register is used instead. For Unix systems the clipboard
is only available when the |+xterm_clipboard| feature is present. {not in Vi}
@@ -1128,7 +1184,10 @@ nothing is returned. {not in Vi}
Contains the most recent search-pattern. This is used for "n" and 'hlsearch'.
It is writable with ":let", you can change it to have 'hlsearch' highlight
other matches without actually searching. You can't yank or delete into this
register. {not in Vi}
register. The search direction is available in |v:searchforward|.
Note that the valued is restored when returning from a function
|function-search-undo|.
{not in Vi}
*@/*
You can write to a register with a ":let" command |:let-@|. Example: >
@@ -1201,7 +1260,8 @@ gq{motion} Format the lines that {motion} moves over.
:nnoremap Q gq
gqgq *gqgq* *gqq*
gqq Format the current line. {not in Vi}
gqq Format the current line. With a count format that
many lines. {not in Vi}
*v_gq*
{Visual}gq Format the highlighted text. (for {Visual} see
@@ -1253,9 +1313,11 @@ an external command, like "par" (e.g.: "!}par" to format until the end of the
paragraph) or set 'formatprg' to "par".
*format-comments*
Vim can format comments in a special way. Vim recognizes a comment by a
specific string at the start of the line (ignoring white space). Three types
of comments can be used:
An overview of comment formatting is in section |30.6| of the user manual.
Vim can automatically insert and format comments in a special way. Vim
recognizes a comment by a specific string at the start of the line (ignoring
white space). Three types of comments can be used:
- A comment string that repeats at the start of each line. An example is the
type of comment used in shell scripts, starting with "#".
@@ -1263,7 +1325,7 @@ of comments can be used:
lines. An example is this list with dashes.
- Three-piece comments that have a start string, an end string, and optional
lines in between. The strings for the start, middle and end are different.
An example is the C-style comment:
An example is the C style comment:
/*
* this is a C comment
*/
@@ -1289,23 +1351,24 @@ type of comment string. A part consists of:
e End of a three-piece comment
l Left adjust middle with start or end (default). Only recognized when
used together with 's' or 'e'.
l Left align. Used together with 's' or 'e', the leftmost character of
start or end will line up with the leftmost character from the middle.
This is the default and can be omitted. See below for more details.
r Right adjust middle with start or end. Only recognized when used
together with 's' or 'e'.
r Right align. Same as above but rightmost instead of leftmost. See
below for more details.
O Don't use this one for the "O" command.
O Don't consider this comment for the "O" command.
x Allows three-piece comments to be ended by just typing the last
character of the end-comment string as the first character on a new
line, when the middle-comment string has already been inserted
automatically. See below for more details.
character of the end-comment string as the first action on a new
line when the middle-comment string has been inserted automatically.
See below for more details.
{digits}
When together with 's' or 'e': add extra indent for the middle part.
This can be used to left-align the middle part with the start or end
and then add an offset.
When together with 's' or 'e': add {digit} amount of offset to an
automatically inserted middle or end comment leader. The offset begins
from a left alignment. See below for more details.
-{digits}
Like {digits} but reduce the indent. This only works when there is
@@ -1334,12 +1397,45 @@ have a middle string because otherwise Vim can't recognize the middle lines.
Notice the use of the "x" flag in the above three-piece comment definition.
When you hit Return in a C-comment, Vim will insert the middle comment leader
for the new line, e.g. " * ". To close this comment you just have to type "/"
for the new line: " * ". To close this comment you just have to type "/"
before typing anything else on the new line. This will replace the
middle-comment leader with the end-comment leader, leaving just " */". There
is no need to hit BackSpace first.
middle-comment leader with the end-comment leader and apply any specified
alignment, leaving just " */". There is no need to hit BackSpace first.
Examples: >
When there is a match with a middle part, but there also is a maching end part
which is longer, the end part is used. This makes a C style comment work
without requiring the middle part to end with a space.
Here is an example of alignment flags at work to make a comment stand out
(kind of looks like a 1 too). Consider comment string: >
:set comments=sr:/***,m:**,ex-2:******/
<
/*** ~
**<--right aligned from "r" flag ~
** ~
offset 2 spaces for the "-2" flag--->** ~
******/ ~
In this case, the first comment was typed, then return was pressed 4 times,
then "/" was pressed to end the comment.
Here are some finer points of three part comments. There are three times when
alignment and offset flags are taken into consideration: opening a new line
after a start-comment, opening a new line before an end-comment, and
automatically ending a three-piece comment. The end alignment flag has a
backwards perspective; the result is that the same alignment flag used with
"s" and "e" will result in the same indent for the starting and ending pieces.
Only one alignment per comment part is meant to be used, but an offset number
will override the "r" and "l" flag.
Enabling 'cindent' will override the alignment flags in many cases.
Reindenting using a different method like |gq| or |=| will not consult
alignment flags either. The same behaviour can be defined in those other
formatting options. One consideration is that 'cindent' has additional options
for context based indenting of comments but cannot replicate many three piece
indent alignments. However, 'indentexpr' has the ability to work better with
three piece comments.
Other examples: >
"b:*" Includes lines starting with "*", but not if the "*" is
followed by a non-blank. This avoids a pointer dereference
like "*str" to be recognized as a comment.
@@ -1350,17 +1446,6 @@ By default, "b:#" is included. This means that a line that starts with
"#include" is not recognized as a comment line. But a line that starts with
"# define" is recognized. This is a compromise.
Often the alignment can be changed from right alignment to a left alignment
with an additional space. For example, for Javadoc comments, this can be
used (insert a backslash before the space when using ":set"): >
s1:/*,mb:*,ex:*/
Note that an offset is included with start, so that the middle part is left
aligned with the start and then an offset of one character added. This makes
it possible to left align the start and middle for this construction: >
/**
* comment
*/
{not available when compiled without the |+comments| feature}
*fo-table*
@@ -1391,7 +1476,7 @@ a Automatic formatting of paragraphs. Every time text is inserted or
n When formatting text, recognize numbered lists. This actually uses
the 'formatlistpat' option, thus any kind of list can be used. The
indent of the text after the number is used for the next line. The
default is to find a number, optionally be followed by '.', ':', ')',
default is to find a number, optionally followed by '.', ':', ')',
']' or '}'. Note that 'autoindent' must be set too. Doesn't work
well together with "2".
Example: >
@@ -1528,10 +1613,12 @@ found here: |sort()|.
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 [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.
One leading '-' is included in the number.
With [o] sorting is done on the first octal number in
the line (after or inside a {pattern} match).
@@ -1555,9 +1642,10 @@ found here: |sort()|.
:sort /.*\%10v/
< To sort on the first number in the line, no matter
what is in front of it: >
:sort /.*\ze\d/
< With [r] sorting is done on the matching {pattern}
:sort /.\{-}\ze\d/
< (Explanation: ".\{-}" matches any text, "\ze" sets the
end of the match and \d matches a digit.)
With [r] sorting is done on the matching {pattern}
instead of skipping past it as described above.
For example, to sort on only the first three letters
of each line: >
+100 -61
View File
@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 7.1. Last change: 2008 Jan 04
*cmdline.txt* For Vim version 7.3. Last change: 2011 Mar 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -62,7 +62,7 @@ Notes:
old one is removed (to avoid repeated commands moving older commands out of
the history).
- Only commands that are typed are remembered. Ones that completely come from
mappings are not put in the history
mappings are not put in the history.
- All searches are put in the search history, including the ones that come
from commands like "*" and "#". But for a mapping, only the last search is
remembered (to avoid that long mappings trash the history).
@@ -83,9 +83,9 @@ CTRL-V Insert next non-digit literally. Up to three digits form the
CTRL-Q Same as CTRL-V. But with some terminals it is used for
control flow, it doesn't work then.
*c_<Left>*
*c_<Left>* *c_Left*
<Left> cursor left
*c_<Right>*
*c_<Right>* *c_Right*
<Right> cursor right
*c_<S-Left>*
<S-Left> or <C-Left> *c_<C-Left>*
@@ -93,33 +93,32 @@ CTRL-Q Same as CTRL-V. But with some terminals it is used for
*c_<S-Right>*
<S-Right> or <C-Right> *c_<C-Right>*
cursor one WORD right
CTRL-B or <Home> *c_CTRL-B* *c_<Home>*
CTRL-B or <Home> *c_CTRL-B* *c_<Home>* *c_Home*
cursor to beginning of command-line
CTRL-E or <End> *c_CTRL-E* *c_<End>*
CTRL-E or <End> *c_CTRL-E* *c_<End>* *c_End*
cursor to end of command-line
*c_<LeftMouse>*
<LeftMouse> cursor to position of mouse click.
<LeftMouse> Move the cursor to the position of the mouse click.
CTRL-H *c_<BS>* *c_CTRL-H*
<BS> delete the character in front of the cursor (see |:fixdel| if
CTRL-H *c_<BS>* *c_CTRL-H* *c_BS*
<BS> Delete the character in front of the cursor (see |:fixdel| if
your <BS> key does not do what you want).
*c_<Del>*
<Del> delete the character under the cursor (at end of line:
*c_<Del>* *c_Del*
<Del> Delete the character under the cursor (at end of line:
character before the cursor) (see |:fixdel| if your <Del>
key does not do what you want).
*c_CTRL-W*
CTRL-W delete the word before the cursor
CTRL-W Delete the |word| before the cursor. This depends on the
'iskeyword' option.
*c_CTRL-U*
CTRL-U remove all characters between the cursor position and
CTRL-U Remove all characters between the cursor position and
the beginning of the line. Previous versions of vim
deleted all characters on the line. If that is the
preferred behavior, add the following to your .vimrc: >
:cnoremap <C-U> <C-E><C-U>
<
Note: if the command-line becomes empty with one of the
delete commands, Command-line mode is quit.
*c_<Insert>*
*c_<Insert>* *c_Insert*
<Insert> Toggle between insert and overstrike. {not in Vi}
{char1} <BS> {char2} or *c_digraph*
@@ -156,6 +155,11 @@ CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
(doesn't work at the expression prompt; some
things such as changing the buffer or current
window are not allowed to avoid side effects)
When the result is a |List| the items are used
as lines. They can have line breaks inside
too.
When the result is a Float it's automatically
converted to a String.
See |registers| about registers. {not in Vi}
Implementation detail: When using the |expression| register
and invoking setcmdpos(), this sets the position before
@@ -178,7 +182,7 @@ CTRL-R CTRL-A *c_CTRL-R_CTRL-A* *c_<C-R>_<C-A>*
the word that was already typed is not inserted again.
{not in Vi}
CTRL-F and CTRL-P: {only when +file_in_path feature is
CTRL-F and CTRL-P: {only when |+file_in_path| feature is
included}
*c_CTRL-R_CTRL-R* *c_<C-R>_<C-R>*
@@ -220,21 +224,23 @@ CTRL-Y When there is a modeless selection, copy the selection into
the clipboard. |modeless-selection|
If there is no selection CTRL-Y is inserted as a character.
CTRL-J *c_CTRL-J* *c_<NL>* *c_<CR>*
CTRL-J *c_CTRL-J* *c_<NL>* *c_<CR>* *c_CR*
<CR> or <NL> start entered command
*c_<Esc>*
*c_<Esc>* *c_Esc*
<Esc> When typed and 'x' not present in 'cpoptions', quit
Command-line mode without executing. In macros or when 'x'
present in 'cpoptions', start entered command.
Note: If your <Esc> key is hard to hit on your keyboard, train
yourself to use CTRL-[.
*c_CTRL-C*
CTRL-C quit command-line without executing
*c_<Up>*
*c_<Up>* *c_Up*
<Up> recall older command-line from history, whose beginning
matches the current command-line (see below).
{not available when compiled without the |+cmdline_hist|
feature}
*c_<Down>*
*c_<Down>* *c_Down*
<Down> recall more recent command-line from history, whose beginning
matches the current command-line (see below).
{not available when compiled without the |+cmdline_hist|
@@ -366,8 +372,10 @@ word before the cursor. This is available for:
- Mappings: Only after a ":map" or similar command.
- Variable and function names: Only after a ":if", ":call" or similar command.
When Vim was compiled with the |+cmdline_compl| feature disabled, only file
names, directories and help items can be completed.
When Vim was compiled without the |+cmdline_compl| feature only file names,
directories and help items can be completed. The number of help item matches
is limited (currently to 300) to avoid a long delay when there are very many
matches.
These are the commands that can be used:
@@ -408,11 +416,15 @@ CTRL-L A match is done on the pattern in front of the cursor. If
than the pattern, no completion is done.
When 'incsearch' is set, entering a search pattern for "/" or
"?" and the current match is displayed then CTRL-L will add
one character from the end of the current match.
one character from the end of the current match. If
'ignorecase' and 'smartcase' are set and the command line has
no uppercase characters, the added character is converted to
lowercase.
The 'wildchar' option defaults to <Tab> (CTRL-E when in Vi compatible mode; in
a previous version <Esc> was used). In the pattern standard wildcards '*' and
'?' are accepted. '*' matches any string, '?' matches exactly one character.
'?' are accepted when matching file names. '*' matches any string, '?'
matches exactly one character.
If you like tcsh's autolist completion, you can use this mapping:
:cnoremap X <C-L><C-D>
@@ -431,13 +443,20 @@ between files with almost the same name. If there are multiple matches,
those files with an extension that is in the 'suffixes' option are ignored.
The default is ".bak,~,.o,.h,.info,.swp,.obj", which means that files ending
in ".bak", "~", ".o", ".h", ".info", ".swp" and ".obj" are sometimes ignored.
It is impossible to ignore suffixes with two dots. Examples:
An empty entry, two consecutive commas, match a file name that does not
contain a ".", thus has no suffix. This is useful to ignore "prog" and prefer
"prog.c".
Examples:
pattern: files: match: ~
test* test.c test.h test.o test.c
test* test.h test.o test.h and test.o
test* test.i test.h test.c test.i and test.c
It is impossible to ignore suffixes with two dots.
If there is more than one matching file (after ignoring the ones matching
the 'suffixes' option) the first file name is inserted. You can see that
there is only one match when you type 'wildchar' twice and the completed
@@ -468,21 +487,21 @@ And this in your .vimrc: >
The Ex commands have a few specialties:
*:quote*
*:quote* *:comment*
'"' at the start of a line causes the whole line to be ignored. '"'
after a command causes the rest of the line to be ignored. This can be used
to add comments. Example: >
:set ai "set 'autoindent' option
It is not possible to add a comment to a shell command ":!cmd" or to the
":map" command and friends, because they see the '"' as part of their
argument.
":map" command and a few others, because they see the '"' as part of their
argument. This is mentioned where the command is explained.
*:bar* *:\bar*
'|' can be used to separate commands, so you can give multiple commands in one
line. If you want to use '|' in an argument, precede it with '\'.
These commands see the '|' as their argument, and can therefore not be
followed by another command:
followed by another Vim command:
:argdo
:autocmd
:bufdo
@@ -507,6 +526,7 @@ followed by another command:
:registers
:read !
:scscope
:sign
:tcl
:tcldo
:tclfile
@@ -718,23 +738,36 @@ to insert special things while typing you can use the CTRL-R command. For
example, "%" stands for the current file name, while CTRL-R % inserts the
current file name right away. See |c_CTRL-R|.
Note: If you want to avoid the special characters in a Vim script you may want
to use |fnameescape()|.
In Ex commands, at places where a file name can be used, the following
characters have a special meaning. These can also be used in the expression
function expand() |expand()|.
% is replaced with the current file name *:_%*
# is replaced with the alternate file name *:_#*
#n (where n is a number) is replaced with the file name of
buffer n. "#0" is the same as "#"
## is replaced with all names in the argument list *:_##*
% Is replaced with the current file name. *:_%* *c_%*
# Is replaced with the alternate file name. *:_#* *c_#*
#n (where n is a number) is replaced with *:_#0* *:_#n*
the file name of buffer n. "#0" is the same as "#". *c_#n*
## Is replaced with all names in the argument list *:_##* *c_##*
concatenated, separated by spaces. Each space in a name
is preceded with a backslash.
Note that these give the file name as it was typed. If an absolute path is
needed (when using the file name from a different directory), you need to add
":p". See |filename-modifiers|.
#<n (where n is a number > 0) is replaced with old *:_#<* *c_#<*
file name n. See |:oldfiles| or |v:oldfiles| to get the
number. *E809*
{only when compiled with the |+eval| and |+viminfo| features}
Note that these, except "#<n", give the file name as it was typed. If an
absolute path is needed (when using the file name from a different directory),
you need to add ":p". See |filename-modifiers|.
The "#<n" item returns an absolute path, but it will start with "~/" for files
below your home directory.
Note that backslashes are inserted before spaces, so that the command will
correctly interpret the file name. But this doesn't happen for shell
commands. For those you probably have to use quotes: >
commands. For those you probably have to use quotes (this fails for files
that contain a quote and wildcards): >
:!ls "%"
:r !spell "%"
@@ -749,33 +782,38 @@ it, no matter how many backslashes.
*:<cword>* *:<cWORD>* *:<cfile>* *<cfile>*
*:<sfile>* *<sfile>* *:<afile>* *<afile>*
*:<abuf>* *<abuf>* *:<amatch>* *<amatch>*
*E495* *E496* *E497* *E498* *E499* *E500*
*<slnum>* *E495* *E496* *E497* *E499* *E500*
Note: these are typed literally, they are not special keys!
<cword> is replaced with the word under the cursor (like |star|)
<cWORD> is replaced with the WORD under the cursor (see |WORD|)
<cfile> is replaced with the path name under the cursor (like what
|gf| uses)
<afile> when executing autocommands, is replaced with the file name
for a file read or write
<abuf> when executing autocommands, is replaced with the currently
<afile> When executing autocommands, is replaced with the file name
for a file read or write.
<abuf> When executing autocommands, is replaced with the currently
effective buffer number (for ":r file" and ":so file" it is
the current buffer, the file being read/sourced is not in a
buffer).
<amatch> when executing autocommands, is replaced with the match for
<amatch> When executing autocommands, is replaced with the match for
which this autocommand was executed. It differs from
<afile> only when the file name isn't used to match with
(for FileType, Syntax and SpellFileMissing events).
<sfile> when executing a ":source" command, is replaced with the
file name of the sourced file;
when executing a function, is replaced with
<sfile> When executing a ":source" command, is replaced with the
file name of the sourced file. *E498*
When executing a function, is replaced with
"function {function-name}"; function call nesting is
indicated like this:
"function {function-name1}..{function-name2}". Note that
filename-modifiers are useless when <sfile> is used inside
a function.
<slnum> When executing a ":source" command, is replaced with the
line number. *E842*
When executing a function it's the line number relative to
the start of the function.
*filename-modifiers*
*:_%:* *::8* *::p* *::.* *::~* *::h* *::t* *::r* *::e* *::s* *::gs*
*%:8* *%:p* *%:.* *%:~* *%:h* *%:t* *%:r* *%:e* *%:s* *%:gs*
The file name modifiers can be used after "%", "#", "#n", "<cfile>", "<sfile>",
"<afile>" or "<abuf>". They are also used with the |fnamemodify()| function.
These are not available when Vim has been compiled without the |+modify_fname|
@@ -827,7 +865,7 @@ These modifiers can be given, in this order:
After this, the previous modifiers can be used again. For
example ":p", to make a full path after the substitution.
:gs?pat?sub?
Substitute all occurrences of "path" with "sub". Otherwise
Substitute all occurrences of "pat" with "sub". Otherwise
this works like ":s".
Examples, when the file name is "src/version.c", current dir
@@ -893,10 +931,10 @@ Examples: (alternate file name is "?readme?")
:cd <cfile>* :cd {file name under cursor plus "*" and then expanded}
When the expanded argument contains a "!" and it is used for a shell command
(":!cmd", ":r !cmd" or ":w !cmd"), it is escaped with a backslash to avoid it
being expanded into a previously used command. When the 'shell' option
contains "sh", this is done twice, to avoid the shell trying to expand the
"!".
(":!cmd", ":r !cmd" or ":w !cmd"), the "!" is escaped with a backslash to
avoid it being expanded into a previously used command. When the 'shell'
option contains "sh", this is done twice, to avoid the shell trying to expand
the "!".
*filename-backslash*
For filesystems that use a backslash as directory separator (MS-DOS, Windows,
@@ -919,7 +957,7 @@ for the file "$home" in the root directory. A few examples:
==============================================================================
6. Command-line window *cmdline-window* *cmdwin*
*command-line-window*
In the command-line window the command line can be edited just like editing
text in any window. It is a special kind of window, because you cannot leave
it in a normal way.
@@ -927,12 +965,12 @@ it in a normal way.
feature}
OPEN
OPEN *c_CTRL-F* *q:* *q/* *q?*
There are two ways to open the command-line window:
1. From Command-line mode, use the key specified with the 'cedit' option.
The default is CTRL-F when 'compatible' is not set.
2. From Normal mode, use the "q:", "q/" or "q?" command. *q:* *q/* *q?*
2. From Normal mode, use the "q:", "q/" or "q?" command.
This starts editing an Ex command-line ("q:") or search string ("q/" or
"q?"). Note that this is not possible while recording is in progress (the
"q" stops recording then).
@@ -962,7 +1000,8 @@ nesting.
The command-line window is not a normal window. It is not possible to move to
another window or edit another buffer. All commands that would do this are
disabled in the command-line window. Of course it _is_ possible to execute
any command that you entered in the command-line window.
any command that you entered in the command-line window. Other text edits are
discarded when closing the window.
CLOSE *E199*
@@ -990,15 +1029,15 @@ other than the one that is executed with <CR> are lost.
If you would like to execute the command under the cursor and then have the
command-line window open again, you may find this mapping useful: >
:map <F5> <CR>q:
:autocmd CmdwinEnter * map <buffer> <F5> <CR>q:
VARIOUS
The command-line window cannot be used:
- when there already is a command-line window (no nesting)
- for entering a encryption key or when using inputsecret()
- when Vim was not compiled with the +vertsplit feature
- for entering an encryption key or when using inputsecret()
- when Vim was not compiled with the |+vertsplit| feature
Some options are set when the command-line window is opened:
'filetype' "vim", when editing an Ex command-line; this starts Vim syntax
@@ -1037,9 +1076,9 @@ events are not triggered. You can use the Cmdwin events to do settings
specifically for the command-line window. Be careful not to cause side
effects!
Example: >
:au CmdwinEnter : let b:cpt_save = &cpt | set cpt=v
:au CmdwinEnter : let b:cpt_save = &cpt | set cpt=.
:au CmdwinLeave : let &cpt = b:cpt_save
This sets 'complete' to use command-line completion in Insert mode for CTRL-N.
This sets 'complete' to use completion in the current window for |i_CTRL-N|.
Another example: >
:au CmdwinEnter [/?] startinsert
This will make Vim start in Insert mode in the command-line window.
+34 -10
View File
@@ -1,4 +1,4 @@
*debug.txt* For Vim version 7.1. Last change: 2006 May 01
*debug.txt* For Vim version 7.3. Last change: 2010 Dec 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -10,7 +10,8 @@ This is for debugging Vim itself, when it doesn't work properly.
For debugging Vim scripts, functions, etc. see |debug-scripts|
1. Location of a crash, using gcc and gdb |debug-gcc|
2. Windows Bug Reporting |debug-win32|
2. Locating memory leaks |debug-leaks|
3. Windows Bug Reporting |debug-win32|
==============================================================================
@@ -20,8 +21,9 @@ When Vim crashes in one of the test files, and you are using gcc for
compilation, here is what you can do to find out exactly where Vim crashes.
This also applies when using the MingW tools.
1. Compile Vim with the "-g" option (there is a line in the Makefile for this,
which you can uncomment).
1. Compile Vim with the "-g" option (there is a line in the src/Makefile for
this, which you can uncomment). Also make sure "strip" is disabled (do not
install it, or use the line "STRIP = /bin/true").
2. Execute these commands (replace "11" with the test that fails): >
cd testdir
@@ -38,13 +40,35 @@ This also applies when using the MingW tools.
==============================================================================
2. Windows Bug Reporting *debug-win32*
2. Locating memory leaks *debug-leaks* *valgrind*
If you suspect Vim is leaking memory and you are using Linux, the valgrind
tool is very useful to pinpoint memory leaks.
First of all, build Vim with EXITFREE defined. Search for this in MAKEFILE
and uncomment the line.
Use this command to start Vim:
>
valgrind --log-file=valgrind.log --leak-check=full ./vim
Note: Vim will run much slower. If your .vimrc is big or you have several
plugins you need to be patient for startup, or run with the "-u NONE"
argument.
There are often a few leaks from libraries, such as getpwuid() and
XtVaAppCreateShell(). Those are unavoidable. The number of bytes should be
very small a Kbyte or less.
==============================================================================
3. Windows Bug Reporting *debug-win32*
If the Windows version of Vim crashes in a reproducible manner, you can take
some steps to provide a useful bug report.
GENERIC ~
3.1 GENERIC ~
You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb
for gvim.exe, or vim.pdb for vim.exe. The PDB should be available from the
@@ -66,7 +90,7 @@ a Vim executable compiled with the Borland compiler; gdb (see above
*debug-vs2005*
2.2 Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
3.2 Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
First launch vim.exe or gvim.exe and then launch Visual Studio. (If you don't
have Visual Studio, follow the instructions at |get-ms-debuggers| to obtain a
@@ -100,7 +124,7 @@ installed as a just-in-time debugger. Use WinDbg, |debug-windbg|, if you
need to save minidumps or you want a just-in-time (postmortem) debugger.
*debug-windbg*
2.3 Debugging Vim crashes with WinDbg ~
3.3 Debugging Vim crashes with WinDbg ~
See |get-ms-debuggers| to obtain a copy of WinDbg.
@@ -126,7 +150,7 @@ To save a minidump, type the following at the WinDbg command line: >
.dump vim.dmp
<
*debug-minidump*
2.4 Opening a Minidump ~
3.4 Opening a Minidump ~
If you have a minidump file, you can open it in Visual Studio or in WinDbg.
@@ -138,7 +162,7 @@ In WinDbg: choose Open Crash Dump on the File menu. Follow the instructions in
|debug-windbg| to set the Symbol File Path.
*get-ms-debuggers*
2.5 Obtaining Microsoft Debugging Tools ~
3.5 Obtaining Microsoft Debugging Tools ~
The Debugging Tools for Windows (including WinDbg) can be downloaded from
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
+1 -1
View File
@@ -1,4 +1,4 @@
*debugger.txt* For Vim version 7.1. Last change: 2005 Mar 29
*debugger.txt* For Vim version 7.3. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Gordon Prieur
+3 -3
View File
@@ -1,4 +1,4 @@
*develop.txt* For Vim version 7.1. Last change: 2007 May 11
*develop.txt* For Vim version 7.3. Last change: 2008 Dec 17
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -64,7 +64,7 @@ completely different editor. Extensions are done with a "Vi spirit".
hard time finding and remembering them. Keep in mind that more commands and
options will be added later.
- A feature that people do not know about is a useless feature. Don't add
obscure features, or at least add hints in documentation that they exists.
obscure features, or at least add hints in documentation that they exist.
- Minimize using CTRL and other modifiers, they are more difficult to type.
- There are many first-time and inexperienced Vim users. Make it easy for
them to start using Vim and learn more over time.
@@ -323,7 +323,7 @@ Wrong: var=a*5;
OK: var = a * 5;
In general: Use empty lines to group lines of code together. Put a comment
just above the group of lines. This makes it more easy to quickly see what is
just above the group of lines. This makes it easier to quickly see what is
being done.
OK: /* Prepare for building the table. */
+24 -15
View File
@@ -1,12 +1,12 @@
*diff.txt* For Vim version 7.1. Last change: 2006 Oct 02
*diff.txt* For Vim version 7.3. Last change: 2011 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
*diff* *vimdiff* *gvimdiff* *diff-mode*
This file describes the +diff feature: Showing differences between two or
three versions of the same file.
This file describes the |+diff| feature: Showing differences between two,
three or four versions of the same file.
The basics are explained in section |08.7| of the user manual.
@@ -49,7 +49,7 @@ What happens is that Vim opens a window for each of the files. This is like
using the |-O| argument. This uses vertical splits. If you prefer horizontal
splits add the |-o| argument: >
vimdiff -o file1 file2 [file3]
vimdiff -o file1 file2 [file3 [file4]]
If you always prefer horizontal splits include "horizontal" in 'diffopt'.
@@ -57,6 +57,7 @@ In each of the edited files these options are set:
'diff' on
'scrollbind' on
'cursorbind' on
'scrollopt' includes "hor"
'wrap' off
'foldmethod' "diff"
@@ -64,6 +65,9 @@ In each of the edited files these options are set:
These options are set local to the window. When editing another file they are
reset to the global value.
The options can still be overruled from a modeline when re-editing the file.
However, 'foldmethod' and 'wrap' won't be set from a modeline when 'diff' is
set.
The differences shown are actually the differences in the buffer. Thus if you
make changes after loading a file, these will be included in the displayed
@@ -91,7 +95,7 @@ While already in Vim you can start diff mode in three ways.
:diffthis Make the current window part of the diff windows. This sets
the options like for "vimdiff".
:diffpatch {patchfile} *:diffp* *:diffpatch*
:diffpatch {patchfile} *E816* *:diffp* *:diffpatch*
Use the current buffer, patch it with the diff found in
{patchfile} and open a buffer on the result. The options are
set as for "vimdiff".
@@ -121,7 +125,8 @@ file for a moment and come back to the same file and be in diff mode again.
*:diffo* *:diffoff*
:diffoff Switch off diff mode for the current window.
:diffoff! Switch off diff mode for all windows in the current tab page.
:diffoff! Switch off diff mode for the current window and in all windows
in the current tab page where 'diff' is set.
The ":diffoff" command resets the relevant options to their default value.
This may be different from what the values were before diff mode was started,
@@ -129,6 +134,7 @@ the old values are not remembered.
'diff' off
'scrollbind' off
'cursorbind' off
'scrollopt' without "hor"
'wrap' on
'foldmethod' "manual"
@@ -161,8 +167,8 @@ in diff mode in one window and "normal" in another window. It is also
possible to view the changes you have made to a buffer since the file was
loaded. Since Vim doesn't allow having two buffers for the same file, you
need another buffer. This command is useful: >
command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
\ | wincmd p | diffthis
command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_
\ | diffthis | wincmd p | diffthis
(this is in |vimrc_example.vim|). Use ":DiffOrig" to see the differences
between the current buffer and the file it was loaded from.
@@ -237,7 +243,8 @@ that the buffers will be equal within the specified range.
*:diffg* *:diffget*
:[range]diffg[et] [bufspec]
Modify the current buffer to undo difference with another
buffer. If [bufspec] is given, that buffer is used.
buffer. If [bufspec] is given, that buffer is used. If
[bufspec] refers to the current buffer then nothing happens.
Otherwise this only works if there is one other buffer in diff
mode.
See below for [range].
@@ -254,10 +261,12 @@ that the buffers will be equal within the specified range.
*do*
do Same as ":diffget" without argument or range. The "o" stands
for "obtain" ("dg" can't be used, it could be the start of
"dgg"!).
"dgg"!). Note: this doesn't work in Visual mode.
*dp*
dp Same as ":diffput" without argument or range.
Note: this doesn't work in Visual mode.
When no [range] is given, the diff at the cursor position or just above it is
affected. When [range] is used, Vim tries to only put or get the specified
@@ -323,7 +332,7 @@ The "1a2" item appends the line "bbb".
The "4d4" item deletes the line "111".
The '7c7" item replaces the line "GGG" with "ggg".
When 'diffexpr' is not empty, Vim evaluates to obtain a diff file in the
When 'diffexpr' is not empty, Vim evaluates it to obtain a diff file in the
format mentioned. These variables are set to the file names used:
v:fname_in original file
@@ -353,7 +362,7 @@ The "-a" argument is used to force comparing the files as text, comparing as
binaries isn't useful. The "--binary" argument makes the files read in binary
mode, so that a CTRL-Z doesn't end the text on DOS.
*E97*
*E810* *E97*
Vim will do a test if the diff output looks alright. If it doesn't, you will
get an error message. Possible causes:
- The "diff" program cannot be executed.
@@ -364,9 +373,9 @@ get an error message. Possible causes:
If it's not clear what the problem is set the 'verbose' option to one or more
to see more messages.
The self-installing Vim includes a diff program. If you don't have it you
might want to download a diff.exe. For example from
http://jlb.twu.net/code/unixkit.php.
The self-installing Vim for MS-Windows includes a diff program. If you don't
have it you might want to download a diff.exe. For example from
http://gnuwin32.sourceforge.net/packages/diffutils.htm.
USING PATCHES *diff-patchexpr*
+1242 -107
View File
File diff suppressed because it is too large Load Diff
+167 -78
View File
@@ -1,4 +1,4 @@
*editing.txt* For Vim version 7.1. Last change: 2007 May 11
*editing.txt* For Vim version 7.3. Last change: 2011 Feb 26
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -270,16 +270,17 @@ If you want to keep the changed buffer without saving it, switch on the
Normal mode. Otherwise same as |:edit|.
*:vie* *:view*
:vie[w] [++opt] [+cmd] file
:vie[w][!] [++opt] [+cmd] file
When used in Ex mode: Leave |Ex mode|, go back to
Normal mode. Otherwise same as |:edit|, but set
'readonly' option for this buffer. {not in Vi}
*CTRL-^* *CTRL-6*
CTRL-^ Edit the alternate file (equivalent to ":e #").
Mostly the alternate file is the previously edited
file. This is a quick way to toggle between two
files.
CTRL-^ Edit the alternate file. Mostly the alternate file is
the previously edited file. This is a quick way to
toggle between two files. It is equivalent to ":e #",
except that it also works when there is no file name.
If the 'autowrite' or 'autowriteall' option is on and
the buffer was changed, write it.
Mostly the ^ character is positioned on the 6 key,
@@ -302,9 +303,9 @@ CTRL-^ Edit the alternate file (equivalent to ":e #").
Uses the 'isfname' option to find out which characters
are supposed to be in a file name. Trailing
punctuation characters ".,:;!" are ignored.
Uses the 'path' option as a list of directory names
to look for the file. Also looks for the file
relative to the current file.
Uses the 'path' option as a list of directory names to
look for the file. See the 'path' option for details
about relative directories and wildcards.
Uses the 'suffixesadd' option to check for file names
with a suffix added.
If the file can't be found, 'includeexpr' is used to
@@ -364,13 +365,16 @@ all over again. The ":e" command is only useful if you have changed the
current file name.
*:filename* *{file}*
Note for systems other than Unix and MS-DOS: When using a command that
accepts a single file name (like ":edit file") spaces in the file name are
allowed, but trailing spaces are ignored. This is useful on systems that
allow file names with embedded spaces (like MS-Windows and the Amiga).
Example: The command ":e Long File Name " will edit the file "Long File
Name". When using a command that accepts more than one file name (like ":next
file1 file2") embedded spaces must be escaped with a backslash.
Besides the things mentioned here, more special items for where a filename is
expected are mentioned at |cmdline-special|.
Note for systems other than Unix: When using a command that accepts a single
file name (like ":edit file") spaces in the file name are allowed, but
trailing spaces are ignored. This is useful on systems that regularly embed
spaces in file names (like MS-Windows and the Amiga). Example: The command
":e Long File Name " will edit the file "Long File Name". When using a
command that accepts more than one file name (like ":next file1 file2")
embedded spaces must be escaped with a backslash.
*wildcard* *wildcards*
Wildcards in {file} are expanded. Which wildcards are supported depends on
@@ -388,6 +392,8 @@ is to use "path\[[]abc]". Then the file "path[abc]" literally.
*starstar-wildcard*
Expanding "**" is possible on Unix, Win32, Mac OS/X and a few other systems.
This allows searching a directory tree. This goes up to 100 directories deep.
Note there are some commands where this works slightly different, see
|file-searching|.
Example: >
:n **/*.txt
Finds files:
@@ -457,7 +463,10 @@ converted and illegal bytes. It can be one of three things:
++bad=drop Remove the bad characters.
The default is like "++bad=?": Replace each bad character with a question
mark.
mark. In some places an inverted question mark is used (0xBF).
Note that not all commands use the ++bad argument, even though they do not
give an error when you add it. E.g. |:write|.
Note that when reading, the 'fileformat' and 'fileencoding' options will be
set to the used format. When writing this doesn't happen, thus a next write
@@ -714,23 +723,23 @@ list of the current window.
and |+cmd|. {not in Vi}
*:wn* *:wnext*
:[count]wn[ext] [++opt] [+cmd]
:[count]wn[ext] [++opt]
Write current file and start editing the [count]
next file. Also see |++opt| and |+cmd|. {not in Vi}
:[count]wn[ext] [++opt] [+cmd] {file}
:[count]wn[ext] [++opt] {file}
Write current file to {file} and start editing the
[count] next file, unless {file} already exists and
the 'writeany' option is off. Also see |++opt| and
|+cmd|. {not in Vi}
:[count]wn[ext]! [++opt] [+cmd] {file}
:[count]wn[ext]! [++opt] {file}
Write current file to {file} and start editing the
[count] next file. Also see |++opt| and |+cmd|. {not
in Vi}
:[count]wN[ext][!] [++opt] [+cmd] [file] *:wN* *:wNext*
:[count]wp[revious][!] [++opt] [+cmd] [file] *:wp* *:wprevious*
:[count]wN[ext][!] [++opt] [file] *:wN* *:wNext*
:[count]wp[revious][!] [++opt] [file] *:wp* *:wprevious*
Same as :wnext, but go to previous file instead of
next. {not in Vi}
@@ -774,7 +783,7 @@ fourth file in the argument list. This happens when you do ":e file".
LOCAL ARGUMENT LIST
{not in Vi}
{not available when compiled without the |+windows| or |+listcmds| feature}
{not available when compiled without the |+windows| or |+listcmds| features}
*:arglocal*
:argl[ocal] Make a local copy of the global argument list.
@@ -832,7 +841,7 @@ USING THE ARGUMENT LIST
Example: >
:args *.c
:argdo set ff=unix | update
This sets the 'fileformat' option to "unix" and writes the file if is now
This sets the 'fileformat' option to "unix" and writes the file if it is now
changed. This is done for all *.c files.
Example: >
@@ -850,46 +859,55 @@ Note: When the 'write' option is off, you are not able to write any file.
*:w* *:write*
*E502* *E503* *E504* *E505*
*E512* *E514* *E667* *E796*
:w[rite] Write the whole buffer to the current file. This is
:w[rite] [++opt] Write the whole buffer to the current file. This is
the normal way to save changes to a file. It fails
when the 'readonly' option is set or when there is
another reason why the file can't be written.
For ++opt see |++opt|, but only ++bin, ++nobin, ++ff
and ++enc are effective.
:w[rite]! Like ":write", but forcefully write when 'readonly' is
:w[rite]! [++opt] Like ":write", but forcefully write when 'readonly' is
set or there is another reason why writing was
refused.
Note: This may change the permission and ownership of
the file and break (symbolic) links. Add the 'W' flag
to 'cpoptions' to avoid this.
:[range]w[rite][!] Write the specified lines to the current file. This
:[range]w[rite][!] [++opt]
Write the specified lines to the current file. This
is unusual, because the file will not contain all
lines in the buffer.
*:w_f* *:write_f*
:[range]w[rite] {file} Write the specified lines to {file}, unless it
:[range]w[rite] [++opt] {file}
Write the specified lines to {file}, unless it
already exists and the 'writeany' option is off.
*:w!*
:[range]w[rite]! {file} Write the specified lines to {file}. Overwrite an
:[range]w[rite]! [++opt] {file}
Write the specified lines to {file}. Overwrite an
existing file.
*:w_a* *:write_a* *E494*
:[range]w[rite][!] >> Append the specified lines to the current file.
:[range]w[rite][!] [++opt] >>
Append the specified lines to the current file.
:[range]w[rite][!] >> {file}
:[range]w[rite][!] [++opt] >> {file}
Append the specified lines to {file}. '!' forces the
write even if file does not exist.
*:w_c* *:write_c*
:[range]w[rite] !{cmd} Execute {cmd} with [range] lines as standard input
:[range]w[rite] [++opt] !{cmd}
Execute {cmd} with [range] lines as standard input
(note the space in front of the '!'). {cmd} is
executed like with ":!{cmd}", any '!' is replaced with
the previous command |:!|.
The default [range] for the ":w" command is the whole buffer (1,$). If you
write the whole buffer, it is no longer considered changed. Also when you
write it to a different file with ":w somefile"!
write the whole buffer, it is no longer considered changed. When you
write it to a different file with ":w somefile" it depends on the "+" flag in
'cpoptions'. When included, the write command will reset the 'modified' flag,
even though the buffer itself may still be different from its file.
If a file name is given with ":w" it becomes the alternate file. This can be
used, for example, when the write fails and you want to try again later with
@@ -897,7 +915,8 @@ used, for example, when the write fails and you want to try again later with
'cpoptions' option.
*:sav* *:saveas*
:sav[eas][!] {file} Save the current buffer under the name {file} and set
:sav[eas][!] [++opt] {file}
Save the current buffer under the name {file} and set
the filename of the current buffer to {file}. The
previous name is used for the alternate file name.
The [!] is needed to overwrite an existing file.
@@ -907,7 +926,7 @@ used, for example, when the write fails and you want to try again later with
{not in Vi}
*:up* *:update*
:[range]up[date][!] [>>] [file]
:[range]up[date][!] [++opt] [>>] [file]
Like ":write", but only write when the buffer has been
modified. {not in Vi}
@@ -966,6 +985,11 @@ explanation of when the copy is made and when the file is renamed.
If the creation of a backup file fails, the write is not done. If you want
to write anyway add a '!' to the command.
*write-permissions*
When writing a new file the permissions are read-write. For unix the mask is
0666 with additionally umask applied. When writing a file that was read Vim
will preserve the permissions, but clear the s-bit.
*write-readonly*
When the 'cpoptions' option contains 'W', Vim will refuse to overwrite a
readonly file. When 'W' is not present, ":w!" will overwrite a readonly file,
@@ -1056,30 +1080,31 @@ The names can be in upper- or lowercase.
|quickfix|). {not in Vi}
*:wq*
:wq Write the current file and quit. Writing fails when
:wq [++opt] Write the current file and quit. Writing fails when
the file is read-only or the buffer does not have a
name. Quitting fails when the last file in the
argument list has not been edited.
:wq! Write the current file and quit. Writing fails when
:wq! [++opt] Write the current file and quit. Writing fails when
the current buffer does not have a name.
:wq {file} Write to {file} and quit. Quitting fails when the
:wq [++opt] {file} Write to {file} and quit. Quitting fails when the
last file in the argument list has not been edited.
:wq! {file} Write to {file} and quit.
:wq! [++opt] {file} Write to {file} and quit.
:[range]wq[!] [file] Same as above, but only write the lines in [range].
:[range]wq[!] [++opt] [file]
Same as above, but only write the lines in [range].
*:x* *:xit*
:[range]x[it][!] [file]
:[range]x[it][!] [++opt] [file]
Like ":wq", but write only when changes have been
made.
When 'hidden' is set and there are more windows, the
current buffer becomes hidden, after writing the file.
*:exi* *:exit*
:[range]exi[t][!] [file]
:[range]exi[t][!] [++opt] [file]
Same as :xit.
*ZZ*
@@ -1105,22 +1130,24 @@ MULTIPLE WINDOWS AND BUFFERS *window-exit*
changed. See |:confirm|. {not in Vi}
:qa[ll]! Exit Vim. Any changes to buffers are lost. {not in Vi}
Also see |:cquit|, it does the same but exits with a non-zero
value.
*:quita* *:quitall*
:quita[ll][!] Same as ":qall". {not in Vi}
:wqa[ll] *:wqa* *:wqall* *:xa* *:xall*
:wqa[ll] [++opt] *:wqa* *:wqall* *:xa* *:xall*
:xa[ll] Write all changed buffers and exit Vim. If there are buffers
without a file name, which are readonly or which cannot be
written for another reason, Vim will not quit. {not in Vi}
:conf[irm] wqa[ll]
:conf[irm] wqa[ll] [++opt]
:conf[irm] xa[ll]
Write all changed buffers and exit Vim. Bring up a prompt
when some buffers are readonly or cannot be written for
another reason. See |:confirm|. {not in Vi}
:wqa[ll]!
:wqa[ll]! [++opt]
:xa[ll]! Write all changed buffers, even the ones that are readonly,
and exit Vim. If there are buffers without a file name or
which cannot be written for another reason, Vim will not quit.
@@ -1150,14 +1177,21 @@ If you want to always use ":confirm", set the 'confirm' option.
*:browse* *:bro* *E338* *E614* *E615* *E616* *E578*
:bro[wse] {command} Open a file selection dialog for an argument to
{command}. At present this works for |:e|, |:w|,
|:r|, |:saveas|, |:sp|, |:mkexrc|, |:mkvimrc|,
|:mksession|, |:split|, |:vsplit|, and |:tabe|.
|:wall|, |:wq|, |:wqall|, |:x|, |:xall|, |:exit|,
|:view|, |:sview|, |:r|, |:saveas|, |:sp|, |:mkexrc|,
|:mkvimrc|, |:mksession|, |:mkview|, |:split|,
|:vsplit|, |:tabe|, |:tabnew|, |:cfile|, |:cgetfile|,
|:caddfile|, |:lfile|, |:lgetfile|, |:laddfile|,
|:diffsplit|, |:diffpatch|, |:open|, |:pedit|,
|:redir|, |:source|, |:update|, |:visual|, |:vsplit|,
and |:qall| if 'confirm' is set.
{only in Win32, Athena, Motif, GTK and Mac GUI}
When ":browse" is not possible you get an error
message. If the |+browse| feature is missing or the
{command} doesn't support browsing, the {command} is
executed without a dialog.
":browse set" works like |:options|.
See also |:oldfiles| for ":browse oldfiles".
The syntax is best shown via some examples: >
:browse e $vim/foo
@@ -1310,11 +1344,14 @@ There are a few things to remember when editing binary files:
Vim is able to write files encrypted, and read them back. The encrypted text
cannot be read without the right key.
{only available when compiled with the |+cryptv| feature} *E833*
Note: The swapfile and text in memory is not encrypted. A system
administrator will be able to see your text while you are editing it.
When filtering text with ":!filter" or using ":w !command" the text is not
encrypted, this may reveal it to others.
The text in the swap file and the undo file is also encrypted. *E843*
Note: The text in memory is not encrypted. A system administrator may be able
to see your text while you are editing it. When filtering text with
":!filter" or using ":w !command" the text is not encrypted, this may reveal
it to others. The 'viminfo' file is not encrypted.
WARNING: If you make a typo when entering the key and then write the file and
exit, the text will be lost!
@@ -1340,10 +1377,38 @@ the file is encrypted.
To disable the encryption, reset the 'key' option to an empty value: >
:set key=
When reading a file that has been encrypted and this option is not empty, it
will be used for decryption. If the value is empty, you will be prompted to
enter the key. If you don't enter a key, the file is edited without being
decrypted.
You can use the 'cryptmethod' option to select the type of encryption, use one
of these two: >
:setlocal cm=zip " weak method, backwards compatible
:setlocal cm=blowfish " strong method
Do this before writing the file. When reading an encrypted file it will be
set automatically to the method used when that file was written. You can
change 'cryptmethod' before writing that file to change the method.
To set the default method, used for new files, use one of these in your
|vimrc| file: >
set cm=zip
set cm=blowfish
The message given for reading and writing a file will show "[crypted]" when
using zip, "[blowfish]" when using blowfish.
When writing an undo file, the same key and method will be used for the text
in the undo file. |persistent-undo|.
*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
check if the encryption works as expected. If you get one of these errors
don't write the file encrypted! You need to rebuild the Vim binary to fix
this.
*E831* This is an internal error, "cannot happen". If you can reproduce it,
please report to the developers.
When reading a file that has been encrypted and the 'key' option is not empty,
it will be used for decryption. If the value is empty, you will be prompted
to enter the key. If you don't enter a key, or you enter the wrong key, the
file is edited without being decrypted. There is no warning about using the
wrong key (this makes brute force methods to find the key more difficult).
If want to start reading a file that uses a different key, set the 'key'
option to an empty string, so that Vim will prompt for a new one. Don't use
@@ -1353,10 +1418,13 @@ your shoulder.
Since the value of the 'key' option is supposed to be a secret, its value can
never be viewed. You should not set this option in a vimrc file.
An encrypted file can be recognized by the "file" command, if you add this
line to "/etc/magic", "/usr/share/misc/magic" or wherever your system has the
An encrypted file can be recognized by the "file" command, if you add these
lines to "/etc/magic", "/usr/share/misc/magic" or wherever your system has the
"magic" file: >
0 string VimCrypt~ Vim encrypted file
>9 string 01 - "zip" cryptmethod
>9 string 02 - "blowfish" cryptmethod
Notes:
- Encryption is not possible when doing conversion with 'charconvert'.
@@ -1371,13 +1439,15 @@ Notes:
history, showing the 'key' value in a viminfo file.
- There is never 100% safety. The encryption in Vim has not been tested for
robustness.
- The algorithm used is breakable. A 4 character key in about one hour, a 6
character key in one day (on a Pentium 133 PC). This requires that you know
some text that must appear in the file. An expert can break it for any key.
When the text has been decrypted, this also means that the key can be
revealed, and other files encrypted with the same key can be decrypted.
- Pkzip uses the same encryption, and US Govt has no objection to its export.
Pkzip's public file APPNOTE.TXT describes this algorithm in detail.
- The algorithm used for 'cryptmethod' "zip" is breakable. A 4 character key
in about one hour, a 6 character key in one day (on a Pentium 133 PC). This
requires that you know some text that must appear in the file. An expert
can break it for any key. When the text has been decrypted, this also means
that the key can be revealed, and other files encrypted with the same key
can be decrypted.
- Pkzip uses the same encryption as 'cryptmethod' "zip", and US Govt has no
objection to its export. Pkzip's public file APPNOTE.TXT describes this
algorithm in detail.
- Vim originates from the Netherlands. That is where the sources come from.
Thus the encryption code is not exported from the USA.
@@ -1438,6 +1508,17 @@ If you don't get warned often enough you can use the following command.
may be specified by name, number or with a pattern.
*E813* *E814*
Vim will reload the buffer if you chose to. If a window is visible that
contains this buffer, the reloading will happen in the context of this window.
Otherwise a special window is used, so that most autocommands will work. You
can't close this window. A few other restrictions apply. Best is to make
sure nothing happens outside of the current buffer. E.g., setting
window-local options may end up in the wrong window. Splitting the window,
doing something there and closing it should be OK (if there are no side
effects from other autocommands). Closing unrelated windows and buffers will
get you into trouble.
Before writing a file the timestamp is checked. If it has changed, Vim will
ask if you really want to overwrite the file:
@@ -1469,21 +1550,25 @@ problem goes away the next day.
{not available when compiled without the |+path_extra| feature}
The file searching is currently used for the 'path', 'cdpath' and 'tags'
options, for |finddir()| and |findfile()|.
options, for |finddir()| and |findfile()|. Other commands use |wildcards|
which is slightly different.
There are three different types of searching:
1) Downward search: *starstar*
Downward search uses the wildcards '*', '**' and possibly others
supported by your operating system. '*' and '**' are handled inside Vim, so
they work on all operating systems.
supported by your operating system. '*' and '**' are handled inside Vim,
so they work on all operating systems. Note that "**" only acts as a
special wildcard when it is at the start of a name.
The usage of '*' is quite simple: It matches 0 or more characters.
The usage of '*' is quite simple: It matches 0 or more characters. In a
search pattern this would be ".*". Note that the "." is not used for file
searching.
'**' is more sophisticated:
- It ONLY matches directories.
- It matches up to 30 directories deep, so you can use it to search an
entire directory tree
- It matches up to 30 directories deep by default, so you can use it to
search an entire directory tree
- The maximum number of levels matched can be given by appending a number
to '**'.
Thus '/usr/**2' can match: >
@@ -1496,15 +1581,16 @@ There are three different types of searching:
....
< It does NOT match '/usr/include/g++/std' as this would be three
levels.
The allowed number range is 0 ('**0' is removed) to 255.
The allowed number range is 0 ('**0' is removed) to 100
If the given number is smaller than 0 it defaults to 30, if it's
bigger than 255 it defaults to 255.
bigger than 100 then 100 is used. The system also has a limit on the
path length, usually 256 or 1024 bytes.
- '**' can only be at the end of the path or be followed by a path
separator or by a number and a path separator.
You can combine '*' and '**' in any order: >
/usr/**/sys/*
/usr/*/sys/**
/usr/*tory/sys/**
/usr/**2/sys/*
2) Upward search:
@@ -1546,10 +1632,13 @@ There are three different types of searching:
In the above example you might want to set path to: >
:set path=**,/u/user_x/**
< This searches: >
/u/user_x/work/release/**
/u/user_x/**
< This searches the same directories, but in a different order.
< This searches:
/u/user_x/work/release/** ~
/u/user_x/** ~
This searches the same directories, but in a different order.
Note that completion for ":find", ":sfind", and ":tabfind" commands do not
currently work with 'path' items that contain a url or use the double star
(/usr/**2) or upward search (;) notations. >
vim:tw=78:ts=8:ft=help:norl:
+1273 -432
View File
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -17,10 +17,10 @@ e imposta le opzioni per farlo comportare come un editore "modeless".
State sempre usando Vim, ma come un editore "posizionati-e-clicca".
Simile all'uso di Notepad in MS-Windows.
.B evim
richiede la presenza della GUI, per avere a disposizione menu e barra
richiede la presenza della GUI, per avere a disposizione menù e barra
strumenti.
.PP
Da usarsi solo da parte di chi non è in grado di lavorare con Vim nella
Da usarsi soltanto se non si è in grado di lavorare con Vim nella
maniera usuale.
La modifica file sarà molto meno efficiente.
.PP
@@ -34,7 +34,7 @@ L'opzione 'insertmode'
Sono definite delle mappature che consentono di usare COPIA e INCOLLA con i
familiari tasti usati sotto MS-Windows.
CTRL-X taglia testo, CTRL-C copia testo e CTRL-V incolla testo.
Usate CTRL-Q per ottenere quello chs si ottierrebbe con CTRL-V in Vim nativo.
Usate CTRL-Q per ottenere quello che si otterrebbe con CTRL-V in Vim nativo.
.SH OPZIONI
Vedere vim(1).
.SH FILE
@@ -51,4 +51,4 @@ vim(1)
Buona parte di
.B Vim
è stato scritto da Bram Moolenaar, con molto aiuto da altri.
Vedere il Menu "Aiuto/Crediti".
Vedere il menù "Aiuto/Crediti".
+4 -4
View File
@@ -17,10 +17,10 @@ e imposta le opzioni per farlo comportare come un editore "modeless".
State sempre usando Vim, ma come un editore "posizionati-e-clicca".
Simile all'uso di Notepad in MS-Windows.
.B evim
richiede la presenza della GUI, per avere a disposizione menu e barra
richiede la presenza della GUI, per avere a disposizione menù e barra
strumenti.
.PP
Da usarsi solo da parte di chi non è in grado di lavorare con Vim nella
Da usarsi soltanto se non si è in grado di lavorare con Vim nella
maniera usuale.
La modifica file sarà molto meno efficiente.
.PP
@@ -34,7 +34,7 @@ L'opzione 'insertmode' è impostata per poter immettere del testo direttamente.
Sono definite delle mappature che consentono di usare COPIA e INCOLLA con i
familiari tasti usati sotto MS-Windows.
CTRL-X taglia testo, CTRL-C copia testo e CTRL-V incolla testo.
Usate CTRL-Q per ottenere quello chs si ottierrebbe con CTRL-V in Vim nativo.
Usate CTRL-Q per ottenere quello che si otterrebbe con CTRL-V in Vim nativo.
.SH OPZIONI
Vedere vim(1).
.SH FILE
@@ -51,4 +51,4 @@ vim(1)
Buona parte di
.B Vim
è stato scritto da Bram Moolenaar, con molto aiuto da altri.
Vedere il Menu "Aiuto/Crediti".
Vedere il menù "Aiuto/Crediti".
+5 -5
View File
@@ -14,11 +14,11 @@ uruchamia
.B Vima
i ustawia opcje tak by zachowywał się jak edytor bez trybów.
To jest cały czas Vim ale używany jako edytor wskaż-i-kliknij.
Zachowanie w stlu Notepada dla MS-Windows.
Zachowanie w stylu Notepada dla MS-Windows.
.B eVim
będzie zawsze uruchomiony w GUI by włączyć menu i pasek narzędzi.
.PP
Przeznaczony tylko dla ludzi, którzy naprawdę nie potrafią pracować
Przeznaczony tylko dla ludzi, którzy naprawdę nie mogą pracować
z Vimem w normalny sposób. Edycja będzie o wiele mniej efektywna.
.PP
.B eview
@@ -31,8 +31,8 @@ Opcja 'insertmode' jest ustawiona by mo
tekst.
.br
Mapowania są ustawione tak by Kopiowanie i Wklejanie działało
z klawiszami MS-Windows. CTRL-X wycina tekst, CTRL-C kopiuje
a CTRL-V wkleja. Użyj CTRL-Q by uzyskać oryginalne znaczenie
z klawiszami MS-Windows. CTRL-X wycina, CTRL-C kopiuje a CTRL-V
wkleja tekst. Użyj CTRL-Q by uzyskać oryginalne przeznaczenie
CTRL-V.
.SH OPCJE
Zobacz vim(1).
@@ -42,7 +42,7 @@ Zobacz vim(1).
Skrypt uruchamiania dla eVima.
.SH ZNANY JAKO
Znany jako "Vim dla frajerów".
Jeśli używasz evima oczekuje się, że wyjmiesz chusteczkę do nosa,
Jeśli używasz eVima oczekuje się, że wyjmiesz chusteczkę do nosa,
zrobisz węzęł w każdym rogu i będziesz to nosił na głowie.
.SH ZOBACZ TAKŻE
vim(1)
+5 -5
View File
@@ -14,11 +14,11 @@ uruchamia
.B Vima
i ustawia opcje tak by zachowywał się jak edytor bez trybów.
To jest cały czas Vim ale używany jako edytor wskaż-i-kliknij.
Zachowanie w stlu Notepada dla MS-Windows.
Zachowanie w stylu Notepada dla MS-Windows.
.B eVim
będzie zawsze uruchomiony w GUI by włączyć menu i pasek narzędzi.
.PP
Przeznaczony tylko dla ludzi, którzy naprawdę nie potrafią pracować
Przeznaczony tylko dla ludzi, którzy naprawdę nie mogą pracować
z Vimem w normalny sposób. Edycja będzie o wiele mniej efektywna.
.PP
.B eview
@@ -31,8 +31,8 @@ Opcja 'insertmode' jest ustawiona by można było od razu wpisywać
tekst.
.br
Mapowania są ustawione tak by Kopiowanie i Wklejanie działało
z klawiszami MS-Windows. CTRL-X wycina tekst, CTRL-C kopiuje
a CTRL-V wkleja. Użyj CTRL-Q by uzyskać oryginalne znaczenie
z klawiszami MS-Windows. CTRL-X wycina, CTRL-C kopiuje a CTRL-V
wkleja tekst. Użyj CTRL-Q by uzyskać oryginalne przeznaczenie
CTRL-V.
.SH OPCJE
Zobacz vim(1).
@@ -42,7 +42,7 @@ Zobacz vim(1).
Skrypt uruchamiania dla eVima.
.SH ZNANY JAKO
Znany jako "Vim dla frajerów".
Jeśli używasz evima oczekuje się, że wyjmiesz chusteczkę do nosa,
Jeśli używasz eVima oczekuje się, że wyjmiesz chusteczkę do nosa,
zrobisz węzęł w każdym rogu i będziesz to nosił na głowie.
.SH ZOBACZ TAKŻE
vim(1)
+3 -3
View File
@@ -1,4 +1,4 @@
*farsi.txt* For Vim version 7.1. Last change: 2005 Mar 29
*farsi.txt* For Vim version 7.3. Last change: 2010 Aug 07
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
@@ -62,8 +62,8 @@ o Toggling between Farsi ISIR-3342 standard encoding and Vim Farsi via F9
Farsi Fonts *farsi fonts*
-----------
If the "extra" archive has been unpacked, the following files are found in the
subdirectories of the '$VIM/farsi' directory:
The following files are found in the subdirectories of the '$VIM/farsi/fonts'
directory:
+ far-a01.pcf X Windows fonts for Unix including Linux systems
+ far-a01.bf X Windows fonts for SunOS
+54 -9
View File
@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 7.1. Last change: 2007 May 10
*filetype.txt* For Vim version 7.3. Last change: 2011 Jun 19
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -55,7 +55,7 @@ filetype prepend "ft-" and optionally append "-syntax", "-indent" or
If the file type is not detected automatically, or it finds the wrong type,
you can either set the 'filetype' option manually, or add a modeline to your
file. Example, for in an IDL file use the command: >
file. Example, for an IDL file use the command: >
:set filetype=idl
or add this |modeline| to the file:
@@ -122,7 +122,7 @@ The file types are also used for syntax highlighting. If the ":syntax on"
command is used, the file type detection is installed too. There is no need
to do ":filetype on" after ":syntax on".
To disable one of the file types, add a line in the your filetype file, see
To disable one of the file types, add a line in your filetype file, see
|remove-filetype|.
*filetype-detect*
@@ -270,6 +270,9 @@ directories!
*autocmd-osfiletypes*
NOTE: this code is currently disabled, as the RISC OS implementation was
removed. In the future this will use the 'filetype' option.
On operating systems which support storing a file type with the file, you can
specify that an autocommand should only be executed if the file is of a
certain type.
@@ -284,8 +287,8 @@ match in angle brackets in place of a pattern, like this: >
This will match:
- Any file whose name ends in `.html'
- Any file whose type is `&faf' or 'HTML', where the meaning of these types
- Any file whose name ends in ".html"
- Any file whose type is "&faf" or "HTML", where the meaning of these types
depends on which version of Vim you are using.
Unknown types are considered NOT to match.
@@ -294,10 +297,8 @@ must both match): >
:au BufRead <&fff>diff*
This will match files of type `&fff' whose names start with `diff'.
This will match files of type "&fff" whose names start with "diff".
Note that osfiletype checking is skipped if Vim is compiled without the
|+osfiletype| feature.
*plugin-details*
The "plugin" directory can be in any of the directories in the 'runtimepath'
@@ -482,6 +483,29 @@ g:changelog_date_end_entry_search
The default is '^\s*$' which finds lines that contain
only whitespace or are completely empty.
b:changelog_name *b:changelog_name*
Name of the ChangeLog file to look for.
The default is 'ChangeLog'.
b:changelog_path
Path of the ChangeLog to use for the current buffer.
The default is empty, thus looking for a file named
|b:changelog_name| in the same directory as the
current buffer. If not found, the parent directory of
the current buffer is searched. This continues
recursively until a file is found or there are no more
parent directories to search.
b:changelog_entry_prefix
Name of a function to call to generate a prefix to a
new entry. This function takes no arguments and
should return a string containing the prefix.
Returning an empty prefix is fine.
The default generates the shortest path between the
ChangeLog's pathname and the current buffers pathname.
In the future, it will also be possible to use other
variable contexts for this variable, for example, g:.
The Changelog entries are inserted where they add the least amount of text.
After figuring out the current date and user, the file is searched for an
entry beginning with the current date and user and if found adds another item
@@ -502,6 +526,13 @@ For further discussion of fortran_have_tabs and the method used for the
detection of source format see |ft-fortran-syntax|.
GIT COMMIT *ft-gitcommit-plugin*
One command, :DiffGitCached, is provided to show a diff of the current commit
in the preview window. It is equivalent to calling "git diff --cached" plus
any arguments given to the command.
MAIL *ft-mail-plugin*
Options:
@@ -546,6 +577,20 @@ CTRL-] Jump to the manual page for the word under the cursor.
CTRL-T Jump back to the previous manual page.
PDF *ft-pdf-plugin*
Two maps, <C-]> and <C-T>, are provided to simulate a tag stack for navigating
the PDF. The following are treated as tags:
- The byte offset after "startxref" to the xref table
- The byte offset after the /Prev key in the trailer to an earlier xref table
- A line of the form "0123456789 00000 n" in the xref table
- An object reference like "1 0 R" anywhere in the PDF
These maps can be disabled with >
:let g:no_pdf_maps = 1
<
RPM SPEC *ft-spec-plugin*
Since the text for this plugin is rather long it has been put in a separate
@@ -555,7 +600,7 @@ file: |pi_spec.txt|.
SQL *ft-sql*
Since the text for this plugin is rather long it has been put in a separate
file: |sql.txt|.
file: |ft_sql.txt|.
TEX *ft-tex-plugin*
+16 -9
View File
@@ -1,10 +1,10 @@
*fold.txt* For Vim version 7.1. Last change: 2007 May 11
*fold.txt* For Vim version 7.3. Last change: 2010 May 13
VIM REFERENCE MANUAL by Bram Moolenaar
Folding *Folding* *folding*
Folding *Folding* *folding* *folds*
You can find an introduction on folding in chapter 28 of the user manual.
|usr_28.txt|
@@ -15,7 +15,7 @@ You can find an introduction on folding in chapter 28 of the user manual.
4. Behavior of folds |fold-behavior|
{Vi has no Folding}
{not available when compiled without the +folding feature}
{not available when compiled without the |+folding| feature}
==============================================================================
1. Fold methods *fold-methods*
@@ -60,7 +60,7 @@ level form a fold, with the lines with a higher level forming a nested fold.
The nesting of folds is limited with 'foldnestmax'.
Some lines are ignored and get the fold level of the line above or below it,
whatever is the lowest. These are empty or white lines and lines starting
whichever is lower. These are empty or white lines and lines starting
with a character in 'foldignore'. White space is skipped before checking for
characters in 'foldignore'. For C use "#" to ignore preprocessor lines.
@@ -127,6 +127,9 @@ fold level. But note that foldlevel() may return -1 if the level is not known
yet. And it returns the level at the start of the line, while a fold might
end in that line.
It may happened that folds are not updated properly. You can use |zx| or |zX|
to force updating folds.
SYNTAX *fold-syntax*
@@ -274,7 +277,7 @@ zf{motion} or
Also see |fold-create-marker|.
*zF*
zF Create a fold for N lines. Works like "zf".
zF Create a fold for [count] lines. Works like "zf".
:{range}fo[ld] *:fold* *:fo*
Create a fold for the lines in {range}. Works like "zf".
@@ -352,9 +355,13 @@ zv View cursor line: Open just enough folds to make the line in
*zx*
zx Update folds: Undo manually opened and closed folds: re-apply
'foldlevel', then do "zv": View cursor line.
Also forces recomputing folds. This is useful when using
'foldexpr' and the buffer is changed in a way that results in
folds not to be updated properly.
*zX*
zX Undo manually opened and closed folds: re-apply 'foldlevel'.
Also forces recomputing folds, like |zx|.
*zm*
zm Fold more: Subtract one from 'foldlevel'. If 'foldlevel' was
@@ -399,24 +406,24 @@ MOVING OVER FOLDS ~
[z Move to the start of the current open fold. If already at the
start, move to the start of the fold that contains it. If
there is no containing fold, the command fails.
When a count is used, repeats the command N times.
When a count is used, repeats the command [count] times.
*]z*
]z Move to the end of the current open fold. If already at the
end, move to the end of the fold that contains it. If there
is no containing fold, the command fails.
When a count is used, repeats the command N times.
When a count is used, repeats the command [count] times.
*zj*
zj Move downwards to the start of the next fold. A closed fold
is counted as one fold.
When a count is used, repeats the command N times.
When a count is used, repeats the command [count] times.
This command can be used after an |operator|.
*zk*
zk Move upwards to the end of the previous fold. A closed fold
is counted as one fold.
When a count is used, repeats the command N times.
When a count is used, repeats the command [count] times.
This command can be used after an |operator|.
+57 -57
View File
@@ -1,4 +1,4 @@
*ada.txt* For Vim version 7.1. Last change: 2007 May 08
*ft_ada.txt* For Vim version 7.3. Last change: 2010 Jul 20
ADA FILE TYPE PLUG-INS REFERENCE MANUAL~
@@ -6,20 +6,20 @@
ADA *ada.vim*
1. Syntax Highlighting |ft-ada-syntax|
2. Plug-in |ft-ada-plugin|
2. File type Plug-in |ft-ada-plugin|
3. Omni Completion |ft-ada-omni|
3.1 Omni Completion with "gnat xref" |gnat-xref|
3.2 Omni Completion with "ctags" |ada-ctags|
4. Compiler Support |ada-compiler|
4.1 GNAT |compiler-gnat|
4.1 Dec Ada |compiler-decada|
4.2 Dec Ada |compiler-decada|
5. References |ada-reference|
5.1 Options |ft-ada-options|
5.2 Functions |ft-ada-functions|
5.3 Commands |ft-ada-commands|
5.4 Variables |ft-ada-variables|
5.5 Constants |ft-ada-constants|
8. Extra Plug-ins |ada-extra-plugins|
5.2 Commands |ft-ada-commands|
5.3 Variables |ft-ada-variables|
5.4 Constants |ft-ada-constants|
5.5 Functions |ft-ada-functions|
6. Extra Plug-ins |ada-extra-plugins|
==============================================================================
1. Syntax Highlighting ~
@@ -45,7 +45,7 @@ to change how loops are displayed, enter the command ":hi Repeat" followed by
the colour specification; on simple terminals the colour specification
ctermfg=White often shows well).
There are several options you can select in this Ada mode. See|ft-ada-options|
There are several options you can select in this Ada mode. See |ft-ada-options|
for a complete list.
To enable them, assign a value to the option. For example, to turn one on:
@@ -82,7 +82,7 @@ The Ada plug-in provides support for:
- comment handling (|'comments'|, |'commentstring'|)
The plug-in only activates the features of the Ada mode whenever an Ada
files is opened and add adds Ada related entries to the main and pop-up menu.
file is opened and adds Ada related entries to the main and pop-up menu.
==============================================================================
3. Omni Completion ~
@@ -97,10 +97,10 @@ tags file.
3.1 Omni Completion with "gnat xref" ~
*gnat-xref*
GNAT XREF uses the compiler internal informations (ali-files) to produce the
GNAT XREF uses the compiler internal information (ali-files) to produce the
tags file. This has the advantage to be 100% correct and the option of deep
nested analysis. However the code must compile, the generator is quite
slow and the created tags file contains only the basic Ctags informations for
slow and the created tags file contains only the basic Ctags information for
each entry - not enough for some of the more advanced Vim code browser
plug-ins.
@@ -126,7 +126,7 @@ NOTE: "gnat xref -v" is very tricky to use as it has almost no diagnostic
*ada-ctags*
Exuberant Ctags uses its own multi-language code parser. The parser is quite
fast, produces a lot of extra informations (hence the name "Exuberant Ctags")
fast, produces a lot of extra information (hence the name "Exuberant Ctags")
and can run on files which currently do not compile.
There are also lots of other Vim-tools which use exuberant Ctags.
@@ -139,11 +139,11 @@ The Ada parser for Exuberant Ctags is fairly new - don't expect complete
support yet.
==============================================================================
4. Compiler Support ~
4. Compiler Support ~
*ada-compiler*
The Ada mode supports more then one Ada compiler and will automatically load the
compiler set in|g:ada_default_compiler|whenever an Ada source is opened. The
The Ada mode supports more than one Ada compiler and will automatically load the
compiler set in |g:ada_default_compiler| whenever an Ada source is opened. The
provided compiler plug-ins are split into the actual compiler plug-in and a
collection of support functions and variables. This allows the easy
development of specialized compiler plug-ins fine tuned to your development
@@ -154,7 +154,7 @@ environment.
*compiler-gnat*
GNAT is the only free (beer and speech) Ada compiler available. There are
several version available which differentiate in the licence terms used.
several versions available which differ in the licence terms used.
The GNAT compiler plug-in will perform a compile on pressing <F7> and then
immediately shows the result. You can set the project file to be used by
@@ -163,7 +163,7 @@ setting:
> call g:gnat.Set_Project_File ('my_project.gpr')
Setting a project file will also create a Vim session (|views-sessions|) so -
like with the GPS - opened files, window positions etc. will remembered
like with the GPS - opened files, window positions etc. will be remembered
separately for all projects.
*gnat_members*
@@ -171,20 +171,20 @@ GNAT OBJECT ~
*g:gnat.Make()*
g:gnat.Make()
Calls|g:gnat.Make_Command|and displays the result inside a
Calls |g:gnat.Make_Command| and displays the result inside a
|quickfix| window.
*g:gnat.Pretty()*
g:gnat.Pretty()
Calls|g:gnat.Pretty_Command|
Calls |g:gnat.Pretty_Program|
*g:gnat.Find()*
g:gnat.Find()
Calls|g:gnat.Find_Command|
Calls |g:gnat.Find_Program|
*g:gnat.Tags()*
g:gnat.Tags()
Calls|g:gnat.Tags_Command|
Calls |g:gnat.Tags_Command|
*g:gnat.Set_Project_File()*
g:gnat.Set_Project_File([{file}])
@@ -200,19 +200,19 @@ g:gnat.Project_File string
*g:gnat.Make_Command*
g:gnat.Make_Command string
External command used for|g:gnat.Make()| (|'makeprg'|).
External command used for |g:gnat.Make()| (|'makeprg'|).
*g:gnat.Pretty_Program*
g:gnat.Pretty_Program string
External command used for|g:gnat.Pretty()|
External command used for |g:gnat.Pretty()|
*g:gnat.Find_Program*
g:gnat.Find_Program string
External command used for|g:gnat.Find()|
External command used for |g:gnat.Find()|
*g:gnat.Tags_Command*
g:gnat.Tags_Command string
External command used for|g:gnat.Tags()|
External command used for |g:gnat.Tags()|
*g:gnat.Error_Format*
g:gnat.Error_Format string
@@ -228,17 +228,17 @@ and HP Ada) is a fairly dated Ada 83 compiler. Support is basic: <F7> will
compile the current unit.
The Dec Ada compiler expects the package name and not the file name to be
passed a parameter. The compiler plug-in supports the usual file name
convention to convert the file into a unit name. For separates both '-' and
'__' are allowed.
passed as a parameter. The compiler plug-in supports the usual file name
convention to convert the file into a unit name. Both '-' and '__' are allowed
as separators.
*decada_members*
DEC ADA OBJECT ~
*g:decada.Make()*
g:decada.Make() function
Calls|g:decada.Make_Command|and displays the result inside a
|quickfix| window.
Calls |g:decada.Make_Command| and displays the result inside a
|quickfix| window.
*g:decada.Unit_Name()*
g:decada.Unit_Name() function
@@ -246,7 +246,7 @@ g:decada.Unit_Name() function
*g:decada.Make_Command*
g:decada.Make_Command string
External command used for|g:decadat.Make()| (|'makeprg'|).
External command used for |g:decada.Make()| (|'makeprg'|).
*g:decada.Error_Format*
g:decada.Error_Format| string
@@ -262,7 +262,7 @@ g:decada.Error_Format| string
*g:ada_standard_types*
g:ada_standard_types bool (true when exists)
Highlight types in package Standard (e.g., "Float")
Highlight types in package Standard (e.g., "Float").
*g:ada_space_errors*
*g:ada_no_trail_space_error*
@@ -279,13 +279,13 @@ g:ada_space_errors bool (true when exists)
*g:ada_line_errors*
g:ada_line_errors bool (true when exists)
Highlight lines which are to long. Note: This highlighting
Highlight lines which are too long. Note: This highlighting
option is quite CPU intensive.
*g:ada_rainbow_color*
g:ada_rainbow_color bool (true when exists)
Use rainbow colours for '(' and ')'. You need the
rainbow_parenthesis for this to work
rainbow_parenthesis for this to work.
*g:ada_folding*
g:ada_folding set ('sigpft')
@@ -313,7 +313,7 @@ g:ada_folding set ('sigpft')
*g:ada_abbrev*
g:ada_abbrev bool (true when exists)
Add some abbreviations. This feature more or less superseded
Add some abbreviations. This feature is more or less superseded
by the various completion methods.
*g:ada_withuse_ordinary*
@@ -359,23 +359,23 @@ g:ada_with_gnat_project_files bool (true when exists)
*g:ada_default_compiler*
g:ada_default_compiler string
set default compiler. Currently supported is 'gnat' and
set default compiler. Currently supported are 'gnat' and
'decada'.
An "exists" type is a boolean is considered true when the variable is defined
and false when the variable is undefined. The value which the variable is
set makes no difference.
An "exists" type is a boolean considered true when the variable is defined and
false when the variable is undefined. The value to which the variable is set
makes no difference.
------------------------------------------------------------------------------
5.3 Commands ~
5.2 Commands ~
*ft-ada-commands*
:AdaRainbow *:AdaRainbow*
Toggles rainbow colour (|g:ada_rainbow_color|) mode for
'(' and ')'
'(' and ')'.
:AdaLines *:AdaLines*
Toggles line error (|g:ada_line_errors|) display
Toggles line error (|g:ada_line_errors|) display.
:AdaSpaces *:AdaSpaces*
Toggles space error (|g:ada_space_errors|) display.
@@ -406,15 +406,15 @@ set makes no difference.
g:gnat object
Control object which manages GNAT compiles. The object
is created when the first Ada source code is loaded provided
that |g:ada_default_compiler|is set to 'gnat'. See|gnat_members|
for details.
that |g:ada_default_compiler| is set to 'gnat'. See
|gnat_members| for details.
*g:decada*
g:decada object
Control object which manages Dec Ada compiles. The object
is created when the first Ada source code is loaded provided
that |g:ada_default_compiler|is set to 'decada'. See
|decada_members|for details.
that |g:ada_default_compiler| is set to 'decada'. See
|decada_members| for details.
------------------------------------------------------------------------------
5.4 Constants ~
@@ -424,7 +424,7 @@ All constants are locked. See |:lockvar| for details.
*g:ada#WordRegex*
g:ada#WordRegex string
Regular expression to search for Ada words
Regular expression to search for Ada words.
*g:ada#DotWordRegex*
g:ada#DotWordRegex string
@@ -432,7 +432,7 @@ g:ada#DotWordRegex string
*g:ada#Comment*
g:ada#Comment string
Regular expression to search for Ada comments
Regular expression to search for Ada comments.
*g:ada#Keywords*
g:ada#Keywords list of dictionaries
@@ -445,7 +445,7 @@ g:ada#Ctags_Kinds dictionary of lists
for Ctags generates.
------------------------------------------------------------------------------
5.2 Functions ~
5.5 Functions ~
*ft-ada-functions*
ada#Word([{line}, {col}]) *ada#Word()*
@@ -454,7 +454,7 @@ ada#Word([{line}, {col}]) *ada#Word()*
ada#List_Tag([{line}, {col}]) *ada#Listtags()*
List all occurrences of the Ada entity under the cursor (or at
given line/column) inside the quick-fix window
given line/column) inside the quick-fix window.
ada#Jump_Tag ({ident}, {mode}) *ada#Jump_Tag()*
List all occurrences of the Ada entity under the cursor (or at
@@ -467,7 +467,7 @@ ada#Create_Tags ({option}) *ada#Create_Tags()*
file or a file name.
gnat#Insert_Tags_Header() *gnat#Insert_Tags_Header()*
Adds the tag file header (!_TAG_) informations to the current
Adds the tag file header (!_TAG_) information to the current
file which are missing from the GNAT XREF output.
ada#Switch_Syntax_Option ({option}) *ada#Switch_Syntax_Option()*
@@ -479,11 +479,11 @@ gnat#New ()
==============================================================================
8. Extra Plugins ~
6. Extra Plugins ~
*ada-extra-plugins*
You can optionally install the following extra plug-in. They work well with Ada
and enhance the ability of the Ada mode.:
You can optionally install the following extra plug-ins. They work well with
Ada and enhance the ability of the Ada mode:
backup.vim
http://www.vim.org/scripts/script.php?script_id=1537
@@ -501,7 +501,7 @@ nerd_comments.vim
matchit.vim
http://www.vim.org/scripts/script.php?script_id=39
'%' jumping for any language. The normal '%' jump only works for '{}'
style languages. The Ada mode will set the needed search patters.
style languages. The Ada mode will set the needed search patterns.
taglist.vim
http://www.vim.org/scripts/script.php?script_id=273
@@ -512,4 +512,4 @@ contains all of the above.
==============================================================================
vim: textwidth=78 nowrap tabstop=8 shiftwidth=4 softtabstop=4 noexpandtab
vim: filetype=help encoding=latin1
vim: filetype=help
+55 -42
View File
@@ -1,4 +1,4 @@
*sql.txt* For Vim version 7.1. Last change: Wed Apr 26 2006 3:05:33 PM
*ft_sql.txt* For Vim version 7.3. Last change: 2010 Jul 20
by David Fishburn
@@ -15,7 +15,8 @@ features for navigation, indentation and syntax highlighting.
1.4 Macros |sql-macros|
2. SQL Dialects |sql-dialects|
2.1 SQLSetType |SQLSetType|
2.2 SQL Dialect Default |sql-type-default|
2.2 SQLGetType |SQLGetType|
2.3 SQL Dialect Default |sql-type-default|
3. Adding new SQL Dialects |sql-adding-dialects|
4. OMNI SQL Completion |sql-completion|
4.1 Static mode |sql-completion-static|
@@ -204,7 +205,7 @@ Press any of the following keys: >
*sqlanywhere*
*oracle* *plsql* *sqlj*
*sqlserver*
*mysql* *postgres* *psql*
*mysql* *postgresql* *psql*
*informix*
All relational databases support SQL. There is a portion of SQL that is
@@ -231,7 +232,7 @@ be nice to specify a default in your |vimrc|.
2.1 SQLSetType *sqlsettype* *SQLSetType*
--------------
For the people that work with many different databases, it would be nice to be
For the people that work with many different databases, it is nice to be
able to flip between the various vendors rules (indent, syntax) on a per
buffer basis, at any time. The ftplugin/sql.vim file defines this function: >
SQLSetType
@@ -259,7 +260,17 @@ of available Vim script names: >
:SQL<Tab><space><Tab>
2.2 SQL Dialect Default *sql-type-default*
2.2 SQLGetType *sqlgettype* *SQLGetType*
--------------
At anytime you can determine which SQL dialect you are using by calling the
SQLGetType command. The ftplugin/sql.vim file defines this function: >
SQLGetType
This will echo: >
Current SQL dialect in use:sqlanywhere
2.3 SQL Dialect Default *sql-type-default*
-----------------------
As mentioned earlier, the default syntax rules for Vim is based on Oracle
(PL/SQL). You can override this default by placing one of the following in
@@ -331,6 +342,10 @@ The defaults static maps are: >
imap <buffer> <C-C>T <C-\><C-O>:call sqlcomplete#Map('sqlType')<CR><C-X><C-O>
imap <buffer> <C-C>s <C-\><C-O>:call sqlcomplete#Map('sqlStatement')<CR><C-X><C-O>
The use of "<C-C>" can be user chosen by using the following in your |.vimrc| as it
may not work properly on all platforms: >
let g:ftplugin_sql_omni_key = '<C-C>'
>
The static maps (which are based on the syntax highlight groups) follow this
format: >
imap <buffer> <C-C>k <C-\><C-O>:call sqlcomplete#Map('sqlKeyword')<CR><C-X><C-O>
@@ -406,21 +421,25 @@ to display a list of tables, procedures, views and columns. >
To enable the popup, while in INSERT mode, use the following key combinations
for each group (where <C-C> means hold the CTRL key down while pressing
the space bar):
Table List - <C-C>t
- <C-X><C-O> (the default map assumes tables)
Stored Procedure List - <C-C>p
View List - <C-C>v
Column List - <C-C>c
Table List - <C-C>t
- <C-X><C-O> (the default map assumes tables)
Stored Procedure List - <C-C>p
View List - <C-C>v
Column List - <C-C>c
Windows platform only - When viewing a popup window displaying the list
of tables, you can press <C-Right>, this will
replace the table currently highlighted with
the column list for that table.
- When viewing a popup window displaying the list
of columns, you can press <C-Left>, this will
replace the column list with the list of tables.
- This allows you to quickly drill down into a
table to view it's columns and back again.
Drilling In / Out - When viewing a popup window displaying the list
of tables, you can press <Right>, this will
replace the table currently highlighted with
the column list for that table.
- When viewing a popup window displaying the list
of columns, you can press <Left>, this will
replace the column list with the list of tables.
- This allows you to quickly drill down into a
table to view it's columns and back again.
- <Right> and <Left> can be also be chosen via
your |.vimrc| >
let g:ftplugin_sql_omni_key_right = '<Right>'
let g:ftplugin_sql_omni_key_left = '<Left>'
The SQL completion plugin caches various lists that are displayed in
the popup window. This makes the re-displaying of these lists very
@@ -498,38 +517,32 @@ beginning with those characters. >
The SQL completion plugin can also display a list of columns for particular
tables. The column completion is trigger via <C-C>c.
NOTE: The following example uses <C-Right> to trigger a column list while
the popup window is active. This map is only available on the Windows
platforms since *nix does not recognize CTRL and the right arrow held down
together. If you wish to enable this functionality on a *nix platform choose
a key and create one of these mappings (see |sql-completion-maps| for further
details on where to create this imap): >
imap <buffer> <your_keystroke> <C-R>=sqlcomplete#DrillIntoTable()<CR>
imap <buffer> <your_keystroke> <C-Y><C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O>
NOTE: The following example uses <Right> to trigger a column list while
the popup window is active.
Example of using column completion:
- Press <C-C>t again to display the list of tables.
- When the list is displayed in the completion window, press <C-Right>,
- When the list is displayed in the completion window, press <Right>,
this will replace the list of tables, with a list of columns for the
table highlighted (after the same short delay).
- If you press <C-Left>, this will again replace the column list with the
- If you press <Left>, this will again replace the column list with the
list of tables. This allows you to drill into tables and column lists
very quickly.
- Press <C-Right> again while the same table is highlighted. You will
- Press <Right> again while the same table is highlighted. You will
notice there is no delay since the column list has been cached. If you
change the schema of a cached table you can press <C-C>R, which
clears the SQL completion cache.
- NOTE: <C-Right> and <C-Left> have been designed to work while the
- NOTE: <Right> and <Left> have been designed to work while the
completion window is active. If the completion popup window is
not active, a normal <C-Right> or <C-Left> will be executed.
not active, a normal <Right> or <Left> will be executed.
Lets look how we can build a SQL statement dynamically. A select statement
Let's look at how we can build a SQL statement dynamically. A select statement
requires a list of columns. There are two ways to build a column list using
the SQL completion plugin. >
One column at a time:
< 1. After typing SELECT press <C-C>t to display a list of tables.
2. Choose a table from the list.
3. Press <C-Right> to display a list of columns.
3. Press <Right> to display a list of columns.
4. Choose the column from the list and press enter.
5. Enter a "," and press <C-C>c. Generating a column list
generally requires having the cursor on a table name. The plugin
@@ -619,7 +632,7 @@ your |vimrc|: >
MYTABLENAME --> M
omni_sql_ignorecase
< - Default: Current setting for|ignorecase|
< - Default: Current setting for 'ignorecase'
- Valid settings are 0 or 1.
- When entering a few letters before initiating completion, the list
will be filtered to display only the entries which begin with the
@@ -632,7 +645,7 @@ your |vimrc|: >
- When completing tables, procedure or views and using dbext.vim 3.00
or higher the list of objects will also include the owner name.
When completing these objects and omni_sql_include_owner is enabled
the owner name will be replaced. >
the owner name will be be replaced. >
omni_sql_precache_syntax_groups
< - Default:
@@ -684,15 +697,15 @@ plugin. >
<C-C>L
< - Displays a comma separated list of columns for a specific table.
This should only be used when the completion window is active. >
<C-Right>
<Right>
< - Displays a list of columns for the table currently highlighted in
the completion window. <C-Right> is not recognized on most Unix
the completion window. <Right> is not recognized on most Unix
systems, so this maps is only created on the Windows platform.
If you would like the same feature on Unix, choose a different key
and make the same map in your vimrc. >
<C-Left>
<Left>
< - Displays the list of tables.
<C-Left> is not recognized on most Unix systems, so this maps is
<Left> is not recognized on most Unix systems, so this maps is
only created on the Windows platform. If you would like the same
feature on Unix, choose a different key and make the same map in
your vimrc. >
@@ -725,8 +738,8 @@ platform you can also use <C-Space> or ALT keys.
Many times SQL can be used with different filetypes. For example Perl, Java,
PHP, Javascript can all interact with a database. Often you need both the SQL
completion as well as the completion capabilities for the current language you
are editing.
completion and the completion capabilities for the current language you are
editing.
This can be enabled easily with the following steps (assuming a Perl file): >
1. :e test.pl
+39 -31
View File
@@ -1,4 +1,4 @@
*gui.txt* For Vim version 7.1. Last change: 2007 May 11
*gui.txt* For Vim version 7.3. Last change: 2010 Nov 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -35,13 +35,13 @@ GUI version of Vim with:
The X11 version of Vim can run both in GUI and in non-GUI mode. See
|gui-x11-start|.
*gui-init* *gvimrc* *.gvimrc* *_gvimrc*
*gui-init* *gvimrc* *.gvimrc* *_gvimrc* *$MYGVIMRC*
The gvimrc file is where GUI-specific startup commands should be placed. It
is always sourced after the |vimrc| file. If you have one then the $MYGVIMRC
environment variable has its name.
When the GUI starts up initializations are carried out, in this order:
- The 'term' option is set to "builgin_gui" and terminal options are reset to
- The 'term' option is set to "builtin_gui" and terminal options are reset to
their default value for the GUI |terminal-options|.
- If the system menu file exists, it is sourced. The name of this file is
normally "$VIMRUNTIME/menu.vim". You can check this with ":version". Also
@@ -156,26 +156,26 @@ configure which ones appear with the 'guioptions' option.
The interface looks like this (with ":set guioptions=mlrb"):
+------------------------------+
| File Edit Help | <- Menu bar (m)
+-+--------------------------+-+
|^| |^|
|#| Text area. |#|
| | | |
|v|__________________________|v|
Normal status line -> |-+ File.c 5,2 +-|
between Vim windows |^|""""""""""""""""""""""""""|^|
| | | |
| | Another file buffer. | |
| | | |
|#| |#|
Left scrollbar (l) -> |#| |#| <- Right
|#| |#| scrollbar (r)
| | | |
|v| |v|
+-+--------------------------+-+
| |< #### >| | <- Bottom
+-+--------------------------+-+ scrollbar (b)
+------------------------------+ `
| File Edit Help | <- Menu bar (m) `
+-+--------------------------+-+ `
|^| |^| `
|#| Text area. |#| `
| | | | `
|v|__________________________|v| `
Normal status line -> |-+ File.c 5,2 +-| `
between Vim windows |^|""""""""""""""""""""""""""|^| `
| | | | `
| | Another file buffer. | | `
| | | | `
|#| |#| `
Left scrollbar (l) -> |#| |#| <- Right `
|#| |#| scrollbar (r) `
| | | | `
|v| |v| `
+-+--------------------------+-+ `
| |< #### >| | <- Bottom `
+-+--------------------------+-+ scrollbar (b) `
Any of the scrollbar or menu components may be turned off by not putting the
appropriate letter in the 'guioptions' string. The bottom scrollbar is
@@ -325,16 +325,22 @@ A different kind of selection is used when:
- at the |hit-enter| prompt
- whenever the current mode is not in the 'mouse' option
- when holding the CTRL and SHIFT keys in the GUI
Since Vim continues like the selection isn't there, and there is no mode
associated with the selection, this is called modeless selection. Any text in
the Vim window can be selected. Select the text by pressing the left mouse
button at the start, drag to the end and release. To extend the selection,
use the right mouse button when 'mousemodel' is "extend", or the left mouse
button with the shift key pressed when 'mousemodel' is "popup".
The middle mouse button pastes the text.
The selection is removed when the selected text is scrolled or changed.
On the command line CTRL-Y can be used to copy the selection into the
clipboard. To do this from Insert mode, use CTRL-O : CTRL-Y <CR>.
clipboard. To do this from Insert mode, use CTRL-O : CTRL-Y <CR>. When
'guioptions' contains a or A (default on X11), the selection is automatically
copied to the "* register.
The middle mouse button can then paste the text. On non-X11 systems, you can
use CTRL-R +.
3.4 Using Mouse on Status Lines *gui-mouse-status*
@@ -467,9 +473,11 @@ this line to your .vimrc file (NOT your .gvimrc file!): >
:let did_install_default_menus = 1
If you also want to avoid the Syntax menu: >
:let did_install_syntax_menu = 1
If you do want the Syntax menu but not all the entries for each available
syntax file (which take quite a bit of time to load): >
:let skip_syntax_sel_menu = 1
The first item in the Syntax menu can be used to show all available filetypes
in the menu (which can take a bit of time to load). If you want to have all
filetypes already present at startup, add: >
:let do_syntax_sel_menu = 1
<
*console-menus*
Although this documentation is in the GUI section, you can actually use menus
@@ -548,7 +556,7 @@ some modes:
mode inserted appended ~
Normal nothing nothing
Visual <C-C> <C-\><C-G>
Insert <C-O>
Insert <C-\><C-O>
Cmdline <C-C> <C-\><C-G>
Op-pending <C-C> <C-\><C-G>
@@ -563,7 +571,7 @@ is equal to: >
:nmenu File.Next :next^M
:vmenu File.Next ^C:next^M^\^G
:imenu File.Next ^O:next^M
:imenu File.Next ^\^O:next^M
:cmenu File.Next ^C:next^M^\^G
:omenu File.Next ^C:next^M^\^G
@@ -671,7 +679,7 @@ default toolbar is setup in menu.vim. (Note: The MacVim toolbar is modified
in "$VIM/gvimrc".)
The display of the toolbar is controlled by the 'guioptions' letter 'T'. You
can thus have menu & toolbar together, or either on its own, or neither.
The appearance is controlled by the 'toolbar' option. You can chose between
The appearance is controlled by the 'toolbar' option. You can choose between
an image, text or both.
*toolbar-icon*

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