Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e3303cb081 | ||
|
|
96c664af27 | ||
|
|
86e179dbe7 | ||
|
|
cc7ff3fcd8 | ||
|
|
08b7bae91a | ||
|
|
7b5f0a15bc | ||
|
|
604619784c | ||
|
|
f49e240c2d | ||
|
|
c06624661a | ||
|
|
b8cb643eab | ||
|
|
f9c8bd2137 | ||
|
|
4c7bb12c82 | ||
|
|
256972a984 | ||
|
|
e292d80bed | ||
|
|
36e294c00c | ||
|
|
4e5a31c8b3 | ||
|
|
52f6ae1366 | ||
|
|
013806229a | ||
|
|
096c8bb40d | ||
|
|
e5c5f0c66c | ||
|
|
0107f5ba87 | ||
|
|
40bbceee22 | ||
|
|
0d27f64f71 | ||
|
|
da9888a3f0 | ||
|
|
f2f6d29796 | ||
|
|
ad4d8a192a | ||
|
|
a60824308c | ||
|
|
7b6156f4cd | ||
|
|
4686b323e4 | ||
|
|
57d7971b5f | ||
|
|
4a8c2cfc56 | ||
|
|
c42b9c670e |
2
.gitignore
vendored
@@ -3,6 +3,8 @@
|
||||
src/vim
|
||||
src/xxd/xxd
|
||||
src/auto/if_perl.c
|
||||
src/auto/gui_gtk_gresources.c
|
||||
src/auto/gui_gtk_gresources.h
|
||||
src/tags
|
||||
|
||||
# We do need src/auto/configure.
|
||||
|
||||
18
.travis.yml
@@ -5,10 +5,12 @@ compiler:
|
||||
- gcc
|
||||
|
||||
env:
|
||||
- COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge
|
||||
- COVERAGE=yes CFLAGS=--coverage LDFLAGS=--coverage FEATURES=huge SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow
|
||||
"CONFOPT='--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp'"
|
||||
- COVERAGE=no FEATURES=small CONFOPT=
|
||||
- COVERAGE=no FEATURES=tiny CONFOPT=
|
||||
CHECK_AUTOCONF=yes
|
||||
- COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
- COVERAGE=no FEATURES=small CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
- COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
|
||||
sudo: false
|
||||
|
||||
@@ -19,6 +21,7 @@ branches:
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- autoconf
|
||||
- lcov
|
||||
- libperl-dev
|
||||
- python-dev
|
||||
@@ -31,11 +34,12 @@ before_install:
|
||||
|
||||
script:
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
- ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && make -j$NPROC
|
||||
- ./src/vim --version
|
||||
- make test
|
||||
- if [ "$CHECK_AUTOCONF" = "yes" -a "$CC" = "gcc" ]; then make -C src autoconf; fi
|
||||
- if [ "x$SHADOWOPT" != x ]; then make -C src shadow; fi && (cd ${SRCDIR} && ./configure --with-features=$FEATURES $CONFOPT --enable-fail-if-missing && make -j$NPROC)
|
||||
- ${SRCDIR}/vim --version
|
||||
- make $SHADOWOPT test
|
||||
|
||||
after_success:
|
||||
- if [ x"$COVERAGE" = "xyes" ]; then ~/.local/bin/coveralls -b src -x .xs -e src/xxd -e src/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
|
||||
- if [ x"$COVERAGE" = "xyes" ]; then ~/.local/bin/coveralls -b $SRCDIR -x .xs -e ${SRCDIR}/xxd -e ${SRCDIR}/if_perl.c --encodings utf-8 latin-1 EUC-KR; fi
|
||||
|
||||
# vim:set sts=2 sw=2 tw=0 et:
|
||||
|
||||
4
Filelist
@@ -85,6 +85,7 @@ SRC_ALL = \
|
||||
src/main.aap \
|
||||
src/testdir/main.aap \
|
||||
src/testdir/README.txt \
|
||||
src/testdir/Make_all.mak \
|
||||
src/testdir/*.in \
|
||||
src/testdir/sautest/autoload/*.vim \
|
||||
src/testdir/runtest.vim \
|
||||
@@ -169,6 +170,7 @@ SRC_UNIX = \
|
||||
README_src.txt \
|
||||
configure \
|
||||
pixmaps/*.xpm \
|
||||
pixmaps/*.png \
|
||||
pixmaps/gen-inline-pixbufs.sh \
|
||||
pixmaps/stock_icons.h \
|
||||
src/INSTALL \
|
||||
@@ -189,6 +191,7 @@ SRC_UNIX = \
|
||||
src/gui_gtk_f.c \
|
||||
src/gui_gtk_f.h \
|
||||
src/gui_gtk_x11.c \
|
||||
src/gui_gtk_gresources.xml \
|
||||
src/gui_motif.c \
|
||||
src/gui_xmdlg.c \
|
||||
src/gui_xmebw.c \
|
||||
@@ -214,6 +217,7 @@ SRC_UNIX = \
|
||||
src/proto/gui_athena.pro \
|
||||
src/proto/gui_gtk.pro \
|
||||
src/proto/gui_gtk_x11.pro \
|
||||
src/proto/gui_gtk_gresources.pro \
|
||||
src/proto/gui_motif.pro \
|
||||
src/proto/gui_xmdlg.pro \
|
||||
src/proto/gui_x11.pro \
|
||||
|
||||
15
Makefile
@@ -143,18 +143,31 @@ MINOR = 4
|
||||
# For Windows 98/ME the 2003 version is required, but then the executable
|
||||
# won't work on Windows 7 and 64 bit systems.
|
||||
# - "nmake -f Make_mvc.mak" (use the same path as for vcvars32.bat)
|
||||
# - "rm testdir/*.out", "nmake -f Make_mvc.mak test" and check the output.
|
||||
# - Run the tests:
|
||||
# > rm testdir/*.out
|
||||
# > nmake -f Make_mvc.mak test
|
||||
# - check the output.
|
||||
# - Rename vim.exe to vimw32.exe, xxd/xxd.exe to xxdw32.exe.
|
||||
# - Rename vim.pdb to vimw32.pdb.
|
||||
# - Rename install.exe to installw32.exe and uninstal.exe to uninstalw32.exe.
|
||||
# Win32 GUI version:
|
||||
# - "nmake -f Make_mvc.mak GUI=yes"
|
||||
# - Run the tests:
|
||||
# > cd testdir
|
||||
# > rm *.out
|
||||
# > nmake -f Make_dos.mak VIMPROG=..\gvim
|
||||
# - check the output.
|
||||
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
|
||||
# - Move gvim.pdb to here.
|
||||
# - Delete vimrun.exe, install.exe and uninstal.exe.
|
||||
# - Copy "GvimExt/gvimext.dll" to here.
|
||||
# Win32 GUI version with OLE, PERL, TCL, PYTHON and dynamic IME:
|
||||
# - Run src/bigvim.bat ("nmake -f Make_mvc.mak GUI=yes OLE=yes IME=yes ...)
|
||||
# - Run the tests:
|
||||
# > cd testdir
|
||||
# > rm *.out
|
||||
# > nmake -f Make_dos.mak VIMPROG=..\gvim
|
||||
# - check the output.
|
||||
# - Rename "gvim.exe" to "gvim_ole.exe".
|
||||
# - Rename gvim.pdb to "gvim_ole.pdb".
|
||||
# - Delete install.exe and uninstal.exe.
|
||||
|
||||
@@ -4,6 +4,9 @@ skip_tags: true
|
||||
|
||||
before_build:
|
||||
- '"C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x64 /release'
|
||||
# Work around for Python 2.7.11's bug
|
||||
- reg copy HKLM\SOFTWARE\Python\PythonCore\2.7 HKLM\SOFTWARE\Python\PythonCore\2.7-32 /s /reg:32
|
||||
- reg copy HKLM\SOFTWARE\Python\PythonCore\2.7 HKLM\SOFTWARE\Python\PythonCore\2.7-32 /s /reg:64
|
||||
|
||||
build_script:
|
||||
- cd src
|
||||
|
||||
BIN
pixmaps/stock_vim_build_tags.png
Normal file
|
After Width: | Height: | Size: 439 B |
BIN
pixmaps/stock_vim_find_help.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
pixmaps/stock_vim_save_all.png
Normal file
|
After Width: | Height: | Size: 1021 B |
BIN
pixmaps/stock_vim_session_load.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
pixmaps/stock_vim_session_new.png
Normal file
|
After Width: | Height: | Size: 1.0 KiB |
BIN
pixmaps/stock_vim_session_save.png
Normal file
|
After Width: | Height: | Size: 1.3 KiB |
BIN
pixmaps/stock_vim_shell.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
BIN
pixmaps/stock_vim_window_maximize.png
Normal file
|
After Width: | Height: | Size: 540 B |
BIN
pixmaps/stock_vim_window_maximize_width.png
Normal file
|
After Width: | Height: | Size: 514 B |
BIN
pixmaps/stock_vim_window_minimize.png
Normal file
|
After Width: | Height: | Size: 352 B |
BIN
pixmaps/stock_vim_window_minimize_width.png
Normal file
|
After Width: | Height: | Size: 369 B |
BIN
pixmaps/stock_vim_window_split.png
Normal file
|
After Width: | Height: | Size: 246 B |
BIN
pixmaps/stock_vim_window_split_vertical.png
Normal file
|
After Width: | Height: | Size: 196 B |
@@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2015 Aug 18
|
||||
*autocmd.txt* For Vim version 7.4. Last change: 2015 Dec 05
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1131,6 +1131,9 @@ name!
|
||||
:aug[roup] {name} Define the autocmd group name for the
|
||||
following ":autocmd" commands. The name "end"
|
||||
or "END" selects the default group.
|
||||
To avoid confusion, the name should be
|
||||
different from existing {event} names, as this
|
||||
most likely will not do what you intended.
|
||||
|
||||
*:augroup-delete* *E367*
|
||||
:aug[roup]! {name} Delete the autocmd group {name}. Don't use
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 7.4. Last change: 2015 Sep 25
|
||||
*cmdline.txt* For Vim version 7.4. Last change: 2015 Dec 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -101,6 +101,11 @@ CTRL-E or <End> *c_CTRL-E* *c_<End>* *c_End*
|
||||
*c_<LeftMouse>*
|
||||
<LeftMouse> Move the cursor to the position of the mouse click.
|
||||
|
||||
*c_<MiddleMouse>*
|
||||
<MiddleMouse> Paste the contents of the clipboard (for X11 the primary
|
||||
selection). This is similar to using CTRL-R *, but no CR
|
||||
characters are inserted between lines.
|
||||
|
||||
CTRL-H *c_<BS>* *c_CTRL-H* *c_BS*
|
||||
<BS> Delete the character in front of the cursor (see |:fixdel| if
|
||||
your <BS> key does not do what you want).
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 7.4. Last change: 2015 Dec 03
|
||||
*eval.txt* For Vim version 7.4. Last change: 2015 Dec 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -865,8 +865,8 @@ expr1'th single byte from expr8. expr8 is used as a String, expr1 as a
|
||||
Number. This doesn't recognize multi-byte encodings, see |byteidx()| for
|
||||
an alternative.
|
||||
|
||||
Index zero gives the first character. This is like it works in C. Careful:
|
||||
text column numbers start with one! Example, to get the character under the
|
||||
Index zero gives the first byte. This is like it works in C. Careful:
|
||||
text column numbers start with one! Example, to get the byte under the
|
||||
cursor: >
|
||||
:let c = getline(".")[col(".") - 1]
|
||||
|
||||
@@ -5228,14 +5228,15 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
|
||||
move. No error message is given.
|
||||
|
||||
{flags} is a String, which can contain these character flags:
|
||||
'b' search backward instead of forward
|
||||
'c' accept a match at the cursor position
|
||||
'b' search Backward instead of forward
|
||||
'c' accept a match at the Cursor position
|
||||
'e' move to the End of the match
|
||||
'n' do Not move the cursor
|
||||
'p' return number of matching sub-pattern (see below)
|
||||
's' set the ' mark at the previous location of the cursor
|
||||
'w' wrap around the end of the file
|
||||
'W' don't wrap around the end of the file
|
||||
'p' return number of matching sub-Pattern (see below)
|
||||
's' Set the ' mark at the previous location of the cursor
|
||||
'w' Wrap around the end of the file
|
||||
'W' don't Wrap around the end of the file
|
||||
'z' start searching at the cursor column instead of zero
|
||||
If neither 'w' or 'W' is given, the 'wrapscan' option applies.
|
||||
|
||||
If the 's' flag is supplied, the ' mark is set, only if the
|
||||
@@ -5243,6 +5244,12 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
|
||||
flag.
|
||||
|
||||
'ignorecase', 'smartcase' and 'magic' are used.
|
||||
|
||||
When the 'z' flag is not given seaching always starts in
|
||||
column zero and then matches before the cursor are skipped.
|
||||
When the 'c' flag is present in 'cpo' the next search starts
|
||||
after the match. Without the 'c' flag the next search starts
|
||||
one column further.
|
||||
|
||||
When the {stopline} argument is given then the search stops
|
||||
after searching this line. This is useful to restrict the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 7.4. Last change: 2015 Nov 28
|
||||
*filetype.txt* For Vim version 7.4. Last change: 2015 Dec 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -581,6 +581,9 @@ q Same as ":quit"
|
||||
|
||||
To enable folding use this: >
|
||||
let g:ft_man_folding_enable = 1
|
||||
If you do not like the default folding, use an autocommand to add your desired
|
||||
folding style instead. For example: >
|
||||
autocmd FileType man setlocal foldmethod=indent foldenable
|
||||
|
||||
|
||||
PDF *ft-pdf-plugin*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 7.4. Last change: 2015 Mar 16
|
||||
*pattern.txt* For Vim version 7.4. Last change: 2015 Dec 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -393,8 +393,8 @@ Use of "\M" makes the pattern after it be interpreted as if 'nomagic' is used.
|
||||
Use of "\v" means that in the pattern after it all ASCII characters except
|
||||
'0'-'9', 'a'-'z', 'A'-'Z' and '_' have a special meaning. "very magic"
|
||||
|
||||
Use of "\V" means that in the pattern after it only the backslash has a
|
||||
special meaning. "very nomagic"
|
||||
Use of "\V" means that in the pattern after it only the backslash and the
|
||||
terminating character (/ or ?) has a special meaning. "very nomagic"
|
||||
|
||||
Examples:
|
||||
after: \v \m \M \V matches ~
|
||||
@@ -402,6 +402,7 @@ after: \v \m \M \V matches ~
|
||||
$ $ $ \$ matches end-of-line
|
||||
. . \. \. matches any character
|
||||
* * \* \* any number of the previous atom
|
||||
~ ~ \~ \~ latest substitute string
|
||||
() \(\) \(\) \(\) grouping into an atom
|
||||
| \| \| \| separating alternatives
|
||||
\a \a \a \a alphabetic character
|
||||
@@ -480,6 +481,7 @@ More explanation and examples below, follow the links.
|
||||
|/\%v| \%23v \%23v in virtual column 23 |/zero-width|
|
||||
|
||||
Character classes {not in Vi}: */character-classes*
|
||||
magic nomagic matches ~
|
||||
|/\i| \i \i identifier character (see 'isident' option)
|
||||
|/\I| \I \I like "\i", but excluding digits
|
||||
|/\k| \k \k keyword character (see 'iskeyword' option)
|
||||
@@ -510,6 +512,7 @@ Character classes {not in Vi}: */character-classes*
|
||||
class with end-of-line included
|
||||
(end of character classes)
|
||||
|
||||
magic nomagic matches ~
|
||||
|/\e| \e \e <Esc>
|
||||
|/\t| \t \t <Tab>
|
||||
|/\r| \r \r <CR>
|
||||
@@ -535,6 +538,7 @@ Character classes {not in Vi}: */character-classes*
|
||||
|/\Z| \Z \Z ignore differences in Unicode "combining characters".
|
||||
Useful when searching voweled Hebrew or Arabic text.
|
||||
|
||||
magic nomagic matches ~
|
||||
|/\m| \m \m 'magic' on for the following chars in the pattern
|
||||
|/\M| \M \M 'magic' off for the following chars in the pattern
|
||||
|/\v| \v \v the following chars in the pattern are "very magic"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2015 Nov 05
|
||||
*syntax.txt* For Vim version 7.4. Last change: 2015 Dec 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1438,34 +1438,27 @@ form, then >
|
||||
:let fortran_fixed_source=1
|
||||
in your .vimrc prior to the :syntax on command.
|
||||
|
||||
If the form of the source code depends upon the file extension, then it is
|
||||
most convenient to set fortran_free_source in a ftplugin file. For more
|
||||
information on ftplugin files, see |ftplugin|. For example, if all your
|
||||
fortran files with an .f90 extension are written in free source form and the
|
||||
rest in fixed source form, add the following code to your ftplugin file >
|
||||
let s:extfname = expand("%:e")
|
||||
if s:extfname ==? "f90"
|
||||
let fortran_free_source=1
|
||||
unlet! fortran_fixed_source
|
||||
else
|
||||
let fortran_fixed_source=1
|
||||
unlet! fortran_free_source
|
||||
endif
|
||||
Note that this will work only if the "filetype plugin indent on" command
|
||||
precedes the "syntax on" command in your .vimrc file.
|
||||
If the form of the source code depends, in a non-standard way, upon the file
|
||||
extension, then it is most convenient to set fortran_free_source in a ftplugin
|
||||
file. For more information on ftplugin files, see |ftplugin|. Note that this
|
||||
will work only if the "filetype plugin indent on" command precedes the "syntax
|
||||
on" command in your .vimrc file.
|
||||
|
||||
When you edit an existing fortran file, the syntax script will assume free
|
||||
source form if the fortran_free_source variable has been set, and assumes
|
||||
fixed source form if the fortran_fixed_source variable has been set. If
|
||||
neither of these variables have been set, the syntax script attempts to
|
||||
determine which source form has been used by examining the first five columns
|
||||
of the first 250 lines of your file. If no signs of free source form are
|
||||
detected, then the file is assumed to be in fixed source form. The algorithm
|
||||
should work in the vast majority of cases. In some cases, such as a file that
|
||||
begins with 250 or more full-line comments, the script may incorrectly decide
|
||||
that the fortran code is in fixed form. If that happens, just add a
|
||||
non-comment statement beginning anywhere in the first five columns of the
|
||||
first twenty five lines, save (:w) and then reload (:e!) the file.
|
||||
determine which source form has been used by examining the file extension
|
||||
using conventions common to the ifort, gfortran, Cray, NAG, and PathScale
|
||||
compilers (.f, .for, .f77 for fixed-source, .f90, .f95, .f03, .f08 for
|
||||
free-source). If none of this works, then the script examines the first five
|
||||
columns of the first 500 lines of your file. If no signs of free source form
|
||||
are detected, then the file is assumed to be in fixed source form. The
|
||||
algorithm should work in the vast majority of cases. In some cases, such as a
|
||||
file that begins with 500 or more full-line comments, the script may
|
||||
incorrectly decide that the fortran code is in fixed form. If that happens,
|
||||
just add a non-comment statement beginning anywhere in the first five columns
|
||||
of the first twenty five lines, save (:w) and then reload (:e!) the file.
|
||||
|
||||
Tabs in fortran files ~
|
||||
Tabs are not recognized by the Fortran standards. Tabs are not a good idea in
|
||||
|
||||
@@ -5060,6 +5060,7 @@ c_<Home> cmdline.txt /*c_<Home>*
|
||||
c_<Insert> cmdline.txt /*c_<Insert>*
|
||||
c_<Left> cmdline.txt /*c_<Left>*
|
||||
c_<LeftMouse> cmdline.txt /*c_<LeftMouse>*
|
||||
c_<MiddleMouse> cmdline.txt /*c_<MiddleMouse>*
|
||||
c_<NL> cmdline.txt /*c_<NL>*
|
||||
c_<PageDown> cmdline.txt /*c_<PageDown>*
|
||||
c_<PageUp> cmdline.txt /*c_<PageUp>*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 7.4. Last change: 2015 Dec 05
|
||||
*todo.txt* For Vim version 7.4. Last change: 2015 Dec 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -74,18 +74,38 @@ Regexp problems:
|
||||
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, Nov 24)
|
||||
- Search for \\~ causes error E874.
|
||||
|
||||
Poor mans runtime file updater:
|
||||
- Generate a content file of all included runtime files:
|
||||
$VIMRUNTIME/CONTENTS
|
||||
With lines:
|
||||
runtime/syntax/ada.vim hexchecksum hexchecksum-with-CR-LF
|
||||
runtime/syntax/old.vim DELETED
|
||||
- Use a command to trigger a script:
|
||||
:RuntimeUpdate
|
||||
Gets the new contents file from
|
||||
https://raw.githubusercontent.com/vim/vim/master/runtime/CONTENTS
|
||||
Goes over each line, compares the checksum and gets the file if it differs.
|
||||
- Include a minimal required Vim version?
|
||||
- For an installation, use "sudo" after getting all the files, only copy them.
|
||||
need a temp directory tree.
|
||||
- For Windows generate a .bat file with "runas" (see StackOverflow).
|
||||
- Include a wget.exe or curl.exe in the distribution?
|
||||
- Also update vim.exe and gvim.exe this way?
|
||||
|
||||
English spell file has an encoding error in the affix file.
|
||||
(Dominique Pelle, 2015 Oct 15)
|
||||
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)
|
||||
Hint for new URL: Christian Brabandt, 2015 Oct 15.
|
||||
But that file looks old.
|
||||
|
||||
Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
|
||||
More info Jul 24. Not clear why.
|
||||
|
||||
Problem that a previous silent ":throw" causes a following try/catch not to
|
||||
work. (ZyX, 2013 Sep 28)
|
||||
work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
|
||||
|
||||
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
|
||||
|
||||
@@ -96,7 +116,12 @@ 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.
|
||||
Patch to test shadow. James McCoy, 2015 Dec 7, #520
|
||||
|
||||
Patch to support strawberry Perl. (Ken Takata, 2015 Dec 21)
|
||||
|
||||
Change the travis config to also run autoconf on the huge build.
|
||||
(James McCoy, 2015 Dec 4)
|
||||
|
||||
Access to uninitialized memory in match_backref() regexp_nda.c:4882
|
||||
(Dominique Pelle, 2015 Nov 6)
|
||||
@@ -106,14 +131,16 @@ 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 add tests for what 7.3.192 fixed. (Elias Diem, 2015 Dec 22)
|
||||
|
||||
Patch to use local value of 'errorformat' in :cexpr. (Christian Brabandt,
|
||||
2015 Oct 16) Only do this for :lexpr ?
|
||||
|
||||
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
|
||||
directory exists. (Sergio Gallelli, 2013 Dec 29)
|
||||
|
||||
Patch to make fnamemodify() work better with Cygwin. (Wily Wampa, 2015 Nov 28,
|
||||
issue 505)
|
||||
Patch to make fnamemodify() work better with Cygwin. (Wily Wampa == Jacob
|
||||
Niehus, 2015 Nov 28, issue 505)
|
||||
|
||||
Patch to fix mc_FullName() on root directory. (Milly, 2015 Nov 24, Issue 501)
|
||||
|
||||
@@ -123,18 +150,27 @@ Nov 26)
|
||||
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)
|
||||
Hint for new URL: Christian Brabandt, 2015 Oct 15.
|
||||
But that file looks old.
|
||||
Patch to add binary support for nrformat. (Jason Schulz, 2015 Dec 28)
|
||||
|
||||
Patch to make assert_false() error message look better. (Watiko, 2015 Dec 14)
|
||||
|
||||
Using ":windo" to set options in all windows has the side effect that it
|
||||
changes the window layout and the current window. Make a variant that saves
|
||||
and restores. Use in the matchparen plugin.
|
||||
Perhaps we can use ":silent window"?
|
||||
Perhaps we can use "window <restore> {cmd}"?
|
||||
|
||||
Patch to estimate available memory on MS-Windows. (Mike Williams, 2015 Dec 18)
|
||||
Last version that day.
|
||||
|
||||
Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
|
||||
|
||||
Patch for testing 'backspace'. Also changes behavior of ":set bs=0", do we
|
||||
want that? (Hirohito Higashi, 2015 Dec 17)
|
||||
New patch Dec 26.
|
||||
|
||||
Patch to adjust an Ex range only if it's about line numbers. (Christian
|
||||
Brabandt, 2015 Dec 13)
|
||||
|
||||
Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
|
||||
|
||||
Unexpected delay when using CTRL-O u. It's not timeoutlen.
|
||||
@@ -153,8 +189,11 @@ github? This URL works:
|
||||
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)
|
||||
":q!" should reset modified flag for current buffer, if another buffer is
|
||||
modified no need to abandon it again.
|
||||
Patch from Yasuhiro Matsumoto, 2014 Nov 21.
|
||||
Update from Hirohito Higashi, 2014 Nov 21.
|
||||
With test, Nov 23. Update 2015 Dec 15.
|
||||
|
||||
Updated Fortran files. (Ajit Thakkar, 2015 Nov 30, second one)
|
||||
|
||||
@@ -181,14 +220,34 @@ specifically? First try with the parens, then without.
|
||||
Patch to fix "." after CTRL-A in Visual block mode. (Ozaki Kiichi, 2015 Oct
|
||||
24)
|
||||
|
||||
Half-finished patch to fix the Problem using cgn to change a search hit when
|
||||
replacement includes hit. Reported by John Beckett, fix by Christian Brabandt,
|
||||
2015 Dec 14, Update Dec 15.
|
||||
|
||||
Patch to fix pointer cast warning in VS2015. (Mike Williams, 2015 Dec 13)
|
||||
Patch to make building GVimExt with VS2015. (Mike Williams, 2015 Dec 13)
|
||||
|
||||
Value returned by virtcol() changes depending on how lines wrap. This is
|
||||
inconsistent with the documentation.
|
||||
|
||||
Patch to add perleval(). (Damien, 2015 Dec 8)
|
||||
|
||||
Can we cache the syntax attributes, so that updates for 'relativenumber' and
|
||||
'cursorline'/'cursorcolumn' are a lot faster?
|
||||
|
||||
Patch to add window and tab arguments to getcwd(). (Thinca, 2015 Nov 15)
|
||||
|
||||
Patch to check PYTHONHOME first. #500
|
||||
|
||||
Patch to build with Python using MSYS2. (Yasuhiro Matsumoto, 2015 Nov 26)
|
||||
Updated Nov 29.
|
||||
|
||||
Build with Python on Mac does not always use the right library.
|
||||
(Kazunobu Kuriyama, 2015 Mar 28)
|
||||
|
||||
Patch to support Python 'None' value in pyeval(). (Damien, 2015 Nov 21)
|
||||
Need a Vim equivalent of None and a way to test for it.
|
||||
|
||||
To support Thai (and other languages) word boundaries, include the ICU
|
||||
library: http://userguide.icu-project.org/boundaryanalysis
|
||||
|
||||
@@ -224,11 +283,17 @@ effects for when set by the user, on init and when reset to default.
|
||||
The argument for "-S" is not taken literally, the ":so" command expands
|
||||
wildcards. Add a ":nowild" command modifier? (ZyX, 2015 March 4)
|
||||
|
||||
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
|
||||
30)
|
||||
|
||||
Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
|
||||
Update Aug 14.
|
||||
|
||||
Crash in :cnext on MS-Windows. (Ben Fritz, 2015 Oct 27)
|
||||
|
||||
When using --remote-tab on MS-Windows 'encoding' hasn't been initialized yet,
|
||||
the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
|
||||
|
||||
Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
|
||||
26, update 2013 Dec 14, another 2014 Nov 22)
|
||||
|
||||
@@ -238,9 +303,6 @@ Sep 10)
|
||||
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
|
||||
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8.
|
||||
|
||||
Build with Python on Mac does not always use the right library.
|
||||
(Kazunobu Kuriyama, 2015 Mar 28)
|
||||
|
||||
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)
|
||||
@@ -253,9 +315,6 @@ ml_updatechunk() is slow when retrying for another encoding. (John Little,
|
||||
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)
|
||||
|
||||
@@ -345,12 +404,6 @@ Plugins need to make a lot of effort, lots of mappings, to know what happened
|
||||
before pressing the key that triggers a plugin action. How about keeping the
|
||||
last N pressed keys, so that they do not need to be mapped?
|
||||
|
||||
":q!" should reset modified flag for current buffer, if another buffer is
|
||||
modified no need to abandon it again.
|
||||
Patch from Yasuhiro Matsumoto, 2014 Nov 21.
|
||||
Update from Hirohito Higashi, 2014 Nov 21.
|
||||
With test, Nov 23.
|
||||
|
||||
Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014 Dec 4.
|
||||
Is this a good solution?
|
||||
|
||||
@@ -518,9 +571,6 @@ Patch to skip sort if no line matches the expression.
|
||||
Patch to add sortuniq(). (Cade Forester, 2014 Mar 19)
|
||||
Or add uniq() instead? Patch by lcd47, but it has problems.
|
||||
|
||||
Patch to support sorting on floating point number. (Alex Jakushev, 2010 Oct
|
||||
30)
|
||||
|
||||
Patch to support expression argument to sort() instead of a function name.
|
||||
Yasuhiro Matsumoto, 2013 May 31.
|
||||
Or should we add a more general mechanism, like a lambda() function?
|
||||
@@ -1540,6 +1590,10 @@ Win32: A --remote command that has a directory name starting with a ( doesn't
|
||||
work, the backslash is removed, assuming that it escapes the (. (Valery
|
||||
Kondakoff, 2009 May 13)
|
||||
|
||||
Win32: Using "gvim --remote-tab-silent elŝuti.txt" doesn't work, the
|
||||
multi-byte character isn't passed and edits elsuti.txt.
|
||||
(Raúl Núñez de Arenas Coronado, 2015 Dec 18)
|
||||
|
||||
Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
|
||||
2008 May 14)
|
||||
Possibly related problem: Alexey Muranov, 2015 Apr 2
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_03.txt* For Vim version 7.4. Last change: 2006 Jun 21
|
||||
*usr_03.txt* For Vim version 7.4. Last change: 2015 Dec 12
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -57,8 +57,11 @@ paragraph, much faster than using "l". "b" does the same in the other
|
||||
direction.
|
||||
|
||||
A word ends at a non-word character, such as a ".", "-" or ")". To change
|
||||
what Vim considers to be a word, see the 'iskeyword' option.
|
||||
It is also possible to move by white-space separated WORDs. This is not a
|
||||
what Vim considers to be a word, see the 'iskeyword' option. If you try this
|
||||
out in the help directly, 'iskeyword' needs to be reset for the examples to
|
||||
work: >
|
||||
:set iskeyword&
|
||||
It is also possible to move by white-space separated WORDs. This is not a
|
||||
word in the normal sense, that's why the uppercase is used. The commands for
|
||||
moving by WORDs are also uppercase, as this figure shows:
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" Vim settings file
|
||||
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66)
|
||||
" Version: 0.49
|
||||
" Last Change: 2013 Oct. 01
|
||||
" Version: 0.50
|
||||
" Last Change: 2015 Nov. 30
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
||||
" Usage: Do :help fortran-plugin from Vim
|
||||
" Usage: For instructions, do :help fortran-plugin from Vim
|
||||
" Credits:
|
||||
" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, Ben
|
||||
" Fritz, and David Barnett.
|
||||
@@ -20,7 +20,10 @@ set cpoptions&vim
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Determine whether this is a fixed or free format source file
|
||||
" if this hasn't been done yet
|
||||
" if this hasn't been done yet using the priority:
|
||||
" buffer-local value
|
||||
" > global value
|
||||
" > file extension as in Intel ifort, gcc (gfortran), NAG, Pathscale, and Cray compilers
|
||||
if !exists("b:fortran_fixed_source")
|
||||
if exists("fortran_free_source")
|
||||
" User guarantees free source form
|
||||
@@ -28,13 +31,19 @@ if !exists("b:fortran_fixed_source")
|
||||
elseif exists("fortran_fixed_source")
|
||||
" User guarantees fixed source form
|
||||
let b:fortran_fixed_source = 1
|
||||
elseif expand("%:e") ==? "f\<90\|95\|03\|08\>"
|
||||
" Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers
|
||||
let b:fortran_fixed_source = 0
|
||||
elseif expand("%:e") ==? "f\|f77\|for"
|
||||
" Fixed-form file extension defaults
|
||||
let b:fortran_fixed_source = 1
|
||||
else
|
||||
" Modern Fortran allows both fixed and free source form
|
||||
" assume fixed source form unless signs of free source form
|
||||
" are detected in the first five columns of the first s:lmax lines
|
||||
" Modern fortran still allows both fixed and free source form
|
||||
" Assume fixed source form unless signs of free source form
|
||||
" are detected in the first five columns of the first s:lmax lines.
|
||||
" Detection becomes more accurate and time-consuming if more lines
|
||||
" are checked. Increase the limit below if you keep lots of comments at
|
||||
" the very top of each file and you have a fast computer
|
||||
" the very top of each file and you have a fast computer.
|
||||
let s:lmax = 500
|
||||
if ( s:lmax > line("$") )
|
||||
let s:lmax = line("$")
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" Vim indent file
|
||||
" Language: Fortran 2008 (and earlier versions: 2003, 95, 90, and 77)
|
||||
" Version: 0.41
|
||||
" Last Change: 2015 Jan. 15
|
||||
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
|
||||
" Version: 0.42
|
||||
" Last Change: 2015 Nov. 30
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
||||
" Usage: Do :help fortran-indent from Vim
|
||||
" Usage: For instructions, do :help fortran-indent from Vim
|
||||
" Credits:
|
||||
" Useful suggestions were made by: Albert Oliver Serra.
|
||||
|
||||
@@ -27,7 +27,10 @@ if exists("b:fortran_indent_more") || exists("g:fortran_indent_more")
|
||||
endif
|
||||
|
||||
" Determine whether this is a fixed or free format source file
|
||||
" if this hasn't been done yet
|
||||
" if this hasn't been done yet using the priority:
|
||||
" buffer-local value
|
||||
" > global value
|
||||
" > file extension as in Intel ifort, gcc (gfortran), NAG, Pathscale, and Cray compilers
|
||||
if !exists("b:fortran_fixed_source")
|
||||
if exists("fortran_free_source")
|
||||
" User guarantees free source form
|
||||
@@ -35,13 +38,19 @@ if !exists("b:fortran_fixed_source")
|
||||
elseif exists("fortran_fixed_source")
|
||||
" User guarantees fixed source form
|
||||
let b:fortran_fixed_source = 1
|
||||
elseif expand("%:e") ==? "f\<90\|95\|03\|08\>"
|
||||
" Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers
|
||||
let b:fortran_fixed_source = 0
|
||||
elseif expand("%:e") ==? "f\|f77\|for"
|
||||
" Fixed-form file extension defaults
|
||||
let b:fortran_fixed_source = 1
|
||||
else
|
||||
" f90 and f95 allow both fixed and free source form
|
||||
" assume fixed source form unless signs of free source form
|
||||
" Modern fortran still allows both fixed and free source form
|
||||
" Assume fixed source form unless signs of free source form
|
||||
" are detected in the first five columns of the first s:lmax lines.
|
||||
" Detection becomes more accurate and more time-consuming if more lines
|
||||
" Detection becomes more accurate and time-consuming if more lines
|
||||
" are checked. Increase the limit below if you keep lots of comments at
|
||||
" the very top of each file and you have a fast computer
|
||||
" the very top of each file and you have a fast computer.
|
||||
let s:lmax = 500
|
||||
if ( s:lmax > line("$") )
|
||||
let s:lmax = line("$")
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
||||
" Original Author: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2015-07-28
|
||||
" Latest Revision: 2015-12-15
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-sh-indent
|
||||
|
||||
@@ -12,6 +12,8 @@ if exists("b:did_indent")
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
let b:undo_indent = 'setlocal indentexpr< indentkeys< smartindent<'
|
||||
|
||||
setlocal indentexpr=GetShIndent()
|
||||
setlocal indentkeys+=0=then,0=do,0=else,0=elif,0=fi,0=esac,0=done,0=end,),0=;;,0=;&
|
||||
setlocal indentkeys+=0=fin,0=fil,0=fip,0=fir,0=fix
|
||||
|
||||
@@ -55,14 +55,19 @@ function! s:Highlight_Matching_Pair()
|
||||
let before = 0
|
||||
|
||||
let text = getline(c_lnum)
|
||||
let c = text[c_col - 1]
|
||||
let matches = matchlist(text, '\(.\)\=\%'.c_col.'c\(.\)')
|
||||
if empty(matches)
|
||||
let [c_before, c] = ['', '']
|
||||
else
|
||||
let [c_before, c] = matches[1:2]
|
||||
endif
|
||||
let plist = split(&matchpairs, '.\zs[:,]')
|
||||
let i = index(plist, c)
|
||||
if i < 0
|
||||
" not found, in Insert mode try character before the cursor
|
||||
if c_col > 1 && (mode() == 'i' || mode() == 'R')
|
||||
let before = 1
|
||||
let c = text[c_col - 2]
|
||||
let before = strlen(c_before)
|
||||
let c = c_before
|
||||
let i = index(plist, c)
|
||||
endif
|
||||
if i < 0
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
*** en_AU.orig.aff Fri Apr 15 13:20:36 2005
|
||||
--- en_AU.aff Wed Jan 11 11:10:45 2006
|
||||
*** en_AU.orig.aff 2010-05-15 13:03:47.000000000 +0200
|
||||
--- en_AU.aff 2015-12-30 19:08:16.916527503 +0100
|
||||
***************
|
||||
*** 7,9 ****
|
||||
SET ISO8859-1
|
||||
@@ -16,7 +16,7 @@
|
||||
! MIDWORD '
|
||||
!
|
||||
! RARE ?
|
||||
! BAD !
|
||||
! BAD %
|
||||
!
|
||||
! MAP 9
|
||||
! MAP a<><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -2382,8 +2382,8 @@
|
||||
!
|
||||
! # a few more for consistency
|
||||
! COMMON five six seven eight nine ten hundred thousand
|
||||
*** en_AU.orig.dic Fri Apr 15 13:20:36 2005
|
||||
--- en_AU.dic Wed Mar 8 13:14:30 2006
|
||||
*** en_AU.orig.dic 2010-05-15 13:03:48.000000000 +0200
|
||||
--- en_AU.dic 2015-12-30 19:07:42.620898655 +0100
|
||||
***************
|
||||
*** 1,2 ****
|
||||
! 45654
|
||||
@@ -2666,15 +2666,19 @@
|
||||
--- 45578,45579 ----
|
||||
***************
|
||||
*** 45655 ****
|
||||
--- 45646,45656 ----
|
||||
--- 45646,45660 ----
|
||||
zymurgy/S
|
||||
+ nd
|
||||
+ the the/!
|
||||
+ and and/!
|
||||
+ a a/!
|
||||
+ a an/!
|
||||
+ an a/!
|
||||
+ an an/!
|
||||
+ PayPal
|
||||
+ Google
|
||||
+ TCP\/IP
|
||||
+ a a/%
|
||||
+ a an/%
|
||||
+ a the/%
|
||||
+ an a/%
|
||||
+ an an/%
|
||||
+ an the/%
|
||||
+ and and/%
|
||||
+ the a/%
|
||||
+ the an/%
|
||||
+ the the/%
|
||||
|
||||
@@ -1,28 +1,40 @@
|
||||
*** en_CA.orig.aff Fri Apr 15 13:20:36 2005
|
||||
--- en_CA.aff Wed Jan 11 22:03:23 2006
|
||||
*** en_CA.orig.aff 2015-12-30 18:18:20.076952127 +0100
|
||||
--- en_CA.aff 2015-12-30 18:32:50.395546116 +0100
|
||||
***************
|
||||
*** 3,4 ****
|
||||
--- 3,141 ----
|
||||
*** 2,7 ****
|
||||
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
|
||||
! ICONV 1
|
||||
! ICONV ’ '
|
||||
NOSUGGEST !
|
||||
|
||||
+ FOL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+ LOW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+ UPP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
# ordinal numbers
|
||||
--- 2,146 ----
|
||||
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
|
||||
!
|
||||
! # ICONV 1
|
||||
! # ICONV ’ '
|
||||
!
|
||||
NOSUGGEST !
|
||||
|
||||
+ FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
||||
+ LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
||||
+ UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
|
||||
+
|
||||
+ MIDWORD '
|
||||
+
|
||||
+ RARE ?
|
||||
+ BAD !
|
||||
+ BAD %
|
||||
+
|
||||
+ MAP 9
|
||||
+ MAP a<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+ MAP e<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+ MAP i<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+ MAP o<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+ MAP u<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+ MAP n<EFBFBD>
|
||||
+ MAP c<EFBFBD>
|
||||
+ MAP y<EFBFBD><EFBFBD>
|
||||
+ MAP s<EFBFBD>
|
||||
+ MAP aàáâãäå
|
||||
+ MAP eèéêë
|
||||
+ MAP iìíîï
|
||||
+ MAP oòóôõö
|
||||
+ MAP uùúûü
|
||||
+ MAP nñ
|
||||
+ MAP cç
|
||||
+ MAP yÿý
|
||||
+ MAP sß
|
||||
+
|
||||
+ # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07
|
||||
+
|
||||
@@ -33,8 +45,8 @@
|
||||
+ SAL AH(AEIOUY)- H
|
||||
+ SAL AR(AEIOUY)- R
|
||||
+ SAL A(HR) _
|
||||
+ SAL <EFBFBD>^ *
|
||||
+ SAL <EFBFBD>^ *
|
||||
+ SAL À^ *
|
||||
+ SAL Å^ *
|
||||
+ SAL BB- _
|
||||
+ SAL B B
|
||||
+ SAL CQ- _
|
||||
@@ -48,7 +60,7 @@
|
||||
+ SAL DG(EIY) K
|
||||
+ SAL DD- _
|
||||
+ SAL D T
|
||||
+ SAL <EFBFBD>< E
|
||||
+ SAL É< E
|
||||
+ SAL EH(AEIOUY)-^ *H
|
||||
+ SAL ER(AEIOUY)-^ *R
|
||||
+ SAL E(HR)^ *
|
||||
@@ -141,319 +153,29 @@
|
||||
+ REPSAL ht @
|
||||
+ REPSAL @ ht
|
||||
+
|
||||
PFX A Y 1
|
||||
# ordinal numbers
|
||||
***************
|
||||
*** 30,33 ****
|
||||
SFX N e ion e
|
||||
! SFX N y ication y
|
||||
! SFX N 0 en [^ey]
|
||||
*** 16,18 ****
|
||||
COMPOUNDRULE n*mp
|
||||
! WORDCHARS 0123456789
|
||||
|
||||
--- 167,170 ----
|
||||
SFX N e ion e
|
||||
! SFX N y ication y
|
||||
! SFX N 0 en [^ey]
|
||||
--- 155,157 ----
|
||||
COMPOUNDRULE n*mp
|
||||
! # WORDCHARS 0123456789
|
||||
|
||||
*** en_CA.orig.dic 2015-12-30 18:20:47.803358258 +0100
|
||||
--- en_CA.dic 2015-12-30 18:59:26.490267196 +0100
|
||||
***************
|
||||
*** 40,42 ****
|
||||
SFX H y ieth y
|
||||
! SFX H 0 th [^y]
|
||||
|
||||
--- 177,179 ----
|
||||
SFX H y ieth y
|
||||
! SFX H 0 th [^y]
|
||||
|
||||
***************
|
||||
*** 47,49 ****
|
||||
SFX G e ing e
|
||||
! SFX G 0 ing [^e]
|
||||
|
||||
--- 184,186 ----
|
||||
SFX G e ing e
|
||||
! SFX G 0 ing [^e]
|
||||
|
||||
*** en_CA.orig.dic Sat Apr 16 14:40:06 2005
|
||||
--- en_CA.dic Wed Mar 8 13:14:35 2006
|
||||
***************
|
||||
*** 46,48 ****
|
||||
R/G
|
||||
- S
|
||||
easternmost
|
||||
--- 46,47 ----
|
||||
***************
|
||||
*** 59,66 ****
|
||||
a
|
||||
! b/KGDT
|
||||
Emmey/M
|
||||
baggagemen
|
||||
! c/EAS
|
||||
antimalarial/S
|
||||
- d/AMV
|
||||
enveloper/M
|
||||
--- 58,65 ----
|
||||
a
|
||||
! probing
|
||||
! probed
|
||||
Emmey/M
|
||||
baggagemen
|
||||
! recs
|
||||
antimalarial/S
|
||||
enveloper/M
|
||||
***************
|
||||
*** 68,98 ****
|
||||
Balearic/M
|
||||
! e/FDSM
|
||||
! f/BVXT
|
||||
Karamazov/M
|
||||
! g/VXB
|
||||
! h/VEMS
|
||||
! i
|
||||
Braille/DSGM
|
||||
- j/FTV
|
||||
transceiver/MS
|
||||
! k/FGISE
|
||||
promising/YU
|
||||
! l/XTJGV
|
||||
Emmet/M
|
||||
! m/XG
|
||||
! n/FKT
|
||||
! o
|
||||
xviii
|
||||
fitting/PSY
|
||||
! p/KRT
|
||||
! q
|
||||
! r/GVTJ
|
||||
! s/FK
|
||||
fatting
|
||||
! t/BGXTJ
|
||||
Franciska/M
|
||||
oedipal
|
||||
! u
|
||||
! v/VTK
|
||||
! w/JXTGV
|
||||
youths
|
||||
--- 67,94 ----
|
||||
Balearic/M
|
||||
! fens
|
||||
Karamazov/M
|
||||
! gens
|
||||
Braille/DSGM
|
||||
transceiver/MS
|
||||
! inking
|
||||
! disking
|
||||
! conking
|
||||
! inks
|
||||
! disks
|
||||
! conks
|
||||
promising/YU
|
||||
! lings
|
||||
Emmet/M
|
||||
! ming
|
||||
! pron
|
||||
xviii
|
||||
fitting/PSY
|
||||
! cons
|
||||
fatting
|
||||
! tings
|
||||
Franciska/M
|
||||
oedipal
|
||||
! vive
|
||||
! wens
|
||||
! wings
|
||||
youths
|
||||
***************
|
||||
*** 100,103 ****
|
||||
x
|
||||
! y/F
|
||||
! z/JGT
|
||||
crumby/RT
|
||||
--- 96,98 ----
|
||||
x
|
||||
! zings
|
||||
crumby/RT
|
||||
***************
|
||||
*** 714,715 ****
|
||||
--- 709,711 ----
|
||||
silty/RT
|
||||
+ conj.
|
||||
conjectural/Y
|
||||
***************
|
||||
*** 3145,3146 ****
|
||||
--- 3141,3143 ----
|
||||
semester/MS
|
||||
+ etc.
|
||||
etch/GZSRDJ
|
||||
***************
|
||||
*** 6190,6191 ****
|
||||
--- 6187,6190 ----
|
||||
Paula/M
|
||||
+ coned
|
||||
+ cone/MS
|
||||
coneflower/M
|
||||
***************
|
||||
*** 7022,7024 ****
|
||||
DA
|
||||
- DB
|
||||
DC
|
||||
--- 7021,7022 ----
|
||||
***************
|
||||
*** 7395,7397 ****
|
||||
rec
|
||||
! red/YPS
|
||||
Eamon/M
|
||||
--- 7393,7395 ----
|
||||
rec
|
||||
! red/YPSM
|
||||
Eamon/M
|
||||
***************
|
||||
*** 8388,8390 ****
|
||||
slotting
|
||||
- ON
|
||||
OR
|
||||
--- 8386,8387 ----
|
||||
***************
|
||||
*** 9125,9127 ****
|
||||
perchance
|
||||
- rte
|
||||
hastiness/MS
|
||||
--- 9122,9123 ----
|
||||
***************
|
||||
*** 10603,10604 ****
|
||||
--- 10599,10603 ----
|
||||
dB/M
|
||||
+ dBi
|
||||
+ dBm
|
||||
+ dBd
|
||||
Hewet/M
|
||||
***************
|
||||
*** 10615,10617 ****
|
||||
Garold/M
|
||||
- db
|
||||
tollhouse/M
|
||||
--- 10614,10615 ----
|
||||
***************
|
||||
*** 11017,11019 ****
|
||||
hr
|
||||
- ht
|
||||
MCI/M
|
||||
--- 11015,11016 ----
|
||||
***************
|
||||
*** 11609,11611 ****
|
||||
demureness/SM
|
||||
! nd/A
|
||||
MIA
|
||||
--- 11606,11608 ----
|
||||
demureness/SM
|
||||
! nd
|
||||
MIA
|
||||
***************
|
||||
*** 13669,13671 ****
|
||||
engross/LDRSG
|
||||
! hobbit
|
||||
certainty/MUS
|
||||
--- 13666,13668 ----
|
||||
engross/LDRSG
|
||||
! hobbit/MS
|
||||
certainty/MUS
|
||||
***************
|
||||
*** 14434,14435 ****
|
||||
--- 14431,14433 ----
|
||||
pompom/MS
|
||||
+ pompon/M
|
||||
Devland/M
|
||||
***************
|
||||
*** 19265,19267 ****
|
||||
bloodstone/M
|
||||
! cetera/S
|
||||
storm/SGZRDM
|
||||
--- 19263,19265 ----
|
||||
bloodstone/M
|
||||
! et cetera/S
|
||||
storm/SGZRDM
|
||||
***************
|
||||
*** 20162,20164 ****
|
||||
Hansel/M
|
||||
! ring/GZJDRM
|
||||
Hansen/M
|
||||
--- 20160,20162 ----
|
||||
Hansel/M
|
||||
! ring/GZJDRMS
|
||||
Hansen/M
|
||||
***************
|
||||
*** 26960,26965 ****
|
||||
Wisenheimer/M
|
||||
! disc/GDM
|
||||
horticulturist/SM
|
||||
isotropically
|
||||
! dish/DG
|
||||
disburser/M
|
||||
--- 26958,26963 ----
|
||||
Wisenheimer/M
|
||||
! disc/GDMS
|
||||
horticulturist/SM
|
||||
isotropically
|
||||
! dish/DGMS
|
||||
disburser/M
|
||||
***************
|
||||
*** 28157,28158 ****
|
||||
--- 28155,28157 ----
|
||||
pneumonia/MS
|
||||
+ pneumonic
|
||||
Socratic/S
|
||||
***************
|
||||
*** 34999,35001 ****
|
||||
claque/MS
|
||||
- etc
|
||||
Chad/M
|
||||
--- 34998,34999 ----
|
||||
***************
|
||||
*** 36707,36708 ****
|
||||
--- 36705,36707 ----
|
||||
Moody/M
|
||||
+ Moolenaar/M
|
||||
Bresenham/M
|
||||
***************
|
||||
*** 40455,40457 ****
|
||||
proneness/MS
|
||||
! transl
|
||||
Conchita/M
|
||||
--- 40454,40456 ----
|
||||
proneness/MS
|
||||
! transl.
|
||||
Conchita/M
|
||||
***************
|
||||
*** 50272,50273 ****
|
||||
--- 50271,50273 ----
|
||||
Dutch/M
|
||||
+ Farsi
|
||||
Sharon/M
|
||||
***************
|
||||
*** 52565,52567 ****
|
||||
hatchery/MS
|
||||
! vim/SM
|
||||
compatriot/MS
|
||||
--- 52565,52568 ----
|
||||
hatchery/MS
|
||||
! Vim/SM
|
||||
! vim/?
|
||||
compatriot/MS
|
||||
***************
|
||||
*** 53490,53491 ****
|
||||
--- 53491,53493 ----
|
||||
unsearchable
|
||||
+ searchable
|
||||
felicitous/IY
|
||||
***************
|
||||
*** 62341 ****
|
||||
--- 62343,62354 ----
|
||||
data/M
|
||||
+ et al.
|
||||
+ the the/!
|
||||
+ and and/!
|
||||
+ a a/!
|
||||
+ a an/!
|
||||
+ an a/!
|
||||
+ an an/!
|
||||
+ PayPal
|
||||
+ Google
|
||||
+ e.g.
|
||||
+ TCP\/IP
|
||||
*** 48930 ****
|
||||
--- 48930,48940 ----
|
||||
zymurgy/M
|
||||
+ a a/%
|
||||
+ a an/%
|
||||
+ a the/%
|
||||
+ an a/%
|
||||
+ an an/%
|
||||
+ an the/%
|
||||
+ and and/%
|
||||
+ the a/%
|
||||
+ the an/%
|
||||
+ the the/%
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
*** en_NZ.orig.aff Fri Apr 15 13:20:36 2005
|
||||
--- en_NZ.aff Wed Jan 11 22:03:30 2006
|
||||
*** en_NZ.orig.aff 2010-05-15 13:03:47.000000000 +0200
|
||||
--- en_NZ.aff 2015-12-30 19:08:13.884560313 +0100
|
||||
***************
|
||||
*** 7,9 ****
|
||||
SET ISO8859-1
|
||||
@@ -16,7 +16,7 @@
|
||||
! MIDWORD '
|
||||
!
|
||||
! RARE ?
|
||||
! BAD !
|
||||
! BAD %
|
||||
!
|
||||
! MAP 9
|
||||
! MAP a<><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
@@ -2359,8 +2359,8 @@
|
||||
! SFX 3 0 ist's [aeioubp]y
|
||||
! SFX 3 o ist's o
|
||||
! SFX 3 0 ist's [^eoy]
|
||||
*** en_NZ.orig.dic Fri Apr 15 13:20:36 2005
|
||||
--- en_NZ.dic Wed Mar 8 13:14:40 2006
|
||||
*** en_NZ.orig.dic 2010-05-15 13:03:48.000000000 +0200
|
||||
--- en_NZ.dic 2015-12-30 19:08:04.928657238 +0100
|
||||
***************
|
||||
*** 4,6 ****
|
||||
2ZB
|
||||
@@ -2680,16 +2680,20 @@
|
||||
Burkina
|
||||
! Faso/M
|
||||
\ No newline at end of file
|
||||
--- 47109,47120 ----
|
||||
--- 47109,47124 ----
|
||||
Burkina
|
||||
! Faso/M
|
||||
! nd
|
||||
! the the/!
|
||||
! and and/!
|
||||
! a a/!
|
||||
! a an/!
|
||||
! an a/!
|
||||
! an an/!
|
||||
! PayPal
|
||||
! Google
|
||||
! TCP\/IP
|
||||
! a a/%
|
||||
! a an/%
|
||||
! a the/%
|
||||
! an a/%
|
||||
! an an/%
|
||||
! an the/%
|
||||
! and and/%
|
||||
! the a/%
|
||||
! the an/%
|
||||
! the the/%
|
||||
|
||||
@@ -1,598 +1,177 @@
|
||||
*** en_US.orig.aff Fri Apr 15 13:20:36 2005
|
||||
--- en_US.aff Wed Jan 11 22:03:34 2006
|
||||
*** en_US.orig.aff 2015-12-30 18:55:30.352821552 +0100
|
||||
--- en_US.aff 2015-12-30 19:01:19.849041178 +0100
|
||||
***************
|
||||
*** 3,4 ****
|
||||
--- 3,141 ----
|
||||
*** 2,5 ****
|
||||
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
|
||||
! ICONV 1
|
||||
! ICONV ’ '
|
||||
NOSUGGEST !
|
||||
--- 2,144 ----
|
||||
TRY esianrtolcdugmphbyfvkwzESIANRTOLCDUGMPHBYFVKWZ'
|
||||
!
|
||||
! FOL àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
||||
! LOW àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþßÿ
|
||||
! UPP ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßÿ
|
||||
!
|
||||
! MIDWORD '
|
||||
!
|
||||
! RARE ?
|
||||
! BAD %
|
||||
!
|
||||
! MAP 9
|
||||
! MAP aàáâãäå
|
||||
! MAP eèéêë
|
||||
! MAP iìíîï
|
||||
! MAP oòóôõö
|
||||
! MAP uùúûü
|
||||
! MAP nñ
|
||||
! MAP cç
|
||||
! MAP yÿý
|
||||
! MAP sß
|
||||
!
|
||||
! # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07
|
||||
!
|
||||
! SAL AH(AEIOUY)-^ *H
|
||||
! SAL AR(AEIOUY)-^ *R
|
||||
! SAL A(HR)^ *
|
||||
! SAL A^ *
|
||||
! SAL AH(AEIOUY)- H
|
||||
! SAL AR(AEIOUY)- R
|
||||
! SAL A(HR) _
|
||||
! SAL À^ *
|
||||
! SAL Å^ *
|
||||
! SAL BB- _
|
||||
! SAL B B
|
||||
! SAL CQ- _
|
||||
! SAL CIA X
|
||||
! SAL CH X
|
||||
! SAL C(EIY)- S
|
||||
! SAL CK K
|
||||
! SAL COUGH^ KF
|
||||
! SAL CC< C
|
||||
! SAL C K
|
||||
! SAL DG(EIY) K
|
||||
! SAL DD- _
|
||||
! SAL D T
|
||||
! SAL É< E
|
||||
! SAL EH(AEIOUY)-^ *H
|
||||
! SAL ER(AEIOUY)-^ *R
|
||||
! SAL E(HR)^ *
|
||||
! SAL ENOUGH^$ *NF
|
||||
! SAL E^ *
|
||||
! SAL EH(AEIOUY)- H
|
||||
! SAL ER(AEIOUY)- R
|
||||
! SAL E(HR) _
|
||||
! SAL FF- _
|
||||
! SAL F F
|
||||
! SAL GN^ N
|
||||
! SAL GN$ N
|
||||
! SAL GNS$ NS
|
||||
! SAL GNED$ N
|
||||
! SAL GH(AEIOUY)- K
|
||||
! SAL GH _
|
||||
! SAL GG9 K
|
||||
! SAL G K
|
||||
! SAL H H
|
||||
! SAL IH(AEIOUY)-^ *H
|
||||
! SAL IR(AEIOUY)-^ *R
|
||||
! SAL I(HR)^ *
|
||||
! SAL I^ *
|
||||
! SAL ING6 N
|
||||
! SAL IH(AEIOUY)- H
|
||||
! SAL IR(AEIOUY)- R
|
||||
! SAL I(HR) _
|
||||
! SAL J K
|
||||
! SAL KN^ N
|
||||
! SAL KK- _
|
||||
! SAL K K
|
||||
! SAL LAUGH^ LF
|
||||
! SAL LL- _
|
||||
! SAL L L
|
||||
! SAL MB$ M
|
||||
! SAL MM M
|
||||
! SAL M M
|
||||
! SAL NN- _
|
||||
! SAL N N
|
||||
! SAL OH(AEIOUY)-^ *H
|
||||
! SAL OR(AEIOUY)-^ *R
|
||||
! SAL O(HR)^ *
|
||||
! SAL O^ *
|
||||
! SAL OH(AEIOUY)- H
|
||||
! SAL OR(AEIOUY)- R
|
||||
! SAL O(HR) _
|
||||
! SAL PH F
|
||||
! SAL PN^ N
|
||||
! SAL PP- _
|
||||
! SAL P P
|
||||
! SAL Q K
|
||||
! SAL RH^ R
|
||||
! SAL ROUGH^ RF
|
||||
! SAL RR- _
|
||||
! SAL R R
|
||||
! SAL SCH(EOU)- SK
|
||||
! SAL SC(IEY)- S
|
||||
! SAL SH X
|
||||
! SAL SI(AO)- X
|
||||
! SAL SS- _
|
||||
! SAL S S
|
||||
! SAL TI(AO)- X
|
||||
! SAL TH @
|
||||
! SAL TCH-- _
|
||||
! SAL TOUGH^ TF
|
||||
! SAL TT- _
|
||||
! SAL T T
|
||||
! SAL UH(AEIOUY)-^ *H
|
||||
! SAL UR(AEIOUY)-^ *R
|
||||
! SAL U(HR)^ *
|
||||
! SAL U^ *
|
||||
! SAL UH(AEIOUY)- H
|
||||
! SAL UR(AEIOUY)- R
|
||||
! SAL U(HR) _
|
||||
! SAL V^ W
|
||||
! SAL V F
|
||||
! SAL WR^ R
|
||||
! SAL WH^ W
|
||||
! SAL W(AEIOU)- W
|
||||
! SAL X^ S
|
||||
! SAL X KS
|
||||
! SAL Y(AEIOU)- Y
|
||||
! SAL ZZ- _
|
||||
! SAL Z S
|
||||
!
|
||||
! # When soundfolding "th" is turned into "@". When this is mistyped as "ht" it
|
||||
! # soundfolds to "ht". This difference is too big, thus use REP items to lower
|
||||
! # the score.
|
||||
! REPSAL 2
|
||||
! REPSAL ht @
|
||||
! REPSAL @ ht
|
||||
!
|
||||
! # ICONV 1
|
||||
! # ICONV ’ '
|
||||
!
|
||||
NOSUGGEST !
|
||||
***************
|
||||
*** 16,18 ****
|
||||
COMPOUNDRULE n*mp
|
||||
! WORDCHARS 0123456789
|
||||
|
||||
+ FOL <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+ LOW <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+ UPP <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+
|
||||
+ MIDWORD '
|
||||
+
|
||||
+ RARE ?
|
||||
+ BAD !
|
||||
+
|
||||
+ MAP 9
|
||||
+ MAP a<><61><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
+ MAP e<><65><EFBFBD><EFBFBD>
|
||||
+ MAP i<><69><EFBFBD><EFBFBD>
|
||||
+ MAP o<><6F><EFBFBD><EFBFBD><EFBFBD>
|
||||
+ MAP u<><75><EFBFBD><EFBFBD>
|
||||
+ MAP n<>
|
||||
+ MAP c<>
|
||||
+ MAP y<><79>
|
||||
+ MAP s<>
|
||||
+
|
||||
+ # This comes from Aspell en_phonet.dat, version 1.1, 2000-01-07
|
||||
+
|
||||
+ SAL AH(AEIOUY)-^ *H
|
||||
+ SAL AR(AEIOUY)-^ *R
|
||||
+ SAL A(HR)^ *
|
||||
+ SAL A^ *
|
||||
+ SAL AH(AEIOUY)- H
|
||||
+ SAL AR(AEIOUY)- R
|
||||
+ SAL A(HR) _
|
||||
+ SAL <20>^ *
|
||||
+ SAL <20>^ *
|
||||
+ SAL BB- _
|
||||
+ SAL B B
|
||||
+ SAL CQ- _
|
||||
+ SAL CIA X
|
||||
+ SAL CH X
|
||||
+ SAL C(EIY)- S
|
||||
+ SAL CK K
|
||||
+ SAL COUGH^ KF
|
||||
+ SAL CC< C
|
||||
+ SAL C K
|
||||
+ SAL DG(EIY) K
|
||||
+ SAL DD- _
|
||||
+ SAL D T
|
||||
+ SAL <20>< E
|
||||
+ SAL EH(AEIOUY)-^ *H
|
||||
+ SAL ER(AEIOUY)-^ *R
|
||||
+ SAL E(HR)^ *
|
||||
+ SAL ENOUGH^$ *NF
|
||||
+ SAL E^ *
|
||||
+ SAL EH(AEIOUY)- H
|
||||
+ SAL ER(AEIOUY)- R
|
||||
+ SAL E(HR) _
|
||||
+ SAL FF- _
|
||||
+ SAL F F
|
||||
+ SAL GN^ N
|
||||
+ SAL GN$ N
|
||||
+ SAL GNS$ NS
|
||||
+ SAL GNED$ N
|
||||
+ SAL GH(AEIOUY)- K
|
||||
+ SAL GH _
|
||||
+ SAL GG9 K
|
||||
+ SAL G K
|
||||
+ SAL H H
|
||||
+ SAL IH(AEIOUY)-^ *H
|
||||
+ SAL IR(AEIOUY)-^ *R
|
||||
+ SAL I(HR)^ *
|
||||
+ SAL I^ *
|
||||
+ SAL ING6 N
|
||||
+ SAL IH(AEIOUY)- H
|
||||
+ SAL IR(AEIOUY)- R
|
||||
+ SAL I(HR) _
|
||||
+ SAL J K
|
||||
+ SAL KN^ N
|
||||
+ SAL KK- _
|
||||
+ SAL K K
|
||||
+ SAL LAUGH^ LF
|
||||
+ SAL LL- _
|
||||
+ SAL L L
|
||||
+ SAL MB$ M
|
||||
+ SAL MM M
|
||||
+ SAL M M
|
||||
+ SAL NN- _
|
||||
+ SAL N N
|
||||
+ SAL OH(AEIOUY)-^ *H
|
||||
+ SAL OR(AEIOUY)-^ *R
|
||||
+ SAL O(HR)^ *
|
||||
+ SAL O^ *
|
||||
+ SAL OH(AEIOUY)- H
|
||||
+ SAL OR(AEIOUY)- R
|
||||
+ SAL O(HR) _
|
||||
+ SAL PH F
|
||||
+ SAL PN^ N
|
||||
+ SAL PP- _
|
||||
+ SAL P P
|
||||
+ SAL Q K
|
||||
+ SAL RH^ R
|
||||
+ SAL ROUGH^ RF
|
||||
+ SAL RR- _
|
||||
+ SAL R R
|
||||
+ SAL SCH(EOU)- SK
|
||||
+ SAL SC(IEY)- S
|
||||
+ SAL SH X
|
||||
+ SAL SI(AO)- X
|
||||
+ SAL SS- _
|
||||
+ SAL S S
|
||||
+ SAL TI(AO)- X
|
||||
+ SAL TH @
|
||||
+ SAL TCH-- _
|
||||
+ SAL TOUGH^ TF
|
||||
+ SAL TT- _
|
||||
+ SAL T T
|
||||
+ SAL UH(AEIOUY)-^ *H
|
||||
+ SAL UR(AEIOUY)-^ *R
|
||||
+ SAL U(HR)^ *
|
||||
+ SAL U^ *
|
||||
+ SAL UH(AEIOUY)- H
|
||||
+ SAL UR(AEIOUY)- R
|
||||
+ SAL U(HR) _
|
||||
+ SAL V^ W
|
||||
+ SAL V F
|
||||
+ SAL WR^ R
|
||||
+ SAL WH^ W
|
||||
+ SAL W(AEIOU)- W
|
||||
+ SAL X^ S
|
||||
+ SAL X KS
|
||||
+ SAL Y(AEIOU)- Y
|
||||
+ SAL ZZ- _
|
||||
+ SAL Z S
|
||||
+
|
||||
+ # When soundfolding "th" is turned into "@". When this is mistyped as "ht" it
|
||||
+ # soundfolds to "ht". This difference is too big, thus use REP items to lower
|
||||
+ # the score.
|
||||
+ REPSAL 2
|
||||
+ REPSAL ht @
|
||||
+ REPSAL @ ht
|
||||
+
|
||||
PFX A Y 1
|
||||
***************
|
||||
*** 30,33 ****
|
||||
SFX N e ion e
|
||||
! SFX N y ication y
|
||||
! SFX N 0 en [^ey]
|
||||
|
||||
--- 167,170 ----
|
||||
SFX N e ion e
|
||||
! SFX N y ication y
|
||||
! SFX N 0 en [^ey]
|
||||
--- 155,157 ----
|
||||
COMPOUNDRULE n*mp
|
||||
! # WORDCHARS 0123456789
|
||||
|
||||
*** en_US.orig.dic 2015-12-30 18:55:58.928512408 +0100
|
||||
--- en_US.dic 2015-12-30 18:58:56.026596695 +0100
|
||||
***************
|
||||
*** 40,42 ****
|
||||
SFX H y ieth y
|
||||
! SFX H 0 th [^y]
|
||||
|
||||
--- 177,179 ----
|
||||
SFX H y ieth y
|
||||
! SFX H 0 th [^y]
|
||||
|
||||
***************
|
||||
*** 47,49 ****
|
||||
SFX G e ing e
|
||||
! SFX G 0 ing [^e]
|
||||
|
||||
--- 184,186 ----
|
||||
SFX G e ing e
|
||||
! SFX G 0 ing [^e]
|
||||
|
||||
***************
|
||||
*** 99,101 ****
|
||||
|
||||
! REP 88
|
||||
REP a ei
|
||||
--- 236,238 ----
|
||||
|
||||
! REP 91
|
||||
REP a ei
|
||||
***************
|
||||
*** 137,138 ****
|
||||
--- 274,277 ----
|
||||
REP uy i
|
||||
+ REP y ie
|
||||
+ REP ie y
|
||||
REP i ee
|
||||
***************
|
||||
*** 174,175 ****
|
||||
--- 313,315 ----
|
||||
REP ew ue
|
||||
+ REP uf ough
|
||||
REP uff ough
|
||||
***************
|
||||
*** 188 ****
|
||||
--- 328,332 ----
|
||||
REP shun cion
|
||||
+ REP an_a a
|
||||
+ REP an_a an
|
||||
+ REP a_an a
|
||||
+ REP a_an an
|
||||
*** en_US.orig.dic Fri Apr 15 13:20:36 2005
|
||||
--- en_US.dic Wed Mar 8 13:14:43 2006
|
||||
***************
|
||||
*** 1,2 ****
|
||||
! 62076
|
||||
a
|
||||
--- 1,2 ----
|
||||
! 62078
|
||||
a
|
||||
***************
|
||||
*** 5944,5946 ****
|
||||
bk
|
||||
! b/KGD
|
||||
Bk/M
|
||||
--- 5944,5947 ----
|
||||
bk
|
||||
! probing
|
||||
! probed
|
||||
Bk/M
|
||||
***************
|
||||
*** 9007,9009 ****
|
||||
Cazzie/M
|
||||
- c/B
|
||||
CB
|
||||
--- 9008,9009 ----
|
||||
***************
|
||||
*** 9233,9235 ****
|
||||
cetacean/S
|
||||
- cetera/S
|
||||
Cetus/M
|
||||
--- 9233,9234 ----
|
||||
***************
|
||||
*** 11575,11576 ****
|
||||
--- 11574,11577 ----
|
||||
conduit/MS
|
||||
+ coned
|
||||
+ cone/MS
|
||||
coneflower/M
|
||||
***************
|
||||
*** 11712,11713 ****
|
||||
--- 11713,11715 ----
|
||||
coniferous
|
||||
+ conj.
|
||||
conjectural/Y
|
||||
***************
|
||||
*** 14038,14043 ****
|
||||
dazzling/Y
|
||||
- db
|
||||
- DB
|
||||
dbl
|
||||
dB/M
|
||||
DBMS
|
||||
--- 14040,14046 ----
|
||||
dazzling/Y
|
||||
dbl
|
||||
dB/M
|
||||
+ dBi
|
||||
+ dBm
|
||||
+ dBd
|
||||
DBMS
|
||||
***************
|
||||
*** 15464,15466 ****
|
||||
dingbat/MS
|
||||
! ding/GD
|
||||
dinghy/SM
|
||||
--- 15467,15469 ----
|
||||
dingbat/MS
|
||||
! ding/GDS
|
||||
dinghy/SM
|
||||
***************
|
||||
*** 15690,15692 ****
|
||||
dishevelment/MS
|
||||
! dish/GD
|
||||
dishonest
|
||||
--- 15693,15695 ----
|
||||
dishevelment/MS
|
||||
! dish/GDMS
|
||||
dishonest
|
||||
***************
|
||||
*** 15973,15975 ****
|
||||
djellaba/S
|
||||
- d/JGVX
|
||||
Djibouti/M
|
||||
--- 15976,15977 ----
|
||||
***************
|
||||
*** 16911,16912 ****
|
||||
--- 16913,16915 ----
|
||||
dusty/RPT
|
||||
+ Farsi
|
||||
Dutch/M
|
||||
***************
|
||||
*** 17357,17359 ****
|
||||
EFL
|
||||
- e/FMDS
|
||||
Efrain/M
|
||||
--- 17360,17361 ----
|
||||
***************
|
||||
*** 18780,18782 ****
|
||||
estuary/SM
|
||||
! et
|
||||
ET
|
||||
--- 18782,18785 ----
|
||||
estuary/SM
|
||||
! et cetera/S
|
||||
! et al.
|
||||
ET
|
||||
***************
|
||||
*** 18785,18787 ****
|
||||
eta/SM
|
||||
! etc
|
||||
etcetera/SM
|
||||
--- 18788,18790 ----
|
||||
eta/SM
|
||||
! etc.
|
||||
etcetera/SM
|
||||
***************
|
||||
*** 20559,20561 ****
|
||||
Fiori/M
|
||||
- f/IRAC
|
||||
firearm/SM
|
||||
--- 20562,20563 ----
|
||||
***************
|
||||
*** 24402,24404 ****
|
||||
guzzler/M
|
||||
! g/VBX
|
||||
Gwalior/M
|
||||
--- 24404,24406 ----
|
||||
guzzler/M
|
||||
! gens
|
||||
Gwalior/M
|
||||
***************
|
||||
*** 25473,25475 ****
|
||||
hemp/MNS
|
||||
- h/EMS
|
||||
hemstitch/DSMG
|
||||
--- 25475,25476 ----
|
||||
***************
|
||||
*** 25963,25965 ****
|
||||
hobbing
|
||||
! hobbit
|
||||
hobbler/M
|
||||
--- 25964,25966 ----
|
||||
hobbing
|
||||
! hobbit/MS
|
||||
hobbler/M
|
||||
***************
|
||||
*** 26524,26526 ****
|
||||
HST
|
||||
- ht
|
||||
HTML
|
||||
--- 26525,26526 ----
|
||||
***************
|
||||
*** 26942,26944 ****
|
||||
Hz
|
||||
- i
|
||||
I
|
||||
--- 26942,26943 ----
|
||||
***************
|
||||
*** 29627,29629 ****
|
||||
Jezebel/MS
|
||||
- j/F
|
||||
JFK/M
|
||||
--- 29626,29627 ----
|
||||
***************
|
||||
*** 30578,30580 ****
|
||||
keyword/SM
|
||||
! k/FGEIS
|
||||
kg
|
||||
--- 30576,30583 ----
|
||||
keyword/SM
|
||||
! inking
|
||||
! disking
|
||||
! conking
|
||||
! inks
|
||||
! disks
|
||||
! conks
|
||||
kg
|
||||
***************
|
||||
*** 32694,32696 ****
|
||||
Lizzy/M
|
||||
! l/JGVXT
|
||||
Ljubljana/M
|
||||
--- 32697,32699 ----
|
||||
Lizzy/M
|
||||
! lings
|
||||
Ljubljana/M
|
||||
***************
|
||||
*** 34456,34458 ****
|
||||
mash/JGZMSRD
|
||||
! m/ASK
|
||||
masked/U
|
||||
--- 34459,34462 ----
|
||||
mash/JGZMSRD
|
||||
! rems
|
||||
! prom/S
|
||||
masked/U
|
||||
***************
|
||||
*** 34746,34747 ****
|
||||
--- 34750,34753 ----
|
||||
Mb
|
||||
+ Mbyte
|
||||
+ Mbit
|
||||
MB
|
||||
***************
|
||||
*** 36605,36606 ****
|
||||
--- 36611,36613 ----
|
||||
Moog
|
||||
+ Moolenaar/M
|
||||
moo/GSD
|
||||
***************
|
||||
*** 38871,38873 ****
|
||||
NSF
|
||||
- n/T
|
||||
NT
|
||||
--- 38878,38879 ----
|
||||
***************
|
||||
*** 39011,39013 ****
|
||||
NZ
|
||||
- o
|
||||
O
|
||||
--- 39017,39018 ----
|
||||
***************
|
||||
*** 39532,39534 ****
|
||||
om/XN
|
||||
- ON
|
||||
onanism/M
|
||||
--- 39537,39538 ----
|
||||
***************
|
||||
*** 42508,42510 ****
|
||||
pinfeather/SM
|
||||
! ping/GDRM
|
||||
pinheaded/P
|
||||
--- 42512,42514 ----
|
||||
pinfeather/SM
|
||||
! ping/GDRMS
|
||||
pinheaded/P
|
||||
***************
|
||||
*** 42983,42984 ****
|
||||
--- 42987,42989 ----
|
||||
pneumonia/MS
|
||||
+ pneumonic
|
||||
PO
|
||||
***************
|
||||
*** 43216,43218 ****
|
||||
pompom/SM
|
||||
! pompon's
|
||||
pomposity/MS
|
||||
--- 43221,43223 ----
|
||||
pompom/SM
|
||||
! pompon/M
|
||||
pomposity/MS
|
||||
***************
|
||||
*** 44940,44942 ****
|
||||
PX
|
||||
- p/XTGJ
|
||||
Pygmalion/M
|
||||
--- 44945,44946 ----
|
||||
***************
|
||||
*** 44983,44985 ****
|
||||
pyx/MDSG
|
||||
- q
|
||||
Q
|
||||
--- 44987,44988 ----
|
||||
***************
|
||||
*** 46507,46509 ****
|
||||
Renault/MS
|
||||
- rend
|
||||
renderer/M
|
||||
--- 46510,46511 ----
|
||||
***************
|
||||
*** 47258,47260 ****
|
||||
ringer/M
|
||||
! ring/GZJDRM
|
||||
ringing/Y
|
||||
--- 47260,47262 ----
|
||||
ringer/M
|
||||
! ring/GZJDRMS
|
||||
ringing/Y
|
||||
***************
|
||||
*** 47857,47862 ****
|
||||
rt
|
||||
- rte
|
||||
Rte
|
||||
RTFM
|
||||
- r/TGVJ
|
||||
Rubaiyat/M
|
||||
--- 47859,47862 ----
|
||||
***************
|
||||
*** 48085,48087 ****
|
||||
Ryun/M
|
||||
- S
|
||||
SA
|
||||
--- 48085,48086 ----
|
||||
***************
|
||||
*** 54450,54452 ****
|
||||
swung
|
||||
! s/XJBG
|
||||
sybarite/MS
|
||||
--- 54449,54451 ----
|
||||
swung
|
||||
! sings
|
||||
sybarite/MS
|
||||
***************
|
||||
*** 56906,56908 ****
|
||||
transit/SGVMD
|
||||
! transl
|
||||
translatability/M
|
||||
--- 56905,56907 ----
|
||||
transit/SGVMD
|
||||
! transl.
|
||||
translatability/M
|
||||
***************
|
||||
*** 57728,57730 ****
|
||||
TX
|
||||
! t/XTJBG
|
||||
Tybalt/M
|
||||
--- 57727,57729 ----
|
||||
TX
|
||||
! tings
|
||||
Tybalt/M
|
||||
***************
|
||||
*** 57809,57811 ****
|
||||
Tzeltal/M
|
||||
- u
|
||||
U
|
||||
--- 57808,57809 ----
|
||||
***************
|
||||
*** 58494,58495 ****
|
||||
--- 58492,58494 ----
|
||||
unsearchable
|
||||
+ searchable
|
||||
unseasonal
|
||||
***************
|
||||
*** 59072,59074 ****
|
||||
vast/PTSYR
|
||||
! v/ASV
|
||||
VAT
|
||||
--- 59071,59073 ----
|
||||
vast/PTSYR
|
||||
! revs
|
||||
VAT
|
||||
***************
|
||||
*** 59538,59540 ****
|
||||
vi/MDR
|
||||
! vim/MS
|
||||
vinaigrette/MS
|
||||
--- 59537,59540 ----
|
||||
vi/MDR
|
||||
! Vim/MS
|
||||
! vim/?
|
||||
vinaigrette/MS
|
||||
***************
|
||||
*** 61534,61536 ****
|
||||
WWW
|
||||
! w/XTJGV
|
||||
WY
|
||||
--- 61534,61537 ----
|
||||
WWW
|
||||
! wens
|
||||
! wings
|
||||
WY
|
||||
***************
|
||||
*** 61750,61752 ****
|
||||
yew/SM
|
||||
- y/F
|
||||
Yggdrasil/M
|
||||
--- 61751,61752 ----
|
||||
***************
|
||||
*** 62058,62060 ****
|
||||
Zsigmondy/M
|
||||
! z/TGJ
|
||||
Zubenelgenubi/M
|
||||
--- 62058,62060 ----
|
||||
Zsigmondy/M
|
||||
! zings
|
||||
Zubenelgenubi/M
|
||||
***************
|
||||
*** 62077 ****
|
||||
--- 62077,62092 ----
|
||||
zymurgy/S
|
||||
+ nd
|
||||
+ the the/!
|
||||
+ and and/!
|
||||
+ a a/!
|
||||
+ an an/!
|
||||
+ a an/!
|
||||
+ an a/!
|
||||
+ the a/!
|
||||
+ the an/!
|
||||
+ a the/!
|
||||
+ an the/!
|
||||
+ PayPal
|
||||
+ Google
|
||||
+ e.g.
|
||||
+ TCP\/IP
|
||||
*** 48757 ****
|
||||
--- 48757,48767 ----
|
||||
zymurgy/M
|
||||
+ a a/%
|
||||
+ a an/%
|
||||
+ a the/%
|
||||
+ an a/%
|
||||
+ an an/%
|
||||
+ an the/%
|
||||
+ and and/%
|
||||
+ the a/%
|
||||
+ the an/%
|
||||
+ the the/%
|
||||
|
||||
@@ -30,7 +30,7 @@ $SPELLDIR/en.ascii.spl : $FILES
|
||||
:sys $VIM -u NONE -e -c "mkspell! -ascii $SPELLDIR/en
|
||||
en_US en_AU en_CA en_GB en_NZ" -c q
|
||||
|
||||
../README_en.txt: README_en_US.txt README_en_AU.txt
|
||||
../README_en.txt: README_en_US.txt README_en_AU.txt README_en_CA.txt README_en_GB.txt README_en_NZ.txt
|
||||
:print en_US >!$target
|
||||
:cat README_en_US.txt | :eval re.sub('\r', '', stdin) >>$target
|
||||
:print =================================================== >>$target
|
||||
@@ -48,6 +48,12 @@ $SPELLDIR/en.ascii.spl : $FILES
|
||||
|
||||
#
|
||||
# Fetching the files from OpenOffice.org.
|
||||
# THIS URL NO LONGER WORKS.
|
||||
#
|
||||
# Files for en_US, en_CA and en_GB obtaind from
|
||||
# github.com/marcoagpinto/aoo-mozilla-en-dict
|
||||
#
|
||||
# NOTE: en_AU and en_NZ use older libraries.
|
||||
#
|
||||
OODIR = http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries
|
||||
:attr {fetch = $OODIR/%file%} en_US.zip en_CA.zip en_NZ.zip
|
||||
@@ -117,7 +123,7 @@ en_NZ.aff en_NZ.dic: {buildcheck=}
|
||||
:sys patch <en_NZ.diff
|
||||
|
||||
|
||||
# Generate diff files, so that others can get the OpenOffice files and apply
|
||||
# Generate diff files, so that others can get the original files and apply
|
||||
# the diffs to get the Vim versions.
|
||||
|
||||
diff:
|
||||
|
||||
@@ -2,10 +2,10 @@
|
||||
" Program: CMake - Cross-Platform Makefile Generator
|
||||
" Module: $RCSfile: cmake-syntax.vim,v $
|
||||
" Language: CMake
|
||||
" Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
||||
" Former Maintainer: Dimitri Merejkowsky <d.merej@gmail.com>
|
||||
" Maintainer: Dimitri Merejkowsky <d.merej@gmail.com>
|
||||
" Former Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
|
||||
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
|
||||
" Last Change: 2015 Sep 29
|
||||
" Last Change: 2015 Dec 17
|
||||
" Version: $Revision: 1.10 $
|
||||
"
|
||||
" Licence: The CMake license applies to this file. See
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2015 Apr 30
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
|
||||
" Last Change: 2015 Oct 24
|
||||
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debchangelog.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
if version < 600
|
||||
@@ -23,7 +23,7 @@ let binNMU='binary-only=yes'
|
||||
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
|
||||
exe 'syn match debchangelogFirstKV contained "; \('.urgency.'\|'.binNMU.'\)"'
|
||||
exe 'syn match debchangelogOtherKV contained ", \('.urgency.'\|'.binNMU.'\)"'
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|wheezy-%(backports%(-sloppy)=|security)|jessie%(-backports|-security)=|stretch|%(devel|lucid|precise|trusty|utopic)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|wheezy-%(backports%(-sloppy)=|security)|jessie%(-backports|-security)=|stretch|%(devel|precise|trusty|vivid|wily|xenial)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
|
||||
syn match debchangelogVersion contained "(.\{-})"
|
||||
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
|
||||
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
|
||||
" Wichert Akkerman <wakkerma@debian.org>
|
||||
" Last Change: 2014 Oct 08
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
|
||||
" Last Change: 2015 Oct 24
|
||||
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debcontrol.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
if version < 600
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
" Language: Debian sources.list
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
|
||||
" Last Change: 2015 May 25
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
|
||||
" Last Change: 2015 Oct 24
|
||||
" URL: https://anonscm.debian.org/cgit/pkg-vim/vim.git/plain/runtime/syntax/debsources.vim
|
||||
|
||||
" Standard syntax initialization
|
||||
if version < 600
|
||||
@@ -27,7 +27,7 @@ let s:supported = [
|
||||
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
|
||||
\ 'squeeze', 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
|
||||
\
|
||||
\ 'precise', 'trusty', 'utopic', 'vivid', 'wily', 'devel'
|
||||
\ 'precise', 'trusty', 'vivid', 'wily', 'xenial', 'devel'
|
||||
\ ]
|
||||
let s:unsupported = [
|
||||
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
|
||||
@@ -35,7 +35,8 @@ let s:unsupported = [
|
||||
\
|
||||
\ 'warty', 'hoary', 'breezy', 'dapper', 'edgy', 'feisty',
|
||||
\ 'gutsy', 'hardy', 'intrepid', 'jaunty', 'karmic', 'lucid',
|
||||
\ 'maverick', 'natty', 'oneiric', 'quantal', 'raring', 'saucy'
|
||||
\ 'maverick', 'natty', 'oneiric', 'quantal', 'raring', 'saucy',
|
||||
\ 'utopic'
|
||||
\ ]
|
||||
let &cpo=s:cpo
|
||||
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
" Vim syntax file
|
||||
" Language: Fortran 2008 (and earlier versions: 2003, 95, 90, and 77)
|
||||
" Version: 0.95
|
||||
" Last Change: 2015 Jan. 15
|
||||
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
|
||||
" Version: 0.96
|
||||
" Last Change: 2015 Nov. 30
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
||||
" Usage: For instructions, do :help fortran-syntax from Vim
|
||||
" Credits:
|
||||
" Version 0.1 was based on the fortran 77 syntax file by Mario Eusebio and
|
||||
" Preben Guldberg. Useful suggestions were made by: Andrej Panjkov,
|
||||
" Preben Guldberg. Useful suggestions and contributions were made by: Andrej Panjkov,
|
||||
" Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile,
|
||||
" Walter Dieudonn<6E>, Alexander Wagner, Roman Bertle, Charles Rendleman,
|
||||
" Andrew Griffiths, Joe Krahn, Hendrik Merx, and Matt Thompson.
|
||||
@@ -19,8 +19,8 @@ let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Choose fortran_dialect using the priority:
|
||||
" source file directive > buffer-local value > global value > default
|
||||
" try using directive in first three lines of file
|
||||
" source file directive > buffer-local value > global value > file extension
|
||||
" first try using directive in first three lines of file
|
||||
let b:fortran_retype = getline(1)." ".getline(2)." ".getline(3)
|
||||
if b:fortran_retype =~? '\<fortran_dialect\s*=\s*F\>'
|
||||
let b:fortran_dialect = "F"
|
||||
@@ -51,6 +51,12 @@ if !exists("b:fortran_fixed_source")
|
||||
elseif exists("fortran_fixed_source")
|
||||
" User guarantees fixed source form for all fortran files
|
||||
let b:fortran_fixed_source = 1
|
||||
elseif expand("%:e") ==? "f\<90\|95\|03\|08\>"
|
||||
" Free-form file extension defaults as in Intel ifort, gcc(gfortran), NAG, Pathscale, and Cray compilers
|
||||
let b:fortran_fixed_source = 0
|
||||
elseif expand("%:e") ==? "f\|f77\|for"
|
||||
" Fixed-form file extension defaults
|
||||
let b:fortran_fixed_source = 1
|
||||
else
|
||||
" Modern fortran still allows both free and fixed source form.
|
||||
" Assume fixed source form unless signs of free source form
|
||||
@@ -67,8 +73,8 @@ if !exists("b:fortran_fixed_source")
|
||||
while s:ln <= s:lmax
|
||||
let s:test = strpart(getline(s:ln),0,5)
|
||||
if s:test !~ '^[Cc*]' && s:test !~ '^ *[!#]' && s:test =~ '[^ 0-9\t]' && s:test !~ '^[ 0-9]*\t'
|
||||
let b:fortran_fixed_source = 0
|
||||
break
|
||||
let b:fortran_fixed_source = 0
|
||||
break
|
||||
endif
|
||||
let s:ln = s:ln + 1
|
||||
endwhile
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Objective-C
|
||||
" Maintainer: Kazunobu Kuriyama <kazunobu.kuriyama@nifty.com>
|
||||
" Last Change: 2013 Jun 13
|
||||
" Remark: Modern Objective-C Edition
|
||||
" Maintainer: Kazunobu Kuriyama <kazunobu.kuriyama@gmail.com>
|
||||
" Last Change: 2015 Dec 14
|
||||
|
||||
""" Preparation for loading ObjC stuff
|
||||
if exists("b:current_syntax")
|
||||
@@ -25,14 +24,14 @@ syn keyword objcUsefulTerm nil Nil NO YES
|
||||
|
||||
" Preprocessor Directives
|
||||
syn region objcImported display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
|
||||
syn match objcImported display contained "<[^>]*>"
|
||||
syn match objcImported display contained "\(<\h[-a-zA-Z0-9_/]*\.h>\|<[a-z0-9]\+>\)"
|
||||
syn match objcImport display "^\s*\(%:\|#\)\s*import\>\s*["<]" contains=objcImported
|
||||
|
||||
" ObjC Compiler Directives
|
||||
syn match objcObjDef display /@interface\>\|@implementation\>\|@end\>\|@class\>/
|
||||
syn match objcProtocol display /@protocol\>\|@optional\>\|@required\>/
|
||||
syn match objcProperty display /@property\>\|@synthesize\>\|@dynamic\>/
|
||||
syn match objcIvarScope display /@private\>\|@protected\>\|@public\>/
|
||||
syn match objcIvarScope display /@private\>\|@protected\>\|@public\>\|@package\>/
|
||||
syn match objcInternalRep display /@selector\>\|@encode\>/
|
||||
syn match objcException display /@try\>\|@throw\>\|@catch\|@finally\>/
|
||||
syn match objcThread display /@synchronized\>/
|
||||
@@ -56,6 +55,17 @@ syn keyword objcTollFreeBridgeQualifier __bridge __bridge_retained __bridge_tran
|
||||
" ObjC Type Qualifiers for Remote Messaging
|
||||
syn match objcRemoteMessagingQualifier display contained /\((\s*oneway\s\+\|(\s*in\s\+\|(\s*out\s\+\|(\s*inout\s\+\|(\s*bycopy\s\+\(in\(out\)\?\|out\)\?\|(\s*byref\s\+\(in\(out\)\?\|out\)\?\)/hs=s+1
|
||||
|
||||
" ObjC Storage Classes
|
||||
syn keyword objcStorageClass _Nullable _Nonnull _Null_unspecified
|
||||
syn keyword objcStorageClass __nullable __nonnull __null_unspecified
|
||||
syn keyword objcStorageClass nullable nonnull null_unspecified
|
||||
|
||||
" ObjC type specifier
|
||||
syn keyword objcTypeSpecifier __kindof __covariant
|
||||
|
||||
" ObjC Type Infomation Parameters
|
||||
syn keyword objcTypeInfoParams ObjectType KeyType
|
||||
|
||||
" shorthand
|
||||
syn cluster objcTypeQualifier contains=objcBlocksQualifier,objcObjectLifetimeQualifier,objcTollFreeBridgeQualifier,objcRemoteMessagingQualifier
|
||||
|
||||
@@ -75,17 +85,24 @@ syn keyword objcDeclPropAccessorType readonly readwrite contained
|
||||
syn keyword objcDeclPropAssignSemantics assign retain copy contained
|
||||
syn keyword objcDeclPropAtomicity nonatomic contained
|
||||
syn keyword objcDeclPropARC strong weak contained
|
||||
syn region objcDeclProp display transparent keepend start=/@property\s*(/ end=/)/ contains=objcProperty,objcDeclPropAccessorName,objcDeclPropAccessorType,objcDeclPropAssignSemantics,objcDeclPropAtomicity,objcDeclPropARC
|
||||
syn match objcDeclPropNullable /\((\|\s\)nullable\(,\|)\)/ms=s+1,hs=s+1,me=e-1,he=e-1 contained
|
||||
syn match objcDeclPropNonnull /\((\|\s\)nonnull\(,\|)\)/ms=s+1,hs=s+1,me=e-1,he=e-1 contained
|
||||
syn match objcDeclPropNullUnspecified /\((\|\s\)null_unspecified\(,\|)\)/ms=s+1,hs=s+1,me=e-1,he=e-1 contained
|
||||
syn keyword objcDeclProcNullResettable null_resettable contained
|
||||
syn region objcDeclProp display transparent keepend start=/@property\s*(/ end=/)/ contains=objcProperty,objcDeclPropAccessorName,objcDeclPropAccessorType,objcDeclPropAssignSemantics,objcDeclPropAtomicity,objcDeclPropARC,objcDeclPropNullable,objcDeclPropNonnull,objcDeclPropNullUnspecified,objcDeclProcNullResettable
|
||||
|
||||
" To distinguish colons in methods and dictionaries from those in C's labels.
|
||||
syn match objcColon display /^\s*\h\w*\s*\:\(\s\|.\)/me=e-1,he=e-1
|
||||
|
||||
" To distinguish a protocol list from system header files
|
||||
syn match objcProtocolList display /<\h\w*\(\s*,\s*\h\w*\)*>/ contains=objcPrincipalType,cType,Type
|
||||
syn match objcProtocolList display /<\h\w*\(\s*,\s*\h\w*\)*>/ contains=objcPrincipalType,cType,Type,objcType,objcTypeInfoParams
|
||||
|
||||
" Type info for collection classes
|
||||
syn match objcTypeInfo display /<\h\w*\s*<\(\h\w*\s*\**\|\h\w*\)>>/ contains=objcPrincipalType,cType,Type,objcType,objcTypeInfoParams
|
||||
|
||||
" shorthand
|
||||
syn cluster objcCEntities contains=cType,cStructure,cStorageClass,cString,cCharacter,cSpecialCharacter,cNumbers,cConstant,cOperator,cComment,cCommentL,cStatement,cLabel,cConditional,cRepeat
|
||||
syn cluster objcObjCEntities contains=objcHiddenArgument,objcPrincipalType,objcString,objcUsefulTerm,objcProtocol,objcInternalRep,objcException,objcThread,objcPool,objcModuleImport,@objcTypeQualifier,objcLiteralSyntaxNumber,objcLiteralSyntaxOp,objcLiteralSyntaxChar,objcLiteralSyntaxSpecialChar,objcProtocolList,objcColon,objcFastEnumKeyword,objcType,objcClass,objcMacro,objcEnum,objcEnumValue,objcExceptionValue,objcNotificationValue,objcConstVar,objcPreProcMacro
|
||||
syn cluster objcObjCEntities contains=objcHiddenArgument,objcPrincipalType,objcString,objcUsefulTerm,objcProtocol,objcInternalRep,objcException,objcThread,objcPool,objcModuleImport,@objcTypeQualifier,objcLiteralSyntaxNumber,objcLiteralSyntaxOp,objcLiteralSyntaxChar,objcLiteralSyntaxSpecialChar,objcProtocolList,objcColon,objcFastEnumKeyword,objcType,objcClass,objcMacro,objcEnum,objcEnumValue,objcExceptionValue,objcNotificationValue,objcConstVar,objcPreProcMacro,objcTypeInfo
|
||||
|
||||
" Objective-C Message Expressions
|
||||
syn region objcMethodCall start=/\[/ end=/\]/ contains=objcMethodCall,objcBlocks,@objcObjCEntities,@objcCEntities
|
||||
@@ -114,13 +131,17 @@ syn keyword objcEnum NSSortOptions
|
||||
syn keyword objcEnumValue NSSortConcurrent NSSortStable
|
||||
syn keyword objcEnumValue NSNotFound
|
||||
syn keyword objcMacro NSIntegerMax NSIntegerMin NSUIntegerMax
|
||||
syn keyword objcMacro NS_INLINE NS_BLOCKS_AVAILABLE NS_NONATOMIC_IOSONLY NS_FORMAT_FUNCTION NS_FORMAT_ARGUMENT NS_RETURNS_RETAINED NS_RETURNS_NOT_RETAINED NS_RETURNS_INNER_POINTER NS_AUTOMATED_REFCOUNT_UNAVAILABLE NS_AUTOMATED_REFCOUNT_WEAK_UNAVAILABLE NS_REQUIRES_PROPERTY_DEFINITIONS NS_REPLACES_RECEIVER NS_RELEASES_ARGUMENT NS_VALID_UNTIL_END_OF_SCOPE NS_ROOT_CLASS NS_REQUIRES_SUPER NS_PROTOCOL_REQUIRES_EXPLICIT_IMPLEMENTATION NS_DESIGNATED_INITIALIZER NS_REQUIRES_NIL_TERMINATION
|
||||
syn keyword objcEnum NSQualityOfService
|
||||
syn keyword objcEnumValue NSQualityOfServiceUserInteractive NSQualityOfServiceUserInitiated NSQualityOfServiceUtility NSQualityOfServiceBackground NSQualityOfServiceDefault
|
||||
" NSRange.h
|
||||
syn keyword objcType NSRange NSRangePointer
|
||||
" NSGeometry.h
|
||||
syn keyword objcType NSPoint NSPointPointer NSPointArray NSSize NSSizePointer NSSizeArray NSRect NSRectPointer NSRectArray
|
||||
syn keyword objcType NSPoint NSPointPointer NSPointArray NSSize NSSizePointer NSSizeArray NSRect NSRectPointer NSRectArray NSEdgeInsets
|
||||
syn keyword objcEnum NSRectEdge
|
||||
syn keyword objcEnumValue NSMinXEdge NSMinYEdge NSMaxXEdge NSMaxYEdge
|
||||
syn keyword objcConstVar NSZeroPoint NSZeroSize NSZeroRect
|
||||
syn keyword objcEnumValue NSRectEdgeMinX NSRectEdgeMinY NSRectEdgeMaxX NSRectEdgeMaxY
|
||||
syn keyword objcConstVar NSZeroPoint NSZeroSize NSZeroRect NSEdgeInsetsZero
|
||||
syn keyword cType CGFloat CGPoint CGSize CGRect
|
||||
syn keyword objcEnum NSAlignmentOptions
|
||||
syn keyword objcEnumValue NSAlignMinXInward NSAlignMinYInward NSAlignMaxXInward NSAlignMaxYInward NSAlignWidthInward NSAlignHeightInward NSAlignMinXOutward NSAlignMinYOutward NSAlignMaxXOutward NSAlignMaxYOutward NSAlignWidthOutward NSAlignHeightOutward NSAlignMinXNearest NSAlignMinYNearest NSAlignMaxXNearest NSAlignMaxYNearest NSAlignWidthNearest NSAlignHeightNearest NSAlignRectFlipped NSAlignAllEdgesInward NSAlignAllEdgesOutward NSAlignAllEdgesNearest
|
||||
@@ -130,6 +151,7 @@ syn keyword objcEnum NSRoundingMode
|
||||
syn keyword objcEnumValue NSRoundPlain NSRoundDown NSRoundUp NSRoundBankers
|
||||
syn keyword objcEnum NSCalculationError
|
||||
syn keyword objcEnumValue NSCalculationNoError NSCalculationLossOfPrecision NSCalculationUnderflow NSCalculationOverflow NSCalculationDivideByZero
|
||||
syn keyword objcConstVar NSDecimalMaxSize NSDecimalNoScale
|
||||
" NSDate.h
|
||||
syn match objcClass /NSDate\s*\*/me=s+6,he=s+6
|
||||
syn keyword objcType NSTimeInterval
|
||||
@@ -137,11 +159,13 @@ syn keyword objcNotificationValue NSSystemClockDidChangeNotification
|
||||
syn keyword objcMacro NSTimeIntervalSince1970
|
||||
" NSZone.h
|
||||
syn match objcType /NSZone\s*\*/me=s+6,he=s+6
|
||||
syn keyword objcEnumValue NSScannedOption NSCollectorDisabledOption
|
||||
" NSError.h
|
||||
syn match objcClass /NSError\s*\*/me=s+7,he=s+7
|
||||
syn keyword objcConstVar NSCocoaErrorDomain NSPOSIXErrorDomain NSOSStatusErrorDomain NSMachErrorDomain NSUnderlyingErrorKey NSLocalizedDescriptionKey NSLocalizedFailureReasonErrorKey NSLocalizedRecoverySuggestionErrorKey NSLocalizedRecoveryOptionsErrorKey NSRecoveryAttempterErrorKey NSHelpAnchorErrorKey NSStringEncodingErrorKey NSURLErrorKey NSFilePathErrorKey
|
||||
" NSException.h
|
||||
syn match objcClass /NSException\s*\*/me=s+11,he=s+11
|
||||
syn match objcClass /NSAssertionHandler\s*\*/me=s+18,he=s+18
|
||||
syn keyword objcType NSUncaughtExceptionHandler
|
||||
syn keyword objcConstVar NSGenericException NSRangeException NSInvalidArgumentException NSInternalInconsistencyException NSMallocException NSObjectInaccessibleException NSObjectNotAvailableException NSDestinationInvalidException NSPortTimeoutException NSInvalidSendPortException NSInvalidReceivePortException NSPortSendException NSPortReceiveException NSOldStyleException
|
||||
" NSNotification.h
|
||||
@@ -153,6 +177,8 @@ syn keyword objcConstVar NSLocalNotificationCenterType
|
||||
syn keyword objcEnum NSNotificationSuspensionBehavior
|
||||
syn keyword objcEnumValue NSNotificationSuspensionBehaviorDrop NSNotificationSuspensionBehaviorCoalesce NSNotificationSuspensionBehaviorHold NSNotificationSuspensionBehaviorHold NSNotificationSuspensionBehaviorDeliverImmediately
|
||||
syn keyword objcEnumValue NSNotificationDeliverImmediately NSNotificationPostToAllSessions
|
||||
syn keyword objcEnum NSDistributedNotificationOptions
|
||||
syn keyword objcEnumValue NSDistributedNotificationDeliverImmediately NSDistributedNotificationPostToAllSessions
|
||||
" NSNotificationQueue.h
|
||||
syn match objcClass /NSNotificationQueue\s*\*/me=s+19,he=s+19
|
||||
syn keyword objcEnum NSPostingStyle
|
||||
@@ -161,11 +187,15 @@ syn keyword objcEnum NSNotificationCoalescing
|
||||
syn keyword objcEnumValue NSNotificationNoCoalescing NSNotificationCoalescingOnName NSNotificationCoalescingOnSender
|
||||
" NSEnumerator.h
|
||||
syn match objcClass /NSEnumerator\s*\*/me=s+12,he=s+12
|
||||
syn match objcClass /NSEnumerator<.*>\s*\*/me=s+12,he=s+12 contains=objcTypeInfoParams
|
||||
syn keyword objcType NSFastEnumerationState
|
||||
" NSIndexSet.h
|
||||
syn match objcClass /NSIndexSet\s*\*/me=s+10,he=s+10
|
||||
syn match objcClass /NSMutableIndexSet\s*\*/me=s+17,he=s+17
|
||||
" NSCharecterSet.h
|
||||
syn match objcClass /NSCharacterSet\s*\*/me=s+14,he=s+14
|
||||
syn match objcClass /NSMutableCharacterSet\s*\*/me=s+21,he=s+21
|
||||
syn keyword objcConstVar NSOpenStepUnicodeReservedBase
|
||||
" NSURL.h
|
||||
syn match objcClass /NSURL\s*\*/me=s+5,he=s+5
|
||||
syn keyword objcEnum NSURLBookmarkCreationOptions
|
||||
@@ -174,11 +204,11 @@ syn keyword objcEnum NSURLBookmarkResolutionOptions
|
||||
syn keyword objcEnumValue NSURLBookmarkResolutionWithoutUI NSURLBookmarkResolutionWithoutMounting NSURLBookmarkResolutionWithSecurityScope
|
||||
syn keyword objcType NSURLBookmarkFileCreationOptions
|
||||
syn keyword objcConstVar NSURLFileScheme NSURLKeysOfUnsetValuesKey
|
||||
syn keyword objcConstVar NSURLNameKey NSURLLocalizedNameKey NSURLIsRegularFileKey NSURLIsDirectoryKey NSURLIsSymbolicLinkKey NSURLIsVolumeKey NSURLIsPackageKey NSURLIsSystemImmutableKey NSURLIsUserImmutableKey NSURLIsHiddenKey NSURLHasHiddenExtensionKey NSURLCreationDateKey NSURLContentAccessDateKey NSURLContentModificationDateKey NSURLAttributeModificationDateKey NSURLLinkCountKey NSURLParentDirectoryURLKey NSURLVolumeURLKey NSURLTypeIdentifierKey NSURLLocalizedTypeDescriptionKey NSURLLabelNumberKey NSURLLabelColorKey NSURLLocalizedLabelKey NSURLEffectiveIconKey NSURLCustomIconKey NSURLFileResourceIdentifierKey NSURLVolumeIdentifierKey NSURLPreferredIOBlockSizeKey NSURLIsReadableKey NSURLIsWritableKey NSURLIsExecutableKey NSURLFileSecurityKey NSURLIsExcludedFromBackupKey NSURLPathKey NSURLIsMountTriggerKey NSURLFileResourceTypeKey
|
||||
syn keyword objcConstVar NSURLFileResourceTypeNamedPipe NSURLFileResourceTypeCharacterSpecial NSURLFileResourceTypeDirectory NSURLFileResourceTypeBlockSpecial NSURLFileResourceTypeRegular NSURLFileResourceTypeSymbolicLink NSURLFileResourceTypeSocket NSURLFileResourceTypeUnknown
|
||||
syn keyword objcConstVar NSURLFileSizeKey NSURLFileAllocatedSizeKey NSURLTotalFileSizeKey NSURLTotalFileAllocatedSizeKey NSURLIsAliasFileKey
|
||||
syn keyword objcConstVar NSURLNameKey NSURLLocalizedNameKey NSURLIsRegularFileKey NSURLIsDirectoryKey NSURLIsSymbolicLinkKey NSURLIsVolumeKey NSURLIsPackageKey NSURLIsApplicationKey NSURLApplicationIsScriptableKey NSURLIsSystemImmutableKey NSURLIsUserImmutableKey NSURLIsHiddenKey NSURLHasHiddenExtensionKey NSURLCreationDateKey NSURLContentAccessDateKey NSURLContentModificationDateKey NSURLAttributeModificationDateKey NSURLLinkCountKey NSURLParentDirectoryURLKey NSURLVolumeURLKey NSURLTypeIdentifierKey NSURLLocalizedTypeDescriptionKey NSURLLabelNumberKey NSURLLabelColorKey NSURLLocalizedLabelKey NSURLEffectiveIconKey NSURLCustomIconKey NSURLFileResourceIdentifierKey NSURLVolumeIdentifierKey NSURLPreferredIOBlockSizeKey NSURLIsReadableKey NSURLIsWritableKey NSURLIsExecutableKey NSURLFileSecurityKey NSURLIsExcludedFromBackupKey NSURLTagNamesKey NSURLPathKey NSURLIsMountTriggerKey NSURLGenerationIdentifierKey NSURLDocumentIdentifierKey NSURLAddedToDirectoryDateKey NSURLQuarantinePropertiesKey NSURLFileResourceTypeKey
|
||||
syn keyword objcConstVar NSURLFileResourceTypeNamedPipe NSURLFileResourceTypeCharacterSpecial NSURLFileResourceTypeDirectory NSURLFileResourceTypeBlockSpecial NSURLFileResourceTypeRegular NSURLFileResourceTypeSymbolicLink NSURLFileResourceTypeSocket NSURLFileResourceTypeUnknown NSURLThumbnailDictionaryKey NSURLThumbnailKey NSThumbnail1024x1024SizeKey
|
||||
syn keyword objcConstVar NSURLFileSizeKey NSURLFileAllocatedSizeKey NSURLTotalFileSizeKey NSURLTotalFileAllocatedSizeKey NSURLIsAliasFileKey NSURLFileProtectionKey NSURLFileProtectionNone NSURLFileProtectionComplete NSURLFileProtectionCompleteUnlessOpen NSURLFileProtectionCompleteUntilFirstUserAuthentication
|
||||
syn keyword objcConstVar NSURLVolumeLocalizedFormatDescriptionKey NSURLVolumeTotalCapacityKey NSURLVolumeAvailableCapacityKey NSURLVolumeResourceCountKey NSURLVolumeSupportsPersistentIDsKey NSURLVolumeSupportsSymbolicLinksKey NSURLVolumeSupportsHardLinksKey NSURLVolumeSupportsJournalingKey NSURLVolumeIsJournalingKey NSURLVolumeSupportsSparseFilesKey NSURLVolumeSupportsZeroRunsKey NSURLVolumeSupportsCaseSensitiveNamesKey NSURLVolumeSupportsCasePreservedNamesKey NSURLVolumeSupportsRootDirectoryDatesKey NSURLVolumeSupportsVolumeSizesKey NSURLVolumeSupportsRenamingKey NSURLVolumeSupportsAdvisoryFileLockingKey NSURLVolumeSupportsExtendedSecurityKey NSURLVolumeIsBrowsableKey NSURLVolumeMaximumFileSizeKey NSURLVolumeIsEjectableKey NSURLVolumeIsRemovableKey NSURLVolumeIsInternalKey NSURLVolumeIsAutomountedKey NSURLVolumeIsLocalKey NSURLVolumeIsReadOnlyKey NSURLVolumeCreationDateKey NSURLVolumeURLForRemountingKey NSURLVolumeUUIDStringKey NSURLVolumeNameKey NSURLVolumeLocalizedNameKey
|
||||
syn keyword objcConstVar NSURLIsUbiquitousItemKey NSURLUbiquitousItemHasUnresolvedConflictsKey NSURLUbiquitousItemIsDownloadedKey NSURLUbiquitousItemIsDownloadingKey NSURLUbiquitousItemIsUploadedKey NSURLUbiquitousItemIsUploadingKey NSURLUbiquitousItemPercentDownloadedKey NSURLUbiquitousItemPercentUploadedKey
|
||||
syn keyword objcConstVar NSURLIsUbiquitousItemKey NSURLUbiquitousItemHasUnresolvedConflictsKey NSURLUbiquitousItemIsDownloadedKey NSURLUbiquitousItemIsDownloadingKey NSURLUbiquitousItemIsUploadedKey NSURLUbiquitousItemIsUploadingKey NSURLUbiquitousItemPercentDownloadedKey NSURLUbiquitousItemPercentUploadedKey NSURLUbiquitousItemDownloadingStatusKey NSURLUbiquitousItemDownloadingErrorKey NSURLUbiquitousItemUploadingErrorKey NSURLUbiquitousItemDownloadRequestedKey NSURLUbiquitousItemContainerDisplayNameKey NSURLUbiquitousItemDownloadingStatusNotDownloaded NSURLUbiquitousItemDownloadingStatusDownloaded NSURLUbiquitousItemDownloadingStatusCurrent
|
||||
""""""""""""
|
||||
" NSString.h
|
||||
syn match objcClass /NSString\s*\*/me=s+8,he=s+8
|
||||
@@ -189,11 +219,14 @@ syn keyword objcMacro NSMaximumStringLength
|
||||
syn keyword objcEnum NSStringCompareOptions
|
||||
syn keyword objcEnumValue NSCaseInsensitiveSearch NSLiteralSearch NSBackwardsSearch NSAnchoredSearch NSNumericSearch NSDiacriticInsensitiveSearch NSWidthInsensitiveSearch NSForcedOrderingSearch NSRegularExpressionSearch
|
||||
syn keyword objcEnum NSStringEncoding
|
||||
syn keyword objcEnumValue NSProprietaryStringEncoding
|
||||
syn keyword objcEnumValue NSASCIIStringEncoding NSNEXTSTEPStringEncoding NSJapaneseEUCStringEncoding NSUTF8StringEncoding NSISOLatin1StringEncoding NSSymbolStringEncoding NSNonLossyASCIIStringEncoding NSShiftJISStringEncoding NSISOLatin2StringEncoding NSUnicodeStringEncoding NSWindowsCP1251StringEncoding NSWindowsCP1252StringEncoding NSWindowsCP1253StringEncoding NSWindowsCP1254StringEncoding NSWindowsCP1250StringEncoding NSISO2022JPStringEncoding NSMacOSRomanStringEncoding NSUTF16StringEncoding NSUTF16BigEndianStringEncoding NSUTF16LittleEndianStringEncoding NSUTF32StringEncoding NSUTF32BigEndianStringEncoding NSUTF32LittleEndianStringEncoding
|
||||
syn keyword objcEnum NSStringEncodingConversionOptions
|
||||
syn keyword objcEnumValue NSStringEncodingConversionAllowLossy NSStringEncodingConversionExternalRepresentation
|
||||
syn keyword objcEnum NSStringEnumerationOptions
|
||||
syn keyword objcEnumValue NSStringEnumerationByLines NSStringEnumerationByParagraphs NSStringEnumerationByComposedCharacterSequences NSStringEnumerationByWords NSStringEnumerationBySentences NSStringEnumerationReverse NSStringEnumerationSubstringNotRequired NSStringEnumerationLocalized
|
||||
syn keyword objcConstVar NSStringTransformLatinToKatakana NSStringTransformLatinToHiragana NSStringTransformLatinToHangul NSStringTransformLatinToArabic NSStringTransformLatinToHebrew NSStringTransformLatinToThai NSStringTransformLatinToCyrillic NSStringTransformLatinToGreek NSStringTransformToLatin NSStringTransformMandarinToLatin NSStringTransformHiraganaToKatakana NSStringTransformFullwidthToHalfwidth NSStringTransformToXMLHex NSStringTransformToUnicodeName NSStringTransformStripCombiningMarks NSStringTransformStripDiacritics
|
||||
syn keyword objcConstVar NSStringEncodingDetectionSuggestedEncodingsKey NSStringEncodingDetectionDisallowedEncodingsKey NSStringEncodingDetectionUseOnlySuggestedEncodingsKey NSStringEncodingDetectionAllowLossyKey NSStringEncodingDetectionFromWindowsKey NSStringEncodingDetectionLossySubstitutionKey NSStringEncodingDetectionLikelyLanguageKey
|
||||
" NSAttributedString.h
|
||||
syn match objcClass /NSAttributedString\s*\*/me=s+18,he=s+18
|
||||
syn match objcClass /NSMutableAttributedString\s*\*/me=s+25,he=s+25
|
||||
@@ -215,21 +248,32 @@ syn keyword objcEnum NSDataWritingOptions
|
||||
syn keyword objcEnumValue NSDataWritingAtomic NSDataWritingWithoutOverwriting NSDataWritingFileProtectionNone NSDataWritingFileProtectionComplete NSDataWritingFileProtectionCompleteUnlessOpen NSDataWritingFileProtectionCompleteUntilFirstUserAuthentication NSDataWritingFileProtectionMask NSAtomicWrite
|
||||
syn keyword objcEnum NSDataSearchOptions
|
||||
syn keyword objcEnumValue NSDataSearchBackwards NSDataSearchAnchored
|
||||
syn keyword objcEnum NSDataBase64EncodingOptions NSDataBase64DecodingOptions
|
||||
syn keyword objcEnumValue NSDataBase64Encoding64CharacterLineLength NSDataBase64Encoding76CharacterLineLength NSDataBase64EncodingEndLineWithCarriageReturn NSDataBase64EncodingEndLineWithLineFeed NSDataBase64DecodingIgnoreUnknownCharacters
|
||||
" NSArray.h
|
||||
syn match objcClass /NSArray\s*\*/me=s+7,he=s+7
|
||||
syn match objcClass /NSArray<.*>\s*\*/me=s+7,he=s+7 contains=objcTypeInfoParams
|
||||
syn match objcClass /NSMutableArray\s*\*/me=s+14,he=s+14
|
||||
syn match objcClass /NSMutableArray<.*>\s*\*/me=s+14,he=s+14 contains=objcTypeInfoParams
|
||||
syn keyword objcEnum NSBinarySearchingOptions
|
||||
syn keyword objcEnumValue NSBinarySearchingFirstEqual NSBinarySearchingLastEqual NSBinarySearchingInsertionIndex
|
||||
" NSDictionary.h
|
||||
syn match objcClass /NSDictionary\s*\*/me=s+12,he=s+12
|
||||
syn match objcClass /NSDictionary<.*>\s*\*/me=s+12,he=s+12 contains=objcTypeInfoParams
|
||||
syn match objcClass /NSMutableDictionary\s*\*/me=s+19,he=s+19
|
||||
syn match objcClass /NSMutableDictionary<.*>\s*\*/me=s+19,he=s+19 contains=objcTypeInfoParams
|
||||
" NSSet.h
|
||||
syn match objcClass /NSSet\s*\*/me=s+5,me=s+5
|
||||
syn match objcClass /NSSet<.*>\s*\*/me=s+5,me=s+5 contains=objcTypeInfoParams
|
||||
syn match objcClass /NSMutableSet\s*\*/me=s+12,me=s+12
|
||||
syn match objcClass /NSMutableSet<.*>\s*\*/me=s+12,me=s+12 contains=objcTypeInfoParams
|
||||
syn match objcClass /NSCountedSet\s*\*/me=s+12,me=s+12
|
||||
syn match objcClass /NSCountedSet<.*>\s*\*/me=s+12,me=s+12 contains=objcTypeInfoParams
|
||||
" NSOrderedSet.h
|
||||
syn match objcClass /NSOrderedSet\s*\*/me=s+12,me=s+12
|
||||
syn match objcClass /NSOrderedSet<.*>\s*\*/me=s+12,me=s+12 contains=objcTypeInfoParams
|
||||
syn match objcClass /NSMutableOrderedSet\s*\*/me=s+19,me=s+19
|
||||
syn match objcClass /NSMutableOrderedSet<.*>\s*\*/me=s+19,me=s+19
|
||||
"""""""""""""""""""
|
||||
" NSPathUtilities.h
|
||||
syn keyword objcEnum NSSearchPathDirectory
|
||||
@@ -238,9 +282,15 @@ syn keyword objcEnum NSSearchPathDomainMask
|
||||
syn keyword objcEnumValue NSUserDomainMask NSLocalDomainMask NSNetworkDomainMask NSSystemDomainMask NSAllDomainsMask
|
||||
" NSFileManger.h
|
||||
syn match objcClass /NSFileManager\s*\*/me=s+13,he=s+13
|
||||
syn match objcClass /NSDirectoryEnumerator\s*\*/me=s+21,he=s+21
|
||||
syn match objcClass /NSDirectoryEnumerator\s*\*/me=s+21,he=s+21 contains=objcTypeInfoParams
|
||||
syn match objcClass /NSDirectoryEnumerator<.*>\s*\*/me=s+21,he=s+21
|
||||
syn keyword objcEnum NSVolumeEnumerationOptions
|
||||
syn keyword objcEnumValue NSVolumeEnumerationSkipHiddenVolumes NSVolumeEnumerationProduceFileReferenceURLs
|
||||
syn keyword objcEnum NSURLRelationship
|
||||
syn keyword objcEnumValue NSURLRelationshipContains NSURLRelationshipSame NSURLRelationshipOther
|
||||
syn keyword objcEnum NSFileManagerUnmountOptions
|
||||
syn keyword objcEnumValue NSFileManagerUnmountAllPartitionsAndEjectDisk NSFileManagerUnmountWithoutUI
|
||||
syn keyword objcConstVar NSFileManagerUnmountDissentingProcessIdentifierErrorKey
|
||||
syn keyword objcEnum NSDirectoryEnumerationOptions
|
||||
syn keyword objcEnumValue NSDirectoryEnumerationSkipsSubdirectoryDescendants NSDirectoryEnumerationSkipsPackageDescendants NSDirectoryEnumerationSkipsHiddenFiles
|
||||
syn keyword objcEnum NSFileManagerItemReplacementOptions
|
||||
@@ -261,10 +311,12 @@ syn keyword objcNotificationValue NSCurrentLocaleDidChangeNotification
|
||||
syn keyword objcConstVar NSLocaleIdentifier NSLocaleLanguageCode NSLocaleCountryCode NSLocaleScriptCode NSLocaleVariantCode NSLocaleExemplarCharacterSet NSLocaleCalendar NSLocaleCollationIdentifier NSLocaleUsesMetricSystem NSLocaleMeasurementSystem NSLocaleDecimalSeparator NSLocaleGroupingSeparator NSLocaleCurrencySymbol NSLocaleCurrencyCode NSLocaleCollatorIdentifier NSLocaleQuotationBeginDelimiterKey NSLocaleQuotationEndDelimiterKey NSLocaleAlternateQuotationBeginDelimiterKey NSLocaleAlternateQuotationEndDelimiterKey NSGregorianCalendar NSBuddhistCalendar NSChineseCalendar NSHebrewCalendar NSIslamicCalendar NSIslamicCivilCalendar NSJapaneseCalendar NSRepublicOfChinaCalendar NSPersianCalendar NSIndianCalendar NSISO8601Calendar
|
||||
" NSFormatter.h
|
||||
syn match objcClass /NSFormatter\s*\*/me=s+11,he=s+11
|
||||
syn keyword objcEnum NSFormattingContext NSFormattingUnitStyle
|
||||
syn keyword objcEnumValue NSFormattingContextUnknown NSFormattingContextDynamic NSFormattingContextStandalone NSFormattingContextListItem NSFormattingContextBeginningOfSentence NSFormattingContextMiddleOfSentence NSFormattingUnitStyleShort NSFormattingUnitStyleMedium NSFormattingUnitStyleLong
|
||||
" NSNumberFormatter.h
|
||||
syn match objcClass /NSNumberFormatter\s*\*/me=s+17,he=s+17
|
||||
syn keyword objcEnum NSNumberFormatterStyle
|
||||
syn keyword objcEnumValue NSNumberFormatterNoStyle NSNumberFormatterDecimalStyle NSNumberFormatterCurrencyStyle NSNumberFormatterPercentStyle NSNumberFormatterScientificStyle NSNumberFormatterSpellOutStyle
|
||||
syn keyword objcEnumValue NSNumberFormatterNoStyle NSNumberFormatterDecimalStyle NSNumberFormatterCurrencyStyle NSNumberFormatterPercentStyle NSNumberFormatterScientificStyle NSNumberFormatterSpellOutStyle NSNumberFormatterOrdinalStyle NSNumberFormatterCurrencyISOCodeStyle NSNumberFormatterCurrencyPluralStyle NSNumberFormatterCurrencyAccountingStyle
|
||||
syn keyword objcEnum NSNumberFormatterBehavior
|
||||
syn keyword objcEnumValue NSNumberFormatterBehaviorDefault NSNumberFormatterBehavior10_0 NSNumberFormatterBehavior10_4
|
||||
syn keyword objcEnum NSNumberFormatterPadPosition
|
||||
@@ -279,10 +331,15 @@ syn keyword objcEnum NSDateFormatterBehavior
|
||||
syn keyword objcEnumValue NSDateFormatterBehaviorDefault NSDateFormatterBehavior10_0 NSDateFormatterBehavior10_4
|
||||
" NSCalendar.h
|
||||
syn match objcClass /NSCalendar\s*\*/me=s+10,he=s+10
|
||||
syn keyword objcConstVar NSCalendarIdentifierGregorian NSCalendarIdentifierBuddhist NSCalendarIdentifierChinese NSCalendarIdentifierCoptic NSCalendarIdentifierEthiopicAmeteMihret NSCalendarIdentifierEthiopicAmeteAlem NSCalendarIdentifierHebrew NSCalendarIdentifierISO8601 NSCalendarIdentifierIndian NSCalendarIdentifierIslamic NSCalendarIdentifierIslamicCivil NSCalendarIdentifierJapanese NSCalendarIdentifierPersian NSCalendarIdentifierRepublicOfChina NSCalendarIdentifierIslamicTabular NSCalendarIdentifierIslamicUmmAlQura
|
||||
syn keyword objcEnum NSCalendarUnit
|
||||
syn keyword objcEnumValue NSCalendarUnitEra NSCalendarUnitYear NSCalendarUnitMonth NSCalendarUnitDay NSCalendarUnitHour NSCalendarUnitMinute NSCalendarUnitSecond NSCalendarUnitWeekday NSCalendarUnitWeekdayOrdinal NSCalendarUnitQuarter NSCalendarUnitWeekOfMonth NSCalendarUnitWeekOfYear NSCalendarUnitYearForWeekOfYear NSCalendarUnitNanosecond NSCalendarUnitCalendar NSCalendarUnitTimeZone
|
||||
syn keyword objcEnumValue NSEraCalendarUnit NSYearCalendarUnit NSMonthCalendarUnit NSDayCalendarUnit NSHourCalendarUnit NSMinuteCalendarUnit NSSecondCalendarUnit NSWeekCalendarUnit NSWeekdayCalendarUnit NSWeekdayOrdinalCalendarUnit NSQuarterCalendarUnit NSWeekOfMonthCalendarUnit NSWeekOfYearCalendarUnit NSYearForWeekOfYearCalendarUnit NSCalendarCalendarUnit NSTimeZoneCalendarUnit
|
||||
syn keyword objcEnumValue NSWrapCalendarComponents NSUndefinedDateComponent
|
||||
syn keyword objcEnumValue NSWrapCalendarComponents NSUndefinedDateComponent NSDateComponentUndefined
|
||||
syn match objcClass /NSDateComponents\s*\*/me=s+16,he=s+16
|
||||
syn keyword objcEnum NSCalendarOptions
|
||||
syn keyword objcEnumValue NSCalendarWrapComponents NSCalendarMatchStrictly NSCalendarSearchBackwards NSCalendarMatchPreviousTimePreservingSmallerUnits NSCalendarMatchNextTimePreservingSmallerUnits NSCalendarMatchNextTime NSCalendarMatchFirst NSCalendarMatchLast
|
||||
syn keyword objcConstVar NSCalendarDayChangedNotification
|
||||
" NSTimeZone.h
|
||||
syn match objcClass /NSTimeZone\s*\*/me=s+10,he=s+10
|
||||
syn keyword objcEnum NSTimeZoneNameStyle
|
||||
@@ -299,6 +356,7 @@ syn keyword objcExceptionValue NSInconsistentArchiveException
|
||||
syn match objcClass /NSKeyedArchiver\s*\*/me=s+15,he=s+15
|
||||
syn match objcClass /NSKeyedUnarchiver\s*\*/me=s+17,he=s+17
|
||||
syn keyword objcExceptionValue NSInvalidArchiveOperationException NSInvalidUnarchiveOperationException
|
||||
syn keyword objcConstVar NSKeyedArchiveRootObjectKey
|
||||
""""""""""""""""""
|
||||
" NSPropertyList.h
|
||||
syn keyword objcEnum NSPropertyListMutabilityOptions
|
||||
@@ -313,11 +371,16 @@ syn keyword objcNotificationValue NSUserDefaultsDidChangeNotification
|
||||
" NSBundle.h
|
||||
syn match objcClass /NSBundle\s*\*/me=s+8,he=s+8
|
||||
syn keyword objcEnumValue NSBundleExecutableArchitectureI386 NSBundleExecutableArchitecturePPC NSBundleExecutableArchitectureX86_64 NSBundleExecutableArchitecturePPC64
|
||||
syn keyword objcNotificationValue NSBundleDidLoadNotification NSLoadedClasses
|
||||
syn keyword objcNotificationValue NSBundleDidLoadNotification NSLoadedClasses NSBundleResourceRequestLowDiskSpaceNotification
|
||||
syn keyword objcConstVar NSBundleResourceRequestLoadingPriorityUrgent
|
||||
"""""""""""""""""
|
||||
" NSProcessInfo.h
|
||||
syn match objcClass /NSProcessInfo\s*\*/me=s+13,he=s+13
|
||||
syn keyword objcEnumValue NSWindowsNTOperatingSystem NSWindows95OperatingSystem NSSolarisOperatingSystem NSHPUXOperatingSystem NSMACHOperatingSystem NSSunOSOperatingSystem NSOSF1OperatingSystem
|
||||
syn keyword objcType NSOperatingSystemVersion
|
||||
syn keyword objcEnum NSActivityOptions NSProcessInfoThermalState
|
||||
syn keyword objcEnumValue NSActivityIdleDisplaySleepDisabled NSActivityIdleSystemSleepDisabled NSActivitySuddenTerminationDisabled NSActivityAutomaticTerminationDisabled NSActivityUserInitiated NSActivityUserInitiatedAllowingIdleSystemSleep NSActivityBackground NSActivityLatencyCritical NSProcessInfoThermalStateNominal NSProcessInfoThermalStateFair NSProcessInfoThermalStateSerious NSProcessInfoThermalStateCritical
|
||||
syn keyword objcNotificationValue NSProcessInfoThermalStateDidChangeNotification NSProcessInfoPowerStateDidChangeNotification
|
||||
" NSTask.h
|
||||
syn match objcClass /NSTask\s*\*/me=s+6,he=s+6
|
||||
syn keyword objcEnum NSTaskTerminationReason
|
||||
@@ -352,6 +415,7 @@ syn match objcClass /NSPort\s*\*/me=s+6,he=s+6
|
||||
syn keyword objcType NSSocketNativeHandle
|
||||
syn keyword objcNotificationValue NSPortDidBecomeInvalidNotification
|
||||
syn match objcClass /NSMachPort\s*\*/me=s+10,he=s+10
|
||||
syn keyword objcEnum NSMachPortOptions
|
||||
syn keyword objcEnumValue NSMachPortDeallocateNone NSMachPortDeallocateSendRight NSMachPortDeallocateReceiveRight
|
||||
syn match objcClass /NSMessagePort\s*\*/me=s+13,he=s+13
|
||||
syn match objcClass /NSSocketPort\s*\*/me=s+12,he=s+12
|
||||
@@ -386,6 +450,31 @@ syn match objcClass /NSProxy\s*\*/me=s+7,he=s+7
|
||||
" NSObject.h
|
||||
syn match objcClass /NSObject\s*\*/me=s+8,he=s+8
|
||||
|
||||
|
||||
" NSCache.h
|
||||
syn match objcClass /NSCache\s*\*/me=s+7,he=s+7
|
||||
syn match objcClass /NSCache<.*>\s*\*/me=s+7,he=s+7 contains=objcTypeInfoParams
|
||||
" NSHashTable.h
|
||||
syn match objcClass /NSHashTable\s*\*/me=s+11,he=s+11
|
||||
syn match objcClass /NSHashTable<.*>\s*\*/me=s+11,he=s+11 contains=objcTypeInfoParams
|
||||
syn keyword objcConstVar NSHashTableStrongMemory NSHashTableZeroingWeakMemory NSHashTableCopyIn NSHashTableObjectPointerPersonality NSHashTableWeakMemory
|
||||
syn keyword objcType NSHashTableOptions NSHashEnumerator NSHashTableCallBacks
|
||||
syn keyword objcConstVar NSIntegerHashCallBacks NSNonOwnedPointerHashCallBacks NSNonRetainedObjectHashCallBacks NSObjectHashCallBacks NSOwnedObjectIdentityHashCallBacks NSOwnedPointerHashCallBacks NSPointerToStructHashCallBacks NSOwnedObjectIdentityHashCallBacks NSOwnedObjectIdentityHashCallBacks NSIntHashCallBacks
|
||||
" NSMapTable.h
|
||||
syn match objcClass /NSMapTable\s*\*/me=s+10,he=s+10
|
||||
syn match objcClass /NSMapTable<.*>\s*\*/me=s+10,he=s+10 contains=objcTypeInfoParams
|
||||
syn keyword objcConstVar NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks NSPointerToStructHashCallBacks
|
||||
syn keyword objcConstVar NSMapTableStrongMemory NSMapTableZeroingWeakMemory NSMapTableCopyIn NSMapTableObjectPointerPersonality NSMapTableWeakMemory
|
||||
syn keyword objcType NSMapTableOptions NSMapEnumerator NSMapTableKeyCallBacks NSMapTableValueCallBacks
|
||||
syn keyword objcMacro NSNotAnIntMapKey NSNotAnIntegerMapKey NSNotAPointerMapKey
|
||||
syn keyword objcConstVar NSIntegerMapKeyCallBacks NSNonOwnedPointerMapKeyCallBacks NSNonOwnedPointerOrNullMapKeyCallBacks NSNonRetainedObjectMapKeyCallBacks NSObjectMapKeyCallBacks NSOwnedPointerMapKeyCallBacks NSIntMapKeyCallBacks NSIntegerMapValueCallBacks NSNonOwnedPointerMapValueCallBacks NSObjectMapValueCallBacks NSNonRetainedObjectMapValueCallBacks NSOwnedPointerMapValueCallBacks NSIntMapValueCallBacks
|
||||
|
||||
" NSPointerFunctions.h
|
||||
syn match objcClass /NSPointerFunctions\s*\*/me=s+18,he=s+18
|
||||
syn keyword objcEnum NSPointerFunctionsOptions
|
||||
syn keyword objcEnumValue NSPointerFunctionsStrongMemory NSPointerFunctionsZeroingWeakMemory NSPointerFunctionsOpaqueMemory NSPointerFunctionsMallocMemory NSPointerFunctionsMachVirtualMemory NSPointerFunctionsWeakMemory NSPointerFunctionsObjectPersonality NSPointerFunctionsOpaquePersonality NSPointerFunctionsObjectPointerPersonality NSPointerFunctionsCStringPersonality NSPointerFunctionsStructPersonality NSPointerFunctionsIntegerPersonality NSPointerFunctionsCopyIn
|
||||
|
||||
|
||||
""" Default Highlighting
|
||||
hi def link objcPreProcMacro cConstant
|
||||
hi def link objcPrincipalType cType
|
||||
@@ -408,6 +497,7 @@ hi def link objcBlocksQualifier cStorageClass
|
||||
hi def link objcObjectLifetimeQualifier cStorageClass
|
||||
hi def link objcTollFreeBridgeQualifier cStorageClass
|
||||
hi def link objcRemoteMessagingQualifier cStorageClass
|
||||
hi def link objcStorageClass cStorageClass
|
||||
hi def link objcFastEnumKeyword cStatement
|
||||
hi def link objcLiteralSyntaxNumber cNumber
|
||||
hi def link objcLiteralSyntaxChar cCharacter
|
||||
@@ -418,16 +508,22 @@ hi def link objcDeclPropAccessorType cConstant
|
||||
hi def link objcDeclPropAssignSemantics cConstant
|
||||
hi def link objcDeclPropAtomicity cConstant
|
||||
hi def link objcDeclPropARC cConstant
|
||||
hi def link objcDeclPropNullable cConstant
|
||||
hi def link objcDeclPropNonnull cConstant
|
||||
hi def link objcDeclPropNullUnspecified cConstant
|
||||
hi def link objcDeclProcNullResettable cConstant
|
||||
hi def link objcInstanceMethod Function
|
||||
hi def link objcClassMethod Function
|
||||
hi def link objcType cType
|
||||
hi def link objcClass cType
|
||||
hi def link objcTypeSpecifier cType
|
||||
hi def link objcMacro cConstant
|
||||
hi def link objcEnum cType
|
||||
hi def link objcEnumValue cConstant
|
||||
hi def link objcExceptionValue cConstant
|
||||
hi def link objcNotificationValue cConstant
|
||||
hi def link objcConstVar cConstant
|
||||
hi def link objcTypeInfoParams Identifier
|
||||
|
||||
""" Final step
|
||||
let b:current_syntax = "objc"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: php PHP 3/4/5
|
||||
" Maintainer: Jason Woofenden <jason@jasonwoof.com>
|
||||
" Last Change: Nov 23, 2015
|
||||
" Last Change: Dec 26, 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>
|
||||
@@ -515,7 +515,7 @@ syntax keyword phpStatement die contained
|
||||
|
||||
" Highlighting for PHP5's user-definable magic class methods
|
||||
syntax keyword phpSpecialFunction containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle,phpIdentifier
|
||||
\ __construct __destruct __call __toString __sleep __wakeup __set __get __unset __isset __clone __set_state
|
||||
\ __construct __destruct __call __callStatic __get __set __isset __unset __sleep __wakeup __toString __invoke __set_state __clone __debugInfo
|
||||
" Highlighting for __autoload slightly different from line above
|
||||
syntax keyword phpSpecialFunction containedin=ALLBUT,phpComment,phpStringDouble,phpStringSingle,phpIdentifier,phpMethodsVar
|
||||
\ __autoload
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
" Vim syntax file
|
||||
" Language: OpenSSH client configuration file (ssh_config)
|
||||
" Author: David Necas (Yeti)
|
||||
" Maintainer: Leonard Ehrenfried <leonard.ehrenfried@web.de>
|
||||
" Last Change: 2012 Feb 24
|
||||
" SSH Version: 5.9p1
|
||||
" Maintainer: Dominik Fischer <d dot f dot fischer at web dot de>
|
||||
" Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de>
|
||||
" Last Change: 2015 Dec 3
|
||||
" SSH Version: 7.0
|
||||
"
|
||||
|
||||
" Setup
|
||||
@@ -100,6 +101,8 @@ syn case ignore
|
||||
" Keywords
|
||||
syn keyword sshconfigHostSect Host
|
||||
|
||||
syn keyword sshconfigMatch canonical exec host originalhost user localuser all
|
||||
|
||||
syn keyword sshconfigKeyword AddressFamily
|
||||
syn keyword sshconfigKeyword BatchMode
|
||||
syn keyword sshconfigKeyword BindAddress
|
||||
@@ -138,6 +141,7 @@ syn keyword sshconfigKeyword HostKeyAlgorithms
|
||||
syn keyword sshconfigKeyword HostKeyAlias
|
||||
syn keyword sshconfigKeyword HostName
|
||||
syn keyword sshconfigKeyword HostbasedAuthentication
|
||||
syn keyword sshconfigKeyword HostbasedKeyTypes
|
||||
syn keyword sshconfigKeyword IPQoS
|
||||
syn keyword sshconfigKeyword IdentitiesOnly
|
||||
syn keyword sshconfigKeyword IdentityFile
|
||||
@@ -148,6 +152,7 @@ syn keyword sshconfigKeyword LocalCommand
|
||||
syn keyword sshconfigKeyword LocalForward
|
||||
syn keyword sshconfigKeyword LogLevel
|
||||
syn keyword sshconfigKeyword MACs
|
||||
syn keyword sshconfigKeyword Match
|
||||
syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
|
||||
syn keyword sshconfigKeyword NumberOfPasswordPrompts
|
||||
syn keyword sshconfigKeyword PKCS11Provider
|
||||
@@ -157,6 +162,8 @@ syn keyword sshconfigKeyword Port
|
||||
syn keyword sshconfigKeyword PreferredAuthentications
|
||||
syn keyword sshconfigKeyword Protocol
|
||||
syn keyword sshconfigKeyword ProxyCommand
|
||||
syn keyword sshconfigKeyword ProxyUseFDPass
|
||||
syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes
|
||||
syn keyword sshconfigKeyword PubkeyAuthentication
|
||||
syn keyword sshconfigKeyword RSAAuthentication
|
||||
syn keyword sshconfigKeyword RekeyLimit
|
||||
@@ -211,6 +218,7 @@ if version >= 508 || !exists("did_sshconfig_syntax_inits")
|
||||
HiLink sshconfigSpecial Special
|
||||
HiLink sshconfigKeyword Keyword
|
||||
HiLink sshconfigHostSect Type
|
||||
HiLink sshconfigMatch Type
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
" Vim syntax file
|
||||
" Language: OpenSSH server configuration file (sshd_config)
|
||||
" Maintainer: David Necas (Yeti)
|
||||
" Maintainer: Leonard Ehrenfried <leonard.ehrenfried@web.de>
|
||||
" Modified By: Thilo Six
|
||||
" Author: David Necas (Yeti)
|
||||
" Maintainer: Dominik Fischer <d dot f dot fischer at web dot de>
|
||||
" Contributor: Thilo Six
|
||||
" Contributor: Leonard Ehrenfried <leonard.ehrenfried@web.de>
|
||||
" Originally: 2009-07-09
|
||||
" Last Change: 2011 Oct 31
|
||||
" SSH Version: 5.9p1
|
||||
" Last Change: 2015 Dec 3
|
||||
" SSH Version: 7.0
|
||||
"
|
||||
|
||||
" Setup
|
||||
@@ -39,6 +40,12 @@ syn keyword sshdconfigYesNo yes no none
|
||||
|
||||
syn keyword sshdconfigAddressFamily any inet inet6
|
||||
|
||||
syn keyword sshdconfigPrivilegeSeparation sandbox
|
||||
|
||||
syn keyword sshdconfigTcpForwarding local remote
|
||||
|
||||
syn keyword sshdconfigRootLogin prohibit-password without-password forced-commands-only
|
||||
|
||||
syn keyword sshdconfigCipher aes128-cbc 3des-cbc blowfish-cbc cast128-cbc
|
||||
syn keyword sshdconfigCipher aes192-cbc aes256-cbc aes128-ctr aes192-ctr aes256-ctr
|
||||
syn keyword sshdconfigCipher arcfour arcfour128 arcfour256 cast128-cbc
|
||||
@@ -49,7 +56,7 @@ syn keyword sshdconfigMAC hmac-sha2-256 hmac-sha256-96 hmac-sha2-512
|
||||
syn keyword sshdconfigMAC hmac-sha2-512-96
|
||||
syn match sshdconfigMAC "\<umac-64@openssh\.com\>"
|
||||
|
||||
syn keyword sshdconfigRootLogin without-password forced-commands-only
|
||||
syn keyword sshdconfigRootLogin prohibit-password without-password forced-commands-only
|
||||
|
||||
syn keyword sshdconfigLogLevel QUIET FATAL ERROR INFO VERBOSE
|
||||
syn keyword sshdconfigLogLevel DEBUG DEBUG1 DEBUG2 DEBUG3
|
||||
@@ -99,9 +106,12 @@ syn keyword sshdconfigKeyword AcceptEnv
|
||||
syn keyword sshdconfigKeyword AddressFamily
|
||||
syn keyword sshdconfigKeyword AllowAgentForwarding
|
||||
syn keyword sshdconfigKeyword AllowGroups
|
||||
syn keyword sshdconfigKeyword AllowStreamLocalForwarding
|
||||
syn keyword sshdconfigKeyword AllowTcpForwarding
|
||||
syn keyword sshdconfigKeyword AllowUsers
|
||||
syn keyword sshdconfigKeyword AuthorizedKeysFile
|
||||
syn keyword sshdconfigKeyword AuthorizedKeysCommand
|
||||
syn keyword sshdconfigKeyword AuthorizedKeysCommandUser
|
||||
syn keyword sshdconfigKeyword AuthorizedPrincipalsFile
|
||||
syn keyword sshdconfigKeyword Banner
|
||||
syn keyword sshdconfigKeyword ChallengeResponseAuthentication
|
||||
@@ -122,6 +132,8 @@ syn keyword sshdconfigKeyword GSSAPIStrictAcceptorCheck
|
||||
syn keyword sshdconfigKeyword GatewayPorts
|
||||
syn keyword sshdconfigKeyword HostCertificate
|
||||
syn keyword sshdconfigKeyword HostKey
|
||||
syn keyword sshdconfigKeyword HostKeyAlgorithms
|
||||
syn keyword sshdconfigKeyword HostbasedAcceptedKeyTypes
|
||||
syn keyword sshdconfigKeyword HostbasedAuthentication
|
||||
syn keyword sshdconfigKeyword HostbasedUsesNameFromPacketOnly
|
||||
syn keyword sshdconfigKeyword IPQoS
|
||||
@@ -147,15 +159,19 @@ syn keyword sshdconfigKeyword PermitBlacklistedKeys
|
||||
syn keyword sshdconfigKeyword PermitEmptyPasswords
|
||||
syn keyword sshdconfigKeyword PermitOpen
|
||||
syn keyword sshdconfigKeyword PermitRootLogin
|
||||
syn keyword sshdconfigKeyword PermitTTY
|
||||
syn keyword sshdconfigKeyword PermitTunnel
|
||||
syn keyword sshdconfigKeyword PermitUserEnvironment
|
||||
syn keyword sshdconfigKeyword PermitUserRC
|
||||
syn keyword sshdconfigKeyword PidFile
|
||||
syn keyword sshdconfigKeyword Port
|
||||
syn keyword sshdconfigKeyword PrintLastLog
|
||||
syn keyword sshdconfigKeyword PrintMotd
|
||||
syn keyword sshdconfigKeyword Protocol
|
||||
syn keyword sshdconfigKeyword PubkeyAcceptedKeyTypes
|
||||
syn keyword sshdconfigKeyword PubkeyAuthentication
|
||||
syn keyword sshdconfigKeyword RSAAuthentication
|
||||
syn keyword sshdconfigKeyword RekeyLimit
|
||||
syn keyword sshdconfigKeyword RevokedKeys
|
||||
syn keyword sshdconfigKeyword RhostsRSAAuthentication
|
||||
syn keyword sshdconfigKeyword ServerKeyBits
|
||||
@@ -169,6 +185,7 @@ syn keyword sshdconfigKeyword UseDNS
|
||||
syn keyword sshdconfigKeyword UseLogin
|
||||
syn keyword sshdconfigKeyword UsePAM
|
||||
syn keyword sshdconfigKeyword UsePrivilegeSeparation
|
||||
syn keyword sshdconfigKeyword VersionAddendum
|
||||
syn keyword sshdconfigKeyword X11DisplayOffset
|
||||
syn keyword sshdconfigKeyword X11Forwarding
|
||||
syn keyword sshdconfigKeyword X11UseLocalhost
|
||||
@@ -184,29 +201,32 @@ if version >= 508 || !exists("did_sshdconfig_syntax_inits")
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
HiLink sshdconfigComment Comment
|
||||
HiLink sshdconfigTodo Todo
|
||||
HiLink sshdconfigHostPort sshdconfigConstant
|
||||
HiLink sshdconfigTime sshdconfigConstant
|
||||
HiLink sshdconfigNumber sshdconfigConstant
|
||||
HiLink sshdconfigConstant Constant
|
||||
HiLink sshdconfigYesNo sshdconfigEnum
|
||||
HiLink sshdconfigAddressFamily sshdconfigEnum
|
||||
HiLink sshdconfigCipher sshdconfigEnum
|
||||
HiLink sshdconfigMAC sshdconfigEnum
|
||||
HiLink sshdconfigRootLogin sshdconfigEnum
|
||||
HiLink sshdconfigLogLevel sshdconfigEnum
|
||||
HiLink sshdconfigSysLogFacility sshdconfigEnum
|
||||
HiLink sshdconfigVar sshdconfigEnum
|
||||
HiLink sshdconfigCompression sshdconfigEnum
|
||||
HiLink sshdconfigIPQoS sshdconfigEnum
|
||||
HiLink sshdconfigKexAlgo sshdconfigEnum
|
||||
HiLink sshdconfigTunnel sshdconfigEnum
|
||||
HiLink sshdconfigSubsystem sshdconfigEnum
|
||||
HiLink sshdconfigEnum Function
|
||||
HiLink sshdconfigSpecial Special
|
||||
HiLink sshdconfigKeyword Keyword
|
||||
HiLink sshdconfigMatch Type
|
||||
HiLink sshdconfigComment Comment
|
||||
HiLink sshdconfigTodo Todo
|
||||
HiLink sshdconfigHostPort sshdconfigConstant
|
||||
HiLink sshdconfigTime sshdconfigConstant
|
||||
HiLink sshdconfigNumber sshdconfigConstant
|
||||
HiLink sshdconfigConstant Constant
|
||||
HiLink sshdconfigYesNo sshdconfigEnum
|
||||
HiLink sshdconfigAddressFamily sshdconfigEnum
|
||||
HiLink sshdconfigPrivilegeSeparation sshdconfigEnum
|
||||
HiLink sshdconfigTcpForwarding sshdconfigEnum
|
||||
HiLink sshdconfigRootLogin sshdconfigEnum
|
||||
HiLink sshdconfigCipher sshdconfigEnum
|
||||
HiLink sshdconfigMAC sshdconfigEnum
|
||||
HiLink sshdconfigRootLogin sshdconfigEnum
|
||||
HiLink sshdconfigLogLevel sshdconfigEnum
|
||||
HiLink sshdconfigSysLogFacility sshdconfigEnum
|
||||
HiLink sshdconfigVar sshdconfigEnum
|
||||
HiLink sshdconfigCompression sshdconfigEnum
|
||||
HiLink sshdconfigIPQoS sshdconfigEnum
|
||||
HiLink sshdconfigKexAlgo sshdconfigEnum
|
||||
HiLink sshdconfigTunnel sshdconfigEnum
|
||||
HiLink sshdconfigSubsystem sshdconfigEnum
|
||||
HiLink sshdconfigEnum Function
|
||||
HiLink sshdconfigSpecial Special
|
||||
HiLink sshdconfigKeyword Keyword
|
||||
HiLink sshdconfigMatch Type
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
|
||||
81
src/Makefile
@@ -281,6 +281,12 @@ CC=
|
||||
#GUI_LIB_LOC = -L/usr/X11R6/lib
|
||||
# }}}
|
||||
|
||||
# Defaults used when auto/config.mk does not exist.
|
||||
srcdir = .
|
||||
VIMNAME = vim
|
||||
EXNAME = ex
|
||||
VIEWNAME = view
|
||||
|
||||
######################## auto/config.mk ######################## {{{1
|
||||
# At this position auto/config.mk is included. When starting from the
|
||||
# toplevel Makefile it is almost empty. After running auto/configure it
|
||||
@@ -616,6 +622,27 @@ LINT_OPTIONS = -beprxzF
|
||||
#PROFILE_LIBS = -pg
|
||||
#PROFILE_LIBS = -pg -lc
|
||||
|
||||
|
||||
# TEST COVERAGE - Uncomment the two lines below the explanation to get code
|
||||
# coverage information. (provided by Yegappan Lakshmanan)
|
||||
# 1. make clean, run configure and build Vim as usual.
|
||||
# 2. Generate the baseline code coverage information:
|
||||
# $ lcov -c -i -b . -d objects -o objects/coverage_base.info
|
||||
# 3. Run "make test" to run the unit tests. The code coverage information will
|
||||
# be generated in the src/objects directory.
|
||||
# 4. Generate the code coverage information from the tests:
|
||||
# $ lcov -c -b . -d objects/ -o objects/coverage_test.info
|
||||
# 5. Combine the baseline and test code coverage data:
|
||||
# $ lcov -a objects/coverage_base.info -a objects/coverage_test.info -o objects/coverage_total.info
|
||||
# 6. Process the test coverage data and generate a report in html:
|
||||
# $ genhtml objects/coverage_total.info -o objects
|
||||
# 7. Open the objects/index.html file in a web browser to view the coverage
|
||||
# information.
|
||||
#
|
||||
# PROFILE_CFLAGS=-g -O0 -fprofile-arcs -ftest-coverage
|
||||
# LDFLAGS=--coverage
|
||||
|
||||
|
||||
# Uncomment one of the next two lines to compile Vim with the
|
||||
# address sanitizer or with the undefined sanitizer. Works with gcc and
|
||||
# clang. May make Vim twice as slow. Errors reported on stderr.
|
||||
@@ -1178,10 +1205,10 @@ NONE_INSTALL = install_normal
|
||||
|
||||
### GTK GUI
|
||||
GTK_SRC = gui.c gui_gtk.c gui_gtk_x11.c pty.c gui_gtk_f.c \
|
||||
gui_beval.c
|
||||
gui_beval.c $(GRESOURCE_SRC)
|
||||
GTK_OBJ = objects/gui.o objects/gui_gtk.o objects/gui_gtk_x11.o \
|
||||
objects/pty.o objects/gui_gtk_f.o \
|
||||
objects/gui_beval.o
|
||||
objects/gui_beval.o $(GRESOURCE_OBJ)
|
||||
GTK_DEFS = -DFEAT_GUI_GTK $(NARROW_PROTO)
|
||||
GTK_IPATH = $(GUI_INC_LOC)
|
||||
GTK_LIBS_DIR = $(GUI_LIB_LOC)
|
||||
@@ -1506,7 +1533,8 @@ TAGS_SRC = *.c *.cpp if_perl.xs
|
||||
|
||||
EXTRA_SRC = hangulin.c if_lua.c if_mzsch.c auto/if_perl.c if_perlsfio.c \
|
||||
if_python.c if_python3.c if_tcl.c if_ruby.c if_sniff.c \
|
||||
gui_beval.c workshop.c wsdebug.c integration.c netbeans.c
|
||||
gui_beval.c workshop.c wsdebug.c integration.c netbeans.c \
|
||||
$(GRESOURCE_SRC)
|
||||
|
||||
# Unittest files
|
||||
MEMFILE_TEST_SRC = memfile_test.c
|
||||
@@ -1848,6 +1876,9 @@ os_vms.pro: os_vms.c
|
||||
if_perl.pro: auto/if_perl.c
|
||||
$(CPROTO) -DFEAT_GUI auto/if_perl.c | sed "/_VI/d" > proto/$@
|
||||
|
||||
gui_gtk_gresources.pro: auto/gui_gtk_gresources.c
|
||||
$(CPROTO) -DFEAT_GUI $< > proto/$@
|
||||
echo "/* vim: set ft=c : */" >> proto/$@
|
||||
|
||||
notags:
|
||||
-rm -f tags
|
||||
@@ -1905,7 +1936,6 @@ test1 \
|
||||
test_autocmd_option \
|
||||
test_autoformat_join \
|
||||
test_breakindent \
|
||||
test_cdo \
|
||||
test_changelist \
|
||||
test_charsearch \
|
||||
test_close_count \
|
||||
@@ -1948,13 +1978,24 @@ test1 \
|
||||
cd testdir; rm -f $@.out; $(MAKE) -f Makefile $@.out VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
test_assert \
|
||||
test_cdo \
|
||||
test_searchpos \
|
||||
test_sort \
|
||||
test_undolevels \
|
||||
test_viml \
|
||||
test_alot:
|
||||
cd testdir; rm -f $@.res; $(MAKE) -f Makefile $@.res VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
cd testdir; rm -f $@.res test.log messages; $(MAKE) -f Makefile $@.res VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
@if test -f testdir/test.log; then \
|
||||
cat testdir/test.log; \
|
||||
fi
|
||||
cat testdir/messages
|
||||
|
||||
newtests:
|
||||
cd testdir; rm -f $@.res; $(MAKE) -f Makefile newtests VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
cd testdir; rm -f $@.res test.log messages; $(MAKE) -f Makefile newtests VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
@if test -f testdir/test.log; then \
|
||||
cat testdir/test.log; \
|
||||
fi
|
||||
cat testdir/messages
|
||||
|
||||
testclean:
|
||||
cd testdir; $(MAKE) -f Makefile clean
|
||||
@@ -2417,7 +2458,7 @@ uninstall_runtime:
|
||||
# We support common typing mistakes for Juergen! :-)
|
||||
clean celan: testclean
|
||||
-rm -f *.o objects/* core $(VIMTARGET).core $(VIMTARGET) vim xxd/*.o
|
||||
-rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c
|
||||
-rm -f $(TOOLS) auto/osdef.h auto/pathdef.c auto/if_perl.c auto/gui_gtk_gresources.c auto/gui_gtk_gresources.h
|
||||
-rm -f conftest* *~ auto/link.sed
|
||||
-rm -f $(UNITTEST_TARGETS)
|
||||
-rm -f runtime pixmaps
|
||||
@@ -2433,7 +2474,7 @@ SHADOWDIR = shadow
|
||||
|
||||
shadow: runtime pixmaps
|
||||
mkdir $(SHADOWDIR)
|
||||
cd $(SHADOWDIR); ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../toolcheck ../proto ../vimtutor ../gvimtutor ../mkinstalldirs .
|
||||
cd $(SHADOWDIR); ln -s ../*.[ch] ../*.in ../*.sh ../*.xs ../*.xbm ../gui_gtk_gresources.xml ../toolcheck ../proto ../vimtutor ../gvimtutor ../mkinstalldirs .
|
||||
mkdir $(SHADOWDIR)/auto
|
||||
cd $(SHADOWDIR)/auto; ln -s ../../auto/configure .
|
||||
mkdir $(SHADOWDIR)/po
|
||||
@@ -2452,7 +2493,7 @@ shadow: runtime pixmaps
|
||||
fi
|
||||
mkdir $(SHADOWDIR)/testdir
|
||||
cd $(SHADOWDIR)/testdir; ln -s ../../testdir/Makefile \
|
||||
../../testdir/vimrc.unix \
|
||||
../../testdir/Make_all.mak \
|
||||
../../testdir/*.in \
|
||||
../../testdir/*.vim \
|
||||
../../testdir/python* \
|
||||
@@ -2554,6 +2595,11 @@ auto/pathdef.c: Makefile auto/config.mk
|
||||
-@echo '";' >> $@
|
||||
-@sh $(srcdir)/pathdef.sh
|
||||
|
||||
auto/gui_gtk_gresources.c: gui_gtk_gresources.xml
|
||||
$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register $<
|
||||
auto/gui_gtk_gresources.h: gui_gtk_gresources.xml
|
||||
$(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register $<
|
||||
|
||||
# All the object files are put in the "objects" directory. Since not all make
|
||||
# commands understand putting object files in another directory, it must be
|
||||
# specified for each file separately.
|
||||
@@ -2639,6 +2685,9 @@ objects/gui_gtk.o: gui_gtk.c
|
||||
objects/gui_gtk_f.o: gui_gtk_f.c
|
||||
$(CCC) -o $@ gui_gtk_f.c
|
||||
|
||||
objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c
|
||||
$(CCC) $(PERL_CFLAGS) -o $@ auto/gui_gtk_gresources.c
|
||||
|
||||
objects/gui_gtk_x11.o: gui_gtk_x11.c
|
||||
$(CCC) -o $@ gui_gtk_x11.c
|
||||
|
||||
@@ -2674,7 +2723,7 @@ objects/if_lua.o: if_lua.c
|
||||
|
||||
objects/if_mzsch.o: if_mzsch.c $(MZSCHEME_EXTRA)
|
||||
$(CCC) -o $@ $(MZSCHEME_CFLAGS_EXTRA) if_mzsch.c
|
||||
|
||||
|
||||
mzscheme_base.c:
|
||||
$(MZSCHEME_MZC) --c-mods mzscheme_base.c ++lib scheme/base
|
||||
|
||||
@@ -3121,6 +3170,16 @@ objects/gui_gtk_f.o: gui_gtk_f.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_gtk_f.h
|
||||
objects/gui_gtk_gresources.o: auto/gui_gtk_gresources.c gui_gtk_gresources.xml \
|
||||
../pixmaps/stock_vim_build_tags.png ../pixmaps/stock_vim_find_help.png \
|
||||
../pixmaps/stock_vim_save_all.png ../pixmaps/stock_vim_session_load.png \
|
||||
../pixmaps/stock_vim_session_new.png ../pixmaps/stock_vim_session_save.png \
|
||||
../pixmaps/stock_vim_shell.png ../pixmaps/stock_vim_window_maximize.png \
|
||||
../pixmaps/stock_vim_window_maximize_width.png \
|
||||
../pixmaps/stock_vim_window_minimize.png \
|
||||
../pixmaps/stock_vim_window_minimize_width.png \
|
||||
../pixmaps/stock_vim_window_split.png \
|
||||
../pixmaps/stock_vim_window_split_vertical.png
|
||||
objects/gui_motif.o: gui_motif.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
@@ -3173,7 +3232,7 @@ objects/gui_gtk_x11.o: gui_gtk_x11.c vim.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h structs.h \
|
||||
regexp.h gui.h gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h gui_gtk_f.h ../runtime/vim32x32.xpm \
|
||||
../runtime/vim16x16.xpm ../runtime/vim48x48.xpm
|
||||
../runtime/vim16x16.xpm ../runtime/vim48x48.xpm $(GRESOURCE_HDR)
|
||||
objects/gui_x11.o: gui_x11.c vim.h auto/config.h feature.h os_unix.h auto/osdef.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
gui_beval.h proto/gui_beval.pro ex_cmds.h proto.h globals.h farsi.h \
|
||||
|
||||
84
src/auto/configure
vendored
@@ -636,6 +636,10 @@ GUI_LIB_LOC
|
||||
GUI_INC_LOC
|
||||
NARROW_PROTO
|
||||
MOTIF_LIBNAME
|
||||
GRESOURCE_OBJ
|
||||
GRESOURCE_SRC
|
||||
GRESOURCE_HDR
|
||||
GLIB_COMPILE_RESOURCES
|
||||
GNOME_INCLUDEDIR
|
||||
GNOME_LIBDIR
|
||||
GNOME_LIBS
|
||||
@@ -8907,6 +8911,86 @@ $as_echo "not found" >&6; }
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x$GUITYPE" = "xGTK"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking version of Gdk-Pixbuf" >&5
|
||||
$as_echo_n "checking version of Gdk-Pixbuf... " >&6; }
|
||||
gdk_pixbuf_version=`$PKG_CONFIG --modversion gdk-pixbuf-2.0`
|
||||
if test "x$gdk_pixbuf_version" != x ; then
|
||||
gdk_pixbuf_version_minor=`echo $gdk_pixbuf_version | \
|
||||
sed -e 's/[0-9][0-9]*\.\([0-9][0-9]*\)\.[0-9][0-9]*/\1/'`
|
||||
if test "x$gdk_pixbuf_version_minor" != x -a \
|
||||
$gdk_pixbuf_version_minor -ge 32 ; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: OK." >&5
|
||||
$as_echo "OK." >&6; }
|
||||
# Extract the first word of "glib-compile-resources", so it can be a program name with args.
|
||||
set dummy glib-compile-resources; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_path_GLIB_COMPILE_RESOURCES+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $GLIB_COMPILE_RESOURCES in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_GLIB_COMPILE_RESOURCES="$GLIB_COMPILE_RESOURCES" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_path_GLIB_COMPILE_RESOURCES="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
test -z "$ac_cv_path_GLIB_COMPILE_RESOURCES" && ac_cv_path_GLIB_COMPILE_RESOURCES="no"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
GLIB_COMPILE_RESOURCES=$ac_cv_path_GLIB_COMPILE_RESOURCES
|
||||
if test -n "$GLIB_COMPILE_RESOURCES"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIB_COMPILE_RESOURCES" >&5
|
||||
$as_echo "$GLIB_COMPILE_RESOURCES" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking glib-compile-resources" >&5
|
||||
$as_echo_n "checking glib-compile-resources... " >&6; }
|
||||
if test "x$GLIB_COMPILE_RESOURCES" = xno ; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot be found in PATH." >&5
|
||||
$as_echo "cannot be found in PATH." >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: usable." >&5
|
||||
$as_echo "usable." >&6; }
|
||||
$as_echo "#define USE_GRESOURCE 1" >>confdefs.h
|
||||
|
||||
GRESOURCE_HDR="auto/gui_gtk_gresources.h"
|
||||
GRESOURCE_SRC="auto/gui_gtk_gresources.c"
|
||||
GRESOURCE_OBJ="objects/gui_gtk_gresources.o"
|
||||
fi
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: not usable." >&5
|
||||
$as_echo "not usable." >&6; }
|
||||
fi
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: cannot obtain from pkg_config." >&5
|
||||
$as_echo "cannot obtain from pkg_config." >&6; }
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if test -z "$SKIP_MOTIF"; then
|
||||
gui_XXX="/usr/XXX/Motif* /usr/Motif*/XXX /usr/XXX /usr/shlib /usr/X11*/XXX /usr/XXX/X11* /usr/dt/XXX /local/Motif*/XXX /local/XXX/Motif* /usr/local/Motif*/XXX /usr/local/XXX/Motif* /usr/local/XXX /usr/local/X11*/XXX /usr/local/LessTif/Motif*/XXX $MOTIFHOME/XXX"
|
||||
|
||||
@@ -452,3 +452,6 @@
|
||||
|
||||
/* Define if Xutf8SetWMProperties() is in an X library. */
|
||||
#undef HAVE_XUTF8SETWMPROPERTIES
|
||||
|
||||
/* Define if GResource is used to load icons */
|
||||
#undef USE_GRESOURCE
|
||||
|
||||
@@ -158,6 +158,11 @@ GUI_X_LIBS = @GUI_X_LIBS@
|
||||
MOTIF_LIBNAME = @MOTIF_LIBNAME@
|
||||
GTK_LIBNAME = @GTK_LIBNAME@
|
||||
|
||||
GLIB_COMPILE_RESOURCES = @GLIB_COMPILE_RESOURCES@
|
||||
GRESOURCE_HDR = @GRESOURCE_HDR@
|
||||
GRESOURCE_SRC = @GRESOURCE_SRC@
|
||||
GRESOURCE_OBJ = @GRESOURCE_OBJ@
|
||||
|
||||
### Any OS dependent extra source and object file
|
||||
OS_EXTRA_SRC = @OS_EXTRA_SRC@
|
||||
OS_EXTRA_OBJ = @OS_EXTRA_OBJ@
|
||||
|
||||
@@ -2500,6 +2500,40 @@ if test -z "$SKIP_GTK2"; then
|
||||
fi
|
||||
fi
|
||||
|
||||
dnl Check the version of Gdk-Pixbuf. If the version is 2.32 or later and
|
||||
dnl glib-compile-resources is found in PATH, use GResource.
|
||||
if test "x$GUITYPE" = "xGTK"; then
|
||||
AC_MSG_CHECKING([version of Gdk-Pixbuf])
|
||||
gdk_pixbuf_version=`$PKG_CONFIG --modversion gdk-pixbuf-2.0`
|
||||
if test "x$gdk_pixbuf_version" != x ; then
|
||||
gdk_pixbuf_version_minor=`echo $gdk_pixbuf_version | \
|
||||
sed -e 's/[[0-9]][[0-9]]*\.\([[0-9]][[0-9]]*\)\.[[0-9]][[0-9]]*/\1/'`
|
||||
if test "x$gdk_pixbuf_version_minor" != x -a \
|
||||
$gdk_pixbuf_version_minor -ge 32 ; then
|
||||
AC_MSG_RESULT([OK.])
|
||||
AC_PATH_PROG(GLIB_COMPILE_RESOURCES,[glib-compile-resources],no)
|
||||
AC_MSG_CHECKING([glib-compile-resources])
|
||||
if test "x$GLIB_COMPILE_RESOURCES" = xno ; then
|
||||
AC_MSG_RESULT([cannot be found in PATH.])
|
||||
else
|
||||
AC_MSG_RESULT([usable.])
|
||||
AC_DEFINE(USE_GRESOURCE)
|
||||
GRESOURCE_HDR="auto/gui_gtk_gresources.h"
|
||||
GRESOURCE_SRC="auto/gui_gtk_gresources.c"
|
||||
GRESOURCE_OBJ="objects/gui_gtk_gresources.o"
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT([not usable.])
|
||||
fi
|
||||
else
|
||||
AC_MSG_RESULT([cannot obtain from pkg_config.])
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(GLIB_COMPILE_RESOURCES)
|
||||
AC_SUBST(GRESOURCE_HDR)
|
||||
AC_SUBST(GRESOURCE_SRC)
|
||||
AC_SUBST(GRESOURCE_OBJ)
|
||||
|
||||
dnl Check for Motif include files location.
|
||||
dnl The LAST one found is used, this makes the highest version to be used,
|
||||
dnl e.g. when Motif1.2 and Motif2.0 are both present.
|
||||
|
||||
12
src/eval.c
@@ -16471,6 +16471,7 @@ f_reverse(argvars, rettv)
|
||||
#define SP_START 0x10 /* accept match at start position */
|
||||
#define SP_SUBPAT 0x20 /* return nr of matching sub-pattern */
|
||||
#define SP_END 0x40 /* leave cursor at end of match */
|
||||
#define SP_COLUMN 0x80 /* start at cursor column */
|
||||
|
||||
static int get_search_arg __ARGS((typval_T *varp, int *flagsp));
|
||||
|
||||
@@ -16512,6 +16513,7 @@ get_search_arg(varp, flagsp)
|
||||
case 'p': mask = SP_SUBPAT; break;
|
||||
case 'r': mask = SP_REPEAT; break;
|
||||
case 's': mask = SP_SETPCMARK; break;
|
||||
case 'z': mask = SP_COLUMN; break;
|
||||
}
|
||||
if (mask == 0)
|
||||
{
|
||||
@@ -16530,7 +16532,7 @@ get_search_arg(varp, flagsp)
|
||||
}
|
||||
|
||||
/*
|
||||
* Shared by search() and searchpos() functions
|
||||
* Shared by search() and searchpos() functions.
|
||||
*/
|
||||
static int
|
||||
search_cmn(argvars, match_pos, flagsp)
|
||||
@@ -16562,6 +16564,8 @@ search_cmn(argvars, match_pos, flagsp)
|
||||
options |= SEARCH_START;
|
||||
if (flags & SP_END)
|
||||
options |= SEARCH_END;
|
||||
if (flags & SP_COLUMN)
|
||||
options |= SEARCH_COL;
|
||||
|
||||
/* Optional arguments: line number to stop searching and timeout. */
|
||||
if (argvars[1].v_type != VAR_UNKNOWN && argvars[2].v_type != VAR_UNKNOWN)
|
||||
@@ -23091,7 +23095,11 @@ ex_function(eap)
|
||||
|
||||
/* insert the new function in the function list */
|
||||
STRCPY(fp->uf_name, name);
|
||||
hash_add(&func_hashtab, UF2HIKEY(fp));
|
||||
if (hash_add(&func_hashtab, UF2HIKEY(fp)) == FAIL)
|
||||
{
|
||||
vim_free(fp);
|
||||
goto erret;
|
||||
}
|
||||
}
|
||||
fp->uf_args = newargs;
|
||||
fp->uf_lines = newlines;
|
||||
|
||||
@@ -6938,9 +6938,9 @@ struct sign
|
||||
int sn_typenr; /* type number of sign */
|
||||
char_u *sn_name; /* name of sign */
|
||||
char_u *sn_icon; /* name of pixmap */
|
||||
#ifdef FEAT_SIGN_ICONS
|
||||
# ifdef FEAT_SIGN_ICONS
|
||||
void *sn_image; /* icon image */
|
||||
#endif
|
||||
# endif
|
||||
char_u *sn_text; /* text used instead of pixmap */
|
||||
int sn_line_hl; /* highlight ID for line */
|
||||
int sn_text_hl; /* highlight ID for text */
|
||||
@@ -6955,19 +6955,19 @@ static void sign_undefine __ARGS((sign_T *sp, sign_T *sp_prev));
|
||||
|
||||
static char *cmds[] = {
|
||||
"define",
|
||||
#define SIGNCMD_DEFINE 0
|
||||
# define SIGNCMD_DEFINE 0
|
||||
"undefine",
|
||||
#define SIGNCMD_UNDEFINE 1
|
||||
# define SIGNCMD_UNDEFINE 1
|
||||
"list",
|
||||
#define SIGNCMD_LIST 2
|
||||
# define SIGNCMD_LIST 2
|
||||
"place",
|
||||
#define SIGNCMD_PLACE 3
|
||||
# define SIGNCMD_PLACE 3
|
||||
"unplace",
|
||||
#define SIGNCMD_UNPLACE 4
|
||||
# define SIGNCMD_UNPLACE 4
|
||||
"jump",
|
||||
#define SIGNCMD_JUMP 5
|
||||
# define SIGNCMD_JUMP 5
|
||||
NULL
|
||||
#define SIGNCMD_LAST 6
|
||||
# define SIGNCMD_LAST 6
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -7110,7 +7110,7 @@ ex_sign(eap)
|
||||
vim_free(sp->sn_icon);
|
||||
sp->sn_icon = vim_strnsave(arg, (int)(p - arg));
|
||||
backslash_halve(sp->sn_icon);
|
||||
#ifdef FEAT_SIGN_ICONS
|
||||
# ifdef FEAT_SIGN_ICONS
|
||||
if (gui.in_use)
|
||||
{
|
||||
out_flush();
|
||||
@@ -7118,7 +7118,7 @@ ex_sign(eap)
|
||||
gui_mch_destroy_sign(sp->sn_image);
|
||||
sp->sn_image = gui_mch_register_sign(sp->sn_icon);
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
}
|
||||
else if (STRNCMP(arg, "text=", 5) == 0)
|
||||
{
|
||||
@@ -7127,7 +7127,7 @@ ex_sign(eap)
|
||||
int len;
|
||||
|
||||
arg += 5;
|
||||
#ifdef FEAT_MBYTE
|
||||
# ifdef FEAT_MBYTE
|
||||
/* Count cells and check for non-printable chars */
|
||||
if (has_mbyte)
|
||||
{
|
||||
@@ -7140,7 +7140,7 @@ ex_sign(eap)
|
||||
}
|
||||
}
|
||||
else
|
||||
#endif
|
||||
# endif
|
||||
{
|
||||
for (s = arg; s < p; ++s)
|
||||
if (!vim_isprintc(*s))
|
||||
@@ -7343,9 +7343,9 @@ ex_sign(eap)
|
||||
do_cmdline_cmd(cmd);
|
||||
vim_free(cmd);
|
||||
}
|
||||
#ifdef FEAT_FOLDING
|
||||
# ifdef FEAT_FOLDING
|
||||
foldOpenCursor();
|
||||
#endif
|
||||
# endif
|
||||
}
|
||||
else
|
||||
EMSGN(_("E157: Invalid sign ID: %ld"), id);
|
||||
@@ -7395,7 +7395,7 @@ ex_sign(eap)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(FEAT_SIGN_ICONS) || defined(PROTO)
|
||||
# if defined(FEAT_SIGN_ICONS) || defined(PROTO)
|
||||
/*
|
||||
* Allocate the icons. Called when the GUI has started. Allows defining
|
||||
* signs before it starts.
|
||||
@@ -7409,7 +7409,7 @@ sign_gui_started()
|
||||
if (sp->sn_icon != NULL)
|
||||
sp->sn_image = gui_mch_register_sign(sp->sn_icon);
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
|
||||
/*
|
||||
* List one sign.
|
||||
@@ -7425,12 +7425,12 @@ sign_list_defined(sp)
|
||||
{
|
||||
MSG_PUTS(" icon=");
|
||||
msg_outtrans(sp->sn_icon);
|
||||
#ifdef FEAT_SIGN_ICONS
|
||||
# ifdef FEAT_SIGN_ICONS
|
||||
if (sp->sn_image == NULL)
|
||||
MSG_PUTS(_(" (NOT FOUND)"));
|
||||
#else
|
||||
# else
|
||||
MSG_PUTS(_(" (not supported)"));
|
||||
#endif
|
||||
# endif
|
||||
}
|
||||
if (sp->sn_text != NULL)
|
||||
{
|
||||
@@ -7467,13 +7467,13 @@ sign_undefine(sp, sp_prev)
|
||||
{
|
||||
vim_free(sp->sn_name);
|
||||
vim_free(sp->sn_icon);
|
||||
#ifdef FEAT_SIGN_ICONS
|
||||
# ifdef FEAT_SIGN_ICONS
|
||||
if (sp->sn_image != NULL)
|
||||
{
|
||||
out_flush();
|
||||
gui_mch_destroy_sign(sp->sn_image);
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
vim_free(sp->sn_text);
|
||||
if (sp_prev == NULL)
|
||||
first_sign = sp->sn_next;
|
||||
@@ -7527,7 +7527,7 @@ sign_get_text(typenr)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
#if defined(FEAT_SIGN_ICONS) || defined(PROTO)
|
||||
# if defined(FEAT_SIGN_ICONS) || defined(PROTO)
|
||||
void *
|
||||
sign_get_image(typenr)
|
||||
int typenr; /* the attribute which may have a sign */
|
||||
@@ -7539,7 +7539,7 @@ sign_get_image(typenr)
|
||||
return sp->sn_image;
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
|
||||
/*
|
||||
* Get the name of a sign by its typenr.
|
||||
@@ -7556,7 +7556,7 @@ sign_typenr2name(typenr)
|
||||
return (char_u *)_("[Deleted]");
|
||||
}
|
||||
|
||||
#if defined(EXITFREE) || defined(PROTO)
|
||||
# if defined(EXITFREE) || defined(PROTO)
|
||||
/*
|
||||
* Undefine/free all signs.
|
||||
*/
|
||||
@@ -7566,9 +7566,9 @@ free_signs()
|
||||
while (first_sign != NULL)
|
||||
sign_undefine(first_sign, NULL);
|
||||
}
|
||||
#endif
|
||||
# endif
|
||||
|
||||
#if defined(FEAT_CMDL_COMPL) || defined(PROTO)
|
||||
# if defined(FEAT_CMDL_COMPL) || defined(PROTO)
|
||||
static enum
|
||||
{
|
||||
EXP_SUBCMD, /* expand :sign sub-commands */
|
||||
@@ -7746,8 +7746,30 @@ set_context_in_sign_cmd(xp, arg)
|
||||
}
|
||||
}
|
||||
}
|
||||
# endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Make the user happy.
|
||||
*/
|
||||
void
|
||||
ex_smile(eap)
|
||||
exarg_T *eap UNUSED;
|
||||
{
|
||||
static char *code = "\34 \4o\14$\4ox\30 \2o\30$\1ox\25 \2o\36$\1o\11 \1o\1$\3 \2$\1 \1o\1$x\5 \1o\1 \1$\1 \2o\10 \1o\44$\1o\7 \2$\1 \2$\1 \2$\1o\1$x\2 \2o\1 \1$\1 \1$\1 \1\"\1$\6 \1o\11$\4 \15$\4 \11$\1o\7 \3$\1o\2$\1o\1$x\2 \1\"\6$\1o\1$\5 \1o\11$\6 \13$\6 \12$\1o\4 \10$x\4 \7$\4 \13$\6 \13$\6 \27$x\4 \27$\4 \15$\4 \16$\2 \3\"\3$x\5 \1\"\3$\4\"\61$\5 \1\"\3$x\6 \3$\3 \1o\62$\5 \1\"\3$\1ox\5 \1o\2$\1\"\3 \63$\7 \3$\1ox\5 \3$\4 \55$\1\"\1 \1\"\6$\5o\4$\1ox\4 \1o\3$\4o\5$\2 \45$\3 \1o\21$x\4 \10$\1\"\4$\3 \42$\5 \4$\10\"x\3 \4\"\7 \4$\4 \1\"\34$\1\"\6 \1o\3$x\16 \1\"\3$\1o\5 \3\"\22$\1\"\2$\1\"\11 \3$x\20 \3$\1o\12 \1\"\2$\2\"\6$\4\"\13 \1o\3$x\21 \4$\1o\40 \1o\3$\1\"x\22 \1\"\4$\1o\6 \1o\6$\1o\1\"\4$\1o\10 \1o\4$x\24 \1\"\5$\2o\5 \2\"\4$\1o\5$\1o\3 \1o\4$\2\"x\27 \2\"\5$\4o\2 \1\"\3$\1o\11$\3\"x\32 \2\"\7$\2o\1 \12$x\42 \4\"\13$x\46 \14$x\47 \12$\1\"x\50 \1\"\3$\4\"x";
|
||||
char *p;
|
||||
int n;
|
||||
|
||||
msg_start();
|
||||
msg_putchar('\n');
|
||||
for (p = code; *p != NUL; ++p)
|
||||
if (*p == 'x')
|
||||
msg_putchar('\n');
|
||||
else
|
||||
for (n = *p++; n > 0; --n)
|
||||
msg_putchar(*p);
|
||||
msg_clr_eos();
|
||||
}
|
||||
|
||||
#if defined(FEAT_GUI) || defined(FEAT_CLIENTSERVER) || defined(PROTO)
|
||||
/*
|
||||
|
||||
@@ -1378,6 +1378,9 @@ EX(CMD_syntime, "syntime", ex_syntime,
|
||||
EX(CMD_syncbind, "syncbind", ex_syncbind,
|
||||
TRLBAR,
|
||||
ADDR_LINES),
|
||||
EX(CMD_smile, "smile", ex_smile,
|
||||
TRLBAR|CMDWIN|SBOXOK,
|
||||
ADDR_LINES),
|
||||
EX(CMD_t, "t", ex_copymove,
|
||||
RANGE|WHOLEFOLD|EXTRA|TRLBAR|CMDWIN|MODIFY,
|
||||
ADDR_LINES),
|
||||
|
||||
@@ -140,6 +140,31 @@ static const char * const menu_stock_ids[] =
|
||||
/* 31 */ GTK_STOCK_QUIT
|
||||
};
|
||||
|
||||
#ifdef USE_GRESOURCE
|
||||
typedef struct IconNames {
|
||||
const char *icon_name;
|
||||
const char *file_name;
|
||||
} IconNames;
|
||||
|
||||
static IconNames stock_vim_icons[] = {
|
||||
{ "vim-build-tags", "stock_vim_build_tags.png" },
|
||||
{ "vim-find-help", "stock_vim_find_help.png" },
|
||||
{ "vim-save-all", "stock_vim_save_all.png" },
|
||||
{ "vim-session-load", "stock_vim_session_load.png" },
|
||||
{ "vim-session-new", "stock_vim_session_new.png" },
|
||||
{ "vim-session-save", "stock_vim_session_save.png" },
|
||||
{ "vim-shell", "stock_vim_shell.png" },
|
||||
{ "vim-window-maximize", "stock_vim_window_maximize.png" },
|
||||
{ "vim-window-maximize-width", "stock_vim_window_maximize_width.png" },
|
||||
{ "vim-window-minimize", "stock_vim_window_minimize.png" },
|
||||
{ "vim-window-minimize-width", "stock_vim_window_minimize_width.png" },
|
||||
{ "vim-window-split", "stock_vim_window_split.png" },
|
||||
{ "vim-window-split-vertical", "stock_vim_window_split_vertical.png" },
|
||||
{ NULL, NULL }
|
||||
};
|
||||
#endif
|
||||
|
||||
#ifndef USE_GRESOURCE
|
||||
static void
|
||||
add_stock_icon(GtkIconFactory *factory,
|
||||
const char *stock_id,
|
||||
@@ -157,6 +182,7 @@ add_stock_icon(GtkIconFactory *factory,
|
||||
gtk_icon_set_unref(icon_set);
|
||||
g_object_unref(pixbuf);
|
||||
}
|
||||
#endif
|
||||
|
||||
static int
|
||||
lookup_menu_iconfile(char_u *iconfile, char_u *dest)
|
||||
@@ -262,11 +288,12 @@ toolbar_button_focus_in_event(GtkWidget *widget UNUSED,
|
||||
void
|
||||
gui_gtk_register_stock_icons(void)
|
||||
{
|
||||
# include "../pixmaps/stock_icons.h"
|
||||
#ifndef USE_GRESOURCE
|
||||
# include "../pixmaps/stock_icons.h"
|
||||
GtkIconFactory *factory;
|
||||
|
||||
factory = gtk_icon_factory_new();
|
||||
# define ADD_ICON(Name, Data) add_stock_icon(factory, Name, Data, (int)sizeof(Data))
|
||||
# define ADD_ICON(Name, Data) add_stock_icon(factory, Name, Data, (int)sizeof(Data))
|
||||
|
||||
ADD_ICON("vim-build-tags", stock_vim_build_tags);
|
||||
ADD_ICON("vim-find-help", stock_vim_find_help);
|
||||
@@ -282,7 +309,28 @@ gui_gtk_register_stock_icons(void)
|
||||
ADD_ICON("vim-window-split", stock_vim_window_split);
|
||||
ADD_ICON("vim-window-split-vertical", stock_vim_window_split_vertical);
|
||||
|
||||
# undef ADD_ICON
|
||||
# undef ADD_ICON
|
||||
#else
|
||||
GtkIconFactory * const factory = gtk_icon_factory_new();
|
||||
const char * const path_prefix = "/org/vim/gui/icon";
|
||||
IconNames *names;
|
||||
|
||||
for (names = stock_vim_icons; names->icon_name != NULL; names++)
|
||||
{
|
||||
char path[MAXPATHL];
|
||||
GdkPixbuf *pixbuf;
|
||||
|
||||
vim_snprintf(path, MAXPATHL, "%s/%s", path_prefix, names->file_name);
|
||||
pixbuf = gdk_pixbuf_new_from_resource(path, NULL);
|
||||
if (pixbuf != NULL)
|
||||
{
|
||||
GtkIconSet *icon_set = gtk_icon_set_new_from_pixbuf(pixbuf);
|
||||
gtk_icon_factory_add(factory, names->icon_name, icon_set);
|
||||
gtk_icon_set_unref(icon_set);
|
||||
g_object_unref(pixbuf);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
gtk_icon_factory_add_default(factory);
|
||||
g_object_unref(factory);
|
||||
}
|
||||
|
||||
18
src/gui_gtk_gresources.xml
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<gresources>
|
||||
<gresource prefix="/org/vim/gui/icon">
|
||||
<file>stock_vim_build_tags.png</file>
|
||||
<file>stock_vim_find_help.png</file>
|
||||
<file>stock_vim_save_all.png</file>
|
||||
<file>stock_vim_session_load.png</file>
|
||||
<file>stock_vim_session_new.png</file>
|
||||
<file>stock_vim_session_save.png</file>
|
||||
<file>stock_vim_shell.png</file>
|
||||
<file>stock_vim_window_maximize.png</file>
|
||||
<file>stock_vim_window_maximize_width.png</file>
|
||||
<file>stock_vim_window_minimize.png</file>
|
||||
<file>stock_vim_window_minimize_width.png</file>
|
||||
<file>stock_vim_window_split.png</file>
|
||||
<file>stock_vim_window_split_vertical.png</file>
|
||||
</gresource>
|
||||
</gresources>
|
||||
@@ -22,6 +22,9 @@
|
||||
*/
|
||||
|
||||
#include "vim.h"
|
||||
#ifdef USE_GRESOURCE
|
||||
#include "auto/gui_gtk_gresources.h"
|
||||
#endif
|
||||
|
||||
#ifdef FEAT_GUI_GNOME
|
||||
/* Gnome redefines _() and N_(). Grrr... */
|
||||
@@ -1434,6 +1437,9 @@ gui_mch_early_init_check(void)
|
||||
EMSG(_((char *)e_opendisp));
|
||||
return FAIL;
|
||||
}
|
||||
#ifdef USE_GRESOURCE
|
||||
gui_gtk_register_resource();
|
||||
#endif
|
||||
return OK;
|
||||
}
|
||||
|
||||
@@ -3620,6 +3626,9 @@ mainwin_destroy_cb(GtkObject *object UNUSED, gpointer data UNUSED)
|
||||
IOSIZE - 1);
|
||||
preserve_exit();
|
||||
}
|
||||
#ifdef USE_GRESOURCE
|
||||
gui_gtk_unregister_resource();
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
|
||||
112
src/if_ruby.c
@@ -81,6 +81,11 @@
|
||||
# define RUBY19_OR_LATER 1
|
||||
#endif
|
||||
|
||||
#if (defined(RUBY_VERSION) && RUBY_VERSION >= 20) \
|
||||
|| (defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 20)
|
||||
# define RUBY20_OR_LATER 1
|
||||
#endif
|
||||
|
||||
#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 19
|
||||
/* Ruby 1.9 defines a number of static functions which use rb_num2long and
|
||||
* rb_int2big */
|
||||
@@ -103,7 +108,6 @@
|
||||
#endif
|
||||
#if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 22
|
||||
# define rb_gc_writebarrier_unprotect rb_gc_writebarrier_unprotect_stub
|
||||
# define rb_check_type rb_check_type_stub
|
||||
#endif
|
||||
|
||||
#include <ruby.h>
|
||||
@@ -122,6 +126,16 @@
|
||||
# define __OPENTRANSPORTPROVIDERS__
|
||||
#endif
|
||||
|
||||
/*
|
||||
* The TypedData_XXX macro family can be used since Ruby 1.9.2 but
|
||||
* rb_data_type_t changed in 1.9.3, therefore require at least 2.0.
|
||||
* The old Data_XXX macro family was deprecated on Ruby 2.2.
|
||||
* Use TypedData_XXX if available.
|
||||
*/
|
||||
#if defined(TypedData_Wrap_Struct) && defined(RUBY20_OR_LATER)
|
||||
# define USE_TYPEDDATA 1
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Backward compatibility for Ruby 1.8 and earlier.
|
||||
* Ruby 1.9 does not provide STR2CSTR, instead StringValuePtr is provided.
|
||||
@@ -184,11 +198,20 @@ static void ruby_vim_init(void);
|
||||
*/
|
||||
# define rb_assoc_new dll_rb_assoc_new
|
||||
# define rb_cObject (*dll_rb_cObject)
|
||||
# if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER < 22
|
||||
# define rb_check_type dll_rb_check_type
|
||||
# define rb_check_type dll_rb_check_type
|
||||
# ifdef USE_TYPEDDATA
|
||||
# define rb_check_typeddata dll_rb_check_typeddata
|
||||
# endif
|
||||
# define rb_class_path dll_rb_class_path
|
||||
# define rb_data_object_alloc dll_rb_data_object_alloc
|
||||
# ifdef USE_TYPEDDATA
|
||||
# if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 23
|
||||
# define rb_data_typed_object_wrap dll_rb_data_typed_object_wrap
|
||||
# else
|
||||
# define rb_data_typed_object_alloc dll_rb_data_typed_object_alloc
|
||||
# endif
|
||||
# else
|
||||
# define rb_data_object_alloc dll_rb_data_object_alloc
|
||||
# endif
|
||||
# define rb_define_class_under dll_rb_define_class_under
|
||||
# define rb_define_const dll_rb_define_const
|
||||
# define rb_define_global_function dll_rb_define_global_function
|
||||
@@ -297,8 +320,19 @@ static VALUE *dll_rb_cObject;
|
||||
VALUE *dll_rb_cSymbol;
|
||||
VALUE *dll_rb_cTrueClass;
|
||||
static void (*dll_rb_check_type) (VALUE,int);
|
||||
# ifdef USE_TYPEDDATA
|
||||
static void *(*dll_rb_check_typeddata) (VALUE,const rb_data_type_t *);
|
||||
# endif
|
||||
static VALUE (*dll_rb_class_path) (VALUE);
|
||||
# ifdef USE_TYPEDDATA
|
||||
# if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 23
|
||||
static VALUE (*dll_rb_data_typed_object_wrap) (VALUE, void*, const rb_data_type_t *);
|
||||
# else
|
||||
static VALUE (*dll_rb_data_typed_object_alloc) (VALUE, void*, const rb_data_type_t *);
|
||||
# endif
|
||||
# else
|
||||
static VALUE (*dll_rb_data_object_alloc) (VALUE, void*, RUBY_DATA_FUNC, RUBY_DATA_FUNC);
|
||||
# endif
|
||||
static VALUE (*dll_rb_define_class_under) (VALUE, const char*, VALUE);
|
||||
static void (*dll_rb_define_const) (VALUE,const char*,VALUE);
|
||||
static void (*dll_rb_define_global_function) (const char*,VALUE(*)(),int);
|
||||
@@ -451,13 +485,6 @@ void rb_gc_writebarrier_unprotect_stub(VALUE obj)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 22
|
||||
void rb_check_type_stub(VALUE v, int i)
|
||||
{
|
||||
dll_rb_check_type(v, i);
|
||||
}
|
||||
# endif
|
||||
|
||||
static HINSTANCE hinstRuby = NULL; /* Instance of ruby.dll */
|
||||
|
||||
/*
|
||||
@@ -480,8 +507,19 @@ static struct
|
||||
{"rb_cSymbol", (RUBY_PROC*)&dll_rb_cSymbol},
|
||||
{"rb_cTrueClass", (RUBY_PROC*)&dll_rb_cTrueClass},
|
||||
{"rb_check_type", (RUBY_PROC*)&dll_rb_check_type},
|
||||
# ifdef USE_TYPEDDATA
|
||||
{"rb_check_typeddata", (RUBY_PROC*)&dll_rb_check_typeddata},
|
||||
# endif
|
||||
{"rb_class_path", (RUBY_PROC*)&dll_rb_class_path},
|
||||
# ifdef USE_TYPEDDATA
|
||||
# if defined(DYNAMIC_RUBY_VER) && DYNAMIC_RUBY_VER >= 23
|
||||
{"rb_data_typed_object_wrap", (RUBY_PROC*)&dll_rb_data_typed_object_wrap},
|
||||
# else
|
||||
{"rb_data_typed_object_alloc", (RUBY_PROC*)&dll_rb_data_typed_object_alloc},
|
||||
# endif
|
||||
# else
|
||||
{"rb_data_object_alloc", (RUBY_PROC*)&dll_rb_data_object_alloc},
|
||||
# endif
|
||||
{"rb_define_class_under", (RUBY_PROC*)&dll_rb_define_class_under},
|
||||
{"rb_define_const", (RUBY_PROC*)&dll_rb_define_const},
|
||||
{"rb_define_global_function", (RUBY_PROC*)&dll_rb_define_global_function},
|
||||
@@ -1026,6 +1064,24 @@ static VALUE vim_evaluate(VALUE self UNUSED, VALUE str)
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef USE_TYPEDDATA
|
||||
static size_t buffer_dsize(const void *buf);
|
||||
|
||||
static const rb_data_type_t buffer_type = {
|
||||
"vim_buffer",
|
||||
{0, 0, buffer_dsize, {0, 0}},
|
||||
0, 0,
|
||||
# ifdef RUBY_TYPED_FREE_IMMEDIATELY
|
||||
0,
|
||||
# endif
|
||||
};
|
||||
|
||||
static size_t buffer_dsize(const void *buf UNUSED)
|
||||
{
|
||||
return sizeof(buf_T);
|
||||
}
|
||||
#endif
|
||||
|
||||
static VALUE buffer_new(buf_T *buf)
|
||||
{
|
||||
if (buf->b_ruby_ref)
|
||||
@@ -1034,7 +1090,11 @@ static VALUE buffer_new(buf_T *buf)
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef USE_TYPEDDATA
|
||||
VALUE obj = TypedData_Wrap_Struct(cBuffer, &buffer_type, buf);
|
||||
#else
|
||||
VALUE obj = Data_Wrap_Struct(cBuffer, 0, 0, buf);
|
||||
#endif
|
||||
buf->b_ruby_ref = (void *) obj;
|
||||
rb_hash_aset(objtbl, rb_obj_id(obj), obj);
|
||||
return obj;
|
||||
@@ -1045,7 +1105,11 @@ static buf_T *get_buf(VALUE obj)
|
||||
{
|
||||
buf_T *buf;
|
||||
|
||||
#ifdef USE_TYPEDDATA
|
||||
TypedData_Get_Struct(obj, buf_T, &buffer_type, buf);
|
||||
#else
|
||||
Data_Get_Struct(obj, buf_T, buf);
|
||||
#endif
|
||||
if (buf == NULL)
|
||||
rb_raise(eDeletedBufferError, "attempt to refer to deleted buffer");
|
||||
return buf;
|
||||
@@ -1242,6 +1306,24 @@ static VALUE buffer_append(VALUE self, VALUE num, VALUE str)
|
||||
return str;
|
||||
}
|
||||
|
||||
#ifdef USE_TYPEDDATA
|
||||
static size_t window_dsize(const void *buf);
|
||||
|
||||
static const rb_data_type_t window_type = {
|
||||
"vim_window",
|
||||
{0, 0, window_dsize, {0, 0}},
|
||||
0, 0,
|
||||
# ifdef RUBY_TYPED_FREE_IMMEDIATELY
|
||||
0,
|
||||
# endif
|
||||
};
|
||||
|
||||
static size_t window_dsize(const void *win UNUSED)
|
||||
{
|
||||
return sizeof(win_T);
|
||||
}
|
||||
#endif
|
||||
|
||||
static VALUE window_new(win_T *win)
|
||||
{
|
||||
if (win->w_ruby_ref)
|
||||
@@ -1250,7 +1332,11 @@ static VALUE window_new(win_T *win)
|
||||
}
|
||||
else
|
||||
{
|
||||
#ifdef USE_TYPEDDATA
|
||||
VALUE obj = TypedData_Wrap_Struct(cVimWindow, &window_type, win);
|
||||
#else
|
||||
VALUE obj = Data_Wrap_Struct(cVimWindow, 0, 0, win);
|
||||
#endif
|
||||
win->w_ruby_ref = (void *) obj;
|
||||
rb_hash_aset(objtbl, rb_obj_id(obj), obj);
|
||||
return obj;
|
||||
@@ -1261,7 +1347,11 @@ static win_T *get_win(VALUE obj)
|
||||
{
|
||||
win_T *win;
|
||||
|
||||
#ifdef USE_TYPEDDATA
|
||||
TypedData_Get_Struct(obj, win_T, &window_type, win);
|
||||
#else
|
||||
Data_Get_Struct(obj, win_T, win);
|
||||
#endif
|
||||
if (win == NULL)
|
||||
rb_raise(eDeletedWindowError, "attempt to refer to deleted window");
|
||||
return win;
|
||||
|
||||
@@ -1032,8 +1032,9 @@ mf_read(mfp, hp)
|
||||
}
|
||||
|
||||
#ifdef FEAT_CRYPT
|
||||
/* Decrypt if 'key' is set and this is a data block. */
|
||||
if (*mfp->mf_buffer->b_p_key != NUL)
|
||||
/* Decrypt if 'key' is set and this is a data block. And when changing the
|
||||
* key. */
|
||||
if (*mfp->mf_buffer->b_p_key != NUL || mfp->mf_old_key != NULL)
|
||||
ml_decrypt_data(mfp, hp->bh_data, offset, size);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -2507,8 +2507,10 @@ mch_FullName(fname, buf, len, force)
|
||||
fname = posix_fname;
|
||||
#endif
|
||||
|
||||
/* expand it if forced or not an absolute path */
|
||||
if (force || !mch_isFullName(fname))
|
||||
/* Expand it if forced or not an absolute path.
|
||||
* Do not do it for "/file", the result is always "/". */
|
||||
if ((force || !mch_isFullName(fname))
|
||||
&& ((p = vim_strrchr(fname, '/')) == NULL || p != fname))
|
||||
{
|
||||
/*
|
||||
* If the file name has a path, change to that directory for a moment,
|
||||
@@ -2517,11 +2519,11 @@ mch_FullName(fname, buf, len, force)
|
||||
*/
|
||||
#ifdef OS2
|
||||
only_drive = 0;
|
||||
if (((p = vim_strrchr(fname, '/')) != NULL)
|
||||
if (p != NULL
|
||||
|| ((p = vim_strrchr(fname, '\\')) != NULL)
|
||||
|| (((p = vim_strchr(fname, ':')) != NULL) && ++only_drive))
|
||||
#else
|
||||
if ((p = vim_strrchr(fname, '/')) != NULL)
|
||||
if (p != NULL)
|
||||
#endif
|
||||
{
|
||||
#ifdef HAVE_FCHDIR
|
||||
|
||||
@@ -12,7 +12,8 @@ ifndef VIMRUNTIME
|
||||
VIMRUNTIME = ../../runtime
|
||||
endif
|
||||
|
||||
LANGUAGES = af \
|
||||
LANGUAGES = \
|
||||
af \
|
||||
ca \
|
||||
cs \
|
||||
cs.cp1250 \
|
||||
@@ -25,12 +26,16 @@ LANGUAGES = af \
|
||||
ga \
|
||||
it \
|
||||
ja \
|
||||
ja.euc-jp \
|
||||
ja.sjis \
|
||||
ko \
|
||||
ko.UTF-8 \
|
||||
nb \
|
||||
nl \
|
||||
no \
|
||||
pl \
|
||||
pl.cp1250 \
|
||||
pl.UTF-8 \
|
||||
pt_BR \
|
||||
ru \
|
||||
ru.cp1251 \
|
||||
@@ -41,12 +46,13 @@ LANGUAGES = af \
|
||||
uk.cp1251 \
|
||||
vi \
|
||||
zh_CN \
|
||||
zh_CN.UTF-8 \
|
||||
zh_CN.cp936 \
|
||||
zh_CN.UTF-8 \
|
||||
zh_TW \
|
||||
zh_TW.UTF-8 \
|
||||
|
||||
MOFILES = af.mo \
|
||||
MOFILES = \
|
||||
af.mo \
|
||||
ca.mo \
|
||||
cs.cp1250.mo \
|
||||
cs.mo \
|
||||
@@ -58,13 +64,17 @@ MOFILES = af.mo \
|
||||
fr.mo \
|
||||
ga.mo \
|
||||
it.mo \
|
||||
ja.euc-jp.mo \
|
||||
ja.mo \
|
||||
ja.sjis.mo \
|
||||
ko.mo \
|
||||
ko.UTF-8.mo \
|
||||
nb.mo \
|
||||
nl.mo \
|
||||
no.mo \
|
||||
pl.cp1250.mo \
|
||||
pl.mo \
|
||||
pl.UTF-8.mo \
|
||||
pt_BR.mo \
|
||||
ru.cp1251.mo \
|
||||
ru.mo \
|
||||
@@ -74,11 +84,11 @@ MOFILES = af.mo \
|
||||
uk.cp1251.mo \
|
||||
uk.mo \
|
||||
vi.mo \
|
||||
zh_CN.UTF-8.mo \
|
||||
zh_CN.cp936.mo \
|
||||
zh_CN.mo \
|
||||
zh_TW.UTF-8.mo \
|
||||
zh_CN.cp936.mo \
|
||||
zh_CN.UTF-8.mo \
|
||||
zh_TW.mo \
|
||||
zh_TW.UTF-8.mo \
|
||||
|
||||
PACKAGE = vim
|
||||
|
||||
@@ -135,6 +145,8 @@ install: $(MOFILES)
|
||||
$(CP) $$TARGET.mo $(VIMRUNTIME)/lang/$$TARGET/LC_MESSAGES/$(PACKAGE).mo ; \
|
||||
done
|
||||
|
||||
install-all: install
|
||||
|
||||
clean:
|
||||
$(RM) *.mo
|
||||
$(RM) *.pot
|
||||
|
||||
@@ -10,10 +10,15 @@
|
||||
# language (xx) and add it to the next three lines.
|
||||
#
|
||||
|
||||
ifndef VIMRUNTIME
|
||||
VIMRUNTIME = ..\..\runtime
|
||||
endif
|
||||
|
||||
LANGUAGES = \
|
||||
af \
|
||||
ca \
|
||||
cs \
|
||||
cs.cp1250 \
|
||||
de \
|
||||
en_GB \
|
||||
eo \
|
||||
@@ -23,23 +28,35 @@ LANGUAGES = \
|
||||
ga \
|
||||
it \
|
||||
ja \
|
||||
ja.euc-jp \
|
||||
ja.sjis \
|
||||
ko \
|
||||
ko.UTF-8 \
|
||||
nb \
|
||||
nl \
|
||||
no \
|
||||
pl \
|
||||
pl.cp1250 \
|
||||
pl.UTF-8 \
|
||||
pt_BR \
|
||||
ru \
|
||||
ru.cp1251 \
|
||||
sk \
|
||||
sk.cp1250 \
|
||||
sv \
|
||||
uk \
|
||||
uk.cp1251 \
|
||||
vi \
|
||||
zh_CN \
|
||||
zh_CN.UTF-8\
|
||||
zh_CN.cp936 \
|
||||
zh_CN.UTF-8 \
|
||||
zh_TW \
|
||||
zh_TW.UTF-8 \
|
||||
|
||||
MOFILES = \
|
||||
af.mo \
|
||||
ca.mo \
|
||||
cs.cp1250.mo \
|
||||
cs.mo \
|
||||
de.mo \
|
||||
en_GB.mo \
|
||||
@@ -49,20 +66,31 @@ MOFILES = \
|
||||
fr.mo \
|
||||
ga.mo \
|
||||
it.mo \
|
||||
ja.euc-jp.mo \
|
||||
ja.mo \
|
||||
ja.sjis.mo \
|
||||
ko.mo \
|
||||
ko.UTF-8.mo \
|
||||
nb.mo \
|
||||
nl.mo \
|
||||
no.mo \
|
||||
pl.cp1250.mo \
|
||||
pl.mo \
|
||||
pl.UTF-8.mo \
|
||||
pt_BR.mo \
|
||||
ru.cp1251.mo \
|
||||
ru.mo \
|
||||
sk.cp1250.mo \
|
||||
sk.mo \
|
||||
sv.mo \
|
||||
uk.cp1251.mo \
|
||||
uk.mo \
|
||||
vi.mo \
|
||||
zh_CN.UTF-8.mo \
|
||||
zh_CN.mo \
|
||||
zh_TW.UTF-8.mo \
|
||||
zh_CN.cp936.mo \
|
||||
zh_CN.UTF-8.mo \
|
||||
zh_TW.mo \
|
||||
zh_TW.UTF-8.mo \
|
||||
|
||||
PACKAGE = vim
|
||||
|
||||
@@ -72,9 +100,9 @@ PACKAGE = vim
|
||||
#GETTEXT_PATH = C:/gettext-0.10.35-w32/win32/Release/
|
||||
#GETTEXT_PATH = C:/cygwin/bin/
|
||||
|
||||
MSGFMT = $(GETTEXT_PATH)msgfmt
|
||||
XGETTEXT = $(GETTEXT_PATH)xgettext
|
||||
MSGMERGE = $(GETTEXT_PATH)msgmerge
|
||||
MSGFMT = set OLD_PO_FILE_INPUT=yes && $(GETTEXT_PATH)msgfmt -v
|
||||
XGETTEXT = set OLD_PO_FILE_INPUT=yes && set OLD_PO_FILE_OUTPUT=yes && $(GETTEXT_PATH)xgettext
|
||||
MSGMERGE = set OLD_PO_FILE_INPUT=yes && set OLD_PO_FILE_OUTPUT=yes && $(GETTEXT_PATH)msgmerge
|
||||
|
||||
MV = move
|
||||
CP = copy
|
||||
@@ -108,6 +136,11 @@ install:
|
||||
$(MKD) $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES
|
||||
$(CP) $(LANGUAGE).mo $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES\$(PACKAGE).mo
|
||||
|
||||
install-all: all
|
||||
FOR %%l IN ($(LANGUAGES)) DO @IF NOT EXIST $(VIMRUNTIME)\lang\%%l $(MKD) $(VIMRUNTIME)\lang\%%l
|
||||
FOR %%l IN ($(LANGUAGES)) DO @IF NOT EXIST $(VIMRUNTIME)\lang\%%l\LC_MESSAGES $(MKD) $(VIMRUNTIME)\lang\%%l\LC_MESSAGES
|
||||
FOR %%l IN ($(LANGUAGES)) DO @$(CP) %%l.mo $(VIMRUNTIME)\lang\%%l\LC_MESSAGES\$(PACKAGE).mo
|
||||
|
||||
clean:
|
||||
$(RM) *.mo
|
||||
$(RM) *.pot
|
||||
|
||||
@@ -6,10 +6,15 @@
|
||||
# Please read README_mvc.txt before using this file.
|
||||
#
|
||||
|
||||
!ifndef VIMRUNTIME
|
||||
VIMRUNTIME = ..\..\runtime
|
||||
!endif
|
||||
|
||||
LANGUAGES = \
|
||||
af \
|
||||
ca \
|
||||
cs \
|
||||
cs.cp1250 \
|
||||
de \
|
||||
en_GB \
|
||||
eo \
|
||||
@@ -19,16 +24,27 @@ LANGUAGES = \
|
||||
ga \
|
||||
it \
|
||||
ja \
|
||||
ja.euc-jp \
|
||||
ja.sjis \
|
||||
ko \
|
||||
ko.UTF-8 \
|
||||
nb \
|
||||
nl \
|
||||
no \
|
||||
pl \
|
||||
pl.cp1250 \
|
||||
pl.UTF-8 \
|
||||
pt_BR \
|
||||
ru \
|
||||
ru.cp1251 \
|
||||
sk \
|
||||
sk.cp1250 \
|
||||
sv \
|
||||
uk \
|
||||
uk.cp1251 \
|
||||
vi \
|
||||
zh_CN \
|
||||
zh_CN.cp936 \
|
||||
zh_CN.UTF-8 \
|
||||
zh_TW \
|
||||
zh_TW.UTF-8 \
|
||||
@@ -36,6 +52,7 @@ LANGUAGES = \
|
||||
MOFILES = \
|
||||
af.mo \
|
||||
ca.mo \
|
||||
cs.cp1250.mo \
|
||||
cs.mo \
|
||||
de.mo \
|
||||
en_GB.mo \
|
||||
@@ -45,27 +62,38 @@ MOFILES = \
|
||||
fr.mo \
|
||||
ga.mo \
|
||||
it.mo \
|
||||
ja.euc-jp.mo \
|
||||
ja.mo \
|
||||
ja.sjis.mo \
|
||||
ko.mo \
|
||||
ko.UTF-8.mo \
|
||||
nb.mo \
|
||||
nl.mo \
|
||||
no.mo \
|
||||
pl.cp1250.mo \
|
||||
pl.mo \
|
||||
pl.UTF-8.mo \
|
||||
pt_BR.mo \
|
||||
ru.cp1251.mo \
|
||||
ru.mo \
|
||||
sk.cp1250.mo \
|
||||
sk.mo \
|
||||
sv.mo \
|
||||
uk.cp1251.mo \
|
||||
uk.mo \
|
||||
vi.mo \
|
||||
zh_CN.UTF-8.mo \
|
||||
zh_CN.mo \
|
||||
zh_TW.UTF-8.mo \
|
||||
zh_CN.cp936.mo \
|
||||
zh_CN.UTF-8.mo \
|
||||
zh_TW.mo \
|
||||
zh_TW.UTF-8.mo \
|
||||
|
||||
PACKAGE = vim
|
||||
|
||||
# Correct the following line for the directory where gettext et al is installed
|
||||
GETTEXT_PATH = H:\gettext.0.14.4\bin
|
||||
|
||||
MSGFMT = $(GETTEXT_PATH)\msgfmt
|
||||
MSGFMT = $(GETTEXT_PATH)\msgfmt -v
|
||||
XGETTEXT = $(GETTEXT_PATH)\xgettext
|
||||
MSGMERGE = $(GETTEXT_PATH)\msgmerge
|
||||
|
||||
@@ -83,6 +111,7 @@ INSTALLDIR = $(VIMRUNTIME)\lang\$(LANGUAGE)\LC_MESSAGES
|
||||
.SUFFIXES: .po .mo .pot
|
||||
|
||||
.po.mo:
|
||||
set OLD_PO_FILE_INPUT=yes
|
||||
$(MSGFMT) -o $@ $<
|
||||
|
||||
all: $(MOFILES)
|
||||
@@ -91,9 +120,13 @@ files:
|
||||
$(LS) $(LSFLAGS) ..\*.c ..\if_perl.xs ..\globals.h > .\files
|
||||
|
||||
first_time: files
|
||||
set OLD_PO_FILE_INPUT=yes
|
||||
set OLD_PO_FILE_OUTPUT=yes
|
||||
$(XGETTEXT) --default-domain=$(LANGUAGE) --add-comments --keyword=_ --keyword=N_ --files-from=.\files
|
||||
|
||||
$(LANGUAGES): files
|
||||
set OLD_PO_FILE_INPUT=yes
|
||||
set OLD_PO_FILE_OUTPUT=yes
|
||||
$(XGETTEXT) --default-domain=$(PACKAGE) --add-comments --keyword=_ --keyword=N_ --files-from=.\files
|
||||
$(MV) $(PACKAGE).po $(PACKAGE).pot
|
||||
$(CP) $@.po $@.po.orig
|
||||
@@ -105,6 +138,10 @@ install:
|
||||
if not exist $(INSTALLDIR) $(MKD) $(INSTALLDIR)
|
||||
$(CP) $(LANGUAGE).mo $(INSTALLDIR)\$(PACKAGE).mo
|
||||
|
||||
install-all: all
|
||||
FOR %%l IN ($(LANGUAGES)) DO @IF NOT EXIST $(VIMRUNTIME)\lang\%%l\LC_MESSAGES $(MKD) $(VIMRUNTIME)\lang\%%l\LC_MESSAGES
|
||||
FOR %%l IN ($(LANGUAGES)) DO @$(CP) %%l.mo $(VIMRUNTIME)\lang\%%l\LC_MESSAGES\$(PACKAGE).mo
|
||||
|
||||
clean:
|
||||
$(RM) *.mo
|
||||
$(RM) *.pot
|
||||
|
||||
@@ -86,6 +86,9 @@ the same as in the Unix case, only the commands change):
|
||||
|
||||
This will create the xx\LC_MESSAGES directory (if it does not exist) and
|
||||
will copy vim.po to it.
|
||||
You can also use the following command to install all languages:
|
||||
|
||||
make -f Make_ming.mak install-all
|
||||
|
||||
(6) Another extra step ;-)). The command:
|
||||
|
||||
|
||||
@@ -111,6 +111,9 @@ Install your translation with the following command:
|
||||
|
||||
This will create the xx\LC_MESSAGES directory in runtime\lang if it does not
|
||||
already exist.
|
||||
You can also use the following command to install all languages:
|
||||
|
||||
nmake -f make_mvc.mak install-all
|
||||
|
||||
|
||||
vim:tw=78:
|
||||
|
||||
@@ -61,5 +61,6 @@ char_u *sign_typenr2name __ARGS((int typenr));
|
||||
void free_signs __ARGS((void));
|
||||
char_u *get_sign_name __ARGS((expand_T *xp, int idx));
|
||||
void set_context_in_sign_cmd __ARGS((expand_T *xp, char_u *arg));
|
||||
void ex_smile __ARGS((exarg_T *eap));
|
||||
void ex_drop __ARGS((exarg_T *eap));
|
||||
/* vim: set ft=c : */
|
||||
|
||||
5
src/proto/gui_gtk_gresources.pro
Normal file
@@ -0,0 +1,5 @@
|
||||
/* auto/gui_gtk_gresources.c */
|
||||
GResource *gui_gtk_get_resource __ARGS((void));
|
||||
void gui_gtk_register_resource __ARGS((void));
|
||||
void gui_gtk_unregister_resource __ARGS((void));
|
||||
/* vim: set ft=c : */
|
||||
11
src/search.c
@@ -578,6 +578,7 @@ last_pat_prog(regmatch)
|
||||
* if (options & SEARCH_KEEP) keep previous search pattern
|
||||
* if (options & SEARCH_FOLD) match only once in a closed fold
|
||||
* if (options & SEARCH_PEEK) check for typed char, cancel search
|
||||
* if (options & SEARCH_COL) start at pos->col instead of zero
|
||||
*
|
||||
* Return FAIL (zero) for failure, non-zero for success.
|
||||
* When FEAT_EVAL is defined, returns the index of the first matching
|
||||
@@ -599,6 +600,7 @@ searchit(win, buf, pos, dir, pat, count, options, pat_use, stop_lnum, tm)
|
||||
{
|
||||
int found;
|
||||
linenr_T lnum; /* no init to shut up Apollo cc */
|
||||
colnr_T col;
|
||||
regmmatch_T regmatch;
|
||||
char_u *ptr;
|
||||
colnr_T matchcol;
|
||||
@@ -711,12 +713,14 @@ searchit(win, buf, pos, dir, pat, count, options, pat_use, stop_lnum, tm)
|
||||
/*
|
||||
* Look for a match somewhere in line "lnum".
|
||||
*/
|
||||
col = at_first_line && (options & SEARCH_COL) ? pos->col
|
||||
: (colnr_T)0;
|
||||
nmatched = vim_regexec_multi(®match, win, buf,
|
||||
lnum, (colnr_T)0,
|
||||
lnum, col,
|
||||
#ifdef FEAT_RELTIME
|
||||
tm
|
||||
tm
|
||||
#else
|
||||
NULL
|
||||
NULL
|
||||
#endif
|
||||
);
|
||||
/* Abort searching on an error (e.g., out of stack). */
|
||||
@@ -1098,6 +1102,7 @@ set_vv_searchforward()
|
||||
|
||||
/*
|
||||
* Return the number of the first subpat that matched.
|
||||
* Return zero if none of them matched.
|
||||
*/
|
||||
static int
|
||||
first_submatch(rp)
|
||||
|
||||
185
src/testdir/Make_all.mak
Normal file
@@ -0,0 +1,185 @@
|
||||
#
|
||||
# Common Makefile, defines the list of tests to run.
|
||||
#
|
||||
|
||||
# The first script creates small.vim.
|
||||
SCRIPTS_FIRST = \
|
||||
test1.out
|
||||
|
||||
# Tests that run on all systems.
|
||||
SCRIPTS_ALL = \
|
||||
test3.out \
|
||||
test4.out \
|
||||
test5.out \
|
||||
test6.out \
|
||||
test7.out \
|
||||
test8.out \
|
||||
test9.out \
|
||||
test13.out \
|
||||
test14.out \
|
||||
test15.out \
|
||||
test18.out \
|
||||
test19.out \
|
||||
test20.out \
|
||||
test21.out \
|
||||
test22.out \
|
||||
test23.out \
|
||||
test24.out \
|
||||
test26.out \
|
||||
test28.out \
|
||||
test29.out \
|
||||
test31.out \
|
||||
test33.out \
|
||||
test34.out \
|
||||
test35.out \
|
||||
test36.out \
|
||||
test37.out \
|
||||
test38.out \
|
||||
test39.out \
|
||||
test40.out \
|
||||
test41.out \
|
||||
test42.out \
|
||||
test43.out \
|
||||
test44.out \
|
||||
test45.out \
|
||||
test46.out \
|
||||
test47.out \
|
||||
test48.out \
|
||||
test51.out \
|
||||
test53.out \
|
||||
test55.out \
|
||||
test56.out \
|
||||
test57.out \
|
||||
test60.out \
|
||||
test61.out \
|
||||
test62.out \
|
||||
test63.out \
|
||||
test64.out \
|
||||
test65.out \
|
||||
test66.out \
|
||||
test67.out \
|
||||
test68.out \
|
||||
test69.out \
|
||||
test70.out \
|
||||
test71.out \
|
||||
test73.out \
|
||||
test74.out \
|
||||
test75.out \
|
||||
test76.out \
|
||||
test77.out \
|
||||
test79.out \
|
||||
test80.out \
|
||||
test81.out \
|
||||
test82.out \
|
||||
test84.out \
|
||||
test88.out \
|
||||
test90.out \
|
||||
test91.out \
|
||||
test92.out \
|
||||
test93.out \
|
||||
test94.out \
|
||||
test95.out \
|
||||
test96.out \
|
||||
test98.out \
|
||||
test99.out \
|
||||
test101.out \
|
||||
test102.out \
|
||||
test103.out \
|
||||
test104.out \
|
||||
test105.out \
|
||||
test106.out \
|
||||
test107.out \
|
||||
test_argument_0count.out \
|
||||
test_argument_count.out \
|
||||
test_autocmd_option.out \
|
||||
test_autoformat_join.out \
|
||||
test_breakindent.out \
|
||||
test_changelist.out \
|
||||
test_charsearch.out \
|
||||
test_close_count.out \
|
||||
test_command_count.out \
|
||||
test_comparators.out \
|
||||
test_erasebackword.out \
|
||||
test_eval.out \
|
||||
test_fixeol.out \
|
||||
test_increment.out \
|
||||
test_insertcount.out \
|
||||
test_listchars.out \
|
||||
test_listlbr.out \
|
||||
test_listlbr_utf8.out \
|
||||
test_mapping.out \
|
||||
test_marks.out \
|
||||
test_match_conceal.out \
|
||||
test_nested_function.out \
|
||||
test_options.out \
|
||||
test_perl.out \
|
||||
test_qf_title.out \
|
||||
test_ruby.out \
|
||||
test_search_mbyte.out \
|
||||
test_set.out \
|
||||
test_signs.out \
|
||||
test_tagcase.out \
|
||||
test_textobjects.out \
|
||||
test_utf8.out \
|
||||
test_writefile.out
|
||||
|
||||
|
||||
# Tests that run on most systems, but not on Amiga.
|
||||
SCRIPTS_MORE1 = \
|
||||
test11.out \
|
||||
test52.out \
|
||||
test85.out \
|
||||
test86.out \
|
||||
test87.out
|
||||
|
||||
|
||||
# Tests that run on most systems, but not on Amiga and DOS/Windows.
|
||||
SCRIPTS_MORE2 = \
|
||||
test2.out \
|
||||
test10.out \
|
||||
test12.out \
|
||||
test25.out \
|
||||
test27.out \
|
||||
test49.out \
|
||||
test97.out
|
||||
|
||||
|
||||
# Tests that run on most systems, but not MingW and Cygwin.
|
||||
SCRIPTS_MORE3 = \
|
||||
test54.out
|
||||
|
||||
|
||||
# Tests that run on most systems, but not on VMS
|
||||
SCRIPTS_MORE4 = \
|
||||
test17.out \
|
||||
test30.out \
|
||||
test32.out \
|
||||
test58.out \
|
||||
test59.out \
|
||||
test72.out \
|
||||
test78.out \
|
||||
test83.out \
|
||||
test89.out
|
||||
|
||||
|
||||
# Tests specifically for MS-Windows.
|
||||
SCRIPTS_WIN32 = test50.out
|
||||
|
||||
|
||||
# Tests for the GUI.
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
|
||||
# Tests using runtest.vim.vim.
|
||||
# Keep test_alot.res as the last one, sort the others.
|
||||
NEW_TESTS = test_assert.res \
|
||||
test_cdo.res \
|
||||
test_viml.res \
|
||||
test_alot.res
|
||||
|
||||
|
||||
# Explicit dependencies.
|
||||
test49.out: test49.vim
|
||||
|
||||
test60.out: test60.vim
|
||||
|
||||
@@ -5,6 +5,10 @@
|
||||
|
||||
VIMPROG = /vim
|
||||
|
||||
default: nongui
|
||||
|
||||
include Make_all.mak
|
||||
|
||||
# These tests don't work (yet):
|
||||
# test2 "\\tmp" doesn't work
|
||||
# test10 'errorformat' is different
|
||||
@@ -16,64 +20,14 @@ VIMPROG = /vim
|
||||
# test85 no Lua interface
|
||||
# test86, 87 no Python interface
|
||||
|
||||
SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
|
||||
test7.out test8.out test9.out \
|
||||
test13.out test14.out test15.out test17.out \
|
||||
test18.out test19.out test20.out test21.out test22.out \
|
||||
test23.out test24.out test26.out \
|
||||
test28.out test29.out test30.out test31.out test32.out \
|
||||
test33.out test34.out test35.out test36.out test37.out \
|
||||
test38.out test39.out test40.out test41.out test42.out \
|
||||
test43.out test44.out test45.out test46.out test47.out \
|
||||
test48.out test51.out test53.out test54.out test55.out \
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
test89.out test90.out test91.out test92.out test93.out \
|
||||
test94.out test95.out test96.out test97.out test98.out \
|
||||
test99.out test101.out test102.out test103.out \
|
||||
test104.out test105.out test106.out test107.out \
|
||||
test_argument_0count.out \
|
||||
test_argument_count.out \
|
||||
test_autocmd_option.out \
|
||||
test_autoformat_join.out \
|
||||
test_breakindent.out \
|
||||
test_cdo.out \
|
||||
test_changelist.out \
|
||||
test_charsearch.out \
|
||||
test_close_count.out \
|
||||
test_command_count.out \
|
||||
test_comparators.out \
|
||||
test_erasebackword.out \
|
||||
test_eval.out \
|
||||
test_fixeol.out \
|
||||
test_increment.out \
|
||||
test_insertcount.out \
|
||||
test_listchars.out \
|
||||
test_listlbr.out \
|
||||
test_listlbr_utf8.out \
|
||||
test_mapping.out \
|
||||
test_marks.out \
|
||||
test_match_conceal.out \
|
||||
test_nested_function.out \
|
||||
test_options.out \
|
||||
test_perl.out \
|
||||
test_qf_title.out \
|
||||
test_ruby.out \
|
||||
test_search_mbyte.out \
|
||||
test_set.out \
|
||||
test_signs.out \
|
||||
test_tagcase.out \
|
||||
test_textobjects.out \
|
||||
test_utf8.out \
|
||||
test_writefile.out
|
||||
SCRIPTS = $(SCRIPTS_ALL) $(SCRIPTS_MORE3) $(SCRIPTS_MORE4)
|
||||
|
||||
# Must run test1 first to create small.vim.
|
||||
$(SCRIPTS) $(SCRIPTS_GUI) $(NEW_TESTS): $(SCRIPTS_FIRST)
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
nongui: /tmp $(SCRIPTS)
|
||||
nongui: /tmp $(SCRIPTS_FIRST) $(SCRIPTS)
|
||||
csh -c echo ALL DONE
|
||||
|
||||
clean:
|
||||
@@ -91,138 +45,5 @@ clean:
|
||||
/tmp:
|
||||
makedir /tmp
|
||||
|
||||
# Manx requires all dependencies...
|
||||
test1.out: test1.in
|
||||
test2.out: test2.in
|
||||
test3.out: test3.in
|
||||
test4.out: test4.in
|
||||
test5.out: test5.in
|
||||
test6.out: test6.in
|
||||
test7.out: test7.in
|
||||
test8.out: test8.in
|
||||
test9.out: test9.in
|
||||
test10.out: test10.in
|
||||
test11.out: test11.in
|
||||
test12.out: test12.in
|
||||
test13.out: test13.in
|
||||
test14.out: test14.in
|
||||
test15.out: test15.in
|
||||
test16.out: test16.in
|
||||
test17.out: test17.in
|
||||
test18.out: test18.in
|
||||
test19.out: test19.in
|
||||
test20.out: test20.in
|
||||
test21.out: test21.in
|
||||
test22.out: test22.in
|
||||
test23.out: test23.in
|
||||
test24.out: test24.in
|
||||
test25.out: test25.in
|
||||
test26.out: test26.in
|
||||
test27.out: test27.in
|
||||
test28.out: test28.in
|
||||
test29.out: test29.in
|
||||
test30.out: test30.in
|
||||
test31.out: test31.in
|
||||
test32.out: test32.in
|
||||
test33.out: test33.in
|
||||
test34.out: test34.in
|
||||
test35.out: test35.in
|
||||
test36.out: test36.in
|
||||
test37.out: test37.in
|
||||
test38.out: test38.in
|
||||
test39.out: test39.in
|
||||
test40.out: test40.in
|
||||
test41.out: test41.in
|
||||
test42.out: test42.in
|
||||
test43.out: test43.in
|
||||
test44.out: test44.in
|
||||
test45.out: test45.in
|
||||
test46.out: test46.in
|
||||
test47.out: test47.in
|
||||
test48.out: test48.in
|
||||
test51.out: test51.in
|
||||
test53.out: test53.in
|
||||
test54.out: test54.in
|
||||
test55.out: test55.in
|
||||
test56.out: test56.in
|
||||
test57.out: test57.in
|
||||
test58.out: test58.in
|
||||
test59.out: test59.in
|
||||
test60.out: test60.in
|
||||
test61.out: test61.in
|
||||
test62.out: test62.in
|
||||
test63.out: test63.in
|
||||
test64.out: test64.in
|
||||
test65.out: test65.in
|
||||
test66.out: test66.in
|
||||
test67.out: test67.in
|
||||
test68.out: test68.in
|
||||
test69.out: test69.in
|
||||
test70.out: test70.in
|
||||
test71.out: test71.in
|
||||
test72.out: test72.in
|
||||
test73.out: test73.in
|
||||
test74.out: test74.in
|
||||
test75.out: test75.in
|
||||
test76.out: test76.in
|
||||
test77.out: test77.in
|
||||
test78.out: test78.in
|
||||
test79.out: test79.in
|
||||
test80.out: test80.in
|
||||
test81.out: test81.in
|
||||
test82.out: test82.in
|
||||
test83.out: test83.in
|
||||
test84.out: test84.in
|
||||
test88.out: test88.in
|
||||
test89.out: test89.in
|
||||
test90.out: test90.in
|
||||
test91.out: test91.in
|
||||
test92.out: test92.in
|
||||
test93.out: test93.in
|
||||
test94.out: test94.in
|
||||
test95.out: test95.in
|
||||
test96.out: test96.in
|
||||
test97.out: test97.in
|
||||
test98.out: test98.in
|
||||
test99.out: test99.in
|
||||
test101.out: test101.in
|
||||
test102.out: test102.in
|
||||
test103.out: test103.in
|
||||
test104.out: test104.in
|
||||
test105.out: test105.in
|
||||
test106.out: test106.in
|
||||
test107.out: test107.in
|
||||
test_argument_0count.out: test_argument_0count.in
|
||||
test_argument_count.out: test_argument_count.in
|
||||
test_autocmd_option.out: test_autocmd_option.in
|
||||
test_autoformat_join.out: test_autoformat_join.in
|
||||
test_breakindent.out: test_breakindent.in
|
||||
test_cdo.out: test_cdo.in
|
||||
test_changelist.out: test_changelist.in
|
||||
test_charsearch.out: test_charsearch.in
|
||||
test_close_count.out: test_close_count.in
|
||||
test_command_count.out: test_command_count.in
|
||||
test_comparators.out: test_comparators.in
|
||||
test_erasebackword.out: test_erasebackword.in
|
||||
test_eval.out: test_eval.in
|
||||
test_increment.out: test_increment.in
|
||||
test_fixeol.out: test_fixeol.in
|
||||
test_insertcount.out: test_insertcount.in
|
||||
test_listchars.out: test_listchars.in
|
||||
test_listlbr.out: test_listlbr.in
|
||||
test_listlbr_utf8.out: test_listlbr_utf8.in
|
||||
test_mapping.out: test_mapping.in
|
||||
test_marks.out: test_marks.in
|
||||
test_match_conceal.out: test_match_conceal.in
|
||||
test_nested_function.out: test_nested_function.in
|
||||
test_options.out: test_options.in
|
||||
test_perl.out: test_perl.in
|
||||
test_qf_title.out: test_qf_title.in
|
||||
test_ruby.out: test_ruby.in
|
||||
test_search_mbyte.out: test_search_mbyte.in
|
||||
test_set.out: test_set.in
|
||||
test_signs.out: test_signs.in
|
||||
test_tagcase.out: test_tagcase.in
|
||||
test_textobjects.out: test_textobjects.in
|
||||
test_utf8.out: test_utf8.in
|
||||
test_writefile.out: test_writefile.in
|
||||
# Manx requires all dependencies, but we stopped updating them.
|
||||
# Delete the .out file(s) to run test(s).
|
||||
|
||||
@@ -5,89 +5,35 @@
|
||||
|
||||
VIMPROG = ..\\vim
|
||||
|
||||
default: nongui
|
||||
|
||||
!include Make_all.mak
|
||||
|
||||
# Omitted:
|
||||
# test2 "\\tmp" doesn't work.
|
||||
# test10 'errorformat' is different
|
||||
# test12 can't unlink a swap file
|
||||
# test25 uses symbolic link
|
||||
# test27 can't edit file with "*" in file name
|
||||
# test49 fails in various ways
|
||||
# test97 \{ and \$ are not escaped characters.
|
||||
|
||||
SCRIPTS16 = test1.out test19.out test20.out test22.out \
|
||||
test23.out test24.out test28.out test29.out \
|
||||
test35.out test36.out test43.out \
|
||||
test44.out test45.out test46.out test47.out \
|
||||
test48.out test51.out test53.out test54.out \
|
||||
test55.out test56.out test57.out test58.out test59.out \
|
||||
test60.out test61.out test62.out test63.out test64.out
|
||||
SCRIPTS = $(SCRIPTS_ALL) $(SCRIPTS_MORE1) $(SCRIPTS_MORE3) $(SCRIPTS_MORE4)
|
||||
|
||||
SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
|
||||
test8.out test9.out test11.out test13.out test14.out \
|
||||
test15.out test17.out test18.out test21.out test26.out \
|
||||
test30.out test31.out test32.out test33.out test34.out \
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
test89.out test90.out test91.out test92.out test93.out \
|
||||
test94.out test95.out test96.out test98.out test99.out \
|
||||
test101.out test102.out test103.out test104.out \
|
||||
test105.out test106.out test107.out\
|
||||
test_argument_0count.out \
|
||||
test_argument_count.out \
|
||||
test_autocmd_option.out \
|
||||
test_autoformat_join.out \
|
||||
test_breakindent.out \
|
||||
test_cdo.out \
|
||||
test_changelist.out \
|
||||
test_charsearch.out \
|
||||
test_close_count.out \
|
||||
test_command_count.out \
|
||||
test_comparators.out \
|
||||
test_erasebackword.out \
|
||||
test_eval.out \
|
||||
test_fixeol.out \
|
||||
test_increment.out \
|
||||
test_insertcount.out \
|
||||
test_listchars.out \
|
||||
test_listlbr.out \
|
||||
test_listlbr_utf8.out \
|
||||
test_mapping.out \
|
||||
test_marks.out \
|
||||
test_match_conceal.out \
|
||||
test_nested_function.out \
|
||||
test_options.out \
|
||||
test_perl.out \
|
||||
test_qf_title.out \
|
||||
test_ruby.out \
|
||||
test_search_mbyte.out \
|
||||
test_set.out \
|
||||
test_signs.out \
|
||||
test_tagcase.out \
|
||||
test_textobjects.out \
|
||||
test_utf8.out \
|
||||
test_writefile.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
|
||||
TEST_OUTFILES = $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32) $(SCRIPTS_GUI)
|
||||
TEST_OUTFILES = $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_WIN32) $(SCRIPTS_GUI)
|
||||
DOSTMP = dostmp
|
||||
DOSTMP_OUTFILES = $(TEST_OUTFILES:test=dostmp\test)
|
||||
DOSTMP_INFILES = $(DOSTMP_OUTFILES:.out=.in)
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
.SUFFIXES: .in .out .res .vim
|
||||
|
||||
nongui: nolog $(SCRIPTS16) $(SCRIPTS) report
|
||||
nongui: nolog $(SCRIPTS_FIRST) $(SCRIPTS) newtests report
|
||||
|
||||
small: nolog report
|
||||
|
||||
gui: nolog $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) report
|
||||
gui: nolog $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI) newtests report
|
||||
|
||||
win32: nolog $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32) report
|
||||
win32: nolog $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_WIN32) newtests report
|
||||
|
||||
# Copy the input files to dostmp, changing the fileformat to dos.
|
||||
$(DOSTMP_INFILES): $(*B).in
|
||||
@@ -118,6 +64,11 @@ $(TEST_OUTFILES): $(DOSTMP)\$(*B).in
|
||||
& echo $* FAILED >> test.log ) \
|
||||
else ( move /y test.out $*.out )
|
||||
|
||||
# Must run test1 first to create small.vim.
|
||||
# This rule must come after the one that copies the input files to dostmp to
|
||||
# allow for running an individual test.
|
||||
$(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) $(NEW_TESTS): $(SCRIPTS_FIRST)
|
||||
|
||||
report:
|
||||
@echo ""
|
||||
@echo Test results:
|
||||
@@ -127,6 +78,7 @@ report:
|
||||
clean:
|
||||
-del *.out
|
||||
-del *.failed
|
||||
-del *.res
|
||||
-if exist $(DOSTMP) rd /s /q $(DOSTMP)
|
||||
-if exist test.in del test.in
|
||||
-if exist test.ok del test.ok
|
||||
@@ -140,10 +92,12 @@ clean:
|
||||
-if exist Xfind rd /s /q Xfind
|
||||
-if exist viminfo del viminfo
|
||||
-if exist test.log del test.log
|
||||
-if exist messages del messages
|
||||
-if exist benchmark.out del benchmark.out
|
||||
|
||||
nolog:
|
||||
-if exist test.log del test.log
|
||||
-if exist messages del messages
|
||||
|
||||
benchmark:
|
||||
bench_re_freeze.out
|
||||
@@ -152,3 +106,12 @@ bench_re_freeze.out: bench_re_freeze.vim
|
||||
-if exist benchmark.out del benchmark.out
|
||||
$(VIMPROG) -u dos.vim -U NONE --noplugin $*.in
|
||||
@IF EXIST benchmark.out ( type benchmark.out )
|
||||
|
||||
# New style of tests uses Vim script with assert calls. These are easier
|
||||
# to write and a lot easier to read and debug.
|
||||
# Limitation: Only works with the +eval feature.
|
||||
|
||||
newtests: $(NEW_TESTS)
|
||||
|
||||
.vim.res:
|
||||
$(VIMPROG) -u NONE -S runtest.vim $*.vim
|
||||
|
||||
@@ -24,86 +24,32 @@ endif
|
||||
|
||||
VIMPROG = ..$(DIRSLASH)vim
|
||||
|
||||
default: vimall
|
||||
|
||||
include Make_all.mak
|
||||
|
||||
# Omitted:
|
||||
# test2 "\\tmp" doesn't work.
|
||||
# test10 'errorformat' is different
|
||||
# test12 can't unlink a swap file
|
||||
# test25 uses symbolic link
|
||||
# test27 can't edit file with "*" in file name
|
||||
# test97 \{ and \$ are not escaped characters.
|
||||
# test54 doesn't work yet
|
||||
# test97 \{ and \$ are not escaped characters
|
||||
|
||||
SCRIPTS16 = test1.out test19.out test20.out test22.out \
|
||||
test23.out test24.out test28.out test29.out \
|
||||
test35.out test36.out test43.out \
|
||||
test44.out test45.out test46.out test47.out \
|
||||
test48.out test51.out test53.out \
|
||||
test55.out test56.out test57.out test58.out test59.out \
|
||||
test60.out test61.out test62.out test63.out test64.out
|
||||
|
||||
# Had to remove test54 which doesn't work yet.
|
||||
# test54.out
|
||||
|
||||
SCRIPTS = test3.out test4.out test5.out test6.out test7.out \
|
||||
test8.out test9.out test11.out test13.out test14.out \
|
||||
test15.out test17.out test18.out test21.out test26.out \
|
||||
test30.out test31.out test32.out test33.out test34.out \
|
||||
test37.out test38.out test39.out test40.out test41.out \
|
||||
test42.out test52.out test65.out test66.out test67.out \
|
||||
test68.out test69.out test71.out test72.out test73.out \
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
test89.out test90.out test91.out test92.out test93.out \
|
||||
test94.out test95.out test96.out test98.out test99.out \
|
||||
test101.out test102.out test103.out test104.out \
|
||||
test105.out test106.out test107.out \
|
||||
test_argument_0count.out \
|
||||
test_argument_count.out \
|
||||
test_autocmd_option.out \
|
||||
test_autoformat_join.out \
|
||||
test_breakindent.out \
|
||||
test_cdo.out \
|
||||
test_changelist.out \
|
||||
test_charsearch.out \
|
||||
test_close_count.out \
|
||||
test_command_count.out \
|
||||
test_comparators.out \
|
||||
test_erasebackword.out \
|
||||
test_eval.out \
|
||||
test_fixeol.out \
|
||||
test_increment.out \
|
||||
test_insertcount.out \
|
||||
test_listchars.out \
|
||||
test_listlbr.out \
|
||||
test_listlbr_utf8.out \
|
||||
test_mapping.out \
|
||||
test_marks.out \
|
||||
test_match_conceal.out \
|
||||
test_nested_function.out \
|
||||
test_options.out \
|
||||
test_perl.out \
|
||||
test_qf_title.out \
|
||||
test_ruby.out \
|
||||
test_search_mbyte.out \
|
||||
test_set.out \
|
||||
test_signs.out \
|
||||
test_tagcase.out \
|
||||
test_textobjects.out \
|
||||
test_utf8.out \
|
||||
test_writefile.out
|
||||
|
||||
SCRIPTS32 = test50.out test70.out
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
SCRIPTS = $(SCRIPTS_ALL) $(SCRIPTS_MORE1) $(SCRIPTS_MORE4) $(SCRIPTS_WIN32)
|
||||
|
||||
SCRIPTS_BENCH = bench_re_freeze.out
|
||||
|
||||
# Must run test1 first to create small.vim.
|
||||
$(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32) $(NEW_TESTS): $(SCRIPTS_FIRST)
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
vimall: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS32)
|
||||
vimall: fixff $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI) $(SCRIPTS_WIN32)
|
||||
echo ALL DONE
|
||||
|
||||
nongui: fixff $(SCRIPTS16) $(SCRIPTS)
|
||||
nongui: fixff $(SCRIPTS_FIRST) $(SCRIPTS)
|
||||
echo ALL DONE
|
||||
|
||||
benchmark: $(SCRIPTS_BENCH)
|
||||
@@ -111,10 +57,10 @@ benchmark: $(SCRIPTS_BENCH)
|
||||
small:
|
||||
echo ALL DONE
|
||||
|
||||
gui: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS_GUI)
|
||||
gui: fixff $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI)
|
||||
echo ALL DONE
|
||||
|
||||
win32: fixff $(SCRIPTS16) $(SCRIPTS) $(SCRIPTS32)
|
||||
win32: fixff $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_WIN32)
|
||||
echo ALL DONE
|
||||
|
||||
fixff:
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
#
|
||||
# Makefile to run all tests for Vim, on OS/2
|
||||
#
|
||||
# OUTDATED, probably doesn't work.
|
||||
#
|
||||
# Requires a set of Unix tools: echo, diff, etc.
|
||||
#
|
||||
|
||||
VIMPROG = ../vim.exe
|
||||
|
||||
default: all
|
||||
|
||||
include Make_all.mak
|
||||
|
||||
# Omitted:
|
||||
# test2 "\\tmp" doesn't work.
|
||||
# test10 'errorformat' is different
|
||||
@@ -17,69 +24,19 @@ VIMPROG = ../vim.exe
|
||||
# test86, 87 no Python interface
|
||||
# test97 \{ and \$ are not escaped characters.
|
||||
|
||||
SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
|
||||
test7.out test8.out test9.out \
|
||||
test13.out test14.out test15.out test17.out \
|
||||
test18.out test19.out test20.out test21.out test22.out \
|
||||
test23.out test24.out test26.out \
|
||||
test28.out test29.out test30.out test31.out test32.out \
|
||||
test33.out test34.out test35.out test36.out test37.out \
|
||||
test38.out test39.out test40.out test41.out test42.out \
|
||||
test43.out test44.out test45.out test46.out test47.out \
|
||||
test48.out test51.out test53.out test54.out test55.out \
|
||||
test56.out test57.out test58.out test59.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out test70.out \
|
||||
test71.out test72.out test73.out test74.out test75.out \
|
||||
test76.out test77.out test78.out test79.out test80.out \
|
||||
test81.out test82.out test83.out test84.out test88.out \
|
||||
test89.out test90.out test91.out test92.out test93.out \
|
||||
test94.out test95.out test96.out test98.out test99.out \
|
||||
test101.out test102.out test103.out test104.out \
|
||||
test105.out test106.out test107.out \
|
||||
test_argument_0count.out \
|
||||
test_argument_count.out \
|
||||
test_autocmd_option.out \
|
||||
test_autoformat_join.out \
|
||||
test_breakindent.out \
|
||||
test_cdo.out \
|
||||
test_changelist.out \
|
||||
test_charsearch.out \
|
||||
test_close_count.out \
|
||||
test_command_count.out \
|
||||
test_comparators.out \
|
||||
test_erasebackword.out \
|
||||
test_eval.out \
|
||||
test_fixeol.out \
|
||||
test_increment.out \
|
||||
test_insertcount.out \
|
||||
test_listchars.out \
|
||||
test_listlbr.out \
|
||||
test_listlbr_utf8.out \
|
||||
test_mapping.out \
|
||||
test_marks.out \
|
||||
test_match_conceal.out \
|
||||
test_nested_function.out \
|
||||
test_options.out \
|
||||
test_perl.out \
|
||||
test_qf_title.out \
|
||||
test_ruby.out \
|
||||
test_search_mbyte.out \
|
||||
test_set.out \
|
||||
test_signs.out \
|
||||
test_tagcase.out \
|
||||
test_textobjects.out \
|
||||
test_utf8.out \
|
||||
test_writefile.out
|
||||
SCRIPTS = $(SCRIPTS_ALL) $(SCRIPTS_MORE3) $(SCRIPTS_MORE4)
|
||||
|
||||
SCRIPTS_BENCH = bench_re_freeze.out
|
||||
|
||||
.SUFFIXES: .in .out
|
||||
|
||||
all: /tmp $(SCRIPTS)
|
||||
all: /tmp $(SCRIPTS_FIRST) $(SCRIPTS)
|
||||
@echo ALL DONE
|
||||
|
||||
$(SCRIPTS): $(VIMPROG)
|
||||
$(SCRIPTS_FIRST) $(SCRIPTS): $(VIMPROG)
|
||||
|
||||
# Must run test1 first to create small.vim.
|
||||
$(SCRIPTS): $(SCRIPTS_FIRST)
|
||||
|
||||
benchmark: $(SCRIPTS_BENCH)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# Authors: Zoltan Arpadffy, <arpadffy@polarhome.com>
|
||||
# Sandor Kopanyi, <sandor.kopanyi@mailbox.hu>
|
||||
#
|
||||
# Last change: 2015 Dec 03
|
||||
# Last change: 2015 Dec 28
|
||||
#
|
||||
# This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
|
||||
# Edit the lines in the Configuration section below to select.
|
||||
@@ -74,62 +74,14 @@
|
||||
|
||||
VIMPROG = <->vim.exe
|
||||
|
||||
default : all
|
||||
|
||||
# This probably doesn't work, please fix.
|
||||
.INCLUDE Make_all.mak
|
||||
|
||||
.SUFFIXES : .out .in
|
||||
|
||||
SCRIPT = test1.out test2.out test3.out test4.out test5.out \
|
||||
test6.out test7.out test8.out test9.out test10a.out\
|
||||
test13.out test14.out test15.out \
|
||||
test18.out test19.out test20.out test21.out test22.out \
|
||||
test23.out test24.out test26.out \
|
||||
test28.out test29.out test30.out test31.out test32.out \
|
||||
test33.out test34.out test35.out test36.out test37.out \
|
||||
test38.out test39.out test40.out test41.out test42.out \
|
||||
test43.out test44.out test45.out test46.out \
|
||||
test48.out test49.out test51.out test53.out test54.out \
|
||||
test55.out test56.out test57.out test60.out \
|
||||
test61.out test62.out test63.out test64.out test65.out \
|
||||
test66.out test67.out test68.out test69.out \
|
||||
test71.out test72.out test74.out test75.out test76.out \
|
||||
test77a.out test78.out test79.out test80.out test81.out \
|
||||
test82.out test84.out test88.out test89.out \
|
||||
test90.out test91.out test92.out test93.out test94.out \
|
||||
test95.out test96.out test98.out test99.out \
|
||||
test101.out test103.out test104.out \
|
||||
test105.out test106.out test107.out \
|
||||
test_argument_0count.out \
|
||||
test_argument_count.out \
|
||||
test_autocmd_option.out \
|
||||
test_autoformat_join.out \
|
||||
test_breakindent.out \
|
||||
test_cdo.out \
|
||||
test_changelist.out \
|
||||
test_charsearch.out \
|
||||
test_close_count.out \
|
||||
test_command_count.out \
|
||||
test_comparators.out \
|
||||
test_erasebackword.out \
|
||||
test_eval.out \
|
||||
test_fixeol.out \
|
||||
test_increment.out \
|
||||
test_insertcount.out \
|
||||
test_listchars.out \
|
||||
test_listlbr.out \
|
||||
test_listlbr_utf8.out \
|
||||
test_mapping.out \
|
||||
test_marks.out \
|
||||
test_match_conceal.out \
|
||||
test_nested_function.out \
|
||||
test_options.out \
|
||||
test_perl.out \
|
||||
test_qf_title.out \
|
||||
test_ruby.out \
|
||||
test_search_mbyte.out \
|
||||
test_set.out \
|
||||
test_signs.out \
|
||||
test_tagcase.out \
|
||||
test_textobjects.out \
|
||||
test_utf8.out \
|
||||
test_writefile.out
|
||||
SCRIPT = $(SCRIPTS_ALL) $(SCRIPTS_MORE3)
|
||||
|
||||
# Known problems:
|
||||
# test17: ?
|
||||
@@ -220,7 +172,7 @@ SCRIPT_PYTHON = test86.out test87.out
|
||||
-@ if "''F$SEARCH("Xdotest.*")'" .NES. "" then delete/noconfirm/nolog Xdotest.*.*
|
||||
-@ if "''F$SEARCH("Xtest.*")'" .NES. "" then delete/noconfirm/nolog Xtest.*.*
|
||||
|
||||
all : clean nolog $(START_WITH) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_ODS5) $(SCRIPT_GZIP) \
|
||||
all : clean nolog $(SCRIPTS_FIRST) $(SCRIPT) $(SCRIPT_GUI) $(SCRIPT_UNIX) $(SCRIPT_WIN) $(SCRIPT_SPELL) $(SCRIPT_ODS5) $(SCRIPT_GZIP) \
|
||||
$(SCRIPT_GDIFF) $(SCRIPT_MZSCH) $(SCRIPT_CKSUM) $(SCRIPT_ICONV) $(SCRIPT_LUA) $(SCRIPT_PYTHON) nolog
|
||||
-@ write sys$output " "
|
||||
-@ write sys$output "-----------------------------------------------"
|
||||
|
||||
@@ -14,75 +14,26 @@ SCRIPTSOURCE = ../../runtime
|
||||
# This will make testing about 10 times as slow.
|
||||
# VALGRIND = valgrind --tool=memcheck --leak-check=yes --num-callers=15 --log-file=valgrind.$*
|
||||
|
||||
default: nongui
|
||||
|
||||
SCRIPTS = test1.out test2.out test3.out test4.out test5.out test6.out \
|
||||
test7.out test8.out test9.out test10.out test11.out \
|
||||
test12.out test13.out test14.out test15.out test17.out \
|
||||
test18.out test19.out test20.out test21.out test22.out \
|
||||
test23.out test24.out test25.out test26.out test27.out \
|
||||
test28.out test29.out test30.out test31.out test32.out \
|
||||
test33.out test34.out test35.out test36.out test37.out \
|
||||
test38.out test39.out test40.out test41.out test42.out \
|
||||
test43.out test44.out test45.out test46.out test47.out \
|
||||
test48.out test49.out test51.out test52.out test53.out \
|
||||
test54.out test55.out test56.out test57.out test58.out \
|
||||
test59.out test60.out test61.out test62.out test63.out \
|
||||
test64.out test65.out test66.out test67.out test68.out \
|
||||
test69.out test70.out test71.out test72.out test73.out \
|
||||
test74.out test75.out test76.out test77.out test78.out \
|
||||
test79.out test80.out test81.out test82.out test83.out \
|
||||
test84.out test85.out test86.out test87.out test88.out \
|
||||
test89.out test90.out test91.out test92.out test93.out \
|
||||
test94.out test95.out test96.out test97.out test98.out \
|
||||
test99.out test101.out test102.out test103.out \
|
||||
test104.out test105.out test106.out test107.out \
|
||||
test_argument_0count.out \
|
||||
test_argument_count.out \
|
||||
test_autocmd_option.out \
|
||||
test_autoformat_join.out \
|
||||
test_breakindent.out \
|
||||
test_cdo.out \
|
||||
test_changelist.out \
|
||||
test_charsearch.out \
|
||||
test_close_count.out \
|
||||
test_command_count.out \
|
||||
test_comparators.out \
|
||||
test_erasebackword.out \
|
||||
test_eval.out \
|
||||
test_fixeol.out \
|
||||
test_increment.out \
|
||||
test_insertcount.out \
|
||||
test_listchars.out \
|
||||
test_listlbr.out \
|
||||
test_listlbr_utf8.out \
|
||||
test_mapping.out \
|
||||
test_marks.out \
|
||||
test_match_conceal.out \
|
||||
test_nested_function.out \
|
||||
test_options.out \
|
||||
test_perl.out \
|
||||
test_qf_title.out \
|
||||
test_ruby.out \
|
||||
test_search_mbyte.out \
|
||||
test_set.out \
|
||||
test_signs.out \
|
||||
test_tagcase.out \
|
||||
test_textobjects.out \
|
||||
test_utf8.out \
|
||||
test_writefile.out
|
||||
# The list of tests is common to all systems.
|
||||
# This defines NEW_TESTS, SCRIPTS_ALL, SCRIPTS_MORE* and SCRIPTS_GUI.
|
||||
include Make_all.mak
|
||||
|
||||
NEW_TESTS = test_assert.res \
|
||||
test_alot.res
|
||||
|
||||
SCRIPTS_GUI = test16.out
|
||||
SCRIPTS = $(SCRIPTS_ALL) \
|
||||
$(SCRIPTS_MORE1) \
|
||||
$(SCRIPTS_MORE2) \
|
||||
$(SCRIPTS_MORE3) \
|
||||
$(SCRIPTS_MORE4)
|
||||
|
||||
SCRIPTS_BENCH = bench_re_freeze.out
|
||||
|
||||
.SUFFIXES: .in .out .res .vim
|
||||
|
||||
nongui: nolog $(SCRIPTS) newtests report
|
||||
nongui: nolog $(SCRIPTS_FIRST) $(SCRIPTS) newtests report
|
||||
|
||||
gui: nolog $(SCRIPTS) $(SCRIPTS_GUI) newtests report
|
||||
gui: nolog $(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI) newtests report
|
||||
|
||||
benchmark: $(SCRIPTS_BENCH)
|
||||
|
||||
@@ -94,14 +45,17 @@ report:
|
||||
else echo ALL DONE; \
|
||||
fi"
|
||||
|
||||
$(SCRIPTS) $(SCRIPTS_GUI) $(NEW_TESTS): $(VIMPROG)
|
||||
$(SCRIPTS_FIRST) $(SCRIPTS) $(SCRIPTS_GUI) $(NEW_TESTS): $(VIMPROG)
|
||||
|
||||
# Must run test1 first to create small.vim.
|
||||
$(SCRIPTS) $(SCRIPTS_GUI) $(NEW_TESTS): $(SCRIPTS_FIRST)
|
||||
|
||||
RM_ON_RUN = test.out X* viminfo
|
||||
RM_ON_START = tiny.vim small.vim mbyte.vim mzscheme.vim lua.vim test.ok benchmark.out
|
||||
RUN_VIM = VIMRUNTIME=$(SCRIPTSOURCE); export VIMRUNTIME; $(VALGRIND) $(VIMPROG) -f -u unix.vim -U NONE --noplugin -s dotest.in
|
||||
|
||||
clean:
|
||||
-rm -rf *.out *.failed *.res *.rej *.orig test.log $(RM_ON_RUN) $(RM_ON_START) valgrind.*
|
||||
-rm -rf *.out *.failed *.res *.rej *.orig test.log messages $(RM_ON_RUN) $(RM_ON_START) valgrind.*
|
||||
|
||||
test1.out: test1.in
|
||||
-rm -rf $*.failed $(RM_ON_RUN) $(RM_ON_START) wrongtermsize
|
||||
@@ -148,10 +102,6 @@ test1.out: test1.in
|
||||
fi"
|
||||
-rm -rf X* test.ok viminfo
|
||||
|
||||
test49.out: test49.vim
|
||||
|
||||
test60.out: test60.vim
|
||||
|
||||
bench_re_freeze.out: bench_re_freeze.vim
|
||||
-rm -rf benchmark.out $(RM_ON_RUN)
|
||||
# Sleep a moment to avoid that the xterm title is messed up.
|
||||
@@ -162,7 +112,7 @@ bench_re_freeze.out: bench_re_freeze.vim
|
||||
@/bin/sh -c "if test -f benchmark.out; then cat benchmark.out; fi"
|
||||
|
||||
nolog:
|
||||
-rm -f test.log
|
||||
-rm -f test.log messages
|
||||
|
||||
|
||||
# New style of tests uses Vim script with assert calls. These are easier
|
||||
@@ -173,4 +123,4 @@ RUN_VIMTEST = VIMRUNTIME=$(SCRIPTSOURCE); export VIMRUNTIME; $(VALGRIND) $(VIMPR
|
||||
newtests: $(NEW_TESTS)
|
||||
|
||||
.vim.res:
|
||||
$(RUN_VIMTEST) -u runtest.vim $*.vim
|
||||
$(RUN_VIMTEST) -u NONE -S runtest.vim $*.vim
|
||||
|
||||
@@ -21,9 +21,7 @@
|
||||
" It will be called after each Test_ function.
|
||||
|
||||
" Without the +eval feature we can't run these tests, bail out.
|
||||
if 0
|
||||
quit!
|
||||
endif
|
||||
so small.vim
|
||||
|
||||
" Check that the screen size is at least 24 x 80 characters.
|
||||
if &lines < 24 || &columns < 80
|
||||
@@ -35,10 +33,29 @@ if &lines < 24 || &columns < 80
|
||||
cquit
|
||||
endif
|
||||
|
||||
" For consistency run all tests with 'nocompatible' set.
|
||||
" This also enables use of line continuation.
|
||||
set nocp viminfo+=nviminfo
|
||||
|
||||
" Avoid stopping at the "hit enter" prompt
|
||||
set nomore
|
||||
|
||||
" Output all messages in English.
|
||||
lang mess C
|
||||
|
||||
" Source the test script. First grab the file name, in case the script
|
||||
" navigates away.
|
||||
let testname = expand('%')
|
||||
source %
|
||||
let done = 0
|
||||
let fail = 0
|
||||
let errors = []
|
||||
let messages = []
|
||||
try
|
||||
source %
|
||||
catch
|
||||
let fail += 1
|
||||
call add(errors, 'Caught exception: ' . v:exception . ' @ ' . v:throwpoint)
|
||||
endtry
|
||||
|
||||
" Locate Test_ functions and execute them.
|
||||
redir @q
|
||||
@@ -46,14 +63,12 @@ function /^Test_
|
||||
redir END
|
||||
let tests = split(substitute(@q, 'function \(\k*()\)', '\1', 'g'))
|
||||
|
||||
let done = 0
|
||||
let fail = 0
|
||||
let errors = []
|
||||
for test in tests
|
||||
if exists("*SetUp")
|
||||
call SetUp()
|
||||
endif
|
||||
|
||||
call add(messages, 'Executing ' . test)
|
||||
let done += 1
|
||||
try
|
||||
exe 'call ' . test
|
||||
@@ -89,9 +104,20 @@ if len(errors) > 0
|
||||
write
|
||||
endif
|
||||
|
||||
echo 'Executed ' . done . (done > 1 ? ' tests': ' test')
|
||||
let message = 'Executed ' . done . (done > 1 ? ' tests': ' test')
|
||||
echo message
|
||||
call add(messages, message)
|
||||
if fail > 0
|
||||
echo fail . ' FAILED'
|
||||
let message = fail . ' FAILED'
|
||||
echo message
|
||||
call add(messages, message)
|
||||
endif
|
||||
|
||||
" Append messages to "messages"
|
||||
split messages
|
||||
call append(line('$'), '')
|
||||
call append(line('$'), 'From ' . testname . ':')
|
||||
call append(line('$'), messages)
|
||||
write
|
||||
|
||||
qall!
|
||||
|
||||
@@ -44,6 +44,10 @@ x?.
|
||||
x:" k
|
||||
:let @w=':%s#comb[i]nations#œ̄ṣ́m̥̄ᾱ̆́#g'
|
||||
:@w
|
||||
:"
|
||||
:" l Test what 7.3.192 fixed
|
||||
/^l
|
||||
:s/ \?/ /g
|
||||
:?^1?,$w! test.out
|
||||
:e! test.out
|
||||
G:put =matchstr(\"אבגד\", \".\", 0, 2) " ב
|
||||
@@ -80,3 +84,4 @@ h AÀÁÂÃÄÅĀĂĄǍǞǠẢ BḂḆ CÇĆĈĊČ DĎĐḊḎḐ EÈÉÊËĒĔ
|
||||
i aàáâãäåāăąǎǟǡả bḃḇ cçćĉċč dďđḋḏḑ eèéêëēĕėęěẻẽ fḟ gĝğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįǐỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṁ nñńņňʼnṅṉ oòóôõöøōŏőơǒǫǭỏ pṕṗ q rŕŗřṙṟ sśŝşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vṽ wŵẁẃẅẇẘ xẋẍ yýÿŷẏẙỳỷỹ zźżžƶẑẕ
|
||||
j 0123❤x
|
||||
k combinations
|
||||
l äö üᾱ̆́
|
||||
|
||||
@@ -18,6 +18,7 @@ h AÀÁÂÃÄÅĀĂĄǍǞǠẢ BḂḆ CÇĆĈĊČ DĎĐḊḎḐ EÈÉÊËĒĔ
|
||||
i aàáâãäåāăąǎǟǡả bḃḇ cçćĉċč dďđḋḏḑ eèéêëēĕėęěẻẽ fḟ gĝğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįǐỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṁ nñńņňʼnṅṉ oòóôõöøōŏőơǒǫǭỏ pṕṗ q rŕŗřṙṟ sśŝşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vṽ wŵẁẃẅẇẘ xẋẍ yýÿŷẏẙỳỷỹ zźżžƶẑ
|
||||
j 012❤
|
||||
k œ̄ṣ́m̥̄ᾱ̆́
|
||||
l ä ö ü ᾱ̆́
|
||||
ב
|
||||
בג
|
||||
א
|
||||
|
||||
@@ -8,7 +8,9 @@ STARTTEST
|
||||
:se nocp nomore viminfo+=nviminfo
|
||||
:lang mess C
|
||||
:so test49.vim
|
||||
GGGGGGGGGGGGGG"rp:.-,$w! test.out
|
||||
:" Go back to this file and append the results from register r.
|
||||
:buf test49.in
|
||||
G"rp:/^Results/,$w! test.out
|
||||
:"
|
||||
:" make valgrind happy
|
||||
:redir => funclist
|
||||
|
||||
@@ -1,10 +1,4 @@
|
||||
Results of test49.vim:
|
||||
*** Test 1: OK (34695)
|
||||
*** Test 2: OK (34695)
|
||||
*** Test 3: OK (1384648195)
|
||||
*** Test 4: OK (32883)
|
||||
*** Test 5: OK (32883)
|
||||
*** Test 6: OK (603978947)
|
||||
*** Test 7: OK (90563)
|
||||
*** Test 8: OK (562493431)
|
||||
*** Test 9: OK (363)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim script language tests
|
||||
" Author: Servatius Brandt <Servatius.Brandt@fujitsu-siemens.com>
|
||||
" Last Change: 2015 Sep 25
|
||||
" Last Change: 2015 Dec 30
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test environment {{{1
|
||||
@@ -608,355 +608,8 @@ com! -nargs=1 -bar ExecAsScript call ExecAsScript(<f-args>)
|
||||
" END_OF_TEST_ENVIRONMENT - do not change or remove this line.
|
||||
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test 1: :endwhile in function {{{1
|
||||
"
|
||||
" Detect if a broken loop is (incorrectly) reactivated by the
|
||||
" :endwhile. Use a :return to prevent an endless loop, and make
|
||||
" this test first to get a meaningful result on an error before other
|
||||
" tests will hang.
|
||||
"-------------------------------------------------------------------------------
|
||||
|
||||
XpathINIT
|
||||
|
||||
function! F()
|
||||
Xpath 1 " X: 1
|
||||
let first = 1
|
||||
XloopINIT 2 8
|
||||
while 1
|
||||
Xloop 1 " X: 2 + 0 * 16
|
||||
if first
|
||||
Xloop 2 " X: 4 + 0 * 32
|
||||
let first = 0
|
||||
XloopNEXT
|
||||
break
|
||||
else
|
||||
Xloop 4 " X: 0 + 0 * 64
|
||||
return
|
||||
endif
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
call F()
|
||||
Xpath 128 " X: 128
|
||||
|
||||
function! G()
|
||||
Xpath 256 " X: 256 + 0 * 2048
|
||||
let first = 1
|
||||
XloopINIT 512 8
|
||||
while 1
|
||||
Xloop 1 " X: 512 + 0 * 4096
|
||||
if first
|
||||
Xloop 2 " X: 1024 + 0 * 8192
|
||||
let first = 0
|
||||
XloopNEXT
|
||||
break
|
||||
else
|
||||
Xloop 4 " X: 0 + 0 * 16384
|
||||
return
|
||||
endif
|
||||
if 1 " unmatched :if
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
call G()
|
||||
Xpath 32768 " X: 32768
|
||||
|
||||
Xcheck 34695
|
||||
|
||||
" Leave F and G for execution as scripts in the next test.
|
||||
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test 2: :endwhile in script {{{1
|
||||
"
|
||||
" Detect if a broken loop is (incorrectly) reactivated by the
|
||||
" :endwhile. Use a :finish to prevent an endless loop, and place
|
||||
" this test before others that might hang to get a meaningful result
|
||||
" on an error.
|
||||
"
|
||||
" This test executes the bodies of the functions F and G from the
|
||||
" previous test as script files (:return replaced by :finish).
|
||||
"-------------------------------------------------------------------------------
|
||||
|
||||
XpathINIT
|
||||
|
||||
ExecAsScript F " X: 1 + 2 + 4
|
||||
Xpath 128 " X: 128
|
||||
|
||||
ExecAsScript G " X: 256 + 512 + 1024
|
||||
Xpath 32768 " X: 32768
|
||||
|
||||
unlet first
|
||||
delfunction F
|
||||
delfunction G
|
||||
|
||||
Xcheck 34695
|
||||
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test 3: :if, :elseif, :while, :continue, :break {{{1
|
||||
"-------------------------------------------------------------------------------
|
||||
|
||||
XpathINIT
|
||||
if 1
|
||||
Xpath 1 " X: 1
|
||||
let loops = 3
|
||||
XloopINIT 2 512
|
||||
while loops > -1 " main loop: loops == 3, 2, 1 (which breaks)
|
||||
if loops <= 0
|
||||
let break_err = 1
|
||||
let loops = -1
|
||||
else " 3: 2: 1:
|
||||
Xloop 1 " X: 2 + 2*512 + 2*512*512
|
||||
endif
|
||||
if (loops == 2)
|
||||
while loops == 2 " dummy loop
|
||||
Xloop 2 " X: 4*512
|
||||
let loops = loops - 1
|
||||
continue " stop dummy loop
|
||||
Xloop 4 " X: 0
|
||||
endwhile
|
||||
XloopNEXT
|
||||
continue " continue main loop
|
||||
Xloop 8 " X: 0
|
||||
elseif (loops == 1)
|
||||
let p = 1
|
||||
while p " dummy loop
|
||||
Xloop 16 " X: 32*512*512
|
||||
let p = 0
|
||||
break " break dummy loop
|
||||
Xloop 32 " X: 0
|
||||
endwhile
|
||||
Xloop 64 " X: 128*512*512
|
||||
unlet p
|
||||
break " break main loop
|
||||
Xloop 128 " X: 0
|
||||
endif
|
||||
if (loops > 0)
|
||||
Xloop 256 " X: 512
|
||||
endif
|
||||
while loops == 3 " dummy loop
|
||||
let loops = loops - 1
|
||||
endwhile " end dummy loop
|
||||
XloopNEXT
|
||||
endwhile " end main loop
|
||||
Xpath 268435456 " X: 1024*512*512
|
||||
else
|
||||
Xpath 536870912 " X: 0
|
||||
endif
|
||||
Xpath 1073741824 " X: 4096*512*512
|
||||
if exists("break_err")
|
||||
" The Xpath command does not accept 2^31 (negative); add explicitly:
|
||||
let Xpath = Xpath + 2147483648 " X: 0
|
||||
unlet break_err
|
||||
endif
|
||||
|
||||
unlet loops
|
||||
|
||||
Xcheck 1384648195
|
||||
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test 4: :return {{{1
|
||||
"-------------------------------------------------------------------------------
|
||||
|
||||
XpathINIT
|
||||
|
||||
function! F()
|
||||
if 1
|
||||
Xpath 1 " X: 1
|
||||
let loops = 3
|
||||
XloopINIT 2 16
|
||||
while loops > 0 " 3: 2: 1:
|
||||
Xloop 1 " X: 2 + 2*16 + 0*16*16
|
||||
if (loops == 2)
|
||||
Xloop 2 " X: 4*16
|
||||
return
|
||||
Xloop 4 " X: 0
|
||||
endif
|
||||
Xloop 8 " X: 16
|
||||
let loops = loops - 1
|
||||
XloopNEXT
|
||||
endwhile
|
||||
Xpath 8192 " X: 0
|
||||
else
|
||||
Xpath 16384 " X: 0
|
||||
endif
|
||||
endfunction
|
||||
|
||||
call F()
|
||||
Xpath 32768 " X: 8*16*16*16
|
||||
|
||||
Xcheck 32883
|
||||
|
||||
" Leave F for execution as a script in the next test.
|
||||
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test 5: :finish {{{1
|
||||
"
|
||||
" This test executes the body of the function F from the previous test
|
||||
" as a script file (:return replaced by :finish).
|
||||
"-------------------------------------------------------------------------------
|
||||
|
||||
XpathINIT
|
||||
|
||||
ExecAsScript F " X: 1 + 2 + 2*16 + 4*16 + 16
|
||||
Xpath 32768 " X: 32768
|
||||
|
||||
unlet loops
|
||||
delfunction F
|
||||
|
||||
Xcheck 32883
|
||||
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test 6: Defining functions in :while loops {{{1
|
||||
"
|
||||
" Functions can be defined inside other functions. An inner function
|
||||
" gets defined when the outer function is executed. Functions may
|
||||
" also be defined inside while loops. Expressions in braces for
|
||||
" defining the function name are allowed.
|
||||
"-------------------------------------------------------------------------------
|
||||
|
||||
XpathINIT
|
||||
|
||||
if ExtraVim()
|
||||
|
||||
" The command CALL collects the argument of all its invocations in "calls"
|
||||
" when used from a function (that is, when the global variable "calls" needs
|
||||
" the "g:" prefix). This is to check that the function code is skipped when
|
||||
" the function is defined. For inner functions, do so only if the outer
|
||||
" function is not being executed.
|
||||
"
|
||||
let calls = ""
|
||||
com! -nargs=1 CALL
|
||||
\ if !exists("calls") && !exists("outer") |
|
||||
\ let g:calls = g:calls . <args> |
|
||||
\ endif
|
||||
|
||||
|
||||
XloopINIT! 1 16
|
||||
|
||||
let i = 0
|
||||
while i < 3
|
||||
|
||||
XloopNEXT
|
||||
let i = i + 1
|
||||
|
||||
if i == 1
|
||||
Xloop 1 " X: 1
|
||||
function! F1(arg)
|
||||
CALL a:arg
|
||||
let outer = 1
|
||||
|
||||
XloopINIT! 4096 4
|
||||
let j = 0
|
||||
while j < 1
|
||||
XloopNEXT
|
||||
Xloop 1 " X: 4096
|
||||
let j = j + 1
|
||||
function! G1(arg)
|
||||
CALL a:arg
|
||||
endfunction
|
||||
Xloop 2 " X: 8192
|
||||
endwhile
|
||||
endfunction
|
||||
Xloop 2 " X: 2
|
||||
|
||||
continue
|
||||
endif
|
||||
|
||||
Xloop 4 " X: 4 * (16 + 256)
|
||||
function! F{i}(i, arg)
|
||||
CALL a:arg
|
||||
let outer = 1
|
||||
|
||||
XloopINIT! 16384 4
|
||||
if a:i == 3
|
||||
XloopNEXT
|
||||
XloopNEXT
|
||||
XloopNEXT
|
||||
endif
|
||||
let k = 0
|
||||
while k < 3
|
||||
XloopNEXT
|
||||
Xloop 1 " X: 16384*(1+4+16+64+256+1024)
|
||||
let k = k + 1
|
||||
function! G{a:i}{k}(arg)
|
||||
CALL a:arg
|
||||
endfunction
|
||||
Xloop 2 " X: 32768*(1+4+16+64+256+1024)
|
||||
endwhile
|
||||
endfunction
|
||||
Xloop 8 " X: 8 * (16 + 256)
|
||||
|
||||
endwhile
|
||||
|
||||
if exists("*G1")
|
||||
Xpath 67108864 " X: 0
|
||||
endif
|
||||
if exists("*F1")
|
||||
call F1("F1")
|
||||
if exists("*G1")
|
||||
call G1("G1")
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists("G21") || exists("G21") || exists("G21")
|
||||
Xpath 134217728 " X: 0
|
||||
endif
|
||||
if exists("*F2")
|
||||
call F2(2, "F2")
|
||||
if exists("*G21")
|
||||
call G21("G21")
|
||||
endif
|
||||
if exists("*G22")
|
||||
call G22("G22")
|
||||
endif
|
||||
if exists("*G23")
|
||||
call G23("G23")
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists("G31") || exists("G31") || exists("G31")
|
||||
Xpath 268435456 " X: 0
|
||||
endif
|
||||
if exists("*F3")
|
||||
call F3(3, "F3")
|
||||
if exists("*G31")
|
||||
call G31("G31")
|
||||
endif
|
||||
if exists("*G32")
|
||||
call G32("G32")
|
||||
endif
|
||||
if exists("*G33")
|
||||
call G33("G33")
|
||||
endif
|
||||
endif
|
||||
|
||||
Xpath 536870912 " X: 536870912
|
||||
|
||||
if calls != "F1G1F2G21G22G23F3G31G32G33"
|
||||
Xpath 1073741824 " X: 0
|
||||
Xout "calls is" calls
|
||||
endif
|
||||
|
||||
delfunction F1
|
||||
delfunction G1
|
||||
delfunction F2
|
||||
delfunction G21
|
||||
delfunction G22
|
||||
delfunction G23
|
||||
delfunction G31
|
||||
delfunction G32
|
||||
delfunction G33
|
||||
|
||||
endif
|
||||
|
||||
Xcheck 603978947
|
||||
|
||||
" Tests 1 to 6 were moved to test_viml.vim
|
||||
let Xtest = 7
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test 7: Continuing on errors outside functions {{{1
|
||||
|
||||
@@ -370,7 +370,9 @@ EOF
|
||||
:sleep 1
|
||||
:py t.running = False
|
||||
:py t.join()
|
||||
:py l[0] = t.t > 7 # check if the background thread is working
|
||||
:" Check if the background thread is working. Count should be 10, but on a
|
||||
:" busy system (AppVeyor) it can be much lower.
|
||||
:py l[0] = t.t > 4
|
||||
:py del time
|
||||
:py del threading
|
||||
:py del t
|
||||
|
||||
@@ -367,7 +367,9 @@ EOF
|
||||
:sleep 1
|
||||
:py3 t.running = False
|
||||
:py3 t.join()
|
||||
:py3 l[0] = t.t > 7 # check if the background thread is working
|
||||
:" Check if the background thread is working. Count should be 10, but on a
|
||||
:" busy system (AppVeyor) it can be much lower.
|
||||
:py3 l[0] = t.t > 4
|
||||
:py3 del time
|
||||
:py3 del threading
|
||||
:py3 del t
|
||||
|
||||
@@ -36,6 +36,10 @@ x:" Test backwards search from a multi-byte char
|
||||
x?.
|
||||
x:let @w=':%s#comb[i]nations#œ̄ṣ́m̥̄ᾱ̆́#g'
|
||||
:@w
|
||||
:"
|
||||
:" l Test what 7.3.192 fixed
|
||||
/^l
|
||||
:s/ \?/ /g
|
||||
:?^1?,$w! test.out
|
||||
:e! test.out
|
||||
G:put =matchstr(\"אבגד\", \".\", 0, 2) " ב
|
||||
@@ -66,3 +70,4 @@ h AÀÁÂÃÄÅĀĂĄǍǞǠẢ BḂḆ CÇĆĈĊČ DĎĐḊḎḐ EÈÉÊËĒĔ
|
||||
i aàáâãäåāăąǎǟǡả bḃḇ cçćĉċč dďđḋḏḑ eèéêëēĕėęěẻẽ fḟ gĝğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįǐỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṁ nñńņňʼnṅṉ oòóôõöøōŏőơǒǫǭỏ pṕṗ q rŕŗřṙṟ sśŝşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vṽ wŵẁẃẅẇẘ xẋẍ yýÿŷẏẙỳỷỹ zźżžƶẑẕ
|
||||
j 0123❤x
|
||||
k combinations
|
||||
l äö üᾱ̆́
|
||||
|
||||
@@ -18,6 +18,7 @@ h AÀÁÂÃÄÅĀĂĄǍǞǠẢ BḂḆ CÇĆĈĊČ DĎĐḊḎḐ EÈÉÊËĒĔ
|
||||
i aàáâãäåāăąǎǟǡả bḃḇ cçćĉċč dďđḋḏḑ eèéêëēĕėęěẻẽ fḟ gĝğġģǥǧǵḡ hĥħḣḧḩẖ iìíîïĩīĭįǐỉ jĵǰ kķǩḱḵ lĺļľŀłḻ mḿṁ nñńņňʼnṅṉ oòóôõöøōŏőơǒǫǭỏ pṕṗ q rŕŗřṙṟ sśŝşšṡ tţťŧṫṯẗ uùúûüũūŭůűųưǔủ vṽ wŵẁẃẅẇẘ xẋẍ yýÿŷẏẙỳỷỹ zźżžƶẑ
|
||||
j 012❤
|
||||
k œ̄ṣ́m̥̄ᾱ̆́
|
||||
l ä ö ü ᾱ̆́
|
||||
ב
|
||||
בג
|
||||
א
|
||||
|
||||
@@ -2,5 +2,6 @@
|
||||
" This makes testing go faster, since Vim doesn't need to restart.
|
||||
|
||||
source test_lispwords.vim
|
||||
source test_searchpos.vim
|
||||
source test_sort.vim
|
||||
source test_undolevels.vim
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
Tests for the :cdo, :cfdo, :ldo and :lfdo commands
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
:if !has('quickfix') | e! test.ok | wq! test.out | endif
|
||||
|
||||
:call writefile(["Line1", "Line2", "Line3"], 'Xtestfile1')
|
||||
:call writefile(["Line1", "Line2", "Line3"], 'Xtestfile2')
|
||||
:call writefile(["Line1", "Line2", "Line3"], 'Xtestfile3')
|
||||
|
||||
:function RunTests(cchar)
|
||||
: let nl="\n"
|
||||
|
||||
: enew
|
||||
: " Try with an empty list
|
||||
: exe a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
|
||||
: " Populate the list and then try
|
||||
: exe a:cchar . "getexpr ['non-error 1', 'Xtestfile1:1:3:Line1', 'non-error 2', 'Xtestfile2:2:2:Line2', 'non-error 3', 'Xtestfile3:3:1:Line3']"
|
||||
: exe a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
|
||||
: " Run command only on selected error lines
|
||||
: enew
|
||||
: exe "2,3" . a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: " Boundary condition tests
|
||||
: enew
|
||||
: exe "1,1" . a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: enew
|
||||
: exe "3" . a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: " Range test commands
|
||||
: enew
|
||||
: exe "%" . a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: enew
|
||||
: exe "1,$" . a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: enew
|
||||
: exe a:cchar . 'prev'
|
||||
: exe "." . a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: " Invalid error lines test
|
||||
: enew
|
||||
: exe "27" . a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: exe "4,5" . a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
|
||||
: " Run commands from an unsaved buffer
|
||||
: let v:errmsg=''
|
||||
: enew
|
||||
: setlocal modified
|
||||
: exe "2,2" . a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: if v:errmsg =~# 'No write since last change'
|
||||
: let g:result .= 'Unsaved file change test passed' . nl
|
||||
: else
|
||||
: let g:result .= 'Unsaved file change test failed' . nl
|
||||
: endif
|
||||
|
||||
: " If the executed command fails, then the operation should be aborted
|
||||
: enew!
|
||||
: let subst_count = 0
|
||||
: exe a:cchar . "do s/Line/xLine/ | let subst_count += 1"
|
||||
: if subst_count == 1 && getline('.') == 'xLine1'
|
||||
: let g:result .= 'Abort command on error test passed' . nl
|
||||
: else
|
||||
: let g:result .= 'Abort command on error test failed' . nl
|
||||
: endif
|
||||
|
||||
: exe "2,2" . a:cchar . "do! let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
|
||||
: " List with no valid error entries
|
||||
: edit! +2 Xtestfile1
|
||||
: exe a:cchar . "getexpr ['non-error 1', 'non-error 2', 'non-error 3']"
|
||||
: exe a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: exe "2" . a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: let v:errmsg=''
|
||||
: exe "%" . a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: exe "1,$" . a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: exe "." . a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: let g:result .= v:errmsg
|
||||
|
||||
: " List with only one valid entry
|
||||
: exe a:cchar . "getexpr ['Xtestfile3:3:1:Line3']"
|
||||
: exe a:cchar . "do let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
|
||||
: " Tests for :cfdo and :lfdo commands
|
||||
: exe a:cchar . "getexpr ['non-error 1', 'Xtestfile1:1:3:Line1', 'Xtestfile1:2:1:Line2', 'non-error 2', 'Xtestfile2:2:2:Line2', 'non-error 3', 'Xtestfile3:2:3:Line2', 'Xtestfile3:3:1:Line3']"
|
||||
: exe a:cchar . "fdo let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: exe "3" . a:cchar . "fdo let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: exe "2,3" . a:cchar . "fdo let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: exe "%" . a:cchar . "fdo let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: exe "1,$" . a:cchar . "fdo let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
: exe a:cchar . 'pfile'
|
||||
: exe "." . a:cchar . "fdo let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
|
||||
: " List with only one valid entry
|
||||
: exe a:cchar . "getexpr ['Xtestfile2:2:5:Line2']"
|
||||
: exe a:cchar . "fdo let g:result .= expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C' . nl"
|
||||
:endfunction
|
||||
|
||||
:let result=''
|
||||
:" Tests for the :cdo quickfix list command
|
||||
:call RunTests('c')
|
||||
:let result .= "\n"
|
||||
:" Tests for the :ldo location list command
|
||||
:call RunTests('l')
|
||||
|
||||
:edit! test.out
|
||||
:0put =result
|
||||
:wq!
|
||||
ENDTEST
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 3L 1C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 3L 1C
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile3 3L 1C
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 3L 1C
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 3L 1C
|
||||
Xtestfile2 2L 2C
|
||||
Unsaved file change test passed
|
||||
Abort command on error test passed
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 3L 1C
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 2L 3C
|
||||
Xtestfile3 2L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 2L 3C
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 2L 3C
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 2L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile2 2L 5C
|
||||
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 3L 1C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 3L 1C
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile3 3L 1C
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 3L 1C
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 3L 1C
|
||||
Xtestfile2 2L 2C
|
||||
Unsaved file change test passed
|
||||
Abort command on error test passed
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 3L 1C
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 2L 3C
|
||||
Xtestfile3 2L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 2L 3C
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 2L 3C
|
||||
Xtestfile1 1L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile3 2L 3C
|
||||
Xtestfile2 2L 2C
|
||||
Xtestfile2 2L 5C
|
||||
|
||||
206
src/testdir/test_cdo.vim
Normal file
@@ -0,0 +1,206 @@
|
||||
" Tests for the :cdo, :cfdo, :ldo and :lfdo commands
|
||||
|
||||
lang mess C
|
||||
if !has('quickfix')
|
||||
finish
|
||||
endif
|
||||
|
||||
" Create the files used by the tests
|
||||
function SetUp()
|
||||
call writefile(["Line1", "Line2", "Line3"], 'Xtestfile1')
|
||||
call writefile(["Line1", "Line2", "Line3"], 'Xtestfile2')
|
||||
call writefile(["Line1", "Line2", "Line3"], 'Xtestfile3')
|
||||
endfunction
|
||||
|
||||
" Remove the files used by the tests
|
||||
function TearDown()
|
||||
call delete('Xtestfile1')
|
||||
call delete('Xtestfile2')
|
||||
call delete('Xtestfile3')
|
||||
endfunction
|
||||
|
||||
" Returns the current line in '<filename> <linenum>L <column>C' format
|
||||
function GetRuler()
|
||||
return expand('%') . ' ' . line('.') . 'L' . ' ' . col('.') . 'C'
|
||||
endfunction
|
||||
|
||||
" Tests for the :cdo and :ldo commands
|
||||
function XdoTests(cchar)
|
||||
enew
|
||||
|
||||
" Shortcuts for calling the cdo and ldo commands
|
||||
let Xdo = a:cchar . 'do'
|
||||
let Xgetexpr = a:cchar . 'getexpr'
|
||||
let Xprev = a:cchar. 'prev'
|
||||
let XdoCmd = Xdo . ' call add(l, GetRuler())'
|
||||
|
||||
" Try with an empty list
|
||||
let l = []
|
||||
exe XdoCmd
|
||||
call assert_equal([], l)
|
||||
|
||||
" Populate the list and then try
|
||||
exe Xgetexpr . " ['non-error 1', 'Xtestfile1:1:3:Line1', 'non-error 2', 'Xtestfile2:2:2:Line2', 'non-error 3', 'Xtestfile3:3:1:Line3']"
|
||||
|
||||
let l = []
|
||||
exe XdoCmd
|
||||
call assert_equal(['Xtestfile1 1L 3C', 'Xtestfile2 2L 2C', 'Xtestfile3 3L 1C'], l)
|
||||
|
||||
" Run command only on selected error lines
|
||||
let l = []
|
||||
enew
|
||||
exe "2,3" . XdoCmd
|
||||
call assert_equal(['Xtestfile2 2L 2C', 'Xtestfile3 3L 1C'], l)
|
||||
|
||||
" Boundary condition tests
|
||||
let l = []
|
||||
enew
|
||||
exe "1,1" . XdoCmd
|
||||
call assert_equal(['Xtestfile1 1L 3C'], l)
|
||||
|
||||
let l = []
|
||||
enew
|
||||
exe "3" . XdoCmd
|
||||
call assert_equal(['Xtestfile3 3L 1C'], l)
|
||||
|
||||
" Range test commands
|
||||
let l = []
|
||||
enew
|
||||
exe "%" . XdoCmd
|
||||
call assert_equal(['Xtestfile1 1L 3C', 'Xtestfile2 2L 2C', 'Xtestfile3 3L 1C'], l)
|
||||
|
||||
let l = []
|
||||
enew
|
||||
exe "1,$" . XdoCmd
|
||||
call assert_equal(['Xtestfile1 1L 3C', 'Xtestfile2 2L 2C', 'Xtestfile3 3L 1C'], l)
|
||||
|
||||
let l = []
|
||||
enew
|
||||
exe Xprev
|
||||
exe "." . XdoCmd
|
||||
call assert_equal(['Xtestfile2 2L 2C'], l)
|
||||
|
||||
let l = []
|
||||
enew
|
||||
exe "+" . XdoCmd
|
||||
call assert_equal(['Xtestfile3 3L 1C'], l)
|
||||
|
||||
" Invalid error lines test
|
||||
let l = []
|
||||
enew
|
||||
exe "silent! 27" . XdoCmd
|
||||
exe "silent! 4,5" . XdoCmd
|
||||
call assert_equal([], l)
|
||||
|
||||
" Run commands from an unsaved buffer
|
||||
let v:errmsg=''
|
||||
let l = []
|
||||
enew
|
||||
setlocal modified
|
||||
exe "silent! 2,2" . XdoCmd
|
||||
if v:errmsg !~# 'No write since last change'
|
||||
call add(v:errors, 'Unsaved file change test failed')
|
||||
endif
|
||||
|
||||
" If the executed command fails, then the operation should be aborted
|
||||
enew!
|
||||
let subst_count = 0
|
||||
exe "silent!" . Xdo . " s/Line/xLine/ | let subst_count += 1"
|
||||
if subst_count != 1 || getline('.') != 'xLine1'
|
||||
call add(v:errors, 'Abort command on error test failed')
|
||||
endif
|
||||
|
||||
let l = []
|
||||
exe "2,2" . Xdo . "! call add(l, GetRuler())"
|
||||
call assert_equal(['Xtestfile2 2L 2C'], l)
|
||||
|
||||
" List with no valid error entries
|
||||
let l = []
|
||||
edit! +2 Xtestfile1
|
||||
exe Xgetexpr . " ['non-error 1', 'non-error 2', 'non-error 3']"
|
||||
exe XdoCmd
|
||||
call assert_equal([], l)
|
||||
exe "silent! 2" . XdoCmd
|
||||
call assert_equal([], l)
|
||||
let v:errmsg=''
|
||||
exe "%" . XdoCmd
|
||||
exe "1,$" . XdoCmd
|
||||
exe "." . XdoCmd
|
||||
call assert_equal('', v:errmsg)
|
||||
|
||||
" List with only one valid entry
|
||||
let l = []
|
||||
exe Xgetexpr . " ['Xtestfile3:3:1:Line3']"
|
||||
exe XdoCmd
|
||||
call assert_equal(['Xtestfile3 3L 1C'], l)
|
||||
|
||||
endfunction
|
||||
|
||||
" Tests for the :cfdo and :lfdo commands
|
||||
function XfdoTests(cchar)
|
||||
enew
|
||||
|
||||
" Shortcuts for calling the cfdo and lfdo commands
|
||||
let Xfdo = a:cchar . 'fdo'
|
||||
let Xgetexpr = a:cchar . 'getexpr'
|
||||
let XfdoCmd = Xfdo . ' call add(l, GetRuler())'
|
||||
let Xpfile = a:cchar. 'pfile'
|
||||
|
||||
" Clear the quickfix/location list
|
||||
exe Xgetexpr . " []"
|
||||
|
||||
" Try with an empty list
|
||||
let l = []
|
||||
exe XfdoCmd
|
||||
call assert_equal([], l)
|
||||
|
||||
" Populate the list and then try
|
||||
exe Xgetexpr . " ['non-error 1', 'Xtestfile1:1:3:Line1', 'Xtestfile1:2:1:Line2', 'non-error 2', 'Xtestfile2:2:2:Line2', 'non-error 3', 'Xtestfile3:2:3:Line2', 'Xtestfile3:3:1:Line3']"
|
||||
|
||||
let l = []
|
||||
exe XfdoCmd
|
||||
call assert_equal(['Xtestfile1 1L 3C', 'Xtestfile2 2L 2C', 'Xtestfile3 2L 3C'], l)
|
||||
|
||||
" Run command only on selected error lines
|
||||
let l = []
|
||||
exe "2,3" . XfdoCmd
|
||||
call assert_equal(['Xtestfile2 2L 2C', 'Xtestfile3 2L 3C'], l)
|
||||
|
||||
" Boundary condition tests
|
||||
let l = []
|
||||
exe "3" . XfdoCmd
|
||||
call assert_equal(['Xtestfile3 2L 3C'], l)
|
||||
|
||||
" Range test commands
|
||||
let l = []
|
||||
exe "%" . XfdoCmd
|
||||
call assert_equal(['Xtestfile1 1L 3C', 'Xtestfile2 2L 2C', 'Xtestfile3 2L 3C'], l)
|
||||
|
||||
let l = []
|
||||
exe "1,$" . XfdoCmd
|
||||
call assert_equal(['Xtestfile1 1L 3C', 'Xtestfile2 2L 2C', 'Xtestfile3 2L 3C'], l)
|
||||
|
||||
let l = []
|
||||
exe Xpfile
|
||||
exe "." . XfdoCmd
|
||||
call assert_equal(['Xtestfile2 2L 2C'], l)
|
||||
|
||||
" List with only one valid entry
|
||||
let l = []
|
||||
exe Xgetexpr . " ['Xtestfile2:2:5:Line2']"
|
||||
exe XfdoCmd
|
||||
call assert_equal(['Xtestfile2 2L 5C'], l)
|
||||
|
||||
endfunction
|
||||
|
||||
" Tests for cdo and cfdo
|
||||
function Test_cdo()
|
||||
call XdoTests('c')
|
||||
call XfdoTests('c')
|
||||
endfunction
|
||||
|
||||
" Tests for ldo and lfdo
|
||||
function Test_ldo()
|
||||
call XdoTests('l')
|
||||
call XfdoTests('l')
|
||||
endfunction
|
||||
28
src/testdir/test_searchpos.vim
Normal file
@@ -0,0 +1,28 @@
|
||||
" Tests for searchpos()
|
||||
|
||||
func Test_searchpos()
|
||||
new one
|
||||
0put ='1a3'
|
||||
1put ='123xyz'
|
||||
call cursor(1, 1)
|
||||
call assert_equal([1, 1, 2], searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW'))
|
||||
call cursor(1, 2)
|
||||
call assert_equal([2, 1, 1], searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW'))
|
||||
set cpo-=c
|
||||
call cursor(1, 2)
|
||||
call assert_equal([1, 2, 2], searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW'))
|
||||
call cursor(1, 3)
|
||||
call assert_equal([1, 3, 1], searchpos('\%(\([a-z]\)\|\_.\)\{-}xyz', 'pcW'))
|
||||
|
||||
" Now with \zs, first match is in column 0, "a" is matched.
|
||||
call cursor(1. 3)
|
||||
call assert_equal([2, 4, 2], searchpos('\%(\([a-z]\)\|\_.\)\{-}\zsxyz', 'pcW'))
|
||||
" With z flag start at cursor column, don't see the "a".
|
||||
call cursor(1. 3)
|
||||
call assert_equal([2, 4, 1], searchpos('\%(\([a-z]\)\|\_.\)\{-}\zsxyz', 'pcWz'))
|
||||
|
||||
set cpo+=c
|
||||
" close the window
|
||||
q!
|
||||
|
||||
endfunc
|
||||
408
src/testdir/test_viml.vim
Normal file
@@ -0,0 +1,408 @@
|
||||
" Test various aspects of the Vim language.
|
||||
" This was formerly in test49.
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test environment {{{1
|
||||
"-------------------------------------------------------------------------------
|
||||
|
||||
com! XpathINIT let g:Xpath = ''
|
||||
com! -nargs=1 -bar Xpath let g:Xpath = g:Xpath . <args>
|
||||
|
||||
" Append a message to the "messages" file
|
||||
func! Xout(text)
|
||||
split messages
|
||||
$put =a:text
|
||||
wq
|
||||
endfunc
|
||||
|
||||
com! -nargs=1 Xout call Xout(<args>)
|
||||
|
||||
" MakeScript() - Make a script file from a function. {{{2
|
||||
"
|
||||
" Create a script that consists of the body of the function a:funcname.
|
||||
" Replace any ":return" by a ":finish", any argument variable by a global
|
||||
" variable, and and every ":call" by a ":source" for the next following argument
|
||||
" in the variable argument list. This function is useful if similar tests are
|
||||
" to be made for a ":return" from a function call or a ":finish" in a script
|
||||
" file.
|
||||
function! MakeScript(funcname, ...)
|
||||
let script = tempname()
|
||||
execute "redir! >" . script
|
||||
execute "function" a:funcname
|
||||
redir END
|
||||
execute "edit" script
|
||||
" Delete the "function" and the "endfunction" lines. Do not include the
|
||||
" word "function" in the pattern since it might be translated if LANG is
|
||||
" set. When MakeScript() is being debugged, this deletes also the debugging
|
||||
" output of its line 3 and 4.
|
||||
exec '1,/.*' . a:funcname . '(.*)/d'
|
||||
/^\d*\s*endfunction\>/,$d
|
||||
%s/^\d*//e
|
||||
%s/return/finish/e
|
||||
%s/\<a:\(\h\w*\)/g:\1/ge
|
||||
normal gg0
|
||||
let cnt = 0
|
||||
while search('\<call\s*\%(\u\|s:\)\w*\s*(.*)', 'W') > 0
|
||||
let cnt = cnt + 1
|
||||
s/\<call\s*\%(\u\|s:\)\w*\s*(.*)/\='source ' . a:{cnt}/
|
||||
endwhile
|
||||
g/^\s*$/d
|
||||
write
|
||||
bwipeout
|
||||
return script
|
||||
endfunction
|
||||
|
||||
" ExecAsScript - Source a temporary script made from a function. {{{2
|
||||
"
|
||||
" Make a temporary script file from the function a:funcname, ":source" it, and
|
||||
" delete it afterwards.
|
||||
function! ExecAsScript(funcname)
|
||||
" Make a script from the function passed as argument.
|
||||
let script = MakeScript(a:funcname)
|
||||
|
||||
" Source and delete the script.
|
||||
exec "source" script
|
||||
call delete(script)
|
||||
endfunction
|
||||
|
||||
com! -nargs=1 -bar ExecAsScript call ExecAsScript(<f-args>)
|
||||
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test 1: :endwhile in function {{{1
|
||||
"
|
||||
" Detect if a broken loop is (incorrectly) reactivated by the
|
||||
" :endwhile. Use a :return to prevent an endless loop, and make
|
||||
" this test first to get a meaningful result on an error before other
|
||||
" tests will hang.
|
||||
"-------------------------------------------------------------------------------
|
||||
|
||||
function! T1_F()
|
||||
Xpath 'a'
|
||||
let first = 1
|
||||
while 1
|
||||
Xpath 'b'
|
||||
if first
|
||||
Xpath 'c'
|
||||
let first = 0
|
||||
break
|
||||
else
|
||||
Xpath 'd'
|
||||
return
|
||||
endif
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
function! T1_G()
|
||||
Xpath 'h'
|
||||
let first = 1
|
||||
while 1
|
||||
Xpath 'i'
|
||||
if first
|
||||
Xpath 'j'
|
||||
let first = 0
|
||||
break
|
||||
else
|
||||
Xpath 'k'
|
||||
return
|
||||
endif
|
||||
if 1 " unmatched :if
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
func Test_endwhile_function()
|
||||
XpathINIT
|
||||
call T1_F()
|
||||
Xpath 'F'
|
||||
|
||||
try
|
||||
call T1_G()
|
||||
catch
|
||||
" Catch missing :endif
|
||||
call assert_true(v:exception =~ 'E171')
|
||||
Xpath 'x'
|
||||
endtry
|
||||
Xpath 'G'
|
||||
|
||||
call assert_equal('abcFhijxG', g:Xpath)
|
||||
endfunc
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test 2: :endwhile in script {{{1
|
||||
"
|
||||
" Detect if a broken loop is (incorrectly) reactivated by the
|
||||
" :endwhile. Use a :finish to prevent an endless loop, and place
|
||||
" this test before others that might hang to get a meaningful result
|
||||
" on an error.
|
||||
"
|
||||
" This test executes the bodies of the functions T1_F and T1_G from
|
||||
" the previous test as script files (:return replaced by :finish).
|
||||
"-------------------------------------------------------------------------------
|
||||
|
||||
func Test_endwhile_script()
|
||||
XpathINIT
|
||||
ExecAsScript T1_F
|
||||
Xpath 'F'
|
||||
|
||||
try
|
||||
ExecAsScript T1_G
|
||||
catch
|
||||
" Catch missing :endif
|
||||
call assert_true(v:exception =~ 'E171')
|
||||
Xpath 'x'
|
||||
endtry
|
||||
Xpath 'G'
|
||||
|
||||
call assert_equal('abcFhijxG', g:Xpath)
|
||||
endfunc
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test 3: :if, :elseif, :while, :continue, :break {{{1
|
||||
"-------------------------------------------------------------------------------
|
||||
|
||||
function Test_if_while()
|
||||
XpathINIT
|
||||
if 1
|
||||
Xpath 'a'
|
||||
let loops = 3
|
||||
while loops > -1 " main loop: loops == 3, 2, 1 (which breaks)
|
||||
if loops <= 0
|
||||
let break_err = 1
|
||||
let loops = -1
|
||||
else
|
||||
Xpath 'b' . loops
|
||||
endif
|
||||
if (loops == 2)
|
||||
while loops == 2 " dummy loop
|
||||
Xpath 'c' . loops
|
||||
let loops = loops - 1
|
||||
continue " stop dummy loop
|
||||
Xpath 'd' . loops
|
||||
endwhile
|
||||
continue " continue main loop
|
||||
Xpath 'e' . loops
|
||||
elseif (loops == 1)
|
||||
let p = 1
|
||||
while p " dummy loop
|
||||
Xpath 'f' . loops
|
||||
let p = 0
|
||||
break " break dummy loop
|
||||
Xpath 'g' . loops
|
||||
endwhile
|
||||
Xpath 'h' . loops
|
||||
unlet p
|
||||
break " break main loop
|
||||
Xpath 'i' . loops
|
||||
endif
|
||||
if (loops > 0)
|
||||
Xpath 'j' . loops
|
||||
endif
|
||||
while loops == 3 " dummy loop
|
||||
let loops = loops - 1
|
||||
endwhile " end dummy loop
|
||||
endwhile " end main loop
|
||||
Xpath 'k'
|
||||
else
|
||||
Xpath 'l'
|
||||
endif
|
||||
Xpath 'm'
|
||||
if exists("break_err")
|
||||
Xpath 'm'
|
||||
unlet break_err
|
||||
endif
|
||||
|
||||
unlet loops
|
||||
|
||||
call assert_equal('ab3j3b2c2b1f1h1km', g:Xpath)
|
||||
endfunc
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test 4: :return {{{1
|
||||
"-------------------------------------------------------------------------------
|
||||
|
||||
function! T4_F()
|
||||
if 1
|
||||
Xpath 'a'
|
||||
let loops = 3
|
||||
while loops > 0 " 3: 2: 1:
|
||||
Xpath 'b' . loops
|
||||
if (loops == 2)
|
||||
Xpath 'c' . loops
|
||||
return
|
||||
Xpath 'd' . loops
|
||||
endif
|
||||
Xpath 'e' . loops
|
||||
let loops = loops - 1
|
||||
endwhile
|
||||
Xpath 'f'
|
||||
else
|
||||
Xpath 'g'
|
||||
endif
|
||||
endfunction
|
||||
|
||||
function Test_return()
|
||||
XpathINIT
|
||||
call T4_F()
|
||||
Xpath '4'
|
||||
|
||||
call assert_equal('ab3e3b2c24', g:Xpath)
|
||||
endfunction
|
||||
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test 5: :finish {{{1
|
||||
"
|
||||
" This test executes the body of the function T4_F from the previous
|
||||
" test as a script file (:return replaced by :finish).
|
||||
"-------------------------------------------------------------------------------
|
||||
|
||||
function Test_finish()
|
||||
XpathINIT
|
||||
ExecAsScript T4_F
|
||||
Xpath '5'
|
||||
|
||||
call assert_equal('ab3e3b2c25', g:Xpath)
|
||||
endfunction
|
||||
|
||||
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Test 6: Defining functions in :while loops {{{1
|
||||
"
|
||||
" Functions can be defined inside other functions. An inner function
|
||||
" gets defined when the outer function is executed. Functions may
|
||||
" also be defined inside while loops. Expressions in braces for
|
||||
" defining the function name are allowed.
|
||||
"
|
||||
" The functions are defined when sourcing the script, only the
|
||||
" resulting path is checked in the test function.
|
||||
"-------------------------------------------------------------------------------
|
||||
|
||||
XpathINIT
|
||||
|
||||
" The command CALL collects the argument of all its invocations in "calls"
|
||||
" when used from a function (that is, when the global variable "calls" needs
|
||||
" the "g:" prefix). This is to check that the function code is skipped when
|
||||
" the function is defined. For inner functions, do so only if the outer
|
||||
" function is not being executed.
|
||||
"
|
||||
let calls = ""
|
||||
com! -nargs=1 CALL
|
||||
\ if !exists("calls") && !exists("outer") |
|
||||
\ let g:calls = g:calls . <args> |
|
||||
\ endif
|
||||
|
||||
let i = 0
|
||||
while i < 3
|
||||
let i = i + 1
|
||||
if i == 1
|
||||
Xpath 'a'
|
||||
function! F1(arg)
|
||||
CALL a:arg
|
||||
let outer = 1
|
||||
|
||||
let j = 0
|
||||
while j < 1
|
||||
Xpath 'b'
|
||||
let j = j + 1
|
||||
function! G1(arg)
|
||||
CALL a:arg
|
||||
endfunction
|
||||
Xpath 'c'
|
||||
endwhile
|
||||
endfunction
|
||||
Xpath 'd'
|
||||
|
||||
continue
|
||||
endif
|
||||
|
||||
Xpath 'e' . i
|
||||
function! F{i}(i, arg)
|
||||
CALL a:arg
|
||||
let outer = 1
|
||||
|
||||
if a:i == 3
|
||||
Xpath 'f'
|
||||
endif
|
||||
let k = 0
|
||||
while k < 3
|
||||
Xpath 'g' . k
|
||||
let k = k + 1
|
||||
function! G{a:i}{k}(arg)
|
||||
CALL a:arg
|
||||
endfunction
|
||||
Xpath 'h' . k
|
||||
endwhile
|
||||
endfunction
|
||||
Xpath 'i'
|
||||
|
||||
endwhile
|
||||
|
||||
if exists("*G1")
|
||||
Xpath 'j'
|
||||
endif
|
||||
if exists("*F1")
|
||||
call F1("F1")
|
||||
if exists("*G1")
|
||||
call G1("G1")
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists("G21") || exists("G22") || exists("G23")
|
||||
Xpath 'k'
|
||||
endif
|
||||
if exists("*F2")
|
||||
call F2(2, "F2")
|
||||
if exists("*G21")
|
||||
call G21("G21")
|
||||
endif
|
||||
if exists("*G22")
|
||||
call G22("G22")
|
||||
endif
|
||||
if exists("*G23")
|
||||
call G23("G23")
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists("G31") || exists("G32") || exists("G33")
|
||||
Xpath 'l'
|
||||
endif
|
||||
if exists("*F3")
|
||||
call F3(3, "F3")
|
||||
if exists("*G31")
|
||||
call G31("G31")
|
||||
endif
|
||||
if exists("*G32")
|
||||
call G32("G32")
|
||||
endif
|
||||
if exists("*G33")
|
||||
call G33("G33")
|
||||
endif
|
||||
endif
|
||||
|
||||
Xpath 'm'
|
||||
|
||||
let g:test6_result = g:Xpath
|
||||
let g:test6_calls = calls
|
||||
|
||||
unlet calls
|
||||
delfunction F1
|
||||
delfunction G1
|
||||
delfunction F2
|
||||
delfunction G21
|
||||
delfunction G22
|
||||
delfunction G23
|
||||
delfunction G31
|
||||
delfunction G32
|
||||
delfunction G33
|
||||
|
||||
function Test_defining_functions()
|
||||
call assert_equal('ade2ie3ibcg0h1g1h2g2h3fg0h1g1h2g2h3m', g:test6_result)
|
||||
call assert_equal('F1G1F2G21G22G23F3G31G32G33', g:test6_calls)
|
||||
endfunc
|
||||
|
||||
"-------------------------------------------------------------------------------
|
||||
" Modelines {{{1
|
||||
" vim: ts=8 sw=4 tw=80 fdm=marker
|
||||
" vim: fdt=substitute(substitute(foldtext(),\ '\\%(^+--\\)\\@<=\\(\\s*\\)\\(.\\{-}\\)\:\ \\%(\"\ \\)\\=\\(Test\ \\d*\\)\:\\s*',\ '\\3\ (\\2)\:\ \\1',\ \"\"),\ '\\(Test\\s*\\)\\(\\d\\)\\D\\@=',\ '\\1\ \\2',\ "")
|
||||
"-------------------------------------------------------------------------------
|
||||
@@ -741,6 +741,66 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
1007,
|
||||
/**/
|
||||
1006,
|
||||
/**/
|
||||
1005,
|
||||
/**/
|
||||
1004,
|
||||
/**/
|
||||
1003,
|
||||
/**/
|
||||
1002,
|
||||
/**/
|
||||
1001,
|
||||
/**/
|
||||
1000,
|
||||
/**/
|
||||
999,
|
||||
/**/
|
||||
998,
|
||||
/**/
|
||||
997,
|
||||
/**/
|
||||
996,
|
||||
/**/
|
||||
995,
|
||||
/**/
|
||||
994,
|
||||
/**/
|
||||
993,
|
||||
/**/
|
||||
992,
|
||||
/**/
|
||||
991,
|
||||
/**/
|
||||
990,
|
||||
/**/
|
||||
989,
|
||||
/**/
|
||||
988,
|
||||
/**/
|
||||
987,
|
||||
/**/
|
||||
986,
|
||||
/**/
|
||||
985,
|
||||
/**/
|
||||
984,
|
||||
/**/
|
||||
983,
|
||||
/**/
|
||||
982,
|
||||
/**/
|
||||
981,
|
||||
/**/
|
||||
980,
|
||||
/**/
|
||||
979,
|
||||
/**/
|
||||
978,
|
||||
/**/
|
||||
977,
|
||||
/**/
|
||||
|
||||
@@ -930,6 +930,7 @@ extern char *(*dyn_libintl_textdomain)(const char *domainname);
|
||||
#define SEARCH_MARK 0x200 /* set previous context mark */
|
||||
#define SEARCH_KEEP 0x400 /* keep previous search pattern */
|
||||
#define SEARCH_PEEK 0x800 /* peek for typed char, cancel search */
|
||||
#define SEARCH_COL 0x1000 /* start at specified column instead of zero */
|
||||
|
||||
/* Values for find_ident_under_cursor() */
|
||||
#define FIND_IDENT 1 /* find identifier (word) */
|
||||
|
||||