Compare commits
196 Commits
Author | SHA1 | Date | |
---|---|---|---|
9ba6117de6 | |||
30276f2beb | |||
264b74fa54 | |||
a12a161b8c | |||
091806d6f0 | |||
9e79ccbe9c | |||
fc3abf47fb | |||
135059724f | |||
4b9e91f0ba | |||
ad36a3588d | |||
a5be9b6248 | |||
fb1199d934 | |||
4456ab527a | |||
cfc15237ab | |||
dd29ea1805 | |||
bf821bccf1 | |||
31faed60bf | |||
f88af6e675 | |||
82a12468bd | |||
0d17f0d1c0 | |||
9e26f7d31f | |||
563bbeabcc | |||
57a6bf0567 | |||
555de4e3b2 | |||
b2148f5864 | |||
edce7420d0 | |||
10772307c4 | |||
113e10721f | |||
1f20daa1d7 | |||
63c0ccd2b6 | |||
2d951a486e | |||
a502caab8b | |||
e25bbc3b2b | |||
32526b3c18 | |||
d383c92ec1 | |||
b091f30bf3 | |||
b2e54b0092 | |||
2bf60b3001 | |||
05a2907cde | |||
987411db9e | |||
0314236aab | |||
147e7d0cab | |||
1ac56c2d11 | |||
3020ccb113 | |||
ae654385df | |||
c771bf9016 | |||
88c86eb751 | |||
4131fd5509 | |||
6e0b6a0bec | |||
d09091d495 | |||
bb1969b6ab | |||
e40742526e | |||
e299bbdf6e | |||
617d7ef046 | |||
83a52171ba | |||
500f361080 | |||
d89682477c | |||
3d28b58c51 | |||
2ea773b468 | |||
177ab9e026 | |||
b5443cc46d | |||
8e481e8dfe | |||
6057ed4720 | |||
8144acbec3 | |||
6acc79f5d4 | |||
1be45b2ea7 | |||
ce9d50df07 | |||
bbee8d5122 | |||
99b1272f88 | |||
b1443b480f | |||
f9e3e09fdc | |||
05500ece62 | |||
8c8b8bb56c | |||
8309b0559d | |||
81b1ba4be5 | |||
ecc8bc482b | |||
e519dfd713 | |||
c0f5a78c15 | |||
6e5ea8d2a9 | |||
e3c74d249a | |||
2be7cb73f6 | |||
ea56e167c8 | |||
5f6b379ff3 | |||
ec9d3001cf | |||
2b6185287a | |||
c3c3158756 | |||
44a7db4ffd | |||
535d5b653a | |||
465e8b5985 | |||
46fd6bf2b6 | |||
ec50401e1e | |||
977239ef52 | |||
429ab1761e | |||
5b69c22fd2 | |||
870ba5f6dc | |||
402385a7f2 | |||
6b7b7190aa | |||
cee9bc2e3d | |||
6f7e555f74 | |||
c951522943 | |||
24877cf22c | |||
ba7e1865b3 | |||
1e1153600c | |||
c46af53410 | |||
27a472c32e | |||
ae12f4bad3 | |||
663bc89bbb | |||
e12bab3144 | |||
6d4470b0e9 | |||
f62fc316a2 | |||
8aef43b66c | |||
b589f95b38 | |||
d730c8e297 | |||
04b4e1a424 | |||
6d11f3b891 | |||
bf3250a8ad | |||
b328cca254 | |||
8ad16da729 | |||
f42b45d719 | |||
4614f53e0f | |||
f780b8a1c1 | |||
8b62d87e42 | |||
4164bb204e | |||
21b5038e02 | |||
7f1664e392 | |||
ccae4672fd | |||
6d3a1940be | |||
5823f84dd0 | |||
f2d79fa92d | |||
4b7214ea78 | |||
637532b3c0 | |||
196d157f12 | |||
33c8ca923e | |||
c85ffc9dab | |||
2cbc1a02cb | |||
44746aa1eb | |||
866f355814 | |||
5e53ac00a2 | |||
b9c67a51c1 | |||
4c05fa08c9 | |||
6d5b4f566a | |||
bbea47075c | |||
9067cd6cdf | |||
e1e714ef0d | |||
3d631cb0b3 | |||
a355652ea5 | |||
c0676bab92 | |||
2f21fa8743 | |||
fb2f7aa982 | |||
c6d86dccc4 | |||
af0839acec | |||
8caa10a8ec | |||
ef0a1d5ed3 | |||
a8bfa1727a | |||
1ea88a3e12 | |||
ced198d4b4 | |||
7d83bf4f2b | |||
01e51e5b30 | |||
c0c7549687 | |||
b56ac049ea | |||
c1a9bc1a72 | |||
3de8c2d1f0 | |||
6d9e71ad99 | |||
2ac372ccee | |||
54948183d2 | |||
b7a7e039b4 | |||
c8c8849267 | |||
5976f8ff00 | |||
d385b5d329 | |||
b09c684195 | |||
06d6260323 | |||
6436cd83f9 | |||
00b1e04165 | |||
e6fdf79980 | |||
c57463c9c6 | |||
548e598573 | |||
8cf734e024 | |||
48f88ac85b | |||
4604fbbbff | |||
b413d2e6a8 | |||
e38197d50f | |||
e3d31b02a5 | |||
cd929f7ba8 | |||
7a2d9892b7 | |||
d6024e2dd4 | |||
a42df5934b | |||
5d24a2257e | |||
c33181c44c | |||
80dae04d69 | |||
9123c0b31a | |||
4814ccbdf0 | |||
81df63537e | |||
39b5d8b514 | |||
3d1491ed23 | |||
9752c72f49 | |||
ef3c6a5b02 |
1
.gitignore
vendored
@ -80,6 +80,7 @@ src/testdir/dostmp/*
|
||||
src/testdir/messages
|
||||
src/testdir/viminfo
|
||||
src/testdir/opt_test.vim
|
||||
runtime/indent/testdir/*.out
|
||||
src/memfile_test
|
||||
src/json_test
|
||||
src/message_test
|
||||
|
@ -10,6 +10,7 @@ compiler:
|
||||
- gcc
|
||||
|
||||
env:
|
||||
- BUILD=yes TEST=test COVERAGE=no FEATURES=tiny "CONFOPT='--disable-gui'" SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
- BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
# ASAN build
|
||||
- BUILD=yes TEST=test SANITIZER_CFLAGS="-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize=address -fno-omit-frame-pointer"
|
||||
@ -28,9 +29,12 @@ sudo: false
|
||||
|
||||
# instead of a 2*2*7 matrix (2*os + 2*compiler + 7*env),
|
||||
# exclude some builds on mac os x and linux
|
||||
# on mac os x "tiny" is always without GUI
|
||||
# linux: 2*compiler + 5*env + mac: 2*compiler + 2*env
|
||||
matrix:
|
||||
exclude:
|
||||
- os: osx
|
||||
env: BUILD=yes TEST=test COVERAGE=no FEATURES=tiny CONFOPT= SHADOWOPT= SRCDIR=./src CHECK_AUTOCONF=no
|
||||
- os: osx
|
||||
env: BUILD=yes TEST=test COVERAGE=no FEATURES=normal CONFOPT= SHADOWOPT="-C src/shadow" SRCDIR=./src/shadow CHECK_AUTOCONF=no
|
||||
- os: osx
|
||||
|
18
Filelist
@ -16,6 +16,7 @@ SRC_ALL = \
|
||||
src/ascii.h \
|
||||
src/beval.c \
|
||||
src/beval.h \
|
||||
src/blob.c \
|
||||
src/blowfish.c \
|
||||
src/buffer.c \
|
||||
src/channel.c \
|
||||
@ -81,10 +82,11 @@ SRC_ALL = \
|
||||
src/screen.c \
|
||||
src/search.c \
|
||||
src/sha256.c \
|
||||
src/structs.h \
|
||||
src/sign.c \
|
||||
src/spell.c \
|
||||
src/spell.h \
|
||||
src/spellfile.c \
|
||||
src/structs.h \
|
||||
src/syntax.c \
|
||||
src/tag.c \
|
||||
src/term.c \
|
||||
@ -145,6 +147,7 @@ SRC_ALL = \
|
||||
src/protodef.h \
|
||||
src/proto/arabic.pro \
|
||||
src/proto/beval.pro \
|
||||
src/proto/blob.pro \
|
||||
src/proto/blowfish.pro \
|
||||
src/proto/buffer.pro \
|
||||
src/proto/channel.pro \
|
||||
@ -192,6 +195,7 @@ SRC_ALL = \
|
||||
src/proto/screen.pro \
|
||||
src/proto/search.pro \
|
||||
src/proto/sha256.pro \
|
||||
src/proto/sign.pro \
|
||||
src/proto/spell.pro \
|
||||
src/proto/spellfile.pro \
|
||||
src/proto/syntax.pro \
|
||||
@ -332,8 +336,6 @@ SRC_UNIX = \
|
||||
src/gui_x11_pm.h \
|
||||
src/hangulin.c \
|
||||
src/if_xcmdsrv.c \
|
||||
src/integration.c \
|
||||
src/integration.h \
|
||||
src/link.sh \
|
||||
src/installman.sh \
|
||||
src/installml.sh \
|
||||
@ -356,7 +358,6 @@ SRC_UNIX = \
|
||||
src/proto/if_xcmdsrv.pro \
|
||||
src/proto/os_unix.pro \
|
||||
src/proto/pty.pro \
|
||||
src/proto/workshop.pro \
|
||||
src/pty.c \
|
||||
src/testdir/Makefile \
|
||||
src/testdir/unix.vim \
|
||||
@ -366,10 +367,6 @@ SRC_UNIX = \
|
||||
src/vimtutor \
|
||||
src/gvimtutor \
|
||||
src/which.sh \
|
||||
src/workshop.c \
|
||||
src/workshop.h \
|
||||
src/wsdebug.c \
|
||||
src/wsdebug.h \
|
||||
src/tee/Makefile \
|
||||
src/xxd/Makefile \
|
||||
|
||||
@ -475,7 +472,6 @@ SRC_DOS = \
|
||||
src/xxd/Make_mvc.mak \
|
||||
nsis/gvim.nsi \
|
||||
nsis/gvim_version.nsh \
|
||||
nsis/vimrc.ini \
|
||||
nsis/README.txt \
|
||||
nsis/lang/*.nsi \
|
||||
uninstal.txt \
|
||||
@ -516,9 +512,7 @@ SRC_DOS_BIN = \
|
||||
src/xpm/x86/lib/libXpm.a \
|
||||
src/xpm/x86/lib/libXpm.lib \
|
||||
src/xpm/x86/lib-vc14/libXpm.lib \
|
||||
nsis/icons/*.bmp \
|
||||
nsis/icons/*.ico \
|
||||
nsis/icons/*.svg \
|
||||
nsis/icons.zip \
|
||||
|
||||
# source files for Amiga, DOS, etc. (also in the extra archive)
|
||||
SRC_AMI_DOS = \
|
||||
|
10
Makefile
@ -205,6 +205,7 @@ MINOR = 1
|
||||
# - Make sure there is a diff.exe two levels up (get it from a previous Vim
|
||||
# version). Also put winpty32.dll and winpty-agent.exe there.
|
||||
# - go to ../nsis and do:
|
||||
# > unzip icons.zip
|
||||
# > makensis gvim.nsi (takes a few minutes).
|
||||
# ignore warning for libwinpthread-1.dll
|
||||
# - Copy gvim##.exe to the dist directory.
|
||||
@ -468,11 +469,12 @@ dosrt_files: dist prepare no_title.vim
|
||||
-rm $(IN_README_DIR)
|
||||
mv dist/vim/$(VIMRTDIR)/runtime/* dist/vim/$(VIMRTDIR)
|
||||
rmdir dist/vim/$(VIMRTDIR)/runtime
|
||||
# Add the message translations. Trick: skip ja.mo and use ja.sjis.mo instead.
|
||||
# Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo, sk.mo / sk.cp1250.mo,
|
||||
# zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and ru.mo / ru.cp1251.mo.
|
||||
# Add the message translations. Trick: skip ja.mo/ja.euc-jp.mo and use
|
||||
# ja.sjis.mo instead. Same for cs.mo / cs.cp1250.mo, pl.mo / pl.cp1250.mo,
|
||||
# sk.mo / sk.cp1250.mo, zh_CN.mo / zh_CN.cp936.mo, uk.mo / uk.cp1251.mo and
|
||||
# ru.mo / ru.cp1251.mo.
|
||||
for i in $(LANG_DOS); do \
|
||||
if test "$$i" != "src/po/ja.mo" -a "$$i" != "src/po/pl.mo" -a "$$i" != "src/po/cs.mo" -a "$$i" != "src/po/sk.mo" -a "$$i" != "src/po/zh_CN.mo" -a "$$i" != "src/po/ru.mo" -a "$$i" != "src/po/uk.mo"; then \
|
||||
if test "$$i" != "src/po/ja.mo" -a "$$i" != "src/po/ja.euc-jp.mo" -a "$$i" != "src/po/pl.mo" -a "$$i" != "src/po/cs.mo" -a "$$i" != "src/po/sk.mo" -a "$$i" != "src/po/zh_CN.mo" -a "$$i" != "src/po/ru.mo" -a "$$i" != "src/po/uk.mo"; then \
|
||||
n=`echo $$i | sed -e "s+src/po/\([-a-zA-Z0-9_]*\(.UTF-8\)*\)\(.sjis\)*\(.cp1250\)*\(.cp1251\)*\(.cp936\)*.mo+\1+"`; \
|
||||
mkdir dist/vim/$(VIMRTDIR)/lang/$$n; \
|
||||
mkdir dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES; \
|
||||
|
@ -67,6 +67,11 @@ To build the installable .exe:
|
||||
Install NSIS if you didn't do that already.
|
||||
Also install UPX, if you want a compressed file.
|
||||
|
||||
Unpack the images:
|
||||
cd nsis
|
||||
unzip icons.zip
|
||||
|
||||
To build then, enter:
|
||||
|
||||
cd nsis
|
||||
makensis gvim.nsi
|
||||
|
BIN
nsis/icons.zip
Normal file
Before Width: | Height: | Size: 358 B |
Before Width: | Height: | Size: 358 B |
Before Width: | Height: | Size: 100 KiB |
@ -1,265 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="300"
|
||||
height="114"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.47 r22583"
|
||||
sodipodi:docname="header.svg"
|
||||
inkscape:export-filename="header.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<defs
|
||||
id="defs4">
|
||||
<filter
|
||||
id="filter2840"
|
||||
inkscape:label="Drop shadow"
|
||||
width="1.5"
|
||||
height="1.5"
|
||||
x="-.25"
|
||||
y="-.25">
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur2842"
|
||||
in="SourceAlpha"
|
||||
stdDeviation="3.000000"
|
||||
result="blur" />
|
||||
<feColorMatrix
|
||||
id="feColorMatrix2844"
|
||||
result="bluralpha"
|
||||
type="matrix"
|
||||
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.600000 0 " />
|
||||
<feOffset
|
||||
id="feOffset2846"
|
||||
in="bluralpha"
|
||||
dx="-5.000000"
|
||||
dy="5.000000"
|
||||
result="offsetBlur" />
|
||||
<feMerge
|
||||
id="feMerge2848">
|
||||
<feMergeNode
|
||||
id="feMergeNode2850"
|
||||
in="offsetBlur" />
|
||||
<feMergeNode
|
||||
id="feMergeNode2852"
|
||||
in="SourceGraphic" />
|
||||
</feMerge>
|
||||
</filter>
|
||||
<filter
|
||||
id="filter2910"
|
||||
inkscape:label="Drop shadow"
|
||||
width="1.5"
|
||||
height="1.5"
|
||||
x="-.25"
|
||||
y="-.25">
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur2912"
|
||||
in="SourceAlpha"
|
||||
stdDeviation="2.500000"
|
||||
result="blur" />
|
||||
<feColorMatrix
|
||||
id="feColorMatrix2914"
|
||||
result="bluralpha"
|
||||
type="matrix"
|
||||
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.600000 0 " />
|
||||
<feOffset
|
||||
id="feOffset2916"
|
||||
in="bluralpha"
|
||||
dx="-3.000000"
|
||||
dy="3.000000"
|
||||
result="offsetBlur" />
|
||||
<feMerge
|
||||
id="feMerge2918">
|
||||
<feMergeNode
|
||||
id="feMergeNode2920"
|
||||
in="offsetBlur" />
|
||||
<feMergeNode
|
||||
id="feMergeNode2922"
|
||||
in="SourceGraphic" />
|
||||
</feMerge>
|
||||
</filter>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="2.1369427"
|
||||
inkscape:cx="130.27686"
|
||||
inkscape:cy="77.09629"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="header"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="942"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:showpageshadow="false" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="header"
|
||||
transform="translate(0,-938.36218)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
|
||||
id="text3026"
|
||||
x="4.0525044"
|
||||
y="-8.7699928">The editor</text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;line-height:100%;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;filter:url(#filter2910)"
|
||||
x="178.45901"
|
||||
y="988.47156"
|
||||
id="text3198"
|
||||
sodipodi:linespacing="100%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan3200"
|
||||
x="178.45901"
|
||||
y="988.47156"
|
||||
style="font-size:36px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;font-family:Courier New;-inkscape-font-specification:Courier New Bold">The</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="178.45901"
|
||||
y="1024.4716"
|
||||
id="tspan3202"
|
||||
style="font-size:36px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;line-height:100%;writing-mode:lr-tb;text-anchor:middle;font-family:Courier New;-inkscape-font-specification:Courier New Bold">editor</tspan></text>
|
||||
<g
|
||||
id="g2916"
|
||||
style="filter:url(#filter2840)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path2999"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="M 107.53604,994.85892 57.991535,946.32092 9.4535173,995.84025 57.991535,1044.4034 107.53604,994.85892" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3003"
|
||||
style="fill:#006b05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 102.57907,994.85892 2.96915,0 -47.556685,47.55668 0,-2.9691 44.587535,-44.58758" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3007"
|
||||
style="fill:#007d17;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 11.441335,995.84025 2.969148,0 43.581052,43.60625 0,2.9691 -46.5502,-46.57535" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3011"
|
||||
style="fill:#66ff99;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 57.991535,951.25272 0,-2.94398 -46.5502,47.53151 2.969148,0 43.581052,-44.58753" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3015"
|
||||
style="fill:#45ff02;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 57.991535,948.30873 0,2.94399 44.587535,43.6062 2.96915,0 -47.556685,-46.55019" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3019"
|
||||
style="fill:#009933;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 57.991535,1039.4465 44.587535,-44.58758 -44.587535,-43.6062 -43.581052,44.58753 43.581052,43.60625" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3023"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 67.25125,961.16664 2.969146,2.99431 0,0 -20.482085,20.78405 0,-20.78405 1.987817,0 2.969148,-2.99431 0,-7.90094 -2.969148,-2.99431 -33.012896,0 -2.969149,2.99431 0,7.90094 2.969149,2.99431 2.314928,0 0,67.35935 3.623367,2.9692 10.241043,0 70.98276,-73.32286 0,-7.90094 -2.96915,-2.99431 -32.358674,0 -3.296256,2.99431 0,7.90094" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3027"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 19.694561,962.17314 -1.987821,-1.98782 0,-5.9383 1.987821,-1.98782 31.05024,-0.0252 1.962656,2.01298 -1.962656,0.95617 -1.00649,-0.95617 -30.04375,4.9318 0,2.99432" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3031"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 25.632856,1032.5017 -2.314928,-1.9878 0,-68.36592 2.314928,-1.96266 0,72.31638" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3035"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 75.177364,962.17314 1.987819,-1.98782 0,3.97563 -33.038059,33.66712 3.64853,-7.9261 27.40171,-27.72883" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3039"
|
||||
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 26.312236,959.20399 -0.67938,0.98133 -2.314928,1.98782 -3.623367,0 0,-3.97563 6.617675,1.00648" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3043"
|
||||
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 47.775654,962.17314 0,27.72883 -3.64853,7.90094 0,-37.64275 5.611187,0 1.00649,-0.98133 -1.00649,-4.93181 2.969146,0 0,5.9383 -1.962656,1.98782 -2.969147,0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3047"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 71.201725,962.17314 -1.962656,-1.98782 0,-5.9383 2.289766,-1.98782 30.068915,0 2.31493,1.98782 -3.32142,2.96915 -29.389535,1.96265 0,2.99432" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3051"
|
||||
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 103.91268,960.18532 -69.699491,72.31638 -8.580333,0 0,-2.9692 6.290568,0 69.674326,-71.33499 -1.00649,-3.95049 3.32142,0 0,5.9383" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3055"
|
||||
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 77.819404,959.20399 -0.679382,0.98133 -1.962658,1.98782 -3.975639,0 0,-3.97563 6.617679,1.00648" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3059"
|
||||
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 44.127124,997.80291 0,-37.64275 5.611187,0 1.00649,-0.98134 0,-3.97563 -1.00649,-0.98133 -29.062421,0 -0.981329,0.98133 0,3.97563 0.981329,0.98134 4.956966,0 0,69.37234 1.283276,0.9814 5.661511,0 69.347217,-72.31639 0,-2.84335 -1.00649,-1.1323 -28.710153,0 -1.006492,0.98133 0,4.0008 1.006492,0.98133 4.956966,0 0,3.97563 -33.038059,33.64196" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3063"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 62.143307,997.85323 2.31493,-1.98781 5.938295,0 1.660709,1.98781 -1.987817,5.93827 -2.289767,1.9879 -5.938295,0 -1.685872,-1.9879 1.987817,-5.93827" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3067"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 64.131127,1030.539 5.963458,-17.8149 -1.987818,0 1.987818,-5.9634 8.882281,0 1.987818,1.9878 1.333602,0 1.962657,-1.9878 6.617676,0 1.98782,1.9878 1.308439,0 1.987818,-1.9878 7.246734,0 2.64204,3.9756 -4.32791,14.0909 1.96265,0 -1.91233,5.7118 -11.901751,0 4.655019,-13.8644 -2.969147,0 -2.742688,8.1023 1.962658,0 -1.862008,5.7621 -11.901753,0 4.629856,-13.8644 -2.969146,0 -2.767852,8.1526 1.987821,0 -1.862008,5.7118 -11.901754,0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3071"
|
||||
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 102.50359,1008.7485 1.53489,2.1891 -4.881475,15.6509 1.962655,0 -0.65422,1.9627 -7.92611,0 4.629858,-13.8644 -6.944788,0 -3.950475,11.9017 1.962657,0 -0.654219,1.9627 -7.926114,0 4.629855,-13.8644 -6.944785,0 -3.950476,11.9017 1.987818,0 -0.67938,1.9627 -7.926116,0 5.963458,-17.8149 -1.987818,0 0.654217,-1.9878 7.271898,0 1.987818,1.9878 1.962657,0 1.987819,-1.9878 5.938295,0 1.987821,1.9878 1.987818,0 1.987821,-1.9878 5.988621,0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3075"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 69.088095,1006.7607 -6.064107,18.0413 2.063305,0 -1.962657,5.737 -11.876589,0 5.938295,-17.8149 -1.98782,0 13.889573,-5.9634 z m -13.889573,5.9634 1.98782,-5.9634 11.901753,0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3079"
|
||||
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 61.816199,1028.5512 0.654219,-1.9627 -1.987819,0 5.963458,-17.84 -8.253225,0 -0.67938,1.9878 2.314928,0 -5.938297,17.8149 7.926116,0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3083"
|
||||
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.07548681;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 68.408713,1002.8102 1.333602,-3.97563 -0.65422,-0.98134 -3.975639,0 -1.308438,0.98134 -1.333601,3.97563 0.679382,0.9813 3.975639,0 1.283275,-0.9813" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 604 KiB |
Before Width: | Height: | Size: 766 B |
Before Width: | Height: | Size: 766 B |
Before Width: | Height: | Size: 604 KiB |
@ -1,268 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="328"
|
||||
height="628"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.47 r22583"
|
||||
sodipodi:docname="welcome.svg"
|
||||
inkscape:export-filename="welcome.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<defs
|
||||
id="defs4">
|
||||
<filter
|
||||
id="filter3356"
|
||||
inkscape:label="Drop shadow"
|
||||
width="1.5"
|
||||
height="1.5"
|
||||
x="-.25"
|
||||
y="-.25">
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur3358"
|
||||
in="SourceAlpha"
|
||||
stdDeviation="5.000000"
|
||||
result="blur" />
|
||||
<feColorMatrix
|
||||
id="feColorMatrix3360"
|
||||
result="bluralpha"
|
||||
type="matrix"
|
||||
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.600000 0 " />
|
||||
<feOffset
|
||||
id="feOffset3362"
|
||||
in="bluralpha"
|
||||
dx="-10.000000"
|
||||
dy="10.000000"
|
||||
result="offsetBlur" />
|
||||
<feMerge
|
||||
id="feMerge3364">
|
||||
<feMergeNode
|
||||
id="feMergeNode3366"
|
||||
in="offsetBlur" />
|
||||
<feMergeNode
|
||||
id="feMergeNode3368"
|
||||
in="SourceGraphic" />
|
||||
</feMerge>
|
||||
</filter>
|
||||
<filter
|
||||
id="filter3496"
|
||||
inkscape:label="Drop shadow"
|
||||
width="1.5"
|
||||
height="1.5"
|
||||
x="-.25"
|
||||
y="-.25">
|
||||
<feGaussianBlur
|
||||
id="feGaussianBlur3498"
|
||||
in="SourceAlpha"
|
||||
stdDeviation="3.000000"
|
||||
result="blur" />
|
||||
<feColorMatrix
|
||||
id="feColorMatrix3500"
|
||||
result="bluralpha"
|
||||
type="matrix"
|
||||
values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0.600000 0 " />
|
||||
<feOffset
|
||||
id="feOffset3502"
|
||||
in="bluralpha"
|
||||
dx="-5.000000"
|
||||
dy="5.000000"
|
||||
result="offsetBlur" />
|
||||
<feMerge
|
||||
id="feMerge3504">
|
||||
<feMergeNode
|
||||
id="feMergeNode3506"
|
||||
in="offsetBlur" />
|
||||
<feMergeNode
|
||||
id="feMergeNode3508"
|
||||
in="SourceGraphic" />
|
||||
</feMerge>
|
||||
</filter>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.0716561"
|
||||
inkscape:cx="122.81449"
|
||||
inkscape:cy="381.22777"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1280"
|
||||
inkscape:window-height="942"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:snap-global="true"
|
||||
inkscape:showpageshadow="false" />
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(0,-424.36218)">
|
||||
<rect
|
||||
style="fill:#eeffcc;fill-opacity:1;stroke:#007f00;stroke-width:2.0138948;stroke-miterlimit:2.6099999;stroke-opacity:1;stroke-dasharray:none"
|
||||
id="rect3510"
|
||||
width="327.98608"
|
||||
height="635.98608"
|
||||
x="-0.99305254"
|
||||
y="420.36914" />
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="fill:#ffffff;fill-opacity:0;stroke:none"
|
||||
id="path3795"
|
||||
sodipodi:cx="92.889717"
|
||||
sodipodi:cy="94.761551"
|
||||
sodipodi:rx="83.062592"
|
||||
sodipodi:ry="84.466469"
|
||||
d="m 175.95231,94.761551 c 0,46.649539 -37.18839,84.466469 -83.062593,84.466469 -45.874202,0 -83.0625915,-37.81693 -83.0625915,-84.466469 0,-46.649543 37.1883895,-84.466469 83.0625915,-84.466469 45.874203,0 83.062593,37.816926 83.062593,84.466469 z"
|
||||
transform="matrix(0,-2.3099964,-2.3548838,0,387.15244,952.93709)" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans;filter:url(#filter3496)"
|
||||
id="text3026"><textPath
|
||||
xlink:href="#path3795"
|
||||
startOffset="50%"
|
||||
id="textPath3036"
|
||||
style="font-size:58;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:center;text-anchor:middle;font-family:Courier New;-inkscape-font-specification:Courier New Bold;">The editor</textPath></text>
|
||||
<g
|
||||
id="g2968"
|
||||
style="filter:url(#filter3356)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path2999"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="M 299.80052,736.9686 162.60646,602.56167 28.199478,739.68603 162.60646,874.16269 299.80052,736.9686" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3003"
|
||||
style="fill:#006b05;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 286.07415,736.9686 8.22189,0 -131.68958,131.68962 0,-8.2219 123.46769,-123.46772" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3007"
|
||||
style="fill:#007d17;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 33.703958,739.68603 8.221891,0 120.680611,120.75029 0,8.2219 L 33.703958,739.68603" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3011"
|
||||
style="fill:#66ff99;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 162.60646,616.21837 0,-8.15223 -128.902502,131.61989 8.221891,0 120.680611,-123.46766" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3015"
|
||||
style="fill:#45ff02;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 162.60646,608.06614 0,8.15223 123.46769,120.75023 8.22189,0 -131.68958,-128.90246" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3019"
|
||||
style="fill:#009933;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="M 162.60646,860.43632 286.07415,736.9686 162.60646,616.21837 41.925849,739.68603 162.60646,860.43632" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3023"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 188.24761,643.67106 8.22188,8.29158 0,0 -56.71709,57.55326 0,-57.55326 5.50448,0 8.22189,-8.29158 0,-21.87855 -8.22189,-8.29157 -91.416257,0 -8.221894,8.29157 0,21.87855 8.221894,8.29158 6.410285,0 0,186.52539 10.033492,8.22191 28.358547,0 196.558893,-203.03888 0,-21.87855 -8.22189,-8.29157 -89.60466,0 -9.12768,8.29157 0,21.87855" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3027"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 56.558028,646.45817 -5.504489,-5.50448 0,-16.4438 5.504489,-5.50448 85.981452,-0.0697 5.4348,5.57416 -5.4348,2.64775 -2.78708,-2.64775 -83.194372,13.6567 0,8.29158" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3031"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 73.001805,841.20547 -6.410285,-5.50448 0,-189.3125 6.410285,-5.4348 0,200.25178" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3035"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 210.19587,646.45817 5.50448,-5.50448 0,11.00895 -91.48593,93.22786 10.10317,-21.94822 75.87828,-76.78411" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3039"
|
||||
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 74.883082,638.23626 -1.881277,2.71743 -6.410285,5.50448 -10.033492,0 0,-11.00895 18.325054,2.78704" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3043"
|
||||
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 134.31759,646.45817 0,76.78411 -10.10317,21.87855 0,-104.23681 15.53798,0 2.78708,-2.71743 -2.78708,-13.6567 8.22188,0 0,16.4438 -5.4348,5.50448 -8.22189,0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3047"
|
||||
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 199.1869,646.45817 -5.43481,-5.50448 0,-16.4438 6.34061,-5.50448 83.26404,0 6.41029,5.50448 -9.19736,8.2219 -81.38277,5.4348 0,8.29158" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3051"
|
||||
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 289.76703,640.95369 -193.005361,200.25177 -23.759864,0 0,-8.2219 17.419257,0 192.935678,-197.53434 -2.78707,-10.93933 9.19736,0 0,16.4438" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3055"
|
||||
style="fill:#7f7f7f;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 217.51196,638.23626 -1.88128,2.71743 -5.43481,5.50448 -11.00897,0 0,-11.00895 18.32506,2.78704" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3059"
|
||||
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 124.21442,745.12082 0,-104.23681 15.53798,0 2.78708,-2.71742 0,-11.00895 -2.78708,-2.71743 -80.476968,0 -2.717404,2.71743 0,11.00895 2.717404,2.71742 13.726373,0 0,192.09955 3.553528,2.71743 15.677333,0 192.029884,-200.25177 0,-7.87353 -2.78708,-3.13548 -79.50149,0 -2.78708,2.71743 0,11.07862 2.78708,2.71743 13.72637,0 0,11.00895 -91.48593,93.15818" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3063"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 174.10317,745.26018 6.41029,-5.50448 16.44377,0 4.59868,5.50448 -5.50447,16.4438 -6.34062,5.50448 -16.44377,0 -4.66836,-5.50448 5.50448,-16.4438" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3067"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 179.60765,835.77066 16.51346,-49.33135 -5.50448,0 5.50448,-16.51342 24.59599,0 5.50448,5.50447 3.69289,0 5.43481,-5.50447 18.32505,0 5.50449,5.50447 3.62321,0 5.50448,-5.50447 20.06698,0 7.31609,11.00895 -11.98445,39.01911 5.43481,0 -5.29546,15.81671 -32.95723,0 12.89025,-38.39208 -8.22189,0 -7.59479,22.43602 5.43481,0 -5.1561,15.95606 -32.95724,0 12.82057,-38.39208 -8.22188,0 -7.66448,22.57537 5.50449,0 -5.1561,15.81671 -32.95724,0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3071"
|
||||
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 285.86512,775.43036 4.25029,6.06188 -13.51734,43.3391 5.43481,0 -1.8116,5.43485 -21.94826,0 12.82057,-38.39208 -19.23086,0 -10.93929,32.95723 5.43481,0 -1.81161,5.43485 -21.94826,0 12.82057,-38.39208 -19.23086,0 -10.93929,32.95723 5.50448,0 -1.88127,5.43485 -21.94827,0 16.51346,-49.33135 -5.50449,0 1.8116,-5.50448 20.13667,0 5.50448,5.50448 5.43481,0 5.50448,-5.50448 16.44378,0 5.50449,5.50448 5.50448,0 5.50449,-5.50448 16.58312,0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3075"
|
||||
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 193.33403,769.92588 -16.79216,49.95839 5.71351,0 -5.43481,15.88639 -32.88755,0 16.44378,-49.33135 -5.50449,0 38.46172,-16.51343 z m -38.46172,16.51343 5.50449,-16.51343 32.95723,0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3079"
|
||||
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 173.19737,830.26619 1.8116,-5.43485 -5.50448,0 16.51345,-49.40098 -22.85406,0 -1.88128,5.50448 6.41028,0 -16.44378,49.33135 21.94827,0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path3083"
|
||||
style="fill:#cccccc;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.20903109000000000;stroke-miterlimit:2.60999990000000004;stroke-opacity:1;stroke-dasharray:none;"
|
||||
d="m 191.45275,758.98656 3.69288,-11.00896 -1.8116,-2.71743 -11.00897,0 -3.62321,2.71743 -3.69288,11.00896 1.88128,2.71742 11.00897,0 3.55353,-2.71742" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 14 KiB |
@ -10,7 +10,7 @@
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These string should be always English. Otherwise dosinst.c fails.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_DANISH} "$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_DANISH} "$(^Name) Uninstall"
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These string should be always English. Otherwise dosinst.c fails.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_DUTCH} \
|
||||
"$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_DUTCH} \
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These string should be always English. Otherwise dosinst.c fails.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_ENGLISH} \
|
||||
"$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_ENGLISH} \
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These string should be always English. Otherwise dosinst.c fails.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_GERMAN} \
|
||||
"$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_GERMAN} \
|
||||
|
@ -4,14 +4,14 @@
|
||||
#
|
||||
# Locale ID : 1040
|
||||
# Locale Name : it
|
||||
# fileencoding : latin1
|
||||
# fileencoding : UTF-8
|
||||
# Author : Antonio Colombo
|
||||
|
||||
!insertmacro MUI_LANGUAGE "Italian"
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These string should be always English. Otherwise dosinst.c fails.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_ITALIAN} \
|
||||
"$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_ITALIAN} \
|
||||
@ -48,7 +48,7 @@ LangString str_desc_old_ver ${LANG_ITALIAN} \
|
||||
"Disinstalla versione/i esistente/i di Vim dal vostro sistema."
|
||||
|
||||
LangString str_section_exe ${LANG_ITALIAN} \
|
||||
"Vim GUI (gvim.exe per Windows)"
|
||||
"Vim GUI e file di supporto"
|
||||
LangString str_desc_exe ${LANG_ITALIAN} \
|
||||
"Vim GUI programmi e file di supporto. Questa componente è indispensabile."
|
||||
|
||||
@ -61,7 +61,7 @@ LangString str_section_batch ${LANG_ITALIAN} \
|
||||
"Crea file di invocazione (MS-DOS) .bat"
|
||||
LangString str_desc_batch ${LANG_ITALIAN} \
|
||||
"Crea file di invocazione .bat per varianti di Vim nella directory \
|
||||
di Windows, da utilizzare da linea di comando (MS-DOS)."
|
||||
di Windows, per utilizzo da linea di comando (MS-DOS)."
|
||||
|
||||
LangString str_group_icons ${LANG_ITALIAN} \
|
||||
"Crea icone per Vim"
|
||||
@ -71,13 +71,12 @@ LangString str_desc_icons ${LANG_ITALIAN} \
|
||||
LangString str_section_desktop ${LANG_ITALIAN} \
|
||||
"Sul Desktop"
|
||||
LangString str_desc_desktop ${LANG_ITALIAN} \
|
||||
"Crea icone per programma gvim sul desktop."
|
||||
"Crea icone per programma gVim sul desktop."
|
||||
|
||||
LangString str_section_start_menu ${LANG_ITALIAN} \
|
||||
"Nella cartella del menù START"
|
||||
LangString str_desc_start_menu ${LANG_ITALIAN} \
|
||||
"Aggiungi Vim alle cartelle del menù START. \
|
||||
Disponibile solo da Windows 95 in avanti."
|
||||
"Aggiungi Vim alle cartelle del menù START."
|
||||
|
||||
#LangString str_section_quick_launch ${LANG_ITALIAN} \
|
||||
# "Nella barra di Avvio Veloce"
|
||||
@ -102,26 +101,26 @@ LangString str_desc_edit_with ${LANG_ITALIAN} \
|
||||
# per applicazioni a 64-bit."
|
||||
|
||||
LangString str_section_vim_rc ${LANG_ITALIAN} \
|
||||
"Crea Configurazione di default"
|
||||
"Crea configurazione di default"
|
||||
LangString str_desc_vim_rc ${LANG_ITALIAN} \
|
||||
"Crea file configurazione di default (_vimrc) se non ne \
|
||||
esiste già uno."
|
||||
"Crea un file configurazione di default (_vimrc) se non \
|
||||
ne esiste già uno."
|
||||
|
||||
LangString str_group_plugin ${LANG_ITALIAN} \
|
||||
"Crea Directory per Plugin"
|
||||
"Crea directory per plugin"
|
||||
LangString str_desc_plugin ${LANG_ITALIAN} \
|
||||
"Crea Directory per Plugin. Servono per aggiungere funzionalità \
|
||||
a Vim aggiungendo file a una di queste directory."
|
||||
"Crea directory per plugin. Consentono di aggiungere funzionalità \
|
||||
a Vim mettendo file in una di queste directory."
|
||||
|
||||
LangString str_section_plugin_home ${LANG_ITALIAN} \
|
||||
"Privato"
|
||||
"Private"
|
||||
LangString str_desc_plugin_home ${LANG_ITALIAN} \
|
||||
"Create plugin directories in HOME directory."
|
||||
"Crea directory per plugin nella directory HOME."
|
||||
|
||||
LangString str_section_plugin_vim ${LANG_ITALIAN} \
|
||||
"Condiviso"
|
||||
"Condivise"
|
||||
LangString str_desc_plugin_vim ${LANG_ITALIAN} \
|
||||
"Crea Directory Plugin nella directory di installazione di Vim \
|
||||
"Crea directory per plugin nella directory di installazione di Vim \
|
||||
per uso da parte di tutti gli utenti di questo sistema."
|
||||
|
||||
LangString str_section_vis_vim ${LANG_ITALIAN} \
|
||||
@ -140,35 +139,29 @@ LangString str_desc_unregister ${LANG_ITALIAN} \
|
||||
"Togli Vim dal Registry di configurazione sistema."
|
||||
|
||||
LangString str_unsection_exe ${LANG_ITALIAN} \
|
||||
"Cancella programmi/file_ausiliari Vim"
|
||||
"Cancella programmi/file di supporto Vim"
|
||||
LangString str_desc_rm_exe ${LANG_ITALIAN} \
|
||||
"Cancella tutti i programmi/file_ausiliari di Vim."
|
||||
|
||||
LangString str_unsection_rc ${LANG_ITALIAN} \
|
||||
"Cancella file di configurazione di Vim"
|
||||
LangString str_desc_rm_rc ${LANG_ITALIAN} \
|
||||
"Cancella file di configurazione di Vim $vim_install_root\_vimrc. \
|
||||
Da saltare se avete personalizzato il file di configurazione."
|
||||
"Cancella tutti i programmi/file di supporto di Vim."
|
||||
|
||||
LangString str_ungroup_plugin ${LANG_ITALIAN} \
|
||||
"Remove plugin directories"
|
||||
"Cancella le directory per plugin"
|
||||
LangString str_desc_rm_plugin ${LANG_ITALIAN} \
|
||||
"Remove the plugin directories if they are empty."
|
||||
"Cancella le directory per plugin se sono vuote."
|
||||
|
||||
LangString str_unsection_plugin_home ${LANG_ITALIAN} \
|
||||
"Privato"
|
||||
"Private"
|
||||
LangString str_desc_rm_plugin_home ${LANG_ITALIAN} \
|
||||
"Remove the plugin directories from HOME directory."
|
||||
"Cancella le directory per plugin dalla directory HOME."
|
||||
|
||||
LangString str_unsection_plugin_vim ${LANG_ITALIAN} \
|
||||
"Condiviso"
|
||||
"Condivise"
|
||||
LangString str_desc_rm_plugin_vim ${LANG_ITALIAN} \
|
||||
"Remove the plugin directories from Vim install directory."
|
||||
"Cancella le directory per plugin dalla directory di installazione di Vim."
|
||||
|
||||
LangString str_unsection_rootdir ${LANG_ITALIAN} \
|
||||
"Remove the Vim root directory"
|
||||
"Cancella la directory di installazione di Vim"
|
||||
LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
|
||||
"Remove the Vim root directory. It contains your Vim configuration files!"
|
||||
"Cancella la directory di installazione di Vim. Contiene i vostri file di configurazione!"
|
||||
|
||||
|
||||
##############################################################################
|
||||
@ -177,8 +170,8 @@ LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
|
||||
|
||||
#LangString str_msg_too_many_ver ${LANG_ITALIAN} \
|
||||
# "Trovate $vim_old_ver_count versioni di Vim sul vostro sistema.$\r$\n\
|
||||
# Questo programma di installazione può gestirne solo \
|
||||
# ${VIM_MAX_OLD_VER}.$\r$\n\
|
||||
# Questo programma di installazione può gestire solo \
|
||||
# ${VIM_MAX_OLD_VER} versioni.$\r$\n\
|
||||
# Disinstallate qualche versione precedente e ricominciate."
|
||||
|
||||
#LangString str_msg_invalid_root ${LANG_ITALIAN} \
|
||||
@ -186,7 +179,7 @@ LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
|
||||
# Dovrebbe terminare con $\"vim$\"."
|
||||
|
||||
#LangString str_msg_bin_mismatch ${LANG_ITALIAN} \
|
||||
# "Incongruenza di installazione!$\r$\n$\r$\n\
|
||||
# "Conflitto nella directory di installazione!$\r$\n$\r$\n\
|
||||
# Cartella di installazione dev'essere $\"$vim_bin_path$\",$\r$\n\
|
||||
# ma il sistema segnala invece $\"$INSTDIR$\"."
|
||||
|
||||
@ -196,14 +189,14 @@ LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
|
||||
|
||||
#LangString str_msg_register_ole ${LANG_ITALIAN} \
|
||||
# "Tentativo di registrazione di Vim con OLE. \
|
||||
# Non ci sono messaggi che indicano se ha funzionato o no."
|
||||
# Non c'è messaggio che indica se è riuscito o no."
|
||||
|
||||
#LangString str_msg_unreg_ole ${LANG_ITALIAN} \
|
||||
# "Tentativo di togliere da Registry Vim con OLE. \
|
||||
# Non ci sono messaggi che indicano se ha funzionato o no."
|
||||
# "Tentativo di togliere dal Registry Vim con OLE. \
|
||||
# Non c'è messaggio che indica se è riuscito o no."
|
||||
|
||||
#LangString str_msg_rm_start ${LANG_ITALIAN} \
|
||||
# "Disinstallazione delle seguenti versioni:"
|
||||
# "Disinstallazione della seguente versione:"
|
||||
|
||||
#LangString str_msg_rm_fail ${LANG_ITALIAN} \
|
||||
# "Disinstallazione non riuscita per la seguente versione:"
|
||||
@ -215,7 +208,7 @@ LangString str_desc_rm_rootdir ${LANG_ITALIAN} \
|
||||
# "Non riesco a trovare programma disinstallazione nel Registry."
|
||||
|
||||
#LangString str_msg_no_rm_exe ${LANG_ITALIAN} \
|
||||
# "Non riesco a utilizzare programma disinstallazione."
|
||||
# "Non riesco a trovare programma disinstallazione."
|
||||
|
||||
#LangString str_msg_rm_copy_fail ${LANG_ITALIAN} \
|
||||
# "Non riesco a copiare programma disinstallazione a una \
|
||||
@ -238,13 +231,13 @@ LangString str_msg_rm_exe_fail ${LANG_ITALIAN} \
|
||||
# "AVVISO: Non posso cancellare $\"$vim_install_root$\", non è vuota!"
|
||||
|
||||
LangString str_msg_uninstalling ${LANG_ITALIAN} \
|
||||
"Uninstalling the old version..."
|
||||
"Sto disinstallando la vecchia versione..."
|
||||
|
||||
LangString str_msg_registering ${LANG_ITALIAN} \
|
||||
"Registering..."
|
||||
"Sto aggiungendo Vim al Registry..."
|
||||
|
||||
LangString str_msg_unregistering ${LANG_ITALIAN} \
|
||||
"Unregistering..."
|
||||
"Sto togliendo Vim dal Registry..."
|
||||
|
||||
|
||||
##############################################################################
|
||||
@ -252,39 +245,39 @@ LangString str_msg_unregistering ${LANG_ITALIAN} \
|
||||
##############################################################################
|
||||
|
||||
LangString str_vimrc_page_title ${LANG_ITALIAN} \
|
||||
"Choose _vimrc settings"
|
||||
"Scelta impostazioni _vimrc"
|
||||
LangString str_vimrc_page_subtitle ${LANG_ITALIAN} \
|
||||
"Choose the settings for enhancement, keyboard and mouse."
|
||||
"Scelta impostazioni per funzionalità ulteriori, tastiera e mouse."
|
||||
|
||||
LangString str_msg_compat_title ${LANG_ITALIAN} \
|
||||
" Vi / Vim behavior "
|
||||
" comportamento come Vi / Vim "
|
||||
LangString str_msg_compat_desc ${LANG_ITALIAN} \
|
||||
"&Compatibility and enhancements"
|
||||
"&Compatibilità e funzionalità ulteriori"
|
||||
LangString str_msg_compat_vi ${LANG_ITALIAN} \
|
||||
"Vi compatible"
|
||||
"Compatibile con Vi"
|
||||
LangString str_msg_compat_vim ${LANG_ITALIAN} \
|
||||
"Vim original"
|
||||
"Vim originale"
|
||||
LangString str_msg_compat_defaults ${LANG_ITALIAN} \
|
||||
"Vim with some enhancements (load defaults.vim)"
|
||||
"Vim con alcune funzionalità ulteriori (esecuzione defaults.vim)"
|
||||
LangString str_msg_compat_all ${LANG_ITALIAN} \
|
||||
"Vim with all enhancements (load vimrc_example.vim) (Default)"
|
||||
"Vim con tutte le funzionalità ulteriori (esecuzione vimrc_example.vim) (Default)"
|
||||
|
||||
LangString str_msg_keymap_title ${LANG_ITALIAN} \
|
||||
" Mappings "
|
||||
" Mappature "
|
||||
LangString str_msg_keymap_desc ${LANG_ITALIAN} \
|
||||
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
|
||||
"&Rimappatura di alcuni tasti per Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc.)"
|
||||
LangString str_msg_keymap_default ${LANG_ITALIAN} \
|
||||
"Do not remap keys (Default)"
|
||||
"Non effettuare rimappature di tasti (Default)"
|
||||
LangString str_msg_keymap_windows ${LANG_ITALIAN} \
|
||||
"Remap a few keys"
|
||||
"Rimappare solo alcuni tasti"
|
||||
|
||||
LangString str_msg_mouse_title ${LANG_ITALIAN} \
|
||||
" Mouse "
|
||||
LangString str_msg_mouse_desc ${LANG_ITALIAN} \
|
||||
"&Behavior of right and left buttons"
|
||||
"&Comportamento dei pulsanti destro e sinistro"
|
||||
LangString str_msg_mouse_default ${LANG_ITALIAN} \
|
||||
"Right: popup menu, Left: visual mode (Default)"
|
||||
"Destro: popup menu, Sinistro: modalità visuale (Default)"
|
||||
LangString str_msg_mouse_windows ${LANG_ITALIAN} \
|
||||
"Right: popup menu, Left: select mode (Windows)"
|
||||
"Destro: popup menu, Sinistro: seleziona modalità (Windows)"
|
||||
LangString str_msg_mouse_unix ${LANG_ITALIAN} \
|
||||
"Right: extends selection, Left: visual mode (Unix)"
|
||||
"Destro: estende selezione, Sinistro: modalità visuale (Unix)"
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These string should be always English. Otherwise dosinst.c fails.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_JAPANESE} \
|
||||
"$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_JAPANESE} \
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These string should be always English. Otherwise dosinst.c fails.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_SIMPCHINESE} \
|
||||
"$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_SIMPCHINESE} \
|
||||
|
@ -11,7 +11,7 @@
|
||||
|
||||
|
||||
# Overwrite the default translation.
|
||||
# These string should be always English. Otherwise dosinst.c fails.
|
||||
# These strings should be always English. Otherwise dosinst.c fails.
|
||||
LangString ^SetupCaption ${LANG_TRADCHINESE} \
|
||||
"$(^Name) Setup"
|
||||
LangString ^UninstallCaption ${LANG_TRADCHINESE} \
|
||||
|
@ -1,68 +0,0 @@
|
||||
[Settings]
|
||||
NumFields=7
|
||||
|
||||
[Field 1]
|
||||
Type=GroupBox
|
||||
Left=0
|
||||
Right=-1
|
||||
Top=0
|
||||
Bottom=53
|
||||
Text=" Key remapping "
|
||||
|
||||
[Field 2]
|
||||
Type=radiobutton
|
||||
Text=Do not remap keys for Windows behavior (Default)
|
||||
Left=10
|
||||
Right=-10
|
||||
Top=17
|
||||
Bottom=25
|
||||
State=1
|
||||
Flags=GROUP
|
||||
|
||||
[Field 3]
|
||||
Type=radiobutton
|
||||
Text=Remap a few keys for Windows behavior (<C-V>, <C-C>, <C-A>, <C-S>, <C-F>, etc)
|
||||
Left=10
|
||||
Right=-10
|
||||
Top=30
|
||||
Bottom=47
|
||||
State=0
|
||||
Flags=NOTABSTOP
|
||||
|
||||
[Field 4]
|
||||
Type=GroupBox
|
||||
Left=0
|
||||
Right=-1
|
||||
Top=55
|
||||
Bottom=-5
|
||||
Text=" Mouse behavior "
|
||||
|
||||
[Field 5]
|
||||
Type=radiobutton
|
||||
Text=Right button extends selection, left button starts visual mode (Unix)
|
||||
Left=10
|
||||
Right=-5
|
||||
Top=72
|
||||
Bottom=80
|
||||
State=0
|
||||
Flags=GROUP
|
||||
|
||||
[Field 6]
|
||||
Type=radiobutton
|
||||
Text=Right button has a popup menu, left button starts select mode (Windows)
|
||||
Left=10
|
||||
Right=-5
|
||||
Top=85
|
||||
Bottom=93
|
||||
State=0
|
||||
Flags=NOTABSTOP
|
||||
|
||||
[Field 7]
|
||||
Type=radiobutton
|
||||
Text=Right button has a popup menu, left button starts visual mode (Default)
|
||||
Left=10
|
||||
Right=-5
|
||||
Top=98
|
||||
Bottom=106
|
||||
State=1
|
||||
Flags=NOTABSTOP
|
@ -1,8 +1,12 @@
|
||||
" Author: Antony Lee <anntzer.lee@gmail.com>
|
||||
" Description: Helper functions for reStructuredText syntax folding
|
||||
" Last Modified: 2018-01-07
|
||||
" Last Modified: 2018-12-29
|
||||
|
||||
function s:CacheRstFold()
|
||||
if !g:rst_fold_enabled
|
||||
return
|
||||
endif
|
||||
|
||||
let closure = {'header_types': {}, 'max_level': 0, 'levels': {}}
|
||||
function closure.Process(match) dict
|
||||
let curline = getcurpos()[1]
|
||||
@ -20,12 +24,18 @@ function s:CacheRstFold()
|
||||
let self.levels[curline] = self.header_types[key]
|
||||
endfunction
|
||||
let save_cursor = getcurpos()
|
||||
let save_mark = getpos("'[")
|
||||
silent keeppatterns %s/\v^%(%(([=`:.'"~^_*+#-])\1+\n)?.{1,2}\n([=`:.'"~^_*+#-])\2+)|%(%(([=`:.''"~^_*+#-])\3{2,}\n)?.{3,}\n([=`:.''"~^_*+#-])\4{2,})$/\=closure.Process(submatch(0))/gn
|
||||
call setpos('.', save_cursor)
|
||||
call setpos("'[", save_mark)
|
||||
let b:RstFoldCache = closure.levels
|
||||
endfunction
|
||||
|
||||
function RstFold#GetRstFold()
|
||||
if !g:rst_fold_enabled
|
||||
return
|
||||
endif
|
||||
|
||||
if !has_key(b:, 'RstFoldCache')
|
||||
call s:CacheRstFold()
|
||||
endif
|
||||
@ -37,6 +47,10 @@ function RstFold#GetRstFold()
|
||||
endfunction
|
||||
|
||||
function RstFold#GetRstFoldText()
|
||||
if !g:rst_fold_enabled
|
||||
return
|
||||
endif
|
||||
|
||||
if !has_key(b:, 'RstFoldCache')
|
||||
call s:CacheRstFold()
|
||||
endif
|
||||
|
14
runtime/autoload/dist/ft.vim
vendored
@ -1,7 +1,7 @@
|
||||
" Vim functions for file type detection
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2017 Dec 05
|
||||
" Last Change: 2019 Jan 18
|
||||
|
||||
" These functions are moved here from runtime/filetype.vim to make startup
|
||||
" faster.
|
||||
@ -484,6 +484,10 @@ endfunc
|
||||
|
||||
" Called from filetype.vim and scripts.vim.
|
||||
func dist#ft#SetFileTypeSH(name)
|
||||
if did_filetype()
|
||||
" Filetype was already detected
|
||||
return
|
||||
endif
|
||||
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||
return
|
||||
endif
|
||||
@ -531,6 +535,10 @@ endfunc
|
||||
" as used for Tcl.
|
||||
" Also called from scripts.vim, thus can't be local to this script.
|
||||
func dist#ft#SetFileTypeShell(name)
|
||||
if did_filetype()
|
||||
" Filetype was already detected
|
||||
return
|
||||
endif
|
||||
if expand("<amatch>") =~ g:ft_ignore_pat
|
||||
return
|
||||
endif
|
||||
@ -551,6 +559,10 @@ func dist#ft#SetFileTypeShell(name)
|
||||
endfunc
|
||||
|
||||
func dist#ft#CSH()
|
||||
if did_filetype()
|
||||
" Filetype was already detected
|
||||
return
|
||||
endif
|
||||
if exists("g:filetype_csh")
|
||||
call dist#ft#SetFileTypeShell(g:filetype_csh)
|
||||
elseif &shell =~ "tcsh"
|
||||
|
@ -1,9 +1,9 @@
|
||||
" Vim completion script
|
||||
" Language: Ruby
|
||||
" Maintainer: Mark Guzman <segfault@hasno.info>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Maintainer Version: 0.8.1
|
||||
" Language: Ruby
|
||||
" Maintainer: Mark Guzman <segfault@hasno.info>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jan 06
|
||||
" ----------------------------------------------------------------------------
|
||||
"
|
||||
" Ruby IRB/Complete author: Keiju ISHITSUKA(keiju@ishitsuka.com)
|
||||
@ -103,7 +103,7 @@ function! s:GetBufferRubyEntity( name, type, ... )
|
||||
endif
|
||||
|
||||
let curpos = getpos(".")
|
||||
let [enum,ecol] = searchpairpos( crex, '', '\(end\|}\)', 'wr' )
|
||||
let [enum,ecol] = searchpairpos( crex, '', '\(end\|}\)', 'W' )
|
||||
call cursor(lastpos[1], lastpos[2])
|
||||
|
||||
if lnum > enum
|
||||
@ -253,15 +253,27 @@ class VimRubyCompletion
|
||||
|
||||
# {{{ buffer analysis magic
|
||||
def load_requires
|
||||
|
||||
custom_paths = VIM::evaluate("get(g:, 'rubycomplete_load_paths', [])")
|
||||
|
||||
if !custom_paths.empty?
|
||||
$LOAD_PATH.concat(custom_paths).uniq!
|
||||
end
|
||||
|
||||
buf = VIM::Buffer.current
|
||||
enum = buf.line_number
|
||||
nums = Range.new( 1, enum )
|
||||
nums.each do |x|
|
||||
|
||||
ln = buf[x]
|
||||
begin
|
||||
eval( "require %s" % $1 ) if /.*require\s*(.*)$/.match( ln )
|
||||
rescue Exception
|
||||
#ignore?
|
||||
if /.*require_relative\s*(.*)$/.match( ln )
|
||||
eval( "require %s" % File.expand_path($1) )
|
||||
elsif /.*require\s*(["'].*?["'])/.match( ln )
|
||||
eval( "require %s" % $1 )
|
||||
end
|
||||
rescue Exception => e
|
||||
dprint e.inspect
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -344,8 +356,13 @@ class VimRubyCompletion
|
||||
if x != cur_line
|
||||
next if x == 0
|
||||
ln = buf[x]
|
||||
if /^\s*(module|class|def|include)\s+/.match(ln)
|
||||
clscnt += 1 if $1 == "class"
|
||||
is_const = false
|
||||
if /^\s*(module|class|def|include)\s+/.match(ln) || is_const = /^\s*?[A-Z]([A-z]|[1-9])*\s*?[|]{0,2}=\s*?.+\s*?/.match(ln)
|
||||
clscnt += 1 if /class|module/.match($1)
|
||||
# We must make sure to load each constant only once to avoid errors
|
||||
if is_const
|
||||
ln.gsub!(/\s*?[|]{0,2}=\s*?/, '||=')
|
||||
end
|
||||
#dprint "\$1$1
|
||||
classdef += "%s\n" % ln
|
||||
classdef += "end\n" if /def\s+/.match(ln)
|
||||
@ -423,7 +440,6 @@ class VimRubyCompletion
|
||||
return get_buffer_entity_list( "class" )
|
||||
end
|
||||
|
||||
|
||||
def load_rails
|
||||
allow_rails = VIM::evaluate("exists('g:rubycomplete_rails') && g:rubycomplete_rails")
|
||||
return if allow_rails.to_i.zero?
|
||||
@ -529,7 +545,6 @@ class VimRubyCompletion
|
||||
ret += ActiveRecord::ConnectionAdapters::SchemaStatements.methods
|
||||
end
|
||||
|
||||
|
||||
return ret
|
||||
end
|
||||
|
||||
@ -587,11 +602,13 @@ class VimRubyCompletion
|
||||
# {{{ main completion code
|
||||
def self.preload_rails
|
||||
a = VimRubyCompletion.new
|
||||
require 'Thread'
|
||||
Thread.new(a) do |b|
|
||||
begin
|
||||
b.load_rails
|
||||
rescue
|
||||
if VIM::evaluate("has('nvim')") == 0
|
||||
require 'thread'
|
||||
Thread.new(a) do |b|
|
||||
begin
|
||||
b.load_rails
|
||||
rescue
|
||||
end
|
||||
end
|
||||
end
|
||||
a.load_rails
|
||||
@ -612,7 +629,6 @@ class VimRubyCompletion
|
||||
|
||||
want_gems = VIM::evaluate("get(g:, 'rubycomplete_load_gemfile')")
|
||||
load_gems unless want_gems.to_i.zero?
|
||||
|
||||
|
||||
input = VIM::Buffer.current.line
|
||||
cpos = VIM::Window.current.cursor[1] - 1
|
||||
@ -666,6 +682,7 @@ class VimRubyCompletion
|
||||
message = Regexp.quote($4)
|
||||
dprint "const or cls 2 [recv: \'%s\', msg: \'%s\']" % [ receiver, message ]
|
||||
load_buffer_class( receiver )
|
||||
load_buffer_module( receiver )
|
||||
begin
|
||||
classes = eval("#{receiver}.constants")
|
||||
#methods = eval("#{receiver}.methods")
|
||||
@ -786,7 +803,6 @@ class VimRubyCompletion
|
||||
methods += Kernel.public_methods
|
||||
end
|
||||
|
||||
|
||||
include_object = VIM::evaluate("exists('g:rubycomplete_include_object') && g:rubycomplete_include_object")
|
||||
methods = clean_sel( methods, message )
|
||||
methods = (methods-Object.instance_methods) if include_object == "0"
|
||||
@ -829,5 +845,4 @@ let s:rubycomplete_rails_loaded = 0
|
||||
call s:DefRuby()
|
||||
"}}} ruby-side code
|
||||
|
||||
|
||||
" vim:tw=78:sw=4:ts=8:et:fdm=marker:ft=vim:norl:
|
||||
|
@ -3,6 +3,7 @@
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2018 Jan 25
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@ -28,8 +29,8 @@ CompilerSet errorformat=
|
||||
\%W%f:%l:\ warning:\ %m,
|
||||
\%E%f:%l:in\ %*[^:]:\ %m,
|
||||
\%E%f:%l:\ %m,
|
||||
\%-C%\tfrom\ %f:%l:in\ %.%#,
|
||||
\%-Z%\tfrom\ %f:%l,
|
||||
\%-C%\t%\\d%#:%#\ %#from\ %f:%l:in\ %.%#,
|
||||
\%-Z%\t%\\d%#:%#\ %#from\ %f:%l,
|
||||
\%-Z%p^,
|
||||
\%-G%.%#
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2018 Mar 02
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@ -20,12 +21,12 @@ CompilerSet makeprg=rake
|
||||
|
||||
CompilerSet errorformat=
|
||||
\%D(in\ %f),
|
||||
\%\\s%#from\ %f:%l:%m,
|
||||
\%\\s%#from\ %f:%l:,
|
||||
\%\\s%##\ %f:%l:%m,
|
||||
\%\\s%##\ %f:%l,
|
||||
\%\\s%#[%f:%l:\ %#%m,
|
||||
\%\\s%#%f:%l:\ %#%m,
|
||||
\%\\s%#%\\d%#:%#\ %#from\ %f:%l:%m,
|
||||
\%\\s%#%\\d%#:%#\ %#from\ %f:%l:,
|
||||
\%\\s%##\ %f:%l:%m%\\&%.%#%\\D:%\\d%\\+:%.%#,
|
||||
\%\\s%##\ %f:%l%\\&%.%#%\\D:%\\d%\\+,
|
||||
\%\\s%#[%f:%l:\ %#%m%\\&%.%#%\\D:%\\d%\\+:%.%#,
|
||||
\%\\s%#%f:%l:\ %#%m%\\&%.%#%\\D:%\\d%\\+:%.%#,
|
||||
\%\\s%#%f:%l:,
|
||||
\%m\ [%f:%l]:,
|
||||
\%+Erake\ aborted!,
|
||||
|
@ -3,6 +3,7 @@
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2018 Aug 07
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@ -23,7 +24,8 @@ CompilerSet errorformat=
|
||||
\%E%.%#:in\ `load':\ %f:%l:%m,
|
||||
\%E%f:%l:in\ `%*[^']':\ %m,
|
||||
\%-Z\ \ \ \ \ %\\+\#\ %f:%l:%.%#,
|
||||
\%E\ \ %\\d%\\+)%.%#,
|
||||
\%E\ \ \ \ \ Failure/Error:\ %m,
|
||||
\%E\ \ \ \ \ Failure/Error:,
|
||||
\%C\ \ \ \ \ %m,
|
||||
\%C%\\s%#,
|
||||
\%-G%.%#
|
||||
|
@ -4,7 +4,7 @@
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" ----------------------------------------------------------------------------
|
||||
" Last Change: 2019 Jan 06
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
@ -21,21 +21,21 @@ set cpo-=C
|
||||
" default settings runs script normally
|
||||
" add '-c' switch to run syntax check only:
|
||||
"
|
||||
" CompilerSet makeprg=ruby\ -wc\ $*
|
||||
" CompilerSet makeprg=ruby\ -c
|
||||
"
|
||||
" or add '-c' at :make command line:
|
||||
"
|
||||
" :make -c %<CR>
|
||||
"
|
||||
CompilerSet makeprg=ruby\ -w\ $*
|
||||
CompilerSet makeprg=ruby
|
||||
|
||||
CompilerSet errorformat=
|
||||
\%+E%f:%l:\ parse\ error,
|
||||
\%W%f:%l:\ warning:\ %m,
|
||||
\%E%f:%l:in\ %*[^:]:\ %m,
|
||||
\%E%f:%l:\ %m,
|
||||
\%-C%\tfrom\ %f:%l:in\ %.%#,
|
||||
\%-Z%\tfrom\ %f:%l,
|
||||
\%-C%\t%\\d%#:%#\ %#from\ %f:%l:in\ %.%#,
|
||||
\%-Z%\t%\\d%#:%#\ %#from\ %f:%l,
|
||||
\%-Z%p^,
|
||||
\%-G%.%#
|
||||
|
||||
|
@ -3,6 +3,7 @@
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2014 Mar 23
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
|
@ -1,4 +1,4 @@
|
||||
*autocmd.txt* For Vim version 8.1. Last change: 2018 May 03
|
||||
*autocmd.txt* For Vim version 8.1. Last change: 2019 Jan 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -759,13 +759,14 @@ FilterReadPre Before reading a file from a filter command.
|
||||
Not triggered when 'shelltemp' is off.
|
||||
*FilterWritePost*
|
||||
FilterWritePost After writing a file for a filter command or
|
||||
making a diff.
|
||||
making a diff with an external diff (see
|
||||
DiffUpdated for internal diff).
|
||||
Vim checks the pattern against the name of
|
||||
the current buffer as with FilterWritePre.
|
||||
Not triggered when 'shelltemp' is off.
|
||||
*FilterWritePre*
|
||||
FilterWritePre Before writing a file for a filter command or
|
||||
making a diff.
|
||||
making a diff with an external diff.
|
||||
Vim checks the pattern against the name of
|
||||
the current buffer, not the name of the
|
||||
temporary file that is the output of the
|
||||
@ -924,6 +925,12 @@ ShellFilterPost After executing a shell command with
|
||||
*SourcePre*
|
||||
SourcePre Before sourcing a Vim script. |:source|
|
||||
<afile> is the name of the file being sourced.
|
||||
*SourcePost*
|
||||
SourcePost After sourcing a Vim script. |:source|
|
||||
<afile> is the name of the file being sourced.
|
||||
Not triggered when sourcing was interrupted.
|
||||
Also triggered after a SourceCmd autocommand
|
||||
was triggered.
|
||||
*SourceCmd*
|
||||
SourceCmd When sourcing a Vim script. |:source|
|
||||
<afile> is the name of the file being sourced.
|
||||
@ -1010,8 +1017,10 @@ TermResponse After the response to |t_RV| is received from
|
||||
anything else that takes time is involved.
|
||||
*TextChanged*
|
||||
TextChanged After a change was made to the text in the
|
||||
current buffer in Normal mode. That is when
|
||||
|b:changedtick| has changed.
|
||||
current buffer in Normal mode. That is after
|
||||
|b:changedtick| has changed (also when that
|
||||
happened before the TextChanged autocommand
|
||||
was defined).
|
||||
Not triggered when there is typeahead or when
|
||||
an operator is pending.
|
||||
Careful: This is triggered very often, don't
|
||||
|
@ -1720,6 +1720,17 @@ j Where it makes sense, remove a comment leader when joining lines. For
|
||||
// in the list ~
|
||||
Becomes:
|
||||
int i; // the index in the list ~
|
||||
p Don't break lines at single spaces that follow periods. This is
|
||||
intended to complement 'joinspaces' and |cpo-J|, for prose with
|
||||
sentences separated by two spaces. For example, with 'textwidth' set
|
||||
to 28: >
|
||||
Surely you're joking, Mr. Feynman!
|
||||
< Becomes: >
|
||||
Surely you're joking,
|
||||
Mr. Feynman!
|
||||
< Instead of: >
|
||||
Surely you're joking, Mr.
|
||||
Feynman!
|
||||
|
||||
|
||||
With 't' and 'c' you can specify when Vim performs auto-wrapping:
|
||||
|
@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 8.1. Last change: 2018 Mar 06
|
||||
*gui.txt* For Vim version 8.1. Last change: 2019 Jan 06
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -914,7 +914,9 @@ may be used to complete the name of the menu item for the appropriate mode.
|
||||
To remove all menus use: *:unmenu-all* >
|
||||
:unmenu * " remove all menus in Normal and visual mode
|
||||
:unmenu! * " remove all menus in Insert and Command-line mode
|
||||
:aunmenu * " remove all menus in all modes
|
||||
:aunmenu * " remove all menus in all modes, except for Terminal
|
||||
" mode
|
||||
:tlunmenu * " remove all menus in Terminal mode
|
||||
|
||||
If you want to get rid of the menu bar: >
|
||||
:set guioptions-=m
|
||||
|
@ -1,4 +1,4 @@
|
||||
*help.txt* For Vim version 8.1. Last change: 2018 Dec 14
|
||||
*help.txt* For Vim version 8.1. Last change: 2019 Jan 17
|
||||
|
||||
VIM - main help file
|
||||
k
|
||||
@ -10,7 +10,7 @@ Close this window: Use ":q<Enter>".
|
||||
Jump to a subject: Position the cursor on a tag (e.g. |bars|) and hit CTRL-].
|
||||
With the mouse: ":set mouse=a" to enable the mouse (in xterm or GUI).
|
||||
Double-click the left mouse button on a tag, e.g. |bars|.
|
||||
Jump back: Type CTRL-T or CTRL-O. Repeat to go further back.
|
||||
Jump back: Type CTRL-O. Repeat to go further back.
|
||||
|
||||
Get specific help: It is possible to go directly to whatever you want help
|
||||
on, by giving an argument to the |:help| command.
|
||||
@ -31,13 +31,17 @@ Get specific help: It is possible to go directly to whatever you want help
|
||||
help entries for "word".
|
||||
Or use ":helpgrep word". |:helpgrep|
|
||||
|
||||
Getting started: Do the Vim tutor, a 20 minute interactive training for the
|
||||
basic commands, see |vimtutor|.
|
||||
Read the user manual from start to end: |usr_01.txt|
|
||||
|
||||
Vim stands for Vi IMproved. Most of Vim was made by Bram Moolenaar, but only
|
||||
through the help of many others. See |credits|.
|
||||
------------------------------------------------------------------------------
|
||||
*doc-file-list* *Q_ct*
|
||||
BASIC:
|
||||
|quickref| Overview of the most common commands you will use
|
||||
|tutor| 30 minutes training course for beginners
|
||||
|tutor| 20 minutes training course for beginners
|
||||
|copying| About copyrights
|
||||
|iccf| Helping poor children in Uganda
|
||||
|sponsor| Sponsor Vim development, become a registered Vim user
|
||||
@ -176,7 +180,6 @@ Interfaces ~
|
||||
|if_ole.txt| OLE automation interface for Win32
|
||||
|if_ruby.txt| Ruby interface
|
||||
|debugger.txt| Interface with a debugger
|
||||
|workshop.txt| Sun Visual Workshop interface
|
||||
|netbeans.txt| NetBeans External Editor interface
|
||||
|sign.txt| debugging signs
|
||||
|
||||
|
@ -191,6 +191,9 @@ VIM::Eval({expr}) Evaluates {expr} and returns (success, value) in list
|
||||
A |List| is turned into a string by joining the items
|
||||
and inserting line breaks.
|
||||
|
||||
*perl-Blob*
|
||||
VIM::Blob({expr}) Return Blob literal string 0zXXXX from scalar value.
|
||||
|
||||
*perl-SetHeight*
|
||||
Window->SetHeight({height})
|
||||
Sets the Window height to {height}, within screen
|
||||
|
@ -110,6 +110,10 @@ Module Functions:
|
||||
Vim::message({msg})
|
||||
Displays the message {msg}.
|
||||
|
||||
*ruby-blob*
|
||||
Vim::blob({arg})
|
||||
Return Blob literal string from {arg}.
|
||||
|
||||
*ruby-set_option*
|
||||
Vim::set_option({arg})
|
||||
Sets a vim option. {arg} can be any argument that the ":set" command
|
||||
|
@ -1,4 +1,4 @@
|
||||
*index.txt* For Vim version 8.1. Last change: 2018 Apr 19
|
||||
*index.txt* For Vim version 8.1. Last change: 2019 Jan 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1457,8 +1457,9 @@ tag command action ~
|
||||
|:recover| :rec[over] recover a file from a swap file
|
||||
|:redo| :red[o] redo one undone change
|
||||
|:redir| :redi[r] redirect messages to a file or register
|
||||
|:redraw| :redr[aw] force a redraw of the display
|
||||
|:redrawstatus| :redraws[tatus] force a redraw of the status line(s)
|
||||
|:redraw| :redr[aw] force a redraw of the display
|
||||
|:redrawstatus| :redraws[tatus] force a redraw of the status line(s)
|
||||
|:redrawtabline| :redrawt[abline] force a redraw of the tabline
|
||||
|:registers| :reg[isters] display the contents of registers
|
||||
|:resize| :res[ize] change current window height
|
||||
|:retab| :ret[ab] change tab size
|
||||
@ -1643,7 +1644,6 @@ tag command action ~
|
||||
argument list
|
||||
|:wq| :wq write to a file and quit window or Vim
|
||||
|:wqall| :wqa[ll] write all changed buffers and quit Vim
|
||||
|:wsverb| :ws[verb] pass the verb to workshop over IPC
|
||||
|:wundo| :wu[ndo] write undo information to a file
|
||||
|:wviminfo| :wv[iminfo] write to viminfo file
|
||||
|:xit| :x[it] write if buffer changed and quit window or Vim
|
||||
|
@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 8.1. Last change: 2018 Feb 10
|
||||
*insert.txt* For Vim version 8.1. Last change: 2019 Jan 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -1076,6 +1076,10 @@ that contains the List. The Dict can have these items:
|
||||
The only value currently recognized is "always", the
|
||||
effect is that the function is called whenever the
|
||||
leading text is changed.
|
||||
|
||||
If you want to suppress the warning message for an empty result, return
|
||||
v:none. This is useful to implement asynchronous completion with complete().
|
||||
|
||||
Other items are ignored.
|
||||
|
||||
For acting upon end of completion, see the |CompleteDone| autocommand event.
|
||||
|
@ -1,4 +1,4 @@
|
||||
*intro.txt* For Vim version 8.1. Last change: 2018 Jan 24
|
||||
*intro.txt* For Vim version 8.1. Last change: 2019 Jan 07
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -52,29 +52,11 @@ an introduction to the use of Vi or Vim, it gets a bit complicated here and
|
||||
there. For beginners, there is a hands-on |tutor|. To learn using Vim, read
|
||||
the user manual |usr_toc.txt|.
|
||||
|
||||
*book*
|
||||
There are many books on Vi that contain a section for beginners. There are
|
||||
two books I can recommend:
|
||||
|
||||
"Vim - Vi Improved" by Steve Oualline
|
||||
|
||||
This is the very first book completely dedicated to Vim. It is very good for
|
||||
beginners. The most often used commands are explained with pictures and
|
||||
examples. The less often used commands are also explained, the more advanced
|
||||
features are summarized. There is a comprehensive index and a quick
|
||||
reference. Parts of this book have been included in the user manual
|
||||
|frombook|.
|
||||
Published by New Riders Publishing. ISBN: 0735710015
|
||||
For more information try one of these:
|
||||
http://iccf-holland.org/click5.html
|
||||
http://www.vim.org/iccf/click5.html
|
||||
|
||||
"Learning the Vi editor" by Linda Lamb and Arnold Robbins
|
||||
|
||||
This is a book about Vi that includes a chapter on Vim (in the sixth edition).
|
||||
The first steps in Vi are explained very well. The commands that Vim adds are
|
||||
only briefly mentioned. There is also a German translation.
|
||||
Published by O'Reilly. ISBN: 1-56592-426-6.
|
||||
*book* *books*
|
||||
Most books on Vi and Vim contain a section for beginners. Others are spending
|
||||
more words on specific functionality. You can find an overview of Vim books
|
||||
here:
|
||||
http://iccf-holland.org/vim_books.html
|
||||
|
||||
==============================================================================
|
||||
2. Vim on the internet *internet*
|
||||
@ -84,9 +66,9 @@ The Vim pages contain the most recent information about Vim. They also
|
||||
contain links to the most recent version of Vim. The FAQ is a list of
|
||||
Frequently Asked Questions. Read this if you have problems.
|
||||
|
||||
Vim home page: http://www.vim.org/
|
||||
Vim FAQ: http://vimdoc.sf.net/
|
||||
Downloading: ftp://ftp.vim.org/pub/vim/MIRRORS
|
||||
Vim home page: https://www.vim.org/
|
||||
Vim FAQ: https://vimhelp.appspot.com/vim_faq.txt.html
|
||||
Downloading: https://www.vim.org/download.php
|
||||
|
||||
|
||||
Usenet News group where Vim is discussed: *news* *usenet*
|
||||
@ -114,10 +96,12 @@ There are several mailing lists for Vim:
|
||||
See http://www.vim.org/maillist.php for the latest information.
|
||||
|
||||
NOTE:
|
||||
- Anyone can see the archive, e.g. on Google groups. Search this if you have
|
||||
questions.
|
||||
- You can only send messages to these lists if you have subscribed!
|
||||
- The first message is moderated, thus it may take a few hours to show up.
|
||||
- You need to send the messages from the same location as where you subscribed
|
||||
from (to avoid spam mail).
|
||||
- Maximum message size is 40000 characters.
|
||||
|
||||
*subscribe-maillist*
|
||||
If you want to join, send a message to
|
||||
@ -150,7 +134,10 @@ Preferably start Vim with: >
|
||||
Where reproduce.vim is a script that reproduces the problem. Try different
|
||||
machines, if relevant (is this an MS-Windows specific bug perhaps?).
|
||||
|
||||
Send me patches if you can!
|
||||
Send me patches if you can! If you create a pull request on
|
||||
https://github.com/vim/vim then the automated checks will run and report any
|
||||
obvious problems. But you can also send the patch by email (use an attachment
|
||||
to avoid white space changes).
|
||||
|
||||
It will help to include information about the version of Vim you are using and
|
||||
your setup. You can get the information with this command: >
|
||||
@ -189,7 +176,7 @@ introduce Y2K problems, but those are not really part of Vim itself.
|
||||
==============================================================================
|
||||
3. Credits *credits* *author* *Bram* *Moolenaar*
|
||||
|
||||
Most of Vim was written by Bram Moolenaar <Bram@vim.org>.
|
||||
Most of Vim was created by Bram Moolenaar <Bram@vim.org>.
|
||||
|
||||
Parts of the documentation come from several Vi manuals, written by:
|
||||
W.N. Joy
|
||||
@ -268,6 +255,7 @@ Vim would never have become what it is now, without the help of these people!
|
||||
Ken Takata fixes and features
|
||||
Kazunobu Kuriyama GTK 3
|
||||
Christian Brabandt many fixes, features, user support, etc.
|
||||
Yegappan Lakshmanan many quickfix features
|
||||
|
||||
I wish to thank all the people that sent me bug reports and suggestions. The
|
||||
list is too long to mention them all here. Vim would not be the same without
|
||||
@ -280,9 +268,9 @@ In this documentation there are several references to other versions of Vi:
|
||||
Vi "the original". Without further remarks this is the version
|
||||
of Vi that appeared in Sun OS 4.x. ":version" returns
|
||||
"Version 3.7, 6/7/85". Sometimes other versions are referred
|
||||
to. Only runs under Unix. Source code only available with a
|
||||
license. More information on Vi can be found through:
|
||||
http://vi-editor.org [doesn't currently work...]
|
||||
to. Only runs under Unix. Source code is now available under a
|
||||
BSD-style license. More information on Vi can be found through:
|
||||
http://ex-vi.sourceforge.net/
|
||||
*Posix*
|
||||
Posix From the IEEE standard 1003.2, Part 2: Shell and utilities.
|
||||
Generally known as "Posix". This is a textual description of
|
||||
@ -297,9 +285,14 @@ Nvi The "New" Vi. The version of Vi that comes with BSD 4.4 and FreeBSD.
|
||||
Source code is freely available.
|
||||
*Elvis*
|
||||
Elvis Another Vi clone, made by Steve Kirkendall. Very compact but isn't
|
||||
as flexible as Vim.
|
||||
The version used is 2.1. It is still being developed. Source code is
|
||||
freely available.
|
||||
as flexible as Vim. Development has stalled, Elvis has left the
|
||||
building! Source code is freely available.
|
||||
*Neovim*
|
||||
Neovim A Vim clone. Forked the Vim source in 2014 and went a different way.
|
||||
Very much bound to github and has many more dependencies, making
|
||||
development more complex and limiting portability. Code has been
|
||||
refactored, resulting in patches not being exchangeable with Vim.
|
||||
Supports a remote GUI and integration with scripting languages.
|
||||
|
||||
==============================================================================
|
||||
4. Notation *notation*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 8.1. Last change: 2018 Feb 04
|
||||
*message.txt* For Vim version 8.1. Last change: 2018 Dec 30
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -557,14 +557,6 @@ This message is only given when Vim detects a problem when searching for a
|
||||
tag. Sometimes this message is not given, even though the tags file is not
|
||||
properly sorted.
|
||||
|
||||
*E460* >
|
||||
The resource fork would be lost (add ! to override)
|
||||
|
||||
On the Macintosh (classic), when writing a file, Vim attempts to preserve all
|
||||
info about a file, including its resource fork. If this is not possible you
|
||||
get this error message. Append "!" to the command name to write anyway (and
|
||||
lose the info).
|
||||
|
||||
*E424* >
|
||||
Too many different highlighting attributes in use
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 8.1. Last change: 2017 Oct 15
|
||||
*motion.txt* For Vim version 8.1. Last change: 2018 Dec 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -113,7 +113,7 @@ This cannot be repeated: >
|
||||
endif<CR>
|
||||
Note that when using ":" any motion becomes characterwise exclusive.
|
||||
|
||||
|
||||
*forced-motion*
|
||||
FORCING A MOTION TO BE LINEWISE, CHARACTERWISE OR BLOCKWISE
|
||||
|
||||
When a motion is not of the type you would like to use, you can force another
|
||||
|
@ -1,10 +1,10 @@
|
||||
*netbeans.txt* For Vim version 8.1. Last change: 2016 Jul 15
|
||||
*netbeans.txt* For Vim version 8.1. Last change: 2019 Jan 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
|
||||
|
||||
*netbeans* *netbeans-support*
|
||||
*netbeans* *NetBeans* *netbeans-support*
|
||||
|
||||
Vim NetBeans Protocol: a socket interface for Vim integration into an IDE.
|
||||
|
||||
@ -123,8 +123,18 @@ Currently the NetBeans interface is supported by Vim running in a terminal and
|
||||
by gvim when it is run with one of the following GUIs: GTK, GNOME, Windows,
|
||||
Athena and Motif.
|
||||
|
||||
If Motif support is required the user must supply XPM libraries. See
|
||||
|workshop-xpm| for details on obtaining the latest version of XPM.
|
||||
*netbeans-xpm*
|
||||
If Motif support is required the user must supply XPM libraries.
|
||||
The XPM library is required to show images within Vim with Motif or Athena.
|
||||
Without it the toolbar and signs will be disabled.
|
||||
|
||||
The XPM library is provided by Arnaud Le Hors of the French National Institute
|
||||
for Research in Computer Science and Control. It can be downloaded from
|
||||
http://cgit.freedesktop.org/xorg/lib/libXpm. The current release, as of this
|
||||
writing, is xpm-3.4k-solaris.tgz, which is a gzip'ed tar file. If you create
|
||||
the directory /usr/local/xpm and untar the file there you can use the
|
||||
uncommented lines in the Makefile without changing them. If you use another
|
||||
xpm directory you will need to change the XPM_DIR in src/Makefile.
|
||||
|
||||
|
||||
On MS-Windows:
|
||||
|
@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.1. Last change: 2018 Dec 18
|
||||
*options.txt* For Vim version 8.1. Last change: 2019 Jan 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -2273,7 +2273,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
deleted only once. Also when repeating "R" with "."
|
||||
and a count.
|
||||
*cpo-y*
|
||||
y A yank command can be redone with ".".
|
||||
y A yank command can be redone with ".". Think twice if
|
||||
you really want to use this, it may break some
|
||||
plugins, since most people expect "." to only repeat a
|
||||
change.
|
||||
*cpo-Z*
|
||||
Z When using "w!" while the 'readonly' option is set,
|
||||
don't reset 'readonly'.
|
||||
@ -4137,7 +4140,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
W:WildMenu,f:Folded,F:FoldColumn,
|
||||
A:DiffAdd,C:DiffChange,D:DiffDelete,
|
||||
T:DiffText,>:SignColumn,-:Conceal,
|
||||
B:SpellBad,P:SpellCap,R:SpellRare,
|
||||
B:SpellBad,P:SpellCap,R:SpellRare,
|
||||
L:SpellLocal,+:Pmenu,=:PmenuSel,
|
||||
x:PmenuSbar,X:PmenuThumb,*:TabLine,
|
||||
#:TabLineSel,_:TabLineFill,!:CursorColumn,
|
||||
@ -5063,11 +5066,26 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
omitted, there is no extra character at the end of the
|
||||
line.
|
||||
*lcs-tab*
|
||||
tab:xy Two characters to be used to show a tab. The first
|
||||
char is used once. The second char is repeated to
|
||||
fill the space that the tab normally occupies.
|
||||
"tab:>-" will show a tab that takes four spaces as
|
||||
">---". When omitted, a tab is show as ^I.
|
||||
tab:xy[z] Two or three characters to be used to show a tab.
|
||||
The third character is optional.
|
||||
|
||||
tab:xy The 'x' is always used, then 'y' as many times as will
|
||||
fit. Thus "tab:>-" displays:
|
||||
>
|
||||
>-
|
||||
>--
|
||||
etc.
|
||||
|
||||
tab:xyz The 'z' is always used, then 'x' is prepended, and
|
||||
then 'y' is used as many times as will fit. Thus
|
||||
"tab:<->" displays:
|
||||
>
|
||||
<>
|
||||
<->
|
||||
<-->
|
||||
etc.
|
||||
|
||||
When "tab:" is omitted, a tab is shown as ^I.
|
||||
*lcs-space*
|
||||
space:c Character to show for a space. When omitted, spaces
|
||||
are left blank.
|
||||
@ -7758,6 +7776,9 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
the text to be displayed. Use "%1T" for the first label, "%2T" for
|
||||
the second one, etc. Use "%X" items for closing labels.
|
||||
|
||||
When changing something that is used in 'tabline' that does not
|
||||
trigger it to be updated, use |:redrawtabline|.
|
||||
|
||||
Keep in mind that only one of the tab pages is the current one, others
|
||||
are invisible and you can't jump to their windows.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*os_vms.txt* For Vim version 8.1. Last change: 2018 May 06
|
||||
*os_vms.txt* For Vim version 8.1. Last change: 2019 Jan 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
@ -104,6 +104,8 @@ to set up GUI fonts etc. correctly. See :help xim from Vim command prompt.
|
||||
You may want to use GUI with GTK icons, then you have to download and install
|
||||
GTK for OpenVMS or at least runtime shareable images - LIBGTK from
|
||||
polarhome.com
|
||||
Post 7.2 Vim uses GTK2+ while the last GTK on OpenVMS is 1.2.10, thefore
|
||||
the GTK build is no longer available.
|
||||
|
||||
For more advanced questions, please send your problem to Vim on VMS mailing
|
||||
list <vim-vms@polarhome.com>
|
||||
@ -201,10 +203,10 @@ You can check that everything is at the right place with the :version command.
|
||||
|
||||
Example LOGIN.COM: >
|
||||
|
||||
$ define/nolog VIM RF10:[UTIL.VIM]
|
||||
$ define/nolog VIM DKA0:[UTIL.VIM81]
|
||||
$ vi*m :== mcr VIM:VIM.EXE
|
||||
$ gv*im:== spawn/nowait/input=NLA0 mcr VIM:VIM.EXE -g -GEOMETRY 80x40
|
||||
$ set disp/create/node=192.168.5.223/trans=tcpip
|
||||
$ set disp/create/node=192.168.10.202/trans=tcpip
|
||||
|
||||
Note: This set-up should be enough, if you are working on a standalone server or
|
||||
clustered environment, but if you want to use Vim as an internode editor in
|
||||
@ -764,6 +766,16 @@ GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
|
||||
|
||||
9. VMS related changes *vms-changes*
|
||||
|
||||
Version 8.1
|
||||
- make necessary changes to build v8.1 on VMS
|
||||
|
||||
Version 8.0
|
||||
- solve the 100% cpu usage issue while waiting for a keystroke
|
||||
- correct the VMS warnings and errors around handling the INFINITY (used in json.c)
|
||||
- minor VMS port related changes
|
||||
- correct the make_vms.mms file for 8.0
|
||||
- fix [.TESTDIR]make_vms.mms for 8.0
|
||||
|
||||
Version 7.4
|
||||
- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
|
||||
add _un_ at the beginning to keep the extension
|
||||
|
@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 8.1. Last change: 2018 Mar 13
|
||||
*pattern.txt* For Vim version 8.1. Last change: 2018 Dec 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -398,11 +398,11 @@ Use of "\m" makes the pattern after it be interpreted as if 'magic' is set,
|
||||
ignoring the actual value of the 'magic' option.
|
||||
Use of "\M" makes the pattern after it be interpreted as if 'nomagic' is used.
|
||||
*/\v* */\V*
|
||||
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 after it, all ASCII characters except '0'-'9', 'a'-'z',
|
||||
'A'-'Z' and '_' have special meaning: "very magic"
|
||||
|
||||
Use of "\V" means that in the pattern after it only the backslash and the
|
||||
terminating character (/ or ?) has a special meaning. "very nomagic"
|
||||
Use of "\V" means that after it, only a backslash and terminating character
|
||||
(usually / or ?) have special meaning: "very nomagic"
|
||||
|
||||
Examples:
|
||||
after: \v \m \M \V matches ~
|
||||
|
@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 8.1. Last change: 2018 May 01
|
||||
*quickfix.txt* For Vim version 8.1. Last change: 2019 Jan 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -56,6 +56,7 @@ A location list is a window-local quickfix list. You get one after commands
|
||||
like `:lvimgrep`, `:lgrep`, `:lhelpgrep`, `:lmake`, etc., which create a
|
||||
location list instead of a quickfix list as the corresponding `:vimgrep`,
|
||||
`:grep`, `:helpgrep`, `:make` do.
|
||||
*location-list-file-window*
|
||||
A location list is associated with a window and each window can have a
|
||||
separate location list. A location list can be associated with only one
|
||||
window. The location list is independent of the quickfix list.
|
||||
@ -110,14 +111,14 @@ processing a quickfix or location list command, it will be aborted.
|
||||
:[count]lne[xt][!] Same as ":cnext", except the location list for the
|
||||
current window is used instead of the quickfix list.
|
||||
|
||||
:[count]cN[ext][!] *:cp* *:cprevious* *:cN* *:cNext*
|
||||
:[count]cN[ext][!] *:cp* *:cprevious* *:cprev* *:cN* *:cNext*
|
||||
:[count]cp[revious][!] Display the [count] previous error in the list that
|
||||
includes a file name. If there are no file names at
|
||||
all, go to the [count] previous error. See |:cc| for
|
||||
[!] and 'switchbuf'.
|
||||
|
||||
|
||||
:[count]lN[ext][!] *:lp* *:lprevious* *:lN* *:lNext*
|
||||
:[count]lN[ext][!] *:lp* *:lprevious* *:lprev* *:lN* *:lNext*
|
||||
:[count]lp[revious][!] Same as ":cNext" and ":cprevious", except the location
|
||||
list for the current window is used instead of the
|
||||
quickfix list.
|
||||
@ -363,6 +364,23 @@ modify the title of a quickfix and location list respectively. Examples: >
|
||||
echo getqflist({'title' : 1})
|
||||
call setloclist(3, [], 'a', {'title' : 'Cmd output'})
|
||||
echo getloclist(3, {'title' : 1})
|
||||
<
|
||||
*quickfix-index*
|
||||
When you jump to a quickfix/location list entry using any of the quickfix
|
||||
commands (e.g. |:cc|, |:cnext|, |:cprev|, etc.), that entry becomes the
|
||||
currently selected entry. The index of the currently selected entry in a
|
||||
quickfix/location list can be obtained using the getqflist()/getloclist()
|
||||
functions. Examples: >
|
||||
echo getqflist({'idx' : 0}).idx
|
||||
echo getqflist({'id' : qfid, 'idx' : 0}).idx
|
||||
echo getloclist(2, {'idx' : 0}).idx
|
||||
<
|
||||
For a new quickfix list, the first entry is selected and the index is 1. Any
|
||||
entry in any quickfix/location list can be set as the currently selected entry
|
||||
using the setqflist() function. Examples: >
|
||||
call setqflist([], 'a', {'idx' : 12})
|
||||
call setqflist([], 'a', {'id' : qfid, 'idx' : 7})
|
||||
call setloclist(1, [], 'a', {'idx' : 7})
|
||||
<
|
||||
*quickfix-size*
|
||||
You can get the number of entries (size) in a quickfix and a location list
|
||||
@ -657,6 +675,9 @@ using these functions are below:
|
||||
|
||||
" get the location list window id of the third window
|
||||
:echo getloclist(3, {'winid' : 0}).winid
|
||||
|
||||
" get the file window id of a location list window (winnr: 4)
|
||||
:echo getloclist(4, {'filewinid' : 0}).filewinid
|
||||
<
|
||||
*setqflist-examples*
|
||||
The |setqflist()| and |setloclist()| functions can be used to set the various
|
||||
@ -671,6 +692,9 @@ using these functions are below:
|
||||
" set the title of the current quickfix list
|
||||
:call setqflist([], 'a', {'title' : 'Mytitle'})
|
||||
|
||||
" change the current entry in the list specified by an identifier
|
||||
:call setqflist([], 'a', {'id' : qfid, 'idx' : 10})
|
||||
|
||||
" set the context of a quickfix list specified by an identifier
|
||||
:call setqflist([], 'a', {'id' : qfid, 'context' : {'val' : 100}})
|
||||
|
||||
@ -1551,7 +1575,7 @@ The backslashes before the pipe character are required to avoid it to be
|
||||
recognized as a command separator. The backslash before each space is
|
||||
required for the set command.
|
||||
|
||||
*cfilter-plugin* *Cfilter* *Lfilter*
|
||||
*cfilter-plugin* *:Cfilter* *:Lfilter*
|
||||
If you have too many matching messages, you can use the cfilter plugin to
|
||||
reduce the number of entries. Load the plugin with: >
|
||||
packadd cfilter
|
||||
|
@ -1,4 +1,4 @@
|
||||
*sign.txt* For Vim version 8.1. Last change: 2018 Dec 21
|
||||
*sign.txt* For Vim version 8.1. Last change: 2019 Jan 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@ -31,7 +31,7 @@ terminal emulator.
|
||||
Signs and highlights are not useful just for debuggers. Sun's Visual
|
||||
WorkShop uses signs and highlights to mark build errors and SourceBrowser
|
||||
hits. Additionally, the debugger supports 8 to 10 different signs and
|
||||
highlight colors. |workshop| Same for Netbeans |netbeans|.
|
||||
highlight colors, see |NetBeans|.
|
||||
|
||||
There are two steps in using signs:
|
||||
|
||||
@ -43,6 +43,7 @@ There are two steps in using signs:
|
||||
displayed. A defined sign can be placed several times in different lines
|
||||
and files.
|
||||
|
||||
*sign-column*
|
||||
When signs are defined for a file, Vim will automatically add a column of two
|
||||
characters to display them in. When the last sign is unplaced the column
|
||||
disappears again. This behavior can be changed with the 'signcolumn' option.
|
||||
@ -52,13 +53,23 @@ Example to set the color: >
|
||||
|
||||
:highlight SignColumn guibg=darkgrey
|
||||
<
|
||||
*sign-identifier*
|
||||
Each placed sign is identified by a number called the sign identifier. This
|
||||
identifier is used to jump to the sign or to remove the sign. The identifier
|
||||
is assigned when placing the sign using the |:sign-place| command or the
|
||||
|sign_place()| function. Each sign identifier should be a unique number. If
|
||||
multiple placed signs use the same identifier, then jumping to or removing a
|
||||
sign becomes unpredictable. To avoid overlapping identifiers, sign groups can
|
||||
be used. The |sign_place()| function can be called with a zero sign identifier
|
||||
to allocate the next available identifier.
|
||||
|
||||
*sign-group*
|
||||
Each sign can be assigned to either the global group or a named group. When
|
||||
placing a sign, if a group name is not supplied, or an empty string is used,
|
||||
then the sign is placed in the global group. Otherwise the sign is placed in
|
||||
the named group. The sign identifier is unique within a group. The sign group
|
||||
allows Vim plugins to use unique signs without interfering with other plugins
|
||||
using signs.
|
||||
Each placed sign can be assigned to either the global group or a named group.
|
||||
When placing a sign, if a group name is not supplied, or an empty string is
|
||||
used, then the sign is placed in the global group. Otherwise the sign is
|
||||
placed in the named group. The sign identifier is unique within a group. The
|
||||
sign group allows Vim plugins to use unique signs without interfering with
|
||||
other plugins using signs.
|
||||
|
||||
*sign-priority*
|
||||
Each placed sign is assigned a priority value. When multiple signs are placed
|
||||
@ -66,6 +77,10 @@ on the same line, the attributes of the sign with the highest priority is used
|
||||
independent of the sign group. The default priority for a sign is 10. The
|
||||
priority is assigned at the time of placing a sign.
|
||||
|
||||
When the line on which the sign is placed is deleted, the sign is moved to the
|
||||
next line (or the last line of the buffer, if there is no next line). When
|
||||
the delete is undone the sign does not move back.
|
||||
|
||||
==============================================================================
|
||||
2. Commands *sign-commands* *:sig* *:sign*
|
||||
|
||||
@ -88,7 +103,7 @@ See |sign_define()| for the equivalent Vim script function.
|
||||
:sign define {name} {argument}...
|
||||
Define a new sign or set attributes for an existing sign.
|
||||
The {name} can either be a number (all digits) or a name
|
||||
starting with a non-digit. Leading digits are ignored, thus
|
||||
starting with a non-digit. Leading zeros are ignored, thus
|
||||
"0012", "012" and "12" are considered the same name.
|
||||
About 120 different signs can be defined.
|
||||
|
||||
@ -178,8 +193,9 @@ See |sign_place()| for the equivalent Vim script function.
|
||||
:sign place 9 group=g2 priority=50 line=5
|
||||
\ name=sign1 file=a.py
|
||||
<
|
||||
:sign place {id} line={lnum} name={name} buffer={nr}
|
||||
Same, but use buffer {nr}.
|
||||
:sign place {id} line={lnum} name={name} [buffer={nr}]
|
||||
Same, but use buffer {nr}. If the buffer argument is not
|
||||
given, place the sign in the current buffer.
|
||||
|
||||
*E885*
|
||||
:sign place {id} name={name} file={fname}
|
||||
@ -191,8 +207,9 @@ See |sign_place()| for the equivalent Vim script function.
|
||||
The optional "group={group}" attribute can be used before
|
||||
"file=" to select a sign in a particular group.
|
||||
|
||||
:sign place {id} name={name} buffer={nr}
|
||||
Same, but use buffer {nr}.
|
||||
:sign place {id} name={name} [buffer={nr}]
|
||||
Same, but use buffer {nr}. If the buffer argument is not
|
||||
given, use the current buffer.
|
||||
|
||||
|
||||
REMOVING SIGNS *:sign-unplace* *E159*
|
||||
@ -251,13 +268,24 @@ See |sign_unplace()| for the equivalent Vim script function.
|
||||
all the files it appears in.
|
||||
|
||||
:sign unplace *
|
||||
Remove all placed signs in the global group.
|
||||
Remove all placed signs in the global group from all the files.
|
||||
|
||||
:sign unplace * group={group}
|
||||
Remove all placed signs in group {group} from all the files.
|
||||
|
||||
:sign unplace * group=*
|
||||
Remove all placed signs in all the groups.
|
||||
Remove all placed signs in all the groups from all the files.
|
||||
|
||||
:sign unplace
|
||||
Remove the placed sign at the cursor position.
|
||||
Remove a placed sign at the cursor position. If multiple signs
|
||||
are placed in the line, then only one is removed.
|
||||
|
||||
:sign unplace group={group}
|
||||
Remove a placed sign in group {group} at the cursor
|
||||
position.
|
||||
|
||||
:sign unplace group=*
|
||||
Remove a placed sign in any group at the cursor position.
|
||||
|
||||
|
||||
LISTING PLACED SIGNS *:sign-place-list*
|
||||
@ -271,20 +299,31 @@ See |sign_getplaced()| for the equivalent Vim script function.
|
||||
:sign place group={group} file={fname}
|
||||
List signs in group {group} placed in file {fname}.
|
||||
|
||||
:sign place group=* file={fname}
|
||||
List signs in all the groups placed in file {fname}.
|
||||
|
||||
:sign place buffer={nr}
|
||||
List signs placed in buffer {nr}.
|
||||
|
||||
:sign place group={group} buffer={nr}
|
||||
List signs in group {group} placed in buffer {nr}.
|
||||
|
||||
:sign place List placed signs in all files.
|
||||
:sign place group=* buffer={nr}
|
||||
List signs in all the groups placed in buffer {nr}.
|
||||
|
||||
:sign place List placed signs in the global group in all files.
|
||||
|
||||
:sign place group={group}
|
||||
List placed signs in all sign groups in all the files.
|
||||
List placed signs with sign group {group} in all files.
|
||||
|
||||
:sign place group=*
|
||||
List placed signs in all sign groups in all files.
|
||||
|
||||
|
||||
JUMPING TO A SIGN *:sign-jump* *E157*
|
||||
|
||||
See |sign_jump()| for the equivalent Vim script function.
|
||||
|
||||
:sign jump {id} file={fname}
|
||||
Open the file {fname} or jump to the window that contains
|
||||
{fname} and position the cursor at sign {id}.
|
||||
@ -292,9 +331,16 @@ JUMPING TO A SIGN *:sign-jump* *E157*
|
||||
If the file isn't displayed in window and the current file can
|
||||
not be |abandon|ed this fails.
|
||||
|
||||
:sign jump {id} buffer={nr} *E934*
|
||||
:sign jump {id} group={group} file={fname}
|
||||
Same but jump to the sign in group {group}
|
||||
|
||||
:sign jump {id} [buffer={nr}] *E934*
|
||||
Same, but use buffer {nr}. This fails if buffer {nr} does not
|
||||
have a name.
|
||||
have a name. If the buffer argument is not given, use the
|
||||
current buffer.
|
||||
|
||||
:sign jump {id} group={group} [buffer={nr}]
|
||||
Same but jump to the sign in group {group}
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -1,4 +1,4 @@
|
||||
*spell.txt* For Vim version 8.1. Last change: 2018 Mar 29
|
||||
*spell.txt* For Vim version 8.1. Last change: 2019 Jan 09
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -577,7 +577,7 @@ When the Myspell files are updated you can merge the differences:
|
||||
vimdiff xx_YY.orig.dic xx_YY.new.dic
|
||||
3. Take over the changes you like in xx_YY.dic.
|
||||
You may also need to change xx_YY.aff.
|
||||
4. Rename xx_YY.new.dic to xx_YY.orig.dic and xx_YY.new.aff to xx_YY.new.aff.
|
||||
4. Rename xx_YY.new.dic to xx_YY.orig.dic and xx_YY.new.aff to xx_YY.orig.aff.
|
||||
|
||||
|
||||
SPELL FILE VERSIONS *E770* *E771* *E772*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 8.1. Last change: 2018 Dec 14
|
||||
*syntax.txt* For Vim version 8.1. Last change: 2018 Dec 27
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -29,7 +29,7 @@ In the User Manual:
|
||||
7. :syntax arguments |:syn-arguments|
|
||||
8. Syntax patterns |:syn-pattern|
|
||||
9. Syntax clusters |:syn-cluster|
|
||||
10. Including syntax files |:syn-include|
|
||||
10. Including syntax files |:syn-include|
|
||||
11. Synchronizing |:syn-sync|
|
||||
12. Listing syntax items |:syntax|
|
||||
13. Highlight command |:highlight|
|
||||
@ -2702,9 +2702,29 @@ later, and part earlier) adds.
|
||||
|
||||
RESTRUCTURED TEXT *rst.vim* *ft-rst-syntax*
|
||||
|
||||
You may set what syntax definitions should be used for code blocks via >
|
||||
Syntax highlighting is enabled for code blocks within the document for a
|
||||
select number of file types. See $VIMRUNTIME/syntax/rst.vim for the default
|
||||
syntax list.
|
||||
|
||||
To set a user-defined list of code block syntax highlighting: >
|
||||
let rst_syntax_code_list = ['vim', 'lisp', ...]
|
||||
<
|
||||
|
||||
To assign multiple code block types to a single syntax, define
|
||||
`rst_syntax_code_list` as a mapping: >
|
||||
let rst_syntax_code_list = {
|
||||
\ 'cpp' = ['cpp', 'c++'],
|
||||
\ 'bash' = ['bash', 'sh'],
|
||||
...
|
||||
}
|
||||
|
||||
To use color highlighting for emphasis text: >
|
||||
let rst_use_emphasis_colors = 1
|
||||
|
||||
To enable folding of sections: >
|
||||
let rst_fold_enabled = 1
|
||||
|
||||
Note that folding can cause performance issues on some platforms.
|
||||
|
||||
|
||||
REXX *rexx.vim* *ft-rexx-syntax*
|
||||
|
||||
|
@ -1949,6 +1949,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:AdaTypes ft_ada.txt /*:AdaTypes*
|
||||
:Arguments terminal.txt /*:Arguments*
|
||||
:Break terminal.txt /*:Break*
|
||||
:Cfilter quickfix.txt /*:Cfilter*
|
||||
:Clear terminal.txt /*:Clear*
|
||||
:CompilerSet usr_41.txt /*:CompilerSet*
|
||||
:Continue terminal.txt /*:Continue*
|
||||
@ -1968,6 +1969,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:LPE pi_logipat.txt /*:LPE*
|
||||
:LPF pi_logipat.txt /*:LPF*
|
||||
:Lexplore pi_netrw.txt /*:Lexplore*
|
||||
:Lfilter quickfix.txt /*:Lfilter*
|
||||
:LogiPat pi_logipat.txt /*:LogiPat*
|
||||
:Man filetype.txt /*:Man*
|
||||
:MkVimball pi_vimball.txt /*:MkVimball*
|
||||
@ -2236,6 +2238,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:cp quickfix.txt /*:cp*
|
||||
:cpf quickfix.txt /*:cpf*
|
||||
:cpfile quickfix.txt /*:cpfile*
|
||||
:cprev quickfix.txt /*:cprev*
|
||||
:cprevious quickfix.txt /*:cprevious*
|
||||
:cq quickfix.txt /*:cq*
|
||||
:cquit quickfix.txt /*:cquit*
|
||||
@ -2582,6 +2585,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:lp quickfix.txt /*:lp*
|
||||
:lpf quickfix.txt /*:lpf*
|
||||
:lpfile quickfix.txt /*:lpfile*
|
||||
:lprev quickfix.txt /*:lprev*
|
||||
:lprevious quickfix.txt /*:lprevious*
|
||||
:lr quickfix.txt /*:lr*
|
||||
:lrewind quickfix.txt /*:lrewind*
|
||||
@ -2836,6 +2840,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:redraw various.txt /*:redraw*
|
||||
:redraws various.txt /*:redraws*
|
||||
:redrawstatus various.txt /*:redrawstatus*
|
||||
:redrawt various.txt /*:redrawt*
|
||||
:redrawtabline various.txt /*:redrawtabline*
|
||||
:reg change.txt /*:reg*
|
||||
:registers change.txt /*:registers*
|
||||
:res windows.txt /*:res*
|
||||
@ -3313,8 +3319,6 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
:write_a editing.txt /*:write_a*
|
||||
:write_c editing.txt /*:write_c*
|
||||
:write_f editing.txt /*:write_f*
|
||||
:ws workshop.txt /*:ws*
|
||||
:wsverb workshop.txt /*:wsverb*
|
||||
:wundo undo.txt /*:wundo*
|
||||
:wv starting.txt /*:wv*
|
||||
:wviminfo starting.txt /*:wviminfo*
|
||||
@ -3574,6 +3578,9 @@ Athena gui_x11.txt /*Athena*
|
||||
B motion.txt /*B*
|
||||
BeBox os_beos.txt /*BeBox*
|
||||
BeOS os_beos.txt /*BeOS*
|
||||
Blob eval.txt /*Blob*
|
||||
Blobs eval.txt /*Blobs*
|
||||
Boolean eval.txt /*Boolean*
|
||||
Bram intro.txt /*Bram*
|
||||
BufAdd autocmd.txt /*BufAdd*
|
||||
BufCreate autocmd.txt /*BufCreate*
|
||||
@ -3717,7 +3724,6 @@ CTRL-\_CTRL-N intro.txt /*CTRL-\\_CTRL-N*
|
||||
CTRL-] tagsrch.txt /*CTRL-]*
|
||||
CTRL-^ editing.txt /*CTRL-^*
|
||||
CTRL-{char} intro.txt /*CTRL-{char}*
|
||||
Cfilter quickfix.txt /*Cfilter*
|
||||
Channel eval.txt /*Channel*
|
||||
Channels eval.txt /*Channels*
|
||||
Chinese mbyte.txt /*Chinese*
|
||||
@ -3747,6 +3753,7 @@ D change.txt /*D*
|
||||
DOS os_dos.txt /*DOS*
|
||||
DOS-format editing.txt /*DOS-format*
|
||||
DOS-format-write editing.txt /*DOS-format-write*
|
||||
Dict eval.txt /*Dict*
|
||||
Dictionaries eval.txt /*Dictionaries*
|
||||
Dictionary eval.txt /*Dictionary*
|
||||
Dictionary-function eval.txt /*Dictionary-function*
|
||||
@ -4127,7 +4134,6 @@ E457 print.txt /*E457*
|
||||
E458 message.txt /*E458*
|
||||
E459 message.txt /*E459*
|
||||
E46 message.txt /*E46*
|
||||
E460 message.txt /*E460*
|
||||
E461 eval.txt /*E461*
|
||||
E462 editing.txt /*E462*
|
||||
E463 netbeans.txt /*E463*
|
||||
@ -4665,6 +4671,14 @@ E969 eval.txt /*E969*
|
||||
E97 diff.txt /*E97*
|
||||
E970 eval.txt /*E970*
|
||||
E971 textprop.txt /*E971*
|
||||
E972 eval.txt /*E972*
|
||||
E973 eval.txt /*E973*
|
||||
E974 eval.txt /*E974*
|
||||
E975 eval.txt /*E975*
|
||||
E976 eval.txt /*E976*
|
||||
E977 eval.txt /*E977*
|
||||
E978 eval.txt /*E978*
|
||||
E979 eval.txt /*E979*
|
||||
E98 diff.txt /*E98*
|
||||
E99 diff.txt /*E99*
|
||||
EX intro.txt /*EX*
|
||||
@ -4738,7 +4752,6 @@ KVim gui_x11.txt /*KVim*
|
||||
Kibaale uganda.txt /*Kibaale*
|
||||
Korean mbyte.txt /*Korean*
|
||||
L motion.txt /*L*
|
||||
Lfilter quickfix.txt /*Lfilter*
|
||||
Linux-backspace options.txt /*Linux-backspace*
|
||||
List eval.txt /*List*
|
||||
Lists eval.txt /*Lists*
|
||||
@ -4770,8 +4783,11 @@ N: cmdline.txt /*N:*
|
||||
N<Del> various.txt /*N<Del>*
|
||||
NFA pattern.txt /*NFA*
|
||||
NL-used-for-Nul pattern.txt /*NL-used-for-Nul*
|
||||
Neovim intro.txt /*Neovim*
|
||||
NetBSD-backspace options.txt /*NetBSD-backspace*
|
||||
NetBeans netbeans.txt /*NetBeans*
|
||||
NetUserPass() pi_netrw.txt /*NetUserPass()*
|
||||
None eval.txt /*None*
|
||||
Normal intro.txt /*Normal*
|
||||
Normal-mode intro.txt /*Normal-mode*
|
||||
Number eval.txt /*Number*
|
||||
@ -4879,6 +4895,7 @@ SessionLoadPost autocmd.txt /*SessionLoadPost*
|
||||
ShellCmdPost autocmd.txt /*ShellCmdPost*
|
||||
ShellFilterPost autocmd.txt /*ShellFilterPost*
|
||||
SourceCmd autocmd.txt /*SourceCmd*
|
||||
SourcePost autocmd.txt /*SourcePost*
|
||||
SourcePre autocmd.txt /*SourcePre*
|
||||
Special eval.txt /*Special*
|
||||
SpellFileMissing autocmd.txt /*SpellFileMissing*
|
||||
@ -5281,6 +5298,11 @@ beval_winid-variable eval.txt /*beval_winid-variable*
|
||||
beval_winnr-variable eval.txt /*beval_winnr-variable*
|
||||
binary-number eval.txt /*binary-number*
|
||||
bitwise-function usr_41.txt /*bitwise-function*
|
||||
blob eval.txt /*blob*
|
||||
blob-identity eval.txt /*blob-identity*
|
||||
blob-index eval.txt /*blob-index*
|
||||
blob-literal eval.txt /*blob-literal*
|
||||
blob-modification eval.txt /*blob-modification*
|
||||
blockwise-examples visual.txt /*blockwise-examples*
|
||||
blockwise-operators visual.txt /*blockwise-operators*
|
||||
blockwise-register change.txt /*blockwise-register*
|
||||
@ -5291,6 +5313,7 @@ bold syntax.txt /*bold*
|
||||
bom-bytes mbyte.txt /*bom-bytes*
|
||||
book intro.txt /*book*
|
||||
bookmark usr_03.txt /*bookmark*
|
||||
books intro.txt /*books*
|
||||
boolean options.txt /*boolean*
|
||||
break-finally eval.txt /*break-finally*
|
||||
browse() eval.txt /*browse()*
|
||||
@ -5460,6 +5483,7 @@ ch_log() eval.txt /*ch_log()*
|
||||
ch_logfile() eval.txt /*ch_logfile()*
|
||||
ch_open() eval.txt /*ch_open()*
|
||||
ch_read() eval.txt /*ch_read()*
|
||||
ch_readblob() eval.txt /*ch_readblob()*
|
||||
ch_readraw() eval.txt /*ch_readraw()*
|
||||
ch_sendexpr() eval.txt /*ch_sendexpr()*
|
||||
ch_sendraw() eval.txt /*ch_sendraw()*
|
||||
@ -6192,6 +6216,7 @@ foldtext() eval.txt /*foldtext()*
|
||||
foldtextresult() eval.txt /*foldtextresult()*
|
||||
font-sizes gui_x11.txt /*font-sizes*
|
||||
fontset mbyte.txt /*fontset*
|
||||
forced-motion motion.txt /*forced-motion*
|
||||
foreground() eval.txt /*foreground()*
|
||||
fork os_unix.txt /*fork*
|
||||
form.vim syntax.txt /*form.vim*
|
||||
@ -7339,6 +7364,7 @@ locale mbyte.txt /*locale*
|
||||
locale-name mbyte.txt /*locale-name*
|
||||
localtime() eval.txt /*localtime()*
|
||||
location-list quickfix.txt /*location-list*
|
||||
location-list-file-window quickfix.txt /*location-list-file-window*
|
||||
location-list-window quickfix.txt /*location-list-window*
|
||||
log() eval.txt /*log()*
|
||||
log10() eval.txt /*log10()*
|
||||
@ -7584,6 +7610,7 @@ netbeans-protocol netbeans.txt /*netbeans-protocol*
|
||||
netbeans-run netbeans.txt /*netbeans-run*
|
||||
netbeans-setup netbeans.txt /*netbeans-setup*
|
||||
netbeans-support netbeans.txt /*netbeans-support*
|
||||
netbeans-xpm netbeans.txt /*netbeans-xpm*
|
||||
netbeans.txt netbeans.txt /*netbeans.txt*
|
||||
netreadfixup pi_netrw.txt /*netreadfixup*
|
||||
netrw pi_netrw.txt /*netrw*
|
||||
@ -8017,6 +8044,7 @@ peace intro.txt /*peace*
|
||||
penc-option print.txt /*penc-option*
|
||||
perl if_perl.txt /*perl*
|
||||
perl-Append if_perl.txt /*perl-Append*
|
||||
perl-Blob if_perl.txt /*perl-Blob*
|
||||
perl-Buffer if_perl.txt /*perl-Buffer*
|
||||
perl-Buffers if_perl.txt /*perl-Buffers*
|
||||
perl-Count if_perl.txt /*perl-Count*
|
||||
@ -8211,6 +8239,7 @@ quickfix-directory-stack quickfix.txt /*quickfix-directory-stack*
|
||||
quickfix-error-lists quickfix.txt /*quickfix-error-lists*
|
||||
quickfix-functions usr_41.txt /*quickfix-functions*
|
||||
quickfix-gcc quickfix.txt /*quickfix-gcc*
|
||||
quickfix-index quickfix.txt /*quickfix-index*
|
||||
quickfix-manx quickfix.txt /*quickfix-manx*
|
||||
quickfix-parse quickfix.txt /*quickfix-parse*
|
||||
quickfix-perl quickfix.txt /*quickfix-perl*
|
||||
@ -8330,6 +8359,7 @@ rrst.vim syntax.txt /*rrst.vim*
|
||||
rst.vim syntax.txt /*rst.vim*
|
||||
rsync pi_netrw.txt /*rsync*
|
||||
ruby if_ruby.txt /*ruby*
|
||||
ruby-blob if_ruby.txt /*ruby-blob*
|
||||
ruby-buffer if_ruby.txt /*ruby-buffer*
|
||||
ruby-command if_ruby.txt /*ruby-command*
|
||||
ruby-commands if_ruby.txt /*ruby-commands*
|
||||
@ -8480,10 +8510,22 @@ shift-left-right change.txt /*shift-left-right*
|
||||
shiftwidth() eval.txt /*shiftwidth()*
|
||||
short-name-changed version4.txt /*short-name-changed*
|
||||
showing-menus gui.txt /*showing-menus*
|
||||
sign-column sign.txt /*sign-column*
|
||||
sign-commands sign.txt /*sign-commands*
|
||||
sign-functions usr_41.txt /*sign-functions*
|
||||
sign-group sign.txt /*sign-group*
|
||||
sign-identifier sign.txt /*sign-identifier*
|
||||
sign-intro sign.txt /*sign-intro*
|
||||
sign-priority sign.txt /*sign-priority*
|
||||
sign-support sign.txt /*sign-support*
|
||||
sign.txt sign.txt /*sign.txt*
|
||||
sign_define() eval.txt /*sign_define()*
|
||||
sign_getdefined() eval.txt /*sign_getdefined()*
|
||||
sign_getplaced() eval.txt /*sign_getplaced()*
|
||||
sign_jump() eval.txt /*sign_jump()*
|
||||
sign_place() eval.txt /*sign_place()*
|
||||
sign_undefine() eval.txt /*sign_undefine()*
|
||||
sign_unplace() eval.txt /*sign_unplace()*
|
||||
signs sign.txt /*signs*
|
||||
simple-change change.txt /*simple-change*
|
||||
simplify() eval.txt /*simplify()*
|
||||
@ -8832,6 +8874,7 @@ t_ZH term.txt /*t_ZH*
|
||||
t_ZR term.txt /*t_ZR*
|
||||
t_al term.txt /*t_al*
|
||||
t_bc term.txt /*t_bc*
|
||||
t_blob-variable eval.txt /*t_blob-variable*
|
||||
t_bool-variable eval.txt /*t_bool-variable*
|
||||
t_cd term.txt /*t_cd*
|
||||
t_cdl version4.txt /*t_cdl*
|
||||
@ -9123,6 +9166,7 @@ test_autochdir() eval.txt /*test_autochdir()*
|
||||
test_feedinput() eval.txt /*test_feedinput()*
|
||||
test_garbagecollect_now() eval.txt /*test_garbagecollect_now()*
|
||||
test_ignore_error() eval.txt /*test_ignore_error()*
|
||||
test_null_blob() eval.txt /*test_null_blob()*
|
||||
test_null_channel() eval.txt /*test_null_channel()*
|
||||
test_null_dict() eval.txt /*test_null_dict()*
|
||||
test_null_job() eval.txt /*test_null_job()*
|
||||
@ -9155,6 +9199,7 @@ tex.vim syntax.txt /*tex.vim*
|
||||
text-functions usr_41.txt /*text-functions*
|
||||
text-objects motion.txt /*text-objects*
|
||||
text-objects-changed version5.txt /*text-objects-changed*
|
||||
text-prop-changes textprop.txt /*text-prop-changes*
|
||||
text-prop-functions textprop.txt /*text-prop-functions*
|
||||
text-prop-intro textprop.txt /*text-prop-intro*
|
||||
text-properties textprop.txt /*text-properties*
|
||||
@ -9345,6 +9390,7 @@ v:swapchoice eval.txt /*v:swapchoice*
|
||||
v:swapcommand eval.txt /*v:swapcommand*
|
||||
v:swapname eval.txt /*v:swapname*
|
||||
v:t_TYPE eval.txt /*v:t_TYPE*
|
||||
v:t_blob eval.txt /*v:t_blob*
|
||||
v:t_bool eval.txt /*v:t_bool*
|
||||
v:t_channel eval.txt /*v:t_channel*
|
||||
v:t_dict eval.txt /*v:t_dict*
|
||||
@ -9715,12 +9761,7 @@ word-motions motion.txt /*word-motions*
|
||||
wordcount() eval.txt /*wordcount()*
|
||||
workbench starting.txt /*workbench*
|
||||
workshop workshop.txt /*workshop*
|
||||
workshop-commands workshop.txt /*workshop-commands*
|
||||
workshop-compiling workshop.txt /*workshop-compiling*
|
||||
workshop-configure workshop.txt /*workshop-configure*
|
||||
workshop-intro workshop.txt /*workshop-intro*
|
||||
workshop-support workshop.txt /*workshop-support*
|
||||
workshop-xpm workshop.txt /*workshop-xpm*
|
||||
workshop.txt workshop.txt /*workshop.txt*
|
||||
wrap-off intro.txt /*wrap-off*
|
||||
write-compiler-plugin usr_41.txt /*write-compiler-plugin*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*textprop.txt* For Vim version 8.1. Last change: 2018 Dec 14
|
||||
*textprop.txt* For Vim version 8.1. Last change: 2019 Jan 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -17,6 +17,7 @@ What is not working yet:
|
||||
|
||||
1. Introduction |text-prop-intro|
|
||||
2. Functions |text-prop-functions|
|
||||
3. When text changes |text-prop-changes|
|
||||
|
||||
|
||||
{Vi does not have text properties}
|
||||
@ -70,11 +71,14 @@ Suppose line 11 in a buffer has this text (excluding the indent):
|
||||
|
||||
The number 123 is smaller than 4567.
|
||||
|
||||
To highlight the numbers: >
|
||||
To highlight the numbers in this text: >
|
||||
call prop_type_add('number', {'highlight': 'Constant'})
|
||||
call prop_add(11, 12, {'length': 3, 'type': 'number'})
|
||||
call prop_add(11, 32, {'length': 4, 'type': 'number'})
|
||||
|
||||
Try inserting or deleting lines above the text, you will see that the text
|
||||
properties stick to the text, thus the line number is adjusted as needed.
|
||||
|
||||
Setting "start_incl" and "end_incl" is useful when white space surrounds the
|
||||
text, e.g. for a function name. Using false is useful when the text starts
|
||||
and/or ends with a specific character, such as the quote surrounding a string.
|
||||
@ -103,12 +107,32 @@ prop_type_list([{props}]) get list of property types
|
||||
Manipulating text properties:
|
||||
|
||||
prop_add({lnum}, {col}, {props}) add a text property
|
||||
prop_clear({lnum} [, {lnum_end} [, {bufnr}]])
|
||||
prop_clear({lnum} [, {lnum-end} [, {bufnr}]])
|
||||
remove all text properties
|
||||
prop_find({props} [, {direction}]) search for a text property
|
||||
prop_list({lnum} [, {props}) text properties in {lnum}
|
||||
prop_remove({props} [, {lnum} [, {lnum_end}]])
|
||||
prop_remove({props} [, {lnum} [, {lnum-end}]])
|
||||
remove a text property
|
||||
|
||||
==============================================================================
|
||||
3. When text changes *text-prop-changes*
|
||||
|
||||
Vim will do its best to keep the text properties on the text where it was
|
||||
attached. When inserting or deleting text the properties after the change
|
||||
will move accordingly.
|
||||
|
||||
When text is deleted and a text property no longer includes any text, it is
|
||||
deleted. However, a text property that was defined as zero-width will remain,
|
||||
unless the whole line is deleted.
|
||||
|
||||
When using replace mode, the text properties stay on the same character
|
||||
positions, even though the characters themselves change.
|
||||
|
||||
|
||||
When text property columns are not updated ~
|
||||
|
||||
- When setting the line with |setline()| or through an interface, such as Lua,
|
||||
Tcl or Python.
|
||||
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.1. Last change: 2018 Dec 17
|
||||
*todo.txt* For Vim version 8.1. Last change: 2019 Jan 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -38,6 +38,14 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
Blob: the string form can't be parsed back. Use 0z00112233.44556677 ?
|
||||
|
||||
Make msg() and msg_attr() also use "char *" intead of "char_u *"?
|
||||
|
||||
Feature to possibly graduate: FEAT_MBYTE
|
||||
Integrate EBCDIC feature, use 'encoding' == "ebcdic" ?
|
||||
Or drop EBCDIC?
|
||||
|
||||
'incsearch' with :s: (#3321)
|
||||
- :s/foo using CTRL-G moves to another line, should not happen, or use the
|
||||
correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345)
|
||||
@ -69,8 +77,11 @@ Terminal debugger:
|
||||
with another Vim instance.
|
||||
|
||||
Terminal emulator window:
|
||||
- When Vim runs in the terminal and changes the title, the statusline needs to
|
||||
be redrawn.
|
||||
- GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
|
||||
(#3327)
|
||||
- Terminal API: Add more functionality? (Ozaki Kiichi 2018 May 13, #2907)
|
||||
- GUI: hang until key typed. (#3530)
|
||||
- When the job in the terminal doesn't use mouse events, let the scroll wheel
|
||||
scroll the scrollback, like a terminal does at the shell prompt. #2490
|
||||
@ -89,7 +100,6 @@ Terminal emulator window:
|
||||
- Win32: Redirecting output works but includes escape sequences.
|
||||
- Win32: Make terminal used for :!cmd in the GUI work better. Allow for
|
||||
redirection.
|
||||
- Terminal API: Add more functionality? (Ozaki Kiichi 2018 May 13, #2907)
|
||||
- When the job only outputs lines, we could handle resizing the terminal
|
||||
better: store lines separated by line breaks, instead of screen lines,
|
||||
then when the window is resized redraw those lines.
|
||||
@ -99,58 +109,56 @@ Terminal emulator window:
|
||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||
conversions.
|
||||
|
||||
":function" can now silently overwrite the function from the same script.
|
||||
Do the same for ":command" ?
|
||||
Patch with updates for VMS. (Zoltan Arpadffy, 2019 Jan 14)
|
||||
|
||||
Update for German spell files: https://github.com/chrisbra/vim/compare/5e021c990f8817a50d3264782a5...3b27c92f297540761ebbd92d04fb3
|
||||
(Christian Brabandt, 2018 Nov 4)
|
||||
|
||||
Problem with Visual yank when 'linebreak' and 'showbreak' are set.
|
||||
Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
|
||||
Nov 17)
|
||||
Nov 17) Asked about this, Dec 22. Christian will have a look.
|
||||
|
||||
Patch to deal with signs at the end of the buffer when lines are deleted.
|
||||
(Yegappan Lakshmanan, #3798)
|
||||
|
||||
Key mapping times out when using a timer in Gvim. (Michael Henry, 2018 Sep 9,
|
||||
#3417)
|
||||
Another report, with reproduction steps. (#3799)
|
||||
Is this fixed by 8.1.0761?
|
||||
|
||||
Does not build with MinGW out of the box:
|
||||
- _stat64 is not defined, need to use "struct stat" in vim.h
|
||||
- WINVER conflict, should use 0x0600 by default?
|
||||
|
||||
Patch to remove flicker from popup menu. (Yasuhiro Matsumoto, 2013 Aug 15)
|
||||
When redrawing for updating the popup menu, don't redraw the part when the new
|
||||
popup menu will be displayed?
|
||||
|
||||
js_decode() does not handle infinity properly. (Dominique Pelle, 2019 Jan 10,
|
||||
#3788)
|
||||
|
||||
Signs:
|
||||
- Patch to define and manipulate signs with functions. Adds sign groups and
|
||||
priority. (Yegappan Lakshmanan, #3652)
|
||||
- screen not redrawn correctly. (Dominique Pelle, 2019 Jan 14, #3803)
|
||||
- Use a sign group in the Termdebug plugin.
|
||||
- Avoid that "sign unplace id" does a redraw right away, esp. when there is
|
||||
a sequence of these commands. (Andy Stewart, 2018 Mar 16)
|
||||
- Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
|
||||
- Patch from Christian Brabandt to make the "buffer" argument for ":sign
|
||||
place" optional. (2013 Jul 12)
|
||||
|
||||
Rename get_tv_ functions to tv_get_.
|
||||
|
||||
Crash in terminal with long multi-byte sequence. (2018 Nov 17, #3619)
|
||||
Dominique cannot reproduce. Update Nov 18.
|
||||
Suggested solution by Yasuhiro Matsumoto, 2018 Nov 18.
|
||||
|
||||
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
|
||||
13, #2910) Can't reproduce?
|
||||
|
||||
Patch to simplify nsis installer. (Ken Takata, 2018 Sep 24, was #3479)
|
||||
Now included in #3501, using MUI2. Use the zip file to get the binary files:
|
||||
https://github.com/vim/vim/files/2475621/nsis-icons.zip
|
||||
Ready to include now.
|
||||
Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
|
||||
|
||||
Patch to add blob type support. (Yasuhiro Matsumoto, 2018 Nov 26, #3638)
|
||||
Not done yet.
|
||||
Patch to not call setActiveWindow. Yasuhiro Matsumoto, 2019 Jan 8, #3778)
|
||||
|
||||
Errors found with random data:
|
||||
heap-buffer-overflow in alist_add (#2472)
|
||||
|
||||
Patch for xxd to make it work with 64 bit numbers. (Christer Jense, 2019 Jan
|
||||
11, #3791)
|
||||
|
||||
Win32 key codes are messy. Mike Williams tried to fix that, but now old
|
||||
mappings no longer work. Create a new terminal for the better solution?
|
||||
|
||||
Patch to fix that appending makes items to be "recognized".
|
||||
(Yegappan, 2018 Nov 23, #3683). Reported by Daniel Hahler, #3633.
|
||||
|
||||
Improve fallback for menu translations, to avoid having to create lots of
|
||||
files that source the actual file. E.g. menu_da_de -> menu_da
|
||||
Include part of #3242?
|
||||
@ -158,10 +166,6 @@ Include part of #3242?
|
||||
When a terminal exit_cb closes the window, a following typed key is lost, if
|
||||
it's in a mapping. (2018 Oct 6, #2302, #3522)
|
||||
|
||||
Patch to add FOR_ALL_FRAMES. (Yegappan, 2018 Nov 18)
|
||||
|
||||
Patch to resize to fit parent position when using ---windowid. ( Agorgianitis
|
||||
Loukas, 2018 Nov 17, #3616)
|
||||
Completion mixes results from the current buffer with tags and other files.
|
||||
Happens when typing CTRL-N while still search for results. E.g., type "b_" in
|
||||
terminal.c and then CTRL-N twice.
|
||||
@ -173,24 +177,40 @@ Williams, 2018 Oct 30)
|
||||
|
||||
Problem with :tlmenu: Detach item added with all modes? Issue #3563.
|
||||
|
||||
When using a timer callback vgetc_busy is reset, allowing for using input().
|
||||
But in a channel callback this does not happen. We need to do something
|
||||
similar to check_due_timer(). Also see #3809.
|
||||
|
||||
C syntax: {} inside () causes following {} to be highlighted as error.
|
||||
(Michalis Giannakidis, 2006 Jun 1)
|
||||
|
||||
Patch to fix function object in Python3. (Ozaki Kiichi, #3681)
|
||||
|
||||
Patch on #3690 to fix that "wincmd p" does not always behave properly.
|
||||
(Christian Brabandt, 2018 Dec 17)
|
||||
|
||||
"gn" selects two matches instead of one when the pattern contains "\zs" and
|
||||
spans more than one line. (#3695)
|
||||
|
||||
Patch: When using %v in 'errorformat', assume the number is the screen column
|
||||
not bytes, also handle multi-byte charactes. (Yegappan Lakshmanan, #3700)
|
||||
|
||||
Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
|
||||
#2948. (related to #1512?)
|
||||
On Win32 it stops showing, because showState is already ShS_SHOWING.
|
||||
balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
|
||||
20, #2481)
|
||||
Also see #2352, want better control over balloon, perhaps set the position.
|
||||
Should also be possible to add highlighting, like in the status line?
|
||||
balloonexpr() on MS-Windows GUI doesn't handle accented chars? (nivaemail,
|
||||
2018 Sep 14)
|
||||
Another request: #3811.
|
||||
|
||||
Patch to add FOR_ALL_FRAMES. (Yegappan, 2018 Dec 11, #3686)
|
||||
|
||||
Patch for MinGW build with static libraries. (Ken Takata, 2018 Dec 16)
|
||||
|
||||
Patch to add new regexp classes :ident:, :keyword:, :fname:.
|
||||
(ichizok, 2016 Jan 12, #1373)
|
||||
|
||||
Patch to add "termsig" - signal that caused job to end. (Ozaki Kiichi, 2019
|
||||
Jan 10, #3786)
|
||||
|
||||
More warnings from static analysis:
|
||||
https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
|
||||
|
||||
@ -200,10 +220,17 @@ Patch for this: (Aron Widforss, 2018 Oct 13, #3539)
|
||||
quickfix window, for example. (Gary Holloway)
|
||||
Also do 'sidescrolloff'.
|
||||
|
||||
Patch for ConPTY support, #3474: What is the status?
|
||||
Patch for ConPTY support, new one: #3794 Does this work now?
|
||||
(Nobuhiro Takasaki)
|
||||
|
||||
Issue #3649: Retrying the X server connection once may be insufficient.
|
||||
Since patch 8.1.0615 we try reconnecting five times. Does it work?
|
||||
|
||||
nvo-mode mapping works on Windows, not on Linux. (#3678)
|
||||
|
||||
Patch to be able to separately map CTRL-H and BS on Windows.
|
||||
(Linwei, 2017 Jul 11, #1833)
|
||||
|
||||
Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
|
||||
Related to bracketed paste. I cannot reproduce it.
|
||||
|
||||
@ -228,6 +255,10 @@ Not ready to include yet.
|
||||
Problem with two buffers with the same name a/b, if it didn't exist before and
|
||||
is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
|
||||
|
||||
When 'sidescrolloff' is set, using "zl" to go to the end of the line, suddenly
|
||||
scrolls back. Should allow for this scrolling, like 'scrolloff' does when
|
||||
using CTRL-E. (Yee Cheng Chin, #3721)
|
||||
|
||||
Invalid memory access with old regexp engine. (Dominique Pelle, 2018 Sep 3,
|
||||
#3405) Introduced by 8.0.1517, which was fixing another memory access error.
|
||||
(Sep 8)
|
||||
@ -289,6 +320,9 @@ Adjust windows installer explanation of behavior. (scootergrisen, #3310)
|
||||
Set g:actual_curbuf when evaluating 'statusline', not just with an expression.
|
||||
(Daniel Hahler, 2018 Aug 8, #3299)
|
||||
|
||||
Update for xim-input-style help (Tony Mechelynck, 2019 Jan 10).
|
||||
Feedback from someone who uses this?
|
||||
|
||||
ml_get error. (Dominique Pelle, 2018 Sep 14, #3434)
|
||||
|
||||
Patch to use forward slash for completion even when 'shellslash' is set.
|
||||
@ -372,21 +406,6 @@ Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
|
||||
Patch to be able to disable default digraphs (incomplete) (Eric Pruitt, 2018
|
||||
Nov 22).
|
||||
|
||||
Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
|
||||
#2948. (related to #1512?)
|
||||
On Win32 it stops showing, because showState is already ShS_SHOWING.
|
||||
balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
|
||||
20, #2481)
|
||||
Also see #2352, want better control over balloon, perhaps set the position.
|
||||
Should also be possible to add highlighting, like in the status line?
|
||||
balloonexpr() on MS-Windows GUI doesn't handle accented chars? (nivaemail,
|
||||
2018 Sep 14)
|
||||
|
||||
Add v:motion_force. (Kana Natsuno, 2008 Dec 6)
|
||||
Maybe call it v:motiontype. Update in #3490.
|
||||
Alternative: add the force flag to mode(), after "no".
|
||||
Patch ready to include?
|
||||
|
||||
Try out background make plugin:
|
||||
https://github.com/AndrewVos/vim-make-background
|
||||
or asyncmake:
|
||||
@ -442,19 +461,6 @@ deleting autocmds, not when adding them.
|
||||
Quickfix window height is not kept with a vertical split. (Lifepillar, 2018
|
||||
Jun 10, #2998)
|
||||
|
||||
Improve the installer for MS-Windows. There are a few alternatives:
|
||||
- mui2 installer improved by Ken Takata (2018 Sep 29)
|
||||
- Installer from Cream (Steve Hall).
|
||||
- Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
|
||||
https://github.com/gpwen/vim-installer-mui2
|
||||
- make it possible to do a silent install, see
|
||||
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
|
||||
Version from Guopeng Wen does this.
|
||||
- MSI installer: https://github.com/petrkle/vim-msi/
|
||||
- The one on Issue 279.
|
||||
Problem: they all work slightly different (e.g. don't install vimrun.exe).
|
||||
How to test that it works well for all Vim users?
|
||||
|
||||
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
|
||||
|
||||
Delete all the specific stuff for the Borland compiler? (#3374)
|
||||
@ -536,7 +542,7 @@ option_save({list}) *option_save()*
|
||||
Alternatively: save and restore ALL options. Implementation needs to use
|
||||
copy-on-write. Return an ID from option_save(), when
|
||||
option_restore(ID) is called give an error if another option_save()
|
||||
was called in the mean time, they must be balanced.
|
||||
was called in the meantime, they must be balanced.
|
||||
|
||||
"gvim --remote" from a directory with non-word characters changes the current
|
||||
directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
|
||||
@ -560,8 +566,6 @@ Add script number to profile? (#3330 breaks tests).
|
||||
A function defined locally and lambda's are not easily recognized.
|
||||
Mention where they were defined somewhere.
|
||||
|
||||
CTRL-X on zero gets stuck on 0xfffffffffffffffe. (Hengyang Zhao, #2746)
|
||||
|
||||
Invalid range error when using BufWinLeave for closing terminal.
|
||||
(Gabriel Barta, 2017 Nov 15, #2339)
|
||||
|
||||
@ -588,9 +592,6 @@ In an optional package the "after" directory is not scanned?
|
||||
Patch for Neovim concerning restoring when closing help window. (glacambre
|
||||
neovim #7431)
|
||||
|
||||
Default install on MS-Windows should source defaults.vim.
|
||||
Ask whether to use Windows or Vim key behavior?
|
||||
|
||||
Patch for improving detecting Ruby on Mac in configure. (Ilya Mikhaltsou, 2017
|
||||
Nov 21)
|
||||
|
||||
@ -917,9 +918,6 @@ Does this also fix #1408 ?
|
||||
|
||||
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
|
||||
|
||||
Patch to be able to separately map CTRL-H and BS on Windows.
|
||||
(Linwei, 2017 Jul 11, #1833)
|
||||
|
||||
When 'completeopt' has "noselect" does not insert a newline. (Lifepillar, 2017
|
||||
Apr 23, #1653)
|
||||
|
||||
@ -1571,9 +1569,6 @@ Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)
|
||||
|
||||
Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
|
||||
|
||||
Patch to add "ntab" item in 'listchars' to repeat first character. (Nathaniel
|
||||
Braun, pragm, 2013 Oct 13) A better solution 2014 Mar 5.
|
||||
|
||||
7 Windows XP: When using "ClearType" for text smoothing, a column of yellow
|
||||
pixels remains when typing spaces in front of a "D" ('guifont' set to
|
||||
"lucida_console:h8").
|
||||
@ -1660,8 +1655,6 @@ Or use expand('<sid>')?
|
||||
|
||||
Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9)
|
||||
|
||||
Patch to remove flicker from popup menu. (Yasuhiro Matsumoto, 2013 Aug 15)
|
||||
|
||||
Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)
|
||||
|
||||
b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan
|
||||
@ -1680,9 +1673,6 @@ Patch for :tabcloseleft, after closing a tab go to left tab. (William Bowers,
|
||||
Patch to improve equivalence classes in regexp patterns.
|
||||
(Christian Brabandt, 2013 Jan 16, update Jan 17)
|
||||
|
||||
Patch to add new regexp classes :ident:, :keyword:, :fname:.
|
||||
(ichizok, 2016 Jan 12, #1373)
|
||||
|
||||
Patch with suggestions for starting.txt. (Tony Mechelynck, 2012 Oct 24)
|
||||
But use Gnome instead of GTK?
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*undo.txt* For Vim version 8.1. Last change: 2014 May 24
|
||||
*undo.txt* For Vim version 8.1. Last change: 2019 Jan 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -259,6 +259,12 @@ changed with the 'undodir' option.
|
||||
When the file is encrypted, the text in the undo file is also crypted. The
|
||||
same key and method is used. |encryption|
|
||||
|
||||
Note that text properties are not stored in the undo file. You can restore
|
||||
text properties so long as a buffer is loaded, but you cannot restore them
|
||||
from an undo file. Rationale: It would require the associated text property
|
||||
types to be defined in exactly the same was as before, which cannot be
|
||||
guaranteed.
|
||||
|
||||
You can also save and restore undo histories by using ":wundo" and ":rundo"
|
||||
respectively:
|
||||
*:wundo* *:rundo*
|
||||
|
@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 8.1. Last change: 2018 Dec 18
|
||||
*usr_41.txt* For Vim version 8.1. Last change: 2019 Jan 12
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@ -958,6 +958,7 @@ Inter-process communication: *channel-functions*
|
||||
ch_close() close a channel
|
||||
ch_close_in() close the in part of a channel
|
||||
ch_read() read a message from a channel
|
||||
ch_readblob() read a Blob from a channel
|
||||
ch_readraw() read a raw message from a channel
|
||||
ch_sendexpr() send a JSON message over a channel
|
||||
ch_sendraw() send a raw message over a channel
|
||||
@ -987,6 +988,7 @@ Signs: *sign-functions*
|
||||
sign_define() define or update a sign
|
||||
sign_getdefined() get a list of defined signs
|
||||
sign_getplaced() get a list of placed signs
|
||||
sign_jump() jump to a sign
|
||||
sign_place() place a sign
|
||||
sign_undefine() undefine a sign
|
||||
sign_unplace() unplace a sign
|
||||
|
@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 8.1. Last change: 2018 Dec 13
|
||||
*various.txt* For Vim version 8.1. Last change: 2019 Jan 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -30,6 +30,11 @@ CTRL-L Clear and redraw the screen. The redraw may happen
|
||||
includes an item that doesn't cause automatic
|
||||
updating.
|
||||
|
||||
*:redrawt* *:redrawtabline*
|
||||
:redrawt[abline] Redraw the tabline. Useful to update the tabline when
|
||||
'tabline' includes an item that doesn't trigger
|
||||
automatic updating.
|
||||
|
||||
*N<Del>*
|
||||
<Del> When entering a number: Remove the last digit.
|
||||
Note: if you like to use <BS> for this, add this
|
||||
@ -435,7 +440,7 @@ N *+smartindent* |'smartindent'|
|
||||
N *+startuptime* |--startuptime| argument
|
||||
N *+statusline* Options 'statusline', 'rulerformat' and special
|
||||
formats of 'titlestring' and 'iconstring'
|
||||
m *+sun_workshop* |workshop|
|
||||
m *+sun_workshop* |workshop|; no longer supported
|
||||
N *+syntax* Syntax highlighting |syntax|
|
||||
*+system()* Unix only: opposite of |+fork|
|
||||
T *+tag_binary* binary searching in tags file |tag-binary-search|
|
||||
@ -460,13 +465,13 @@ N *+viminfo* |'viminfo'|
|
||||
since 8.0.1118.
|
||||
in sync with the |+windows| feature
|
||||
N *+virtualedit* |'virtualedit'|
|
||||
S *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
||||
N *+visualextra* extra Visual mode commands |blockwise-operators|
|
||||
T *+visual* Visual mode |Visual-mode| Always enabled since 7.4.200.
|
||||
T *+visualextra* extra Visual mode commands |blockwise-operators|
|
||||
T *+vreplace* |gR| and |gr|
|
||||
*+vtp* on MS-Windows console: support for 'termguicolors'
|
||||
N *+wildignore* |'wildignore'|
|
||||
N *+wildmenu* |'wildmenu'|
|
||||
*+windows* more than one window; Always enabled since 8.0.1118.
|
||||
T *+windows* more than one window; Always enabled since 8.0.1118.
|
||||
m *+writebackup* |'writebackup'| is default on
|
||||
m *+xim* X input method |xim|
|
||||
*+xfontset* X fontset support |xfontset|
|
||||
|
@ -1,4 +1,4 @@
|
||||
*version6.txt* For Vim version 8.1. Last change: 2018 Mar 18
|
||||
*version6.txt* For Vim version 8.1. Last change: 2019 Jan 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -943,7 +943,7 @@ Added the ":sign" command to define and place signs. They can be displayed
|
||||
with two ASCII characters or an icon. The line after it can be highlighted.
|
||||
Useful to display breakpoints and the current PC position.
|
||||
|
||||
Added the |:wsverb| command to execute debugger commands.
|
||||
Added the :wsverb command to execute debugger commands.
|
||||
|
||||
Added balloon stuff: 'balloondelay' and 'ballooneval' options.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*visual.txt* For Vim version 8.1. Last change: 2017 Sep 02
|
||||
*visual.txt* For Vim version 8.1. Last change: 2019 Jan 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@ -305,8 +305,6 @@ mode.
|
||||
==============================================================================
|
||||
5. Blockwise operators *blockwise-operators*
|
||||
|
||||
{not available when compiled without the |+visualextra| feature}
|
||||
|
||||
Reminder: Use 'virtualedit' to be able to select blocks that start or end
|
||||
after the end of a line or halfway a tab.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
*workshop.txt* For Vim version 8.1. Last change: 2013 Jul 06
|
||||
*workshop.txt* For Vim version 8.1. Last change: 2019 Jan 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur
|
||||
@ -6,93 +6,9 @@
|
||||
|
||||
Sun Visual WorkShop Features *workshop* *workshop-support*
|
||||
|
||||
1. Introduction |workshop-intro|
|
||||
2. Commands |workshop-commands|
|
||||
3. Compiling vim/gvim for WorkShop |workshop-compiling|
|
||||
4. Configuring gvim for a WorkShop release tree |workshop-configure|
|
||||
5. Obtaining the latest version of the XPM library |workshop-xpm|
|
||||
The support for WorkShop was removed in patch 8.1.0763 in January 2019.
|
||||
The product has not been available for a long time and has been replaced by
|
||||
|NetBeans|.
|
||||
|
||||
{Vi does not have any of these features}
|
||||
{only available when compiled with the |+sun_workshop| feature}
|
||||
|
||||
==============================================================================
|
||||
1. Introduction *workshop-intro*
|
||||
|
||||
Sun Visual WorkShop has an "Editor of Choice" feature designed to let users
|
||||
debug using their favorite editors. For the 6.0 release we have added support
|
||||
for gvim. A workshop debug session will have a debugging window and an editor
|
||||
window (possibly others as well). The user can do many debugging operations
|
||||
from the editor window, minimizing the need to switch from window to window.
|
||||
|
||||
The version of vim shipped with Sun Visual WorkShop 6 (also called Forte
|
||||
Developer 6) is vim 5.3. The features in this release are much more reliable
|
||||
than the vim/gvim shipped with Visual WorkShop. VWS users wishing to use vim
|
||||
as their editor should compile these sources and install them in their
|
||||
workshop release tree.
|
||||
|
||||
==============================================================================
|
||||
2. Commands *workshop-commands*
|
||||
|
||||
*:ws* *:wsverb*
|
||||
:ws[verb] verb Pass the verb to the verb executor
|
||||
|
||||
Pass the verb to a workshop function which gathers some arguments and
|
||||
sends the verb and data to workshop over an IPC connection.
|
||||
|
||||
==============================================================================
|
||||
3. Compiling vim/gvim for WorkShop *workshop-compiling*
|
||||
|
||||
Compiling vim with FEAT_SUN_WORKSHOP turns on all compile time flags necessary
|
||||
for building a vim to work with Visual WorkShop. The features required for VWS
|
||||
have been built and tested using the Sun compilers from the VWS release. They
|
||||
have not been built or tested using Gnu compilers. This does not mean the
|
||||
features won't build and run if compiled with gcc, just that nothing is
|
||||
guaranteed with gcc!
|
||||
|
||||
==============================================================================
|
||||
4. Configuring gvim for a WorkShop release tree *workshop-configure*
|
||||
|
||||
There are several assumptions which must be met in order to compile a gvim for
|
||||
use with Sun Visual WorkShop 6.
|
||||
|
||||
o You should use the compiler in VWS rather than gcc. We have neither
|
||||
built nor tested with gcc and cannot guarantee it will build properly.
|
||||
|
||||
o You must supply your own XPM library. See |workshop-xpm| below for
|
||||
details on obtaining the latest version of XPM.
|
||||
|
||||
o Edit the Makefile in the src directory and uncomment the lines for Sun
|
||||
Visual WorkShop. You can easily find these by searching for the string
|
||||
FEAT_SUN_WORKSHOP
|
||||
|
||||
o We also suggest you use Motif for your gui. This will provide gvim with
|
||||
the same look-and-feel as the rest of Sun Visual WorkShop.
|
||||
|
||||
The following configuration line can be used to configure vim to build for use
|
||||
with Sun Visual WorkShop:
|
||||
|
||||
$ CC=cc configure --enable-workshop --enable-gui=motif \
|
||||
-prefix=<VWS-install-dir>/contrib/contrib6/<vim-version>
|
||||
|
||||
The VWS-install-dir should be the base directory where your Sun Visual WorkShop
|
||||
was installed. By default this is /opt/SUNWspro. It will normally require
|
||||
root permissions to install the vim release. You will also need to change the
|
||||
symlink <VWS-install-dir>/bin/gvim to point to the vim in your newly installed
|
||||
directory. The <vim-version> should be a unique version string. I use "vim"
|
||||
concatenated with the equivalent of version.h's VIM_VERSION_SHORT.
|
||||
|
||||
==============================================================================
|
||||
5. Obtaining the latest version of the XPM library *workshop-xpm*
|
||||
|
||||
The XPM library is required to show images within Vim with Motif or Athena.
|
||||
Without it the toolbar and signs will be disabled.
|
||||
|
||||
The XPM library is provided by Arnaud Le Hors of the French National Institute
|
||||
for Research in Computer Science and Control. It can be downloaded from
|
||||
http://cgit.freedesktop.org/xorg/lib/libXpm. The current release, as of this
|
||||
writing, is xpm-3.4k-solaris.tgz, which is a gzip'ed tar file. If you create
|
||||
the directory /usr/local/xpm and untar the file there you can use the
|
||||
uncommented lines in the Makefile without changing them. If you use another
|
||||
xpm directory you will need to change the XPM_DIR in src/Makefile.
|
||||
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
@ -1462,9 +1462,11 @@ au BufNewFile,BufRead sgml.catalog* call s:StarSetf('catalog')
|
||||
|
||||
" Shell scripts (sh, ksh, bash, bash2, csh); Allow .profile_foo etc.
|
||||
" Gentoo ebuilds and Arch Linux PKGBUILDs are actually bash scripts
|
||||
au BufNewFile,BufRead .bashrc*,bashrc,bash.bashrc,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,bash-fc[-.]*,*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass,PKGBUILD* call dist#ft#SetFileTypeSH("bash")
|
||||
au BufNewFile,BufRead .kshrc*,*.ksh call dist#ft#SetFileTypeSH("ksh")
|
||||
au BufNewFile,BufRead */etc/profile,.profile*,*.sh,*.env call dist#ft#SetFileTypeSH(getline(1))
|
||||
" NOTE: Patterns ending in a star are further down, these have lower priority.
|
||||
au BufNewFile,BufRead .bashrc,bashrc,bash.bashrc,.bash[_-]profile,.bash[_-]logout,.bash[_-]aliases,bash-fc[-.],*.bash,*/{,.}bash[_-]completion{,.d,.sh}{,/*},*.ebuild,*.eclass,PKGBUILD call dist#ft#SetFileTypeSH("bash")
|
||||
au BufNewFile,BufRead .kshrc,*.ksh call dist#ft#SetFileTypeSH("ksh")
|
||||
au BufNewFile,BufRead */etc/profile,.profile,*.sh,*.env call dist#ft#SetFileTypeSH(getline(1))
|
||||
|
||||
|
||||
" Shell script (Arch Linux) or PHP file (Drupal)
|
||||
au BufNewFile,BufRead *.install
|
||||
@ -1474,15 +1476,16 @@ au BufNewFile,BufRead *.install
|
||||
\ call dist#ft#SetFileTypeSH("bash") |
|
||||
\ endif
|
||||
|
||||
" tcsh scripts
|
||||
au BufNewFile,BufRead .tcshrc*,*.tcsh,tcsh.tcshrc,tcsh.login call dist#ft#SetFileTypeShell("tcsh")
|
||||
" tcsh scripts (patterns ending in a star further below)
|
||||
au BufNewFile,BufRead .tcshrc,*.tcsh,tcsh.tcshrc,tcsh.login call dist#ft#SetFileTypeShell("tcsh")
|
||||
|
||||
" csh scripts, but might also be tcsh scripts (on some systems csh is tcsh)
|
||||
au BufNewFile,BufRead .login*,.cshrc*,csh.cshrc,csh.login,csh.logout,*.csh,.alias call dist#ft#CSH()
|
||||
" (patterns ending in a start further below)
|
||||
au BufNewFile,BufRead .login,.cshrc,csh.cshrc,csh.login,csh.logout,*.csh,.alias call dist#ft#CSH()
|
||||
|
||||
" Z-Shell script
|
||||
" Z-Shell script (patterns ending in a star further below)
|
||||
au BufNewFile,BufRead .zprofile,*/etc/zprofile,.zfbfmarks setf zsh
|
||||
au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh')
|
||||
au BufNewFile,BufRead .zshrc,.zshenv,.zlogin,.zlogout,.zcompdump setf zsh
|
||||
au BufNewFile,BufRead *.zsh setf zsh
|
||||
|
||||
" Scheme
|
||||
@ -2074,6 +2077,17 @@ au BufRead,BufNewFile *.rdf call dist#ft#Redif()
|
||||
" Remind
|
||||
au BufNewFile,BufRead .reminders* call s:StarSetf('remind')
|
||||
|
||||
" Shell scripts ending in a star
|
||||
au BufNewFile,BufRead .bashrc*,.bash[_-]profile*,.bash[_-]logout*,.bash[_-]aliases*,bash-fc[-.]*,,PKGBUILD* call dist#ft#SetFileTypeSH("bash")
|
||||
au BufNewFile,BufRead .kshrc* call dist#ft#SetFileTypeSH("ksh")
|
||||
au BufNewFile,BufRead .profile* call dist#ft#SetFileTypeSH(getline(1))
|
||||
|
||||
" tcsh scripts ending in a star
|
||||
au BufNewFile,BufRead .tcshrc* call dist#ft#SetFileTypeShell("tcsh")
|
||||
|
||||
" csh scripts ending in a star
|
||||
au BufNewFile,BufRead .login*,.cshrc* call dist#ft#CSH()
|
||||
|
||||
" Vim script
|
||||
au BufNewFile,BufRead *vimrc* call s:StarSetf('vim')
|
||||
|
||||
@ -2101,7 +2115,8 @@ au BufNewFile,BufRead */etc/xinetd.d/* call s:StarSetf('xinetd')
|
||||
" yum conf (close enough to dosini)
|
||||
au BufNewFile,BufRead */etc/yum.repos.d/* call s:StarSetf('dosini')
|
||||
|
||||
" Z-Shell script
|
||||
" Z-Shell script ending in a star
|
||||
au BufNewFile,BufRead .zsh*,.zlog*,.zcompdump* call s:StarSetf('zsh')
|
||||
au BufNewFile,BufRead zsh*,zlog* call s:StarSetf('zsh')
|
||||
|
||||
|
||||
|
31
runtime/ftplugin/bash.vim
Normal file
@ -0,0 +1,31 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: bash
|
||||
" Maintainer: Bram Moolenaar
|
||||
" Last Changed: 2019 Jan 12
|
||||
"
|
||||
" This is not a real filetype plugin. It allows for someone to set 'filetype'
|
||||
" to "bash" in the modeline, and gets the effect of filetype "sh" with
|
||||
" b:is_bash set. Idea from Mahmode Al-Qudsi.
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
|
||||
let b:is_bash = 1
|
||||
if exists("b:is_sh")
|
||||
unlet b:is_sh
|
||||
endif
|
||||
if exists("b:is_kornshell")
|
||||
unlet b:is_kornshell
|
||||
endif
|
||||
|
||||
" Setting 'filetype' here directly won't work, since we are being invoked
|
||||
" through an autocommand. Do it later, on the BufWinEnter event.
|
||||
augroup bash_filetype
|
||||
au BufWinEnter * call SetBashFt()
|
||||
augroup END
|
||||
|
||||
func SetBashFt()
|
||||
au! bash_filetype
|
||||
set ft=sh
|
||||
endfunc
|
19
runtime/ftplugin/cfg.vim
Normal file
@ -0,0 +1,19 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Configuration File
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Latest Revision: 2018-12-24
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl cms< fo<"
|
||||
|
||||
setlocal commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
@ -3,6 +3,7 @@
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jan 06
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@ -27,7 +28,7 @@ elseif !exists("b:eruby_subtype")
|
||||
let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$")
|
||||
let b:eruby_subtype = matchstr(s:lines,'eruby_subtype=\zs\w\+')
|
||||
if b:eruby_subtype == ''
|
||||
let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\|\.erubis\)\+$','',''),'\.\zs\w\+\%(\ze+\w\+\)\=$')
|
||||
let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\|\.erubis\|\.example\)\+$','',''),'\.\zs\w\+\%(\ze+\w\+\)\=$')
|
||||
endif
|
||||
if b:eruby_subtype == 'rhtml'
|
||||
let b:eruby_subtype = 'html'
|
||||
@ -45,7 +46,7 @@ elseif !exists("b:eruby_subtype")
|
||||
endif
|
||||
endif
|
||||
|
||||
if exists("b:eruby_subtype") && b:eruby_subtype != ''
|
||||
if exists("b:eruby_subtype") && b:eruby_subtype != '' && b:eruby_subtype !=? 'eruby'
|
||||
exe "runtime! ftplugin/".b:eruby_subtype.".vim ftplugin/".b:eruby_subtype."_*.vim ftplugin/".b:eruby_subtype."/*.vim"
|
||||
else
|
||||
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
|
||||
@ -66,6 +67,21 @@ if exists("b:match_words")
|
||||
unlet b:match_words
|
||||
endif
|
||||
|
||||
let s:cfilemap = v:version >= 704 ? maparg('<Plug><cfile>', 'c', 0, 1) : {}
|
||||
if !get(s:cfilemap, 'buffer') || !s:cfilemap.expr || s:cfilemap.rhs =~# 'ErubyAtCursor()'
|
||||
let s:cfilemap = {}
|
||||
endif
|
||||
if !has_key(s:cfilemap, 'rhs')
|
||||
let s:cfilemap.rhs = "substitute(&l:inex =~# '\\<v:fname\\>' && len(expand('<cfile>')) ? eval(substitute(&l:inex, '\\<v:fname\\>', '\\=string(expand(\"<cfile>\"))', 'g')) : '', '^$', \"\\022\\006\",'')"
|
||||
endif
|
||||
let s:ctagmap = v:version >= 704 ? maparg('<Plug><ctag>', 'c', 0, 1) : {}
|
||||
if !get(s:ctagmap, 'buffer') || !s:ctagmap.expr || s:ctagmap.rhs =~# 'ErubyAtCursor()'
|
||||
let s:ctagmap = {}
|
||||
endif
|
||||
let s:include = &l:include
|
||||
let s:path = &l:path
|
||||
let s:suffixesadd = &l:suffixesadd
|
||||
|
||||
runtime! ftplugin/ruby.vim ftplugin/ruby_*.vim ftplugin/ruby/*.vim
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
@ -80,6 +96,15 @@ if exists("b:match_words")
|
||||
let s:match_words = b:match_words . ',' . s:match_words
|
||||
endif
|
||||
|
||||
if len(s:include)
|
||||
let &l:include = s:include
|
||||
endif
|
||||
let &l:path = s:path . (s:path =~# ',$\|^$' ? '' : ',') . &l:path
|
||||
let &l:suffixesadd = s:suffixesadd . (s:suffixesadd =~# ',$\|^$' ? '' : ',') . &l:suffixesadd
|
||||
exe 'cmap <buffer><script><expr> <Plug><cfile> ErubyAtCursor() ? ' . maparg('<Plug><cfile>', 'c') . ' : ' . s:cfilemap.rhs
|
||||
exe 'cmap <buffer><script><expr> <Plug><ctag> ErubyAtCursor() ? ' . maparg('<Plug><ctag>', 'c') . ' : ' . get(s:ctagmap, 'rhs', '"\022\027"')
|
||||
unlet s:cfilemap s:ctagmap s:include s:path s:suffixesadd
|
||||
|
||||
" Change the browse dialog on Win32 to show mainly eRuby-related files
|
||||
if has("gui_win32")
|
||||
let b:browsefilter="eRuby Files (*.erb, *.rhtml)\t*.erb;*.rhtml\n" . s:browsefilter
|
||||
@ -99,4 +124,9 @@ let b:undo_ftplugin = "setl cms< "
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
function! ErubyAtCursor() abort
|
||||
let groups = map(['erubyBlock', 'erubyComment', 'erubyExpression', 'erubyOneLiner'], 'hlID(v:val)')
|
||||
return !empty(filter(synstack(line('.'), col('.')), 'index(groups, v:val) >= 0'))
|
||||
endfunction
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8:
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Vim help file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
" Latest Revision: 2018-12-29
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@ -11,9 +11,9 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl fo< tw< cole< cocu<"
|
||||
let b:undo_ftplugin = "setl fo< tw< cole< cocu< keywordprg<"
|
||||
|
||||
setlocal formatoptions+=tcroql textwidth=78
|
||||
setlocal formatoptions+=tcroql textwidth=78 keywordprg=:help
|
||||
if has("conceal")
|
||||
setlocal cole=2 cocu=nc
|
||||
endif
|
||||
|
@ -1,16 +1,16 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Logcheck
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Last Change: 2012 Jan 15
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Last Change: 2018 Dec 27
|
||||
" License: Vim License
|
||||
" URL: http://hg.debian.org/hg/pkg-vim/vim/file/unstable/runtime/ftplugin/logcheck.vim
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/ftplugin/logcheck.vim
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let b:undo_ftplugin = "setl fo<"
|
||||
let b:undo_ftplugin = 'setl fo<'
|
||||
|
||||
" Do not hard-wrap non-comment lines since each line is a self-contained
|
||||
" regular expression
|
||||
|
@ -3,7 +3,7 @@
|
||||
" Maintainer: Marshall Ward <marshall.ward@gmail.com>
|
||||
" Original Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Website: https://github.com/marshallward/vim-restructuredtext
|
||||
" Latest Revision: 2018-01-07
|
||||
" Latest Revision: 2018-12-29
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@ -13,6 +13,11 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
"Disable folding
|
||||
if !exists('g:rst_fold_enabled')
|
||||
let g:rst_fold_enabled = 0
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< et< fo<"
|
||||
|
||||
setlocal comments=fb:.. commentstring=..\ %s expandtab
|
||||
|
@ -2,8 +2,8 @@
|
||||
" Language: Ruby
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" ----------------------------------------------------------------------------
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jan 06
|
||||
|
||||
if (exists("b:did_ftplugin"))
|
||||
finish
|
||||
@ -44,19 +44,12 @@ endif
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
setlocal include=^\\s*\\<\\(load\\>\\\|require\\>\\\|autoload\\s*:\\=[\"']\\=\\h\\w*[\"']\\=,\\)
|
||||
setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'\%(\.rb\)\=$','.rb','')
|
||||
setlocal suffixesadd=.rb
|
||||
|
||||
if exists("&ofu") && has("ruby")
|
||||
setlocal omnifunc=rubycomplete#Complete
|
||||
endif
|
||||
|
||||
" To activate, :set ballooneval
|
||||
if has('balloon_eval') && exists('+balloonexpr')
|
||||
setlocal balloonexpr=RubyBalloonexpr()
|
||||
endif
|
||||
|
||||
|
||||
" TODO:
|
||||
"setlocal define=^\\s*def
|
||||
|
||||
@ -69,7 +62,7 @@ endif
|
||||
|
||||
function! s:query_path(root) abort
|
||||
let code = "print $:.join %q{,}"
|
||||
if &shell =~# 'sh'
|
||||
if &shell =~# 'sh' && empty(&shellxquote)
|
||||
let prefix = 'env PATH='.shellescape($PATH).' '
|
||||
else
|
||||
let prefix = ''
|
||||
@ -141,44 +134,54 @@ if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
let b:undo_ftplugin = "setl fo< inc< inex< sua< def< com< cms< path< tags< kp<"
|
||||
let b:undo_ftplugin = "setl inc= sua= path= tags= fo< com< cms< kp="
|
||||
\."| unlet! b:browsefilter b:match_ignorecase b:match_words b:match_skip"
|
||||
\."| if exists('&ofu') && has('ruby') | setl ofu< | endif"
|
||||
\."| if has('balloon_eval') && exists('+bexpr') | setl bexpr< | endif"
|
||||
|
||||
if get(g:, 'ruby_recommended_style', 1)
|
||||
setlocal shiftwidth=2 softtabstop=2 expandtab
|
||||
let b:undo_ftplugin .= ' | setl sw< sts< et<'
|
||||
endif
|
||||
|
||||
" To activate, :set ballooneval
|
||||
if exists('+balloonexpr') && get(g:, 'ruby_balloonexpr')
|
||||
setlocal balloonexpr=RubyBalloonexpr()
|
||||
let b:undo_ftplugin .= "| setl bexpr="
|
||||
endif
|
||||
|
||||
function! s:map(mode, flags, map) abort
|
||||
let from = matchstr(a:map, '\S\+')
|
||||
if empty(mapcheck(from, a:mode))
|
||||
exe a:mode.'map' '<buffer>'.(a:0 ? a:1 : '') a:map
|
||||
exe a:mode.'map' '<buffer>' a:map
|
||||
let b:undo_ftplugin .= '|sil! '.a:mode.'unmap <buffer> '.from
|
||||
endif
|
||||
endfunction
|
||||
|
||||
cmap <buffer><script><expr> <Plug><cword> substitute(RubyCursorIdentifier(),'^$',"\022\027",'')
|
||||
cmap <buffer><script><expr> <Plug><ctag> substitute(RubyCursorTag(),'^$',"\022\027",'')
|
||||
cmap <buffer><script><expr> <Plug><cfile> substitute(RubyCursorFile(),'^$',"\022\006",'')
|
||||
let b:undo_ftplugin .= "| sil! cunmap <buffer> <Plug><cword>| sil! cunmap <buffer> <Plug><cfile>"
|
||||
let b:undo_ftplugin .= "| sil! cunmap <buffer> <Plug><ctag>| sil! cunmap <buffer> <Plug><cfile>"
|
||||
|
||||
if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
|
||||
nmap <buffer><script> <SID>: :<C-U>
|
||||
nmap <buffer><script> <SID>c: :<C-U><C-R>=v:count ? v:count : ''<CR>
|
||||
|
||||
nnoremap <silent> <buffer> [m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','b','n')<CR>
|
||||
nnoremap <silent> <buffer> ]m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','','n')<CR>
|
||||
nnoremap <silent> <buffer> [M :<C-U>call <SID>searchsyn('\<end\>','rubyDefine','b','n')<CR>
|
||||
nnoremap <silent> <buffer> ]M :<C-U>call <SID>searchsyn('\<end\>','rubyDefine','','n')<CR>
|
||||
xnoremap <silent> <buffer> [m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','b','v')<CR>
|
||||
xnoremap <silent> <buffer> ]m :<C-U>call <SID>searchsyn('\<def\>','rubyDefine','','v')<CR>
|
||||
xnoremap <silent> <buffer> [M :<C-U>call <SID>searchsyn('\<end\>','rubyDefine','b','v')<CR>
|
||||
xnoremap <silent> <buffer> ]M :<C-U>call <SID>searchsyn('\<end\>','rubyDefine','','v')<CR>
|
||||
nnoremap <silent> <buffer> [m :<C-U>call <SID>searchsyn('\<def\>',['rubyDefine'],'b','n')<CR>
|
||||
nnoremap <silent> <buffer> ]m :<C-U>call <SID>searchsyn('\<def\>',['rubyDefine'],'','n')<CR>
|
||||
nnoremap <silent> <buffer> [M :<C-U>call <SID>searchsyn('\<end\>',['rubyDefine'],'b','n')<CR>
|
||||
nnoremap <silent> <buffer> ]M :<C-U>call <SID>searchsyn('\<end\>',['rubyDefine'],'','n')<CR>
|
||||
xnoremap <silent> <buffer> [m :<C-U>call <SID>searchsyn('\<def\>',['rubyDefine'],'b','v')<CR>
|
||||
xnoremap <silent> <buffer> ]m :<C-U>call <SID>searchsyn('\<def\>',['rubyDefine'],'','v')<CR>
|
||||
xnoremap <silent> <buffer> [M :<C-U>call <SID>searchsyn('\<end\>',['rubyDefine'],'b','v')<CR>
|
||||
xnoremap <silent> <buffer> ]M :<C-U>call <SID>searchsyn('\<end\>',['rubyDefine'],'','v')<CR>
|
||||
|
||||
nnoremap <silent> <buffer> [[ :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>','rubyModule\<Bar>rubyClass','b','n')<CR>
|
||||
nnoremap <silent> <buffer> ]] :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>','rubyModule\<Bar>rubyClass','','n')<CR>
|
||||
nnoremap <silent> <buffer> [] :<C-U>call <SID>searchsyn('\<end\>','rubyModule\<Bar>rubyClass','b','n')<CR>
|
||||
nnoremap <silent> <buffer> ][ :<C-U>call <SID>searchsyn('\<end\>','rubyModule\<Bar>rubyClass','','n')<CR>
|
||||
xnoremap <silent> <buffer> [[ :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>','rubyModule\<Bar>rubyClass','b','v')<CR>
|
||||
xnoremap <silent> <buffer> ]] :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>','rubyModule\<Bar>rubyClass','','v')<CR>
|
||||
xnoremap <silent> <buffer> [] :<C-U>call <SID>searchsyn('\<end\>','rubyModule\<Bar>rubyClass','b','v')<CR>
|
||||
xnoremap <silent> <buffer> ][ :<C-U>call <SID>searchsyn('\<end\>','rubyModule\<Bar>rubyClass','','v')<CR>
|
||||
nnoremap <silent> <buffer> [[ :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>',['rubyModule','rubyClass'],'b','n')<CR>
|
||||
nnoremap <silent> <buffer> ]] :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>',['rubyModule','rubyClass'],'','n')<CR>
|
||||
nnoremap <silent> <buffer> [] :<C-U>call <SID>searchsyn('\<end\>',['rubyModule','rubyClass'],'b','n')<CR>
|
||||
nnoremap <silent> <buffer> ][ :<C-U>call <SID>searchsyn('\<end\>',['rubyModule','rubyClass'],'','n')<CR>
|
||||
xnoremap <silent> <buffer> [[ :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>',['rubyModule','rubyClass'],'b','v')<CR>
|
||||
xnoremap <silent> <buffer> ]] :<C-U>call <SID>searchsyn('\<\%(class\<Bar>module\)\>',['rubyModule','rubyClass'],'','v')<CR>
|
||||
xnoremap <silent> <buffer> [] :<C-U>call <SID>searchsyn('\<end\>',['rubyModule','rubyClass'],'b','v')<CR>
|
||||
xnoremap <silent> <buffer> ][ :<C-U>call <SID>searchsyn('\<end\>',['rubyModule','rubyClass'],'','v')<CR>
|
||||
|
||||
let b:undo_ftplugin = b:undo_ftplugin
|
||||
\."| sil! exe 'unmap <buffer> [[' | sil! exe 'unmap <buffer> ]]' | sil! exe 'unmap <buffer> []' | sil! exe 'unmap <buffer> ]['"
|
||||
@ -204,19 +207,18 @@ if !exists("g:no_plugin_maps") && !exists("g:no_ruby_maps")
|
||||
\."| sil! exe 'xunmap <buffer> iM' | sil! exe 'xunmap <buffer> aM'"
|
||||
endif
|
||||
|
||||
call s:map('c', '', '<C-R><C-W> <Plug><cword>')
|
||||
call s:map('c', '', '<C-R><C-F> <Plug><cfile>')
|
||||
|
||||
cmap <buffer><script><expr> <SID>tagzv &foldopen =~# 'tag' ? '<Bar>norm! zv' : ''
|
||||
call s:map('n', '<silent>', '<C-]> <SID>:exe v:count1."tag <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', 'g<C-]> <SID>:exe "tjump <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', 'g] <SID>:exe "tselect <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>] <SID>:exe v:count1."stag <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W><C-]> <SID>:exe v:count1."stag <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>g<C-]> <SID>:exe "stjump <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>g] <SID>:exe "stselect <Plug><cword>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>} <SID>:exe v:count1."ptag <Plug><cword>"<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>g} <SID>:exe "ptjump <Plug><cword>"<CR>')
|
||||
call s:map('n', '<silent>', '<C-]> <SID>:exe v:count1."tag <Plug><ctag>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', 'g<C-]> <SID>:exe "tjump <Plug><ctag>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', 'g] <SID>:exe "tselect <Plug><ctag>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>] <SID>:exe v:count1."stag <Plug><ctag>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W><C-]> <SID>:exe v:count1."stag <Plug><ctag>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>g<C-]> <SID>:exe "stjump <Plug><ctag>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>g] <SID>:exe "stselect <Plug><ctag>"<SID>tagzv<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>} <SID>:exe v:count1."ptag <Plug><ctag>"<CR>')
|
||||
call s:map('n', '<silent>', '<C-W>g} <SID>:exe "ptjump <Plug><ctag>"<CR>')
|
||||
|
||||
call s:map('n', '<silent>', 'gf <SID>c:find <Plug><cfile><CR>')
|
||||
call s:map('n', '<silent>', '<C-W>f <SID>c:sfind <Plug><cfile><CR>')
|
||||
@ -288,12 +290,13 @@ function! s:searchsyn(pattern, syn, flags, mode) abort
|
||||
norm! gv
|
||||
endif
|
||||
let i = 0
|
||||
call map(a:syn, 'hlID(v:val)')
|
||||
while i < cnt
|
||||
let i = i + 1
|
||||
let line = line('.')
|
||||
let col = col('.')
|
||||
let pos = search(a:pattern,'W'.a:flags)
|
||||
while pos != 0 && s:synname() !~# a:syn
|
||||
while pos != 0 && index(a:syn, s:synid()) < 0
|
||||
let pos = search(a:pattern,'W'.a:flags)
|
||||
endwhile
|
||||
if pos == 0
|
||||
@ -303,8 +306,8 @@ function! s:searchsyn(pattern, syn, flags, mode) abort
|
||||
endwhile
|
||||
endfunction
|
||||
|
||||
function! s:synname() abort
|
||||
return synIDattr(synID(line('.'),col('.'),0),'name')
|
||||
function! s:synid() abort
|
||||
return synID(line('.'),col('.'),0)
|
||||
endfunction
|
||||
|
||||
function! s:wrap_i(back,forward) abort
|
||||
@ -349,6 +352,10 @@ function! RubyCursorIdentifier() abort
|
||||
return stripped == '' ? expand("<cword>") : stripped
|
||||
endfunction
|
||||
|
||||
function! RubyCursorTag() abort
|
||||
return substitute(RubyCursorIdentifier(), '^[$@]*', '', '')
|
||||
endfunction
|
||||
|
||||
function! RubyCursorFile() abort
|
||||
let isfname = &isfname
|
||||
try
|
||||
@ -360,8 +367,9 @@ function! RubyCursorFile() abort
|
||||
let pre = matchstr(strpart(getline('.'), 0, col('.')-1), '.*\f\@<!')
|
||||
let post = matchstr(strpart(getline('.'), col('.')), '\f\@!.*')
|
||||
let ext = getline('.') =~# '^\s*\%(require\%(_relative\)\=\|autoload\)\>' && cfile !~# '\.rb$' ? '.rb' : ''
|
||||
if s:synname() ==# 'rubyConstant'
|
||||
if s:synid() ==# hlID('rubyConstant')
|
||||
let cfile = substitute(cfile,'\.\w\+[?!=]\=$','','')
|
||||
let cfile = substitute(cfile,'^::','','')
|
||||
let cfile = substitute(cfile,'::','/','g')
|
||||
let cfile = substitute(cfile,'\(\u\+\)\(\u\l\)','\1_\2', 'g')
|
||||
let cfile = substitute(cfile,'\(\l\|\d\)\(\u\)','\1_\2', 'g')
|
||||
|
@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin
|
||||
" Language: Text
|
||||
" Maintainer: David Barnett <daviebdawg+vim@gmail.com>
|
||||
" Last Change: 2014 Jul 09
|
||||
" Last Change: 2019 Jan 10
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
@ -12,6 +12,7 @@ let b:undo_ftplugin = 'setlocal comments< commentstring<'
|
||||
|
||||
" We intentionally don't set formatoptions-=t since text should wrap as text.
|
||||
|
||||
" Pseudo comment leaders to indent bulleted lists.
|
||||
setlocal comments=fb:-,fb:*
|
||||
" Pseudo comment leaders to indent bulleted lists with '-' and '*'. And allow
|
||||
" for Mail quoted text with '>'.
|
||||
setlocal comments=fb:-,fb:*,n:>
|
||||
setlocal commentstring=
|
||||
|
@ -3,6 +3,7 @@
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jan 06
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@ -12,7 +13,7 @@ runtime! indent/ruby.vim
|
||||
unlet! b:did_indent
|
||||
setlocal indentexpr=
|
||||
|
||||
if exists("b:eruby_subtype")
|
||||
if exists("b:eruby_subtype") && b:eruby_subtype != '' && b:eruby_subtype !=# 'eruby'
|
||||
exe "runtime! indent/".b:eruby_subtype.".vim"
|
||||
else
|
||||
runtime! indent/html.vim
|
||||
@ -47,7 +48,11 @@ set cpo&vim
|
||||
|
||||
function! GetErubyIndent(...)
|
||||
" The value of a single shift-width
|
||||
let sw = shiftwidth()
|
||||
if exists('*shiftwidth')
|
||||
let sw = shiftwidth()
|
||||
else
|
||||
let sw = &sw
|
||||
endif
|
||||
|
||||
if a:0 && a:1 == '.'
|
||||
let v:lnum = line('.')
|
||||
@ -91,6 +96,7 @@ function! GetErubyIndent(...)
|
||||
let ind = ind + sw
|
||||
endif
|
||||
if line !~# '^\s*<%' && line =~# '%>\s*$' && line !~# '^\s*end\>'
|
||||
\ && synID(v:lnum, match(cline, '\S') + 1, 1) != hlID('htmlEndTag')
|
||||
let ind = ind - sw
|
||||
endif
|
||||
if cline =~# '^\s*[-=]\=%>\s*$'
|
||||
|
@ -1,8 +1,10 @@
|
||||
" Vim indent file
|
||||
" Language: Ruby
|
||||
" Maintainer: Nikolai Weibull <now at bitwi.se>
|
||||
" Maintainer: Andrew Radev <andrey.radev@gmail.com>
|
||||
" Previous Maintainer: Nikolai Weibull <now at bitwi.se>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2019 Jan 06
|
||||
|
||||
" 0. Initialization {{{1
|
||||
" =================
|
||||
@ -18,6 +20,11 @@ if !exists('g:ruby_indent_access_modifier_style')
|
||||
let g:ruby_indent_access_modifier_style = 'normal'
|
||||
endif
|
||||
|
||||
if !exists('g:ruby_indent_assignment_style')
|
||||
" Possible values: "variable", "hanging"
|
||||
let g:ruby_indent_assignment_style = 'hanging'
|
||||
endif
|
||||
|
||||
if !exists('g:ruby_indent_block_style')
|
||||
" Possible values: "expression", "do"
|
||||
let g:ruby_indent_block_style = 'expression'
|
||||
@ -42,28 +49,27 @@ set cpo&vim
|
||||
" 1. Variables {{{1
|
||||
" ============
|
||||
|
||||
" Regex of syntax group names that are or delimit strings/symbols or are comments.
|
||||
let s:syng_strcom = '\<ruby\%(Regexp\|RegexpDelimiter\|RegexpEscape' .
|
||||
\ '\|Symbol\|String\|StringDelimiter\|StringEscape\|ASCIICode' .
|
||||
\ '\|Interpolation\|InterpolationDelimiter\|NoInterpolation\|Comment\|Documentation\)\>'
|
||||
|
||||
" Regex of syntax group names that are strings.
|
||||
" Syntax group names that are strings.
|
||||
let s:syng_string =
|
||||
\ '\<ruby\%(String\|Interpolation\|NoInterpolation\|StringEscape\)\>'
|
||||
\ ['String', 'Interpolation', 'InterpolationDelimiter', 'NoInterpolation', 'StringEscape']
|
||||
|
||||
" Regex of syntax group names that are strings or documentation.
|
||||
let s:syng_stringdoc =
|
||||
\'\<ruby\%(String\|Interpolation\|NoInterpolation\|StringEscape\|Documentation\)\>'
|
||||
" Syntax group names that are strings or documentation.
|
||||
let s:syng_stringdoc = s:syng_string + ['Documentation']
|
||||
|
||||
" Syntax group names that are or delimit strings/symbols/regexes or are comments.
|
||||
let s:syng_strcom = s:syng_stringdoc +
|
||||
\ ['Regexp', 'RegexpDelimiter', 'RegexpEscape',
|
||||
\ 'Symbol', 'StringDelimiter', 'ASCIICode', 'Comment']
|
||||
|
||||
" Expression used to check whether we should skip a match with searchpair().
|
||||
let s:skip_expr =
|
||||
\ "synIDattr(synID(line('.'),col('.'),1),'name') =~ '".s:syng_strcom."'"
|
||||
\ 'index(map('.string(s:syng_strcom).',"hlID(''ruby''.v:val)"), synID(line("."),col("."),1)) >= 0'
|
||||
|
||||
" Regex used for words that, at the start of a line, add a level of indent.
|
||||
let s:ruby_indent_keywords =
|
||||
\ '^\s*\zs\<\%(module\|class\|if\|for' .
|
||||
\ '\|while\|until\|else\|elsif\|case\|when\|unless\|begin\|ensure\|rescue' .
|
||||
\ '\|\%(public\|protected\|private\)\=\s*def\):\@!\>' .
|
||||
\ '\|\%(\K\k*[!?]\?\)\=\s*def\):\@!\>' .
|
||||
\ '\|\%([=,*/%+-]\|<<\|>>\|:\s\)\s*\zs' .
|
||||
\ '\<\%(if\|for\|while\|until\|case\|unless\|begin\):\@!\>'
|
||||
|
||||
@ -77,7 +83,7 @@ let s:ruby_deindent_keywords =
|
||||
let s:end_start_regex =
|
||||
\ '\C\%(^\s*\|[=,*/%+\-|;{]\|<<\|>>\|:\s\)\s*\zs' .
|
||||
\ '\<\%(module\|class\|if\|for\|while\|until\|case\|unless\|begin' .
|
||||
\ '\|\%(public\|protected\|private\)\=\s*def\):\@!\>' .
|
||||
\ '\|\%(\K\k*[!?]\?\)\=\s*def\):\@!\>' .
|
||||
\ '\|\%(^\|[^.:@$]\)\@<=\<do:\@!\>'
|
||||
|
||||
" Regex that defines the middle-match for the 'end' keyword.
|
||||
@ -142,31 +148,562 @@ let s:block_continuation_regex = '^\s*[^])}\t ].*'.s:block_regex
|
||||
" Regex that describes a leading operator (only a method call's dot for now)
|
||||
let s:leading_operator_regex = '^\s*[.]'
|
||||
|
||||
" 2. Auxiliary Functions {{{1
|
||||
" 2. GetRubyIndent Function {{{1
|
||||
" =========================
|
||||
|
||||
function! GetRubyIndent(...) abort
|
||||
" 2.1. Setup {{{2
|
||||
" ----------
|
||||
|
||||
let indent_info = {}
|
||||
|
||||
" The value of a single shift-width
|
||||
if exists('*shiftwidth')
|
||||
let indent_info.sw = shiftwidth()
|
||||
else
|
||||
let indent_info.sw = &sw
|
||||
endif
|
||||
|
||||
" For the current line, use the first argument if given, else v:lnum
|
||||
let indent_info.clnum = a:0 ? a:1 : v:lnum
|
||||
let indent_info.cline = getline(indent_info.clnum)
|
||||
|
||||
" Set up variables for restoring position in file. Could use clnum here.
|
||||
let indent_info.col = col('.')
|
||||
|
||||
" 2.2. Work on the current line {{{2
|
||||
" -----------------------------
|
||||
let indent_callback_names = [
|
||||
\ 's:AccessModifier',
|
||||
\ 's:ClosingBracketOnEmptyLine',
|
||||
\ 's:BlockComment',
|
||||
\ 's:DeindentingKeyword',
|
||||
\ 's:MultilineStringOrLineComment',
|
||||
\ 's:ClosingHeredocDelimiter',
|
||||
\ 's:LeadingOperator',
|
||||
\ ]
|
||||
|
||||
for callback_name in indent_callback_names
|
||||
" Decho "Running: ".callback_name
|
||||
let indent = call(function(callback_name), [indent_info])
|
||||
|
||||
if indent >= 0
|
||||
" Decho "Match: ".callback_name." indent=".indent." info=".string(indent_info)
|
||||
return indent
|
||||
endif
|
||||
endfor
|
||||
|
||||
" 2.3. Work on the previous line. {{{2
|
||||
" -------------------------------
|
||||
|
||||
" Special case: we don't need the real s:PrevNonBlankNonString for an empty
|
||||
" line inside a string. And that call can be quite expensive in that
|
||||
" particular situation.
|
||||
let indent_callback_names = [
|
||||
\ 's:EmptyInsideString',
|
||||
\ ]
|
||||
|
||||
for callback_name in indent_callback_names
|
||||
" Decho "Running: ".callback_name
|
||||
let indent = call(function(callback_name), [indent_info])
|
||||
|
||||
if indent >= 0
|
||||
" Decho "Match: ".callback_name." indent=".indent." info=".string(indent_info)
|
||||
return indent
|
||||
endif
|
||||
endfor
|
||||
|
||||
" Previous line number
|
||||
let indent_info.plnum = s:PrevNonBlankNonString(indent_info.clnum - 1)
|
||||
let indent_info.pline = getline(indent_info.plnum)
|
||||
|
||||
let indent_callback_names = [
|
||||
\ 's:StartOfFile',
|
||||
\ 's:AfterAccessModifier',
|
||||
\ 's:ContinuedLine',
|
||||
\ 's:AfterBlockOpening',
|
||||
\ 's:AfterHangingSplat',
|
||||
\ 's:AfterUnbalancedBracket',
|
||||
\ 's:AfterLeadingOperator',
|
||||
\ 's:AfterEndKeyword',
|
||||
\ 's:AfterIndentKeyword',
|
||||
\ ]
|
||||
|
||||
for callback_name in indent_callback_names
|
||||
" Decho "Running: ".callback_name
|
||||
let indent = call(function(callback_name), [indent_info])
|
||||
|
||||
if indent >= 0
|
||||
" Decho "Match: ".callback_name." indent=".indent." info=".string(indent_info)
|
||||
return indent
|
||||
endif
|
||||
endfor
|
||||
|
||||
" 2.4. Work on the MSL line. {{{2
|
||||
" --------------------------
|
||||
let indent_callback_names = [
|
||||
\ 's:PreviousNotMSL',
|
||||
\ 's:IndentingKeywordInMSL',
|
||||
\ 's:ContinuedHangingOperator',
|
||||
\ ]
|
||||
|
||||
" Most Significant line based on the previous one -- in case it's a
|
||||
" contination of something above
|
||||
let indent_info.plnum_msl = s:GetMSL(indent_info.plnum)
|
||||
|
||||
for callback_name in indent_callback_names
|
||||
" Decho "Running: ".callback_name
|
||||
let indent = call(function(callback_name), [indent_info])
|
||||
|
||||
if indent >= 0
|
||||
" Decho "Match: ".callback_name." indent=".indent." info=".string(indent_info)
|
||||
return indent
|
||||
endif
|
||||
endfor
|
||||
|
||||
" }}}2
|
||||
|
||||
" By default, just return the previous line's indent
|
||||
" Decho "Default case matched"
|
||||
return indent(indent_info.plnum)
|
||||
endfunction
|
||||
|
||||
" 3. Indenting Logic Callbacks {{{1
|
||||
" ============================
|
||||
|
||||
function! s:AccessModifier(cline_info) abort
|
||||
let info = a:cline_info
|
||||
|
||||
" If this line is an access modifier keyword, align according to the closest
|
||||
" class declaration.
|
||||
if g:ruby_indent_access_modifier_style == 'indent'
|
||||
if s:Match(info.clnum, s:access_modifier_regex)
|
||||
let class_lnum = s:FindContainingClass()
|
||||
if class_lnum > 0
|
||||
return indent(class_lnum) + info.sw
|
||||
endif
|
||||
endif
|
||||
elseif g:ruby_indent_access_modifier_style == 'outdent'
|
||||
if s:Match(info.clnum, s:access_modifier_regex)
|
||||
let class_lnum = s:FindContainingClass()
|
||||
if class_lnum > 0
|
||||
return indent(class_lnum)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:ClosingBracketOnEmptyLine(cline_info) abort
|
||||
let info = a:cline_info
|
||||
|
||||
" If we got a closing bracket on an empty line, find its match and indent
|
||||
" according to it. For parentheses we indent to its column - 1, for the
|
||||
" others we indent to the containing line's MSL's level. Return -1 if fail.
|
||||
let col = matchend(info.cline, '^\s*[]})]')
|
||||
|
||||
if col > 0 && !s:IsInStringOrComment(info.clnum, col)
|
||||
call cursor(info.clnum, col)
|
||||
let closing_bracket = info.cline[col - 1]
|
||||
let bracket_pair = strpart('(){}[]', stridx(')}]', closing_bracket) * 2, 2)
|
||||
|
||||
if searchpair(escape(bracket_pair[0], '\['), '', bracket_pair[1], 'bW', s:skip_expr) > 0
|
||||
if closing_bracket == ')' && col('.') != col('$') - 1
|
||||
let ind = virtcol('.') - 1
|
||||
elseif g:ruby_indent_block_style == 'do'
|
||||
let ind = indent(line('.'))
|
||||
else " g:ruby_indent_block_style == 'expression'
|
||||
let ind = indent(s:GetMSL(line('.')))
|
||||
endif
|
||||
endif
|
||||
|
||||
return ind
|
||||
endif
|
||||
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:BlockComment(cline_info) abort
|
||||
" If we have a =begin or =end set indent to first column.
|
||||
if match(a:cline_info.cline, '^\s*\%(=begin\|=end\)$') != -1
|
||||
return 0
|
||||
endif
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:DeindentingKeyword(cline_info) abort
|
||||
let info = a:cline_info
|
||||
|
||||
" If we have a deindenting keyword, find its match and indent to its level.
|
||||
" TODO: this is messy
|
||||
if s:Match(info.clnum, s:ruby_deindent_keywords)
|
||||
call cursor(info.clnum, 1)
|
||||
|
||||
if searchpair(s:end_start_regex, s:end_middle_regex, s:end_end_regex, 'bW',
|
||||
\ s:end_skip_expr) > 0
|
||||
let msl = s:GetMSL(line('.'))
|
||||
let line = getline(line('.'))
|
||||
|
||||
if s:IsAssignment(line, col('.')) &&
|
||||
\ strpart(line, col('.') - 1, 2) !~ 'do'
|
||||
" assignment to case/begin/etc, on the same line
|
||||
if g:ruby_indent_assignment_style == 'hanging'
|
||||
" hanging indent
|
||||
let ind = virtcol('.') - 1
|
||||
else
|
||||
" align with variable
|
||||
let ind = indent(line('.'))
|
||||
endif
|
||||
elseif g:ruby_indent_block_style == 'do'
|
||||
" align to line of the "do", not to the MSL
|
||||
let ind = indent(line('.'))
|
||||
elseif getline(msl) =~ '=\s*\(#.*\)\=$'
|
||||
" in the case of assignment to the MSL, align to the starting line,
|
||||
" not to the MSL
|
||||
let ind = indent(line('.'))
|
||||
else
|
||||
" align to the MSL
|
||||
let ind = indent(msl)
|
||||
endif
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:MultilineStringOrLineComment(cline_info) abort
|
||||
let info = a:cline_info
|
||||
|
||||
" If we are in a multi-line string or line-comment, don't do anything to it.
|
||||
if s:IsInStringOrDocumentation(info.clnum, matchend(info.cline, '^\s*') + 1)
|
||||
return indent(info.clnum)
|
||||
endif
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:ClosingHeredocDelimiter(cline_info) abort
|
||||
let info = a:cline_info
|
||||
|
||||
" If we are at the closing delimiter of a "<<" heredoc-style string, set the
|
||||
" indent to 0.
|
||||
if info.cline =~ '^\k\+\s*$'
|
||||
\ && s:IsInStringDelimiter(info.clnum, 1)
|
||||
\ && search('\V<<'.info.cline, 'nbW') > 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:LeadingOperator(cline_info) abort
|
||||
" If the current line starts with a leading operator, add a level of indent.
|
||||
if s:Match(a:cline_info.clnum, s:leading_operator_regex)
|
||||
return indent(s:GetMSL(a:cline_info.clnum)) + a:cline_info.sw
|
||||
endif
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:EmptyInsideString(pline_info) abort
|
||||
" If the line is empty and inside a string (the previous line is a string,
|
||||
" too), use the previous line's indent
|
||||
let info = a:pline_info
|
||||
|
||||
let plnum = prevnonblank(info.clnum - 1)
|
||||
let pline = getline(plnum)
|
||||
|
||||
if info.cline =~ '^\s*$'
|
||||
\ && s:IsInStringOrComment(plnum, 1)
|
||||
\ && s:IsInStringOrComment(plnum, strlen(pline))
|
||||
return indent(plnum)
|
||||
endif
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:StartOfFile(pline_info) abort
|
||||
" At the start of the file use zero indent.
|
||||
if a:pline_info.plnum == 0
|
||||
return 0
|
||||
endif
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:AfterAccessModifier(pline_info) abort
|
||||
let info = a:pline_info
|
||||
|
||||
if g:ruby_indent_access_modifier_style == 'indent'
|
||||
" If the previous line was a private/protected keyword, add a
|
||||
" level of indent.
|
||||
if s:Match(info.plnum, s:indent_access_modifier_regex)
|
||||
return indent(info.plnum) + info.sw
|
||||
endif
|
||||
elseif g:ruby_indent_access_modifier_style == 'outdent'
|
||||
" If the previous line was a private/protected/public keyword, add
|
||||
" a level of indent, since the keyword has been out-dented.
|
||||
if s:Match(info.plnum, s:access_modifier_regex)
|
||||
return indent(info.plnum) + info.sw
|
||||
endif
|
||||
endif
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
" Example:
|
||||
"
|
||||
" if foo || bar ||
|
||||
" baz || bing
|
||||
" puts "foo"
|
||||
" end
|
||||
"
|
||||
function! s:ContinuedLine(pline_info) abort
|
||||
let info = a:pline_info
|
||||
|
||||
let col = s:Match(info.plnum, s:ruby_indent_keywords)
|
||||
if s:Match(info.plnum, s:continuable_regex) &&
|
||||
\ s:Match(info.plnum, s:continuation_regex)
|
||||
if col > 0 && s:IsAssignment(info.pline, col)
|
||||
if g:ruby_indent_assignment_style == 'hanging'
|
||||
" hanging indent
|
||||
let ind = col - 1
|
||||
else
|
||||
" align with variable
|
||||
let ind = indent(info.plnum)
|
||||
endif
|
||||
else
|
||||
let ind = indent(s:GetMSL(info.plnum))
|
||||
endif
|
||||
return ind + info.sw + info.sw
|
||||
endif
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:AfterBlockOpening(pline_info) abort
|
||||
let info = a:pline_info
|
||||
|
||||
" If the previous line ended with a block opening, add a level of indent.
|
||||
if s:Match(info.plnum, s:block_regex)
|
||||
if g:ruby_indent_block_style == 'do'
|
||||
" don't align to the msl, align to the "do"
|
||||
let ind = indent(info.plnum) + info.sw
|
||||
else
|
||||
let plnum_msl = s:GetMSL(info.plnum)
|
||||
|
||||
if getline(plnum_msl) =~ '=\s*\(#.*\)\=$'
|
||||
" in the case of assignment to the msl, align to the starting line,
|
||||
" not to the msl
|
||||
let ind = indent(info.plnum) + info.sw
|
||||
else
|
||||
let ind = indent(plnum_msl) + info.sw
|
||||
endif
|
||||
endif
|
||||
|
||||
return ind
|
||||
endif
|
||||
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:AfterLeadingOperator(pline_info) abort
|
||||
" If the previous line started with a leading operator, use its MSL's level
|
||||
" of indent
|
||||
if s:Match(a:pline_info.plnum, s:leading_operator_regex)
|
||||
return indent(s:GetMSL(a:pline_info.plnum))
|
||||
endif
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:AfterHangingSplat(pline_info) abort
|
||||
let info = a:pline_info
|
||||
|
||||
" If the previous line ended with the "*" of a splat, add a level of indent
|
||||
if info.pline =~ s:splat_regex
|
||||
return indent(info.plnum) + info.sw
|
||||
endif
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:AfterUnbalancedBracket(pline_info) abort
|
||||
let info = a:pline_info
|
||||
|
||||
" If the previous line contained unclosed opening brackets and we are still
|
||||
" in them, find the rightmost one and add indent depending on the bracket
|
||||
" type.
|
||||
"
|
||||
" If it contained hanging closing brackets, find the rightmost one, find its
|
||||
" match and indent according to that.
|
||||
if info.pline =~ '[[({]' || info.pline =~ '[])}]\s*\%(#.*\)\=$'
|
||||
let [opening, closing] = s:ExtraBrackets(info.plnum)
|
||||
|
||||
if opening.pos != -1
|
||||
if opening.type == '(' && searchpair('(', '', ')', 'bW', s:skip_expr) > 0
|
||||
if col('.') + 1 == col('$')
|
||||
return indent(info.plnum) + info.sw
|
||||
else
|
||||
return virtcol('.')
|
||||
endif
|
||||
else
|
||||
let nonspace = matchend(info.pline, '\S', opening.pos + 1) - 1
|
||||
return nonspace > 0 ? nonspace : indent(info.plnum) + info.sw
|
||||
endif
|
||||
elseif closing.pos != -1
|
||||
call cursor(info.plnum, closing.pos + 1)
|
||||
normal! %
|
||||
|
||||
if s:Match(line('.'), s:ruby_indent_keywords)
|
||||
return indent('.') + info.sw
|
||||
else
|
||||
return indent(s:GetMSL(line('.')))
|
||||
endif
|
||||
else
|
||||
call cursor(info.clnum, info.col)
|
||||
end
|
||||
endif
|
||||
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:AfterEndKeyword(pline_info) abort
|
||||
let info = a:pline_info
|
||||
" If the previous line ended with an "end", match that "end"s beginning's
|
||||
" indent.
|
||||
let col = s:Match(info.plnum, '\%(^\|[^.:@$]\)\<end\>\s*\%(#.*\)\=$')
|
||||
if col > 0
|
||||
call cursor(info.plnum, col)
|
||||
if searchpair(s:end_start_regex, '', s:end_end_regex, 'bW',
|
||||
\ s:end_skip_expr) > 0
|
||||
let n = line('.')
|
||||
let ind = indent('.')
|
||||
let msl = s:GetMSL(n)
|
||||
if msl != n
|
||||
let ind = indent(msl)
|
||||
end
|
||||
return ind
|
||||
endif
|
||||
end
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:AfterIndentKeyword(pline_info) abort
|
||||
let info = a:pline_info
|
||||
let col = s:Match(info.plnum, s:ruby_indent_keywords)
|
||||
|
||||
if col > 0
|
||||
call cursor(info.plnum, col)
|
||||
let ind = virtcol('.') - 1 + info.sw
|
||||
" TODO: make this better (we need to count them) (or, if a searchpair
|
||||
" fails, we know that something is lacking an end and thus we indent a
|
||||
" level
|
||||
if s:Match(info.plnum, s:end_end_regex)
|
||||
let ind = indent('.')
|
||||
elseif s:IsAssignment(info.pline, col)
|
||||
if g:ruby_indent_assignment_style == 'hanging'
|
||||
" hanging indent
|
||||
let ind = col + info.sw - 1
|
||||
else
|
||||
" align with variable
|
||||
let ind = indent(info.plnum) + info.sw
|
||||
endif
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:PreviousNotMSL(msl_info) abort
|
||||
let info = a:msl_info
|
||||
|
||||
" If the previous line wasn't a MSL
|
||||
if info.plnum != info.plnum_msl
|
||||
" If previous line ends bracket and begins non-bracket continuation decrease indent by 1.
|
||||
if s:Match(info.plnum, s:bracket_switch_continuation_regex)
|
||||
" TODO (2016-10-07) Wrong/unused? How could it be "1"?
|
||||
return indent(info.plnum) - 1
|
||||
" If previous line is a continuation return its indent.
|
||||
" TODO: the || s:IsInString() thing worries me a bit.
|
||||
elseif s:Match(info.plnum, s:non_bracket_continuation_regex) || s:IsInString(info.plnum, strlen(line))
|
||||
return indent(info.plnum)
|
||||
endif
|
||||
endif
|
||||
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:IndentingKeywordInMSL(msl_info) abort
|
||||
let info = a:msl_info
|
||||
" If the MSL line had an indenting keyword in it, add a level of indent.
|
||||
" TODO: this does not take into account contrived things such as
|
||||
" module Foo; class Bar; end
|
||||
let col = s:Match(info.plnum_msl, s:ruby_indent_keywords)
|
||||
if col > 0
|
||||
let ind = indent(info.plnum_msl) + info.sw
|
||||
if s:Match(info.plnum_msl, s:end_end_regex)
|
||||
let ind = ind - info.sw
|
||||
elseif s:IsAssignment(getline(info.plnum_msl), col)
|
||||
if g:ruby_indent_assignment_style == 'hanging'
|
||||
" hanging indent
|
||||
let ind = col + info.sw - 1
|
||||
else
|
||||
" align with variable
|
||||
let ind = indent(info.plnum_msl) + info.sw
|
||||
endif
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
function! s:ContinuedHangingOperator(msl_info) abort
|
||||
let info = a:msl_info
|
||||
|
||||
" If the previous line ended with [*+/.,-=], but wasn't a block ending or a
|
||||
" closing bracket, indent one extra level.
|
||||
if s:Match(info.plnum_msl, s:non_bracket_continuation_regex) && !s:Match(info.plnum_msl, '^\s*\([\])}]\|end\)')
|
||||
if info.plnum_msl == info.plnum
|
||||
let ind = indent(info.plnum_msl) + info.sw
|
||||
else
|
||||
let ind = indent(info.plnum_msl)
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
" 4. Auxiliary Functions {{{1
|
||||
" ======================
|
||||
|
||||
function! s:IsInRubyGroup(groups, lnum, col) abort
|
||||
let ids = map(copy(a:groups), 'hlID("ruby".v:val)')
|
||||
return index(ids, synID(a:lnum, a:col, 1)) >= 0
|
||||
endfunction
|
||||
|
||||
" Check if the character at lnum:col is inside a string, comment, or is ascii.
|
||||
function s:IsInStringOrComment(lnum, col)
|
||||
return synIDattr(synID(a:lnum, a:col, 1), 'name') =~ s:syng_strcom
|
||||
function! s:IsInStringOrComment(lnum, col) abort
|
||||
return s:IsInRubyGroup(s:syng_strcom, a:lnum, a:col)
|
||||
endfunction
|
||||
|
||||
" Check if the character at lnum:col is inside a string.
|
||||
function s:IsInString(lnum, col)
|
||||
return synIDattr(synID(a:lnum, a:col, 1), 'name') =~ s:syng_string
|
||||
function! s:IsInString(lnum, col) abort
|
||||
return s:IsInRubyGroup(s:syng_string, a:lnum, a:col)
|
||||
endfunction
|
||||
|
||||
" Check if the character at lnum:col is inside a string or documentation.
|
||||
function s:IsInStringOrDocumentation(lnum, col)
|
||||
return synIDattr(synID(a:lnum, a:col, 1), 'name') =~ s:syng_stringdoc
|
||||
function! s:IsInStringOrDocumentation(lnum, col) abort
|
||||
return s:IsInRubyGroup(s:syng_stringdoc, a:lnum, a:col)
|
||||
endfunction
|
||||
|
||||
" Check if the character at lnum:col is inside a string delimiter
|
||||
function s:IsInStringDelimiter(lnum, col)
|
||||
return synIDattr(synID(a:lnum, a:col, 1), 'name') == 'rubyStringDelimiter'
|
||||
function! s:IsInStringDelimiter(lnum, col) abort
|
||||
return s:IsInRubyGroup(['StringDelimiter'], a:lnum, a:col)
|
||||
endfunction
|
||||
|
||||
function! s:IsAssignment(str, pos) abort
|
||||
return strpart(a:str, 0, a:pos - 1) =~ '=\s*$'
|
||||
endfunction
|
||||
|
||||
" Find line above 'lnum' that isn't empty, in a comment, or in a string.
|
||||
function s:PrevNonBlankNonString(lnum)
|
||||
function! s:PrevNonBlankNonString(lnum) abort
|
||||
let in_block = 0
|
||||
let lnum = prevnonblank(a:lnum)
|
||||
while lnum > 0
|
||||
@ -191,10 +728,9 @@ function s:PrevNonBlankNonString(lnum)
|
||||
endfunction
|
||||
|
||||
" Find line above 'lnum' that started the continuation 'lnum' may be part of.
|
||||
function s:GetMSL(lnum)
|
||||
function! s:GetMSL(lnum) abort
|
||||
" Start on the line we're at and use its indent.
|
||||
let msl = a:lnum
|
||||
let msl_body = getline(msl)
|
||||
let lnum = s:PrevNonBlankNonString(a:lnum - 1)
|
||||
while lnum > 0
|
||||
" If we have a continuation line, or we're in a string, use line as MSL.
|
||||
@ -291,14 +827,13 @@ function s:GetMSL(lnum)
|
||||
endif
|
||||
endif
|
||||
|
||||
let msl_body = getline(msl)
|
||||
let lnum = s:PrevNonBlankNonString(lnum - 1)
|
||||
endwhile
|
||||
return msl
|
||||
endfunction
|
||||
|
||||
" Check if line 'lnum' has more opening brackets than closing ones.
|
||||
function s:ExtraBrackets(lnum)
|
||||
function! s:ExtraBrackets(lnum) abort
|
||||
let opening = {'parentheses': [], 'braces': [], 'brackets': []}
|
||||
let closing = {'parentheses': [], 'braces': [], 'brackets': []}
|
||||
|
||||
@ -360,7 +895,7 @@ function s:ExtraBrackets(lnum)
|
||||
return [rightmost_opening, rightmost_closing]
|
||||
endfunction
|
||||
|
||||
function s:Match(lnum, regex)
|
||||
function! s:Match(lnum, regex) abort
|
||||
let line = getline(a:lnum)
|
||||
let offset = match(line, '\C'.a:regex)
|
||||
let col = offset + 1
|
||||
@ -380,7 +915,7 @@ endfunction
|
||||
" Locates the containing class/module's definition line, ignoring nested classes
|
||||
" along the way.
|
||||
"
|
||||
function! s:FindContainingClass()
|
||||
function! s:FindContainingClass() abort
|
||||
let saved_position = getpos('.')
|
||||
|
||||
while searchpair(s:end_start_regex, s:end_middle_regex, s:end_end_regex, 'bW',
|
||||
@ -396,297 +931,6 @@ function! s:FindContainingClass()
|
||||
return 0
|
||||
endfunction
|
||||
|
||||
" 3. GetRubyIndent Function {{{1
|
||||
" =========================
|
||||
|
||||
function GetRubyIndent(...)
|
||||
" 3.1. Setup {{{2
|
||||
" ----------
|
||||
|
||||
" The value of a single shift-width
|
||||
let sw = shiftwidth()
|
||||
|
||||
" For the current line, use the first argument if given, else v:lnum
|
||||
let clnum = a:0 ? a:1 : v:lnum
|
||||
|
||||
" Set up variables for restoring position in file. Could use clnum here.
|
||||
let vcol = col('.')
|
||||
|
||||
" 3.2. Work on the current line {{{2
|
||||
" -----------------------------
|
||||
|
||||
" Get the current line.
|
||||
let line = getline(clnum)
|
||||
let ind = -1
|
||||
|
||||
" If this line is an access modifier keyword, align according to the closest
|
||||
" class declaration.
|
||||
if g:ruby_indent_access_modifier_style == 'indent'
|
||||
if s:Match(clnum, s:access_modifier_regex)
|
||||
let class_line = s:FindContainingClass()
|
||||
if class_line > 0
|
||||
return indent(class_line) + sw
|
||||
endif
|
||||
endif
|
||||
elseif g:ruby_indent_access_modifier_style == 'outdent'
|
||||
if s:Match(clnum, s:access_modifier_regex)
|
||||
let class_line = s:FindContainingClass()
|
||||
if class_line > 0
|
||||
return indent(class_line)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
" If we got a closing bracket on an empty line, find its match and indent
|
||||
" according to it. For parentheses we indent to its column - 1, for the
|
||||
" others we indent to the containing line's MSL's level. Return -1 if fail.
|
||||
let col = matchend(line, '^\s*[]})]')
|
||||
if col > 0 && !s:IsInStringOrComment(clnum, col)
|
||||
call cursor(clnum, col)
|
||||
let bs = strpart('(){}[]', stridx(')}]', line[col - 1]) * 2, 2)
|
||||
if searchpair(escape(bs[0], '\['), '', bs[1], 'bW', s:skip_expr) > 0
|
||||
if line[col-1]==')' && col('.') != col('$') - 1
|
||||
let ind = virtcol('.') - 1
|
||||
elseif g:ruby_indent_block_style == 'do'
|
||||
let ind = indent(line('.'))
|
||||
else " g:ruby_indent_block_style == 'expression'
|
||||
let ind = indent(s:GetMSL(line('.')))
|
||||
endif
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
" If we have a =begin or =end set indent to first column.
|
||||
if match(line, '^\s*\%(=begin\|=end\)$') != -1
|
||||
return 0
|
||||
endif
|
||||
|
||||
" If we have a deindenting keyword, find its match and indent to its level.
|
||||
" TODO: this is messy
|
||||
if s:Match(clnum, s:ruby_deindent_keywords)
|
||||
call cursor(clnum, 1)
|
||||
if searchpair(s:end_start_regex, s:end_middle_regex, s:end_end_regex, 'bW',
|
||||
\ s:end_skip_expr) > 0
|
||||
let msl = s:GetMSL(line('.'))
|
||||
let line = getline(line('.'))
|
||||
|
||||
if strpart(line, 0, col('.') - 1) =~ '=\s*$' &&
|
||||
\ strpart(line, col('.') - 1, 2) !~ 'do'
|
||||
" assignment to case/begin/etc, on the same line, hanging indent
|
||||
let ind = virtcol('.') - 1
|
||||
elseif g:ruby_indent_block_style == 'do'
|
||||
" align to line of the "do", not to the MSL
|
||||
let ind = indent(line('.'))
|
||||
elseif getline(msl) =~ '=\s*\(#.*\)\=$'
|
||||
" in the case of assignment to the MSL, align to the starting line,
|
||||
" not to the MSL
|
||||
let ind = indent(line('.'))
|
||||
else
|
||||
" align to the MSL
|
||||
let ind = indent(msl)
|
||||
endif
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
" If we are in a multi-line string or line-comment, don't do anything to it.
|
||||
if s:IsInStringOrDocumentation(clnum, matchend(line, '^\s*') + 1)
|
||||
return indent('.')
|
||||
endif
|
||||
|
||||
" If we are at the closing delimiter of a "<<" heredoc-style string, set the
|
||||
" indent to 0.
|
||||
if line =~ '^\k\+\s*$'
|
||||
\ && s:IsInStringDelimiter(clnum, 1)
|
||||
\ && search('\V<<'.line, 'nbW') > 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
" If the current line starts with a leading operator, add a level of indent.
|
||||
if s:Match(clnum, s:leading_operator_regex)
|
||||
return indent(s:GetMSL(clnum)) + sw
|
||||
endif
|
||||
|
||||
" 3.3. Work on the previous line. {{{2
|
||||
" -------------------------------
|
||||
|
||||
" Find a non-blank, non-multi-line string line above the current line.
|
||||
let lnum = s:PrevNonBlankNonString(clnum - 1)
|
||||
|
||||
" If the line is empty and inside a string, use the previous line.
|
||||
if line =~ '^\s*$' && lnum != prevnonblank(clnum - 1)
|
||||
return indent(prevnonblank(clnum))
|
||||
endif
|
||||
|
||||
" At the start of the file use zero indent.
|
||||
if lnum == 0
|
||||
return 0
|
||||
endif
|
||||
|
||||
" Set up variables for the previous line.
|
||||
let line = getline(lnum)
|
||||
let ind = indent(lnum)
|
||||
|
||||
if g:ruby_indent_access_modifier_style == 'indent'
|
||||
" If the previous line was a private/protected keyword, add a
|
||||
" level of indent.
|
||||
if s:Match(lnum, s:indent_access_modifier_regex)
|
||||
return indent(lnum) + sw
|
||||
endif
|
||||
elseif g:ruby_indent_access_modifier_style == 'outdent'
|
||||
" If the previous line was a private/protected/public keyword, add
|
||||
" a level of indent, since the keyword has been out-dented.
|
||||
if s:Match(lnum, s:access_modifier_regex)
|
||||
return indent(lnum) + sw
|
||||
endif
|
||||
endif
|
||||
|
||||
if s:Match(lnum, s:continuable_regex) && s:Match(lnum, s:continuation_regex)
|
||||
return indent(s:GetMSL(lnum)) + sw + sw
|
||||
endif
|
||||
|
||||
" If the previous line ended with a block opening, add a level of indent.
|
||||
if s:Match(lnum, s:block_regex)
|
||||
let msl = s:GetMSL(lnum)
|
||||
|
||||
if g:ruby_indent_block_style == 'do'
|
||||
" don't align to the msl, align to the "do"
|
||||
let ind = indent(lnum) + sw
|
||||
elseif getline(msl) =~ '=\s*\(#.*\)\=$'
|
||||
" in the case of assignment to the msl, align to the starting line,
|
||||
" not to the msl
|
||||
let ind = indent(lnum) + sw
|
||||
else
|
||||
let ind = indent(msl) + sw
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
" If the previous line started with a leading operator, use its MSL's level
|
||||
" of indent
|
||||
if s:Match(lnum, s:leading_operator_regex)
|
||||
return indent(s:GetMSL(lnum))
|
||||
endif
|
||||
|
||||
" If the previous line ended with the "*" of a splat, add a level of indent
|
||||
if line =~ s:splat_regex
|
||||
return indent(lnum) + sw
|
||||
endif
|
||||
|
||||
" If the previous line contained unclosed opening brackets and we are still
|
||||
" in them, find the rightmost one and add indent depending on the bracket
|
||||
" type.
|
||||
"
|
||||
" If it contained hanging closing brackets, find the rightmost one, find its
|
||||
" match and indent according to that.
|
||||
if line =~ '[[({]' || line =~ '[])}]\s*\%(#.*\)\=$'
|
||||
let [opening, closing] = s:ExtraBrackets(lnum)
|
||||
|
||||
if opening.pos != -1
|
||||
if opening.type == '(' && searchpair('(', '', ')', 'bW', s:skip_expr) > 0
|
||||
if col('.') + 1 == col('$')
|
||||
return ind + sw
|
||||
else
|
||||
return virtcol('.')
|
||||
endif
|
||||
else
|
||||
let nonspace = matchend(line, '\S', opening.pos + 1) - 1
|
||||
return nonspace > 0 ? nonspace : ind + sw
|
||||
endif
|
||||
elseif closing.pos != -1
|
||||
call cursor(lnum, closing.pos + 1)
|
||||
normal! %
|
||||
|
||||
if s:Match(line('.'), s:ruby_indent_keywords)
|
||||
return indent('.') + sw
|
||||
else
|
||||
return indent(s:GetMSL(line('.')))
|
||||
endif
|
||||
else
|
||||
call cursor(clnum, vcol)
|
||||
end
|
||||
endif
|
||||
|
||||
" If the previous line ended with an "end", match that "end"s beginning's
|
||||
" indent.
|
||||
let col = s:Match(lnum, '\%(^\|[^.:@$]\)\<end\>\s*\%(#.*\)\=$')
|
||||
if col > 0
|
||||
call cursor(lnum, col)
|
||||
if searchpair(s:end_start_regex, '', s:end_end_regex, 'bW',
|
||||
\ s:end_skip_expr) > 0
|
||||
let n = line('.')
|
||||
let ind = indent('.')
|
||||
let msl = s:GetMSL(n)
|
||||
if msl != n
|
||||
let ind = indent(msl)
|
||||
end
|
||||
return ind
|
||||
endif
|
||||
end
|
||||
|
||||
let col = s:Match(lnum, s:ruby_indent_keywords)
|
||||
if col > 0
|
||||
call cursor(lnum, col)
|
||||
let ind = virtcol('.') - 1 + sw
|
||||
" TODO: make this better (we need to count them) (or, if a searchpair
|
||||
" fails, we know that something is lacking an end and thus we indent a
|
||||
" level
|
||||
if s:Match(lnum, s:end_end_regex)
|
||||
let ind = indent('.')
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
" 3.4. Work on the MSL line. {{{2
|
||||
" --------------------------
|
||||
|
||||
" Set up variables to use and search for MSL to the previous line.
|
||||
let p_lnum = lnum
|
||||
let lnum = s:GetMSL(lnum)
|
||||
|
||||
" If the previous line wasn't a MSL.
|
||||
if p_lnum != lnum
|
||||
" If previous line ends bracket and begins non-bracket continuation decrease indent by 1.
|
||||
if s:Match(p_lnum, s:bracket_switch_continuation_regex)
|
||||
return ind - 1
|
||||
" If previous line is a continuation return its indent.
|
||||
" TODO: the || s:IsInString() thing worries me a bit.
|
||||
elseif s:Match(p_lnum, s:non_bracket_continuation_regex) || s:IsInString(p_lnum,strlen(line))
|
||||
return ind
|
||||
endif
|
||||
endif
|
||||
|
||||
" Set up more variables, now that we know we wasn't continuation bound.
|
||||
let line = getline(lnum)
|
||||
let msl_ind = indent(lnum)
|
||||
|
||||
" If the MSL line had an indenting keyword in it, add a level of indent.
|
||||
" TODO: this does not take into account contrived things such as
|
||||
" module Foo; class Bar; end
|
||||
if s:Match(lnum, s:ruby_indent_keywords)
|
||||
let ind = msl_ind + sw
|
||||
if s:Match(lnum, s:end_end_regex)
|
||||
let ind = ind - sw
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
" If the previous line ended with [*+/.,-=], but wasn't a block ending or a
|
||||
" closing bracket, indent one extra level.
|
||||
if s:Match(lnum, s:non_bracket_continuation_regex) && !s:Match(lnum, '^\s*\([\])}]\|end\)')
|
||||
if lnum == p_lnum
|
||||
let ind = msl_ind + sw
|
||||
else
|
||||
let ind = msl_ind
|
||||
endif
|
||||
return ind
|
||||
endif
|
||||
|
||||
" }}}2
|
||||
|
||||
return ind
|
||||
endfunction
|
||||
|
||||
" }}}1
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
|
@ -4,7 +4,7 @@ For instructions on installing this file, type
|
||||
:help matchit-install
|
||||
inside Vim.
|
||||
|
||||
For Vim version 6.3. Last change: 2017 May 14
|
||||
For Vim version 6.3. Last change: 2018 Dec 31
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Benji Fisher
|
||||
@ -19,9 +19,6 @@ For Vim version 6.3. Last change: 2017 May 14
|
||||
|
||||
The functionality mentioned here is a plugin, see |add-plugin|.
|
||||
This plugin is only available if 'compatible' is not set.
|
||||
You can avoid loading this plugin by setting the "loaded_matchit" variable
|
||||
in your |vimrc| file: >
|
||||
:let loaded_matchit = 1
|
||||
|
||||
{Vi does not have any of this}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
" matchit.vim: (global plugin) Extended "%" matching
|
||||
" Last Change: 2018 Jul 3 by Christian Brabandt
|
||||
" Last Change: 2018 Dec 31
|
||||
" Maintainer: Benji Fisher PhD <benji@member.AMS.org>
|
||||
" Version: 1.13.3, for Vim 6.3+
|
||||
" Fix from Fernando Torres included.
|
||||
@ -37,8 +37,7 @@
|
||||
" TODO: Add a level of indirection, so that custom % scripts can use my
|
||||
" work but extend it.
|
||||
|
||||
" allow user to prevent loading
|
||||
" and prevent duplicate loading
|
||||
" Allow user to prevent loading and prevent duplicate loading.
|
||||
if exists("loaded_matchit") || &cp
|
||||
finish
|
||||
endif
|
||||
|
@ -142,6 +142,13 @@ func s:StartDebug_internal(dict)
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Use when debugger didn't start or ended.
|
||||
func s:CloseBuffers()
|
||||
exe 'bwipe! ' . s:ptybuf
|
||||
exe 'bwipe! ' . s:commbuf
|
||||
unlet! s:gdbwin
|
||||
endfunc
|
||||
|
||||
func s:StartDebug_term(dict)
|
||||
" Open a terminal window without a job, to run the debugged program in.
|
||||
let s:ptybuf = term_start('NONE', {
|
||||
@ -181,13 +188,11 @@ func s:StartDebug_term(dict)
|
||||
let cmd = [g:termdebugger, '-quiet', '-tty', pty] + gdb_args
|
||||
call ch_log('executing "' . join(cmd) . '"')
|
||||
let s:gdbbuf = term_start(cmd, {
|
||||
\ 'exit_cb': function('s:EndTermDebug'),
|
||||
\ 'term_finish': 'close',
|
||||
\ })
|
||||
if s:gdbbuf == 0
|
||||
echoerr 'Failed to open the gdb terminal window'
|
||||
exe 'bwipe! ' . s:ptybuf
|
||||
exe 'bwipe! ' . s:commbuf
|
||||
call s:CloseBuffers()
|
||||
return
|
||||
endif
|
||||
let s:gdbwin = win_getid(winnr())
|
||||
@ -204,6 +209,13 @@ func s:StartDebug_term(dict)
|
||||
" why the debugger doesn't work.
|
||||
let try_count = 0
|
||||
while 1
|
||||
let gdbproc = term_getjob(s:gdbbuf)
|
||||
if gdbproc == v:null || job_status(gdbproc) !=# 'run'
|
||||
echoerr string(g:termdebugger) . ' exited unexpectedly'
|
||||
call s:CloseBuffers()
|
||||
return
|
||||
endif
|
||||
|
||||
let response = ''
|
||||
for lnum in range(1,200)
|
||||
if term_getline(s:gdbbuf, lnum) =~ 'new-ui mi '
|
||||
@ -211,8 +223,7 @@ func s:StartDebug_term(dict)
|
||||
let response = term_getline(s:gdbbuf, lnum) . term_getline(s:gdbbuf, lnum + 1)
|
||||
if response =~ 'Undefined command'
|
||||
echoerr 'Sorry, your gdb is too old, gdb 7.12 is required'
|
||||
exe 'bwipe! ' . s:ptybuf
|
||||
exe 'bwipe! ' . s:commbuf
|
||||
call s:CloseBuffers()
|
||||
return
|
||||
endif
|
||||
if response =~ 'New UI allocated'
|
||||
@ -243,6 +254,7 @@ func s:StartDebug_term(dict)
|
||||
" "Type <return> to continue" prompt.
|
||||
call s:SendCommand('set pagination off')
|
||||
|
||||
call job_setoptions(gdbproc, {'exit_cb': function('s:EndTermDebug')})
|
||||
call s:StartDebugCommon(a:dict)
|
||||
endfunc
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: automake Makefile.am
|
||||
" Maintainer: Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainer: John Williams <jrw@pobox.com>
|
||||
" Last Change: 2011-06-13
|
||||
" URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/automake.vim
|
||||
" Language: automake Makefile.am
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Former Maintainer: John Williams <jrw@pobox.com>
|
||||
" Last Change: 2018 Dec 27
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/automake.vim
|
||||
"
|
||||
" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain
|
||||
" it only because patches have been submitted for it by Debian users and the
|
||||
@ -18,7 +18,7 @@
|
||||
" EXTRA_SOURCES.
|
||||
|
||||
" Standard syntax initialization
|
||||
if exists("b:current_syntax")
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
@ -37,8 +37,8 @@ syn match automakeConditional "^\(if\s*!\=\w\+\|else\|endif\)\s*$"
|
||||
|
||||
syn match automakeSubst "@\w\+@"
|
||||
syn match automakeSubst "^\s*@\w\+@"
|
||||
syn match automakeComment1 "#.*$" contains=automakeSubst
|
||||
syn match automakeComment2 "##.*$"
|
||||
syn match automakeComment1 "#.*$" contains=automakeSubst,@Spell
|
||||
syn match automakeComment2 "##.*$" contains=@Spell
|
||||
|
||||
syn match automakeMakeError "$[{(][^})]*[^a-zA-Z0-9_})][^})]*[})]" " GNU make function call
|
||||
syn match automakeMakeError "^AM_LDADD\s*\ze+\==" " Common mistake
|
||||
@ -72,6 +72,6 @@ hi def link automakeMakeSString makeSString
|
||||
hi def link automakeMakeBString makeBString
|
||||
|
||||
|
||||
let b:current_syntax = "automake"
|
||||
let b:current_syntax = 'automake'
|
||||
|
||||
" vi: ts=8 sw=4 sts=4
|
||||
|
@ -3,8 +3,9 @@
|
||||
" Maintainer: Tim Pope <vimNOSPAM@tpope.org>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2018 Jul 04
|
||||
|
||||
if exists("b:current_syntax")
|
||||
if &syntax !~# '\<eruby\>' || get(b:, 'current_syntax') =~# '\<eruby\>'
|
||||
finish
|
||||
endif
|
||||
|
||||
@ -18,11 +19,13 @@ endif
|
||||
|
||||
if &filetype =~ '^eruby\.'
|
||||
let b:eruby_subtype = matchstr(&filetype,'^eruby\.\zs\w\+')
|
||||
elseif &filetype =~ '^.*\.eruby\>'
|
||||
let b:eruby_subtype = matchstr(&filetype,'^.\{-\}\ze\.eruby\>')
|
||||
elseif !exists("b:eruby_subtype") && main_syntax == 'eruby'
|
||||
let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$")
|
||||
let b:eruby_subtype = matchstr(s:lines,'eruby_subtype=\zs\w\+')
|
||||
if b:eruby_subtype == ''
|
||||
let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\|\.erubis\)\+$','',''),'\.\zs\w\+\%(\ze+\w\+\)\=$')
|
||||
let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\|\.erubis\|\.example\)\+$','',''),'\.\zs\w\+\%(\ze+\w\+\)\=$')
|
||||
endif
|
||||
if b:eruby_subtype == 'rhtml'
|
||||
let b:eruby_subtype = 'html'
|
||||
@ -41,16 +44,20 @@ elseif !exists("b:eruby_subtype") && main_syntax == 'eruby'
|
||||
endif
|
||||
|
||||
if !exists("b:eruby_nest_level")
|
||||
let b:eruby_nest_level = strlen(substitute(substitute(substitute(expand("%:t"),'@','','g'),'\c\.\%(erb\|rhtml\)\>','@','g'),'[^@]','','g'))
|
||||
if &syntax =~# '\<eruby\.eruby\>'
|
||||
let b:eruby_nest_level = strlen(substitute(substitute(&filetype,'\C\<eruby\>','@','g'),'[^@]','','g'))
|
||||
else
|
||||
let b:eruby_nest_level = strlen(substitute(substitute(substitute(expand("%:t"),'@','','g'),'\c\.\%(erb\|rhtml\)\>','@','g'),'[^@]','','g'))
|
||||
endif
|
||||
endif
|
||||
if !b:eruby_nest_level
|
||||
let b:eruby_nest_level = 1
|
||||
endif
|
||||
|
||||
if exists("b:eruby_subtype") && b:eruby_subtype != ''
|
||||
if get(b:, 'eruby_subtype', '') !~# '^\%(eruby\)\=$' && &syntax =~# '^eruby\>'
|
||||
exe "runtime! syntax/".b:eruby_subtype.".vim"
|
||||
unlet! b:current_syntax
|
||||
endif
|
||||
unlet! b:current_syntax
|
||||
syn include @rubyTop syntax/ruby.vim
|
||||
|
||||
syn cluster erubyRegions contains=erubyOneLiner,erubyBlock,erubyExpression,erubyComment
|
||||
@ -65,7 +72,7 @@ exe 'syn region erubyComment matchgroup=erubyDelimiter start="<%\{1,'.b:erub
|
||||
hi def link erubyDelimiter PreProc
|
||||
hi def link erubyComment Comment
|
||||
|
||||
let b:current_syntax = 'eruby'
|
||||
let b:current_syntax = matchstr(&syntax, '^.*\<eruby\>')
|
||||
|
||||
if main_syntax == 'eruby'
|
||||
unlet main_syntax
|
||||
|
@ -3,7 +3,7 @@
|
||||
" Maintainer: Marshall Ward <marshall.ward@gmail.com>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Website: https://github.com/marshallward/vim-restructuredtext
|
||||
" Latest Revision: 2018-07-23
|
||||
" Latest Revision: 2018-12-29
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@ -59,6 +59,7 @@ syn keyword rstTodo contained FIXME TODO XXX NOTE
|
||||
|
||||
execute 'syn region rstComment contained' .
|
||||
\ ' start=/.*/'
|
||||
\ ' skip=+^$+' .
|
||||
\ ' end=/^\s\@!/ contains=rstTodo'
|
||||
|
||||
execute 'syn region rstFootnote contained matchgroup=rstDirective' .
|
||||
|
@ -3,6 +3,7 @@
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" URL: https://github.com/vim-ruby/vim-ruby
|
||||
" Release Coordinator: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2018 Jul 09
|
||||
" ----------------------------------------------------------------------------
|
||||
"
|
||||
" Previous Maintainer: Mirko Nasato
|
||||
@ -45,7 +46,7 @@ function! s:foldable(...) abort
|
||||
return 0
|
||||
endfunction " }}}
|
||||
|
||||
syn cluster rubyNotTop contains=@rubyExtendedStringSpecial,@rubyRegexpSpecial,@rubyDeclaration,rubyConditional,rubyExceptional,rubyMethodExceptional,rubyTodo
|
||||
syn cluster rubyNotTop contains=@rubyExtendedStringSpecial,@rubyRegexpSpecial,@rubyDeclaration,rubyConditional,rubyExceptional,rubyMethodExceptional,rubyTodo,rubyModuleName,rubyClassName,rubySymbolDelimiter
|
||||
|
||||
" Whitespace Errors {{{1
|
||||
if exists("ruby_space_errors")
|
||||
@ -122,21 +123,24 @@ syn match rubyFloat "\%(\%(\w\|[]})\"']\s*\)\@<!-\)\=\<\%(0\|[1-9]\d*\%(_\d\+\)*
|
||||
syn match rubyLocalVariableOrMethod "\<[_[:lower:]][_[:alnum:]]*[?!=]\=" contains=NONE display transparent
|
||||
syn match rubyBlockArgument "&[_[:lower:]][_[:alnum:]]" contains=NONE display transparent
|
||||
|
||||
syn match rubyClassName "\%(\%(^\|[^.]\)\.\s*\)\@<!\<\u\%(\w\|[^\x00-\x7F]\)*\>\%(\s*(\)\@!" contained
|
||||
syn match rubyModuleName "\%(\%(^\|[^.]\)\.\s*\)\@<!\<\u\%(\w\|[^\x00-\x7F]\)*\>\%(\s*(\)\@!" contained
|
||||
syn match rubyConstant "\%(\%(^\|[^.]\)\.\s*\)\@<!\<\u\%(\w\|[^\x00-\x7F]\)*\>\%(\s*(\)\@!"
|
||||
syn match rubyClassVariable "@@\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*" display
|
||||
syn match rubyInstanceVariable "@\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*" display
|
||||
syn match rubyGlobalVariable "$\%(\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\|-.\)"
|
||||
syn match rubySymbol "[]})\"':]\@1<!:\%(\^\|\~@\|\~\|<<\|<=>\|<=\|<\|===\|[=!]=\|[=!]\~\|!@\|!\|>>\|>=\|>\||\|-@\|-\|/\|\[]=\|\[]\|\*\*\|\*\|&\|%\|+@\|+\|`\)"
|
||||
syn match rubySymbol "[]})\"':]\@1<!:\$\%(-.\|[`~<=>_,;:!?/.'"@$*\&+0]\)"
|
||||
syn match rubySymbol "[]})\"':]\@1<!:\%(\$\|@@\=\)\=\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*"
|
||||
syn match rubySymbol "[]})\"':]\@1<!:\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\%([?!=]>\@!\)\="
|
||||
syn match rubySymbolDelimiter ":" contained
|
||||
syn match rubySymbol "[]})\"':]\@1<!:\%(\^\|\~@\|\~\|<<\|<=>\|<=\|<\|===\|[=!]=\|[=!]\~\|!@\|!\|>>\|>=\|>\||\|-@\|-\|/\|\[]=\|\[]\|\*\*\|\*\|&\|%\|+@\|+\|`\)" contains=rubySymbolDelimiter
|
||||
syn match rubySymbol "[]})\"':]\@1<!:\$\%(-.\|[`~<=>_,;:!?/.'"@$*\&+0]\)" contains=rubySymbolDelimiter
|
||||
syn match rubySymbol "[]})\"':]\@1<!:\%(\$\|@@\=\)\=\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*" contains=rubySymbolDelimiter
|
||||
syn match rubySymbol "[]})\"':]\@1<!:\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\%([?!=]>\@!\)\=" contains=rubySymbolDelimiter
|
||||
|
||||
if s:foldable(':')
|
||||
syn region rubySymbol start="[]})\"':]\@1<!:'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape fold
|
||||
syn region rubySymbol start="[]})\"':]\@1<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
|
||||
syn region rubySymbol matchgroup=rubySymbolDelimiter start="[]})\"':]\@1<!:'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape fold
|
||||
syn region rubySymbol matchgroup=rubySymbolDelimiter start="[]})\"':]\@1<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial fold
|
||||
else
|
||||
syn region rubySymbol start="[]})\"':]\@1<!:'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape
|
||||
syn region rubySymbol start="[]})\"':]\@1<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial
|
||||
syn region rubySymbol matchgroup=rubySymbolDelimiter start="[]})\"':]\@1<!:'" end="'" skip="\\\\\|\\'" contains=rubyQuoteEscape
|
||||
syn region rubySymbol matchgroup=rubySymbolDelimiter start="[]})\"':]\@1<!:\"" end="\"" skip="\\\\\|\\\"" contains=@rubyStringSpecial
|
||||
endif
|
||||
|
||||
syn match rubyCapitalizedMethod "\%(\%(^\|[^.]\)\.\s*\)\@<!\<\u\%(\w\|[^\x00-\x7F]\)*\>\%(\s*(\)*\s*(\@="
|
||||
@ -157,10 +161,10 @@ syn match rubyPredefinedConstant "\%(\%(^\|[^.]\)\.\s*\)\@<!\<\%(RUBY_\%(VERSION
|
||||
" Normal Regular Expression {{{1
|
||||
if s:foldable('/')
|
||||
syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|when\|not\|then\|else\)\|[;\~=!|&(,{[<>?:*+-]\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial fold
|
||||
syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial fold
|
||||
syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/\%([ \t=]\|$\)\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial fold
|
||||
else
|
||||
syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\%(^\|\<\%(and\|or\|while\|until\|unless\|if\|elsif\|when\|not\|then\|else\)\|[;\~=!|&(,{[<>?:*+-]\)\s*\)\@<=/" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial
|
||||
syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/[ \t=]\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial
|
||||
syn region rubyRegexp matchgroup=rubyRegexpDelimiter start="\%(\h\k*\s\+\)\@<=/\%([ \t=]\|$\)\@!" end="/[iomxneus]*" skip="\\\\\|\\/" contains=@rubyRegexpSpecial
|
||||
endif
|
||||
|
||||
" Generalized Regular Expression {{{1
|
||||
@ -275,10 +279,10 @@ else
|
||||
endif
|
||||
|
||||
" Here Document {{{1
|
||||
syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<[-~]\=\zs\%(\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\)+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
|
||||
syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<[-~]\=\zs"\%([^"]*\)"+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
|
||||
syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<[-~]\=\zs'\%([^']*\)'+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
|
||||
syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\s*\|\%([]})"'.]\|::\)\)\_s*\|\w\)\@<!<<[-~]\=\zs`\%([^`]*\)`+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
|
||||
syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<[-~]\=\zs\%(\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\)+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
|
||||
syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<[-~]\=\zs"\%([^"]*\)"+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
|
||||
syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<[-~]\=\zs'\%([^']*\)'+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
|
||||
syn region rubyHeredocStart matchgroup=rubyStringDelimiter start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<[-~]\=\zs`\%([^`]*\)`+ end=+$+ oneline contains=ALLBUT,@rubyNotTop
|
||||
|
||||
if s:foldable('<<')
|
||||
syn region rubyString start=+\%(\%(class\|::\)\_s*\|\%([]})"'.]\)\s\|\w\)\@<!<<\z(\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*\)\ze\%(.*<<[-~]\=['`"]\=\h\)\@!+hs=s+2 matchgroup=rubyStringDelimiter end=+^\z1$+ contains=rubyHeredocStart,rubyHeredoc,@rubyStringSpecial fold keepend
|
||||
@ -305,19 +309,19 @@ endif
|
||||
" eRuby Config {{{1
|
||||
if exists('main_syntax') && main_syntax == 'eruby'
|
||||
let b:ruby_no_expensive = 1
|
||||
end
|
||||
endif
|
||||
|
||||
" Module, Class, Method and Alias Declarations {{{1
|
||||
syn match rubyAliasDeclaration "[^[:space:];#.()]\+" contained contains=rubySymbol,rubyGlobalVariable,rubyPredefinedVariable nextgroup=rubyAliasDeclaration2 skipwhite
|
||||
syn match rubyAliasDeclaration2 "[^[:space:];#.()]\+" contained contains=rubySymbol,rubyGlobalVariable,rubyPredefinedVariable
|
||||
syn match rubyMethodDeclaration "[^[:space:];#(]\+" contained contains=rubyConstant,rubyBoolean,rubyPseudoVariable,rubyInstanceVariable,rubyClassVariable,rubyGlobalVariable
|
||||
syn match rubyClassDeclaration "[^[:space:];#<]\+" contained contains=rubyConstant,rubyOperator
|
||||
syn match rubyModuleDeclaration "[^[:space:];#<]\+" contained contains=rubyConstant,rubyOperator
|
||||
syn match rubyFunction "\<[_[:alpha:]][_[:alnum:]]*[?!=]\=[[:alnum:]_.:?!=]\@!" contained containedin=rubyMethodDeclaration
|
||||
syn match rubyFunction "\%(\s\|^\)\@1<=[_[:alpha:]][_[:alnum:]]*[?!=]\=\%(\s\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2
|
||||
syn match rubyFunction "\%([[:space:].]\|^\)\@2<=\%(\[\]=\=\|\*\*\|[-+!~]@\=\|[*/%|&^~]\|<<\|>>\|[<>]=\=\|<=>\|===\|[=!]=\|[=!]\~\|!\|`\)\%([[:space:];#(]\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration
|
||||
syn match rubyClassDeclaration "[^[:space:];#<]\+" contained contains=rubyClassName,rubyOperator
|
||||
syn match rubyModuleDeclaration "[^[:space:];#<]\+" contained contains=rubyModuleName,rubyOperator
|
||||
syn match rubyMethodName "\<[_[:alpha:]][_[:alnum:]]*[?!=]\=[[:alnum:]_.:?!=]\@!" contained containedin=rubyMethodDeclaration
|
||||
syn match rubyMethodName "\%(\s\|^\)\@1<=[_[:alpha:]][_[:alnum:]]*[?!=]\=\%(\s\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2
|
||||
syn match rubyMethodName "\%([[:space:].]\|^\)\@2<=\%(\[\]=\=\|\*\*\|[-+!~]@\=\|[*/%|&^~]\|<<\|>>\|[<>]=\=\|<=>\|===\|[=!]=\|[=!]\~\|!\|`\)\%([[:space:];#(]\|$\)\@=" contained containedin=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration
|
||||
|
||||
syn cluster rubyDeclaration contains=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration,rubyModuleDeclaration,rubyClassDeclaration,rubyFunction,rubyBlockParameter
|
||||
syn cluster rubyDeclaration contains=rubyAliasDeclaration,rubyAliasDeclaration2,rubyMethodDeclaration,rubyModuleDeclaration,rubyClassDeclaration,rubyMethodName,rubyBlockParameter
|
||||
|
||||
" Keywords {{{1
|
||||
" Note: the following keywords have already been defined:
|
||||
@ -335,7 +339,7 @@ syn match rubyBeginEnd "\<\%(BEGIN\|END\)\>[?!]\@!"
|
||||
if !exists("b:ruby_no_expensive") && !exists("ruby_no_expensive")
|
||||
syn match rubyDefine "\<alias\>" nextgroup=rubyAliasDeclaration skipwhite skipnl
|
||||
syn match rubyDefine "\<def\>" nextgroup=rubyMethodDeclaration skipwhite skipnl
|
||||
syn match rubyDefine "\<undef\>" nextgroup=rubyFunction skipwhite skipnl
|
||||
syn match rubyDefine "\<undef\>" nextgroup=rubyMethodName skipwhite skipnl
|
||||
syn match rubyClass "\<class\>" nextgroup=rubyClassDeclaration skipwhite skipnl
|
||||
syn match rubyModule "\<module\>" nextgroup=rubyModuleDeclaration skipwhite skipnl
|
||||
|
||||
@ -377,8 +381,6 @@ if !exists("b:ruby_no_expensive") && !exists("ruby_no_expensive")
|
||||
|
||||
if s:foldable('[')
|
||||
syn region rubyArrayLiteral matchgroup=rubyArrayDelimiter start="\%(\w\|[\]})]\)\@<!\[" end="]" contains=ALLBUT,@rubyNotTop fold
|
||||
else
|
||||
syn region rubyArrayLiteral matchgroup=rubyArrayDelimiter start="\%(\w\|[\]})]\)\@<!\[" end="]" contains=ALLBUT,@rubyNotTop
|
||||
endif
|
||||
|
||||
" statements without 'do'
|
||||
@ -437,10 +439,12 @@ if !exists("ruby_no_special_methods")
|
||||
syn match rubyControl "\<\%(exit!\|\%(abort\|at_exit\|exit\|fork\|loop\|trap\)\>[?!]\@!\)"
|
||||
syn keyword rubyEval eval class_eval instance_eval module_eval
|
||||
syn keyword rubyException raise fail catch throw
|
||||
" false positive with 'include?'
|
||||
syn match rubyInclude "\<include\>[?!]\@!"
|
||||
syn keyword rubyInclude autoload extend load prepend refine require require_relative using
|
||||
syn keyword rubyInclude autoload gem load require require_relative
|
||||
syn keyword rubyKeyword callcc caller lambda proc
|
||||
" false positive with 'include?'
|
||||
syn match rubyMacro "\<include\>[?!]\@!"
|
||||
syn keyword rubyMacro extend prepend refine using
|
||||
syn keyword rubyMacro alias_method define_method define_singleton_method remove_method undef_method
|
||||
endif
|
||||
|
||||
" Comments and Documentation {{{1
|
||||
@ -461,7 +465,7 @@ syn match rubyKeywordAsMethod "\(defined?\|exit!\)\@!\<[_[:lower:]][_[:alnum:]]*
|
||||
|
||||
" More Symbols {{{1
|
||||
syn match rubySymbol "\%([{(,]\_s*\)\zs\l\w*[!?]\=::\@!"he=e-1
|
||||
syn match rubySymbol "[]})\"':]\@1<!\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@="he=e-1
|
||||
syn match rubySymbol "[]})\"':]\@1<!\<\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@="he=e-1
|
||||
syn match rubySymbol "\%([{(,]\_s*\)\zs[[:space:],{]\l\w*[!?]\=::\@!"hs=s+1,he=e-1
|
||||
syn match rubySymbol "[[:space:],{(]\%(\h\|[^\x00-\x7F]\)\%(\w\|[^\x00-\x7F]\)*[!?]\=:[[:space:],]\@="hs=s+1,he=e-1
|
||||
|
||||
@ -477,6 +481,10 @@ hi def link rubyClass rubyDefine
|
||||
hi def link rubyModule rubyDefine
|
||||
hi def link rubyMethodExceptional rubyDefine
|
||||
hi def link rubyDefine Define
|
||||
hi def link rubyAccess rubyMacro
|
||||
hi def link rubyAttribute rubyMacro
|
||||
hi def link rubyMacro Macro
|
||||
hi def link rubyMethodName rubyFunction
|
||||
hi def link rubyFunction Function
|
||||
hi def link rubyConditional Conditional
|
||||
hi def link rubyConditionalModifier rubyConditional
|
||||
@ -498,8 +506,9 @@ else
|
||||
endif
|
||||
hi def link rubyClassVariable rubyIdentifier
|
||||
hi def link rubyConstant Type
|
||||
hi def link rubyClassName rubyConstant
|
||||
hi def link rubyModuleName rubyConstant
|
||||
hi def link rubyGlobalVariable rubyIdentifier
|
||||
hi def link rubyBlockParameter rubyIdentifier
|
||||
hi def link rubyInstanceVariable rubyIdentifier
|
||||
hi def link rubyPredefinedIdentifier rubyIdentifier
|
||||
hi def link rubyPredefinedConstant rubyPredefinedIdentifier
|
||||
@ -508,8 +517,6 @@ hi def link rubySymbol Constant
|
||||
hi def link rubyKeyword Keyword
|
||||
hi def link rubyOperator Operator
|
||||
hi def link rubyBeginEnd Statement
|
||||
hi def link rubyAccess Statement
|
||||
hi def link rubyAttribute Statement
|
||||
hi def link rubyEval Statement
|
||||
hi def link rubyPseudoVariable Constant
|
||||
hi def link rubyCapitalizedMethod rubyLocalVariableOrMethod
|
||||
|
@ -1,11 +1,11 @@
|
||||
" Vim syntax file
|
||||
" Language: tpp - Text Presentation Program
|
||||
" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
|
||||
" Former Maintainer: Gerfried Fuchs <alfie@ist.org>
|
||||
" Last Change: 2007-10-14
|
||||
" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/syntax/tpp.vim;hb=debian
|
||||
" Filenames: *.tpp
|
||||
" License: BSD
|
||||
" Language: tpp - Text Presentation Program
|
||||
" Maintainer: Debian Vim Maintainers
|
||||
" Former Maintainer: Gerfried Fuchs <alfie@ist.org>
|
||||
" Last Change: 2018 Dec 27
|
||||
" URL: https://salsa.debian.org/vim-team/vim-debian/master/syntax/tpp.vim
|
||||
" Filenames: *.tpp
|
||||
" License: BSD
|
||||
"
|
||||
" XXX This file is in need of a new maintainer, Debian VIM Maintainers maintain
|
||||
" it only because patches have been submitted for it by Debian users and the
|
||||
@ -18,11 +18,11 @@
|
||||
" SPAM is _NOT_ welcome - be ready to be reported!
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
if exists('b:current_syntax')
|
||||
finish
|
||||
endif
|
||||
|
||||
if !exists("main_syntax")
|
||||
if !exists('main_syntax')
|
||||
let main_syntax = 'tpp'
|
||||
endif
|
||||
|
||||
@ -46,7 +46,7 @@ syn region tppNewPageOption start="^--newpage" end="$" contains=tppNewPageOption
|
||||
syn region tppPageLocalOption start="^--\%(heading\|center\|right\|huge\|sethugefont\|exec\)" end="$" contains=tppPageLocalOptionKey oneline
|
||||
syn region tppAbstractOption start="^--\%(author\|title\|date\|footer\)" end="$" contains=tppAbstractOptionKey oneline
|
||||
|
||||
if main_syntax != 'sh'
|
||||
if main_syntax !=# 'sh'
|
||||
" shell command
|
||||
syn include @tppShExec syntax/sh.vim
|
||||
unlet b:current_syntax
|
||||
@ -78,6 +78,6 @@ hi def link tppNewPageOption Error
|
||||
hi def link tppTimeOption Error
|
||||
|
||||
|
||||
let b:current_syntax = "tpp"
|
||||
let b:current_syntax = 'tpp'
|
||||
|
||||
" vim: ts=8 sw=2
|
||||
|
@ -256,7 +256,7 @@ NOTE: Para los aventureros, pulsando s
|
||||
|
||||
2. Para borrar desde el cursor hasta el final de una l<EFBFBD>nea pulse: d$
|
||||
|
||||
3. Para borrar una l<EFBFBD>nea enter pulse: dd
|
||||
3. Para borrar una l<EFBFBD>nea entera pulse: dd
|
||||
|
||||
4. El formato de un mandato en modo Normal es:
|
||||
|
||||
|
@ -256,7 +256,7 @@ NOTE: Para los aventureros, pulsando sólo el objeto estando en modo Normal
|
||||
|
||||
2. Para borrar desde el cursor hasta el final de una línea pulse: d$
|
||||
|
||||
3. Para borrar una línea enter pulse: dd
|
||||
3. Para borrar una línea entera pulse: dd
|
||||
|
||||
4. El formato de un mandato en modo Normal es:
|
||||
|
||||
|
@ -496,6 +496,26 @@ E.g. When using MSVC (as one line):
|
||||
nmake -f Make_mvc.mak
|
||||
PYTHON=C:\Python27 DYNAMIC_PYTHON=yes PYTHON_VER=27
|
||||
|
||||
When using MinGW and link with the official Python (as one line):
|
||||
|
||||
mingw32-make -f Make_ming.mak
|
||||
PYTHON=C:/Python27 DYNAMIC_PYTHON=yes PYTHON_VER=27
|
||||
|
||||
When using msys2 and link with Python2 bundled with msys2 (as one line):
|
||||
|
||||
mingw32-make -f Make_ming.mak PYTHON=c:/msys64/mingw64
|
||||
PYTHON_HOME=c:/msys64/mingw64
|
||||
PYTHONINC=-Ic:/msys64/mingw64/include/python2.7
|
||||
DYNAMIC_PYTHON=yes
|
||||
PYTHON_VER=27
|
||||
DYNAMIC_PYTHON_DLL=libpython2.7.dll
|
||||
STATIC_STDCPLUS=yes
|
||||
|
||||
(This is for 64-bit builds. For 32-bit builds, replace mingw64 with mingw32.)
|
||||
(STATIC_STDCPLUS is optional. Set to yes if you don't want to require
|
||||
libstdc++-6.dll.)
|
||||
|
||||
|
||||
(rest written by Ron Aaron: <ronaharon@yahoo.com>)
|
||||
|
||||
Building with the mingw32 compiler, and the ActiveState ActivePython:
|
||||
@ -517,17 +537,6 @@ easily:
|
||||
Now just do:
|
||||
make -f Make_ming.mak gvim.exe
|
||||
|
||||
And if you use msys2 to build python support (as one line):
|
||||
|
||||
mingw32-make -f Make_ming.mak PYTHON=c:/msys64/mingw64
|
||||
PYTHON_HOME=c:/msys64/mingw64
|
||||
PYTHONINC=-Ic:/msys64/mingw64/include/python2.7
|
||||
DYNAMIC_PYTHON=yes
|
||||
PYTHON_VER=27
|
||||
DYNAMIC_PYTHON_DLL=libpython2.7.dll
|
||||
STATIC_STDCPLUS=yes
|
||||
|
||||
(This is for 64-bit builds. For 32-bit builds, replace mingw64 with mingw32.)
|
||||
You will end up with a Python-enabled, Win32 version. Enjoy!
|
||||
|
||||
|
||||
@ -548,6 +557,10 @@ E.g. When using MSVC (as one line):
|
||||
nmake -f Make_mvc.mak
|
||||
PYTHON3=C:\Python36 DYNAMIC_PYTHON3=yes PYTHON3_VER=36
|
||||
|
||||
When using MinGW and link with the official Python3 (as one line):
|
||||
|
||||
mingw32-make -f Make_ming.mak
|
||||
PYTHON3=C:/Python36 DYNAMIC_PYTHON3=yes PYTHON3_VER=36
|
||||
|
||||
When using msys2 and link with Python3 bundled with msys2 (as one line):
|
||||
|
||||
@ -560,6 +573,8 @@ When using msys2 and link with Python3 bundled with msys2 (as one line):
|
||||
STATIC_STDCPLUS=yes
|
||||
|
||||
(This is for 64-bit builds. For 32-bit builds, replace mingw64 with mingw32.)
|
||||
(STATIC_STDCPLUS is optional. Set to yes if you don't want to require
|
||||
libstdc++-6.dll.)
|
||||
|
||||
|
||||
9. Building with Racket or MzScheme support
|
||||
@ -833,11 +848,11 @@ After you install RubyInstaller, just type this (as one line):
|
||||
|
||||
mingw32-make -f Make_ming.mak
|
||||
RUBY=C:/Ruby24 DYNAMIC_RUBY=yes RUBY_VER=24 RUBY_API_VER_LONG=2.4.0
|
||||
WINVER=0x501
|
||||
WINVER=0x600
|
||||
|
||||
For 64-bit version, replace RUBY=C:/Ruby24 with RUBY=C:/Ruby24-x64.
|
||||
If you set WINVER explicitly, it must be set to >=0x500, when building with
|
||||
Ruby 2.1 or later. (Default is 0x501.)
|
||||
Ruby 2.1 or later. (Default is 0x600.)
|
||||
|
||||
|
||||
|
||||
@ -849,7 +864,14 @@ You can use binaries from ActiveState (ActiveTcl).
|
||||
|
||||
http://www.activestate.com/activetcl
|
||||
|
||||
For MSVC 2015 use version 8.6.6 or later.
|
||||
Alternatively, you can use the binaries provided by IronTcl from
|
||||
|
||||
https://www.irontcl.com/
|
||||
|
||||
They might lack behind the latest version a bit, but should provide 64bit
|
||||
and 32bit versions even if ActiveTcl does not provide them anymore.
|
||||
|
||||
For building with MSVC 2015 use version 8.6.6 or later.
|
||||
When building, you need to set the following variables:
|
||||
|
||||
TCL: Where tcl is installed. E.g. C:\Tcl86
|
||||
@ -944,44 +966,44 @@ work on MS-DOS because of the limited amount of memory available.
|
||||
After you've built the Vim binaries as described above, you're ready to
|
||||
install Vim on your system. However, if you've obtained the Vim sources
|
||||
using Git, Mercurial or by downloading them as a unix tar file, you must
|
||||
first create a "vim80" directory. If you instead downloaded the sources as
|
||||
first create a "vim81" directory. If you instead downloaded the sources as
|
||||
zip files, you can skip this setup as the zip archives already have the
|
||||
correct directory structure.
|
||||
|
||||
A. Create a Vim "runtime" subdirectory named "vim80"
|
||||
A. Create a Vim "runtime" subdirectory named "vim81"
|
||||
-----------------------------------------------------
|
||||
If you obtained your Vim sources as zip files, you can skip this step.
|
||||
Otherwise, continue reading.
|
||||
|
||||
Go to the directory that contains the Vim "src" and "runtime"
|
||||
directories and create a new subdirectory named "vim80".
|
||||
directories and create a new subdirectory named "vim81".
|
||||
|
||||
Copy the "runtime" files into "vim80":
|
||||
copy runtime\* vim80
|
||||
Copy the "runtime" files into "vim81":
|
||||
copy runtime\* vim81
|
||||
|
||||
B. Copy the new binaries into the "vim80" directory
|
||||
B. Copy the new binaries into the "vim81" directory
|
||||
----------------------------------------------------
|
||||
Regardless of how you installed the Vim sources, you need to copy the
|
||||
new binaries you created above into "vim80":
|
||||
new binaries you created above into "vim81":
|
||||
|
||||
copy src\*.exe vim80
|
||||
copy src\tee\tee.exe vim80
|
||||
copy src\xxd\xxd.exe vim80
|
||||
copy src\*.exe vim81
|
||||
copy src\tee\tee.exe vim81
|
||||
copy src\xxd\xxd.exe vim81
|
||||
|
||||
To install the "Edit with Vim" popup menu, you need both 32-bit and 64-bit
|
||||
versions of gvimext.dll. They should be copied to "vim80\GvimExt32" and
|
||||
"vim80\GvimExt64" respectively.
|
||||
versions of gvimext.dll. They should be copied to "vim81\GvimExt32" and
|
||||
"vim81\GvimExt64" respectively.
|
||||
First, build the 32-bit version, then:
|
||||
|
||||
mkdir vim80\GvimExt32
|
||||
copy src\GvimExt\gvimext.dll vim80\GvimExt32
|
||||
mkdir vim81\GvimExt32
|
||||
copy src\GvimExt\gvimext.dll vim81\GvimExt32
|
||||
|
||||
Next, clean the 32-bit version and build the 64-bit version, then:
|
||||
|
||||
mkdir vim80\GvimExt64
|
||||
copy src\GvimExt\gvimext.dll vim80\GvimExt64
|
||||
mkdir vim81\GvimExt64
|
||||
copy src\GvimExt\gvimext.dll vim81\GvimExt64
|
||||
|
||||
C. Copy gettext and iconv DLLs into the "vim80" directory
|
||||
C. Copy gettext and iconv DLLs into the "vim81" directory
|
||||
----------------------------------------------------------
|
||||
Get gettext and iconv DLLs from the following site:
|
||||
https://github.com/mlocati/gettext-iconv-windows/releases
|
||||
@ -989,7 +1011,7 @@ correct directory structure.
|
||||
Download the files gettextX.X.X.X-iconvX.XX-shared-{32,64}.zip, extract
|
||||
DLLs and place them as follows:
|
||||
|
||||
vim80\
|
||||
vim81\
|
||||
| libintl-8.dll
|
||||
| libiconv-2.dll
|
||||
| libgcc_s_sjlj-1.dll (only for 32-bit)
|
||||
@ -1003,18 +1025,18 @@ correct directory structure.
|
||||
libintl-8.dll
|
||||
libiconv-2.dll
|
||||
|
||||
The DLLs in the "vim80" should be the same bitness with the (g)vim.exe.
|
||||
The DLLs in the "vim81" should be the same bitness with the (g)vim.exe.
|
||||
|
||||
D. Move the "vim80" directory into the Vim installation subdirectory
|
||||
D. Move the "vim81" directory into the Vim installation subdirectory
|
||||
---------------------------------------------------------------------
|
||||
Move the "vim80" subdirectory into the subdirectory where you want Vim
|
||||
Move the "vim81" subdirectory into the subdirectory where you want Vim
|
||||
to be installed. Typically, this subdirectory will be named "vim".
|
||||
If you already have a "vim80" subdirectory in "vim", delete it first
|
||||
If you already have a "vim81" subdirectory in "vim", delete it first
|
||||
by running its uninstal.exe program.
|
||||
|
||||
E. Install Vim
|
||||
---------------
|
||||
"cd" to your Vim installation subdirectory "vim\vim80" and run the
|
||||
"cd" to your Vim installation subdirectory "vim\vim81" and run the
|
||||
"install.exe" program. It will ask you a number of questions about
|
||||
how you would like to have your Vim setup. Among these are:
|
||||
- You can tell it to write a "_vimrc" file with your preferences in the
|
||||
|
209
src/Make_all.mak
@ -2,215 +2,6 @@
|
||||
# Common Makefile, defines the list of tests to run and other things.
|
||||
#
|
||||
|
||||
# Individual tests, including the ones part of test_alot.
|
||||
# Please keep sorted up to test_alot.
|
||||
NEW_TESTS = \
|
||||
test_arglist \
|
||||
test_arabic \
|
||||
test_assert \
|
||||
test_assign \
|
||||
test_autochdir \
|
||||
test_autocmd \
|
||||
test_autoload \
|
||||
test_backspace_opt \
|
||||
test_backup \
|
||||
test_behave \
|
||||
test_blockedit \
|
||||
test_breakindent \
|
||||
test_bufline \
|
||||
test_bufwintabinfo \
|
||||
test_cd \
|
||||
test_cdo \
|
||||
test_changedtick \
|
||||
test_changelist \
|
||||
test_channel \
|
||||
test_charsearch \
|
||||
test_charsearch_utf8 \
|
||||
test_cindent \
|
||||
test_clientserver \
|
||||
test_close_count \
|
||||
test_cmdline \
|
||||
test_command_count \
|
||||
test_comparators \
|
||||
test_compiler \
|
||||
test_crypt \
|
||||
test_cscope \
|
||||
test_cursor_func \
|
||||
test_curswant \
|
||||
test_delete \
|
||||
test_diffmode \
|
||||
test_digraph \
|
||||
test_display \
|
||||
test_edit \
|
||||
test_erasebackword \
|
||||
test_escaped_glob \
|
||||
test_eval_stuff \
|
||||
test_ex_undo \
|
||||
test_ex_z \
|
||||
test_exit \
|
||||
test_exec_while_if \
|
||||
test_execute_func \
|
||||
test_exists \
|
||||
test_exists_autocmd \
|
||||
test_expand \
|
||||
test_expand_dllpath \
|
||||
test_expand_func \
|
||||
test_expr \
|
||||
test_expr_utf8 \
|
||||
test_farsi \
|
||||
test_feedkeys \
|
||||
test_file_perm \
|
||||
test_file_size \
|
||||
test_fileformat \
|
||||
test_filetype \
|
||||
test_filter_cmd \
|
||||
test_filter_map \
|
||||
test_find_complete \
|
||||
test_findfile \
|
||||
test_fixeol \
|
||||
test_float_func \
|
||||
test_fnameescape \
|
||||
test_fnamemodify \
|
||||
test_fold \
|
||||
test_functions \
|
||||
test_ga \
|
||||
test_getcwd \
|
||||
test_getvar \
|
||||
test_gf \
|
||||
test_glob2regpat \
|
||||
test_global \
|
||||
test_gn \
|
||||
test_goto \
|
||||
test_gui \
|
||||
test_gui_init \
|
||||
test_hardcopy \
|
||||
test_help \
|
||||
test_help_tagjump \
|
||||
test_hide \
|
||||
test_highlight \
|
||||
test_history \
|
||||
test_hlsearch \
|
||||
test_iminsert \
|
||||
test_increment \
|
||||
test_increment_dbcs \
|
||||
test_ins_complete \
|
||||
test_job_fails \
|
||||
test_join \
|
||||
test_json \
|
||||
test_jumplist \
|
||||
test_jumps \
|
||||
test_lambda \
|
||||
test_langmap \
|
||||
test_largefile \
|
||||
test_let \
|
||||
test_lineending \
|
||||
test_lispwords \
|
||||
test_listchars \
|
||||
test_listdict \
|
||||
test_listlbr \
|
||||
test_listlbr_utf8 \
|
||||
test_lua \
|
||||
test_makeencoding \
|
||||
test_man \
|
||||
test_maparg \
|
||||
test_mapping \
|
||||
test_marks \
|
||||
test_match \
|
||||
test_matchadd_conceal \
|
||||
test_matchadd_conceal_utf8 \
|
||||
test_menu \
|
||||
test_messages \
|
||||
test_mksession \
|
||||
test_mksession_utf8 \
|
||||
test_modeline \
|
||||
test_move \
|
||||
test_nested_function \
|
||||
test_netbeans \
|
||||
test_normal \
|
||||
test_number \
|
||||
test_options \
|
||||
test_packadd \
|
||||
test_partial \
|
||||
test_paste \
|
||||
test_perl \
|
||||
test_plus_arg_edit \
|
||||
test_popup \
|
||||
test_preview \
|
||||
test_profile \
|
||||
test_prompt_buffer \
|
||||
test_put \
|
||||
test_python2 \
|
||||
test_python3 \
|
||||
test_pyx2 \
|
||||
test_pyx3 \
|
||||
test_quickfix \
|
||||
test_quotestar \
|
||||
test_recover \
|
||||
test_regex_char_classes \
|
||||
test_regexp_latin \
|
||||
test_regexp_utf8 \
|
||||
test_registers \
|
||||
test_reltime \
|
||||
test_retab \
|
||||
test_ruby \
|
||||
test_scriptnames \
|
||||
test_scroll_opt \
|
||||
test_scrollbind \
|
||||
test_search \
|
||||
test_searchpos \
|
||||
test_set \
|
||||
test_sha256 \
|
||||
test_signs \
|
||||
test_smartindent \
|
||||
test_sort \
|
||||
test_source_utf8 \
|
||||
test_spell \
|
||||
test_startup \
|
||||
test_startup_utf8 \
|
||||
test_stat \
|
||||
test_statusline \
|
||||
test_substitute \
|
||||
test_suspend \
|
||||
test_swap \
|
||||
test_syn_attr \
|
||||
test_syntax \
|
||||
test_system \
|
||||
test_tab \
|
||||
test_tabline \
|
||||
test_tabpage \
|
||||
test_tagcase \
|
||||
test_tagjump \
|
||||
test_taglist \
|
||||
test_tcl \
|
||||
test_terminal \
|
||||
test_terminal_fail \
|
||||
test_textformat \
|
||||
test_textobjects \
|
||||
test_textprop \
|
||||
test_timers \
|
||||
test_true_false \
|
||||
test_undo \
|
||||
test_unlet \
|
||||
test_usercommands \
|
||||
test_utf8 \
|
||||
test_utf8_comparisons \
|
||||
test_vartabs \
|
||||
test_viminfo \
|
||||
test_vimscript \
|
||||
test_virtualedit \
|
||||
test_visual \
|
||||
test_winbar \
|
||||
test_winbuf_close \
|
||||
test_window_cmd \
|
||||
test_window_id \
|
||||
test_windows_home \
|
||||
test_wordcount \
|
||||
test_writefile \
|
||||
test_xxd \
|
||||
test_alot_latin \
|
||||
test_alot_utf8 \
|
||||
test_alot
|
||||
|
||||
# Argument for running ctags.
|
||||
TAGS_FILES = \
|
||||
*.c \
|
||||
|
@ -61,10 +61,6 @@
|
||||
# of Ruby will cause a compile error on these systems.
|
||||
# RUBY_VER_LONG same, but in format with dot. (1.6)
|
||||
# DYNAMIC_RUBY no or yes: use yes to load the Ruby DLL dynamically (no)
|
||||
# MBYTE no or yes: set to yes for multi-byte support (yes)
|
||||
# NOTE: multi-byte support is broken in the Borland libraries,
|
||||
# not everything will work properly! Esp. handling multi-byte
|
||||
# file names.
|
||||
# IME no or yes: set to yes for multi-byte IME support (yes)
|
||||
# DYNAMIC_IME no or yes: set to yes to load imm32.dll dynamically (yes)
|
||||
# GETTEXT no or yes: set to yes for multi-language support (yes)
|
||||
@ -104,11 +100,6 @@ BOR = c:\bc5
|
||||
GUI = yes
|
||||
!endif
|
||||
|
||||
### MBYTE: yes for multibyte support, no to disable it.
|
||||
!if ("$(MBYTE)"=="")
|
||||
MBYTE = yes
|
||||
!endif
|
||||
|
||||
### IME: yes for multibyte support, no to disable it.
|
||||
!if ("$(IME)"=="")
|
||||
IME = yes
|
||||
@ -216,7 +207,6 @@ ALIGN = 4
|
||||
("$(RUBY)"=="") && \
|
||||
("$(ICONV)"!="yes") && \
|
||||
("$(IME)"!="yes") && \
|
||||
("$(MBYTE)"!="yes") && \
|
||||
("$(XPM)"=="")
|
||||
FASTCALL = yes
|
||||
!endif
|
||||
@ -397,9 +387,6 @@ DEFINES=$(DEFINES) -DDEBUG -D_DEBUG
|
||||
DEFINES = $(DEFINES) -DFEAT_OLE
|
||||
!endif
|
||||
#
|
||||
!if ("$(MBYTE)"=="yes")
|
||||
MBDEFINES = $(MBDEFINES) -DFEAT_MBYTE
|
||||
!endif
|
||||
!if ("$(IME)"=="yes")
|
||||
MBDEFINES = $(MBDEFINES) -DFEAT_MBYTE_IME
|
||||
!if ("$(DYNAMIC_IME)" == "yes")
|
||||
@ -581,6 +568,7 @@ vimobj = \
|
||||
$(OBJDIR)\screen.obj \
|
||||
$(OBJDIR)\search.obj \
|
||||
$(OBJDIR)\sha256.obj \
|
||||
$(OBJDIR)\sign.obj \
|
||||
$(OBJDIR)\spell.obj \
|
||||
$(OBJDIR)\spellfile.obj \
|
||||
$(OBJDIR)\syntax.obj \
|
||||
@ -686,9 +674,6 @@ MSG = $(MSG) VIMDLL
|
||||
!if ("$(FASTCALL)"=="yes")
|
||||
MSG = $(MSG) FASTCALL
|
||||
!endif
|
||||
!if ("$(MBYTE)"=="yes")
|
||||
MSG = $(MSG) MBYTE
|
||||
!endif
|
||||
!if ("$(IME)"=="yes")
|
||||
MSG = $(MSG) IME
|
||||
! if "$(DYNAMIC_IME)" == "yes"
|
||||
|
@ -65,9 +65,6 @@ CROSS=no
|
||||
ICONV=yes
|
||||
GETTEXT=yes
|
||||
|
||||
# Set to yes to include multibyte support.
|
||||
MBYTE=yes
|
||||
|
||||
# Set to yes to include IME support.
|
||||
IME=yes
|
||||
DYNAMIC_IME=yes
|
||||
@ -699,6 +696,7 @@ CUIOBJ = $(OUTDIR)/iscygpty.o
|
||||
OBJ = \
|
||||
$(OUTDIR)/arabic.o \
|
||||
$(OUTDIR)/beval.o \
|
||||
$(OUTDIR)/blob.o \
|
||||
$(OUTDIR)/blowfish.o \
|
||||
$(OUTDIR)/buffer.o \
|
||||
$(OUTDIR)/charset.o \
|
||||
@ -746,6 +744,7 @@ OBJ = \
|
||||
$(OUTDIR)/screen.o \
|
||||
$(OUTDIR)/search.o \
|
||||
$(OUTDIR)/sha256.o \
|
||||
$(OUTDIR)/sign.o \
|
||||
$(OUTDIR)/spell.o \
|
||||
$(OUTDIR)/spellfile.o \
|
||||
$(OUTDIR)/syntax.o \
|
||||
@ -910,10 +909,6 @@ OBJ += $(OUTDIR)/if_ole.o
|
||||
USE_STDCPLUS = yes
|
||||
endif
|
||||
|
||||
ifeq (yes, $(MBYTE))
|
||||
DEFINES += -DFEAT_MBYTE
|
||||
endif
|
||||
|
||||
ifeq (yes, $(IME))
|
||||
DEFINES += -DFEAT_MBYTE_IME
|
||||
ifeq (yes, $(DYNAMIC_IME))
|
||||
|
@ -71,6 +71,7 @@ SRC = \
|
||||
screen.c \
|
||||
search.c \
|
||||
sha256.c \
|
||||
sign.c \
|
||||
spell.c \
|
||||
spellfile.c \
|
||||
syntax.c \
|
||||
@ -127,6 +128,7 @@ OBJ = o/arabic.o \
|
||||
o/screen.o \
|
||||
o/search.o \
|
||||
o/sha256.o \
|
||||
o/sign.o \
|
||||
o/spell.o \
|
||||
o/spellfile.o \
|
||||
o/syntax.o \
|
||||
@ -252,6 +254,8 @@ o/search.o: search.c $(SYMS) regexp.h
|
||||
|
||||
o/sha256.o: sha256.c $(SYMS)
|
||||
|
||||
o/sign.o: sign.c $(SYMS)
|
||||
|
||||
o/spell.o: spell.c $(SYMS) spell.h
|
||||
|
||||
o/spellfile.o: spellfile.c $(SYMS) spell.h
|
||||
|
@ -257,6 +257,7 @@ LINK32_OBJS= \
|
||||
"$(INTDIR)/screen.obj" \
|
||||
"$(INTDIR)/search.obj" \
|
||||
"$(INTDIR)/sha256.obj" \
|
||||
"$(INTDIR)/sign.obj" \
|
||||
"$(INTDIR)/spell.obj" \
|
||||
"$(INTDIR)/spellfile.obj" \
|
||||
"$(INTDIR)/syntax.obj" \
|
||||
@ -675,6 +676,10 @@ SOURCE=.\sha256.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\sign.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\spell.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
@ -81,6 +81,7 @@ SRC = arabic.c \
|
||||
screen.c \
|
||||
search.c \
|
||||
sha256.c \
|
||||
sign.c \
|
||||
spell.c \
|
||||
spellfile.c \
|
||||
syntax.c \
|
||||
@ -139,6 +140,7 @@ OBJ = obj/arabic.o \
|
||||
obj/screen.o \
|
||||
obj/search.o \
|
||||
obj/sha256.o \
|
||||
obj/sign.o \
|
||||
obj/spell.o \
|
||||
obj/spellfile.o \
|
||||
obj/syntax.o \
|
||||
@ -195,6 +197,7 @@ PRO = proto/arabic.pro \
|
||||
proto/screen.pro \
|
||||
proto/search.pro \
|
||||
proto/sha256.pro \
|
||||
proto/sign.pro \
|
||||
proto/spell.pro \
|
||||
proto/spellfile.pro \
|
||||
proto/syntax.pro \
|
||||
@ -389,6 +392,9 @@ obj/search.o: search.c
|
||||
obj/sha256.o: sha256.c
|
||||
$(CCSYM) $@ sha256.c
|
||||
|
||||
obj/sign.o: sign.c
|
||||
$(CCSYM) $@ sign.c
|
||||
|
||||
obj/spell.o: spell.c
|
||||
$(CCSYM) $@ spell.c
|
||||
|
||||
|
@ -69,6 +69,7 @@ SRC = arabic.c \
|
||||
screen.c \
|
||||
search.c \
|
||||
sha256.c \
|
||||
sign.c \
|
||||
spell.c \
|
||||
spellfile.c \
|
||||
syntax.c \
|
||||
|
@ -26,15 +26,13 @@
|
||||
# GUI interface: GUI=yes (default is no)
|
||||
#
|
||||
# GUI with DirectWrite (DirectX): DIRECTX=yes
|
||||
# (default is yes if GUI=yes, requires GUI=yes and MBYTE=yes)
|
||||
# (default is yes if GUI=yes, requires GUI=yes)
|
||||
#
|
||||
# Color emoji support: COLOR_EMOJI=yes
|
||||
# (default is yes if DIRECTX=yes, requires WinSDK 8.1 or later.)
|
||||
#
|
||||
# OLE interface: OLE=yes (usually with GUI=yes)
|
||||
#
|
||||
# Multibyte support: MBYTE=yes (default is yes for NORMAL, BIG, HUGE)
|
||||
#
|
||||
# IME support: IME=yes (requires GUI=yes)
|
||||
# DYNAMIC_IME=[yes or no] (to load the imm32.dll dynamically, default
|
||||
# is yes)
|
||||
@ -694,6 +692,7 @@ CFLAGS = $(CFLAGS) /Zl /MTd
|
||||
!endif # DEBUG
|
||||
|
||||
!include Make_all.mak
|
||||
!include testdir\Make_all.mak
|
||||
|
||||
INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
|
||||
keymap.h macros.h option.h os_dos.h os_win32.h proto.h regexp.h \
|
||||
@ -702,6 +701,7 @@ INCL = vim.h alloc.h arabic.h ascii.h ex_cmds.h farsi.h feature.h globals.h \
|
||||
OBJ = \
|
||||
$(OUTDIR)\arabic.obj \
|
||||
$(OUTDIR)\beval.obj \
|
||||
$(OUTDIR)\blob.obj \
|
||||
$(OUTDIR)\blowfish.obj \
|
||||
$(OUTDIR)\buffer.obj \
|
||||
$(OUTDIR)\charset.obj \
|
||||
@ -749,6 +749,7 @@ OBJ = \
|
||||
$(OUTDIR)\screen.obj \
|
||||
$(OUTDIR)\search.obj \
|
||||
$(OUTDIR)\sha256.obj \
|
||||
$(OUTDIR)\sign.obj \
|
||||
$(OUTDIR)\spell.obj \
|
||||
$(OUTDIR)\spellfile.obj \
|
||||
$(OUTDIR)\syntax.obj \
|
||||
@ -784,11 +785,6 @@ IME_LIB = imm32.lib
|
||||
!if "$(GIME)" == "yes"
|
||||
CFLAGS = $(CFLAGS) -DGLOBAL_IME
|
||||
OBJ = $(OBJ) $(OUTDIR)\dimm_i.obj $(OUTDIR)\glbl_ime.obj
|
||||
MBYTE = yes
|
||||
!endif
|
||||
|
||||
!if "$(MBYTE)" == "yes"
|
||||
CFLAGS = $(CFLAGS) -DFEAT_MBYTE
|
||||
!endif
|
||||
|
||||
!if "$(GUI)" == "yes"
|
||||
@ -1351,6 +1347,8 @@ $(OUTDIR)/arabic.obj: $(OUTDIR) arabic.c $(INCL)
|
||||
|
||||
$(OUTDIR)/beval.obj: $(OUTDIR) beval.c $(INCL)
|
||||
|
||||
$(OUTDIR)/blob.obj: $(OUTDIR) blob.c $(INCL)
|
||||
|
||||
$(OUTDIR)/blowfish.obj: $(OUTDIR) blowfish.c $(INCL)
|
||||
|
||||
$(OUTDIR)/buffer.obj: $(OUTDIR) buffer.c $(INCL)
|
||||
@ -1519,6 +1517,8 @@ $(OUTDIR)/search.obj: $(OUTDIR) search.c $(INCL)
|
||||
|
||||
$(OUTDIR)/sha256.obj: $(OUTDIR) sha256.c $(INCL)
|
||||
|
||||
$(OUTDIR)/sign.obj: $(OUTDIR) sign.c $(INCL)
|
||||
|
||||
$(OUTDIR)/spell.obj: $(OUTDIR) spell.c $(INCL)
|
||||
|
||||
$(OUTDIR)/spellfile.obj: $(OUTDIR) spellfile.c $(INCL)
|
||||
@ -1619,6 +1619,7 @@ auto:
|
||||
# End Custom Build
|
||||
proto.h: \
|
||||
proto/arabic.pro \
|
||||
proto/blob.pro \
|
||||
proto/blowfish.pro \
|
||||
proto/buffer.pro \
|
||||
proto/charset.pro \
|
||||
@ -1664,6 +1665,7 @@ proto.h: \
|
||||
proto/screen.pro \
|
||||
proto/search.pro \
|
||||
proto/sha256.pro \
|
||||
proto/sign.pro \
|
||||
proto/spell.pro \
|
||||
proto/spellfile.pro \
|
||||
proto/syntax.pro \
|
||||
|
@ -134,6 +134,7 @@ SRC = \
|
||||
screen.c \
|
||||
search.c \
|
||||
sha256.c \
|
||||
sign.c \
|
||||
spell.c \
|
||||
spellfile.c \
|
||||
syntax.c \
|
||||
@ -191,6 +192,7 @@ OBJ = \
|
||||
screen.o \
|
||||
search.o \
|
||||
sha256.o \
|
||||
sign.o \
|
||||
spell.o \
|
||||
spellfile.o \
|
||||
syntax.o \
|
||||
@ -248,6 +250,7 @@ PRO = \
|
||||
proto/screen.pro \
|
||||
proto/search.pro \
|
||||
proto/sha256.pro \
|
||||
proto/sign.pro \
|
||||
proto/spell.pro \
|
||||
proto/spellfile.pro \
|
||||
proto/syntax.pro \
|
||||
@ -404,6 +407,8 @@ search.o: search.c
|
||||
proto/search.pro: search.c
|
||||
sha256.o: sha256.c
|
||||
proto/sha256.pro: sha256.c
|
||||
sign.o: sign.c
|
||||
proto/sign.pro: sign.c
|
||||
spell.o: spell.c
|
||||
proto/spell.pro: spell.c
|
||||
spellfile.o: spellfile.c
|
||||
|
@ -2,7 +2,7 @@
|
||||
# Makefile for Vim on OpenVMS
|
||||
#
|
||||
# Maintainer: Zoltan Arpadffy <arpadffy@polarhome.com>
|
||||
# Last change: 2017 Nov 18
|
||||
# Last change: 2019 Jan 18
|
||||
#
|
||||
# This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
|
||||
# with MMS and MMK
|
||||
@ -43,6 +43,8 @@ GUI = YES
|
||||
# GUI with GTK
|
||||
# If you have GTK installed you might want to enable this option.
|
||||
# NOTE: you will need to properly define GTK_DIR below
|
||||
# NOTE: since Vim 7.3 GTK 2+ is used that is not ported to VMS,
|
||||
# therefore this option should not be used
|
||||
# GTK = YES
|
||||
|
||||
# GUI/Motif with XPM
|
||||
@ -164,7 +166,7 @@ GTK = ""
|
||||
# unique on every system - logicals are not accepted
|
||||
# please note: directory should end with . in order to /trans=conc work
|
||||
# This value for GTK_DIR is an example.
|
||||
GTK_DIR = $1$DGA104:[USERS.ZAY.WORK.GTK1210.]
|
||||
GTK_DIR = DKA0:[WORK.GTK1210.]
|
||||
DEFS = "HAVE_CONFIG_H","FEAT_GUI_GTK"
|
||||
LIBS = ,OS_VMS_GTK.OPT/OPT
|
||||
GUI_FLAG = /name=(as_is,short)/float=ieee/ieee=denorm
|
||||
@ -178,8 +180,10 @@ GUI_INC_VER= ,\""/gtk_root/gtk\"",\""/gtk_root/glib\""
|
||||
MOTIF = YES
|
||||
.IFDEF XPM
|
||||
DEFS = "HAVE_CONFIG_H","FEAT_GUI_MOTIF","HAVE_XPM"
|
||||
XPM_INC = ,[.xpm.include]
|
||||
.ELSE
|
||||
DEFS = "HAVE_CONFIG_H","FEAT_GUI_MOTIF"
|
||||
XPM_INC =
|
||||
.ENDIF
|
||||
LIBS = ,OS_VMS_MOTIF.OPT/OPT
|
||||
GUI_FLAG =
|
||||
@ -269,6 +273,11 @@ MZSCH_OBJ = if_mzsch.obj
|
||||
ICONV_DEF = ,"USE_ICONV"
|
||||
.ENDIF
|
||||
|
||||
# XDIFF related setup.
|
||||
XDIFF_SRC = xdiffi.c,xemit.c,xprepare.c,xutils.c,xhistogram.c,xpatience.c
|
||||
XDIFF_OBJ = xdiffi.obj,xemit.obj,xprepare.obj,xutils.obj,xhistogram.obj,xpatience.obj
|
||||
XDIFF_INC = ,[.xdiff]
|
||||
|
||||
######################################################################
|
||||
# End of configuration section.
|
||||
# Please, do not change anything below without programming experience.
|
||||
@ -283,41 +292,45 @@ VIMHOST = "''F$TRNLNM("SYS$NODE")'''F$TRNLNM("UCX$INET_HOST")'.''F$TRNLNM("UCX$I
|
||||
.SUFFIXES : .obj .c
|
||||
|
||||
ALL_CFLAGS = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
|
||||
$(TCL_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) -
|
||||
$(TCL_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF) -
|
||||
$(ICONV_DEF)) -
|
||||
$(CFLAGS)$(GUI_FLAG) -
|
||||
/include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC)$(TCL_INC))
|
||||
/include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC)$(PERL_INC)$(PYTHON_INC) -
|
||||
$(TCL_INC)$(XDIFF_INC)$(XPM_INC))
|
||||
|
||||
# CFLAGS displayed in :ver information
|
||||
# It is specially formated for correct display of unix like includes
|
||||
# as $(GUI_INC) - replaced with $(GUI_INC_VER)
|
||||
# Otherwise should not be any other difference.
|
||||
ALL_CFLAGS_VER = /def=($(MODEL_DEF)$(DEFS)$(DEBUG_DEF)$(PERL_DEF)$(PYTHON_DEF) -
|
||||
$(TCL_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF)$(ICONV_DEF)) -
|
||||
$(TCL_DEF)$(RUBY_DEF)$(XIM_DEF)$(HANGULIN_DEF)$(TAG_DEF)$(MZSCH_DEF) -
|
||||
$(ICONV_DEF)) -
|
||||
$(CFLAGS)$(GUI_FLAG) -
|
||||
/include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC)$(TCL_INC))
|
||||
/include=($(C_INC)$(GUI_INC_DIR)$(GUI_INC_VER)$(PERL_INC)$(PYTHON_INC) -
|
||||
$(TCL_INC)$(XDIFF_INC)$(XPM_INC))
|
||||
|
||||
ALL_LIBS = $(LIBS) $(GUI_LIB_DIR) $(GUI_LIB) \
|
||||
$(PERL_LIB) $(PYTHON_LIB) $(TCL_LIB) $(RUBY_LIB)
|
||||
|
||||
SRC = arabic.c beval.obj blowfish.c buffer.c charset.c crypt.c crypt_zip.c dict.c diff.c digraph.c edit.c eval.c evalfunc.c \
|
||||
ex_cmds.c ex_cmds2.c ex_docmd.c ex_eval.c ex_getln.c if_cscope.c if_xcmdsrv.c farsi.c fileio.c fold.c getchar.c \
|
||||
hardcopy.c hashtab.c json.c list.c main.c mark.c menu.c mbyte.c memfile.c memline.c message.c misc1.c \
|
||||
misc2.c move.c normal.c ops.c option.c popupmnu.c quickfix.c regexp.c search.c sha256.c\
|
||||
spell.c spellfile.c syntax.c tag.c term.c termlib.c ui.c undo.c userfunc.c version.c screen.c \
|
||||
SRC = arabic.c beval.obj blob.c blowfish.c buffer.c charset.c crypt.c crypt_zip.c dict.c diff.c digraph.c edit.c eval.c \
|
||||
evalfunc.c ex_cmds.c ex_cmds2.c ex_docmd.c ex_eval.c ex_getln.c if_cscope.c if_xcmdsrv.c farsi.c fileio.c fold.c \
|
||||
getchar.c hardcopy.c hashtab.c json.c list.c main.c mark.c menu.c mbyte.c memfile.c memline.c message.c misc1.c \
|
||||
misc2.c move.c normal.c ops.c option.c popupmnu.c quickfix.c regexp.c search.c sha256.c sign.c \
|
||||
spell.c spellfile.c syntax.c tag.c term.c termlib.c textprop.c ui.c undo.c userfunc.c version.c screen.c \
|
||||
window.c os_unix.c os_vms.c pathdef.c \
|
||||
$(GUI_SRC) $(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) \
|
||||
$(RUBY_SRC) $(HANGULIN_SRC) $(MZSCH_SRC)
|
||||
$(RUBY_SRC) $(HANGULIN_SRC) $(MZSCH_SRC) $(XDIFF_SRC)
|
||||
|
||||
OBJ = arabic.obj beval.obj blowfish.obj buffer.obj charset.obj crypt.obj crypt_zip.obj dict.obj diff.obj digraph.obj edit.obj eval.obj \
|
||||
evalfunc.obj ex_cmds.obj ex_cmds2.obj ex_docmd.obj ex_eval.obj ex_getln.obj if_cscope.obj \
|
||||
OBJ = arabic.obj beval.obj blob.obj blowfish.obj buffer.obj charset.obj crypt.obj crypt_zip.obj dict.obj diff.obj digraph.obj \
|
||||
edit.obj eval.obj evalfunc.obj ex_cmds.obj ex_cmds2.obj ex_docmd.obj ex_eval.obj ex_getln.obj if_cscope.obj \
|
||||
if_xcmdsrv.obj farsi.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtab.obj json.obj list.obj main.obj mark.obj \
|
||||
menu.obj memfile.obj memline.obj message.obj misc1.obj misc2.obj \
|
||||
move.obj mbyte.obj normal.obj ops.obj option.obj popupmnu.obj quickfix.obj \
|
||||
regexp.obj search.obj sha256.obj spell.obj spellfile.obj syntax.obj tag.obj term.obj termlib.obj \
|
||||
regexp.obj search.obj sha256.obj sign.obj spell.obj spellfile.obj syntax.obj tag.obj term.obj termlib.obj textprop.obj \
|
||||
ui.obj undo.obj userfunc.obj screen.obj version.obj window.obj os_unix.obj \
|
||||
os_vms.obj pathdef.obj if_mzsch.obj\
|
||||
$(GUI_OBJ) $(PERL_OBJ) $(PYTHON_OBJ) $(TCL_OBJ) \
|
||||
$(RUBY_OBJ) $(HANGULIN_OBJ) $(MZSCH_OBJ)
|
||||
$(RUBY_OBJ) $(HANGULIN_OBJ) $(MZSCH_OBJ) $(XDIFF_OBJ)
|
||||
|
||||
# Default target is making the executable
|
||||
all : [.auto]config.h mmk_compat motif_env gtk_env perl_env python_env tcl_env ruby_env $(TARGET)
|
||||
@ -487,7 +500,8 @@ ruby_env :
|
||||
.ENDIF
|
||||
|
||||
arabic.obj : arabic.c vim.h
|
||||
blowfish.obj : blowfish.c vim.h
|
||||
blowfish.obj : blowfish.c vim.h [.auto]config.h feature.h os_unix.h
|
||||
blob.obj : blob.c vim.h [.auto]config.h feature.h os_unix.h
|
||||
buffer.obj : buffer.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
@ -677,6 +691,10 @@ sha256.obj : sha256.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
sign.obj : sign.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h option.h structs.h regexp.h gui.h \
|
||||
beval.h [.proto]gui_beval.pro alloc.h ex_cmds.h spell.h proto.h \
|
||||
globals.h farsi.h arabic.h
|
||||
spell.obj : spell.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
@ -701,6 +719,10 @@ termlib.obj : termlib.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
textprop.obj : textprop.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
arabic.h
|
||||
ui.obj : ui.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h gui.h beval.h \
|
||||
[.proto]gui_beval.pro option.h ex_cmds.h proto.h globals.h farsi.h \
|
||||
@ -824,5 +846,11 @@ netbeans.obj : netbeans.c vim.h [.auto]config.h feature.h os_unix.h \
|
||||
ascii.h keymap.h term.h macros.h structs.h regexp.h \
|
||||
gui.h beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
|
||||
globals.h farsi.h arabic.h version.h
|
||||
gui_xmdlg.obj : gui_xmdlg.c
|
||||
gui_xmebw.obj : gui_xmebw.c
|
||||
gui_xmdlg.obj : gui_xmdlg.c [.auto]config.h vim.h feature.h os_unix.h
|
||||
gui_xmebw.obj : gui_xmebw.c [.auto]config.h vim.h feature.h os_unix.h
|
||||
xdiffi.obj : [.xdiff]xdiffi.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
|
||||
xemit.obj : [.xdiff]xemit.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
|
||||
xprepare.obj : [.xdiff]xprepare.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
|
||||
xutils.obj : [.xdiff]xutils.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
|
||||
xhistogram.obj : [.xdiff]xhistogram.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
|
||||
xpatience.obj : [.xdiff]xpatience.c [.xdiff]xinclude.h [.auto]config.h vim.h feature.h os_unix.h
|
||||
|
82
src/Makefile
@ -317,7 +317,7 @@ CClink = $(CC)
|
||||
# You can give a lot of options to configure.
|
||||
# Change this to your desire and do 'make config' afterwards
|
||||
|
||||
# examples:
|
||||
# examples you can uncomment:
|
||||
#CONF_ARGS1 = --exec-prefix=/usr
|
||||
#CONF_ARGS2 = --with-vim-name=vim8 --with-ex-name=ex8 --with-view-name=view8
|
||||
#CONF_ARGS3 = --with-global-runtime=/etc/vim,/usr/share/vim
|
||||
@ -493,11 +493,7 @@ CClink = $(CC)
|
||||
#CONF_OPT_TERMINAL = --disable-terminal
|
||||
|
||||
# MULTIBYTE - To edit multi-byte characters.
|
||||
# Uncomment this when you want to edit a multibyte language.
|
||||
# It's automatically enabled with normal features, GTK or IME support.
|
||||
# Note: Compile on a machine where setlocale() actually works, otherwise the
|
||||
# configure tests may fail.
|
||||
#CONF_OPT_MULTIBYTE = --enable-multibyte
|
||||
# This is now always enabled.
|
||||
|
||||
# When building with at least "big" features, right-left, Arabic and Farsi
|
||||
# features are enabled. Use this to disable them.
|
||||
@ -785,7 +781,7 @@ SANITIZER_LIBS = $(SANITIZER_CFLAGS)
|
||||
#CC = /usr/ucb/cc
|
||||
#EXTRA_LIBS = -R/usr/ucblib
|
||||
|
||||
### Solaris with Forte Developer and FEAT_SUN_WORKSHOP
|
||||
### Solaris with Forte Developer and NetBeans.
|
||||
# The Xpm library is available from http://koala.ilog.fr/ftp/pub/xpm.
|
||||
#CC = cc
|
||||
#XPM_DIR = /usr/local/xpm/xpm-3.4k-solaris
|
||||
@ -795,10 +791,6 @@ SANITIZER_LIBS = $(SANITIZER_CFLAGS)
|
||||
#EXTRA_IPATHS = $(XPM_IPATH)
|
||||
#EXTRA_DEFS = -xCC -DHAVE_X11_XPM_H
|
||||
|
||||
### Solaris with workshop compilers: Vim is unstable when compiled with
|
||||
# "-fast". Use this instead. (Shea Martin)
|
||||
#CFLAGS = -x02 -xtarget=ultra
|
||||
|
||||
### (R) for Solaris 2.5 (or 2.5.1) with gcc > 2.5.6 you might need this:
|
||||
#LDFLAGS = -lw -ldl -lXmu
|
||||
#GUI_LIB_LOC = -L/usr/local/lib
|
||||
@ -1565,9 +1557,12 @@ DEST_MAN_PL_U = $(DEST_MAN_TOP)/pl.UTF-8$(MAN1DIR)
|
||||
DEST_MAN_RU = $(DEST_MAN_TOP)/ru.KOI8-R$(MAN1DIR)
|
||||
DEST_MAN_RU_U = $(DEST_MAN_TOP)/ru.UTF-8$(MAN1DIR)
|
||||
|
||||
# The list of tests is common to all systems.
|
||||
# stuff common to all systems
|
||||
include Make_all.mak
|
||||
|
||||
# get the list of tests
|
||||
include testdir/Make_all.mak
|
||||
|
||||
# BASIC_SRC: files that are always used
|
||||
# GUI_SRC: extra GUI files for current configuration
|
||||
# ALL_GUI_SRC: all GUI files for Unix
|
||||
@ -1578,6 +1573,7 @@ include Make_all.mak
|
||||
BASIC_SRC = \
|
||||
arabic.c \
|
||||
beval.c \
|
||||
blob.c \
|
||||
blowfish.c \
|
||||
buffer.c \
|
||||
charset.c \
|
||||
@ -1626,6 +1622,7 @@ BASIC_SRC = \
|
||||
screen.c \
|
||||
search.c \
|
||||
sha256.c \
|
||||
sign.c \
|
||||
spell.c \
|
||||
spellfile.c \
|
||||
syntax.c \
|
||||
@ -1650,14 +1647,11 @@ SRC = $(BASIC_SRC) \
|
||||
$(PERL_SRC) \
|
||||
$(PYTHON_SRC) $(PYTHON3_SRC) \
|
||||
$(TCL_SRC) \
|
||||
$(RUBY_SRC) \
|
||||
$(WORKSHOP_SRC) \
|
||||
$(WSDEBUG_SRC)
|
||||
$(RUBY_SRC)
|
||||
|
||||
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 \
|
||||
gui_beval.c workshop.c wsdebug.c integration.c \
|
||||
netbeans.c channel.c \
|
||||
gui_beval.c netbeans.c channel.c \
|
||||
$(GRESOURCE_SRC)
|
||||
|
||||
# Unittest files
|
||||
@ -1683,7 +1677,6 @@ ALL_SRC = $(BASIC_SRC) $(ALL_GUI_SRC) $(UNITTEST_SRC) \
|
||||
# The perl sources also don't work well with lint.
|
||||
LINT_SRC = $(BASIC_SRC) $(GUI_SRC) $(HANGULIN_SRC) \
|
||||
$(PYTHON_SRC) $(PYTHON3_SRC) $(TCL_SRC) \
|
||||
$(WORKSHOP_SRC) $(WSDEBUG_SRC) \
|
||||
$(NETBEANS_SRC) $(CHANNEL_SRC) $(TERM_SRC)
|
||||
#LINT_SRC = $(SRC)
|
||||
#LINT_SRC = $(ALL_SRC)
|
||||
@ -1693,6 +1686,7 @@ OBJ_COMMON = \
|
||||
objects/arabic.o \
|
||||
objects/beval.o \
|
||||
objects/buffer.o \
|
||||
objects/blob.o \
|
||||
objects/blowfish.o \
|
||||
objects/crypt.o \
|
||||
objects/crypt_zip.o \
|
||||
@ -1736,6 +1730,7 @@ OBJ_COMMON = \
|
||||
objects/screen.o \
|
||||
objects/search.o \
|
||||
objects/sha256.o \
|
||||
objects/sign.o \
|
||||
objects/spell.o \
|
||||
objects/spellfile.o \
|
||||
objects/syntax.o \
|
||||
@ -1758,11 +1753,9 @@ OBJ_COMMON = \
|
||||
$(TCL_OBJ) \
|
||||
$(RUBY_OBJ) \
|
||||
$(OS_EXTRA_OBJ) \
|
||||
$(WORKSHOP_OBJ) \
|
||||
$(NETBEANS_OBJ) \
|
||||
$(CHANNEL_OBJ) \
|
||||
$(XDIFF_OBJS) \
|
||||
$(WSDEBUG_OBJ)
|
||||
$(XDIFF_OBJS)
|
||||
|
||||
# The files included by tests are not in OBJ_COMMON.
|
||||
OBJ_MAIN = \
|
||||
@ -1870,6 +1863,7 @@ PRO_AUTO = \
|
||||
screen.pro \
|
||||
search.pro \
|
||||
sha256.pro \
|
||||
sign.pro \
|
||||
spell.pro \
|
||||
spellfile.pro \
|
||||
syntax.pro \
|
||||
@ -1885,7 +1879,6 @@ PRO_AUTO = \
|
||||
window.pro \
|
||||
beval.pro \
|
||||
gui_beval.pro \
|
||||
workshop.pro \
|
||||
netbeans.pro \
|
||||
channel.pro \
|
||||
$(ALL_GUI_PRO) \
|
||||
@ -1928,12 +1921,12 @@ config auto/config.mk: auto/configure config.mk.in config.h.in
|
||||
$(CONF_OPT_PERL) $(CONF_OPT_PYTHON) $(CONF_OPT_PYTHON3) \
|
||||
$(CONF_OPT_TCL) $(CONF_OPT_RUBY) $(CONF_OPT_NLS) \
|
||||
$(CONF_OPT_CSCOPE) $(CONF_OPT_MULTIBYTE) $(CONF_OPT_INPUT) \
|
||||
$(CONF_OPT_OUTPUT) $(CONF_OPT_GPM) $(CONF_OPT_WORKSHOP) \
|
||||
$(CONF_OPT_OUTPUT) $(CONF_OPT_GPM) \
|
||||
$(CONF_OPT_FEAT) $(CONF_TERM_LIB) \
|
||||
$(CONF_OPT_COMPBY) $(CONF_OPT_ACL) $(CONF_OPT_NETBEANS) \
|
||||
$(CONF_OPT_CHANNEL) $(CONF_OPT_TERMINAL) \
|
||||
$(CONF_ARGS1) $(CONF_ARGS2) $(CONF_ARGS3) $(CONF_ARGS4) \
|
||||
$(CONF_ARGS5) $(CONF_ARGS6) \
|
||||
$(CONF_ARGS) $(CONF_ARGS1) $(CONF_ARGS2) $(CONF_ARGS3) \
|
||||
$(CONF_ARGS4) $(CONF_ARGS5) $(CONF_ARGS6) \
|
||||
$(CONF_OPT_MZSCHEME) $(CONF_OPT_PLTHOME) \
|
||||
$(CONF_OPT_LUA) $(CONF_OPT_LUA_PREFIX) \
|
||||
$(CONF_OPT_SYSMOUSE); \
|
||||
@ -2181,11 +2174,7 @@ test1 \
|
||||
# Run individual NEW style test.
|
||||
# These do not depend on the executable, compile it when needed.
|
||||
$(NEW_TESTS):
|
||||
cd testdir; rm -f $@.res test.log messages; $(MAKE) -f Makefile $@.res VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
@if test -f testdir/test.log; then \
|
||||
cat testdir/test.log; \
|
||||
fi
|
||||
cat testdir/messages
|
||||
cd testdir; $(MAKE) $@ VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
|
||||
newtests:
|
||||
cd testdir; rm -f $@.res test.log messages; $(MAKE) -f Makefile newtestssilent VIMPROG=../$(VIMTESTTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
|
||||
@ -2945,6 +2934,9 @@ $(ALL_OBJ): objects/.dirstamp
|
||||
objects/arabic.o: arabic.c
|
||||
$(CCC) -o $@ arabic.c
|
||||
|
||||
objects/blob.o: blob.c
|
||||
$(CCC) -o $@ blob.c
|
||||
|
||||
objects/blowfish.o: blowfish.c
|
||||
$(CCC) -o $@ blowfish.c
|
||||
|
||||
@ -3095,9 +3087,6 @@ objects/if_ruby.o: if_ruby.c
|
||||
objects/if_tcl.o: if_tcl.c
|
||||
$(CCC_NF) $(TCL_CFLAGS) $(ALL_CFLAGS) -o $@ if_tcl.c
|
||||
|
||||
objects/integration.o: integration.c
|
||||
$(CCC) -o $@ integration.c
|
||||
|
||||
objects/json.o: json.c
|
||||
$(CCC) -o $@ json.c
|
||||
|
||||
@ -3200,6 +3189,9 @@ objects/search.o: search.c
|
||||
objects/sha256.o: sha256.c
|
||||
$(CCC) -o $@ sha256.c
|
||||
|
||||
objects/sign.o: sign.c
|
||||
$(CCC) -o $@ sign.c
|
||||
|
||||
objects/spell.o: spell.c
|
||||
$(CCC) -o $@ spell.c
|
||||
|
||||
@ -3233,12 +3225,6 @@ objects/userfunc.o: userfunc.c
|
||||
objects/window.o: window.c
|
||||
$(CCC) -o $@ window.c
|
||||
|
||||
objects/workshop.o: workshop.c
|
||||
$(CCC) -o $@ workshop.c
|
||||
|
||||
objects/wsdebug.o: wsdebug.c
|
||||
$(CCC) -o $@ wsdebug.c
|
||||
|
||||
objects/netbeans.o: netbeans.c
|
||||
$(CCC) -o $@ netbeans.c
|
||||
|
||||
@ -3394,6 +3380,10 @@ objects/beval.o: beval.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/blob.o: blob.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/blowfish.o: blowfish.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
@ -3586,6 +3576,10 @@ objects/sha256.o: sha256.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/sign.o: sign.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/spell.o: spell.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
@ -3770,16 +3764,6 @@ objects/gui_beval.o: gui_beval.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h
|
||||
objects/workshop.o: workshop.c protodef.h auto/config.h integration.h vim.h \
|
||||
feature.h os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h \
|
||||
option.h beval.h proto/gui_beval.pro structs.h regexp.h gui.h alloc.h \
|
||||
ex_cmds.h spell.h proto.h globals.h farsi.h arabic.h version.h \
|
||||
workshop.h
|
||||
objects/wsdebug.o: wsdebug.c
|
||||
objects/integration.o: integration.c vim.h protodef.h auto/config.h feature.h \
|
||||
os_unix.h auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
proto.h globals.h farsi.h arabic.h integration.h
|
||||
objects/netbeans.o: netbeans.c vim.h protodef.h auto/config.h feature.h os_unix.h \
|
||||
auto/osdef.h ascii.h keymap.h term.h macros.h option.h beval.h \
|
||||
proto/gui_beval.pro structs.h regexp.h gui.h alloc.h ex_cmds.h spell.h \
|
||||
|
@ -35,6 +35,7 @@ Most code can be found in a file with an obvious name (incomplete list):
|
||||
regexp.c pattern matching
|
||||
screen.c updating the windows
|
||||
search.c pattern searching
|
||||
sign.c signs
|
||||
spell.c spell checking
|
||||
syntax.c syntax and other highlighting
|
||||
tag.c tags
|
||||
|
@ -7,7 +7,7 @@ cd %APPVEYOR_BUILD_FOLDER%
|
||||
cd src
|
||||
echo "Building MinGW 32bit console version"
|
||||
set PATH=c:\msys64\mingw32\bin;%PATH%
|
||||
mingw32-make.exe -f Make_ming.mak GUI=no OPTIMIZE=speed IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||
mingw32-make.exe -f Make_ming.mak GUI=no OPTIMIZE=speed IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||
:: Save vim.exe before Make clean, moved back below.
|
||||
copy vim.exe testdir
|
||||
mingw32-make.exe -f Make_ming.mak clean
|
||||
@ -16,24 +16,24 @@ mingw32-make.exe -f Make_ming.mak clean
|
||||
:: with specified features without python.
|
||||
echo "Building MinGW 32bit GUI version"
|
||||
if "%FEATURE%" == "HUGE" (
|
||||
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed CHANNEL=yes GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27 PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35 FEATURES=%FEATURE% || exit 1
|
||||
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed CHANNEL=yes GUI=yes IME=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27 PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35 FEATURES=%FEATURE% || exit 1
|
||||
) ELSE (
|
||||
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||
mingw32-make.exe -f Make_ming.mak OPTIMIZE=speed GUI=yes IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||
)
|
||||
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_ming.txt
|
||||
|
||||
echo "Building MSVC 64bit console Version"
|
||||
sed -e "s/\$(LINKARGS2)/\$(LINKARGS2) | sed -e 's#.*\\\\r.*##'/" Make_mvc.mak > Make_mvc2.mak
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=no IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||
nmake -f Make_mvc2.mak clean
|
||||
|
||||
:: build MSVC huge version with python and channel support
|
||||
:: GUI needs to be last, so that testing works
|
||||
echo "Building MSVC 64bit GUI Version"
|
||||
if "%FEATURE%" == "HUGE" (
|
||||
nmake -f Make_mvc2.mak DIRECTX=yes CPU=AMD64 CHANNEL=yes OLE=no GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35-x64 FEATURES=%FEATURE% || exit 1
|
||||
nmake -f Make_mvc2.mak DIRECTX=yes CPU=AMD64 CHANNEL=yes OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no PYTHON_VER=27 DYNAMIC_PYTHON=yes PYTHON=C:\Python27-x64 PYTHON3_VER=35 DYNAMIC_PYTHON3=yes PYTHON3=C:\Python35-x64 FEATURES=%FEATURE% || exit 1
|
||||
) ELSE (
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=yes IME=yes MBYTE=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||
nmake -f Make_mvc2.mak CPU=AMD64 OLE=no GUI=yes IME=yes ICONV=yes DEBUG=no FEATURES=%FEATURE% || exit 1
|
||||
)
|
||||
.\gvim -u NONE -c "redir @a | ver |0put a | wq" ver_msvc.txt
|
||||
|
||||
|
71
src/auto/configure
vendored
@ -661,8 +661,6 @@ CHANNEL_OBJ
|
||||
CHANNEL_SRC
|
||||
NETBEANS_OBJ
|
||||
NETBEANS_SRC
|
||||
WORKSHOP_OBJ
|
||||
WORKSHOP_SRC
|
||||
RUBY_LIBS
|
||||
RUBY_CFLAGS
|
||||
RUBY_PRO
|
||||
@ -812,7 +810,6 @@ with_tclsh
|
||||
enable_rubyinterp
|
||||
with_ruby_command
|
||||
enable_cscope
|
||||
enable_workshop
|
||||
enable_netbeans
|
||||
enable_channel
|
||||
enable_terminal
|
||||
@ -1494,7 +1491,6 @@ Optional Features:
|
||||
--enable-tclinterp=OPTS Include Tcl interpreter. default=no OPTS=no/yes/dynamic
|
||||
--enable-rubyinterp=OPTS Include Ruby interpreter. default=no OPTS=no/yes/dynamic
|
||||
--enable-cscope Include cscope interface.
|
||||
--enable-workshop Include Sun Visual Workshop support.
|
||||
--disable-netbeans Disable NetBeans integration support.
|
||||
--disable-channel Disable process communication support.
|
||||
--enable-terminal Enable terminal emulation support.
|
||||
@ -7665,29 +7661,6 @@ if test "$enable_cscope" = "yes"; then
|
||||
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-workshop argument" >&5
|
||||
$as_echo_n "checking --enable-workshop argument... " >&6; }
|
||||
# Check whether --enable-workshop was given.
|
||||
if test "${enable_workshop+set}" = set; then :
|
||||
enableval=$enable_workshop;
|
||||
else
|
||||
enable_workshop="no"
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_workshop" >&5
|
||||
$as_echo "$enable_workshop" >&6; }
|
||||
if test "$enable_workshop" = "yes"; then
|
||||
$as_echo "#define FEAT_SUN_WORKSHOP 1" >>confdefs.h
|
||||
|
||||
WORKSHOP_SRC="workshop.c integration.c"
|
||||
|
||||
WORKSHOP_OBJ="objects/workshop.o objects/integration.o"
|
||||
|
||||
if test "${enable_gui-xxx}" = xxx; then
|
||||
enable_gui=motif
|
||||
fi
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-netbeans argument" >&5
|
||||
$as_echo_n "checking --disable-netbeans argument... " >&6; }
|
||||
# Check whether --enable-netbeans was given.
|
||||
@ -7959,14 +7932,14 @@ $as_echo_n "checking --enable-multibyte argument... " >&6; }
|
||||
if test "${enable_multibyte+set}" = set; then :
|
||||
enableval=$enable_multibyte;
|
||||
else
|
||||
enable_multibyte="no"
|
||||
enable_multibyte="yes"
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_multibyte" >&5
|
||||
$as_echo "$enable_multibyte" >&6; }
|
||||
if test "$enable_multibyte" = "yes"; then
|
||||
$as_echo "#define FEAT_MBYTE 1" >>confdefs.h
|
||||
|
||||
if test "$enable_multibyte" != "yes"; then
|
||||
as_fn_error $? "The multi-byte feature can no longer be disabled. If you have
|
||||
a problem with this, discuss on the Vim mailing list." "$LINENO" 5
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-rightleft argument" >&5
|
||||
@ -9115,10 +9088,9 @@ if test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
|
||||
no) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no GUI support" >&5
|
||||
$as_echo "no GUI support" >&6; }
|
||||
SKIP_PHOTON=YES ;;
|
||||
yes|"") { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes - automatic GUI support" >&5
|
||||
$as_echo "yes - automatic GUI support" >&6; } ;;
|
||||
auto) { $as_echo "$as_me:${as_lineno-$LINENO}: result: auto - automatic GUI support" >&5
|
||||
$as_echo "auto - automatic GUI support" >&6; } ;;
|
||||
yes|""|auto) { $as_echo "$as_me:${as_lineno-$LINENO}: result: automatic GUI support" >&5
|
||||
$as_echo "automatic GUI support" >&6; }
|
||||
gui_auto=yes ;;
|
||||
photon) { $as_echo "$as_me:${as_lineno-$LINENO}: result: Photon GUI support" >&5
|
||||
$as_echo "Photon GUI support" >&6; } ;;
|
||||
*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: Sorry, $enable_gui GUI is not supported" >&5
|
||||
@ -9133,7 +9105,8 @@ elif test "x$MACOS_X" = "xyes" -a "x$with_x" = "xno" ; then
|
||||
$as_echo "no GUI support" >&6; }
|
||||
SKIP_CARBON=YES ;;
|
||||
yes|"") { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes - automatic GUI support" >&5
|
||||
$as_echo "yes - automatic GUI support" >&6; } ;;
|
||||
$as_echo "yes - automatic GUI support" >&6; }
|
||||
gui_auto=yes ;;
|
||||
auto) { $as_echo "$as_me:${as_lineno-$LINENO}: result: auto - Carbon GUI is outdated - disable GUI support" >&5
|
||||
$as_echo "auto - Carbon GUI is outdated - disable GUI support" >&6; }
|
||||
SKIP_CARBON=YES ;;
|
||||
@ -9151,6 +9124,7 @@ else
|
||||
$as_echo "no GUI support" >&6; } ;;
|
||||
yes|""|auto) { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes/auto - automatic GUI support" >&5
|
||||
$as_echo "yes/auto - automatic GUI support" >&6; }
|
||||
gui_auto=yes
|
||||
SKIP_GTK2=
|
||||
SKIP_GNOME=
|
||||
SKIP_MOTIF=
|
||||
@ -9582,6 +9556,9 @@ $as_echo "no" >&6; }
|
||||
GTK_CFLAGS=""
|
||||
GTK_LIBS=""
|
||||
:
|
||||
if test "$fail_if_missing" = "yes" -a "X$gui_auto" != "Xyes"; then
|
||||
as_fn_error $? "could not configure GTK" "$LINENO" 5
|
||||
fi
|
||||
}
|
||||
fi
|
||||
}
|
||||
@ -9933,6 +9910,9 @@ $as_echo "no" >&6; }
|
||||
GTK_CFLAGS=""
|
||||
GTK_LIBS=""
|
||||
:
|
||||
if test "$fail_if_missing" = "yes" -a "X$gui_auto" != "Xyes"; then
|
||||
as_fn_error $? "could not configure GTK" "$LINENO" 5
|
||||
fi
|
||||
}
|
||||
fi
|
||||
}
|
||||
@ -14806,28 +14786,13 @@ $as_echo "yes, we need Carbon" >&6; }
|
||||
if test "$features" = "tiny"; then
|
||||
OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_macosx.m++'`
|
||||
OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_macosx.o++'`
|
||||
if test "$enable_multibyte" = "yes"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, we need CoreServices" >&5
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, we need CoreServices" >&5
|
||||
$as_echo "yes, we need CoreServices" >&6; }
|
||||
LIBS="$LIBS -framework CoreServices"
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_mac_conv.c++'`
|
||||
OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_mac_conv.o++'`
|
||||
CPPFLAGS=`echo "$CPPFLAGS" | sed -e 's+-DMACOS_X_DARWIN++'`
|
||||
fi
|
||||
LIBS="$LIBS -framework CoreServices"
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, we need AppKit" >&5
|
||||
$as_echo "yes, we need AppKit" >&6; }
|
||||
LIBS="$LIBS -framework AppKit"
|
||||
if test "$features" = "small" -a "$enable_multibyte" = "no"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: +multi_byte will be set in favor of +clipboard" >&5
|
||||
$as_echo "$as_me: +multi_byte will be set in favor of +clipboard" >&6;}
|
||||
enable_multibyte=yes
|
||||
$as_echo "#define FEAT_MBYTE 1" >>confdefs.h
|
||||
|
||||
fi
|
||||
fi
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
|
@ -273,10 +273,6 @@ general_beval_cb(BalloonEval *beval, int state UNUSED)
|
||||
if (bevalServers & BEVAL_NETBEANS)
|
||||
netbeans_beval_cb(beval, state);
|
||||
#endif
|
||||
#ifdef FEAT_SUN_WORKSHOP
|
||||
if (bevalServers & BEVAL_WORKSHOP)
|
||||
workshop_beval_cb(beval, state);
|
||||
#endif
|
||||
|
||||
recursive = FALSE;
|
||||
}
|
||||
|
@ -76,6 +76,9 @@ typedef struct BalloonEvalStruct
|
||||
int *vts; // vartabstop setting for this buffer
|
||||
#endif
|
||||
char_u *msg;
|
||||
#ifdef FEAT_GUI_W32
|
||||
void *tofree;
|
||||
#endif
|
||||
} BalloonEval;
|
||||
|
||||
#define EVAL_OFFSET_X 15 /* displacement of beval topleft corner from pointer */
|
||||
|