mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-05-28 00:21:57 +02:00
Compare commits
66 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 76f937b87b | |||
| c96d4dcc8e | |||
| cc43c3f65c | |||
| e1f144fff9 | |||
| 96a5aaca30 | |||
| fe4dcf1ea1 | |||
| 051dd87d5e | |||
| 24b70ebcfa | |||
| 8d49009628 | |||
| 59d9dd938d | |||
| fdd289b215 | |||
| be8446006b | |||
| daa5cfe9dd | |||
| 855f2810f5 | |||
| 09915c6560 | |||
| 32de6c1f95 | |||
| 2e002ed5f0 | |||
| 9b3ee033ca | |||
| e0035e72ff | |||
| 3a7b73bbe8 | |||
| fa8a10cc0d | |||
| e35b5e0207 | |||
| f04780aebd | |||
| 3faee0eea8 | |||
| e4b1724130 | |||
| 7e9a35b73e | |||
| a030e14f4c | |||
| 3609f1181b | |||
| 7f521f9180 | |||
| 5bfb7b6c36 | |||
| 6b593596a8 | |||
| 355030366f | |||
| a542a26f2e | |||
| 65065e6c02 | |||
| a5db9c5785 | |||
| 2a25ea4e26 | |||
| f4e9d096f2 | |||
| daa43ff96d | |||
| 453876f267 | |||
| 329a140ce1 | |||
| 8dfe0f6e7a | |||
| 9be9c0aaeb | |||
| ff0faa47a4 | |||
| f408e184c1 | |||
| d22aff9897 | |||
| 85431083e7 | |||
| 0d3005d65e | |||
| b34087a4a2 | |||
| 874574c6bb | |||
| 6e664be861 | |||
| a92a746da4 | |||
| 18ce00cbee | |||
| 8e9bf3f572 | |||
| c0dd720f49 | |||
| 69c231441a | |||
| c93594baa5 | |||
| bc69624568 | |||
| 30887c5a27 | |||
| 350b73a180 | |||
| 4b758f6023 | |||
| 5ebd22a7c0 | |||
| d8025cb9da | |||
| 524b356466 | |||
| b3bdfdd3dc | |||
| e306f514a6 | |||
| 13b802f309 |
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 7.3. Last change: 2010 May 07
|
||||
*cmdline.txt* For Vim version 7.3. Last change: 2010 Sep 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -423,7 +423,8 @@ CTRL-L A match is done on the pattern in front of the cursor. If
|
||||
|
||||
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>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*debug.txt* For Vim version 7.3. Last change: 2010 Jul 20
|
||||
*debug.txt* For Vim version 7.3. Last change: 2010 Sep 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -22,7 +22,8 @@ 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).
|
||||
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
|
||||
@@ -67,7 +68,7 @@ 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
|
||||
@@ -89,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
|
||||
@@ -123,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.
|
||||
|
||||
@@ -149,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.
|
||||
|
||||
@@ -161,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,4 +1,4 @@
|
||||
*diff.txt* For Vim version 7.3. Last change: 2010 Jul 31
|
||||
*diff.txt* For Vim version 7.3. Last change: 2010 Sep 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -261,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
|
||||
|
||||
+10
-8
@@ -1,4 +1,4 @@
|
||||
*editing.txt* For Vim version 7.3. Last change: 2010 Jul 28
|
||||
*editing.txt* For Vim version 7.3. Last change: 2010 Sep 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1431,13 +1431,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.
|
||||
|
||||
|
||||
+18
-17
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.3. Last change: 2010 Aug 15
|
||||
*eval.txt* For Vim version 7.3. Last change: 2010 Sep 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -63,21 +63,21 @@ The Number and String types are converted automatically, depending on how they
|
||||
are used.
|
||||
|
||||
Conversion from a Number to a String is by making the ASCII representation of
|
||||
the Number. Examples: >
|
||||
Number 123 --> String "123"
|
||||
Number 0 --> String "0"
|
||||
Number -1 --> String "-1"
|
||||
the Number. Examples:
|
||||
Number 123 --> String "123" ~
|
||||
Number 0 --> String "0" ~
|
||||
Number -1 --> String "-1" ~
|
||||
*octal*
|
||||
Conversion from a String to a Number is done by converting the first digits
|
||||
to a number. Hexadecimal "0xf9" and Octal "017" numbers are recognized. If
|
||||
the String doesn't start with digits, the result is zero. Examples: >
|
||||
String "456" --> Number 456
|
||||
String "6bar" --> Number 6
|
||||
String "foo" --> Number 0
|
||||
String "0xf1" --> Number 241
|
||||
String "0100" --> Number 64
|
||||
String "-8" --> Number -8
|
||||
String "+8" --> Number 0
|
||||
the String doesn't start with digits, the result is zero. Examples:
|
||||
String "456" --> Number 456 ~
|
||||
String "6bar" --> Number 6 ~
|
||||
String "foo" --> Number 0 ~
|
||||
String "0xf1" --> Number 241 ~
|
||||
String "0100" --> Number 64 ~
|
||||
String "-8" --> Number -8 ~
|
||||
String "+8" --> Number 0 ~
|
||||
|
||||
To force conversion from String to Number, add zero to it: >
|
||||
:echo "0100" + 0
|
||||
@@ -1115,8 +1115,8 @@ See below |functions|.
|
||||
|
||||
|
||||
==============================================================================
|
||||
3. Internal variable *internal-variables* *E121*
|
||||
*E461*
|
||||
3. Internal variable *internal-variables* *E461*
|
||||
|
||||
An internal variable name can be made up of letters, digits and '_'. But it
|
||||
cannot start with a digit. It's also possible to use curly braces, see
|
||||
|curly-braces-names|.
|
||||
@@ -6220,7 +6220,7 @@ transparency Compiled with 'transparency' support.
|
||||
unix Unix version of Vim.
|
||||
user_commands User-defined commands.
|
||||
viminfo Compiled with viminfo support.
|
||||
vim_starting True while initial source'ing takes place.
|
||||
vim_starting True while initial source'ing takes place. |startup|
|
||||
vertsplit Compiled with vertically split windows |:vsplit|.
|
||||
virtualedit Compiled with 'virtualedit' option.
|
||||
visual Compiled with Visual mode.
|
||||
@@ -6745,7 +6745,8 @@ This would call the function "my_func_whizz(parameter)".
|
||||
:let [{name}, ..., ; {lastname}] -= {expr1}
|
||||
Like above, but append/add/subtract the value for each
|
||||
|List| item.
|
||||
*E106*
|
||||
|
||||
*E121*
|
||||
:let {var-name} .. List the value of variable {var-name}. Multiple
|
||||
variable names may be given. Special names recognized
|
||||
here: *E738*
|
||||
|
||||
+11
-11
@@ -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 ~
|
||||
@@ -139,7 +139,7 @@ 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 than one Ada compiler and will automatically load the
|
||||
@@ -367,7 +367,7 @@ 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*
|
||||
@@ -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()*
|
||||
@@ -479,7 +479,7 @@ gnat#New ()
|
||||
|
||||
|
||||
==============================================================================
|
||||
8. Extra Plugins ~
|
||||
6. Extra Plugins ~
|
||||
*ada-extra-plugins*
|
||||
|
||||
You can optionally install the following extra plug-ins. They work well with
|
||||
|
||||
+48
-14
@@ -1,4 +1,4 @@
|
||||
*gui_mac.txt* For Vim version 7.3. Last change: 2010 Aug 1
|
||||
*gui_mac.txt* For Vim version 7.3. Last change: 2010 Sep 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bjorn Winckler
|
||||
@@ -16,9 +16,10 @@ The MacVim Graphical User Interface *macvim* *gui-macvim*
|
||||
8. System services |macvim-services|
|
||||
9. mvim:// URL handler |macvim-url-handler|
|
||||
10. Keyboard shortcuts |macvim-shortcuts|
|
||||
11. International |macvim-international|
|
||||
12. Known bugs/missing features |macvim-todo|
|
||||
13. Hints |macvim-hints|
|
||||
11. Trackpad gestures |macvim-gestures|
|
||||
12. International |macvim-international|
|
||||
13. Known bugs/missing features |macvim-todo|
|
||||
14. Hints |macvim-hints|
|
||||
|
||||
Other relevant documentation:
|
||||
|gui.txt| For generic items of the GUI.
|
||||
@@ -209,13 +210,15 @@ pressed. This feature can be enabled from the Advanced preferences pane (it
|
||||
is disabled by default). Note that this setting does not affect the speed
|
||||
with which windows open when using the |mvim| command.
|
||||
|
||||
The main reason why this feature is not enabled by default is because on OS X
|
||||
10.4 changes to runtime files (e.g. those in "~/.vim") are not detected. For
|
||||
example, if you install a new plugin and then press <D-n> to open a new
|
||||
window, then that first window will not notice the plugin (but any consecutive
|
||||
windows after the first one will). On OS X 10.5 and later all modifications
|
||||
to runtime files in "~/.vim" are detected, so unless you keep runtime files in
|
||||
another folder there should be no problems.
|
||||
Note that any changes to runtime files that are kept in an non-standard
|
||||
location (i.e. not in ~/.vim) will not be picked up for the first window that
|
||||
opens after any changes. Also, there are some issues related to reading and
|
||||
writing of the |viminfo| file which can lead to the command line history
|
||||
appearing to be lost (as well as any other information stored in the |viminfo|
|
||||
file). For example, if you open a window, edit some files then close the
|
||||
window, then the next window that opens will not have the same command line
|
||||
history as the window you just closed (however the next window you open will).
|
||||
For these reasons Quickstart is disabled by default.
|
||||
|
||||
*odbeditor* *external-editor*
|
||||
MacVim can act as an 'external editor' for Mac OS X applications that support
|
||||
@@ -606,7 +609,38 @@ See |macvim-shift-movement| if you want Shift to select text when used in
|
||||
conjunction with the above Cmd/Alt movement shortcuts.
|
||||
|
||||
==============================================================================
|
||||
11. International *macvim-international*
|
||||
11. Trackpad gestures *macvim-gestures*
|
||||
|
||||
MacVim supports trackpad swipe gestures. By default this can be used to
|
||||
navigate back/forward in the help (try it!).
|
||||
|
||||
Each gesture generates one of the following Vim pseudo keys:
|
||||
|
||||
*<SwipeLeft>* *<SwipeRight>*
|
||||
Generated when swiping three fingers across the trackpad in a
|
||||
horizontal direction. The Apple Magic Mouse generates these
|
||||
events when swiping two fingers in a horizontal direction.
|
||||
|
||||
*<SwipeUp>* *<SwipeDown>*
|
||||
Generated when swiping three fingers across the trackpad in a
|
||||
vertical direction. (Not supported by the Apple Magic Mouse.)
|
||||
|
||||
You can map these keys like with any other key using the |:map| family of
|
||||
commands. For example, the following commands map left/right swipe to change
|
||||
to the previous/next tab in normal mode: >
|
||||
|
||||
nmap <SwipeLeft> gT
|
||||
nmap <SwipeRight> gt
|
||||
|
||||
As another example, here is how to switch buffers by swiping left/right: >
|
||||
|
||||
nmap <SwipeLeft> :bN<CR>
|
||||
nmap <SwipeRight> :bn<CR>
|
||||
|
||||
See the section on |key-mapping| for more help on how to map keys.
|
||||
|
||||
==============================================================================
|
||||
12. International *macvim-international*
|
||||
|
||||
When editing non-English text it may be convenient to keep separate keyboard
|
||||
layouts for normal and insert mode. This is supported via the 'imd' option on
|
||||
@@ -627,7 +661,7 @@ wrong layout when going back to normal mode, then select the layout you want
|
||||
to use in normal mode and type ":set imd" followed by ":set noimd".
|
||||
|
||||
==============================================================================
|
||||
12. Known bugs/missing features *macvim-todo*
|
||||
13. Known bugs/missing features *macvim-todo*
|
||||
|
||||
This list is by no means exhaustive, it only enumerates some of the more
|
||||
prominent bugs/missing features.
|
||||
@@ -651,7 +685,7 @@ This is also the best place for making feature requests as well as for asking
|
||||
general questions about MacVim.
|
||||
|
||||
==============================================================================
|
||||
13. Hints *macvim-hints*
|
||||
14. Hints *macvim-hints*
|
||||
|
||||
In this section some general (not necessarily MacVim specific) hints are
|
||||
given.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 7.3. Last change: 2010 Jul 29
|
||||
*helphelp.txt* For Vim version 7.3. Last change: 2010 Sep 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -7,7 +7,7 @@
|
||||
Help on help files *helphelp*
|
||||
|
||||
1. Help commands |online-help|
|
||||
2. Translating help files |help-translated|
|
||||
2. Translated help files |help-translated|
|
||||
3. Writing help files |help-writing|
|
||||
|
||||
==============================================================================
|
||||
@@ -188,7 +188,7 @@ command: >
|
||||
Only for backwards compatibility. It now executes the
|
||||
ToolBar.FindHelp menu entry instead of using a builtin
|
||||
dialog. {only when compiled with |+GUI_GTK|}
|
||||
< {not in Vi}
|
||||
{not in Vi}
|
||||
|
||||
*:helpt* *:helptags*
|
||||
*E154* *E150* *E151* *E152* *E153* *E670*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_cscop.txt* For Vim version 7.3. Last change: 2009 Mar 18
|
||||
*if_cscop.txt* For Vim version 7.3. Last change: 2010 Sep 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Andy Kahn
|
||||
@@ -112,8 +112,7 @@ The available subcommands are:
|
||||
:cscope add /projects/vim/cscope.out /usr/local/vim
|
||||
:cscope add cscope.out /usr/local/vim -C
|
||||
<
|
||||
*cscope-find* *cs-find*
|
||||
*E565* *E567*
|
||||
*cscope-find* *cs-find* *E567*
|
||||
find : Query cscope. All cscope query options are available
|
||||
except option #5 ("Change this grep pattern").
|
||||
|
||||
@@ -198,7 +197,7 @@ The available subcommands are:
|
||||
|
||||
USAGE :cs help
|
||||
|
||||
*E260* *E261*
|
||||
*E261*
|
||||
kill : Kill a cscope connection (or kill all cscope connections).
|
||||
|
||||
USAGE :cs kill {num|partial_name}
|
||||
|
||||
+11
-7
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 7.3. Last change: 2010 Jul 29
|
||||
*insert.txt* For Vim version 7.3. Last change: 2010 Sep 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -555,12 +555,11 @@ CTRL-D, 'expandtab', 'smarttab', 'softtabstop', etc.
|
||||
In 'list' mode, Virtual Replace mode acts as if it was not in 'list' mode,
|
||||
unless "L" is in 'cpoptions'.
|
||||
|
||||
Note that the only times characters beyond the cursor should appear to move
|
||||
are in 'list' mode, and occasionally when 'wrap' is set (and the line changes
|
||||
length to become shorter or wider than the width of the screen), or
|
||||
momentarily when typing over a CTRL character. A CTRL character takes up two
|
||||
screen spaces. When replacing it with two normal characters, the first will
|
||||
be inserted and the second will replace the CTRL character.
|
||||
Note that the only situations for which characters beyond the cursor should
|
||||
appear to move are in List mode |'list'|, and occasionally when 'wrap' is set
|
||||
(and the line changes length to become shorter or wider than the width of the
|
||||
screen). In other cases spaces may be inserted to avoid following characters
|
||||
to move.
|
||||
|
||||
This mode is very useful for editing <Tab> separated columns in tables, for
|
||||
entering new data while keeping all the columns aligned.
|
||||
@@ -1767,6 +1766,11 @@ These two commands will keep on asking for lines, until you type a line
|
||||
containing only a ".". Watch out for lines starting with a backslash, see
|
||||
|line-continuation|.
|
||||
|
||||
When in Ex mode (see |-e|) a backslash at the end of the line can be used to
|
||||
insert a NUL character. To be able to have a line ending in a backslash use
|
||||
two backslashes. This means that the number of backslashes is halved, but
|
||||
only at the end of the line.
|
||||
|
||||
NOTE: These commands cannot be used with |:global| or |:vglobal|.
|
||||
":append" and ":insert" don't work properly in between ":if" and
|
||||
":endif", ":for" and ":endfor", ":while" and ":endwhile".
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 7.3. Last change: 2010 Jul 20
|
||||
*intro.txt* For Vim version 7.3. Last change: 2010 Sep 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -300,7 +300,7 @@ and <> are part of what you type, the context should make this clear.
|
||||
|
||||
[] Characters in square brackets are optional.
|
||||
|
||||
*count* *[count]* *E489*
|
||||
*count* *[count]*
|
||||
[count] An optional number that may precede the command to multiply
|
||||
or iterate the command. If no number is given, a count of one
|
||||
is used, unless otherwise noted. Note that in this manual the
|
||||
|
||||
+3
-1
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 7.3. Last change: 2010 Jul 31
|
||||
*map.txt* For Vim version 7.3. Last change: 2010 Sep 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1203,6 +1203,7 @@ completion can be enabled:
|
||||
-complete=augroup autocmd groups
|
||||
-complete=buffer buffer names
|
||||
-complete=command Ex command (and arguments)
|
||||
-complete=cscope |:cscope| suboptions
|
||||
-complete=dir directory names
|
||||
-complete=environment environment variable names
|
||||
-complete=event autocommand events
|
||||
@@ -1216,6 +1217,7 @@ completion can be enabled:
|
||||
-complete=menu menus
|
||||
-complete=option options
|
||||
-complete=shellcmd Shell command
|
||||
-complete=sign |:sign| suboptions
|
||||
-complete=syntax syntax file names |'syntax'|
|
||||
-complete=tag tags
|
||||
-complete=tag_listfiles tags, file names are shown when CTRL-D is hit
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 7.3. Last change: 2010 Aug 10
|
||||
*message.txt* For Vim version 7.3. Last change: 2010 Sep 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -65,7 +65,7 @@ or view a list of recent messages with: >
|
||||
LIST OF MESSAGES
|
||||
*E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*
|
||||
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
|
||||
*E323* *E341* *E473* *E570* *E685* >
|
||||
*E323* *E341* *E473* *E570* *E685* >
|
||||
Add to read buffer
|
||||
makemap: Illegal mode
|
||||
Cannot create BalloonEval with both message and callback
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*netbeans.txt* For Vim version 7.3. Last change: 2010 Jul 20
|
||||
*netbeans.txt* For Vim version 7.3. Last change: 2010 Sep 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
@@ -118,7 +118,8 @@ In case you do not want the NetBeans interface you can disable it by
|
||||
uncommenting a line with "--disable-netbeans" in the Makefile.
|
||||
|
||||
Currently the NetBeans interface is supported by Vim running in a terminal and
|
||||
by GVim when it is run with one of the following GUIs: GTK, GNOME, and Motif.
|
||||
by GVim when it is run with one of the following GUIs: GTK, GNOME, Windows,
|
||||
Athena and Motif.
|
||||
|
||||
If Motif support is required the user must supply XPM libraries. See
|
||||
|workshop-xpm| for details on obtaining the latest version of XPM.
|
||||
@@ -819,7 +820,7 @@ These errors occur when a message violates the protocol:
|
||||
==============================================================================
|
||||
7. NetBeans commands *netbeans-commands*
|
||||
|
||||
*:nbstart* *E511*
|
||||
*:nbstart* *E511* *E838*
|
||||
:nbs[tart] {connection} Start a new Netbeans session with {connection} as the
|
||||
socket connection parameters. The format of
|
||||
{connection} is described in |netbeans-parameters|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.3. Last change: 2010 Aug 15
|
||||
*options.txt* For Vim version 7.3. Last change: 2010 Sep 21
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -2822,13 +2822,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
2. If a <NL> is found and 'fileformats' includes "unix", 'fileformat'
|
||||
is set to "unix". Note that when a <NL> is found without a
|
||||
preceding <CR>, "unix" is preferred over "dos".
|
||||
3. If 'fileformats' includes "mac", 'fileformat' is set to "mac".
|
||||
This means that "mac" is only chosen when "unix" is not present,
|
||||
or when no <NL> is found in the file, and when "dos" is not
|
||||
present, or no <CR><NL> is present in the file.
|
||||
Also if "unix" was first chosen, but the first <CR> is before
|
||||
the first <NL> and there appears to be more <CR>'s than <NL>'s in
|
||||
the file, then 'fileformat' is set to "mac".
|
||||
3. If 'fileformat' has not yet been set, and if 'fileformats'
|
||||
includes "mac", 'fileformat' is set to "mac".
|
||||
This means that "mac" is only chosen when:
|
||||
"unix" is not present or no <NL> is found in the file, and
|
||||
"dos" is not present or no <CR><NL> is found in the file.
|
||||
Except: if "unix" was chosen, but there is a <CR> before
|
||||
the first <NL>, and there appear to be more <CR>s than <NL>s in
|
||||
4. If 'fileformat' is still not set, the first name from
|
||||
'fileformats' is used.
|
||||
When reading a file into an existing buffer, the same is done, but
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_vms.txt* For Vim version 7.3. Last change: 2010 Jul 28
|
||||
*os_vms.txt* For Vim version 7.3. Last change: 2010 Aug 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
@@ -675,7 +675,7 @@ slow when user wants to run Vim just in the console mode - because of X environm
|
||||
Luckily, there is a simple solution for that. Administrators need to deploy
|
||||
both GUI/GTK build and just console build executables, like below: >
|
||||
|
||||
|- vim72
|
||||
|- vim73
|
||||
|----- doc
|
||||
|----- syntax
|
||||
vimrc (system rc files)
|
||||
@@ -685,7 +685,7 @@ both GUI/GTK build and just console build executables, like below: >
|
||||
|
||||
Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
|
||||
|
||||
$ define/nolog VIM RF10:[UTIL.VIM72] ! where you VIM directory is
|
||||
$ define/nolog VIM RF10:[UTIL.VIM73] ! where you VIM directory is
|
||||
$ vi*m :== mcr VIM:VIM.EXE
|
||||
$ gvi*m :== mcr VIM:GVIM.EXE
|
||||
$ ! or you can try to spawn with
|
||||
@@ -755,7 +755,7 @@ Solution 2. Different directories: >
|
||||
$ define/nolog VIM RF10:[UTIL.IA64_EXE] ! IA64 executables
|
||||
$ endif
|
||||
$! VIMRUNTIME must be defined in order to find runtime files
|
||||
$ define/nolog VIMRUNTIME RF10:[UTIL.VIM72]
|
||||
$ define/nolog VIMRUNTIME RF10:[UTIL.VIM73]
|
||||
|
||||
A good example for this approach is the [GNU]gnu_tools.com script from
|
||||
GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_zip.txt* For Vim version 7.3. Last change: 2010 Apr 12
|
||||
*pi_zip.txt* For Vim version 7.3. Last change: 2010 Sep 14
|
||||
|
||||
+====================+
|
||||
| Zip File Interface |
|
||||
@@ -64,12 +64,11 @@ Copyright: Copyright (C) 2005-2009 Charles E Campbell, Jr *zip-copyright*
|
||||
|
||||
If for some reason you do not wish to use vim to examine zipped files,
|
||||
you may put the following two variables into your <.vimrc> to prevent
|
||||
the tar plugin from loading: >
|
||||
the zip plugin from loading: >
|
||||
|
||||
let g:loaded_zipPlugin= 1
|
||||
let g:loaded_zip = 1
|
||||
<
|
||||
<
|
||||
|
||||
==============================================================================
|
||||
3. Additional Extensions *zip-extension*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 7.3. Last change: 2010 Jul 24
|
||||
*quickref.txt* For Vim version 7.3. Last change: 2010 Sep 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1095,11 +1095,11 @@ Context-sensitive completion on the command-line:
|
||||
|:_#| #[num] alternate file name [num] (only where a file name is
|
||||
expected)
|
||||
Note: The next seven are typed literally; these are not special keys!
|
||||
|:<afile>| <abuf> buffer number, for use in an autocommand (only where a
|
||||
|:<abuf>| <abuf> buffer number, for use in an autocommand (only where a
|
||||
file name is expected)
|
||||
|:<afile>| <afile> file name, for user in an autocommand (only where a
|
||||
|:<afile>| <afile> file name, for use in an autocommand (only where a
|
||||
file name is expected)
|
||||
|:<afile>| <amatch> what matched with the pattern, for use in an
|
||||
|:<amatch>| <amatch> what matched with the pattern, for use in an
|
||||
autocommand (only where a file name is expected)
|
||||
|:<cword>| <cword> word under the cursor (only where a file name is
|
||||
expected)
|
||||
@@ -1381,7 +1381,7 @@ Context-sensitive completion on the command-line:
|
||||
set foldmethod=indent folding by indent
|
||||
set foldmethod=expr folding by 'foldexpr'
|
||||
set foldmethod=syntax folding by syntax regions
|
||||
set foldmethod=marker folding by 'foldmarkers'
|
||||
set foldmethod=marker folding by 'foldmarker'
|
||||
|
||||
|zf| zf{motion} operator: Define a fold manually
|
||||
|:fold| :{range}fold define a fold for {range} lines
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*starting.txt* For Vim version 7.3. Last change: 2009 Dec 31
|
||||
*starting.txt* For Vim version 7.3. Last change: 2010 Sep 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -95,14 +95,14 @@ exim vim -E Start in improved Ex mode (see |Ex-mode|). *exim*
|
||||
(normally not installed)
|
||||
view vim -R Start in read-only mode (see |-R|). *view*
|
||||
gvim vim -g Start the GUI (see |gui|). *gvim*
|
||||
gex vim -eg Start the GUI in Ex mode. *gex*
|
||||
gview vim -Rg Start the GUI in read-only mode. *gview*
|
||||
gex vim -eg Start the GUI in Ex mode. *gex*
|
||||
gview vim -Rg Start the GUI in read-only mode. *gview*
|
||||
rvim vim -Z Like "vim", but in restricted mode (see |-Z|) *rvim*
|
||||
rview vim -RZ Like "view", but in restricted mode. *rview*
|
||||
rgvim vim -gZ Like "gvim", but in restricted mode. *rgvim*
|
||||
rgview vim -RgZ Like "gview", but in restricted mode. *rgview*
|
||||
rview vim -RZ Like "view", but in restricted mode. *rview*
|
||||
rgvim vim -gZ Like "gvim", but in restricted mode. *rgvim*
|
||||
rgview vim -RgZ Like "gview", but in restricted mode. *rgview*
|
||||
evim vim -y Easy Vim: set 'insertmode' (see |-y|) *evim*
|
||||
eview vim -yR Like "evim" in read-only mode *eview*
|
||||
eview vim -yR Like "evim" in read-only mode *eview*
|
||||
vimdiff vim -d Start in diff mode |diff-mode|
|
||||
gvimdiff vim -gd Start in diff mode |diff-mode|
|
||||
|
||||
@@ -244,7 +244,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|
||||
-Z Restricted mode. All commands that make use of an external
|
||||
shell are disabled. This includes suspending with CTRL-Z,
|
||||
":sh", filtering, the system() function, backtick expansion,
|
||||
etc.
|
||||
delete(), rename(), mkdir(), writefile(), libcall(), etc.
|
||||
{not in Vi}
|
||||
|
||||
*-g*
|
||||
@@ -870,6 +870,7 @@ accordingly. Vim proceeds in this order:
|
||||
12. Execute startup commands
|
||||
If a "-t" flag was given to Vim, the tag is jumped to.
|
||||
The commands given with the |-c| and |+cmd| arguments are executed.
|
||||
The starting flag is reset, has("vim_starting") will now return zero.
|
||||
If the 'insertmode' option is set, Insert mode is entered.
|
||||
The |VimEnter| autocommands are executed.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2010 Aug 10
|
||||
*syntax.txt* For Vim version 7.3. Last change: 2010 Sep 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -2258,7 +2258,7 @@ For highlighted builtin functions: >
|
||||
For highlighted standard exceptions: >
|
||||
:let python_highlight_exceptions = 1
|
||||
|
||||
For highlighted trailing whitespace and mix of spaces and tabs:
|
||||
For highlighted trailing whitespace and mix of spaces and tabs: >
|
||||
:let python_highlight_space_errors = 1
|
||||
|
||||
If you want all possible Python highlighting (the same as setting the
|
||||
@@ -3953,7 +3953,7 @@ To show the syntax items for one syntax group: >
|
||||
|
||||
:sy[ntax] list {group-name}
|
||||
|
||||
To list the syntax groups in one cluster: *E392* >
|
||||
To list the syntax groups in one cluster: *E392* >
|
||||
|
||||
:sy[ntax] list @{cluster-name}
|
||||
|
||||
@@ -4612,7 +4612,7 @@ is loaded into that window or the file is reloaded.
|
||||
When splitting the window, the new window will use the original syntax.
|
||||
|
||||
==============================================================================
|
||||
16. Color xterms *xterm-color* *color-xterm*
|
||||
17. Color xterms *xterm-color* *color-xterm*
|
||||
|
||||
Most color xterms have only eight colors. If you don't get colors with the
|
||||
default setup, it should work with these lines in your .vimrc: >
|
||||
|
||||
+6
-4
@@ -3192,6 +3192,10 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
<ScrollWheelRight> scroll.txt /*<ScrollWheelRight>*
|
||||
<ScrollWheelUp> scroll.txt /*<ScrollWheelUp>*
|
||||
<Space> motion.txt /*<Space>*
|
||||
<SwipeDown> gui_mac.txt /*<SwipeDown>*
|
||||
<SwipeLeft> gui_mac.txt /*<SwipeLeft>*
|
||||
<SwipeRight> gui_mac.txt /*<SwipeRight>*
|
||||
<SwipeUp> gui_mac.txt /*<SwipeUp>*
|
||||
<Tab> motion.txt /*<Tab>*
|
||||
<Undo> undo.txt /*<Undo>*
|
||||
<Up> motion.txt /*<Up>*
|
||||
@@ -3463,7 +3467,6 @@ E102 diff.txt /*E102*
|
||||
E103 diff.txt /*E103*
|
||||
E104 digraph.txt /*E104*
|
||||
E105 mbyte.txt /*E105*
|
||||
E106 eval.txt /*E106*
|
||||
E107 eval.txt /*E107*
|
||||
E108 eval.txt /*E108*
|
||||
E109 eval.txt /*E109*
|
||||
@@ -3630,7 +3633,6 @@ E257 if_cscop.txt /*E257*
|
||||
E258 remote.txt /*E258*
|
||||
E259 if_cscop.txt /*E259*
|
||||
E26 rileft.txt /*E26*
|
||||
E260 if_cscop.txt /*E260*
|
||||
E261 if_cscop.txt /*E261*
|
||||
E262 if_cscop.txt /*E262*
|
||||
E263 if_pyth.txt /*E263*
|
||||
@@ -3879,7 +3881,6 @@ E485 message.txt /*E485*
|
||||
E486 pattern.txt /*E486*
|
||||
E487 options.txt /*E487*
|
||||
E488 message.txt /*E488*
|
||||
E489 intro.txt /*E489*
|
||||
E49 message.txt /*E49*
|
||||
E490 fold.txt /*E490*
|
||||
E492 message.txt /*E492*
|
||||
@@ -3962,7 +3963,6 @@ E561 if_cscop.txt /*E561*
|
||||
E562 if_cscop.txt /*E562*
|
||||
E563 if_cscop.txt /*E563*
|
||||
E564 if_cscop.txt /*E564*
|
||||
E565 if_cscop.txt /*E565*
|
||||
E566 if_cscop.txt /*E566*
|
||||
E567 if_cscop.txt /*E567*
|
||||
E568 if_cscop.txt /*E568*
|
||||
@@ -4262,6 +4262,7 @@ E834 options.txt /*E834*
|
||||
E835 options.txt /*E835*
|
||||
E836 if_pyth.txt /*E836*
|
||||
E837 if_pyth.txt /*E837*
|
||||
E838 netbeans.txt /*E838*
|
||||
E84 windows.txt /*E84*
|
||||
E85 options.txt /*E85*
|
||||
E86 windows.txt /*E86*
|
||||
@@ -6544,6 +6545,7 @@ macvim-differences gui_mac.txt /*macvim-differences*
|
||||
macvim-drag-n-drop gui_mac.txt /*macvim-drag-n-drop*
|
||||
macvim-encoding gui_mac.txt /*macvim-encoding*
|
||||
macvim-find gui_mac.txt /*macvim-find*
|
||||
macvim-gestures gui_mac.txt /*macvim-gestures*
|
||||
macvim-hints gui_mac.txt /*macvim-hints*
|
||||
macvim-international gui_mac.txt /*macvim-international*
|
||||
macvim-login-shell gui_mac.txt /*macvim-login-shell*
|
||||
|
||||
+134
-63
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.3. Last change: 2010 Aug 15
|
||||
*todo.txt* For Vim version 7.3. Last change: 2010 Sep 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -30,23 +30,88 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
":find e" completion, editing a file in the Vim source directory, 'path' set
|
||||
to "./proto", does not shorten ./proto/eval.pro, probably because of
|
||||
./proto/ex_eval.pro.
|
||||
Cursor position wrong when 'formatoptions' contains "a". (Moshe Kamensky, 2010
|
||||
Sep 7, Gary Johnson, 2010 Sep 14)
|
||||
Formatoptions cause cursor to jump. (ZyX, 2010 Aug 22)
|
||||
Caused by revision 2294, "Make joining a range of lines much faster. (Milan
|
||||
Vancura)" ?
|
||||
Patch by Carlo Teubner, 2010 Sep 25. Test Sep 26.
|
||||
|
||||
Problem with \NL in Ex script. (Ray Frish, 2010 Aug 10)
|
||||
'cursorline' is displayed too short when there are concealed characters and
|
||||
'list' is set, 'listchars' at default value. (Dennis Preiser, 2010 Aug 15)
|
||||
|
||||
Hang on slave PTY on Mac. Patch from Nikola Knezevic, 2010 Aug 29.
|
||||
|
||||
Patch to fix sign type negative and memory not freed. (Xavier de Gaye, 2010
|
||||
Aug 20)
|
||||
|
||||
Conceal: using Tab for cchar causes problems. Should reject it. (ZyX, 2010
|
||||
Aug 25)
|
||||
|
||||
Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
|
||||
only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
|
||||
21, Ben Fritz, 2010 Sep 14)
|
||||
|
||||
Patch for :mksession not escaping file name properly. (Peter Odding, 2010 Sep
|
||||
19)
|
||||
|
||||
Patch for CTRL-] in help file doing wrong escaping. (Carlo Teubner, 2010 Sep
|
||||
25)
|
||||
|
||||
Patch to support List and Dict in .viminfo. (Christian Brabandt, 2010 Sep 24)
|
||||
Sep 26 with a test.
|
||||
|
||||
Patch for :grep docs. (Britton Kerin, 2010 Aug 31)
|
||||
|
||||
Patch for dynamic loading Ruby on Unix. (Jon, 2010 Aug 23)
|
||||
Included, but also need a change to configure.
|
||||
|
||||
Replacement R syntax file. (Jakson A. Aquino, 2010 Sep 29)
|
||||
|
||||
Windows keys not set properly on Windows 7? (cncyber, 2010 Aug 26)
|
||||
|
||||
maparg() doesn't return the flags, such as <buffer>, <script>, <silent>.
|
||||
These are needed to save and restore a mapping.
|
||||
Also: the rhs string is not always correct. (Hari Krishna Dara, 2009 Sept 29)
|
||||
Patch by Christian Brabandt, 2010 Sep 17.
|
||||
|
||||
Building the MingW version without clipboard but with multi-byte doesn't
|
||||
build. (Bill Lam, 2010 Sep 18)
|
||||
|
||||
Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
|
||||
|
||||
Patch to fix warning for accessing mediumVersion. (Dominique Pelle, 2010 Aug
|
||||
18)
|
||||
|
||||
Patch for 2html to support 'fileencoding'. (Benjamin Fritz, 2010 Sep 10)
|
||||
|
||||
Patch to use 'previewheight' for popup menu. (Benjamin Haskell, 2010 Sep 29)
|
||||
|
||||
CTRL-] on help tag |/[\n]| doesn't jump to the right place. (Tony Mechelynck,
|
||||
2010 Aug 8)
|
||||
|
||||
Three patches for undo persistence. (Christian Brabandt, 2010 Sep 4)
|
||||
|
||||
string() can't parse back "inf" and "nan". Fix documentation or fix code?
|
||||
(ZyX, 2010 Aug 23)
|
||||
|
||||
":command Print echo 'print'" works, but ":Print" doesn't. Builtin Print
|
||||
should be overruled. (Aaron Thoma)
|
||||
Patch by Christian Brabandt, 2010 Sep 5.
|
||||
|
||||
Comparing recursive structure loops forever. (ZyX, 2010 Aug 22, info from John
|
||||
Beckett Aug 23)
|
||||
|
||||
GTK: drawing a double-width combining character over single-width characters
|
||||
doesn't look right. (Dominique Pelle, 2010 Aug 8)
|
||||
|
||||
Copy/paste between Vim and Google chrome doesn't work well for multi-byte
|
||||
characters. (Ben Haskell, 2010 Sep 17)
|
||||
When putting text in the cut buffer (when exiting) and conversion doesn't work
|
||||
properly, Prepend "ENC==={value of 'enc'}:" to the text and don't convert?
|
||||
Then it should at least work from Vim to Vim and in other applications it's
|
||||
clear why it doesn't work.
|
||||
|
||||
Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
|
||||
^M is displayed as ^J sometimes. Getting 'ff' value from wrong window/buffer?
|
||||
|
||||
@@ -55,15 +120,33 @@ Results in E670. (Tony Mechelynck, 2010 May 2)
|
||||
|
||||
setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
|
||||
|
||||
getpos()/setpos() don't include curswant. getpos() could return a fifth
|
||||
element. setpos() could accept an optional fifth element.
|
||||
Patch by Christian Brabandt, 2010 Sep 6. Check that new argument is optional
|
||||
and that it's documented.
|
||||
|
||||
Messages in message.txt are highlighted as examples.
|
||||
|
||||
Win32: Patch to fix slow access over network (David Anderson). Cleaned up by
|
||||
John Beckett, 2010 Aug 25.
|
||||
|
||||
Test 73 fails on MS-Windows when compiled with DJGPP and run twice. How to
|
||||
delete the Xfind directory? Add an rmdir() function, just like we have
|
||||
mkdir().
|
||||
|
||||
'cindent' not correct when 'list' is set. (Zdravi Korusef, 2010 Apr 15)
|
||||
|
||||
Windows installer: licence text should not use indent, causes bad word wrap.
|
||||
(Benjamin Fritz, 2010 Aug 16)
|
||||
|
||||
Mac with X11: clipboard doesn't work properly. (Raf, 2010 Aug 16)
|
||||
|
||||
":helpgrep" does not put the cursor in the correct column when preceded by
|
||||
accented character. (Tony Mechelynck, 2010 Apr 15)
|
||||
|
||||
Don't call check_restricted() for histadd(), setbufvar(), settabvar(),
|
||||
setwinvar().
|
||||
|
||||
Echo starts in the wrong column:
|
||||
while 1 | let s = input('A') | echo 'R' | endw
|
||||
(Boyko Bantchev, 2010 Aug 9)
|
||||
@@ -75,6 +158,9 @@ Patch to make more characters work in dialogs. (Yankwei Jia, 2010 Aug 4)
|
||||
|
||||
":drop" does not respect 'autochdir'. (Peter Odding, 2010 Jul 24)
|
||||
|
||||
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
|
||||
instead of one. (Constantin Pan, 2010 Sep 10)
|
||||
|
||||
Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
|
||||
Additional info by Dominique Pelle. (also on 2010 Apr 10)
|
||||
|
||||
@@ -148,12 +234,18 @@ Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)
|
||||
In command line window ":close" doesn't work properly. (Tony Mechelynck, 2009
|
||||
Jun 1)
|
||||
|
||||
Cannot use getchar() inside :normal and using an expression mapping. Is this
|
||||
supposed to work? (XyX, 2010 Sep 22)
|
||||
|
||||
When a:base in 'completefunc' starts with a number it's passed as a number,
|
||||
not a string. (Sean Ma) Need to add flag to call_func_retlist() to force a
|
||||
string value.
|
||||
|
||||
There is no command line completion for ":lmap".
|
||||
|
||||
":e ~br<Tab>" does not complete to ":e /home/bram/". Would need to use
|
||||
getpwent() to find all the matches.
|
||||
|
||||
Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
|
||||
|
||||
For running gvim on an USB stick: avoid the OLE registration. Use a command
|
||||
@@ -178,8 +270,13 @@ Probably needs a bit of work.
|
||||
List of encoding aliases. (Takao Fujiware, 2009 Jul 18)
|
||||
Are they all OK? Update Jul 22.
|
||||
|
||||
Win32: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18)
|
||||
|
||||
Win32: Expanding 'path' runs into a maximum size limit. (bgold12, 2009 Nov 15)
|
||||
|
||||
Win32: Patch for enabling quick edit mode in console. (Craig Barkhouse, 2010
|
||||
Sep 1)
|
||||
|
||||
Putting a Visual block while 'visualedit' is "all" does not leave the cursor
|
||||
on the first character. (John Beckett, 2010 Aug 7)
|
||||
|
||||
@@ -288,10 +385,6 @@ very high. (Yegappan Lakshmanan, 2010 Jul 22, Michael Peeters, 2010 Jul 22)
|
||||
Directory wrong in session file, caused by ":lcd" in BufEnter autocommand.
|
||||
(Felix Kater, 2009 Mar 3)
|
||||
|
||||
maparg() doesn't return the flags, such as <buffer>, <script>, <silent>.
|
||||
These are needed to save and restore a mapping.
|
||||
Also: the rhs string is not always correct. (Hari Krishna Dara, 2009 Sept 29)
|
||||
|
||||
Using ~ works OK on 'a' with composing char, but not on 0x0418 with composing
|
||||
char 0x0301. (Tony Mechelynck, 2009 Mar 4)
|
||||
|
||||
@@ -424,6 +517,15 @@ argument is processed for <f-args>. (Ivan Tishchenko, 2008 Aug 19)
|
||||
Win32: associating a type with Vim doesn't take care of space after a
|
||||
backslash? (Robert Vibrant, 2008 Jun 5)
|
||||
|
||||
Win32: bold font doesn't work when 'guifontwide' has been set. (Yue Wu, 2010
|
||||
Aug 23)
|
||||
|
||||
When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a
|
||||
line. It's also wrong in folds. (Dominique Pelle, 2010 Aug 21)
|
||||
|
||||
Using an insert mode expression mapping, cursor is not in the expected
|
||||
position. (ZyX, 2010 Aug 29)
|
||||
|
||||
After using <Tab> for command line completion after ":ta blah" and getting E33
|
||||
(no tags file), further editing the command to e.g., ":echo 'blah'", the
|
||||
command is not executed. Fix by Ian Kelling?
|
||||
@@ -513,6 +615,12 @@ When 'smartcase' is set and using CTRL-L to add to the search pattern it may
|
||||
result in no matches. Convert chars to lower case? (Erik Wognsen, 2009 Apr
|
||||
16)
|
||||
|
||||
Searching for composing char works, but not when inside []. (ZyX, Benjamin R.
|
||||
Haskell, 2010 Aug 24)
|
||||
|
||||
Fail to edit file after failed register access. Error flag remains set?
|
||||
(Lech Lorens, 2010 Aug 30)
|
||||
|
||||
Patch for redo register. (Ben Schmidt, 2007 Oct 19)
|
||||
Await response to question to make the register writable.
|
||||
|
||||
@@ -560,6 +668,7 @@ C syntax: {} inside () causes following {} to be highlighted as error.
|
||||
|
||||
Can't easily close the help window, like ":pc" closes the preview window and
|
||||
":ccl" closes the quickfix window. Add ":hclose". (Chris Gaal)
|
||||
Patch for :helpclose, Christian Brabandt, 2010 Sep 6.
|
||||
|
||||
When 'diffopt' has "context:0" a single deleted line causes two folds to merge
|
||||
and mess up syncing. (Austin Jennings, 2008 Jan 31)
|
||||
@@ -589,6 +698,9 @@ Asked about latest version: 0.77.1 is on www.vim.org.
|
||||
|
||||
More AmigaOS4 patches. (Peter Bengtsson, Nov 9)
|
||||
|
||||
Amiga patches with vbcc. (Adrien Destugues, 2010 Aug 30)
|
||||
http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff
|
||||
|
||||
Insert mode completion: When editing the text and pressing CTRL-N again goes
|
||||
back to originally completed text, edited text is gone. (Peng Yu, 2008 Jul 24)
|
||||
Suggestion by Ben Schmidt, 2008 Aug 6.
|
||||
@@ -718,9 +830,6 @@ Win32: When there is 4 Gbyte of memory mch_avail_mem() doesn't work properly.
|
||||
Unfinished patch by Jelle Geerts, 2008 Aug 24.
|
||||
Let mch_avail_mem() return Kbyte instead?
|
||||
|
||||
Win32: With two monitors, gvim partly on both, and adding/removing a scrollbar
|
||||
Vim resizes and moves to one of the monitors. (Chris Monkiewicz, 2008 Oct)
|
||||
|
||||
Win32: When 'shell' is bash shellescape() doesn't always do the right thing.
|
||||
Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape()
|
||||
only takes 'shellslash' into account.
|
||||
@@ -802,9 +911,6 @@ VMS: VFC files are in some cases truncated during reading (Zoltan Arpadffy)
|
||||
input() completion should not insert a backslash to escape a space in a file
|
||||
name?
|
||||
|
||||
getpos()/setpos() don't include curswant. getpos() could return a fifth
|
||||
element. setpos() could accept an optional fifth element.
|
||||
|
||||
Ruby completion is insecure. Can this be fixed?
|
||||
|
||||
When 'backupskip' is set from $TEMP special characters need to be escaped.
|
||||
@@ -993,9 +1099,6 @@ resulting in highlighted "{" in that window, not in the other.
|
||||
In mswin.vim: Instead of mapping <C-V> for Insert mode in a complicated way,
|
||||
can it be done like ":imap <C-V> <MiddleMouse>" without negative side effects?
|
||||
|
||||
Win32: When the GUI tab pages line is displayed Vim jumps from the secondary
|
||||
to the primary monitor. (Afton Lewis, 2007 Mar 9) Old resizing problem?
|
||||
|
||||
GTK: when the Tab pages bar appears or disappears while the window is
|
||||
maximized the window is no longer maximized. Patch that has some idea but
|
||||
doesn't work from Geoffrey Antos, 2008 May 5.
|
||||
@@ -1319,9 +1422,18 @@ Win32 GUI known bugs:
|
||||
the wide functions.
|
||||
8 On Windows 98 the unicows library is needed to support functions with UCS2
|
||||
file names. Can we load unicows.dll dynamically?
|
||||
8 Win32: With two monitors, gvim partly on both, and adding/removing a
|
||||
scrollbar Vim resizes and moves to one of the monitors. (Chris Monkiewicz,
|
||||
2008 Oct)
|
||||
8 When the primary monitor is below or right of the secondary monitor and
|
||||
Vim is on the secondary monitor it will often move to the primary monitor.
|
||||
Window position coordinates can be negative. (James Harvey)
|
||||
When the primary monitor is on the right, coordinates on the left monitor
|
||||
are negative. Clamping to zero means gvim jups to the primary monitor.
|
||||
(Michael Wookey, 2010 Aug 17)
|
||||
Probably the same issue: When the GUI tab pages line is displayed Vim
|
||||
jumps from the secondary to the primary monitor. (Afton Lewis, 2007 Mar 9)
|
||||
Possible solution using GetSystemMetrics() (Sergey Khorev, 2010 Aug 18)
|
||||
8 The -P argument doesn't work very well with many MDI applications.
|
||||
The last argument of CreateWindowEx() should be used, see MSDN docs.
|
||||
Tutorial: http://win32assembly.online.fr/tut32.html
|
||||
@@ -1452,7 +1564,7 @@ Athena GUI:
|
||||
|
||||
|
||||
Motif GUI:
|
||||
- gui_mch_browsedir() is missing.
|
||||
- gui_mch_browsedir() is missing, browsedir() doesn't work nicely.
|
||||
7 Use XmStringCreateLocalized() instead of XmStringCreateSimple()?
|
||||
David Harrison says it's OK (it exists in Motif 1.2).
|
||||
8 Lesstif: When deleting a menu that's torn off, the torn off menu becomes
|
||||
@@ -1662,33 +1774,17 @@ Amiga:
|
||||
|
||||
Macintosh:
|
||||
- GUI: gui_mch_browsedir() is missing.
|
||||
7 Patch to add 'transparency' option. Disadvantage: it's slow. (Eckehard
|
||||
Berns, 2004 May 9) http://ecki.to/vim/TransBack-2004-05-09.diff
|
||||
Needs more work. Add when someone really wants it.
|
||||
7 Loading the Perl library only works on OS/X 10.2 or 10.3, never on both.
|
||||
Load the Perl library dynamically see Python sources file dynload_mac
|
||||
(Jack)
|
||||
dynamic linking: http://developer.apple.com/technotes/tn2002/tn2064.html
|
||||
8 Inputting Unicode characters does not work in the terminal. They appear
|
||||
to arrive as upper and lower bytes. (David Brown, 2004 April 17)
|
||||
8 Typing Unicode characters doesn't work at all in the GUI.
|
||||
8 inputdialog() doesn't resize when giving more text lines. (David Fishburn,
|
||||
2006 Sept 28)
|
||||
9 Problems in Carbon version for OS X: (Benji Fisher)
|
||||
- keyboard shortcuts in the menus get lost.
|
||||
8 The Vim/About menu doesn't work.
|
||||
8 ":gui" doesn't fork. Enabling the code in gui.c to fork causes a SEGV.
|
||||
8 Define vim_mkdir() for Macintosh.
|
||||
8 Define mch_writable() for Macintosh.
|
||||
9 When DiskLock is running, using a swap file causes a crash. Appears to be
|
||||
a problem with writing a file that starts with a dot. (Giacalone)
|
||||
9 On G3 Mac, OS version 8, control strip causes characters messed up when
|
||||
scrolling (CTRL-L cleans it up). (Benji Fisher)
|
||||
9 On G3 Mac, OS version 8, variable-speed scrolling doesn't work, after two
|
||||
seconds of scrolling the screen freezes. (Benji Fisher)
|
||||
9 In mac_expandpath() check that handling of backslashes is done properly.
|
||||
8 Standard Mac shortcuts are missing. (Amerige)
|
||||
8 Handling of non-fixed width fonts is wrong. (Amerige)
|
||||
|
||||
|
||||
"Small" problems:
|
||||
@@ -2584,9 +2680,6 @@ Syntax highlighting:
|
||||
colors. And add colors, so that Green+Red becomes Yellow.
|
||||
E.g. for this html:
|
||||
<B> bold text <I> italic+bold text </B> italic text </I>
|
||||
7 Wild idea: Not only set highlighting, but also change what is displayed
|
||||
(e.g., remove characters, so that "<B>bold</B>" can be shown as "bold"):
|
||||
:syn region boldstuff start="<B>" display="" end="</B>" display=""
|
||||
7 CTRL-] checks the highlight group for finding out what the tag is.
|
||||
7 Add an explanation how a list of words can be used to highlight misspelled
|
||||
words.
|
||||
@@ -2760,8 +2853,6 @@ Built-in script language:
|
||||
"command" would use <> notation.
|
||||
Does scratch buffer have a number? Or re-use same number?
|
||||
7 Add function to generate unique number (date in milliseconds).
|
||||
7 Automatically load a function from a file when it is called. Need an
|
||||
option for the search path. (Sekera)
|
||||
|
||||
|
||||
Robustness:
|
||||
@@ -2813,7 +2904,7 @@ Performance:
|
||||
http://www.theregister.co.uk/content/4/22908.html. (Andre Pang)
|
||||
7 Check how performance of loading the wordlist can be improved (adding a
|
||||
lot of abbreviations).
|
||||
7 DOS console: Add t_DL support, to make scrolling faster.
|
||||
7 MS-DOS console: Add t_DL support, to make scrolling faster.
|
||||
7 Compile Ex commands to byte codes. Store byte codes in a vim script file
|
||||
at the end, after "compiled:. Make it look like a single comment line
|
||||
for old Vim versions. Insert first line "Vim script compiled <timestamp>.
|
||||
@@ -2946,7 +3037,7 @@ Screen updating:
|
||||
|
||||
|
||||
Scrolling:
|
||||
8 Add "zm" command: scroll horizontally to put the cursor in the middle.
|
||||
8 Add "zy" command: scroll horizontally to put the cursor in the middle.
|
||||
6 Add option to set the overlap for CTRL-F and CTRL-B. (Garhi)
|
||||
- extend 'scrollbind' option: 'scrollopt' words "search", "relative", etc..
|
||||
Also 'e'xecute some commands (search, vertical movements) in all bound
|
||||
@@ -3182,8 +3273,6 @@ Autocommands:
|
||||
CursorHold), go through the list once and cache the result for a specific
|
||||
buffer. Invalidate the cache when adding/deleting autocommands or
|
||||
changing the buffer name.
|
||||
8 Add ScriptReadCmd event: used to load remote Vim scripts, e.g.
|
||||
"vim -u http://mach/path/vimrc".
|
||||
7 Add TagJump event: do something after jumping to a tag.
|
||||
8 Add "TagJumpFile" autocommand: When jumping to another file for a tag.
|
||||
Can be used to open "main.c.gz" when "main.c" isn't found.
|
||||
@@ -3234,8 +3323,6 @@ Autocommands:
|
||||
PreDirChanged/PostDirChanged
|
||||
- Before/after ":cd" has been used (for changing the
|
||||
window title)
|
||||
BufReadAction - replaces reading a file
|
||||
BufWriteAction - replaces writing a file
|
||||
ShutDown - when the system is about to shut down
|
||||
InsertCharPre - user typed character Insert mode, before inserting the
|
||||
char. Pattern is matched with text before the cursor.
|
||||
@@ -3712,21 +3799,14 @@ Mappings and Abbreviations:
|
||||
8 Add a flag to ":abbrev" to eat the character that triggers the
|
||||
abbreviation. Thus "abb ab xxx" and typing "ab<Space>" inserts "xxx" and
|
||||
not the <Space>.
|
||||
8 Allow mapping of CTRL-@ (anywhere in the LHS).
|
||||
8 Give a warning when using CTRL-C in the lhs of a mapping. It will never
|
||||
(?) work.
|
||||
8 Add a way to save a current mapping and restore it later. Use a function
|
||||
that returns the mapping command to restore it: mapcmd()? mapcheck() is
|
||||
not fool proof. How to handle ambiguous mappings?
|
||||
7 Add <0x8f> (hex), <033> (octal) and <123> (decimal) to <> notation?
|
||||
7 Allow mapping "Q" and "Q}" at the same time. Need to put a flag with "Q",
|
||||
that it needs an extra character before it can match. See Vile 'maplonger'
|
||||
option.
|
||||
7 When someone tries to unmap with a trailing space, and it fails, try
|
||||
unmapping without the trailing space. Helps for ":unmap xx | unmap yy".
|
||||
7 Make it possible to map 'wildchar', but only when it's a special character
|
||||
(like CTRL-E). Currently it's only recognized when typed. Useful for
|
||||
mapping a key to do something and then completion.
|
||||
6 Context-sensitive abbreviations: Specify syntax group(s) in which the
|
||||
abbreviations are to be used.
|
||||
- Add mappings that take arguments. Could work like the ":s" command. For
|
||||
@@ -3738,12 +3818,9 @@ Mappings and Abbreviations:
|
||||
:map q<Char> :s/<Char>/\u\0/g
|
||||
Or implicit:
|
||||
:map q <Register>d<Number>$
|
||||
- Make it possible to include a <Nul> in the lhs and rhs of a mapping.
|
||||
- Add command to repeat a whole mapping ("." only repeats the last change in
|
||||
a mapping). Also: Repeat a whole insert command, including any mappings
|
||||
that it included. Sort-of automatic recording?
|
||||
- Add an option to ":map" that makes it display the special keys in
|
||||
<> notation (e.g. <CR> instead of ^M). Or just always do this?
|
||||
- Include an option (or flag to 'cpoptions') that makes errors in mappings
|
||||
not flush the rest of the mapping (like nvi does).
|
||||
- Use context sensitiveness of completion to switch abbreviations and
|
||||
@@ -4393,7 +4470,7 @@ Various improvements:
|
||||
(like "v" makes the operator characterwise-exclusive). "x" could be used.
|
||||
- Make a set of operations on list of names: expand wildcards, replace home
|
||||
dir, append a string, delete a string, etc.
|
||||
- Remove mktemp() and use tmpname() only? Ctags does this.
|
||||
- Remove using mktemp() and use tmpname() only? Ctags does this.
|
||||
- When replacing environment variables, and there is one that is not set,
|
||||
turn it into an empty string? Only when expanding options? (Hiebert)
|
||||
- Option to set command to be executed instead of producing a beep (e.g. to
|
||||
@@ -4478,7 +4555,6 @@ Various improvements:
|
||||
expanded. Is there a better way to do this?
|
||||
- Add ":@!" command, to ":@" like what ":source!" is to ":source".
|
||||
8 Add ":@:!": repeat last command with forceit set.
|
||||
- Should be possible to write to a device, e.g. ":w! /dev/null".
|
||||
- Add 't_normal': Used whenever t_me, t_se, t_ue or t_Zr is empty.
|
||||
- ":cab map test ^V| je", ":cunab map" doesn't work. This is vi compatible!
|
||||
- CTRL-W CTRL-E and CTRL-W CTRL-Y should move the current window up or down
|
||||
@@ -4556,9 +4632,6 @@ Various improvements:
|
||||
- ":split file1 file2" adds two more windows (Webb).
|
||||
- Don't give message "Incomplete last line" when editing binary file.
|
||||
- Add ":a", ":i" for preloading of named buffers.
|
||||
- Allow autowrite when doing ":e file" (with an option 'eaw').
|
||||
- Allow a "+command" argument before each file name in the Vim command line:
|
||||
"vim +123 file1 +234 file2 +345 file3". ???
|
||||
- When entering text, keep other windows on same buffer updated (when a line
|
||||
entered)?
|
||||
- Check out how screen does output optimizing. Apparently this is possible
|
||||
@@ -4632,8 +4705,6 @@ Various improvements:
|
||||
working in another window. Put cmdline in a separate window?
|
||||
- Add possibility to put output of Ex commands in a buffer or file, e.g. for
|
||||
":set all". ":r :set all"?
|
||||
- 'edit' option: When off changing the buffer is not possible (Really
|
||||
read-only mode).
|
||||
- When the 'equalalways' option is set, creating a new window should not
|
||||
result in windows to become bigger. Deleting a window should not result in
|
||||
a window to become smaller (Webb).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*undo.txt* For Vim version 7.3. Last change: 2010 Jul 20
|
||||
*undo.txt* For Vim version 7.3. Last change: 2010 Sep 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -125,9 +125,9 @@ This is explained in the user manual: |usr_32.txt|.
|
||||
|
||||
*:undol* *:undolist*
|
||||
:undol[ist] List the leafs in the tree of changes. Example:
|
||||
number changes time ~
|
||||
number changes time saved ~
|
||||
4 10 10:34:11
|
||||
18 4 11:01:46
|
||||
18 4 11:01:46 7
|
||||
|
||||
The "number" column is the change number. This number
|
||||
continuously increases and can be used to identify a
|
||||
@@ -135,6 +135,9 @@ This is explained in the user manual: |usr_32.txt|.
|
||||
The "changes" column is the number of changes to this
|
||||
leaf from the root of the tree.
|
||||
The "time" column is the time this change was made.
|
||||
The "saved" column specifies, if this change was
|
||||
written to disk and which file write it was. This can
|
||||
be used with the |:later| and |:earlier| commands.
|
||||
For more details use the |undotree()| function.
|
||||
|
||||
*g-*
|
||||
@@ -148,7 +151,7 @@ g- Go to older text state. With a count repeat that many
|
||||
:earlier {N}d Go to older text state about {N} days before.
|
||||
|
||||
:earlier {N}f Go to older text state {N} file writes before.
|
||||
When changes were made since the laste write
|
||||
When changes were made since the last write
|
||||
":earlier 1f" will revert the text to the state when
|
||||
it was written. Otherwise it will go to the write
|
||||
before that.
|
||||
@@ -324,8 +327,8 @@ Writing an undo file may fail for these reasons:
|
||||
A file exists with the name of the undo file to be written, but it
|
||||
does not start with the right magic number. You may want to delete
|
||||
this file or rename it.
|
||||
"Skipping undo file write, noting to undo"
|
||||
There is no undo information not be written, nothing has been changed
|
||||
"Skipping undo file write, nothing to undo"
|
||||
There is no undo information to be written, nothing has been changed
|
||||
or 'undolevels' is negative.
|
||||
*E829* An error occurred while writing the undo file. You may want to try
|
||||
again.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 7.3. Last change: 2010 Aug 10
|
||||
*various.txt* For Vim version 7.3. Last change: 2010 Sep 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -167,8 +167,8 @@ g8 Print the hex values of the bytes used in the
|
||||
:norm[al][!] {commands} *:norm* *:normal*
|
||||
Execute Normal mode commands {commands}. This makes
|
||||
it possible to execute Normal mode commands typed on
|
||||
the command-line. {commands} is executed like it is
|
||||
typed. For undo all commands are undone together.
|
||||
the command-line. {commands} are executed like they
|
||||
are typed. For undo all commands are undone together.
|
||||
Execution stops when an error is encountered.
|
||||
If the [!] is given, mappings will not be used.
|
||||
{commands} should be a complete command. If
|
||||
@@ -613,7 +613,7 @@ g CTRL-A Only when Vim was compiled with MEM_PROFILING defined
|
||||
Only useful for debugging Vim.
|
||||
|
||||
==============================================================================
|
||||
3. Using Vim like less or more *less*
|
||||
2. Using Vim like less or more *less*
|
||||
|
||||
If you use the less or more program to view a file, you don't get syntax
|
||||
highlighting. Thus you would like to use Vim instead. You can do this by
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vi_diff.txt* For Vim version 7.3. Last change: 2010 Jul 20
|
||||
*vi_diff.txt* For Vim version 7.3. Last change: 2010 Sep 25
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -90,6 +90,7 @@ Maximum lhs of a mapping 50 characters.
|
||||
Number of different highlighting types: over 30000
|
||||
Range of a Number variable: -2147483648 to 2147483647 (more on 64 bit
|
||||
systems)
|
||||
Maximum length of a line in a tags file: 512 bytes.
|
||||
|
||||
Information for undo and text in registers is kept in memory, thus when making
|
||||
(big) changes the amount of (virtual) memory available limits the number of
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2010 Jul 30
|
||||
" Last Change: 2010 Sep 29
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -677,6 +677,9 @@ au BufNewFile,BufRead *.exp setf expect
|
||||
" Exports
|
||||
au BufNewFile,BufRead exports setf exports
|
||||
|
||||
" Falcon
|
||||
au BufNewFile,BufRead *.fal setf falcon
|
||||
|
||||
" Fantom
|
||||
au BufNewFile,BufRead *.fan,*.fwt setf fan
|
||||
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Falcon
|
||||
" Author: Steven Oliver <oliver.steven@gmail.com>
|
||||
" Copyright: Copyright (c) 2009, 2010 Steven Oliver
|
||||
" License: You may redistribute this under the same terms as Vim itself
|
||||
" --------------------------------------------------------------------------
|
||||
" GetLatestVimScripts: 2762 1 :AutoInstall: falcon.vim
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if (exists("b:did_ftplugin"))
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal tabstop=4 shiftwidth=4 expandtab fileencoding=utf-8
|
||||
setlocal suffixesadd=.fal
|
||||
|
||||
" Matchit support
|
||||
if exists("loaded_matchit") && !exists("b:match_words")
|
||||
let b:match_ignorecase = 0
|
||||
|
||||
let b:match_words =
|
||||
\ '\<\%(if\|case\|while\|until\|for\|do\|class\)\>=\@!' .
|
||||
\ ':' .
|
||||
\ '\<\%(else\|elsif\|when\)\>' .
|
||||
\ ':' .
|
||||
\ '\<end\>' .
|
||||
\ ',{:},\[:\],(:)'
|
||||
endif
|
||||
|
||||
" Set comments to include dashed lines
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||
|
||||
" Windows allows you to filter the open file dialog
|
||||
if has("gui_win32") && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Falcon Source Files (*.fal)\t*.fal\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" vim: set sw=4 sts=4 et tw=80 :
|
||||
@@ -15,5 +15,11 @@ let b:undo_ftplugin = "setl fo< tw< cole< cocu<"
|
||||
|
||||
setlocal formatoptions+=tcroql textwidth=78 cole=2 cocu=nc
|
||||
|
||||
if has("gui_macvim")
|
||||
" Use swipe gesture to navigate back/forward
|
||||
nmap <buffer> <silent> <SwipeLeft> :po<CR>
|
||||
nmap <buffer> <silent> <SwipeRight> :ta<CR>
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: DTD (Document Type Definition for XML)
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-18
|
||||
" Latest Revision: 2010-09-21
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
@@ -52,7 +52,7 @@ function s:indent_to_innermost_parentheses(line, end)
|
||||
let end = a:end
|
||||
let parentheses = [end - 1]
|
||||
while token != ""
|
||||
let [token, end] = s:lex(a:line, end, '^\%([(),|]\|[A-Za-z0-9_-]\+\)[?*+]\=')
|
||||
let [token, end] = s:lex(a:line, end, '^\%([(),|]\|[A-Za-z0-9_-]\+\|#PCDATA\|%[A-Za-z0-9_-]\+;\)[?*+]\=')
|
||||
if token[0] == '('
|
||||
call add(parentheses, end - 1)
|
||||
elseif token[0] == ')'
|
||||
@@ -80,7 +80,7 @@ function GetDTDIndent()
|
||||
let lnum = line('.')
|
||||
let col = col('.')
|
||||
let indent = indent('.')
|
||||
let line = join(getline(lnum, v:lnum - 1), "\n")
|
||||
let line = lnum == v:lnum ? getline(lnum) : join(getline(lnum, v:lnum - 1), "\n")
|
||||
|
||||
let [declaration, end] = s:lex1(line, col)
|
||||
if declaration == ""
|
||||
@@ -106,7 +106,7 @@ function GetDTDIndent()
|
||||
" Check for token following element name. This can be a specification of
|
||||
" whether the start or end tag may be omitted. If nothing is found, indent
|
||||
" one level.
|
||||
let [token, end] = s:lex(line, end)
|
||||
let [token, end] = s:lex(line, end, '^\%([-O(]\|ANY\|EMPTY\)')
|
||||
let n = 0
|
||||
while token =~ '[-O]' && n < 2
|
||||
let [token, end] = s:lex(line, end, '^\%([-O(]\|ANY\|EMPTY\)')
|
||||
@@ -214,8 +214,7 @@ function GetDTDIndent()
|
||||
|
||||
" Finally look for the attribute’s default value. If non exists, indent
|
||||
" two levels.
|
||||
" TODO: Do validation of keywords (#REQUIRED|#IMPLIED)?
|
||||
let [default, end] = s:lex(line, end, '^\%("\_[^"]*"\|[^[:space:]]\+\)')
|
||||
let [default, end] = s:lex(line, end, '^\%("\_[^"]*"\|#\(REQUIRED\|IMPLIED\|FIXED\)\)')
|
||||
if default == ""
|
||||
return indent + &sw * 2
|
||||
elseif default == '#FIXED'
|
||||
|
||||
@@ -0,0 +1,156 @@
|
||||
" Vim indent file
|
||||
" Language: Falcon
|
||||
" Maintainer: Steven Oliver <oliver.steven@gmail.com>
|
||||
" Website: https://steveno@github.com/steveno/falconpl-vim.git
|
||||
" Credits: Thanks to the ruby.vim authors, I borrow a lot!
|
||||
" Previous Maintainer: Brent A. Fulgham <bfulgham@debian.org>
|
||||
" -----------------------------------------------------------
|
||||
" GetLatestVimScripts: 2752 1 :AutoInstall: falcon.vim
|
||||
|
||||
"======================================
|
||||
" SETUP
|
||||
"======================================
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal nosmartindent
|
||||
|
||||
" Setup indent function and when to use it
|
||||
setlocal indentexpr=FalconGetIndent()
|
||||
setlocal indentkeys=0{,0},0),0],!^F,o,O,e
|
||||
setlocal indentkeys+==~case,=~catch,=~default,=~elif,=~else,=~end,=~\"
|
||||
|
||||
" Define the appropriate indent function but only once
|
||||
if exists("*FalconGetIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
"======================================
|
||||
" VARIABLES
|
||||
"======================================
|
||||
|
||||
" Regex of syntax group names that are strings AND comments
|
||||
let s:syng_strcom = '\<falcon\%(String\|StringEscape\|Comment\)\>'
|
||||
|
||||
" Regex of syntax group names that are strings
|
||||
let s:syng_string = '\<falcon\%(String\|StringEscape\)\>'
|
||||
|
||||
" Keywords to indent on
|
||||
let s:falcon_indent_keywords = '^\s*\(case\|catch\|class\|enum\|default\|elif\|else' .
|
||||
\ '\|for\|function\|if.*"[^"]*:.*"\|if \(\(:\)\@!.\)*$\|loop\|object\|select' .
|
||||
\ '\|switch\|try\|while\|\w*\s*=\s*\w*([$\)'
|
||||
|
||||
" Keywords to deindent on
|
||||
let s:falcon_deindent_keywords = '^\s*\(case\|catch\|default\|elif\|else\|end\)'
|
||||
|
||||
"======================================
|
||||
" FUNCTIONS
|
||||
"======================================
|
||||
|
||||
" Check if the character at lnum:col is inside a string
|
||||
function s:IsInStringOrComment(lnum, col)
|
||||
return synIDattr(synID(a:lnum, a:col, 1), 'name') =~ s:syng_strcom
|
||||
endfunction
|
||||
|
||||
"======================================
|
||||
" INDENT ROUTINE
|
||||
"======================================
|
||||
|
||||
function FalconGetIndent()
|
||||
" Get the line to be indented
|
||||
let cline = getline(v:lnum)
|
||||
|
||||
" Don't reindent comments on first column
|
||||
if cline =~ '^\/\/'
|
||||
return 0
|
||||
endif
|
||||
|
||||
" Find the previous non-blank line
|
||||
let lnum = prevnonblank(v:lnum - 1)
|
||||
|
||||
" Use zero indent at the top of the file
|
||||
if lnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
let prevline=getline(lnum)
|
||||
let ind = indent(lnum)
|
||||
let chg = 0
|
||||
|
||||
" If we are in a multi-line string or line-comment, don't do anything
|
||||
if s:IsInStringOrComment(v:lnum, matchend(cline, '^\s*') + 1 )
|
||||
return indent('.')
|
||||
endif
|
||||
|
||||
" If the start of the line equals a double quote, then indent to the
|
||||
" previous lines first double quote
|
||||
if cline =~? '^\s*"'
|
||||
let chg = chg + &sw
|
||||
endif
|
||||
|
||||
" If previous line started with a double quote and this one
|
||||
" doesn't, unindent
|
||||
if prevline =~? '^\s*"' && cline =~? '^\s*'
|
||||
let chg = chg - &sw
|
||||
endif
|
||||
|
||||
" Indent if proper keyword
|
||||
if prevline =~? s:falcon_indent_keywords
|
||||
let chg = &sw
|
||||
" If previous line opened a parenthesis, and did not close it, indent
|
||||
elseif prevline =~ '^.*(\s*[^)]*\((.*)\)*[^)]*$'
|
||||
" Make sure this isn't just a function split between two lines
|
||||
if prevline =~ ',\s*$'
|
||||
return indent(prevnonblank(v:lnum - 1)) + &sw
|
||||
else
|
||||
return match(prevline, '(.*\((.*)\|[^)]\)*.*$') + 1
|
||||
endif
|
||||
elseif prevline =~ '^[^(]*)\s*$'
|
||||
" This line closes a parenthesis. Finds opening.
|
||||
let curr_line = prevnonblank(lnum - 1)
|
||||
while curr_line >= 0
|
||||
let str = getline(curr_line)
|
||||
if str !~ '^.*(\s*[^)]*\((.*)\)*[^)]*$'
|
||||
let curr_line = prevnonblank(curr_line - 1)
|
||||
else
|
||||
break
|
||||
endif
|
||||
endwhile
|
||||
if curr_line < 0
|
||||
return -1
|
||||
endif
|
||||
let ind = indent(curr_line)
|
||||
endif
|
||||
|
||||
" If previous line ends in a semi-colon reset indent to previous
|
||||
" lines setting
|
||||
if prevline =~? ';\s*$' && prevnonblank(prevline) =~? ',\s*$'
|
||||
return chg = chg - (2 * &sw)
|
||||
endif
|
||||
|
||||
" If previous line ended in a comma, indent again
|
||||
if prevline =~? ',\s*$'
|
||||
let chg = chg + &sw
|
||||
endif
|
||||
|
||||
" If previous line ended in a =>, indent again
|
||||
if prevline =~? '=>\s*$'
|
||||
let chg = chg + &sw
|
||||
endif
|
||||
|
||||
" Deindent on proper keywords
|
||||
if cline =~? s:falcon_deindent_keywords
|
||||
let chg = chg - &sw
|
||||
endif
|
||||
|
||||
return ind + chg
|
||||
endfunction
|
||||
|
||||
" vim: set sw=4 sts=4 et tw=80 :
|
||||
+3
-2
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types in scripts
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2010 Jul 29
|
||||
" Last change: 2010 Sep 22
|
||||
|
||||
" This file is called by an autocommand for every file that has just been
|
||||
" loaded into a buffer. It checks if the type of file can be recognized by
|
||||
@@ -168,7 +168,8 @@ else
|
||||
call SetFileTypeSH(s:line1) " defined in filetype.vim
|
||||
|
||||
" Z shell scripts
|
||||
elseif s:line1 =~ '^#compdef\>' || s:line1 =~ '^#autoload\>'
|
||||
elseif s:line1 =~ '^#compdef\>' || s:line1 =~ '^#autoload\>' ||
|
||||
\ "\n".s:line1."\n".s:line2."\n".s:line3."\n".s:line4."\n".s:line5 =~ '\n\s*emulate\s\+\%(-[LR]\s\+\)\=[ckz]\=sh\>'
|
||||
set ft=zsh
|
||||
|
||||
" ELM Mail files
|
||||
|
||||
+266
-101
@@ -1,16 +1,19 @@
|
||||
" Vim syntax file for the D programming language (version 1.053 and 2.039).
|
||||
" Vim syntax file for the D programming language (version 1.053 and 2.047).
|
||||
"
|
||||
" Language: D
|
||||
" Maintainer: Jason Mills<jasonmills@nf.sympatico.ca>
|
||||
" Last Change: 2010 Jan 07
|
||||
" Version: 0.18
|
||||
" Language: D
|
||||
" Maintainer: Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
|
||||
" Last Change: 2010 Sep 21
|
||||
" Version: 0.22
|
||||
"
|
||||
" Contributors:
|
||||
" - Jason Mills <jasonmills@nf.sympatico.ca>: original Maintainer
|
||||
" - Kirk McDonald: version 0.17 updates, with minor modifications
|
||||
" (http://paste.dprogramming.com/dplmb7qx?view=hidelines)
|
||||
" - Jesse K. Phillips: patch for some keywords and attributes (annotations), with modifications
|
||||
" - Tim Keating: patch to fix a bug in highlighting the `\` literal
|
||||
" - Frank Benoit: Fixed a bug that caused some identifiers and numbers to highlight as octal number errors.
|
||||
" - Shougo Matsushita <Shougo.Matsu@gmail.com>: updates for latest 2.047 highlighting
|
||||
" - Ellery Newcomer: Fixed some highlighting bugs.
|
||||
" - Steven N. Oliver: #! highlighting
|
||||
"
|
||||
" Please email me with bugs, comments, and suggestions.
|
||||
"
|
||||
@@ -47,52 +50,89 @@ endif
|
||||
|
||||
" Keyword definitions
|
||||
"
|
||||
syn keyword dExternal import package module extern
|
||||
syn keyword dConditional if else switch
|
||||
syn keyword dBranch goto break continue
|
||||
syn keyword dRepeat while for do foreach foreach_reverse
|
||||
syn keyword dBoolean true false
|
||||
syn keyword dConstant null
|
||||
syn keyword dConstant __FILE__ __LINE__ __EOF__ __VERSION__
|
||||
syn keyword dConstant __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__
|
||||
|
||||
syn keyword dTypedef alias typedef
|
||||
syn keyword dStructure template interface class struct union
|
||||
syn keyword dEnum enum
|
||||
syn keyword dOperator new delete typeof typeid cast align is
|
||||
syn keyword dOperator this super
|
||||
syn keyword dExternal import package module extern
|
||||
syn keyword dConditional if else switch
|
||||
syn keyword dBranch goto break continue
|
||||
syn keyword dRepeat while for do foreach foreach_reverse
|
||||
syn keyword dBoolean true false
|
||||
syn keyword dConstant null
|
||||
syn keyword dConstant __FILE__ __LINE__ __EOF__ __VERSION__
|
||||
syn keyword dConstant __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__
|
||||
syn keyword dTypedef alias typedef
|
||||
syn keyword dStructure template interface class struct union
|
||||
syn keyword dEnum enum
|
||||
syn keyword dOperator new delete typeof typeid cast align is
|
||||
syn keyword dOperator this super
|
||||
if exists("d_hl_operator_overload")
|
||||
syn keyword dOpOverload opNeg opCom opPostInc opPostDec opCast opAdd opSub opSub_r
|
||||
syn keyword dOpOverload opMul opDiv opDiv_r opMod opMod_r opAnd opOr opXor
|
||||
syn keyword dOpOverload opShl opShl_r opShr opShr_r opUShr opUShr_r opCat
|
||||
syn keyword dOpOverload opCat_r opEquals opEquals opCmp
|
||||
syn keyword dOpOverload opAssign opAddAssign opSubAssign opMulAssign opDivAssign
|
||||
syn keyword dOpOverload opModAssign opAndAssign opOrAssign opXorAssign
|
||||
syn keyword dOpOverload opShlAssign opShrAssign opUShrAssign opCatAssign
|
||||
syn keyword dOpOverload opIndex opIndexAssign opCall opSlice opSliceAssign opPos
|
||||
syn keyword dOpOverload opAdd_r opMul_r opAnd_r opOr_r opXor_r opIn opIn_r
|
||||
syn keyword dOpOverload opPow opDispatch opStar opDot opApply opApplyReverse
|
||||
syn keyword dOpOverload opNeg opCom opPostInc opPostDec opCast opAdd
|
||||
syn keyword dOpOverload opSub opSub_r opMul opDiv opDiv_r opMod
|
||||
syn keyword dOpOverload opMod_r opAnd opOr opXor opShl opShl_r opShr
|
||||
syn keyword dOpOverload opShr_r opUShr opUShr_r opCat
|
||||
syn keyword dOpOverload opCat_r opEquals opEquals opCmp
|
||||
syn keyword dOpOverload opAssign opAddAssign opSubAssign opMulAssign
|
||||
syn keyword dOpOverload opDivAssign opModAssign opAndAssign
|
||||
syn keyword dOpOverload opOrAssign opXorAssign opShlAssign
|
||||
syn keyword dOpOverload opShrAssign opUShrAssign opCatAssign
|
||||
syn keyword dOpOverload opIndex opIndexAssign opIndexOpAssign
|
||||
syn keyword dOpOverload opCall opSlice opSliceAssign opSliceOpAssign
|
||||
syn keyword dOpOverload opPos opAdd_r opMul_r opAnd_r opOr_r opXor_r
|
||||
syn keyword dOpOverload opIn opIn_r opPow opDispatch opStar opDot
|
||||
syn keyword dOpOverload opApply opApplyReverse
|
||||
syn keyword dOpOverload opUnary opIndexUnary opSliceUnary
|
||||
syn keyword dOpOverload opBinary opBinaryRight
|
||||
endif
|
||||
syn keyword dType ushort int uint long ulong float
|
||||
syn keyword dType void byte ubyte double bit char wchar ucent cent
|
||||
syn keyword dType short bool dchar string wstring dstring
|
||||
syn keyword dType real ireal ifloat idouble creal cfloat cdouble
|
||||
syn keyword dDebug deprecated unittest
|
||||
syn keyword dExceptions throw try catch finally
|
||||
syn keyword dScopeDecl public protected private export
|
||||
syn keyword dStatement version debug return with
|
||||
syn keyword dStatement function delegate __traits asm mixin macro
|
||||
syn keyword dStorageClass in out inout ref lazy scope body
|
||||
syn keyword dStorageClass pure nothrow
|
||||
syn keyword dStorageClass auto static override final abstract volatile __gshared __thread
|
||||
syn keyword dStorageClass synchronized immutable shared const invariant lazy
|
||||
syn keyword dPragma pragma
|
||||
|
||||
syn keyword dType void ushort int uint long ulong float
|
||||
syn keyword dType byte ubyte double bit char wchar ucent cent
|
||||
syn keyword dType short bool dchar wstring dstring
|
||||
syn keyword dType real ireal ifloat idouble
|
||||
syn keyword dType creal cfloat cdouble
|
||||
syn keyword dDebug deprecated unittest invariant
|
||||
syn keyword dExceptions throw try catch finally
|
||||
syn keyword dScopeDecl public protected private export
|
||||
syn keyword dStatement debug return with
|
||||
syn keyword dStatement function delegate __traits mixin macro
|
||||
syn keyword dStorageClass in out inout ref lazy body
|
||||
syn keyword dStorageClass pure nothrow
|
||||
syn keyword dStorageClass auto static override final abstract volatile
|
||||
syn keyword dStorageClass __gshared __thread
|
||||
syn keyword dStorageClass synchronized shared immutable const lazy
|
||||
syn keyword dPragma pragma
|
||||
syn keyword dIdentifier _arguments _argptr __vptr __monitor _ctor _dtor
|
||||
syn keyword dScopeIdentifier contained exit success failure
|
||||
syn keyword dAttribute contained safe trusted system
|
||||
syn keyword dAttribute contained property disable
|
||||
syn keyword dVersionIdentifier contained DigitalMars GNU LDC LLVM
|
||||
syn keyword dVersionIdentifier contained X86 X86_64 Windows Win32 Win64
|
||||
syn keyword dVersionIdentifier contained linux Posix OSX FreeBSD
|
||||
syn keyword dVersionIdentifier contained LittleEndian BigEndian D_Coverage
|
||||
syn keyword dVersionIdentifier contained D_Ddoc D_InlineAsm_X86
|
||||
syn keyword dVersionIdentifier contained D_InlineAsm_X86_64 D_LP64 D_PIC
|
||||
syn keyword dVersionIdentifier contained unittest D_Version2 none all
|
||||
|
||||
" Highlight the sharpbang
|
||||
syn match dSharpBang "\%^#!.*" display
|
||||
|
||||
" Attributes/annotations
|
||||
syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>"
|
||||
syn match dAnnotation "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" contains=dAttribute
|
||||
|
||||
" Version Identifiers
|
||||
syn match dVersion "[^.]version" nextgroup=dVersionInside
|
||||
syn match dVersion "^version" nextgroup=dVersionInside
|
||||
syn match dVersionInside "([_a-zA-Z][_a-zA-Z0-9]*\>" transparent contained contains=dVersionIdentifier
|
||||
|
||||
" Scope StorageClass
|
||||
syn match dStorageClass "scope"
|
||||
|
||||
" Scope Identifiers
|
||||
syn match dScope "scope\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+5 contains=dScopeIdentifier
|
||||
|
||||
" String is a statement and a module name.
|
||||
syn match dType "^string"
|
||||
syn match dType "[^.]\s*\<string\>"ms=s+1
|
||||
|
||||
" Assert is a statement and a module name.
|
||||
syn match dAssert "^assert\>"
|
||||
syn match dAssert "^assert"
|
||||
syn match dAssert "[^.]\s*\<assert\>"ms=s+1
|
||||
|
||||
" dTokens is used by the token string highlighting
|
||||
@@ -101,26 +141,18 @@ syn cluster dTokens add=dConstant,dTypedef,dStructure,dOperator,dOpOverload
|
||||
syn cluster dTokens add=dType,dDebug,dExceptions,dScopeDecl,dStatement
|
||||
syn cluster dTokens add=dStorageClass,dPragma,dAssert,dAnnotation
|
||||
|
||||
" Marks contents of the asm statment body as special
|
||||
"
|
||||
" TODO
|
||||
"syn match dAsmStatement "\<asm\>"
|
||||
"syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement
|
||||
"
|
||||
"hi def link dAsmBody dUnicode
|
||||
"hi def link dAsmStatement dStatement
|
||||
|
||||
" Labels
|
||||
"
|
||||
" We contain dScopeDecl so public: private: etc. are not highlighted like labels
|
||||
syn match dUserLabel "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl,dEnum
|
||||
syn keyword dLabel case default
|
||||
syn keyword dLabel case default
|
||||
|
||||
syn cluster dTokens add=dUserLabel,dLabel
|
||||
|
||||
" Comments
|
||||
"
|
||||
syn keyword dTodo contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
|
||||
syn keyword dTodo contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
|
||||
syn match dCommentStar contained "^\s*\*[^/]"me=e-1
|
||||
syn match dCommentStar contained "^\s*\*$"
|
||||
syn match dCommentPlus contained "^\s*+[^/]"me=e-1
|
||||
@@ -251,51 +283,184 @@ syn region dPragma start="#\s*\(line\>\)" skip="\\$" end="$"
|
||||
|
||||
" The default highlighting.
|
||||
"
|
||||
hi def link dBinary Number
|
||||
hi def link dDec Number
|
||||
hi def link dHex Number
|
||||
hi def link dOctal Number
|
||||
hi def link dFloat Float
|
||||
hi def link dHexFloat Float
|
||||
hi def link dDebug Debug
|
||||
hi def link dBranch Conditional
|
||||
hi def link dConditional Conditional
|
||||
hi def link dLabel Label
|
||||
hi def link dUserLabel Label
|
||||
hi def link dRepeat Repeat
|
||||
hi def link dExceptions Exception
|
||||
hi def link dAssert Statement
|
||||
hi def link dStatement Statement
|
||||
hi def link dScopeDecl dStorageClass
|
||||
hi def link dStorageClass StorageClass
|
||||
hi def link dBoolean Boolean
|
||||
hi def link dUnicode Special
|
||||
hi def link dTokenStringBrack String
|
||||
hi def link dHereString String
|
||||
hi def link dNestString String
|
||||
hi def link dDelimString String
|
||||
hi def link dRawString String
|
||||
hi def link dString String
|
||||
hi def link dHexString String
|
||||
hi def link dCharacter Character
|
||||
hi def link dEscSequence SpecialChar
|
||||
hi def link dSpecialCharError Error
|
||||
hi def link dOctalError Error
|
||||
hi def link dOperator Operator
|
||||
hi def link dOpOverload Identifier
|
||||
hi def link dConstant Constant
|
||||
hi def link dTypedef Typedef
|
||||
hi def link dEnum Structure
|
||||
hi def link dStructure Structure
|
||||
hi def link dTodo Todo
|
||||
hi def link dType Type
|
||||
hi def link dLineComment Comment
|
||||
hi def link dBlockComment Comment
|
||||
hi def link dNestedComment Comment
|
||||
hi def link dExternal Include
|
||||
hi def link dPragma PreProc
|
||||
hi def link dAnnotation PreProc
|
||||
hi def link dBinary Number
|
||||
hi def link dDec Number
|
||||
hi def link dHex Number
|
||||
hi def link dOctal Number
|
||||
hi def link dFloat Float
|
||||
hi def link dHexFloat Float
|
||||
hi def link dDebug Debug
|
||||
hi def link dBranch Conditional
|
||||
hi def link dConditional Conditional
|
||||
hi def link dLabel Label
|
||||
hi def link dUserLabel Label
|
||||
hi def link dRepeat Repeat
|
||||
hi def link dExceptions Exception
|
||||
hi def link dAssert Statement
|
||||
hi def link dStatement Statement
|
||||
hi def link dScopeDecl dStorageClass
|
||||
hi def link dStorageClass StorageClass
|
||||
hi def link dBoolean Boolean
|
||||
hi def link dUnicode Special
|
||||
hi def link dTokenStringBrack String
|
||||
hi def link dHereString String
|
||||
hi def link dNestString String
|
||||
hi def link dDelimString String
|
||||
hi def link dRawString String
|
||||
hi def link dString String
|
||||
hi def link dHexString String
|
||||
hi def link dCharacter Character
|
||||
hi def link dEscSequence SpecialChar
|
||||
hi def link dSpecialCharError Error
|
||||
hi def link dOctalError Error
|
||||
hi def link dOperator Operator
|
||||
hi def link dOpOverload Identifier
|
||||
hi def link dConstant Constant
|
||||
hi def link dTypedef Typedef
|
||||
hi def link dEnum Structure
|
||||
hi def link dStructure Structure
|
||||
hi def link dTodo Todo
|
||||
hi def link dType Type
|
||||
hi def link dLineComment Comment
|
||||
hi def link dBlockComment Comment
|
||||
hi def link dNestedComment Comment
|
||||
hi def link dExternal Include
|
||||
hi def link dPragma PreProc
|
||||
hi def link dAnnotation PreProc
|
||||
hi def link dSharpBang PreProc
|
||||
hi def link dAttribute StorageClass
|
||||
hi def link dIdentifier Identifier
|
||||
hi def link dVersionIdentifier Identifier
|
||||
hi def link dVersion dStatement
|
||||
hi def link dScopeIdentifier dStatement
|
||||
hi def link dScope dStorageClass
|
||||
|
||||
let b:current_syntax = "d"
|
||||
|
||||
" vim: ts=8 noet
|
||||
" Marks contents of the asm statment body as special
|
||||
|
||||
syn match dAsmStatement "\<asm\>"
|
||||
syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement,dAsmOpCode
|
||||
|
||||
hi def link dAsmBody dUnicode
|
||||
hi def link dAsmStatement dStatement
|
||||
hi def link dAsmOpCode Identifier
|
||||
|
||||
syn keyword dAsmOpCode contained aaa aad aam aas adc
|
||||
syn keyword dAsmOpCode contained add addpd addps addsd addss
|
||||
syn keyword dAsmOpCode contained and andnpd andnps andpd andps
|
||||
syn keyword dAsmOpCode contained arpl bound bsf bsr bswap
|
||||
syn keyword dAsmOpCode contained bt btc btr bts call
|
||||
syn keyword dAsmOpCode contained cbw cdq clc cld clflush
|
||||
syn keyword dAsmOpCode contained cli clts cmc cmova cmovae
|
||||
syn keyword dAsmOpCode contained cmovb cmovbe cmovc cmove cmovg
|
||||
syn keyword dAsmOpCode contained cmovge cmovl cmovle cmovna cmovnae
|
||||
syn keyword dAsmOpCode contained cmovnb cmovnbe cmovnc cmovne cmovng
|
||||
syn keyword dAsmOpCode contained cmovnge cmovnl cmovnle cmovno cmovnp
|
||||
syn keyword dAsmOpCode contained cmovns cmovnz cmovo cmovp cmovpe
|
||||
syn keyword dAsmOpCode contained cmovpo cmovs cmovz cmp cmppd
|
||||
syn keyword dAsmOpCode contained cmpps cmps cmpsb cmpsd cmpss
|
||||
syn keyword dAsmOpCode contained cmpsw cmpxch8b cmpxchg comisd comiss
|
||||
syn keyword dAsmOpCode contained cpuid cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi
|
||||
syn keyword dAsmOpCode contained cvtpd2ps cvtpi2pd cvtpi2ps cvtps2dq cvtps2pd
|
||||
syn keyword dAsmOpCode contained cvtps2pi cvtsd2si cvtsd2ss cvtsi2sd cvtsi2ss
|
||||
syn keyword dAsmOpCode contained cvtss2sd cvtss2si cvttpd2dq cvttpd2pi cvttps2dq
|
||||
syn keyword dAsmOpCode contained cvttps2pi cvttsd2si cvttss2si cwd cwde
|
||||
syn keyword dAsmOpCode contained da daa das db dd
|
||||
syn keyword dAsmOpCode contained de dec df di div
|
||||
syn keyword dAsmOpCode contained divpd divps divsd divss dl
|
||||
syn keyword dAsmOpCode contained dq ds dt dw emms
|
||||
syn keyword dAsmOpCode contained enter f2xm1 fabs fadd faddp
|
||||
syn keyword dAsmOpCode contained fbld fbstp fchs fclex fcmovb
|
||||
syn keyword dAsmOpCode contained fcmovbe fcmove fcmovnb fcmovnbe fcmovne
|
||||
syn keyword dAsmOpCode contained fcmovnu fcmovu fcom fcomi fcomip
|
||||
syn keyword dAsmOpCode contained fcomp fcompp fcos fdecstp fdisi
|
||||
syn keyword dAsmOpCode contained fdiv fdivp fdivr fdivrp feni
|
||||
syn keyword dAsmOpCode contained ffree fiadd ficom ficomp fidiv
|
||||
syn keyword dAsmOpCode contained fidivr fild fimul fincstp finit
|
||||
syn keyword dAsmOpCode contained fist fistp fisub fisubr fld
|
||||
syn keyword dAsmOpCode contained fld1 fldcw fldenv fldl2e fldl2t
|
||||
syn keyword dAsmOpCode contained fldlg2 fldln2 fldpi fldz fmul
|
||||
syn keyword dAsmOpCode contained fmulp fnclex fndisi fneni fninit
|
||||
syn keyword dAsmOpCode contained fnop fnsave fnstcw fnstenv fnstsw
|
||||
syn keyword dAsmOpCode contained fpatan fprem fprem1 fptan frndint
|
||||
syn keyword dAsmOpCode contained frstor fsave fscale fsetpm fsin
|
||||
syn keyword dAsmOpCode contained fsincos fsqrt fst fstcw fstenv
|
||||
syn keyword dAsmOpCode contained fstp fstsw fsub fsubp fsubr
|
||||
syn keyword dAsmOpCode contained fsubrp ftst fucom fucomi fucomip
|
||||
syn keyword dAsmOpCode contained fucomp fucompp fwait fxam fxch
|
||||
syn keyword dAsmOpCode contained fxrstor fxsave fxtract fyl2x fyl2xp1
|
||||
syn keyword dAsmOpCode contained hlt idiv imul in inc
|
||||
syn keyword dAsmOpCode contained ins insb insd insw int
|
||||
syn keyword dAsmOpCode contained into invd invlpg iret iretd
|
||||
syn keyword dAsmOpCode contained ja jae jb jbe jc
|
||||
syn keyword dAsmOpCode contained jcxz je jecxz jg jge
|
||||
syn keyword dAsmOpCode contained jl jle jmp jna jnae
|
||||
syn keyword dAsmOpCode contained jnb jnbe jnc jne jng
|
||||
syn keyword dAsmOpCode contained jnge jnl jnle jno jnp
|
||||
syn keyword dAsmOpCode contained jns jnz jo jp jpe
|
||||
syn keyword dAsmOpCode contained jpo js jz lahf lar
|
||||
syn keyword dAsmOpCode contained ldmxcsr lds lea leave les
|
||||
syn keyword dAsmOpCode contained lfence lfs lgdt lgs lidt
|
||||
syn keyword dAsmOpCode contained lldt lmsw lock lods lodsb
|
||||
syn keyword dAsmOpCode contained lodsd lodsw loop loope loopne
|
||||
syn keyword dAsmOpCode contained loopnz loopz lsl lss ltr
|
||||
syn keyword dAsmOpCode contained maskmovdqu maskmovq maxpd maxps maxsd
|
||||
syn keyword dAsmOpCode contained maxss mfence minpd minps minsd
|
||||
syn keyword dAsmOpCode contained minss mov movapd movaps movd
|
||||
syn keyword dAsmOpCode contained movdq2q movdqa movdqu movhlps movhpd
|
||||
syn keyword dAsmOpCode contained movhps movlhps movlpd movlps movmskpd
|
||||
syn keyword dAsmOpCode contained movmskps movntdq movnti movntpd movntps
|
||||
syn keyword dAsmOpCode contained movntq movq movq2dq movs movsb
|
||||
syn keyword dAsmOpCode contained movsd movss movsw movsx movupd
|
||||
syn keyword dAsmOpCode contained movups movzx mul mulpd mulps
|
||||
syn keyword dAsmOpCode contained mulsd mulss neg nop not
|
||||
syn keyword dAsmOpCode contained or orpd orps out outs
|
||||
syn keyword dAsmOpCode contained outsb outsd outsw packssdw packsswb
|
||||
syn keyword dAsmOpCode contained packuswb paddb paddd paddq paddsb
|
||||
syn keyword dAsmOpCode contained paddsw paddusb paddusw paddw pand
|
||||
syn keyword dAsmOpCode contained pandn pavgb pavgw pcmpeqb pcmpeqd
|
||||
syn keyword dAsmOpCode contained pcmpeqw pcmpgtb pcmpgtd pcmpgtw pextrw
|
||||
syn keyword dAsmOpCode contained pinsrw pmaddwd pmaxsw pmaxub pminsw
|
||||
syn keyword dAsmOpCode contained pminub pmovmskb pmulhuw pmulhw pmullw
|
||||
syn keyword dAsmOpCode contained pmuludq pop popa popad popf
|
||||
syn keyword dAsmOpCode contained popfd por prefetchnta prefetcht0 prefetcht1
|
||||
syn keyword dAsmOpCode contained prefetcht2 psadbw pshufd pshufhw pshuflw
|
||||
syn keyword dAsmOpCode contained pshufw pslld pslldq psllq psllw
|
||||
syn keyword dAsmOpCode contained psrad psraw psrld psrldq psrlq
|
||||
syn keyword dAsmOpCode contained psrlw psubb psubd psubq psubsb
|
||||
syn keyword dAsmOpCode contained psubsw psubusb psubusw psubw punpckhbw
|
||||
syn keyword dAsmOpCode contained punpckhdq punpckhqdq punpckhwd punpcklbw punpckldq
|
||||
syn keyword dAsmOpCode contained punpcklqdq punpcklwd push pusha pushad
|
||||
syn keyword dAsmOpCode contained pushf pushfd pxor rcl rcpps
|
||||
syn keyword dAsmOpCode contained rcpss rcr rdmsr rdpmc rdtsc
|
||||
syn keyword dAsmOpCode contained rep repe repne repnz repz
|
||||
syn keyword dAsmOpCode contained ret retf rol ror rsm
|
||||
syn keyword dAsmOpCode contained rsqrtps rsqrtss sahf sal sar
|
||||
syn keyword dAsmOpCode contained sbb scas scasb scasd scasw
|
||||
syn keyword dAsmOpCode contained seta setae setb setbe setc
|
||||
syn keyword dAsmOpCode contained sete setg setge setl setle
|
||||
syn keyword dAsmOpCode contained setna setnae setnb setnbe setnc
|
||||
syn keyword dAsmOpCode contained setne setng setnge setnl setnle
|
||||
syn keyword dAsmOpCode contained setno setnp setns setnz seto
|
||||
syn keyword dAsmOpCode contained setp setpe setpo sets setz
|
||||
syn keyword dAsmOpCode contained sfence sgdt shl shld shr
|
||||
syn keyword dAsmOpCode contained shrd shufpd shufps sidt sldt
|
||||
syn keyword dAsmOpCode contained smsw sqrtpd sqrtps sqrtsd sqrtss
|
||||
syn keyword dAsmOpCode contained stc std sti stmxcsr stos
|
||||
syn keyword dAsmOpCode contained stosb stosd stosw str sub
|
||||
syn keyword dAsmOpCode contained subpd subps subsd subss sysenter
|
||||
syn keyword dAsmOpCode contained sysexit test ucomisd ucomiss ud2
|
||||
syn keyword dAsmOpCode contained unpckhpd unpckhps unpcklpd unpcklps verr
|
||||
syn keyword dAsmOpCode contained verw wait wbinvd wrmsr xadd
|
||||
syn keyword dAsmOpCode contained xchg xlat xlatb xor xorpd
|
||||
syn keyword dAsmOpCode contained xorps
|
||||
syn keyword dAsmOpCode contained addsubpd addsubps fisttp haddpd haddps
|
||||
syn keyword dAsmOpCode contained hsubpd hsubps lddqu monitor movddup
|
||||
syn keyword dAsmOpCode contained movshdup movsldup mwait
|
||||
syn keyword dAsmOpCode contained pavgusb pf2id pfacc pfadd pfcmpeq
|
||||
syn keyword dAsmOpCode contained pfcmpge pfcmpgt pfmax pfmin pfmul
|
||||
syn keyword dAsmOpCode contained pfnacc pfpnacc pfrcp pfrcpit1 pfrcpit2
|
||||
syn keyword dAsmOpCode contained pfrsqit1 pfrsqrt pfsub pfsubr pi2fd
|
||||
syn keyword dAsmOpCode contained pmulhrw pswapd
|
||||
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
" Vim syntax file
|
||||
" Language: Falcon
|
||||
" Maintainer: Steven Oliver <oliver.steven@gmail.com>
|
||||
" Website: http://github.com/steveno/vim-files/blob/master/syntax/falcon.vim
|
||||
" Credits: Thanks the ruby.vim authors, I borrowed a lot!
|
||||
" -------------------------------------------------------------------------------
|
||||
" GetLatestVimScripts: 2745 1 :AutoInstall: falcon.vim
|
||||
|
||||
" When wanted, highlight the trailing whitespace.
|
||||
if exists("c_space_errors")
|
||||
if !exists("c_no_trail_space_error")
|
||||
syn match falconSpaceError "\s\+$"
|
||||
endif
|
||||
|
||||
if !exists("c_no_tab_space_error")
|
||||
syn match falconSpaceError " \+\t"me=e-1
|
||||
endif
|
||||
endif
|
||||
|
||||
" Symbols
|
||||
syn match falconSymbol "\(;\|,\|\.\)"
|
||||
syn match falconSymbolOther "\(#\|@\)" display
|
||||
|
||||
" Operators
|
||||
syn match falconOperator "\(+\|-\|\*\|/\|=\|<\|>\|\*\*\|!=\|\~=\)"
|
||||
syn match falconOperator "\(<=\|>=\|=>\|\.\.\|<<\|>>\|\"\)"
|
||||
|
||||
" Clusters
|
||||
syn region falconSymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=@falconStringSpecial fold
|
||||
syn case match
|
||||
|
||||
" Keywords
|
||||
syn keyword falconKeyword all allp any anyp as attributes brigade cascade catch choice class const
|
||||
syn keyword falconKeyword continue def directive do list dropping enum eq eval exit export from function
|
||||
syn keyword falconKeyword give global has hasnt in init innerfunc lambda launch launch len List list
|
||||
syn keyword falconKeyword load notin object pass print printl provides raise return self sender static to
|
||||
syn keyword falconKeyword try xamp
|
||||
|
||||
" Error Type Keywords
|
||||
syn keyword falconKeyword CloneError CodeError Error InterruprtedError IoError MathError
|
||||
syn keyword falconKeyword ParamError RangeError SyntaxError TraceStep TypeError
|
||||
|
||||
" Todo
|
||||
syn keyword falconTodo DEBUG FIXME NOTE TODO XXX
|
||||
|
||||
" Conditionals
|
||||
syn keyword falconConditional and case default else end if iff
|
||||
syn keyword falconConditional elif or not switch select
|
||||
syn match falconConditional "end\s\if"
|
||||
|
||||
" Loops
|
||||
syn keyword falconRepeat break for loop forfirst forlast formiddle while
|
||||
|
||||
" Booleans
|
||||
syn keyword falconBool true false
|
||||
|
||||
" Constants
|
||||
syn keyword falconConst PI E nil
|
||||
|
||||
" Comments
|
||||
syn match falconCommentSkip contained "^\s*\*\($\|\s\+\)"
|
||||
syn region falconComment start="/\*" end="\*/" contains=@falconCommentGroup,falconSpaceError,falconTodo
|
||||
syn region falconCommentL start="//" end="$" keepend contains=@falconCommentGroup,falconSpaceError,falconTodo
|
||||
syn match falconSharpBang "\%^#!.*" display
|
||||
syn sync ccomment falconComment
|
||||
|
||||
" Numbers
|
||||
syn match falconNumbers transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal
|
||||
syn match falconNumbersCom contained transparent "\<[+-]\=\d\|[+-]\=\.\d" contains=falconIntLiteral,falconFloatLiteral,falconHexadecimal,falconOctal
|
||||
syn match falconHexadecimal contained "\<0x\x\+\>"
|
||||
syn match falconOctal contained "\<0\o\+\>"
|
||||
syn match falconIntLiteral contained "[+-]\<d\+\(\d\+\)\?\>"
|
||||
syn match falconFloatLiteral contained "[+-]\=\d\+\.\d*"
|
||||
syn match falconFloatLiteral contained "[+-]\=\d*\.\d*"
|
||||
|
||||
" Includes
|
||||
syn keyword falconInclude load import
|
||||
|
||||
" Expression Substitution and Backslash Notation
|
||||
syn match falconStringEscape "\\\\\|\\[abefnrstv]\|\\\o\{1,3}\|\\x\x\{1,2}" contained display
|
||||
syn match falconStringEscape "\%(\\M-\\C-\|\\C-\\M-\|\\M-\\c\|\\c\\M-\|\\c\|\\C-\|\\M-\)\%(\\\o\{1,3}\|\\x\x\{1,2}\|\\\=\S\)" contained display
|
||||
syn region falconSymbol start="[]})\"':]\@<!:\"" end="\"" skip="\\\\\|\\\"" contains=falconStringEscape fold
|
||||
|
||||
" Normal String and Shell Command Output
|
||||
syn region falconString matchgroup=falconStringDelimiter start="\"" end="\"" skip="\\\\\|\\\"" contains=falconStringEscape fold
|
||||
syn region falconString matchgroup=falconStringDelimiter start="'" end="'" skip="\\\\\|\\'" fold
|
||||
syn region falconString matchgroup=falconStringDelimiter start="`" end="`" skip="\\\\\|\\`" contains=falconStringEscape fold
|
||||
|
||||
" Generalized Single Quoted String, Symbol and Array of Strings
|
||||
syn region falconString matchgroup=falconStringDelimiter start="%[qw]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
|
||||
syn region falconString matchgroup=falconStringDelimiter start="%[qw]{" end="}" skip="\\\\\|\\}" fold contains=falconDelimEscape
|
||||
syn region falconString matchgroup=falconStringDelimiter start="%[qw]<" end=">" skip="\\\\\|\\>" fold contains=falconDelimEscape
|
||||
syn region falconString matchgroup=falconStringDelimiter start="%[qw]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape
|
||||
syn region falconString matchgroup=falconStringDelimiter start="%[qw](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape
|
||||
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" fold
|
||||
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]{" end="}" skip="\\\\\|\\}" fold contains=falconDelimEscape
|
||||
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]<" end=">" skip="\\\\\|\\>" fold contains=falconDelimEscape
|
||||
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s]\[" end="\]" skip="\\\\\|\\\]" fold contains=falconDelimEscape
|
||||
syn region falconSymbol matchgroup=falconSymbolDelimiter start="%[s](" end=")" skip="\\\\\|\\)" fold contains=falconDelimEscape
|
||||
|
||||
" Generalized Double Quoted String and Array of Strings and Shell Command Output
|
||||
syn region falconString matchgroup=falconStringDelimiter start="%\z([~`!@#$%^&*_\-+|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold
|
||||
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\z([~`!@#$%^&*_\-+=|\:;"',.?/]\)" end="\z1" skip="\\\\\|\\\z1" contains=falconStringEscape fold
|
||||
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\={" end="}" skip="\\\\\|\\}" contains=falconStringEscape,falconDelimEscape fold
|
||||
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=<" end=">" skip="\\\\\|\\>" contains=falconStringEscape,falconDelimEscape fold
|
||||
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=\[" end="\]" skip="\\\\\|\\\]" contains=falconStringEscape,falconDelimEscape fold
|
||||
syn region falconString matchgroup=falconStringDelimiter start="%[QWx]\=(" end=")" skip="\\\\\|\\)" contains=falconStringEscape,falconDelimEscape fold
|
||||
|
||||
syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<\z(\h\w*\)\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend
|
||||
syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<"\z([^"]*\)"\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend
|
||||
syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<'\z([^']*\)'\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ fold keepend
|
||||
syn region falconString start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<`\z([^`]*\)`\ze+hs=s+2 matchgroup=falconStringDelimiter end=+^\z1$+ contains=falconStringEscape fold keepend
|
||||
|
||||
syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-\z(\h\w*\)\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend
|
||||
syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-"\z([^"]*\)"\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend
|
||||
syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-'\z([^']*\)'\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ fold keepend
|
||||
syn region falconString start=+\%(\%(class\s*\|\%([]}).]\|::\)\)\_s*\|\w\)\@<!<<-`\z([^`]*\)`\ze+hs=s+3 matchgroup=falconStringDelimiter end=+^\s*\zs\z1$+ contains=falconStringEscape fold keepend
|
||||
|
||||
" Syntax Synchronizing
|
||||
syn sync minlines=10 maxlines=100
|
||||
|
||||
" Define the default highlighting
|
||||
if !exists("did_falcon_syn_inits")
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
|
||||
HiLink falconKeyword Keyword
|
||||
HiLink falconCommentString String
|
||||
HiLink falconTodo Todo
|
||||
HiLink falconConditional Keyword
|
||||
HiLink falconRepeat Repeat
|
||||
HiLink falconcommentSkip Comment
|
||||
HiLink falconComment Comment
|
||||
HiLink falconCommentL Comment
|
||||
HiLink falconConst Constant
|
||||
HiLink falconOperator Operator
|
||||
HiLink falconSymbol Normal
|
||||
HiLink falconSpaceError Error
|
||||
HiLink falconHexadecimal Number
|
||||
HiLink falconOctal Number
|
||||
HiLink falconIntLiteral Number
|
||||
HiLink falconFloatLiteral Float
|
||||
HiLink falconStringEscape Special
|
||||
HiLink falconStringDelimiter Delimiter
|
||||
HiLink falconString String
|
||||
HiLink falconBool Constant
|
||||
HiLink falconSharpBang PreProc
|
||||
HiLink falconInclude Include
|
||||
HiLink falconSymbol Constant
|
||||
HiLink falconSymbolOther Delimiter
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
let b:current_syntax = "falcon"
|
||||
|
||||
" vim: set sw=4 sts=4 et tw=80 :
|
||||
+22
-16
@@ -1,9 +1,10 @@
|
||||
" Vim syntax file
|
||||
" Language: NASM - The Netwide Assembler (v0.98)
|
||||
" Maintainer: Manuel M.H. Stol <mmh.stol@gmx.net>
|
||||
" Last Change: 2003 May 11
|
||||
" Vim URL: http://www.vim.org/lang.html
|
||||
" NASM Home: http://www.cryogen.com/Nasm/
|
||||
" Maintainer: Andriy Sokolov <andriy145@gmail.com>
|
||||
" Original Author: Manuel M.H. Stol <Manuel.Stol@allieddata.nl>
|
||||
" Former Maintainer: Manuel M.H. Stol <Manuel.Stol@allieddata.nl>
|
||||
" Last Change: 2010 Sep 24
|
||||
" NASM Home: http://www.nasm.us/
|
||||
|
||||
|
||||
|
||||
@@ -160,6 +161,7 @@ syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure kee
|
||||
"syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="^\s*UNION\>"hs=e-4 end="^\s*ENDUNION\>"re=e-8 contains=@nasmGrpCntnMacro
|
||||
"syn region nasmInMacStrucDef contained transparent matchgroup=nasmStructure keepend start="\<IUNION\>" end="\<IEND\(UNION\)\=\>" contains=@nasmGrpCntnMacro,nasmInStructure
|
||||
syn region nasmInMacPreConDef contained transparent matchgroup=nasmInMacPreCondit start="^\s*%ifnidni\>"hs=e-7 start="^\s*%if\(idni\|n\(ctx\|def\|idn\|num\|str\)\)\>"hs=e-6 start="^\s*%if\(ctx\|def\|idn\|nid\|num\|str\)\>"hs=e-5 start="^\s*%ifid\>"hs=e-4 start="^\s*%if\>"hs=e-2 end="%endif\>" contains=@nasmGrpCntnMacro,nasmInMacPreCondit,nasmInPreCondit
|
||||
" Todo: allow STRUC/ISTRUC to be used inside preprocessor conditional block
|
||||
syn match nasmInMacPreCondit contained transparent "ctx\s"lc=3 skipwhite nextgroup=@nasmGrpNxtCtx
|
||||
syn match nasmInMacPreCondit contained "^\s*%elifctx\>"hs=e-7 skipwhite nextgroup=@nasmGrpNxtCtx
|
||||
syn match nasmInMacPreCondit contained "^\s*%elifnctx\>"hs=e-8 skipwhite nextgroup=@nasmGrpNxtCtx
|
||||
@@ -210,15 +212,17 @@ syn cluster nasmGrpInPreCondits contains=nasmPreCondit,nasmInPreCondit,nasmCtxPr
|
||||
syn cluster nasmGrpPreCondits contains=nasmPreConditDef,@nasmGrpInPreCondits,nasmCtxPreProc,nasmCtxLocLabel
|
||||
|
||||
" Other pre-processor statements
|
||||
syn match nasmPreProc "^\s*%rep\>"hs=e-3
|
||||
syn match nasmPreProc "^\s*%\(rep\|use\)\>"hs=e-3
|
||||
syn match nasmPreProc "^\s*%line\>"hs=e-4
|
||||
syn match nasmPreProc "^\s*%\(clear\|error\)\>"hs=e-5
|
||||
syn match nasmPreProc "^\s*%endrep\>"hs=e-6
|
||||
syn match nasmPreProc "^\s*%exitrep\>"hs=e-7
|
||||
syn match nasmPreProc "^\s*%\(clear\|error\|fatal\)\>"hs=e-5
|
||||
syn match nasmPreProc "^\s*%\(endrep\|strlen\|substr\)\>"hs=e-6
|
||||
syn match nasmPreProc "^\s*%\(exitrep\|warning\)\>"hs=e-7
|
||||
syn match nasmDefine "^\s*%undef\>"hs=e-5
|
||||
syn match nasmDefine "^\s*%\(assign\|define\)\>"hs=e-6
|
||||
syn match nasmDefine "^\s*%i\(assign\|define\)\>"hs=e-7
|
||||
syn match nasmDefine "^\s*%unmacro\>"hs=e-7
|
||||
syn match nasmInclude "^\s*%include\>"hs=e-7
|
||||
" Todo: Treat the line tail after %fatal, %error, %warning as text
|
||||
|
||||
" Multiple pre-processor instructions on single line detection (obsolete)
|
||||
"syn match nasmPreProcError +^\s*\([^\t "%';][^"%';]*\|[^\t "';][^"%';]\+\)%\a\+\>+
|
||||
@@ -231,6 +235,7 @@ syn cluster nasmGrpPreProcs contains=nasmMacroDef,@nasmGrpInMacros,@nasmGrpPreCo
|
||||
syn match nasmGen08Register "\<[A-D][HL]\>"
|
||||
syn match nasmGen16Register "\<\([A-D]X\|[DS]I\|[BS]P\)\>"
|
||||
syn match nasmGen32Register "\<E\([A-D]X\|[DS]I\|[BS]P\)\>"
|
||||
syn match nasmGen64Register "\<R\([A-D]X\|[DS]I\|[BS]P\|[89]\|1[0-5]\|[89][WD]\|1[0-5][WD]\)\>"
|
||||
syn match nasmSegRegister "\<[C-GS]S\>"
|
||||
syn match nasmSpcRegister "\<E\=IP\>"
|
||||
syn match nasmFpuRegister "\<ST\o\>"
|
||||
@@ -298,20 +303,21 @@ syn match nasmStdInstruction "\<\(CMOV\|J\|SET\)\(N\=\([ABGL]E\=\|[CEOSZ]\)\|P
|
||||
syn match nasmStdInstruction "\<POP\>"
|
||||
syn keyword nasmStdInstruction AAA AAD AAM AAS ADC ADD AND
|
||||
syn keyword nasmStdInstruction BOUND BSF BSR BSWAP BT[C] BTR BTS
|
||||
syn keyword nasmStdInstruction CALL CBW CDQ CLC CLD CMC CMP CMPSB CMPSD CMPSW
|
||||
syn keyword nasmStdInstruction CMPXCHG CMPXCHG8B CPUID CWD[E]
|
||||
syn keyword nasmStdInstruction CALL CBW CDQ CLC CLD CMC CMP CMPSB CMPSD CMPSW CMPSQ
|
||||
syn keyword nasmStdInstruction CMPXCHG CMPXCHG8B CPUID CWD[E] CQO
|
||||
syn keyword nasmStdInstruction DAA DAS DEC DIV ENTER
|
||||
syn keyword nasmStdInstruction IDIV IMUL INC INT[O] IRET[D] IRETW
|
||||
syn keyword nasmStdInstruction IDIV IMUL INC INT[O] IRET[D] IRETW IRETQ
|
||||
syn keyword nasmStdInstruction JCXZ JECXZ JMP
|
||||
syn keyword nasmStdInstruction LAHF LDS LEA LEAVE LES LFS LGS LODSB LODSD
|
||||
syn keyword nasmStdInstruction LAHF LDS LEA LEAVE LES LFS LGS LODSB LODSD LODSQ
|
||||
syn keyword nasmStdInstruction LODSW LOOP[E] LOOPNE LOOPNZ LOOPZ LSS
|
||||
syn keyword nasmStdInstruction MOVSB MOVSD MOVSW MOVSX MOVZX MUL NEG NOP NOT
|
||||
syn keyword nasmStdInstruction OR POPA[D] POPAW POPF[D] POPFW
|
||||
syn keyword nasmStdInstruction PUSH[AD] PUSHAW PUSHF[D] PUSHFW
|
||||
syn keyword nasmStdInstruction MOVSB MOVSD MOVSW MOVSX MOVSQ MOVZX MUL NEG NOP NOT
|
||||
syn keyword nasmStdInstruction OR POPA[D] POPAW POPF[D] POPFW POPFQ
|
||||
syn keyword nasmStdInstruction PUSH[AD] PUSHAW PUSHF[D] PUSHFW PUSHFQ
|
||||
syn keyword nasmStdInstruction RCL RCR RETF RET[N] ROL ROR
|
||||
syn keyword nasmStdInstruction SAHF SAL SAR SBB SCASB SCASD SCASW
|
||||
syn keyword nasmStdInstruction SHL[D] SHR[D] STC STD STOSB STOSD STOSW SUB
|
||||
syn keyword nasmStdInstruction SHL[D] SHR[D] STC STD STOSB STOSD STOSW STOSQ SUB
|
||||
syn keyword nasmStdInstruction TEST XADD XCHG XLATB XOR
|
||||
syn keyword nasmStdInstruction LFENCE MFENCE SFENCE
|
||||
|
||||
|
||||
" System Instructions: (usually privileged)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
" Vim syntax file
|
||||
" Language: po (gettext)
|
||||
" Maintainer: Dwayne Bailey <dwayne@translate.org.za>
|
||||
" Last Change: 2008 Sep 17
|
||||
" Last Change: 2010 Sep 21
|
||||
" Contributors: Dwayne Bailey (Most advanced syntax highlighting)
|
||||
" Leonardo Fontenelle (Spell checking)
|
||||
" SungHyun Nam <goweol@gmail.com> (Original maintainer)
|
||||
" Nam SungHyun <namsh@kldp.org> (Original maintainer)
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -39,7 +39,7 @@ syn region poStringSTR start=+"+ skip=+\\\\\|\\"+ end=+"+ contained
|
||||
\ contains=@Spell,poSpecial,poFormat,poHeaderItem,poCommentKDEError,poHeaderUndefined,poPluralKDEError,poMsguniqError,poKDEdesktopFile,poHtml,poAcceleratorStr,poHtmlNot,poVariable
|
||||
|
||||
" Header and Copyright
|
||||
syn match poHeaderItem "\(Project-Id-Version\|Report-Msgid-Bugs-To\|POT-Creation-Date\|PO-Revision-Date\|Last-Translator\|Language-Team\|MIME-Version\|Content-Type\|Content-Transfer-Encoding\|Plural-Forms\|X-Generator\): " contained
|
||||
syn match poHeaderItem "\(Project-Id-Version\|Report-Msgid-Bugs-To\|POT-Creation-Date\|PO-Revision-Date\|Last-Translator\|Language-Team\|Language\|MIME-Version\|Content-Type\|Content-Transfer-Encoding\|Plural-Forms\|X-Generator\): " contained
|
||||
syn match poHeaderUndefined "\(PACKAGE VERSION\|YEAR-MO-DA HO:MI+ZONE\|FULL NAME <EMAIL@ADDRESS>\|LANGUAGE <LL@li.org>\|CHARSET\|ENCODING\|INTEGER\|EXPRESSION\)" contained
|
||||
syn match poCopyrightUnset "SOME DESCRIPTIVE TITLE\|FIRST AUTHOR <EMAIL@ADDRESS>, YEAR\|Copyright (C) YEAR Free Software Foundation, Inc\|YEAR THE PACKAGE\'S COPYRIGHT HOLDER\|PACKAGE" contained
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Python
|
||||
" Maintainer: Neil Schemenauer <nas@python.ca>
|
||||
" Last Change: 2009-10-13
|
||||
" Last Change: 2010 Sep 21
|
||||
" Credits: Zvezdan Petkovic <zpetkovic@acm.org>
|
||||
" Neil Schemenauer <nas@python.ca>
|
||||
" Dmitry Vasiliev
|
||||
@@ -45,6 +45,11 @@ elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" We need nocompatible mode in order to continue lines with backslashes.
|
||||
" Original setting will be restored.
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Keep Python keywords in alphabetical order inside groups for easy
|
||||
" comparison with the table in the 'Python Language Reference'
|
||||
" http://docs.python.org/reference/lexical_analysis.html#keywords.
|
||||
@@ -292,4 +297,7 @@ endif
|
||||
|
||||
let b:current_syntax = "python"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2 ts=8 noet:
|
||||
|
||||
+161
-61
@@ -1,86 +1,186 @@
|
||||
" Vim syntax file
|
||||
" Language: YAML (YAML Ain't Markup Language)
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2010-08-12
|
||||
" Language: YAML (YAML Ain't Markup Language) 1.2
|
||||
" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
|
||||
" First author: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2010-09-16
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let s:ns_char = '\%(\%([\n\r\uFEFF \t]\)\@!\p\)'
|
||||
let s:ns_word_char = '\%(\w\|-\)'
|
||||
let s:ns_uri_char = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$,.!~*''()\[\]]\)'
|
||||
let s:ns_tag_char = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$.~*''()]\)'
|
||||
let s:c_ns_anchor_char = '\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@!\p\)'
|
||||
let s:c_indicator = '[\-?:,\[\]{}#&*!|>''"%@`]'
|
||||
let s:c_flow_indicator = '[,\[\]{}]'
|
||||
|
||||
let s:c_verbatim_tag = '!<'.s:ns_uri_char.'\+>'
|
||||
let s:c_named_tag_handle = '!'.s:ns_word_char.'\+!'
|
||||
let s:c_secondary_tag_handle = '!!'
|
||||
let s:c_primary_tag_handle = '!'
|
||||
let s:c_tag_handle = '\%('.s:c_named_tag_handle.
|
||||
\ '\|'.s:c_secondary_tag_handle.
|
||||
\ '\|'.s:c_primary_tag_handle.'\)'
|
||||
let s:c_ns_shorthand_tag = s:c_tag_handle . s:ns_tag_char.'\+'
|
||||
let s:c_non_specific_tag = '!'
|
||||
let s:c_ns_tag_property = s:c_verbatim_tag.
|
||||
\ '\|'.s:c_ns_shorthand_tag.
|
||||
\ '\|'.s:c_non_specific_tag
|
||||
|
||||
let s:c_ns_anchor_name = s:c_ns_anchor_char.'\+'
|
||||
let s:c_ns_anchor_property = '&'.s:c_ns_anchor_name
|
||||
let s:c_ns_alias_node = '\*'.s:c_ns_anchor_name
|
||||
|
||||
let s:ns_directive_name = s:ns_char.'\+'
|
||||
|
||||
let s:ns_local_tag_prefix = '!'.s:ns_uri_char.'*'
|
||||
let s:ns_global_tag_prefix = s:ns_tag_char.s:ns_uri_char.'*'
|
||||
let s:ns_tag_prefix = s:ns_local_tag_prefix.
|
||||
\ '\|'.s:ns_global_tag_prefix
|
||||
|
||||
let s:ns_plain_safe_out = s:ns_char
|
||||
let s:ns_plain_safe_in = '\%('.s:c_flow_indicator.'\@!'.s:ns_char.'\)'
|
||||
|
||||
let s:ns_plain_first_in = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_in.'\)\@=\)'
|
||||
let s:ns_plain_first_out = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_out.'\)\@=\)'
|
||||
|
||||
let s:ns_plain_char_in = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_in.'\|[:#]\@!'.s:ns_plain_safe_in.'\)'
|
||||
let s:ns_plain_char_out = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_out.'\|[:#]\@!'.s:ns_plain_safe_out.'\)'
|
||||
|
||||
let s:ns_plain_out = s:ns_plain_first_out . s:ns_plain_char_out.'*'
|
||||
let s:ns_plain_in = s:ns_plain_first_in . s:ns_plain_char_in.'*'
|
||||
|
||||
|
||||
syn keyword yamlTodo contained TODO FIXME XXX NOTE
|
||||
|
||||
syn region yamlComment display oneline start='\%(^\|\s\)#' end='$'
|
||||
\ contains=yamlTodo,@Spell
|
||||
syn region yamlComment display oneline start='\%\(^\|\s\)#' end='$'
|
||||
\ contains=yamlTodo
|
||||
|
||||
syn match yamlNodeProperty '!\%(![^\\^% ]\+\|[^!][^:/ ]*\)'
|
||||
execute 'syn region yamlDirective oneline start='.string('^\ze%'.s:ns_directive_name.'\s\+').' '.
|
||||
\ 'end="$" '.
|
||||
\ 'contains=yamlTAGDirective,'.
|
||||
\ 'yamlYAMLDirective,'.
|
||||
\ 'yamlReservedDirective '.
|
||||
\ 'keepend'
|
||||
|
||||
syn match yamlAnchor '&.\+'
|
||||
syn match yamlTAGDirective '%TAG\s\+' contained nextgroup=yamlTagHandle
|
||||
execute 'syn match yamlTagHandle contained nextgroup=yamlTagPrefix '.string(s:c_tag_handle.'\s\+')
|
||||
execute 'syn match yamlTagPrefix contained nextgroup=yamlComment ' . string(s:ns_tag_prefix)
|
||||
|
||||
syn match yamlAlias '\*.\+'
|
||||
syn match yamlYAMLDirective '%YAML\s\+' contained nextgroup=yamlYAMLVersion
|
||||
syn match yamlYAMLVersion '\d\+\.\d\+' contained nextgroup=yamlComment
|
||||
|
||||
syn match yamlDelimiter '[-,:]'
|
||||
syn match yamlBlock '[\[\]{}>|]'
|
||||
syn match yamlOperator '[?+-]'
|
||||
syn match yamlKey '\w\+\(\s\+\w\+\)*\ze\s*:'
|
||||
execute 'syn match yamlReservedDirective contained nextgroup=yamlComment '.
|
||||
\string('%\%(\%(TAG\|YAML\)\s\)\@!'.s:ns_directive_name)
|
||||
|
||||
syn region yamlString matchgroup=yamlStringDelimiter
|
||||
\ start=+"+ skip=+\\"+ end=+"+
|
||||
\ contains=yamlEscape
|
||||
syn region yamlString matchgroup=yamlStringDelimiter
|
||||
\ start=+'+ skip=+''+ end=+'+
|
||||
\ contains=yamlSingleEscape
|
||||
syn match yamlEscape contained display +\\[\\"abefnrtv^0_ NLP]+
|
||||
syn match yamlEscape contained display '\\x\x\{2}'
|
||||
syn match yamlEscape contained display '\\u\x\{4}'
|
||||
syn match yamlEscape contained display '\\U\x\{8}'
|
||||
" TODO: how do we get 0x85, 0x2028, and 0x2029 into this?
|
||||
syn match yamlEscape display '\\\%(\r\n\|[\r\n]\)'
|
||||
syn match yamlSingleEscape contained +''+
|
||||
syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start='"' skip='\\"' end='"'
|
||||
\ contains=yamlEscape
|
||||
\ nextgroup=yamlKeyValueDelimiter
|
||||
syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start="'" skip="''" end="'"
|
||||
\ contains=yamlSingleEscape
|
||||
\ nextgroup=yamlKeyValueDelimiter
|
||||
syn match yamlEscape contained '\\\%([\\"abefnrtv\^0_ NLP\n]\|x\x\x\|u\x\{4}\|U\x\{8}\)'
|
||||
syn match yamlSingleEscape contained "''"
|
||||
|
||||
" TODO: sexagecimal and fixed (20:30.15 and 1,230.15)
|
||||
syn match yamlNumber display
|
||||
\ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\='
|
||||
syn match yamlNumber display '0\o\+'
|
||||
syn match yamlNumber display '0x\x\+'
|
||||
syn match yamlNumber display '([+-]\=[iI]nf)'
|
||||
syn match yamlNumber display '(NaN)'
|
||||
syn match yamlBlockScalarHeader contained '\s\+\zs[|>]\%([+-]\=[1-9]\|[1-9]\=[+-]\)\='
|
||||
|
||||
syn match yamlConstant '\<[~yn]\>'
|
||||
syn keyword yamlConstant true True TRUE false False FALSE
|
||||
syn keyword yamlConstant yes Yes on ON no No off OFF
|
||||
syn keyword yamlConstant null Null NULL nil Nil NIL
|
||||
syn cluster yamlFlow contains=yamlFlowString,yamlFlowMapping,yamlFlowCollection
|
||||
syn cluster yamlFlow add=yamlFlowMappingKey,yamlFlowMappingMerge
|
||||
syn cluster yamlFlow add=yamlConstant,yamlPlainScalar,yamlFloat
|
||||
syn cluster yamlFlow add=yamlTimestamp,yamlInteger,yamlMappingKeyStart
|
||||
syn cluster yamlFlow add=yamlComment
|
||||
syn region yamlFlowMapping matchgroup=yamlFlowIndicator start='{' end='}' contains=@yamlFlow
|
||||
syn region yamlFlowCollection matchgroup=yamlFlowIndicator start='\[' end='\]' contains=@yamlFlow
|
||||
|
||||
syn match yamlTimestamp '\d\d\d\d-\%(1[0-2]\|\d\)-\%(3[0-2]\|2\d\|1\d\|\d\)\%( \%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d [+-]\%([01]\d\|2[0-3]\):[0-5]\d\|t\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d[+-]\%([01]\d\|2[0-3]\):[0-5]\d\|T\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\dZ\)\='
|
||||
execute 'syn match yamlPlainScalar /'.s:ns_plain_out.'/'
|
||||
execute 'syn match yamlPlainScalar contained /'.s:ns_plain_in.'/'
|
||||
|
||||
syn region yamlDocumentHeader start='---' end='$' contains=yamlDirective
|
||||
syn match yamlDocumentEnd '\.\.\.'
|
||||
syn match yamlMappingKeyStart '?\ze\s'
|
||||
syn match yamlMappingKeyStart '?' contained
|
||||
|
||||
syn match yamlDirective contained '%[^:]\+:.\+'
|
||||
execute 'syn match yamlFlowMappingKey /'.s:ns_plain_in.'\ze\s*:/ contained '.
|
||||
\'nextgroup=yamlKeyValueDelimiter'
|
||||
syn match yamlFlowMappingMerge /<<\ze\s*:/ contained nextgroup=yamlKeyValueDelimiter
|
||||
|
||||
hi def link yamlTodo Todo
|
||||
hi def link yamlComment Comment
|
||||
hi def link yamlDocumentHeader PreProc
|
||||
hi def link yamlDocumentEnd PreProc
|
||||
hi def link yamlDirective Keyword
|
||||
hi def link yamlNodeProperty Type
|
||||
hi def link yamlAnchor Type
|
||||
hi def link yamlAlias Type
|
||||
hi def link yamlDelimiter Delimiter
|
||||
hi def link yamlBlock Operator
|
||||
hi def link yamlOperator Operator
|
||||
hi def link yamlKey Identifier
|
||||
hi def link yamlString String
|
||||
hi def link yamlStringDelimiter yamlString
|
||||
hi def link yamlEscape SpecialChar
|
||||
hi def link yamlSingleEscape SpecialChar
|
||||
hi def link yamlNumber Number
|
||||
hi def link yamlConstant Constant
|
||||
hi def link yamlTimestamp Number
|
||||
syn match yamlBlockCollectionItemStart '^\s*\zs-\%(\s\+-\)*\s' nextgroup=yamlBlockMappingKey,yamlBlockMappingMerge
|
||||
execute 'syn match yamlBlockMappingKey /^\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ '.
|
||||
\'nextgroup=yamlKeyValueDelimiter'
|
||||
execute 'syn match yamlBlockMappingKey /\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ contained '.
|
||||
\'nextgroup=yamlKeyValueDelimiter'
|
||||
syn match yamlBlockMappingMerge /^\s*\zs<<\ze:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter
|
||||
syn match yamlBlockMappingMerge /<<\ze\s*:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter contained
|
||||
|
||||
syn match yamlKeyValueDelimiter /\s*:/ contained
|
||||
syn match yamlKeyValueDelimiter /\s*:/ contained
|
||||
|
||||
syn keyword yamlConstant true True TRUE false False FALSE
|
||||
syn keyword yamlConstant null Null NULL
|
||||
syn match yamlConstant '\<\~\>'
|
||||
|
||||
syn match yamlTimestamp /\%([\[\]{}, \t]\@!\p\)\@<!\%(\d\{4}-\d\d\=-\d\d\=\%(\%([Tt]\|\s\+\)\%(\d\d\=\):\%(\d\d\):\%(\d\d\)\%(\.\%(\d*\)\)\=\%(\s*\%(Z\|[+-]\d\d\=\%(:\d\d\)\=\)\)\=\)\=\)\%([\[\]{}, \t]\@!\p\)\@!/
|
||||
|
||||
syn match yamlInteger /\%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(0\%(b[0-1_]\+\|[0-7_]\+\|x[0-9a-fA-F_]\+\)\=\|\%([1-9][0-9_]*\%(:[0-5]\=\d\)\+\)\)\)\%([\[\]{}, \t]\@!\p\)\@!/
|
||||
syn match yamlFloat /\%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(\%(\d[0-9_]*\)\.[0-9_]*\%([eE][+-]\d\+\)\=\|\.[0-9_]\+\%([eE][-+][0-9]\+\)\=\|\d[0-9_]*\%(:[0-5]\=\d\)\+\.[0-9_]*\|\.\%(inf\|Inf\|INF\)\)\|\%(\.\%(nan\|NaN\|NAN\)\)\)\%([\[\]{}, \t]\@!\p\)\@!/
|
||||
|
||||
execute 'syn match yamlNodeTag '.string(s:c_ns_tag_property)
|
||||
execute 'syn match yamlAnchor '.string(s:c_ns_anchor_property)
|
||||
execute 'syn match yamlAlias '.string(s:c_ns_alias_node)
|
||||
|
||||
syn match yamlDocumentStart '^---\ze\%(\s\|$\)'
|
||||
syn match yamlDocumentEnd '^\.\.\.\ze\%(\s\|$\)'
|
||||
|
||||
hi def link yamlTodo Todo
|
||||
hi def link yamlComment Comment
|
||||
|
||||
hi def link yamlDocumentStart PreProc
|
||||
hi def link yamlDocumentEnd PreProc
|
||||
|
||||
hi def link yamlDirectiveName Keyword
|
||||
|
||||
hi def link yamlTAGDirective yamlDirectiveName
|
||||
hi def link yamlTagHandle String
|
||||
hi def link yamlTagPrefix String
|
||||
|
||||
hi def link yamlYAMLDirective yamlDirectiveName
|
||||
hi def link yamlReservedDirective Error
|
||||
hi def link yamlYAMLVersion Number
|
||||
|
||||
hi def link yamlString String
|
||||
hi def link yamlFlowString yamlString
|
||||
hi def link yamlFlowStringDelimiter yamlString
|
||||
hi def link yamlEscape SpecialChar
|
||||
hi def link yamlSingleEscape SpecialChar
|
||||
|
||||
hi def link yamlBlockCollectionItemStart Label
|
||||
hi def link yamlBlockMappingKey Identifier
|
||||
hi def link yamlBlockMappingMerge Special
|
||||
|
||||
hi def link yamlFlowMappingKey Identifier
|
||||
hi def link yamlFlowMappingMerge Special
|
||||
|
||||
hi def link yamlMappingKeyStart Special
|
||||
hi def link yamlFlowIndicator Special
|
||||
hi def link yamlKeyValueDelimiter Special
|
||||
|
||||
hi def link yamlConstant Constant
|
||||
|
||||
hi def link yamlAnchor Type
|
||||
hi def link yamlAlias Type
|
||||
hi def link yamlNodeTag Type
|
||||
|
||||
hi def link yamlInteger Number
|
||||
hi def link yamlFloat Float
|
||||
hi def link yamlTimestamp Number
|
||||
|
||||
let b:current_syntax = "yaml"
|
||||
|
||||
unlet s:ns_word_char s:ns_uri_char s:c_verbatim_tag s:c_named_tag_handle s:c_secondary_tag_handle s:c_primary_tag_handle s:c_tag_handle s:ns_tag_char s:c_ns_shorthand_tag s:c_non_specific_tag s:c_ns_tag_property s:c_ns_anchor_char s:c_ns_anchor_name s:c_ns_anchor_property s:c_ns_alias_node s:ns_char s:ns_directive_name s:ns_local_tag_prefix s:ns_global_tag_prefix s:ns_tag_prefix s:c_indicator s:ns_plain_safe_out s:c_flow_indicator s:ns_plain_safe_in s:ns_plain_first_in s:ns_plain_first_out s:ns_plain_char_in s:ns_plain_char_out s:ns_plain_out s:ns_plain_in
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ DEL = del
|
||||
endif
|
||||
endif
|
||||
CXX := $(CROSS_COMPILE)g++
|
||||
WINDRES := $(CROSS_COMPILE)windres
|
||||
WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -DRC_INVOKED
|
||||
LIBS := -luuid
|
||||
RES := gvimext.res
|
||||
DEFFILE = gvimext_ming.def
|
||||
|
||||
@@ -34,6 +34,8 @@ Jonathon Mah\
|
||||
\pard\pardeftab720\ql\qnatural
|
||||
\cf0 Kazuki Sakamoto\
|
||||
Vincent Berthoux\
|
||||
Nikola Kne\'9eevi\uc0\u263 \
|
||||
Dmitry Vazhov\
|
||||
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\ql\qnatural\pardirnatural
|
||||
|
||||
\i0 \cf0 \
|
||||
@@ -44,6 +46,8 @@ Thank you to {\field{\*\fldinst{HYPERLINK "http://www.positivespinmedia.com"}}{\
|
||||
\
|
||||
Toolbar icons by {\field{\*\fldinst{HYPERLINK "http://www.mattballdesign.com/"}}{\fldrslt Matt Ball}} (free Developer Icons), {\field{\*\fldinst{HYPERLINK "http://www.jonasraskdesign.com/"}}{\fldrslt Jonas Rask}} (Danish Royalty Free icon set), and {\field{\*\fldinst{HYPERLINK "http://www.everaldo.com"}}{\fldrslt Everaldo Coelho}} (Crystal Project Icons, released under LGPL license).\
|
||||
\
|
||||
Revamped MacVim icon by RIC.\
|
||||
\
|
||||
Thanks to Andy Matuschak for {\field{\*\fldinst{HYPERLINK "http://sparkle.andymatuschak.org/"}}{\fldrslt Sparkle}}.\
|
||||
\
|
||||
Thanks to Damien Guard for {\field{\*\fldinst{HYPERLINK "http://damieng.com/blog/2008/05/26/envy-code-r-preview-7-coding-font-released"}}{\fldrslt Envy Code R}} (used in MacVim's 16x16 document icons).}
|
||||
@@ -1202,7 +1202,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>53</string>
|
||||
<string>55</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
|
||||
@@ -1734,8 +1734,12 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
// 3. Extract Spotlight search text (if any)
|
||||
NSAppleEventDescriptor *spotlightdesc =
|
||||
[desc paramDescriptorForKeyword:keyAESearchText];
|
||||
if (spotlightdesc)
|
||||
[dict setObject:[spotlightdesc stringValue] forKey:@"searchText"];
|
||||
if (spotlightdesc) {
|
||||
NSString *s = [[spotlightdesc stringValue]
|
||||
stringBySanitizingSpotlightSearch];
|
||||
if (s && [s length] > 0)
|
||||
[dict setObject:s forKey:@"searchText"];
|
||||
}
|
||||
|
||||
return dict;
|
||||
}
|
||||
@@ -2257,14 +2261,14 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
NSMutableArray *a = [NSMutableArray array];
|
||||
NSMutableDictionary *d = [[args mutableCopy] autorelease];
|
||||
|
||||
// Search for text using "+/text".
|
||||
// Search for text and highlight it (this Vim script avoids warnings in
|
||||
// case there is no match for the search text).
|
||||
NSString *searchText = [args objectForKey:@"searchText"];
|
||||
if (searchText) {
|
||||
// TODO: If the search pattern is not found an error is shown when
|
||||
// starting. Figure out a way to get rid of this message (The help
|
||||
// says to use ':silent exe "normal /pat\<CR>"' but this does not
|
||||
// work.)
|
||||
[a addObject:[NSString stringWithFormat:@"+/%@", searchText]];
|
||||
if (searchText && [searchText length] > 0) {
|
||||
[a addObject:@"-c"];
|
||||
NSString *s = [NSString stringWithFormat:@"if search('\\V\\c%@','cW')"
|
||||
"|let @/='\\V\\c%@'|set hls|endif", searchText, searchText];
|
||||
[a addObject:s];
|
||||
|
||||
[d removeObjectForKey:@"searchText"];
|
||||
}
|
||||
|
||||
+120
-77
@@ -193,10 +193,12 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
- (void)handleOpenWithArguments:(NSDictionary *)args;
|
||||
- (BOOL)checkForModifiedBuffers;
|
||||
- (void)addInput:(NSString *)input;
|
||||
- (BOOL)unusedEditor;
|
||||
- (void)redrawScreen;
|
||||
- (void)handleFindReplace:(NSDictionary *)args;
|
||||
- (void)handleMarkedText:(NSData *)data;
|
||||
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
|
||||
- (void)handleGesture:(NSData *)data;
|
||||
#endif
|
||||
#ifdef FEAT_BEVAL
|
||||
- (void)bevalCallback:(id)sender;
|
||||
#endif
|
||||
@@ -1190,23 +1192,36 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
|
||||
- (oneway void)processInput:(int)msgid data:(in bycopy NSData *)data
|
||||
{
|
||||
// Look for Ctrl-C immediately instead of waiting until the input queue is
|
||||
// processed since that only happens in waitForInput: (and Vim regularly
|
||||
// checks for Ctrl-C in between waiting for input). Note that the flag
|
||||
// ctrl_c_interrupts is 0 e.g. when the user has mappings to something like
|
||||
// <C-c>g. Also it seems the flag intr_char is 0 when MacVim was started
|
||||
// from Finder whereas it is 0x03 (= Ctrl_C) when started from Terminal.
|
||||
//
|
||||
// This is a DO method which is called from inside MacVim to add new input
|
||||
// to this Vim process. It may get called when the run loop is updated.
|
||||
//
|
||||
// Add keyboard input to Vim's input buffer immediately. We have to do
|
||||
// this because in many places Vim polls the input buffer whilst waiting
|
||||
// for keyboard input (so Vim may lock up forever otherwise).
|
||||
//
|
||||
// Similarly, TerminateNowMsgID must be checked immediately otherwise code
|
||||
// which waits on the run loop will fail to detect this message (e.g. in
|
||||
// waitForConnectionAcknowledgement).
|
||||
//
|
||||
// All other input is processed when processInputQueue is called (typically
|
||||
// this happens in waitForInput:).
|
||||
//
|
||||
// TODO: Process mouse events here as well? Anything else?
|
||||
//
|
||||
|
||||
if (KeyDownMsgID == msgid && data != nil && ctrl_c_interrupts) {
|
||||
if (KeyDownMsgID == msgid) {
|
||||
if (!data) return;
|
||||
const void *bytes = [data bytes];
|
||||
/*unsigned mods = *((unsigned*)bytes);*/ bytes += sizeof(unsigned);
|
||||
/*unsigned code = *((unsigned*)bytes);*/ bytes += sizeof(unsigned);
|
||||
unsigned mods = *((unsigned*)bytes); bytes += sizeof(unsigned);
|
||||
unsigned code = *((unsigned*)bytes); bytes += sizeof(unsigned);
|
||||
unsigned len = *((unsigned*)bytes); bytes += sizeof(unsigned);
|
||||
if (1 == len) {
|
||||
|
||||
if (ctrl_c_interrupts && 1 == len) {
|
||||
// NOTE: the flag ctrl_c_interrupts is 0 e.g. when the user has
|
||||
// mappings to something like <C-c>g. Also it seems the flag
|
||||
// intr_char is 0 when MacVim was started from Finder whereas it is
|
||||
// 0x03 (= Ctrl_C) when started from Terminal.
|
||||
char_u *str = (char_u*)bytes;
|
||||
if (str[0] == Ctrl_C || (str[0] == intr_char && intr_char != 0)) {
|
||||
ASLogDebug(@"Got INT, str[0]=%#x ctrl_c_interrupts=%d "
|
||||
@@ -1216,6 +1231,33 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// The lowest bit of the modifiers is set if this key is a repeat.
|
||||
BOOL isKeyRepeat = (mods & 1) != 0;
|
||||
|
||||
// Ignore key press if the input buffer has something in it and this
|
||||
// key is a repeat (since this means Vim can't keep up with the speed
|
||||
// with which new input is being received).
|
||||
if (!isKeyRepeat || vim_is_input_buf_empty()) {
|
||||
NSString *key = [[NSString alloc] initWithBytes:bytes
|
||||
length:len
|
||||
encoding:NSUTF8StringEncoding];
|
||||
mods = eventModifierFlagsToVimModMask(mods);
|
||||
|
||||
[self doKeyDown:key keyCode:code modifiers:mods];
|
||||
[key release];
|
||||
} else {
|
||||
ASLogDebug(@"Dropping repeated keyboard input");
|
||||
}
|
||||
} else if (SetMarkedTextMsgID == msgid) {
|
||||
// NOTE: This message counts as keyboard input...
|
||||
[self handleMarkedText:data];
|
||||
} else if (ActivatedImMsgID == msgid) {
|
||||
// NOTE: This message counts as keyboard input...
|
||||
[self setImState:YES];
|
||||
} else if (DeactivatedImMsgID == msgid) {
|
||||
// NOTE: This message counts as keyboard input...
|
||||
[self setImState:NO];
|
||||
} else if (TerminateNowMsgID == msgid) {
|
||||
// Terminate immediately (the frontend is about to quit or this process
|
||||
// was aborted). Don't preserve modified files since the user would
|
||||
@@ -1223,45 +1265,27 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
// modified files when we get here.
|
||||
isTerminating = YES;
|
||||
getout(0);
|
||||
return;
|
||||
}
|
||||
|
||||
// Remove all previous instances of this message from the input queue, else
|
||||
// the input queue may fill up as a result of Vim not being able to keep up
|
||||
// with the speed at which new messages are received.
|
||||
// Keyboard input is never dropped, unless the input represents an
|
||||
// auto-repeated key.
|
||||
|
||||
BOOL isKeyRepeat = NO;
|
||||
BOOL isKeyboardInput = NO;
|
||||
|
||||
if (data && KeyDownMsgID == msgid) {
|
||||
isKeyboardInput = YES;
|
||||
|
||||
// The lowest bit of the first int is set if this key is a repeat.
|
||||
int flags = *((int*)[data bytes]);
|
||||
if (flags & 1)
|
||||
isKeyRepeat = YES;
|
||||
}
|
||||
|
||||
// Keyboard input is not removed from the queue; repeats are ignored if
|
||||
// there already is keyboard input on the input queue.
|
||||
if (isKeyRepeat || !isKeyboardInput) {
|
||||
} else {
|
||||
// First remove previous instances of this message from the input
|
||||
// queue, else the input queue may fill up as a result of Vim not being
|
||||
// able to keep up with the speed at which new messages are received.
|
||||
// TODO: Remove all previous instances (there could be many)?
|
||||
int i, count = [inputQueue count];
|
||||
for (i = 1; i < count; i+=2) {
|
||||
for (i = 1; i < count; i += 2) {
|
||||
if ([[inputQueue objectAtIndex:i-1] intValue] == msgid) {
|
||||
if (isKeyRepeat)
|
||||
return;
|
||||
|
||||
ASLogDebug(@"Input queue filling up, remove message: %s",
|
||||
MessageStrings[msgid]);
|
||||
[inputQueue removeObjectAtIndex:i];
|
||||
[inputQueue removeObjectAtIndex:i-1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[inputQueue addObject:[NSNumber numberWithInt:msgid]];
|
||||
[inputQueue addObject:(data ? (id)data : [NSNull null])];
|
||||
// Now add message to input queue. Add null data if necessary to
|
||||
// ensure that input queue has even length.
|
||||
[inputQueue addObject:[NSNumber numberWithInt:msgid]];
|
||||
[inputQueue addObject:(data ? (id)data : [NSNull null])];
|
||||
}
|
||||
}
|
||||
|
||||
- (id)evaluateExpressionCocoa:(in bycopy NSString *)expr
|
||||
@@ -1829,20 +1853,7 @@ static void netbeansReadCallback(CFSocketRef s,
|
||||
|
||||
- (void)handleInputEvent:(int)msgid data:(NSData *)data
|
||||
{
|
||||
if (KeyDownMsgID == msgid) {
|
||||
if (!data) return;
|
||||
const void *bytes = [data bytes];
|
||||
unsigned mods = *((unsigned*)bytes); bytes += sizeof(unsigned);
|
||||
unsigned code = *((unsigned*)bytes); bytes += sizeof(unsigned);
|
||||
unsigned len = *((unsigned*)bytes); bytes += sizeof(unsigned);
|
||||
NSString *key = [[NSString alloc] initWithBytes:bytes
|
||||
length:len
|
||||
encoding:NSUTF8StringEncoding];
|
||||
mods = eventModifierFlagsToVimModMask(mods);
|
||||
|
||||
[self doKeyDown:key keyCode:code modifiers:mods];
|
||||
[key release];
|
||||
} else if (ScrollWheelMsgID == msgid) {
|
||||
if (ScrollWheelMsgID == msgid) {
|
||||
if (!data) return;
|
||||
const void *bytes = [data bytes];
|
||||
|
||||
@@ -2036,16 +2047,10 @@ static void netbeansReadCallback(CFSocketRef s,
|
||||
[self handleOpenWithArguments:[NSDictionary dictionaryWithData:data]];
|
||||
} else if (FindReplaceMsgID == msgid) {
|
||||
[self handleFindReplace:[NSDictionary dictionaryWithData:data]];
|
||||
} else if (ActivatedImMsgID == msgid) {
|
||||
[self setImState:YES];
|
||||
} else if (DeactivatedImMsgID == msgid) {
|
||||
[self setImState:NO];
|
||||
} else if (NetBeansMsgID == msgid) {
|
||||
#ifdef FEAT_NETBEANS_INTG
|
||||
netbeans_read();
|
||||
#endif
|
||||
} else if (SetMarkedTextMsgID == msgid) {
|
||||
[self handleMarkedText:data];
|
||||
} else if (ZoomMsgID == msgid) {
|
||||
if (!data) return;
|
||||
const void *bytes = [data bytes];
|
||||
@@ -2067,6 +2072,10 @@ static void netbeansReadCallback(CFSocketRef s,
|
||||
winposX = *((int*)bytes); bytes += sizeof(int);
|
||||
winposY = *((int*)bytes); bytes += sizeof(int);
|
||||
ASLogDebug(@"SetWindowPositionMsgID: x=%d y=%d", winposX, winposY);
|
||||
} else if (GestureMsgID == msgid) {
|
||||
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
|
||||
[self handleGesture:data];
|
||||
#endif
|
||||
} else {
|
||||
ASLogWarn(@"Unknown message received (msgid=%d)", msgid);
|
||||
}
|
||||
@@ -2630,19 +2639,6 @@ static void netbeansReadCallback(CFSocketRef s,
|
||||
BOOL openFiles = ![[args objectForKey:@"dontOpen"] boolValue];
|
||||
int layout = [[args objectForKey:@"layout"] intValue];
|
||||
|
||||
// Change to directory of first file to open if this is an "unused" editor
|
||||
// (but do not do this if editing remotely).
|
||||
if (openFiles && numFiles > 0 && ![args objectForKey:@"remoteID"]
|
||||
&& (starting || [self unusedEditor]) ) {
|
||||
char_u *s = [[filenames objectAtIndex:0] vimStringSave];
|
||||
if (mch_isdir(s)) {
|
||||
mch_chdir((char*)s);
|
||||
} else {
|
||||
vim_chdirfile(s);
|
||||
}
|
||||
vim_free(s);
|
||||
}
|
||||
|
||||
if (starting > 0) {
|
||||
// When Vim is starting we simply add the files to be opened to the
|
||||
// global arglist and Vim will take care of opening them for us.
|
||||
@@ -2662,6 +2658,20 @@ static void netbeansReadCallback(CFSocketRef s,
|
||||
// in windows or tabs; all we must do is to specify which layout to
|
||||
// use.
|
||||
initialWindowLayout = layout;
|
||||
|
||||
// Change to directory of first file to open.
|
||||
// NOTE: This is only done when Vim is starting to avoid confusion:
|
||||
// if a window is already open the pwd is never touched.
|
||||
if (openFiles && numFiles > 0 && ![args objectForKey:@"remoteID"])
|
||||
{
|
||||
char_u *s = [[filenames objectAtIndex:0] vimStringSave];
|
||||
if (mch_isdir(s)) {
|
||||
mch_chdir((char*)s);
|
||||
} else {
|
||||
vim_chdirfile(s);
|
||||
}
|
||||
vim_free(s);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// When Vim is already open we resort to some trickery to open the
|
||||
@@ -2814,8 +2824,11 @@ static void netbeansReadCallback(CFSocketRef s,
|
||||
|
||||
NSString *searchText = [args objectForKey:@"searchText"];
|
||||
if (searchText) {
|
||||
[self addInput:[NSString stringWithFormat:@"<C-\\><C-N>gg/\\c%@/e<CR>",
|
||||
searchText]];
|
||||
// NOTE: This command may be overkill to simply search for some text,
|
||||
// but it is consistent with what is used in MMAppController.
|
||||
[self addInput:[NSString stringWithFormat:@"<C-\\><C-N>:if search("
|
||||
"'\\V\\c%@','cW')|let @/='\\V\\c%@'|set hls|endif<CR>",
|
||||
searchText, searchText]];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2944,6 +2957,36 @@ static void netbeansReadCallback(CFSocketRef s,
|
||||
}
|
||||
}
|
||||
|
||||
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
|
||||
- (void)handleGesture:(NSData *)data
|
||||
{
|
||||
const void *bytes = [data bytes];
|
||||
int flags = *((int*)bytes); bytes += sizeof(int);
|
||||
int gesture = *((int*)bytes); bytes += sizeof(int);
|
||||
int modifiers = eventModifierFlagsToVimModMask(flags);
|
||||
char_u string[6];
|
||||
|
||||
string[3] = CSI;
|
||||
string[4] = KS_EXTRA;
|
||||
switch (gesture) {
|
||||
case MMGestureSwipeLeft: string[5] = KE_SWIPELEFT; break;
|
||||
case MMGestureSwipeRight: string[5] = KE_SWIPERIGHT; break;
|
||||
case MMGestureSwipeUp: string[5] = KE_SWIPEUP; break;
|
||||
case MMGestureSwipeDown: string[5] = KE_SWIPEDOWN; break;
|
||||
default: return;
|
||||
}
|
||||
|
||||
if (modifiers == 0) {
|
||||
add_to_input_buf(string + 3, 3);
|
||||
} else {
|
||||
string[0] = CSI;
|
||||
string[1] = KS_MODIFIER;
|
||||
string[2] = modifiers;
|
||||
add_to_input_buf(string, 6);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_BEVAL
|
||||
- (void)bevalCallback:(id)sender
|
||||
{
|
||||
|
||||
@@ -519,6 +519,14 @@ defaultAdvanceForFont(CTFontRef fontRef)
|
||||
[helper mouseMoved:event];
|
||||
}
|
||||
|
||||
// Gesture event are new for OS X 10.6
|
||||
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
|
||||
- (void)swipeWithEvent:(NSEvent *)event
|
||||
{
|
||||
[helper swipeWithEvent:event];
|
||||
}
|
||||
#endif
|
||||
|
||||
- (NSMenu*)menuForEvent:(NSEvent *)event
|
||||
{
|
||||
// HACK! Return nil to disable default popup menus (Vim provides its own).
|
||||
|
||||
@@ -770,6 +770,14 @@
|
||||
[helper mouseMoved:event];
|
||||
}
|
||||
|
||||
// Gesture event are new for OS X 10.6
|
||||
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
|
||||
- (void)swipeWithEvent:(NSEvent *)event
|
||||
{
|
||||
[helper swipeWithEvent:event];
|
||||
}
|
||||
#endif
|
||||
|
||||
- (NSMenu*)menuForEvent:(NSEvent *)event
|
||||
{
|
||||
// HACK! Return nil to disable NSTextView's popup menus (Vim provides its
|
||||
|
||||
@@ -74,6 +74,9 @@ enum {
|
||||
- (void)mouseUp:(NSEvent *)event;
|
||||
- (void)mouseDragged:(NSEvent *)event;
|
||||
- (void)mouseMoved:(NSEvent *)event;
|
||||
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
|
||||
- (void)swipeWithEvent:(NSEvent *)event;
|
||||
#endif
|
||||
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender;
|
||||
- (NSDragOperation)draggingEntered:(id <NSDraggingInfo>)sender;
|
||||
- (NSDragOperation)draggingUpdated:(id <NSDraggingInfo>)sender;
|
||||
|
||||
@@ -45,6 +45,9 @@ static float MMDragAreaSize = 73.0f;
|
||||
- (BOOL)inputManagerHandleMouseEvent:(NSEvent *)event;
|
||||
- (void)sendMarkedText:(NSString *)text position:(int32_t)pos;
|
||||
- (void)abandonMarkedText;
|
||||
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
|
||||
- (void)sendGestureEvent:(int)gesture flags:(int)flags;
|
||||
#endif
|
||||
@end
|
||||
|
||||
|
||||
@@ -466,6 +469,22 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
[[self vimController] sendMessage:MouseMovedMsgID data:data];
|
||||
}
|
||||
|
||||
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
|
||||
- (void)swipeWithEvent:(NSEvent *)event
|
||||
{
|
||||
CGFloat dx = [event deltaX];
|
||||
CGFloat dy = [event deltaY];
|
||||
int type;
|
||||
if (dx > 0) type = MMGestureSwipeLeft;
|
||||
else if (dx < 0) type = MMGestureSwipeRight;
|
||||
else if (dy > 0) type = MMGestureSwipeUp;
|
||||
else if (dy < 0) type = MMGestureSwipeDown;
|
||||
else return;
|
||||
|
||||
[self sendGestureEvent:type flags:[event modifierFlags]];
|
||||
}
|
||||
#endif
|
||||
|
||||
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
|
||||
{
|
||||
NSPasteboard *pboard = [sender draggingPasteboard];
|
||||
@@ -1124,4 +1143,16 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
[[NSInputManager currentInputManager] markedTextAbandoned:self];
|
||||
}
|
||||
|
||||
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6)
|
||||
- (void)sendGestureEvent:(int)gesture flags:(int)flags
|
||||
{
|
||||
NSMutableData *data = [NSMutableData data];
|
||||
|
||||
[data appendBytes:&flags length:sizeof(int)];
|
||||
[data appendBytes:&gesture length:sizeof(int)];
|
||||
|
||||
[[self vimController] sendMessage:GestureMsgID data:data];
|
||||
}
|
||||
#endif
|
||||
|
||||
@end // MMTextViewHelper (Private)
|
||||
|
||||
@@ -358,6 +358,7 @@
|
||||
filename = @"";
|
||||
|
||||
[decoratedWindow setRepresentedFilename:filename];
|
||||
[fullscreenWindow setRepresentedFilename:filename];
|
||||
}
|
||||
|
||||
- (void)setToolbar:(NSToolbar *)toolbar
|
||||
@@ -610,6 +611,8 @@
|
||||
initWithWindow:decoratedWindow view:vimView backgroundColor:back];
|
||||
[fullscreenWindow enterFullscreen:fuoptions];
|
||||
[fullscreenWindow setDelegate:self];
|
||||
[fullscreenWindow setRepresentedFilename:
|
||||
[decoratedWindow representedFilename]];
|
||||
fullscreenEnabled = YES;
|
||||
|
||||
// The resize handle disappears so the vim view needs to update the
|
||||
|
||||
@@ -188,6 +188,7 @@ enum {
|
||||
DeleteSignMsgID,
|
||||
SetTooltipMsgID,
|
||||
SetTooltipDelayMsgID,
|
||||
GestureMsgID,
|
||||
LastMsgID // NOTE: MUST BE LAST MESSAGE IN ENUM!
|
||||
};
|
||||
|
||||
@@ -226,6 +227,13 @@ enum {
|
||||
MMTabInfoCount
|
||||
};
|
||||
|
||||
enum {
|
||||
MMGestureSwipeLeft,
|
||||
MMGestureSwipeRight,
|
||||
MMGestureSwipeUp,
|
||||
MMGestureSwipeDown,
|
||||
};
|
||||
|
||||
|
||||
// Create a string holding the labels of all messages in message queue for
|
||||
// debugging purposes (condense some messages since there may typically be LOTS
|
||||
@@ -263,6 +271,7 @@ extern NSString *VimFindPboardType;
|
||||
@interface NSString (MMExtras)
|
||||
- (NSString *)stringByEscapingSpecialFilenameCharacters;
|
||||
- (NSString *)stringByRemovingFindPatterns;
|
||||
- (NSString *)stringBySanitizingSpotlightSearch;
|
||||
@end
|
||||
|
||||
|
||||
|
||||
@@ -98,6 +98,7 @@ char *MessageStrings[] =
|
||||
"DeleteSignMsgID",
|
||||
"SetTooltipMsgID",
|
||||
"SetTooltipDelayMsgID",
|
||||
"GestureMsgID",
|
||||
"END OF MESSAGE IDs" // NOTE: Must be last!
|
||||
};
|
||||
|
||||
@@ -233,6 +234,39 @@ debugStringForMessageQueue(NSArray *queue)
|
||||
return [string autorelease];
|
||||
}
|
||||
|
||||
- (NSString *)stringBySanitizingSpotlightSearch
|
||||
{
|
||||
// Limit length of search text
|
||||
NSUInteger len = [self length];
|
||||
if (len > 1024) len = 1024;
|
||||
else if (len == 0) return self;
|
||||
|
||||
NSMutableString *string = [[[self substringToIndex:len] mutableCopy]
|
||||
autorelease];
|
||||
|
||||
// Ignore strings with control characters
|
||||
NSCharacterSet *controlChars = [NSCharacterSet controlCharacterSet];
|
||||
NSRange r = [string rangeOfCharacterFromSet:controlChars];
|
||||
if (r.location != NSNotFound)
|
||||
return nil;
|
||||
|
||||
// Replace ' with '' since it is used as a string delimeter in the command
|
||||
// that we pass on to Vim to perform the search.
|
||||
[string replaceOccurrencesOfString:@"'"
|
||||
withString:@"''"
|
||||
options:NSLiteralSearch
|
||||
range:NSMakeRange(0, [string length])];
|
||||
|
||||
// Replace \ with \\ to avoid Vim interpreting it as the beginning of a
|
||||
// character class.
|
||||
[string replaceOccurrencesOfString:@"\\"
|
||||
withString:@"\\\\"
|
||||
options:NSLiteralSearch
|
||||
range:NSMakeRange(0, [string length])];
|
||||
|
||||
return string;
|
||||
}
|
||||
|
||||
@end // NSString (MMExtras)
|
||||
|
||||
|
||||
|
||||
@@ -621,7 +621,7 @@
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 53;
|
||||
CURRENT_PROJECT_VERSION = 55;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
@@ -651,7 +651,7 @@
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
CURRENT_PROJECT_VERSION = 53;
|
||||
CURRENT_PROJECT_VERSION = 55;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
|
||||
@@ -248,13 +248,17 @@ gui_mch_update(void)
|
||||
// here to avoid reduced frame-rates but then it would not be possible to
|
||||
// interrupt Vim by presssing Ctrl-C during lengthy operations (e.g. after
|
||||
// entering "10gs" it would not be possible to bring Vim out of the 10 s
|
||||
// sleep prematurely). As a compromise we check for Ctrl-C only once per
|
||||
// second. Note that Cmd-. sends SIGINT so it has higher success rate at
|
||||
// interrupting Vim.
|
||||
// sleep prematurely). Furthermore, Vim sometimes goes into a loop waiting
|
||||
// for keyboard input (e.g. during a "more prompt") where not checking for
|
||||
// input could cause Vim to lock up indefinitely.
|
||||
//
|
||||
// As a compromise we check for new input only every now and then. Note
|
||||
// that Cmd-. sends SIGINT so it has higher success rate at interrupting
|
||||
// Vim than Ctrl-C.
|
||||
static CFAbsoluteTime lastTime = 0;
|
||||
|
||||
CFAbsoluteTime nowTime = CFAbsoluteTimeGetCurrent();
|
||||
if (nowTime - lastTime > 1.0) {
|
||||
if (nowTime - lastTime > 0.2) {
|
||||
[[MMBackend sharedInstance] update];
|
||||
lastTime = nowTime;
|
||||
}
|
||||
|
||||
@@ -1,804 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rss version="2.0" xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle">
|
||||
<channel>
|
||||
<title>MacVim Cutting Edge</title>
|
||||
<link>http://bjorn.winckler.googlepages.com/macvim_latest.xml</link>
|
||||
<description>Most recent changes with links to updates.</description>
|
||||
|
||||
<!--
|
||||
To add a new release:
|
||||
|
||||
* add a new <item> below (copy an old one)
|
||||
* Adapt the <title>
|
||||
* Adapt the <description>
|
||||
* Adapt the <pubDate> (format 'Day, dd Mon yyyy hh:mm CET')
|
||||
* Adapte <enclosure>, make sure to update the url, length, saprkle:version
|
||||
and sparkle:shortVersionString attributes.
|
||||
|
||||
Sparkle honors the following user defaults:
|
||||
|
||||
* SUFeedURL overrides the value in Info.plist (if we want to offer several
|
||||
appcasts in the preferences one day ("latest", "stable" for example).
|
||||
|
||||
This means that for testing you can do
|
||||
|
||||
defaults read org.vim.MacVim SUFeedURL # note this down
|
||||
defaults write org.vim.MacVim SUFeedURL file:///Users/you/testcast.xml
|
||||
# !!! note the three '/' after 'file:
|
||||
# test test test
|
||||
defaults write org.vim.MacVim SUFeedURL previousvalue
|
||||
# or, to use some default setting for the url,
|
||||
defaults delete org.vim.MacVim SUFeedURL
|
||||
|
||||
Sparkle usually assumes a naming scheme of name_versionnumber.tar.bz2 .
|
||||
Instead, you can also provide a sparkle:version="2.0_rc2" attribute on
|
||||
the enclosure and name the package as you like. You can (and should) also
|
||||
provide a sparkle:shortVersionString="User-facing version string"
|
||||
attribute that corresponds to CFBundleShortVersionString. Sparkle uses
|
||||
CFBundleVersion to determine the current application version.
|
||||
|
||||
Sparkle supports updates in zip, tar, tbz, tgz, or dmg format.
|
||||
-->
|
||||
|
||||
<item>
|
||||
<title>Snapshot 49 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 49 released</h1>
|
||||
|
||||
<p> Changes since snapshot 47:
|
||||
<ul>
|
||||
<li> ATSUI clips text to display cell to avoid "bleeding" </li>
|
||||
<li> The pwd is set properly when dropping a folder on the Dock </li>
|
||||
<li> Add Vimball (.vba) as a supported filetype </li>
|
||||
<li> Refactored input code (e.g. can now bind to numeric keypad) </li>
|
||||
<li> Improved IM support (separate keyboard layouts in normal/insert modes using the 'noimd' option, see ":h macvim-international") </li>
|
||||
<li> Draw marked text inline (listed as +xim in ":ver") </li>
|
||||
<li> Add user default MMUseInlineIm (use to disable above feature) </li>
|
||||
<li> Update Vim source and runtime files </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Sun, 16 Aug 2009 01:17 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://newmacvim.muskokamug.org/mirror/files/MacVim-snapshot-49.tbz"
|
||||
length="8212194"
|
||||
sparkle:version="49"
|
||||
sparkle:shortVersionString="7.2"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 47 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 47 released</h1>
|
||||
|
||||
<p> Changes since snapshot 45:
|
||||
<ul>
|
||||
<li> Markdown (Nico Weber) and reStructuredText (Travis Jeffery) are supported file types </li>
|
||||
<li> The forever bouncing Dock icon bug should now really really be fixed (Kazuki Sakamoto) </li>
|
||||
<li> Fixed bug when file name contained decomposed UTF8 characters </li>
|
||||
<li> Quick Look should work for most/all supported filetypes now (although the preview is simple text and is not syntax highlighted) </li>
|
||||
<li> Update the help file </li>
|
||||
<li> 'guifontwide' is updated on Cmd-+/Cmd-- </li>
|
||||
<li> The titles of the next/previous tab menu items now match other apps </li>
|
||||
<li> Add NetBeans support (Kazuki Sakamoto) </li>
|
||||
<li> Add simple logging facility </li>
|
||||
<li> Fix a bug which could cause a crash when a dialog sheet was used </li>
|
||||
<li> Update to latest Vim patches and runtime files </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Fri, 16 Jul 2009 19:43 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://newmacvim.muskokamug.org/mirror/files/MacVim-snapshot-47.tbz"
|
||||
length="8200839"
|
||||
sparkle:version="47"
|
||||
sparkle:shortVersionString="7.2"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 45 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 45 released</h1>
|
||||
|
||||
<p> Changes since snapshot 44:
|
||||
<ul>
|
||||
<li> The toolbar is not hidden by default again (if you prefer having the toolbar hidden, then add the line "set go-=T" to your ~/.gvimrc file) </li>
|
||||
<li> The ATSUI renderer honors the 'guisp' highlighting color </li>
|
||||
<li> Fix the forever bouncing Dock icon bug (Kazuki Sakamoto) </li>
|
||||
<li> Add the "Show Hidden Files" checkbox button to the Save dialog whenever the file browser is expanded </li>
|
||||
<li> Frontend refactoring </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Mon, 13 Apr 2009 19:19 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://newmacvim.muskokamug.org/mirror/files/MacVim-snapshot-45.tbz"
|
||||
length="8135831"
|
||||
sparkle:version="45"
|
||||
sparkle:shortVersionString="7.2"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 44 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 44 released</h1>
|
||||
|
||||
<p> Changes since snapshot 43:
|
||||
<ul>
|
||||
<li> The color table had many erroneous entries which have been corrected (Zvezdan Petkovic) </li>
|
||||
<li> Ctrl+tab works again </li>
|
||||
<li> Tab labels only show file tail by default to make them more legible (reset to default by adding "set guitablabel&" to .gvimrc) </li>
|
||||
<li> The number of columns does not change on ":set go+=rT" </li>
|
||||
<li> Fixed problems with view not maximizing when entering full-screen and the Dock was visible </li>
|
||||
<li> Fix various problems related to having windows on a screen that got unplugged (fixes Issue 162) </li>
|
||||
<li> Latest source code version and runtime files (e.g. the Python syntax file is fixed, fixes Issue 160) </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Sun, 29 Mar 2009 16:56 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://newmacvim.muskokamug.org/mirror/files/MacVim-snapshot-44.tbz"
|
||||
length="8139075"
|
||||
sparkle:version="44"
|
||||
sparkle:shortVersionString="7.2"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 43 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 43 released</h1>
|
||||
|
||||
<p><b>The automatic updating feature is broken in snapshots 39 and 40. If the automatic updating never finishes extracting then you are affected by this bug and will have to upgrade manually. To do so, simply go to the <a href="http://code.google.com/p/macvim/wiki/Snapshot">Snapshot page</a> to download the latest version.</b></p>
|
||||
|
||||
<p> Changes since snapshot 42:
|
||||
<ul>
|
||||
<li> Do inclusive search when opening files (Jonathon Mah) </li>
|
||||
<li> Respect layout prefs when double-clicking an already open file </li>
|
||||
<li> Fix two minor memory leaks </li>
|
||||
<li> Ctrl-] works on German keyboard layout </li>
|
||||
<li> The .viminfo file is written on Cmd-q </li>
|
||||
<li> New 16x16 icons (Nico Weber) </li>
|
||||
<li> Untitled window again opens on reopen event if requested in prefs </li>
|
||||
<li> Fork earlier; fixes bug with 'autochdir', faster startup, "f" no longer supported in 'guioptions' </li>
|
||||
<li> Some other minor bug fixes </li>
|
||||
<li> Use latest runtime files and Vim patches </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Fri, 20 Feb 2009 13:49 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://newmacvim.muskokamug.org/mirror/files/MacVim-snapshot-43.tbz"
|
||||
length="8136440"
|
||||
sparkle:version="43"
|
||||
sparkle:shortVersionString="7.2"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 42 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 42 released</h1>
|
||||
|
||||
<p><b>The automatic updating feature is broken in snapshots 39 and 40. If the automatic updating never finishes extracting then you are affected by this bug and will have to upgrade manually. To do so, simply go to the <a href="http://code.google.com/p/macvim/wiki/Snapshot">Snapshot page</a> to download the latest version.</b></p>
|
||||
|
||||
<p> Changes since snapshot 40:
|
||||
<ul>
|
||||
<li> The menu bar behaves better when using full-screen and switching Spaces (Nico Weber) </li>
|
||||
<li> Don't switch Spaces when using "mvim" on one Space and a MacVim window is open on another Space </li>
|
||||
<li> Add user default to toggle the "add tab" button on the tabline (to disable, enter "defaults org.vim.MacVim MMShowAddTabButton 0" in Terminal) </li>
|
||||
<li> Avoid the "Press ENTER..." prompt when dragging and dropping </li>
|
||||
<li> Faster startup (and shutdown, but you're not likely to notice that unless you are me ;-) </li>
|
||||
<li> Automatic updating works again </li>
|
||||
<li> Possible to interrupt external commands (e.g. you can Ctrl-C during a lenghty :grep now) </li>
|
||||
<li> The output from external commands is displayed "interactively" (i.e. you don't have to wait for the command to finish before any output is drawn; try ":!ls -l /usr/lib" and compare with snap 40 to see what I mean) </li>
|
||||
<li> Cmd-. sends SIGINT (so that if a Vim process is stuck you should always be able to interrupt it with Cmd-. even if Ctrl-C doesn't work) </li>
|
||||
<li> Fix crashing bug: e.g. with snap 40 if you go to the src/ folder of Vim and type ":grep a *.c" MacVim would crash </li>
|
||||
<li> Toggle loading of default font with user default MMLoadDefaultFont </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Sat, 12 Jan 2009 16:12 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://newmacvim.muskokamug.org/mirror/files/MacVim-snapshot-42.tbz"
|
||||
length="8131516"
|
||||
sparkle:version="42"
|
||||
sparkle:shortVersionString="7.2"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 40 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 40 released</h1>
|
||||
|
||||
<p> Changes since snapshot 39:
|
||||
<ul>
|
||||
<li> Fix problems with Quickstart "leaking" Vim processes </li>
|
||||
<li> 'imdisable' now on by default (i.e. IM is disabled by default) </li>
|
||||
<li> Clipboard support in non-GUI mode (Kent Sibilev) </li>
|
||||
<li> New document icons, more filetype associations (Nico Weber) </li>
|
||||
<li> Add support for 'guitabtooltip' (hint: add the line "set gtl=%t gtt=%F" to your .gvimrc to make tabs display the name of the file and have the tooltip display the full path) (Jonathon Mah) </li>
|
||||
<li> Look for toolbar icons in runtime path (plugins such as TVO now display toolbar icons properly) </li>
|
||||
<li> Show dialog when clicking to close tab with modified buffers </li>
|
||||
<li> Update documentation </li>
|
||||
<li> Latest runtime files, and Vim patches </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Sun, 28 Dec 2008 17:26 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://newmacvim.muskokamug.org/mirror/files/MacVim-snapshot-40.tbz"
|
||||
length="8138981"
|
||||
sparkle:version="40"
|
||||
sparkle:shortVersionString="7.2"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 39 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 39 released</h1>
|
||||
|
||||
<p> Changes since snapshot 36 (snapshots 37 and 38 were skipped):
|
||||
<ul>
|
||||
<li> Avoid "Stray process..." warning messages (Ben Schmidt) </li>
|
||||
<li> Add Cmd-BackSpace and Alt-BackSpace insert mode mappings (Nico Weber) </li>
|
||||
<li> Dropping multiple files on a window no longer results in an error </li>
|
||||
<li> Fix "Login shell" problems (Ben Schmidt) </li>
|
||||
<li> Exit Vim process if connection becomes invalid -- this should avoid the system log filling up with error messages, but please let me know when it happens (and send me the output from Console.app) </li>
|
||||
<li> Fix bug where Vim would crash when resizing a window with double-width characters </li>
|
||||
<li> Add option 'macmeta' to use "alt/option" as meta key to allow bindings to <M-..> (see ":h 'macmeta') </li>
|
||||
<li> Add basic support for AppleScript (Jason Foreman). E.g. to zoom a window:
|
||||
<pre>
|
||||
tell application MacVim
|
||||
set zoomed of first window to true
|
||||
end tell
|
||||
</pre>
|
||||
</li>
|
||||
<li> Fix various bugs relating to initial window positioning </li>
|
||||
<li> Keep window is visible on ":set lines=..." and "set columns=..." </li>
|
||||
<li> Inserting text from "Special Characters" palette works again </li>
|
||||
<li> Remove the functionality to use a modifier key as Esc (use the PCKeyboardHack app instead, see ":h macvim-hints | /esc") </li>
|
||||
<li> More help on keyboard shortcuts (":h macvim-shortcuts") and the mvim script (see ":h mvim") </li>
|
||||
<li> Speed up live resize </li>
|
||||
<li> Support mvim script symlinks to [m|g]ex and rmvim (see ":h mvim") </li>
|
||||
<li> Tentative support for receiving input from system services (Try this: insert "2+3", select the text, then hit Cmd-*. Result: "2+3" is replaced with "5". Sometimes it seems you have to choose "MacVim->Services->Script Editor->Get Result of AppleScript" instead of pressing Cmd-* for this to work.) </li>
|
||||
<li> No more Vim zombie processes </li>
|
||||
<li> Add "Reload"/"Ignore All" buttons to the file changed dialog </li>
|
||||
<li> Latest runtime files, and Vim patches </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Sun, 23 Nov 2008 18:09 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://newmacvim.muskokamug.org/mirror/files/MacVim-snapshot-39.tbz"
|
||||
length="8012682"
|
||||
sparkle:version="39"
|
||||
sparkle:shortVersionString="7.2"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 36 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 36 released</h1>
|
||||
|
||||
<p> This snapshot fixes a problem with dropped characters that was introduced with snapshot 35. Other changes since snapshot 35:
|
||||
<ul>
|
||||
<li> More help file updates </li>
|
||||
<li> Fixed memory leak (Jonathon Mah) </li>
|
||||
<li> Tool tips for truncated tab labels (Jonathon Mah) </li>
|
||||
<li> Support drag and drop on tabs and on tabline (Jonathon Mah) </li>
|
||||
<li> Modifier key can be used as Esc (useful for turning Caps Lock into Esc, see ":h macvim-esc") </li>
|
||||
<li> Added "Find & Replace" dialog box (Cmd-f) </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Sat, 04 Oct 2008 18:38 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://newmacvim.muskokamug.org/mirror/files/MacVim-snapshot-36.tbz"
|
||||
length="8005820"
|
||||
sparkle:version="36"
|
||||
sparkle:shortVersionString="7.2"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 35 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 35 released</h1>
|
||||
|
||||
<p> With this snapshot I have focused on making MacVim faster, fixing bugs, and updating the documentation. As a result MacVim now feels snappier, flickers less, takes less time to startup from Terminal, and in some cases there are tremendous speed increases. </p>
|
||||
|
||||
<p> Here is a summary of the changes since snapshot 34:
|
||||
<ul>
|
||||
<li> Faster startup times </li>
|
||||
<li> Overall faster drawing </li>
|
||||
<li> Quicker response to key presses </li>
|
||||
<li> Fix bug where key presses were ignored when mouse was moved simultaneously </li>
|
||||
<li> Update ":h macvim" docs </li>
|
||||
<li> Add mvim:// URL handler support (Nico Weber) </li>
|
||||
<li> The VimLeave autocommand works with :maca (see ":h macvim-hints") </li>
|
||||
<li> Multiple files opened from Finder are sorted </li>
|
||||
<li> Don't shift new windows downwards if they are vertically maximized </li>
|
||||
<li> Add option to hide MacVim when last window closes </li>
|
||||
<li> The "Save changes" dialog conforms to the Apple HIG (works with Cmd-D) </li>
|
||||
<li> Fix problems with 'fullscreen' and :mksession (Nico Weber) </li>
|
||||
<li> Cmd-e copies selection to Find Pasteboard without searching </li>
|
||||
<li> Fix bug with blurry text in full-screen with ATSUI (Jjgod Jiang) </li>
|
||||
<li> Cmd-. can be used to interrupt Vim (and to exit insert mode) </li>
|
||||
<li> Add "New Document Here" system service (Ron Olson) </li>
|
||||
<li> Simplify system services menu (honors the "Open files..." pref) </li>
|
||||
<li> Full-screen background color is updated immediately when 'fuopt' changes </li>
|
||||
<li> Cursor no longer escapes the command line on Cmd-=/Cmd-- </li>
|
||||
<li> Add Input Manager support to ATSUI renderer (Kaoru Yoshida) </li>
|
||||
<li> Use latest Vim source code and runtime files </li>
|
||||
<li> Minor bug fixes </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Fri, 26 Sep 2008 20:29 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://newmacvim.muskokamug.org/mirror/files/MacVim-snapshot-35.tbz"
|
||||
length="7986836"
|
||||
sparkle:version="35"
|
||||
sparkle:shortVersionString="7.2"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 34 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 34 released</h1>
|
||||
|
||||
<p> Notice that there are now two prebuilt binaries of MacVim: a stable build and the snapshot build. The snapshot build will be updated fairly often whereas the stable build will not. If you want to use the stable build you will have to download it manually from <a href="http://code.google.com/p/macvim">http://code.google.com/p/macvim</a>.</p>
|
||||
|
||||
<p> This snapshot is based on the recently released Vim 7.2 and it contains some new features and bug fixes. Here's a partial list of changes since snapshot 33:
|
||||
|
||||
<ul>
|
||||
<li> More options on how new files should open (in tabs/splits/etc.): Open the preferences to check this out. </li>
|
||||
<li> Quickstart: With this feature enabled new windows open instantaneously (but _not_ if you use the 'mvim' script). It is disabled by default so go to the Advanced preferences to enable it (and be sure to read the "disclaimer"...note that any changes to ~/.vim or its subdirectories are automatically detected on Leopard). </li>
|
||||
<li> The ATSUI renderer has received a few bug fixes and it now includes mouse support (it can be enabled in the Advanced prefs). (bug fixes by Jjgod Jiang) </li>
|
||||
<li> Some of the old toolbar icons have been resurrected. </li>
|
||||
<li> The current directory is handled more consistently: New windows always have the user's home directory set as current. Opening a file in the Finder results in the current directory being set to the directory the file is in (unless the file opened in a window with other files already open). </li>
|
||||
<li> Windows opened from the Dock menu are in focus. </li>
|
||||
<li> Menu item to toggle the Plug-in drawer (Matt Tolton). </li>
|
||||
<li> Now possible to set 'linespace' in [g]vimrc. </li>
|
||||
<li> Help file cleanup (Michael Wookey). </li>
|
||||
<li> Problems with ptys on Leopard fixed (Ben Schmidt). </li>
|
||||
<li> (Hopefully) no more annoying "dropping incoming DO message ..." warnings. </li>
|
||||
<li> Scroll wheel (track pad) should behave better with fast machines (Issue 100) </li>
|
||||
<li> Various bug fixes...
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Sat, 16 Aug 2008 16:59 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://newmacvim.muskokamug.org/mirror/files/MacVim-snapshot-34.tbz"
|
||||
length="7959893"
|
||||
sparkle:version="34"
|
||||
sparkle:shortVersionString="7.2"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 33 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 33 released</h1>
|
||||
|
||||
<p> This snapshot includes contributions from three new MacVim developers: Kyle Lippincott has added support for proxy icons, Matt Tolton has implemented a Plug-In architecture, and Kaoru Yoshida has rewritten the Input Manager support. Let me just say that I find it very encouraging to get more help with this project! While we're on the topic of MacVim development; if you are interested in getting started with the source code you should take a look at the newly updated file "src/MacVim/README". I have also written some documentation on how to contribute with patches using Git, see <a href="http://code.google.com/p/macvim/wiki/Contributing">here</a>.
|
||||
|
||||
<p> If you want to get started with plug-in development you should take a look at the example plug-in (FileBrowser.tgz) that Matt posted to vim_mac (the thread is called "Initial Plugin Architecture patch"). I'm sure Matt will be happy to help out with any question you may have (as will I). </p>
|
||||
|
||||
<p> I think that the new Input Manager support is a big improvement, but we need feedback from more IM users to let us know exactly how well it works. Kaoru seems to be on top of fixing bugs as they are reported, so if you have any problems or comments please make yourself heard. </p>
|
||||
|
||||
<p> More changes since snapshot 32:
|
||||
<ul>
|
||||
<li> The file open dialog has a check-box to show hidden files (patch by Nico Weber) </li>
|
||||
<li> Cmd-? now works </li>
|
||||
<li> Partial printing support: Cmd-p opens up Preview.app (Nico Weber) </li>
|
||||
<li> Uses Vim 7.2a BETA source code </li>
|
||||
<li> Latest runtime files </li>
|
||||
<li> Minor bug fixes (see <a href="http://repo.or.cz/w/MacVim.git">here</a>) </li>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Sat, 05 Jul 2008 20:14 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://macvim.googlecode.com/files/MacVim-snapshot-33.tbz"
|
||||
length="8467287"
|
||||
sparkle:version="33"
|
||||
sparkle:shortVersionString="7.1"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 32 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 32 released</h1>
|
||||
|
||||
<p><em> This snapshot contains fixes for several severe bugs; I strongly suggest
|
||||
that you update now! </em></p>
|
||||
|
||||
<p> Changes since snapshot 31:
|
||||
<ul>
|
||||
<li> Fix several bugs that caused MacVim to crash </li>
|
||||
<li> Console dialogs work once again (set go+=c) </li>
|
||||
<li> Background processes work (:! ... &) (fix by Ben Schmidt)</li>
|
||||
<li> Ctrl-Shift can be used for modeless selection </li>
|
||||
<li> No crashes with HTML plugin </li>
|
||||
<li> Toolbar is a bit better at finding icons (this still needs some work)
|
||||
</li>
|
||||
<li> Latest Vim source code and runtime files merged </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Fri, 22 Jun 2008 13:13 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://macvim.googlecode.com/files/MacVim-snapshot-32.tbz"
|
||||
length="8194915"
|
||||
sparkle:version="32"
|
||||
sparkle:shortVersionString="7.1"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 31 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 31 released</h1>
|
||||
<p> Changes since snapshot 30:
|
||||
<ul>
|
||||
<li> Fixed problems with menus on OS X 10.4 and a related crash. </li>
|
||||
<li> Dialog box handling has been updated. This fixes a problem where the
|
||||
"swap file warning" dialog would pop up before the informational text in
|
||||
the editor window updated. Hopefully this will also cure various other
|
||||
problems with dialogs (e.g. nothing happening when opening files from a
|
||||
dialog box). </li>
|
||||
<li> Added dock menu with "New Window" item. This is useful with "Spaces" on
|
||||
OS X 10.5 since you can use this menu to open a new MacVim window on any
|
||||
"space" when another editor window is already open. (Also, now there is
|
||||
always a way to open a new window, even if the menus are customized,
|
||||
or if "-u NONE" is used.) </li>
|
||||
<li> I have started trying to fix "modeless selection" and it sort of works
|
||||
on my machine, but I've had one report stating that its not quite
|
||||
working so you mileage may vary. Make sure to let me know what works
|
||||
and doesn't so that I can fix this properly. (Try selecting text from
|
||||
the command line.) </li>
|
||||
<li> The default font (DejaVu Sans Mono) has been updated to version 2.25.
|
||||
</li>
|
||||
<li> Latest Vim source code merged </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Fri, 13 Jun 2008 16:00 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://macvim.googlecode.com/files/MacVim-snapshot-31.tbz"
|
||||
length="8182620"
|
||||
sparkle:version="31"
|
||||
sparkle:shortVersionString="7.1"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 30 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 30 released</h1>
|
||||
<p> Changes since snapshot 28:
|
||||
<ul>
|
||||
<li> copy&paste and other "Edit" menu items now work as expected with dialogs
|
||||
(such as open/save). </li>
|
||||
<li> some menus (such as the "Window" menu) has got some new items </li>
|
||||
<li> general menu improvements when no editor window is open </li>
|
||||
<li> ability to access some OS X default Cmd-keys even if menus are
|
||||
completely altered (e.g. when starting with "-u NONE") </li>
|
||||
<li> QuickLook works with .vim files (patch by Nico Weber) </li>
|
||||
<li> insert mode cursor honors the 'rightleft' option </li>
|
||||
<li> no more "freezes" during :shell </li>
|
||||
<li> no beeping on Cmd-q </li>
|
||||
<li> Cmd-w works in full-screen again </li>
|
||||
<li> window dimensions properly restored when leaving full-screen when
|
||||
"maxvert" is in 'fuoptions' </li>
|
||||
<li> support for 'mousehide' option </li>
|
||||
<li> latest vim patches and runtime files </li>
|
||||
</ul>
|
||||
</p>
|
||||
<p> The only difference between snapshot 29 and 30 is that the former did not
|
||||
handle window cycling very well with international keyboard layouts. </p>
|
||||
]]></description>
|
||||
<pubDate>Sun, 8 Jun 2008 16:43 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://macvim.googlecode.com/files/MacVim-snapshot-30.tbz"
|
||||
length="8137308"
|
||||
sparkle:version="30"
|
||||
sparkle:shortVersionString="7.1"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 28 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 28 released</h1>
|
||||
<p><em>The ":macmenukey" command is now deprecated. Please update your .gvimrc
|
||||
file to use the ":macmenu" command instead (if you use ":macmenukey").</em></p>
|
||||
|
||||
<p> Changes since snapshot 27:
|
||||
<ul>
|
||||
<li> Added the ":macmenu" commmand (see ":h macmenu") and deprecated
|
||||
":macmenukey"</li>
|
||||
<li> Cmd-w now works even when mappings to <-\> are present </li>
|
||||
<li> Added "File.Save All" menu item (Cmd-Alt-s) </li>
|
||||
<li> The Logitech Control Center no longer causes any problems </li>
|
||||
<li> "Edit" menu items now work better with open and save dialogs </li>
|
||||
<li> The 'backspace' option now includes "indent,eol,start" by default </li>
|
||||
<li> Open and save dialogs track the present working directory </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Sun, 25 May 2008 19:40 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://macvim.googlecode.com/files/MacVim-snapshot-28.tbz"
|
||||
length="8124499"
|
||||
sparkle:version="28"
|
||||
sparkle:shortVersionString="7.1"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 27 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 27 released</h1>
|
||||
<p> This is the first snapshot compiled on the new Mac I bought with money
|
||||
donated from MacVim users! There were problems with compiling universal
|
||||
binaries with Ruby and Perl support on PPC/Tiger so I was hoping to be able
|
||||
to include these now that I have Intel/Leopard. The good news is that Ruby
|
||||
support is now included, but Perl still is problematic and I had to drop
|
||||
TCL support. I will try to get these working in a future snapshot.
|
||||
</p>
|
||||
|
||||
<p> Here is the list of changes since snapshot 26:
|
||||
<ul>
|
||||
<li> 'fuoptions' now support setting the background color while in
|
||||
full-screen mode, check ":h 'fuopt'" (patch by Enno Lübbers) </li>
|
||||
<li> <D-w> shows confirmation dialog when buffer is modified </li>
|
||||
<li> setting 'antialias' from gvimrc now works </li>
|
||||
<li> zooming a window no longer causes it to move downwards </li>
|
||||
<li> the File menu now contains a "Recent Files" submenu; note that only
|
||||
files opened from Finder or with the ":browse" command are added to this
|
||||
list, and not files opened with e.g. ":e" (patch by Nico Weber) </li>
|
||||
<li> includes latest Vim patches and runtime files </li>
|
||||
</ul>
|
||||
</p>
|
||||
]]></description>
|
||||
<pubDate>Mon, 12 May 2008 22:05 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://macvim.googlecode.com/files/MacVim-snapshot-27-fixed.tbz"
|
||||
length="8102568"
|
||||
sparkle:version="27"
|
||||
sparkle:shortVersionString="7.1"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 26 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 26 released</h1>
|
||||
<p> This snapshot contains a fix to the bug which caused the first window to
|
||||
open in the wrong position as well as an initial version of the new MacVim
|
||||
icon. </p>
|
||||
|
||||
]]></description>
|
||||
<pubDate>Fri, 11 Apr 2008 20:37 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://macvim.googlecode.com/files/MacVim-snapshot-26.tbz"
|
||||
length="8147362"
|
||||
sparkle:version="26"
|
||||
sparkle:shortVersionString="7.1"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 25 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 25 released</h1>
|
||||
|
||||
<p> This snapshot adds support for two new options: 'antialias' and
|
||||
'fuoptions'. The former lets you turn text antialiasing on or off (it's
|
||||
on by default), the latter can be used to make the view maximize when
|
||||
full-screen is entered. See the built-in help for more information (:h
|
||||
'anti' and :h 'fuopt'). </p>
|
||||
|
||||
<p> Another minor addition is that <C-c> and <C-v> work with
|
||||
block-wise selections (do note that <C-v> behaves like "P", not "p").
|
||||
Also, <D-w> now works in ex-mode and in a command-line window. </p>
|
||||
|
||||
<p> Here is the list of changes since snapshot 24:
|
||||
<ul>
|
||||
<li> support 'antialias' option (Jjgod Jiang) </li>
|
||||
<li> add option 'fuoptions' to control resizing when full-screen is entered
|
||||
(Nico Weber) </li>
|
||||
<li> fixed bug where transparency setting was lost after leaving full-screen
|
||||
(Nico Weber) </li>
|
||||
<li> help menu contains MacVim help and website link </li>
|
||||
<li> <D-w> now works in ex-mode and in command-line window </li>
|
||||
<li> :macaction command supports command-line completion (Nico Weber) </li>
|
||||
<li> copy/paste respects block selections (requested by George Harker) </li>
|
||||
<li> window no longer cascades from preferences panel </li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
]]></description>
|
||||
<pubDate>Fri, 06 Apr 2008 19:11 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://macvim.googlecode.com/files/MacVim-snapshot-25.tbz"
|
||||
length="8042440"
|
||||
sparkle:version="25"
|
||||
sparkle:shortVersionString="7.1"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 24 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 24 released</h1>
|
||||
|
||||
<p><em> The input manager bundled with snapshot 23 contained a bug which could
|
||||
lead to other apps crashing on startup. If you have installed the input
|
||||
manager, then you are strongly advised to update now and install the new input
|
||||
manager (via the Integration preference pane). </em></p>
|
||||
|
||||
<p> Changes since snapshot 23:
|
||||
<ul>
|
||||
<li> The mouse cursor has higher contrast in insert mode (when bg=dark). </li>
|
||||
<li> The layout of the Integration preference pane has been updated. </li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
]]></description>
|
||||
<pubDate>Fri, 14 Mar 2008 20:44 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://macvim.googlecode.com/files/MacVim-snapshot-24.tbz"
|
||||
length="8036815"
|
||||
sparkle:version="24"
|
||||
sparkle:shortVersionString="7.1"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 23 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 23 released</h1>
|
||||
|
||||
Changes since snapshot 22:
|
||||
|
||||
<ul>
|
||||
<li> The preferences panel has been updated with an "Integration pane". This
|
||||
can be used to easily install (and uninstall) the "Edit in ODBEditor"
|
||||
input manager. The input manager enables you to use MacVim to edit text
|
||||
in any Cocoa text field (e.g. you can use MacVim to edit emails in Mail).
|
||||
Please read the warning on the Integration pane before installing the
|
||||
input manager. (Patch by Nico Weber.) </li>
|
||||
<li> The "Login Shell" preference has been updated so it should now work with
|
||||
most shells. This option ensures that environment variables (e.g. $PATH)
|
||||
are set properly. You should enable it if you ever need to issue shell
|
||||
commands from within MacVim. (Patch by Ben Schmidt.) </li>
|
||||
<li> Added MMZoomBoth user default. Enable this if you prefer the window to
|
||||
maximize in both directions when you press the green "maximize button"
|
||||
(hold down Cmd to temporarily restrict resizing to the vertical direction
|
||||
only). (Requested by Brian McKee.) </li>
|
||||
<li> Added Cmd-Ctrl-z as key equivalent for "Window->Zoom" (this is the same
|
||||
key equivalent as in iTunes) </li>
|
||||
<li> The Vim runtime files have been updated to the latest version </li>
|
||||
<li> MacVim recognizes files with .patch and .diff extension </li>
|
||||
<li> The mouse cursor in insert mode has higher contrast (when used with dark
|
||||
backgrounds). (Requested by Enno et al.) </li>
|
||||
<li> Line numbers (:h 'number') are brighter when bakground=dark. (Requested
|
||||
by Ted Pavlic) </li>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
Like MacVim? Go to <a href="http://code.google.com/p/macvim/">
|
||||
http://code.google.com/p/macvim/</a> to see how you can show your
|
||||
support.
|
||||
</p>
|
||||
|
||||
]]></description>
|
||||
<pubDate>Sun, 9 Mar 2008 16:43 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://macvim.googlecode.com/files/MacVim-snapshot-23.tbz"
|
||||
length="8037899"
|
||||
sparkle:version="23"
|
||||
sparkle:shortVersionString="7.1"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 22 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 22 released</h1>
|
||||
|
||||
<p><em>This snapshot replaces the broken snapshot 21. If you installed build 21
|
||||
then please update immediately.</em></p>
|
||||
|
||||
<p>Changes since snapshot 20:</p>
|
||||
<ul>
|
||||
<li>Fix forking bug which caused snapshot 21 to lock up OS X</li>
|
||||
<li>The macvim color scheme changed so that line numbers look better when
|
||||
the background is dark (enable line numbers with :set number; set dark
|
||||
background with :set bg=dark)</li>
|
||||
<li>Improved support for Voice Over (enable with <D-F5>)</li>
|
||||
<li>System bell support (see :h 'vb' on how to turn it off)</li>
|
||||
<li>MacVim no longer associates to .plist and .dict since these may well be
|
||||
in binary format</li>
|
||||
<li>Added Find Next <D-g>, Find Previous <D-G> and Use Selection
|
||||
for Find <D-e> menu items</li>
|
||||
<li>Track pad scrolling is now force sensitive</li>
|
||||
<li>Added help section on preferences</li>
|
||||
<li>Preferences panel updated (also no longer hides when MacVim loses focus)
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>The most exciting new addition in this snapshot is support for <D-g>.
|
||||
It repeats the last search you made in any other application (that supports the
|
||||
Find Pasteboard).</p>
|
||||
<p>This is very useful if you have several windows open in MacVim...try
|
||||
searching for something in one window (using "/"), then switching to another
|
||||
window and hitting <D-g> for an example (after having pressed <D-g>
|
||||
once you can of course use "n" to repeat the search).</p>
|
||||
]]></description>
|
||||
<pubDate>Wed, 13 Feb 2008 19:36 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://macvim.googlecode.com/files/MacVim-snapshot-22.tbz"
|
||||
length="7812907"
|
||||
sparkle:version="22"
|
||||
sparkle:shortVersionString="7.1"
|
||||
/>
|
||||
</item>
|
||||
|
||||
|
||||
<item>
|
||||
<title>Snapshot 20 released</title>
|
||||
<description><![CDATA[
|
||||
<h1>MacVim snapshot 20 released</h1>
|
||||
<ul>
|
||||
<li>Automatic updates via Sparkle (Nico Weber)</li>
|
||||
<li>Preferences panel</li>
|
||||
<li>Fix ^C^W bug (Issue 48)</li>
|
||||
<li>Make sure window is ordered front when new files are opened</li>
|
||||
<li>Warn when quitting with multiple tabs or windows open</li>
|
||||
<li><D-w> can now be used to close dialogs (such as the About dialog)</li>
|
||||
</ul>
|
||||
]]></description>
|
||||
<pubDate>Sun, 03 Feb 2008 16:39 CET</pubDate>
|
||||
<enclosure type="application/octet-stream"
|
||||
url="http://macvim.googlecode.com/files/MacVim-snapshot-20.tbz"
|
||||
length="7805678"
|
||||
sparkle:version="20"
|
||||
sparkle:shortVersionString="snapshot 20"
|
||||
/>
|
||||
</item>
|
||||
</channel>
|
||||
</rss>
|
||||
+1
-1
@@ -303,7 +303,7 @@ DIRSLASH = \\
|
||||
endif
|
||||
endif
|
||||
CC := $(CROSS_COMPILE)gcc
|
||||
WINDRES := $(CROSS_COMPILE)windres
|
||||
WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CC) -E -xc" -DRC_INVOKED
|
||||
|
||||
#>>>>> end of choices
|
||||
###########################################################################
|
||||
|
||||
+6
-5
@@ -1292,9 +1292,12 @@ do_buffer(action, start, dir, count, forceit)
|
||||
/* Go to the other buffer. */
|
||||
set_curbuf(buf, action);
|
||||
|
||||
#if defined(FEAT_LISTCMDS) && defined(FEAT_SCROLLBIND)
|
||||
#if defined(FEAT_LISTCMDS) \
|
||||
&& (defined(FEAT_SCROLLBIND) || defined(FEAT_CURSORBIND))
|
||||
if (action == DOBUF_SPLIT)
|
||||
curwin->w_p_scb = FALSE; /* reset 'scrollbind' */
|
||||
{
|
||||
RESET_BINDING(curwin); /* reset 'scrollbind' and 'cursorbind' */
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_AUTOCMD) && defined(FEAT_EVAL)
|
||||
@@ -1921,9 +1924,7 @@ buflist_getfile(n, lnum, options, forceit)
|
||||
tabpage_new();
|
||||
else if (win_split(0, 0) == FAIL) /* Open in a new window */
|
||||
return FAIL;
|
||||
# ifdef FEAT_SCROLLBIND
|
||||
curwin->w_p_scb = FALSE;
|
||||
# endif
|
||||
RESET_BINDING(curwin);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
+5
-6
@@ -1127,11 +1127,13 @@ diff_win_options(wp, addbuf)
|
||||
# endif
|
||||
|
||||
wp->w_p_diff = TRUE;
|
||||
/* Use 'scrollbind' and 'cursorbind' when available */
|
||||
#ifdef FEAT_SCROLLBIND
|
||||
wp->w_p_scb = TRUE;
|
||||
#endif
|
||||
#ifdef FEAT_CURSORBIND
|
||||
/* Use cursorbind if it's available */
|
||||
wp->w_p_crb = TRUE;
|
||||
#endif
|
||||
wp->w_p_scb = TRUE;
|
||||
wp->w_p_wrap = FALSE;
|
||||
# ifdef FEAT_FOLDING
|
||||
curwin = wp;
|
||||
@@ -1177,10 +1179,7 @@ ex_diffoff(eap)
|
||||
{
|
||||
/* Set 'diff', 'scrollbind' off and 'wrap' on. */
|
||||
wp->w_p_diff = FALSE;
|
||||
#ifdef FEAT_CURSORBIND
|
||||
wp->w_p_crb = FALSE;
|
||||
#endif
|
||||
wp->w_p_scb = FALSE;
|
||||
RESET_BINDING(wp);
|
||||
wp->w_p_wrap = TRUE;
|
||||
#ifdef FEAT_FOLDING
|
||||
curwin = wp;
|
||||
|
||||
+16
-1
@@ -1123,6 +1123,15 @@ doESCkey:
|
||||
case K_MOUSERIGHT: /* Scroll wheel right */
|
||||
ins_mousescroll(MSCR_RIGHT);
|
||||
break;
|
||||
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
/* Gestures are ignored */
|
||||
case K_SWIPELEFT:
|
||||
case K_SWIPERIGHT:
|
||||
case K_SWIPEUP:
|
||||
case K_SWIPEDOWN:
|
||||
break;
|
||||
# endif
|
||||
#endif
|
||||
#ifdef FEAT_GUI_TABLINE
|
||||
case K_TABLINE:
|
||||
@@ -1134,6 +1143,7 @@ doESCkey:
|
||||
case K_IGNORE: /* Something mapped to nothing */
|
||||
break;
|
||||
|
||||
|
||||
#ifdef FEAT_AUTOCMD
|
||||
case K_CURSORHOLD: /* Didn't type something for a while. */
|
||||
apply_autocmds(EVENT_CURSORHOLDI, NULL, NULL, FALSE, curbuf);
|
||||
@@ -3509,7 +3519,12 @@ ins_compl_prep(c)
|
||||
|
||||
/* Ignore end of Select mode mapping and mouse scroll buttons. */
|
||||
if (c == K_SELECT || c == K_MOUSEDOWN || c == K_MOUSEUP
|
||||
|| c == K_MOUSELEFT || c == K_MOUSERIGHT)
|
||||
|| c == K_MOUSELEFT || c == K_MOUSERIGHT
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
|| c == K_SWIPELEFT || c == K_SWIPERIGHT || c == K_SWIPEUP
|
||||
|| c == K_SWIPEDOWN
|
||||
# endif
|
||||
)
|
||||
return retval;
|
||||
|
||||
/* Set "compl_get_longest" when finding the first matches. */
|
||||
|
||||
+10
-2
@@ -7076,7 +7076,7 @@ dict_add_nr_str(d, key, nr, str)
|
||||
}
|
||||
|
||||
/*
|
||||
* Add a list entry to dictionary "d".
|
||||
* Add a list entry to dictionary "d".
|
||||
* Returns FAIL when out of memory and when key already exists.
|
||||
*/
|
||||
int
|
||||
@@ -7098,6 +7098,7 @@ dict_add_list(d, key, list)
|
||||
dictitem_free(item);
|
||||
return FAIL;
|
||||
}
|
||||
++list->lv_refcount;
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -10951,7 +10952,14 @@ f_getchar(argvars, rettv)
|
||||
|| n == K_MOUSELEFT
|
||||
|| n == K_MOUSERIGHT
|
||||
|| n == K_MOUSEDOWN
|
||||
|| n == K_MOUSEUP)
|
||||
|| n == K_MOUSEUP
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
|| n == K_SWIPELEFT
|
||||
|| n == K_SWIPERIGHT
|
||||
|| n == K_SWIPEUP
|
||||
|| n == K_SWIPEDOWN
|
||||
# endif
|
||||
)
|
||||
{
|
||||
int row = mouse_row;
|
||||
int col = mouse_col;
|
||||
|
||||
+3
-6
@@ -3498,9 +3498,7 @@ do_ecmd(fnum, ffname, sfname, eap, newlnum, flags, oldwin)
|
||||
curbuf->b_p_bin = FALSE; /* reset 'bin' before reading file */
|
||||
curwin->w_p_nu = 0; /* no line numbers */
|
||||
curwin->w_p_rnu = 0; /* no relative line numbers */
|
||||
#ifdef FEAT_SCROLLBIND
|
||||
curwin->w_p_scb = FALSE; /* no scroll binding */
|
||||
#endif
|
||||
RESET_BINDING(curwin); /* no scroll or cursor binding */
|
||||
#ifdef FEAT_ARABIC
|
||||
curwin->w_p_arab = FALSE; /* no arabic mode */
|
||||
#endif
|
||||
@@ -5471,9 +5469,8 @@ prepare_tagpreview(undo_sync)
|
||||
return FALSE;
|
||||
curwin->w_p_pvw = TRUE;
|
||||
curwin->w_p_wfh = TRUE;
|
||||
# ifdef FEAT_SCROLLBIND
|
||||
curwin->w_p_scb = FALSE; /* don't take over 'scrollbind' */
|
||||
# endif
|
||||
RESET_BINDING(curwin); /* don't take over 'scrollbind'
|
||||
and 'cursorbind' */
|
||||
# ifdef FEAT_DIFF
|
||||
curwin->w_p_diff = FALSE; /* no 'diff' */
|
||||
# endif
|
||||
|
||||
+1
-3
@@ -2238,9 +2238,7 @@ do_argfile(eap, argn)
|
||||
{
|
||||
if (win_split(0, 0) == FAIL)
|
||||
return;
|
||||
# ifdef FEAT_SCROLLBIND
|
||||
curwin->w_p_scb = FALSE;
|
||||
# endif
|
||||
RESET_BINDING(curwin);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
|
||||
+6
-5
@@ -3472,7 +3472,8 @@ set_one_cmd_context(xp, buff)
|
||||
case CMD_find:
|
||||
case CMD_sfind:
|
||||
case CMD_tabfind:
|
||||
xp->xp_context = EXPAND_FILES_IN_PATH;
|
||||
if (xp->xp_context == EXPAND_FILES)
|
||||
xp->xp_context = EXPAND_FILES_IN_PATH;
|
||||
break;
|
||||
case CMD_cd:
|
||||
case CMD_chdir:
|
||||
@@ -6916,9 +6917,7 @@ handle_drop(filec, filev, split)
|
||||
# ifdef FEAT_WINDOWS
|
||||
if (win_split(0, 0) == FAIL)
|
||||
return;
|
||||
# ifdef FEAT_SCROLLBIND
|
||||
curwin->w_p_scb = FALSE;
|
||||
# endif
|
||||
RESET_BINDING(curwin);
|
||||
|
||||
/* When splitting the window, create a new alist. Otherwise the
|
||||
* existing one is overwritten. */
|
||||
@@ -7318,7 +7317,9 @@ ex_splitview(eap)
|
||||
|| cmdmod.browse
|
||||
# endif
|
||||
)
|
||||
curwin->w_p_scb = FALSE;
|
||||
{
|
||||
RESET_BINDING(curwin);
|
||||
}
|
||||
else
|
||||
do_check_scrollbind(FALSE);
|
||||
# endif
|
||||
|
||||
+33
-11
@@ -1340,6 +1340,14 @@ getcmdline(firstc, count, indent)
|
||||
case K_X2RELEASE:
|
||||
goto cmdline_not_changed;
|
||||
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
/* Gestures are ignored */
|
||||
case K_SWIPELEFT:
|
||||
case K_SWIPERIGHT:
|
||||
case K_SWIPEUP:
|
||||
case K_SWIPEDOWN:
|
||||
goto cmdline_not_changed;
|
||||
# endif
|
||||
#endif /* FEAT_MOUSE */
|
||||
|
||||
#ifdef FEAT_GUI
|
||||
@@ -2342,15 +2350,31 @@ redraw:
|
||||
windgoto(msg_row, msg_col);
|
||||
pend = (char_u *)(line_ga.ga_data) + line_ga.ga_len;
|
||||
|
||||
/* we are done when a NL is entered, but not when it comes after a
|
||||
* backslash */
|
||||
if (line_ga.ga_len > 0 && pend[-1] == '\n'
|
||||
&& (line_ga.ga_len <= 1 || pend[-2] != '\\'))
|
||||
/* We are done when a NL is entered, but not when it comes after an
|
||||
* odd number of backslashes, that results in a NUL. */
|
||||
if (line_ga.ga_len > 0 && pend[-1] == '\n')
|
||||
{
|
||||
--line_ga.ga_len;
|
||||
--pend;
|
||||
*pend = NUL;
|
||||
break;
|
||||
int bcount = 0;
|
||||
|
||||
while (line_ga.ga_len - 2 >= bcount && pend[-2 - bcount] == '\\')
|
||||
++bcount;
|
||||
|
||||
if (bcount > 0)
|
||||
{
|
||||
/* Halve the number of backslashes: "\NL" -> "NUL", "\\NL" ->
|
||||
* "\NL", etc. */
|
||||
line_ga.ga_len -= (bcount + 1) / 2;
|
||||
pend -= (bcount + 1) / 2;
|
||||
pend[-1] = '\n';
|
||||
}
|
||||
|
||||
if ((bcount & 1) == 0)
|
||||
{
|
||||
--line_ga.ga_len;
|
||||
--pend;
|
||||
*pend = NUL;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6153,9 +6177,7 @@ ex_window()
|
||||
curwin->w_p_rl = cmdmsg_rl;
|
||||
cmdmsg_rl = FALSE;
|
||||
# endif
|
||||
# ifdef FEAT_SCROLLBIND
|
||||
curwin->w_p_scb = FALSE;
|
||||
# endif
|
||||
RESET_BINDING(curwin);
|
||||
|
||||
# ifdef FEAT_AUTOCMD
|
||||
/* Do execute autocommands for setting the filetype (load syntax). */
|
||||
|
||||
@@ -2400,7 +2400,7 @@ gui_outstr_nowrap(s, len, flags, fg, bg, back)
|
||||
if (draw_sign)
|
||||
/* Draw the sign on top of the spaces. */
|
||||
gui_mch_drawsign(gui.row, col, gui.highlight_mask);
|
||||
# if defined(FEAT_NETBEANS_INTG) && (defined(FEAT_GUI_MOTIF) \
|
||||
# if defined(FEAT_NETBEANS_INTG) && (defined(FEAT_GUI_X11) \
|
||||
|| defined(FEAT_GUI_GTK) || defined(FEAT_GUI_W32))
|
||||
if (multi_sign)
|
||||
netbeans_draw_multisign_indicator(gui.row);
|
||||
|
||||
+13
-13
@@ -1480,7 +1480,7 @@ GetFontPanelSelection(char_u *outName)
|
||||
*
|
||||
* Returns the index inside the menu wher
|
||||
*/
|
||||
short /* Shoulde we return MenuItemIndex? */
|
||||
short /* Should we return MenuItemIndex? */
|
||||
gui_mac_get_menu_item_index(vimmenu_T *pMenu)
|
||||
{
|
||||
short index;
|
||||
@@ -1823,7 +1823,7 @@ gui_mac_doInZoomClick(EventRecord *theEvent, WindowPtr whichWindow)
|
||||
p.h += gui.scrollbar_width;
|
||||
if (gui.which_scrollbars[SBAR_RIGHT])
|
||||
p.h += gui.scrollbar_width;
|
||||
/* ideal height is as heigh as we can get */
|
||||
/* ideal height is as high as we can get */
|
||||
p.v = 15 * 1024;
|
||||
|
||||
thePart = IsWindowInStandardState(whichWindow, &p, &r)
|
||||
@@ -4481,7 +4481,7 @@ gui_mch_wait_for_chars(int wtime)
|
||||
* event arrives. No need to check for input_buf_full because we are
|
||||
* returning as soon as it contains a single char.
|
||||
*/
|
||||
/* TODO: reduce wtime accordinly??? */
|
||||
/* TODO: reduce wtime accordingly??? */
|
||||
if (wtime > -1)
|
||||
sleeppyTick = 60 * wtime / 1000;
|
||||
else
|
||||
@@ -5723,13 +5723,13 @@ gui_mch_dialog(
|
||||
iconDITL = GetResource('DITL', 131);
|
||||
switch (type)
|
||||
{
|
||||
case VIM_GENERIC: useIcon = kNoteIcon;
|
||||
case VIM_ERROR: useIcon = kStopIcon;
|
||||
case VIM_WARNING: useIcon = kCautionIcon;
|
||||
case VIM_INFO: useIcon = kNoteIcon;
|
||||
case VIM_QUESTION: useIcon = kNoteIcon;
|
||||
default: useIcon = kStopIcon;
|
||||
};
|
||||
case VIM_GENERIC:
|
||||
case VIM_INFO:
|
||||
case VIM_QUESTION: useIcon = kNoteIcon; break;
|
||||
case VIM_WARNING: useIcon = kCautionIcon; break;
|
||||
case VIM_ERROR: useIcon = kStopIcon; break;
|
||||
default: useIcon = kStopIcon;
|
||||
}
|
||||
AppendDITL(theDialog, iconDITL, overlayDITL);
|
||||
ReleaseResource(iconDITL);
|
||||
GetDialogItem(theDialog, iconItm.idx, &itemType, &itemHandle, &box);
|
||||
@@ -5892,7 +5892,7 @@ gui_mch_dialog(
|
||||
|
||||
return itemHit;
|
||||
/*
|
||||
* Usefull thing which could be used
|
||||
* Useful thing which could be used
|
||||
* SetDialogTimeout(): Auto click a button after timeout
|
||||
* SetDialogTracksCursor() : Get the I-beam cursor over input box
|
||||
* MoveDialogItem(): Probably better than SetDialogItem
|
||||
@@ -6100,7 +6100,7 @@ gui_mch_settitle(char_u *title, char_u *icon)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Transfered from os_mac.c for MacOS X using os_unix.c prep work
|
||||
* Transferred from os_mac.c for MacOS X using os_unix.c prep work
|
||||
*/
|
||||
|
||||
int
|
||||
@@ -6543,7 +6543,7 @@ getTabLabel(tabpage_T *page)
|
||||
static ControlRef dataBrowser = NULL;
|
||||
|
||||
// when the tabline is hidden, vim doesn't call update_tabline(). When
|
||||
// the tabline is shown again, show_tabline() is called before upate_tabline(),
|
||||
// the tabline is shown again, show_tabline() is called before update_tabline(),
|
||||
// and because of this, the tab labels and vims internal tabs are out of sync
|
||||
// for a very short time. to prevent inconsistent state, we store the labels
|
||||
// of the tabs, not pointers to the tabs (which are invalid for a short time).
|
||||
|
||||
+1
-3
@@ -1274,9 +1274,7 @@ cs_find_common(opt, pat, forceit, verbose, use_ll, cmdline)
|
||||
{
|
||||
win_split(postponed_split > 0 ? postponed_split : 0,
|
||||
postponed_split_flags);
|
||||
# ifdef FEAT_SCROLLBIND
|
||||
curwin->w_p_scb = FALSE;
|
||||
# endif
|
||||
RESET_BINDING(curwin);
|
||||
postponed_split = 0;
|
||||
}
|
||||
# endif
|
||||
|
||||
+23
-51
@@ -34,6 +34,7 @@ Python_Release_Vim(void)
|
||||
static PyObject *OutputWrite(PyObject *, PyObject *);
|
||||
static PyObject *OutputWritelines(PyObject *, PyObject *);
|
||||
|
||||
/* Function to write a line, points to either msg() or emsg(). */
|
||||
typedef void (*writefn)(char_u *);
|
||||
static void writer(writefn fn, char_u *str, PyInt n);
|
||||
|
||||
@@ -122,52 +123,19 @@ OutputWritelines(PyObject *self, PyObject *args)
|
||||
return Py_None;
|
||||
}
|
||||
|
||||
static char_u *buffer = NULL;
|
||||
static PyInt buffer_len = 0;
|
||||
static PyInt buffer_size = 0;
|
||||
|
||||
/* Buffer IO, we write one whole line at a time. */
|
||||
static garray_T io_ga = {0, 0, 1, 80, NULL};
|
||||
static writefn old_fn = NULL;
|
||||
|
||||
static void
|
||||
buffer_ensure(PyInt n)
|
||||
{
|
||||
PyInt new_size;
|
||||
char_u *new_buffer;
|
||||
|
||||
if (n < buffer_size)
|
||||
return;
|
||||
|
||||
new_size = buffer_size;
|
||||
while (new_size < n)
|
||||
new_size += 80;
|
||||
|
||||
if (new_size != buffer_size)
|
||||
{
|
||||
new_buffer = alloc((unsigned)new_size);
|
||||
if (new_buffer == NULL)
|
||||
return;
|
||||
|
||||
if (buffer)
|
||||
{
|
||||
memcpy(new_buffer, buffer, buffer_len);
|
||||
vim_free(buffer);
|
||||
}
|
||||
|
||||
buffer = new_buffer;
|
||||
buffer_size = new_size;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
PythonIO_Flush(void)
|
||||
{
|
||||
if (old_fn && buffer_len)
|
||||
if (old_fn != NULL && io_ga.ga_len > 0)
|
||||
{
|
||||
buffer[buffer_len] = 0;
|
||||
old_fn(buffer);
|
||||
((char_u *)io_ga.ga_data)[io_ga.ga_len] = NUL;
|
||||
old_fn((char_u *)io_ga.ga_data);
|
||||
}
|
||||
|
||||
buffer_len = 0;
|
||||
io_ga.ga_len = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -175,30 +143,34 @@ writer(writefn fn, char_u *str, PyInt n)
|
||||
{
|
||||
char_u *ptr;
|
||||
|
||||
if (fn != old_fn && old_fn != NULL)
|
||||
/* Flush when switching output function. */
|
||||
if (fn != old_fn)
|
||||
PythonIO_Flush();
|
||||
|
||||
old_fn = fn;
|
||||
|
||||
/* Write each NL separated line. Text after the last NL is kept for
|
||||
* writing later. */
|
||||
while (n > 0 && (ptr = memchr(str, '\n', n)) != NULL)
|
||||
{
|
||||
PyInt len = ptr - str;
|
||||
|
||||
buffer_ensure(buffer_len + len + 1);
|
||||
if (ga_grow(&io_ga, len + 1) == FAIL)
|
||||
break;
|
||||
|
||||
memcpy(buffer + buffer_len, str, len);
|
||||
buffer_len += len;
|
||||
buffer[buffer_len] = 0;
|
||||
fn(buffer);
|
||||
mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)len);
|
||||
((char *)io_ga.ga_data)[io_ga.ga_len + len] = NUL;
|
||||
fn((char_u *)io_ga.ga_data);
|
||||
str = ptr + 1;
|
||||
n -= len + 1;
|
||||
buffer_len = 0;
|
||||
io_ga.ga_len = 0;
|
||||
}
|
||||
|
||||
/* Put the remaining text into the buffer for later printing */
|
||||
buffer_ensure(buffer_len + n + 1);
|
||||
memcpy(buffer + buffer_len, str, n);
|
||||
buffer_len += n;
|
||||
/* Put the remaining text into io_ga for later printing. */
|
||||
if (n > 0 && ga_grow(&io_ga, n + 1) == OK)
|
||||
{
|
||||
mch_memmove(((char *)io_ga.ga_data) + io_ga.ga_len, str, (size_t)n);
|
||||
io_ga.ga_len += n;
|
||||
}
|
||||
}
|
||||
|
||||
/***************/
|
||||
|
||||
+30
-6
@@ -4,6 +4,7 @@
|
||||
*
|
||||
* Ruby interface by Shugo Maeda
|
||||
* with improvements by SegPhault (Ryan Paul)
|
||||
* with improvements by Jon Maken
|
||||
*
|
||||
* Do ":help uganda" in Vim to read copying and usage conditions.
|
||||
* Do ":help credits" in Vim to see a list of people who contributed.
|
||||
@@ -26,12 +27,12 @@
|
||||
# define RUBYEXTERN extern
|
||||
#endif
|
||||
|
||||
#ifdef DYNAMIC_RUBY
|
||||
/*
|
||||
* This is tricky. In ruby.h there is (inline) function rb_class_of()
|
||||
* definition. This function use these variables. But we want function to
|
||||
* use dll_* variables.
|
||||
*/
|
||||
#ifdef DYNAMIC_RUBY
|
||||
# define rb_cFalseClass (*dll_rb_cFalseClass)
|
||||
# define rb_cFixnum (*dll_rb_cFixnum)
|
||||
# define rb_cNilClass (*dll_rb_cNilClass)
|
||||
@@ -46,8 +47,21 @@
|
||||
*/
|
||||
# define RUBY_EXPORT
|
||||
# endif
|
||||
|
||||
#if !(defined(WIN32) || defined(_WIN64))
|
||||
# include <dlfcn.h>
|
||||
# define HANDLE void*
|
||||
# define load_dll(n) dlopen((n), RTLD_LAZY|RTLD_GLOBAL)
|
||||
# define symbol_from_dll dlsym
|
||||
# define close_dll dlclose
|
||||
#else
|
||||
# define load_dll LoadLibrary
|
||||
# define symbol_from_dll GetProcAddress
|
||||
# define close_dll FreeLibrary
|
||||
#endif
|
||||
|
||||
#endif /* ifdef DYNAMIC_RUBY */
|
||||
|
||||
/* suggested by Ariya Mizutani */
|
||||
#if (_MSC_VER == 1200)
|
||||
# undef _WIN32_WINNT
|
||||
@@ -170,7 +184,6 @@ static void ruby_vim_init(void);
|
||||
#define rb_obj_as_string dll_rb_obj_as_string
|
||||
#define rb_obj_id dll_rb_obj_id
|
||||
#define rb_raise dll_rb_raise
|
||||
#define rb_str2cstr dll_rb_str2cstr
|
||||
#define rb_str_cat dll_rb_str_cat
|
||||
#define rb_str_concat dll_rb_str_concat
|
||||
#define rb_str_new dll_rb_str_new
|
||||
@@ -182,10 +195,13 @@ static void ruby_vim_init(void);
|
||||
# define rb_str_new2 dll_rb_str_new2
|
||||
#endif
|
||||
#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
# define rb_string_value dll_rb_string_value
|
||||
# define rb_string_value_ptr dll_rb_string_value_ptr
|
||||
# define rb_float_new dll_rb_float_new
|
||||
# define rb_ary_new dll_rb_ary_new
|
||||
# define rb_ary_push dll_rb_ary_push
|
||||
#else
|
||||
# define rb_str2cstr dll_rb_str2cstr
|
||||
#endif
|
||||
#ifdef RUBY19_OR_LATER
|
||||
# define rb_errinfo dll_rb_errinfo
|
||||
@@ -250,7 +266,11 @@ static VALUE (*dll_rb_obj_alloc) (VALUE);
|
||||
static VALUE (*dll_rb_obj_as_string) (VALUE);
|
||||
static VALUE (*dll_rb_obj_id) (VALUE);
|
||||
static void (*dll_rb_raise) (VALUE, const char*, ...);
|
||||
#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
static VALUE (*dll_rb_string_value) (volatile VALUE*);
|
||||
#else
|
||||
static char *(*dll_rb_str2cstr) (VALUE,int*);
|
||||
#endif
|
||||
static VALUE (*dll_rb_str_cat) (VALUE, const char*, long);
|
||||
static VALUE (*dll_rb_str_concat) (VALUE, VALUE);
|
||||
static VALUE (*dll_rb_str_new) (const char*, long);
|
||||
@@ -351,7 +371,11 @@ static struct
|
||||
{"rb_obj_as_string", (RUBY_PROC*)&dll_rb_obj_as_string},
|
||||
{"rb_obj_id", (RUBY_PROC*)&dll_rb_obj_id},
|
||||
{"rb_raise", (RUBY_PROC*)&dll_rb_raise},
|
||||
#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 18
|
||||
{"rb_string_value", (RUBY_PROC*)&dll_rb_string_value},
|
||||
#else
|
||||
{"rb_str2cstr", (RUBY_PROC*)&dll_rb_str2cstr},
|
||||
#endif
|
||||
{"rb_str_cat", (RUBY_PROC*)&dll_rb_str_cat},
|
||||
{"rb_str_concat", (RUBY_PROC*)&dll_rb_str_concat},
|
||||
{"rb_str_new", (RUBY_PROC*)&dll_rb_str_new},
|
||||
@@ -403,7 +427,7 @@ end_dynamic_ruby()
|
||||
{
|
||||
if (hinstRuby)
|
||||
{
|
||||
FreeLibrary(hinstRuby);
|
||||
close_dll(hinstRuby);
|
||||
hinstRuby = 0;
|
||||
}
|
||||
}
|
||||
@@ -420,7 +444,7 @@ ruby_runtime_link_init(char *libname, int verbose)
|
||||
|
||||
if (hinstRuby)
|
||||
return OK;
|
||||
hinstRuby = LoadLibrary(libname);
|
||||
hinstRuby = load_dll(libname);
|
||||
if (!hinstRuby)
|
||||
{
|
||||
if (verbose)
|
||||
@@ -430,10 +454,10 @@ ruby_runtime_link_init(char *libname, int verbose)
|
||||
|
||||
for (i = 0; ruby_funcname_table[i].ptr; ++i)
|
||||
{
|
||||
if (!(*ruby_funcname_table[i].ptr = GetProcAddress(hinstRuby,
|
||||
if (!(*ruby_funcname_table[i].ptr = symbol_from_dll(hinstRuby,
|
||||
ruby_funcname_table[i].name)))
|
||||
{
|
||||
FreeLibrary(hinstRuby);
|
||||
close_dll(hinstRuby);
|
||||
hinstRuby = 0;
|
||||
if (verbose)
|
||||
EMSG2(_(e_loadfunc), ruby_funcname_table[i].name);
|
||||
|
||||
@@ -261,6 +261,13 @@ enum key_extra
|
||||
, KE_NOP /* doesn't do something */
|
||||
, KE_FOCUSGAINED /* focus gained */
|
||||
, KE_FOCUSLOST /* focus lost */
|
||||
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
, KE_SWIPELEFT /* Swipe trackpad left */
|
||||
, KE_SWIPERIGHT /* Swipe trackpad right */
|
||||
, KE_SWIPEUP /* Swipe trackpad up */
|
||||
, KE_SWIPEDOWN /* Swipe trackpad down */
|
||||
#endif
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -459,6 +466,13 @@ enum key_extra
|
||||
|
||||
#define K_CURSORHOLD TERMCAP2KEY(KS_EXTRA, KE_CURSORHOLD)
|
||||
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
# define K_SWIPELEFT TERMCAP2KEY(KS_EXTRA, KE_SWIPELEFT)
|
||||
# define K_SWIPERIGHT TERMCAP2KEY(KS_EXTRA, KE_SWIPERIGHT)
|
||||
# define K_SWIPEUP TERMCAP2KEY(KS_EXTRA, KE_SWIPEUP)
|
||||
# define K_SWIPEDOWN TERMCAP2KEY(KS_EXTRA, KE_SWIPEDOWN)
|
||||
#endif
|
||||
|
||||
/* Bits for modifier mask */
|
||||
/* 0x01 cannot be used, because the modifier must be 0x02 or higher */
|
||||
#define MOD_MASK_SHIFT 0x02
|
||||
|
||||
@@ -285,3 +285,17 @@
|
||||
#else
|
||||
# define DO_AUTOCHDIR
|
||||
#endif
|
||||
|
||||
#if defined(FEAT_SCROLLBIND) && defined(FEAT_CURSORBIND)
|
||||
# define RESET_BINDING(wp) (wp)->w_p_scb = FALSE; (wp)->w_p_crb = FALSE
|
||||
#else
|
||||
# if defined(FEAT_SCROLLBIND)
|
||||
# define RESET_BINDING(wp) (wp)->w_p_scb = FALSE
|
||||
# else
|
||||
# if defined(FEAT_CURSORBIND)
|
||||
# define RESET_BINDING(wp) (wp)->w_p_crb = FALSE
|
||||
# else
|
||||
# define RESET_BINDING(wp)
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+1
-1
@@ -989,7 +989,7 @@ main
|
||||
if (netbeansArg != NULL && strncmp("-nb", netbeansArg, 3) == 0)
|
||||
{
|
||||
# ifdef FEAT_GUI
|
||||
# if !defined(FEAT_GUI_MOTIF) && !defined(FEAT_GUI_GTK) \
|
||||
# if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \
|
||||
&& !defined(FEAT_GUI_W32) && !defined(FEAT_GUI_MACVIM)
|
||||
if (gui.in_use)
|
||||
{
|
||||
|
||||
+8
-8
@@ -5239,16 +5239,16 @@ im_set_position(row, col)
|
||||
void
|
||||
xim_set_preedit()
|
||||
{
|
||||
if (xic == NULL)
|
||||
return;
|
||||
|
||||
xim_set_focus(TRUE);
|
||||
|
||||
XVaNestedList attr_list;
|
||||
XRectangle spot_area;
|
||||
XPoint over_spot;
|
||||
int line_space;
|
||||
|
||||
if (xic == NULL)
|
||||
return;
|
||||
|
||||
xim_set_focus(TRUE);
|
||||
|
||||
if (!xim_has_focus)
|
||||
{
|
||||
/* hide XIM cursor */
|
||||
@@ -5626,12 +5626,12 @@ im_get_status()
|
||||
void
|
||||
xim_set_status_area()
|
||||
{
|
||||
if (xic == NULL)
|
||||
return;
|
||||
|
||||
XVaNestedList preedit_list = 0, status_list = 0, list = 0;
|
||||
XRectangle pre_area, status_area;
|
||||
|
||||
if (xic == NULL)
|
||||
return;
|
||||
|
||||
if (input_style & XIMStatusArea)
|
||||
{
|
||||
if (input_style & XIMPreeditArea)
|
||||
|
||||
@@ -996,6 +996,10 @@ wait_return(redraw)
|
||||
|| c == K_RIGHTMOUSE
|
||||
|| c == K_X1MOUSE
|
||||
|| c == K_X2MOUSE))
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
|| c == K_SWIPELEFT || c == K_SWIPERIGHT
|
||||
|| c == K_SWIPEUP || c == K_SWIPEDOWN
|
||||
# endif
|
||||
#endif
|
||||
);
|
||||
ui_breakcheck();
|
||||
|
||||
+8
-1
@@ -3152,6 +3152,12 @@ get_keystroke()
|
||||
|| n == K_VER_SCROLLBAR
|
||||
|| n == K_HOR_SCROLLBAR
|
||||
# endif
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
|| K_SWIPELEFT
|
||||
|| K_SWIPERIGHT
|
||||
|| K_SWIPEUP
|
||||
|| K_SWIPEDOWN
|
||||
# endif
|
||||
#endif
|
||||
)
|
||||
{
|
||||
@@ -9317,7 +9323,8 @@ is_unique(maybe_unique, gap, i)
|
||||
continue; /* it's different when it's shorter */
|
||||
|
||||
rival = other_paths[j] + other_path_len - candidate_len;
|
||||
if (fnamecmp(maybe_unique, rival) == 0)
|
||||
if (fnamecmp(maybe_unique, rival) == 0
|
||||
&& (rival == other_paths[j] || vim_ispathsep(*(rival - 1))))
|
||||
return FALSE; /* match */
|
||||
}
|
||||
|
||||
|
||||
@@ -2389,6 +2389,12 @@ static struct key_name_entry
|
||||
{K_SNR, (char_u *)"SNR"},
|
||||
#endif
|
||||
{K_PLUG, (char_u *)"Plug"},
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
{K_SWIPELEFT, (char_u *)"SwipeLeft"},
|
||||
{K_SWIPERIGHT, (char_u *)"SwipeRight"},
|
||||
{K_SWIPEUP, (char_u *)"SwipeUp"},
|
||||
{K_SWIPEDOWN, (char_u *)"SwipeDown"},
|
||||
#endif
|
||||
{0, NULL}
|
||||
};
|
||||
|
||||
|
||||
+18
-8
@@ -87,7 +87,7 @@ static int getConnInfo __ARGS((char *file, char **host, char **port, char **pass
|
||||
static void nb_init_graphics __ARGS((void));
|
||||
static void coloncmd __ARGS((char *cmd, ...));
|
||||
static void nb_set_curbuf __ARGS((buf_T *buf));
|
||||
#ifdef FEAT_GUI_MOTIF
|
||||
#ifdef FEAT_GUI_X11
|
||||
static void messageFromNetbeans __ARGS((XtPointer, int *, XtInputId *));
|
||||
#endif
|
||||
#ifdef FEAT_GUI_GTK
|
||||
@@ -112,7 +112,7 @@ typedef int NBSOCK;
|
||||
static NBSOCK nbsock = -1; /* socket fd for Netbeans connection */
|
||||
#define NETBEANS_OPEN (nbsock != -1)
|
||||
|
||||
#ifdef FEAT_GUI_MOTIF
|
||||
#ifdef FEAT_GUI_X11
|
||||
static XtInputId inputHandler = (XtInputId)NULL; /* Cookie for input */
|
||||
#endif
|
||||
#ifdef FEAT_GUI_GTK
|
||||
@@ -147,7 +147,7 @@ netbeans_close(void)
|
||||
|
||||
netbeans_send_disconnect();
|
||||
|
||||
#ifdef FEAT_GUI_MOTIF
|
||||
#ifdef FEAT_GUI_X11
|
||||
if (inputHandler != (XtInputId)NULL)
|
||||
{
|
||||
XtRemoveInput(inputHandler);
|
||||
@@ -722,7 +722,7 @@ netbeans_parse_messages(void)
|
||||
/*
|
||||
* Read a command from netbeans.
|
||||
*/
|
||||
#ifdef FEAT_GUI_MOTIF
|
||||
#ifdef FEAT_GUI_X11
|
||||
static void
|
||||
messageFromNetbeans(XtPointer clientData UNUSED,
|
||||
int *unused1 UNUSED,
|
||||
@@ -2801,6 +2801,16 @@ ex_nbkey(eap)
|
||||
ex_nbstart(eap)
|
||||
exarg_T *eap;
|
||||
{
|
||||
#ifdef FEAT_GUI
|
||||
# if !defined(FEAT_GUI_X11) && !defined(FEAT_GUI_GTK) \
|
||||
&& !defined(FEAT_GUI_W32) && !defined(FEAT_GUI_MACVIM)
|
||||
if (gui.in_use)
|
||||
{
|
||||
EMSG(_("E838: netbeans is not supported with this GUI"));
|
||||
return;
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
netbeans_open((char *)eap->arg, FALSE);
|
||||
}
|
||||
|
||||
@@ -2965,7 +2975,7 @@ netbeans_gui_register(void)
|
||||
if (!NB_HAS_GUI || !NETBEANS_OPEN)
|
||||
return;
|
||||
|
||||
# ifdef FEAT_GUI_MOTIF
|
||||
# ifdef FEAT_GUI_X11
|
||||
/* tell notifier we are interested in being called
|
||||
* when there is input on the editor connection socket
|
||||
*/
|
||||
@@ -3061,7 +3071,7 @@ netbeans_send_disconnect()
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(FEAT_GUI_MOTIF) || defined(FEAT_GUI_W32) || defined(PROTO)
|
||||
#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_W32) || defined(PROTO)
|
||||
/*
|
||||
* Tell netbeans that the window was moved or resized.
|
||||
*/
|
||||
@@ -3492,7 +3502,7 @@ netbeans_is_guarded(linenr_T top, linenr_T bot)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
#if defined(FEAT_GUI_MOTIF) || defined(PROTO)
|
||||
#if defined(FEAT_GUI_X11) || defined(PROTO)
|
||||
/*
|
||||
* We have multiple signs to draw at the same location. Draw the
|
||||
* multi-sign indicator instead. This is the Motif version.
|
||||
@@ -3521,7 +3531,7 @@ netbeans_draw_multisign_indicator(int row)
|
||||
XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+3, y++);
|
||||
XDrawPoint(gui.dpy, gui.wid, gui.text_gc, x+2, y);
|
||||
}
|
||||
#endif /* FEAT_GUI_MOTIF */
|
||||
#endif /* FEAT_GUI_X11 */
|
||||
|
||||
#if defined(FEAT_GUI_GTK) && !defined(PROTO)
|
||||
/*
|
||||
|
||||
@@ -3868,6 +3868,9 @@ add_to_showcmd(c)
|
||||
K_MOUSEDOWN, K_MOUSEUP, K_MOUSELEFT, K_MOUSERIGHT,
|
||||
K_X1MOUSE, K_X1DRAG, K_X1RELEASE, K_X2MOUSE, K_X2DRAG, K_X2RELEASE,
|
||||
K_CURSORHOLD,
|
||||
# ifdef FEAT_GUI_MACVIM
|
||||
K_SWIPELEFT, K_SWIPERIGHT, K_SWIPEUP, K_SWIPEDOWN,
|
||||
# endif
|
||||
0
|
||||
};
|
||||
#endif
|
||||
|
||||
+43
-17
@@ -1123,6 +1123,30 @@ sigcont_handler SIGDEFARG(sigarg)
|
||||
}
|
||||
#endif
|
||||
|
||||
# if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
static void loose_clipboard __ARGS((void));
|
||||
|
||||
/*
|
||||
* Called when Vim is going to sleep or execute a shell command.
|
||||
* We can't respond to requests for the X selections. Lose them, otherwise
|
||||
* other applications will hang. But first copy the text to cut buffer 0.
|
||||
*/
|
||||
static void
|
||||
loose_clipboard()
|
||||
{
|
||||
if (clip_star.owned || clip_plus.owned)
|
||||
{
|
||||
x11_export_final_selection();
|
||||
if (clip_star.owned)
|
||||
clip_lose_selection(&clip_star);
|
||||
if (clip_plus.owned)
|
||||
clip_lose_selection(&clip_plus);
|
||||
if (x11_display != NULL)
|
||||
XFlush(x11_display);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* If the machine has job control, use it to suspend the program,
|
||||
* otherwise fake it by starting a new shell.
|
||||
@@ -1137,19 +1161,7 @@ mch_suspend()
|
||||
out_flush(); /* needed to disable mouse on some systems */
|
||||
|
||||
# if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
/* Since we are going to sleep, we can't respond to requests for the X
|
||||
* selections. Lose them, otherwise other applications will hang. But
|
||||
* first copy the text to cut buffer 0. */
|
||||
if (clip_star.owned || clip_plus.owned)
|
||||
{
|
||||
x11_export_final_selection();
|
||||
if (clip_star.owned)
|
||||
clip_lose_selection(&clip_star);
|
||||
if (clip_plus.owned)
|
||||
clip_lose_selection(&clip_plus);
|
||||
if (x11_display != NULL)
|
||||
XFlush(x11_display);
|
||||
}
|
||||
loose_clipboard();
|
||||
# endif
|
||||
|
||||
# if defined(_REENTRANT) && defined(SIGCONT)
|
||||
@@ -3712,6 +3724,10 @@ mch_call_shell(cmd, options)
|
||||
if (options & SHELL_COOKED)
|
||||
settmode(TMODE_COOK); /* set to normal mode */
|
||||
|
||||
# if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
loose_clipboard();
|
||||
# endif
|
||||
|
||||
# ifdef __EMX__
|
||||
if (cmd == NULL)
|
||||
x = system(""); /* this starts an interactive shell in emx */
|
||||
@@ -3820,13 +3836,17 @@ mch_call_shell(cmd, options)
|
||||
# endif
|
||||
int did_settmode = FALSE; /* settmode(TMODE_RAW) called */
|
||||
|
||||
newcmd = vim_strsave(p_sh);
|
||||
if (newcmd == NULL) /* out of memory */
|
||||
goto error;
|
||||
|
||||
out_flush();
|
||||
if (options & SHELL_COOKED)
|
||||
settmode(TMODE_COOK); /* set to normal mode */
|
||||
|
||||
newcmd = vim_strsave(p_sh);
|
||||
if (newcmd == NULL) /* out of memory */
|
||||
goto error;
|
||||
# if defined(FEAT_CLIPBOARD) && defined(FEAT_X11)
|
||||
loose_clipboard();
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Do this loop twice:
|
||||
@@ -4154,7 +4174,9 @@ mch_call_shell(cmd, options)
|
||||
# ifdef FEAT_GUI
|
||||
if (pty_master_fd >= 0)
|
||||
{
|
||||
close(pty_slave_fd); /* close slave side of pty */
|
||||
# ifndef FEAT_GUI_MACVIM
|
||||
close(pty_slave_fd); /* close slave side of pty */
|
||||
# endif
|
||||
fromshell_fd = pty_master_fd;
|
||||
toshell_fd = dup(pty_master_fd);
|
||||
}
|
||||
@@ -4627,6 +4649,10 @@ finished:
|
||||
break;
|
||||
}
|
||||
|
||||
#ifdef FEAT_GUI_MACVIM
|
||||
if (pty_slave_fd >= 0)
|
||||
close(pty_slave_fd); /* close slave side of pty */
|
||||
#endif
|
||||
/* Make sure the child that writes to the external program is
|
||||
* dead. */
|
||||
if (wpid > 0)
|
||||
|
||||
@@ -1615,6 +1615,35 @@ executable_exists(char *name)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
#if ((defined(__MINGW32__) || defined (__CYGWIN32__)) && \
|
||||
__MSVCRT_VERSION__ >= 0x800) || (defined(_MSC_VER) && _MSC_VER >= 1400)
|
||||
/*
|
||||
* Bad parameter handler.
|
||||
*
|
||||
* Certain MS CRT functions will intentionally crash when passed invalid
|
||||
* parameters to highlight possible security holes. Setting this function as
|
||||
* the bad parameter handler will prevent the crash.
|
||||
*
|
||||
* In debug builds the parameters contain CRT information that might help track
|
||||
* down the source of a problem, but in non-debug builds the arguments are all
|
||||
* NULL/0. Debug builds will also produce assert dialogs from the CRT, it is
|
||||
* worth allowing these to make debugging of issues easier.
|
||||
*/
|
||||
static void
|
||||
bad_param_handler(const wchar_t *expression,
|
||||
const wchar_t *function,
|
||||
const wchar_t *file,
|
||||
unsigned int line,
|
||||
uintptr_t pReserved)
|
||||
{
|
||||
}
|
||||
|
||||
# define SET_INVALID_PARAM_HANDLER \
|
||||
((void)_set_invalid_parameter_handler(bad_param_handler))
|
||||
#else
|
||||
# define SET_INVALID_PARAM_HANDLER
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_GUI_W32
|
||||
|
||||
/*
|
||||
@@ -1627,6 +1656,9 @@ mch_init(void)
|
||||
extern int _fmode;
|
||||
#endif
|
||||
|
||||
/* Silently handle invalid parameters to CRT functions */
|
||||
SET_INVALID_PARAM_HANDLER;
|
||||
|
||||
/* Let critical errors result in a failure, not in a dialog box. Required
|
||||
* for the timestamp test to work on removed floppies. */
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS);
|
||||
@@ -2103,6 +2135,9 @@ mch_init(void)
|
||||
extern int _fmode;
|
||||
#endif
|
||||
|
||||
/* Silently handle invalid parameters to CRT functions */
|
||||
SET_INVALID_PARAM_HANDLER;
|
||||
|
||||
/* Let critical errors result in a failure, not in a dialog box. Required
|
||||
* for the timestamp test to work on removed floppies. */
|
||||
SetErrorMode(SEM_FAILCRITICALERRORS);
|
||||
|
||||
+3
-6
@@ -1656,9 +1656,7 @@ win_found:
|
||||
opened_window = TRUE; /* close it when fail */
|
||||
p_swb = empty_option; /* don't split again */
|
||||
swb_flags = 0;
|
||||
# ifdef FEAT_SCROLLBIND
|
||||
curwin->w_p_scb = FALSE;
|
||||
# endif
|
||||
RESET_BINDING(curwin);
|
||||
if (ll_ref != NULL)
|
||||
{
|
||||
/* The new window should use the location list from the
|
||||
@@ -2125,6 +2123,7 @@ qf_free(qi, idx)
|
||||
--qi->qf_lists[idx].qf_count;
|
||||
}
|
||||
vim_free(qi->qf_lists[idx].qf_title);
|
||||
qi->qf_lists[idx].qf_title = NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -2333,9 +2332,7 @@ ex_copen(eap)
|
||||
win_goto(lastwin);
|
||||
if (win_split(height, WSP_BELOW | WSP_NEWLOC) == FAIL)
|
||||
return; /* not enough room for window */
|
||||
#ifdef FEAT_SCROLLBIND
|
||||
curwin->w_p_scb = FALSE;
|
||||
#endif
|
||||
RESET_BINDING(curwin);
|
||||
|
||||
if (eap->cmdidx == CMD_lopen || eap->cmdidx == CMD_lwindow)
|
||||
{
|
||||
|
||||
@@ -3538,6 +3538,7 @@ vim_regexec_both(line, col, tm)
|
||||
|
||||
regline = line;
|
||||
reglnum = 0;
|
||||
reg_toolong = FALSE;
|
||||
|
||||
/* Simplest case: Anchored match need be tried only once. */
|
||||
if (prog->reganch)
|
||||
|
||||
+1
-3
@@ -5084,9 +5084,7 @@ search_line:
|
||||
if (win_split(0, 0) == FAIL)
|
||||
#endif
|
||||
break;
|
||||
#ifdef FEAT_SCROLLBIND
|
||||
curwin->w_p_scb = FALSE;
|
||||
#endif
|
||||
RESET_BINDING(curwin);
|
||||
}
|
||||
if (depth == -1)
|
||||
{
|
||||
|
||||
+7
-5
@@ -4679,7 +4679,7 @@ spell_free_all()
|
||||
buf_T *buf;
|
||||
char_u fname[MAXPATHL];
|
||||
|
||||
/* Go through all buffers and handle 'spelllang'. */ //<VN>
|
||||
/* Go through all buffers and handle 'spelllang'. <VN> */
|
||||
for (buf = firstbuf; buf != NULL; buf = buf->b_next)
|
||||
ga_clear(&buf->b_s.b_langp);
|
||||
|
||||
@@ -4951,7 +4951,7 @@ typedef struct spellinfo_S
|
||||
char_u *si_info; /* info text chars or NULL */
|
||||
int si_region_count; /* number of regions supported (1 when there
|
||||
are no regions) */
|
||||
char_u si_region_name[16]; /* region names; used only if
|
||||
char_u si_region_name[17]; /* region names; used only if
|
||||
* si_region_count > 1) */
|
||||
|
||||
garray_T si_rep; /* list of fromto_T entries from REP lines */
|
||||
@@ -9530,7 +9530,8 @@ init_spellfile()
|
||||
if (aspath)
|
||||
/* Use directory of an entry with path, e.g., for
|
||||
* "/dir/lg.utf-8.spl" use "/dir". */
|
||||
vim_strncpy(buf, curbuf->b_s.b_p_spl, lstart - curbuf->b_s.b_p_spl - 1);
|
||||
vim_strncpy(buf, curbuf->b_s.b_p_spl,
|
||||
lstart - curbuf->b_s.b_p_spl - 1);
|
||||
else
|
||||
/* Copy the path from 'runtimepath' to buf[]. */
|
||||
copy_option_part(&rtp, buf, MAXPATHL, ",");
|
||||
@@ -9539,13 +9540,14 @@ init_spellfile()
|
||||
/* Use the first language name from 'spelllang' and the
|
||||
* encoding used in the first loaded .spl file. */
|
||||
if (aspath)
|
||||
vim_strncpy(buf, curbuf->b_s.b_p_spl, lend - curbuf->b_s.b_p_spl);
|
||||
vim_strncpy(buf, curbuf->b_s.b_p_spl,
|
||||
lend - curbuf->b_s.b_p_spl);
|
||||
else
|
||||
{
|
||||
/* Create the "spell" directory if it doesn't exist yet. */
|
||||
l = (int)STRLEN(buf);
|
||||
vim_snprintf((char *)buf + l, MAXPATHL - l, "/spell");
|
||||
if (!filewritable(buf) != 2)
|
||||
if (filewritable(buf) != 2)
|
||||
vim_mkdir(buf, 0755);
|
||||
|
||||
l = (int)STRLEN(buf);
|
||||
|
||||
+2
-2
@@ -7601,10 +7601,10 @@ do_highlight(line, forceit, init)
|
||||
/*
|
||||
* Copy characters from arg[] to buf[], translating <> codes.
|
||||
*/
|
||||
for (p = arg, off = 0; off < 100 && *p; )
|
||||
for (p = arg, off = 0; off < 100 - 6 && *p; )
|
||||
{
|
||||
len = trans_special(&p, buf + off, FALSE);
|
||||
if (len) /* recognized special char */
|
||||
if (len > 0) /* recognized special char */
|
||||
off += len;
|
||||
else /* copy as normal char */
|
||||
buf[off++] = *p++;
|
||||
|
||||
@@ -3143,9 +3143,7 @@ jumpto_tag(lbuf, forceit, keep_help)
|
||||
{
|
||||
win_split(postponed_split > 0 ? postponed_split : 0,
|
||||
postponed_split_flags);
|
||||
# ifdef FEAT_SCROLLBIND
|
||||
curwin->w_p_scb = FALSE;
|
||||
# endif
|
||||
RESET_BINDING(curwin);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ report:
|
||||
$(SCRIPTS) $(SCRIPTS_GUI): $(VIMPROG)
|
||||
|
||||
clean:
|
||||
-rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.pid* viminfo
|
||||
-rm -rf *.out *.failed *.rej *.orig test.log tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* valgrind.* viminfo
|
||||
|
||||
test1.out: test1.in
|
||||
-rm -f $*.failed tiny.vim small.vim mbyte.vim mzscheme.vim test.ok X* viminfo
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim script language tests
|
||||
" Author: Servatius Brandt <Servatius.Brandt@fujitsu-siemens.com>
|
||||
" Last Change: 2006 Apr 28
|
||||
" Last Change: 2010 Sep 29
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test environment {{{1
|
||||
@@ -8711,7 +8711,7 @@ try
|
||||
endif
|
||||
else
|
||||
if cmd == "let"
|
||||
let match = MATCH(0, thrmsg, 'E106', "Unknown variable")
|
||||
let match = MATCH(0, thrmsg, 'E121', "Undefined variable")
|
||||
elseif cmd == "unlet"
|
||||
let match = MATCH(0, thrmsg, 'E108', "No such variable")
|
||||
endif
|
||||
|
||||
@@ -3,6 +3,10 @@ Since this script is sourced we need to explicitly break changes up in
|
||||
undo-able pieces. Do that by setting 'undolevels'.
|
||||
Also tests :earlier and :later.
|
||||
|
||||
STARTTEST
|
||||
:echo undotree().entries
|
||||
ENDTEST
|
||||
|
||||
STARTTEST
|
||||
:" Delete three characters and undo
|
||||
Gx:set ul=100
|
||||
|
||||
@@ -485,7 +485,7 @@ clip_own_selection(cbd)
|
||||
*/
|
||||
#ifdef FEAT_X11
|
||||
/* Always own the selection, we might have lost it without being
|
||||
* notified. */
|
||||
* notified, e.g. during a ":sh" command. */
|
||||
if (cbd->available)
|
||||
{
|
||||
int was_owned = cbd->owned;
|
||||
@@ -1964,10 +1964,9 @@ x11_setup_atoms(dpy)
|
||||
*/
|
||||
|
||||
static Boolean clip_x11_convert_selection_cb __ARGS((Widget, Atom *, Atom *, Atom *, XtPointer *, long_u *, int *));
|
||||
|
||||
static void clip_x11_lose_ownership_cb __ARGS((Widget, Atom *));
|
||||
|
||||
static void clip_x11_timestamp_cb __ARGS((Widget w, XtPointer n, XEvent *event, Boolean *cont));
|
||||
static void clip_x11_request_selection_cb __ARGS((Widget, XtPointer, Atom *, Atom *, XtPointer, long_u *, int *));
|
||||
|
||||
/*
|
||||
* Property callback to get a timestamp for XtOwnSelection.
|
||||
@@ -2005,8 +2004,17 @@ clip_x11_timestamp_cb(w, n, event, cont)
|
||||
return;
|
||||
|
||||
/* Get the selection, using the event timestamp. */
|
||||
XtOwnSelection(w, xproperty->atom, xproperty->time,
|
||||
clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb, NULL);
|
||||
if (XtOwnSelection(w, xproperty->atom, xproperty->time,
|
||||
clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb,
|
||||
NULL) == OK)
|
||||
{
|
||||
/* Set the "owned" flag now, there may have been a call to
|
||||
* lose_ownership_cb in between. */
|
||||
if (xproperty->atom == clip_plus.sel_atom)
|
||||
clip_plus.owned = TRUE;
|
||||
else
|
||||
clip_star.owned = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
@@ -2017,8 +2025,6 @@ x11_setup_selection(w)
|
||||
/*(XtEventHandler)*/clip_x11_timestamp_cb, (XtPointer)NULL);
|
||||
}
|
||||
|
||||
static void clip_x11_request_selection_cb __ARGS((Widget, XtPointer, Atom *, Atom *, XtPointer, long_u *, int *));
|
||||
|
||||
static void
|
||||
clip_x11_request_selection_cb(w, success, sel_atom, type, value, length,
|
||||
format)
|
||||
@@ -2356,7 +2362,7 @@ clip_x11_lose_ownership_cb(w, sel_atom)
|
||||
|
||||
void
|
||||
clip_x11_lose_selection(myShell, cbd)
|
||||
Widget myShell;
|
||||
Widget myShell;
|
||||
VimClipboard *cbd;
|
||||
{
|
||||
XtDisownSelection(myShell, cbd->sel_atom, CurrentTime);
|
||||
@@ -2364,14 +2370,29 @@ clip_x11_lose_selection(myShell, cbd)
|
||||
|
||||
int
|
||||
clip_x11_own_selection(myShell, cbd)
|
||||
Widget myShell;
|
||||
Widget myShell;
|
||||
VimClipboard *cbd;
|
||||
{
|
||||
/* Get the time by a zero-length append, clip_x11_timestamp_cb will be
|
||||
* called with the current timestamp. */
|
||||
if (!XChangeProperty(XtDisplay(myShell), XtWindow(myShell), cbd->sel_atom,
|
||||
timestamp_atom, 32, PropModeAppend, NULL, 0))
|
||||
/* When using the GUI we have proper timestamps, use the one of the last
|
||||
* event. When in the console we don't get events (the terminal gets
|
||||
* them), Get the time by a zero-length append, clip_x11_timestamp_cb will
|
||||
* be called with the current timestamp. */
|
||||
#ifdef FEAT_GUI
|
||||
if (gui.in_use)
|
||||
{
|
||||
if (XtOwnSelection(myShell, cbd->sel_atom,
|
||||
XtLastTimestampProcessed(XtDisplay(myShell)),
|
||||
clip_x11_convert_selection_cb, clip_x11_lose_ownership_cb,
|
||||
NULL) == False)
|
||||
return FAIL;
|
||||
}
|
||||
else
|
||||
#endif
|
||||
{
|
||||
if (!XChangeProperty(XtDisplay(myShell), XtWindow(myShell),
|
||||
cbd->sel_atom, timestamp_atom, 32, PropModeAppend, NULL, 0))
|
||||
return FAIL;
|
||||
}
|
||||
/* Flush is required in a terminal as nothing else is doing it. */
|
||||
XFlush(XtDisplay(myShell));
|
||||
return OK;
|
||||
|
||||
@@ -729,6 +729,44 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
19,
|
||||
/**/
|
||||
18,
|
||||
/**/
|
||||
17,
|
||||
/**/
|
||||
16,
|
||||
/**/
|
||||
15,
|
||||
/**/
|
||||
14,
|
||||
/**/
|
||||
13,
|
||||
/**/
|
||||
12,
|
||||
/**/
|
||||
11,
|
||||
/**/
|
||||
10,
|
||||
/**/
|
||||
9,
|
||||
/**/
|
||||
8,
|
||||
/**/
|
||||
7,
|
||||
/**/
|
||||
6,
|
||||
/**/
|
||||
5,
|
||||
/**/
|
||||
4,
|
||||
/**/
|
||||
3,
|
||||
/**/
|
||||
2,
|
||||
/**/
|
||||
1,
|
||||
/**/
|
||||
0
|
||||
};
|
||||
|
||||
+4
-10
@@ -525,9 +525,7 @@ wingotofile:
|
||||
setpcmark();
|
||||
if (win_split(0, 0) == OK)
|
||||
{
|
||||
# ifdef FEAT_SCROLLBIND
|
||||
curwin->w_p_scb = FALSE;
|
||||
# endif
|
||||
RESET_BINDING(curwin);
|
||||
(void)do_ecmd(0, ptr, NULL, NULL, ECMD_LASTL,
|
||||
ECMD_HIDE, NULL);
|
||||
if (nchar == 'F' && lnum >= 0)
|
||||
@@ -3282,9 +3280,7 @@ win_alloc_aucmd_win()
|
||||
if (aucmd_win != NULL)
|
||||
{
|
||||
win_init_some(aucmd_win, curwin);
|
||||
# ifdef FEAT_SCROLLBIND
|
||||
aucmd_win->w_p_scb = FALSE;
|
||||
# endif
|
||||
RESET_BINDING(aucmd_win);
|
||||
new_frame(aucmd_win);
|
||||
}
|
||||
}
|
||||
@@ -3325,10 +3321,8 @@ win_alloc_firstwin(oldwin)
|
||||
/* First window in new tab page, initialize it from "oldwin". */
|
||||
win_init(curwin, oldwin, 0);
|
||||
|
||||
# ifdef FEAT_SCROLLBIND
|
||||
/* We don't want scroll-binding in the first window. */
|
||||
curwin->w_p_scb = FALSE;
|
||||
# endif
|
||||
/* We don't want cursor- and scroll-binding in the first window. */
|
||||
RESET_BINDING(curwin);
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
+2
-2
@@ -55,8 +55,8 @@ Here are guidelines for removing Vim by hand:
|
||||
skip the next step.
|
||||
|
||||
5. Delete the distributed files. If you followed the directions, these will
|
||||
be located in a directory like "C:\vim\vim72". If the $VIM environment
|
||||
variable is set, the directory will be $VIM\vim72. Delete the "vim72"
|
||||
be located in a directory like "C:\vim\vim73". If the $VIM environment
|
||||
variable is set, the directory will be $VIM\vim73. Delete the "vim73"
|
||||
directory and all that is in it. Warning: If you changed any of the
|
||||
distributed files, or added some of your own files, you might want to save
|
||||
these first. But normally you would not have changed or added files here.
|
||||
|
||||
Reference in New Issue
Block a user