mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-05-28 00:21:57 +02:00
Compare commits
152 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 92dabee8ac | |||
| 45fa1f955f | |||
| 421df8e160 | |||
| 584eb4b164 | |||
| f1d0ecd1c8 | |||
| 35be4534c0 | |||
| b65c749ac5 | |||
| 6b90351786 | |||
| 49222bee65 | |||
| 941aea2b97 | |||
| 91376b6387 | |||
| e387a4c606 | |||
| cbd8ff0cb4 | |||
| 11bd9b9b1d | |||
| fb26de78b0 | |||
| f583b11995 | |||
| af97d4b7c0 | |||
| 1c57fe8b94 | |||
| 5cac77ae5b | |||
| 7d8d1fa42e | |||
| d4ca26fa29 | |||
| 2c5e8e80ea | |||
| 3f12a2421b | |||
| 9dc2ce398b | |||
| 9bc9c41631 | |||
| be053d2079 | |||
| dcafb48694 | |||
| e73d89fed8 | |||
| d8ddc5d860 | |||
| 90f5d0a5c3 | |||
| 0379d01c52 | |||
| e1a61991d9 | |||
| bc96c29ffc | |||
| f882d9f89d | |||
| 3b8fcd945c | |||
| 9b6331eccf | |||
| f609dcf8c1 | |||
| c2a7d0f495 | |||
| de0ad40cb3 | |||
| 6cd1345307 | |||
| b00da1d6d1 | |||
| 4649ded287 | |||
| 32a214e78d | |||
| 20ad69ccfb | |||
| f3b74dd116 | |||
| 5311c02f25 | |||
| bbfbaf9741 | |||
| 683fa185a4 | |||
| 43345546ae | |||
| 48a969b488 | |||
| 60422e68a3 | |||
| d042dc825c | |||
| 0f6562e903 | |||
| 2a1b474fd8 | |||
| 9a7d58e42e | |||
| 88e484bf1b | |||
| 5ad075c073 | |||
| 58bee8934a | |||
| 9c9ec4df08 | |||
| 38ab2dea50 | |||
| 3377163679 | |||
| 93e95cbbbe | |||
| 294a7e55b0 | |||
| 6040256d8b | |||
| e6715e43c1 | |||
| b04e8e1d96 | |||
| 7487792ab1 | |||
| e4eda3bc71 | |||
| 8f08dab18d | |||
| cfcd1ddd10 | |||
| 9fdf3dc2fb | |||
| fc3c4baf31 | |||
| a1e5b6e15d | |||
| b95b7d1b83 | |||
| 715845ed2c | |||
| 19ec2e553f | |||
| f23f4dcf35 | |||
| e392eb41f8 | |||
| 97b0b0ec76 | |||
| d29c6fea94 | |||
| 5d8afebb5b | |||
| 95c8179cf7 | |||
| b11ed30717 | |||
| 9b1067e038 | |||
| f0ba511546 | |||
| 4f8fa1633c | |||
| a5ed662aac | |||
| c7ba61e46c | |||
| a0ed84a268 | |||
| 02138dcb3a | |||
| 9063021f55 | |||
| 32d03b34ac | |||
| 6a2697ffd7 | |||
| e9d67fab3d | |||
| 676c58b814 | |||
| e44d8aa8df | |||
| bc134eda48 | |||
| e440de59ce | |||
| 8bd158609c | |||
| 3be9d63f36 | |||
| 22761e24ac | |||
| 1172ff20a3 | |||
| bc26247936 | |||
| 428d116c2f | |||
| 67fbd20c27 | |||
| 633f4f321d | |||
| 2f4d38b7cb | |||
| 0a0c7a7795 | |||
| f538ee38f3 | |||
| 0563b55334 | |||
| c6cf65bf8e | |||
| 86347d10e3 | |||
| 9d566fc817 | |||
| 72a9e3241a | |||
| 6183831763 | |||
| 837dff42ce | |||
| a2937e2731 | |||
| a2c32aa3af | |||
| 2696990550 | |||
| 2a3e654b19 | |||
| 76622a712a | |||
| ef3ec974bf | |||
| b4ff518d95 | |||
| 1c2836e268 | |||
| cd1c55f706 | |||
| a93f975e8b | |||
| d4ece23e2e | |||
| 0796c0625f | |||
| 1be2ed6c11 | |||
| 8648357841 | |||
| 174674743d | |||
| 98b30a473a | |||
| 72f4cc4a98 | |||
| e01f4f86ce | |||
| 450ca4335e | |||
| e7427f4b7e | |||
| 34feb77c6b | |||
| 58558bdbd2 | |||
| 201c6b74e4 | |||
| d086e4bcf6 | |||
| 91152d1fca | |||
| e0c895dadf | |||
| b28d8e8106 | |||
| 75aa777464 | |||
| 7d882ca4cf | |||
| be0e27b5c8 | |||
| 5f465202e8 | |||
| dfda18a956 | |||
| 77bf482db4 | |||
| 44244c1e5e | |||
| 81a64f5848 | |||
| d760cc0dd8 |
@@ -15,6 +15,7 @@ env:
|
||||
vi_cv_path_python3=/usr/local/bin/python3
|
||||
vi_cv_path_plain_lua=/usr/local/bin/lua
|
||||
vi_cv_dll_name_perl=/System/Library/Perl/5.16/darwin-thread-multi-2level/CORE/libperl.dylib
|
||||
vi_cv_dll_name_python=/System/Library/Frameworks/Python.framework/Versions/2.7/Python
|
||||
vi_cv_dll_name_python3=/usr/local/Frameworks/Python.framework/Versions/3.5/Python
|
||||
"CONFOPT='--with-features=huge --enable-multibyte --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-perlinterp=dynamic --enable-pythoninterp=dynamic --enable-python3interp=dynamic --enable-rubyinterp=dynamic --enable-luainterp=dynamic --with-lua-prefix=/usr/local --enable-gui=macvim'"
|
||||
|
||||
@@ -29,6 +30,7 @@ script:
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
- ./configure $CONFOPT --enable-fail-if-missing
|
||||
- grep -q -- "-DDYNAMIC_PERL_DLL=\\\\\"$vi_cv_dll_name_perl\\\\\"" src/auto/config.mk
|
||||
- grep -q -- "-DDYNAMIC_PYTHON_DLL=\\\\\"$vi_cv_dll_name_python\\\\\"" src/auto/config.mk
|
||||
- grep -q -- "-DDYNAMIC_PYTHON3_DLL=\\\\\"$vi_cv_dll_name_python3\\\\\"" src/auto/config.mk
|
||||
- make -j$NPROC
|
||||
- cat src/auto/config.mk
|
||||
|
||||
@@ -87,6 +87,7 @@ SRC_ALL = \
|
||||
src/testdir/README.txt \
|
||||
src/testdir/*.in \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
src/testdir/runtest.vim \
|
||||
src/testdir/test[0-9]*.ok \
|
||||
src/testdir/test[0-9]*a.ok \
|
||||
src/testdir/test_[a-z]*.ok \
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
version: "{build}"
|
||||
|
||||
skip_tags: true
|
||||
|
||||
before_build:
|
||||
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*diff.txt* For Vim version 7.4. Last change: 2015 Jul 03
|
||||
*diff.txt* For Vim version 7.4. Last change: 2015 Nov 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -182,8 +182,8 @@ hidden buffers. You can use ":hide" to close a window without unloading the
|
||||
buffer. If you don't want a buffer to remain used for the diff do ":set
|
||||
nodiff" before hiding it.
|
||||
|
||||
*:diffu* *:diffupdate*
|
||||
:diffu[pdate][!] Update the diff highlighting and folds.
|
||||
*:dif* *:diffupdate*
|
||||
:dif[fupdate][!] Update the diff highlighting and folds.
|
||||
|
||||
Vim attempts to keep the differences updated when you make changes to the
|
||||
text. This mostly takes care of inserted and deleted lines. Changes within a
|
||||
|
||||
+49
-2
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.4. Last change: 2015 Sep 19
|
||||
*eval.txt* For Vim version 7.4. Last change: 2015 Dec 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1379,6 +1379,15 @@ v:errmsg Last given error message. It's allowed to set this variable.
|
||||
: ... handle error
|
||||
< "errmsg" also works, for backwards compatibility.
|
||||
|
||||
*v:errors* *errors-variable*
|
||||
v:errors Errors found by assert functions, such as |assert_true()|.
|
||||
This is a list of strings.
|
||||
The assert functions append an item when an assert fails.
|
||||
To remove old results make it empty: >
|
||||
:let v:errors = []
|
||||
< If v:errors is set to anything but a list it is made an empty
|
||||
list by the assert function.
|
||||
|
||||
*v:exception* *exception-variable*
|
||||
v:exception The value of the exception most recently caught and not
|
||||
finished. See also |v:throwpoint| and |throw-variables|.
|
||||
@@ -1733,10 +1742,13 @@ append( {lnum}, {string}) Number append {string} below line {lnum}
|
||||
append( {lnum}, {list}) Number append lines {list} below line {lnum}
|
||||
argc() Number number of files in the argument list
|
||||
argidx() Number current index in the argument list
|
||||
arglistid( [{winnr}, [ {tabnr}]])
|
||||
arglistid( [{winnr} [, {tabnr}]])
|
||||
Number argument list id
|
||||
argv( {nr}) String {nr} entry of the argument list
|
||||
argv( ) List the argument list
|
||||
assert_equal( {exp}, {act} [, {msg}]) none assert that {exp} equals {act}
|
||||
assert_false( {actual} [, {msg}]) none assert that {actual} is false
|
||||
assert_true( {actual} [, {msg}]) none assert that {actual} is true
|
||||
asin( {expr}) Float arc sine of {expr}
|
||||
atan( {expr}) Float arc tangent of {expr}
|
||||
atan2( {expr}, {expr}) Float arc tangent of {expr1} / {expr2}
|
||||
@@ -2154,6 +2166,37 @@ argv([{nr}]) The result is the {nr}th file in the argument list of the
|
||||
< Without the {nr} argument a |List| with the whole |arglist| is
|
||||
returned.
|
||||
|
||||
*assert_equal()*
|
||||
assert_equal({expected}, {actual}, [, {msg}])
|
||||
When {expected} and {actual} are not equal an error message is
|
||||
added to |v:errors|.
|
||||
There is no automatic conversion, the String "4" is different
|
||||
from the Number 4. And the number 4 is different from the
|
||||
Float 4.0. The value of 'ignorecase' is not used here, case
|
||||
always matters.
|
||||
When {msg} is omitted an error in the form "Expected
|
||||
{expected} but got {actual}" is produced.
|
||||
Example: >
|
||||
assert_equal('foo', 'bar')
|
||||
< Will result in a string to be added to |v:errors|:
|
||||
test.vim line 12: Expected 'foo' but got 'bar' ~
|
||||
|
||||
assert_false({actual}, [, {msg}]) *assert_false()*
|
||||
When {actual} is not false an error message is added to
|
||||
|v:errors|, like with |assert_equal()|..
|
||||
A value is false when it is zero. When "{actual}" is not a
|
||||
number the assert fails.
|
||||
When {msg} is omitted an error in the form "Expected False but
|
||||
got {actual}" is produced.
|
||||
|
||||
assert_true({actual}, [, {msg}]) *assert_true()*
|
||||
When {actual} is not true an error message is added to
|
||||
|v:errors|, like with |assert_equal()|..
|
||||
A value is true when it is a non-zeron number. When {actual}
|
||||
is not a number the assert fails.
|
||||
When {msg} is omitted an error in the form "Expected True but
|
||||
got {actual}" is produced.
|
||||
|
||||
asin({expr}) *asin()*
|
||||
Return the arc sine of {expr} measured in radians, as a |Float|
|
||||
in the range of [-pi/2, pi/2].
|
||||
@@ -5760,6 +5803,10 @@ sort({list} [, {func} [, {dict}]]) *sort()* *E702*
|
||||
strtod() function to parse numbers, Strings, Lists, Dicts and
|
||||
Funcrefs will be considered as being 0).
|
||||
|
||||
When {func} is given and it is 'N' then all items will be
|
||||
sorted numerical. This is like 'n' but a string containing
|
||||
digits will be used as the number they represent.
|
||||
|
||||
When {func} is a |Funcref| or a function name, this function
|
||||
is called to compare items. The function is invoked with two
|
||||
items as argument and must return zero if they are equal, 1 or
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 7.4. Last change: 2013 Dec 15
|
||||
*filetype.txt* For Vim version 7.4. Last change: 2015 Nov 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -552,7 +552,7 @@ Local mappings:
|
||||
to the end of the file in Normal mode. This means "> " is inserted in
|
||||
each line.
|
||||
|
||||
MAN *ft-man-plugin* *:Man*
|
||||
MAN *ft-man-plugin* *:Man* *man.vim*
|
||||
|
||||
Displays a manual page in a nice way. Also see the user manual
|
||||
|find-manpage|.
|
||||
@@ -577,6 +577,10 @@ Global mapping:
|
||||
Local mappings:
|
||||
CTRL-] Jump to the manual page for the word under the cursor.
|
||||
CTRL-T Jump back to the previous manual page.
|
||||
q Same as ":quit"
|
||||
|
||||
To enable folding use this: >
|
||||
let g:ft_man_folding_enable = 1
|
||||
|
||||
|
||||
PDF *ft-pdf-plugin*
|
||||
|
||||
+15
-3
@@ -1,4 +1,4 @@
|
||||
*fold.txt* For Vim version 7.4. Last change: 2013 Dec 04
|
||||
*fold.txt* For Vim version 7.4. Last change: 2015 Nov 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -97,9 +97,9 @@ These are the conditions with which the expression is evaluated:
|
||||
lowest.
|
||||
"=" use fold level from the previous line
|
||||
"a1", "a2", .. add one, two, .. to the fold level of the previous
|
||||
line
|
||||
line, use the result for the current line
|
||||
"s1", "s2", .. subtract one, two, .. from the fold level of the
|
||||
previous line
|
||||
previous line, use the result for the next line
|
||||
"<1", "<2", .. a fold with this level ends at this line
|
||||
">1", ">2", .. a fold with this level starts at this line
|
||||
|
||||
@@ -122,6 +122,18 @@ method can be very slow!
|
||||
Try to avoid the "=", "a" and "s" return values, since Vim often has to search
|
||||
backwards for a line for which the fold level is defined. This can be slow.
|
||||
|
||||
An example of using "a1" and "s1": For a multi-line C comment, a line
|
||||
containing "/*" would return "a1" to start a fold, and a line containing "*/"
|
||||
would return "s1" to end the fold after that line: >
|
||||
if match(thisline, '/\*') >= 0
|
||||
return 'a1'
|
||||
elseif match(thisline, '\*/') >= 0
|
||||
return 's1'
|
||||
else
|
||||
return '='
|
||||
endif
|
||||
However, this won't work for single line comments, strings, etc.
|
||||
|
||||
|foldlevel()| can be useful to compute a fold level relative to a previous
|
||||
fold level. But note that foldlevel() may return -1 if the level is not known
|
||||
yet. And it returns the level at the start of the line, while a fold might
|
||||
|
||||
@@ -111,7 +111,7 @@ to your .gvimrc file to revert back to the default Vim tab label.
|
||||
*macvim-options*
|
||||
These are the non-standard options that MacVim supports:
|
||||
'antialias' 'blurradius' 'fullscreen'
|
||||
'fuoptions' 'macmeta' 'toolbariconsize'
|
||||
'fuoptions' 'macligatures' 'macmeta' 'toolbariconsize'
|
||||
'transparency'
|
||||
|
||||
*macvim-commands*
|
||||
@@ -259,6 +259,7 @@ MMDialogsTrackPwd open/save dialogs track the Vim pwd [bool]
|
||||
MMLoginShellArgument login shell parameter [string]
|
||||
MMLoginShellCommand which shell to use to launch Vim [string]
|
||||
MMNoFontSubstitution disable automatic font substitution [bool]
|
||||
MMNoTitleBarWindow hide title bar [bool]
|
||||
MMShowAddTabButton enable "add tab" button on tabline [bool]
|
||||
MMTabMaxWidth maximum width of a tab [int]
|
||||
MMTabMinWidth minimum width of a tab [int]
|
||||
@@ -269,6 +270,7 @@ MMTextInsetRight text area offset in pixels [int]
|
||||
MMTextInsetTop text area offset in pixels [int]
|
||||
MMTexturedWindow use brushed metal window (Tiger only) [bool]
|
||||
MMTranslateCtrlClick interpret ctrl-click as right-click [bool]
|
||||
MMUseMouseTime use mousetime to detect multiple clicks [bool]
|
||||
MMVerticalSplit files open in vertical splits [bool]
|
||||
MMZoomBoth zoom button maximizes both directions [bool]
|
||||
|
||||
|
||||
+29
-22
@@ -1,11 +1,8 @@
|
||||
*hangulin.txt* For Vim version 7.4. Last change: 2009 Jun 24
|
||||
*hangulin.txt* For Vim version 7.4. Last change: 2015 Nov 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Chi-Deok Hwang and Sung-Hyun Nam
|
||||
|
||||
NOTE: The |+hangul_input| feature is scheduled to be removed. If you want to
|
||||
keep it, please send a message to the Vim user maillist.
|
||||
|
||||
|
||||
Introduction *hangul*
|
||||
------------
|
||||
@@ -17,7 +14,8 @@ Compile
|
||||
-------
|
||||
Next is a basic option. You can add any other configure option. >
|
||||
|
||||
./configure --with-x --enable-multibyte --enable-fontset --enable-hangulinput
|
||||
./configure --with-x --enable-multibyte --enable-hangulinput \
|
||||
--disable-xim
|
||||
|
||||
And you should check feature.h. If |+hangul_input| feature is enabled
|
||||
by configure, you can select more options such as keyboard type, 2 bulsik
|
||||
@@ -26,18 +24,21 @@ or 3 bulsik. You can find keywords like next in there. >
|
||||
#define HANGUL_DEFAULT_KEYBOARD 2
|
||||
#define ESC_CHG_TO_ENG_MODE
|
||||
/* #define X_LOCALE */
|
||||
/* #define SLOW_XSERVER */
|
||||
|
||||
Environment variables
|
||||
---------------------
|
||||
You should set LANG variable to Korean locale such as ko or ko_KR.euc.
|
||||
You should set LANG variable to Korean locale such as ko, ko_KR.eucKR
|
||||
or ko_KR.UTF-8.
|
||||
If you set LC_ALL variable, it should be set to Korean locale also.
|
||||
|
||||
VIM resource
|
||||
------------
|
||||
You should add nexts to your global vimrc ($HOME/.vimrc). >
|
||||
You may want to set 'encoding' and 'fileencodings'.
|
||||
Next are examples: >
|
||||
|
||||
:set fileencoding=korea
|
||||
:set encoding=euc-kr
|
||||
:set encoding=utf-8
|
||||
:set fileencodings=ucs-bom,utf-8,cp949,euc-kr,latin1
|
||||
|
||||
Keyboard
|
||||
--------
|
||||
@@ -52,8 +53,16 @@ If both are set, VIM_KEYBOARD has higher priority.
|
||||
|
||||
Hangul Fonts
|
||||
------------
|
||||
You can set text font using $HOME/.Xdefaults or in your gvimrc file.
|
||||
But to use Hangul, you should set 'guifontset' in your vimrc.
|
||||
If you use GTK version of GVIM, you should set 'guifont' and 'guifontwide'.
|
||||
For example: >
|
||||
set guifont=Courier\ 12
|
||||
set guifontwide=NanumGothicCoding\ 12
|
||||
|
||||
If you use Motif or Athena version of GVIM, you should set 'guifontset' in
|
||||
your vimrc. You can set fontset in the .Xdefaults file.
|
||||
|
||||
$HOME/.gvimrc: >
|
||||
set guifontset=english_font,hangul_font
|
||||
|
||||
$HOME/.Xdefaults: >
|
||||
Vim.font: english_font
|
||||
@@ -66,40 +75,38 @@ $HOME/.Xdefaults: >
|
||||
*international: True
|
||||
Vim*fontList: english_font;hangul_font:
|
||||
|
||||
$HOME/.gvimrc: >
|
||||
set guifontset=english_font,hangul_font
|
||||
|
||||
attention! the , (comma) or ; (semicolon)
|
||||
|
||||
And there should be no ':set guifont'. If it exists, then Gvim ignores
|
||||
':set guifontset'. It means VIM runs without fontset supporting.
|
||||
So, you can see only English. Hangul does not be correctly displayed.
|
||||
|
||||
After 'fontset' feature is enabled, VIM does not allow using 'font'.
|
||||
After 'fontset' feature is enabled, VIM does not allow using english
|
||||
font only in 'font' setting for syntax.
|
||||
For example, if you use >
|
||||
:set guifontset=eng_font,your_font
|
||||
in your .gvimrc, then you should do for syntax >
|
||||
:hi Comment guifg=Cyan font=another_eng_font,another_your_font
|
||||
If you just do >
|
||||
:hi Comment font=another_eng_font
|
||||
then you can see a GOOD error message. Be careful!
|
||||
then you can see a error message. Be careful!
|
||||
|
||||
hangul_font width should be twice than english_font width.
|
||||
|
||||
Unsupported Feature
|
||||
-------------------
|
||||
Johab font not yet supported. And I don't have any plan.
|
||||
If you really want to use johab font, you can use the
|
||||
hanguldraw.c in gau package.
|
||||
We don't support Johab font.
|
||||
We don't support Hanja input.
|
||||
And We don't have any plan to support them.
|
||||
|
||||
Hanja input not yet supported. And I don't have any plan.
|
||||
If you really want to input hanja, just use VIM with hanterm.
|
||||
If you really need such features, you can use console version of VIM with a
|
||||
capable terminal emulator.
|
||||
|
||||
Bug or Comment
|
||||
--------------
|
||||
Send comments, patches and suggestions to:
|
||||
|
||||
Chi-Deok Hwang <hwang@mizi.co.kr>
|
||||
SungHyun Nam <goweol@gmail.com>
|
||||
Chi-Deok Hwang <...>
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_pyth.txt* For Vim version 7.4. Last change: 2015 Oct 16
|
||||
*if_pyth.txt* For Vim version 7.4. Last change: 2015 Nov 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Paul Moore
|
||||
@@ -693,7 +693,7 @@ The name of the DLL must match the Python version Vim was compiled with.
|
||||
Currently the name is "python24.dll". That is for Python 2.4. To know for
|
||||
sure edit "gvim.exe" and search for "python\d*.dll\c".
|
||||
|
||||
On Unix the 'pythondll' or 'python3dll' option can be used to specify the
|
||||
On Unix the 'pythondll' or 'pythonthreedll' option can be used to specify the
|
||||
Python shared library file instead of DYNAMIC_PYTHON_DLL or
|
||||
DYNAMIC_PYTHON3_DLL file what were specified at compile time. The version of
|
||||
the shared library must match the Python 2.x or Python 3 version Vim was
|
||||
|
||||
+26
-26
@@ -1,4 +1,4 @@
|
||||
*if_ruby.txt* For Vim version 7.4. Last change: 2015 Oct 16
|
||||
*if_ruby.txt* For Vim version 7.4. Last change: 2015 Dec 03
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Shugo Maeda
|
||||
@@ -7,9 +7,9 @@ The Ruby Interface to Vim *ruby* *Ruby*
|
||||
|
||||
|
||||
1. Commands |ruby-commands|
|
||||
2. The VIM module |ruby-vim|
|
||||
3. VIM::Buffer objects |ruby-buffer|
|
||||
4. VIM::Window objects |ruby-window|
|
||||
2. The Vim module |ruby-vim|
|
||||
3. Vim::Buffer objects |ruby-buffer|
|
||||
4. Vim::Window objects |ruby-window|
|
||||
5. Global variables |ruby-globals|
|
||||
6. Dynamic loading |ruby-dynamic|
|
||||
|
||||
@@ -47,7 +47,7 @@ Example Vim script: >
|
||||
ruby << EOF
|
||||
class Garnet
|
||||
def initialize(s)
|
||||
@buffer = VIM::Buffer.current
|
||||
@buffer = Vim::Buffer.current
|
||||
vimputs(s)
|
||||
end
|
||||
def vimputs(s)
|
||||
@@ -74,19 +74,19 @@ Example Vim script: >
|
||||
Executing Ruby commands is not possible in the |sandbox|.
|
||||
|
||||
==============================================================================
|
||||
2. The VIM module *ruby-vim*
|
||||
2. The Vim module *ruby-vim*
|
||||
|
||||
Ruby code gets all of its access to vim via the "VIM" module.
|
||||
Ruby code gets all of its access to vim via the "Vim" module.
|
||||
|
||||
Overview >
|
||||
Overview: >
|
||||
print "Hello" # displays a message
|
||||
VIM.command(cmd) # execute an Ex command
|
||||
num = VIM::Window.count # gets the number of windows
|
||||
w = VIM::Window[n] # gets window "n"
|
||||
cw = VIM::Window.current # gets the current window
|
||||
num = VIM::Buffer.count # gets the number of buffers
|
||||
b = VIM::Buffer[n] # gets buffer "n"
|
||||
cb = VIM::Buffer.current # gets the current buffer
|
||||
Vim.command(cmd) # execute an Ex command
|
||||
num = Vim::Window.count # gets the number of windows
|
||||
w = Vim::Window[n] # gets window "n"
|
||||
cw = Vim::Window.current # gets the current window
|
||||
num = Vim::Buffer.count # gets the number of buffers
|
||||
b = Vim::Buffer[n] # gets buffer "n"
|
||||
cb = Vim::Buffer.current # gets the current buffer
|
||||
w.height = lines # sets the window height
|
||||
w.cursor = [row, col] # sets the window cursor position
|
||||
pos = w.cursor # gets an array [row, col]
|
||||
@@ -96,29 +96,29 @@ Overview >
|
||||
b[n] = str # sets a line in the buffer
|
||||
b.delete(n) # deletes a line
|
||||
b.append(n, str) # appends a line after n
|
||||
line = VIM::Buffer.current.line # gets the current line
|
||||
num = VIM::Buffer.current.line_number # gets the current line number
|
||||
VIM::Buffer.current.line = "test" # sets the current line number
|
||||
line = Vim::Buffer.current.line # gets the current line
|
||||
num = Vim::Buffer.current.line_number # gets the current line number
|
||||
Vim::Buffer.current.line = "test" # sets the current line number
|
||||
<
|
||||
|
||||
Module Functions:
|
||||
|
||||
*ruby-message*
|
||||
VIM::message({msg})
|
||||
Vim::message({msg})
|
||||
Displays the message {msg}.
|
||||
|
||||
*ruby-set_option*
|
||||
VIM::set_option({arg})
|
||||
Vim::set_option({arg})
|
||||
Sets a vim option. {arg} can be any argument that the ":set" command
|
||||
accepts. Note that this means that no spaces are allowed in the
|
||||
argument! See |:set|.
|
||||
|
||||
*ruby-command*
|
||||
VIM::command({cmd})
|
||||
Vim::command({cmd})
|
||||
Executes Ex command {cmd}.
|
||||
|
||||
*ruby-evaluate*
|
||||
VIM::evaluate({expr})
|
||||
Vim::evaluate({expr})
|
||||
Evaluates {expr} using the vim internal expression evaluator (see
|
||||
|expression|). Returns the expression result as:
|
||||
- a Integer if the Vim expression evaluates to a number
|
||||
@@ -129,9 +129,9 @@ VIM::evaluate({expr})
|
||||
Dictionaries and lists are recursively expanded.
|
||||
|
||||
==============================================================================
|
||||
3. VIM::Buffer objects *ruby-buffer*
|
||||
3. Vim::Buffer objects *ruby-buffer*
|
||||
|
||||
VIM::Buffer objects represent vim buffers.
|
||||
Vim::Buffer objects represent vim buffers.
|
||||
|
||||
Class Methods:
|
||||
|
||||
@@ -159,9 +159,9 @@ line_number Returns the number of the current line if the buffer is
|
||||
active.
|
||||
|
||||
==============================================================================
|
||||
4. VIM::Window objects *ruby-window*
|
||||
4. Vim::Window objects *ruby-window*
|
||||
|
||||
VIM::Window objects represent vim windows.
|
||||
Vim::Window objects represent vim windows.
|
||||
|
||||
Class Methods:
|
||||
|
||||
|
||||
+52
-25
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 7.4. Last change: 2015 Nov 01
|
||||
*options.txt* For Vim version 7.4. Last change: 2015 Nov 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -4218,7 +4218,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
global
|
||||
Ignore case in search patterns. Also used when searching in the tags
|
||||
file.
|
||||
Also see 'smartcase'.
|
||||
Also see 'smartcase' and 'tagcase'.
|
||||
Can be overruled by using "\c" or "\C" in the pattern, see
|
||||
|/ignorecase|.
|
||||
|
||||
@@ -4985,6 +4985,19 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
'termencoding'.
|
||||
Note: MacVim does not use this option.
|
||||
|
||||
*'macligatures'* *'nomacligatures'*
|
||||
'macligatures' boolean (default off)
|
||||
global
|
||||
{not in Vi}
|
||||
{only available when compiled with GUI enabled on
|
||||
Mac OS X}
|
||||
This option only has an effect in the GUI version of Vim on Mac OS X
|
||||
v10.5 or later. When on, Vim will display ligatures if the selected
|
||||
'guifont' supports them. Examples for such fonts are Fira Code or
|
||||
Haskelig.
|
||||
Note: Currently this option only has an effect if
|
||||
'Use Core Text renderer' is enabled in the GUI preferences pane.
|
||||
|
||||
*'macmeta'* *'mmta'* *'nomacmeta'* *'nommta'*
|
||||
'macmeta' boolean (default off)
|
||||
local to buffer
|
||||
@@ -5821,17 +5834,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Insert mode completion. When zero as much space as available is used.
|
||||
|ins-completion-menu|.
|
||||
|
||||
*'python3dll'*
|
||||
'python3dll' string (default empty)
|
||||
global
|
||||
{not in Vi} {only for Unix}
|
||||
{only available when compiled with the |+python3/dyn|
|
||||
feature}
|
||||
Specifies the path of the Python 3 shared library instead of
|
||||
DYNAMIC_PYTHON3_DLL what was specified at compile time.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'pythondll'*
|
||||
'pythondll' string (default empty)
|
||||
global
|
||||
@@ -5841,6 +5843,17 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
Specifies the path of the Python 2.x shared library instead of
|
||||
DYNAMIC_PYTHON_DLL what was specified at compile time.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'pythonthreedll'*
|
||||
'pythonthreedll' string (default empty)
|
||||
global
|
||||
{not in Vi} {only for Unix}
|
||||
{only available when compiled with the |+python3/dyn|
|
||||
feature}
|
||||
Specifies the path of the Python 3 shared library instead of
|
||||
DYNAMIC_PYTHON3_DLL what was specified at compile time.
|
||||
This option cannot be set from a |modeline| or in the |sandbox|, for
|
||||
security reasons.
|
||||
|
||||
*'quoteescape'* *'qe'*
|
||||
@@ -6651,6 +6664,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
c don't give |ins-completion-menu| messages. For example,
|
||||
"-- XXX completion (YYY)", "match 1 of 2", "The only match",
|
||||
"Pattern not found", "Back at original", etc.
|
||||
q use "recording" instead of "recording @a"
|
||||
|
||||
This gives you the opportunity to avoid that a change between buffers
|
||||
requires you to hit <Enter>, but still gives as useful a message as
|
||||
@@ -7204,7 +7218,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
become empty. This will make a group like the following disappear
|
||||
completely from the statusline when none of the flags are set. >
|
||||
:set statusline=...%(\ [%M%R%H]%)...
|
||||
<
|
||||
< *g:actual_curbuf*
|
||||
Beware that an expression is evaluated each and every time the status
|
||||
line is displayed. The current buffer and current window will be set
|
||||
temporarily to that of the window (and buffer) whose statusline is
|
||||
@@ -7461,19 +7475,22 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
< [The whitespace before and after the '0' must be a single <Tab>]
|
||||
|
||||
When a binary search was done and no match was found in any of the
|
||||
files listed in 'tags', and 'ignorecase' is set or a pattern is used
|
||||
files listed in 'tags', and case is ignored or a pattern is used
|
||||
instead of a normal tag name, a retry is done with a linear search.
|
||||
Tags in unsorted tags files, and matches with different case will only
|
||||
be found in the retry.
|
||||
|
||||
If a tag file indicates that it is case-fold sorted, the second,
|
||||
linear search can be avoided for the 'ignorecase' case. Use a value
|
||||
of '2' in the "!_TAG_FILE_SORTED" line for this. A tag file can be
|
||||
case-fold sorted with the -f switch to "sort" in most unices, as in
|
||||
the command: "sort -f -o tags tags". For "Exuberant ctags" version
|
||||
5.x or higher (at least 5.5) the --sort=foldcase switch can be used
|
||||
for this as well. Note that case must be folded to uppercase for this
|
||||
to work.
|
||||
linear search can be avoided when case is ignored. Use a value of '2'
|
||||
in the "!_TAG_FILE_SORTED" line for this. A tag file can be case-fold
|
||||
sorted with the -f switch to "sort" in most unices, as in the command:
|
||||
"sort -f -o tags tags". For "Exuberant ctags" version 5.x or higher
|
||||
(at least 5.5) the --sort=foldcase switch can be used for this as
|
||||
well. Note that case must be folded to uppercase for this to work.
|
||||
|
||||
By default, tag searches are case-sensitive. Case is ignored when
|
||||
'ignorecase' is set and 'tagcase' is "followic", or when 'tagcase' is
|
||||
"ignore".
|
||||
|
||||
When 'tagbsearch' is off, tags searching is slower when a full match
|
||||
exists, but faster when no full match exists. Tags in unsorted tags
|
||||
@@ -7485,6 +7502,16 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
command-line completion and ":help").
|
||||
{Vi: always uses binary search in some versions}
|
||||
|
||||
*'tagcase'* *'tc'*
|
||||
'tagcase' 'tc' string (default "followic")
|
||||
global or local to buffer |global-local|
|
||||
{not in Vi}
|
||||
This option specifies how case is handled when searching the tags
|
||||
file:
|
||||
followic Follow the 'ignorecase' option
|
||||
ignore Ignore case
|
||||
match Match case
|
||||
|
||||
*'taglength'* *'tl'*
|
||||
'taglength' 'tl' number (default 0)
|
||||
global
|
||||
@@ -8198,9 +8225,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
% When included, save and restore the buffer list. If Vim is
|
||||
started with a file name argument, the buffer list is not
|
||||
restored. If Vim is started without a file name argument, the
|
||||
buffer list is restored from the viminfo file. Buffers
|
||||
without a file name and buffers for help files are not written
|
||||
to the viminfo file.
|
||||
buffer list is restored from the viminfo file. Quickfix
|
||||
('buftype'), unlisted ('buflisted'), unnamed and buffers on
|
||||
removable media (|viminfo-r|) are not saved.
|
||||
When followed by a number, the number specifies the maximum
|
||||
number of buffers that are stored. Without a number all
|
||||
buffers are stored.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 7.4. Last change: 2015 Jul 21
|
||||
*quickref.txt* For Vim version 7.4. Last change: 2015 Nov 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -780,7 +780,9 @@ Short explanation of each option: *option-list*
|
||||
'list' show <Tab> and <EOL>
|
||||
'listchars' 'lcs' characters for displaying in list mode
|
||||
'loadplugins' 'lpl' load plugin scripts when starting up
|
||||
'luadll' name of the Lua dynamic library
|
||||
'macatsui' Mac GUI: use ATSUI text drawing
|
||||
'macligatures' display ligatures (MacVim GUI only)
|
||||
'macmeta' 'mmta' use option as meta key (MacVim GUI only)
|
||||
'magic' changes special characters in search patterns
|
||||
'makeef' 'mef' name of the errorfile for ":make"
|
||||
@@ -820,6 +822,7 @@ Short explanation of each option: *option-list*
|
||||
'patchexpr' 'pex' expression used to patch a file
|
||||
'patchmode' 'pm' keep the oldest version of a file
|
||||
'path' 'pa' list of directories searched with "gf" et.al.
|
||||
'perldll' name of the Perl dynamic library
|
||||
'preserveindent' 'pi' preserve the indent structure when reindenting
|
||||
'previewheight' 'pvh' height of the preview window
|
||||
'previewwindow' 'pvw' identifies the preview window
|
||||
@@ -832,6 +835,8 @@ Short explanation of each option: *option-list*
|
||||
'printmbfont' 'pmbfn' font names to be used for CJK output of :hardcopy
|
||||
'printoptions' 'popt' controls the format of :hardcopy output
|
||||
'pumheight' 'ph' maximum height of the popup menu
|
||||
'pythondll' name of the Python 2 dynamic library
|
||||
'pythonthreedll' name of the Python 3 dynamic library
|
||||
'quoteescape' 'qe' escape characters used in a string
|
||||
'readonly' 'ro' disallow writing the buffer
|
||||
'redrawtime' 'rdt' timeout for 'hlsearch' and |:match| highlighting
|
||||
@@ -844,6 +849,7 @@ Short explanation of each option: *option-list*
|
||||
'revins' 'ri' inserting characters will work backwards
|
||||
'rightleft' 'rl' window is right-to-left oriented
|
||||
'rightleftcmd' 'rlc' commands for which editing works right-to-left
|
||||
'rubydll' name of the Ruby dynamic library
|
||||
'ruler' 'ru' show cursor line and column in the status line
|
||||
'rulerformat' 'ruf' custom format for the ruler
|
||||
'runtimepath' 'rtp' list of directories used for runtime files
|
||||
@@ -903,6 +909,7 @@ Short explanation of each option: *option-list*
|
||||
'tabpagemax' 'tpm' maximum number of tab pages for |-p| and "tab all"
|
||||
'tabstop' 'ts' number of spaces that <Tab> in file uses
|
||||
'tagbsearch' 'tbs' use binary searching in tags files
|
||||
'tagcase' 'tc' how to handle case when searching in tags files
|
||||
'taglength' 'tl' number of significant characters for a tag
|
||||
'tagrelative' 'tr' file names in tag file are relative
|
||||
'tags' 'tag' list of file names used by the tag command
|
||||
|
||||
@@ -109,7 +109,13 @@ To abort this type CTRL-C twice.
|
||||
q{0-9a-zA-Z"} Record typed characters into register {0-9a-zA-Z"}
|
||||
(uppercase to append). The 'q' command is disabled
|
||||
while executing a register, and it doesn't work inside
|
||||
a mapping and |:normal|. {Vi: no recording}
|
||||
a mapping and |:normal|.
|
||||
|
||||
Note: If the register being used for recording is also
|
||||
used for |y| and |p| the result is most likely not
|
||||
what is expected, because the put will paste the
|
||||
recorded macro and the yank will overwrite the
|
||||
recorded macro. {Vi: no recording}
|
||||
|
||||
q Stops recording. (Implementation note: The 'q' that
|
||||
stops recording is not stored in the register, unless
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2015 Oct 17
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2015 Nov 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1082,6 +1082,7 @@ Most of things are same as |ft-c-syntax|.
|
||||
|
||||
Variable Highlight ~
|
||||
cpp_no_cpp11 don't highlight C++11 standard items
|
||||
cpp_no_cpp14 don't highlight C++14 standard items
|
||||
|
||||
|
||||
CSH *csh.vim* *ft-csh-syntax*
|
||||
@@ -4165,7 +4166,7 @@ example, for instance, can be done like this: >
|
||||
|
||||
As can be seen here, the \z actually does double duty. In the start pattern,
|
||||
it marks the "\(\I\i*\)" sub-expression as external; in the end pattern, it
|
||||
changes the \1 back-reference into an external reference referring to the
|
||||
changes the \z1 back-reference into an external reference referring to the
|
||||
first external sub-expression in the start pattern. External references can
|
||||
also be used in skip patterns: >
|
||||
:syn region foo start="start \(\I\i*\)" skip="not end \z1" end="end \z1"
|
||||
|
||||
+25
-1
@@ -421,10 +421,12 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'lpl' options.txt /*'lpl'*
|
||||
'ls' options.txt /*'ls'*
|
||||
'lsp' options.txt /*'lsp'*
|
||||
'luadll' options.txt /*'luadll'*
|
||||
'lw' options.txt /*'lw'*
|
||||
'lz' options.txt /*'lz'*
|
||||
'ma' options.txt /*'ma'*
|
||||
'macatsui' options.txt /*'macatsui'*
|
||||
'macligatures' options.txt /*'macligatures'*
|
||||
'macmeta' options.txt /*'macmeta'*
|
||||
'magic' options.txt /*'magic'*
|
||||
'makeef' options.txt /*'makeef'*
|
||||
@@ -507,6 +509,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'nobk' options.txt /*'nobk'*
|
||||
'nobl' options.txt /*'nobl'*
|
||||
'nobomb' options.txt /*'nobomb'*
|
||||
'nobreakindent' options.txt /*'nobreakindent'*
|
||||
'nobri' options.txt /*'nobri'*
|
||||
'nobuflisted' options.txt /*'nobuflisted'*
|
||||
'nocf' options.txt /*'nocf'*
|
||||
'noci' options.txt /*'noci'*
|
||||
@@ -557,6 +561,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'nofk' options.txt /*'nofk'*
|
||||
'nofkmap' options.txt /*'nofkmap'*
|
||||
'nofoldenable' options.txt /*'nofoldenable'*
|
||||
'nofs' options.txt /*'nofs'*
|
||||
'nofsync' options.txt /*'nofsync'*
|
||||
'nofu' options.txt /*'nofu'*
|
||||
'nofullscreen' options.txt /*'nofullscreen'*
|
||||
'nogd' options.txt /*'nogd'*
|
||||
@@ -585,16 +591,19 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'nois' options.txt /*'nois'*
|
||||
'nojoinspaces' options.txt /*'nojoinspaces'*
|
||||
'nojs' options.txt /*'nojs'*
|
||||
'nolangnoremap' options.txt /*'nolangnoremap'*
|
||||
'nolazyredraw' options.txt /*'nolazyredraw'*
|
||||
'nolbr' options.txt /*'nolbr'*
|
||||
'nolinebreak' options.txt /*'nolinebreak'*
|
||||
'nolisp' options.txt /*'nolisp'*
|
||||
'nolist' options.txt /*'nolist'*
|
||||
'nolnr' options.txt /*'nolnr'*
|
||||
'noloadplugins' options.txt /*'noloadplugins'*
|
||||
'nolpl' options.txt /*'nolpl'*
|
||||
'nolz' options.txt /*'nolz'*
|
||||
'noma' options.txt /*'noma'*
|
||||
'nomacatsui' options.txt /*'nomacatsui'*
|
||||
'nomacligatures' options.txt /*'nomacligatures'*
|
||||
'nomacmeta' options.txt /*'nomacmeta'*
|
||||
'nomagic' options.txt /*'nomagic'*
|
||||
'nomh' options.txt /*'nomh'*
|
||||
@@ -739,6 +748,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'path' options.txt /*'path'*
|
||||
'pdev' options.txt /*'pdev'*
|
||||
'penc' options.txt /*'penc'*
|
||||
'perldll' options.txt /*'perldll'*
|
||||
'pex' options.txt /*'pex'*
|
||||
'pexpr' options.txt /*'pexpr'*
|
||||
'pfn' options.txt /*'pfn'*
|
||||
@@ -765,6 +775,8 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'pumheight' options.txt /*'pumheight'*
|
||||
'pvh' options.txt /*'pvh'*
|
||||
'pvw' options.txt /*'pvw'*
|
||||
'pythondll' options.txt /*'pythondll'*
|
||||
'pythonthreedll' options.txt /*'pythonthreedll'*
|
||||
'qe' options.txt /*'qe'*
|
||||
'quote motion.txt /*'quote*
|
||||
'quoteescape' options.txt /*'quoteescape'*
|
||||
@@ -791,6 +803,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'rs' options.txt /*'rs'*
|
||||
'rtp' options.txt /*'rtp'*
|
||||
'ru' options.txt /*'ru'*
|
||||
'rubydll' options.txt /*'rubydll'*
|
||||
'ruf' options.txt /*'ruf'*
|
||||
'ruler' options.txt /*'ruler'*
|
||||
'rulerformat' options.txt /*'rulerformat'*
|
||||
@@ -1023,6 +1036,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'tabstop' options.txt /*'tabstop'*
|
||||
'tag' options.txt /*'tag'*
|
||||
'tagbsearch' options.txt /*'tagbsearch'*
|
||||
'tagcase' options.txt /*'tagcase'*
|
||||
'taglength' options.txt /*'taglength'*
|
||||
'tagrelative' options.txt /*'tagrelative'*
|
||||
'tags' options.txt /*'tags'*
|
||||
@@ -1033,6 +1047,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
'tbidi' options.txt /*'tbidi'*
|
||||
'tbis' options.txt /*'tbis'*
|
||||
'tbs' options.txt /*'tbs'*
|
||||
'tc' options.txt /*'tc'*
|
||||
'tenc' options.txt /*'tenc'*
|
||||
'term' options.txt /*'term'*
|
||||
'termbidi' options.txt /*'termbidi'*
|
||||
@@ -2149,6 +2164,7 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:delm motion.txt /*:delm*
|
||||
:delmarks motion.txt /*:delmarks*
|
||||
:di change.txt /*:di*
|
||||
:dif diff.txt /*:dif*
|
||||
:diffg diff.txt /*:diffg*
|
||||
:diffget diff.txt /*:diffget*
|
||||
:diffo diff.txt /*:diffo*
|
||||
@@ -2161,7 +2177,6 @@ $VIMRUNTIME starting.txt /*$VIMRUNTIME*
|
||||
:diffsplit diff.txt /*:diffsplit*
|
||||
:difft diff.txt /*:difft*
|
||||
:diffthis diff.txt /*:diffthis*
|
||||
:diffu diff.txt /*:diffu*
|
||||
:diffupdate diff.txt /*:diffupdate*
|
||||
:dig digraph.txt /*:dig*
|
||||
:digraphs digraph.txt /*:digraphs*
|
||||
@@ -4936,6 +4951,9 @@ asin() eval.txt /*asin()*
|
||||
asm.vim syntax.txt /*asm.vim*
|
||||
asm68k syntax.txt /*asm68k*
|
||||
asmh8300.vim syntax.txt /*asmh8300.vim*
|
||||
assert_equal() eval.txt /*assert_equal()*
|
||||
assert_false() eval.txt /*assert_false()*
|
||||
assert_true() eval.txt /*assert_true()*
|
||||
at motion.txt /*at*
|
||||
atan() eval.txt /*atan()*
|
||||
atan2() eval.txt /*atan2()*
|
||||
@@ -5630,6 +5648,7 @@ errorformat-multi-line quickfix.txt /*errorformat-multi-line*
|
||||
errorformat-separate-filename quickfix.txt /*errorformat-separate-filename*
|
||||
errorformats quickfix.txt /*errorformats*
|
||||
errors message.txt /*errors*
|
||||
errors-variable eval.txt /*errors-variable*
|
||||
escape intro.txt /*escape*
|
||||
escape() eval.txt /*escape()*
|
||||
escape-bar version4.txt /*escape-bar*
|
||||
@@ -6037,6 +6056,7 @@ g:NetrwTopLvlMenu pi_netrw.txt /*g:NetrwTopLvlMenu*
|
||||
g:Netrw_UserMaps pi_netrw.txt /*g:Netrw_UserMaps*
|
||||
g:Netrw_corehandler pi_netrw.txt /*g:Netrw_corehandler*
|
||||
g:Netrw_funcref pi_netrw.txt /*g:Netrw_funcref*
|
||||
g:actual_curbuf options.txt /*g:actual_curbuf*
|
||||
g:ada#Comment ft_ada.txt /*g:ada#Comment*
|
||||
g:ada#Ctags_Kinds ft_ada.txt /*g:ada#Ctags_Kinds*
|
||||
g:ada#DotWordRegex ft_ada.txt /*g:ada#DotWordRegex*
|
||||
@@ -6924,6 +6944,7 @@ lua if_lua.txt /*lua*
|
||||
lua-buffer if_lua.txt /*lua-buffer*
|
||||
lua-commands if_lua.txt /*lua-commands*
|
||||
lua-dict if_lua.txt /*lua-dict*
|
||||
lua-dynamic if_lua.txt /*lua-dynamic*
|
||||
lua-eval if_lua.txt /*lua-eval*
|
||||
lua-funcref if_lua.txt /*lua-funcref*
|
||||
lua-list if_lua.txt /*lua-list*
|
||||
@@ -6985,6 +7006,7 @@ mail.vim syntax.txt /*mail.vim*
|
||||
maillist intro.txt /*maillist*
|
||||
maillist-archive intro.txt /*maillist-archive*
|
||||
make.vim syntax.txt /*make.vim*
|
||||
man.vim filetype.txt /*man.vim*
|
||||
manual-copyright usr_01.txt /*manual-copyright*
|
||||
map() eval.txt /*map()*
|
||||
map-<SID> map.txt /*map-<SID>*
|
||||
@@ -8511,6 +8533,7 @@ terminal-info term.txt /*terminal-info*
|
||||
terminal-options term.txt /*terminal-options*
|
||||
terminfo term.txt /*terminfo*
|
||||
termresponse-variable eval.txt /*termresponse-variable*
|
||||
test-functions usr_41.txt /*test-functions*
|
||||
tex-cchar syntax.txt /*tex-cchar*
|
||||
tex-cole syntax.txt /*tex-cole*
|
||||
tex-conceal syntax.txt /*tex-conceal*
|
||||
@@ -8660,6 +8683,7 @@ v:count1 eval.txt /*v:count1*
|
||||
v:ctype eval.txt /*v:ctype*
|
||||
v:dying eval.txt /*v:dying*
|
||||
v:errmsg eval.txt /*v:errmsg*
|
||||
v:errors eval.txt /*v:errors*
|
||||
v:exception eval.txt /*v:exception*
|
||||
v:fcs_choice eval.txt /*v:fcs_choice*
|
||||
v:fcs_reason eval.txt /*v:fcs_reason*
|
||||
|
||||
+18
-13
@@ -85,11 +85,13 @@ changed, to avoid confusion when using ":tnext". It is changed when using
|
||||
":tag {ident}".
|
||||
|
||||
The ignore-case matches are not found for a ":tag" command when the
|
||||
'ignorecase' option is off. They are found when a pattern is used (starting
|
||||
with a "/") and for ":tselect", also when 'ignorecase' is off. Note that
|
||||
using ignore-case tag searching disables binary searching in the tags file,
|
||||
which causes a slowdown. This can be avoided by fold-case sorting the tag
|
||||
file. See the 'tagbsearch' option for an explanation.
|
||||
'ignorecase' option is off and 'tagcase' is "followic" or when 'tagcase' is
|
||||
"match". They are found when a pattern is used (starting with a "/") and for
|
||||
":tselect", also when 'ignorecase' is off and 'tagcase' is "followic" or when
|
||||
'tagcase' is "match". Note that using ignore-case tag searching disables
|
||||
binary searching in the tags file, which causes a slowdown. This can be
|
||||
avoided by fold-case sorting the tag file. See the 'tagbsearch' option for an
|
||||
explanation.
|
||||
|
||||
==============================================================================
|
||||
2. Tag stack *tag-stack* *tagstack* *E425*
|
||||
@@ -440,12 +442,13 @@ file "tags". It can also be used to access a common tags file.
|
||||
The next file in the list is not used when:
|
||||
- A matching static tag for the current buffer has been found.
|
||||
- A matching global tag has been found.
|
||||
This also depends on the 'ignorecase' option. If it is off, and the tags file
|
||||
only has a match without matching case, the next tags file is searched for a
|
||||
match with matching case. If no tag with matching case is found, the first
|
||||
match without matching case is used. If 'ignorecase' is on, and a matching
|
||||
global tag with or without matching case is found, this one is used, no
|
||||
further tags files are searched.
|
||||
This also depends on whether case is ignored. Case is ignored when
|
||||
'ignorecase' is set and 'tagcase' is "followic", or when 'tagcase' is
|
||||
"ignore". If case is not ignored, and the tags file only has a match without
|
||||
matching case, the next tags file is searched for a match with matching case.
|
||||
If no tag with matching case is found, the first match without matching case
|
||||
is used. If case is ignored, and a matching global tag with or without
|
||||
matching case is found, this one is used, no further tags files are searched.
|
||||
|
||||
When a tag file name starts with "./", the '.' is replaced with the path of
|
||||
the current file. This makes it possible to use a tags file in the directory
|
||||
@@ -579,8 +582,10 @@ that indicates if the file was sorted. When this line is found, Vim uses
|
||||
binary searching for the tags file:
|
||||
!_TAG_FILE_SORTED<Tab>1<Tab>{anything} ~
|
||||
|
||||
A tag file may be case-fold sorted to avoid a linear search when 'ignorecase'
|
||||
is on. See 'tagbsearch' for details. The value '2' should be used then:
|
||||
A tag file may be case-fold sorted to avoid a linear search when case is
|
||||
ignored. (Case is ignored when 'ignorecase' is set and 'tagcase' is
|
||||
"followic", or when 'tagcase' is "ignore".) See 'tagbsearch' for details.
|
||||
The value '2' should be used then:
|
||||
!_TAG_FILE_SORTED<Tab>2<Tab>{anything} ~
|
||||
|
||||
The other tag that Vim recognizes, but only when compiled with the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 7.4. Last change: 2015 Jun 25
|
||||
*term.txt* For Vim version 7.4. Last change: 2015 Nov 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -852,7 +852,7 @@ Mouse clicks can be mapped. The codes for mouse clicks are:
|
||||
|
||||
The X1 and X2 buttons refer to the extra buttons found on some mice. The
|
||||
'Microsoft Explorer' mouse has these buttons available to the right thumb.
|
||||
Currently X1 and X2 only work on Win32 environments.
|
||||
Currently X1 and X2 only work on Win32 and X11 environments.
|
||||
|
||||
Examples: >
|
||||
:noremap <MiddleMouse> <LeftMouse><MiddleMouse>
|
||||
|
||||
+83
-36
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.4. Last change: 2015 Oct 31
|
||||
*todo.txt* For Vim version 7.4. Last change: 2015 Dec 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -73,7 +73,13 @@ Regexp problems:
|
||||
- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/". Leaving
|
||||
out the \& works. Seems any column check after \& fails.
|
||||
- The pattern "\1" with the old engine gives E65, with the new engine it
|
||||
matches the empty string. (Dominique Pelle, 2015 Oct 2)
|
||||
matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
|
||||
|
||||
English spell file has an encoding error in the affix file.
|
||||
Perhaps use the files from here:
|
||||
https://github.com/marcoagpinto/aoo-mozilla-en-dict
|
||||
|
||||
Patch to enable clipboard with MSYS2. (Ken Takata, 2015 Nov 26)
|
||||
|
||||
Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
|
||||
More info Jul 24. Not clear why.
|
||||
@@ -83,24 +89,39 @@ work. (ZyX, 2013 Sep 28)
|
||||
|
||||
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
|
||||
|
||||
Netrw update. (Charles 2015 Oct 23)
|
||||
Installation of .desktop files does not work everywhere.
|
||||
It's now fixed, but the target directory probably isn't right.
|
||||
Add configure check?
|
||||
Should use /usr/local/share/applications or /usr/share/applications.
|
||||
Or use $XDG_DATA_DIRS.
|
||||
Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
|
||||
|
||||
test107 fails when run in the GUI on Linux.
|
||||
|
||||
Access to uninitialized memory in match_backref() regexp_nda.c:4882
|
||||
(Dominique Pelle, 2015 Nov 6)
|
||||
|
||||
Patch to fix test_listchars for MingW. (Christian Brabandt, 2015 Nov 29)
|
||||
|
||||
Patch to not set the python home if $PYTHONHOME is set. (Kazuki Sakamoto,
|
||||
2015 Nov 24)
|
||||
|
||||
Patch to use local value of 'errorformat' in :cexpr. (Christian Brabandt,
|
||||
2015 Oct 16) Only do this for :lexpr ?
|
||||
|
||||
Update Oracle syntax file from:
|
||||
https://github.com/chrisbra/vim-sqloracle-syntax/blob/master/syntax/sqloracle.vim
|
||||
|
||||
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
|
||||
directory exists. (Sergio Gallelli, 2013 Dec 29)
|
||||
|
||||
Updated syntax files. (Charles Campbell, 2015 Oct 19)
|
||||
Patch to make fnamemodify() work better with Cygwin. (Wily Wampa, 2015 Nov 28,
|
||||
issue 505)
|
||||
|
||||
Patch to include .desktop files in the distribution. PR #455.
|
||||
Patch to fix mc_FullName() on root directory. (Milly, 2015 Nov 24, Issue 501)
|
||||
|
||||
Better changelog syntax file. (Martin Florian, 2015 Oct 25)
|
||||
Patch to make matchparen restore curswant properly. (Christian Brabandt, 2015
|
||||
Nov 26)
|
||||
|
||||
Better readline syntax file. (Raphael Bazaud, 2015 Oct 25)
|
||||
Test 17 does not clean up the directory it creates. (Michael Soyka, 2015 Nov
|
||||
28)
|
||||
|
||||
English spell checking has an error. Updating doesn't work.
|
||||
(Dominique Pelle, 2015 Oct 15)
|
||||
@@ -112,29 +133,44 @@ changes the window layout and the current window. Make a variant that saves
|
||||
and restores. Use in the matchparen plugin.
|
||||
Perhaps we can use ":silent window"?
|
||||
|
||||
Patch for documentation mistakes. (Hirohito Higashi, 2015 Oct 22)
|
||||
|
||||
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
||||
|
||||
Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
|
||||
|
||||
Patch for yaml indent, #458.
|
||||
|
||||
Patch for Python to add isatty, readable, etc. (PR #464)
|
||||
|
||||
Patch to add options for specifying dll names. (Kazuki Sakamoto, 2015 Oct 16)
|
||||
PR #452 Check if it's secure (can't set from modeline).
|
||||
|
||||
Unexpected delay when using CTRL-O u. It's not timeoutlen.
|
||||
(Gary Johnson, 2015 Aug 28)
|
||||
|
||||
Patch for tee on Windows. (Yasuhiro Matsumoto, 2015 Nov 30)
|
||||
Update Dec 1.
|
||||
|
||||
Patch to use 256 color setup for all terminals that have 256 colors or more.
|
||||
#504. (rdebath, 2015 Dec 1)
|
||||
|
||||
Instead of separately uploading patches to the ftp site, can we get them from
|
||||
github? This URL works:
|
||||
https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff
|
||||
>
|
||||
Can src/GvimExt/Make_cyg.mak be removed?
|
||||
Same for src/xxd/Make_cyg.mak
|
||||
|
||||
Patch to replace deprecated gdk_pixbuf_new_from_inline(). (Kazunobu Kuriyama,
|
||||
2015 Nov 30, PR #507)
|
||||
|
||||
Updated Fortran files. (Ajit Thakkar, 2015 Nov 30, second one)
|
||||
|
||||
Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
|
||||
|
||||
Patch to add wordcount(). (Christian Brabandt, 2015 Nov 27)
|
||||
|
||||
Plugin to use Vim in MANPAGER. Konfekt, PR #491
|
||||
|
||||
Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)
|
||||
|
||||
Patch to recognize string slice for variable followed by colon.
|
||||
(Hirohito Higashi, 2015 Nov 24)
|
||||
|
||||
Patch to add debug backtrace. (Alberto Fanjul, 2015 Sep 27)
|
||||
Asked for :frame command.
|
||||
Update Dec 2.
|
||||
|
||||
MS-Windows: When editing a file with a leading space, writing it uses the
|
||||
wrong name. (Aram, 2014 Nov 7) Vim 7.4.
|
||||
@@ -142,15 +178,20 @@ wrong name. (Aram, 2014 Nov 7) Vim 7.4.
|
||||
Can't recognize the $ProgramFiles(x86) environment variable. Recognize it
|
||||
specifically? First try with the parens, then without.
|
||||
|
||||
Patch to add 'tagcase' option, whether to ignore case for tags.
|
||||
(Gary Johnson, 2015 Oct 17)
|
||||
|
||||
Patch to fix "." after CTRL-A in Visual block mode. (Ozaki Kiichi, 2015 Oct
|
||||
24)
|
||||
|
||||
Value returned by virtcol() changes depending on how lines wrap. This is
|
||||
inconsistent with the documentation.
|
||||
|
||||
Patch to add window and tab arguments to getcwd(). (Thinca, 2015 Nov 15)
|
||||
|
||||
Patch to build with Python using MSYS2. (Yasuhiro Matsumoto, 2015 Nov 26)
|
||||
Updated Nov 29.
|
||||
|
||||
To support Thai (and other languages) word boundaries, include the ICU
|
||||
library: http://userguide.icu-project.org/boundaryanalysis
|
||||
|
||||
When complete() first argument is before where insert started and 'backspace'
|
||||
is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)
|
||||
|
||||
@@ -163,6 +204,11 @@ Goes away when disabling the swap file. (might1, Feb 16)
|
||||
MS-Windows: Crash opening very long file name starting with "\\".
|
||||
(Christian Brock, 2012 Jun 29)
|
||||
|
||||
Patch to add ":syn iskeyword". (Christian Brabandt, 2015 Nov 10)
|
||||
|
||||
Patch to use PLATFORM to determine target architecture. (Taro Muraoka, 2015
|
||||
Nov 29)
|
||||
|
||||
If libiconv.dll is not found search for libiconv2.dll. (Yasuhiro Matsumoto,
|
||||
2015 Oct 7)
|
||||
|
||||
@@ -183,6 +229,9 @@ Update Aug 14.
|
||||
|
||||
Crash in :cnext on MS-Windows. (Ben Fritz, 2015 Oct 27)
|
||||
|
||||
Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
|
||||
26, update 2013 Dec 14, another 2014 Nov 22)
|
||||
|
||||
Patch for problem with restoring screen on Windows. (Nobuhiro Takasaki, 2015
|
||||
Sep 10)
|
||||
|
||||
@@ -196,12 +245,17 @@ Example in editing.txt uses $HOME with the expectating that it ends in a
|
||||
slash. For me it does, but perhaps not for everybody. Add a function that
|
||||
inserts a slash when needed? pathconcat(dir, path) (Thilo Six, 2015 Aug 12)
|
||||
|
||||
Patch to load TCL dynamically. (Ken Takata, 2015 Nov 11)
|
||||
|
||||
ml_updatechunk() is slow when retrying for another encoding. (John Little,
|
||||
2014 Sep 11)
|
||||
|
||||
Patch to fix checking global option value when not using it.
|
||||
(Arnaud Decara, 2015 Jul 23)
|
||||
|
||||
Patch to support Python 'None' value in pyeval(). (Damien, 2015 Nov 21)
|
||||
Need a Vim equivalent of None and a way to test for it.
|
||||
|
||||
When 'showbreak' is set repeating a Visual operation counts the size of the
|
||||
'showbreak' text as part of the operation. (Axel Bender, 2015 Jul 20)
|
||||
|
||||
@@ -222,9 +276,6 @@ Is this right?
|
||||
Patch to have CTRL-A and CTRL-X update the '[ and '] marks.
|
||||
(Yukihiro Nakadaira, 2015 Aug 23)
|
||||
|
||||
On MS-Windows viminfo file is always given the hidden attribute? (raulnac,
|
||||
2015 Oct 30)
|
||||
|
||||
Patch to make getregtype() return the right size for non-linux systems.
|
||||
(Yasuhiro Matsumoto, 2014 Jul 8)
|
||||
Breaks test_eval. Inefficient, can we only compute y_width when needed?
|
||||
@@ -235,6 +286,9 @@ Does this work for everybody?
|
||||
Patch to fix that wide characters do not work properly after exiting.
|
||||
(Yasuhiro Matsumoto, 2015 May 24) Better patch to come.
|
||||
|
||||
Patch to add wordcount(). Same info as g CTRL-G. (Christian Brabandt, 2015
|
||||
Nov 17)
|
||||
|
||||
Patch for man.vim. (SungHyun Nam, 2015 May 20)
|
||||
Doesn't work completely (Dominique Orban)
|
||||
|
||||
@@ -256,6 +310,7 @@ Mixup of highlighting when there is a match and SpellBad. (ZyX, 2015 Jan 1)
|
||||
|
||||
Patch for drag&drop reordering of GUI tab pages reordering.
|
||||
(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
|
||||
Now on Git: https://gist.github.com/nocd5/165286495c782b815b94
|
||||
|
||||
Patch on Issue 72: 'autochdir' causes problems for :vimgrep.
|
||||
|
||||
@@ -267,9 +322,6 @@ When two SIGWINCH arrive very quickly, the second one may be lost.
|
||||
|
||||
Make comments in the test Makefile silent. (Kartik Agaram, 2014 Sep 24)
|
||||
|
||||
Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
|
||||
26, update 2013 Dec 14, another 2014 Nov 22)
|
||||
|
||||
Patch to improve behavior of dead keys on MS-Windows. (John Wellesz, 2015 Aug
|
||||
25) https://github.com/vim/vim/pull/399.diff
|
||||
|
||||
@@ -371,6 +423,8 @@ Patch to make extend() fail early when it might fail at some point.
|
||||
Perhaps only the checks that can be done without looping over the dict or
|
||||
arguments.
|
||||
|
||||
Problem with transparent and matchgroup. Issue #475
|
||||
|
||||
Patch to add :arglocal and :arglists. (Marcin Szamotulski, 2014 Aug 6)
|
||||
|
||||
Spell files use a latin single quote. Unicode also has another single quote:
|
||||
@@ -409,8 +463,6 @@ from?
|
||||
Problem with upwards search on Windows (works OK on Linux). (Brett Stahlman,
|
||||
2014 Jun 8)
|
||||
|
||||
Patch to load TCL dynamically. (Ken Takata, 2014 Sep 20)
|
||||
|
||||
Include a plugin manager with Vim? Neobundle seems to be the best currently.
|
||||
Long message about this from ZyX, 2014 Mar 23. And following replies.
|
||||
Also see http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
|
||||
@@ -487,8 +539,6 @@ Remark on the docs. Should not be a compile time feature. But then what?
|
||||
Completion of ":e" is ":earlier", should be ":edit". Complete to the matching
|
||||
command instead of doing this alphabetically. (Mikel Jorgensen)
|
||||
|
||||
Patch to get MSVC version in a nicer way. (Ken Takata, 2014 Jul 24)
|
||||
|
||||
Patch to define macros for hardcoded values. (Elias Diem, 2013 Dec 14)
|
||||
|
||||
Several syntax file match "^\s*" which may get underlined if that's in the
|
||||
@@ -803,9 +853,6 @@ Only for MS-Windows. No documentation. Do we want this?
|
||||
|
||||
Patch to support cursor shape in Cygwin console. (Ben bgold, 2011 Dec 27)
|
||||
|
||||
Patch to support UTF-8 for Hangul. (Shawn Y.H. Kim, 2011 May 1)
|
||||
Needs more work. Pinged 2012 Jan 4.
|
||||
|
||||
Issue 64: when 'incsearch' is on can't paste LF on command line.
|
||||
|
||||
On MS-Windows a temp dir with a & init causes system() to fail. (Ben Fritz,
|
||||
|
||||
@@ -255,7 +255,8 @@ function.
|
||||
|
||||
RELATED ITEMS
|
||||
|
||||
You can set 'ignorecase' to make case in tag names be ignored.
|
||||
To make case in tag names be ignored, you can set 'ignorecase' while leaving
|
||||
'tagcase' as "followic", or set 'tagcase' to "ignore".
|
||||
|
||||
The 'tagbsearch' option tells if the tags file is sorted or not. The default
|
||||
is to assume a sorted tags file, which makes a tags search a lot faster, but
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 7.4. Last change: 2014 Aug 16
|
||||
*usr_41.txt* For Vim version 7.4. Last change: 2015 Nov 30
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -888,6 +888,11 @@ Mappings: *mapping-functions*
|
||||
maparg() get rhs of a mapping
|
||||
wildmenumode() check if the wildmode is active
|
||||
|
||||
Testing: *test-functions*
|
||||
assert_equal() assert that two expressions values are equal
|
||||
assert_false() assert that an expression is false
|
||||
assert_true() assert that an expression is true
|
||||
|
||||
Various: *various-functions*
|
||||
mode() get current editing mode
|
||||
visualmode() last visual mode used
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 7.4. Last change: 2014 Aug 06
|
||||
*various.txt* For Vim version 7.4. Last change: 2015 Nov 15
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -668,4 +668,12 @@ highlighting.
|
||||
|
||||
The "h" key will give you a short overview of the available commands.
|
||||
|
||||
If you want to set options differently when using less, define the
|
||||
LessInitFunc in your vimrc, for example: >
|
||||
|
||||
func LessInitFunc()
|
||||
set nocursorcolumn nocursorline
|
||||
endfunc
|
||||
<
|
||||
|
||||
vim:tw=78:ts=8:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vi_diff.txt* For Vim version 7.4. Last change: 2013 Aug 22
|
||||
*vi_diff.txt* For Vim version 7.4. Last change: 2015 Nov 01
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 7.4. Last change: 2015 Aug 29
|
||||
*windows.txt* For Vim version 7.4. Last change: 2015 Nov 14
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1023,7 +1023,7 @@ list of buffers. |unlisted-buffer|
|
||||
- buffers with 'modifiable' off
|
||||
= readonly buffers
|
||||
a active buffers
|
||||
u unloaded buffers (overrides the "!")
|
||||
u unlisted buffers (overrides the "!")
|
||||
h hidden buffers
|
||||
x buffers with a read error
|
||||
% current buffer
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2015 Oct 13
|
||||
" Last Change: 2015 Dec 03
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -1400,7 +1400,7 @@ else
|
||||
au BufNewFile,BufRead *.pl call s:FTpl()
|
||||
endif
|
||||
au BufNewFile,BufRead *.plx,*.al setf perl
|
||||
au BufNewFile,BufRead *.p6,*.pm6 setf perl6
|
||||
au BufNewFile,BufRead *.p6,*.pm6,*.pl6 setf perl6
|
||||
|
||||
func! s:FTpl()
|
||||
if exists("g:filetype_pl")
|
||||
@@ -1429,6 +1429,7 @@ au BufNewFile,BufRead *.pm
|
||||
|
||||
" Perl POD
|
||||
au BufNewFile,BufRead *.pod setf pod
|
||||
au BufNewFile,BufRead *.pod6 setf pod6
|
||||
|
||||
" Php, php3, php4, etc.
|
||||
" Also Phtml (was used for PHP 2 in the past)
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: generic Changelog file
|
||||
" Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2014-01-10
|
||||
" Language: generic Changelog file
|
||||
" Maintainer: Martin Florian <marfl@posteo.de>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-10-25
|
||||
" Variables:
|
||||
" g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) -
|
||||
" description: the timeformat used in ChangeLog entries.
|
||||
@@ -167,7 +168,7 @@ if &filetype == 'changelog'
|
||||
let cursor = stridx(line, '{cursor}')
|
||||
call setline(lnum, substitute(line, '{cursor}', '', ''))
|
||||
endif
|
||||
startinsert!
|
||||
startinsert
|
||||
endfunction
|
||||
|
||||
" Internal function to create a new entry in the ChangeLog.
|
||||
@@ -223,7 +224,8 @@ if &filetype == 'changelog'
|
||||
endfunction
|
||||
|
||||
if exists(":NewChangelogEntry") != 2
|
||||
noremap <buffer> <silent> <Leader>o <Esc>:call <SID>new_changelog_entry('')<CR>
|
||||
nnoremap <buffer> <silent> <Leader>o :<C-u>call <SID>new_changelog_entry('')<CR>
|
||||
xnoremap <buffer> <silent> <Leader>o :<C-u>call <SID>new_changelog_entry('')<CR>
|
||||
command! -nargs=0 NewChangelogEntry call s:new_changelog_entry('')
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: man
|
||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Last Change: 2014 Dec 29
|
||||
" Last Change: 2015 Nov 24
|
||||
|
||||
" To make the ":Man" command available before editing a manual page, source
|
||||
" this script from your startup vimrc file.
|
||||
@@ -33,6 +33,11 @@ if &filetype == "man"
|
||||
|
||||
nnoremap <buffer> <c-]> :call <SID>PreGetPage(v:count)<CR>
|
||||
nnoremap <buffer> <c-t> :call <SID>PopPage()<CR>
|
||||
nnoremap <buffer> <silent> q :q<CR>
|
||||
endif
|
||||
|
||||
if exists('g:ft_man_folding_enable') && (g:ft_man_folding_enable == 1)
|
||||
setlocal foldmethod=indent foldnestmax=1 foldenable
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setlocal iskeyword<"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: YAML
|
||||
" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
|
||||
" Last Change: 2015 Sep 25
|
||||
" Last Change: 2015 Nov 01
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists('b:did_indent')
|
||||
@@ -14,7 +14,7 @@ set cpo&vim
|
||||
let b:did_indent = 1
|
||||
|
||||
setlocal indentexpr=GetYAMLIndent(v:lnum)
|
||||
setlocal indentkeys=!^F,o,O,0#,0},0],<:>,-
|
||||
setlocal indentkeys=!^F,o,O,0#,0},0],<:>,0-
|
||||
setlocal nosmartindent
|
||||
|
||||
let b:undo_indent = 'setlocal indentexpr< indentkeys< smartindent<'
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim script to work like "less"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2014 May 13
|
||||
" Last Change: 2015 Nov 15
|
||||
|
||||
" Avoid loading this file twice, allow the user to define his own script.
|
||||
if exists("loaded_less")
|
||||
@@ -48,6 +48,12 @@ set nows
|
||||
let s:lz = &lz
|
||||
set lz
|
||||
|
||||
" Allow the user to define a function, which can set options specifically for
|
||||
" this script.
|
||||
if exists('*LessInitFunc')
|
||||
call LessInitFunc()
|
||||
endif
|
||||
|
||||
" Used after each command: put cursor at end and display position
|
||||
if &wrap
|
||||
noremap <SID>L L0:redraw<CR>:file<CR>
|
||||
|
||||
+27
-1
@@ -1,7 +1,7 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2015 Jul 22
|
||||
" Last Change: 2015 Nov 10
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
if bufwinnr("option-window") > 0
|
||||
@@ -289,6 +289,10 @@ call append("$", " \tset tl=" . &tl)
|
||||
call append("$", "tags\tlist of file names to search for tags")
|
||||
call append("$", "\t(global or local to buffer)")
|
||||
call <SID>OptionG("tag", &tag)
|
||||
call append("$", "tagcase\thow to handle case when searching in tags files:")
|
||||
call append("$", "\t\"followic\" to follow 'ignorecase', \"ignore\" or \"match\"")
|
||||
call append("$", "\t(global or local to buffer)")
|
||||
call <SID>OptionG("tc", &tc)
|
||||
call append("$", "tagrelative\tfile names in a tags file are relative to the tags file")
|
||||
call <SID>BinOptionG("tr", &tr)
|
||||
call append("$", "tagstack\ta :tag command will use the tagstack")
|
||||
@@ -651,6 +655,8 @@ if has("gui")
|
||||
call <SID>BinOptionG("fullscreen", &fullscreen)
|
||||
call append("$", "fuoptions\tcontrol how fullscreen mode should behave")
|
||||
call <SID>OptionG("fuoptions", &fuoptions)
|
||||
call append("$", "macligatures\tdisplay ligatures")
|
||||
call <SID>BinOptionG("macligatures", &macligatures)
|
||||
call append("$", "macmeta\tuse option as meta key")
|
||||
call append("$", "\t(local to buffer)")
|
||||
call <SID>BinOptionL("mmta")
|
||||
@@ -1320,6 +1326,26 @@ if has("mzscheme")
|
||||
call append("$", "mzquantum\tinterval in milliseconds between polls for MzScheme threads")
|
||||
call append("$", " \tset mzq=" . &mzq)
|
||||
endif
|
||||
if exists("&luadll")
|
||||
call append("$", "luadll\tname of the Lua dynamic library")
|
||||
call <SID>OptionG("luadll", &luadll)
|
||||
endif
|
||||
if exists("&perldll")
|
||||
call append("$", "perldll\tname of the Perl dynamic library")
|
||||
call <SID>OptionG("perldll", &perldll)
|
||||
endif
|
||||
if exists("&pythondll")
|
||||
call append("$", "pythondll\tname of the Python 2 dynamic library")
|
||||
call <SID>OptionG("pythondll", &pythondll)
|
||||
endif
|
||||
if exists("&pythonthreedll")
|
||||
call append("$", "pythonthreedll\tname of the Python 3 dynamic library")
|
||||
call <SID>OptionG("pythonthreedll", &pythonthreedll)
|
||||
endif
|
||||
if exists("&rubydll")
|
||||
call append("$", "rubydll\tname of the Ruby dynamic library")
|
||||
call <SID>OptionG("rubydll", &rubydll)
|
||||
endif
|
||||
|
||||
set cpo&vim
|
||||
|
||||
|
||||
+11
-3
@@ -2,7 +2,7 @@
|
||||
" Language: C++
|
||||
" Current Maintainer: vim-jp (https://github.com/vim-jp/vim-cpp)
|
||||
" Previous Maintainer: Ken Shan <ccshan@post.harvard.edu>
|
||||
" Last Change: 2015 May 04
|
||||
" Last Change: 2015 Nov 10
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -23,7 +23,8 @@ endif
|
||||
" C++ extensions
|
||||
syn keyword cppStatement new delete this friend using
|
||||
syn keyword cppAccess public protected private
|
||||
syn keyword cppType inline virtual explicit export bool wchar_t
|
||||
syn keyword cppModifier inline virtual explicit export
|
||||
syn keyword cppType bool wchar_t
|
||||
syn keyword cppExceptions throw try catch
|
||||
syn keyword cppOperator operator typeid
|
||||
syn keyword cppOperator and bitor or xor compl bitand and_eq or_eq xor_eq not not_eq
|
||||
@@ -36,7 +37,8 @@ syn keyword cppConstant __cplusplus
|
||||
|
||||
" C++ 11 extensions
|
||||
if !exists("cpp_no_cpp11")
|
||||
syn keyword cppType override final
|
||||
syn keyword cppModifier override final
|
||||
syn keyword cppType nullptr_t
|
||||
syn keyword cppExceptions noexcept
|
||||
syn keyword cppStorageClass constexpr decltype thread_local
|
||||
syn keyword cppConstant nullptr
|
||||
@@ -49,6 +51,11 @@ if !exists("cpp_no_cpp11")
|
||||
syn region cppRawString matchgroup=cppRawStringDelimiter start=+\%(u8\|[uLU]\)\=R"\z([[:alnum:]_{}[\]#<>%:;.?*\+\-/\^&|~!=,"']\{,16}\)(+ end=+)\z1"+ contains=@Spell
|
||||
endif
|
||||
|
||||
" C++ 14 extensions
|
||||
if !exists("cpp_no_cpp14")
|
||||
syn match cppNumber display "\<0b[01]\+\(u\=l\{0,2}\|ll\=u\)\>"
|
||||
endif
|
||||
|
||||
" The minimum and maximum operators in GNU C++
|
||||
syn match cppMinMax "[<>]?"
|
||||
|
||||
@@ -65,6 +72,7 @@ if version >= 508 || !exists("did_cpp_syntax_inits")
|
||||
HiLink cppExceptions Exception
|
||||
HiLink cppOperator Operator
|
||||
HiLink cppStatement Statement
|
||||
HiLink cppModifier Type
|
||||
HiLink cppType Type
|
||||
HiLink cppStorageClass StorageClass
|
||||
HiLink cppStructure Structure
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Previous Maintainer: Gautam H. Mudunuri <gmudunur@informatica.com>
|
||||
" Version Info:
|
||||
" Last Change: 2008 Sep 17
|
||||
" Last Change: 2015 Nov 24
|
||||
|
||||
" Additional highlighting by Johannes Tanzler <johannes.tanzler@aon.at>:
|
||||
" * manSubHeading
|
||||
@@ -27,8 +27,8 @@ endif
|
||||
syn case ignore
|
||||
syn match manReference "\f\+([1-9][a-z]\=)"
|
||||
syn match manTitle "^\f\+([0-9]\+[a-z]\=).*"
|
||||
syn match manSectionHeading "^[a-z][a-z ]*[a-z]$"
|
||||
syn match manSubHeading "^\s\{3\}[a-z][a-z ]*[a-z]$"
|
||||
syn match manSectionHeading "^[a-z][a-z -]*[a-z]$"
|
||||
syn match manSubHeading "^\s\{3\}[a-z][a-z -]*[a-z]$"
|
||||
syn match manOptionDesc "^\s*[+-][a-z0-9]\S*"
|
||||
syn match manLongOptionDesc "^\s*--[a-z0-9-]\S*"
|
||||
" syn match manHistory "^[a-z].*last change.*$"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: php PHP 3/4/5
|
||||
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
|
||||
" Last Change: Mar 24, 2015
|
||||
" Last Change: Nov 23, 2015
|
||||
" URL: https://jasonwoof.com/gitweb/?p=vim-syntax.git;a=blob;f=php.vim;hb=HEAD
|
||||
" Former Maintainers: Peter Hodge <toomuchphp-vim@yahoo.com>
|
||||
" Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
@@ -280,7 +280,7 @@ syn keyword phpStatement return break continue exit goto contained
|
||||
syn keyword phpKeyword var const contained
|
||||
|
||||
" Type
|
||||
syn keyword phpType bool[ean] int[eger] real double float string array object NULL contained
|
||||
syn keyword phpType bool boolean int integer real double float string array object NULL contained
|
||||
|
||||
" Structure
|
||||
syn keyword phpStructure namespace extends implements instanceof parent self contained
|
||||
@@ -393,13 +393,13 @@ endif
|
||||
|
||||
" String
|
||||
if exists("php_parent_error_open")
|
||||
syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpBackslashSequences,phpBackslashDoubleQuote,@phpInterpDouble contained keepend
|
||||
syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpBackslashSequences,phpIdentifierSimply,phpIdentifierComplex contained keepend
|
||||
syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpBackslashSingleQuote contained keepend
|
||||
syn region phpStringDouble matchgroup=phpStringDouble start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpBackslashSequences,phpBackslashDoubleQuote,@phpInterpDouble contained keepend
|
||||
syn region phpBacktick matchgroup=phpBacktick start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpBackslashSequences,phpIdentifierSimply,phpIdentifierComplex contained keepend
|
||||
syn region phpStringSingle matchgroup=phpStringSingle start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpBackslashSingleQuote contained keepend
|
||||
else
|
||||
syn region phpStringDouble matchgroup=None start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpBackslashSequences,phpBackslashDoubleQuote,@phpInterpDouble contained extend keepend
|
||||
syn region phpBacktick matchgroup=None start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpBackslashSequences,phpIdentifierSimply,phpIdentifierComplex contained extend keepend
|
||||
syn region phpStringSingle matchgroup=None start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpBackslashSingleQuote contained keepend extend
|
||||
syn region phpStringDouble matchgroup=phpStringDouble start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@phpAddStrings,phpBackslashSequences,phpBackslashDoubleQuote,@phpInterpDouble contained extend keepend
|
||||
syn region phpBacktick matchgroup=phpBacktick start=+`+ skip=+\\\\\|\\"+ end=+`+ contains=@phpAddStrings,phpIdentifier,phpBackslashSequences,phpIdentifierSimply,phpIdentifierComplex contained extend keepend
|
||||
syn region phpStringSingle matchgroup=phpStringSingle start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@phpAddStrings,phpBackslashSingleQuote contained keepend extend
|
||||
endif
|
||||
|
||||
" HereDoc and NowDoc
|
||||
|
||||
+17
-6
@@ -3,7 +3,9 @@
|
||||
" Maintainer: Jakson Aquino <jalvesaq@gmail.com>
|
||||
" Former Maintainers: Vaidotas Zemlys <zemlys@gmail.com>
|
||||
" Tom Payne <tom@tompayne.org>
|
||||
" Last Change: Wed Dec 31, 2014 12:36AM
|
||||
" Contributor: Johannes Ranke <jranke@uni-bremen.de>
|
||||
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
|
||||
" Last Change: Wed Oct 21, 2015 06:33AM
|
||||
" Filenames: *.R *.r *.Rhistory *.Rt
|
||||
"
|
||||
" NOTE: The highlighting of R functions is defined in
|
||||
@@ -30,16 +32,21 @@ syn case match
|
||||
|
||||
" Comment
|
||||
syn match rCommentTodo contained "\(BUG\|FIXME\|NOTE\|TODO\):"
|
||||
syn match rComment contains=@Spell,rCommentTodo "#.*"
|
||||
syn match rComment contains=@Spell,rCommentTodo,rOBlock "#.*"
|
||||
|
||||
" Roxygen
|
||||
syn match rOKeyword contained "@\(param\|return\|name\|rdname\|examples\|include\|docType\)"
|
||||
syn region rOBlock start="^\s*\n#\{1,2}' " start="\%^#\{1,2}' " end="^\(#\{1,2}'\)\@!" contains=rOTitle,rOKeyword,rOExamples,@Spell keepend
|
||||
syn region rOTitle start="^\s*\n#\{1,2}' " start="\%^#\{1,2}' " end="^\(#\{1,2}'\s*$\)\@=" contained contains=rOCommentKey
|
||||
syn match rOCommentKey "#\{1,2}'" containedin=rOTitle contained
|
||||
|
||||
syn region rOExamples start="^#\{1,2}' @examples.*"rs=e+1,hs=e+1 end="^\(#\{1,2}' @.*\)\@=" end="^\(#\{1,2}'\)\@!" contained contains=rOKeyword
|
||||
|
||||
syn match rOKeyword contained "@\(param\|return\|name\|rdname\|examples\|example\|include\|docType\)"
|
||||
syn match rOKeyword contained "@\(S3method\|TODO\|aliases\|alias\|assignee\|author\|callGraphDepth\|callGraph\)"
|
||||
syn match rOKeyword contained "@\(callGraphPrimitives\|concept\|exportClass\|exportMethod\|exportPattern\|export\|formals\)"
|
||||
syn match rOKeyword contained "@\(format\|importClassesFrom\|importFrom\|importMethodsFrom\|import\|keywords\|useDynLib\)"
|
||||
syn match rOKeyword contained "@\(method\|noRd\|note\|references\|seealso\|setClass\|slot\|source\|title\|usage\)"
|
||||
syn match rOKeyword contained "@\(family\|template\|templateVar\|description\|details\|inheritParams\)"
|
||||
syn match rOComment contains=@Spell,rOKeyword "#'.*"
|
||||
syn match rOKeyword contained "@\(family\|template\|templateVar\|description\|details\|inheritParams\|field\)"
|
||||
|
||||
|
||||
if &filetype == "rhelp"
|
||||
@@ -202,7 +209,6 @@ hi def link rBoolean Boolean
|
||||
hi def link rBraceError Error
|
||||
hi def link rComment Comment
|
||||
hi def link rCommentTodo Todo
|
||||
hi def link rOComment Comment
|
||||
hi def link rComplex Number
|
||||
hi def link rConditional Conditional
|
||||
hi def link rConstant Constant
|
||||
@@ -230,6 +236,11 @@ hi def link rString String
|
||||
hi def link rStrError Error
|
||||
hi def link rType Type
|
||||
hi def link rOKeyword Title
|
||||
hi def link rOBlock Comment
|
||||
hi def link rOTitle Title
|
||||
hi def link rOCommentKey Comment
|
||||
hi def link rOExamples SpecialComment
|
||||
|
||||
|
||||
let b:current_syntax="r"
|
||||
|
||||
|
||||
@@ -1,13 +1,17 @@
|
||||
" Vim syntax file
|
||||
" Language: Remind
|
||||
" Maintainer: Davide Alberani <alberanid@libero.it>
|
||||
" Last Change: 18 Sep 2009
|
||||
" Version: 0.5
|
||||
" URL: http://erlug.linux.it/~da/vim/syntax/remind.vim
|
||||
" Maintainer: Davide Alberani <da@erlug.linux.it>
|
||||
" Last Change: 02 Nov 2015
|
||||
" Version: 0.7
|
||||
" URL: http://ismito.it/vim/syntax/remind.vim
|
||||
"
|
||||
" remind is a sophisticated reminder service
|
||||
" you can download remind from:
|
||||
" http://www.roaringpenguin.com/penguin/open_source_remind.php
|
||||
" Remind is a sophisticated calendar and alarm program.
|
||||
" You can download remind from:
|
||||
" https://www.roaringpenguin.com/products/remind
|
||||
"
|
||||
" Changelog
|
||||
" version 0.7: updated email and link
|
||||
" version 0.6: added THROUGH keyword (courtesy of Ben Orchard)
|
||||
|
||||
if version < 600
|
||||
syntax clear
|
||||
@@ -19,7 +23,7 @@ endif
|
||||
syn case ignore
|
||||
|
||||
syn keyword remindCommands REM OMIT SET FSET UNSET
|
||||
syn keyword remindExpiry UNTIL FROM SCANFROM SCAN WARN SCHED
|
||||
syn keyword remindExpiry UNTIL FROM SCANFROM SCAN WARN SCHED THROUGH
|
||||
syn keyword remindTag PRIORITY TAG
|
||||
syn keyword remindTimed AT DURATION
|
||||
syn keyword remindMove ONCE SKIP BEFORE AFTER
|
||||
|
||||
+89
-103
@@ -2,11 +2,11 @@
|
||||
" Language: shell (sh) Korn shell (ksh) bash (sh)
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
|
||||
" Last Change: Oct 09, 2015
|
||||
" Version: 139
|
||||
" Last Change: Nov 09, 2015
|
||||
" Version: 142
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
|
||||
" For options and settings, please use: :help ft-sh-syntax
|
||||
" This file includes many ideas from ?ric Brunet (eric.brunet@ens.fr)
|
||||
" This file includes many ideas from Eric Brunet (eric.brunet@ens.fr)
|
||||
|
||||
" For version 5.x: Clear all syntax items {{{1
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
@@ -16,17 +16,6 @@ elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" AFAICT "." should be considered part of the iskeyword for ksh. Using iskeywords
|
||||
" in syntax is dicey, so the following code permits the user to prevent/override
|
||||
" g:sh_isk set to a string : specify iskeyword.
|
||||
" g:sh_noisk exists : don't change iskeyword
|
||||
" g:sh_noisk does not exist : (default) append "." to iskeyword for kornshell
|
||||
if exists("g:sh_isk") && type(g:sh_isk) == 1 " user specifying iskeyword
|
||||
exe "setl isk=".g:sh_isk
|
||||
elseif !exists("g:sh_noisk") && exists("b:is_kornshell") " append '.' to iskeyword
|
||||
setl isk+=.
|
||||
endif
|
||||
|
||||
" trying to answer the question: which shell is /bin/sh, really?
|
||||
" If the user has not specified any of g:is_kornshell, g:is_bash, g:is_posix, g:is_sh, then guess.
|
||||
if !exists("g:is_kornshell") && !exists("g:is_bash") && !exists("g:is_posix") && !exists("g:is_sh")
|
||||
@@ -73,6 +62,7 @@ if !exists("b:is_kornshell") && !exists("b:is_bash")
|
||||
endif
|
||||
|
||||
" set up default g:sh_fold_enabled {{{1
|
||||
" ================================
|
||||
if !exists("g:sh_fold_enabled")
|
||||
let g:sh_fold_enabled= 0
|
||||
elseif g:sh_fold_enabled != 0 && !has("folding")
|
||||
@@ -95,6 +85,24 @@ if g:sh_fold_enabled && &fdm == "manual"
|
||||
setl fdm=syntax
|
||||
endif
|
||||
|
||||
" Set up folding commands for shell {{{1
|
||||
" =================================
|
||||
if s:sh_fold_functions
|
||||
com! -nargs=* ShFoldFunctions <args> fold
|
||||
else
|
||||
com! -nargs=* ShFoldFunctions <args>
|
||||
endif
|
||||
if s:sh_fold_heredoc
|
||||
com! -nargs=* ShFoldHereDoc <args> fold
|
||||
else
|
||||
com! -nargs=* ShFoldHereDoc <args>
|
||||
endif
|
||||
if s:sh_fold_ifdofor
|
||||
com! -nargs=* ShFoldIfDoFor <args> fold
|
||||
else
|
||||
com! -nargs=* ShFoldIfDoFor <args>
|
||||
endif
|
||||
|
||||
" sh syntax is case sensitive {{{1
|
||||
syn case match
|
||||
|
||||
@@ -108,7 +116,7 @@ syn cluster shArithParenList contains=shArithmetic,shCaseEsac,shComment,shDeref,
|
||||
syn cluster shArithList contains=@shArithParenList,shParenError
|
||||
syn cluster shCaseEsacList contains=shCaseStart,shCase,shCaseBar,shCaseIn,shComment,shDeref,shDerefSimple,shCaseCommandSub,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote,shCtrlSeq,@shErrorList,shStringSpecial,shCaseRange
|
||||
syn cluster shCaseList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shHereDoc,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq
|
||||
syn cluster shCommandSubList contains=shAlias,shArithmetic,shCmdParenRegion,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shEcho,shEscape,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shOption,shPosnParm,shSingleQuote,shSpecial,shStatement,shSubSh,shTest,shVariable
|
||||
syn cluster shCommandSubList contains=shAlias,shArithmetic,shComment,shCmdParenRegion,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shEcho,shEscape,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shOption,shPosnParm,shSingleQuote,shSpecial,shStatement,shSubSh,shTest,shVariable
|
||||
syn cluster shCurlyList contains=shNumber,shComma,shDeref,shDerefSimple,shDerefSpecial
|
||||
syn cluster shDblQuoteList contains=shCommandSub,shDeref,shDerefSimple,shEscape,shPosnParm,shCtrlSeq,shSpecial
|
||||
syn cluster shDerefList contains=shDeref,shDerefSimple,shDerefVar,shDerefSpecial,shDerefWordError,shDerefPPS
|
||||
@@ -126,9 +134,10 @@ syn cluster shHereList contains=shBeginHere,shHerePayload
|
||||
syn cluster shHereListDQ contains=shBeginHere,@shDblQuoteList,shHerePayload
|
||||
syn cluster shIdList contains=shCommandSub,shWrapLineOperator,shSetOption,shDeref,shDerefSimple,shRedir,shExSingleQuote,shExDoubleQuote,shSingleQuote,shDoubleQuote,shExpr,shCtrlSeq,shStringSpecial,shAtExpr
|
||||
syn cluster shIfList contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo
|
||||
syn cluster shLoopList contains=@shCaseList,@shErrorList,shCaseEsac,shConditional,shDblBrace,shExpr,shFor,shForPP,shIf,shOption,shSet,shTest,shTestOpr
|
||||
syn cluster shLoopList contains=@shCaseList,@shErrorList,shCaseEsac,shConditional,shDblBrace,shExpr,shFor,shForPP,shIf,shOption,shSet,shTest,shTestOpr,shTouch
|
||||
syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
|
||||
syn cluster shTestList contains=shCharClass,shCommandSub,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr
|
||||
|
||||
" Echo: {{{1
|
||||
" ====
|
||||
" This one is needed INSIDE a CommandSub, so that `echo bla` be correct
|
||||
@@ -145,6 +154,11 @@ if exists("b:is_kornshell") || exists("b:is_bash")
|
||||
syn match shStatement "\<alias\>"
|
||||
syn region shAlias matchgroup=shStatement start="\<alias\>\s\+\(\h[-._[:alnum:]]\+\)\@=" skip="\\$" end="\>\|`"
|
||||
syn region shAlias matchgroup=shStatement start="\<alias\>\s\+\(\h[-._[:alnum:]]\+=\)\@=" skip="\\$" end="="
|
||||
|
||||
" Touch: {{{1
|
||||
" =====
|
||||
syn match shTouch '\<touch\>[^;#]*' skipwhite nextgroup=shTouchList contains=shTouchCmd
|
||||
syn match shTouchCmd '\<touch\>' contained
|
||||
endif
|
||||
|
||||
" Error Codes: {{{1
|
||||
@@ -193,15 +207,16 @@ syn region shSubSh transparent matchgroup=shSubShRegion start="[^(]\zs(" end=")"
|
||||
"=======
|
||||
syn region shExpr matchgroup=shRange start="\[" skip=+\\\\\|\\$\|\[+ end="\]" contains=@shTestList,shSpecial
|
||||
syn region shTest transparent matchgroup=shStatement start="\<test\s" skip=+\\\\\|\\$+ matchgroup=NONE end="[;&|]"me=e-1 end="$" contains=@shExprList1
|
||||
syn region shNoQuote start='\S' skip='\%(\\\\\)*\\.' end='\ze\s' contained
|
||||
syn match shTestOpr contained '[^-+/%]\zs=' skipwhite nextgroup=shTestDoubleQuote,shTestSingleQuote,shTestPattern
|
||||
syn match shTestOpr contained "<=\|>=\|!=\|==\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]"
|
||||
syn match shTestOpr contained "<=\|>=\|!=\|==\|=\~\|-.\>\|-\(nt\|ot\|ef\|eq\|ne\|lt\|le\|gt\|ge\)\>\|[!<>]"
|
||||
syn match shTestPattern contained '\w\+'
|
||||
syn region shTestDoubleQuote contained start='\%(\%(\\\\\)*\\\)\@<!"' skip=+\\\\\|\\"+ end='"'
|
||||
syn match shTestSingleQuote contained '\\.'
|
||||
syn match shTestSingleQuote contained "'[^']*'"
|
||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
||||
syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\\\\\|\\$+ end="\]\]" contains=@shTestList,shComment
|
||||
syn region shDblParen matchgroup=Delimiter start="((" skip=+\\\\\|\\$+ end="))" contains=@shTestList,shComment
|
||||
syn region shDblBrace matchgroup=Delimiter start="\[\[" skip=+\%(\\\\\)*\\$+ end="\]\]" contains=@shTestList,shNoQuote,shComment
|
||||
syn region shDblParen matchgroup=Delimiter start="((" skip=+\%(\\\\\)*\\$+ end="))" contains=@shTestList,shComment
|
||||
endif
|
||||
|
||||
" Character Class In Range: {{{1
|
||||
@@ -210,17 +225,11 @@ syn match shCharClass contained "\[:\(backspace\|escape\|return\|xdigit\|alnum
|
||||
|
||||
" Loops: do, if, while, until {{{1
|
||||
" ======
|
||||
if s:sh_fold_ifdofor
|
||||
syn region shDo fold transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
|
||||
syn region shIf fold transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList
|
||||
syn region shFor fold matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\_s" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
|
||||
syn region shForPP fold matchgroup=shLoop start='\<for\>\_s*((' end='))' contains=shTestOpr
|
||||
else
|
||||
syn region shDo transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
|
||||
syn region shIf transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList
|
||||
syn region shFor matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\>" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
|
||||
syn region shForPP matchgroup=shLoop start='\<for\>\_s*((' end='))' contains=shTestOpr
|
||||
endif
|
||||
ShFoldIfDoFor syn region shDo transparent matchgroup=shConditional start="\<do\>" matchgroup=shConditional end="\<done\>" contains=@shLoopList
|
||||
ShFoldIfDoFor syn region shIf transparent matchgroup=shConditional start="\<if\_s" matchgroup=shConditional skip=+-fi\>+ end="\<;\_s*then\>" end="\<fi\>" contains=@shIfList
|
||||
ShFoldIfDoFor syn region shFor matchgroup=shLoop start="\<for\ze\_s\s*\%(((\)\@!" end="\<in\>" end="\<do\>"me=e-2 contains=@shLoopList,shDblParen skipwhite nextgroup=shCurlyIn
|
||||
ShFoldIfDoFor syn region shForPP matchgroup=shLoop start='\<for\>\_s*((' end='))' contains=shTestOpr
|
||||
|
||||
if exists("b:is_kornshell") || exists("b:is_bash")
|
||||
syn cluster shCaseList add=shRepeat
|
||||
syn cluster shFunctionList add=shRepeat
|
||||
@@ -238,13 +247,9 @@ syn match shComma contained ","
|
||||
" ====
|
||||
syn match shCaseBar contained skipwhite "\(^\|[^\\]\)\(\\\\\)*\zs|" nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
|
||||
syn match shCaseStart contained skipwhite skipnl "(" nextgroup=shCase,shCaseBar
|
||||
if s:sh_fold_ifdofor
|
||||
syn region shCase fold contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
|
||||
syn region shCaseEsac fold matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList
|
||||
else
|
||||
syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
|
||||
syn region shCaseEsac matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList
|
||||
endif
|
||||
ShFoldIfDoFor syn region shCase contained skipwhite skipnl matchgroup=shSnglCase start="\%(\\.\|[^#$()'" \t]\)\{-}\zs)" end=";;" end="esac"me=s-1 contains=@shCaseList nextgroup=shCaseStart,shCase,shComment
|
||||
ShFoldIfDoFor syn region shCaseEsac matchgroup=shConditional start="\<case\>" end="\<esac\>" contains=@shCaseEsacList
|
||||
|
||||
syn keyword shCaseIn contained skipwhite skipnl in nextgroup=shCase,shCaseStart,shCaseBar,shComment,shCaseExSingleQuote,shCaseSingleQuote,shCaseDoubleQuote
|
||||
if exists("b:is_bash")
|
||||
syn region shCaseExSingleQuote matchgroup=shQuote start=+\$'+ skip=+\\\\\|\\.+ end=+'+ contains=shStringSpecial,shSpecial skipwhite skipnl nextgroup=shCaseBar contained
|
||||
@@ -286,7 +291,7 @@ if exists("b:is_bash")
|
||||
syn cluster shCommandSubList add=bashSpecialVariables,bashStatement
|
||||
syn cluster shCaseList add=bashAdminStatement,bashStatement
|
||||
syn keyword bashSpecialVariables contained auto_resume BASH BASH_ALIASES BASH_ALIASES BASH_ARGC BASH_ARGC BASH_ARGV BASH_ARGV BASH_CMDS BASH_CMDS BASH_COMMAND BASH_COMMAND BASH_ENV BASH_EXECUTION_STRING BASH_EXECUTION_STRING BASH_LINENO BASH_LINENO BASHOPTS BASHOPTS BASHPID BASHPID BASH_REMATCH BASH_REMATCH BASH_SOURCE BASH_SOURCE BASH_SUBSHELL BASH_SUBSHELL BASH_VERSINFO BASH_VERSION BASH_XTRACEFD BASH_XTRACEFD CDPATH COLUMNS COLUMNS COMP_CWORD COMP_CWORD COMP_KEY COMP_KEY COMP_LINE COMP_LINE COMP_POINT COMP_POINT COMPREPLY COMPREPLY COMP_TYPE COMP_TYPE COMP_WORDBREAKS COMP_WORDBREAKS COMP_WORDS COMP_WORDS COPROC COPROC DIRSTACK EMACS EMACS ENV ENV EUID FCEDIT FIGNORE FUNCNAME FUNCNAME FUNCNEST FUNCNEST GLOBIGNORE GROUPS histchars HISTCMD HISTCONTROL HISTFILE HISTFILESIZE HISTIGNORE HISTSIZE HISTTIMEFORMAT HISTTIMEFORMAT HOME HOSTFILE HOSTNAME HOSTTYPE IFS IGNOREEOF INPUTRC LANG LC_ALL LC_COLLATE LC_CTYPE LC_CTYPE LC_MESSAGES LC_NUMERIC LC_NUMERIC LINENO LINES LINES MACHTYPE MAIL MAILCHECK MAILPATH MAPFILE MAPFILE OLDPWD OPTARG OPTERR OPTIND OSTYPE PATH PIPESTATUS POSIXLY_CORRECT POSIXLY_CORRECT PPID PROMPT_COMMAND PS1 PS2 PS3 PS4 PWD RANDOM READLINE_LINE READLINE_LINE READLINE_POINT READLINE_POINT REPLY SECONDS SHELL SHELL SHELLOPTS SHLVL TIMEFORMAT TIMEOUT TMPDIR TMPDIR UID
|
||||
syn keyword bashStatement chmod clear complete du egrep expr fgrep find gnufind gnugrep grep less ls mkdir mv rm rmdir rpm sed sleep sort strip tail touch
|
||||
syn keyword bashStatement chmod clear complete du egrep expr fgrep find gnufind gnugrep grep less ls mkdir mv rm rmdir rpm sed sleep sort strip tail
|
||||
syn keyword bashAdminStatement daemon killall killproc nice reload restart start status stop
|
||||
syn keyword bashStatement command compgen
|
||||
endif
|
||||
@@ -295,7 +300,7 @@ if exists("b:is_kornshell")
|
||||
syn cluster shCommandSubList add=kshSpecialVariables,kshStatement
|
||||
syn cluster shCaseList add=kshStatement
|
||||
syn keyword kshSpecialVariables contained CDPATH COLUMNS EDITOR ENV ERRNO FCEDIT FPATH HISTFILE HISTSIZE HOME IFS LINENO LINES MAIL MAILCHECK MAILPATH OLDPWD OPTARG OPTIND PATH PPID PS1 PS2 PS3 PS4 PWD RANDOM REPLY SECONDS SHELL TMOUT VISUAL
|
||||
syn keyword kshStatement cat chmod clear cp du egrep expr fgrep find grep killall less ls mkdir mv nice printenv rm rmdir sed sort strip stty tail touch tput
|
||||
syn keyword kshStatement cat chmod clear cp du egrep expr fgrep find grep killall less ls mkdir mv nice printenv rm rmdir sed sort strip stty tail tput
|
||||
syn keyword kshStatement command setgroups setsenv
|
||||
endif
|
||||
|
||||
@@ -323,7 +328,6 @@ syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell
|
||||
syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
|
||||
syn match shStringSpecial "[^[:print:] \t]" contained
|
||||
syn match shStringSpecial "\%(\\\\\)*\\[\\"'`$()#]"
|
||||
" COMBAK: why is ,shComment on next line???
|
||||
syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"
|
||||
syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]"
|
||||
syn match shMoreSpecial "\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial contained
|
||||
@@ -347,35 +351,22 @@ if version < 600
|
||||
syn region shHereDoc matchgroup=shHereDoc05 start="<<\s*\**\.\**" matchgroup=shHereDoc05 end="^\.$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc06 start="<<-\s*\**\.\**" matchgroup=shHereDoc06 end="^\s*\.$" contains=@shDblQuoteList
|
||||
|
||||
elseif s:sh_fold_heredoc
|
||||
syn region shHereDoc matchgroup=shHereDoc07 fold start="<<\s*\z([^ \t|]*\)" matchgroup=shHereDoc07 end="^\z1\s*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc08 fold start="<<\s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc08 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc09 fold start="<<\s*'\z([^ \t|]*\)'" matchgroup=shHereDoc09 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc10 fold start="<<-\s*\z([^ \t|]*\)" matchgroup=shHereDoc10 end="^\s*\z1\s*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc11 fold start="<<-\s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc11 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc12 fold start="<<-\s*'\z([^ \t|]*\)'" matchgroup=shHereDoc12 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc13 fold start="<<\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shHereDoc13 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc14 fold start="<<\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc14 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc15 fold start="<<-\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shHereDoc15 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc16 fold start="<<-\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shHereDoc16 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc17 fold start="<<-\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc17 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc18 fold start="<<\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shHereDoc18 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc19 fold start="<<\\\z([^ \t|]*\)" matchgroup=shHereDoc19 end="^\z1\s*$"
|
||||
|
||||
else
|
||||
syn region shHereDoc matchgroup=shHereDoc20 start="<<\s*\\\=\z([^ \t|]*\)" matchgroup=shHereDoc20 end="^\z1\s*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc21 start="<<\s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc21 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc22 start="<<-\s*\z([^ \t|]*\)" matchgroup=shHereDoc22 end="^\s*\z1\s*$" contains=@shDblQuoteList
|
||||
syn region shHereDoc matchgroup=shHereDoc23 start="<<-\s*'\z([^ \t|]*\)'" matchgroup=shHereDoc23 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc24 start="<<\s*'\z([^ \t|]*\)'" matchgroup=shHereDoc24 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc25 start="<<-\s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc25 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc26 start="<<\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shHereDoc26 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc27 start="<<-\s*\\\_$\_s*\z([^ \t|]*\)" matchgroup=shHereDoc27 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc28 start="<<-\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shHereDoc28 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc29 start="<<\s*\\\_$\_s*'\z([^ \t|]*\)'" matchgroup=shHereDoc29 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc30 start="<<\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc30 end="^\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc31 start="<<-\s*\\\_$\_s*\"\z([^ \t|]*\)\"" matchgroup=shHereDoc31 end="^\s*\z1\s*$"
|
||||
syn region shHereDoc matchgroup=shHereDoc32 start="<<\\\z([^ \t|]*\)" matchgroup=shHereDoc32 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc07 start="<<\s*\\\=\z([^ \t|]\+\)" matchgroup=shHereDoc07 end="^\z1\s*$" contains=@shDblQuoteList
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc08 start="<<\s*\"\z([^ \t|]\+\)\"" matchgroup=shHereDoc08 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc09 start="<<-\s*\z([^ \t|]\+\)" matchgroup=shHereDoc09 end="^\s*\z1\s*$" contains=@shDblQuoteList
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc10 start="<<-\s*'\z([^ \t|]\+\)'" matchgroup=shHereDoc10 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc11 start="<<\s*'\z([^ \t|]\+\)'" matchgroup=shHereDoc11 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc12 start="<<-\s*\"\z([^ \t|]\+\)\"" matchgroup=shHereDoc12 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc13 start="<<\s*\\\_$\_s*\z([^ \t|]\+\)" matchgroup=shHereDoc13 end="^\z1\s*$" contains=@shDblQuoteList
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc14 start="<<\s*\\\_$\_s*'\z([^ \t|]\+\)'" matchgroup=shHereDoc14 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc15 start="<<\s*\\\_$\_s*\"\z([^ \t|]\+\)\"" matchgroup=shHereDoc15 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc16 start="<<-\s*\\\_$\_s*\z([^ \t|]\+\)" matchgroup=shHereDoc16 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc17 start="<<-\s*\\\_$\_s*\\\z([^ \t|]\+\)" matchgroup=shHereDoc17 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc18 start="<<-\s*\\\_$\_s*'\z([^ \t|]\+\)'" matchgroup=shHereDoc18 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc19 start="<<-\s*\\\_$\_s*\"\z([^ \t|]\+\)\"" matchgroup=shHereDoc19 end="^\s*\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc20 start="<<\\\z([^ \t|]\+\)" matchgroup=shHereDoc20 end="^\z1\s*$"
|
||||
ShFoldHereDoc syn region shHereDoc matchgroup=shHereDoc21 start="<<-\s*\\\z([^ \t|]\+\)" matchgroup=shHereDoc21 end="^\s*\z1\s*$"
|
||||
endif
|
||||
|
||||
" Here Strings: {{{1
|
||||
@@ -407,38 +398,24 @@ if !exists("g:is_posix")
|
||||
endif
|
||||
|
||||
if exists("b:is_bash")
|
||||
if s:sh_fold_functions
|
||||
syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionTwo fold matchgroup=shFunction start="\<[^d][^o]\&\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionThree fold matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionFour fold matchgroup=shFunction start="\<[^d][^o]\&\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*)" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
else
|
||||
syn region shFunctionOne matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList
|
||||
syn region shFunctionTwo matchgroup=shFunction start="\<[^d][^o]\&\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained
|
||||
syn region shFunctionThree matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*(" end=")" contains=@shFunctionList
|
||||
syn region shFunctionFour matchgroup=shFunction start="\<[^d][^o]\&\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained
|
||||
endif
|
||||
ShFoldFunctions syn region shFunctionOne matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionTwo matchgroup=shFunction start="\<[^d][^o]\&\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionThree matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionFour matchgroup=shFunction start="\<[^d][^o]\&\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*)" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
else
|
||||
if s:sh_fold_functions
|
||||
syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionTwo fold matchgroup=shFunction start="\<[^d][^o]\&\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionThree fold matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
syn region shFunctionFour fold matchgroup=shFunction start="\<[^d][^o]\&\h\w*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
else
|
||||
syn region shFunctionOne matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList
|
||||
syn region shFunctionTwo matchgroup=shFunction start="\<[^d][^o]\&\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained
|
||||
syn region shFunctionThree matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList
|
||||
syn region shFunctionFour matchgroup=shFunction start="\<[^d][^o]\&\h\w*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained
|
||||
endif
|
||||
ShFoldFunctions syn region shFunctionOne matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionTwo matchgroup=shFunction start="\<[^d][^o]\&\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionThree matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
ShFoldFunctions syn region shFunctionFour matchgroup=shFunction start="\<[^d][^o]\&\h\w*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
|
||||
endif
|
||||
|
||||
" Parameter Dereferencing: {{{1
|
||||
" ========================
|
||||
syn match shDerefSimple "\$\%(\k\+\|\d\)"
|
||||
syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray
|
||||
if !exists("g:sh_no_error")
|
||||
syn match shDerefWordError "[^}$[]" contained
|
||||
endif
|
||||
syn match shDerefSimple "\$\%(\k\+\|\d\)"
|
||||
syn region shDeref matchgroup=PreProc start="\${" end="}" contains=@shDerefList,shDerefVarArray
|
||||
syn match shDerefSimple "\$[-#*@!?]"
|
||||
syn match shDerefSimple "\$\$"
|
||||
if exists("b:is_bash") || exists("b:is_kornshell")
|
||||
@@ -446,16 +423,28 @@ if exists("b:is_bash") || exists("b:is_kornshell")
|
||||
syn region shDeref matchgroup=PreProc start="\${\$\$" end="}" contains=@shDerefList
|
||||
endif
|
||||
|
||||
" ksh: ${!var[*]} array index list syntax: {{{1
|
||||
" ========================================
|
||||
if exists("b:is_kornshell")
|
||||
syn region shDeref matchgroup=PreProc start="\${!" end="}" contains=@shDerefVarArray
|
||||
endif
|
||||
|
||||
" bash: ${!prefix*} and ${#parameter}: {{{1
|
||||
" ====================================
|
||||
if exists("b:is_bash")
|
||||
syn region shDeref matchgroup=PreProc start="\${!" end="\*\=}" contains=@shDerefList,shDerefOp
|
||||
syn match shDerefVar contained "{\@<=!\k\+" nextgroup=@shDerefVarList
|
||||
endif
|
||||
if exists("b:is_kornshell")
|
||||
syn match shDerefVar contained "{\@<=!\k[[:alnum:]_.]*" nextgroup=@shDerefVarList
|
||||
endif
|
||||
|
||||
syn match shDerefSpecial contained "{\@<=[-*@?0]" nextgroup=shDerefOp,shDerefOpError
|
||||
syn match shDerefSpecial contained "\({[#!]\)\@<=[[:alnum:]*@_]\+" nextgroup=@shDerefVarList,shDerefOp
|
||||
syn match shDerefVar contained "{\@<=\k\+" nextgroup=@shDerefVarList
|
||||
if exists("b:is_kornshell")
|
||||
syn match shDerefVar contained "{\@<=\k[[:alnum:]_.]*" nextgroup=@shDerefVarList
|
||||
endif
|
||||
|
||||
" sh ksh bash : ${var[... ]...} array reference: {{{1
|
||||
syn region shDerefVarArray contained matchgroup=shDeref start="\[" end="]" contains=@shCommandSubList nextgroup=shDerefOp,shDerefOpError
|
||||
@@ -594,6 +583,7 @@ hi def link shHereDoc shString
|
||||
hi def link shHerePayload shHereDoc
|
||||
hi def link shLoop shStatement
|
||||
hi def link shMoreSpecial shSpecial
|
||||
hi def link shNoQuote shDoubleQuote
|
||||
hi def link shOption shCommandSub
|
||||
hi def link shPattern shString
|
||||
hi def link shParen shArithmetic
|
||||
@@ -611,6 +601,7 @@ hi def link shTestOpr shConditional
|
||||
hi def link shTestPattern shString
|
||||
hi def link shTestDoubleQuote shString
|
||||
hi def link shTestSingleQuote shString
|
||||
hi def link shTouchCmd shStatement
|
||||
hi def link shVariable shSetList
|
||||
hi def link shWrapLineOperator shOperator
|
||||
|
||||
@@ -688,17 +679,12 @@ hi def link shHereDoc18 shRedir
|
||||
hi def link shHereDoc19 shRedir
|
||||
hi def link shHereDoc20 shRedir
|
||||
hi def link shHereDoc21 shRedir
|
||||
hi def link shHereDoc22 shRedir
|
||||
hi def link shHereDoc23 shRedir
|
||||
hi def link shHereDoc24 shRedir
|
||||
hi def link shHereDoc25 shRedir
|
||||
hi def link shHereDoc26 shRedir
|
||||
hi def link shHereDoc27 shRedir
|
||||
hi def link shHereDoc28 shRedir
|
||||
hi def link shHereDoc29 shRedir
|
||||
hi def link shHereDoc30 shRedir
|
||||
hi def link shHereDoc31 shRedir
|
||||
hi def link shHereDoc32 shRedir
|
||||
|
||||
" Delete shell folding commands {{{1
|
||||
" =============================
|
||||
delc ShFoldFunctions
|
||||
delc ShFoldHereDoc
|
||||
delc ShFoldIfDoFor
|
||||
|
||||
" Set Current Syntax: {{{1
|
||||
" ===================
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
" Vim syntax file
|
||||
" Language: SQL, PL/SQL (Oracle 8i)
|
||||
" Maintainer: Paul Moore <pf_moore AT yahoo.co.uk>
|
||||
" Last Change: 2005 Dec 23
|
||||
" Language: SQL, PL/SQL (Oracle 11g)
|
||||
" Maintainer: Christian Brabandt
|
||||
" Repository: https://github.com/chrisbra/vim-sqloracle-syntax
|
||||
" License: Vim
|
||||
" Previous Maintainer: Paul Moore
|
||||
" Last Change: 2015 Nov 24
|
||||
|
||||
" For version 5.x: Clear all syntax items
|
||||
" For version 6.x: Quit when a syntax file was already loaded
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
@@ -15,75 +14,121 @@ syn case ignore
|
||||
|
||||
" The SQL reserved words, defined as keywords.
|
||||
|
||||
syn keyword sqlSpecial false null true
|
||||
syn keyword sqlSpecial false null true
|
||||
|
||||
syn keyword sqlKeyword access add as asc begin by check cluster column
|
||||
syn keyword sqlKeyword compress connect current cursor decimal default desc
|
||||
syn keyword sqlKeyword access add as asc begin by case check cluster column
|
||||
syn keyword sqlKeyword cache compress connect current cursor decimal default desc
|
||||
syn keyword sqlKeyword else elsif end exception exclusive file for from
|
||||
syn keyword sqlKeyword function group having identified if immediate increment
|
||||
syn keyword sqlKeyword index initial into is level loop maxextents mode modify
|
||||
syn keyword sqlKeyword nocompress nowait of offline on online start
|
||||
syn keyword sqlKeyword successful synonym table then to trigger uid
|
||||
syn keyword sqlKeyword index initial initrans into is level link logging loop
|
||||
syn keyword sqlKeyword maxextents maxtrans mode modify monitoring
|
||||
syn keyword sqlKeyword nocache nocompress nologging noparallel nowait of offline on online start
|
||||
syn keyword sqlKeyword parallel successful synonym table tablespace then to trigger uid
|
||||
syn keyword sqlKeyword unique user validate values view whenever
|
||||
syn keyword sqlKeyword where with option order pctfree privileges procedure
|
||||
syn keyword sqlKeyword where with option order pctfree pctused privileges procedure
|
||||
syn keyword sqlKeyword public resource return row rowlabel rownum rows
|
||||
syn keyword sqlKeyword session share size smallint type using
|
||||
|
||||
syn keyword sqlOperator not and or
|
||||
syn keyword sqlOperator in any some all between exists
|
||||
syn keyword sqlOperator like escape
|
||||
syn keyword sqlOperator union intersect minus
|
||||
syn keyword sqlOperator prior distinct
|
||||
syn keyword sqlOperator union intersect minus
|
||||
syn keyword sqlOperator prior distinct
|
||||
syn keyword sqlOperator sysdate out
|
||||
|
||||
syn keyword sqlStatement alter analyze audit comment commit create
|
||||
syn keyword sqlStatement delete drop execute explain grant insert lock noaudit
|
||||
syn keyword sqlStatement rename revoke rollback savepoint select set
|
||||
syn keyword sqlStatement truncate update
|
||||
syn keyword sqlStatement analyze audit comment commit
|
||||
syn keyword sqlStatement delete drop execute explain grant lock noaudit
|
||||
syn keyword sqlStatement rename revoke rollback savepoint set
|
||||
syn keyword sqlStatement truncate
|
||||
" next ones are contained, so folding works.
|
||||
syn keyword sqlStatement create update alter select insert contained
|
||||
|
||||
syn keyword sqlType boolean char character date float integer long
|
||||
syn keyword sqlType mlslabel number raw rowid varchar varchar2 varray
|
||||
|
||||
" Strings and characters:
|
||||
syn region sqlString start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||
syn region sqlString start=+'+ skip=+\\\\\|\\'+ end=+'+
|
||||
" Strings:
|
||||
syn region sqlString start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||
syn region sqlString start=+'+ skip=+\\\\\|\\'+ end=+'+
|
||||
|
||||
" Numbers:
|
||||
syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>"
|
||||
syn match sqlNumber "-\=\<\d*\.\=[0-9_]\>"
|
||||
|
||||
" Comments:
|
||||
syn region sqlComment start="/\*" end="\*/" contains=sqlTodo
|
||||
syn match sqlComment "--.*$" contains=sqlTodo
|
||||
syn region sqlComment start="/\*" end="\*/" contains=sqlTodo,@Spell fold
|
||||
syn match sqlComment "--.*$" contains=sqlTodo,@Spell
|
||||
|
||||
" Setup Folding:
|
||||
" this is a hack, to get certain statements folded.
|
||||
" the keywords create/update/alter/select/insert need to
|
||||
" have contained option.
|
||||
syn region sqlFold start='^\s*\zs\c\(Create\|Update\|Alter\|Select\|Insert\)' end=';$\|^$' transparent fold contains=ALL
|
||||
|
||||
syn sync ccomment sqlComment
|
||||
|
||||
" Todo.
|
||||
syn keyword sqlTodo contained TODO FIXME XXX DEBUG NOTE
|
||||
" Functions:
|
||||
" (Oracle 11g)
|
||||
" Aggregate Functions
|
||||
syn keyword sqlFunction avg collect corr corr_s corr_k count covar_pop covar_samp cume_dist dense_rank first
|
||||
syn keyword sqlFunction group_id grouping grouping_id last max median min percentile_cont percentile_disc percent_rank rank
|
||||
syn keyword sqlFunction regr_slope regr_intercept regr_count regr_r2 regr_avgx regr_avgy regr_sxx regr_syy regr_sxy
|
||||
syn keyword sqlFunction stats_binomial_test stats_crosstab stats_f_test stats_ks_test stats_mode stats_mw_test
|
||||
syn keyword sqlFunction stats_one_way_anova stats_t_test_one stats_t_test_paired stats_t_test_indep stats_t_test_indepu
|
||||
syn keyword sqlFunction stats_wsr_test stddev stddev_pop stddev_samp sum
|
||||
syn keyword sqlFunction sys_xmlagg var_pop var_samp variance xmlagg
|
||||
" Char Functions
|
||||
syn keyword sqlFunction ascii chr concat initcap instr length lower lpad ltrim
|
||||
syn keyword sqlFunction nls_initcap nls_lower nlssort nls_upper regexp_instr regexp_replace
|
||||
syn keyword sqlFunction regexp_substr replace rpad rtrim soundex substr translate treat trim upper
|
||||
" Comparison Functions
|
||||
syn keyword sqlFunction greatest least
|
||||
" Conversion Functions
|
||||
syn keyword sqlFunction asciistr bin_to_num cast chartorowid compose convert
|
||||
syn keyword sqlFunction decompose hextoraw numtodsinterval numtoyminterval rawtohex rawtonhex rowidtochar
|
||||
syn keyword sqlFunction rowidtonchar scn_to_timestamp timestamp_to_scn to_binary_double to_binary_float
|
||||
syn keyword sqlFunction to_char to_char to_char to_clob to_date to_dsinterval to_lob to_multi_byte
|
||||
syn keyword sqlFunction to_nchar to_nchar to_nchar to_nclob to_number to_dsinterval to_single_byte
|
||||
syn keyword sqlFunction to_timestamp to_timestamp_tz to_yminterval to_yminterval translate unistr
|
||||
" DataMining Functions
|
||||
syn keyword sqlFunction cluster_id cluster_probability cluster_set feature_id feature_set
|
||||
syn keyword sqlFunction feature_value prediction prediction_bounds prediction_cost
|
||||
syn keyword sqlFunction prediction_details prediction_probability prediction_set
|
||||
" Datetime Functions
|
||||
syn keyword sqlFunction add_months current_date current_timestamp dbtimezone extract
|
||||
syn keyword sqlFunction from_tz last_day localtimestamp months_between new_time
|
||||
syn keyword sqlFunction next_day numtodsinterval numtoyminterval round sessiontimezone
|
||||
syn keyword sqlFunction sys_extract_utc sysdate systimestamp to_char to_timestamp
|
||||
syn keyword sqlFunction to_timestamp_tz to_dsinterval to_yminterval trunc tz_offset
|
||||
" Numeric Functions
|
||||
syn keyword sqlFunction abs acos asin atan atan2 bitand ceil cos cosh exp
|
||||
syn keyword sqlFunction floor ln log mod nanvl power remainder round sign
|
||||
syn keyword sqlFunction sin sinh sqrt tan tanh trunc width_bucket
|
||||
" NLS Functions
|
||||
syn keyword sqlFunction ls_charset_decl_len nls_charset_id nls_charset_name
|
||||
" Various Functions
|
||||
syn keyword sqlFunction bfilename cardin coalesce collect decode dump empty_blob empty_clob
|
||||
syn keyword sqlFunction lnnvl nullif nvl nvl2 ora_hash powermultiset powermultiset_by_cardinality
|
||||
syn keyword sqlFunction sys_connect_by_path sys_context sys_guid sys_typeid uid user userenv vsizeality
|
||||
" XML Functions
|
||||
syn keyword sqlFunction appendchildxml deletexml depth extract existsnode extractvalue insertchildxml
|
||||
syn keyword sqlFunction insertxmlbefore path sys_dburigen sys_xmlagg sys_xmlgen updatexml xmlagg xmlcast
|
||||
syn keyword sqlFunction xmlcdata xmlcolattval xmlcomment xmlconcat xmldiff xmlelement xmlexists xmlforest
|
||||
syn keyword sqlFunction xmlparse xmlpatch xmlpi xmlquery xmlroot xmlsequence xmlserialize xmltable xmltransform
|
||||
" Todo:
|
||||
syn keyword sqlTodo TODO FIXME XXX DEBUG NOTE contained
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||
if version >= 508 || !exists("did_sql_syn_inits")
|
||||
if version < 508
|
||||
let did_sql_syn_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
HiLink sqlComment Comment
|
||||
HiLink sqlKeyword sqlSpecial
|
||||
HiLink sqlNumber Number
|
||||
HiLink sqlOperator sqlStatement
|
||||
HiLink sqlSpecial Special
|
||||
HiLink sqlStatement Statement
|
||||
HiLink sqlString String
|
||||
HiLink sqlType Type
|
||||
HiLink sqlTodo Todo
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
HiLink sqlComment Comment
|
||||
HiLink sqlFunction Function
|
||||
HiLink sqlKeyword sqlSpecial
|
||||
HiLink sqlNumber Number
|
||||
HiLink sqlOperator sqlStatement
|
||||
HiLink sqlSpecial Special
|
||||
HiLink sqlStatement Statement
|
||||
HiLink sqlString String
|
||||
HiLink sqlType Type
|
||||
HiLink sqlTodo Todo
|
||||
|
||||
delcommand HiLink
|
||||
let b:current_syntax = "sql"
|
||||
|
||||
" vim: ts=8
|
||||
|
||||
+85
-79
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: TeX
|
||||
" Maintainer: Charles E. Campbell <NdrchipO@ScampbellPfamily.AbizM>
|
||||
" Last Change: Oct 19, 2015
|
||||
" Version: 89
|
||||
" Last Change: Oct 20, 2015
|
||||
" Version: 90
|
||||
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
|
||||
"
|
||||
" Notes: {{{1
|
||||
@@ -62,11 +62,6 @@ if version >= 508 || !exists("did_tex_syntax_inits")
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
endif
|
||||
if exists("g:tex_no_error") && g:tex_no_error
|
||||
let s:tex_no_error= 1
|
||||
else
|
||||
let s:tex_no_error= 0
|
||||
endif
|
||||
|
||||
" by default, enable all region-based highlighting
|
||||
let s:tex_fast= "bcmMprsSvV"
|
||||
@@ -78,8 +73,6 @@ if exists("g:tex_fast")
|
||||
else
|
||||
let s:tex_fast= g:tex_fast
|
||||
endif
|
||||
else
|
||||
let s:tex_fast= "bcmMprsSvV"
|
||||
endif
|
||||
|
||||
" let user determine which classes of concealment will be supported
|
||||
@@ -114,15 +107,17 @@ endif
|
||||
|
||||
" handle folding {{{1
|
||||
if !exists("g:tex_fold_enabled")
|
||||
let g:tex_fold_enabled= 0
|
||||
let s:tex_fold_enabled= 0
|
||||
elseif g:tex_fold_enabled && !has("folding")
|
||||
let g:tex_fold_enabled= 0
|
||||
let s:tex_fold_enabled= 0
|
||||
echomsg "Ignoring g:tex_fold_enabled=".g:tex_fold_enabled."; need to re-compile vim for +fold support"
|
||||
else
|
||||
let s:tex_fold_enabled= 1
|
||||
endif
|
||||
if g:tex_fold_enabled && &fdm == "manual"
|
||||
if s:tex_fold_enabled && &fdm == "manual"
|
||||
setl fdm=syntax
|
||||
endif
|
||||
if g:tex_fold_enabled && has("folding")
|
||||
if s:tex_fold_enabled && has("folding")
|
||||
com! -nargs=* TexFold <args> fold
|
||||
else
|
||||
com! -nargs=* TexFold <args>
|
||||
@@ -140,41 +135,53 @@ endif
|
||||
if b:tex_stylish
|
||||
setlocal isk+=@-@
|
||||
endif
|
||||
if exists("g:tex_nospell") && g:tex_nospell && !exists("g:tex_comment_nospell")
|
||||
let g:tex_comment_nospell= 1
|
||||
if exists("g:tex_no_error") && g:tex_no_error
|
||||
let s:tex_no_error= 1
|
||||
else
|
||||
let s:tex_no_error= 0
|
||||
endif
|
||||
if exists("g:tex_comment_nospell") && g:tex_comment_nospell
|
||||
let s:tex_comment_nospell= 1
|
||||
else
|
||||
let s:tex_comment_nospell= 0
|
||||
endif
|
||||
if exists("g:tex_nospell") && g:tex_nospell
|
||||
let s:tex_nospell = 1
|
||||
else
|
||||
let s:tex_nospell = 0
|
||||
endif
|
||||
|
||||
" Clusters: {{{1
|
||||
" --------
|
||||
syn cluster texCmdGroup contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texBeginEnd,texBeginEndName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle
|
||||
syn cluster texCmdGroup contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texBeginEnd,texBeginEndName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle
|
||||
if !s:tex_no_error
|
||||
syn cluster texCmdGroup add=texMathError
|
||||
syn cluster texCmdGroup add=texMathError
|
||||
endif
|
||||
syn cluster texEnvGroup contains=texMatcher,texMathDelim,texSpecialChar,texStatement
|
||||
syn cluster texFoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texItalStyle,texNoSpell
|
||||
syn cluster texBoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texBoldItalStyle,texNoSpell
|
||||
syn cluster texItalGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texItalStyle,texItalBoldStyle,texNoSpell
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell
|
||||
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,@Spell,texStyleMatcher
|
||||
syn cluster texEnvGroup contains=texMatcher,texMathDelim,texSpecialChar,texStatement
|
||||
syn cluster texFoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texItalStyle,texNoSpell
|
||||
syn cluster texBoldGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texBoldItalStyle,texNoSpell
|
||||
syn cluster texItalGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texItalStyle,texItalBoldStyle,texNoSpell
|
||||
if !s:tex_nospell
|
||||
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell
|
||||
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,@Spell,texStyleMatcher
|
||||
else
|
||||
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
|
||||
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher
|
||||
syn cluster texMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
|
||||
syn cluster texStyleGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher
|
||||
endif
|
||||
syn cluster texPreambleMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTitle,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texMathZoneZ
|
||||
syn cluster texRefGroup contains=texMatcher,texComment,texDelimiter
|
||||
syn cluster texRefGroup contains=texMatcher,texComment,texDelimiter
|
||||
if !exists("g:tex_no_math")
|
||||
syn cluster texPreambleMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTitle,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texMathZoneZ
|
||||
syn cluster texMathZones contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ
|
||||
syn cluster texMatchGroup add=@texMathZones
|
||||
syn cluster texMathDelimGroup contains=texMathDelimBad,texMathDelimKey,texMathDelimSet1,texMathDelimSet2
|
||||
syn cluster texMathMatchGroup contains=@texMathZones,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathMatcher,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone
|
||||
syn cluster texMathZoneGroup contains=texComment,texDelimiter,texLength,texMathDelim,texMathMatcher,texMathOper,texMathSymbol,texMathText,texRefZone,texSpecialChar,texStatement,texTypeSize,texTypeStyle
|
||||
syn cluster texPreambleMatchGroup contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTitle,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texMathZoneZ
|
||||
syn cluster texMathZones contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ
|
||||
syn cluster texMatchGroup add=@texMathZones
|
||||
syn cluster texMathDelimGroup contains=texMathDelimBad,texMathDelimKey,texMathDelimSet1,texMathDelimSet2
|
||||
syn cluster texMathMatchGroup contains=@texMathZones,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathMatcher,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone
|
||||
syn cluster texMathZoneGroup contains=texComment,texDelimiter,texLength,texMathDelim,texMathMatcher,texMathOper,texMathSymbol,texMathText,texRefZone,texSpecialChar,texStatement,texTypeSize,texTypeStyle
|
||||
if !s:tex_no_error
|
||||
syn cluster texMathMatchGroup add=texMathError
|
||||
syn cluster texMathZoneGroup add=texMathError
|
||||
syn cluster texMathMatchGroup add=texMathError
|
||||
syn cluster texMathZoneGroup add=texMathError
|
||||
endif
|
||||
syn cluster texMathZoneGroup add=@NoSpell
|
||||
syn cluster texMathZoneGroup add=@NoSpell
|
||||
" following used in the \part \chapter \section \subsection \subsubsection
|
||||
" \paragraph \subparagraph \author \title highlighting
|
||||
syn cluster texDocGroup contains=texPartZone,@texPartGroup
|
||||
@@ -185,24 +192,24 @@ syn cluster texPreambleMatchGroup contains=texAccent,texBadMath,texComment,texDe
|
||||
syn cluster texSubSubSectionGroup contains=texParaZone
|
||||
syn cluster texParaGroup contains=texSubParaZone
|
||||
if has("conceal") && &enc == 'utf-8'
|
||||
syn cluster texMathZoneGroup add=texGreek,texSuperscript,texSubscript,texMathSymbol
|
||||
syn cluster texMathMatchGroup add=texGreek,texSuperscript,texSubscript,texMathSymbol
|
||||
syn cluster texMathZoneGroup add=texGreek,texSuperscript,texSubscript,texMathSymbol
|
||||
syn cluster texMathMatchGroup add=texGreek,texSuperscript,texSubscript,texMathSymbol
|
||||
endif
|
||||
endif
|
||||
|
||||
" Try to flag {} and () mismatches: {{{1
|
||||
if s:tex_fast =~ 'm'
|
||||
if !s:tex_no_error
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup,texError
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup,texError,@NoSpell
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup,texError
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup,texError,@NoSpell
|
||||
else
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" contains=@texMatchGroup
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" contains=@texMatchGroup
|
||||
syn region texMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]" end="}" transparent contains=@texMatchGroup
|
||||
syn region texMatcher matchgroup=Delimiter start="\[" end="]" transparent contains=@texMatchGroup
|
||||
endif
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
syn region texParen start="(" end=")" contains=@texMatchGroup,@Spell
|
||||
if !s:tex_nospell
|
||||
syn region texParen start="(" end=")" transparent contains=@texMatchGroup,@Spell
|
||||
else
|
||||
syn region texParen start="(" end=")" contains=@texMatchGroup
|
||||
syn region texParen start="(" end=")" transparent contains=@texMatchGroup
|
||||
endif
|
||||
endif
|
||||
if !s:tex_no_error
|
||||
@@ -213,7 +220,7 @@ if s:tex_fast =~ 'M'
|
||||
if !s:tex_no_error
|
||||
syn match texMathError "}" contained
|
||||
endif
|
||||
syn region texMathMatcher matchgroup=Delimiter start="{" skip="\\\\\|\\}" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup
|
||||
syn region texMathMatcher matchgroup=Delimiter start="{" skip="\%(\\\\\)*\\}" end="}" end="%stopzone\>" contained contains=@texMathMatchGroup
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -232,7 +239,6 @@ endif
|
||||
" TeX/LaTeX delimiters: {{{1
|
||||
syn match texDelimiter "&"
|
||||
syn match texDelimiter "\\\\"
|
||||
" syn match texDelimiter "[{}]"
|
||||
|
||||
" Tex/Latex Options: {{{1
|
||||
syn match texOption "[^\\]\zs#\d\+\|^#\d\+"
|
||||
@@ -253,7 +259,7 @@ syn match texLigature "\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"
|
||||
" \begin{}/\end{} section markers: {{{1
|
||||
syn match texBeginEnd "\\begin\>\|\\end\>" nextgroup=texBeginEndName
|
||||
if s:tex_fast =~ 'm'
|
||||
syn region texBeginEndName matchgroup=Delimiter start="{" end="}" contained nextgroup=texBeginEndModifier contains=texComment
|
||||
syn region texBeginEndName matchgroup=Delimiter start="{" end="}" contained nextgroup=texBeginEndModifier contains=texComment
|
||||
syn region texBeginEndModifier matchgroup=Delimiter start="\[" end="]" contained contains=texComment,@NoSpell
|
||||
endif
|
||||
|
||||
@@ -264,7 +270,7 @@ if s:tex_fast =~ 'm'
|
||||
endif
|
||||
|
||||
" Preamble syntax-based folding support: {{{1
|
||||
if g:tex_fold_enabled && has("folding")
|
||||
if s:tex_fold_enabled && has("folding")
|
||||
syn region texPreamble transparent fold start='\zs\\documentclass\>' end='\ze\\begin{document}' contains=texStyle,@texPreambleMatchGroup
|
||||
endif
|
||||
|
||||
@@ -342,28 +348,28 @@ syn match texSpaceCodeChar "`\\\=.\(\^.\)\==\(\d\|\"\x\{1,6}\|`.\)" contained
|
||||
|
||||
" Sections, subsections, etc: {{{1
|
||||
if s:tex_fast =~ 'p'
|
||||
if !exists("g:tex_nospell") || !g:tex_nospell
|
||||
TexFold syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup,@Spell
|
||||
TexFold syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup,@Spell
|
||||
TexFold syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup,@Spell
|
||||
TexFold syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup,@Spell
|
||||
TexFold syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup,@Spell
|
||||
TexFold syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
|
||||
TexFold syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup,@Spell
|
||||
TexFold syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@Spell
|
||||
TexFold syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup,@Spell
|
||||
TexFold syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup,@Spell
|
||||
else
|
||||
TexFold syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup
|
||||
TexFold syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup
|
||||
TexFold syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup
|
||||
TexFold syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup
|
||||
TexFold syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup
|
||||
TexFold syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup
|
||||
TexFold syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup
|
||||
TexFold syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup
|
||||
TexFold syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup
|
||||
TexFold syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup
|
||||
if !s:tex_nospell
|
||||
TexFold syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup,@Spell
|
||||
TexFold syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup,@Spell
|
||||
TexFold syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup,@Spell
|
||||
TexFold syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup,@Spell
|
||||
TexFold syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup,@Spell
|
||||
TexFold syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup,@Spell
|
||||
TexFold syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup,@Spell
|
||||
TexFold syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@Spell
|
||||
TexFold syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup,@Spell
|
||||
TexFold syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup,@Spell
|
||||
else
|
||||
TexFold syn region texDocZone matchgroup=texSection start='\\begin\s*{\s*document\s*}' end='\\end\s*{\s*document\s*}' contains=@texFoldGroup,@texDocGroup
|
||||
TexFold syn region texPartZone matchgroup=texSection start='\\part\>' end='\ze\s*\\\%(part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texPartGroup
|
||||
TexFold syn region texChapterZone matchgroup=texSection start='\\chapter\>' end='\ze\s*\\\%(chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texChapterGroup
|
||||
TexFold syn region texSectionZone matchgroup=texSection start='\\section\>' end='\ze\s*\\\%(section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSectionGroup
|
||||
TexFold syn region texSubSectionZone matchgroup=texSection start='\\subsection\>' end='\ze\s*\\\%(\%(sub\)\=section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSectionGroup
|
||||
TexFold syn region texSubSubSectionZone matchgroup=texSection start='\\subsubsection\>' end='\ze\s*\\\%(\%(sub\)\{,2}section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texSubSubSectionGroup
|
||||
TexFold syn region texParaZone matchgroup=texSection start='\\paragraph\>' end='\ze\s*\\\%(paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup,@texParaGroup
|
||||
TexFold syn region texSubParaZone matchgroup=texSection start='\\subparagraph\>' end='\ze\s*\\\%(\%(sub\)\=paragraph\>\|\%(sub\)*section\>\|chapter\>\|part\>\|end\s*{\s*document\s*}\)' contains=@texFoldGroup
|
||||
TexFold syn region texTitle matchgroup=texSection start='\\\%(author\|title\)\>\s*{' end='}' contains=@texFoldGroup
|
||||
TexFold syn region texAbstract matchgroup=texSection start='\\begin\s*{\s*abstract\s*}' end='\\end\s*{\s*abstract\s*}' contains=@texFoldGroup
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -400,7 +406,7 @@ if !exists("g:tex_no_math")
|
||||
fun! TexNewMathZone(sfx,mathzone,starform)
|
||||
let grpname = "texMathZone".a:sfx
|
||||
let syncname = "texSyncMathZone".a:sfx
|
||||
if g:tex_fold_enabled
|
||||
if s:tex_fold_enabled
|
||||
let foldcmd= " fold"
|
||||
else
|
||||
let foldcmd= ""
|
||||
@@ -449,7 +455,7 @@ if !exists("g:tex_no_math")
|
||||
else
|
||||
syn region texMathZoneV matchgroup=Delimiter start="\\(" matchgroup=Delimiter end="\\)\|%stopzone\>" keepend contains=@texMathZoneGroup
|
||||
syn region texMathZoneW matchgroup=Delimiter start="\\\[" matchgroup=Delimiter end="\\]\|%stopzone\>" keepend contains=@texMathZoneGroup
|
||||
syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\\\\\|\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup
|
||||
syn region texMathZoneX matchgroup=Delimiter start="\$" skip="\%(\\\\\)*\\\$" matchgroup=Delimiter end="\$" end="%stopzone\>" contains=@texMathZoneGroup
|
||||
syn region texMathZoneY matchgroup=Delimiter start="\$\$" matchgroup=Delimiter end="\$\$" end="%stopzone\>" keepend contains=@texMathZoneGroup
|
||||
endif
|
||||
syn region texMathZoneZ matchgroup=texStatement start="\\ensuremath\s*{" matchgroup=texStatement end="}" end="%stopzone\>" contains=@texMathZoneGroup
|
||||
@@ -544,7 +550,7 @@ endif
|
||||
" Comments: {{{1
|
||||
" Normal TeX LaTeX : %....
|
||||
" Documented TeX Format: ^^A... -and- leading %s (only)
|
||||
if !exists("g:tex_comment_nospell") || !g:tex_comment_nospell
|
||||
if !s:tex_comment_nospell
|
||||
syn cluster texCommentGroup contains=texTodo,@Spell
|
||||
else
|
||||
syn cluster texCommentGroup contains=texTodo,@NoSpell
|
||||
@@ -556,18 +562,18 @@ if s:extfname == "dtx"
|
||||
syn match texComment "\^\^A.*$" contains=@texCommentGroup
|
||||
syn match texComment "^%\+" contains=@texCommentGroup
|
||||
else
|
||||
if g:tex_fold_enabled
|
||||
if s:tex_fold_enabled
|
||||
" allows syntax-folding of 2 or more contiguous comment lines
|
||||
" single-line comments are not folded
|
||||
syn match texComment "%.*$" contains=@texCommentGroup
|
||||
syn match texComment "%.*$" contains=@texCommentGroup
|
||||
if s:tex_fast =~ 'c'
|
||||
TexFold syn region texComment start="^\zs\s*%.*\_s*%" skip="^\s*%" end='^\ze\s*[^%]'
|
||||
TexFold syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
|
||||
TexFold syn region texComment start="^\zs\s*%.*\_s*%" skip="^\s*%" end='^\ze\s*[^%]' contains=@texCommentGroup
|
||||
TexFold syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
|
||||
endif
|
||||
else
|
||||
syn match texComment "%.*$" contains=@texCommentGroup
|
||||
if s:tex_fast =~ 'c'
|
||||
syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
|
||||
syn region texNoSpell contained matchgroup=texComment start="%\s*nospell\s*{" end="%\s*nospell\s*}" contains=@texFoldGroup,@NoSpell
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
+148
-162
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Daniel Kho <daniel.kho@tauhop.com>
|
||||
" Previous Maintainer: Czo <Olivier.Sirol@lip6.fr>
|
||||
" Credits: Stephan Hegel <stephan.hegel@snc.siemens.com.cn>
|
||||
" Last Changed: 2015 Oct 13 by Daniel Kho
|
||||
" Last Changed: 2015 Dec 4 by Daniel Kho
|
||||
|
||||
" VHSIC (Very High Speed Integrated Circuit) Hardware Description Language
|
||||
|
||||
@@ -18,145 +18,124 @@ endif
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" This is not VHDL. I use the C-Preprocessor cpp to generate different binaries
|
||||
" from one VHDL source file. Unfortunately there is no preprocessor for VHDL
|
||||
" available. If you don't like this, please remove the following lines.
|
||||
"syn match cDefine "^#ifdef[ ]\+[A-Za-z_]\+"
|
||||
"syn match cDefine "^#endif"
|
||||
|
||||
" case is not significant
|
||||
syn case ignore
|
||||
syn case ignore
|
||||
|
||||
" VHDL keywords
|
||||
syn keyword vhdlStatement access after alias all assert
|
||||
syn keyword vhdlStatement architecture array attribute
|
||||
syn keyword vhdlStatement assume assume_guarantee
|
||||
syn keyword vhdlStatement begin block body buffer bus
|
||||
syn keyword vhdlStatement case component configuration constant
|
||||
syn keyword vhdlStatement context cover
|
||||
syn keyword vhdlStatement default disconnect downto
|
||||
syn keyword vhdlStatement elsif end entity exit
|
||||
syn keyword vhdlStatement file for function
|
||||
syn keyword vhdlStatement fairness force
|
||||
syn keyword vhdlStatement generate generic group guarded
|
||||
syn keyword vhdlStatement impure in inertial inout is
|
||||
syn keyword vhdlStatement label library linkage literal loop
|
||||
syn keyword vhdlStatement map
|
||||
syn keyword vhdlStatement new next null
|
||||
syn keyword vhdlStatement of on open others out
|
||||
syn keyword vhdlStatement package port postponed procedure process pure
|
||||
syn keyword vhdlStatement parameter property protected
|
||||
syn keyword vhdlStatement range record register reject report return
|
||||
syn keyword vhdlStatement release restrict restrict_guarantee
|
||||
syn keyword vhdlStatement select severity signal shared
|
||||
syn keyword vhdlStatement subtype
|
||||
syn keyword vhdlStatement sequence strong
|
||||
syn keyword vhdlStatement then to transport type
|
||||
syn keyword vhdlStatement unaffected units until use
|
||||
syn keyword vhdlStatement variable
|
||||
syn keyword vhdlStatement vmode vprop vunit
|
||||
syn keyword vhdlStatement wait when while with
|
||||
syn keyword vhdlStatement note warning error failure
|
||||
syn keyword vhdlStatement access after alias all assert
|
||||
syn keyword vhdlStatement architecture array attribute
|
||||
syn keyword vhdlStatement assume assume_guarantee
|
||||
syn keyword vhdlStatement begin block body buffer bus
|
||||
syn keyword vhdlStatement case component configuration constant
|
||||
syn keyword vhdlStatement context cover
|
||||
syn keyword vhdlStatement default disconnect downto
|
||||
syn keyword vhdlStatement elsif end entity exit
|
||||
syn keyword vhdlStatement file for function
|
||||
syn keyword vhdlStatement fairness force
|
||||
syn keyword vhdlStatement generate generic group guarded
|
||||
syn keyword vhdlStatement impure in inertial inout is
|
||||
syn keyword vhdlStatement label library linkage literal loop
|
||||
syn keyword vhdlStatement map
|
||||
syn keyword vhdlStatement new next null
|
||||
syn keyword vhdlStatement of on open others out
|
||||
syn keyword vhdlStatement package port postponed procedure process pure
|
||||
syn keyword vhdlStatement parameter property protected
|
||||
syn keyword vhdlStatement range record register reject report return
|
||||
syn keyword vhdlStatement release restrict restrict_guarantee
|
||||
syn keyword vhdlStatement select severity signal shared
|
||||
syn keyword vhdlStatement subtype
|
||||
syn keyword vhdlStatement sequence strong
|
||||
syn keyword vhdlStatement then to transport type
|
||||
syn keyword vhdlStatement unaffected units until use
|
||||
syn keyword vhdlStatement variable
|
||||
syn keyword vhdlStatement vmode vprop vunit
|
||||
syn keyword vhdlStatement wait when while with
|
||||
syn keyword vhdlStatement note warning error failure
|
||||
|
||||
" Special match for "if" and "else" since "else if" shouldn't be highlighted.
|
||||
" The right keyword is "elsif"
|
||||
syn match vhdlStatement "\<\(if\|else\)\>"
|
||||
syn match vhdlNone "\<else\s\+if\>$"
|
||||
syn match vhdlNone "\<else\s\+if\>\s"
|
||||
" Linting of conditionals.
|
||||
syn match vhdlStatement "\<\(if\|else\)\>"
|
||||
syn match vhdlError "\<else\s\+if\>"
|
||||
|
||||
" Predefined VHDL types
|
||||
syn keyword vhdlType bit bit_vector
|
||||
syn keyword vhdlType character boolean integer real time
|
||||
syn keyword vhdlType boolean_vector integer_vector real_vector time_vector
|
||||
syn keyword vhdlType string severity_level
|
||||
syn keyword vhdlType bit bit_vector
|
||||
syn keyword vhdlType character boolean integer real time
|
||||
syn keyword vhdlType boolean_vector integer_vector real_vector time_vector
|
||||
syn keyword vhdlType string severity_level
|
||||
" Predefined standard ieee VHDL types
|
||||
syn keyword vhdlType positive natural signed unsigned
|
||||
syn keyword vhdlType unresolved_signed unresolved_unsigned u_signed u_unsigned
|
||||
syn keyword vhdlType line text
|
||||
syn keyword vhdlType std_logic std_logic_vector
|
||||
syn keyword vhdlType std_ulogic std_ulogic_vector
|
||||
" Predefined non standard VHDL types for Mentor Graphics Sys1076/QuickHDL
|
||||
"syn keyword vhdlType qsim_state qsim_state_vector
|
||||
"syn keyword vhdlType qsim_12state qsim_12state_vector
|
||||
"syn keyword vhdlType qsim_strength
|
||||
" Predefined non standard VHDL types for Alliance VLSI CAD
|
||||
"syn keyword vhdlType mux_bit mux_vector reg_bit reg_vector wor_bit wor_vector
|
||||
syn keyword vhdlType positive natural signed unsigned
|
||||
syn keyword vhdlType unresolved_signed unresolved_unsigned u_signed u_unsigned
|
||||
syn keyword vhdlType line text
|
||||
syn keyword vhdlType std_logic std_logic_vector
|
||||
syn keyword vhdlType std_ulogic std_ulogic_vector
|
||||
|
||||
" array attributes
|
||||
syn match vhdlAttribute "\'high"
|
||||
syn match vhdlAttribute "\'left"
|
||||
syn match vhdlAttribute "\'length"
|
||||
syn match vhdlAttribute "\'low"
|
||||
syn match vhdlAttribute "\'range"
|
||||
syn match vhdlAttribute "\'reverse_range"
|
||||
syn match vhdlAttribute "\'right"
|
||||
syn match vhdlAttribute "\'ascending"
|
||||
syn match vhdlAttribute "\'high"
|
||||
syn match vhdlAttribute "\'left"
|
||||
syn match vhdlAttribute "\'length"
|
||||
syn match vhdlAttribute "\'low"
|
||||
syn match vhdlAttribute "\'range"
|
||||
syn match vhdlAttribute "\'reverse_range"
|
||||
syn match vhdlAttribute "\'right"
|
||||
syn match vhdlAttribute "\'ascending"
|
||||
" block attributes
|
||||
"syn match vhdlAttribute "\'behaviour" " Non-standard VHDL
|
||||
"syn match vhdlAttribute "\'structure" " Non-standard VHDL
|
||||
syn match vhdlAttribute "\'simple_name"
|
||||
syn match vhdlAttribute "\'instance_name"
|
||||
syn match vhdlAttribute "\'path_name"
|
||||
syn match vhdlAttribute "\'foreign" " VHPI
|
||||
syn match vhdlAttribute "\'simple_name"
|
||||
syn match vhdlAttribute "\'instance_name"
|
||||
syn match vhdlAttribute "\'path_name"
|
||||
syn match vhdlAttribute "\'foreign" " VHPI
|
||||
" signal attribute
|
||||
syn match vhdlAttribute "\'active"
|
||||
syn match vhdlAttribute "\'delayed"
|
||||
syn match vhdlAttribute "\'event"
|
||||
syn match vhdlAttribute "\'last_active"
|
||||
syn match vhdlAttribute "\'last_event"
|
||||
syn match vhdlAttribute "\'last_value"
|
||||
syn match vhdlAttribute "\'quiet"
|
||||
syn match vhdlAttribute "\'stable"
|
||||
syn match vhdlAttribute "\'transaction"
|
||||
syn match vhdlAttribute "\'driving"
|
||||
syn match vhdlAttribute "\'driving_value"
|
||||
syn match vhdlAttribute "\'active"
|
||||
syn match vhdlAttribute "\'delayed"
|
||||
syn match vhdlAttribute "\'event"
|
||||
syn match vhdlAttribute "\'last_active"
|
||||
syn match vhdlAttribute "\'last_event"
|
||||
syn match vhdlAttribute "\'last_value"
|
||||
syn match vhdlAttribute "\'quiet"
|
||||
syn match vhdlAttribute "\'stable"
|
||||
syn match vhdlAttribute "\'transaction"
|
||||
syn match vhdlAttribute "\'driving"
|
||||
syn match vhdlAttribute "\'driving_value"
|
||||
" type attributes
|
||||
syn match vhdlAttribute "\'base"
|
||||
syn match vhdlAttribute "\'subtype"
|
||||
syn match vhdlAttribute "\'element"
|
||||
syn match vhdlAttribute "\'leftof"
|
||||
syn match vhdlAttribute "\'pos"
|
||||
syn match vhdlAttribute "\'pred"
|
||||
syn match vhdlAttribute "\'rightof"
|
||||
syn match vhdlAttribute "\'succ"
|
||||
syn match vhdlAttribute "\'val"
|
||||
syn match vhdlAttribute "\'image"
|
||||
syn match vhdlAttribute "\'value"
|
||||
syn match vhdlAttribute "\'base"
|
||||
syn match vhdlAttribute "\'subtype"
|
||||
syn match vhdlAttribute "\'element"
|
||||
syn match vhdlAttribute "\'leftof"
|
||||
syn match vhdlAttribute "\'pos"
|
||||
syn match vhdlAttribute "\'pred"
|
||||
syn match vhdlAttribute "\'rightof"
|
||||
syn match vhdlAttribute "\'succ"
|
||||
syn match vhdlAttribute "\'val"
|
||||
syn match vhdlAttribute "\'image"
|
||||
syn match vhdlAttribute "\'value"
|
||||
|
||||
syn keyword vhdlBoolean true false
|
||||
syn keyword vhdlBoolean true false
|
||||
|
||||
" for this vector values case is significant
|
||||
syn case match
|
||||
syn case match
|
||||
" Values for standard VHDL types
|
||||
syn match vhdlVector "\'[0L1HXWZU\-\?]\'"
|
||||
" Values for non standard VHDL types qsim_12state for Mentor Graphics Sys1076/QuickHDL
|
||||
"syn keyword vhdlVector S0S S1S SXS S0R S1R SXR S0Z S1Z SXZ S0I S1I SXI
|
||||
syn case ignore
|
||||
syn match vhdlVector "\'[0L1HXWZU\-\?]\'"
|
||||
syn case ignore
|
||||
|
||||
syn match vhdlVector "B\"[01_]\+\""
|
||||
syn match vhdlVector "O\"[0-7_]\+\""
|
||||
syn match vhdlVector "X\"[0-9a-f_]\+\""
|
||||
syn match vhdlCharacter "'.'"
|
||||
syn region vhdlString start=+"+ end=+"+
|
||||
syn match vhdlVector "B\"[01_]\+\""
|
||||
syn match vhdlVector "O\"[0-7_]\+\""
|
||||
syn match vhdlVector "X\"[0-9a-f_]\+\""
|
||||
syn match vhdlCharacter "'.'"
|
||||
syn region vhdlString start=+"+ end=+"+
|
||||
|
||||
" floating numbers
|
||||
syn match vhdlNumber "-\=\<\d\+\.\d\+\(E[+\-]\=\d\+\)\>"
|
||||
syn match vhdlNumber "-\=\<\d\+\.\d\+\>"
|
||||
syn match vhdlNumber "0*2#[01_]\+\.[01_]\+#\(E[+\-]\=\d\+\)\="
|
||||
syn match vhdlNumber "0*16#[0-9a-f_]\+\.[0-9a-f_]\+#\(E[+\-]\=\d\+\)\="
|
||||
syn match vhdlNumber "-\=\<\d\+\.\d\+\(E[+\-]\=\d\+\)\>"
|
||||
syn match vhdlNumber "-\=\<\d\+\.\d\+\>"
|
||||
syn match vhdlNumber "0*2#[01_]\+\.[01_]\+#\(E[+\-]\=\d\+\)\="
|
||||
syn match vhdlNumber "0*16#[0-9a-f_]\+\.[0-9a-f_]\+#\(E[+\-]\=\d\+\)\="
|
||||
" integer numbers
|
||||
syn match vhdlNumber "-\=\<\d\+\(E[+\-]\=\d\+\)\>"
|
||||
syn match vhdlNumber "-\=\<\d\+\>"
|
||||
syn match vhdlNumber "0*2#[01_]\+#\(E[+\-]\=\d\+\)\="
|
||||
syn match vhdlNumber "0*16#[0-9a-f_]\+#\(E[+\-]\=\d\+\)\="
|
||||
syn match vhdlNumber "-\=\<\d\+\(E[+\-]\=\d\+\)\>"
|
||||
syn match vhdlNumber "-\=\<\d\+\>"
|
||||
syn match vhdlNumber "0*2#[01_]\+#\(E[+\-]\=\d\+\)\="
|
||||
syn match vhdlNumber "0*16#[0-9a-f_]\+#\(E[+\-]\=\d\+\)\="
|
||||
|
||||
" operators
|
||||
syn keyword vhdlOperator and nand or nor xor xnor
|
||||
syn keyword vhdlOperator rol ror sla sll sra srl
|
||||
syn keyword vhdlOperator mod rem abs not
|
||||
" TODO remove the following line. You can't have a sequence of */=+ as an operator for example.
|
||||
"syn match vhdlOperator "[&><=:+\-*\/|]"
|
||||
" The following lines match valid and invalid operators.
|
||||
|
||||
" Concatenation and math operators
|
||||
syn match vhdlOperator "&\|+\|-\|\*\|\/"
|
||||
@@ -171,19 +150,25 @@ syn match vhdlOperator "=>"
|
||||
" VHDL-2008 conversion, matching equality/non-equality operators
|
||||
syn match vhdlOperator "??\|?=\|?\/=\|?<\|?<=\|?>\|?>="
|
||||
|
||||
" VHDL-2008 external names
|
||||
syn match vhdlOperator "<<\|>>"
|
||||
|
||||
" Linting for illegal operators
|
||||
" '='
|
||||
syn match vhdlError "\(=\)[<=&+\-\*\/\\]\+"
|
||||
syn match vhdlError "[=&+\-\*\\]\+\(=\)"
|
||||
" '>', '<'
|
||||
syn match vhdlError "\(>\)[<>&+\-\/\\]\+"
|
||||
syn match vhdlError "[>&+\-\/\\]\+\(>\)"
|
||||
syn match vhdlError "\(<\)[<&+\-\/\\]\+"
|
||||
syn match vhdlError "[<>=&+\-\/\\]\+\(<\)"
|
||||
" Allow external names: '<< ... >>'
|
||||
syn match vhdlError "\(>\)[<&+\-\/\\]\+"
|
||||
syn match vhdlError "[&+\-\/\\]\+\(>\)"
|
||||
syn match vhdlError "\(<\)[&+\-\/\\]\+"
|
||||
syn match vhdlError "[>=&+\-\/\\]\+\(<\)"
|
||||
" Covers most operators
|
||||
syn match vhdlError "\(&\|+\|\-\|\*\*\|\/=\|??\|?=\|?\/=\|?<=\|?>=\|>=\|<=\|:=\|=>\)[<>=&+\-\*\\?:]\+"
|
||||
syn match vhdlError "[<>=&+\-\*\\:]\+\(&\|+\|\-\|\*\*\|\/=\|??\|?=\|?\/=\|?<\|?<=\|?>\|?>=\|>=\|<=\|:=\|=>\)"
|
||||
syn match vhdlError "\(?<\|?>\)[<>&+\-\*\/\\?:]\+"
|
||||
" support negative sign after operators. E.g. q<=-b;
|
||||
syn match vhdlError "\(&\|+\|\-\|\*\*\|\/=\|??\|?=\|?\/=\|?<=\|?>=\|>=\|<=\|:=\|=>\)[<>=&+\*\\?:]\+"
|
||||
syn match vhdlError "[<>=&+\-\*\\:]\+\(&\|+\|\*\*\|\/=\|??\|?=\|?\/=\|?<\|?<=\|?>\|?>=\|>=\|<=\|:=\|=>\)"
|
||||
syn match vhdlError "\(?<\|?>\)[<>&+\*\/\\?:]\+"
|
||||
syn match vhdlError "\(<<\|>>\)[<>&+\*\/\\?:]\+"
|
||||
|
||||
"syn match vhdlError "[?]\+\(&\|+\|\-\|\*\*\|??\|?=\|?\/=\|?<\|?<=\|?>\|?>=\|:=\|=>\)"
|
||||
" '/'
|
||||
@@ -195,60 +180,61 @@ syn match vhdlSpecial "[().,;]"
|
||||
|
||||
|
||||
" time
|
||||
syn match vhdlTime "\<\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
|
||||
syn match vhdlTime "\<\d\+\.\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
|
||||
syn match vhdlTime "\<\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
|
||||
syn match vhdlTime "\<\d\+\.\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
|
||||
|
||||
syn case match
|
||||
syn keyword vhdlTodo contained TODO NOTE
|
||||
syn keyword vhdlFixme contained FIXME
|
||||
syn case ignore
|
||||
syn case match
|
||||
syn keyword vhdlTodo contained TODO NOTE
|
||||
syn keyword vhdlFixme contained FIXME
|
||||
syn case ignore
|
||||
|
||||
syn region vhdlComment start="/\*" end="\*/" contains=vhdlTodo,vhdlFixme,@Spell
|
||||
syn match vhdlComment "\(^\|\s\)--.*" contains=vhdlTodo,vhdlFixme,@Spell
|
||||
syn region vhdlComment start="/\*" end="\*/" contains=vhdlTodo,vhdlFixme,@Spell
|
||||
syn match vhdlComment "\(^\|\s\)--.*" contains=vhdlTodo,vhdlFixme,@Spell
|
||||
|
||||
" Industry-standard directives. These are not standard VHDL, but are commonly
|
||||
" used in the industry.
|
||||
syn match vhdlPreProc "/\* synthesis .* \*/"
|
||||
"syn match vhdlPreProc "/\* simulation .* \*/"
|
||||
syn match vhdlPreProc "/\* pragma .* \*/"
|
||||
syn match vhdlPreProc "/\* synopsys .* \*/"
|
||||
syn match vhdlPreProc "--\s*synthesis .*"
|
||||
"syn match vhdlPreProc "--\s*simulation .*"
|
||||
syn match vhdlPreProc "--\s*pragma .*"
|
||||
syn match vhdlPreProc "--\s*synopsys .*"
|
||||
syn match vhdlPreProc "/\*\s*synthesis\s\+translate_\(on\|off\)\s*\*/"
|
||||
"syn match vhdlPreProc "/\*\s*simulation\s\+translate_\(on\|off\)\s*\*/"
|
||||
syn match vhdlPreProc "/\*\s*pragma\s\+synthesis_\(on\|off\)\s*\*/"
|
||||
syn match vhdlPreProc "/\*\s*synopsys\s\+translate_\(on\|off\)\s*\*/"
|
||||
|
||||
syn match vhdlPreProc "\(^\|\s\)--\s*synthesis\s\+translate_\(on\|off\)\s*"
|
||||
"syn match vhdlPreProc "\(^\|\s\)--\s*simulation\s\+translate_\(on\|off\)\s*"
|
||||
syn match vhdlPreProc "\(^\|\s\)--\s*pragma\s\+synthesis_\(on\|off\)\s*"
|
||||
syn match vhdlPreProc "\(^\|\s\)--\s*synopsys\s\+translate_\(on\|off\)\s*"
|
||||
|
||||
"Modify the following as needed. The trade-off is performance versus functionality.
|
||||
syn sync minlines=600
|
||||
syn sync minlines=600
|
||||
|
||||
" Define the default highlighting.
|
||||
" For version 5.7 and earlier: only when not done already
|
||||
" For version 5.8 and later: only when an item doesn't have highlighting yet
|
||||
if version >= 508 || !exists("did_vhdl_syntax_inits")
|
||||
if version < 508
|
||||
let did_vhdl_syntax_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
if version < 508
|
||||
let did_vhdl_syntax_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
HiLink vhdlSpecial Special
|
||||
HiLink vhdlStatement Statement
|
||||
HiLink vhdlCharacter Character
|
||||
HiLink vhdlString String
|
||||
HiLink vhdlVector Number
|
||||
HiLink vhdlBoolean Number
|
||||
HiLink vhdlTodo Todo
|
||||
HiLink vhdlFixme Fixme
|
||||
HiLink vhdlComment Comment
|
||||
HiLink vhdlNumber Number
|
||||
HiLink vhdlTime Number
|
||||
HiLink vhdlType Type
|
||||
HiLink vhdlOperator Operator
|
||||
HiLink vhdlError Error
|
||||
HiLink vhdlAttribute Special
|
||||
HiLink vhdlPreProc PreProc
|
||||
HiLink vhdlSpecial Special
|
||||
HiLink vhdlStatement Statement
|
||||
HiLink vhdlCharacter Character
|
||||
HiLink vhdlString String
|
||||
HiLink vhdlVector Number
|
||||
HiLink vhdlBoolean Number
|
||||
HiLink vhdlTodo Todo
|
||||
HiLink vhdlFixme Fixme
|
||||
HiLink vhdlComment Comment
|
||||
HiLink vhdlNumber Number
|
||||
HiLink vhdlTime Number
|
||||
HiLink vhdlType Type
|
||||
HiLink vhdlOperator Operator
|
||||
HiLink vhdlError Error
|
||||
HiLink vhdlAttribute Special
|
||||
HiLink vhdlPreProc PreProc
|
||||
|
||||
delcommand HiLink
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
let b:current_syntax = "vhdl"
|
||||
|
||||
+49
-38
@@ -1,8 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: Vim 7.4 script
|
||||
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
|
||||
" Last Change: October 19, 2015
|
||||
" Version: 7.4-35
|
||||
" Last Change: November 30, 2015
|
||||
" Version: 7.4-38
|
||||
" Automatically generated keyword lists: {{{1
|
||||
|
||||
" Quit when a syntax file was already loaded {{{2
|
||||
@@ -28,14 +28,14 @@ syn match vimCommand contained "\<z[-+^.=]\=\>"
|
||||
syn keyword vimStdPlugin contained DiffOrig Man N[ext] P[rint] S TOhtml XMLent XMLns
|
||||
|
||||
" vimOptions are caught only when contained in a vimSet {{{2
|
||||
syn keyword vimOption contained acd ambw arshape background ballooneval bg bkc bri bt ccv charconvert cinoptions cmp com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex fileformats fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg laststatus lisp loadplugins macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pm printdevice printoptions quoteescape remap rightleftcmd rtp sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tb termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
|
||||
syn keyword vimOption contained ai anti autochdir backspace balloonexpr bh bl briopt bufhidden cd ci cinw cms comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lazyredraw lispwords lpl magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste pex pmbcs printencoding prompt rdt renderoptions rl ru sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tbi termencoding thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
|
||||
syn keyword vimOption contained akm antialias autoindent backup bdir bin bo brk buflisted cdpath cin cinwords co commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs filetype fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lbr list ls makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pexpr pmbfn printexpr pt re report rlc ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax taglength tbidi terse tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
|
||||
syn keyword vimOption contained al ar autoread backupcopy bdlay binary bomb browsedir buftype cedit cindent clipboard cocu compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fic fillchars fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lcs listchars lsp makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pfn popt printfont pumheight readonly restorescreen rnu ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta tagrelative tbis textauto timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
|
||||
syn keyword vimOption contained aleph arab autowrite backupdir belloff biosk breakat bs casemap cf cink cm cole complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencoding fixendofline fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode ph preserveindent printheader pvh redrawtime revins ro rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tags tbs textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
|
||||
syn keyword vimOption contained allowrevins arabic autowriteall backupext beval bioskey breakindent bsdir cb cfu cinkeys cmdheight colorcolumn completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileencodings fixeol foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path pheader previewheight printmbcharset pvw regexpengine ri rop runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tagstack tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
|
||||
syn keyword vimOption contained altkeymap arabicshape aw backupskip bex bk breakindentopt bsk cc ch cino cmdwinheight columns completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformat fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pi previewwindow printmbfont qe relativenumber rightleft rs sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tal term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
|
||||
syn keyword vimOption contained ambiwidth ari awa balloondelay bexpr
|
||||
syn keyword vimOption contained acd ambw arshape background ballooneval bg bl brk buftype cf cinkeys cmdwinheight com concealcursor cp cscopeprg csprg cul def diff display edcompatible endofline errorformat fcl fdm fex fileformats fkmap foldenable foldminlines formatprg gdefault gp guifontset helpfile hidden hl ignorecase imcmdline imsf indentexpr is isp keywordprg laststatus lisp loadplugins ma matchtime mco ml modeline mousefocus mousetime nrformats ofu para pdev pheader previewheight printmbcharset pvw readonly restorescreen rnu ruf sc scrollopt selectmode shellpipe shellxquote showcmd sidescroll smartindent sol spellsuggest sr stal sua swf syntax tagcase tbi termbidi tgst titleold top ttimeoutlen ttyscroll ul ur verbosefile visualbell wcm wi wildmenu winfixwidth wm wrapscan
|
||||
syn keyword vimOption contained ai anti autochdir backspace balloonexpr bh bo browsedir casemap cfu cino cmp comments conceallevel cpo cscopequickfix csqf cursorbind define diffexpr dy ef eol esckeys fcs fdn ff fileignorecase flp foldexpr foldnestmax fp gfm grepformat guifontwide helpheight highlight hlg im imd imstatusfunc indentkeys isf isprint km lazyredraw lispwords lpl macatsui maxcombine mef mls modelines mousehide mp nu omnifunc paragraphs penc pi previewwindow printmbfont pythondll redrawtime revins ro ruler scb scs sessionoptions shellquote shiftround showfulltag sidescrolloff smarttab sp spf srr startofline suffixes switchbuf ta taglength tbidi termencoding thesaurus titlestring tpm ttm ttytype undodir ut vfile vop wd wic wildmode winheight wmh write
|
||||
syn keyword vimOption contained akm antialias autoindent backup bdir bin bomb bs cb ch cinoptions cms commentstring confirm cpoptions cscoperelative csre cursorcolumn delcombine diffopt ea efm ep et fdc fdo ffs filetype fml foldignore foldopen fs gfn grepprg guiheadroom helplang history hls imactivatefunc imdisable inc indk isfname joinspaces kmp lbr list ls magic maxfuncdepth menuitems mm modifiable mousem mps number opendevice paste perldll pm printdevice printoptions pythonthreedll regexpengine ri rop rulerformat scr sect sft shellredir shiftwidth showmatch siso smc spc spl ss statusline suffixesadd sws tabline tagrelative tbis terse tildeop tl tr tty tw undofile vb vi wa weirdinvert wig wildoptions winminheight wmnu writeany
|
||||
syn keyword vimOption contained al ar autoread backupcopy bdlay binary breakat bsdir cc charconvert cinw co compatible consk cpt cscopetag cst cursorline dex digraph ead ei equalalways eventignore fde fdt fic fillchars fmr foldlevel foldtext fsync gfs gtl guioptions hf hk hlsearch imactivatekey imi include inex isi js kp lcs listchars lsp makeef maxmapdepth mfd mmd modified mousemodel msm numberwidth operatorfunc pastetoggle pex pmbcs printencoding prompt qe relativenumber rightleft rs runtimepath scroll sections sh shellslash shm showmode sj smd spell splitbelow ssl stl sw sxe tabpagemax tags tbs textauto timeout tm ts ttybuiltin tx undolevels vbs viewdir wak wfh wildchar wim winminwidth wmw writebackup
|
||||
syn keyword vimOption contained aleph arab autowrite backupdir belloff biosk breakindent bsk ccv ci cinwords cocu complete conskey crb cscopetagorder csto cwh dg dip eadirection ek equalprg ex fdi fen fileencoding fixendofline fo foldlevelstart formatexpr ft gfw gtt guipty hh hkmap ic imaf iminsert includeexpr inf isident key langmap linebreak lm luadll makeprg maxmem mh mmp more mouses mzq nuw opfunc patchexpr pexpr pmbfn printexpr pt quoteescape remap rightleftcmd rtp sb scrollbind secure shcf shelltemp shortmess showtabline slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tagstack tc textmode timeoutlen to tsl ttyfast uc undoreload vdir viewoptions warn wfw wildcharm winaltkeys winwidth wop writedelay
|
||||
syn keyword vimOption contained allowrevins arabic autowriteall backupext beval bioskey breakindentopt bt cd cin clipboard cole completefunc copyindent cryptmethod cscopeverbose csverb debug dict dir eb enc errorbells expandtab fdl fenc fileencodings fixeol foldclose foldmarker formatlistpat gcr ghr guicursor guitablabel hi hkmapp icon imak ims incsearch infercase isk keymap langmenu lines lmap lw mat maxmempattern mis mmt mouse mouseshape mzquantum odev osfiletype patchmode pfn popt printfont pumheight rdt renderoptions rl ru sbo scrolljump sel shell shelltype shortname shq sm so spellfile spr st sts swapsync syn tag tal tenc textwidth title toolbar tsr ttym udf updatecount ve viminfo wb wh wildignore window wiv wrap ws
|
||||
syn keyword vimOption contained altkeymap arabicshape aw backupskip bex bk bri bufhidden cdpath cindent cm colorcolumn completeopt cot cscopepathcomp cspc cuc deco dictionary directory ed encoding errorfile exrc fdls fencs fileformat fk foldcolumn foldmethod formatoptions gd go guifont guitabtooltip hid hkp iconstring imc imsearch inde insertmode iskeyword keymodel langnoremap linespace lnr lz matchpairs maxmemtot mkspellmem mod mousef mouset nf oft pa path ph preserveindent printheader pvh re report rlc rubydll sbr scrolloff selection shellcmdflag shellxescape showbreak si smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tb term tf titlelen toolbariconsize ttimeout ttymouse udir updatetime verbose virtualedit wc whichwrap wildignorecase winfixheight wiw wrapmargin ww
|
||||
syn keyword vimOption contained ambiwidth ari awa balloondelay bexpr bkc briopt buflisted cedit cink cmdheight columns
|
||||
|
||||
" vimOptions: These are the turn-off setting variants {{{2
|
||||
syn keyword vimOption contained noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobinary nobk nobuflisted nocin noconfirm nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noendofline noerrorbells noex nofen nofixendofline nofkmap nogdefault nohidden nohkmapp nohlsearch noicon noim noimcmdline noimdisable noinf noinsertmode nojoinspaces nolazyredraw nolinebreak nolist nolpl noma nomagic noml nomodeline nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
|
||||
@@ -157,7 +157,7 @@ syn match vimNumber "\<0[xX]\x\+"
|
||||
syn match vimNumber "\%(^\|[^a-zA-Z]\)\zs#\x\{6}"
|
||||
|
||||
" All vimCommands are contained by vimIsCommands. {{{2
|
||||
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=vimAddress,vimAutoCmd,vimCommand,vimExtCmd,vimFilter,vimLet,vimMap,vimMark,vimSet,vimSyntax,vimUserCmd
|
||||
syn match vimCmdSep "[:|]\+" skipwhite nextgroup=vimAddress,vimAutoCmd,vimIsCommand,vimExtCmd,vimFilter,vimLet,vimMap,vimMark,vimSet,vimSyntax,vimUserCmd
|
||||
syn match vimIsCommand "\<\h\w*\>" contains=vimCommand
|
||||
syn match vimVar contained "\<\h[a-zA-Z0-9#_]*\>"
|
||||
syn match vimVar "\<[bwglsav]:\h[a-zA-Z0-9#_]*\>"
|
||||
@@ -190,8 +190,12 @@ syn keyword vimFTOption contained detect indent off on plugin
|
||||
" Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2
|
||||
" ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking.
|
||||
syn cluster vimAugroupList contains=vimAugroup,vimIsCommand,vimCommand,vimUserCmd,vimExecute,vimNotFunc,vimFuncName,vimFunction,vimFunctionError,vimLineComment,vimMap,vimSpecFile,vimOper,vimNumber,vimOperParen,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
|
||||
VimFolda syn region vimAugroup matchgroup=vimStatement start="\<aug\%[roup]\ze\s\+\%([eE][nN][dD]\>\)\@3<!\h\w*" matchgroup=vimStatement end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList
|
||||
syn match vimAugroup "aug\%[roup]!" contains=vimAugroupKey
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'a'
|
||||
syn region vimAugroup fold matchgroup=vimAugroupKey start="\<aug\%[roup]\>\ze\s\+\K\k*" end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList
|
||||
else
|
||||
syn region vimAugroup matchgroup=vimAugroupKey start="\<aug\%[roup]\>\ze\s\+\K\k*" end="\<aug\%[roup]\>\ze\s\+[eE][nN][dD]\>" contains=vimAutoCmd,@vimAugroupList
|
||||
endif
|
||||
syn match vimAugroup "aug\%[roup]!" contains=vimAugroupKey
|
||||
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noaugrouperror")
|
||||
syn match vimAugroupError "\<aug\%[roup]\>\s\+[eE][nN][dD]\>"
|
||||
endif
|
||||
@@ -199,12 +203,11 @@ syn keyword vimAugroupKey contained aug[roup]
|
||||
|
||||
" Operators: {{{2
|
||||
" =========
|
||||
" COMBAK: vimOperParen used to have "oneline"
|
||||
syn cluster vimOperGroup contains=vimEnvvar,vimFunc,vimFuncVar,vimOper,vimOperParen,vimNumber,vimString,vimRegister,vimContinue
|
||||
syn match vimOper "\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn match vimOper "||\|&&\|[-+.]" skipwhite nextgroup=vimString,vimSpecFile
|
||||
syn region vimOperParen matchgroup=vimParenSep start="(" end=")" contains=@vimOperGroup
|
||||
syn region vimOperParen matchgroup=vimSep start="{" end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
|
||||
syn region vimOperParen matchgroup=vimSep start="{" end="}" contains=@vimOperGroup nextgroup=vimVar,vimFuncVar
|
||||
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_noopererror")
|
||||
syn match vimOperError ")"
|
||||
endif
|
||||
@@ -212,11 +215,15 @@ endif
|
||||
" Functions : Tag is provided for those who wish to highlight tagged functions {{{2
|
||||
" =========
|
||||
syn cluster vimFuncList contains=vimCommand,vimFunctionError,vimFuncKey,Tag,vimFuncSID
|
||||
syn cluster vimFuncBodyList contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimHighlight,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSearch,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUnmap,vimUserCommand
|
||||
syn cluster vimFuncBodyList contains=vimAbb,vimAddress,vimAugroupKey,vimAutoCmd,vimCmplxRepeat,vimComment,vimComment,vimContinue,vimCtrlChar,vimEcho,vimEchoHL,vimExecute,vimIf,vimIsCommand,vimFBVar,vimFunc,vimFunction,vimFuncVar,vimGlobal,vimHighlight,vimIsCommand,vimLet,vimLineComment,vimMap,vimMark,vimNorm,vimNotation,vimNotFunc,vimNumber,vimOper,vimOperParen,vimRegion,vimRegister,vimSet,vimSpecFile,vimString,vimSubst,vimSynLine,vimUnmap,vimUserCommand
|
||||
syn match vimFunction "\<fu\%[nction]!\=\s\+\%(<[sS][iI][dD]>\|[sSgGbBwWtTlL]:\)\=\%(\i\|[#.]\|{.\{-1,}}\)*\ze\s*(" contains=@vimFuncList nextgroup=vimFuncBody
|
||||
|
||||
VimFoldf syn region vimFuncBody contained start="\ze(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
|
||||
syn match vimFuncVar contained "a:\(\h\w*\|\d\+\)"
|
||||
if exists("g:vimsyn_folding") && g:vimsyn_folding =~ 'f'
|
||||
syn region vimFuncBody contained fold start="\ze\s*(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
|
||||
else
|
||||
syn region vimFuncBody contained start="\ze\s*(" matchgroup=vimCommand end="\<\(endf\>\|endfu\%[nction]\>\)" contains=@vimFuncBodyList
|
||||
endif
|
||||
syn match vimFuncVar contained "a:\(\K\k*\|\d\+\)"
|
||||
syn match vimFuncSID contained "\c<sid>\|\<s:"
|
||||
syn keyword vimFuncKey contained fu[nction]
|
||||
syn match vimFuncBlank contained "\s\+"
|
||||
@@ -237,14 +244,16 @@ syn match vimSpecFileMod "\(:[phtre]\)\+" contained
|
||||
" =======================
|
||||
syn cluster vimUserCmdList contains=vimAddress,vimSyntax,vimHighlight,vimAutoCmd,vimCmplxRepeat,vimComment,vimCtrlChar,vimEscapeBrace,vimFilter,vimFunc,vimFuncName,vimFunction,vimFunctionError,vimIsCommand,vimMark,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimLet,vimSet,vimSetEqual,vimSetString,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange,vimSynLine
|
||||
syn keyword vimUserCommand contained com[mand]
|
||||
syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserCommand,@vimUserCmdList
|
||||
syn match vimUserAttrb contained "-n\%[args]=[01*?+]" contains=vimUserAttrbKey,vimOper
|
||||
syn match vimUserAttrb contained "-com\%[plete]=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError
|
||||
syn match vimUserAttrb contained "-ra\%[nge]\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-cou\%[nt]=\d\+" contains=vimNumber,vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-bang\=\>" contains=vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-re\%[gister]\>" contains=vimOper,vimUserAttrbKey
|
||||
syn match vimUserCmd "\<com\%[mand]!\=\>.*$" contains=vimUserAttrb,vimUserAttrbError,vimUserCommand,@vimUserCmdList
|
||||
syn match vimUserAttrbError contained "-\a\+\ze\s"
|
||||
syn match vimUserAttrb contained "-nargs=[01*?+]" contains=vimUserAttrbKey,vimOper
|
||||
syn match vimUserAttrb contained "-complete=" contains=vimUserAttrbKey,vimOper nextgroup=vimUserAttrbCmplt,vimUserCmdError
|
||||
syn match vimUserAttrb contained "-range\(=%\|=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-count\(=\d\+\)\=" contains=vimNumber,vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-bang\>" contains=vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-bar\>" contains=vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-buffer\>" contains=vimOper,vimUserAttrbKey
|
||||
syn match vimUserAttrb contained "-register\>" contains=vimOper,vimUserAttrbKey
|
||||
if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_nousercmderror")
|
||||
syn match vimUserCmdError contained "\S\+\>"
|
||||
endif
|
||||
@@ -318,7 +327,7 @@ syn match vimMark "\<norm\%[al]\s\zs'[a-zA-Z0-9]" nextgroup=vimOper,vimMarkNumbe
|
||||
syn match vimMarkNumber "[-+]\d\+" nextgroup=vimSubst contained contains=vimOper
|
||||
syn match vimPlainMark contained "'[a-zA-Z0-9]"
|
||||
|
||||
syn match vimRegister '[^,;[{]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":0-9]'
|
||||
syn match vimRegister '[^,;[{: \t]\zs"[a-zA-Z0-9.%#:_\-/]\ze[^a-zA-Z_":0-9]'
|
||||
syn match vimRegister '\<norm\s\+\zs"[a-zA-Z0-9]'
|
||||
syn match vimRegister '\<normal\s\+\zs"[a-zA-Z0-9]'
|
||||
syn match vimRegister '@"'
|
||||
@@ -338,7 +347,7 @@ syn match vimCmplxRepeat '@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\>\)'
|
||||
syn region vimSet matchgroup=vimCommand start="\<\%(setl\%[ocal]\|setg\%[lobal]\|se\%[t]\)\>" skip="\%(\\\\\)*\\." end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend oneline contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
|
||||
syn region vimSetEqual contained start="[=:]\|[-+^]=" skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation,vimEnvvar oneline
|
||||
syn region vimSetString contained start=+="+hs=s+1 skip=+\\\\\|\\"+ end=+"+ contains=vimCtrlChar
|
||||
syn match vimSetSep contained "[,:]"
|
||||
syn match vimSetSep contained "[,:]" skipwhite nextgroup=vimCommand
|
||||
syn match vimSetMod contained "&vim\=\|[!&?<]\|all&"
|
||||
|
||||
" Let {{{2
|
||||
@@ -373,11 +382,11 @@ syn keyword vimMap mapc[lear] smapc[lear]
|
||||
syn keyword vimUnmap cu[nmap] iu[nmap] lu[nmap] nun[map] ou[nmap] sunm[ap] unm[ap] unm[ap] vu[nmap] xu[nmap] skipwhite nextgroup=vimMapBang,vimMapMod,vimMapLhs
|
||||
syn match vimMapLhs contained "\S\+" contains=vimNotation,vimCtrlChar skipwhite nextgroup=vimMapRhs
|
||||
syn match vimMapBang contained "!" skipwhite nextgroup=vimMapMod,vimMapLhs
|
||||
syn match vimMapMod contained "\c<\(buffer\|expr\|\(local\)\=leader\|plug\|script\|sid\|unique\|silent\)\+>" contains=vimMapModKey,vimMapModErr skipwhite nextgroup=vimMapMod,vimMapLhs
|
||||
syn match vimMapMod contained "\c<\(buffer\|expr\|\(local\)\=leader\|nowait\|plug\|script\|sid\|unique\|silent\)\+>" contains=vimMapModKey,vimMapModErr skipwhite nextgroup=vimMapMod,vimMapLhs
|
||||
syn match vimMapRhs contained ".*" contains=vimNotation,vimCtrlChar skipnl nextgroup=vimMapRhsExtend
|
||||
syn match vimMapRhsExtend contained "^\s*\\.*$" contains=vimNotation,vimCtrlChar,vimContinue skipnl nextgroup=vimMapRhsExtend
|
||||
syn match vimMapRhsExtend contained "^\s*\\.*$" contains=vimContinue
|
||||
syn case ignore
|
||||
syn keyword vimMapModKey contained buffer expr leader localleader plug script sid silent unique
|
||||
syn keyword vimMapModKey contained buffer expr leader localleader nowait plug script sid silent unique
|
||||
syn case match
|
||||
|
||||
" Menus {{{2
|
||||
@@ -597,12 +606,12 @@ syn region vimGlobal matchgroup=Statement start='\<v\%[global]!\=/' skip='\\.' e
|
||||
" Allows users to specify the type of embedded script highlighting
|
||||
" they want: (perl/python/ruby/tcl support)
|
||||
" g:vimsyn_embed == 0 : don't embed any scripts
|
||||
" g:vimsyn_embed ~= 'l' : embed lua (but only if vim supports it)
|
||||
" g:vimsyn_embed ~= 'm' : embed mzscheme (but only if vim supports it)
|
||||
" g:vimsyn_embed ~= 'p' : embed perl (but only if vim supports it)
|
||||
" g:vimsyn_embed ~= 'P' : embed python (but only if vim supports it)
|
||||
" g:vimsyn_embed ~= 'r' : embed ruby (but only if vim supports it)
|
||||
" g:vimsyn_embed ~= 't' : embed tcl (but only if vim supports it)
|
||||
" g:vimsyn_embed =~ 'l' : embed lua (but only if vim supports it)
|
||||
" g:vimsyn_embed =~ 'm' : embed mzscheme (but only if vim supports it)
|
||||
" g:vimsyn_embed =~ 'p' : embed perl (but only if vim supports it)
|
||||
" g:vimsyn_embed =~ 'P' : embed python (but only if vim supports it)
|
||||
" g:vimsyn_embed =~ 'r' : embed ruby (but only if vim supports it)
|
||||
" g:vimsyn_embed =~ 't' : embed tcl (but only if vim supports it)
|
||||
if !exists("g:vimsyn_embed")
|
||||
let g:vimsyn_embed= "lmpPr"
|
||||
endif
|
||||
@@ -688,6 +697,8 @@ if g:vimsyn_embed =~ 'P' && (has("python") || has("python3")) && filereadable(s:
|
||||
exe "syn include @vimPythonScript ".s:pythonpath
|
||||
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript
|
||||
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]3\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
|
||||
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\s*<<\s*\z(.*\)$+ end=+^\z1$+ contains=@vimPythonScript
|
||||
VimFoldP syn region vimPythonRegion matchgroup=vimScriptDelim start=+Py\%[thon]2or3\=\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
|
||||
syn cluster vimFuncBodyList add=vimPythonRegion
|
||||
else
|
||||
syn region vimEmbedError start=+py\%[thon]3\=\s*<<\s*\z(.*\)$+ end=+^\z1$+
|
||||
@@ -770,7 +781,6 @@ syn sync match vimAugroupSyncA groupthere NONE "\<aug\%[roup]\>\s\+[eE][nN][dD]"
|
||||
" Highlighting Settings {{{2
|
||||
" ====================
|
||||
|
||||
|
||||
if !exists("g:vimsyn_noerror")
|
||||
hi def link vimBehaveError vimError
|
||||
hi def link vimCollClassErr vimError
|
||||
@@ -925,6 +935,7 @@ hi def link vimUserAttrbCmpltFunc Special
|
||||
hi def link vimUserAttrbCmplt vimSpecial
|
||||
hi def link vimUserAttrbKey vimOption
|
||||
hi def link vimUserAttrb vimSpecial
|
||||
hi def link vimUserAttrbError Error
|
||||
hi def link vimUserCmdError Error
|
||||
hi def link vimUserCommand vimCommand
|
||||
hi def link vimUserFunc Normal
|
||||
|
||||
+1719
-321
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -1231,7 +1231,7 @@
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>MacVim</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.vim.MacVim</string>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
@@ -1256,7 +1256,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>80</string>
|
||||
<string>86</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>MainMenu</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -208,7 +208,6 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
[NSNumber numberWithBool:NO], MMNoFontSubstitutionKey,
|
||||
[NSNumber numberWithBool:YES], MMLoginShellKey,
|
||||
[NSNumber numberWithInt:2], MMRendererKey,
|
||||
[NSNumber numberWithBool:NO], MMRendererLigaturesSupportKey,
|
||||
[NSNumber numberWithInt:MMUntitledWindowAlways],
|
||||
MMUntitledWindowKey,
|
||||
[NSNumber numberWithBool:NO], MMTexturedWindowKey,
|
||||
@@ -1227,27 +1226,6 @@ fsEventCallback(ConstFSEventStreamRef streamRef,
|
||||
[self rebuildPreloadCache];
|
||||
}
|
||||
|
||||
- (IBAction)ligaturesButtonClicked:(id)sender
|
||||
{
|
||||
ASLogDebug(@"Toggle CoreText ligatures");
|
||||
BOOL enable = ([sender state] == NSOnState);
|
||||
|
||||
// Update the user default MMRendererLigaturesSupport and synchronize the
|
||||
// change so that any new Vim process will pick up on the changed setting.
|
||||
CFPreferencesSetAppValue(
|
||||
(CFStringRef)MMRendererLigaturesSupportKey,
|
||||
(CFPropertyListRef)[NSNumber numberWithBool:enable],
|
||||
kCFPreferencesCurrentApplication);
|
||||
CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication);
|
||||
|
||||
ASLogInfo(@"Use ligatures=%hhd", enable);
|
||||
|
||||
// This action is called when the user clicks the "enable support for ligatures"
|
||||
// button in the advanced preferences pane.
|
||||
[self rebuildPreloadCache];
|
||||
}
|
||||
|
||||
|
||||
- (IBAction)loginShellButtonClicked:(id)sender
|
||||
{
|
||||
ASLogDebug(@"Toggle login shell option");
|
||||
|
||||
@@ -73,6 +73,7 @@ enum { MMMaxCellsPerChar = 2 };
|
||||
- (void)setPreEditRow:(int)row column:(int)col;
|
||||
- (void)setMouseShape:(int)shape;
|
||||
- (void)setAntialias:(BOOL)state;
|
||||
- (void)setLigatures:(BOOL)state;
|
||||
- (void)setImControl:(BOOL)enable;
|
||||
- (void)activateIm:(BOOL)enable;
|
||||
- (void)checkImState;
|
||||
|
||||
@@ -361,6 +361,11 @@ defaultLineHeightForFont(NSFont *font)
|
||||
antialias = state;
|
||||
}
|
||||
|
||||
- (void)setLigatures:(BOOL)state
|
||||
{
|
||||
// ONLY in Core Text!
|
||||
}
|
||||
|
||||
- (void)setImControl:(BOOL)enable
|
||||
{
|
||||
[helper setImControl:enable];
|
||||
|
||||
@@ -136,6 +136,7 @@ extern NSTimeInterval MMBalloonEvalInternalDelay;
|
||||
- (void)setFullScreenBackgroundColor:(int)color;
|
||||
|
||||
- (void)setAntialias:(BOOL)antialias;
|
||||
- (void)setLigatures:(BOOL)ligatures;
|
||||
|
||||
#ifdef BLUR_TRANSPARENCY
|
||||
- (void)setBlurRadius:(int)radius;
|
||||
|
||||
+12
-2
@@ -1180,6 +1180,13 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
[self queueMessage:msgid data:nil];
|
||||
}
|
||||
|
||||
- (void)setLigatures:(BOOL)ligatures
|
||||
{
|
||||
int msgid = ligatures ? EnableLigaturesMsgID : DisableLigaturesMsgID;
|
||||
|
||||
[self queueMessage:msgid data:nil];
|
||||
}
|
||||
|
||||
#ifdef BLUR_TRANSPARENCY
|
||||
|
||||
- (void)setBlurRadius:(int)radius
|
||||
@@ -1837,6 +1844,7 @@ static void netbeansReadCallback(CFSocketRef s,
|
||||
[NSNumber numberWithBool:mmta], @"p_mmta",
|
||||
[NSNumber numberWithInt:numTabs], @"numTabs",
|
||||
[NSNumber numberWithInt:fuoptions_flags], @"fullScreenOptions",
|
||||
[NSNumber numberWithLong:p_mouset], @"p_mouset",
|
||||
nil];
|
||||
|
||||
// Put the state before all other messages.
|
||||
@@ -1925,12 +1933,12 @@ static void netbeansReadCallback(CFSocketRef s,
|
||||
int col = *((int*)bytes); bytes += sizeof(int);
|
||||
int button = *((int*)bytes); bytes += sizeof(int);
|
||||
int flags = *((int*)bytes); bytes += sizeof(int);
|
||||
int count = *((int*)bytes); bytes += sizeof(int);
|
||||
int repeat = *((int*)bytes); bytes += sizeof(int);
|
||||
|
||||
button = eventButtonNumberToVimMouseButton(button);
|
||||
if (button >= 0) {
|
||||
flags = eventModifierFlagsToVimMouseModMask(flags);
|
||||
gui_send_mouse_event(button, col, row, count>1, flags);
|
||||
gui_send_mouse_event(button, col, row, repeat, flags);
|
||||
}
|
||||
} else if (MouseUpMsgID == msgid) {
|
||||
if (!data) return;
|
||||
@@ -1993,8 +2001,10 @@ static void netbeansReadCallback(CFSocketRef s,
|
||||
const void *bytes = [data bytes];
|
||||
int idx = *((int*)bytes) + 1;
|
||||
send_tabline_menu_event(idx, TABLINE_MENU_CLOSE);
|
||||
[self redrawScreen];
|
||||
} else if (AddNewTabMsgID == msgid) {
|
||||
send_tabline_menu_event(0, TABLINE_MENU_NEW);
|
||||
[self redrawScreen];
|
||||
} else if (DraggedTabMsgID == msgid) {
|
||||
if (!data) return;
|
||||
const void *bytes = [data bytes];
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
float fontDescent;
|
||||
BOOL antialias;
|
||||
BOOL useLigatures;
|
||||
BOOL ligatures;
|
||||
NSMutableArray *drawData;
|
||||
|
||||
MMTextViewHelper *helper;
|
||||
@@ -79,6 +79,7 @@
|
||||
- (void)setPreEditRow:(int)row column:(int)col;
|
||||
- (void)setMouseShape:(int)shape;
|
||||
- (void)setAntialias:(BOOL)state;
|
||||
- (void)setLigatures:(BOOL)state;
|
||||
- (void)setImControl:(BOOL)enable;
|
||||
- (void)activateIm:(BOOL)enable;
|
||||
- (void)checkImState;
|
||||
|
||||
+164
-65
@@ -132,17 +132,7 @@ defaultAdvanceForFont(NSFont *font)
|
||||
[self registerForDraggedTypes:[NSArray arrayWithObjects:
|
||||
NSFilenamesPboardType, NSStringPboardType, nil]];
|
||||
|
||||
// Check if ligatures should be used or not
|
||||
{
|
||||
Boolean val;
|
||||
Boolean keyValid;
|
||||
val = CFPreferencesGetAppBooleanValue((CFStringRef)MMRendererLigaturesSupportKey,
|
||||
kCFPreferencesCurrentApplication,
|
||||
&keyValid);
|
||||
|
||||
useLigatures = NO;
|
||||
if(keyValid) { useLigatures = val; }
|
||||
}
|
||||
ligatures = NO;
|
||||
return self;
|
||||
}
|
||||
|
||||
@@ -317,7 +307,18 @@ defaultAdvanceForFont(NSFont *font)
|
||||
// NOTE: No need to set point size etc. since this is taken from the
|
||||
// regular font when drawing.
|
||||
[fontWide release];
|
||||
fontWide = [newFont retain];
|
||||
|
||||
// Use 'Apple Color Emoji' font for rendering emoji
|
||||
CGFloat size = [font pointSize];
|
||||
NSFontDescriptor *emojiDesc = [NSFontDescriptor
|
||||
fontDescriptorWithName:@"Apple Color Emoji" size:size];
|
||||
NSFontDescriptor *newFontDesc = [newFont fontDescriptor];
|
||||
NSDictionary *attrs = [NSDictionary
|
||||
dictionaryWithObject:[NSArray arrayWithObject:newFontDesc]
|
||||
forKey:NSFontCascadeListAttribute];
|
||||
NSFontDescriptor *desc =
|
||||
[emojiDesc fontDescriptorByAddingAttributes:attrs];
|
||||
fontWide = [[NSFont fontWithDescriptor:desc size:size] retain];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -376,6 +377,11 @@ defaultAdvanceForFont(NSFont *font)
|
||||
antialias = state;
|
||||
}
|
||||
|
||||
- (void)setLigatures:(BOOL)state
|
||||
{
|
||||
ligatures = state;
|
||||
}
|
||||
|
||||
- (void)setImControl:(BOOL)enable
|
||||
{
|
||||
[helper setImControl:enable];
|
||||
@@ -1028,62 +1034,144 @@ lookupFont(NSMutableArray *fontCache, const unichar *chars, UniCharCount count,
|
||||
return newFontRef;
|
||||
}
|
||||
|
||||
static void
|
||||
ligatureGlyphsForChars(const unichar *chars, CGGlyph *glyphs, CGPoint *positions, UniCharCount *length, CTFontRef font )
|
||||
static CFAttributedStringRef
|
||||
attributedStringForString(NSString *string, const CTFontRef font,
|
||||
BOOL useLigatures)
|
||||
{
|
||||
/* CoreText has no simple wait of retrieving a ligature for a set of UniChars.
|
||||
* The way proposed on the CoreText ML is to convert the text to an attributed
|
||||
* string, create a CTLine from it and retrieve the Glyphs from the CTRuns in it.
|
||||
*/
|
||||
NSString *text = [NSString stringWithCharacters:chars
|
||||
length:*length];
|
||||
|
||||
NSDictionary *attrs = [NSDictionary dictionaryWithObjectsAndKeys:
|
||||
(id)font, kCTFontAttributeName,
|
||||
// 2 - full ligatures including rare
|
||||
[NSNumber numberWithInteger: 2], kCTLigatureAttributeName,
|
||||
// 1 - basic ligatures
|
||||
// 0 - no ligatures
|
||||
[NSNumber numberWithInteger:(useLigatures ? 1 : 0)],
|
||||
kCTLigatureAttributeName,
|
||||
nil
|
||||
];
|
||||
|
||||
NSAttributedString *attrText = [[NSAttributedString alloc] initWithString:text
|
||||
attributes:attrs];
|
||||
return CFAttributedStringCreate(NULL, (CFStringRef)string,
|
||||
(CFDictionaryRef)attrs);
|
||||
}
|
||||
|
||||
CGPoint refPos = positions[0];
|
||||
|
||||
CTLineRef line = CTLineCreateWithAttributedString((CFAttributedStringRef)attrText);
|
||||
|
||||
UniCharCount offset = 0;
|
||||
static UniCharCount
|
||||
fetchGlyphsAndAdvances(const CTLineRef line, CGGlyph *glyphs, CGSize *advances,
|
||||
UniCharCount length)
|
||||
{
|
||||
NSArray *glyphRuns = (NSArray*)CTLineGetGlyphRuns(line);
|
||||
|
||||
// get a hold on the actual character widths and glyphs in line
|
||||
UniCharCount offset = 0;
|
||||
for (id item in glyphRuns) {
|
||||
CTRunRef run = (CTRunRef)item;
|
||||
CFIndex count = CTRunGetGlyphCount(run);
|
||||
|
||||
if(count > 0) {
|
||||
if(count - offset > *length) {
|
||||
count = (*length) - offset;
|
||||
}
|
||||
}
|
||||
if (count > 0 && count - offset > length)
|
||||
count = length - offset;
|
||||
|
||||
CFRange range = CFRangeMake(0, count);
|
||||
CTRunGetGlyphs(run, range, &glyphs[offset]);
|
||||
CTRunGetPositions(run, range, &positions[offset]);
|
||||
|
||||
if (glyphs != NULL)
|
||||
CTRunGetGlyphs(run, range, &glyphs[offset]);
|
||||
if (advances != NULL)
|
||||
CTRunGetAdvances(run, range, &advances[offset]);
|
||||
|
||||
offset += count;
|
||||
if(offset >= *length) {
|
||||
// don't copy more glyphs then there is space for
|
||||
if (offset >= length)
|
||||
break;
|
||||
}
|
||||
|
||||
return offset;
|
||||
}
|
||||
|
||||
static UniCharCount
|
||||
gatherGlyphs(CGGlyph glyphs[], UniCharCount count)
|
||||
{
|
||||
// Gather scattered glyphs that was happended by Surrogate pair chars
|
||||
UniCharCount glyphCount = 0;
|
||||
NSUInteger pos = 0;
|
||||
NSUInteger i;
|
||||
for (i = 0; i < count; ++i) {
|
||||
if (glyphs[i] != 0) {
|
||||
++glyphCount;
|
||||
glyphs[pos++] = glyphs[i];
|
||||
}
|
||||
}
|
||||
// fixup relative positioning
|
||||
CFIndex i;
|
||||
for( i = 0; i < offset; ++i ) {
|
||||
positions[i].x += refPos.x;
|
||||
positions[i].y += refPos.y;
|
||||
return glyphCount;
|
||||
}
|
||||
|
||||
static UniCharCount
|
||||
ligatureGlyphsForChars(const unichar *chars, CGGlyph *glyphs,
|
||||
CGPoint *positions, UniCharCount length, CTFontRef font)
|
||||
{
|
||||
// CoreText has no simple wait of retrieving a ligature for a set of
|
||||
// UniChars. The way proposed on the CoreText ML is to convert the text to
|
||||
// an attributed string, create a CTLine from it and retrieve the Glyphs
|
||||
// from the CTRuns in it.
|
||||
CGGlyph refGlyphs[length];
|
||||
CGPoint refPositions[length];
|
||||
|
||||
memcpy(refGlyphs, glyphs, sizeof(CGGlyph) * length);
|
||||
memcpy(refPositions, positions, sizeof(CGSize) * length);
|
||||
|
||||
memset(glyphs, 0, sizeof(CGGlyph) * length);
|
||||
|
||||
NSString *plainText = [NSString stringWithCharacters:chars length:length];
|
||||
CFAttributedStringRef ligatureText = attributedStringForString(plainText,
|
||||
font, YES);
|
||||
|
||||
CTLineRef ligature = CTLineCreateWithAttributedString(ligatureText);
|
||||
|
||||
CGSize ligatureRanges[length], regularRanges[length];
|
||||
|
||||
// get the (ligature)glyphs and advances for the new text
|
||||
UniCharCount offset = fetchGlyphsAndAdvances(ligature, glyphs,
|
||||
ligatureRanges, length);
|
||||
// fetch the advances for the base text
|
||||
CTFontGetAdvancesForGlyphs(font, kCTFontOrientationDefault, refGlyphs,
|
||||
regularRanges, length);
|
||||
|
||||
CFRelease(ligatureText);
|
||||
CFRelease(ligature);
|
||||
|
||||
// tricky part: compare both advance ranges and chomp positions which are
|
||||
// covered by a single ligature while keeping glyphs not in the ligature
|
||||
// font.
|
||||
#define fequal(a, b) (fabs((a) - (b)) < FLT_EPSILON)
|
||||
#define fless(a, b)((a) - (b) < FLT_EPSILON) && (fabs((a) - (b)) > FLT_EPSILON)
|
||||
|
||||
CFIndex skip = 0;
|
||||
for (CFIndex i = 0; i < offset && skip + i < length; ++i) {
|
||||
memcpy(&positions[i], &refPositions[skip + i], sizeof(CGSize));
|
||||
|
||||
if (fequal(ligatureRanges[i].width, regularRanges[skip + i].width)) {
|
||||
// [mostly] same width
|
||||
continue;
|
||||
} else if (fless(ligatureRanges[i].width,
|
||||
regularRanges[skip + i].width)) {
|
||||
// original is wider than our result - use the original glyph
|
||||
// FIXME: this is currently the only way to detect emoji (except
|
||||
// for 'glyph[i] == 5')
|
||||
glyphs[i] = refGlyphs[skip + i];
|
||||
continue;
|
||||
}
|
||||
|
||||
// no, that's a ligature
|
||||
// count how many positions this glyph would take up in the base text
|
||||
CFIndex j = 0;
|
||||
float width = ceil(regularRanges[skip + i].width);
|
||||
|
||||
while ((int)width < (int)ligatureRanges[i].width
|
||||
&& skip + i + j < length) {
|
||||
width += ceil(regularRanges[++j + skip + i].width);
|
||||
}
|
||||
skip += j;
|
||||
}
|
||||
|
||||
#undef fless
|
||||
#undef fequal
|
||||
|
||||
// as ligatures combine characters it is required to adjust the
|
||||
// original length value
|
||||
*length = offset;
|
||||
return offset;
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1094,14 +1182,14 @@ recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions,
|
||||
if (CTFontGetGlyphsForCharacters(fontRef, chars, glyphs, length)) {
|
||||
// All chars were mapped to glyphs, so draw all at once and return.
|
||||
if (useLigatures) {
|
||||
memset(glyphs, 0, sizeof(CGGlyph) * length);
|
||||
ligatureGlyphsForChars(chars, glyphs, positions, &length, fontRef);
|
||||
length = ligatureGlyphsForChars(chars, glyphs, positions, length,
|
||||
fontRef);
|
||||
} else {
|
||||
// only fixup surrogate pairs if we're not using ligatures
|
||||
length = gatherGlyphs(glyphs, length);
|
||||
}
|
||||
|
||||
CGFontRef cgFontRef = CTFontCopyGraphicsFont(fontRef, NULL);
|
||||
CGContextSetFont(context, cgFontRef);
|
||||
CGContextShowGlyphsAtPositions(context, glyphs, positions, length);
|
||||
CGFontRelease(cgFontRef);
|
||||
CTFontDrawGlyphs(fontRef, glyphs, positions, length, context);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1113,23 +1201,34 @@ recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions,
|
||||
// Draw as many consecutive glyphs as possible in the current font
|
||||
// (if a glyph is 0 that means it does not exist in the current
|
||||
// font).
|
||||
BOOL surrogatePair = NO;
|
||||
while (*g && g < glyphsEnd) {
|
||||
++g;
|
||||
++c;
|
||||
if (CFStringIsSurrogateHighCharacter(*c)) {
|
||||
surrogatePair = YES;
|
||||
g += 2;
|
||||
c += 2;
|
||||
} else {
|
||||
++g;
|
||||
++c;
|
||||
}
|
||||
++p;
|
||||
}
|
||||
|
||||
int count = g-glyphs;
|
||||
CGFontRef cgFontRef = CTFontCopyGraphicsFont(fontRef, NULL);
|
||||
CGContextSetFont(context, cgFontRef);
|
||||
CGContextShowGlyphsAtPositions(context, glyphs, positions, count);
|
||||
CGFontRelease(cgFontRef);
|
||||
if (surrogatePair)
|
||||
count = gatherGlyphs(glyphs, count);
|
||||
CTFontDrawGlyphs(fontRef, glyphs, positions, count, context);
|
||||
} else {
|
||||
// Skip past as many consecutive chars as possible which cannot be
|
||||
// drawn in the current font.
|
||||
while (0 == *g && g < glyphsEnd) {
|
||||
++g;
|
||||
++c;
|
||||
if (CFStringIsSurrogateHighCharacter(*c)) {
|
||||
g += 2;
|
||||
c += 2;
|
||||
} else {
|
||||
++g;
|
||||
++c;
|
||||
}
|
||||
++p;
|
||||
}
|
||||
|
||||
@@ -1140,14 +1239,14 @@ recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions,
|
||||
UniCharCount attemptedCount = count;
|
||||
CTFontRef fallback = nil;
|
||||
while (fallback == nil && attemptedCount > 0) {
|
||||
fallback = lookupFont(fontCache, chars, attemptedCount, fontRef);
|
||||
if (!fallback)
|
||||
attemptedCount /= 2;
|
||||
fallback = lookupFont(fontCache, chars, attemptedCount,
|
||||
fontRef);
|
||||
if (!fallback)
|
||||
attemptedCount /= 2;
|
||||
}
|
||||
|
||||
if (!fallback) {
|
||||
return;
|
||||
}
|
||||
if (!fallback)
|
||||
return;
|
||||
|
||||
recurseDraw(chars, glyphs, positions, attemptedCount, context,
|
||||
fallback, fontCache, useLigatures);
|
||||
@@ -1274,7 +1373,7 @@ recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions,
|
||||
}
|
||||
|
||||
CGContextSetTextPosition(context, x, y+fontDescent);
|
||||
recurseDraw(chars, glyphs, positions, length, context, fontRef, fontCache, useLigatures);
|
||||
recurseDraw(chars, glyphs, positions, length, context, fontRef, fontCache, ligatures);
|
||||
|
||||
CFRelease(fontRef);
|
||||
CGContextRestoreGState(context);
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
int insertionPointShape;
|
||||
int insertionPointFraction;
|
||||
BOOL antialias;
|
||||
BOOL ligatures;
|
||||
NSRect *invertRects;
|
||||
int numInvertRects;
|
||||
|
||||
@@ -32,6 +33,7 @@
|
||||
- (void)performBatchDrawWithData:(NSData *)data;
|
||||
- (void)setMouseShape:(int)shape;
|
||||
- (void)setAntialias:(BOOL)antialias;
|
||||
- (void)setLigatures:(BOOL)ligatures;
|
||||
- (void)setImControl:(BOOL)enable;
|
||||
- (void)activateIm:(BOOL)enable;
|
||||
- (void)checkImState;
|
||||
|
||||
@@ -307,6 +307,11 @@
|
||||
antialias = state;
|
||||
}
|
||||
|
||||
- (void)setLigatures:(BOOL)state
|
||||
{
|
||||
ligatures = state;
|
||||
}
|
||||
|
||||
- (void)setImControl:(BOOL)enable
|
||||
{
|
||||
[helper setImControl:enable];
|
||||
|
||||
@@ -35,6 +35,8 @@
|
||||
BOOL interpretKeyEventsSwallowedKey;
|
||||
NSEvent *currentEvent;
|
||||
NSMutableDictionary *signImages;
|
||||
BOOL useMouseTime;
|
||||
NSDate *mouseDownTime;
|
||||
|
||||
// Input Manager
|
||||
NSRange imRange;
|
||||
|
||||
@@ -80,6 +80,11 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
|
||||
signImages = [[NSMutableDictionary alloc] init];
|
||||
|
||||
useMouseTime =
|
||||
[[NSUserDefaults standardUserDefaults] boolForKey:MMUseMouseTimeKey];
|
||||
if (useMouseTime)
|
||||
mouseDownTime = [[NSDate date] retain];
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
@@ -91,6 +96,7 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
[markedText release]; markedText = nil;
|
||||
[markedTextAttributes release]; markedTextAttributes = nil;
|
||||
[signImages release]; signImages = nil;
|
||||
[mouseDownTime release]; mouseDownTime = nil;
|
||||
|
||||
#if (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_5)
|
||||
if (asciiImSource) {
|
||||
@@ -380,7 +386,21 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
|
||||
int button = [event buttonNumber];
|
||||
int flags = [event modifierFlags];
|
||||
int count = [event clickCount];
|
||||
int repeat = 0;
|
||||
|
||||
if (useMouseTime) {
|
||||
// Use Vim mouseTime option to handle multiple mouse down events
|
||||
NSDate *now = [[NSDate date] retain];
|
||||
id mouset = [[[self vimController] vimState] objectForKey:@"p_mouset"];
|
||||
NSTimeInterval interval =
|
||||
[now timeIntervalSinceDate:mouseDownTime] * 1000.0;
|
||||
if (interval < (NSTimeInterval)[mouset longValue])
|
||||
repeat = 1;
|
||||
mouseDownTime = now;
|
||||
} else {
|
||||
repeat = [event clickCount] > 1;
|
||||
}
|
||||
|
||||
NSMutableData *data = [NSMutableData data];
|
||||
|
||||
// If desired, intepret Ctrl-Click as a right mouse click.
|
||||
@@ -398,7 +418,7 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
[data appendBytes:&col length:sizeof(int)];
|
||||
[data appendBytes:&button length:sizeof(int)];
|
||||
[data appendBytes:&flags length:sizeof(int)];
|
||||
[data appendBytes:&count length:sizeof(int)];
|
||||
[data appendBytes:&repeat length:sizeof(int)];
|
||||
|
||||
[[self vimController] sendMessage:MouseDownMsgID data:data];
|
||||
}
|
||||
|
||||
@@ -71,6 +71,8 @@ static BOOL isUnsafeMessage(int msgid);
|
||||
}
|
||||
- (void)setTextFieldString:(NSString *)textFieldString;
|
||||
- (NSTextField *)textField;
|
||||
- (void)beginSheetModalForWindow:(NSWindow *)window
|
||||
modalDelegate:(id)delegate;
|
||||
@end
|
||||
|
||||
|
||||
@@ -574,8 +576,10 @@ static BOOL isUnsafeMessage(int msgid);
|
||||
[windowController updateTabsWithData:data];
|
||||
} else if (ShowTabBarMsgID == msgid) {
|
||||
[windowController showTabBar:YES];
|
||||
[self sendMessage:BackingPropertiesChangedMsgID data:nil];
|
||||
} else if (HideTabBarMsgID == msgid) {
|
||||
[windowController showTabBar:NO];
|
||||
[self sendMessage:BackingPropertiesChangedMsgID data:nil];
|
||||
} else if (SetTextDimensionsMsgID == msgid || LiveResizeMsgID == msgid ||
|
||||
SetTextDimensionsReplyMsgID == msgid) {
|
||||
const void *bytes = [data bytes];
|
||||
@@ -799,6 +803,10 @@ static BOOL isUnsafeMessage(int msgid);
|
||||
[[[windowController vimView] textView] setAntialias:YES];
|
||||
} else if (DisableAntialiasMsgID == msgid) {
|
||||
[[[windowController vimView] textView] setAntialias:NO];
|
||||
} else if (EnableLigaturesMsgID == msgid) {
|
||||
[[[windowController vimView] textView] setLigatures:YES];
|
||||
} else if (DisableLigaturesMsgID == msgid) {
|
||||
[[[windowController vimView] textView] setLigatures:NO];
|
||||
} else if (SetVimStateMsgID == msgid) {
|
||||
NSDictionary *dict = [NSDictionary dictionaryWithData:data];
|
||||
if (dict) {
|
||||
@@ -1526,15 +1534,8 @@ static BOOL isUnsafeMessage(int msgid);
|
||||
}
|
||||
}
|
||||
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_10
|
||||
[alert beginSheetModalForWindow:[windowController window]
|
||||
completionHandler: ^(NSModalResponse code) { [self alertDidEnd:alert code:code context:NULL]; }];
|
||||
#else
|
||||
[alert beginSheetModalForWindow:[windowController window]
|
||||
modalDelegate:self
|
||||
didEndSelector:@selector(alertDidEnd:code:context:)
|
||||
contextInfo:NULL];
|
||||
#endif
|
||||
modalDelegate:self];
|
||||
|
||||
[alert release];
|
||||
}
|
||||
@@ -1601,13 +1602,19 @@ static BOOL isUnsafeMessage(int msgid);
|
||||
|
||||
- (void)beginSheetModalForWindow:(NSWindow *)window
|
||||
modalDelegate:(id)delegate
|
||||
didEndSelector:(SEL)didEndSelector
|
||||
contextInfo:(void *)contextInfo
|
||||
{
|
||||
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_10
|
||||
[super beginSheetModalForWindow:window
|
||||
completionHandler:^(NSModalResponse code) {
|
||||
[delegate alertDidEnd:self code:code context:NULL];
|
||||
}];
|
||||
#else
|
||||
[super beginSheetModalForWindow:window
|
||||
modalDelegate:delegate
|
||||
didEndSelector:didEndSelector
|
||||
contextInfo:contextInfo];
|
||||
didEndSelector:@selector(alertDidEnd:code:context:)
|
||||
contextInfo:NULL];
|
||||
#endif
|
||||
|
||||
// HACK! Place the input text field at the bottom of the informative text
|
||||
// (which has been made a bit larger by adding newline characters).
|
||||
|
||||
@@ -108,6 +108,14 @@ static CGSSetWindowBackgroundBlurRadiusFunction* GetCGSSetWindowBackgroundBlurRa
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (BOOL) canBecomeMainWindow {
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (BOOL) canBecomeKeyWindow {
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (BOOL)hideTablineSeparator:(BOOL)hide
|
||||
{
|
||||
BOOL isHidden = [tablineSeparator isHidden];
|
||||
@@ -227,4 +235,15 @@ static CGSSetWindowBackgroundBlurRadiusFunction* GetCGSSetWindowBackgroundBlurRa
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void)setToolbar:(NSToolbar *)toolbar
|
||||
{
|
||||
if ([[NSUserDefaults standardUserDefaults]
|
||||
boolForKey:MMNoTitleBarWindowKey]) {
|
||||
// MacVim can't have toolbar with No title bar setting.
|
||||
return;
|
||||
}
|
||||
|
||||
[super setToolbar:toolbar];
|
||||
}
|
||||
|
||||
@end // MMWindow
|
||||
|
||||
@@ -130,6 +130,12 @@
|
||||
| NSMiniaturizableWindowMask | NSResizableWindowMask
|
||||
| NSUnifiedTitleAndToolbarWindowMask;
|
||||
|
||||
if ([[NSUserDefaults standardUserDefaults]
|
||||
boolForKey:MMNoTitleBarWindowKey]) {
|
||||
// No title bar setting
|
||||
styleMask &= ~NSTitledWindowMask;
|
||||
}
|
||||
|
||||
// Use textured background on Leopard or later (skip the 'if' on Tiger for
|
||||
// polished metal window).
|
||||
if ([[NSUserDefaults standardUserDefaults] boolForKey:MMTexturedWindowKey]
|
||||
|
||||
+2
-1
@@ -211,6 +211,8 @@ enum {
|
||||
AddToMRUMsgID,
|
||||
BackingPropertiesChangedMsgID,
|
||||
SetBlurRadiusMsgID,
|
||||
EnableLigaturesMsgID,
|
||||
DisableLigaturesMsgID,
|
||||
LastMsgID // NOTE: MUST BE LAST MESSAGE IN ENUM!
|
||||
};
|
||||
|
||||
@@ -277,7 +279,6 @@ extern NSString *MMNoWindowKey;
|
||||
extern NSString *MMAutosaveRowsKey;
|
||||
extern NSString *MMAutosaveColumnsKey;
|
||||
extern NSString *MMRendererKey;
|
||||
extern NSString *MMRendererLigaturesSupportKey;
|
||||
|
||||
enum {
|
||||
MMRendererDefault = 0,
|
||||
|
||||
+2
-1
@@ -101,6 +101,8 @@ char *MessageStrings[] =
|
||||
"AddToMRUMsgID",
|
||||
"BackingPropertiesChangedMsgID",
|
||||
"SetBlurRadiusMsgID",
|
||||
"EnableLigaturesMsgID",
|
||||
"DisableLigaturesMsgID",
|
||||
"END OF MESSAGE IDs" // NOTE: Must be last!
|
||||
};
|
||||
|
||||
@@ -117,7 +119,6 @@ NSString *MMNoWindowKey = @"MMNoWindow";
|
||||
NSString *MMAutosaveRowsKey = @"MMAutosaveRows";
|
||||
NSString *MMAutosaveColumnsKey = @"MMAutosaveColumns";
|
||||
NSString *MMRendererKey = @"MMRenderer";
|
||||
NSString *MMRendererLigaturesSupportKey = @"MMRendererLigaturesSupport";
|
||||
|
||||
// Vim find pasteboard type (string contains Vim regex patterns)
|
||||
NSString *VimFindPboardType = @"VimFindPboardType";
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 42;
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
@@ -21,8 +21,8 @@
|
||||
1D22374B0E45DF4800E6FFFF /* Advanced.png in Resources */ = {isa = PBXBuildFile; fileRef = 1D22374A0E45DF4800E6FFFF /* Advanced.png */; };
|
||||
1D384A0E100D671700D3C22F /* KeyBinding.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1D384A0D100D671700D3C22F /* KeyBinding.plist */; };
|
||||
1D44972211FCA9B400B0630F /* MMCoreTextView+ToolTip.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D44972111FCA9B400B0630F /* MMCoreTextView+ToolTip.m */; };
|
||||
1D493D580C5247BF00AB718C /* Vim in Copy Executables */ = {isa = PBXBuildFile; fileRef = 1D493D570C5247BF00AB718C /* Vim */; };
|
||||
1D493DBA0C52534300AB718C /* PSMTabBarControl.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1D493DB90C52533B00AB718C /* PSMTabBarControl.framework */; };
|
||||
1D493D580C5247BF00AB718C /* Vim in Copy Executables */ = {isa = PBXBuildFile; fileRef = 1D493D570C5247BF00AB718C /* Vim */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||
1D493DBA0C52534300AB718C /* PSMTabBarControl.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1D493DB90C52533B00AB718C /* PSMTabBarControl.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||
1D60088B0E96A0B2003763F0 /* MMFindReplaceController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D60088A0E96A0B2003763F0 /* MMFindReplaceController.m */; };
|
||||
1D80591F0E1185EA001699D1 /* Miscellaneous.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D80591D0E1185EA001699D1 /* Miscellaneous.m */; };
|
||||
1D80FBD40CBBD3B700102A1C /* MMFullScreenWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D80FBD00CBBD3B700102A1C /* MMFullScreenWindow.m */; };
|
||||
@@ -437,8 +437,11 @@
|
||||
/* Begin PBXProject section */
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0710;
|
||||
};
|
||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "MacVim" */;
|
||||
compatibilityVersion = "Xcode 2.4";
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
@@ -612,9 +615,8 @@
|
||||
C01FCF4B08A954540054247B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
CURRENT_PROJECT_VERSION = 78;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
@@ -632,6 +634,7 @@
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
MACOSX_DEPLOYMENT_TARGET = "";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.vim.MacVim;
|
||||
PRODUCT_NAME = MacVim;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
WARNING_CFLAGS = "-Wall";
|
||||
@@ -643,9 +646,8 @@
|
||||
C01FCF4C08A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
COPY_PHASE_STRIP = YES;
|
||||
CURRENT_PROJECT_VERSION = 78;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
@@ -662,6 +664,7 @@
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
MACOSX_DEPLOYMENT_TARGET = "";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = org.vim.MacVim;
|
||||
PRODUCT_NAME = MacVim;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
WRAPPER_EXTENSION = app;
|
||||
@@ -672,7 +675,7 @@
|
||||
C01FCF4F08A954540054247B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_VERSION = 4.2;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
@@ -685,7 +688,6 @@
|
||||
C01FCF5008A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
GCC_VERSION = 4.2;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
|
||||
@@ -0,0 +1,720 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 42;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
0395A8330D71ED7800881434 /* DBPrefsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0395A8320D71ED7800881434 /* DBPrefsWindowController.m */; };
|
||||
0395A8AA0D72D88B00881434 /* General.png in Resources */ = {isa = PBXBuildFile; fileRef = 0395A8A90D72D88B00881434 /* General.png */; };
|
||||
1D09AB420C6A4D520045497E /* MMTypesetter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D09AB400C6A4D520045497E /* MMTypesetter.m */; };
|
||||
1D0E051C0BA5F83800B6049E /* Colors.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1D0E051B0BA5F83800B6049E /* Colors.plist */; };
|
||||
1D145C7F0E5227CE00691AA0 /* MMTextViewHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D145C7E0E5227CE00691AA0 /* MMTextViewHelper.m */; };
|
||||
1D1474980C56703C0038FA2B /* MacVim.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D1474960C56703C0038FA2B /* MacVim.m */; };
|
||||
1D1474A00C5673AE0038FA2B /* MMAppController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D14749E0C5673AE0038FA2B /* MMAppController.m */; };
|
||||
1D1474AA0C5677450038FA2B /* MMTextStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D1474A80C5677450038FA2B /* MMTextStorage.m */; };
|
||||
1D1474B00C5678370038FA2B /* MMTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D1474AE0C5678370038FA2B /* MMTextView.m */; };
|
||||
1D1474B60C56796D0038FA2B /* MMVimController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D1474B40C56796D0038FA2B /* MMVimController.m */; };
|
||||
1D1474BC0C567A910038FA2B /* MMWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D1474BA0C567A910038FA2B /* MMWindowController.m */; };
|
||||
1D22374B0E45DF4800E6FFFF /* Advanced.png in Resources */ = {isa = PBXBuildFile; fileRef = 1D22374A0E45DF4800E6FFFF /* Advanced.png */; };
|
||||
1D384A0E100D671700D3C22F /* KeyBinding.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1D384A0D100D671700D3C22F /* KeyBinding.plist */; };
|
||||
1D44972211FCA9B400B0630F /* MMCoreTextView+ToolTip.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D44972111FCA9B400B0630F /* MMCoreTextView+ToolTip.m */; };
|
||||
1D493D580C5247BF00AB718C /* Vim in Copy Executables */ = {isa = PBXBuildFile; fileRef = 1D493D570C5247BF00AB718C /* Vim */; };
|
||||
1D493DBA0C52534300AB718C /* PSMTabBarControl.framework in Copy Frameworks */ = {isa = PBXBuildFile; fileRef = 1D493DB90C52533B00AB718C /* PSMTabBarControl.framework */; };
|
||||
1D60088B0E96A0B2003763F0 /* MMFindReplaceController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D60088A0E96A0B2003763F0 /* MMFindReplaceController.m */; };
|
||||
1D80591F0E1185EA001699D1 /* Miscellaneous.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D80591D0E1185EA001699D1 /* Miscellaneous.m */; };
|
||||
1D80FBD40CBBD3B700102A1C /* MMFullScreenWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D80FBD00CBBD3B700102A1C /* MMFullScreenWindow.m */; };
|
||||
1D80FBD60CBBD3B700102A1C /* MMVimView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D80FBD20CBBD3B700102A1C /* MMVimView.m */; };
|
||||
1D8B5A53104AF9FF002E59D5 /* Carbon.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D8B5A52104AF9FF002E59D5 /* Carbon.framework */; };
|
||||
1D8BEA74104992290069B072 /* FindAndReplace.nib in Resources */ = {isa = PBXBuildFile; fileRef = 1D8BEA73104992290069B072 /* FindAndReplace.nib */; };
|
||||
1D9918490D299F9900A96335 /* MMAtsuiTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D9918470D299F9900A96335 /* MMAtsuiTextView.m */; };
|
||||
1D9C60520EF79C0C0034AD44 /* MacVim.icns in Resources */ = {isa = PBXBuildFile; fileRef = 1D9C602E0EF79C0C0034AD44 /* MacVim.icns */; };
|
||||
1DCD00BF0E50B2B700460166 /* Attention.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00AA0E50B2B700460166 /* Attention.png */; };
|
||||
1DCD00C00E50B2B700460166 /* Copy.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00AB0E50B2B700460166 /* Copy.png */; };
|
||||
1DCD00C10E50B2B700460166 /* Cut.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00AC0E50B2B700460166 /* Cut.png */; };
|
||||
1DCD00C20E50B2B700460166 /* FindHelp.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00AD0E50B2B700460166 /* FindHelp.png */; };
|
||||
1DCD00C30E50B2B700460166 /* FindNext.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00AE0E50B2B700460166 /* FindNext.png */; };
|
||||
1DCD00C40E50B2B700460166 /* FindPrev.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00AF0E50B2B700460166 /* FindPrev.png */; };
|
||||
1DCD00C50E50B2B700460166 /* Help.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00B00E50B2B700460166 /* Help.png */; };
|
||||
1DCD00C60E50B2B700460166 /* LoadSesn.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00B10E50B2B700460166 /* LoadSesn.png */; };
|
||||
1DCD00C70E50B2B700460166 /* Make.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00B20E50B2B700460166 /* Make.png */; };
|
||||
1DCD00C80E50B2B700460166 /* Open.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00B30E50B2B700460166 /* Open.png */; };
|
||||
1DCD00C90E50B2B700460166 /* Paste.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00B40E50B2B700460166 /* Paste.png */; };
|
||||
1DCD00CA0E50B2B700460166 /* Print.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00B50E50B2B700460166 /* Print.png */; };
|
||||
1DCD00CB0E50B2B700460166 /* Redo.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00B60E50B2B700460166 /* Redo.png */; };
|
||||
1DCD00CC0E50B2B700460166 /* Replace.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00B70E50B2B700460166 /* Replace.png */; };
|
||||
1DCD00CD0E50B2B700460166 /* RunCtags.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00B80E50B2B700460166 /* RunCtags.png */; };
|
||||
1DCD00CE0E50B2B700460166 /* RunScript.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00B90E50B2B700460166 /* RunScript.png */; };
|
||||
1DCD00CF0E50B2B700460166 /* Save.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00BA0E50B2B700460166 /* Save.png */; };
|
||||
1DCD00D00E50B2B700460166 /* SaveAll.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00BB0E50B2B700460166 /* SaveAll.png */; };
|
||||
1DCD00D10E50B2B700460166 /* SaveSesn.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00BC0E50B2B700460166 /* SaveSesn.png */; };
|
||||
1DCD00D20E50B2B700460166 /* TagJump.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00BD0E50B2B700460166 /* TagJump.png */; };
|
||||
1DCD00D30E50B2B700460166 /* Undo.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00BE0E50B2B700460166 /* Undo.png */; };
|
||||
1DD04DEC0C529C5E006CDC2B /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 1DD04DEB0C529C5E006CDC2B /* Credits.rtf */; };
|
||||
1DD0C20C0C60FFB4008CD84A /* gvimrc in Copy Vim Runtime Files */ = {isa = PBXBuildFile; fileRef = 1DD0C20A0C60FF9A008CD84A /* gvimrc */; };
|
||||
1DD3D51E0D82D4C9006E4320 /* ibeam.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DD3D51D0D82D4C9006E4320 /* ibeam.png */; };
|
||||
1DD66ECE0C803D3600EBDAB3 /* MMApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DD66ECC0C803D3600EBDAB3 /* MMApplication.m */; };
|
||||
1DD9F5E50C85D60500E8D5A5 /* SystemColors.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1DD9F5E40C85D60500E8D5A5 /* SystemColors.plist */; };
|
||||
1DE3F8E70D50F80500052B9E /* Preferences.nib in Resources */ = {isa = PBXBuildFile; fileRef = 1DE3F8E50D50F80500052B9E /* Preferences.nib */; };
|
||||
1DE3F8EB0D50F84600052B9E /* MMPreferenceController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DE3F8E90D50F84600052B9E /* MMPreferenceController.m */; };
|
||||
1DE608B40C587FDA0055263D /* runtime in Copy Vim Runtime Files */ = {isa = PBXBuildFile; fileRef = 1DE602470C587FD10055263D /* runtime */; };
|
||||
1DE63FFB0E71820F00959BDB /* MMCoreTextView.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DE63FFA0E71820F00959BDB /* MMCoreTextView.m */; };
|
||||
1DE8CC620C5E2AAD003F56E3 /* Actions.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1DE8CC610C5E2AAD003F56E3 /* Actions.plist */; };
|
||||
1DE9B9500D341AB8008FEDD4 /* MMWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DE9B94E0D341AB8008FEDD4 /* MMWindow.m */; };
|
||||
1DED78600C6DE43D0079945F /* vimrc in Copy Vim Runtime Files */ = {isa = PBXBuildFile; fileRef = 1DED785F0C6DE43D0079945F /* vimrc */; };
|
||||
1DFE25A50C527BC4003000F7 /* PSMTabBarControl.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D493DB90C52533B00AB718C /* PSMTabBarControl.framework */; };
|
||||
8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */ = {isa = PBXBuildFile; fileRef = 29B97318FDCFA39411CA2CEA /* MainMenu.nib */; };
|
||||
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; };
|
||||
8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; };
|
||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
1D493DB80C52533B00AB718C /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 1D493DB30C52533B00AB718C /* PSMTabBarControl_legacy.xcodeproj */;
|
||||
proxyType = 2;
|
||||
remoteGlobalIDString = 53DF68FD067E5B5A0090B5B0;
|
||||
remoteInfo = PSMTabBarControlFramework;
|
||||
};
|
||||
1D493DCC0C5254A400AB718C /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 1D493DB30C52533B00AB718C /* PSMTabBarControl_legacy.xcodeproj */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 53DF68FC067E5B5A0090B5B0;
|
||||
remoteInfo = PSMTabBarControlFramework;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXCopyFilesBuildPhase section */
|
||||
1D0DCAD80BA3604D00B6CCFA /* Copy Executables */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 6;
|
||||
files = (
|
||||
1D493D580C5247BF00AB718C /* Vim in Copy Executables */,
|
||||
);
|
||||
name = "Copy Executables";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
1D9EB2840C366D7B0074B739 /* Copy Frameworks */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = "";
|
||||
dstSubfolderSpec = 10;
|
||||
files = (
|
||||
1D493DBA0C52534300AB718C /* PSMTabBarControl.framework in Copy Frameworks */,
|
||||
);
|
||||
name = "Copy Frameworks";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
1DE608B80C58807F0055263D /* Copy Vim Runtime Files */ = {
|
||||
isa = PBXCopyFilesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
dstPath = vim;
|
||||
dstSubfolderSpec = 7;
|
||||
files = (
|
||||
1DED78600C6DE43D0079945F /* vimrc in Copy Vim Runtime Files */,
|
||||
1DD0C20C0C60FFB4008CD84A /* gvimrc in Copy Vim Runtime Files */,
|
||||
1DE608B40C587FDA0055263D /* runtime in Copy Vim Runtime Files */,
|
||||
);
|
||||
name = "Copy Vim Runtime Files";
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXCopyFilesBuildPhase section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0395A8310D71ED7800881434 /* DBPrefsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DBPrefsWindowController.h; sourceTree = "<group>"; };
|
||||
0395A8320D71ED7800881434 /* DBPrefsWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DBPrefsWindowController.m; sourceTree = "<group>"; };
|
||||
0395A8A90D72D88B00881434 /* General.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = General.png; sourceTree = "<group>"; };
|
||||
089C165DFE840E0CC02AAC07 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
||||
1D09AB3F0C6A4D520045497E /* MMTypesetter.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMTypesetter.h; sourceTree = "<group>"; };
|
||||
1D09AB400C6A4D520045497E /* MMTypesetter.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMTypesetter.m; sourceTree = "<group>"; };
|
||||
1D0E051B0BA5F83800B6049E /* Colors.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Colors.plist; sourceTree = "<group>"; };
|
||||
1D145C7D0E5227CE00691AA0 /* MMTextViewHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MMTextViewHelper.h; sourceTree = "<group>"; };
|
||||
1D145C7E0E5227CE00691AA0 /* MMTextViewHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MMTextViewHelper.m; sourceTree = "<group>"; };
|
||||
1D1474950C56703C0038FA2B /* MacVim.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MacVim.h; sourceTree = "<group>"; };
|
||||
1D1474960C56703C0038FA2B /* MacVim.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MacVim.m; sourceTree = "<group>"; };
|
||||
1D14749D0C5673AE0038FA2B /* MMAppController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMAppController.h; sourceTree = "<group>"; };
|
||||
1D14749E0C5673AE0038FA2B /* MMAppController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMAppController.m; sourceTree = "<group>"; };
|
||||
1D1474A70C5677450038FA2B /* MMTextStorage.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMTextStorage.h; sourceTree = "<group>"; };
|
||||
1D1474A80C5677450038FA2B /* MMTextStorage.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMTextStorage.m; sourceTree = "<group>"; };
|
||||
1D1474AD0C5678370038FA2B /* MMTextView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMTextView.h; sourceTree = "<group>"; };
|
||||
1D1474AE0C5678370038FA2B /* MMTextView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMTextView.m; sourceTree = "<group>"; };
|
||||
1D1474B30C56796D0038FA2B /* MMVimController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMVimController.h; sourceTree = "<group>"; };
|
||||
1D1474B40C56796D0038FA2B /* MMVimController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMVimController.m; sourceTree = "<group>"; };
|
||||
1D1474B90C567A910038FA2B /* MMWindowController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMWindowController.h; sourceTree = "<group>"; };
|
||||
1D1474BA0C567A910038FA2B /* MMWindowController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMWindowController.m; sourceTree = "<group>"; };
|
||||
1D22374A0E45DF4800E6FFFF /* Advanced.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Advanced.png; sourceTree = "<group>"; };
|
||||
1D384A0D100D671700D3C22F /* KeyBinding.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = KeyBinding.plist; sourceTree = "<group>"; };
|
||||
1D44972111FCA9B400B0630F /* MMCoreTextView+ToolTip.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "MMCoreTextView+ToolTip.m"; sourceTree = "<group>"; };
|
||||
1D493D570C5247BF00AB718C /* Vim */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = Vim; path = ../Vim; sourceTree = SOURCE_ROOT; };
|
||||
1D493DB30C52533B00AB718C /* PSMTabBarControl_legacy.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = PSMTabBarControl_legacy.xcodeproj; path = PSMTabBarControl/PSMTabBarControl_legacy.xcodeproj; sourceTree = "<group>"; };
|
||||
1D6008820E96886D003763F0 /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/FindAndReplace.nib; sourceTree = "<group>"; };
|
||||
1D6008890E96A0B2003763F0 /* MMFindReplaceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MMFindReplaceController.h; sourceTree = "<group>"; };
|
||||
1D60088A0E96A0B2003763F0 /* MMFindReplaceController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MMFindReplaceController.m; sourceTree = "<group>"; };
|
||||
1D80591D0E1185EA001699D1 /* Miscellaneous.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Miscellaneous.m; sourceTree = "<group>"; };
|
||||
1D8059220E118663001699D1 /* Miscellaneous.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Miscellaneous.h; sourceTree = "<group>"; };
|
||||
1D80FBCF0CBBD3B700102A1C /* MMFullScreenWindow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMFullScreenWindow.h; sourceTree = "<group>"; };
|
||||
1D80FBD00CBBD3B700102A1C /* MMFullScreenWindow.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMFullScreenWindow.m; sourceTree = "<group>"; };
|
||||
1D80FBD10CBBD3B700102A1C /* MMVimView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMVimView.h; sourceTree = "<group>"; };
|
||||
1D80FBD20CBBD3B700102A1C /* MMVimView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMVimView.m; sourceTree = "<group>"; };
|
||||
1D8B5A52104AF9FF002E59D5 /* Carbon.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Carbon.framework; path = /System/Library/Frameworks/Carbon.framework; sourceTree = "<absolute>"; };
|
||||
1D9918460D299F9900A96335 /* MMAtsuiTextView.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMAtsuiTextView.h; sourceTree = "<group>"; };
|
||||
1D9918470D299F9900A96335 /* MMAtsuiTextView.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMAtsuiTextView.m; sourceTree = "<group>"; };
|
||||
1D9C602E0EF79C0C0034AD44 /* MacVim.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = MacVim.icns; path = icons/MacVim.icns; sourceTree = "<group>"; };
|
||||
1DCD00AA0E50B2B700460166 /* Attention.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Attention.png; path = Toolbar/Attention.png; sourceTree = "<group>"; };
|
||||
1DCD00AB0E50B2B700460166 /* Copy.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Copy.png; path = Toolbar/Copy.png; sourceTree = "<group>"; };
|
||||
1DCD00AC0E50B2B700460166 /* Cut.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Cut.png; path = Toolbar/Cut.png; sourceTree = "<group>"; };
|
||||
1DCD00AD0E50B2B700460166 /* FindHelp.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = FindHelp.png; path = Toolbar/FindHelp.png; sourceTree = "<group>"; };
|
||||
1DCD00AE0E50B2B700460166 /* FindNext.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = FindNext.png; path = Toolbar/FindNext.png; sourceTree = "<group>"; };
|
||||
1DCD00AF0E50B2B700460166 /* FindPrev.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = FindPrev.png; path = Toolbar/FindPrev.png; sourceTree = "<group>"; };
|
||||
1DCD00B00E50B2B700460166 /* Help.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Help.png; path = Toolbar/Help.png; sourceTree = "<group>"; };
|
||||
1DCD00B10E50B2B700460166 /* LoadSesn.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = LoadSesn.png; path = Toolbar/LoadSesn.png; sourceTree = "<group>"; };
|
||||
1DCD00B20E50B2B700460166 /* Make.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Make.png; path = Toolbar/Make.png; sourceTree = "<group>"; };
|
||||
1DCD00B30E50B2B700460166 /* Open.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Open.png; path = Toolbar/Open.png; sourceTree = "<group>"; };
|
||||
1DCD00B40E50B2B700460166 /* Paste.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Paste.png; path = Toolbar/Paste.png; sourceTree = "<group>"; };
|
||||
1DCD00B50E50B2B700460166 /* Print.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Print.png; path = Toolbar/Print.png; sourceTree = "<group>"; };
|
||||
1DCD00B60E50B2B700460166 /* Redo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Redo.png; path = Toolbar/Redo.png; sourceTree = "<group>"; };
|
||||
1DCD00B70E50B2B700460166 /* Replace.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Replace.png; path = Toolbar/Replace.png; sourceTree = "<group>"; };
|
||||
1DCD00B80E50B2B700460166 /* RunCtags.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = RunCtags.png; path = Toolbar/RunCtags.png; sourceTree = "<group>"; };
|
||||
1DCD00B90E50B2B700460166 /* RunScript.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = RunScript.png; path = Toolbar/RunScript.png; sourceTree = "<group>"; };
|
||||
1DCD00BA0E50B2B700460166 /* Save.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Save.png; path = Toolbar/Save.png; sourceTree = "<group>"; };
|
||||
1DCD00BB0E50B2B700460166 /* SaveAll.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = SaveAll.png; path = Toolbar/SaveAll.png; sourceTree = "<group>"; };
|
||||
1DCD00BC0E50B2B700460166 /* SaveSesn.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = SaveSesn.png; path = Toolbar/SaveSesn.png; sourceTree = "<group>"; };
|
||||
1DCD00BD0E50B2B700460166 /* TagJump.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = TagJump.png; path = Toolbar/TagJump.png; sourceTree = "<group>"; };
|
||||
1DCD00BE0E50B2B700460166 /* Undo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Undo.png; path = Toolbar/Undo.png; sourceTree = "<group>"; };
|
||||
1DD04DEB0C529C5E006CDC2B /* Credits.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = Credits.rtf; sourceTree = "<group>"; };
|
||||
1DD0C20A0C60FF9A008CD84A /* gvimrc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = gvimrc; sourceTree = "<group>"; };
|
||||
1DD3D51D0D82D4C9006E4320 /* ibeam.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ibeam.png; sourceTree = "<group>"; };
|
||||
1DD66ECB0C803D3600EBDAB3 /* MMApplication.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMApplication.h; sourceTree = "<group>"; };
|
||||
1DD66ECC0C803D3600EBDAB3 /* MMApplication.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMApplication.m; sourceTree = "<group>"; };
|
||||
1DD9F5E40C85D60500E8D5A5 /* SystemColors.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = SystemColors.plist; sourceTree = "<group>"; };
|
||||
1DE3F8E60D50F80500052B9E /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/Preferences.nib; sourceTree = "<group>"; };
|
||||
1DE3F8E80D50F84600052B9E /* MMPreferenceController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMPreferenceController.h; sourceTree = "<group>"; };
|
||||
1DE3F8E90D50F84600052B9E /* MMPreferenceController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMPreferenceController.m; sourceTree = "<group>"; };
|
||||
1DE602470C587FD10055263D /* runtime */ = {isa = PBXFileReference; lastKnownFileType = folder; name = runtime; path = ../../runtime; sourceTree = SOURCE_ROOT; };
|
||||
1DE63FF90E71820F00959BDB /* MMCoreTextView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MMCoreTextView.h; sourceTree = "<group>"; };
|
||||
1DE63FFA0E71820F00959BDB /* MMCoreTextView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MMCoreTextView.m; sourceTree = "<group>"; };
|
||||
1DE8CC610C5E2AAD003F56E3 /* Actions.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Actions.plist; sourceTree = "<group>"; };
|
||||
1DE9B94D0D341AB8008FEDD4 /* MMWindow.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMWindow.h; sourceTree = "<group>"; };
|
||||
1DE9B94E0D341AB8008FEDD4 /* MMWindow.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMWindow.m; sourceTree = "<group>"; };
|
||||
1DED785F0C6DE43D0079945F /* vimrc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = vimrc; sourceTree = "<group>"; };
|
||||
29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||
29B97319FDCFA39411CA2CEA /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; };
|
||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
32CA4F630368D1EE00C91783 /* MacVim_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MacVim_Prefix.pch; sourceTree = "<group>"; };
|
||||
8D1107310486CEB800E47090 /* Info_legacy.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info_legacy.plist; sourceTree = "<group>"; };
|
||||
8D1107320486CEB800E47090 /* MacVim.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = MacVim.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
8D11072E0486CEB800E47090 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
1DFE25A50C527BC4003000F7 /* PSMTabBarControl.framework in Frameworks */,
|
||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */,
|
||||
1D8B5A53104AF9FF002E59D5 /* Carbon.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
080E96DDFE201D6D7F000001 /* MacVim Source */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D44972111FCA9B400B0630F /* MMCoreTextView+ToolTip.m */,
|
||||
1D6008890E96A0B2003763F0 /* MMFindReplaceController.h */,
|
||||
1D60088A0E96A0B2003763F0 /* MMFindReplaceController.m */,
|
||||
1DE63FF90E71820F00959BDB /* MMCoreTextView.h */,
|
||||
1DE63FFA0E71820F00959BDB /* MMCoreTextView.m */,
|
||||
1D145C7D0E5227CE00691AA0 /* MMTextViewHelper.h */,
|
||||
1D145C7E0E5227CE00691AA0 /* MMTextViewHelper.m */,
|
||||
1D8059220E118663001699D1 /* Miscellaneous.h */,
|
||||
1D80591D0E1185EA001699D1 /* Miscellaneous.m */,
|
||||
0395A8310D71ED7800881434 /* DBPrefsWindowController.h */,
|
||||
0395A8320D71ED7800881434 /* DBPrefsWindowController.m */,
|
||||
1DE3F8E80D50F84600052B9E /* MMPreferenceController.h */,
|
||||
1DE3F8E90D50F84600052B9E /* MMPreferenceController.m */,
|
||||
1DE9B94D0D341AB8008FEDD4 /* MMWindow.h */,
|
||||
1DE9B94E0D341AB8008FEDD4 /* MMWindow.m */,
|
||||
1D9918460D299F9900A96335 /* MMAtsuiTextView.h */,
|
||||
1D9918470D299F9900A96335 /* MMAtsuiTextView.m */,
|
||||
1D80FBCF0CBBD3B700102A1C /* MMFullScreenWindow.h */,
|
||||
1D80FBD00CBBD3B700102A1C /* MMFullScreenWindow.m */,
|
||||
1D80FBD10CBBD3B700102A1C /* MMVimView.h */,
|
||||
1D80FBD20CBBD3B700102A1C /* MMVimView.m */,
|
||||
1DD66ECB0C803D3600EBDAB3 /* MMApplication.h */,
|
||||
1DD66ECC0C803D3600EBDAB3 /* MMApplication.m */,
|
||||
1D09AB3F0C6A4D520045497E /* MMTypesetter.h */,
|
||||
1D09AB400C6A4D520045497E /* MMTypesetter.m */,
|
||||
1D1474B90C567A910038FA2B /* MMWindowController.h */,
|
||||
1D1474BA0C567A910038FA2B /* MMWindowController.m */,
|
||||
1D1474B30C56796D0038FA2B /* MMVimController.h */,
|
||||
1D1474B40C56796D0038FA2B /* MMVimController.m */,
|
||||
1D1474AD0C5678370038FA2B /* MMTextView.h */,
|
||||
1D1474AE0C5678370038FA2B /* MMTextView.m */,
|
||||
1D1474A70C5677450038FA2B /* MMTextStorage.h */,
|
||||
1D1474A80C5677450038FA2B /* MMTextStorage.m */,
|
||||
1D14749D0C5673AE0038FA2B /* MMAppController.h */,
|
||||
1D14749E0C5673AE0038FA2B /* MMAppController.m */,
|
||||
1D1474950C56703C0038FA2B /* MacVim.h */,
|
||||
1D1474960C56703C0038FA2B /* MacVim.m */,
|
||||
32CA4F630368D1EE00C91783 /* MacVim_Prefix.pch */,
|
||||
29B97316FDCFA39411CA2CEA /* main.m */,
|
||||
);
|
||||
name = "MacVim Source";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */,
|
||||
);
|
||||
name = "Linked Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
29B97324FDCFA39411CA2CEA /* AppKit.framework */,
|
||||
29B97325FDCFA39411CA2CEA /* Foundation.framework */,
|
||||
);
|
||||
name = "Other Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
19C28FACFE9D520D11CA2CBB /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
8D1107320486CEB800E47090 /* MacVim.app */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1D0F11480D58C77800D5DA09 /* Font */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
);
|
||||
name = Font;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1D493D640C52482B00AB718C /* Executables */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D493D570C5247BF00AB718C /* Vim */,
|
||||
);
|
||||
name = Executables;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1D493DB40C52533B00AB718C /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D493DB90C52533B00AB718C /* PSMTabBarControl.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1DE602460C587F760055263D /* Vim Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1DED785F0C6DE43D0079945F /* vimrc */,
|
||||
1DD0C20A0C60FF9A008CD84A /* gvimrc */,
|
||||
1DE602470C587FD10055263D /* runtime */,
|
||||
);
|
||||
name = "Vim Resources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1DE9726C0C48050600F96A9F /* Toolbar */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1DCD00AA0E50B2B700460166 /* Attention.png */,
|
||||
1DCD00AB0E50B2B700460166 /* Copy.png */,
|
||||
1DCD00AC0E50B2B700460166 /* Cut.png */,
|
||||
1DCD00AD0E50B2B700460166 /* FindHelp.png */,
|
||||
1DCD00AE0E50B2B700460166 /* FindNext.png */,
|
||||
1DCD00AF0E50B2B700460166 /* FindPrev.png */,
|
||||
1DCD00B00E50B2B700460166 /* Help.png */,
|
||||
1DCD00B10E50B2B700460166 /* LoadSesn.png */,
|
||||
1DCD00B20E50B2B700460166 /* Make.png */,
|
||||
1DCD00B30E50B2B700460166 /* Open.png */,
|
||||
1DCD00B40E50B2B700460166 /* Paste.png */,
|
||||
1DCD00B50E50B2B700460166 /* Print.png */,
|
||||
1DCD00B60E50B2B700460166 /* Redo.png */,
|
||||
1DCD00B70E50B2B700460166 /* Replace.png */,
|
||||
1DCD00B80E50B2B700460166 /* RunCtags.png */,
|
||||
1DCD00B90E50B2B700460166 /* RunScript.png */,
|
||||
1DCD00BA0E50B2B700460166 /* Save.png */,
|
||||
1DCD00BB0E50B2B700460166 /* SaveAll.png */,
|
||||
1DCD00BC0E50B2B700460166 /* SaveSesn.png */,
|
||||
1DCD00BD0E50B2B700460166 /* TagJump.png */,
|
||||
1DCD00BE0E50B2B700460166 /* Undo.png */,
|
||||
);
|
||||
name = Toolbar;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97314FDCFA39411CA2CEA /* MacVim */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D493D640C52482B00AB718C /* Executables */,
|
||||
080E96DDFE201D6D7F000001 /* MacVim Source */,
|
||||
29B97317FDCFA39411CA2CEA /* Resources */,
|
||||
1DE602460C587F760055263D /* Vim Resources */,
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */,
|
||||
19C28FACFE9D520D11CA2CBB /* Products */,
|
||||
);
|
||||
name = MacVim;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97317FDCFA39411CA2CEA /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D384A0D100D671700D3C22F /* KeyBinding.plist */,
|
||||
1D9C602E0EF79C0C0034AD44 /* MacVim.icns */,
|
||||
1D8BEA73104992290069B072 /* FindAndReplace.nib */,
|
||||
0395A8A90D72D88B00881434 /* General.png */,
|
||||
1D22374A0E45DF4800E6FFFF /* Advanced.png */,
|
||||
1DD3D51D0D82D4C9006E4320 /* ibeam.png */,
|
||||
1D0F11480D58C77800D5DA09 /* Font */,
|
||||
1DE9726C0C48050600F96A9F /* Toolbar */,
|
||||
1DD9F5E40C85D60500E8D5A5 /* SystemColors.plist */,
|
||||
1DE8CC610C5E2AAD003F56E3 /* Actions.plist */,
|
||||
1DD04DEB0C529C5E006CDC2B /* Credits.rtf */,
|
||||
1D0E051B0BA5F83800B6049E /* Colors.plist */,
|
||||
8D1107310486CEB800E47090 /* Info_legacy.plist */,
|
||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
|
||||
1DE3F8E50D50F80500052B9E /* Preferences.nib */,
|
||||
29B97318FDCFA39411CA2CEA /* MainMenu.nib */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
1D8B5A52104AF9FF002E59D5 /* Carbon.framework */,
|
||||
1D493DB30C52533B00AB718C /* PSMTabBarControl_legacy.xcodeproj */,
|
||||
1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */,
|
||||
1058C7A2FEA54F0111CA2CBB /* Other Frameworks */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
8D1107260486CEB800E47090 /* MacVim */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "MacVim" */;
|
||||
buildPhases = (
|
||||
8D1107290486CEB800E47090 /* Resources */,
|
||||
8D11072C0486CEB800E47090 /* Sources */,
|
||||
8D11072E0486CEB800E47090 /* Frameworks */,
|
||||
1D0DCAD80BA3604D00B6CCFA /* Copy Executables */,
|
||||
1D9EB2840C366D7B0074B739 /* Copy Frameworks */,
|
||||
1DE608B80C58807F0055263D /* Copy Vim Runtime Files */,
|
||||
1D1C31F00EFFBFD6003FE9A5 /* Make Document Icons */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
1D493DCD0C5254A400AB718C /* PBXTargetDependency */,
|
||||
);
|
||||
name = MacVim;
|
||||
productInstallPath = "$(HOME)/Applications";
|
||||
productName = MacVim;
|
||||
productReference = 8D1107320486CEB800E47090 /* MacVim.app */;
|
||||
productType = "com.apple.product-type.application";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
29B97313FDCFA39411CA2CEA /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "MacVim" */;
|
||||
compatibilityVersion = "Xcode 2.4";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
English,
|
||||
Japanese,
|
||||
French,
|
||||
German,
|
||||
Swedish,
|
||||
);
|
||||
mainGroup = 29B97314FDCFA39411CA2CEA /* MacVim */;
|
||||
projectDirPath = "";
|
||||
projectReferences = (
|
||||
{
|
||||
ProductGroup = 1D493DB40C52533B00AB718C /* Products */;
|
||||
ProjectRef = 1D493DB30C52533B00AB718C /* PSMTabBarControl_legacy.xcodeproj */;
|
||||
},
|
||||
);
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
8D1107260486CEB800E47090 /* MacVim */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXReferenceProxy section */
|
||||
1D493DB90C52533B00AB718C /* PSMTabBarControl.framework */ = {
|
||||
isa = PBXReferenceProxy;
|
||||
fileType = wrapper.framework;
|
||||
path = PSMTabBarControl.framework;
|
||||
remoteRef = 1D493DB80C52533B00AB718C /* PBXContainerItemProxy */;
|
||||
sourceTree = BUILT_PRODUCTS_DIR;
|
||||
};
|
||||
/* End PBXReferenceProxy section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
8D1107290486CEB800E47090 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D11072A0486CEB800E47090 /* MainMenu.nib in Resources */,
|
||||
8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */,
|
||||
1D0E051C0BA5F83800B6049E /* Colors.plist in Resources */,
|
||||
1DD04DEC0C529C5E006CDC2B /* Credits.rtf in Resources */,
|
||||
1DE8CC620C5E2AAD003F56E3 /* Actions.plist in Resources */,
|
||||
1DD9F5E50C85D60500E8D5A5 /* SystemColors.plist in Resources */,
|
||||
1DE3F8E70D50F80500052B9E /* Preferences.nib in Resources */,
|
||||
0395A8AA0D72D88B00881434 /* General.png in Resources */,
|
||||
1DD3D51E0D82D4C9006E4320 /* ibeam.png in Resources */,
|
||||
1D22374B0E45DF4800E6FFFF /* Advanced.png in Resources */,
|
||||
1DCD00BF0E50B2B700460166 /* Attention.png in Resources */,
|
||||
1DCD00C00E50B2B700460166 /* Copy.png in Resources */,
|
||||
1DCD00C10E50B2B700460166 /* Cut.png in Resources */,
|
||||
1DCD00C20E50B2B700460166 /* FindHelp.png in Resources */,
|
||||
1DCD00C30E50B2B700460166 /* FindNext.png in Resources */,
|
||||
1DCD00C40E50B2B700460166 /* FindPrev.png in Resources */,
|
||||
1DCD00C50E50B2B700460166 /* Help.png in Resources */,
|
||||
1DCD00C60E50B2B700460166 /* LoadSesn.png in Resources */,
|
||||
1DCD00C70E50B2B700460166 /* Make.png in Resources */,
|
||||
1DCD00C80E50B2B700460166 /* Open.png in Resources */,
|
||||
1DCD00C90E50B2B700460166 /* Paste.png in Resources */,
|
||||
1DCD00CA0E50B2B700460166 /* Print.png in Resources */,
|
||||
1DCD00CB0E50B2B700460166 /* Redo.png in Resources */,
|
||||
1DCD00CC0E50B2B700460166 /* Replace.png in Resources */,
|
||||
1DCD00CD0E50B2B700460166 /* RunCtags.png in Resources */,
|
||||
1DCD00CE0E50B2B700460166 /* RunScript.png in Resources */,
|
||||
1DCD00CF0E50B2B700460166 /* Save.png in Resources */,
|
||||
1DCD00D00E50B2B700460166 /* SaveAll.png in Resources */,
|
||||
1DCD00D10E50B2B700460166 /* SaveSesn.png in Resources */,
|
||||
1DCD00D20E50B2B700460166 /* TagJump.png in Resources */,
|
||||
1DCD00D30E50B2B700460166 /* Undo.png in Resources */,
|
||||
1D8BEA74104992290069B072 /* FindAndReplace.nib in Resources */,
|
||||
1D9C60520EF79C0C0034AD44 /* MacVim.icns in Resources */,
|
||||
1D384A0E100D671700D3C22F /* KeyBinding.plist in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXShellScriptBuildPhase section */
|
||||
1D1C31F00EFFBFD6003FE9A5 /* Make Document Icons */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
);
|
||||
inputPaths = (
|
||||
);
|
||||
name = "Make Document Icons";
|
||||
outputPaths = (
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "# Clear deployment target, else the python script always thinks we're building on Tiger\nunset MACOSX_DEPLOYMENT_TARGET\n\n# Generate the icons (redirect stderr to ignore warnings)\ncd \"$PROJECT_DIR\"/icons/\nmake OUTDIR=\"$TARGET_BUILD_DIR\"/$UNLOCALIZED_RESOURCES_FOLDER_PATH 2> /dev/null\n";
|
||||
showEnvVarsInLog = 0;
|
||||
};
|
||||
/* End PBXShellScriptBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
8D11072C0486CEB800E47090 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
8D11072D0486CEB800E47090 /* main.m in Sources */,
|
||||
1D1474980C56703C0038FA2B /* MacVim.m in Sources */,
|
||||
1D1474A00C5673AE0038FA2B /* MMAppController.m in Sources */,
|
||||
1D1474AA0C5677450038FA2B /* MMTextStorage.m in Sources */,
|
||||
1D1474B00C5678370038FA2B /* MMTextView.m in Sources */,
|
||||
1D1474B60C56796D0038FA2B /* MMVimController.m in Sources */,
|
||||
1D1474BC0C567A910038FA2B /* MMWindowController.m in Sources */,
|
||||
1D09AB420C6A4D520045497E /* MMTypesetter.m in Sources */,
|
||||
1DD66ECE0C803D3600EBDAB3 /* MMApplication.m in Sources */,
|
||||
1D80FBD40CBBD3B700102A1C /* MMFullScreenWindow.m in Sources */,
|
||||
1D80FBD60CBBD3B700102A1C /* MMVimView.m in Sources */,
|
||||
1D9918490D299F9900A96335 /* MMAtsuiTextView.m in Sources */,
|
||||
1DE9B9500D341AB8008FEDD4 /* MMWindow.m in Sources */,
|
||||
1DE3F8EB0D50F84600052B9E /* MMPreferenceController.m in Sources */,
|
||||
0395A8330D71ED7800881434 /* DBPrefsWindowController.m in Sources */,
|
||||
1D80591F0E1185EA001699D1 /* Miscellaneous.m in Sources */,
|
||||
1D145C7F0E5227CE00691AA0 /* MMTextViewHelper.m in Sources */,
|
||||
1D60088B0E96A0B2003763F0 /* MMFindReplaceController.m in Sources */,
|
||||
1DE63FFB0E71820F00959BDB /* MMCoreTextView.m in Sources */,
|
||||
1D44972211FCA9B400B0630F /* MMCoreTextView+ToolTip.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
1D493DCD0C5254A400AB718C /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
name = PSMTabBarControlFramework;
|
||||
targetProxy = 1D493DCC0C5254A400AB718C /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
089C165CFE840E0CC02AAC07 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
089C165DFE840E0CC02AAC07 /* English */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1D8BEA73104992290069B072 /* FindAndReplace.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
1D6008820E96886D003763F0 /* English */,
|
||||
);
|
||||
name = FindAndReplace.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1DE3F8E50D50F80500052B9E /* Preferences.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
1DE3F8E60D50F80500052B9E /* English */,
|
||||
);
|
||||
name = Preferences.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
29B97318FDCFA39411CA2CEA /* MainMenu.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
29B97319FDCFA39411CA2CEA /* English */,
|
||||
);
|
||||
name = MainMenu.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
C01FCF4B08A954540054247B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
);
|
||||
FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)\"";
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_VERSION = "";
|
||||
GCC_WARN_PEDANTIC = NO;
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
INFOPLIST_FILE = Info_legacy.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
MACOSX_DEPLOYMENT_TARGET = "";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PRODUCT_NAME = MacVim;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
WARNING_CFLAGS = "-Wall";
|
||||
WRAPPER_EXTENSION = app;
|
||||
ZERO_LINK = NO;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C01FCF4C08A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
COPY_PHASE_STRIP = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
|
||||
);
|
||||
FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)\"";
|
||||
GCC_DYNAMIC_NO_PIC = YES;
|
||||
GCC_ENABLE_OBJC_EXCEPTIONS = YES;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_OPTIMIZATION_LEVEL = s;
|
||||
GCC_VERSION = "";
|
||||
HEADER_SEARCH_PATHS = "";
|
||||
INFOPLIST_FILE = Info_legacy.plist;
|
||||
INSTALL_PATH = "$(HOME)/Applications";
|
||||
MACOSX_DEPLOYMENT_TARGET = "";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PRODUCT_NAME = MacVim;
|
||||
VERSIONING_SYSTEM = "apple-generic";
|
||||
WRAPPER_EXTENSION = app;
|
||||
ZERO_LINK = NO;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C01FCF4F08A954540054247B /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
GCC_VERSION = 4.2;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PREBINDING = NO;
|
||||
SYMROOT = "$(PROJECT_DIR)/build";
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C01FCF5008A954540054247B /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
GCC_VERSION = 4.2;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PREBINDING = NO;
|
||||
SYMROOT = "$(PROJECT_DIR)/build";
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
C01FCF4A08A954540054247B /* Build configuration list for PBXNativeTarget "MacVim" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF4B08A954540054247B /* Debug */,
|
||||
C01FCF4C08A954540054247B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "MacVim" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C01FCF4F08A954540054247B /* Debug */,
|
||||
C01FCF5008A954540054247B /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
|
||||
}
|
||||
@@ -37,6 +37,7 @@ extern NSString *MMTranslateCtrlClickKey;
|
||||
extern NSString *MMTopLeftPointKey;
|
||||
extern NSString *MMOpenInCurrentWindowKey;
|
||||
extern NSString *MMNoFontSubstitutionKey;
|
||||
extern NSString *MMNoTitleBarWindowKey;
|
||||
extern NSString *MMLoginShellKey;
|
||||
extern NSString *MMUntitledWindowKey;
|
||||
extern NSString *MMTexturedWindowKey;
|
||||
@@ -54,6 +55,7 @@ extern NSString *MMUseInlineImKey;
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
extern NSString *MMSuppressTerminationAlertKey;
|
||||
extern NSString *MMNativeFullScreenKey;
|
||||
extern NSString *MMUseMouseTimeKey;
|
||||
|
||||
|
||||
// Enum for MMUntitledWindowKey
|
||||
|
||||
@@ -29,6 +29,7 @@ NSString *MMTranslateCtrlClickKey = @"MMTranslateCtrlClick";
|
||||
NSString *MMTopLeftPointKey = @"MMTopLeftPoint";
|
||||
NSString *MMOpenInCurrentWindowKey = @"MMOpenInCurrentWindow";
|
||||
NSString *MMNoFontSubstitutionKey = @"MMNoFontSubstitution";
|
||||
NSString *MMNoTitleBarWindowKey = @"MMNoTitleBarWindow";
|
||||
NSString *MMLoginShellKey = @"MMLoginShell";
|
||||
NSString *MMUntitledWindowKey = @"MMUntitledWindow";
|
||||
NSString *MMTexturedWindowKey = @"MMTexturedWindow";
|
||||
@@ -46,6 +47,7 @@ NSString *MMUseInlineImKey = @"MMUseInlineIm";
|
||||
#endif // INCLUDE_OLD_IM_CODE
|
||||
NSString *MMSuppressTerminationAlertKey = @"MMSuppressTerminationAlert";
|
||||
NSString *MMNativeFullScreenKey = @"MMNativeFullScreen";
|
||||
NSString *MMUseMouseTimeKey = @"MMUseMouseTime";
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 42;
|
||||
objectVersion = 46;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXAggregateTarget section */
|
||||
@@ -57,8 +57,6 @@
|
||||
A27E47880A28EE7C007BA395 /* TabControlRep.tif in Resources */ = {isa = PBXBuildFile; fileRef = A20822EF0959F6AA00C5F5A4 /* TabControlRep.tif */; };
|
||||
A2C0D99509AF870000ED379C /* pi.png in Resources */ = {isa = PBXBuildFile; fileRef = A2C0D99309AF870000ED379C /* pi.png */; };
|
||||
A2D32EDC09A634C900EC8662 /* PSMTabStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = A2D32EDA09A634C900EC8662 /* PSMTabStyle.h */; };
|
||||
A2D32EE809A6399300EC8662 /* PSMAquaTabStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = A2D32EE609A6399300EC8662 /* PSMAquaTabStyle.h */; };
|
||||
A2D32EE909A6399300EC8662 /* PSMAquaTabStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = A2D32EE709A6399300EC8662 /* PSMAquaTabStyle.m */; };
|
||||
A2D32EF709A63BF700EC8662 /* AquaTabClose_Front_Pressed.tif in Resources */ = {isa = PBXBuildFile; fileRef = A2D32EF009A63BF700EC8662 /* AquaTabClose_Front_Pressed.tif */; };
|
||||
A2D32EF809A63BF700EC8662 /* AquaTabClose_Front_Rollover.tif in Resources */ = {isa = PBXBuildFile; fileRef = A2D32EF109A63BF700EC8662 /* AquaTabClose_Front_Rollover.tif */; };
|
||||
A2D32EF909A63BF700EC8662 /* AquaTabClose_Front.tif in Resources */ = {isa = PBXBuildFile; fileRef = A2D32EF209A63BF700EC8662 /* AquaTabClose_Front.tif */; };
|
||||
@@ -155,8 +153,6 @@
|
||||
A2A711BE09E5BF0500D0089B /* WindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = WindowController.m; path = source/WindowController.m; sourceTree = "<group>"; };
|
||||
A2C0D99309AF870000ED379C /* pi.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = pi.png; path = images/pi.png; sourceTree = "<group>"; };
|
||||
A2D32EDA09A634C900EC8662 /* PSMTabStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PSMTabStyle.h; path = source/PSMTabStyle.h; sourceTree = "<group>"; };
|
||||
A2D32EE609A6399300EC8662 /* PSMAquaTabStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PSMAquaTabStyle.h; path = source/PSMAquaTabStyle.h; sourceTree = "<group>"; };
|
||||
A2D32EE709A6399300EC8662 /* PSMAquaTabStyle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PSMAquaTabStyle.m; path = source/PSMAquaTabStyle.m; sourceTree = "<group>"; };
|
||||
A2D32EF009A63BF700EC8662 /* AquaTabClose_Front_Pressed.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = AquaTabClose_Front_Pressed.tif; path = images/AquaTabClose_Front_Pressed.tif; sourceTree = "<group>"; };
|
||||
A2D32EF109A63BF700EC8662 /* AquaTabClose_Front_Rollover.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = AquaTabClose_Front_Rollover.tif; path = images/AquaTabClose_Front_Rollover.tif; sourceTree = "<group>"; };
|
||||
A2D32EF209A63BF700EC8662 /* AquaTabClose_Front.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = AquaTabClose_Front.tif; path = images/AquaTabClose_Front.tif; sourceTree = "<group>"; };
|
||||
@@ -309,8 +305,6 @@
|
||||
A251BE830959A1B90058BC7F /* PSMTabBarCell.h */,
|
||||
A251BE840959A1B90058BC7F /* PSMTabBarCell.m */,
|
||||
A2D32EDA09A634C900EC8662 /* PSMTabStyle.h */,
|
||||
A2D32EE609A6399300EC8662 /* PSMAquaTabStyle.h */,
|
||||
A2D32EE709A6399300EC8662 /* PSMAquaTabStyle.m */,
|
||||
A2D32EFE09A63D7A00EC8662 /* PSMMetalTabStyle.h */,
|
||||
A2D32EFF09A63D7A00EC8662 /* PSMMetalTabStyle.m */,
|
||||
A2D98B070A2B432C0064C6F8 /* PSMUnifiedTabStyle.h */,
|
||||
@@ -403,7 +397,6 @@
|
||||
A251BE850959A1B90058BC7F /* PSMOverflowPopUpButton.h in Headers */,
|
||||
A251BE870959A1B90058BC7F /* PSMTabBarCell.h in Headers */,
|
||||
A2D32EDC09A634C900EC8662 /* PSMTabStyle.h in Headers */,
|
||||
A2D32EE809A6399300EC8662 /* PSMAquaTabStyle.h in Headers */,
|
||||
A2D32F0009A63D7A00EC8662 /* PSMMetalTabStyle.h in Headers */,
|
||||
A268EA6209A9831800E082AA /* PSMRolloverButton.h in Headers */,
|
||||
A2129BB209AEB58F00724E6C /* PSMProgressIndicator.h in Headers */,
|
||||
@@ -439,8 +432,11 @@
|
||||
/* Begin PBXProject section */
|
||||
0259C573FE90428111CA0C5A /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
attributes = {
|
||||
LastUpgradeCheck = 0710;
|
||||
};
|
||||
buildConfigurationList = C056398B08A954F8003078D8 /* Build configuration list for PBXProject "PSMTabBarControl" */;
|
||||
compatibilityVersion = "Xcode 2.4";
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
@@ -505,7 +501,6 @@
|
||||
546DEAF1067F63070098DCC4 /* PSMTabBarControl.m in Sources */,
|
||||
A251BE860959A1B90058BC7F /* PSMOverflowPopUpButton.m in Sources */,
|
||||
A251BE880959A1B90058BC7F /* PSMTabBarCell.m in Sources */,
|
||||
A2D32EE909A6399300EC8662 /* PSMAquaTabStyle.m in Sources */,
|
||||
A2D32F0109A63D7A00EC8662 /* PSMMetalTabStyle.m in Sources */,
|
||||
A268EA6309A9831800E082AA /* PSMRolloverButton.m in Sources */,
|
||||
A2129BB309AEB58F00724E6C /* PSMProgressIndicator.m in Sources */,
|
||||
@@ -572,7 +567,7 @@
|
||||
C056398008A954F8003078D8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
@@ -588,6 +583,7 @@
|
||||
INSTALL_PATH = "@executable_path/../Frameworks";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_LDFLAGS = "";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.positivespinmedia.PSMTabBarControlFramework;
|
||||
PRODUCT_NAME = PSMTabBarControl;
|
||||
SYMROOT = ../build;
|
||||
ZERO_LINK = NO;
|
||||
@@ -597,7 +593,7 @@
|
||||
C056398108A954F8003078D8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
COMBINE_HIDPI_IMAGES = YES;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
FRAMEWORK_VERSION = A;
|
||||
@@ -610,6 +606,7 @@
|
||||
INSTALL_PATH = "@executable_path/../Frameworks";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_LDFLAGS = "";
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.positivespinmedia.PSMTabBarControlFramework;
|
||||
PRODUCT_NAME = PSMTabBarControl;
|
||||
SYMROOT = ../build;
|
||||
};
|
||||
@@ -636,10 +633,6 @@
|
||||
C056398908A954F8003078D8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = (
|
||||
ppc,
|
||||
i386,
|
||||
);
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
PRODUCT_NAME = All;
|
||||
@@ -654,7 +647,7 @@
|
||||
C056398C08A954F8003078D8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
ENABLE_TESTABILITY = YES;
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
@@ -666,7 +659,6 @@
|
||||
C056398D08A954F8003078D8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
@@ -7,7 +7,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>PSMTabBarControl</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.positivespinmedia.PSMTabBarControlFramework</string>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>PSMTabBarControl</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.positivespinmedia.PSMTabBarControlFramework</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>FMWK</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>PSM1</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.1</string>
|
||||
<key>NSPrincipalClass</key>
|
||||
<string>PSMTabBarControl</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,703 @@
|
||||
// !$*UTF8*$!
|
||||
{
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 42;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXAggregateTarget section */
|
||||
53DF6901067E5B8E0090B5B0 /* All */ = {
|
||||
isa = PBXAggregateTarget;
|
||||
buildConfigurationList = C056398708A954F8003078D8 /* Build configuration list for PBXAggregateTarget "All" */;
|
||||
buildPhases = (
|
||||
);
|
||||
dependencies = (
|
||||
53DF6905067E5B930090B5B0 /* PBXTargetDependency */,
|
||||
);
|
||||
name = All;
|
||||
productName = All;
|
||||
};
|
||||
/* End PBXAggregateTarget section */
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
13F8B89007B43554008AE28D /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DD92D38A0106425D02CA0E72 /* Cocoa.framework */; };
|
||||
523897F415BDA9AC00498A53 /* TabClose_Front_Pressed@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 523897EE15BDA9AC00498A53 /* TabClose_Front_Pressed@2x.png */; };
|
||||
523897F515BDA9AC00498A53 /* TabClose_Front_Rollover@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 523897EF15BDA9AC00498A53 /* TabClose_Front_Rollover@2x.png */; };
|
||||
523897F615BDA9AC00498A53 /* TabClose_Front@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 523897F015BDA9AC00498A53 /* TabClose_Front@2x.png */; };
|
||||
523897F715BDA9AC00498A53 /* TabNewMetal@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 523897F115BDA9AC00498A53 /* TabNewMetal@2x.png */; };
|
||||
523897F815BDA9AC00498A53 /* TabNewMetalPressed@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 523897F215BDA9AC00498A53 /* TabNewMetalPressed@2x.png */; };
|
||||
523897F915BDA9AC00498A53 /* TabNewMetalRollover@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 523897F315BDA9AC00498A53 /* TabNewMetalRollover@2x.png */; };
|
||||
52A57C0F15BBA230003EC59C /* TabClose_Front.png in Resources */ = {isa = PBXBuildFile; fileRef = 52A57C0C15BBA230003EC59C /* TabClose_Front.png */; };
|
||||
52A57C1015BBA230003EC59C /* TabClose_Front_Pressed.png in Resources */ = {isa = PBXBuildFile; fileRef = 52A57C0D15BBA230003EC59C /* TabClose_Front_Pressed.png */; };
|
||||
52A57C1115BBA230003EC59C /* TabClose_Front_Rollover.png in Resources */ = {isa = PBXBuildFile; fileRef = 52A57C0E15BBA230003EC59C /* TabClose_Front_Rollover.png */; };
|
||||
52C0B9B415BDB7A9000C268F /* overflowImage@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 52C0B9B215BDB7A9000C268F /* overflowImage@2x.png */; };
|
||||
52C0B9B515BDB7A9000C268F /* overflowImagePressed@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 52C0B9B315BDB7A9000C268F /* overflowImagePressed@2x.png */; };
|
||||
52C268D015BDB72B0012FECA /* overflowImage.png in Resources */ = {isa = PBXBuildFile; fileRef = 52C268CE15BDB72B0012FECA /* overflowImage.png */; };
|
||||
52C268D115BDB72B0012FECA /* overflowImagePressed.png in Resources */ = {isa = PBXBuildFile; fileRef = 52C268CF15BDB72B0012FECA /* overflowImagePressed.png */; };
|
||||
546DEAF1067F63070098DCC4 /* PSMTabBarControl.m in Sources */ = {isa = PBXBuildFile; fileRef = 0259C576FE90428111CA0C5A /* PSMTabBarControl.m */; };
|
||||
546DEAF2067F630E0098DCC4 /* PSMTabBarControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 0259C57AFE90428111CA0C5A /* PSMTabBarControl.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
A2082A9009EAEB34009AC8BE /* PSMTabDragAssistant.h in Headers */ = {isa = PBXBuildFile; fileRef = A2082A8D09EAEB33009AC8BE /* PSMTabDragAssistant.h */; };
|
||||
A2082A9109EAEB34009AC8BE /* PSMTabDragAssistant.m in Sources */ = {isa = PBXBuildFile; fileRef = A2082A8E09EAEB33009AC8BE /* PSMTabDragAssistant.m */; };
|
||||
A2129BB209AEB58F00724E6C /* PSMProgressIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = A2129BAF09AEB58F00724E6C /* PSMProgressIndicator.h */; };
|
||||
A2129BB309AEB58F00724E6C /* PSMProgressIndicator.m in Sources */ = {isa = PBXBuildFile; fileRef = A2129BB009AEB58F00724E6C /* PSMProgressIndicator.m */; };
|
||||
A251BE850959A1B90058BC7F /* PSMOverflowPopUpButton.h in Headers */ = {isa = PBXBuildFile; fileRef = A251BE810959A1B90058BC7F /* PSMOverflowPopUpButton.h */; };
|
||||
A251BE860959A1B90058BC7F /* PSMOverflowPopUpButton.m in Sources */ = {isa = PBXBuildFile; fileRef = A251BE820959A1B90058BC7F /* PSMOverflowPopUpButton.m */; };
|
||||
A251BE870959A1B90058BC7F /* PSMTabBarCell.h in Headers */ = {isa = PBXBuildFile; fileRef = A251BE830959A1B90058BC7F /* PSMTabBarCell.h */; };
|
||||
A251BE880959A1B90058BC7F /* PSMTabBarCell.m in Sources */ = {isa = PBXBuildFile; fileRef = A251BE840959A1B90058BC7F /* PSMTabBarCell.m */; };
|
||||
A268E80409A9822A00E082AA /* AquaTabNew.png in Resources */ = {isa = PBXBuildFile; fileRef = A268E7F809A9822900E082AA /* AquaTabNew.png */; };
|
||||
A268E80509A9822A00E082AA /* AquaTabNewPressed.png in Resources */ = {isa = PBXBuildFile; fileRef = A268E7F909A9822900E082AA /* AquaTabNewPressed.png */; };
|
||||
A268E80609A9822A00E082AA /* AquaTabNewRollover.png in Resources */ = {isa = PBXBuildFile; fileRef = A268E7FA09A9822900E082AA /* AquaTabNewRollover.png */; };
|
||||
A268E80709A9822A00E082AA /* TabNewMetal.png in Resources */ = {isa = PBXBuildFile; fileRef = A268E7FB09A9822900E082AA /* TabNewMetal.png */; };
|
||||
A268E80809A9822A00E082AA /* TabNewMetalPressed.png in Resources */ = {isa = PBXBuildFile; fileRef = A268E7FC09A9822900E082AA /* TabNewMetalPressed.png */; };
|
||||
A268E80909A9822A00E082AA /* TabNewMetalRollover.png in Resources */ = {isa = PBXBuildFile; fileRef = A268E7FD09A9822900E082AA /* TabNewMetalRollover.png */; };
|
||||
A268EA6209A9831800E082AA /* PSMRolloverButton.h in Headers */ = {isa = PBXBuildFile; fileRef = A268EA5F09A9831800E082AA /* PSMRolloverButton.h */; };
|
||||
A268EA6309A9831800E082AA /* PSMRolloverButton.m in Sources */ = {isa = PBXBuildFile; fileRef = A268EA6009A9831800E082AA /* PSMRolloverButton.m */; };
|
||||
A27E47850A28EE76007BA395 /* TabIcon.tif in Resources */ = {isa = PBXBuildFile; fileRef = A20822F00959F6AA00C5F5A4 /* TabIcon.tif */; };
|
||||
A27E47880A28EE7C007BA395 /* TabControlRep.tif in Resources */ = {isa = PBXBuildFile; fileRef = A20822EF0959F6AA00C5F5A4 /* TabControlRep.tif */; };
|
||||
A2C0D99509AF870000ED379C /* pi.png in Resources */ = {isa = PBXBuildFile; fileRef = A2C0D99309AF870000ED379C /* pi.png */; };
|
||||
A2D32EDC09A634C900EC8662 /* PSMTabStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = A2D32EDA09A634C900EC8662 /* PSMTabStyle.h */; };
|
||||
A2D32EF709A63BF700EC8662 /* AquaTabClose_Front_Pressed.tif in Resources */ = {isa = PBXBuildFile; fileRef = A2D32EF009A63BF700EC8662 /* AquaTabClose_Front_Pressed.tif */; };
|
||||
A2D32EF809A63BF700EC8662 /* AquaTabClose_Front_Rollover.tif in Resources */ = {isa = PBXBuildFile; fileRef = A2D32EF109A63BF700EC8662 /* AquaTabClose_Front_Rollover.tif */; };
|
||||
A2D32EF909A63BF700EC8662 /* AquaTabClose_Front.tif in Resources */ = {isa = PBXBuildFile; fileRef = A2D32EF209A63BF700EC8662 /* AquaTabClose_Front.tif */; };
|
||||
A2D32EFA09A63BF700EC8662 /* AquaTabsBackground.png in Resources */ = {isa = PBXBuildFile; fileRef = A2D32EF309A63BF700EC8662 /* AquaTabsBackground.png */; };
|
||||
A2D32EFB09A63BF700EC8662 /* AquaTabsDown.png in Resources */ = {isa = PBXBuildFile; fileRef = A2D32EF409A63BF700EC8662 /* AquaTabsDown.png */; };
|
||||
A2D32EFC09A63BF700EC8662 /* AquaTabsSeparator.png in Resources */ = {isa = PBXBuildFile; fileRef = A2D32EF509A63BF700EC8662 /* AquaTabsSeparator.png */; };
|
||||
A2D32EFD09A63BF700EC8662 /* AquaTabsSeparatorDown.png in Resources */ = {isa = PBXBuildFile; fileRef = A2D32EF609A63BF700EC8662 /* AquaTabsSeparatorDown.png */; };
|
||||
A2D32F0009A63D7A00EC8662 /* PSMMetalTabStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = A2D32EFE09A63D7A00EC8662 /* PSMMetalTabStyle.h */; };
|
||||
A2D32F0109A63D7A00EC8662 /* PSMMetalTabStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = A2D32EFF09A63D7A00EC8662 /* PSMMetalTabStyle.m */; };
|
||||
A2D3317C09A68B7500EC8662 /* AquaTabsDownGraphite.png in Resources */ = {isa = PBXBuildFile; fileRef = A2D3317A09A68B7500EC8662 /* AquaTabsDownGraphite.png */; };
|
||||
A2D3317D09A68B7500EC8662 /* AquaTabsDownNonKey.png in Resources */ = {isa = PBXBuildFile; fileRef = A2D3317B09A68B7500EC8662 /* AquaTabsDownNonKey.png */; };
|
||||
A2D98B0A0A2B432C0064C6F8 /* PSMUnifiedTabStyle.h in Headers */ = {isa = PBXBuildFile; fileRef = A2D98B070A2B432C0064C6F8 /* PSMUnifiedTabStyle.h */; };
|
||||
A2D98B0B0A2B432C0064C6F8 /* PSMUnifiedTabStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = A2D98B080A2B432C0064C6F8 /* PSMUnifiedTabStyle.m */; };
|
||||
A2D98B120A2B43FA0064C6F8 /* NSBezierPath_AMShading.h in Headers */ = {isa = PBXBuildFile; fileRef = A2D98B0F0A2B43FA0064C6F8 /* NSBezierPath_AMShading.h */; };
|
||||
A2D98B130A2B43FA0064C6F8 /* NSBezierPath_AMShading.m in Sources */ = {isa = PBXBuildFile; fileRef = A2D98B100A2B43FA0064C6F8 /* NSBezierPath_AMShading.m */; };
|
||||
/* End PBXBuildFile section */
|
||||
|
||||
/* Begin PBXContainerItemProxy section */
|
||||
53DF6904067E5B930090B5B0 /* PBXContainerItemProxy */ = {
|
||||
isa = PBXContainerItemProxy;
|
||||
containerPortal = 0259C573FE90428111CA0C5A /* Project object */;
|
||||
proxyType = 1;
|
||||
remoteGlobalIDString = 53DF68FC067E5B5A0090B5B0;
|
||||
remoteInfo = PSMTabBarControlFramework;
|
||||
};
|
||||
/* End PBXContainerItemProxy section */
|
||||
|
||||
/* Begin PBXFileReference section */
|
||||
0259C576FE90428111CA0C5A /* PSMTabBarControl.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PSMTabBarControl.m; path = source/PSMTabBarControl.m; sourceTree = "<group>"; };
|
||||
0259C577FE90428111CA0C5A /* PSMTabBarControlInspector.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PSMTabBarControlInspector.m; path = source/PSMTabBarControlInspector.m; sourceTree = "<group>"; };
|
||||
0259C578FE90428111CA0C5A /* PSMTabBarControlPalette.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PSMTabBarControlPalette.m; path = source/PSMTabBarControlPalette.m; sourceTree = "<group>"; };
|
||||
0259C57AFE90428111CA0C5A /* PSMTabBarControl.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PSMTabBarControl.h; path = source/PSMTabBarControl.h; sourceTree = "<group>"; };
|
||||
0259C57BFE90428111CA0C5A /* PSMTabBarControlInspector.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PSMTabBarControlInspector.h; path = source/PSMTabBarControlInspector.h; sourceTree = "<group>"; };
|
||||
0259C57CFE90428111CA0C5A /* PSMTabBarControlPalette.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PSMTabBarControlPalette.h; path = source/PSMTabBarControlPalette.h; sourceTree = "<group>"; };
|
||||
0259C57FFE90428111CA0C5A /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/PSMTabBarControlInspector.nib; sourceTree = "<group>"; };
|
||||
0259C581FE90428111CA0C5A /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/PSMTabBarControlPalette.nib; sourceTree = "<group>"; };
|
||||
0259C583FE90428111CA0C5A /* palette.table */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = palette.table; sourceTree = "<group>"; };
|
||||
13EB9DBD07DE0F1E00EB933A /* InterfaceBuilder.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = InterfaceBuilder.framework; path = /System/Library/Frameworks/InterfaceBuilder.framework; sourceTree = "<absolute>"; };
|
||||
13F8B88807B434F6008AE28D /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = "<absolute>"; };
|
||||
13F8B88A07B434F6008AE28D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = "<absolute>"; };
|
||||
32DBCF980370C29C00C91783 /* PSMTabBarControl_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PSMTabBarControl_Prefix.pch; path = source/PSMTabBarControl_Prefix.pch; sourceTree = "<group>"; };
|
||||
523897EE15BDA9AC00498A53 /* TabClose_Front_Pressed@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "TabClose_Front_Pressed@2x.png"; path = "images/TabClose_Front_Pressed@2x.png"; sourceTree = "<group>"; };
|
||||
523897EF15BDA9AC00498A53 /* TabClose_Front_Rollover@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "TabClose_Front_Rollover@2x.png"; path = "images/TabClose_Front_Rollover@2x.png"; sourceTree = "<group>"; };
|
||||
523897F015BDA9AC00498A53 /* TabClose_Front@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "TabClose_Front@2x.png"; path = "images/TabClose_Front@2x.png"; sourceTree = "<group>"; };
|
||||
523897F115BDA9AC00498A53 /* TabNewMetal@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "TabNewMetal@2x.png"; path = "images/TabNewMetal@2x.png"; sourceTree = "<group>"; };
|
||||
523897F215BDA9AC00498A53 /* TabNewMetalPressed@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "TabNewMetalPressed@2x.png"; path = "images/TabNewMetalPressed@2x.png"; sourceTree = "<group>"; };
|
||||
523897F315BDA9AC00498A53 /* TabNewMetalRollover@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "TabNewMetalRollover@2x.png"; path = "images/TabNewMetalRollover@2x.png"; sourceTree = "<group>"; };
|
||||
52A57C0C15BBA230003EC59C /* TabClose_Front.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = TabClose_Front.png; path = images/TabClose_Front.png; sourceTree = "<group>"; };
|
||||
52A57C0D15BBA230003EC59C /* TabClose_Front_Pressed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = TabClose_Front_Pressed.png; path = images/TabClose_Front_Pressed.png; sourceTree = "<group>"; };
|
||||
52A57C0E15BBA230003EC59C /* TabClose_Front_Rollover.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = TabClose_Front_Rollover.png; path = images/TabClose_Front_Rollover.png; sourceTree = "<group>"; };
|
||||
52C0B9B215BDB7A9000C268F /* overflowImage@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "overflowImage@2x.png"; path = "images/overflowImage@2x.png"; sourceTree = "<group>"; };
|
||||
52C0B9B315BDB7A9000C268F /* overflowImagePressed@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "overflowImagePressed@2x.png"; path = "images/overflowImagePressed@2x.png"; sourceTree = "<group>"; };
|
||||
52C268CE15BDB72B0012FECA /* overflowImage.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = overflowImage.png; path = images/overflowImage.png; sourceTree = "<group>"; };
|
||||
52C268CF15BDB72B0012FECA /* overflowImagePressed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = overflowImagePressed.png; path = images/overflowImagePressed.png; sourceTree = "<group>"; };
|
||||
53DF68FD067E5B5A0090B5B0 /* PSMTabBarControl.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = PSMTabBarControl.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
53DF68FE067E5B5A0090B5B0 /* PSMTabBarControlFramework-Info_legacy.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "PSMTabBarControlFramework-Info_legacy.plist"; sourceTree = "<group>"; };
|
||||
54D33B2806778E3300C9C163 /* PSMTabBarControl.ibclassdescription */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = PSMTabBarControl.ibclassdescription; sourceTree = "<group>"; };
|
||||
8D1AC9730486D14A00FE50C9 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist; path = Info.plist; sourceTree = "<group>"; };
|
||||
8D1AC97B0486D23100FE50C9 /* English */ = {isa = PBXFileReference; fileEncoding = 10; lastKnownFileType = text.plist.strings; name = English; path = English.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
A2072A2409ABD88600304BCB /* Folder.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = Folder.tif; path = images/Folder.tif; sourceTree = "<group>"; };
|
||||
A2072A2509ABD88600304BCB /* Globe.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = Globe.tiff; path = images/Globe.tiff; sourceTree = "<group>"; };
|
||||
A2072B5C09AC1FA500304BCB /* Warning.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Warning.png; path = images/Warning.png; sourceTree = "<group>"; };
|
||||
A20822EF0959F6AA00C5F5A4 /* TabControlRep.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = TabControlRep.tif; path = images/TabControlRep.tif; sourceTree = "<group>"; };
|
||||
A20822F00959F6AA00C5F5A4 /* TabIcon.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = TabIcon.tif; path = images/TabIcon.tif; sourceTree = "<group>"; };
|
||||
A2082A8D09EAEB33009AC8BE /* PSMTabDragAssistant.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PSMTabDragAssistant.h; path = source/PSMTabDragAssistant.h; sourceTree = "<group>"; };
|
||||
A2082A8E09EAEB33009AC8BE /* PSMTabDragAssistant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PSMTabDragAssistant.m; path = source/PSMTabDragAssistant.m; sourceTree = "<group>"; wrapsLines = 0; };
|
||||
A2129BAF09AEB58F00724E6C /* PSMProgressIndicator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PSMProgressIndicator.h; path = source/PSMProgressIndicator.h; sourceTree = "<group>"; };
|
||||
A2129BB009AEB58F00724E6C /* PSMProgressIndicator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PSMProgressIndicator.m; path = source/PSMProgressIndicator.m; sourceTree = "<group>"; };
|
||||
A246FB040A2BD6F9005BDF7B /* PSMTabBarControlDoc.html */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.html.documentation; name = PSMTabBarControlDoc.html; path = documentation/PSMTabBarControlDoc.html; sourceTree = "<group>"; };
|
||||
A251BE810959A1B90058BC7F /* PSMOverflowPopUpButton.h */ = {isa = PBXFileReference; explicitFileType = sourcecode.c.h; fileEncoding = 30; name = PSMOverflowPopUpButton.h; path = source/PSMOverflowPopUpButton.h; sourceTree = "<group>"; };
|
||||
A251BE820959A1B90058BC7F /* PSMOverflowPopUpButton.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PSMOverflowPopUpButton.m; path = source/PSMOverflowPopUpButton.m; sourceTree = "<group>"; };
|
||||
A251BE830959A1B90058BC7F /* PSMTabBarCell.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PSMTabBarCell.h; path = source/PSMTabBarCell.h; sourceTree = "<group>"; };
|
||||
A251BE840959A1B90058BC7F /* PSMTabBarCell.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PSMTabBarCell.m; path = source/PSMTabBarCell.m; sourceTree = "<group>"; };
|
||||
A251BE890959A1EA0058BC7F /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = AppController.h; path = source/AppController.h; sourceTree = "<group>"; };
|
||||
A251BE8A0959A1EA0058BC7F /* AppController.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = AppController.m; path = source/AppController.m; sourceTree = "<group>"; };
|
||||
A251BE8B0959A1EA0058BC7F /* FakeModel.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = FakeModel.h; path = source/FakeModel.h; sourceTree = "<group>"; };
|
||||
A251BE8C0959A1EA0058BC7F /* FakeModel.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = FakeModel.m; path = source/FakeModel.m; sourceTree = "<group>"; };
|
||||
A251BE8D0959A1EA0058BC7F /* main.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = main.m; path = source/main.m; sourceTree = "<group>"; };
|
||||
A251BE8F0959A23A0058BC7F /* 32x32cancel.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = 32x32cancel.png; path = images/32x32cancel.png; sourceTree = "<group>"; };
|
||||
A251BE9B0959A2530058BC7F /* ReadMe.rtfd */ = {isa = PBXFileReference; lastKnownFileType = wrapper.rtfd; path = ReadMe.rtfd; sourceTree = "<group>"; };
|
||||
A251BEA20959BB5B0058BC7F /* TabBarControlDemo-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "TabBarControlDemo-Info.plist"; sourceTree = "<group>"; };
|
||||
A251BEC30959BC0E0058BC7F /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/MainMenu.nib; sourceTree = "<group>"; };
|
||||
A268E7F809A9822900E082AA /* AquaTabNew.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = AquaTabNew.png; path = images/AquaTabNew.png; sourceTree = "<group>"; };
|
||||
A268E7F909A9822900E082AA /* AquaTabNewPressed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = AquaTabNewPressed.png; path = images/AquaTabNewPressed.png; sourceTree = "<group>"; };
|
||||
A268E7FA09A9822900E082AA /* AquaTabNewRollover.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = AquaTabNewRollover.png; path = images/AquaTabNewRollover.png; sourceTree = "<group>"; };
|
||||
A268E7FB09A9822900E082AA /* TabNewMetal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = TabNewMetal.png; path = images/TabNewMetal.png; sourceTree = "<group>"; };
|
||||
A268E7FC09A9822900E082AA /* TabNewMetalPressed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = TabNewMetalPressed.png; path = images/TabNewMetalPressed.png; sourceTree = "<group>"; };
|
||||
A268E7FD09A9822900E082AA /* TabNewMetalRollover.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = TabNewMetalRollover.png; path = images/TabNewMetalRollover.png; sourceTree = "<group>"; };
|
||||
A268EA5F09A9831800E082AA /* PSMRolloverButton.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PSMRolloverButton.h; path = source/PSMRolloverButton.h; sourceTree = "<group>"; };
|
||||
A268EA6009A9831800E082AA /* PSMRolloverButton.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PSMRolloverButton.m; path = source/PSMRolloverButton.m; sourceTree = "<group>"; };
|
||||
A269361009A778770006911E /* 32x32_log.tiff */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = 32x32_log.tiff; path = images/32x32_log.tiff; sourceTree = "<group>"; };
|
||||
A2A711BA09E5AE1E00D0089B /* English */ = {isa = PBXFileReference; lastKnownFileType = wrapper.nib; name = English; path = English.lproj/Window.nib; sourceTree = "<group>"; };
|
||||
A2A711BD09E5BF0500D0089B /* WindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WindowController.h; path = source/WindowController.h; sourceTree = "<group>"; };
|
||||
A2A711BE09E5BF0500D0089B /* WindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = WindowController.m; path = source/WindowController.m; sourceTree = "<group>"; };
|
||||
A2C0D99309AF870000ED379C /* pi.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = pi.png; path = images/pi.png; sourceTree = "<group>"; };
|
||||
A2D32EDA09A634C900EC8662 /* PSMTabStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PSMTabStyle.h; path = source/PSMTabStyle.h; sourceTree = "<group>"; };
|
||||
A2D32EF009A63BF700EC8662 /* AquaTabClose_Front_Pressed.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = AquaTabClose_Front_Pressed.tif; path = images/AquaTabClose_Front_Pressed.tif; sourceTree = "<group>"; };
|
||||
A2D32EF109A63BF700EC8662 /* AquaTabClose_Front_Rollover.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = AquaTabClose_Front_Rollover.tif; path = images/AquaTabClose_Front_Rollover.tif; sourceTree = "<group>"; };
|
||||
A2D32EF209A63BF700EC8662 /* AquaTabClose_Front.tif */ = {isa = PBXFileReference; lastKnownFileType = image.tiff; name = AquaTabClose_Front.tif; path = images/AquaTabClose_Front.tif; sourceTree = "<group>"; };
|
||||
A2D32EF309A63BF700EC8662 /* AquaTabsBackground.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = AquaTabsBackground.png; path = images/AquaTabsBackground.png; sourceTree = "<group>"; };
|
||||
A2D32EF409A63BF700EC8662 /* AquaTabsDown.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = AquaTabsDown.png; path = images/AquaTabsDown.png; sourceTree = "<group>"; };
|
||||
A2D32EF509A63BF700EC8662 /* AquaTabsSeparator.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = AquaTabsSeparator.png; path = images/AquaTabsSeparator.png; sourceTree = "<group>"; };
|
||||
A2D32EF609A63BF700EC8662 /* AquaTabsSeparatorDown.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = AquaTabsSeparatorDown.png; path = images/AquaTabsSeparatorDown.png; sourceTree = "<group>"; };
|
||||
A2D32EFE09A63D7A00EC8662 /* PSMMetalTabStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PSMMetalTabStyle.h; path = source/PSMMetalTabStyle.h; sourceTree = "<group>"; };
|
||||
A2D32EFF09A63D7A00EC8662 /* PSMMetalTabStyle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = PSMMetalTabStyle.m; path = source/PSMMetalTabStyle.m; sourceTree = "<group>"; };
|
||||
A2D3317A09A68B7500EC8662 /* AquaTabsDownGraphite.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = AquaTabsDownGraphite.png; path = images/AquaTabsDownGraphite.png; sourceTree = "<group>"; };
|
||||
A2D3317B09A68B7500EC8662 /* AquaTabsDownNonKey.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = AquaTabsDownNonKey.png; path = images/AquaTabsDownNonKey.png; sourceTree = "<group>"; };
|
||||
A2D98B070A2B432C0064C6F8 /* PSMUnifiedTabStyle.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = PSMUnifiedTabStyle.h; path = source/PSMUnifiedTabStyle.h; sourceTree = "<group>"; };
|
||||
A2D98B080A2B432C0064C6F8 /* PSMUnifiedTabStyle.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = PSMUnifiedTabStyle.m; path = source/PSMUnifiedTabStyle.m; sourceTree = "<group>"; };
|
||||
A2D98B0F0A2B43FA0064C6F8 /* NSBezierPath_AMShading.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = NSBezierPath_AMShading.h; path = source/NSBezierPath_AMShading.h; sourceTree = "<group>"; };
|
||||
A2D98B100A2B43FA0064C6F8 /* NSBezierPath_AMShading.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; name = NSBezierPath_AMShading.m; path = source/NSBezierPath_AMShading.m; sourceTree = "<group>"; };
|
||||
DD92D38A0106425D02CA0E72 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = "<absolute>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
/* Begin PBXFrameworksBuildPhase section */
|
||||
53DF68FB067E5B5A0090B5B0 /* Frameworks */ = {
|
||||
isa = PBXFrameworksBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
13F8B89007B43554008AE28D /* Cocoa.framework in Frameworks */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXFrameworksBuildPhase section */
|
||||
|
||||
/* Begin PBXGroup section */
|
||||
0259C574FE90428111CA0C5A /* PSMTabBarControl */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A251BE9B0959A2530058BC7F /* ReadMe.rtfd */,
|
||||
A246FADE0A2BD446005BDF7B /* Documentation */,
|
||||
32DBCF9E0370C38000C91783 /* Palette */,
|
||||
54D33B2C06778E4400C9C163 /* Framework */,
|
||||
A251BE590959A0550058BC7F /* Demo App */,
|
||||
0259C582FE90428111CA0C5A /* Resources */,
|
||||
1ED78706FE9D4A0611CA0C5A /* Products */,
|
||||
2E58F364FFB232C311CA0CBA /* Frameworks */,
|
||||
);
|
||||
name = PSMTabBarControl;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
0259C582FE90428111CA0C5A /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A251BEC20959BC0E0058BC7F /* MainMenu.nib */,
|
||||
A251BE8E0959A21A0058BC7F /* Images */,
|
||||
8D1AC9730486D14A00FE50C9 /* Info.plist */,
|
||||
53DF68FE067E5B5A0090B5B0 /* PSMTabBarControlFramework-Info_legacy.plist */,
|
||||
A251BEA20959BB5B0058BC7F /* TabBarControlDemo-Info.plist */,
|
||||
8D1AC97F0486D23B00FE50C9 /* InfoPlist.strings */,
|
||||
A2A711B909E5AE1E00D0089B /* Window.nib */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
131E8FE8067F80F40006E0CE /* Resources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A20822EF0959F6AA00C5F5A4 /* TabControlRep.tif */,
|
||||
A20822F00959F6AA00C5F5A4 /* TabIcon.tif */,
|
||||
0259C57EFE90428111CA0C5A /* PSMTabBarControlInspector.nib */,
|
||||
0259C580FE90428111CA0C5A /* PSMTabBarControlPalette.nib */,
|
||||
);
|
||||
name = Resources;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
13F8B6FD07B43410008AE28D /* Linked Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
13EB9DBD07DE0F1E00EB933A /* InterfaceBuilder.framework */,
|
||||
DD92D38A0106425D02CA0E72 /* Cocoa.framework */,
|
||||
);
|
||||
name = "Linked Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
13F8B70407B43425008AE28D /* Other Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
13F8B88807B434F6008AE28D /* AppKit.framework */,
|
||||
13F8B88A07B434F6008AE28D /* Foundation.framework */,
|
||||
);
|
||||
name = "Other Frameworks";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
1ED78706FE9D4A0611CA0C5A /* Products */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
53DF68FD067E5B5A0090B5B0 /* PSMTabBarControl.framework */,
|
||||
);
|
||||
name = Products;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
2E58F364FFB232C311CA0CBA /* Frameworks */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
13F8B6FD07B43410008AE28D /* Linked Frameworks */,
|
||||
13F8B70407B43425008AE28D /* Other Frameworks */,
|
||||
);
|
||||
name = Frameworks;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
32DBCF9E0370C38000C91783 /* Palette */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
54D33B2406778DD400C9C163 /* Undo Support */,
|
||||
54D33B2506778DF000C9C163 /* Classes */,
|
||||
32DBCF9F0370C38200C91783 /* Other Sources */,
|
||||
131E8FE8067F80F40006E0CE /* Resources */,
|
||||
0259C583FE90428111CA0C5A /* palette.table */,
|
||||
);
|
||||
name = Palette;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
32DBCF9F0370C38200C91783 /* Other Sources */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
32DBCF980370C29C00C91783 /* PSMTabBarControl_Prefix.pch */,
|
||||
);
|
||||
name = "Other Sources";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
54D33B2406778DD400C9C163 /* Undo Support */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
54D33B2806778E3300C9C163 /* PSMTabBarControl.ibclassdescription */,
|
||||
);
|
||||
name = "Undo Support";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
54D33B2506778DF000C9C163 /* Classes */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0259C57BFE90428111CA0C5A /* PSMTabBarControlInspector.h */,
|
||||
0259C577FE90428111CA0C5A /* PSMTabBarControlInspector.m */,
|
||||
0259C57CFE90428111CA0C5A /* PSMTabBarControlPalette.h */,
|
||||
0259C578FE90428111CA0C5A /* PSMTabBarControlPalette.m */,
|
||||
);
|
||||
name = Classes;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
54D33B2C06778E4400C9C163 /* Framework */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
0259C57AFE90428111CA0C5A /* PSMTabBarControl.h */,
|
||||
0259C576FE90428111CA0C5A /* PSMTabBarControl.m */,
|
||||
A251BE830959A1B90058BC7F /* PSMTabBarCell.h */,
|
||||
A251BE840959A1B90058BC7F /* PSMTabBarCell.m */,
|
||||
A2D32EDA09A634C900EC8662 /* PSMTabStyle.h */,
|
||||
A2D32EFE09A63D7A00EC8662 /* PSMMetalTabStyle.h */,
|
||||
A2D32EFF09A63D7A00EC8662 /* PSMMetalTabStyle.m */,
|
||||
A2D98B070A2B432C0064C6F8 /* PSMUnifiedTabStyle.h */,
|
||||
A2D98B080A2B432C0064C6F8 /* PSMUnifiedTabStyle.m */,
|
||||
A268EA5F09A9831800E082AA /* PSMRolloverButton.h */,
|
||||
A268EA6009A9831800E082AA /* PSMRolloverButton.m */,
|
||||
A251BE810959A1B90058BC7F /* PSMOverflowPopUpButton.h */,
|
||||
A251BE820959A1B90058BC7F /* PSMOverflowPopUpButton.m */,
|
||||
A2129BAF09AEB58F00724E6C /* PSMProgressIndicator.h */,
|
||||
A2129BB009AEB58F00724E6C /* PSMProgressIndicator.m */,
|
||||
A2082A8D09EAEB33009AC8BE /* PSMTabDragAssistant.h */,
|
||||
A2082A8E09EAEB33009AC8BE /* PSMTabDragAssistant.m */,
|
||||
A2D98B0F0A2B43FA0064C6F8 /* NSBezierPath_AMShading.h */,
|
||||
A2D98B100A2B43FA0064C6F8 /* NSBezierPath_AMShading.m */,
|
||||
);
|
||||
name = Framework;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A246FADE0A2BD446005BDF7B /* Documentation */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A246FB040A2BD6F9005BDF7B /* PSMTabBarControlDoc.html */,
|
||||
);
|
||||
name = Documentation;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A251BE590959A0550058BC7F /* Demo App */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A251BE890959A1EA0058BC7F /* AppController.h */,
|
||||
A251BE8A0959A1EA0058BC7F /* AppController.m */,
|
||||
A2A711BD09E5BF0500D0089B /* WindowController.h */,
|
||||
A2A711BE09E5BF0500D0089B /* WindowController.m */,
|
||||
A251BE8B0959A1EA0058BC7F /* FakeModel.h */,
|
||||
A251BE8C0959A1EA0058BC7F /* FakeModel.m */,
|
||||
A251BE8D0959A1EA0058BC7F /* main.m */,
|
||||
);
|
||||
name = "Demo App";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A251BE8E0959A21A0058BC7F /* Images */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
A2C0D99309AF870000ED379C /* pi.png */,
|
||||
A2072B5C09AC1FA500304BCB /* Warning.png */,
|
||||
A2072A2409ABD88600304BCB /* Folder.tif */,
|
||||
A2072A2509ABD88600304BCB /* Globe.tiff */,
|
||||
A268E7F809A9822900E082AA /* AquaTabNew.png */,
|
||||
A268E7F909A9822900E082AA /* AquaTabNewPressed.png */,
|
||||
A268E7FA09A9822900E082AA /* AquaTabNewRollover.png */,
|
||||
A268E7FB09A9822900E082AA /* TabNewMetal.png */,
|
||||
523897F115BDA9AC00498A53 /* TabNewMetal@2x.png */,
|
||||
A268E7FC09A9822900E082AA /* TabNewMetalPressed.png */,
|
||||
523897F215BDA9AC00498A53 /* TabNewMetalPressed@2x.png */,
|
||||
A268E7FD09A9822900E082AA /* TabNewMetalRollover.png */,
|
||||
523897F315BDA9AC00498A53 /* TabNewMetalRollover@2x.png */,
|
||||
A269361009A778770006911E /* 32x32_log.tiff */,
|
||||
A2D3317A09A68B7500EC8662 /* AquaTabsDownGraphite.png */,
|
||||
A2D3317B09A68B7500EC8662 /* AquaTabsDownNonKey.png */,
|
||||
A2D32EF009A63BF700EC8662 /* AquaTabClose_Front_Pressed.tif */,
|
||||
A2D32EF109A63BF700EC8662 /* AquaTabClose_Front_Rollover.tif */,
|
||||
A2D32EF209A63BF700EC8662 /* AquaTabClose_Front.tif */,
|
||||
A2D32EF309A63BF700EC8662 /* AquaTabsBackground.png */,
|
||||
A2D32EF409A63BF700EC8662 /* AquaTabsDown.png */,
|
||||
A2D32EF509A63BF700EC8662 /* AquaTabsSeparator.png */,
|
||||
A2D32EF609A63BF700EC8662 /* AquaTabsSeparatorDown.png */,
|
||||
A251BE8F0959A23A0058BC7F /* 32x32cancel.png */,
|
||||
52C268CE15BDB72B0012FECA /* overflowImage.png */,
|
||||
52C0B9B215BDB7A9000C268F /* overflowImage@2x.png */,
|
||||
52C268CF15BDB72B0012FECA /* overflowImagePressed.png */,
|
||||
52C0B9B315BDB7A9000C268F /* overflowImagePressed@2x.png */,
|
||||
52A57C0C15BBA230003EC59C /* TabClose_Front.png */,
|
||||
523897F015BDA9AC00498A53 /* TabClose_Front@2x.png */,
|
||||
52A57C0D15BBA230003EC59C /* TabClose_Front_Pressed.png */,
|
||||
523897EE15BDA9AC00498A53 /* TabClose_Front_Pressed@2x.png */,
|
||||
52A57C0E15BBA230003EC59C /* TabClose_Front_Rollover.png */,
|
||||
523897EF15BDA9AC00498A53 /* TabClose_Front_Rollover@2x.png */,
|
||||
);
|
||||
name = Images;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXHeadersBuildPhase section */
|
||||
53DF68F8067E5B5A0090B5B0 /* Headers */ = {
|
||||
isa = PBXHeadersBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
546DEAF2067F630E0098DCC4 /* PSMTabBarControl.h in Headers */,
|
||||
A251BE850959A1B90058BC7F /* PSMOverflowPopUpButton.h in Headers */,
|
||||
A251BE870959A1B90058BC7F /* PSMTabBarCell.h in Headers */,
|
||||
A2D32EDC09A634C900EC8662 /* PSMTabStyle.h in Headers */,
|
||||
A2D32F0009A63D7A00EC8662 /* PSMMetalTabStyle.h in Headers */,
|
||||
A268EA6209A9831800E082AA /* PSMRolloverButton.h in Headers */,
|
||||
A2129BB209AEB58F00724E6C /* PSMProgressIndicator.h in Headers */,
|
||||
A2082A9009EAEB34009AC8BE /* PSMTabDragAssistant.h in Headers */,
|
||||
A2D98B0A0A2B432C0064C6F8 /* PSMUnifiedTabStyle.h in Headers */,
|
||||
A2D98B120A2B43FA0064C6F8 /* NSBezierPath_AMShading.h in Headers */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXHeadersBuildPhase section */
|
||||
|
||||
/* Begin PBXNativeTarget section */
|
||||
53DF68FC067E5B5A0090B5B0 /* PSMTabBarControlFramework */ = {
|
||||
isa = PBXNativeTarget;
|
||||
buildConfigurationList = C056397F08A954F8003078D8 /* Build configuration list for PBXNativeTarget "PSMTabBarControlFramework" */;
|
||||
buildPhases = (
|
||||
53DF68F8067E5B5A0090B5B0 /* Headers */,
|
||||
53DF68F9067E5B5A0090B5B0 /* Resources */,
|
||||
53DF68FA067E5B5A0090B5B0 /* Sources */,
|
||||
53DF68FB067E5B5A0090B5B0 /* Frameworks */,
|
||||
);
|
||||
buildRules = (
|
||||
);
|
||||
dependencies = (
|
||||
);
|
||||
name = PSMTabBarControlFramework;
|
||||
productName = PSMTabBarControlFramework;
|
||||
productReference = 53DF68FD067E5B5A0090B5B0 /* PSMTabBarControl.framework */;
|
||||
productType = "com.apple.product-type.framework";
|
||||
};
|
||||
/* End PBXNativeTarget section */
|
||||
|
||||
/* Begin PBXProject section */
|
||||
0259C573FE90428111CA0C5A /* Project object */ = {
|
||||
isa = PBXProject;
|
||||
buildConfigurationList = C056398B08A954F8003078D8 /* Build configuration list for PBXProject "PSMTabBarControl" */;
|
||||
compatibilityVersion = "Xcode 2.4";
|
||||
developmentRegion = English;
|
||||
hasScannedForEncodings = 1;
|
||||
knownRegions = (
|
||||
en,
|
||||
);
|
||||
mainGroup = 0259C574FE90428111CA0C5A /* PSMTabBarControl */;
|
||||
projectDirPath = "";
|
||||
projectRoot = "";
|
||||
targets = (
|
||||
53DF68FC067E5B5A0090B5B0 /* PSMTabBarControlFramework */,
|
||||
53DF6901067E5B8E0090B5B0 /* All */,
|
||||
);
|
||||
};
|
||||
/* End PBXProject section */
|
||||
|
||||
/* Begin PBXResourcesBuildPhase section */
|
||||
53DF68F9067E5B5A0090B5B0 /* Resources */ = {
|
||||
isa = PBXResourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
A2D32EF709A63BF700EC8662 /* AquaTabClose_Front_Pressed.tif in Resources */,
|
||||
A2D32EF809A63BF700EC8662 /* AquaTabClose_Front_Rollover.tif in Resources */,
|
||||
A2D32EF909A63BF700EC8662 /* AquaTabClose_Front.tif in Resources */,
|
||||
A2D32EFA09A63BF700EC8662 /* AquaTabsBackground.png in Resources */,
|
||||
A2D32EFB09A63BF700EC8662 /* AquaTabsDown.png in Resources */,
|
||||
A2D32EFC09A63BF700EC8662 /* AquaTabsSeparator.png in Resources */,
|
||||
A2D32EFD09A63BF700EC8662 /* AquaTabsSeparatorDown.png in Resources */,
|
||||
A2D3317C09A68B7500EC8662 /* AquaTabsDownGraphite.png in Resources */,
|
||||
A2D3317D09A68B7500EC8662 /* AquaTabsDownNonKey.png in Resources */,
|
||||
A268E80409A9822A00E082AA /* AquaTabNew.png in Resources */,
|
||||
A268E80509A9822A00E082AA /* AquaTabNewPressed.png in Resources */,
|
||||
A268E80609A9822A00E082AA /* AquaTabNewRollover.png in Resources */,
|
||||
A268E80709A9822A00E082AA /* TabNewMetal.png in Resources */,
|
||||
A268E80809A9822A00E082AA /* TabNewMetalPressed.png in Resources */,
|
||||
A268E80909A9822A00E082AA /* TabNewMetalRollover.png in Resources */,
|
||||
A2C0D99509AF870000ED379C /* pi.png in Resources */,
|
||||
A27E47850A28EE76007BA395 /* TabIcon.tif in Resources */,
|
||||
A27E47880A28EE7C007BA395 /* TabControlRep.tif in Resources */,
|
||||
52A57C0F15BBA230003EC59C /* TabClose_Front.png in Resources */,
|
||||
52A57C1015BBA230003EC59C /* TabClose_Front_Pressed.png in Resources */,
|
||||
52A57C1115BBA230003EC59C /* TabClose_Front_Rollover.png in Resources */,
|
||||
523897F415BDA9AC00498A53 /* TabClose_Front_Pressed@2x.png in Resources */,
|
||||
523897F515BDA9AC00498A53 /* TabClose_Front_Rollover@2x.png in Resources */,
|
||||
523897F615BDA9AC00498A53 /* TabClose_Front@2x.png in Resources */,
|
||||
523897F715BDA9AC00498A53 /* TabNewMetal@2x.png in Resources */,
|
||||
523897F815BDA9AC00498A53 /* TabNewMetalPressed@2x.png in Resources */,
|
||||
523897F915BDA9AC00498A53 /* TabNewMetalRollover@2x.png in Resources */,
|
||||
52C268D015BDB72B0012FECA /* overflowImage.png in Resources */,
|
||||
52C268D115BDB72B0012FECA /* overflowImagePressed.png in Resources */,
|
||||
52C0B9B415BDB7A9000C268F /* overflowImage@2x.png in Resources */,
|
||||
52C0B9B515BDB7A9000C268F /* overflowImagePressed@2x.png in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXResourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXSourcesBuildPhase section */
|
||||
53DF68FA067E5B5A0090B5B0 /* Sources */ = {
|
||||
isa = PBXSourcesBuildPhase;
|
||||
buildActionMask = 2147483647;
|
||||
files = (
|
||||
546DEAF1067F63070098DCC4 /* PSMTabBarControl.m in Sources */,
|
||||
A251BE860959A1B90058BC7F /* PSMOverflowPopUpButton.m in Sources */,
|
||||
A251BE880959A1B90058BC7F /* PSMTabBarCell.m in Sources */,
|
||||
A2D32F0109A63D7A00EC8662 /* PSMMetalTabStyle.m in Sources */,
|
||||
A268EA6309A9831800E082AA /* PSMRolloverButton.m in Sources */,
|
||||
A2129BB309AEB58F00724E6C /* PSMProgressIndicator.m in Sources */,
|
||||
A2082A9109EAEB34009AC8BE /* PSMTabDragAssistant.m in Sources */,
|
||||
A2D98B0B0A2B432C0064C6F8 /* PSMUnifiedTabStyle.m in Sources */,
|
||||
A2D98B130A2B43FA0064C6F8 /* NSBezierPath_AMShading.m in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXTargetDependency section */
|
||||
53DF6905067E5B930090B5B0 /* PBXTargetDependency */ = {
|
||||
isa = PBXTargetDependency;
|
||||
target = 53DF68FC067E5B5A0090B5B0 /* PSMTabBarControlFramework */;
|
||||
targetProxy = 53DF6904067E5B930090B5B0 /* PBXContainerItemProxy */;
|
||||
};
|
||||
/* End PBXTargetDependency section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
0259C57EFE90428111CA0C5A /* PSMTabBarControlInspector.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
0259C57FFE90428111CA0C5A /* English */,
|
||||
);
|
||||
name = PSMTabBarControlInspector.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
0259C580FE90428111CA0C5A /* PSMTabBarControlPalette.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
0259C581FE90428111CA0C5A /* English */,
|
||||
);
|
||||
name = PSMTabBarControlPalette.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
8D1AC97F0486D23B00FE50C9 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
8D1AC97B0486D23100FE50C9 /* English */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A251BEC20959BC0E0058BC7F /* MainMenu.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
A251BEC30959BC0E0058BC7F /* English */,
|
||||
);
|
||||
name = MainMenu.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
A2A711B909E5AE1E00D0089B /* Window.nib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
A2A711BA09E5AE1E00D0089B /* English */,
|
||||
);
|
||||
name = Window.nib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
C056398008A954F8003078D8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
COPY_PHASE_STRIP = NO;
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
FRAMEWORK_VERSION = A;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
|
||||
GCC_VERSION = "";
|
||||
INFOPLIST_FILE = "PSMTabBarControlFramework-Info_legacy.plist";
|
||||
INSTALL_PATH = "@executable_path/../Frameworks";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_LDFLAGS = "";
|
||||
PRODUCT_NAME = PSMTabBarControl;
|
||||
SYMROOT = ../build;
|
||||
ZERO_LINK = NO;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C056398108A954F8003078D8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||
DYLIB_CURRENT_VERSION = 1;
|
||||
FRAMEWORK_VERSION = A;
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h";
|
||||
GCC_VERSION = "";
|
||||
INFOPLIST_FILE = "PSMTabBarControlFramework-Info_legacy.plist";
|
||||
INSTALL_PATH = "@executable_path/../Frameworks";
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
OTHER_LDFLAGS = "";
|
||||
PRODUCT_NAME = PSMTabBarControl;
|
||||
SYMROOT = ../build;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C056398808A954F8003078D8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
COPY_PHASE_STRIP = NO;
|
||||
GCC_DYNAMIC_NO_PIC = NO;
|
||||
GCC_ENABLE_FIX_AND_CONTINUE = YES;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
GCC_OPTIMIZATION_LEVEL = 0;
|
||||
PRODUCT_NAME = All;
|
||||
WARNING_CFLAGS = (
|
||||
"-Wmost",
|
||||
"-Wno-four-char-constants",
|
||||
"-Wno-unknown-pragmas",
|
||||
);
|
||||
ZERO_LINK = YES;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C056398908A954F8003078D8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = (
|
||||
ppc,
|
||||
i386,
|
||||
);
|
||||
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
|
||||
GCC_MODEL_TUNING = G5;
|
||||
PRODUCT_NAME = All;
|
||||
WARNING_CFLAGS = (
|
||||
"-Wmost",
|
||||
"-Wno-four-char-constants",
|
||||
"-Wno-unknown-pragmas",
|
||||
);
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
C056398C08A954F8003078D8 /* Debug */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PREBINDING = NO;
|
||||
SYMROOT = ../build;
|
||||
};
|
||||
name = Debug;
|
||||
};
|
||||
C056398D08A954F8003078D8 /* Release */ = {
|
||||
isa = XCBuildConfiguration;
|
||||
buildSettings = {
|
||||
ARCHS = "$(NATIVE_ARCH_ACTUAL)";
|
||||
GCC_WARN_ABOUT_RETURN_TYPE = YES;
|
||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||
ONLY_ACTIVE_ARCH = YES;
|
||||
PREBINDING = NO;
|
||||
SYMROOT = ../build;
|
||||
};
|
||||
name = Release;
|
||||
};
|
||||
/* End XCBuildConfiguration section */
|
||||
|
||||
/* Begin XCConfigurationList section */
|
||||
C056397F08A954F8003078D8 /* Build configuration list for PBXNativeTarget "PSMTabBarControlFramework" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C056398008A954F8003078D8 /* Debug */,
|
||||
C056398108A954F8003078D8 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C056398708A954F8003078D8 /* Build configuration list for PBXAggregateTarget "All" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C056398808A954F8003078D8 /* Debug */,
|
||||
C056398908A954F8003078D8 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
C056398B08A954F8003078D8 /* Build configuration list for PBXProject "PSMTabBarControl" */ = {
|
||||
isa = XCConfigurationList;
|
||||
buildConfigurations = (
|
||||
C056398C08A954F8003078D8 /* Debug */,
|
||||
C056398D08A954F8003078D8 /* Release */,
|
||||
);
|
||||
defaultConfigurationIsVisible = 0;
|
||||
defaultConfigurationName = Release;
|
||||
};
|
||||
/* End XCConfigurationList section */
|
||||
};
|
||||
rootObject = 0259C573FE90428111CA0C5A /* Project object */;
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
//
|
||||
// PSMAquaTabStyle.h
|
||||
// PSMTabBarControl
|
||||
//
|
||||
// Created by John Pannell on 2/17/06.
|
||||
// Copyright 2006 Positive Spin Media. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#import "PSMTabStyle.h"
|
||||
|
||||
@interface PSMAquaTabStyle : NSObject <PSMTabStyle> {
|
||||
NSImage *aquaTabBg;
|
||||
NSImage *aquaTabBgDown;
|
||||
NSImage *aquaTabBgDownGraphite;
|
||||
NSImage *aquaTabBgDownNonKey;
|
||||
NSImage *aquaDividerDown;
|
||||
NSImage *aquaDivider;
|
||||
NSImage *aquaCloseButton;
|
||||
NSImage *aquaCloseButtonDown;
|
||||
NSImage *aquaCloseButtonOver;
|
||||
NSImage *_addTabButtonImage;
|
||||
NSImage *_addTabButtonPressedImage;
|
||||
NSImage *_addTabButtonRolloverImage;
|
||||
NSMutableParagraphStyle *truncatingTailParagraphStyle;
|
||||
NSMutableParagraphStyle *centeredParagraphStyle;
|
||||
}
|
||||
|
||||
- (void)loadImages;
|
||||
- (void)drawInteriorWithTabCell:(PSMTabBarCell *)cell inView:(NSView*)controlView;
|
||||
|
||||
- (void)encodeWithCoder:(NSCoder *)aCoder;
|
||||
- (id)initWithCoder:(NSCoder *)aDecoder;
|
||||
@end
|
||||
@@ -1,513 +0,0 @@
|
||||
//
|
||||
// PSMAquaTabStyle.m
|
||||
// PSMTabBarControl
|
||||
//
|
||||
// Created by John Pannell on 2/17/06.
|
||||
// Copyright 2006 Positive Spin Media. All rights reserved.
|
||||
//
|
||||
|
||||
#import "PSMAquaTabStyle.h"
|
||||
#import "PSMTabBarCell.h"
|
||||
#import "PSMTabBarControl.h"
|
||||
|
||||
#define kPSMAquaObjectCounterRadius 7.0
|
||||
#define kPSMAquaCounterMinWidth 20
|
||||
|
||||
@implementation PSMAquaTabStyle
|
||||
|
||||
- (NSString *)name
|
||||
{
|
||||
return @"Aqua";
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Creation/Destruction
|
||||
|
||||
- (id) init
|
||||
{
|
||||
if((self = [super init]))
|
||||
{
|
||||
[self loadImages];
|
||||
}
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) loadImages
|
||||
{
|
||||
// Aqua Tabs Images
|
||||
aquaTabBg = [[NSImage alloc] initByReferencingFile:[[PSMTabBarControl bundle] pathForImageResource:@"AquaTabsBackground"]];
|
||||
[aquaTabBg setFlipped:YES];
|
||||
|
||||
aquaTabBgDown = [[NSImage alloc] initByReferencingFile:[[PSMTabBarControl bundle] pathForImageResource:@"AquaTabsDown"]];
|
||||
[aquaTabBgDown setFlipped:YES];
|
||||
|
||||
aquaTabBgDownGraphite = [[NSImage alloc] initByReferencingFile:[[PSMTabBarControl bundle] pathForImageResource:@"AquaTabsDownGraphite"]];
|
||||
[aquaTabBgDown setFlipped:YES];
|
||||
|
||||
aquaTabBgDownNonKey = [[NSImage alloc] initByReferencingFile:[[PSMTabBarControl bundle] pathForImageResource:@"AquaTabsDownNonKey"]];
|
||||
[aquaTabBgDown setFlipped:YES];
|
||||
|
||||
aquaDividerDown = [[NSImage alloc] initByReferencingFile:[[PSMTabBarControl bundle] pathForImageResource:@"AquaTabsSeparatorDown"]];
|
||||
[aquaDivider setFlipped:NO];
|
||||
|
||||
aquaDivider = [[NSImage alloc] initByReferencingFile:[[PSMTabBarControl bundle] pathForImageResource:@"AquaTabsSeparator"]];
|
||||
[aquaDivider setFlipped:NO];
|
||||
|
||||
aquaCloseButton = [[NSImage alloc] initByReferencingFile:[[PSMTabBarControl bundle] pathForImageResource:@"AquaTabClose_Front"]];
|
||||
aquaCloseButtonDown = [[NSImage alloc] initByReferencingFile:[[PSMTabBarControl bundle] pathForImageResource:@"AquaTabClose_Front_Pressed"]];
|
||||
aquaCloseButtonOver = [[NSImage alloc] initByReferencingFile:[[PSMTabBarControl bundle] pathForImageResource:@"AquaTabClose_Front_Rollover"]];
|
||||
|
||||
_addTabButtonImage = [[NSImage alloc] initByReferencingFile:[[PSMTabBarControl bundle] pathForImageResource:@"AquaTabNew"]];
|
||||
_addTabButtonPressedImage = [[NSImage alloc] initByReferencingFile:[[PSMTabBarControl bundle] pathForImageResource:@"AquaTabNewPressed"]];
|
||||
_addTabButtonRolloverImage = [[NSImage alloc] initByReferencingFile:[[PSMTabBarControl bundle] pathForImageResource:@"AquaTabNewRollover"]];
|
||||
}
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
[aquaTabBg release];
|
||||
[aquaTabBgDown release];
|
||||
[aquaDividerDown release];
|
||||
[aquaDivider release];
|
||||
[aquaCloseButton release];
|
||||
[aquaCloseButtonDown release];
|
||||
[aquaCloseButtonOver release];
|
||||
[_addTabButtonImage release];
|
||||
[_addTabButtonPressedImage release];
|
||||
[_addTabButtonRolloverImage release];
|
||||
|
||||
[truncatingTailParagraphStyle release];
|
||||
[centeredParagraphStyle release];
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Control Specifics
|
||||
|
||||
- (float)leftMarginForTabBarControl
|
||||
{
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
- (float)rightMarginForTabBarControl
|
||||
{
|
||||
return 24.0f;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Add Tab Button
|
||||
|
||||
- (NSImage *)addTabButtonImage
|
||||
{
|
||||
return _addTabButtonImage;
|
||||
}
|
||||
|
||||
- (NSImage *)addTabButtonPressedImage
|
||||
{
|
||||
return _addTabButtonPressedImage;
|
||||
}
|
||||
|
||||
- (NSImage *)addTabButtonRolloverImage
|
||||
{
|
||||
return _addTabButtonRolloverImage;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Cell Specifics
|
||||
|
||||
- (NSRect)closeButtonRectForTabCell:(PSMTabBarCell *)cell
|
||||
{
|
||||
NSRect cellFrame = [cell frame];
|
||||
|
||||
if ([cell hasCloseButton] == NO) {
|
||||
return NSZeroRect;
|
||||
}
|
||||
|
||||
NSRect result;
|
||||
result.size = [aquaCloseButton size];
|
||||
result.origin.x = cellFrame.origin.x + MARGIN_X;
|
||||
result.origin.y = cellFrame.origin.y + MARGIN_Y + 2.0;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
- (NSRect)iconRectForTabCell:(PSMTabBarCell *)cell
|
||||
{
|
||||
NSRect cellFrame = [cell frame];
|
||||
|
||||
if ([cell hasIcon] == NO) {
|
||||
return NSZeroRect;
|
||||
}
|
||||
|
||||
NSRect result;
|
||||
result.size = NSMakeSize(kPSMTabBarIconWidth, kPSMTabBarIconWidth);
|
||||
result.origin.x = cellFrame.origin.x + MARGIN_X;
|
||||
result.origin.y = cellFrame.origin.y + MARGIN_Y;
|
||||
|
||||
if([cell hasCloseButton] && ![cell isCloseButtonSuppressed])
|
||||
result.origin.x += [aquaCloseButton size].width + kPSMTabBarCellPadding;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
- (NSRect)indicatorRectForTabCell:(PSMTabBarCell *)cell
|
||||
{
|
||||
NSRect cellFrame = [cell frame];
|
||||
|
||||
if ([[cell indicator] isHidden]) {
|
||||
return NSZeroRect;
|
||||
}
|
||||
|
||||
NSRect result;
|
||||
result.size = NSMakeSize(kPSMTabBarIndicatorWidth, kPSMTabBarIndicatorWidth);
|
||||
result.origin.x = cellFrame.origin.x + cellFrame.size.width - MARGIN_X - kPSMTabBarIndicatorWidth;
|
||||
result.origin.y = cellFrame.origin.y + MARGIN_Y;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
- (NSRect)objectCounterRectForTabCell:(PSMTabBarCell *)cell
|
||||
{
|
||||
NSRect cellFrame = [cell frame];
|
||||
|
||||
if ([cell count] == 0) {
|
||||
return NSZeroRect;
|
||||
}
|
||||
|
||||
float countWidth = [[self attributedObjectCountValueForTabCell:cell] size].width;
|
||||
countWidth += (2 * kPSMAquaObjectCounterRadius - 6.0);
|
||||
if(countWidth < kPSMAquaCounterMinWidth)
|
||||
countWidth = kPSMAquaCounterMinWidth;
|
||||
|
||||
NSRect result;
|
||||
result.size = NSMakeSize(countWidth, 2 * kPSMAquaObjectCounterRadius); // temp
|
||||
result.origin.x = cellFrame.origin.x + cellFrame.size.width - MARGIN_X - result.size.width;
|
||||
result.origin.y = cellFrame.origin.y + MARGIN_Y + 1.0;
|
||||
|
||||
if(![[cell indicator] isHidden])
|
||||
result.origin.x -= kPSMTabBarIndicatorWidth + kPSMTabBarCellPadding;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
- (float)minimumWidthOfTabCell:(PSMTabBarCell *)cell
|
||||
{
|
||||
float resultWidth = 0.0;
|
||||
|
||||
// left margin
|
||||
resultWidth = MARGIN_X;
|
||||
|
||||
// close button?
|
||||
if ([cell hasCloseButton] && ![cell isCloseButtonSuppressed])
|
||||
resultWidth += [aquaCloseButton size].width + kPSMTabBarCellPadding;
|
||||
|
||||
// icon?
|
||||
if([cell hasIcon])
|
||||
resultWidth += kPSMTabBarIconWidth + kPSMTabBarCellPadding;
|
||||
|
||||
// the label
|
||||
resultWidth += kPSMMinimumTitleWidth;
|
||||
|
||||
// object counter?
|
||||
if([cell count] > 0)
|
||||
resultWidth += [self objectCounterRectForTabCell:cell].size.width + kPSMTabBarCellPadding;
|
||||
|
||||
// indicator?
|
||||
if ([[cell indicator] isHidden] == NO)
|
||||
resultWidth += kPSMTabBarCellPadding + kPSMTabBarIndicatorWidth;
|
||||
|
||||
// right margin
|
||||
resultWidth += MARGIN_X;
|
||||
|
||||
return ceil(resultWidth);
|
||||
}
|
||||
|
||||
- (float)desiredWidthOfTabCell:(PSMTabBarCell *)cell
|
||||
{
|
||||
float resultWidth = 0.0;
|
||||
|
||||
// left margin
|
||||
resultWidth = MARGIN_X;
|
||||
|
||||
// close button?
|
||||
if ([cell hasCloseButton] && ![cell isCloseButtonSuppressed])
|
||||
resultWidth += [aquaCloseButton size].width + kPSMTabBarCellPadding;
|
||||
|
||||
// icon?
|
||||
if([cell hasIcon])
|
||||
resultWidth += kPSMTabBarIconWidth + kPSMTabBarCellPadding;
|
||||
|
||||
// the label
|
||||
resultWidth += [[cell attributedStringValue] size].width;
|
||||
|
||||
// object counter?
|
||||
if([cell count] > 0)
|
||||
resultWidth += [self objectCounterRectForTabCell:cell].size.width + kPSMTabBarCellPadding;
|
||||
|
||||
// indicator?
|
||||
if ([[cell indicator] isHidden] == NO)
|
||||
resultWidth += kPSMTabBarCellPadding + kPSMTabBarIndicatorWidth;
|
||||
|
||||
// right margin
|
||||
resultWidth += MARGIN_X;
|
||||
|
||||
return ceil(resultWidth);
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Cell Values
|
||||
|
||||
- (NSAttributedString *)attributedObjectCountValueForTabCell:(PSMTabBarCell *)cell
|
||||
{
|
||||
NSMutableAttributedString *attrStr;
|
||||
NSFontManager *fm = [NSFontManager sharedFontManager];
|
||||
NSNumberFormatter *nf = [[[NSNumberFormatter alloc] init] autorelease];
|
||||
[nf setLocalizesFormat:YES];
|
||||
[nf setFormat:@"0"];
|
||||
[nf setHasThousandSeparators:YES];
|
||||
NSString *contents = [nf stringFromNumber:[NSNumber numberWithInt:[cell count]]];
|
||||
attrStr = [[[NSMutableAttributedString alloc] initWithString:contents] autorelease];
|
||||
NSRange range = NSMakeRange(0, [contents length]);
|
||||
|
||||
// Add font attribute
|
||||
[attrStr addAttribute:NSFontAttributeName value:[fm convertFont:[NSFont fontWithName:@"Helvetica" size:11.0] toHaveTrait:NSBoldFontMask] range:range];
|
||||
[attrStr addAttribute:NSForegroundColorAttributeName value:[[NSColor whiteColor] colorWithAlphaComponent:0.85] range:range];
|
||||
|
||||
return attrStr;
|
||||
}
|
||||
|
||||
- (NSAttributedString *)attributedStringValueForTabCell:(PSMTabBarCell *)cell
|
||||
{
|
||||
NSMutableAttributedString *attrStr;
|
||||
NSString * contents = [cell stringValue];
|
||||
attrStr = [[[NSMutableAttributedString alloc] initWithString:contents] autorelease];
|
||||
NSRange range = NSMakeRange(0, [contents length]);
|
||||
|
||||
[attrStr addAttribute:NSFontAttributeName value:[NSFont systemFontOfSize:11.0] range:range];
|
||||
|
||||
// Paragraph Style for Truncating Long Text
|
||||
if (!truncatingTailParagraphStyle) {
|
||||
truncatingTailParagraphStyle = [[[NSParagraphStyle defaultParagraphStyle] mutableCopy] retain];
|
||||
[truncatingTailParagraphStyle setLineBreakMode:NSLineBreakByTruncatingTail];
|
||||
[truncatingTailParagraphStyle setAlignment:NSCenterTextAlignment];
|
||||
}
|
||||
[attrStr addAttribute:NSParagraphStyleAttributeName value:truncatingTailParagraphStyle range:range];
|
||||
|
||||
return attrStr;
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Drawing
|
||||
|
||||
- (void)drawTabCell:(PSMTabBarCell *)cell;
|
||||
{
|
||||
NSRect cellFrame = [cell frame];
|
||||
|
||||
// Selected Tab
|
||||
if ([cell state] == NSOnState) {
|
||||
NSRect aRect = NSMakeRect(cellFrame.origin.x, cellFrame.origin.y, cellFrame.size.width, cellFrame.size.height-2.5);
|
||||
aRect.size.height -= 0.5;
|
||||
|
||||
// proper tint
|
||||
NSControlTint currentTint;
|
||||
if ([cell controlTint] == NSDefaultControlTint)
|
||||
currentTint = [NSColor currentControlTint];
|
||||
else
|
||||
currentTint = [cell controlTint];
|
||||
|
||||
if (![[[cell controlView] window] isKeyWindow])
|
||||
currentTint = NSClearControlTint;
|
||||
|
||||
NSImage *bgImage;
|
||||
switch(currentTint){
|
||||
case NSGraphiteControlTint:
|
||||
bgImage = aquaTabBgDownGraphite;
|
||||
break;
|
||||
case NSClearControlTint:
|
||||
bgImage = aquaTabBgDownNonKey;
|
||||
break;
|
||||
case NSBlueControlTint:
|
||||
default:
|
||||
bgImage = aquaTabBgDown;
|
||||
break;
|
||||
}
|
||||
|
||||
[bgImage drawInRect:cellFrame fromRect:NSMakeRect(0.0, 0.0, 1.0, 22.0) operation:NSCompositeSourceOver fraction:1.0];
|
||||
[aquaDivider drawAtPoint:NSMakePoint(cellFrame.origin.x + cellFrame.size.width - 1.0, cellFrame.origin.y + cellFrame.size.height) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
|
||||
|
||||
aRect.size.height+=0.5;
|
||||
|
||||
} else { // Unselected Tab
|
||||
|
||||
NSRect aRect = NSMakeRect(cellFrame.origin.x, cellFrame.origin.y, cellFrame.size.width, cellFrame.size.height);
|
||||
aRect.origin.y += 0.5;
|
||||
aRect.origin.x += 1.5;
|
||||
aRect.size.width -= 1;
|
||||
|
||||
aRect.origin.x -= 1;
|
||||
aRect.size.width += 1;
|
||||
|
||||
// Rollover
|
||||
if ([cell isHighlighted]) {
|
||||
[[NSColor colorWithCalibratedWhite:0.0 alpha:0.1] set];
|
||||
NSRectFillUsingOperation(aRect, NSCompositeSourceAtop);
|
||||
}
|
||||
|
||||
[aquaDivider drawAtPoint:NSMakePoint(cellFrame.origin.x + cellFrame.size.width - 1.0, cellFrame.origin.y + cellFrame.size.height) fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
|
||||
}
|
||||
|
||||
[self drawInteriorWithTabCell:cell inView:[cell controlView]];
|
||||
}
|
||||
|
||||
- (void)drawTabBar:(PSMTabBarControl *)bar inRect:(NSRect)rect
|
||||
{
|
||||
[aquaTabBg drawInRect:rect fromRect:NSMakeRect(0.0, 0.0, 1.0, 22.0) operation:NSCompositeSourceOver fraction:1.0];
|
||||
|
||||
// no tab view == not connected
|
||||
if(![bar tabView]){
|
||||
NSRect labelRect = rect;
|
||||
labelRect.size.height -= 4.0;
|
||||
labelRect.origin.y += 4.0;
|
||||
NSMutableAttributedString *attrStr;
|
||||
NSString *contents = @"PSMTabBarControl";
|
||||
attrStr = [[[NSMutableAttributedString alloc] initWithString:contents] autorelease];
|
||||
NSRange range = NSMakeRange(0, [contents length]);
|
||||
[attrStr addAttribute:NSFontAttributeName value:[NSFont systemFontOfSize:11.0] range:range];
|
||||
if (!centeredParagraphStyle) {
|
||||
centeredParagraphStyle = [[[NSParagraphStyle defaultParagraphStyle] mutableCopy] retain];
|
||||
[centeredParagraphStyle setAlignment:NSCenterTextAlignment];
|
||||
}
|
||||
[attrStr addAttribute:NSParagraphStyleAttributeName value:centeredParagraphStyle range:range];
|
||||
[attrStr drawInRect:labelRect];
|
||||
return;
|
||||
}
|
||||
|
||||
// Draw cells
|
||||
NSEnumerator *e = [[bar cells] objectEnumerator];
|
||||
PSMTabBarCell *cell;
|
||||
while(cell = [e nextObject]){
|
||||
if(![cell isInOverflowMenu]){
|
||||
[cell drawWithFrame:[cell frame] inView:bar];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
- (void)drawInteriorWithTabCell:(PSMTabBarCell *)cell inView:(NSView*)controlView
|
||||
{
|
||||
NSRect cellFrame = [cell frame];
|
||||
float labelPosition = cellFrame.origin.x + MARGIN_X;
|
||||
|
||||
// close button
|
||||
if([cell hasCloseButton] && ![cell isCloseButtonSuppressed]) {
|
||||
NSSize closeButtonSize = NSZeroSize;
|
||||
NSRect closeButtonRect = [cell closeButtonRectForFrame:cellFrame];
|
||||
NSImage *closeButton = nil;
|
||||
|
||||
closeButton = aquaCloseButton;
|
||||
if([cell closeButtonOver]) closeButton = aquaCloseButtonOver;
|
||||
if([cell closeButtonPressed]) closeButton = aquaCloseButtonDown;
|
||||
|
||||
closeButtonSize = [closeButton size];
|
||||
[closeButton setFlipped:YES];
|
||||
[closeButton drawAtPoint:closeButtonRect.origin fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
|
||||
|
||||
// scoot label over
|
||||
labelPosition += closeButtonSize.width + kPSMTabBarCellPadding;
|
||||
}
|
||||
|
||||
#if 0 // MacVim: disable this code. It is unused and calling 'content' on the represented object's identifier seems dangerous at best.
|
||||
// icon
|
||||
if([cell hasIcon]){
|
||||
NSRect iconRect = [self iconRectForTabCell:cell];
|
||||
NSImage *icon = [[[[cell representedObject] identifier] content] icon];
|
||||
if ([controlView isFlipped]) {
|
||||
iconRect.origin.y = cellFrame.size.height - iconRect.origin.y;
|
||||
}
|
||||
[icon compositeToPoint:iconRect.origin operation:NSCompositeSourceOver fraction:1.0];
|
||||
|
||||
// scoot label over
|
||||
labelPosition += iconRect.size.width + kPSMTabBarCellPadding;
|
||||
}
|
||||
#endif
|
||||
|
||||
// object counter
|
||||
if([cell count] > 0){
|
||||
[[NSColor colorWithCalibratedWhite:0.3 alpha:0.45] set];
|
||||
NSBezierPath *path = [NSBezierPath bezierPath];
|
||||
NSRect myRect = [self objectCounterRectForTabCell:cell];
|
||||
[path moveToPoint:NSMakePoint(myRect.origin.x + kPSMAquaObjectCounterRadius, myRect.origin.y)];
|
||||
[path lineToPoint:NSMakePoint(myRect.origin.x + myRect.size.width - kPSMAquaObjectCounterRadius, myRect.origin.y)];
|
||||
[path appendBezierPathWithArcWithCenter:NSMakePoint(myRect.origin.x + myRect.size.width - kPSMAquaObjectCounterRadius, myRect.origin.y + kPSMAquaObjectCounterRadius) radius:kPSMAquaObjectCounterRadius startAngle:270.0 endAngle:90.0];
|
||||
[path lineToPoint:NSMakePoint(myRect.origin.x + kPSMAquaObjectCounterRadius, myRect.origin.y + myRect.size.height)];
|
||||
[path appendBezierPathWithArcWithCenter:NSMakePoint(myRect.origin.x + kPSMAquaObjectCounterRadius, myRect.origin.y + kPSMAquaObjectCounterRadius) radius:kPSMAquaObjectCounterRadius startAngle:90.0 endAngle:270.0];
|
||||
[path fill];
|
||||
|
||||
// draw attributed string centered in area
|
||||
NSRect counterStringRect;
|
||||
NSAttributedString *counterString = [self attributedObjectCountValueForTabCell:cell];
|
||||
counterStringRect.size = [counterString size];
|
||||
counterStringRect.origin.x = myRect.origin.x + ((myRect.size.width - counterStringRect.size.width) / 2.0) + 0.25;
|
||||
counterStringRect.origin.y = myRect.origin.y + ((myRect.size.height - counterStringRect.size.height) / 2.0) + 0.5;
|
||||
[counterString drawInRect:counterStringRect];
|
||||
}
|
||||
|
||||
// label rect
|
||||
NSRect labelRect;
|
||||
labelRect.origin.x = labelPosition;
|
||||
labelRect.size.width = cellFrame.size.width - (labelRect.origin.x - cellFrame.origin.x) - kPSMTabBarCellPadding;
|
||||
labelRect.size.height = cellFrame.size.height;
|
||||
labelRect.origin.y = cellFrame.origin.y + MARGIN_Y + 1.0;
|
||||
|
||||
if(![[cell indicator] isHidden])
|
||||
labelRect.size.width -= (kPSMTabBarIndicatorWidth + kPSMTabBarCellPadding);
|
||||
|
||||
if([cell count] > 0)
|
||||
labelRect.size.width -= ([self objectCounterRectForTabCell:cell].size.width + kPSMTabBarCellPadding);
|
||||
|
||||
// Draw Label
|
||||
[[cell attributedStringValue] drawInRect:labelRect];
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
#pragma mark Archiving
|
||||
|
||||
- (void)encodeWithCoder:(NSCoder *)aCoder {
|
||||
//[super encodeWithCoder:aCoder];
|
||||
if ([aCoder allowsKeyedCoding]) {
|
||||
[aCoder encodeObject:aquaTabBg forKey:@"aquaTabBg"];
|
||||
[aCoder encodeObject:aquaTabBgDown forKey:@"aquaTabBgDown"];
|
||||
[aCoder encodeObject:aquaTabBgDownGraphite forKey:@"aquaTabBgDownGraphite"];
|
||||
[aCoder encodeObject:aquaTabBgDownNonKey forKey:@"aquaTabBgDownNonKey"];
|
||||
[aCoder encodeObject:aquaDividerDown forKey:@"aquaDividerDown"];
|
||||
[aCoder encodeObject:aquaDivider forKey:@"aquaDivider"];
|
||||
[aCoder encodeObject:aquaCloseButton forKey:@"aquaCloseButton"];
|
||||
[aCoder encodeObject:aquaCloseButtonDown forKey:@"aquaCloseButtonDown"];
|
||||
[aCoder encodeObject:aquaCloseButtonOver forKey:@"aquaCloseButtonOver"];
|
||||
[aCoder encodeObject:_addTabButtonImage forKey:@"addTabButtonImage"];
|
||||
[aCoder encodeObject:_addTabButtonPressedImage forKey:@"addTabButtonPressedImage"];
|
||||
[aCoder encodeObject:_addTabButtonRolloverImage forKey:@"addTabButtonRolloverImage"];
|
||||
}
|
||||
}
|
||||
|
||||
- (id)initWithCoder:(NSCoder *)aDecoder {
|
||||
//self = [super initWithCoder:aDecoder];
|
||||
//if (self) {
|
||||
if ([aDecoder allowsKeyedCoding]) {
|
||||
aquaTabBg = [[aDecoder decodeObjectForKey:@"aquaTabBg"] retain];
|
||||
aquaTabBgDown = [[aDecoder decodeObjectForKey:@"aquaTabBgDown"] retain];
|
||||
aquaTabBgDownGraphite = [[aDecoder decodeObjectForKey:@"aquaTabBgDownGraphite"] retain];
|
||||
aquaTabBgDownNonKey = [[aDecoder decodeObjectForKey:@"aquaTabBgDownNonKey"] retain];
|
||||
aquaDividerDown = [[aDecoder decodeObjectForKey:@"aquaDividerDown"] retain];
|
||||
aquaDivider = [[aDecoder decodeObjectForKey:@"aquaDivider"] retain];
|
||||
aquaCloseButton = [[aDecoder decodeObjectForKey:@"aquaCloseButton"] retain];
|
||||
aquaCloseButtonDown = [[aDecoder decodeObjectForKey:@"aquaCloseButtonDown"] retain];
|
||||
aquaCloseButtonOver = [[aDecoder decodeObjectForKey:@"aquaCloseButtonOver"] retain];
|
||||
_addTabButtonImage = [[aDecoder decodeObjectForKey:@"addTabButtonImage"] retain];
|
||||
_addTabButtonPressedImage = [[aDecoder decodeObjectForKey:@"addTabButtonPressedImage"] retain];
|
||||
_addTabButtonRolloverImage = [[aDecoder decodeObjectForKey:@"addTabButtonRolloverImage"] retain];
|
||||
}
|
||||
//}
|
||||
return self;
|
||||
}
|
||||
|
||||
@end
|
||||
@@ -393,8 +393,12 @@ void MyNSDrawWindowBackground(NSRect rect)
|
||||
if ([cell closeButtonPressed]) closeButton = metalCloseButtonDown;
|
||||
|
||||
closeButtonSize = [closeButton size];
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
|
||||
[closeButton drawInRect:closeButtonRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0 respectFlipped:YES hints:nil];
|
||||
#else
|
||||
[closeButton setFlipped:YES];
|
||||
[closeButton drawAtPoint:closeButtonRect.origin fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
|
||||
#endif
|
||||
|
||||
// scoot label over
|
||||
labelPosition += closeButtonSize.width + kPSMTabBarCellPadding;
|
||||
|
||||
@@ -43,8 +43,12 @@
|
||||
NSSize imageSize = [image size];
|
||||
rect.origin.x = NSMidX(rect) - (imageSize.width * 0.5);
|
||||
rect.origin.y = NSMidY(rect) - (imageSize.height * 0.5);
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
|
||||
[image drawInRect:rect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0 respectFlipped:YES hints:nil];
|
||||
#else
|
||||
[image setFlipped:YES];
|
||||
[image drawAtPoint:rect.origin fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
|
||||
#endif
|
||||
}
|
||||
|
||||
- (void)mouseDown:(NSEvent *)event
|
||||
|
||||
@@ -24,6 +24,10 @@ typedef unsigned int NSUInteger;
|
||||
# define NSINTEGER_DEFINED 1
|
||||
#endif
|
||||
|
||||
#ifndef MAC_OS_X_VERSION_10_6
|
||||
# define MAC_OS_X_VERSION_10_6 1060
|
||||
#endif
|
||||
|
||||
#define kPSMTabBarControlHeight 22
|
||||
// internal cell border
|
||||
#define MARGIN_X 6
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
#import "PSMRolloverButton.h"
|
||||
#import "PSMTabStyle.h"
|
||||
#import "PSMMetalTabStyle.h"
|
||||
#import "PSMAquaTabStyle.h"
|
||||
#import "PSMUnifiedTabStyle.h"
|
||||
#import "PSMTabDragAssistant.h"
|
||||
|
||||
@@ -255,10 +254,7 @@
|
||||
- (void)setStyleNamed:(NSString *)name
|
||||
{
|
||||
[style release];
|
||||
if([name isEqualToString:@"Aqua"]){
|
||||
style = [[PSMAquaTabStyle alloc] init];
|
||||
}
|
||||
else if ([name isEqualToString:@"Unified"]){
|
||||
if ([name isEqualToString:@"Unified"]){
|
||||
style = [[PSMUnifiedTabStyle alloc] init];
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -389,8 +389,12 @@
|
||||
if ([cell closeButtonPressed]) closeButton = unifiedCloseButtonDown;
|
||||
|
||||
closeButtonSize = [closeButton size];
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
|
||||
[closeButton drawInRect:closeButtonRect fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0 respectFlipped:YES hints:nil];
|
||||
#else
|
||||
[closeButton setFlipped:YES];
|
||||
[closeButton drawAtPoint:closeButtonRect.origin fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
|
||||
#endif
|
||||
|
||||
// scoot label over
|
||||
labelPosition += closeButtonSize.width + kPSMTabBarCellPadding;
|
||||
|
||||
@@ -176,6 +176,12 @@ gui_macvim_after_fork_init()
|
||||
val = CFPreferencesGetAppIntegerValue((CFStringRef)MMRendererKey,
|
||||
kCFPreferencesCurrentApplication,
|
||||
&keyValid);
|
||||
if (!keyValid) {
|
||||
// If MMRendererKey is not valid in the defaults, it means MacVim uses
|
||||
// the Core Text Renderer.
|
||||
keyValid = YES;
|
||||
val = MMRendererCoreText;
|
||||
}
|
||||
if (keyValid) {
|
||||
ASLogInfo(@"Use renderer=%ld", val);
|
||||
use_gui_macvim_draw_string = (val != MMRendererCoreText);
|
||||
@@ -1783,6 +1789,11 @@ gui_macvim_set_antialias(int antialias)
|
||||
[[MMBackend sharedInstance] setAntialias:antialias];
|
||||
}
|
||||
|
||||
void
|
||||
gui_macvim_set_ligatures(int ligatures)
|
||||
{
|
||||
[[MMBackend sharedInstance] setLigatures:ligatures];
|
||||
}
|
||||
|
||||
void
|
||||
gui_macvim_wait_for_startup()
|
||||
|
||||
+39
-98
@@ -117,8 +117,6 @@
|
||||
# Netbeans Debugging Support: NBDEBUG=[yes or no] (should be no, yes
|
||||
# doesn't work)
|
||||
#
|
||||
# Visual C Version: MSVCVER=m.n (default derived from nmake if undefined)
|
||||
#
|
||||
# Static Code Analysis: ANALYZE=yes (works with VS2012 only)
|
||||
#
|
||||
# You can combine any of these interfaces
|
||||
@@ -213,20 +211,24 @@ OBJDIR = $(OBJDIR)d
|
||||
! ifdef CPU
|
||||
ASSEMBLY_ARCHITECTURE=$(CPU)
|
||||
# Using I386 for $ASSEMBLY_ARCHITECTURE doesn't work for VC7.
|
||||
! if ("$(ASSEMBLY_ARCHITECTURE)" == "i386") || ("$(ASSEMBLY_ARCHITECTURE)" == "I386")
|
||||
ASSEMBLY_ARCHITECTURE = x86
|
||||
! endif
|
||||
! else
|
||||
CPU = $(PROCESSOR_ARCHITECTURE)
|
||||
ASSEMBLY_ARCHITECTURE = $(PROCESSOR_ARCHITECTURE)
|
||||
! if ("$(CPU)" == "x86") || ("$(CPU)" == "X86")
|
||||
! if "$(CPU)" == "I386"
|
||||
CPU = i386
|
||||
! endif
|
||||
! else # !CPU
|
||||
CPU = i386
|
||||
! ifdef PLATFORM
|
||||
! if ("$(PLATFORM)" == "x64") || ("$(PLATFORM)" == "X64")
|
||||
CPU = AMD64
|
||||
! elseif ("$(PLATFORM)" != "x86") && ("$(PLATFORM)" != "X86")
|
||||
! error *** ERROR Unknown target platform "$(PLATFORM)". Make aborted.
|
||||
! endif
|
||||
! endif # !PLATFORM
|
||||
! endif
|
||||
!else # !PROCESSOR_ARCHITECTURE
|
||||
# We're on Windows 95
|
||||
CPU = i386
|
||||
!endif # !PROCESSOR_ARCHITECTURE
|
||||
ASSEMBLY_ARCHITECTURE=$(CPU)
|
||||
OBJDIR = $(OBJDIR)$(CPU)
|
||||
|
||||
# Build a retail version by default
|
||||
@@ -379,91 +381,29 @@ DEL_TREE = deltree /y
|
||||
INTDIR=$(OBJDIR)
|
||||
OUTDIR=$(OBJDIR)
|
||||
|
||||
# Derive version of VC being used from nmake if not specified
|
||||
!if "$(MSVCVER)" == ""
|
||||
!if "$(_NMAKE_VER)" == ""
|
||||
MSVCVER = 4.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "162"
|
||||
MSVCVER = 5.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "6.00.8168.0"
|
||||
MSVCVER = 6.0
|
||||
CPU = ix86
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "6.00.9782.0"
|
||||
MSVCVER = 6.0
|
||||
CPU = ix86
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "7.00.9466"
|
||||
MSVCVER = 7.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "7.10.3077"
|
||||
MSVCVER = 7.1
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "8.00.50727.42"
|
||||
MSVCVER = 8.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "8.00.50727.762"
|
||||
MSVCVER = 8.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "9.00.20706.01"
|
||||
MSVCVER = 9.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "9.00.21022.08"
|
||||
MSVCVER = 9.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "9.00.30729.01"
|
||||
MSVCVER = 9.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "10.00.20506.01"
|
||||
MSVCVER = 10.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "10.00.30128.01"
|
||||
MSVCVER = 10.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "10.00.30319.01"
|
||||
MSVCVER = 10.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "10.00.40219.01"
|
||||
MSVCVER = 10.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "11.00.50727.1"
|
||||
MSVCVER = 11.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "11.00.51106.1"
|
||||
MSVCVER = 11.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "11.00.60315.1"
|
||||
MSVCVER = 11.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "11.00.60610.1"
|
||||
MSVCVER = 11.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "11.00.61030.0"
|
||||
MSVCVER = 11.0
|
||||
!endif
|
||||
!if "$(_NMAKE_VER)" == "12.00.21005.1"
|
||||
MSVCVER = 12.0
|
||||
!endif
|
||||
!if ("$(_NMAKE_VER)" == "14.00.22609.0") || ("$(_NMAKE_VER)" == "14.00.22816.0") || ("$(_NMAKE_VER)" == "14.00.23026.0")
|
||||
MSVCVER = 14.0
|
||||
!if [echo MSVCVER=_MSC_VER> msvcver.c && $(CC) /EP msvcver.c > msvcver.~ 2> nul]
|
||||
!message *** ERROR
|
||||
!message Cannot run Visual C to determine its version. Make sure cl.exe is in your PATH.
|
||||
!message This can usually be done by running "vcvarsall.bat", located in the bin directory where Visual Studio was installed.
|
||||
!error Make aborted.
|
||||
!else
|
||||
!include msvcver.~
|
||||
!if [del msvcver.c msvcver.~]
|
||||
!endif
|
||||
!endif
|
||||
|
||||
# Abort building VIM if version of VC is unrecognised.
|
||||
!ifndef MSVCVER
|
||||
!message *** ERROR
|
||||
!message Cannot determine Visual C version being used. If you are using the
|
||||
!message Windows SDK then you must have the environment variable MSVCVER set to
|
||||
!message your version of the VC compiler. If you are not using the Express
|
||||
!message version of Visual C, you can either set MSVCVER or update this makefile
|
||||
!message to handle the new value for _NMAKE_VER, "$(_NMAKE_VER)".
|
||||
!error Make aborted.
|
||||
!if $(MSVCVER) < 1900
|
||||
MSVC_MAJOR = ($(MSVCVER) / 100 - 6)
|
||||
!else
|
||||
MSVC_MAJOR = ($(MSVCVER) / 100 - 5)
|
||||
!endif
|
||||
|
||||
!if $(MSVC_MAJOR) == 6
|
||||
CPU = ix86
|
||||
!endif
|
||||
|
||||
# Convert processor ID to MVC-compatible number
|
||||
!if ("$(MSVCVER)" != "8.0") && ("$(MSVCVER)" != "9.0") && ("$(MSVCVER)" != "10.0") && ("$(MSVCVER)" != "11.0") && ("$(MSVCVER)" != "12.0") && ("$(MSVCVER)" != "14.0")
|
||||
!if $(MSVC_MAJOR) < 8
|
||||
!if "$(CPUNR)" == "i386"
|
||||
CPUARG = /G3
|
||||
!elseif "$(CPUNR)" == "i486"
|
||||
@@ -479,7 +419,7 @@ CPUARG =
|
||||
!endif
|
||||
!else
|
||||
# VC8/9/10 only allows specifying SSE architecture but only for 32bit
|
||||
!if "$(ASSEMBLY_ARCHITECTURE)" == "x86" && "$(CPUNR)" == "pentium4"
|
||||
!if "$(ASSEMBLY_ARCHITECTURE)" == "i386" && "$(CPUNR)" == "pentium4"
|
||||
CPUARG = /arch:SSE2
|
||||
!endif
|
||||
!endif
|
||||
@@ -488,7 +428,7 @@ LIBC =
|
||||
DEBUGINFO = /Zi
|
||||
|
||||
# Don't use /nodefaultlib on MSVC 14
|
||||
!if "$(MSVCVER)" == "14.0"
|
||||
!if $(MSVC_MAJOR) >= 14
|
||||
NODEFAULTLIB =
|
||||
!else
|
||||
NODEFAULTLIB = /nodefaultlib
|
||||
@@ -504,7 +444,7 @@ OPTFLAG = /O2
|
||||
OPTFLAG = /Ox
|
||||
!endif
|
||||
|
||||
!if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0")
|
||||
!if $(MSVC_MAJOR) >= 8
|
||||
# Use link time code generation if not worried about size
|
||||
!if "$(OPTIMIZE)" != "SPACE"
|
||||
OPTFLAG = $(OPTFLAG) /GL
|
||||
@@ -512,12 +452,13 @@ OPTFLAG = $(OPTFLAG) /GL
|
||||
!endif
|
||||
|
||||
# (/Wp64 is deprecated in VC9 and generates an obnoxious warning.)
|
||||
!if ("$(MSVCVER)" == "7.0") || ("$(MSVCVER)" == "7.1") || ("$(MSVCVER)" == "8.0")
|
||||
!if ($(MSVC_MAJOR) == 7) || ($(MSVC_MAJOR) == 8)
|
||||
CFLAGS=$(CFLAGS) $(WP64CHECK)
|
||||
!endif
|
||||
|
||||
# Static code analysis generally available starting with VS2012
|
||||
!if ("$(ANALYZE)" == "yes") && (("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0"))
|
||||
# Static code analysis generally available starting with VS2012 (VC11) or
|
||||
# Windows SDK 7.1 (VC10)
|
||||
!if ("$(ANALYZE)" == "yes") && ($(MSVC_MAJOR) >= 10)
|
||||
CFLAGS=$(CFLAGS) /analyze
|
||||
!endif
|
||||
|
||||
@@ -538,7 +479,7 @@ DEBUGINFO = /ZI
|
||||
CFLAGS = $(CFLAGS) -D_DEBUG -DDEBUG /Od
|
||||
RCFLAGS = $(rcflags) $(rcvars) -D_DEBUG -DDEBUG
|
||||
# The /fixed:no is needed for Quantify. Assume not 4.? as unsupported in VC4.0.
|
||||
! if "$(MSVCVER)" == "4.0"
|
||||
! if $(MSVC_MAJOR) == 4
|
||||
LIBC =
|
||||
! else
|
||||
LIBC = /fixed:no
|
||||
@@ -993,7 +934,7 @@ LINKARGS2 = $(CON_LIB) $(GUI_LIB) $(NODEFAULTLIB) $(LIBC) $(OLE_LIB) user32.lib
|
||||
|
||||
# Report link time code generation progress if used.
|
||||
!ifdef NODEBUG
|
||||
!if ("$(MSVCVER)" == "8.0") || ("$(MSVCVER)" == "9.0") || ("$(MSVCVER)" == "10.0") || ("$(MSVCVER)" == "11.0") || ("$(MSVCVER)" == "12.0")
|
||||
!if $(MSVC_MAJOR) >= 8
|
||||
!if "$(OPTIMIZE)" != "SPACE"
|
||||
LINKARGS1 = $(LINKARGS1) /LTCG:STATUS
|
||||
!endif
|
||||
@@ -1090,7 +1031,7 @@ testclean:
|
||||
|
||||
# Create a default rule for transforming .c files to .obj files in $(OUTDIR)
|
||||
# Batch compilation is supported by nmake 1.62 (part of VS 5.0) and later)
|
||||
!IF "$(MSVCVER)" == "4.0"
|
||||
!IF "$(_NMAKE_VER)" == ""
|
||||
.c{$(OUTDIR)/}.obj:
|
||||
!ELSE
|
||||
.c{$(OUTDIR)/}.obj::
|
||||
@@ -1099,7 +1040,7 @@ testclean:
|
||||
|
||||
# Create a default rule for transforming .cpp files to .obj files in $(OUTDIR)
|
||||
# Batch compilation is supported by nmake 1.62 (part of VS 5.0) and later)
|
||||
!IF "$(MSVCVER)" == "4.0"
|
||||
!IF "$(_NMAKE_VER)" == ""
|
||||
.cpp{$(OUTDIR)/}.obj:
|
||||
!ELSE
|
||||
.cpp{$(OUTDIR)/}.obj::
|
||||
|
||||
+13
-3
@@ -1947,6 +1947,7 @@ test1 \
|
||||
test_search_mbyte \
|
||||
test_set \
|
||||
test_signs \
|
||||
test_tagcase \
|
||||
test_textobjects \
|
||||
test_utf8 \
|
||||
test_writefile \
|
||||
@@ -1961,7 +1962,16 @@ test1 \
|
||||
test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
|
||||
test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \
|
||||
test100 test101 test102 test103 test104 test105 test106 test107:
|
||||
cd testdir; rm $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
test_assert \
|
||||
test_sort \
|
||||
test_undolevels \
|
||||
test_alot:
|
||||
cd testdir; rm -f $@.res; $(MAKE) -f Makefile $@.res VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
newtests:
|
||||
cd testdir; rm -f $@.res; $(MAKE) -f Makefile newtests VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
testclean:
|
||||
cd testdir; $(MAKE) -f Makefile clean
|
||||
@@ -2934,7 +2944,7 @@ RELEASEDIR = MacVim/build/Release
|
||||
DMGDIR = MacVim/build/dmg
|
||||
|
||||
macvim: $(VIMTARGET)
|
||||
xcodebuild -project MacVim/MacVim.xcodeproj $(XCODEFLAGS)
|
||||
xcodebuild -project MacVim/$(XCODEPROJ) $(XCODEFLAGS)
|
||||
|
||||
macvim-dmg: macvim
|
||||
mkdir -p $(DMGDIR)
|
||||
@@ -2954,7 +2964,7 @@ macvim-dmg: macvim
|
||||
|
||||
macvimclean:
|
||||
if test -d MacVim; then \
|
||||
xcodebuild -project MacVim/MacVim.xcodeproj clean; \
|
||||
rm -rf MacVim/build xxd/xxd.dSYM; \
|
||||
fi
|
||||
|
||||
|
||||
|
||||
Vendored
+25
-17
@@ -623,6 +623,7 @@ ac_subst_vars='LTLIBOBJS
|
||||
LIBOBJS
|
||||
LINK_AS_NEEDED
|
||||
DEPEND_CFLAGS_FILTER
|
||||
XCODEPROJ
|
||||
XCODEFLAGS
|
||||
MAKEMO
|
||||
MSGFMT
|
||||
@@ -4193,7 +4194,7 @@ if test "${with_developer_dir+set}" = set; then :
|
||||
withval=$with_developer_dir; DEVELOPER_DIR="$withval"; { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DEVELOPER_DIR" >&5
|
||||
$as_echo "$DEVELOPER_DIR" >&6; }
|
||||
else
|
||||
DEVELOPER_DIR=""; { $as_echo "$as_me:${as_lineno-$LINENO}: result: not present" >&5
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not present" >&5
|
||||
$as_echo "not present" >&6; }
|
||||
fi
|
||||
|
||||
@@ -4301,7 +4302,7 @@ rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
else
|
||||
if test -z "$MACOSX_DEPLOYMENT_TARGET"; then
|
||||
macosx_deployment_target=`/usr/bin/sw_vers -productVersion`
|
||||
macosx_deployment_target=`/usr/bin/sw_vers -productVersion|/usr/bin/sed -e 's/^\([0-9]*\.[0-9]*\).*/\1/'`
|
||||
XCODEFLAGS="$XCODEFLAGS MACOSX_DEPLOYMENT_TARGET=$macosx_deployment_target"
|
||||
fi
|
||||
fi
|
||||
@@ -5063,7 +5064,7 @@ $as_echo "$vi_cv_version_plain_lua" >&6; }
|
||||
if test "x$vi_cv_with_luajit" != "xno" && test "X$vi_cv_version_luajit" != "X"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit" >&5
|
||||
$as_echo_n "checking if lua.h can be found in $vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit... " >&6; }
|
||||
if test -f $vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit/lua.h; then
|
||||
if test -f "$vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit/lua.h"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
LUA_INC=/luajit-$vi_cv_version_luajit
|
||||
@@ -5072,7 +5073,7 @@ $as_echo "yes" >&6; }
|
||||
if test "X$LUA_INC" = "X"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $vi_cv_path_lua_pfx/include" >&5
|
||||
$as_echo_n "checking if lua.h can be found in $vi_cv_path_lua_pfx/include... " >&6; }
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua.h; then
|
||||
if test -f "$vi_cv_path_lua_pfx/include/lua.h"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
else
|
||||
@@ -5080,7 +5081,7 @@ $as_echo "yes" >&6; }
|
||||
$as_echo "no" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua" >&5
|
||||
$as_echo_n "checking if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua... " >&6; }
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua/lua.h; then
|
||||
if test -f "$vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua/lua.h"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
LUA_INC=/lua$vi_cv_version_lua
|
||||
@@ -5331,7 +5332,7 @@ $as_echo "$vi_cv_path_mzscheme_pfx" >&6; }
|
||||
if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include" >&5
|
||||
$as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include... " >&6; }
|
||||
if test -f $vi_cv_path_mzscheme_pfx/include/scheme.h; then
|
||||
if test -f "$vi_cv_path_mzscheme_pfx/include/scheme.h"; then
|
||||
SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
@@ -5340,7 +5341,7 @@ $as_echo "yes" >&6; }
|
||||
$as_echo "no" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/plt" >&5
|
||||
$as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/plt... " >&6; }
|
||||
if test -f $vi_cv_path_mzscheme_pfx/include/plt/scheme.h; then
|
||||
if test -f "$vi_cv_path_mzscheme_pfx/include/plt/scheme.h"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/plt
|
||||
@@ -5349,7 +5350,7 @@ $as_echo "yes" >&6; }
|
||||
$as_echo "no" >&6; }
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket" >&5
|
||||
$as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket... " >&6; }
|
||||
if test -f $vi_cv_path_mzscheme_pfx/include/racket/scheme.h; then
|
||||
if test -f "$vi_cv_path_mzscheme_pfx/include/racket/scheme.h"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/racket
|
||||
@@ -5418,16 +5419,16 @@ $as_echo "no" >&6; }
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for racket collects directory" >&5
|
||||
$as_echo_n "checking for racket collects directory... " >&6; }
|
||||
if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
|
||||
if test -d "$vi_cv_path_mzscheme_pfx/lib/plt/collects"; then
|
||||
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/lib/plt/
|
||||
else
|
||||
if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then
|
||||
if test -d "$vi_cv_path_mzscheme_pfx/lib/racket/collects"; then
|
||||
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/lib/racket/
|
||||
else
|
||||
if test -d $vi_cv_path_mzscheme_pfx/share/racket/collects; then
|
||||
if test -d "$vi_cv_path_mzscheme_pfx/share/racket/collects"; then
|
||||
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/share/racket/
|
||||
else
|
||||
if test -d $vi_cv_path_mzscheme_pfx/collects; then
|
||||
if test -d "$vi_cv_path_mzscheme_pfx/collects"; then
|
||||
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/
|
||||
fi
|
||||
fi
|
||||
@@ -6911,7 +6912,7 @@ fi
|
||||
if test "X$vi_cv_path_tcl" != "X"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Tcl version" >&5
|
||||
$as_echo_n "checking Tcl version... " >&6; }
|
||||
if echo 'exit [expr [info tclversion] < 8.0]' | $vi_cv_path_tcl - ; then
|
||||
if echo 'exit [expr [info tclversion] < 8.0]' | "$vi_cv_path_tcl" - ; then
|
||||
tclver=`echo 'puts [info tclversion]' | $vi_cv_path_tcl -`
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tclver - OK" >&5
|
||||
$as_echo "$tclver - OK" >&6; };
|
||||
@@ -6948,10 +6949,10 @@ $as_echo_n "checking for location of tclConfig.sh script... " >&6; }
|
||||
tclcnf="/System/Library/Frameworks/Tcl.framework"
|
||||
fi
|
||||
for try in $tclcnf; do
|
||||
if test -f $try/tclConfig.sh; then
|
||||
if test -f "$try/tclConfig.sh"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $try/tclConfig.sh" >&5
|
||||
$as_echo "$try/tclConfig.sh" >&6; }
|
||||
. $try/tclConfig.sh
|
||||
. "$try/tclConfig.sh"
|
||||
TCL_LIBS=`eval echo "$TCL_LIB_SPEC $TCL_LIBS"`
|
||||
TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\\\\ /\\\\X/g' | tr ' ' '\012' | sed -e '/^[^-]/d' -e '/^-[^D]/d' -e '/-D[^_]/d' -e 's/-D_/ -D_/' | tr '\012' ' ' | sed -e 's/\\\\X/\\\\ /g'`
|
||||
break
|
||||
@@ -6968,10 +6969,10 @@ $as_echo_n "checking for Tcl library by myself... " >&6; }
|
||||
for ver in "" $tclver ; do
|
||||
for try in $tcllib ; do
|
||||
trylib=tcl$ver$ext
|
||||
if test -f $try/lib$trylib ; then
|
||||
if test -f "$try/lib$trylib" ; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $try/lib$trylib" >&5
|
||||
$as_echo "$try/lib$trylib" >&6; }
|
||||
TCL_LIBS="-L$try -ltcl$ver -ldl -lm"
|
||||
TCL_LIBS="-L\"$try\" -ltcl$ver -ldl -lm"
|
||||
if test "`(uname) 2>/dev/null`" = SunOS &&
|
||||
uname -r | grep '^5' >/dev/null; then
|
||||
TCL_LIBS="$TCL_LIBS -R $try"
|
||||
@@ -13470,6 +13471,13 @@ fi
|
||||
|
||||
|
||||
|
||||
|
||||
macosx_version=`/usr/bin/sw_vers -productVersion|/usr/bin/sed -e 's/^\([0-9]*\.[0-9]*\).*/\1/'`
|
||||
case "$macosx_version" in
|
||||
10.4|10.5) XCODEPROJ="MacVim_legacy.xcodeproj";;
|
||||
*) XCODEPROJ="MacVim.xcodeproj";;
|
||||
esac
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
@@ -1995,6 +1995,7 @@ free_buf_options(buf, free_p_ff)
|
||||
clear_string_option(&buf->b_p_ep);
|
||||
clear_string_option(&buf->b_p_path);
|
||||
clear_string_option(&buf->b_p_tags);
|
||||
clear_string_option(&buf->b_p_tc);
|
||||
#ifdef FEAT_INS_EXPAND
|
||||
clear_string_option(&buf->b_p_dict);
|
||||
clear_string_option(&buf->b_p_tsr);
|
||||
|
||||
@@ -21,6 +21,7 @@ CC = @CC@
|
||||
DEFS = @DEFS@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
XCODEPROJ = @XCODEPROJ@
|
||||
XCODEFLAGS = @XCODEFLAGS@
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
+24
-17
@@ -148,7 +148,7 @@ if test "`(uname) 2>/dev/null`" = Darwin; then
|
||||
AC_MSG_CHECKING(--with-developer-dir argument)
|
||||
AC_ARG_WITH(developer-dir, [ --with-developer-dir=PATH use PATH as location for Xcode developer tools],
|
||||
DEVELOPER_DIR="$withval"; AC_MSG_RESULT($DEVELOPER_DIR),
|
||||
DEVELOPER_DIR=""; AC_MSG_RESULT(not present))
|
||||
AC_MSG_RESULT(not present))
|
||||
|
||||
if test "x$DEVELOPER_DIR" = "x"; then
|
||||
AC_PATH_PROG(XCODE_SELECT, xcode-select)
|
||||
@@ -189,7 +189,7 @@ if test "`(uname) 2>/dev/null`" = Darwin; then
|
||||
LDFLAGS="$save_ldflags" ])
|
||||
else
|
||||
if test -z "$MACOSX_DEPLOYMENT_TARGET"; then
|
||||
macosx_deployment_target=`/usr/bin/sw_vers -productVersion`
|
||||
macosx_deployment_target=`/usr/bin/sw_vers -productVersion|/usr/bin/sed -e 's/^\([[0-9]]*\.[[0-9]]*\).*/\1/'`
|
||||
XCODEFLAGS="$XCODEFLAGS MACOSX_DEPLOYMENT_TARGET=$macosx_deployment_target"
|
||||
fi
|
||||
fi
|
||||
@@ -565,19 +565,19 @@ if test "$enable_luainterp" = "yes" -o "$enable_luainterp" = "dynamic"; then
|
||||
fi
|
||||
if test "x$vi_cv_with_luajit" != "xno" && test "X$vi_cv_version_luajit" != "X"; then
|
||||
AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit)
|
||||
if test -f $vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit/lua.h; then
|
||||
if test -f "$vi_cv_path_lua_pfx/include/luajit-$vi_cv_version_luajit/lua.h"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
LUA_INC=/luajit-$vi_cv_version_luajit
|
||||
fi
|
||||
fi
|
||||
if test "X$LUA_INC" = "X"; then
|
||||
AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include)
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua.h; then
|
||||
if test -f "$vi_cv_path_lua_pfx/include/lua.h"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_CHECKING(if lua.h can be found in $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua)
|
||||
if test -f $vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua/lua.h; then
|
||||
if test -f "$vi_cv_path_lua_pfx/include/lua$vi_cv_version_lua/lua.h"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
LUA_INC=/lua$vi_cv_version_lua
|
||||
else
|
||||
@@ -753,19 +753,19 @@ if test "$enable_mzschemeinterp" = "yes"; then
|
||||
SCHEME_INC=
|
||||
if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
|
||||
AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include)
|
||||
if test -f $vi_cv_path_mzscheme_pfx/include/scheme.h; then
|
||||
if test -f "$vi_cv_path_mzscheme_pfx/include/scheme.h"; then
|
||||
SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include
|
||||
AC_MSG_RESULT(yes)
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/plt)
|
||||
if test -f $vi_cv_path_mzscheme_pfx/include/plt/scheme.h; then
|
||||
if test -f "$vi_cv_path_mzscheme_pfx/include/plt/scheme.h"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/plt
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_CHECKING(if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include/racket)
|
||||
if test -f $vi_cv_path_mzscheme_pfx/include/racket/scheme.h; then
|
||||
if test -f "$vi_cv_path_mzscheme_pfx/include/racket/scheme.h"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
SCHEME_INC=${vi_cv_path_mzscheme_pfx}/include/racket
|
||||
else
|
||||
@@ -828,16 +828,16 @@ if test "$enable_mzschemeinterp" = "yes"; then
|
||||
fi
|
||||
|
||||
AC_MSG_CHECKING(for racket collects directory)
|
||||
if test -d $vi_cv_path_mzscheme_pfx/lib/plt/collects; then
|
||||
if test -d "$vi_cv_path_mzscheme_pfx/lib/plt/collects"; then
|
||||
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/lib/plt/
|
||||
else
|
||||
if test -d $vi_cv_path_mzscheme_pfx/lib/racket/collects; then
|
||||
if test -d "$vi_cv_path_mzscheme_pfx/lib/racket/collects"; then
|
||||
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/lib/racket/
|
||||
else
|
||||
if test -d $vi_cv_path_mzscheme_pfx/share/racket/collects; then
|
||||
if test -d "$vi_cv_path_mzscheme_pfx/share/racket/collects"; then
|
||||
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/share/racket/
|
||||
else
|
||||
if test -d $vi_cv_path_mzscheme_pfx/collects; then
|
||||
if test -d "$vi_cv_path_mzscheme_pfx/collects"; then
|
||||
SCHEME_COLLECTS=$vi_cv_path_mzscheme_pfx/
|
||||
fi
|
||||
fi
|
||||
@@ -1698,7 +1698,7 @@ if test "$enable_tclinterp" = "yes"; then
|
||||
fi
|
||||
if test "X$vi_cv_path_tcl" != "X"; then
|
||||
AC_MSG_CHECKING(Tcl version)
|
||||
if echo 'exit [[expr [info tclversion] < 8.0]]' | $vi_cv_path_tcl - ; then
|
||||
if echo 'exit [[expr [info tclversion] < 8.0]]' | "$vi_cv_path_tcl" - ; then
|
||||
tclver=`echo 'puts [[info tclversion]]' | $vi_cv_path_tcl -`
|
||||
AC_MSG_RESULT($tclver - OK);
|
||||
tclloc=`echo 'set l [[info library]];set i [[string last lib $l]];incr i -2;puts [[string range $l 0 $i]]' | $vi_cv_path_tcl -`
|
||||
@@ -1732,9 +1732,9 @@ if test "$enable_tclinterp" = "yes"; then
|
||||
tclcnf="/System/Library/Frameworks/Tcl.framework"
|
||||
fi
|
||||
for try in $tclcnf; do
|
||||
if test -f $try/tclConfig.sh; then
|
||||
if test -f "$try/tclConfig.sh"; then
|
||||
AC_MSG_RESULT($try/tclConfig.sh)
|
||||
. $try/tclConfig.sh
|
||||
. "$try/tclConfig.sh"
|
||||
dnl use eval, because tcl 8.2 includes ${TCL_DBGX}
|
||||
TCL_LIBS=`eval echo "$TCL_LIB_SPEC $TCL_LIBS"`
|
||||
dnl Use $TCL_DEFS for -D_THREAD_SAFE et al. But only use the
|
||||
@@ -1752,9 +1752,9 @@ if test "$enable_tclinterp" = "yes"; then
|
||||
for ver in "" $tclver ; do
|
||||
for try in $tcllib ; do
|
||||
trylib=tcl$ver$ext
|
||||
if test -f $try/lib$trylib ; then
|
||||
if test -f "$try/lib$trylib" ; then
|
||||
AC_MSG_RESULT($try/lib$trylib)
|
||||
TCL_LIBS="-L$try -ltcl$ver -ldl -lm"
|
||||
TCL_LIBS="-L\"$try\" -ltcl$ver -ldl -lm"
|
||||
if test "`(uname) 2>/dev/null`" = SunOS &&
|
||||
uname -r | grep '^5' >/dev/null; then
|
||||
TCL_LIBS="$TCL_LIBS -R $try"
|
||||
@@ -4079,6 +4079,13 @@ if test "x$MACOSX" = "xyes"; then
|
||||
[ AC_MSG_RESULT(using default) ])
|
||||
|
||||
AC_SUBST(XCODEFLAGS)
|
||||
|
||||
macosx_version=`/usr/bin/sw_vers -productVersion|/usr/bin/sed -e 's/^\([[0-9]]*\.[[0-9]]*\).*/\1/'`
|
||||
case "$macosx_version" in
|
||||
10.4|10.5) XCODEPROJ="MacVim_legacy.xcodeproj";;
|
||||
*) XCODEPROJ="MacVim.xcodeproj";;
|
||||
esac
|
||||
AC_SUBST(XCODEPROJ)
|
||||
fi
|
||||
|
||||
|
||||
|
||||
+162
@@ -368,6 +368,7 @@ static struct vimvar
|
||||
{VV_NAME("option_new", VAR_STRING), VV_RO},
|
||||
{VV_NAME("option_old", VAR_STRING), VV_RO},
|
||||
{VV_NAME("option_type", VAR_STRING), VV_RO},
|
||||
{VV_NAME("errors", VAR_LIST), 0},
|
||||
};
|
||||
|
||||
/* shorthand */
|
||||
@@ -472,6 +473,9 @@ static void f_argc __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_argidx __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_arglistid __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_argv __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_assert_equal __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_assert_false __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_assert_true __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
#ifdef FEAT_FLOAT
|
||||
static void f_asin __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
static void f_atan __ARGS((typval_T *argvars, typval_T *rettv));
|
||||
@@ -896,6 +900,7 @@ eval_init()
|
||||
set_vim_var_nr(VV_SEARCHFORWARD, 1L);
|
||||
set_vim_var_nr(VV_HLSEARCH, 1L);
|
||||
set_vim_var_dict(VV_COMPLETED_ITEM, dict_alloc());
|
||||
set_vim_var_list(VV_ERRORS, list_alloc());
|
||||
set_reg_var(0); /* default for v:register is not 0 but '"' */
|
||||
|
||||
#ifdef EBCDIC
|
||||
@@ -8069,6 +8074,9 @@ static struct fst
|
||||
{"argidx", 0, 0, f_argidx},
|
||||
{"arglistid", 0, 2, f_arglistid},
|
||||
{"argv", 0, 1, f_argv},
|
||||
{"assert_equal", 2, 3, f_assert_equal},
|
||||
{"assert_false", 1, 2, f_assert_false},
|
||||
{"assert_true", 1, 2, f_assert_true},
|
||||
#ifdef FEAT_FLOAT
|
||||
{"asin", 1, 1, f_asin}, /* WJMc */
|
||||
{"atan", 1, 1, f_atan},
|
||||
@@ -8742,7 +8750,9 @@ call_func(funcname, len, rettv, argcount, argvars, firstline, lastline,
|
||||
* redo buffer.
|
||||
*/
|
||||
save_search_patterns();
|
||||
#ifdef FEAT_INS_EXPAND
|
||||
if (!ins_compl_active())
|
||||
#endif
|
||||
{
|
||||
saveRedobuff();
|
||||
did_save_redo = TRUE;
|
||||
@@ -9125,6 +9135,142 @@ f_argv(argvars, rettv)
|
||||
alist_name(&ARGLIST[idx]), -1);
|
||||
}
|
||||
|
||||
static void prepare_assert_error __ARGS((garray_T*gap));
|
||||
static void fill_assert_error __ARGS((garray_T *gap, typval_T *opt_msg_tv, char_u *exp_str, typval_T *exp_tv, typval_T *got_tv));
|
||||
static void assert_error __ARGS((garray_T *gap));
|
||||
static void assert_bool __ARGS((typval_T *argvars, int isTrue));
|
||||
|
||||
/*
|
||||
* Prepare "gap" for an assert error and add the sourcing position.
|
||||
*/
|
||||
static void
|
||||
prepare_assert_error(gap)
|
||||
garray_T *gap;
|
||||
{
|
||||
char buf[NUMBUFLEN];
|
||||
|
||||
ga_init2(gap, 1, 100);
|
||||
ga_concat(gap, sourcing_name);
|
||||
sprintf(buf, " line %ld", (long)sourcing_lnum);
|
||||
ga_concat(gap, (char_u *)buf);
|
||||
ga_concat(gap, (char_u *)": ");
|
||||
}
|
||||
|
||||
/*
|
||||
* Fill "gap" with information about an assert error.
|
||||
*/
|
||||
static void
|
||||
fill_assert_error(gap, opt_msg_tv, exp_str, exp_tv, got_tv)
|
||||
garray_T *gap;
|
||||
typval_T *opt_msg_tv;
|
||||
char_u *exp_str;
|
||||
typval_T *exp_tv;
|
||||
typval_T *got_tv;
|
||||
{
|
||||
char_u numbuf[NUMBUFLEN];
|
||||
char_u *tofree;
|
||||
|
||||
if (opt_msg_tv->v_type != VAR_UNKNOWN)
|
||||
{
|
||||
ga_concat(gap, tv2string(opt_msg_tv, &tofree, numbuf, 0));
|
||||
vim_free(tofree);
|
||||
}
|
||||
else
|
||||
{
|
||||
ga_concat(gap, (char_u *)"Expected ");
|
||||
if (exp_str == NULL)
|
||||
{
|
||||
ga_concat(gap, tv2string(exp_tv, &tofree, numbuf, 0));
|
||||
vim_free(tofree);
|
||||
}
|
||||
else
|
||||
ga_concat(gap, exp_str);
|
||||
ga_concat(gap, (char_u *)" but got ");
|
||||
ga_concat(gap, tv2string(got_tv, &tofree, numbuf, 0));
|
||||
vim_free(tofree);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Add an assert error to v:errors.
|
||||
*/
|
||||
static void
|
||||
assert_error(gap)
|
||||
garray_T *gap;
|
||||
{
|
||||
struct vimvar *vp = &vimvars[VV_ERRORS];
|
||||
|
||||
if (vp->vv_type != VAR_LIST || vimvars[VV_ERRORS].vv_list == NULL)
|
||||
/* Make sure v:errors is a list. */
|
||||
set_vim_var_list(VV_ERRORS, list_alloc());
|
||||
list_append_string(vimvars[VV_ERRORS].vv_list, gap->ga_data, gap->ga_len);
|
||||
}
|
||||
|
||||
/*
|
||||
* "assert_equal(expected, actual[, msg])" function
|
||||
*/
|
||||
static void
|
||||
f_assert_equal(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *rettv UNUSED;
|
||||
{
|
||||
garray_T ga;
|
||||
|
||||
if (!tv_equal(&argvars[0], &argvars[1], FALSE, FALSE))
|
||||
{
|
||||
prepare_assert_error(&ga);
|
||||
fill_assert_error(&ga, &argvars[2], NULL, &argvars[0], &argvars[1]);
|
||||
assert_error(&ga);
|
||||
ga_clear(&ga);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Common for assert_true() and assert_false().
|
||||
*/
|
||||
static void
|
||||
assert_bool(argvars, isTrue)
|
||||
typval_T *argvars;
|
||||
int isTrue;
|
||||
{
|
||||
int error = FALSE;
|
||||
garray_T ga;
|
||||
|
||||
if (argvars[0].v_type != VAR_NUMBER
|
||||
|| (get_tv_number_chk(&argvars[0], &error) == 0) == isTrue
|
||||
|| error)
|
||||
{
|
||||
prepare_assert_error(&ga);
|
||||
fill_assert_error(&ga, &argvars[1],
|
||||
(char_u *)(isTrue ? "True " : "False "),
|
||||
NULL, &argvars[0]);
|
||||
assert_error(&ga);
|
||||
ga_clear(&ga);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* "assert_false(actual[, msg])" function
|
||||
*/
|
||||
static void
|
||||
f_assert_false(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *rettv UNUSED;
|
||||
{
|
||||
assert_bool(argvars, FALSE);
|
||||
}
|
||||
|
||||
/*
|
||||
* "assert_true(actual[, msg])" function
|
||||
*/
|
||||
static void
|
||||
f_assert_true(argvars, rettv)
|
||||
typval_T *argvars;
|
||||
typval_T *rettv UNUSED;
|
||||
{
|
||||
assert_bool(argvars, TRUE);
|
||||
}
|
||||
|
||||
#ifdef FEAT_FLOAT
|
||||
/*
|
||||
* "asin()" function
|
||||
@@ -17810,6 +17956,7 @@ typedef struct
|
||||
|
||||
static int item_compare_ic;
|
||||
static int item_compare_numeric;
|
||||
static int item_compare_numbers;
|
||||
static char_u *item_compare_func;
|
||||
static dict_T *item_compare_selfdict;
|
||||
static int item_compare_func_err;
|
||||
@@ -17840,6 +17987,15 @@ item_compare(s1, s2)
|
||||
si2 = (sortItem_T *)s2;
|
||||
tv1 = &si1->item->li_tv;
|
||||
tv2 = &si2->item->li_tv;
|
||||
|
||||
if (item_compare_numbers)
|
||||
{
|
||||
long v1 = get_tv_number(tv1);
|
||||
long v2 = get_tv_number(tv2);
|
||||
|
||||
return v1 == v2 ? 0 : v1 > v2 ? 1 : -1;
|
||||
}
|
||||
|
||||
/* tv2string() puts quotes around a string and allocates memory. Don't do
|
||||
* that for string variables. Use a single quote when comparing with a
|
||||
* non-string to do what the docs promise. */
|
||||
@@ -17973,6 +18129,7 @@ do_sort_uniq(argvars, rettv, sort)
|
||||
|
||||
item_compare_ic = FALSE;
|
||||
item_compare_numeric = FALSE;
|
||||
item_compare_numbers = FALSE;
|
||||
item_compare_func = NULL;
|
||||
item_compare_selfdict = NULL;
|
||||
if (argvars[1].v_type != VAR_UNKNOWN)
|
||||
@@ -17998,6 +18155,11 @@ do_sort_uniq(argvars, rettv, sort)
|
||||
item_compare_func = NULL;
|
||||
item_compare_numeric = TRUE;
|
||||
}
|
||||
else if (STRCMP(item_compare_func, "N") == 0)
|
||||
{
|
||||
item_compare_func = NULL;
|
||||
item_compare_numbers = TRUE;
|
||||
}
|
||||
else if (STRCMP(item_compare_func, "i") == 0)
|
||||
{
|
||||
item_compare_func = NULL;
|
||||
|
||||
@@ -6574,6 +6574,7 @@ ex_helptags(eap)
|
||||
if (dirname == NULL || !mch_isdir(dirname))
|
||||
{
|
||||
EMSG2(_("E150: Not a directory: %s"), eap->arg);
|
||||
vim_free(dirname);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -12144,6 +12144,7 @@ ex_match(eap)
|
||||
if (*p == NUL)
|
||||
{
|
||||
/* There must be two arguments. */
|
||||
vim_free(g);
|
||||
EMSG2(_(e_invarg2), eap->arg);
|
||||
return;
|
||||
}
|
||||
@@ -12152,11 +12153,13 @@ ex_match(eap)
|
||||
{
|
||||
if (*end != NUL && !ends_excmd(*skipwhite(end + 1)))
|
||||
{
|
||||
vim_free(g);
|
||||
eap->errmsg = e_trailing;
|
||||
return;
|
||||
}
|
||||
if (*end != *p)
|
||||
{
|
||||
vim_free(g);
|
||||
EMSG2(_(e_invarg2), p);
|
||||
return;
|
||||
}
|
||||
|
||||
+23
-5
@@ -3702,20 +3702,37 @@ ExpandOne(xp, str, orig, options, mode)
|
||||
/* Find longest common part */
|
||||
if (mode == WILD_LONGEST && xp->xp_numfiles > 0)
|
||||
{
|
||||
for (len = 0; xp->xp_files[0][len]; ++len)
|
||||
int mb_len = 1;
|
||||
int c0, ci;
|
||||
|
||||
for (len = 0; xp->xp_files[0][len]; len += mb_len)
|
||||
{
|
||||
for (i = 0; i < xp->xp_numfiles; ++i)
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte)
|
||||
{
|
||||
mb_len = (*mb_ptr2len)(&xp->xp_files[0][len]);
|
||||
c0 =(* mb_ptr2char)(&xp->xp_files[0][len]);
|
||||
}
|
||||
else
|
||||
#endif
|
||||
c0 = xp->xp_files[0][len];
|
||||
for (i = 1; i < xp->xp_numfiles; ++i)
|
||||
{
|
||||
#ifdef FEAT_MBYTE
|
||||
if (has_mbyte)
|
||||
ci =(* mb_ptr2char)(&xp->xp_files[i][len]);
|
||||
else
|
||||
#endif
|
||||
ci = xp->xp_files[i][len];
|
||||
if (p_fic && (xp->xp_context == EXPAND_DIRECTORIES
|
||||
|| xp->xp_context == EXPAND_FILES
|
||||
|| xp->xp_context == EXPAND_SHELLCMD
|
||||
|| xp->xp_context == EXPAND_BUFFERS))
|
||||
{
|
||||
if (TOLOWER_LOC(xp->xp_files[i][len]) !=
|
||||
TOLOWER_LOC(xp->xp_files[0][len]))
|
||||
if (MB_TOLOWER(c0) != MB_TOLOWER(ci))
|
||||
break;
|
||||
}
|
||||
else if (xp->xp_files[i][len] != xp->xp_files[0][len])
|
||||
else if (c0 != ci)
|
||||
break;
|
||||
}
|
||||
if (i < xp->xp_numfiles)
|
||||
@@ -3725,6 +3742,7 @@ ExpandOne(xp, str, orig, options, mode)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
ss = alloc((unsigned)len + 1);
|
||||
if (ss)
|
||||
vim_strncpy(ss, xp->xp_files[0], (size_t)len);
|
||||
|
||||
@@ -681,9 +681,6 @@
|
||||
# define ESC_CHG_TO_ENG_MODE /* if defined, when ESC pressed,
|
||||
* turn to english mode
|
||||
*/
|
||||
# if !defined(FEAT_XFONTSET) && defined(HAVE_X11) && !defined(FEAT_GUI_GTK)
|
||||
# define FEAT_XFONTSET /* Hangul input requires xfontset */
|
||||
# endif
|
||||
# if defined(FEAT_XIM) && !defined(LINT)
|
||||
Error: You should select only ONE of XIM and HANGUL INPUT
|
||||
# endif
|
||||
@@ -691,7 +688,6 @@
|
||||
#if defined(FEAT_HANGULIN) || defined(FEAT_XIM)
|
||||
/* # define X_LOCALE */ /* for OS with incomplete locale
|
||||
support, like old linux versions. */
|
||||
/* # define SLOW_XSERVER */ /* for extremely slow X server */
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
||||
+7
-3
@@ -27,7 +27,7 @@
|
||||
/* Is there any system that doesn't have access()? */
|
||||
#define USE_MCH_ACCESS
|
||||
|
||||
#if defined(sun) && defined(S_ISCHR)
|
||||
#if (defined(sun) || defined(__FreeBSD__)) && defined(S_ISCHR)
|
||||
# define OPEN_CHR_FILES
|
||||
static int is_dev_fd_file(char_u *fname);
|
||||
#endif
|
||||
@@ -7426,10 +7426,12 @@ vim_tempname(extra_char, keep)
|
||||
long off;
|
||||
# endif
|
||||
|
||||
/* expand $TMP, leave room for "/v1100000/999999999" */
|
||||
/* Expand $TMP, leave room for "/v1100000/999999999".
|
||||
* Skip the directory check if the expansion fails. */
|
||||
expand_env((char_u *)tempdirs[i], itmp, TEMPNAMELEN - 20);
|
||||
if (mch_isdir(itmp)) /* directory exists */
|
||||
if (itmp[0] != '$' && mch_isdir(itmp))
|
||||
{
|
||||
/* directory exists */
|
||||
# ifdef __EMX__
|
||||
/* If $TMP contains a forward slash (perhaps using bash or
|
||||
* tcsh), don't add a backslash, use a forward slash!
|
||||
@@ -9488,7 +9490,9 @@ apply_autocmds_group(event, fname, fname_io, force, group, buf, eap)
|
||||
if (!autocmd_busy)
|
||||
{
|
||||
save_search_patterns();
|
||||
#ifdef FEAT_INS_EXPAND
|
||||
if (!ins_compl_active())
|
||||
#endif
|
||||
{
|
||||
saveRedobuff();
|
||||
did_save_redobuff = TRUE;
|
||||
|
||||
@@ -1238,8 +1238,19 @@ gui_update_cursor(force, clear_selection)
|
||||
gui.highlight_mask = (cattr | attr);
|
||||
#ifdef FEAT_HANGULIN
|
||||
if (composing_hangul)
|
||||
(void)gui_outstr_nowrap(composing_hangul_buffer, 2,
|
||||
GUI_MON_IS_CURSOR | GUI_MON_NOCLEAR, cfg, cbg, 0);
|
||||
{
|
||||
char_u *comp_buf;
|
||||
int comp_len;
|
||||
|
||||
comp_buf = hangul_composing_buffer_get(&comp_len);
|
||||
if (comp_buf)
|
||||
{
|
||||
(void)gui_outstr_nowrap(comp_buf, comp_len,
|
||||
GUI_MON_IS_CURSOR | GUI_MON_NOCLEAR,
|
||||
cfg, cbg, 0);
|
||||
vim_free(comp_buf);
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
(void)gui_screenchar(LineOffset[gui.row] + gui.col,
|
||||
@@ -2615,9 +2626,19 @@ gui_undraw_cursor()
|
||||
#ifdef FEAT_HANGULIN
|
||||
if (composing_hangul
|
||||
&& gui.col == gui.cursor_col && gui.row == gui.cursor_row)
|
||||
(void)gui_outstr_nowrap(composing_hangul_buffer, 2,
|
||||
GUI_MON_IS_CURSOR | GUI_MON_NOCLEAR,
|
||||
gui.norm_pixel, gui.back_pixel, 0);
|
||||
{
|
||||
char_u *comp_buf;
|
||||
int comp_len;
|
||||
|
||||
comp_buf = hangul_composing_buffer_get(&comp_len);
|
||||
if (comp_buf)
|
||||
{
|
||||
(void)gui_outstr_nowrap(comp_buf, comp_len,
|
||||
GUI_MON_IS_CURSOR | GUI_MON_NOCLEAR,
|
||||
gui.norm_pixel, gui.back_pixel, 0);
|
||||
vim_free(comp_buf);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
#endif
|
||||
|
||||
+9
-11
@@ -1680,17 +1680,15 @@ button_press_event(GtkWidget *widget,
|
||||
|
||||
switch (event->button)
|
||||
{
|
||||
case 1:
|
||||
button = MOUSE_LEFT;
|
||||
break;
|
||||
case 2:
|
||||
button = MOUSE_MIDDLE;
|
||||
break;
|
||||
case 3:
|
||||
button = MOUSE_RIGHT;
|
||||
break;
|
||||
default:
|
||||
return FALSE; /* Unknown button */
|
||||
/* Keep in sync with gui_x11.c.
|
||||
* Buttons 4-7 are handled in scroll_event() */
|
||||
case 1: button = MOUSE_LEFT; break;
|
||||
case 2: button = MOUSE_MIDDLE; break;
|
||||
case 3: button = MOUSE_RIGHT; break;
|
||||
case 8: button = MOUSE_X1; break;
|
||||
case 9: button = MOUSE_X2; break;
|
||||
default:
|
||||
return FALSE; /* Unknown button */
|
||||
}
|
||||
|
||||
#ifdef FEAT_XIM
|
||||
|
||||
+3
-3
@@ -1661,7 +1661,7 @@ gui_mch_init(void)
|
||||
return FAIL;
|
||||
}
|
||||
s_textArea = CreateWindowEx(
|
||||
WS_EX_CLIENTEDGE,
|
||||
0,
|
||||
szTextAreaClass, "Vim text area",
|
||||
WS_CHILD | WS_VISIBLE, 0, 0,
|
||||
100, /* Any value will do for now */
|
||||
@@ -1716,9 +1716,9 @@ gui_mch_init(void)
|
||||
highlight_gui_started();
|
||||
|
||||
/*
|
||||
* Start out by adding the configured border width into the border offset
|
||||
* Start out by adding the configured border width into the border offset.
|
||||
*/
|
||||
gui.border_offset = gui.border_width + 2; /*CLIENT EDGE*/
|
||||
gui.border_offset = gui.border_width;
|
||||
|
||||
/*
|
||||
* Set up for Intellimouse processing
|
||||
|
||||
@@ -1127,11 +1127,16 @@ gui_x11_mouse_cb(w, dud, event, dum)
|
||||
gui_x11_timer_cb, &timed_out);
|
||||
switch (event->xbutton.button)
|
||||
{
|
||||
/* keep in sync with gui_gtk_x11.c */
|
||||
case Button1: button = MOUSE_LEFT; break;
|
||||
case Button2: button = MOUSE_MIDDLE; break;
|
||||
case Button3: button = MOUSE_RIGHT; break;
|
||||
case Button4: button = MOUSE_4; break;
|
||||
case Button5: button = MOUSE_5; break;
|
||||
case 6: button = MOUSE_7; break;
|
||||
case 7: button = MOUSE_6; break;
|
||||
case 8: button = MOUSE_X1; break;
|
||||
case 9: button = MOUSE_X2; break;
|
||||
default:
|
||||
return; /* Unknown button */
|
||||
}
|
||||
|
||||
+47
-1
@@ -1515,7 +1515,7 @@ convert_ks_to_3(src, fp, mp, lp)
|
||||
int i;
|
||||
|
||||
if ((i = han_index(h, low)) >= 0
|
||||
&& i < sizeof(ks_table1)/sizeof(ks_table1[0]))
|
||||
&& i < (int)(sizeof(ks_table1)/sizeof(ks_table1[0])))
|
||||
{
|
||||
*fp = ks_table1[i][0];
|
||||
*mp = ks_table1[i][1];
|
||||
@@ -1619,3 +1619,49 @@ convert_3_to_ks(fv, mv, lv, des)
|
||||
*des++ = johab_lcon_to_wan[lv];
|
||||
return 8;
|
||||
}
|
||||
|
||||
char_u *
|
||||
hangul_string_convert(buf, p_len)
|
||||
char_u *buf;
|
||||
int *p_len;
|
||||
{
|
||||
char_u *tmpbuf = NULL;
|
||||
vimconv_T vc;
|
||||
|
||||
if (enc_utf8)
|
||||
{
|
||||
vc.vc_type = CONV_NONE;
|
||||
if (convert_setup(&vc, (char_u *)"euc-kr", p_enc) == OK)
|
||||
{
|
||||
tmpbuf = string_convert(&vc, buf, p_len);
|
||||
convert_setup(&vc, NULL, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
return tmpbuf;
|
||||
}
|
||||
|
||||
char_u *
|
||||
hangul_composing_buffer_get(p_len)
|
||||
int *p_len;
|
||||
{
|
||||
char_u *tmpbuf = NULL;
|
||||
|
||||
if (composing_hangul)
|
||||
{
|
||||
int len = 2;
|
||||
|
||||
tmpbuf = hangul_string_convert(composing_hangul_buffer, &len);
|
||||
if (tmpbuf != NULL)
|
||||
{
|
||||
*p_len = len;
|
||||
}
|
||||
else
|
||||
{
|
||||
tmpbuf = vim_strnsave(composing_hangul_buffer, 2);
|
||||
*p_len = 2;
|
||||
}
|
||||
}
|
||||
|
||||
return tmpbuf;
|
||||
}
|
||||
|
||||
+2
-1
@@ -1561,14 +1561,15 @@ luaV_setref (lua_State *L)
|
||||
{
|
||||
tv.v_type = VAR_LIST;
|
||||
tv.vval.v_list = (list_T *) lua_touserdata(L, 4); /* key */
|
||||
abort = set_ref_in_item(&tv, copyID, NULL, NULL);
|
||||
}
|
||||
else if (lua_rawequal(L, -1, 3)) /* dict? */
|
||||
{
|
||||
tv.v_type = VAR_DICT;
|
||||
tv.vval.v_dict = (dict_T *) lua_touserdata(L, 4); /* key */
|
||||
abort = set_ref_in_item(&tv, copyID, NULL, NULL);
|
||||
}
|
||||
lua_pop(L, 2); /* metatable and value */
|
||||
abort = set_ref_in_item(&tv, copyID, NULL, NULL);
|
||||
}
|
||||
lua_pushinteger(L, abort);
|
||||
return 1;
|
||||
|
||||
+6
-4
@@ -476,16 +476,18 @@ AlwaysNone(PyObject *self UNUSED)
|
||||
AlwaysFalse(PyObject *self UNUSED)
|
||||
{
|
||||
/* do nothing */
|
||||
Py_INCREF(Py_False);
|
||||
return Py_False;
|
||||
PyObject *ret = Py_False;
|
||||
Py_INCREF(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static PyObject *
|
||||
AlwaysTrue(PyObject *self UNUSED)
|
||||
{
|
||||
/* do nothing */
|
||||
Py_INCREF(Py_True);
|
||||
return Py_True;
|
||||
PyObject *ret = Py_True;
|
||||
Py_INCREF(ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
/***************/
|
||||
|
||||
+4
-1
@@ -932,7 +932,10 @@ Python_Init(void)
|
||||
#endif
|
||||
|
||||
#ifdef PYTHON_HOME
|
||||
Py_SetPythonHome(PYTHON_HOME);
|
||||
# ifdef DYNAMIC_PYTHON
|
||||
if (mch_getenv((char_u *)"PYTHONHOME") == NULL)
|
||||
# endif
|
||||
Py_SetPythonHome(PYTHON_HOME);
|
||||
#endif
|
||||
|
||||
init_structs();
|
||||
|
||||
+4
-1
@@ -858,7 +858,10 @@ Python3_Init(void)
|
||||
|
||||
|
||||
#ifdef PYTHON3_HOME
|
||||
Py_SetPythonHome(PYTHON3_HOME);
|
||||
# ifdef DYNAMIC_PYTHON3
|
||||
if (mch_getenv((char_u *)"PYTHONHOME") == NULL)
|
||||
# endif
|
||||
Py_SetPythonHome(PYTHON3_HOME);
|
||||
#endif
|
||||
|
||||
PyImport_AppendInittab("vim", Py3Init_vim);
|
||||
|
||||
+4
-4
@@ -288,7 +288,7 @@ static void ruby_vim_init(void);
|
||||
# define rb_enc_str_new dll_rb_enc_str_new
|
||||
# define rb_sprintf dll_rb_sprintf
|
||||
# define rb_require dll_rb_require
|
||||
# define ruby_process_options dll_ruby_process_options
|
||||
# define ruby_options dll_ruby_options
|
||||
# endif
|
||||
|
||||
/*
|
||||
@@ -392,7 +392,7 @@ static rb_encoding* (*dll_rb_enc_find) (const char*);
|
||||
static VALUE (*dll_rb_enc_str_new) (const char*, long, rb_encoding*);
|
||||
static VALUE (*dll_rb_sprintf) (const char*, ...);
|
||||
static VALUE (*dll_rb_require) (const char*);
|
||||
static void* (*ruby_process_options)(int, char**);
|
||||
static void* (*ruby_options)(int, char**);
|
||||
# endif
|
||||
|
||||
# if defined(USE_RGENGC) && USE_RGENGC
|
||||
@@ -573,7 +573,7 @@ static struct
|
||||
{"rb_enc_str_new", (RUBY_PROC*)&dll_rb_enc_str_new},
|
||||
{"rb_sprintf", (RUBY_PROC*)&dll_rb_sprintf},
|
||||
{"rb_require", (RUBY_PROC*)&dll_rb_require},
|
||||
{"ruby_process_options", (RUBY_PROC*)&dll_ruby_process_options},
|
||||
{"ruby_options", (RUBY_PROC*)&dll_ruby_options},
|
||||
# endif
|
||||
# if defined(RUBY19_OR_LATER) || defined(RUBY_INIT_STACK)
|
||||
# ifdef __ia64
|
||||
@@ -825,7 +825,7 @@ static int ensure_ruby_initialized(void)
|
||||
{
|
||||
int dummy_argc = 2;
|
||||
char *dummy_argv[] = {"vim-ruby", "-e0"};
|
||||
ruby_process_options(dummy_argc, dummy_argv);
|
||||
ruby_options(dummy_argc, dummy_argv);
|
||||
}
|
||||
ruby_script("vim-ruby");
|
||||
#else
|
||||
|
||||
+11
-7
@@ -1244,8 +1244,16 @@ utf_char2cells(c)
|
||||
static struct interval doublewidth[] =
|
||||
{
|
||||
{0x1100, 0x115f},
|
||||
{0x2329, 0x232a},
|
||||
{0x2e80, 0x2e99},
|
||||
{0x2300, 0x23ff},
|
||||
{0x2700, 0x2757},
|
||||
{0x275d, 0x2767},
|
||||
{0x2776, 0x27bf},
|
||||
{0x2b00, 0x2b1c},
|
||||
{0x2b1f, 0x2b29},
|
||||
{0x2b2c, 0x2b2d},
|
||||
{0x2b30, 0x2b55},
|
||||
{0x2b90, 0x2b91},
|
||||
{0x2e00, 0x2e99},
|
||||
{0x2e9b, 0x2ef3},
|
||||
{0x2f00, 0x2fd5},
|
||||
{0x2ff0, 0x2ffb},
|
||||
@@ -1271,11 +1279,7 @@ utf_char2cells(c)
|
||||
{0xfe68, 0xfe6b},
|
||||
{0xff01, 0xff60},
|
||||
{0xffe0, 0xffe6},
|
||||
{0x1b000, 0x1b001},
|
||||
{0x1f200, 0x1f202},
|
||||
{0x1f210, 0x1f23a},
|
||||
{0x1f240, 0x1f248},
|
||||
{0x1f250, 0x1f251},
|
||||
{0x10000, 0x1fffd},
|
||||
{0x20000, 0x2fffd},
|
||||
{0x30000, 0x3fffd}
|
||||
};
|
||||
|
||||
+13
@@ -6256,6 +6256,19 @@ cin_isfuncdecl(sp, first_lnum, min_lnum)
|
||||
{
|
||||
if (cin_iscomment(s)) /* ignore comments */
|
||||
s = cin_skipcomment(s);
|
||||
else if (*s == ':')
|
||||
{
|
||||
if (*(s + 1) == ':')
|
||||
s += 2;
|
||||
else
|
||||
/* To avoid a mistake in the following situation:
|
||||
* A::A(int a, int b)
|
||||
* : a(0) // <--not a function decl
|
||||
* , b(0)
|
||||
* {...
|
||||
*/
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
++s;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user