mirror of
https://github.com/macvim-dev/macvim.git
synced 2026-06-02 11:19:22 +02:00
Compare commits
166 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ec8d47914e | |||
| 919fd33307 | |||
| c088f643ba | |||
| d642191566 | |||
| 047b3e2a02 | |||
| 4f32ce3f7b | |||
| 3f39697b73 | |||
| 69bf634858 | |||
| f24dd52b3f | |||
| ad80be723b | |||
| a4b3a5f23d | |||
| f2ef091b2c | |||
| 8b530c1ff9 | |||
| 077ff436a7 | |||
| efae76ab1a | |||
| 38ba4dce4a | |||
| 1c329c04be | |||
| 5b418992cf | |||
| 52410575be | |||
| 491433d93b | |||
| dfded98f87 | |||
| cb86893114 | |||
| 7ab5d77666 | |||
| 96f45c0b6f | |||
| 8fc4296436 | |||
| 6a0cc916bd | |||
| 28ed4dfe1f | |||
| 453c19257f | |||
| c7488a7fc8 | |||
| e0f0d5cde9 | |||
| 1fd30d7bae | |||
| 7aee6876eb | |||
| 35cdbcc27a | |||
| c91441d8f4 | |||
| 11a58af66f | |||
| aa1f04d092 | |||
| 3691f1ee72 | |||
| 336bf2b8b2 | |||
| b754b5bf6d | |||
| ec6f735012 | |||
| faf626e5d1 | |||
| edaad6e0a0 | |||
| 28686682e7 | |||
| 6656c2ec4c | |||
| ee73f16b4e | |||
| b82ceda0b8 | |||
| 53372da42b | |||
| 8f7ab4bd1e | |||
| 823edd1eed | |||
| 93bbf33ceb | |||
| 13a1f3fb0c | |||
| 1cac70953d | |||
| a720be78d7 | |||
| 3ee30fe9ae | |||
| d3519c21e3 | |||
| 1597180de3 | |||
| d206d6ee94 | |||
| 2c6414be2e | |||
| a202ae7996 | |||
| ba77a78209 | |||
| 396b7c78c0 | |||
| 926c789fde | |||
| b4a4a2211c | |||
| 76cb94be7d | |||
| e77679fc85 | |||
| 34ba06b6e6 | |||
| d53ebfc624 | |||
| 4d14bac8e7 | |||
| 4b57018ee4 | |||
| a13961536e | |||
| dca7abe79c | |||
| 88d3d09e07 | |||
| 83e9a1ce75 | |||
| 82260afb0e | |||
| 70cba308d8 | |||
| 2b78ab5d0c | |||
| b40c2576d4 | |||
| 7eed964b41 | |||
| bbfd1562ae | |||
| cfb381421f | |||
| ba089307bb | |||
| 5b39d7adb0 | |||
| a74fda6f4d | |||
| 00e192becd | |||
| b98678a974 | |||
| 15ee567809 | |||
| afbdb905c3 | |||
| 8459006af5 | |||
| c3bf7b56f2 | |||
| 89577b3b3e | |||
| 92ea26b925 | |||
| 7751d1d1a3 | |||
| a1cb1d1dce | |||
| 0d2c4bf171 | |||
| 3cea8a9a51 | |||
| ae238e048d | |||
| 89b629700f | |||
| 037c17b77b | |||
| 7089f4219e | |||
| b1ba9abcb3 | |||
| 2559a47823 | |||
| 4a4981b7cd | |||
| 2e693a88b2 | |||
| 4f2f61a014 | |||
| 7b3d939667 | |||
| b2fe1d676f | |||
| 4e03933726 | |||
| 4bd88d568a | |||
| a6cc5beb17 | |||
| fafb4b18cd | |||
| 17efc7fa05 | |||
| 8f7b29f033 | |||
| 9115c611db | |||
| a3817730c0 | |||
| 1142a31b8c | |||
| 3439028c89 | |||
| 27fc8cab22 | |||
| 3c8cd4a1dc | |||
| 03b00476ee | |||
| e3a22cb1ba | |||
| 6aa7523b96 | |||
| 53efb18530 | |||
| 1e7b52ad8a | |||
| 459fd785e4 | |||
| 171a921b51 | |||
| 4facea310c | |||
| d1e2f3984a | |||
| e8070987c6 | |||
| ceba3dd518 | |||
| 18a79a6841 | |||
| 4cdbed33e4 | |||
| 1a4cbb19de | |||
| ec66c41d84 | |||
| 00eab7f128 | |||
| 6a0299d8f4 | |||
| 07282f01da | |||
| a129974bc7 | |||
| c25e702dee | |||
| 073e779640 | |||
| 1ac41a5c13 | |||
| 9326805442 | |||
| 14c01f8348 | |||
| 6bd1d77067 | |||
| b189295b72 | |||
| 345f28df54 | |||
| c3e555b22f | |||
| fbbd102be0 | |||
| a27e1dcddc | |||
| 1614a14901 | |||
| 524f3b19ae | |||
| eb66328bd7 | |||
| 49474ca122 | |||
| 1671de3098 | |||
| 2efc44b3f0 | |||
| fd00c042af | |||
| 9ca250855b | |||
| 4c063dde73 | |||
| 2a8d3b8997 | |||
| e8a7dfedfc | |||
| 1824f45883 | |||
| 23324a0b35 | |||
| 8617348e21 | |||
| b4367b7fb6 | |||
| 2886dcceba | |||
| 792cf5e1be | |||
| 18223a592e |
@@ -0,0 +1 @@
|
||||
src/testdir/test42.in diff
|
||||
+96
-66
@@ -1,84 +1,114 @@
|
||||
language: c
|
||||
dist: trusty
|
||||
|
||||
os:
|
||||
- osx
|
||||
os: osx
|
||||
|
||||
osx_image:
|
||||
- xcode7.3
|
||||
- xcode8.3
|
||||
- xcode9.4
|
||||
- xcode10.2
|
||||
|
||||
compiler:
|
||||
- clang
|
||||
|
||||
addons:
|
||||
homebrew:
|
||||
packages:
|
||||
- lua
|
||||
- ruby
|
||||
- python3
|
||||
update: true
|
||||
compiler: clang
|
||||
|
||||
env:
|
||||
- MACOSX_DEPLOYMENT_TARGET=10.8
|
||||
XCODEFLAGS="MACOSX_DEPLOYMENT_TARGET=10.8"
|
||||
VERSIONER_PERL_VERSION=5.18
|
||||
VERSIONER_PYTHON_VERSION=2.7
|
||||
vi_cv_path_python=/usr/bin/python
|
||||
vi_cv_path_python3=/usr/local/bin/python3
|
||||
vi_cv_path_plain_lua=/usr/local/bin/lua
|
||||
vi_cv_dll_name_perl=/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/libperl.dylib
|
||||
vi_cv_dll_name_python=/System/Library/Frameworks/Python.framework/Versions/2.7/Python
|
||||
vi_cv_dll_name_python3=/usr/local/Frameworks/Python.framework/Versions/3.7/Python
|
||||
VIMCMD=src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
|
||||
"CONFOPT='--with-features=huge --enable-multibyte --enable-terminal --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-perlinterp=dynamic --enable-pythoninterp=dynamic --enable-python3interp=dynamic --enable-rubyinterp=dynamic --with-ruby-command=/usr/local/opt/ruby/bin/ruby --enable-luainterp=dynamic --with-lua-prefix=/usr/local --enable-gui=macvim'"
|
||||
DYLD_LIBRARY_PATH=/usr/local/opt/ruby/lib:$DYLD_LIBRARY_PATH # Ruby is keg-only in Homebrew, so need to manually link in the path so Vim will know where to look for the binaries.
|
||||
global:
|
||||
- MACOSX_DEPLOYMENT_TARGET=10.9
|
||||
VERSIONER_PERL_VERSION=5.18
|
||||
VERSIONER_PYTHON_VERSION=2.7
|
||||
vi_cv_path_python=/usr/bin/python
|
||||
vi_cv_path_python3=/usr/local/bin/python3
|
||||
vi_cv_path_plain_lua=/usr/local/bin/lua
|
||||
vi_cv_path_ruby=/usr/local/opt/ruby/bin/ruby
|
||||
vi_cv_dll_name_perl=/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/libperl.dylib
|
||||
vi_cv_dll_name_python=/System/Library/Frameworks/Python.framework/Versions/2.7/Python
|
||||
vi_cv_dll_name_python3=/usr/local/Frameworks/Python.framework/Versions/3.7/Python
|
||||
vi_cv_dll_name_ruby=/usr/local/opt/ruby/lib/libruby.dylib
|
||||
VIMCMD=src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim
|
||||
"CONFOPT='--with-features=huge --enable-multibyte --enable-terminal --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-gui=macvim'"
|
||||
|
||||
anchors:
|
||||
- &homebrew
|
||||
addons:
|
||||
homebrew:
|
||||
packages:
|
||||
- lua
|
||||
- python
|
||||
- ruby
|
||||
update: true
|
||||
- &lang_env
|
||||
env: "LANGOPT='--enable-perlinterp=dynamic --enable-pythoninterp=dynamic --enable-python3interp=dynamic --enable-rubyinterp=dynamic --enable-luainterp=dynamic --with-lua-prefix=/usr/local'"
|
||||
- &caches
|
||||
cache:
|
||||
directories:
|
||||
- /usr/local/Homebrew/Library/Homebrew/vendor/
|
||||
- /usr/local/Homebrew/Library/Taps/
|
||||
- ${TRAVIS_BUILD_DIR}/src/MacVim/build/Release/MacVim.app/
|
||||
before_cache:
|
||||
- brew cleanup
|
||||
|
||||
sudo: false
|
||||
|
||||
script:
|
||||
- set -e
|
||||
- if [ "$TRAVIS_OSX_IMAGE" = "xcode8.3" ]; then brew reinstall --build-from-source ruby; fi
|
||||
- echo "Configuring MacVim" && echo -en "travis_fold:start:config\\r"
|
||||
- set -o errexit
|
||||
- echo -e "\\033[33;1mConfiguring MacVim\\033[0m" && echo -en "travis_fold:start:configure\\r\\033[0K"
|
||||
- NPROC=$(getconf _NPROCESSORS_ONLN)
|
||||
- ./configure $CONFOPT --enable-fail-if-missing
|
||||
- make distclean
|
||||
- ./configure ${CONFOPT} ${LANGOPT} --enable-fail-if-missing
|
||||
# Ruby is keg-only in Homebrew, so need to manually link in the path so Vim will know where to look for the binaries.
|
||||
- perl -p -i -e "s#(?<=-DDYNAMIC_RUBY_DLL=\\\\\").*?(?=\\\\\")#${vi_cv_dll_name_ruby}#" src/auto/config.mk
|
||||
- cat src/auto/config.mk
|
||||
- cat src/auto/config.h
|
||||
- grep -q -- "-DDYNAMIC_PERL_DLL=\\\\\"$vi_cv_dll_name_perl\\\\\"" src/auto/config.mk
|
||||
- grep -q -- "-DDYNAMIC_PYTHON_DLL=\\\\\"$vi_cv_dll_name_python\\\\\"" src/auto/config.mk
|
||||
- grep -q -- "-DDYNAMIC_PYTHON3_DLL=\\\\\"$vi_cv_dll_name_python3\\\\\"" src/auto/config.mk
|
||||
- echo -en "travis_fold:end:config\\r"
|
||||
- echo "Building MacVim" && echo -en "travis_fold:start:build\\r"
|
||||
- make -j$NPROC
|
||||
- echo -en "travis_fold:end:build\\r"
|
||||
- echo "Testing MacVim" && echo -en "travis_fold:start:test\\r"
|
||||
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "lua print(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
|
||||
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "perl VIM::Msg(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
|
||||
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "py import sys; print(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
|
||||
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "py3 import sys; print(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
|
||||
- rm -f result; $VIMCMD -g -f -c "redir>result" -c "ruby puts(\"Test\")" -c "redir END" -c q; cat result; echo; grep -q -w Test result
|
||||
- rm -f result;
|
||||
- |
|
||||
if [[ -n "${LANGOPT}" ]]; then
|
||||
grep -q -- "-DDYNAMIC_PERL_DLL=\\\\\"${vi_cv_dll_name_perl}\\\\\"" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_PYTHON_DLL=\\\\\"${vi_cv_dll_name_python}\\\\\"" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_PYTHON3_DLL=\\\\\"${vi_cv_dll_name_python3}\\\\\"" src/auto/config.mk
|
||||
grep -q -- "-DDYNAMIC_RUBY_DLL=\\\\\"${vi_cv_dll_name_ruby}\\\\\"" src/auto/config.mk
|
||||
fi
|
||||
- echo -en "travis_fold:end:configure\\r\\033[0K"
|
||||
- echo -e "\\033[33;1mBuilding MacVim\\033[0m" && echo -en "travis_fold:start:build\\r\\033[0K"
|
||||
- make -j${NPROC}
|
||||
- echo -en "travis_fold:end:build\\r\\033[0K"
|
||||
- set +o errexit
|
||||
- echo -e "\\033[33;1mTesting MacVim\\033[0m" && echo -en "travis_fold:start:test\\r\\033[0K"
|
||||
- |
|
||||
macvim_excmd() {
|
||||
if [[ -n "${LANGOPT}" ]]; then
|
||||
${VIMCMD} -u NONE -i NONE -g -f -X -V1 -es "$@" -c 'echo ""' -c quit 2>&1
|
||||
fi
|
||||
}
|
||||
- macvim_excmd -c 'lua print("Test")'
|
||||
- macvim_excmd -c 'perl VIM::Msg("Test")'
|
||||
- macvim_excmd -c 'py import sys; print("Test")'
|
||||
- macvim_excmd -c 'py3 import sys; print("Test")'
|
||||
- macvim_excmd -c 'ruby puts("Test")'
|
||||
- make test
|
||||
- echo -en "travis_fold:end:test\\r"
|
||||
- echo "Testing MacVim (GUI)" && echo -en "travis_fold:start:test_gui\\r"
|
||||
- echo -en "travis_fold:end:test\\r\\033[0K"
|
||||
- echo -e "\\033[33;1mTesting MacVim (GUI)\\033[0m" && echo -en "travis_fold:start:test_gui\\r\\033[0K"
|
||||
- make -C src/testdir clean
|
||||
- make -C src testgui
|
||||
- echo -en "travis_fold:end:test_gui\\r"
|
||||
- echo -en "travis_fold:end:test_gui\\r\\033[0K"
|
||||
|
||||
before_deploy:
|
||||
- make -C src macvim-dmg
|
||||
deploy:
|
||||
provider: releases
|
||||
api_key:
|
||||
secure: ukjm+qbuNiTli25Ut2BoVpeBCV+JyVbRUwPqjTKrJxfHz34bpr38eSbryIB8BgKBItgzE876Yoqa3CD0k8mqGClis1+98MtrYFpAkO97juJmHpcZZZB7ausbHGf7Z7VdMT4jBjjVGcBeaNj0mio0hwem0/S4WyJK3M/3Fym995CltCUtJKRfMvRiGkWZqUs8K7EZf53DFR6CXUn38rq/3B88SeK51OZuCkMsiDWLGYCdayH19vJfFrTF8MYMQYDYxz16Q/Kf21PVhwia7HEhOzqnXS8RXS+vLkZw8mzIxowX+w6NT90q7Sj0ENdR7YaS27QPfDdhZEnOgpgqj+za63lpiyIdRcgSBkGxNYrM6B5KhiwC1VocBxCBdCxT5WXlx9rA9+k4CASdsxAW/MtQOK6PRMfZEnAB+ShFvshM2H/iE5Jch+o/SIjCXhdkeASD5qov2x6eXcsEVu8PIxvEUptCpHeqJTN5/26nfKsvOdrsqbwJbDluwISOKfEPhohb8Hn7JqOJNTS2aJr3jfvU+egE1NS0eLqKPXecu7MOOsOq1CQL6WxblphG2JCCmAOuNMYrJx9+w28ekMDRDAbI9r5nWcPLZtBqjFUyuBXXM7UknMar0FZ2fd7YTi/Gki3n56UN0lKaSAKaJB9EXlneDSKp/1ogsETr9/b7jz0s6lI=
|
||||
file: src/MacVim/build/Release/MacVim.dmg
|
||||
skip_cleanup: true
|
||||
on:
|
||||
condition: $TRAVIS_OSX_IMAGE = xcode10.2
|
||||
all_branches: true
|
||||
tags: true
|
||||
repo: macvim-dev/macvim
|
||||
jobs:
|
||||
include:
|
||||
- osx_image: xcode11.2
|
||||
<<: *lang_env
|
||||
<<: *homebrew
|
||||
<<: *caches
|
||||
- osx_image: xcode10.3
|
||||
- osx_image: xcode9.4
|
||||
- osx_image: xcode7.3
|
||||
- stage: deploy
|
||||
osx_image: xcode11.2
|
||||
<<: *lang_env
|
||||
<<: *caches
|
||||
script: skip
|
||||
before_deploy:
|
||||
- make -C src macvim-dmg
|
||||
deploy:
|
||||
provider: releases
|
||||
api_key:
|
||||
secure: ukjm+qbuNiTli25Ut2BoVpeBCV+JyVbRUwPqjTKrJxfHz34bpr38eSbryIB8BgKBItgzE876Yoqa3CD0k8mqGClis1+98MtrYFpAkO97juJmHpcZZZB7ausbHGf7Z7VdMT4jBjjVGcBeaNj0mio0hwem0/S4WyJK3M/3Fym995CltCUtJKRfMvRiGkWZqUs8K7EZf53DFR6CXUn38rq/3B88SeK51OZuCkMsiDWLGYCdayH19vJfFrTF8MYMQYDYxz16Q/Kf21PVhwia7HEhOzqnXS8RXS+vLkZw8mzIxowX+w6NT90q7Sj0ENdR7YaS27QPfDdhZEnOgpgqj+za63lpiyIdRcgSBkGxNYrM6B5KhiwC1VocBxCBdCxT5WXlx9rA9+k4CASdsxAW/MtQOK6PRMfZEnAB+ShFvshM2H/iE5Jch+o/SIjCXhdkeASD5qov2x6eXcsEVu8PIxvEUptCpHeqJTN5/26nfKsvOdrsqbwJbDluwISOKfEPhohb8Hn7JqOJNTS2aJr3jfvU+egE1NS0eLqKPXecu7MOOsOq1CQL6WxblphG2JCCmAOuNMYrJx9+w28ekMDRDAbI9r5nWcPLZtBqjFUyuBXXM7UknMar0FZ2fd7YTi/Gki3n56UN0lKaSAKaJB9EXlneDSKp/1ogsETr9/b7jz0s6lI=
|
||||
file: src/MacVim/build/Release/MacVim.dmg
|
||||
skip_cleanup: true
|
||||
draft: true
|
||||
on:
|
||||
all_branches: true
|
||||
tags: true
|
||||
repo: macvim-dev/macvim
|
||||
|
||||
# vim:set sts=2 sw=2 tw=0 et:
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
# source files for all source archives
|
||||
SRC_ALL = \
|
||||
.gitignore \
|
||||
.gitattributes \
|
||||
.hgignore \
|
||||
.lgtm.yml \
|
||||
.travis.yml \
|
||||
@@ -25,6 +26,7 @@ SRC_ALL = \
|
||||
src/change.c \
|
||||
src/channel.c \
|
||||
src/charset.c \
|
||||
src/cindent.c \
|
||||
src/cmdexpand.c \
|
||||
src/cmdhist.c \
|
||||
src/crypt.c \
|
||||
@@ -191,6 +193,7 @@ SRC_ALL = \
|
||||
src/proto/change.pro \
|
||||
src/proto/channel.pro \
|
||||
src/proto/charset.pro \
|
||||
src/proto/cindent.pro \
|
||||
src/proto/cmdexpand.pro \
|
||||
src/proto/cmdhist.pro \
|
||||
src/proto/crypt.pro \
|
||||
@@ -294,11 +297,11 @@ SRC_ALL = \
|
||||
src/libvterm/src/encoding/uk.inc \
|
||||
src/libvterm/src/encoding/uk.tbl \
|
||||
src/libvterm/src/keyboard.c \
|
||||
src/libvterm/src/termmouse.c \
|
||||
src/libvterm/src/mouse.c \
|
||||
src/libvterm/src/parser.c \
|
||||
src/libvterm/src/pen.c \
|
||||
src/libvterm/src/rect.h \
|
||||
src/libvterm/src/termscreen.c \
|
||||
src/libvterm/src/screen.c \
|
||||
src/libvterm/src/state.c \
|
||||
src/libvterm/src/unicode.c \
|
||||
src/libvterm/src/utf8.h \
|
||||
|
||||
@@ -11,8 +11,8 @@ Getting the source to z/OS:
|
||||
|
||||
First get the source code in one big tar file and ftp it a binary to z/OS. If
|
||||
the tar file is initially compressed with gzip (tar.gz) or bzip2 (tar.bz2)
|
||||
uncompress it on your PC, as this tools are (most likely) not available on the
|
||||
mainframe.
|
||||
uncompress it on your PC, as these tools are (most likely) not available on
|
||||
the mainframe.
|
||||
|
||||
To reduce the size of the tar file you might compress it into a zip file. On
|
||||
z/OS Unix you might have the command "jar" from java to uncompress a zip. Use:
|
||||
@@ -82,8 +82,8 @@ WARNING: This instruction was not tested with Vim 7.4 or later.
|
||||
|
||||
There are two ways for building VIM with X11 support. The first way is simple
|
||||
and results in a big executable (~13 Mb), the second needs a few additional
|
||||
steps and results in a much smaller executable (~4.5 Mb). This examples assume
|
||||
you want Motif.
|
||||
steps and results in a much smaller executable (~4.5 Mb). These examples
|
||||
assume you want Motif.
|
||||
|
||||
The easy way:
|
||||
$ export CC=cc
|
||||
|
||||
+18
-18
@@ -5,7 +5,7 @@
|
||||
#
|
||||
# Locale ID : 2052
|
||||
# fileencoding : UTF-8
|
||||
# Author : Guopeng Wen
|
||||
# Author : Guopeng Wen, David Liu
|
||||
|
||||
!insertmacro MUI_LANGUAGE "SimpChinese"
|
||||
|
||||
@@ -112,7 +112,7 @@ LangString str_desc_plugin ${LANG_SIMPCHINESE} \
|
||||
LangString str_section_plugin_home ${LANG_SIMPCHINESE} \
|
||||
"私有插件目录"
|
||||
LangString str_desc_plugin_home ${LANG_SIMPCHINESE} \
|
||||
"Create plugin directories in HOME directory."
|
||||
"在主目录创建私有插件目录。"
|
||||
|
||||
LangString str_section_plugin_vim ${LANG_SIMPCHINESE} \
|
||||
"公共插件目录"
|
||||
@@ -141,14 +141,14 @@ LangString str_desc_rm_exe ${LANG_SIMPCHINESE} \
|
||||
"删除 Vim 的所有执行文件及脚本。"
|
||||
|
||||
LangString str_ungroup_plugin ${LANG_SIMPCHINESE} \
|
||||
"Remove plugin directories"
|
||||
"移除插件目录"
|
||||
LangString str_desc_rm_plugin ${LANG_SIMPCHINESE} \
|
||||
"Remove the plugin directories if they are empty."
|
||||
"移除插件目录(如果目录为空)。"
|
||||
|
||||
LangString str_unsection_plugin_home ${LANG_SIMPCHINESE} \
|
||||
"私有插件目录"
|
||||
LangString str_desc_rm_plugin_home ${LANG_SIMPCHINESE} \
|
||||
"Remove the plugin directories from HOME directory."
|
||||
"从主目录中移除私有插件目录。"
|
||||
|
||||
LangString str_unsection_plugin_vim ${LANG_SIMPCHINESE} \
|
||||
"公共插件目录"
|
||||
@@ -241,37 +241,37 @@ LangString str_msg_unregistering ${LANG_SIMPCHINESE} \
|
||||
LangString str_vimrc_page_title ${LANG_SIMPCHINESE} \
|
||||
"设置 _vimrc"
|
||||
LangString str_vimrc_page_subtitle ${LANG_SIMPCHINESE} \
|
||||
"选择键盘、鼠标和增强选项。"
|
||||
"选择键盘、鼠标和扩展设置。"
|
||||
|
||||
LangString str_msg_compat_title ${LANG_SIMPCHINESE} \
|
||||
"Vi / Vim 行为"
|
||||
LangString str_msg_compat_desc ${LANG_SIMPCHINESE} \
|
||||
"&Compatibility and enhancements"
|
||||
"兼容性与扩展(&B)"
|
||||
LangString str_msg_compat_vi ${LANG_SIMPCHINESE} \
|
||||
"Vi compatible"
|
||||
"原始 Vi"
|
||||
LangString str_msg_compat_vim ${LANG_SIMPCHINESE} \
|
||||
"Vim original"
|
||||
"原始 Vim"
|
||||
LangString str_msg_compat_defaults ${LANG_SIMPCHINESE} \
|
||||
"Vim with some enhancements (load defaults.vim)"
|
||||
"Vim 原始版本和部分扩展 (加载 defaults.vim)"
|
||||
LangString str_msg_compat_all ${LANG_SIMPCHINESE} \
|
||||
"Vim with all enhancements (load vimrc_example.vim) (Default)"
|
||||
"Vim 原始版本和所有扩展 (加载 vimrc_example.vim) (缺省)"
|
||||
|
||||
LangString str_msg_keymap_title ${LANG_SIMPCHINESE} \
|
||||
"键盘映射"
|
||||
LangString str_msg_keymap_desc ${LANG_SIMPCHINESE} \
|
||||
"&Remap a few keys for Windows (Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F, etc)"
|
||||
"为 Windows 映射按键(&R) (例如:Ctrl-V, Ctrl-C, Ctrl-A, Ctrl-S, Ctrl-F 等)"
|
||||
LangString str_msg_keymap_default ${LANG_SIMPCHINESE} \
|
||||
"Do not remap keys (Default)"
|
||||
"不映射按键 (缺省)"
|
||||
LangString str_msg_keymap_windows ${LANG_SIMPCHINESE} \
|
||||
"Remap a few keys"
|
||||
"映射一些按键"
|
||||
|
||||
LangString str_msg_mouse_title ${LANG_SIMPCHINESE} \
|
||||
"鼠标"
|
||||
LangString str_msg_mouse_desc ${LANG_SIMPCHINESE} \
|
||||
"&Behavior of right and left buttons"
|
||||
"左键和右键行为(&B)"
|
||||
LangString str_msg_mouse_default ${LANG_SIMPCHINESE} \
|
||||
"Right: popup menu, Left: visual mode (Default)"
|
||||
"右键:弹出菜单, 左键:可视化模式 (缺省)"
|
||||
LangString str_msg_mouse_windows ${LANG_SIMPCHINESE} \
|
||||
"Right: popup menu, Left: select mode (Windows)"
|
||||
"右键:弹出菜单, 左键:选择模式 (Windows)"
|
||||
LangString str_msg_mouse_unix ${LANG_SIMPCHINESE} \
|
||||
"Right: extends selection, Left: visual mode (Unix)"
|
||||
"右键: 扩展选择, 左键:可视化模式 (Unix)"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim plugin for formatting XML
|
||||
" Last Change: Thu, 07 Dec 2018
|
||||
" Version: 0.1
|
||||
" Last Change: 2019 Oct 24
|
||||
" Version: 0.2
|
||||
" Author: Christian Brabandt <cb@256bit.org>
|
||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||
" License: VIM License
|
||||
@@ -22,44 +22,73 @@ func! xmlformat#Format()
|
||||
" do not fall back to internal formatting
|
||||
return 0
|
||||
endif
|
||||
let count_orig = v:count
|
||||
let sw = shiftwidth()
|
||||
let prev = prevnonblank(v:lnum-1)
|
||||
let s:indent = indent(prev)/sw
|
||||
let result = []
|
||||
let lastitem = prev ? getline(prev) : ''
|
||||
let is_xml_decl = 0
|
||||
" split on `<`, but don't split on very first opening <
|
||||
for item in split(join(getline(v:lnum, (v:lnum + v:count - 1))), '.\@<=[>]\zs')
|
||||
if s:EndTag(item)
|
||||
let s:indent = s:DecreaseIndent()
|
||||
call add(result, s:Indent(item))
|
||||
elseif s:EmptyTag(lastitem)
|
||||
call add(result, s:Indent(item))
|
||||
elseif s:StartTag(lastitem) && s:IsTag(item)
|
||||
let s:indent += 1
|
||||
call add(result, s:Indent(item))
|
||||
else
|
||||
if !s:IsTag(item)
|
||||
" Simply split on '<'
|
||||
let t=split(item, '.<\@=\zs')
|
||||
let s:indent+=1
|
||||
call add(result, s:Indent(t[0]))
|
||||
let s:indent = s:DecreaseIndent()
|
||||
call add(result, s:Indent(t[1]))
|
||||
else
|
||||
" go through every line, but don't join all content together and join it
|
||||
" back. We might lose empty lines
|
||||
let list = getline(v:lnum, (v:lnum + count_orig - 1))
|
||||
let current = 0
|
||||
for line in list
|
||||
" Keep empty input lines?
|
||||
if empty(line)
|
||||
call add(result, '')
|
||||
continue
|
||||
elseif line !~# '<[/]\?[^>]*>'
|
||||
let nextmatch = match(list, '<[/]\?[^>]*>', current)
|
||||
let line .= join(list[(current + 1):(nextmatch-1)], "\n")
|
||||
call remove(list, current+1, nextmatch-1)
|
||||
endif
|
||||
" split on `>`, but don't split on very first opening <
|
||||
" this means, items can be like ['<tag>', 'tag content</tag>']
|
||||
for item in split(line, '.\@<=[>]\zs')
|
||||
if s:EndTag(item)
|
||||
let s:indent = s:DecreaseIndent()
|
||||
call add(result, s:Indent(item))
|
||||
elseif s:EmptyTag(lastitem)
|
||||
call add(result, s:Indent(item))
|
||||
elseif s:StartTag(lastitem) && s:IsTag(item)
|
||||
let s:indent += 1
|
||||
call add(result, s:Indent(item))
|
||||
else
|
||||
if !s:IsTag(item)
|
||||
" Simply split on '<', if there is one,
|
||||
" but reformat according to &textwidth
|
||||
let t=split(item, '.<\@=\zs')
|
||||
" t should only contain 2 items, but just be safe here
|
||||
if s:IsTag(lastitem)
|
||||
let s:indent+=1
|
||||
endif
|
||||
let result+=s:FormatContent([t[0]])
|
||||
if s:EndTag(t[1])
|
||||
let s:indent = s:DecreaseIndent()
|
||||
endif
|
||||
"for y in t[1:]
|
||||
let result+=s:FormatContent(t[1:])
|
||||
"endfor
|
||||
else
|
||||
call add(result, s:Indent(item))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
let lastitem = item
|
||||
endfor
|
||||
let lastitem = item
|
||||
endfor
|
||||
let current += 1
|
||||
endfor
|
||||
|
||||
if !empty(result)
|
||||
exe v:lnum. ",". (v:lnum + v:count - 1). 'd'
|
||||
if !empty(result)
|
||||
let lastprevline = getline(v:lnum + count_orig)
|
||||
let delete_lastline = v:lnum + count_orig - 1 == line('$')
|
||||
exe v:lnum. ",". (v:lnum + count_orig - 1). 'd'
|
||||
call append(v:lnum - 1, result)
|
||||
" Might need to remove the last line, if it became empty because of the
|
||||
" append() call
|
||||
let last = v:lnum + len(result)
|
||||
if getline(last) is ''
|
||||
" do not use empty(), it returns true for `empty(0)`
|
||||
if getline(last) is '' && lastprevline is '' && delete_lastline
|
||||
exe last. 'd'
|
||||
endif
|
||||
endif
|
||||
@@ -88,6 +117,7 @@ func! s:StartTag(tag)
|
||||
let is_comment = s:IsComment(a:tag)
|
||||
return a:tag =~? '^\s*<[^/?]' && !is_comment
|
||||
endfunc
|
||||
" Check if tag is a Comment start {{{1
|
||||
func! s:IsComment(tag)
|
||||
return a:tag =~? '<!--'
|
||||
endfunc
|
||||
@@ -108,6 +138,43 @@ endfunc
|
||||
func! s:EmptyTag(tag)
|
||||
return a:tag =~ '/>\s*$'
|
||||
endfunc
|
||||
" Format input line according to textwidth {{{1
|
||||
func! s:FormatContent(list)
|
||||
let result=[]
|
||||
let limit = 80
|
||||
if &textwidth > 0
|
||||
let limit = &textwidth
|
||||
endif
|
||||
let column=0
|
||||
let idx = -1
|
||||
let add_indent = 0
|
||||
let cnt = 0
|
||||
for item in a:list
|
||||
for word in split(item, '\s\+\S\+\zs')
|
||||
let column += strdisplaywidth(word, column)
|
||||
if match(word, "^\\s*\n\\+\\s*$") > -1
|
||||
call add(result, '')
|
||||
let idx += 1
|
||||
let column = 0
|
||||
let add_indent = 1
|
||||
elseif column > limit || cnt == 0
|
||||
let add = s:Indent(s:Trim(word))
|
||||
call add(result, add)
|
||||
let column = strdisplaywidth(add)
|
||||
let idx += 1
|
||||
else
|
||||
if add_indent
|
||||
let result[idx] = s:Indent(s:Trim(word))
|
||||
else
|
||||
let result[idx] .= ' '. s:Trim(word)
|
||||
endif
|
||||
let add_indent = 0
|
||||
endif
|
||||
let cnt += 1
|
||||
endfor
|
||||
endfor
|
||||
return result
|
||||
endfunc
|
||||
" Restoration And Modelines: {{{1
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" The default vimrc file.
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last change: 2019 Feb 18
|
||||
" Last change: 2019 Sep 28
|
||||
"
|
||||
" This is loaded if no vimrc file was found.
|
||||
" Except when Vim is run with "-u NONE" or "-C".
|
||||
@@ -75,8 +75,14 @@ inoremap <C-U> <C-G>u<C-U>
|
||||
|
||||
" In many terminal emulators the mouse works just fine. By enabling it you
|
||||
" can position the cursor, Visually select and scroll with the mouse.
|
||||
" Only xterm can grab the mouse events when using the shift key, for other
|
||||
" terminals use ":", select text and press Esc.
|
||||
if has('mouse')
|
||||
set mouse=a
|
||||
if &term =~ 'xterm'
|
||||
set mouse=a
|
||||
else
|
||||
set mouse=nvi
|
||||
endif
|
||||
endif
|
||||
|
||||
" Switch syntax highlighting on when the terminal has colors or when using the
|
||||
|
||||
+10
-1
@@ -268,7 +268,6 @@ Name triggered by ~
|
||||
|BufCreate| just after adding a buffer to the buffer list
|
||||
|BufDelete| before deleting a buffer from the buffer list
|
||||
|BufWipeout| before completely deleting a buffer
|
||||
|TerminalOpen| after a terminal buffer was created
|
||||
|
||||
|BufFilePre| before changing the name of the current buffer
|
||||
|BufFilePost| after changing the name of the current buffer
|
||||
@@ -304,6 +303,10 @@ Name triggered by ~
|
||||
|VimLeavePre| before exiting Vim, before writing the viminfo file
|
||||
|VimLeave| before exiting Vim, after writing the viminfo file
|
||||
|
||||
Terminal
|
||||
|TerminalOpen| after a terminal buffer was created
|
||||
|TerminalWinOpen| after a terminal buffer was created in a new window
|
||||
|
||||
Various
|
||||
|FileChangedShell| Vim notices that a file changed since editing started
|
||||
|FileChangedShellPost| After handling a file changed since editing started
|
||||
@@ -1088,6 +1091,12 @@ TerminalOpen Just after a terminal buffer was created, with
|
||||
`:terminal` or |term_start()|. This event is
|
||||
triggered even if the buffer is created
|
||||
without a window, with the ++hidden option.
|
||||
*TerminalWinOpen*
|
||||
TerminalWinOpen Just after a terminal buffer was created, with
|
||||
`:terminal` or |term_start()|. This event is
|
||||
triggered only if the buffer is created
|
||||
with a window. Can be used to set window
|
||||
local options for the terminal window.
|
||||
*TermResponse*
|
||||
TermResponse After the response to |t_RV| is received from
|
||||
the terminal. The value of |v:termresponse|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*change.txt* For Vim version 8.1. Last change: 2019 Sep 27
|
||||
*change.txt* For Vim version 8.1. Last change: 2019 Sep 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -999,9 +999,13 @@ inside of strings can change! Also see 'softtabstop' option. >
|
||||
delete and yank) ({.%#:} only work with put).
|
||||
|
||||
*:reg* *:registers*
|
||||
:reg[isters] Display the contents of all numbered and named
|
||||
registers. If a register is written to for |:redir|
|
||||
it will not be listed.
|
||||
:reg[isters] Display the type and contents of all numbered and
|
||||
named registers. If a register is written to for
|
||||
|:redir| it will not be listed.
|
||||
Type can be one of:
|
||||
"c" for |characterwise| text
|
||||
"l" for |linewise| text
|
||||
"b" for |blockwise-visual| text
|
||||
|
||||
|
||||
:reg[isters] {arg} Display the contents of the numbered and named
|
||||
|
||||
+101
-57
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 8.1. Last change: 2019 Sep 27
|
||||
*eval.txt* For Vim version 8.1. Last change: 2019 Oct 29
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1662,6 +1662,10 @@ PREDEFINED VIM VARIABLES *vim-variable* *v:var* *v:*
|
||||
*E963*
|
||||
Some variables can be set by the user, but the type cannot be changed.
|
||||
|
||||
*v:argv* *argv-variable*
|
||||
v:argv The command line arguments Vim was invoked with. This is a
|
||||
list of strings. The first item is the Vim command.
|
||||
|
||||
*v:beval_col* *beval_col-variable*
|
||||
v:beval_col The number of the column, over which the mouse pointer is.
|
||||
This is the byte index in the |v:beval_lnum| line.
|
||||
@@ -2892,7 +2896,7 @@ win_id2tabwin({expr}) List get tab and window nr from window ID
|
||||
win_id2win({expr}) Number get window nr from window ID
|
||||
win_screenpos({nr}) List get screen position of window {nr}
|
||||
win_splitmove({nr}, {target} [, {options}])
|
||||
none move window {nr} to split of {target}
|
||||
Number move window {nr} to split of {target}
|
||||
winbufnr({nr}) Number buffer number of window {nr}
|
||||
wincol() Number window column of the cursor
|
||||
winheight({nr}) Number height of window {nr}
|
||||
@@ -2986,6 +2990,9 @@ append({lnum}, {text}) *append()*
|
||||
appendbufline({expr}, {lnum}, {text}) *appendbufline()*
|
||||
Like |append()| but append the text in buffer {expr}.
|
||||
|
||||
This function works only for loaded buffers. First call
|
||||
|bufload()| if needed.
|
||||
|
||||
For the use of {expr}, see |bufname()|.
|
||||
|
||||
{lnum} is used like with |append()|. Note that using |line()|
|
||||
@@ -3043,6 +3050,7 @@ argv([{nr} [, {winid}])
|
||||
the whole |arglist| is returned.
|
||||
|
||||
The {winid} argument specifies the window ID, see |argc()|.
|
||||
For the Vim command line arguments see |v:argv|.
|
||||
|
||||
|
||||
assert_ functions are documented here: |assert-functions-details|
|
||||
@@ -3552,8 +3560,8 @@ complete({startcol}, {matches}) *complete()* *E785*
|
||||
< This isn't very useful, but it shows how it works. Note that
|
||||
an empty string is returned to avoid a zero being inserted.
|
||||
|
||||
Can also be used as a |method|, the second argument is passed
|
||||
in: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetMatches()->complete(col('.'))
|
||||
|
||||
complete_add({expr}) *complete_add()*
|
||||
@@ -3688,7 +3696,7 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
|
||||
|
||||
Can also be used as a |method|in: >
|
||||
BuildMessage()->confirm("&Yes\n&No")
|
||||
|
||||
<
|
||||
*copy()*
|
||||
copy({expr}) Make a copy of {expr}. For Numbers and Strings this isn't
|
||||
different from using {expr} directly.
|
||||
@@ -3883,6 +3891,9 @@ deletebufline({expr}, {first} [, {last}]) *deletebufline()*
|
||||
If {last} is omitted then delete line {first} only.
|
||||
On success 0 is returned, on failure 1 is returned.
|
||||
|
||||
This function works only for loaded buffers. First call
|
||||
|bufload()| if needed.
|
||||
|
||||
For the use of {expr}, see |bufname()| above.
|
||||
|
||||
{first} and {last} are used like with |getline()|. Note that
|
||||
@@ -3891,7 +3902,7 @@ deletebufline({expr}, {first} [, {last}]) *deletebufline()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetBuffer()->deletebufline(1)
|
||||
|
||||
<
|
||||
*did_filetype()*
|
||||
did_filetype() Returns |TRUE| when autocommands are being executed and the
|
||||
FileType event has been triggered at least once. Can be used
|
||||
@@ -4052,7 +4063,7 @@ exepath({expr}) *exepath()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetCommand()->exepath()
|
||||
|
||||
<
|
||||
*exists()*
|
||||
exists({expr}) The result is a Number, which is |TRUE| if {expr} is defined,
|
||||
zero otherwise.
|
||||
@@ -4248,8 +4259,8 @@ expandcmd({expr}) *expandcmd()*
|
||||
Expand special items in {expr} like what is done for an Ex
|
||||
command such as `:edit`. This expands special keywords, like
|
||||
with |expand()|, and environment variables, anywhere in
|
||||
{expr}. Returns the expanded string.
|
||||
Example: >
|
||||
{expr}. "~user" and "~/path" are only expanded at the start.
|
||||
Returns the expanded string. Example: >
|
||||
:echo expandcmd('make %<.o')
|
||||
|
||||
< Can also be used as a |method|: >
|
||||
@@ -4578,7 +4589,7 @@ foldlevel({lnum}) *foldlevel()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetLnum()->foldlevel()
|
||||
|
||||
<
|
||||
*foldtext()*
|
||||
foldtext() Returns a String, to be displayed for a closed fold. This is
|
||||
the default function used for the 'foldtext' option and should
|
||||
@@ -4784,6 +4795,10 @@ getbufinfo([{dict}])
|
||||
changed TRUE if the buffer is modified.
|
||||
changedtick number of changes made to the buffer.
|
||||
hidden TRUE if the buffer is hidden.
|
||||
lastused timestamp in seconds, like
|
||||
|localtime()|, when the buffer was
|
||||
last used.
|
||||
{only with the |+viminfo| feature}
|
||||
listed TRUE if the buffer is listed.
|
||||
lnum current line number in buffer.
|
||||
loaded TRUE if the buffer is loaded.
|
||||
@@ -5860,7 +5875,7 @@ histadd({history}, {item}) *histadd()*
|
||||
:let date=input("Enter date: ")
|
||||
< This function is not available in the |sandbox|.
|
||||
|
||||
Can also be used as a |method|, the base is used for the
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetHistory()->histadd('search')
|
||||
|
||||
@@ -6388,8 +6403,8 @@ libcall({libname}, {funcname}, {argument})
|
||||
Examples: >
|
||||
:echo libcall("libc.so", "getenv", "HOME")
|
||||
|
||||
< Can also be used as a |method|, where the base is passed as
|
||||
the argument to the called function: >
|
||||
< Can also be used as a |method|, the base is passed as the
|
||||
third argument: >
|
||||
GetValue()->libcall("libc.so", "getenv")
|
||||
<
|
||||
*libcallnr()*
|
||||
@@ -6403,8 +6418,8 @@ libcallnr({libname}, {funcname}, {argument})
|
||||
:call libcallnr("libc.so", "printf", "Hello World!\n")
|
||||
:call libcallnr("libc.so", "sleep", 10)
|
||||
<
|
||||
Can also be used as a |method|, where the base is passed as
|
||||
the argument to the called function: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
third argument: >
|
||||
GetValue()->libcallnr("libc.so", "printf")
|
||||
<
|
||||
|
||||
@@ -6498,8 +6513,8 @@ listener_add({callback} [, {buf}]) *listener_add()*
|
||||
a:bufnr the buffer that was changed
|
||||
a:start first changed line number
|
||||
a:end first line number below the change
|
||||
a:added total number of lines added, negative if lines
|
||||
were deleted
|
||||
a:added number of lines added, negative if lines were
|
||||
deleted
|
||||
a:changes a List of items with details about the changes
|
||||
|
||||
Example: >
|
||||
@@ -6555,8 +6570,8 @@ listener_add({callback} [, {buf}]) *listener_add()*
|
||||
The {callback} is also not invoked when the buffer is
|
||||
unloaded, use the |BufUnload| autocmd event for that.
|
||||
|
||||
Can also be used as a |method|, where the base is passed as
|
||||
the second argument, the buffer: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetBuffer()->listener_add(callback)
|
||||
|
||||
listener_flush([{buf}]) *listener_flush()*
|
||||
@@ -7026,6 +7041,7 @@ matchstrpos({expr}, {pat} [, {start} [, {count}]]) *matchstrpos()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetText()->matchstrpos('word')
|
||||
<
|
||||
*max()*
|
||||
max({expr}) Return the maximum value of all items in {expr}.
|
||||
{expr} can be a list or a dictionary. For a dictionary,
|
||||
@@ -7511,7 +7527,7 @@ pum_getpos() *pum_getpos()*
|
||||
row top screen row (0 first row)
|
||||
col leftmost screen column (0 first col)
|
||||
size total nr of items
|
||||
scrollbar |TRUE| if visible
|
||||
scrollbar |TRUE| if scrollbar is visible
|
||||
|
||||
The values are the same as in |v:event| during
|
||||
|CompleteChanged|.
|
||||
@@ -8282,20 +8298,31 @@ serverlist() *serverlist()*
|
||||
:echo serverlist()
|
||||
<
|
||||
setbufline({expr}, {lnum}, {text}) *setbufline()*
|
||||
Set line {lnum} to {text} in buffer {expr}. To insert
|
||||
lines use |append()|. Any text properties in {lnum} are
|
||||
cleared.
|
||||
Set line {lnum} to {text} in buffer {expr}. This works like
|
||||
|setline()| for the specified buffer.
|
||||
|
||||
This function works only for loaded buffers. First call
|
||||
|bufload()| if needed.
|
||||
|
||||
To insert lines use |appendbufline()|.
|
||||
Any text properties in {lnum} are cleared.
|
||||
|
||||
{text} can be a string to set one line, or a list of strings
|
||||
to set multiple lines. If the list extends below the last
|
||||
line then those lines are added.
|
||||
|
||||
For the use of {expr}, see |bufname()| above.
|
||||
|
||||
{lnum} is used like with |setline()|.
|
||||
This works like |setline()| for the specified buffer.
|
||||
When {lnum} is just below the last line the {text} will be
|
||||
added below the last line.
|
||||
|
||||
When {expr} is not a valid buffer, the buffer is not loaded or
|
||||
{lnum} is not valid then 1 is returned. On success 0 is
|
||||
returned.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
third argument: >
|
||||
GetText()->setbufline(buf, lnum)
|
||||
|
||||
setbufvar({expr}, {varname}, {val}) *setbufvar()*
|
||||
@@ -8311,7 +8338,8 @@ setbufvar({expr}, {varname}, {val}) *setbufvar()*
|
||||
:call setbufvar("todo", "myvar", "foobar")
|
||||
< This function is not available in the |sandbox|.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
third argument: >
|
||||
GetValue()->setbufvar(buf, varname)
|
||||
|
||||
setcharsearch({dict}) *setcharsearch()*
|
||||
@@ -8360,7 +8388,8 @@ setenv({name}, {val}) *setenv()*
|
||||
When {val} is |v:null| the environment variable is deleted.
|
||||
See also |expr-env|.
|
||||
|
||||
Can also be used as a |method|, passing the value as the base: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetPath()->setenv('PATH')
|
||||
|
||||
setfperm({fname}, {mode}) *setfperm()* *chmod*
|
||||
@@ -8391,7 +8420,7 @@ setline({lnum}, {text}) *setline()*
|
||||
|
||||
{lnum} is used like with |getline()|.
|
||||
When {lnum} is just below the last line the {text} will be
|
||||
added as a new line.
|
||||
added below the last line.
|
||||
|
||||
If this succeeds, 0 is returned. If this fails (most likely
|
||||
because {lnum} is invalid) 1 is returned.
|
||||
@@ -8409,7 +8438,8 @@ setline({lnum}, {text}) *setline()*
|
||||
|
||||
< Note: The '[ and '] marks are not set.
|
||||
|
||||
Can also be used as a |method|, passing the text as the base: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetText()->setline(lnum)
|
||||
|
||||
setloclist({nr}, {list} [, {action} [, {what}]]) *setloclist()*
|
||||
@@ -8658,7 +8688,8 @@ settabvar({tabnr}, {varname}, {val}) *settabvar()*
|
||||
Tabs are numbered starting with one.
|
||||
This function is not available in the |sandbox|.
|
||||
|
||||
Can also be used as a |method|, the base is used as the value: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
third argument: >
|
||||
GetValue()->settabvar(tab, name)
|
||||
|
||||
settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
|
||||
@@ -8679,7 +8710,8 @@ settabwinvar({tabnr}, {winnr}, {varname}, {val}) *settabwinvar()*
|
||||
:call settabwinvar(3, 2, "myvar", "foobar")
|
||||
< This function is not available in the |sandbox|.
|
||||
|
||||
Can also be used as a |method|, the base is used as the value: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
fourth argument: >
|
||||
GetValue()->settabvar(tab, winnr, name)
|
||||
|
||||
settagstack({nr}, {dict} [, {action}]) *settagstack()*
|
||||
@@ -8713,7 +8745,8 @@ settagstack({nr}, {dict} [, {action}]) *settagstack()*
|
||||
call settagstack(1003, stack)
|
||||
unlet stack
|
||||
<
|
||||
Can also be used as a |method|, the base is used as the Dict: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetStack()->settagstack(winnr)
|
||||
|
||||
setwinvar({winnr}, {varname}, {val}) *setwinvar()*
|
||||
@@ -8722,7 +8755,8 @@ setwinvar({winnr}, {varname}, {val}) *setwinvar()*
|
||||
:call setwinvar(1, "&list", 0)
|
||||
:call setwinvar(2, "myvar", "foobar")
|
||||
|
||||
< Can also be used as a |method|, the base is used as the value: >
|
||||
< Can also be used as a |method|, the base is passed as the
|
||||
third argument: >
|
||||
GetValue()->setwinvar(winnr, name)
|
||||
|
||||
sha256({string}) *sha256()*
|
||||
@@ -9090,8 +9124,8 @@ state([{what}]) *state()*
|
||||
e.g. after |f|
|
||||
a Insert mode autocomplete active
|
||||
x executing an autocommand
|
||||
w blocked on waiting, e.g. ch_evalexpr() and
|
||||
ch_read(), ch_readraw() when reading json.
|
||||
w blocked on waiting, e.g. ch_evalexpr(), ch_read() and
|
||||
ch_readraw() when reading json.
|
||||
S not triggering SafeState or SafeStateAgain
|
||||
c callback invoked, including timer (repeats for
|
||||
recursiveness up to "ccc")
|
||||
@@ -9142,7 +9176,7 @@ str2nr({expr} [, {base} [, {quoted}]]) *str2nr()*
|
||||
When {base} is omitted base 10 is used. This also means that
|
||||
a leading zero doesn't cause octal conversion to be used, as
|
||||
with the default String to Number conversion. Example: >
|
||||
let nr = str2nr('123')
|
||||
let nr = str2nr('0123')
|
||||
<
|
||||
When {base} is 16 a leading "0x" or "0X" is ignored. With a
|
||||
different base the result will be zero. Similarly, when
|
||||
@@ -9259,6 +9293,7 @@ stridx({haystack}, {needle} [, {start}]) *stridx()*
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetHaystack()->stridx(needle)
|
||||
<
|
||||
*string()*
|
||||
string({expr}) Return {expr} converted to a String. If {expr} is a Number,
|
||||
Float, String, Blob or a composition of them, then the result
|
||||
@@ -10154,8 +10189,8 @@ win_execute({id}, {command} [, {silent}]) *win_execute()*
|
||||
Not all commands are allowed in popup windows.
|
||||
When window {id} does not exist then no error is given.
|
||||
|
||||
Can also be used as a |method|, the base is used for the
|
||||
command: >
|
||||
Can also be used as a |method|, the base is passed as the
|
||||
second argument: >
|
||||
GetCommand()->win_execute(winid)
|
||||
|
||||
win_findbuf({bufnr}) *win_findbuf()*
|
||||
@@ -10473,11 +10508,11 @@ xor({expr}, {expr}) *xor()*
|
||||
to a number. A List, Dict or Float argument causes an error.
|
||||
Example: >
|
||||
:let bits = xor(bits, 0x80)
|
||||
< Can also be used as a |method|: >
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
:let bits = bits->xor(0x80)
|
||||
<
|
||||
|
||||
|
||||
*feature-list*
|
||||
There are four types of features:
|
||||
1. Features that are only supported when they have been enabled when Vim
|
||||
@@ -11355,21 +11390,22 @@ This does NOT work: >
|
||||
|
||||
*:let=<<* *:let-heredoc*
|
||||
*E990* *E991* *E172* *E221*
|
||||
:let {var-name} =<< [trim] {marker}
|
||||
:let {var-name} =<< [trim] {endmarker}
|
||||
text...
|
||||
text...
|
||||
{marker}
|
||||
{endmarker}
|
||||
Set internal variable {var-name} to a List containing
|
||||
the lines of text bounded by the string {marker}.
|
||||
{marker} must not contain white space.
|
||||
{marker} cannot start with a lower case character.
|
||||
The last line should end only with the {marker} string
|
||||
without any other character. Watch out for white
|
||||
space after {marker}!
|
||||
the lines of text bounded by the string {endmarker}.
|
||||
{endmarker} must not contain white space.
|
||||
{endmarker} cannot start with a lower case character.
|
||||
The last line should end only with the {endmarker}
|
||||
string without any other character. Watch out for
|
||||
white space after {endmarker}!
|
||||
|
||||
Without "trim" any white space characters in the lines
|
||||
of text are preserved. If "trim" is specified before
|
||||
{marker}, then indentation is stripped so you can do: >
|
||||
{endmarker}, then indentation is stripped so you can
|
||||
do: >
|
||||
let text =<< trim END
|
||||
if ok
|
||||
echo 'done'
|
||||
@@ -11383,23 +11419,31 @@ text...
|
||||
non-empty text line is stripped from the input lines.
|
||||
All leading indentation exactly matching the leading
|
||||
indentation before `let` is stripped from the line
|
||||
containing {marker}. Note that the difference between
|
||||
space and tab matters here.
|
||||
containing {endmarker}. Note that the difference
|
||||
between space and tab matters here.
|
||||
|
||||
If {var-name} didn't exist yet, it is created.
|
||||
Cannot be followed by another command, but can be
|
||||
followed by a comment.
|
||||
|
||||
To avoid line continuation to be applied, consider
|
||||
adding 'C' to 'cpoptions': >
|
||||
set cpo+=C
|
||||
let var =<< END
|
||||
\ leading backslash
|
||||
END
|
||||
set cpo-=C
|
||||
<
|
||||
Examples: >
|
||||
let var1 =<< END
|
||||
Sample text 1
|
||||
Sample text 2
|
||||
Sample text 3
|
||||
END
|
||||
Sample text 1
|
||||
Sample text 2
|
||||
Sample text 3
|
||||
END
|
||||
|
||||
let data =<< trim DATA
|
||||
1 2 3 4
|
||||
5 6 7 8
|
||||
1 2 3 4
|
||||
5 6 7 8
|
||||
DATA
|
||||
<
|
||||
*E121*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*helphelp.txt* For Vim version 8.1. Last change: 2019 May 04
|
||||
*helphelp.txt* For Vim version 8.1. Last change: 2019 Oct 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -102,7 +102,11 @@ Help on help files *helphelp*
|
||||
current file. See |help-translated|.
|
||||
|
||||
*:helpc* *:helpclose*
|
||||
:helpc[lose] Close one help window, if there is one.
|
||||
:helpc[lose] Close one help window, if there is one.
|
||||
Vim will try to restore the window layout (including
|
||||
cursor position) to the same layout it was before
|
||||
opening the help window initially. This might cause
|
||||
triggering several autocommands.
|
||||
|
||||
*:helpg* *:helpgrep*
|
||||
:helpg[rep] {pattern}[@xx]
|
||||
|
||||
@@ -55,14 +55,14 @@ The ActiveState one should work, Strawberry Perl is a good alternative.
|
||||
working: >
|
||||
:perl VIM::Msg("Hello")
|
||||
|
||||
:pe[rl] << [endpattern]
|
||||
:pe[rl] << [endmarker]
|
||||
{script}
|
||||
{endpattern}
|
||||
{endmarker}
|
||||
Execute Perl script {script}.
|
||||
The {endpattern} after {script} must NOT be preceded
|
||||
by any white space.
|
||||
The {endmarker} after {script} must NOT be preceded by
|
||||
any white space.
|
||||
|
||||
If [endpattern] is omitted, it defaults to a dot '.'
|
||||
If [endmarker] is omitted, it defaults to a dot '.'
|
||||
like for the |:append| and |:insert| commands. Using
|
||||
'.' helps when inside a function, because "$i;" looks
|
||||
like the start of an |:insert| command to Vim.
|
||||
|
||||
@@ -28,14 +28,14 @@ downloading Ruby there.
|
||||
:rub[y] {cmd} Execute Ruby command {cmd}. A command to try it out: >
|
||||
:ruby print "Hello"
|
||||
|
||||
:rub[y] << [endpattern]
|
||||
:rub[y] << [endmarker]
|
||||
{script}
|
||||
{endpattern}
|
||||
{endmarker}
|
||||
Execute Ruby script {script}.
|
||||
The {endpattern} after {script} must NOT be preceded
|
||||
by any white space.
|
||||
The {endmarker} after {script} must NOT be preceded by
|
||||
any white space.
|
||||
|
||||
If [endpattern] is omitted, it defaults to a dot '.'
|
||||
If [endmarker] is omitted, it defaults to a dot '.'
|
||||
like for the |:append| and |:insert| commands.
|
||||
|
||||
This form of the |:ruby| command is mainly useful for
|
||||
|
||||
@@ -949,10 +949,12 @@ Function call arguments will indent 1 extra level. For two-space indentation: >
|
||||
-------------
|
||||
|
||||
*PHP_IndentFunctionDeclarationParameters*
|
||||
Extra indentation levels to add to arguments in multi-line function definitions. >
|
||||
Extra indentation levels to add to arguments in multi-line function
|
||||
definitions. >
|
||||
let g:PHP_IndentFunctionDeclarationParameters = 1
|
||||
|
||||
Function arguments in declarations will indent 1 extra level. For two-space indentation: >
|
||||
Function arguments in declarations will indent 1 extra level. For two-space
|
||||
indentation: >
|
||||
|
||||
function call_the_thing(
|
||||
$with_this,
|
||||
|
||||
@@ -781,6 +781,7 @@ tag char note action in Normal mode ~
|
||||
|gn| gn 1,2 find the next match with the last used
|
||||
search pattern and Visually select it
|
||||
|gm| gm 1 go to character at middle of the screenline
|
||||
|gM| gM 1 go to character at middle of the text line
|
||||
|go| go 1 cursor to byte N in the buffer
|
||||
|gp| ["x]gp 2 put the text [from register x] after the
|
||||
cursor N times, leave the cursor after it
|
||||
|
||||
+22
-1
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 8.1. Last change: 2019 Sep 27
|
||||
*insert.txt* For Vim version 8.1. Last change: 2019 Oct 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1138,6 +1138,27 @@ below the text, and the bottom of the menu otherwise.
|
||||
After the info popup is created it can be found with |popup_findinfo()| and
|
||||
properties can be changed with |popup_setoptions()|.
|
||||
|
||||
*complete-popuphidden*
|
||||
If the information for the popup is obtained asynchronously, use "popuphidden"
|
||||
in 'completeopt'. The info popup will then be initally hidden and
|
||||
|popup_show()| must be called once it has been filled with the info. This can
|
||||
be done with a |CompleteChanged| autocommand, something like this: >
|
||||
set completeopt+=popuphidden
|
||||
au CompleteChanged * call UpdateCompleteInfo()
|
||||
func UpdateCompleteInfo()
|
||||
" Cancel any pending info fetch
|
||||
let item = v:event.completed_item
|
||||
" Start fetching info for the item then call ShowCompleteInfo(info)
|
||||
endfunc
|
||||
func ShowCompleteInfo(info)
|
||||
let id = popup_findinfo()
|
||||
if id
|
||||
call popup_settext(id, 'async info: ' .. a:info)
|
||||
call popup_show(id)
|
||||
endif
|
||||
endfunc
|
||||
|
||||
< *complete-item-kind*
|
||||
The "kind" item uses a single letter to indicate the kind of completion. This
|
||||
may be used to show the completion differently (different color or icon).
|
||||
Currently these types can be used:
|
||||
|
||||
+31
-3
@@ -1,4 +1,4 @@
|
||||
*map.txt* For Vim version 8.1. Last change: 2019 Jun 02
|
||||
*map.txt* For Vim version 8.1. Last change: 2019 Oct 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -20,7 +20,8 @@ manual.
|
||||
1.8 Examples |map-examples|
|
||||
1.9 Using mappings |map-typing|
|
||||
1.10 Mapping alt-keys |:map-alt-keys|
|
||||
1.11 Mapping an operator |:map-operator|
|
||||
1.11 Mapping in modifyOtherKeys mode |modifyOtherKeys|
|
||||
1.12 Mapping an operator |:map-operator|
|
||||
2. Abbreviations |abbreviations|
|
||||
3. Local mappings and functions |script-local|
|
||||
4. User-defined commands |user-commands|
|
||||
@@ -777,6 +778,9 @@ In the GUI Vim handles the Alt key itself, thus mapping keys with ALT should
|
||||
always work. But in a terminal Vim gets a sequence of bytes and has to figure
|
||||
out whether ALT was pressed or not.
|
||||
|
||||
If the terminal supports the modifyOtherKeys mode and it has been enabled,
|
||||
then Vim can recognize more key combinations, see |modifyOtherKeys| below.
|
||||
|
||||
By default Vim assumes that pressing the ALT key sets the 8th bit of a typed
|
||||
character. Most decent terminals can work that way, such as xterm, aterm and
|
||||
rxvt. If your <A-k> mappings don't work it might be that the terminal is
|
||||
@@ -814,7 +818,31 @@ on the terminal; that's a good last resource in case you want to send ESC when
|
||||
using other applications but not when inside Vim.
|
||||
|
||||
|
||||
1.11 MAPPING AN OPERATOR *:map-operator*
|
||||
1.11 MAPPING IN modifyOtherKeys mode *modifyOtherKeys*
|
||||
|
||||
Xterm and a few other terminals can be put in a mode where keys with modifiers
|
||||
are sent with a special escape code. Vim recognizes these codes and can then
|
||||
make a difference between CTRL-H and Backspace, even when Backspace sends the
|
||||
character 8. And many more special keys.
|
||||
|
||||
For xterm modifyOtherKeys is enabled in the builtin termcap entry. If this is
|
||||
not used you can enable modifyOtherKeys with these lines in your vimrc: >
|
||||
let &t_TI = "\<Esc>[>4;2m"
|
||||
let &t_TE = "\<Esc>[>4;m"
|
||||
|
||||
In case the modifyOtherKeys mode causes problems you can disable it: >
|
||||
let &t_TI = ""
|
||||
let &t_TE = ""
|
||||
It does not take effect immediately. To have this work without restarting Vim
|
||||
execute a shell command, e.g.: `!ls`
|
||||
|
||||
A known side effect effect is that in Insert mode the raw escape sequence is
|
||||
inserted after the CTRL-V key. This can be used to check whether
|
||||
modifyOtherKeys is enabled: In Insert mode type CTRL-V CTRL-V, if you get
|
||||
one byte then modifyOtherKeys is off, if you get <1b>27;5;118~ then it is on.
|
||||
|
||||
|
||||
1.12 MAPPING AN OPERATOR *:map-operator*
|
||||
|
||||
An operator is used before a {motion} command. To define your own operator
|
||||
you must create mapping that first sets the 'operatorfunc' option and then
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*message.txt* For Vim version 8.1. Last change: 2019 Aug 23
|
||||
*message.txt* For Vim version 8.1. Last change: 2019 Oct 19
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -480,7 +480,7 @@ try to solve the memory shortage. To stay on the safe side, exit Vim and
|
||||
start again.
|
||||
|
||||
If this happens while Vim is still initializing, editing files is very
|
||||
unlikely to work, therefore Vim will exit with value 123.
|
||||
unlikely to work, therefore Vim will exit with value 123.
|
||||
|
||||
Buffers are only partly kept in memory, thus editing a very large file is
|
||||
unlikely to cause an out-of-memory situation. Undo information is completely
|
||||
@@ -582,7 +582,8 @@ allowed for the command that was used.
|
||||
Vim was not able to create a swap file. You can still edit the file, but if
|
||||
Vim unexpectedly exits the changes will be lost. And Vim may consume a lot of
|
||||
memory when editing a big file. You may want to change the 'directory' option
|
||||
to avoid this error. See |swap-file|.
|
||||
to avoid this error. This error is not given when 'directory' is empty. See
|
||||
|swap-file|.
|
||||
|
||||
*E140* >
|
||||
Use ! to write partial buffer
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*motion.txt* For Vim version 8.1. Last change: 2019 Jun 02
|
||||
*motion.txt* For Vim version 8.1. Last change: 2019 Oct 28
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -227,6 +227,12 @@ g^ When lines wrap ('wrap' on): To the first non-blank
|
||||
gm Like "g0", but half a screenwidth to the right (or as
|
||||
much as possible).
|
||||
|
||||
*gm* *gM*
|
||||
gM Like "g0", but to halfway the text of the line.
|
||||
With a count: to this percentage of text in the line.
|
||||
Thus "10gM" is near the start of the text and "90gM"
|
||||
is near the end of the text.
|
||||
|
||||
*g$* *g<End>*
|
||||
g$ or g<End> When lines wrap ('wrap' on): To the last character of
|
||||
the screen line and [count - 1] screen lines downward
|
||||
|
||||
+44
-23
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 8.1. Last change: 2019 Sep 26
|
||||
*options.txt* For Vim version 8.1. Last change: 2019 Oct 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -861,7 +861,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
:set background&
|
||||
< Vim will guess the value. In the GUI this should work correctly,
|
||||
in other cases Vim might not be able to guess the right value.
|
||||
If the GUI supports a dark them, you can use the "d" flag in
|
||||
If the GUI supports a dark theme, you can use the "d" flag in
|
||||
'guioptions', see 'go-d'.
|
||||
|
||||
When the |t_RB| option is set, Vim will use it to request the background
|
||||
@@ -1900,7 +1900,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'completeslash'* *'csl'*
|
||||
'completeslash' 'csl' string (default: "")
|
||||
local to buffer
|
||||
{not in Vi} {only for MS-Windows}
|
||||
{only for MS-Windows}
|
||||
When this option is set it overrules 'shellslash' for completion:
|
||||
- When this option is set to "slash", a forward slash is used for path
|
||||
completion in insert mode. This is useful when editing HTML tag, or
|
||||
@@ -1940,7 +1940,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
completion in a popup window. Only works in combination
|
||||
with "menu" or "menuone". Overrides "preview".
|
||||
See |'completepopup'| for specifying properties.
|
||||
{only works when compiled with the +textprop feature}
|
||||
{only works when compiled with the |+textprop| feature}
|
||||
|
||||
popuphidden
|
||||
Just like "popup" but initially hide the popup. Use a
|
||||
|CompleteChanged| autocommand to fetch the info and call
|
||||
|popup_show()| once the popup has been filled.
|
||||
See the example at |complete-popuphidden|.
|
||||
{only works when compiled with the |+textprop| feature}
|
||||
|
||||
noinsert Do not insert any text for a match until the user selects
|
||||
a match from the menu. Only works in combination with
|
||||
@@ -2493,7 +2500,6 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
*'cursorlineopt'* *'culopt'*
|
||||
'cursorlineopt' 'culopt' string (default: "number,line")
|
||||
local to window
|
||||
{not in Vi}
|
||||
{not available when compiled without the |+syntax|
|
||||
feature}
|
||||
Comma separated list of settings for how 'cursorline' is displayed.
|
||||
@@ -2717,7 +2723,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
- The swap file will be created in the first directory where this is
|
||||
possible.
|
||||
- Empty means that no swap file will be used (recovery is
|
||||
impossible!).
|
||||
impossible!) and no |E303| error will be given.
|
||||
- A directory "." means to put the swap file in the same directory as
|
||||
the edited file. On Unix, a dot is prepended to the file name, so
|
||||
it doesn't show in a directory listing. On MS-Windows the "hidden"
|
||||
@@ -4028,6 +4034,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
"8:SpecialKey,~:EndOfBuffer,@:NonText,
|
||||
d:Directory,e:ErrorMsg,i:IncSearch,
|
||||
l:Search,m:MoreMsg,M:ModeMsg,n:LineNr,
|
||||
a:LineNrAbove,b:LineNrBelow,
|
||||
N:CursorLineNr,r:Question,s:StatusLine,
|
||||
S:StatusLineNC,c:VertSplit,t:Title,
|
||||
v:Visual,V:VisualNOS,w:WarningMsg,
|
||||
@@ -4059,6 +4066,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|hl-ModeMsg| M Mode (e.g., "-- INSERT --")
|
||||
|hl-LineNr| n line number for ":number" and ":#" commands, and
|
||||
when 'number' or 'relativenumber' option is set.
|
||||
|hl-LineNrAbove| a line number above the cursor for when the
|
||||
'relativenumber' option is set.
|
||||
|hl-LineNrBelow| b line number below the cursor for when the
|
||||
'relativenumber' option is set.
|
||||
|hl-CursorLineNr| N like n for when 'cursorline' or 'relativenumber' is
|
||||
set.
|
||||
|hl-Question| r |hit-enter| prompt and yes/no questions
|
||||
@@ -5334,12 +5345,11 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
|
||||
*'mouse'* *E538*
|
||||
'mouse' string (default "", "a" for GUI, MS-DOS and Win32,
|
||||
set to "a" in |defaults.vim|)
|
||||
set to "a" or "nvi" in |defaults.vim|)
|
||||
global
|
||||
Enable the use of the mouse. Only works for certain terminals
|
||||
(xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, *BSD console with
|
||||
sysmouse and Linux console with gpm). For using the mouse in the
|
||||
GUI, see |gui-mouse|.
|
||||
Enable the use of the mouse. Works for most terminals (xterm, MS-DOS,
|
||||
Win32 |win32-mouse|, QNX pterm, *BSD console with sysmouse and Linux
|
||||
console with gpm). For using the mouse in the GUI, see |gui-mouse|.
|
||||
The mouse can be enabled for different modes:
|
||||
n Normal mode and Terminal modes
|
||||
v Visual mode
|
||||
@@ -5350,7 +5360,15 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
r for |hit-enter| and |more-prompt| prompt
|
||||
Normally you would enable the mouse in all five modes with: >
|
||||
:set mouse=a
|
||||
< When the mouse is not enabled, the GUI will still use the mouse for
|
||||
< If your terminal can't overrule the mouse events going to the
|
||||
application, use: >
|
||||
:set mouse=nvi
|
||||
< The you can press ":", select text for the system, and press Esc to go
|
||||
back to Vim using the mouse events.
|
||||
In |defaults.vim| "nvi" is used if the 'term' option is not matching
|
||||
"xterm".
|
||||
|
||||
When the mouse is not enabled, the GUI will still use the mouse for
|
||||
modeless selection. This doesn't move the text cursor.
|
||||
|
||||
See |mouse-using|. Also see |'clipboard'|.
|
||||
@@ -6640,10 +6658,10 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
For Unix the default it "| tee". The stdout of the compiler is saved
|
||||
in a file and echoed to the screen. If the 'shell' option is "csh" or
|
||||
"tcsh" after initializations, the default becomes "|& tee". If the
|
||||
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh" or "bash" the
|
||||
default becomes "2>&1| tee". This means that stderr is also included.
|
||||
Before using the 'shell' option a path is removed, thus "/bin/sh" uses
|
||||
"sh".
|
||||
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh", "zsh-beta",
|
||||
"bash" or "fish" the default becomes "2>&1| tee". This means that
|
||||
stderr is also included. Before using the 'shell' option a path is
|
||||
removed, thus "/bin/sh" uses "sh".
|
||||
The initialization of this option is done after reading the ".vimrc"
|
||||
and the other initializations, so that when the 'shell' option is set
|
||||
there, the 'shellpipe' option changes automatically, unless it was
|
||||
@@ -6683,13 +6701,14 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
The name of the temporary file can be represented by "%s" if necessary
|
||||
(the file name is appended automatically if no %s appears in the value
|
||||
of this option).
|
||||
The default is ">". For Unix, if the 'shell' option is "csh", "tcsh"
|
||||
or "zsh" during initializations, the default becomes ">&". If the
|
||||
'shell' option is "sh", "ksh" or "bash" the default becomes
|
||||
">%s 2>&1". This means that stderr is also included.
|
||||
For Win32, the Unix checks are done and additionally "cmd" is checked
|
||||
for, which makes the default ">%s 2>&1". Also, the same names with
|
||||
".exe" appended are checked for.
|
||||
The default is ">". For Unix, if the 'shell' option is "csh" or
|
||||
"tcsh" during initializations, the default becomes ">&". If the
|
||||
'shell' option is "sh", "ksh", "mksh", "pdksh", "zsh",
|
||||
"zsh-beta","bash" or "fish", the default becomes ">%s 2>&1". This
|
||||
means that stderr is also included. For Win32, the Unix checks are
|
||||
done and additionally "cmd" is checked for, which makes the default
|
||||
">%s 2>&1". Also, the same names with ".exe" appended are checked
|
||||
for.
|
||||
The initialization of this option is done after reading the ".vimrc"
|
||||
and the other initializations, so that when the 'shell' option is set
|
||||
there, the 'shellredir' option changes automatically unless it was
|
||||
@@ -8845,6 +8864,8 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
complete first match.
|
||||
"list:longest" When more than one match, list all matches and
|
||||
complete till longest common string.
|
||||
"list:lastused" When more than one buffer matches, sort buffers
|
||||
by time last used (other than the current buffer).
|
||||
When there is only a single match, it is fully completed in all cases.
|
||||
|
||||
Examples: >
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Jul 17
|
||||
*pi_netrw.txt* For Vim version 8.1. Last change: 2019 Oct 10
|
||||
|
||||
------------------------------------------------
|
||||
NETRW REFERENCE MANUAL by Charles E. Campbell
|
||||
@@ -3512,7 +3512,7 @@ Example: Clear netrw's marked file list via a mapping on gu >
|
||||
- Click "Add..."
|
||||
- Set External Editor (adjust path as needed, include
|
||||
the quotes and !.! at the end):
|
||||
"c:\Program Files\Vim\vim70\gvim.exe" !.!
|
||||
"c:\Program Files\Vim\vim81\gvim.exe" !.!
|
||||
- Check that the filetype in the box below is
|
||||
{asterisk}.{asterisk} (all files), or whatever types
|
||||
you want (cec: change {asterisk} to * ; I had to
|
||||
@@ -3762,8 +3762,8 @@ by obtaining a copy of the latest (often developmental) netrw at:
|
||||
|
||||
The <netrw.vim> script is typically installed on systems as something like:
|
||||
>
|
||||
/usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
|
||||
/usr/local/share/vim/vim7x/autoload/netrw.vim
|
||||
/usr/local/share/vim/vim8x/plugin/netrwPlugin.vim
|
||||
/usr/local/share/vim/vim8x/autoload/netrw.vim
|
||||
(see output of :echo &rtp)
|
||||
<
|
||||
which is loaded automatically at startup (assuming :set nocp). If you
|
||||
|
||||
+17
-10
@@ -1,4 +1,4 @@
|
||||
*popup.txt* For Vim version 8.1. Last change: 2019 Sep 25
|
||||
*popup.txt* For Vim version 8.1. Last change: 2019 Oct 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -305,8 +305,9 @@ popup_findinfo() *popup_findinfo()*
|
||||
Get the |window-ID| for the popup info window, as it used by
|
||||
the popup menu. See |complete-popup|. The info popup is
|
||||
hidden when not used, it can be deleted with |popup_clear()|
|
||||
and |popup_close()|.
|
||||
Return zero if there is none.
|
||||
and |popup_close()|. Use |popup_show()| to reposition it to
|
||||
the item in the popup menu.
|
||||
Returns zero if there is none.
|
||||
|
||||
|
||||
popup_findpreview() *popup_findpreview()*
|
||||
@@ -314,7 +315,6 @@ popup_findpreview() *popup_findpreview()*
|
||||
Return zero if there is none.
|
||||
|
||||
|
||||
|
||||
popup_getoptions({id}) *popup_getoptions()*
|
||||
Return the {options} for popup {id} in a Dict.
|
||||
A zero value means the option was not set. For "zindex" the
|
||||
@@ -361,7 +361,7 @@ popup_getpos({id}) *popup_getpos()*
|
||||
core_width width of the text box in screen cells
|
||||
core_height height of the text box in screen cells
|
||||
firstline line of the buffer at top (1 unless scrolled)
|
||||
(not the value of the "firstline" property)
|
||||
(not the value of the "firstline" property)
|
||||
scrollbar non-zero if a scrollbar is displayed
|
||||
visible one if the popup is displayed, zero if hidden
|
||||
Note that these are the actual screen positions. They differ
|
||||
@@ -474,6 +474,8 @@ popup_notification({what}, {options}) *popup_notification()*
|
||||
popup_show({id}) *popup_show()*
|
||||
If {id} is a hidden popup, show it now.
|
||||
For {id} see `popup_hide()`.
|
||||
If {id} is the info popup it will be positioned next to the
|
||||
current popup menu item.
|
||||
|
||||
|
||||
popup_setoptions({id}, {options}) *popup_setoptions()*
|
||||
@@ -680,8 +682,13 @@ The second argument of |popup_create()| is a dictionary with options:
|
||||
- "expr": if the cursor moved outside |<cexpr>|
|
||||
- [{start}, {end}]: if the cursor moved before column
|
||||
{start} or after {end}
|
||||
- [{lnum}, {start}, {end}]: if the cursor moved away
|
||||
from line {lnum}, before column {start} or after
|
||||
{end}
|
||||
The popup also closes if the cursor moves to another
|
||||
line or to another window.
|
||||
mousemoved Like "moved" but referring to the mouse pointer
|
||||
position
|
||||
cursorline non-zero: Highlight the cursor line. Also scrolls the
|
||||
text to show this line (only works properly
|
||||
when 'wrap' is off).
|
||||
@@ -744,22 +751,22 @@ is inserted or deleted. The popup functions like a tooltip.
|
||||
These steps are needed to make this work:
|
||||
|
||||
- Define a text property type, it defines the name. >
|
||||
call prop_type_add('popupMarker', {})
|
||||
call prop_type_add('popupMarker', {})
|
||||
|
||||
- Place a text property at the desired text: >
|
||||
let lnum = {line of the text}
|
||||
let col = {start column of the text}
|
||||
let len = {length of the text}
|
||||
let propId = {arbitrary but unique number}
|
||||
call prop_add(lnum, col, #{
|
||||
call prop_add(lnum, col, #{
|
||||
\ length: len,
|
||||
\ type: 'popupMarker',
|
||||
\ id: propId,
|
||||
\ })
|
||||
|
||||
- Create a popup: >
|
||||
let winid = popup_create('the text', #{
|
||||
\ pos: 'botleft',
|
||||
let winid = popup_create('the text', #{
|
||||
\ pos: 'botleft',
|
||||
\ textprop: 'popupMarker',
|
||||
\ textpropid: propId,
|
||||
\ border: [],
|
||||
@@ -799,7 +806,7 @@ Some hints:
|
||||
a click, as in the example above, helps for that.
|
||||
- If the text property is removed the popup is closed. Use something like
|
||||
this: >
|
||||
call prop_remove(#{type: 'popupMarker', id: propId})
|
||||
call prop_remove(#{type: 'popupMarker', id: propId})
|
||||
|
||||
|
||||
POPUP FILTER *popup-filter*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 8.1. Last change: 2019 Aug 06
|
||||
*quickfix.txt* For Vim version 8.1. Last change: 2019 Oct 22
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -486,7 +486,7 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
|
||||
etc.
|
||||
< When the current file can't be |abandon|ed and the [!]
|
||||
is not present, the command fails.
|
||||
When an error is detected execution stops.
|
||||
When going to the next entry fails execution stops.
|
||||
The last buffer (or where an error occurred) becomes
|
||||
the current buffer.
|
||||
{cmd} can contain '|' to concatenate several commands.
|
||||
|
||||
@@ -47,6 +47,7 @@ N is used to indicate an optional count that can be given before the command.
|
||||
|g$| N g$ to last character in screen line (differs from "$"
|
||||
when lines wrap)
|
||||
|gm| gm to middle of the screen line
|
||||
|gM| gM to middle of the line
|
||||
|bar| N | to column N (default: 1)
|
||||
|f| N f{char} to the Nth occurrence of {char} to the right
|
||||
|F| N F{char} to the Nth occurrence of {char} to the left
|
||||
|
||||
+29
-3
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 8.1. Last change: 2019 Sep 19
|
||||
*syntax.txt* For Vim version 8.1. Last change: 2019 Oct 04
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -60,8 +60,8 @@ If the VIM environment variable is not set, Vim will try to find
|
||||
the path in another way (see |$VIMRUNTIME|). Usually this works just
|
||||
fine. If it doesn't, try setting the VIM environment variable to the
|
||||
directory where the Vim stuff is located. For example, if your syntax files
|
||||
are in the "/usr/vim/vim50/syntax" directory, set $VIMRUNTIME to
|
||||
"/usr/vim/vim50". You must do this in the shell, before starting Vim.
|
||||
are in the "/usr/vim/vim81/syntax" directory, set $VIMRUNTIME to
|
||||
"/usr/vim/vim81". You must do this in the shell, before starting Vim.
|
||||
This command also sources the |menu.vim| script when the GUI is running or
|
||||
will start soon. See |'go-M'| about avoiding that.
|
||||
|
||||
@@ -1158,6 +1158,26 @@ startup vimrc: >
|
||||
:let filetype_w = "cweb"
|
||||
|
||||
|
||||
DART *dart.vim* *ft-dart-syntax*
|
||||
|
||||
Dart is an object-oriented, typed, class defined, garbage collected language
|
||||
used for developing mobile, desktop, web, and back-end applications. Dart uses
|
||||
a C-like syntax derived from C, Java, and JavaScript, with features adopted
|
||||
from Smalltalk, Python, Ruby, and others.
|
||||
|
||||
More information about the language and its development environment at the
|
||||
official Dart language website at https://dart.dev
|
||||
|
||||
dart.vim syntax detects and highlights Dart statements, reserved words,
|
||||
type declarations, storage classes, conditionals, loops, interpolated values,
|
||||
and comments. There is no support idioms from Flutter or any other Dart
|
||||
framework.
|
||||
|
||||
Changes, fixes? Submit an issue or pull request via:
|
||||
|
||||
https://github.com/pr3d4t0r/dart-vim-syntax/
|
||||
|
||||
|
||||
DESKTOP *desktop.vim* *ft-desktop-syntax*
|
||||
|
||||
Primary goal of this syntax file is to highlight .desktop and .directory files
|
||||
@@ -5051,6 +5071,12 @@ IncSearch 'incsearch' highlighting; also used for the text replaced with
|
||||
*hl-LineNr*
|
||||
LineNr Line number for ":number" and ":#" commands, and when 'number'
|
||||
or 'relativenumber' option is set.
|
||||
*hl-LineNrAbove*
|
||||
LineNrAbove Line number for when the 'relativenumber'
|
||||
option is set, above the cursor line.
|
||||
*hl-LineNrBelow*
|
||||
LineNrBelow Line number for when the 'relativenumber'
|
||||
option is set, below the cursor line.
|
||||
*hl-CursorLineNr*
|
||||
CursorLineNr Like LineNr when 'cursorline' is set and 'cursorlineopt' is
|
||||
set to "number" or "both", or 'relativenumber' is set, for
|
||||
|
||||
+12
-1
@@ -1034,6 +1034,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
|
||||
't_Sb' term.txt /*'t_Sb'*
|
||||
't_Sf' term.txt /*'t_Sf'*
|
||||
't_Si' term.txt /*'t_Si'*
|
||||
't_TE' term.txt /*'t_TE'*
|
||||
't_TI' term.txt /*'t_TI'*
|
||||
't_Te' term.txt /*'t_Te'*
|
||||
't_Ts' term.txt /*'t_Ts'*
|
||||
't_VS' term.txt /*'t_VS'*
|
||||
@@ -5128,6 +5130,7 @@ Terminal-Job terminal.txt /*Terminal-Job*
|
||||
Terminal-Normal terminal.txt /*Terminal-Normal*
|
||||
Terminal-mode terminal.txt /*Terminal-mode*
|
||||
TerminalOpen autocmd.txt /*TerminalOpen*
|
||||
TerminalWinOpen autocmd.txt /*TerminalWinOpen*
|
||||
TextChanged autocmd.txt /*TextChanged*
|
||||
TextChangedI autocmd.txt /*TextChangedI*
|
||||
TextChangedP autocmd.txt /*TextChangedP*
|
||||
@@ -5872,8 +5875,10 @@ compl-vim insert.txt /*compl-vim*
|
||||
compl-whole-line insert.txt /*compl-whole-line*
|
||||
complete() eval.txt /*complete()*
|
||||
complete-functions insert.txt /*complete-functions*
|
||||
complete-item-kind insert.txt /*complete-item-kind*
|
||||
complete-items insert.txt /*complete-items*
|
||||
complete-popup insert.txt /*complete-popup*
|
||||
complete-popuphidden insert.txt /*complete-popuphidden*
|
||||
complete_CTRL-E insert.txt /*complete_CTRL-E*
|
||||
complete_CTRL-Y insert.txt /*complete_CTRL-Y*
|
||||
complete_add() eval.txt /*complete_add()*
|
||||
@@ -6033,6 +6038,7 @@ daB motion.txt /*daB*
|
||||
daW motion.txt /*daW*
|
||||
dab motion.txt /*dab*
|
||||
dap motion.txt /*dap*
|
||||
dart.vim syntax.txt /*dart.vim*
|
||||
das motion.txt /*das*
|
||||
date-functions usr_41.txt /*date-functions*
|
||||
dav pi_netrw.txt /*dav*
|
||||
@@ -6485,6 +6491,7 @@ ft-csh-syntax syntax.txt /*ft-csh-syntax*
|
||||
ft-css-omni insert.txt /*ft-css-omni*
|
||||
ft-cweb-syntax syntax.txt /*ft-cweb-syntax*
|
||||
ft-cynlib-syntax syntax.txt /*ft-cynlib-syntax*
|
||||
ft-dart-syntax syntax.txt /*ft-dart-syntax*
|
||||
ft-dash-syntax syntax.txt /*ft-dash-syntax*
|
||||
ft-desktop-syntax syntax.txt /*ft-desktop-syntax*
|
||||
ft-dircolors-syntax syntax.txt /*ft-dircolors-syntax*
|
||||
@@ -7661,6 +7668,7 @@ mac-vimfile os_mac.txt /*mac-vimfile*
|
||||
macintosh os_mac.txt /*macintosh*
|
||||
macro map.txt /*macro*
|
||||
macvim gui_mac.txt /*macvim*
|
||||
macvim-autocommands gui_mac.txt /*macvim-autocommands*
|
||||
macvim-backspace gui_mac.txt /*macvim-backspace*
|
||||
macvim-clientserver remote.txt /*macvim-clientserver*
|
||||
macvim-colors gui_mac.txt /*macvim-colors*
|
||||
@@ -7813,6 +7821,7 @@ modeless-selection gui.txt /*modeless-selection*
|
||||
modeline options.txt /*modeline*
|
||||
modeline-local options.txt /*modeline-local*
|
||||
modeline-version options.txt /*modeline-version*
|
||||
modifyOtherKeys map.txt /*modifyOtherKeys*
|
||||
moo.vim syntax.txt /*moo.vim*
|
||||
more-compatible version5.txt /*more-compatible*
|
||||
more-prompt message.txt /*more-prompt*
|
||||
@@ -8210,7 +8219,6 @@ new-vimgrep version7.txt /*new-vimgrep*
|
||||
new-virtedit version6.txt /*new-virtedit*
|
||||
news intro.txt /*news*
|
||||
nextnonblank() eval.txt /*nextnonblank()*
|
||||
nice todo.txt /*nice*
|
||||
no-eval-feature eval.txt /*no-eval-feature*
|
||||
no-type-checking eval.txt /*no-type-checking*
|
||||
no_buffers_menu gui.txt /*no_buffers_menu*
|
||||
@@ -9229,6 +9237,8 @@ t_ST term.txt /*t_ST*
|
||||
t_Sb term.txt /*t_Sb*
|
||||
t_Sf term.txt /*t_Sf*
|
||||
t_Si term.txt /*t_Si*
|
||||
t_TE term.txt /*t_TE*
|
||||
t_TI term.txt /*t_TI*
|
||||
t_Te term.txt /*t_Te*
|
||||
t_Ts term.txt /*t_Ts*
|
||||
t_VS term.txt /*t_VS*
|
||||
@@ -9497,6 +9507,7 @@ termdebug_wide terminal.txt /*termdebug_wide*
|
||||
terminal terminal.txt /*terminal*
|
||||
terminal-api terminal.txt /*terminal-api*
|
||||
terminal-client-server terminal.txt /*terminal-client-server*
|
||||
terminal-close terminal.txt /*terminal-close*
|
||||
terminal-colors os_unix.txt /*terminal-colors*
|
||||
terminal-communication terminal.txt /*terminal-communication*
|
||||
terminal-cursor-style terminal.txt /*terminal-cursor-style*
|
||||
|
||||
+28
-12
@@ -1,4 +1,4 @@
|
||||
*term.txt* For Vim version 8.1. Last change: 2019 May 07
|
||||
*term.txt* For Vim version 8.1. Last change: 2019 Oct 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -80,14 +80,19 @@ can do this best in your .vimrc. Example: >
|
||||
<
|
||||
*raw-terminal-mode*
|
||||
For normal editing the terminal will be put into "raw" mode. The strings
|
||||
defined with 't_ti' and 't_ks' will be sent to the terminal. Normally this
|
||||
puts the terminal in a state where the termcap codes are valid and activates
|
||||
the cursor and function keys. When Vim exits the terminal will be put back
|
||||
into the mode it was before Vim started. The strings defined with 't_te' and
|
||||
't_ke' will be sent to the terminal. On the Amiga, with commands that execute
|
||||
an external command (e.g., "!!"), the terminal will be put into Normal mode
|
||||
for a moment. This means that you can stop the output to the screen by
|
||||
hitting a printing key. Output resumes when you hit <BS>.
|
||||
defined with 't_ti', 't_TI' and 't_ks' will be sent to the terminal. Normally
|
||||
this puts the terminal in a state where the termcap codes are valid and
|
||||
activates the cursor and function keys.
|
||||
When Vim exits the terminal will be put back into the mode it was before Vim
|
||||
started. The strings defined with 't_te', 't_TE' and 't_ke' will be sent to
|
||||
the terminal. On the Amiga, with commands that execute an external command
|
||||
(e.g., "!!"), the terminal will be put into Normal mode for a moment. This
|
||||
means that you can stop the output to the screen by hitting a printing key.
|
||||
Output resumes when you hit <BS>.
|
||||
|
||||
Note: When 't_ti' is not empty, Vim assumes that it causes switching to the
|
||||
alternate screen. This may slightly change what happens when executing a
|
||||
shell command or exiting Vim. To avoid this use 't_TI' and 't_TE'.
|
||||
|
||||
*xterm-bracketed-paste*
|
||||
When the 't_BE' option is set then 't_BE' will be sent to the
|
||||
@@ -297,8 +302,8 @@ OUTPUT CODES *terminal-output-codes*
|
||||
t_se standout end *t_se* *'t_se'*
|
||||
t_so standout mode *t_so* *'t_so'*
|
||||
t_sr scroll reverse (backward) *t_sr* *'t_sr'*
|
||||
t_te out of "termcap" mode *t_te* *'t_te'*
|
||||
t_ti put terminal in "termcap" mode *t_ti* *'t_ti'*
|
||||
t_te end of "termcap" mode *t_te* *'t_te'*
|
||||
t_ti put terminal into "termcap" mode *t_ti* *'t_ti'*
|
||||
t_ts set window title start (to status line) *t_ts* *'t_ts'*
|
||||
t_ue underline end *t_ue* *'t_ue'*
|
||||
t_us underline mode *t_us* *'t_us'*
|
||||
@@ -359,6 +364,8 @@ Added by Vim (there are no standard codes for these):
|
||||
t_RT restore window title from stack *t_RT* *'t_RT'*
|
||||
t_Si save icon text to stack *t_Si* *'t_Si'*
|
||||
t_Ri restore icon text from stack *t_Ri* *'t_Ri'*
|
||||
t_TE end of "raw" mode *t_TE* *'t_TE'*
|
||||
t_TI put terminal into "raw" mode *t_TI* *'t_TI'*
|
||||
|
||||
Some codes have a start, middle and end part. The start and end are defined
|
||||
by the termcap option, the middle part is text.
|
||||
@@ -739,12 +746,21 @@ jump to tags).
|
||||
Whether the selection that is started with the mouse is in Visual mode or
|
||||
Select mode depends on whether "mouse" is included in the 'selectmode'
|
||||
option.
|
||||
|
||||
*terminal-mouse*
|
||||
In an xterm, with the currently active mode included in the 'mouse' option,
|
||||
normal mouse clicks are used by Vim, mouse clicks with the shift or ctrl key
|
||||
pressed go to the xterm. With the currently active mode not included in
|
||||
'mouse' all mouse clicks go to the xterm.
|
||||
|
||||
For terminals where it is not possible to have the mouse events be used by the
|
||||
terminal itself by using a modifier, a workaround is to not use mouse events
|
||||
for Vim in command-line mode: >
|
||||
:set mouse=nvi
|
||||
Then to select text with the terminal, use ":" to go to command-line mode,
|
||||
select and copy the text to the system, then press Esc.
|
||||
|
||||
Another way is to temporarily use ":sh" to run a shell, copy the text, then
|
||||
exit the shell. 'mouse' can remain set to "a" then.
|
||||
*xterm-clipboard*
|
||||
In the Athena and Motif GUI versions, when running in a terminal and there is
|
||||
access to the X-server (DISPLAY is set), the copy and paste will behave like
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 8.1. Last change: 2019 Sep 26
|
||||
*terminal.txt* For Vim version 8.1. Last change: 2019 Oct 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -193,6 +193,7 @@ Command syntax ~
|
||||
Supported [options] are:
|
||||
++close The terminal window will close
|
||||
automatically when the job terminates.
|
||||
|terminal-close|
|
||||
++noclose The terminal window will NOT close
|
||||
automatically when the job terminates.
|
||||
++open When the job terminates and no window
|
||||
@@ -267,6 +268,12 @@ hidden, the job keeps running. The `:buffer` command can be used to turn the
|
||||
current window into a terminal window. If there are unsaved changes this
|
||||
fails, use ! to force, as usual.
|
||||
|
||||
*terminal-close*
|
||||
When the terminal window is closed, e.g. when the shell exits and "++close"
|
||||
argument was used, and this is the last normal Vim window, then Vim will exit.
|
||||
This is like using |:quit| in a normal window. Help and preview windows are
|
||||
not counted.
|
||||
|
||||
To have a background job run without a window, and open the window when it's
|
||||
done, use options like this: >
|
||||
:term ++hidden ++open make
|
||||
@@ -496,7 +503,7 @@ term_dumpload({filename} [, {options}])
|
||||
For {options} see |term_dumpdiff()|.
|
||||
|
||||
Can also be used as a |method|: >
|
||||
GetFilename()-> term_dumpload()
|
||||
GetFilename()->term_dumpload()
|
||||
<
|
||||
*term_dumpwrite()*
|
||||
term_dumpwrite({buf}, {filename} [, {options}])
|
||||
@@ -514,7 +521,7 @@ term_dumpwrite({buf}, {filename} [, {options}])
|
||||
|
||||
Can also be used as a |method|, the base is used for the file
|
||||
name: >
|
||||
GetFilename()-> term_dumpwrite(bufnr)
|
||||
GetFilename()->term_dumpwrite(bufnr)
|
||||
|
||||
term_getaltscreen({buf}) *term_getaltscreen()*
|
||||
Returns 1 if the terminal of {buf} is using the alternate
|
||||
@@ -863,8 +870,6 @@ term_start({cmd} [, {options}]) *term_start()*
|
||||
Can also be used as a |method|: >
|
||||
GetCommand()->term_start()
|
||||
|
||||
< {only available when compiled with the |+terminal| feature}
|
||||
|
||||
|
||||
term_wait({buf} [, {time}]) *term_wait()*
|
||||
Wait for pending updates of {buf} to be handled.
|
||||
@@ -1243,7 +1248,7 @@ gdb:
|
||||
|
||||
*:Break* set a breakpoint at the cursor position
|
||||
:Break {position}
|
||||
set a breakpoint at the specified position
|
||||
set a breakpoint at the specified position
|
||||
*:Clear* delete the breakpoint at the cursor position
|
||||
|
||||
*:Step* execute the gdb "step" command
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*textprop.txt* For Vim version 8.1. Last change: 2019 Sep 04
|
||||
*textprop.txt* For Vim version 8.1. Last change: 2019 Oct 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -6,13 +6,6 @@
|
||||
|
||||
Displaying text with properties attached. *textprop* *text-properties*
|
||||
|
||||
THIS IS UNDER DEVELOPMENT - ANYTHING MAY STILL CHANGE *E967*
|
||||
|
||||
What is not working yet:
|
||||
- Adjusting column/length when inserting text
|
||||
- Text properties spanning more than one line
|
||||
- prop_find()
|
||||
|
||||
|
||||
1. Introduction |text-prop-intro|
|
||||
2. Functions |text-prop-functions|
|
||||
@@ -94,6 +87,12 @@ and/or ends with a specific character, such as the quote surrounding a string.
|
||||
Nevertheless, when text is inserted or deleted the text may need to be parsed
|
||||
and the text properties updated. But this can be done asynchronously.
|
||||
|
||||
|
||||
Internal error *E967*
|
||||
|
||||
If you see E967, please report the bug. You can do this at Github:
|
||||
https://github.com/vim/vim/issues/new
|
||||
|
||||
==============================================================================
|
||||
2. Functions *text-prop-functions*
|
||||
|
||||
|
||||
+39
-62
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 8.1. Last change: 2019 Sep 27
|
||||
*todo.txt* For Vim version 8.1. Last change: 2019 Oct 26
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,17 +38,11 @@ browser use: https://github.com/vim/vim/issues/1234
|
||||
*known-bugs*
|
||||
-------------------- Known bugs and current work -----------------------
|
||||
|
||||
'completeopt' "popup" variant that uses a callback after the popup has been
|
||||
created, so the contents can be changed. Make it hidden, callback
|
||||
or later has to make it visible. #4924 Setting the buffer contents later
|
||||
doesn't work well.
|
||||
Termdebug: Ctrl-W . doesn't work with modifyOtherKeys set.
|
||||
|
||||
Popup windows:
|
||||
- Use popup (or popup menu) for command line completion
|
||||
- Implement flip option
|
||||
- Why does 'nrformats' leak from the popup window buffer???
|
||||
Happens in Test_simple_popup() at the second screendump.
|
||||
- For the "moved" property also include mouse movement?
|
||||
- Make redrawing more efficient and avoid flicker:
|
||||
- put popup menu also in popup_mask?
|
||||
- Any other commands to disable in a popup window?
|
||||
@@ -59,8 +53,11 @@ Popup windows:
|
||||
- When drawing on top half a double-wide character, display ">" or "<" in the
|
||||
incomplete cell.
|
||||
|
||||
Text properties: See comment at top of src/textprop.c.
|
||||
Text properties:
|
||||
- Implement prop_find() #4970
|
||||
- Adjusting column/length when inserting text
|
||||
- Text properties spanning more than one line
|
||||
- prop_find()
|
||||
|
||||
'incsearch' with :s: (#3321)
|
||||
- Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
|
||||
@@ -76,7 +73,7 @@ Text properties: See comment at top of src/textprop.c.
|
||||
Then :%s?foo should take the first match above the cursor line.
|
||||
|
||||
Prompt buffer:
|
||||
- Add a command line history.
|
||||
- Add a command line history, using up/down keys. #5010
|
||||
- delay next prompt until plugin gives OK?
|
||||
- add prompt_addtext({buf}, {expr}) none add text to a prompt buffer
|
||||
|
||||
@@ -96,8 +93,6 @@ Terminal debugger:
|
||||
with another Vim instance.
|
||||
|
||||
Terminal emulator window:
|
||||
- When typing "exit" in a terminal window with a shell and it's the only
|
||||
window, should exit Vim instead of editing another buffer. (#4539)
|
||||
- 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
|
||||
And use modeless selection. #2962
|
||||
@@ -134,15 +129,21 @@ E279, E290, E292, E362, E366, E450, E451, E452,
|
||||
E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
|
||||
E654, E856, E857, E860, E861, E863, E889, E900
|
||||
|
||||
"gN" does not work properly with single-char search pattern. (Jaehwang Jerry
|
||||
Jung, #5075)
|
||||
|
||||
Running test_gui and test_gui_init with Motif sometimes kills the window
|
||||
manager. Problem with Motif? Now test_gui crashes in submenu_change().
|
||||
Athena is OK.
|
||||
Motif: Build on Ubuntu can't enter any text in dialog text fields.
|
||||
|
||||
Improve running tests on MS-Windows: #4922
|
||||
In a function these two lines are different:
|
||||
let [a, b, c] =<< trim END fails
|
||||
let [a,b,c] =<< trim END works
|
||||
issue #5051
|
||||
|
||||
Patch to properly break CJK lines: #3875
|
||||
Ready to include now?
|
||||
Patch to properly break CJK lines: Anton Kochkov, #3875
|
||||
Flag in 'formatoptions' is not used in the tests.
|
||||
|
||||
Remove check for cmd_silent when calling search_stat()? (Gary Johnson)
|
||||
|
||||
@@ -159,10 +160,13 @@ Patch to sort buffers on b_last_used time. (Andy Massimino, #4722)
|
||||
Patch to highlight the line number differently below the cursor line. (Shaun
|
||||
Brady, #624)
|
||||
|
||||
Patch to add more tests for cmd.exe: #4928
|
||||
|
||||
Patch to fix session file when using multiple tabs. (Jason Franklin, 2019 May
|
||||
20)
|
||||
Also put :argadd commands at the start for all buffers, so that their order
|
||||
remains equal? Then %argdel to clean it up. Do try this with 'hidden' set.
|
||||
Also #4994: window-local options not always restored, related to using :badd.
|
||||
|
||||
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
|
||||
@@ -176,12 +180,17 @@ Ready to include now?
|
||||
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
|
||||
(#4087)
|
||||
|
||||
":helptags ALL" should skip directories where "tags" cannot be written.
|
||||
(Matěj Cepl, #5026)
|
||||
|
||||
":bnext" in a help buffer is supposed to go to the next help buffer, but it
|
||||
goes to any buffer, and then :bnext skips help buffers, since they are
|
||||
unlisted. (#4478)
|
||||
|
||||
Patch to fix using zero sc_sid. (#4877)
|
||||
|
||||
Enable 'termbidi' if $VTE_VERSION >= 5703 ?
|
||||
|
||||
Universal solution to detect if t_RS is working, using cursor position.
|
||||
Koichi Iwamoto, #2126
|
||||
|
||||
@@ -212,8 +221,6 @@ Patch to remove FORTIFY_SOURCE also from CPPFLAGS. (Benedikt Morbach, #2786)
|
||||
|
||||
Patch from Namsh to allow building with both XIM and hangulin. (2019 Aug 29)
|
||||
|
||||
Patch to fix redirect of shell on MS-Windows. (Yasuhiro Matsumoto, #2054)
|
||||
|
||||
When using :packadd files under "later" are not used, which is inconsistent
|
||||
with packages under "start". (xtal8, #1994)
|
||||
|
||||
@@ -243,6 +250,14 @@ Patch to configure BUILD_DATE for reproducible builds. (James McCoy, #513)
|
||||
|
||||
Patch to add MODIFIED_BY to MSVC build file. (Chen Lei, 2016 Nov 24, #1275)
|
||||
|
||||
xterm should be able to pass focus changes to Vim, so that Vim can check for
|
||||
buffers that changed. Perhaps in misc.c, function selectwindow().
|
||||
Xterm 224 supports it!
|
||||
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
|
||||
Saito, 2013 Apr 24) Update 2016 Aug 12.
|
||||
Also see issue #609.
|
||||
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
|
||||
|
||||
Check_external_diff() is used too often. (Daniel Hahler, #4800)
|
||||
|
||||
Incorrect formatting with autoindent. (Sebastian Gniazdowski, #4909)
|
||||
@@ -297,8 +312,12 @@ Williams, 2018 Oct 30)
|
||||
"exepath('bin/cmd')" does not work while ":!bin/cmd" does work.
|
||||
(Daniel Hahler, #4710) and executable('bin/cmd') returns 1
|
||||
|
||||
Error drawing the number column when 'cursorline' is set. (#3893)
|
||||
|
||||
Problem with :tlmenu: Detach item added with all modes? Issue #3563.
|
||||
|
||||
Add an argument to expandcmd() to expand like ":next" does.
|
||||
|
||||
The quoting of the [command] argument of :terminal is not clearly documented.
|
||||
Give a few examples. (#4288)
|
||||
|
||||
@@ -314,8 +333,6 @@ Bug: script written with "-W scriptout" contains Key codes, while the script
|
||||
read with "-s scriptin" expects escape codes. Probably "scriptout" needs to
|
||||
be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
|
||||
|
||||
":registers" should indicate char/block/linewise. (Ayberk Aydin, #4546)
|
||||
|
||||
Patch for ambiguous width characters in libvterm on MS-Windows 10.
|
||||
(Nobuhiro Takasaki, #4411)
|
||||
|
||||
@@ -592,6 +609,9 @@ Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
|
||||
|
||||
Display error when a conceal match uses '\%>1l'. (#4854)
|
||||
|
||||
Add a windowID argument to placing a sign, so that it only shows up in one
|
||||
window for the buffer.
|
||||
|
||||
Request to add sign_setlist() to make it faster to add a lot of signs, e.g.
|
||||
when adding a sign for every quickfix entry. (#4557)
|
||||
|
||||
@@ -1604,14 +1624,6 @@ compatible with Vim spell files. The old files can no longer be downloaded.
|
||||
Spell checking: Add a feature to only consider two spaces after a dot to start
|
||||
a new sentence. Don't give the capitalization error when there is one space.
|
||||
|
||||
xterm should be able to pass focus changes to Vim, so that Vim can check for
|
||||
buffers that changed. Perhaps in misc.c, function selectwindow().
|
||||
Xterm 224 supports it!
|
||||
Patch to make FocusGained and FocusLost work in modern terminals. (Hayaki
|
||||
Saito, 2013 Apr 24) Update 2016 Aug 12.
|
||||
Also see issue #609.
|
||||
We could add the enable/disable sequences to t_ti/t_te or t_ks/t_ke.
|
||||
|
||||
Idea: For a window in the middle (has window above and below it), use
|
||||
right-mouse-drag on the status line to move a window up/down without changing
|
||||
its height? It's like dragging the status bar above it at the same time.
|
||||
@@ -2155,10 +2167,6 @@ Looks like only bash can do it. (Yakov Lerner)
|
||||
Cscope "cs add" stopped working somewhat before 7.2.438. (Gary Johnson, 2010
|
||||
Jun 29) Caused by 7.2.433?
|
||||
|
||||
I often see pasted text (from Firefox, to Vim in xterm) appear twice.
|
||||
Also, Vim in xterm sometimes loses copy/paste ability (probably after running
|
||||
an external command).
|
||||
|
||||
Jumplist doesn't work properly in Insert mode? (Jean Johner, 2010 Mar 20)
|
||||
|
||||
Problem with transparent cmdline. Also: Terminal title is wrong with
|
||||
@@ -2754,10 +2762,6 @@ If the variable "g:x#y#z" exists completion after ":echo g:x#" doesn't work.
|
||||
Feature request: Command to go to previous tab, like what CTRL-W p does for
|
||||
windows. (Adam George)
|
||||
|
||||
F1 - F4 in an xterm produce a different escape sequence when used with a
|
||||
modifier key. Need to catch three different sequences. Use K_ZF1, like
|
||||
K_ZHOME? (Dickey, 2007 Dec 2)
|
||||
|
||||
In debug mode, using CTRL-R = to evaluate a function causes stepping through
|
||||
the function. (Hari Krishna Dara, 2006 Jun 28)
|
||||
|
||||
@@ -2892,12 +2896,6 @@ Setting 'background' resets the Normal background color:
|
||||
This is undesired, 'background' is supposed to tell Vim what the background
|
||||
color is, not reset it.
|
||||
|
||||
Linux distributions:
|
||||
- Suggest compiling xterm with --enable-tcap-query, so that nr of colors is
|
||||
known to Vim. 88 colors instead of 16 works better. See ":help
|
||||
xfree-xterm".
|
||||
- Suggest including bare "vi" and "vim" with X11, syntax, etc.
|
||||
|
||||
Completion menu: For a wrapping line, completing a long file name, only the
|
||||
start of the path is shown in the menu. Should move the menu to the right to
|
||||
show more text of the completions. Shorten the items that don't fit in the
|
||||
@@ -2912,12 +2910,6 @@ the buffer is displayed. (Antonios Tsakiridis)
|
||||
When ":cn" moves to an error in the same line the message isn't shortened.
|
||||
Only skip shortening for ":cc"?
|
||||
|
||||
Write "making vim work better" for the docs (mostly pointers): *nice*
|
||||
- sourcing $VIMRUNTIME/vimrc_example.vim
|
||||
- setting 'mouse' to "a"
|
||||
- getting colors in xterm
|
||||
- compiling Vim with X11, GUI, etc.
|
||||
|
||||
Problem with ":call" and dictionary function. Hari Krishna Dara, Charles
|
||||
Campbell 2006 Jul 06.
|
||||
|
||||
@@ -3011,11 +3003,6 @@ When 'encoding' is utf-8 typing text at the end of the line causes previously
|
||||
typed characters to be redrawn. Caused by patch 7.1.329. (Tyler Spivey, 2008
|
||||
Sep 3, 11)
|
||||
|
||||
When Vim in an xterm owns the selection and the user does ":shell" Vim doesn't
|
||||
respond to selection requests. Invoking XtDisownSelection() before executing
|
||||
the shell doesn't help. Would require forking and doing a message loop, like
|
||||
what happens for the GUI.
|
||||
|
||||
":vimgrep" does not recognize a recursive symlink. Is it possible to detect
|
||||
this, at least for Unix (using device/inode)?
|
||||
|
||||
@@ -3104,11 +3091,6 @@ Awaiting updated patches:
|
||||
use the patch that keeps using HLF_8 if HLF_WS has not
|
||||
been given values.
|
||||
Add section in help files for these highlight groups?
|
||||
8 "fg" and "bg" don't work in an xterm. Get default colors from xterm
|
||||
with an ESC sequence.
|
||||
xterm can send colors for many things. E.g. for the cursor:
|
||||
<Esc>]12;?<Bel>
|
||||
Can use this to get the background color and restore the colors on exit.
|
||||
7 Add "DefaultFG" and "DefaultBG" for the colors of the menu. (Marcin
|
||||
Dalecki has a patch for Motif and Carbon)
|
||||
- Add possibility to highlight specific columns (for Fortran). Or put a
|
||||
@@ -3702,7 +3684,6 @@ Macintosh:
|
||||
8 Xterm sends ^[[H for <Home> and ^[[F for <End> in some mode. Also
|
||||
recognize these keys? Mostly useful for xterm simulators, like gnometerm.
|
||||
See http://dickey.his.com/xterm/xterm.faq.html#xterm_pc_style.
|
||||
8 For xterm also recognize keypad up/down/left/right and insert.
|
||||
8 '[ and '] should be set to start/end of line when using a linewise operator
|
||||
(e.g., ":w").
|
||||
8 CTRL-A can't handle big "long" numbers, they become negative. Check for
|
||||
@@ -3717,10 +3698,6 @@ Macintosh:
|
||||
filesystem, an illegal file name may be created: ".vim".
|
||||
8 For each buffer that is opened, the viminfo file is opened and read to
|
||||
check for file marks. This can be slow.
|
||||
7 In xterm, recognize both vt100 and vt220 cursor keys. Change
|
||||
add_termcode() to not remove an existing entry for a name, when it's
|
||||
needed.
|
||||
Need a generic solution to recognize different codes for the same key.
|
||||
8 Core dump within signal function: gdb doesn't show stack backtrace! Option
|
||||
to skip catch_signals()?
|
||||
9 Repeating a "cw" with "." doesn't work if the text was pasted from the
|
||||
|
||||
@@ -346,12 +346,13 @@ scroll:
|
||||
|
||||
g0 to first visible character in this line
|
||||
g^ to first non-blank visible character in this line
|
||||
gm to middle of this line
|
||||
gm to middle of screen line
|
||||
gM to middle of the text in this line
|
||||
g$ to last visible character in this line
|
||||
|
||||
|<-- window -->|
|
||||
some long text, part of which is visible ~
|
||||
g0 g^ gm g$
|
||||
|<-- window -->|
|
||||
some long text, part of which is visible in one line ~
|
||||
g0 g^ gm gM g$
|
||||
|
||||
|
||||
BREAKING AT WORDS *edit-no-break*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 8.1. Last change: 2019 Sep 28
|
||||
*various.txt* For Vim version 8.1. Last change: 2019 Oct 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -390,7 +390,7 @@ m *+lua/dyn* |Lua| interface |/dyn|
|
||||
N *+menu* |:menu|
|
||||
N *+mksession* |:mksession|
|
||||
T *+modify_fname* |filename-modifiers|
|
||||
N *+mouse* Mouse handling |mouse-using|
|
||||
T *+mouse* Mouse handling |mouse-using|
|
||||
N *+mouseshape* |'mouseshape'|
|
||||
B *+mouse_dec* Unix only: Dec terminal mouse handling |dec-mouse|
|
||||
N *+mouse_gpm* Unix only: Linux console mouse handling |gpm-mouse|
|
||||
@@ -578,6 +578,8 @@ N *+X11* Unix only: can restore window title |X11|
|
||||
|:marks| - filter by text in the current file,
|
||||
or file name for other files
|
||||
|:oldfiles| - filter by file name
|
||||
|:registers| - filter by register contents
|
||||
(does not work multi-line)
|
||||
|:set| - filter by variable name
|
||||
|
||||
Only normal messages are filtered, error messages are
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vi_diff.txt* For Vim version 8.1. Last change: 2019 Sep 27
|
||||
*vi_diff.txt* For Vim version 8.1. Last change: 2019 Oct 12
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -64,6 +64,9 @@ w300 number (default 23) *'w300'*
|
||||
w1200 number (default 23) *'w1200'*
|
||||
w9600 number (default 23) *'w9600'*
|
||||
|
||||
Vi did not allow for changing the termcap entries, you would have to exit Vi,
|
||||
edit the termcap entry and try again. Vim has the |terminal-options|.
|
||||
|
||||
==============================================================================
|
||||
3. Limits *limits*
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*windows.txt* For Vim version 8.1. Last change: 2019 Aug 18
|
||||
*windows.txt* For Vim version 8.1. Last change: 2019 Oct 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -312,6 +312,9 @@ CTRL-W CTRL-Q *CTRL-W_CTRL-Q*
|
||||
:+quit " quit the next window
|
||||
:+2quit " quit the second next window
|
||||
<
|
||||
When closing a help window, Vim will try to restore the
|
||||
previous window layout |:helpclose|.
|
||||
|
||||
:q[uit]!
|
||||
:{count}q[uit]!
|
||||
Without {count}: Quit the current window. If {count} is
|
||||
@@ -1087,6 +1090,7 @@ list of buffers. |unlisted-buffer|
|
||||
R terminal buffers with a running job
|
||||
F terminal buffers with a finished job
|
||||
? terminal buffers without a job: `:terminal NONE`
|
||||
t show time last used and sort buffers
|
||||
Combining flags means they are "and"ed together, e.g.:
|
||||
h+ hidden buffers which are modified
|
||||
a+ active buffers which are modified
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2019 Sep 27
|
||||
" Last Change: 2019 Oct 19
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
if exists("did_load_filetypes")
|
||||
@@ -425,6 +425,9 @@ au BufNewFile,BufRead *.csp,*.fdr setf csp
|
||||
au BufNewFile,BufRead *.pld setf cupl
|
||||
au BufNewFile,BufRead *.si setf cuplsim
|
||||
|
||||
" Dart
|
||||
au BufRead,BufNewfile *.dart,*.drt setf dart
|
||||
|
||||
" Debian Control
|
||||
au BufNewFile,BufRead */debian/control setf debcontrol
|
||||
au BufNewFile,BufRead control
|
||||
@@ -979,6 +982,9 @@ au BufNewFile,BufRead hg-editor-*.txt setf hgcommit
|
||||
" Mercurial config (looks like generic config file)
|
||||
au BufNewFile,BufRead *.hgrc,*hgrc setf cfg
|
||||
|
||||
" Meson Build system config
|
||||
au BufNewFile,BufRead meson.build,meson_options.txt setf meson
|
||||
|
||||
" Messages (logs mostly)
|
||||
au BufNewFile,BufRead */log/{auth,cron,daemon,debug,kern,lpr,mail,messages,news/news,syslog,user}{,.log,.err,.info,.warn,.crit,.notice}{,.[0-9]*,-[0-9]*} setf messages
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: meson
|
||||
" License: VIM License
|
||||
" Original Author: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
|
||||
" Last Change: 2018 Nov 27
|
||||
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
let b:did_ftplugin = 1
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal comments=:#
|
||||
|
||||
setlocal shiftwidth=2
|
||||
setlocal softtabstop=2
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
@@ -4,16 +4,19 @@
|
||||
# Translators: This is the Application Name used in the GVim desktop file
|
||||
Name[de]=GVim
|
||||
Name[eo]=GVim
|
||||
Name[tr]=GVim
|
||||
Name=GVim
|
||||
# Translators: This is the Generic Application Name used in the Vim desktop file
|
||||
GenericName[de]=Texteditor
|
||||
GenericName[eo]=Tekstoredaktilo
|
||||
GenericName[ja]=テキストエディタ
|
||||
GenericName[tr]=Metin Düzenleyici
|
||||
GenericName=Text Editor
|
||||
# Translators: This is the comment used in the Vim desktop file
|
||||
Comment[de]=Textdateien bearbeiten
|
||||
Comment[eo]=Redakti tekstajn dosierojn
|
||||
Comment[ja]=テキストファイルを編集します
|
||||
Comment[tr]=Metin dosyaları düzenle
|
||||
Comment=Edit text files
|
||||
# The translations should come from the po file. Leave them here for now, they will
|
||||
# be overwritten by the po file when generating the desktop.file!
|
||||
@@ -82,7 +85,6 @@ Comment[sv]=Redigera textfiler
|
||||
Comment[ta]=உரை கோப்புகளை தொகுக்கவும்
|
||||
Comment[th]=แก้ไขแฟ้มข้อความ
|
||||
Comment[tk]=Metin faýllary editle
|
||||
Comment[tr]=Metin dosyalarını düzenle
|
||||
Comment[uk]=Редактор текстових файлів
|
||||
Comment[vi]=Soạn thảo tập tin văn bản
|
||||
Comment[wa]=Asspougnî des fitchîs tecses
|
||||
@@ -96,6 +98,7 @@ Type=Application
|
||||
Keywords[de]=Text;Editor;
|
||||
Keywords[eo]=Teksto;redaktilo;
|
||||
Keywords[ja]=テキスト;エディタ;
|
||||
Keywords[tr]=Metin;düzenleyici;
|
||||
Keywords=Text;editor;
|
||||
# Translators: This is the Icon file name. Do NOT translate
|
||||
Icon[de]=gvim
|
||||
|
||||
@@ -0,0 +1,180 @@
|
||||
" Vim indent file
|
||||
" Language: Meson
|
||||
" License: VIM License
|
||||
" Maintainer: Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
|
||||
" Original Authors: David Bustos <bustos@caltech.edu>
|
||||
" Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2019 Oct 18
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
" Some preliminary settings
|
||||
setlocal nolisp " Make sure lisp indenting doesn't supersede us
|
||||
setlocal autoindent " indentexpr isn't much help otherwise
|
||||
|
||||
setlocal indentexpr=GetMesonIndent(v:lnum)
|
||||
setlocal indentkeys+==elif,=else,=endforeach,=endif,0)
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetMesonIndent")
|
||||
finish
|
||||
endif
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
" Come here when loading the script the first time.
|
||||
|
||||
let s:maxoff = 50 " maximum number of lines to look backwards for ()
|
||||
|
||||
function GetMesonIndent(lnum)
|
||||
echom getline(line("."))
|
||||
|
||||
" If this line is explicitly joined: If the previous line was also joined,
|
||||
" line it up with that one, otherwise add two 'shiftwidth'
|
||||
if getline(a:lnum - 1) =~ '\\$'
|
||||
if a:lnum > 1 && getline(a:lnum - 2) =~ '\\$'
|
||||
return indent(a:lnum - 1)
|
||||
endif
|
||||
return indent(a:lnum - 1) + (exists("g:mesonindent_continue") ? eval(g:mesonindent_continue) : (shiftwidth() * 2))
|
||||
endif
|
||||
|
||||
" If the start of the line is in a string don't change the indent.
|
||||
if has('syntax_items')
|
||||
\ && synIDattr(synID(a:lnum, 1, 1), "name") =~ "String$"
|
||||
return -1
|
||||
endif
|
||||
|
||||
" Search backwards for the previous non-empty line.
|
||||
let plnum = prevnonblank(v:lnum - 1)
|
||||
|
||||
if plnum == 0
|
||||
" This is the first non-empty line, use zero indent.
|
||||
return 0
|
||||
endif
|
||||
|
||||
" If the previous line is inside parenthesis, use the indent of the starting
|
||||
" line.
|
||||
" Trick: use the non-existing "dummy" variable to break out of the loop when
|
||||
" going too far back.
|
||||
call cursor(plnum, 1)
|
||||
let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW',
|
||||
\ "line('.') < " . (plnum - s:maxoff) . " ? dummy :"
|
||||
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
|
||||
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'")
|
||||
if parlnum > 0
|
||||
let plindent = indent(parlnum)
|
||||
let plnumstart = parlnum
|
||||
else
|
||||
let plindent = indent(plnum)
|
||||
let plnumstart = plnum
|
||||
endif
|
||||
|
||||
|
||||
" When inside parenthesis: If at the first line below the parenthesis add
|
||||
" a 'shiftwidth', otherwise same as previous line.
|
||||
" i = (a
|
||||
" + b
|
||||
" + c)
|
||||
call cursor(a:lnum, 1)
|
||||
let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
|
||||
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
|
||||
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
|
||||
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'")
|
||||
if p > 0
|
||||
if p == plnum
|
||||
" When the start is inside parenthesis, only indent one 'shiftwidth'.
|
||||
let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
|
||||
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
|
||||
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
|
||||
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'")
|
||||
if pp > 0
|
||||
return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth())
|
||||
endif
|
||||
return indent(plnum) + (exists("g:pyindent_open_paren") ? eval(g:pyindent_open_paren) : shiftwidth())
|
||||
endif
|
||||
if plnumstart == p
|
||||
return indent(plnum)
|
||||
endif
|
||||
return plindent
|
||||
endif
|
||||
|
||||
|
||||
" Get the line and remove a trailing comment.
|
||||
" Use syntax highlighting attributes when possible.
|
||||
let pline = getline(plnum)
|
||||
let pline_len = strlen(pline)
|
||||
if has('syntax_items')
|
||||
" If the last character in the line is a comment, do a binary search for
|
||||
" the start of the comment. synID() is slow, a linear search would take
|
||||
" too long on a long line.
|
||||
if synIDattr(synID(plnum, pline_len, 1), "name") =~ "\\(Comment\\|Todo\\)$"
|
||||
let min = 1
|
||||
let max = pline_len
|
||||
while min < max
|
||||
let col = (min + max) / 2
|
||||
if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)$"
|
||||
let max = col
|
||||
else
|
||||
let min = col + 1
|
||||
endif
|
||||
endwhile
|
||||
let pline = strpart(pline, 0, min - 1)
|
||||
endif
|
||||
else
|
||||
let col = 0
|
||||
while col < pline_len
|
||||
if pline[col] == '#'
|
||||
let pline = strpart(pline, 0, col)
|
||||
break
|
||||
endif
|
||||
let col = col + 1
|
||||
endwhile
|
||||
endif
|
||||
|
||||
" If the previous line ended the conditional/loop
|
||||
if getline(plnum) =~ '^\s*\(endif\|endforeach\)\>\s*'
|
||||
" Maintain indent
|
||||
return -1
|
||||
endif
|
||||
|
||||
" If the previous line ended with a builtin, indent this line
|
||||
if pline =~ '^\s*\(foreach\|if\|else\|elif\)\>\s*'
|
||||
return plindent + shiftwidth()
|
||||
endif
|
||||
|
||||
" If the current line begins with a header keyword, deindent
|
||||
if getline(a:lnum) =~ '^\s*\(else\|elif\|endif\|endforeach\)'
|
||||
|
||||
" Unless the previous line was a one-liner
|
||||
if getline(plnumstart) =~ '^\s*\(foreach\|if\)\>\s*'
|
||||
return plindent
|
||||
endif
|
||||
|
||||
" Or the user has already dedented
|
||||
if indent(a:lnum) <= plindent - shiftwidth()
|
||||
return -1
|
||||
endif
|
||||
|
||||
return plindent - shiftwidth()
|
||||
endif
|
||||
|
||||
" When after a () construct we probably want to go back to the start line.
|
||||
" a = (b
|
||||
" + c)
|
||||
" here
|
||||
if parlnum > 0
|
||||
return plindent
|
||||
endif
|
||||
|
||||
return -1
|
||||
|
||||
endfunction
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim:sw=2
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Original Author: Nikolai Weibull <now@bitwi.se>
|
||||
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
|
||||
" Latest Revision: 2019-07-26
|
||||
" Latest Revision: 2019-10-24
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-sh-indent
|
||||
" Changelog:
|
||||
@@ -134,7 +134,7 @@ function! GetShIndent()
|
||||
" TODO: should we do the same for other "end" lines?
|
||||
if curline =~ '^\s*\%(fi\);\?\s*\%(#.*\)\=$'
|
||||
let ind = indent(v:lnum)
|
||||
let previous_line = searchpair('\<if\>', '', '\<fi\>\zs', 'bnW', 'synIDattr(synID(line("."),col("."), 1),"name") =~? "comment"')
|
||||
let previous_line = searchpair('\<if\>', '', '\<fi\>\zs', 'bnW', 'synIDattr(synID(line("."),col("."), 1),"name") =~? "comment\\|quote"')
|
||||
if previous_line > 0
|
||||
let ind = indent(previous_line)
|
||||
endif
|
||||
@@ -195,7 +195,7 @@ endfunction
|
||||
function! s:is_function_definition(line)
|
||||
return a:line =~ '^\s*\<\k\+\>\s*()\s*{' ||
|
||||
\ a:line =~ '^\s*{' ||
|
||||
\ a:line =~ '^\s*function\s*\w\S\+\s*\%(()\)\?\s*{'
|
||||
\ a:line =~ '^\s*function\s*\k\+\s*\%(()\)\?\s*{'
|
||||
endfunction
|
||||
|
||||
function! s:is_array(line)
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
# vim: set ft=yaml sw=2 et :
|
||||
|
||||
# START_INDENT
|
||||
map1:
|
||||
sub1:
|
||||
- list item
|
||||
map2:
|
||||
- another list
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
map: &anchor
|
||||
map: val
|
||||
# END_INDENT
|
||||
@@ -0,0 +1,14 @@
|
||||
# vim: set ft=yaml sw=2 et :
|
||||
|
||||
# START_INDENT
|
||||
map1:
|
||||
sub1:
|
||||
- list item
|
||||
map2:
|
||||
- another list
|
||||
# END_INDENT
|
||||
|
||||
# START_INDENT
|
||||
map: &anchor
|
||||
map: val
|
||||
# END_INDENT
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: TypeScript
|
||||
" Maintainer: See https://github.com/HerringtonDarkholme/yats.vim
|
||||
" Last Change: 2019 Jun 06
|
||||
" Last Change: 2019 Oct 18
|
||||
" Acknowledgement: Based off of vim-ruby maintained by Nikolai Weibull http://vim-ruby.rubyforge.org
|
||||
|
||||
" 0. Initialization {{{1
|
||||
@@ -442,7 +442,7 @@ let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
function! Fixedgq(lnum, count)
|
||||
let l:tw = &tw ? &tw : 80;
|
||||
let l:tw = &tw ? &tw : 80
|
||||
|
||||
let l:count = a:count
|
||||
let l:first_char = indent(a:lnum) + 1
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
" Language: xml
|
||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||
" Last Changed: July 27, 2019
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Language: XML
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Last Changed: 2019 Oct 24
|
||||
" Last Change:
|
||||
" 20190726 - Correctly handle non-tagged data
|
||||
" 20190204 - correctly handle wrap tags
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: YAML
|
||||
" Maintainer: Nikolai Pavlov <zyx.vim@gmail.com>
|
||||
" Last Change: 2017 Jun 13
|
||||
" Last Change: 2019 Sep 28
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists('b:did_indent')
|
||||
@@ -29,7 +29,7 @@ function s:FindPrevLessIndentedLine(lnum, ...)
|
||||
let curindent = a:0 ? a:1 : indent(a:lnum)
|
||||
while prevlnum
|
||||
\&& indent(prevlnum) >= curindent
|
||||
\&& getline(prevlnum) =~# '^\s*#'
|
||||
\&& getline(prevlnum) !~# '^\s*#'
|
||||
let prevlnum = prevnonblank(prevlnum-1)
|
||||
endwhile
|
||||
return prevlnum
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
" Menu Translations: Turkish
|
||||
|
||||
source <sfile>:p:h/menu_tr_tr.latin1.vim
|
||||
@@ -0,0 +1,3 @@
|
||||
" Menu Translations: Turkish
|
||||
|
||||
source <sfile>:p:h/menu_tr_tr.utf-8.vim
|
||||
@@ -0,0 +1,332 @@
|
||||
" Menu Translations: Turkish
|
||||
" Maintainer: Emir SARI <bitigchi@me.com>
|
||||
|
||||
if exists("did_menu_trans")
|
||||
finish
|
||||
endif
|
||||
let did_menu_trans = 1
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
scriptencoding latin1
|
||||
|
||||
" Top
|
||||
menutrans &File &Dosya
|
||||
menutrans &Edit Dü&zen
|
||||
menutrans &Tools &Araçlar
|
||||
menutrans &Syntax &Sözdizim
|
||||
menutrans &Buffers A&rabellekler
|
||||
menutrans &Window &Pencere
|
||||
menutrans &Help &Yardim
|
||||
|
||||
|
||||
" Help menu
|
||||
menutrans &Overview<Tab><F1> &Genel\ Bakis<Tab><F1>
|
||||
menutrans &User\ Manual &Kullanim\ Kilavuzu
|
||||
menutrans &How-To\ Links &Nasil\ Yapilir?
|
||||
menutrans &Find\.\.\. &Bul\.\.\.
|
||||
"--------------------
|
||||
menutrans &Credits &Tesekkürler
|
||||
menutrans Co&pying &Dagitim
|
||||
menutrans &Sponsor/Register &Sponsorluk/Kayit
|
||||
menutrans O&rphans &Yetimler
|
||||
"--------------------
|
||||
menutrans &Version Sürüm\ &Bilgisi
|
||||
menutrans &About &Hakkinda
|
||||
|
||||
|
||||
" File menu
|
||||
menutrans &Open\.\.\.<Tab>:e &Aç\.\.\.<Tab>:e
|
||||
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Yeni\ Bölümde\ Aç\.\.\.<Tab>:sp
|
||||
menutrans Open\ Tab\.\.\.<Tab>:tabnew S&ekme\ Aç\.\.\.<Tab>:tabnew
|
||||
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
|
||||
menutrans &Close<Tab>:close Ka&pat<Tab>:close
|
||||
"--------------------
|
||||
menutrans &Save<Tab>:w Ka&ydet<Tab>:w
|
||||
menutrans Save\ &As\.\.\.<Tab>:sav &Farkli Kaydet\.\.\.<Tab>:sav
|
||||
"--------------------
|
||||
menutrans Split\ &Diff\ With\.\.\. Ka&rsilastir\.\.\.
|
||||
menutrans Split\ Patched\ &By\.\.\. Ya&malar\ Dahil\ Karsilastir\.\.\.
|
||||
"--------------------
|
||||
menutrans &Print Ya&zdir
|
||||
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve Çik<Tab>:wqa
|
||||
menutrans E&xit<Tab>:qa Çi&k<Tab>:qa
|
||||
|
||||
|
||||
" Edit menu
|
||||
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
|
||||
menutrans &Redo<Tab>^R &Yinele<Tab>^R
|
||||
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
|
||||
"--------------------
|
||||
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
|
||||
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
|
||||
menutrans &Paste<Tab>"+gP Ya&pistir<Tab>"+gP
|
||||
menutrans Put\ &Before<Tab>[p Ö&nüne Koy<Tab>[p
|
||||
menutrans Put\ &After<Tab>]p A&rkasina Koy<Tab>]p
|
||||
menutrans &Delete<Tab>x Si&l<Tab>x
|
||||
menutrans &Select\ All<Tab>ggVG Tü&münü\ Seç<Tab>ggVG
|
||||
"--------------------
|
||||
" Athena GUI only
|
||||
menutrans &Find<Tab>/ &Bul<Tab>/
|
||||
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ Degistir<Tab>:%s
|
||||
" End Athena GUI only
|
||||
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
|
||||
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &Degistir\.\.\.
|
||||
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:%s Bul\ ve\ &Degistir\.\.\.<Tab>:%s
|
||||
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s Bul\ ve\ &Degistir\.\.\.<Tab>:s
|
||||
"--------------------
|
||||
menutrans Settings\ &Window &Ayarlar\ Penceresi
|
||||
menutrans Startup\ &Settings Baslan&giç\ Ayarlari
|
||||
menutrans &Global\ Settings Ge&nel\ Ayarlar
|
||||
menutrans F&ile\ Settings &Dosya\ Ayarlari
|
||||
menutrans C&olor\ Scheme &Renk\ Düzeni
|
||||
menutrans &Keymap Dügme\ &Eslem
|
||||
menutrans Select\ Fo&nt\.\.\. Ya&zitipi Seç\.\.\.
|
||||
">>>----------------- Edit/Global settings
|
||||
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamasini\ Aç/Kapat<Tab>:set\ hls!
|
||||
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! BÜYÜK/küçük\ Harf\ &Duyarsiz\ Aç/Kapat<Tab>:set\ ic!
|
||||
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! Es&lesen\ Ikilileri\ Aç/Kapat<Tab>:set\ sm!
|
||||
menutrans &Context\ Lines I&mleçle\ Oynayan\ Satirlar
|
||||
menutrans &Virtual\ Edit &Sanal\ Düzenleme
|
||||
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Ekleme\ &Kipini\ Aç/Kapat<Tab>:set\ im!
|
||||
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! &Vi\ Uyumlu\ Kipi\ Aç/Kapat<Tab>:set\ cp!
|
||||
menutrans Search\ &Path\.\.\. &Arama\ Yolu\.\.\.
|
||||
menutrans Ta&g\ Files\.\.\. &Etiket\ Dosyalari\.\.\.
|
||||
"
|
||||
menutrans Toggle\ &Toolbar &Araç\ Çubugunu\ Aç/Kapat
|
||||
menutrans Toggle\ &Bottom\ Scrollbar A<\ Kaydirma\ Çubugunu\ Aç/Kapat
|
||||
menutrans Toggle\ &Left\ Scrollbar &Sol\ Kaydirma\ Çubugunu\ Aç/Kapat
|
||||
menutrans Toggle\ &Right\ Scrollbar S&ag\ Kaydirma\ Çubugunu\ Aç/Kapat
|
||||
">>>->>>------------- Edit/Global settings/Virtual edit
|
||||
menutrans Never Kapali
|
||||
menutrans Block\ Selection Blok\ Seçimi
|
||||
menutrans Insert\ Mode Ekleme\ Kipi
|
||||
menutrans Block\ and\ Insert Blok\ Seçiminde\ ve\ Ekleme\ Kipinde
|
||||
menutrans Always Her\ Zaman\ Açik
|
||||
">>>----------------- Edit/File settings
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &Satir\ Numaralandirmayi\ Aç/Kapat<Tab>:set\ nu!
|
||||
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! &Göreceli\ Satir\ Numaralandirmayi\ Aç/Kapat<Tab>:set\ nru!
|
||||
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Gö&rünmeyen\ Karakterleri\ Aç/Kapat<Tab>:set\ list!
|
||||
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! Sa&tir\ Kaydirmayi\ Aç/Kapat<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rapping\ at\ Word<Tab>:set\ lbr! Sö&zcük\ Kaydirmayi\ Aç/Kapat<Tab>:set\ lbr!
|
||||
menutrans Toggle\ Tab\ &Expanding-tab<Tab>:set\ et! S&ekmeleri\ Bosluklara\ Dönüstürmeyi\ Aç/Kapat<Tab>:set\ et!
|
||||
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! &Otomatik\ Girintilemeyi\ Aç/Kapat<Tab>:set\ ai!
|
||||
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! &C\ Tarzi\ Girintilemeyi\ Aç/Kapat<Tab>:set\ cin!
|
||||
">>>---
|
||||
menutrans &Shiftwidth &Girinti\ Düzeyi
|
||||
menutrans Soft\ &Tabstop &Sekme\ Genisligi
|
||||
menutrans Te&xt\ Width\.\.\. &Metin\ Genisligi\.\.\.
|
||||
menutrans &File\ Format\.\.\. &Dosya\ Biçimi\.\.\.
|
||||
"
|
||||
"
|
||||
"
|
||||
" Tools menu
|
||||
menutrans &Jump\ to\ This\ Tag<Tab>g^] S&u\ Etikete\ Atla<Tab>g^]
|
||||
menutrans Jump\ &Back<Tab>^T &Geri\ Dön<Tab>^T
|
||||
menutrans Build\ &Tags\ File &Etiket\ Dosyasi\ Olustur
|
||||
"-------------------
|
||||
menutrans &Folding &Kivirmalar
|
||||
menutrans &Spelling &Yazim\ Denetimi
|
||||
menutrans &Diff &Ayrimlar\ (diff)
|
||||
"-------------------
|
||||
menutrans &Make<Tab>:make &Derle<Tab>:make
|
||||
menutrans &List\ Errors<Tab>:cl &Hatalari\ Listele<Tab>:cl
|
||||
menutrans L&ist\ Messages<Tab>:cl! I&letileri\ Listele<Tab>:cl!
|
||||
menutrans &Next\ Error<Tab>:cn Bir\ &Sonraki\ Hata<Tab>:cn
|
||||
menutrans &Previous\ Error<Tab>:cp Bir\ Ö&nceki\ Hata<Tab>:cp
|
||||
menutrans &Older\ List<Tab>:cold Daha\ &Eski\ Hatalar<Tab>:cold
|
||||
menutrans N&ewer\ List<Tab>:cnew Daha\ &Yeni\ Hatalar<Tab>:cnew
|
||||
menutrans Error\ &Window Hatalar\ &Penceresi
|
||||
menutrans Se&t\ Compiler De&rleyici\ Seç
|
||||
menutrans Show\ Compiler\ Se&ttings\ in\ Menu Derleyici\ Ayarlarini\ Menüde\ &Göster
|
||||
"-------------------
|
||||
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ Dö&nüstür<Tab>:%!xxd
|
||||
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ Dönüstür<Tab>:%!xxd\ -r
|
||||
">>>---------------- Tools/Spelling
|
||||
menutrans &Spell\ Check\ On Yazim\ Denetimini\ &Aç
|
||||
menutrans Spell\ Check\ &Off Yazim\ Denetimini\ &Kapat
|
||||
menutrans To\ &Next\ Error<Tab>]s Bir\ &Sonraki\ Hata<Tab>]s
|
||||
menutrans To\ &Previous\ Error<Tab>[s Bir\ Ö&nceki\ Hata<Tab>[s
|
||||
menutrans Suggest\ &Corrections<Tab>z= Dü&zeltme\ Öner<Tab>z=
|
||||
menutrans &Repeat\ Correction<Tab>:spellrepall Düzeltmeyi\ &Yinele<Tab>spellrepall
|
||||
"-------------------
|
||||
menutrans Set\ Language\ to\ "en" Dili\ "en"\ yap
|
||||
menutrans Set\ Language\ to\ "en_au" Dili\ "en_au"\ yap
|
||||
menutrans Set\ Language\ to\ "en_ca" Dili\ "en_ca"\ yap
|
||||
menutrans Set\ Language\ to\ "en_gb" Dili\ "en_gb"\ yap
|
||||
menutrans Set\ Language\ to\ "en_nz" Dili\ "en_nz"\ yap
|
||||
menutrans Set\ Language\ to\ "en_us" Dili\ "en_us"\ yap
|
||||
menutrans &Find\ More\ Languages &Baska\ Diller\ Bul
|
||||
let g:menutrans_set_lang_to = 'Dil Yükle'
|
||||
"
|
||||
"
|
||||
" The Spelling popup menu
|
||||
"
|
||||
"
|
||||
let g:menutrans_spell_change_ARG_to = 'Düzeltilecek:\ "%s"\ ->'
|
||||
let g:menutrans_spell_add_ARG_to_word_list = '"%s"\ sözcügünü\ sözlüge\ ekle'
|
||||
let g:menutrans_spell_ignore_ARG = '"%s"\ sözcügünü\ yoksay'
|
||||
">>>---------------- Folds
|
||||
menutrans &Enable/Disable\ Folds<Tab>zi &Kivirmalari\ Aç/Kapat<Tab>zi
|
||||
menutrans &View\ Cursor\ Line<Tab>zv I&mlecin\ Oldugu\ Satiri\ Görüntüle<Tab>zv
|
||||
menutrans Vie&w\ Cursor\ Line\ Only<Tab>zMzx Ya&lnizca\ Imlecin\ Oldugu\ Satiri\ Görüntüle<Tab>zMzx
|
||||
menutrans C&lose\ More\ Folds<Tab>zm &Daha\ Fazla\ Kivirma\ Kapat<Tab>zm
|
||||
menutrans &Close\ All\ Folds<Tab>zM Bütün\ Ki&virmalari\ Kapat<Tab>zM
|
||||
menutrans &Open\ All\ Folds<Tab>zR Bü&tün\ Kivirmalari\ Aç<Tab>zR
|
||||
menutrans O&pen\ More\ Folds<Tab>zr D&aha\ Fazla\ Kivirma\ Aç<Tab>zr
|
||||
menutrans Fold\ Met&hod Kivi&rma\ Yöntemi
|
||||
menutrans Create\ &Fold<Tab>zf Kivirma\ &Olustur<Tab>zf
|
||||
menutrans &Delete\ Fold<Tab>zd Kivirma\ &Sil<Tab>zd
|
||||
menutrans Delete\ &All\ Folds<Tab>zD Tü&m\ Kivirmalari\ Sil<Tab>zD
|
||||
menutrans Fold\ col&umn\ Width Kivirma\ Sütunu\ &Genisligi
|
||||
">>>->>>----------- Tools/Folds/Fold Method
|
||||
menutrans M&anual &El\ Ile
|
||||
menutrans I&ndent &Girinti
|
||||
menutrans E&xpression I&fade
|
||||
menutrans S&yntax &Sözdizim
|
||||
menutrans Ma&rker I&mleyici
|
||||
">>>--------------- Tools/Diff
|
||||
menutrans &Update &Güncelle
|
||||
menutrans &Get\ Block Blogu\ &Al
|
||||
menutrans &Put\ Block Blogu\ &Koy
|
||||
">>>--------------- Tools/Diff/Error window
|
||||
menutrans &Update<Tab>:cwin &Güncelle<Tab>:cwin
|
||||
menutrans &Close<Tab>:cclose &Kapat<Tab>:cclose
|
||||
menutrans &Open<Tab>:copen &Aç<Tab>:copen
|
||||
"
|
||||
"
|
||||
" Syntax menu
|
||||
"
|
||||
menutrans &Show\ File\ Types\ in\ Menu Dosya\ Türlerini\ Menüde\ &Göster
|
||||
menutrans Set\ '&syntax'\ only Yalnizca\ 'syntax'\ &Ayarla
|
||||
menutrans Set\ '&filetype'\ too 'filetype'\ Için\ &de\ Ayarla
|
||||
menutrans &Off &Kapat
|
||||
menutrans &Manual &El\ Ile
|
||||
menutrans A&utomatic &Otomatik
|
||||
menutrans On/Off\ for\ &This\ File &Bu\ Dosya\ Için\ Aç/Kapat
|
||||
menutrans Co&lor\ Test &Renk\ Testi
|
||||
menutrans &Highlight\ Test &Vurgulama\ Testi
|
||||
menutrans &Convert\ to\ HTML &HTML'ye\ Dönüstür
|
||||
"
|
||||
"
|
||||
" Buffers menu
|
||||
"
|
||||
menutrans &Refresh\ menu &Menüyü\ Güncelle
|
||||
menutrans Delete &Sil
|
||||
menutrans &Alternate Ö&teki
|
||||
menutrans &Next So&nraki
|
||||
menutrans &Previous Ön&ceki
|
||||
menutrans [No\ File] [Dosya\ Yok]
|
||||
"
|
||||
"
|
||||
" Window menu
|
||||
"
|
||||
menutrans &New<Tab>^Wn Yeni\ &Pencere<Tab>^Wn
|
||||
menutrans S&plit<Tab>^Ws Pencereyi\ &Böl<Tab>^Ws
|
||||
menutrans Sp&lit\ To\ #<Tab>^W^^ Pencereyi\ Baskasina\ Bö&l<Tab>^W^^
|
||||
menutrans Split\ &Vertically<Tab>^Wv Pencereyi\ &Dikey\ Olarak\ Böl<Tab>^Wv
|
||||
menutrans Split\ File\ E&xplorer Yeni\ Bölü&mde\ Dosya\ Gezginini\ Aç
|
||||
"
|
||||
menutrans &Close<Tab>^Wc Pen&cereyi\ Kapat<Tab>^Wc
|
||||
menutrans Close\ &Other(s)<Tab>^Wo Diger\ Pencerele&ri\ Kapat<Tab>^Wo
|
||||
"
|
||||
menutrans Move\ &To &Tasi
|
||||
menutrans Rotate\ &Up<Tab>^WR &Yukari\ Tasi<Tab>^WR
|
||||
menutrans Rotate\ &Down<Tab>^Wr &Asagi\ Tasi<Tab>^Wr
|
||||
"
|
||||
menutrans &Equal\ Size<Tab>^W= &Esit\ Boyut<Tab>^W=
|
||||
menutrans &Max\ Height<Tab>^W_ E&n\ Büyük\ Yükseklik<Tab>^W_
|
||||
menutrans M&in\ Height<Tab>^W1_ En\ Küçük\ Yüksekl&ik<Tab>^W1_
|
||||
menutrans Max\ &Width<Tab>^W\| En\ Büyük\ Gen&islik<Tab>^W\|
|
||||
menutrans Min\ Widt&h<Tab>^W1\| En\ Küçük\ Genis&lik<Tab>^W1\|
|
||||
">>>----------------- Window/Move To
|
||||
menutrans &Top<Tab>^WK &Yukari<Tab>^WK
|
||||
menutrans &Bottom<Tab>^WJ &Asagi<Tab>^WJ
|
||||
menutrans &Left\ Side<Tab>^WH So&la<Tab>^WH
|
||||
menutrans &Right\ Side<Tab>^WL &Saga<Tab>^WL
|
||||
"
|
||||
"
|
||||
" The popup menu
|
||||
"
|
||||
"
|
||||
menutrans &Undo &Geri\ Al
|
||||
menutrans Cu&t &Kes
|
||||
menutrans &Copy K&opyala
|
||||
menutrans &Paste &Yapistir
|
||||
menutrans &Delete &Sil
|
||||
menutrans Select\ Blockwise &Blok\ Biçiminde\ Seç
|
||||
menutrans Select\ &Word Sö&zcük\ Seç
|
||||
menutrans Select\ &Sentence &Tümce\ Seç
|
||||
menutrans Select\ Pa&ragraph &Paragraf\ Seç
|
||||
menutrans Select\ &Line S&atir\ Seç
|
||||
menutrans Select\ &Block Bl&ok\ Seç
|
||||
menutrans Select\ &All Tümü&nü\ Seç
|
||||
"
|
||||
" The GUI toolbar
|
||||
"
|
||||
if has("toolbar")
|
||||
if exists("*Do_toolbar_tmenu")
|
||||
delfun Do_toolbar_tmenu
|
||||
endif
|
||||
fun Do_toolbar_tmenu()
|
||||
tmenu ToolBar.Open Dosya Aç
|
||||
tmenu ToolBar.Save Dosya Kaydet
|
||||
tmenu ToolBar.SaveAll Tüm Dosyalari Kaydet
|
||||
tmenu ToolBar.Print Yazdir
|
||||
tmenu ToolBar.Undo Geri Al
|
||||
tmenu ToolBar.Redo Yinele
|
||||
tmenu ToolBar.Cut Kes
|
||||
tmenu ToolBar.Copy Kopyala
|
||||
tmenu ToolBar.Paste Yapistir
|
||||
tmenu ToolBar.Find Bul...
|
||||
tmenu ToolBar.FindNext Sonrakini Bul
|
||||
tmenu ToolBar.FindPrev Öncekini Bul
|
||||
tmenu ToolBar.Replace Bul ve Degistir...
|
||||
if 0 " disabled; These are in the Windows menu
|
||||
tmenu ToolBar.New Yeni Pencere
|
||||
tmenu ToolBar.WinSplit Pencereyi Böl
|
||||
tmenu ToolBar.WinMax En Büyük Pencere Yüksekligi
|
||||
tmenu ToolBar.WinMin En Küçük Pencere Yüksekligi
|
||||
tmenu ToolBar.WinClose Pencereyi Kapat
|
||||
endif
|
||||
tmenu ToolBar.LoadSesn Oturum Yükle
|
||||
tmenu ToolBar.SaveSesn Oturum Kaydet
|
||||
tmenu ToolBar.RunScript Betik Çalistir
|
||||
tmenu ToolBar.Make Derle
|
||||
tmenu ToolBar.Shell Kabuk
|
||||
tmenu ToolBar.RunCtags Etiket Dosyasi Olustur
|
||||
tmenu ToolBar.TagJump Etikete Atla
|
||||
tmenu ToolBar.Help Yardim
|
||||
tmenu ToolBar.FindHelp Yardim Bul
|
||||
endfun
|
||||
endif
|
||||
"
|
||||
"
|
||||
" Dialog texts
|
||||
"
|
||||
" Find in help dialog
|
||||
"
|
||||
let g:menutrans_help_dialog = "Yardim icin komut veya sozcuk girin:\n\nEkleme Kipi komutlarini aramak icin i_ ekleyin (ornegin i_CTRL-X)\nNormal Kip komutlarini aramak icin _c ekleyin (ornegin c_<Del>)\nSecenekler hakkinda yardim almak icin ' ekleyin (ornegin 'shiftwidth')"
|
||||
"
|
||||
"
|
||||
" Searh path dialog
|
||||
"
|
||||
let g:menutrans_path_dialog = "Dosya aramasi için yol belirtin.\nDizin adlari virgüllerle ayrilir."
|
||||
"
|
||||
" Tag files dialog
|
||||
"
|
||||
let g:menutrans_tags_dialog = "Etiket dosyasi adlari belirtin (virgülle ayirarak).\n"
|
||||
"
|
||||
" Text width dialog
|
||||
"
|
||||
let g:menutrans_textwidth_dialog = "Biçimlendirme için metin genisligini belirtin.\nBiçimlendirme iptali için 0 girin."
|
||||
"
|
||||
" File format dialog
|
||||
"
|
||||
let g:menutrans_fileformat_dialog = "Dosya biçimi seçin"
|
||||
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\nI&ptal"
|
||||
"
|
||||
let menutrans_no_file = "[Dosya Yok]"
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
@@ -0,0 +1,331 @@
|
||||
" Menu Translations: Turkish
|
||||
" Maintainer: Emir SARI <bitigchi@me.com>
|
||||
|
||||
if exists("did_menu_trans")
|
||||
finish
|
||||
endif
|
||||
let did_menu_trans = 1
|
||||
let s:keepcpo= &cpo
|
||||
set cpo&vim
|
||||
|
||||
scriptencoding utf-8
|
||||
|
||||
" Top
|
||||
menutrans &File &Dosya
|
||||
menutrans &Edit Dü&zen
|
||||
menutrans &Tools &Araçlar
|
||||
menutrans &Syntax &Sözdizim
|
||||
menutrans &Buffers A&rabellekler
|
||||
menutrans &Window &Pencere
|
||||
menutrans &Help &Yardım
|
||||
|
||||
|
||||
" Help menu
|
||||
menutrans &Overview<Tab><F1> &Genel\ Bakış<Tab><F1>
|
||||
menutrans &User\ Manual &Kullanım\ Kılavuzu
|
||||
menutrans &How-To\ Links &Nasıl\ Yapılır?
|
||||
menutrans &Find\.\.\. &Bul\.\.\.
|
||||
"--------------------
|
||||
menutrans &Credits &Teşekkürler
|
||||
menutrans Co&pying &Dağıtım
|
||||
menutrans &Sponsor/Register &Sponsorluk/Kayıt
|
||||
menutrans O&rphans &Yetimler
|
||||
"--------------------
|
||||
menutrans &Version Sürüm\ &Bilgisi
|
||||
menutrans &About &Hakkında
|
||||
|
||||
|
||||
" File menu
|
||||
menutrans &Open\.\.\.<Tab>:e &Aç\.\.\.<Tab>:e
|
||||
menutrans Sp&lit-Open\.\.\.<Tab>:sp &Yeni\ Bölümde\ Aç\.\.\.<Tab>:sp
|
||||
menutrans Open\ Tab\.\.\.<Tab>:tabnew S&ekme\ Aç\.\.\.<Tab>:tabnew
|
||||
menutrans &New<Tab>:enew Yeni\ &Sekme<Tab>:enew
|
||||
menutrans &Close<Tab>:close Ka&pat<Tab>:close
|
||||
"--------------------
|
||||
menutrans &Save<Tab>:w Ka&ydet<Tab>:w
|
||||
menutrans Save\ &As\.\.\.<Tab>:sav &Farklı Kaydet\.\.\.<Tab>:sav
|
||||
"--------------------
|
||||
menutrans Split\ &Diff\ With\.\.\. Ka&rşılaştır\.\.\.
|
||||
menutrans Split\ Patched\ &By\.\.\. Ya&malar\ Dahil\ Karşılaştır\.\.\.
|
||||
"--------------------
|
||||
menutrans &Print Ya&zdır
|
||||
menutrans Sa&ve-Exit<Tab>:wqa Kaydet\ &ve Çık<Tab>:wqa
|
||||
menutrans E&xit<Tab>:qa Çı&k<Tab>:qa
|
||||
|
||||
|
||||
" Edit menu
|
||||
menutrans &Undo<Tab>u &Geri\ Al<Tab>u
|
||||
menutrans &Redo<Tab>^R &Yinele<Tab>^R
|
||||
menutrans Rep&eat<Tab>\. Son\ Komutu\ Y&inele<Tab>\.
|
||||
"--------------------
|
||||
menutrans Cu&t<Tab>"+x &Kes<Tab>"+x
|
||||
menutrans &Copy<Tab>"+y K&opyala<Tab>"+y
|
||||
menutrans &Paste<Tab>"+gP Ya&pıştır<Tab>"+gP
|
||||
menutrans Put\ &Before<Tab>[p Ö&nüne Koy<Tab>[p
|
||||
menutrans Put\ &After<Tab>]p A&rkasına Koy<Tab>]p
|
||||
menutrans &Delete<Tab>x Si&l<Tab>x
|
||||
menutrans &Select\ All<Tab>ggVG Tü&münü\ Seç<Tab>ggVG
|
||||
"--------------------
|
||||
" Athena GUI only
|
||||
menutrans &Find<Tab>/ &Bul<Tab>/
|
||||
menutrans Find\ and\ Rep&lace<Tab>:%s Bul\ &ve\ Değiştir<Tab>:%s
|
||||
" End Athena GUI only
|
||||
menutrans &Find\.\.\.<Tab>/ &Bul\.\.\.<Tab>/
|
||||
menutrans Find\ and\ Rep&lace\.\.\. Bul\ ve\ &Değiştir\.\.\.
|
||||
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:%s Bul\ ve\ &Değiştir\.\.\.<Tab>:%s
|
||||
menutrans Find\ and\ Rep&lace\.\.\.<Tab>:s Bul\ ve\ &Değiştir\.\.\.<Tab>:s
|
||||
"--------------------
|
||||
menutrans Settings\ &Window &Ayarlar\ Penceresi
|
||||
menutrans Startup\ &Settings Başlan&gıç\ Ayarları
|
||||
menutrans &Global\ Settings Ge&nel\ Ayarlar
|
||||
menutrans F&ile\ Settings &Dosya\ Ayarları
|
||||
menutrans C&olor\ Scheme &Renk\ Düzeni
|
||||
menutrans &Keymap Düğme\ &Eşlem
|
||||
menutrans Select\ Fo&nt\.\.\. Ya&zıtipi Seç\.\.\.
|
||||
">>>----------------- Edit/Global settings
|
||||
menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls! Dizgi\ &Vurgulamasını\ Aç/Kapat<Tab>:set\ hls!
|
||||
menutrans Toggle\ &Ignoring\ Case<Tab>:set\ ic! BÜYÜK/küçük\ Harf\ &Duyarsız\ Aç/Kapat<Tab>:set\ ic!
|
||||
menutrans Toggle\ &Showing\ Matched\ Pairs<Tab>:set\ sm! Eş&leşen\ İkilileri\ Aç/Kapat<Tab>:set\ sm!
|
||||
menutrans &Context\ Lines İ&mleçle\ Oynayan\ Satırlar
|
||||
menutrans &Virtual\ Edit &Sanal\ Düzenleme
|
||||
menutrans Toggle\ Insert\ &Mode<Tab>:set\ im! Ekleme\ &Kipini\ Aç/Kapat<Tab>:set\ im!
|
||||
menutrans Toggle\ Vi\ C&ompatibility<Tab>:set\ cp! &Vi\ Uyumlu\ Kipi\ Aç/Kapat<Tab>:set\ cp!
|
||||
menutrans Search\ &Path\.\.\. &Arama\ Yolu\.\.\.
|
||||
menutrans Ta&g\ Files\.\.\. &Etiket\ Dosyaları\.\.\.
|
||||
"
|
||||
menutrans Toggle\ &Toolbar &Araç\ Çubuğunu\ Aç/Kapat
|
||||
menutrans Toggle\ &Bottom\ Scrollbar A<\ Kaydırma\ Çubuğunu\ Aç/Kapat
|
||||
menutrans Toggle\ &Left\ Scrollbar &Sol\ Kaydırma\ Çubuğunu\ Aç/Kapat
|
||||
menutrans Toggle\ &Right\ Scrollbar S&ağ\ Kaydırma\ Çubuğunu\ Aç/Kapat
|
||||
">>>->>>------------- Edit/Global settings/Virtual edit
|
||||
menutrans Never Kapalı
|
||||
menutrans Block\ Selection Blok\ Seçimi
|
||||
menutrans Insert\ Mode Ekleme\ Kipi
|
||||
menutrans Block\ and\ Insert Blok\ Seçiminde\ ve\ Ekleme\ Kipinde
|
||||
menutrans Always Her\ Zaman\ Açık
|
||||
">>>----------------- Edit/File settings
|
||||
menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu! &Satır\ Numaralandırmayı\ Aç/Kapat<Tab>:set\ nu!
|
||||
menutrans Toggle\ Relati&ve\ Line\ Numbering<Tab>:set\ rnu! &Göreceli\ Satır\ Numaralandırmayı\ Aç/Kapat<Tab>:set\ nru!
|
||||
menutrans Toggle\ &List\ Mode<Tab>:set\ list! Gö&rünmeyen\ Karakterleri\ Aç/Kapat<Tab>:set\ list!
|
||||
menutrans Toggle\ Line\ &Wrapping<Tab>:set\ wrap! Sa&tır\ Kaydırmayı\ Aç/Kapat<Tab>:set\ wrap!
|
||||
menutrans Toggle\ W&rapping\ at\ Word<Tab>:set\ lbr! Sö&zcük\ Kaydırmayı\ Aç/Kapat<Tab>:set\ lbr!
|
||||
menutrans Toggle\ Tab\ &Expanding-tab<Tab>:set\ et! S&ekmeleri\ Boşluklara\ Dönüştürmeyi\ Aç/Kapat<Tab>:set\ et!
|
||||
menutrans Toggle\ &Auto\ Indenting<Tab>:set\ ai! &Otomatik\ Girintilemeyi\ Aç/Kapat<Tab>:set\ ai!
|
||||
menutrans Toggle\ &C-Style\ Indenting<Tab>:set\ cin! &C\ Tarzı\ Girintilemeyi\ Aç/Kapat<Tab>:set\ cin!
|
||||
">>>---
|
||||
menutrans &Shiftwidth &Girinti\ Düzeyi
|
||||
menutrans Soft\ &Tabstop &Sekme\ Genişliği
|
||||
menutrans Te&xt\ Width\.\.\. &Metin\ Genişliği\.\.\.
|
||||
menutrans &File\ Format\.\.\. &Dosya\ Biçimi\.\.\.
|
||||
"
|
||||
"
|
||||
"
|
||||
" Tools menu
|
||||
menutrans &Jump\ to\ This\ Tag<Tab>g^] Ş&u\ Etikete\ Atla<Tab>g^]
|
||||
menutrans Jump\ &Back<Tab>^T &Geri\ Dön<Tab>^T
|
||||
menutrans Build\ &Tags\ File &Etiket\ Dosyası\ Oluştur
|
||||
"-------------------
|
||||
menutrans &Folding &Kıvırmalar
|
||||
menutrans &Spelling &Yazım\ Denetimi
|
||||
menutrans &Diff &Ayrımlar\ (diff)
|
||||
"-------------------
|
||||
menutrans &Make<Tab>:make &Derle<Tab>:make
|
||||
menutrans &List\ Errors<Tab>:cl &Hataları\ Listele<Tab>:cl
|
||||
menutrans L&ist\ Messages<Tab>:cl! İ&letileri\ Listele<Tab>:cl!
|
||||
menutrans &Next\ Error<Tab>:cn Bir\ &Sonraki\ Hata<Tab>:cn
|
||||
menutrans &Previous\ Error<Tab>:cp Bir\ Ö&nceki\ Hata<Tab>:cp
|
||||
menutrans &Older\ List<Tab>:cold Daha\ &Eski\ Hatalar<Tab>:cold
|
||||
menutrans N&ewer\ List<Tab>:cnew Daha\ &Yeni\ Hatalar<Tab>:cnew
|
||||
menutrans Error\ &Window Hatalar\ &Penceresi
|
||||
menutrans Se&t\ Compiler De&rleyici\ Seç
|
||||
menutrans Show\ Compiler\ Se&ttings\ in\ Menu Derleyici\ Ayarlarını\ Menüde\ &Göster
|
||||
"-------------------
|
||||
menutrans &Convert\ to\ HEX<Tab>:%!xxd HEX'e\ Dö&nüştür<Tab>:%!xxd
|
||||
menutrans Conve&rt\ Back<Tab>:%!xxd\ -r HEX'&ten\ Dönüştür<Tab>:%!xxd\ -r
|
||||
">>>---------------- Tools/Spelling
|
||||
menutrans &Spell\ Check\ On Yazım\ Denetimini\ &Aç
|
||||
menutrans Spell\ Check\ &Off Yazım\ Denetimini\ &Kapat
|
||||
menutrans To\ &Next\ Error<Tab>]s Bir\ &Sonraki\ Hata<Tab>]s
|
||||
menutrans To\ &Previous\ Error<Tab>[s Bir\ Ö&nceki\ Hata<Tab>[s
|
||||
menutrans Suggest\ &Corrections<Tab>z= Dü&zeltme\ Öner<Tab>z=
|
||||
menutrans &Repeat\ Correction<Tab>:spellrepall Düzeltmeyi\ &Yinele<Tab>spellrepall
|
||||
"-------------------
|
||||
menutrans Set\ Language\ to\ "en" Dili\ "en"\ yap
|
||||
menutrans Set\ Language\ to\ "en_au" Dili\ "en_au"\ yap
|
||||
menutrans Set\ Language\ to\ "en_ca" Dili\ "en_ca"\ yap
|
||||
menutrans Set\ Language\ to\ "en_gb" Dili\ "en_gb"\ yap
|
||||
menutrans Set\ Language\ to\ "en_nz" Dili\ "en_nz"\ yap
|
||||
menutrans Set\ Language\ to\ "en_us" Dili\ "en_us"\ yap
|
||||
menutrans &Find\ More\ Languages &Başka\ Diller\ Bul
|
||||
let g:menutrans_set_lang_to = 'Dil Yükle'
|
||||
"
|
||||
"
|
||||
" The Spelling popup menu
|
||||
"
|
||||
"
|
||||
let g:menutrans_spell_change_ARG_to = 'Düzeltilecek:\ "%s"\ ->'
|
||||
let g:menutrans_spell_add_ARG_to_word_list = '"%s"\ sözcüğünü\ sözlüğe\ ekle'
|
||||
let g:menutrans_spell_ignore_ARG = '"%s"\ sözcüğünü\ yoksay'
|
||||
">>>---------------- Folds
|
||||
menutrans &Enable/Disable\ Folds<Tab>zi &Kıvırmaları\ Aç/Kapat<Tab>zi
|
||||
menutrans &View\ Cursor\ Line<Tab>zv İ&mlecin\ Olduğu\ Satırı\ Görüntüle<Tab>zv
|
||||
menutrans Vie&w\ Cursor\ Line\ Only<Tab>zMzx Ya&lnızca\ İmlecin\ Olduğu\ Satırı\ Görüntüle<Tab>zMzx
|
||||
menutrans C&lose\ More\ Folds<Tab>zm &Daha\ Fazla\ Kıvırma\ Kapat<Tab>zm
|
||||
menutrans &Close\ All\ Folds<Tab>zM Bütün\ Kı&vırmaları\ Kapat<Tab>zM
|
||||
menutrans &Open\ All\ Folds<Tab>zR Bü&tün\ Kıvırmaları\ Aç<Tab>zR
|
||||
menutrans O&pen\ More\ Folds<Tab>zr D&aha\ Fazla\ Kıvırma\ Aç<Tab>zr
|
||||
menutrans Fold\ Met&hod Kıvı&rma\ Yöntemi
|
||||
menutrans Create\ &Fold<Tab>zf Kıvırma\ &Oluştur<Tab>zf
|
||||
menutrans &Delete\ Fold<Tab>zd Kıvırma\ &Sil<Tab>zd
|
||||
menutrans Delete\ &All\ Folds<Tab>zD Tü&m\ Kıvırmaları\ Sil<Tab>zD
|
||||
menutrans Fold\ col&umn\ Width Kıvırma\ Sütunu\ &Genişliği
|
||||
">>>->>>----------- Tools/Folds/Fold Method
|
||||
menutrans M&anual &El\ İle
|
||||
menutrans I&ndent &Girinti
|
||||
menutrans E&xpression İ&fade
|
||||
menutrans S&yntax &Sözdizim
|
||||
menutrans Ma&rker İ&mleyici
|
||||
">>>--------------- Tools/Diff
|
||||
menutrans &Update &Güncelle
|
||||
menutrans &Get\ Block Bloğu\ &Al
|
||||
menutrans &Put\ Block Bloğu\ &Koy
|
||||
">>>--------------- Tools/Diff/Error window
|
||||
menutrans &Update<Tab>:cwin &Güncelle<Tab>:cwin
|
||||
menutrans &Close<Tab>:cclose &Kapat<Tab>:cclose
|
||||
menutrans &Open<Tab>:copen &Aç<Tab>:copen
|
||||
"
|
||||
"
|
||||
" Syntax menu
|
||||
"
|
||||
menutrans &Show\ File\ Types\ in\ Menu Dosya\ Türlerini\ Menüde\ &Göster
|
||||
menutrans Set\ '&syntax'\ only Yalnızca\ 'syntax'\ &Ayarla
|
||||
menutrans Set\ '&filetype'\ too 'filetype'\ İçin\ &de\ Ayarla
|
||||
menutrans &Off &Kapat
|
||||
menutrans &Manual &El\ İle
|
||||
menutrans A&utomatic &Otomatik
|
||||
menutrans On/Off\ for\ &This\ File &Bu\ Dosya\ İçin\ Aç/Kapat
|
||||
menutrans Co&lor\ Test &Renk\ Testi
|
||||
menutrans &Highlight\ Test &Vurgulama\ Testi
|
||||
menutrans &Convert\ to\ HTML &HTML'ye\ Dönüştür
|
||||
"
|
||||
"
|
||||
" Buffers menu
|
||||
"
|
||||
menutrans &Refresh\ menu &Menüyü\ Güncelle
|
||||
menutrans Delete &Sil
|
||||
menutrans &Alternate Ö&teki
|
||||
menutrans &Next So&nraki
|
||||
menutrans &Previous Ön&ceki
|
||||
menutrans [No\ File] [Dosya\ Yok]
|
||||
"
|
||||
"
|
||||
" Window menu
|
||||
"
|
||||
menutrans &New<Tab>^Wn Yeni\ &Pencere<Tab>^Wn
|
||||
menutrans S&plit<Tab>^Ws Pencereyi\ &Böl<Tab>^Ws
|
||||
menutrans Sp&lit\ To\ #<Tab>^W^^ Pencereyi\ Başkasına\ Bö&l<Tab>^W^^
|
||||
menutrans Split\ &Vertically<Tab>^Wv Pencereyi\ &Dikey\ Olarak\ Böl<Tab>^Wv
|
||||
menutrans Split\ File\ E&xplorer Yeni\ Bölü&mde\ Dosya\ Gezginini\ Aç
|
||||
"
|
||||
menutrans &Close<Tab>^Wc Pen&cereyi\ Kapat<Tab>^Wc
|
||||
menutrans Close\ &Other(s)<Tab>^Wo Diğer\ Pencerele&ri\ Kapat<Tab>^Wo
|
||||
"
|
||||
menutrans Move\ &To &Taşı
|
||||
menutrans Rotate\ &Up<Tab>^WR &Yukarı\ Taşı<Tab>^WR
|
||||
menutrans Rotate\ &Down<Tab>^Wr &Aşağı\ Taşı<Tab>^Wr
|
||||
"
|
||||
menutrans &Equal\ Size<Tab>^W= &Eşit\ Boyut<Tab>^W=
|
||||
menutrans &Max\ Height<Tab>^W_ E&n\ Büyük\ Yükseklik<Tab>^W_
|
||||
menutrans M&in\ Height<Tab>^W1_ En\ Küçük\ Yüksekl&ik<Tab>^W1_
|
||||
menutrans Max\ &Width<Tab>^W\| En\ Büyük\ Gen&işlik<Tab>^W\|
|
||||
menutrans Min\ Widt&h<Tab>^W1\| En\ Küçük\ Geniş&lik<Tab>^W1\|
|
||||
">>>----------------- Window/Move To
|
||||
menutrans &Top<Tab>^WK &Yukarı<Tab>^WK
|
||||
menutrans &Bottom<Tab>^WJ &Aşağı<Tab>^WJ
|
||||
menutrans &Left\ Side<Tab>^WH So&la<Tab>^WH
|
||||
menutrans &Right\ Side<Tab>^WL &Sağa<Tab>^WL
|
||||
"
|
||||
"
|
||||
" The popup menu
|
||||
"
|
||||
"
|
||||
menutrans &Undo &Geri\ Al
|
||||
menutrans Cu&t &Kes
|
||||
menutrans &Copy K&opyala
|
||||
menutrans &Paste &Yapıştır
|
||||
menutrans &Delete &Sil
|
||||
menutrans Select\ Blockwise &Blok\ Biçiminde\ Seç
|
||||
menutrans Select\ &Word Sö&zcük\ Seç
|
||||
menutrans Select\ &Sentence &Tümce\ Seç
|
||||
menutrans Select\ Pa&ragraph &Paragraf\ Seç
|
||||
menutrans Select\ &Line S&atır\ Seç
|
||||
menutrans Select\ &Block Bl&ok\ Seç
|
||||
menutrans Select\ &All Tümü&nü\ Seç
|
||||
"
|
||||
" The GUI toolbar
|
||||
"
|
||||
if has("toolbar")
|
||||
if exists("*Do_toolbar_tmenu")
|
||||
delfun Do_toolbar_tmenu
|
||||
endif
|
||||
fun Do_toolbar_tmenu()
|
||||
tmenu ToolBar.Open Dosya Aç
|
||||
tmenu ToolBar.Save Dosya Kaydet
|
||||
tmenu ToolBar.SaveAll Tüm Dosyaları Kaydet
|
||||
tmenu ToolBar.Print Yazdır
|
||||
tmenu ToolBar.Undo Geri Al
|
||||
tmenu ToolBar.Redo Yinele
|
||||
tmenu ToolBar.Cut Kes
|
||||
tmenu ToolBar.Copy Kopyala
|
||||
tmenu ToolBar.Paste Yapıştır
|
||||
tmenu ToolBar.Find Bul...
|
||||
tmenu ToolBar.FindNext Sonrakini Bul
|
||||
tmenu ToolBar.FindPrev Öncekini Bul
|
||||
tmenu ToolBar.Replace Bul ve Değiştir...
|
||||
if 0 " disabled; These are in the Windows menu
|
||||
tmenu ToolBar.New Yeni Pencere
|
||||
tmenu ToolBar.WinSplit Pencereyi Böl
|
||||
tmenu ToolBar.WinMax En Büyük Pencere Yüksekliği
|
||||
tmenu ToolBar.WinMin En Küçük Pencere Yüksekliği
|
||||
tmenu ToolBar.WinClose Pencereyi Kapat
|
||||
endif
|
||||
tmenu ToolBar.LoadSesn Oturum Yükle
|
||||
tmenu ToolBar.SaveSesn Oturum Kaydet
|
||||
tmenu ToolBar.RunScript Betik Çalıştır
|
||||
tmenu ToolBar.Make Derle
|
||||
tmenu ToolBar.Shell Kabuk
|
||||
tmenu ToolBar.RunCtags Etiket Dosyası Oluştur
|
||||
tmenu ToolBar.TagJump Etikete Atla
|
||||
tmenu ToolBar.Help Yardım
|
||||
tmenu ToolBar.FindHelp Yardım Bul
|
||||
endfun
|
||||
endif
|
||||
"
|
||||
"
|
||||
" Dialog texts
|
||||
"
|
||||
" Find in help dialog
|
||||
"
|
||||
let g:menutrans_help_dialog = "Yardım için komut veya sözcük girin:\n\nEkleme Kipi komutlarını aramak için i_ ekleyin (örneğin i_CTRL-X)\nNormal Kip komutlarını aramak için _c ekleyin (örneğin с_<Del>)\nSeçenekler hakkında yardım almak için ' ekleyin (örneğin 'shiftwidth')"
|
||||
"
|
||||
" Searh path dialog
|
||||
"
|
||||
let g:menutrans_path_dialog = "Dosya araması için yol belirtin.\nDizin adları virgüllerle ayrılır."
|
||||
"
|
||||
" Tag files dialog
|
||||
"
|
||||
let g:menutrans_tags_dialog = "Etiket dosyası adları belirtin (virgülle ayırarak).\n"
|
||||
"
|
||||
" Text width dialog
|
||||
"
|
||||
let g:menutrans_textwidth_dialog = "Biçimlendirme için metin genişliğini belirtin.\nBiçimlendirme iptali için 0 girin."
|
||||
"
|
||||
" File format dialog
|
||||
"
|
||||
let g:menutrans_fileformat_dialog = "Dosya biçimi seçin"
|
||||
let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\nİ&ptal"
|
||||
"
|
||||
let menutrans_no_file = "[Dosya Yok]"
|
||||
|
||||
let &cpo = s:keepcpo
|
||||
unlet s:keepcpo
|
||||
+9
-1
@@ -1,6 +1,6 @@
|
||||
" matchit.vim: (global plugin) Extended "%" matching
|
||||
" autload script of matchit plugin, see ../plugin/matchit.vim
|
||||
" Last Change: 2019 Jan 28
|
||||
" Last Change: 2019 Oct 24
|
||||
|
||||
let s:last_mps = ""
|
||||
let s:last_words = ":"
|
||||
@@ -211,6 +211,14 @@ function matchit#Match_wrapper(word, forward, mode) range
|
||||
execute "if " . skip . "| let skip = '0' | endif"
|
||||
endif
|
||||
let sp_return = searchpair(ini, mid, fin, flag, skip)
|
||||
if &selection isnot# 'inclusive' && a:mode == 'v'
|
||||
" move cursor one pos to the right, because selection is not inclusive
|
||||
" add virtualedit=onemore, to make it work even when the match ends the " line
|
||||
if !(col('.') < col('$')-1)
|
||||
set ve=onemore
|
||||
endif
|
||||
norm! l
|
||||
endif
|
||||
let final_position = "call cursor(" . line(".") . "," . col(".") . ")"
|
||||
" Restore cursor position and original screen.
|
||||
call winrestview(view)
|
||||
|
||||
+6
-2
@@ -4,7 +4,7 @@ For instructions on installing this file, type
|
||||
`:help matchit-install`
|
||||
inside Vim.
|
||||
|
||||
For Vim version 8.1. Last change: 2019 May 05
|
||||
For Vim version 8.1. Last change: 2019 Oct 24
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Benji Fisher et al
|
||||
@@ -375,6 +375,10 @@ The back reference '\'.d refers to the same thing as '\'.b:match_table[d] in
|
||||
==============================================================================
|
||||
5. Known Bugs and Limitations *matchit-bugs*
|
||||
|
||||
Repository: https://github.com/chrisbra/matchit/
|
||||
Bugs can be reported at the repository (alternatively you can send me a mail).
|
||||
The latest development snapshot can also be downloaded there.
|
||||
|
||||
Just because I know about a bug does not mean that it is on my todo list. I
|
||||
try to respond to reports of bugs that cause real problems. If it does not
|
||||
cause serious problems, or if there is a work-around, a bug may sit there for
|
||||
@@ -386,4 +390,4 @@ try to implement this in a future version. (This is not so easy to arrange as
|
||||
you might think!)
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:fo=tcq2:ft=help:
|
||||
vim:tw=78:ts=8:fo=tcq2:ft=help:
|
||||
|
||||
+8
-8
@@ -1,13 +1,13 @@
|
||||
" matchit.vim: (global plugin) Extended "%" matching
|
||||
" Maintainer: Christian Brabandt
|
||||
" Version: 1.15
|
||||
" Last Change: 2019 Jan 28
|
||||
" Version: 1.16
|
||||
" Last Change: 2019 Oct 24
|
||||
" Repository: https://github.com/chrisbra/matchit
|
||||
" Previous URL:http://www.vim.org/script.php?script_id=39
|
||||
" Previous Maintainer: Benji Fisher PhD <benji@member.AMS.org>
|
||||
|
||||
" Documentation:
|
||||
" The documentation is in a separate file: ../doc/matchit.txt .
|
||||
" The documentation is in a separate file: ../doc/matchit.txt
|
||||
|
||||
" Credits:
|
||||
" Vim editor by Bram Moolenaar (Thanks, Bram!)
|
||||
@@ -48,8 +48,8 @@ set cpo&vim
|
||||
|
||||
nnoremap <silent> <Plug>(MatchitNormalForward) :<C-U>call matchit#Match_wrapper('',1,'n')<CR>
|
||||
nnoremap <silent> <Plug>(MatchitNormalBackward) :<C-U>call matchit#Match_wrapper('',0,'n')<CR>
|
||||
vnoremap <silent> <Plug>(MatchitVisualForward) :<C-U>call matchit#Match_wrapper('',1,'v')<CR>m'gv``
|
||||
vnoremap <silent> <Plug>(MatchitVisualBackward) :<C-U>call matchit#Match_wrapper('',0,'v')<CR>m'gv``
|
||||
xnoremap <silent> <Plug>(MatchitVisualForward) :<C-U>call matchit#Match_wrapper('',1,'v')<CR>m'gv``
|
||||
xnoremap <silent> <Plug>(MatchitVisualBackward) :<C-U>call matchit#Match_wrapper('',0,'v')<CR>m'gv``
|
||||
onoremap <silent> <Plug>(MatchitOperationForward) :<C-U>call matchit#Match_wrapper('',1,'o')<CR>
|
||||
onoremap <silent> <Plug>(MatchitOperationBackward) :<C-U>call matchit#Match_wrapper('',0,'o')<CR>
|
||||
|
||||
@@ -63,8 +63,8 @@ omap <silent> g% <Plug>(MatchitOperationBackward)
|
||||
" Analogues of [{ and ]} using matching patterns:
|
||||
nnoremap <silent> <Plug>(MatchitNormalMultiBackward) :<C-U>call matchit#MultiMatch("bW", "n")<CR>
|
||||
nnoremap <silent> <Plug>(MatchitNormalMultiForward) :<C-U>call matchit#MultiMatch("W", "n")<CR>
|
||||
vnoremap <silent> <Plug>(MatchitVisualMultiBackward) :<C-U>call matchit#MultiMatch("bW", "n")<CR>m'gv``
|
||||
vnoremap <silent> <Plug>(MatchitVisualMultiForward) :<C-U>call matchit#MultiMatch("W", "n")<CR>m'gv``
|
||||
xnoremap <silent> <Plug>(MatchitVisualMultiBackward) :<C-U>call matchit#MultiMatch("bW", "n")<CR>m'gv``
|
||||
xnoremap <silent> <Plug>(MatchitVisualMultiForward) :<C-U>call matchit#MultiMatch("W", "n")<CR>m'gv``
|
||||
onoremap <silent> <Plug>(MatchitOperationMultiBackward) :<C-U>call matchit#MultiMatch("bW", "o")<CR>
|
||||
onoremap <silent> <Plug>(MatchitOperationMultiForward) :<C-U>call matchit#MultiMatch("W", "o")<CR>
|
||||
|
||||
@@ -76,7 +76,7 @@ omap <silent> [% <Plug>(MatchitOperationMultiBackward)
|
||||
omap <silent> ]% <Plug>(MatchitOperationMultiForward)
|
||||
|
||||
" text object:
|
||||
vmap <silent> <Plug>(MatchitVisualTextObject) <Plug>(MatchitVisualMultiBackward)o<Plug>(MatchitVisualMultiForward)
|
||||
xmap <silent> <Plug>(MatchitVisualTextObject) <Plug>(MatchitVisualMultiBackward)o<Plug>(MatchitVisualMultiForward)
|
||||
xmap a% <Plug>(MatchitVisualTextObject)
|
||||
|
||||
" Call this function to turn on debugging information. Every time the main
|
||||
|
||||
+8
-3
@@ -65,8 +65,8 @@ command -nargs=* -complete=file -bang Termdebug call s:StartDebug(<bang>0, <f-ar
|
||||
command -nargs=+ -complete=file -bang TermdebugCommand call s:StartDebugCommand(<bang>0, <f-args>)
|
||||
|
||||
" Name of the gdb command, defaults to "gdb".
|
||||
if !exists('termdebugger')
|
||||
let termdebugger = 'gdb'
|
||||
if !exists('g:termdebugger')
|
||||
let g:termdebugger = 'gdb'
|
||||
endif
|
||||
|
||||
let s:pc_id = 12
|
||||
@@ -104,9 +104,14 @@ endfunc
|
||||
|
||||
func s:StartDebug_internal(dict)
|
||||
if exists('s:gdbwin')
|
||||
echoerr 'Terminal debugger already running'
|
||||
echoerr 'Terminal debugger already running, cannot run two'
|
||||
return
|
||||
endif
|
||||
if !executable(g:termdebugger)
|
||||
echoerr 'Cannot execute debugger program "' .. g:termdebugger .. '"'
|
||||
return
|
||||
endif
|
||||
|
||||
let s:ptywin = 0
|
||||
let s:pid = 0
|
||||
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
" Vim syntax file
|
||||
"
|
||||
" Language: Dart
|
||||
" Maintainer: Eugene 'pr3d4t0r' Ciurana <dart.syntax AT cime.net >
|
||||
" Source: https://github.com/pr3d4t0r/dart-vim-syntax
|
||||
" Last Update: 2019 Oct 19
|
||||
"
|
||||
" License: Vim is Charityware. dart.vim syntax is Charityware.
|
||||
" (c) Copyright 2019 by Eugene Ciurana / pr3d4t0r. Licensed
|
||||
" under the standard VIM LICENSE - Vim command :help uganda.txt
|
||||
" for details.
|
||||
"
|
||||
" Questions, comments: <dart.syntax AT cime.net>
|
||||
" https://ciurana.eu/pgp, https://keybase.io/pr3d4t0r
|
||||
"
|
||||
" vim: set fileencoding=utf-8:
|
||||
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
|
||||
syn keyword dartCommentTodo contained TODO FIXME XXX TBD
|
||||
syn match dartLineComment "//.*" contains=dartTodo,@Spell
|
||||
syn match dartCommentSkip "^[ \t]*\*\($\|[ \t]\+\)"
|
||||
syn region dartComment start="/\*" end="\*/" contains=@Spell,dartTodo
|
||||
syn keyword dartReserved assert async await class const export extends external final hide import implements interface library mixin on show super sync yield
|
||||
syn match dartNumber "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
|
||||
|
||||
|
||||
syn keyword dartBoolean false true
|
||||
syn keyword dartBranch break continue
|
||||
syn keyword dartConditional if else switch
|
||||
syn keyword dartException catch finally rethrow throw try
|
||||
syn keyword dartIdentifier abstract covariant deferred dynamic factory Function operator part static this typedef var
|
||||
syn keyword dartLabel case default
|
||||
syn keyword dartNull null
|
||||
syn keyword dartOperator is new
|
||||
syn keyword dartRepeat for do in while
|
||||
syn keyword dartStatement return with
|
||||
syn keyword dartType bool double enum int String StringBuffer void
|
||||
syn keyword dartTodo contained TODO FIXME XXX
|
||||
|
||||
|
||||
syn match dartEscape contained "\\\([4-9]\d\|[0-3]\d\d\|[\"\\'ntbrf]\|u\x\{4\}\)"
|
||||
syn match dartSpecialError contained "\\."
|
||||
syn match dartStrInterpol contained "\${[\x, _]*\}"
|
||||
|
||||
syn region dartDQString start=+"+ end=+"+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell
|
||||
syn region dartSQString start=+'+ end=+'+ end=+$+ contains=dartEscape,dartStrInterpol,dartSpecialError,@Spell
|
||||
|
||||
syn match dartBraces "[{}\[\]]"
|
||||
syn match dartParens "[()]"
|
||||
|
||||
|
||||
syn sync fromstart
|
||||
syn sync maxlines=100
|
||||
|
||||
|
||||
hi def link dartBoolean Boolean
|
||||
hi def link dartBranch Conditional
|
||||
hi def link dartComment Comment
|
||||
hi def link dartConditional Conditional
|
||||
hi def link dartDQString String
|
||||
hi def link dartEscape SpecialChar
|
||||
hi def link dartException Exception
|
||||
hi def link dartIdentifier Identifier
|
||||
hi def link dartLabel Label
|
||||
hi def link dartLineComment Comment
|
||||
hi def link dartNull Keyword
|
||||
hi def link dartOperator Operator
|
||||
hi def link dartRepeat Repeat
|
||||
hi def link dartReserved Keyword
|
||||
hi def link dartSQString String
|
||||
hi def link dartSpecialError Error
|
||||
hi def link dartStatement Statement
|
||||
hi def link dartStrInterpol Special
|
||||
hi def link dartTodo Todo
|
||||
hi def link dartType Type
|
||||
|
||||
|
||||
let b:current_syntax = "dart"
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
" Vim syntax file
|
||||
" Language: DTD (Document Type Definition for XML)
|
||||
" Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Author and previous maintainer:
|
||||
" Daniel Amyot <damyot@site.uottawa.ca>
|
||||
" Last Change: Tue, 27 Apr 2004 14:54:59 CEST
|
||||
" Filenames: *.dtd
|
||||
" Language: DTD (Document Type Definition for XML)
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Author: Daniel Amyot <damyot@site.uottawa.ca>
|
||||
" Last Changed: Sept 24, 2019
|
||||
" Filenames: *.dtd
|
||||
"
|
||||
" REFERENCES:
|
||||
" http://www.w3.org/TR/html40/
|
||||
|
||||
@@ -0,0 +1,165 @@
|
||||
" Vim syntax file
|
||||
" Language: Meson
|
||||
" License: VIM License
|
||||
" Maintainer: Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
|
||||
" Last Change: 2019 Oct 18
|
||||
" Credits: Zvezdan Petkovic <zpetkovic@acm.org>
|
||||
" Neil Schemenauer <nas@meson.ca>
|
||||
" Dmitry Vasiliev
|
||||
"
|
||||
" This version is copied and edited from python.vim
|
||||
" It's very basic, and doesn't do many things I'd like it to
|
||||
" For instance, it should show errors for syntax that is valid in
|
||||
" Python but not in Meson.
|
||||
"
|
||||
" Optional highlighting can be controlled using these variables.
|
||||
"
|
||||
" let meson_space_error_highlight = 1
|
||||
"
|
||||
|
||||
" For version 5.x: Clear all syntax items.
|
||||
" For version 6.x: Quit when a syntax file was already loaded.
|
||||
if version < 600
|
||||
syntax clear
|
||||
elseif exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" We need nocompatible mode in order to continue lines with backslashes.
|
||||
" Original setting will be restored.
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" http://mesonbuild.com/Syntax.html
|
||||
syn keyword mesonConditional elif else if endif
|
||||
syn keyword mesonRepeat foreach endforeach
|
||||
syn keyword mesonOperator and not or
|
||||
|
||||
syn match mesonComment "#.*$" contains=mesonTodo,@Spell
|
||||
syn keyword mesonTodo FIXME NOTE NOTES TODO XXX contained
|
||||
|
||||
" Strings can either be single quoted or triple counted across multiple lines,
|
||||
" but always with a '
|
||||
syn region mesonString
|
||||
\ start="\z('\)" end="\z1" skip="\\\\\|\\\z1"
|
||||
\ contains=mesonEscape,@Spell
|
||||
syn region mesonString
|
||||
\ start="\z('''\)" end="\z1" keepend
|
||||
\ contains=mesonEscape,mesonSpaceError,@Spell
|
||||
|
||||
syn match mesonEscape "\\[abfnrtv'\\]" contained
|
||||
syn match mesonEscape "\\\o\{1,3}" contained
|
||||
syn match mesonEscape "\\x\x\{2}" contained
|
||||
syn match mesonEscape "\%(\\u\x\{4}\|\\U\x\{8}\)" contained
|
||||
" Meson allows case-insensitive Unicode IDs: http://www.unicode.org/charts/
|
||||
syn match mesonEscape "\\N{\a\+\%(\s\a\+\)*}" contained
|
||||
syn match mesonEscape "\\$"
|
||||
|
||||
" Meson only supports integer numbers
|
||||
" http://mesonbuild.com/Syntax.html#numbers
|
||||
syn match mesonNumber "\<\d\+\>"
|
||||
|
||||
" booleans
|
||||
syn keyword mesonConstant false true
|
||||
|
||||
" Built-in functions
|
||||
syn keyword mesonBuiltin
|
||||
\ add_global_arguments
|
||||
\ add_global_link_arguments
|
||||
\ add_languages
|
||||
\ add_project_arguments
|
||||
\ add_project_link_arguments
|
||||
\ add_test_setup
|
||||
\ alias_target
|
||||
\ assert
|
||||
\ benchmark
|
||||
\ both_libraries
|
||||
\ build_machine
|
||||
\ build_target
|
||||
\ configuration_data
|
||||
\ configure_file
|
||||
\ custom_target
|
||||
\ declare_dependency
|
||||
\ dependency
|
||||
\ disabler
|
||||
\ environment
|
||||
\ error
|
||||
\ executable
|
||||
\ files
|
||||
\ find_library
|
||||
\ find_program
|
||||
\ generator
|
||||
\ get_option
|
||||
\ get_variable
|
||||
\ gettext
|
||||
\ host_machine
|
||||
\ import
|
||||
\ include_directories
|
||||
\ install_data
|
||||
\ install_headers
|
||||
\ install_man
|
||||
\ install_subdir
|
||||
\ is_disabler
|
||||
\ is_variable
|
||||
\ jar
|
||||
\ join_paths
|
||||
\ library
|
||||
\ meson
|
||||
\ message
|
||||
\ option
|
||||
\ project
|
||||
\ run_command
|
||||
\ run_target
|
||||
\ set_variable
|
||||
\ shared_library
|
||||
\ shared_module
|
||||
\ static_library
|
||||
\ subdir
|
||||
\ subdir_done
|
||||
\ subproject
|
||||
\ target_machine
|
||||
\ test
|
||||
\ vcs_tag
|
||||
\ warning
|
||||
|
||||
if exists("meson_space_error_highlight")
|
||||
" trailing whitespace
|
||||
syn match mesonSpaceError display excludenl "\s\+$"
|
||||
" mixed tabs and spaces
|
||||
syn match mesonSpaceError display " \+\t"
|
||||
syn match mesonSpaceError display "\t\+ "
|
||||
endif
|
||||
|
||||
if version >= 508 || !exists("did_meson_syn_inits")
|
||||
if version <= 508
|
||||
let did_meson_syn_inits = 1
|
||||
command -nargs=+ HiLink hi link <args>
|
||||
else
|
||||
command -nargs=+ HiLink hi def link <args>
|
||||
endif
|
||||
|
||||
" The default highlight links. Can be overridden later.
|
||||
HiLink mesonStatement Statement
|
||||
HiLink mesonConditional Conditional
|
||||
HiLink mesonRepeat Repeat
|
||||
HiLink mesonOperator Operator
|
||||
HiLink mesonComment Comment
|
||||
HiLink mesonTodo Todo
|
||||
HiLink mesonString String
|
||||
HiLink mesonEscape Special
|
||||
HiLink mesonNumber Number
|
||||
HiLink mesonBuiltin Function
|
||||
HiLink mesonConstant Number
|
||||
if exists("meson_space_error_highlight")
|
||||
HiLink mesonSpaceError Error
|
||||
endif
|
||||
|
||||
delcommand HiLink
|
||||
endif
|
||||
|
||||
let b:current_syntax = "meson"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2 ts=8 noet:
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: BIND configuration file
|
||||
" Maintainer: Nick Hibma <nick@van-laarhoven.org>
|
||||
" Last Change: 2007-01-30
|
||||
" Last Change: 2019 Oct 08
|
||||
" Filenames: named.conf, rndc.conf
|
||||
" Location: http://www.van-laarhoven.org/vim/syntax/named.vim
|
||||
"
|
||||
@@ -54,7 +54,7 @@ syn match namedIntIdent contained /"\=\k\+"\=/ nextgroup=namedIntSection skipwhi
|
||||
syn region namedSection contained start=+{+ end=+};+ contains=namedSection,namedIntKeyword
|
||||
|
||||
" --- IntSection: section that does not contain other sections
|
||||
syn region namedIntSection contained start=+{+ end=+}+ contains=namedIntKeyword,namedError
|
||||
syn region namedIntSection contained start=+{+ end=+}+ contains=namedIntKeyword,namedError,namedComment
|
||||
|
||||
" --- IntKeyword: keywords contained within `{ ... }' sections only
|
||||
" + these keywords are contained within `key' and `acl' sections
|
||||
|
||||
+20
-16
@@ -1,11 +1,14 @@
|
||||
" Vim syntax file
|
||||
" Language: XML
|
||||
" Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Author and previous maintainer:
|
||||
" Paul Siegmann <pauls@euronet.nl>
|
||||
" Last Change: 2013 Jun 07
|
||||
" Language: XML
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
|
||||
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
|
||||
" Author: Paul Siegmann <pauls@euronet.nl>
|
||||
" Last Changed: Sept 24, 2019
|
||||
" Filenames: *.xml
|
||||
" $Id: xml.vim,v 1.3 2006/04/11 21:32:00 vimboss Exp $
|
||||
" Last Change:
|
||||
" 20190923 - Fix xmlEndTag to match xmlTag (vim/vim#884)
|
||||
" 20190924 - Fix xmlAttribute property (amadeus/vim-xml@d8ce1c946)
|
||||
|
||||
" CONFIGURATION:
|
||||
" syntax folding can be turned on by
|
||||
@@ -81,7 +84,7 @@ syn match xmlEqual +=+ display
|
||||
" ^^^^^^^^^^^^^
|
||||
"
|
||||
syn match xmlAttrib
|
||||
\ +[-'"<]\@1<!\<[a-zA-Z:_][-.0-9a-zA-Z:_]*\>\%(['">]\@!\|$\)+
|
||||
\ +[-'"<]\@1<!\<[a-zA-Z:_][-.0-9a-zA-Z:_]*\>\%(['"]\@!\|$\)+
|
||||
\ contained
|
||||
\ contains=xmlAttribPunct,@xmlAttribHook
|
||||
\ display
|
||||
@@ -122,7 +125,7 @@ endif
|
||||
" ^^^
|
||||
"
|
||||
syn match xmlTagName
|
||||
\ +<\@1<=[^ /!?<>"']\++
|
||||
\ +\%(<\|</\)\@2<=[^ /!?<>"']\++
|
||||
\ contained
|
||||
\ contains=xmlNamespace,xmlAttribPunct,@xmlTagHook
|
||||
\ display
|
||||
@@ -157,11 +160,11 @@ if exists('g:xml_syntax_folding')
|
||||
" </tag>
|
||||
" ^^^^^^
|
||||
"
|
||||
syn match xmlEndTag
|
||||
\ +</[^ /!?<>"']\+>+
|
||||
syn region xmlEndTag
|
||||
\ matchgroup=xmlTag start=+</[^ /!?<>"']\@=+
|
||||
\ matchgroup=xmlTag end=+>+
|
||||
\ contained
|
||||
\ contains=xmlNamespace,xmlAttribPunct,@xmlTagHook
|
||||
|
||||
\ contains=xmlTagName,xmlNamespace,xmlAttribPunct,@xmlTagHook
|
||||
|
||||
" tag elements with syntax-folding.
|
||||
" NOTE: NO HIGHLIGHTING -- highlighting is done by contained elements
|
||||
@@ -181,7 +184,7 @@ if exists('g:xml_syntax_folding')
|
||||
\ start=+<\z([^ /!?<>"']\+\)+
|
||||
\ skip=+<!--\_.\{-}-->+
|
||||
\ end=+</\z1\_\s\{-}>+
|
||||
\ matchgroup=xmlEndTag end=+/>+
|
||||
\ end=+/>+
|
||||
\ fold
|
||||
\ contains=xmlTag,xmlEndTag,xmlCdata,xmlRegion,xmlComment,xmlEntity,xmlProcessing,@xmlRegionHook,@Spell
|
||||
\ keepend
|
||||
@@ -198,9 +201,10 @@ else
|
||||
\ matchgroup=xmlTag end=+>+
|
||||
\ contains=xmlError,xmlTagName,xmlAttrib,xmlEqual,xmlString,@xmlStartTagHook
|
||||
|
||||
syn match xmlEndTag
|
||||
\ +</[^ /!?<>"']\+>+
|
||||
\ contains=xmlNamespace,xmlAttribPunct,@xmlTagHook
|
||||
syn region xmlEndTag
|
||||
\ matchgroup=xmlTag start=+</[^ /!?<>"']\@=+
|
||||
\ matchgroup=xmlTag end=+>+
|
||||
\ contains=xmlTagName,xmlNamespace,xmlAttribPunct,@xmlTagHook
|
||||
|
||||
endif
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Zsh shell script
|
||||
" Maintainer: Christian Brabandt <cb@256bit.org>
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2018-05-12
|
||||
" Latest Revision: 2018-07-13
|
||||
" License: Vim (see :h license)
|
||||
" Repository: https://github.com/chrisbra/vim-zsh
|
||||
|
||||
@@ -112,7 +112,7 @@ syn keyword zshCommands alias autoload bg bindkey break bye cap cd
|
||||
\ enable eval exec exit export false fc fg
|
||||
\ functions getcap getln getopts hash history
|
||||
\ jobs kill let limit log logout popd print
|
||||
\ printf pushd pushln pwd r read readonly
|
||||
\ printf pushd pushln pwd r read
|
||||
\ rehash return sched set setcap shift
|
||||
\ source stat suspend test times trap true
|
||||
\ ttyctl type ulimit umask unalias unfunction
|
||||
@@ -125,7 +125,7 @@ syn keyword zshCommands alias autoload bg bindkey break bye cap cd
|
||||
" Create a list of option names from zsh source dir:
|
||||
" #!/bin/zsh
|
||||
" topdir=/path/to/zsh-xxx
|
||||
" grep '^pindex([A-Za-z_]*)$' $topdir/Src/Doc/Zsh/optionsyo |
|
||||
" grep '^pindex([A-Za-z_]*)$' $topdir/Doc/Zsh/options.yo |
|
||||
" while read opt
|
||||
" do
|
||||
" echo ${${(L)opt#pindex\(}%\)}
|
||||
@@ -136,6 +136,7 @@ syn case ignore
|
||||
syn match zshOptStart /^\s*\%(\%(\%(un\)\?setopt\)\|set\s+[-+]o\)/ nextgroup=zshOption skipwhite
|
||||
syn match zshOption /
|
||||
\ \%(\%(\<no_\?\)\?aliases\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?aliasfuncdef\>\)\|\%(\%(no_\?\)\?alias_func_def\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?allexport\>\)\|\%(\%(no_\?\)\?all_export\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?alwayslastprompt\>\)\|\%(\%(no_\?\)\?always_last_prompt\>\)\|\%(\%(no_\?\)\?always_lastprompt\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?alwaystoend\>\)\|\%(\%(no_\?\)\?always_to_end\>\)\|
|
||||
@@ -168,6 +169,7 @@ syn match zshOption /
|
||||
\ \%(\%(\<no_\?\)\?chasedots\>\)\|\%(\%(no_\?\)\?chase_dots\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?chaselinks\>\)\|\%(\%(no_\?\)\?chase_links\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?checkjobs\>\)\|\%(\%(no_\?\)\?check_jobs\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?checkrunningjobs\>\)\|\%(\%(no_\?\)\?check_running_jobs\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?clobber\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?combiningchars\>\)\|\%(\%(no_\?\)\?combining_chars\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?completealiases\>\)\|\%(\%(no_\?\)\?complete_aliases\>\)\|
|
||||
@@ -188,7 +190,7 @@ syn match zshOption /
|
||||
\ \%(\%(\<no_\?\)\?equals\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?errexit\>\)\|\%(\%(no_\?\)\?err_exit\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?errreturn\>\)\|\%(\%(no_\?\)\?err_return\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?evallineno_\?\)\|\%(\%(no_\?\)\?eval_lineno_\?\)\|
|
||||
\ \%(\%(\<no_\?\)\?evallineno\>\)\|\%(\%(no_\?\)\?eval_lineno\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?exec\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?extendedglob\>\)\|\%(\%(no_\?\)\?extended_glob\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?extendedhistory\>\)\|\%(\%(no_\?\)\?extended_history\>\)\|
|
||||
@@ -322,6 +324,7 @@ syn match zshOption /
|
||||
\ \%(\%(\<no_\?\)\?unset\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?verbose\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?vi\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?warnnestedvar\>\)\|\%(\%(no_\?\)\?warn_nested_var\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?warncreateglobal\>\)\|\%(\%(no_\?\)\?warn_create_global\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?xtrace\>\)\|
|
||||
\ \%(\%(\<no_\?\)\?zle\>\)/ nextgroup=zshOption,zshComment skipwhite contained
|
||||
|
||||
+501
-501
File diff suppressed because it is too large
Load Diff
+31
-31
@@ -26,7 +26,7 @@
|
||||
^
|
||||
k 提示︰ h 的鍵位于左邊,每次按下就會向左移動。
|
||||
< h l > l 的鍵位于右邊,每次按下就會向右移動。
|
||||
j j 鍵看起來很象一支尖端方向朝下的箭頭。
|
||||
j j 鍵看起來很象一支尖端方向朝下的箭頭。
|
||||
v
|
||||
|
||||
1. 請隨意在屏幕內移動光標,直至您覺得舒服為止。
|
||||
@@ -105,7 +105,7 @@
|
||||
|
||||
3. 然後按下 i 鍵,接著輸入必要的文本字符。
|
||||
|
||||
4. 所有文本都修正完畢,請按下 <ESC> 鍵返回正常模式。
|
||||
4. 所有文本都修正完畢,請按下 <ESC> 鍵返回正常模式。
|
||||
重復步驟2至步驟4以便修正句子。
|
||||
|
||||
---> There is text misng this .
|
||||
@@ -128,7 +128,7 @@
|
||||
|
||||
<ESC> :q! <回車>
|
||||
|
||||
或者輸入以下命令保存所有修改︰
|
||||
或者輸入以下命令保存所有修改︰
|
||||
|
||||
<ESC> :wq <回車>
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
|
||||
i 輸入必要文本 <ESC>
|
||||
|
||||
特別提示︰按下 <ESC> 鍵會帶您回到正常模式或者取消一個不期望或者部分完成
|
||||
特別提示︰按下 <ESC> 鍵會帶您回到正常模式或者取消一個不期望或者部分完成
|
||||
的命令。
|
||||
|
||||
好了,第一講到此結束。下面接下來繼續第二講的內容。
|
||||
@@ -196,7 +196,7 @@
|
||||
|
||||
刪除命令 d 的格式如下︰
|
||||
|
||||
[number] d object 或者 d [number] object
|
||||
[number] d object 或者 d [number] object
|
||||
|
||||
其意如下︰
|
||||
number - 代表執行命令的次數(可選項,缺省設置為 1 )。
|
||||
@@ -209,7 +209,7 @@
|
||||
$ - 從當前光標當前位置直到當前行末。
|
||||
|
||||
特別提示︰
|
||||
對于勇于探索者,請在正常模式下面僅按代表相應對象的鍵而不使用命令,則
|
||||
對于勇于探索者,請在正常模式下面僅按代表相應對象的鍵而不使用命令,則
|
||||
將看到光標的移動正如上面的對象列表所代表的一樣。
|
||||
|
||||
|
||||
@@ -221,7 +221,7 @@
|
||||
|
||||
** 輸入 dd 可以刪除整一個當前行。 **
|
||||
|
||||
鑒于整行刪除的高頻度,VIM 的設計者決定要簡化整行刪除,僅需要在同一行上
|
||||
鑒于整行刪除的高頻度,VIM 的設計者決定要簡化整行刪除,僅需要在同一行上
|
||||
擊打兩次 d 就可以刪除掉光標所在的整行了。
|
||||
|
||||
1. 請將光標移動到本節中下面的短句段落中的第二行。
|
||||
@@ -249,14 +249,14 @@
|
||||
2. 輸入 x 刪除第一個不想保留的字母。
|
||||
3. 然後輸入 u 撤消最後執行的(一次)命令。
|
||||
4. 這次要使用 x 修正本行的所有錯誤。
|
||||
5. 現在輸入一個大寫的 U ,恢復到該行的原始狀態。
|
||||
5. 現在輸入一個大寫的 U ,恢復到該行的原始狀態。
|
||||
6. 接著多次輸入 u 以撤消 U 以及更前的命令。
|
||||
7. 然後多次輸入 CTRL-R (先按下 CTRL 鍵不放開,接著輸入 R 鍵) ,這樣就
|
||||
可以執行恢復命令,也就是撤消掉撤消命令。
|
||||
可以執行恢復命令,也就是撤消掉撤消命令。
|
||||
|
||||
---> Fiix the errors oon thhis line and reeplace them witth undo.
|
||||
|
||||
8. 這些都是非常有用的命令。下面是第二講的小結了。
|
||||
8. 這些都是非常有用的命令。下面是第二講的小結了。
|
||||
|
||||
|
||||
|
||||
@@ -273,7 +273,7 @@
|
||||
|
||||
4. 在正常模式下一個命令的格式是︰
|
||||
|
||||
[number] command object 或者 command [number] object
|
||||
[number] command object 或者 command [number] object
|
||||
其意是︰
|
||||
number - 代表的是命令執行的次數
|
||||
command - 代表要做的事情,比如 d 代表刪除
|
||||
@@ -282,7 +282,7 @@
|
||||
|
||||
5. 欲撤消以前的操作,請輸入︰u (小寫的u)
|
||||
欲撤消在一行中所做的改動,請輸入︰U (大寫的U)
|
||||
欲撤消以前的撤消命令,恢復以前的操作結果,請輸入︰CTRL-R
|
||||
欲撤消以前的撤消命令,恢復以前的操作結果,請輸入︰CTRL-R
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
第三講第一節︰置入類命令
|
||||
@@ -334,7 +334,7 @@
|
||||
第三講第三節︰更改類命令
|
||||
|
||||
|
||||
** 要改變一個單字/單詞的部分或者全部,請輸入 cw **
|
||||
** 要改變一個單字/單詞的部分或者全部,請輸入 cw **
|
||||
|
||||
1. 請將光標移動到本節中下面標記有 ---> 的第一行。
|
||||
|
||||
@@ -361,7 +361,7 @@
|
||||
|
||||
1. 更改類指令的工作方式跟刪除類命令是一致的。操作格式是︰
|
||||
|
||||
[number] c object 或者 c [number] object
|
||||
[number] c object 或者 c [number] object
|
||||
|
||||
2. 對象參數也是一樣的,比如 w 代表單字/單詞,$代表行末等等。
|
||||
|
||||
@@ -393,7 +393,7 @@
|
||||
|
||||
4. 更改類命令的格式是︰
|
||||
|
||||
[number] c object 或者 c [number] object
|
||||
[number] c object 或者 c [number] object
|
||||
|
||||
下面我們繼續學習下一講。
|
||||
|
||||
@@ -427,7 +427,7 @@
|
||||
|
||||
** 輸入 / 以及尾隨的字符串可以用以在當前文件中查找該字符串。**
|
||||
|
||||
1. 在正常模式下輸入 / 字符。您此時會注意到該字符和光標都會出現在屏幕底
|
||||
1. 在正常模式下輸入 / 字符。您此時會注意到該字符和光標都會出現在屏幕底
|
||||
部,這跟 : 命令是一樣的。
|
||||
|
||||
2. 接著輸入 errroor <回車>。那個errroor就是您要查找的字符串。
|
||||
@@ -500,7 +500,7 @@
|
||||
2. 輸入 / 然後緊隨一個字符串是則是在當前所編輯的文檔中向後查找該字符串。
|
||||
輸入問號 ? 然後緊隨一個字符串是則是在當前所編輯的文檔中向前查找該字
|
||||
符串。完成一次查找之後按 n 鍵則是重復上一次的命令,可在同一方向上查
|
||||
找下一個字符串所在;或者按 Shift-N 向相反方向查找下該字符串所在。
|
||||
找下一個字符串所在;或者按 Shift-N 向相反方向查找下該字符串所在。
|
||||
|
||||
3. 如果光標當前位置是括號(、)、[、]、{、},按 % 可以將光標移動到配對的
|
||||
括號上。
|
||||
@@ -523,12 +523,12 @@
|
||||
2. 接著輸入感嘆號 ! 這個字符,這樣就允許您執行外部的 shell 命令了。
|
||||
|
||||
3. 我們以 ls 命令為例。輸入 !ls <回車> 。該命令就會列舉出您當前目錄的
|
||||
內容,就如同您在命令行提示符下輸入 ls 命令的結果一樣。如果 !ls 沒起
|
||||
內容,就如同您在命令行提示符下輸入 ls 命令的結果一樣。如果 !ls 沒起
|
||||
作用,您可以試試 :!dir 看看。
|
||||
|
||||
---> 提示︰ 所有的外部命令都可以以這種方式執行。
|
||||
---> 提示︰ 所有的外部命令都可以以這種方式執行。
|
||||
|
||||
---> 提示︰ 所有的 : 命令都必須以 <回車> 告終。
|
||||
---> 提示︰ 所有的 : 命令都必須以 <回車> 告終。
|
||||
|
||||
|
||||
|
||||
@@ -539,7 +539,7 @@
|
||||
|
||||
** 要將對文件的改動保存到文件中,請輸入 :w FILENAME **
|
||||
|
||||
1. 輸入 :!dir 或者 :!ls 獲知當前目錄的內容。您應當已知道最後還得敲
|
||||
1. 輸入 :!dir 或者 :!ls 獲知當前目錄的內容。您應當已知道最後還得敲
|
||||
<回車> 吧。
|
||||
|
||||
2. 選擇一個尚未存在文件名,比如 TEST 。
|
||||
@@ -562,13 +562,13 @@
|
||||
|
||||
** 要保存文件的部分內容,請輸入 :#,# w FILENAME **
|
||||
|
||||
1. 再來執行一次 :!dir 或者 :!ls 獲知當前目錄的內容,然後選擇一個合適的
|
||||
1. 再來執行一次 :!dir 或者 :!ls 獲知當前目錄的內容,然後選擇一個合適的
|
||||
不重名的文件名,比如 TEST 。
|
||||
|
||||
2. 接著將光標移動至本頁的最頂端,然後按 CTRL-g 找到該行的行號。別忘了
|
||||
行號哦。
|
||||
|
||||
3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行好哦。
|
||||
3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行號哦。
|
||||
|
||||
4. 為了只保存文章的某個部分,請輸入 :#,# w TEST 。這裡的 #,# 就是上面
|
||||
要求您記住的行號(頂端行號,底端行號),而 TEST 就是選定的文件名。
|
||||
@@ -700,7 +700,7 @@ Open up a line above this by typing Shift-O while the cursor is on this line.
|
||||
第六講第四節︰設置類命令的選項
|
||||
|
||||
|
||||
** 設置可使查找或者替換可忽略大小寫的選項 **
|
||||
** 設置可使查找或者替換可忽略大小寫的選項 **
|
||||
|
||||
|
||||
1. 要查找單詞 ignore 可在正常模式下輸入 /ignore 。要重復查找該詞,可以
|
||||
@@ -772,7 +772,7 @@ Open up a line above this by typing Shift-O while the cursor is on this line.
|
||||
|
||||
** 啟用vim的功能 **
|
||||
|
||||
Vim的功能特性要比vi多得多,但大部分功能都沒有缺省激活。為了啟動更多的
|
||||
Vim的功能特性要比vi多得多,但大部分功能都沒有缺省激活。為了啟動更多的
|
||||
功能,您得創建一個vimrc文件。
|
||||
|
||||
1. 開始編輯vimrc文件,這取決于您所使用的操作系統︰
|
||||
@@ -801,15 +801,15 @@ Open up a line above this by typing Shift-O while the cursor is on this line.
|
||||
|
||||
為了更進一步的參考和學習,以下這本書值得推薦︰
|
||||
|
||||
Vim - Vi Improved - 作者︰Steve Oualline
|
||||
Vim - Vi Improved - 作者︰Steve Oualline
|
||||
出版社︰New Riders
|
||||
|
||||
這是第一本完全講解vim的書籍。對于初學者特別有用。其中還包含有大量實例
|
||||
這是第一本完全講解vim的書籍。對于初學者特別有用。其中還包含有大量實例
|
||||
和圖示。欲知詳情,請訪問 http://iccf-holland.org/click5.html
|
||||
|
||||
以下這本書比較老了而且內容主要是vi而不是vim,但是也值得推薦︰
|
||||
|
||||
Learning the Vi Editor - 作者︰Linda Lamb
|
||||
Learning the Vi Editor - 作者︰Linda Lamb
|
||||
出版社︰O'Reilly & Associates Inc.
|
||||
|
||||
這是一本不錯的書,通過它您幾乎能夠了解到全部vi能夠做到的事情。此書的第
|
||||
@@ -817,7 +817,7 @@ Open up a line above this by typing Shift-O while the cursor is on this line.
|
||||
|
||||
本教程是由來自Calorado School of Minese的Michael C. Pierce、Robert K.
|
||||
Ware 所編寫的,其中來自Colorado State University的Charles Smith提供了
|
||||
很多創意。編者通信地址是︰
|
||||
很多創意。編者通信地址是︰
|
||||
|
||||
bware@mines.colorado.edu
|
||||
|
||||
@@ -825,9 +825,9 @@ Open up a line above this by typing Shift-O while the cursor is on this line.
|
||||
|
||||
|
||||
|
||||
譯制者附言︰
|
||||
譯制者附言︰
|
||||
===========
|
||||
簡體中文教程翻譯版之譯制者為梁昌泰 <beos@turbolinux.com.cn>,還有
|
||||
簡體中文教程翻譯版之譯制者為梁昌泰 <beos@turbolinux.com.cn>,還有
|
||||
另外一個聯系地址︰linuxrat@gnuchina.org。
|
||||
|
||||
繁體中文教程是從簡體中文教程翻譯版使用 Debian GNU/Linux 中文項目小
|
||||
|
||||
@@ -568,7 +568,7 @@
|
||||
2. 接著將光標移動至本頁的最頂端,然後按 CTRL-g 找到該行的行號。別忘了
|
||||
行號哦。
|
||||
|
||||
3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行好哦。
|
||||
3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行號哦。
|
||||
|
||||
4. 為了只保存文章的某個部分,請輸入 :#,# w TEST 。這裡的 #,# 就是上面
|
||||
要求您記住的行號(頂端行號,底端行號),而 TEST 就是選定的文件名。
|
||||
|
||||
@@ -568,7 +568,7 @@
|
||||
2. 接著將光標移動至本頁的最頂端,然後按 CTRL-g 找到該行的行號。別忘了
|
||||
行號哦。
|
||||
|
||||
3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行好哦。
|
||||
3. 接著把光標移動至本頁的最底端,再按一次 CTRL-g 。也別忘了這個行號哦。
|
||||
|
||||
4. 為了只保存文章的某個部分,請輸入 :#,# w TEST 。這裡的 #,# 就是上面
|
||||
要求您記住的行號(頂端行號,底端行號),而 TEST 就是選定的文件名。
|
||||
|
||||
+4
-1
@@ -4,16 +4,19 @@
|
||||
# Translators: This is the Application Name used in the Vim desktop file
|
||||
Name[de]=Vim
|
||||
Name[eo]=Vim
|
||||
Name[tr]=Vim
|
||||
Name=Vim
|
||||
# Translators: This is the Generic Application Name used in the Vim desktop file
|
||||
GenericName[de]=Texteditor
|
||||
GenericName[eo]=Tekstoredaktilo
|
||||
GenericName[ja]=テキストエディタ
|
||||
GenericName[tr]=Metin Düzenleyici
|
||||
GenericName=Text Editor
|
||||
# Translators: This is the comment used in the Vim desktop file
|
||||
Comment[de]=Textdateien bearbeiten
|
||||
Comment[eo]=Redakti tekstajn dosierojn
|
||||
Comment[ja]=テキストファイルを編集します
|
||||
Comment[tr]=Metin dosyaları düzenle
|
||||
Comment=Edit text files
|
||||
# The translations should come from the po file. Leave them here for now, they will
|
||||
# be overwritten by the po file when generating the desktop.file.
|
||||
@@ -81,7 +84,6 @@ Comment[sv]=Redigera textfiler
|
||||
Comment[ta]=உரை கோப்புகளை தொகுக்கவும்
|
||||
Comment[th]=แก้ไขแฟ้มข้อความ
|
||||
Comment[tk]=Metin faýllary editle
|
||||
Comment[tr]=Metin dosyalarını düzenle
|
||||
Comment[uk]=Редактор текстових файлів
|
||||
Comment[vi]=Soạn thảo tập tin văn bản
|
||||
Comment[wa]=Asspougnî des fitchîs tecses
|
||||
@@ -95,6 +97,7 @@ Type=Application
|
||||
Keywords[de]=Text;Editor;
|
||||
Keywords[eo]=Teksto;redaktilo;
|
||||
Keywords[ja]=テキスト;エディタ;
|
||||
Keywords[tr]=Metin;düzenleyici;
|
||||
Keywords=Text;editor;
|
||||
# Translators: This is the Icon file name. Do NOT translate
|
||||
Icon[de]=gvim
|
||||
|
||||
+1
-1
@@ -240,7 +240,7 @@ from CVS mirror ftp://ftp.polarhome.com/pub/cvs/SOURCE/
|
||||
7.1 General notes
|
||||
|
||||
To be able to build external GUI or language support you have to enable
|
||||
related feature in MAKE_VMS.MMS file. Usually it need some extra tuning
|
||||
related feature in MAKE_VMS.MMS file. Usually it needs some extra tuning
|
||||
around include files, shared libraries etc.
|
||||
|
||||
Please note, that leading "," are valuable for MMS/MMK syntax.
|
||||
|
||||
+4
-2
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="14113" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15400" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment version="1060" identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="14113"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15400"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
|
||||
@@ -194,6 +194,7 @@
|
||||
</menu>
|
||||
</menuItem>
|
||||
</items>
|
||||
<point key="canvasLocation" x="139" y="154"/>
|
||||
</menu>
|
||||
<customObject id="235" userLabel="MMAppController" customClass="MMAppController"/>
|
||||
<menu id="337" userLabel="DockMenu">
|
||||
@@ -205,6 +206,7 @@
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
<point key="canvasLocation" x="139" y="67"/>
|
||||
</menu>
|
||||
<customObject id="Jqk-qh-n0J" customClass="SUUpdater"/>
|
||||
</objects>
|
||||
|
||||
@@ -1255,7 +1255,7 @@
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>158</string>
|
||||
<string>161</string>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NSAllowsArbitraryLoads</key>
|
||||
|
||||
@@ -2283,7 +2283,7 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
mods &= ~MOD_MASK_SHIFT;
|
||||
|
||||
// Interpret the ALT key as making the key META, include SHIFT, etc.
|
||||
ch = extract_modifiers(ch, &mods);
|
||||
ch = extract_modifiers(ch, &mods, TRUE, NULL);
|
||||
if (ch == CSI)
|
||||
ch = K_CSI;
|
||||
|
||||
@@ -3189,7 +3189,7 @@ extern GuiFont gui_mch_retain_font(GuiFont font);
|
||||
char_u *ptr = NULL;
|
||||
char_u *cpo_save = p_cpo;
|
||||
p_cpo = (char_u *)"Bk";
|
||||
char_u *str = replace_termcodes((char_u *)string, &ptr, FALSE, TRUE, FALSE);
|
||||
char_u *str = replace_termcodes((char_u *)string, &ptr, REPTERM_DO_LT, NULL);
|
||||
p_cpo = cpo_save;
|
||||
|
||||
if (*ptr != NUL) /* trailing CTRL-V results in nothing */
|
||||
|
||||
@@ -1028,6 +1028,38 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
|
||||
- (void)setCursor
|
||||
{
|
||||
static NSCursor *ibeamCursor = nil;
|
||||
|
||||
if (!ibeamCursor) {
|
||||
if (floor(NSAppKitVersionNumber) >= NSAppKitVersionNumber10_14)
|
||||
{
|
||||
// macOS 10.14 (Mojave) introduced dark mode, and seems to have
|
||||
// added a thick white border around the system I-beam cursor,
|
||||
// which makes it legible across bright and dark background. Just
|
||||
// use it.
|
||||
ibeamCursor = [NSCursor IBeamCursor];
|
||||
}
|
||||
else
|
||||
{
|
||||
// Pre-Mojave versions the I-beam cursors doesn't have the strong
|
||||
// white background and is hard to read on dark background. Use a
|
||||
// custom I-beam cursor that has better contrast against dark
|
||||
// backgrounds.
|
||||
NSImage *ibeamImage = [NSImage imageNamed:@"ibeam"];
|
||||
if (ibeamImage) {
|
||||
NSSize size = [ibeamImage size];
|
||||
NSPoint hotSpot = { size.width*.5f, size.height*.5f };
|
||||
|
||||
ibeamCursor = [[NSCursor alloc]
|
||||
initWithImage:ibeamImage hotSpot:hotSpot];
|
||||
}
|
||||
if (!ibeamCursor) {
|
||||
ASLogWarn(@"Failed to load custom Ibeam cursor");
|
||||
ibeamCursor = [NSCursor IBeamCursor];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This switch should match mshape_names[] in misc2.c.
|
||||
//
|
||||
// We don't fill every shape here. Only the ones that make sense and have
|
||||
@@ -1037,7 +1069,7 @@ KeyboardInputSourcesEqual(TISInputSourceRef a, TISInputSourceRef b)
|
||||
[[NSCursor arrowCursor] set]; break;
|
||||
//case 1: // blank
|
||||
case 2: // beam
|
||||
[[NSCursor IBeamCursor] set]; break;
|
||||
[ibeamCursor set]; break;
|
||||
case 3: // updown
|
||||
case 4: // udsizing
|
||||
[[NSCursor resizeUpDownCursor] set]; break;
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.automation.apple-events</key>
|
||||
<true/>
|
||||
<key>com.apple.security.cs.disable-library-validation</key>
|
||||
<true/>
|
||||
<key>com.apple.security.get-task-allow</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -48,6 +48,9 @@
|
||||
#ifndef NSAppKitVersionNumber10_13
|
||||
# define NSAppKitVersionNumber10_13 1561
|
||||
#endif
|
||||
#ifndef NSAppKitVersionNumber10_14
|
||||
# define NSAppKitVersionNumber10_14 1671
|
||||
#endif
|
||||
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_12
|
||||
// Deprecated constants in 10.12 SDK
|
||||
|
||||
@@ -53,6 +53,7 @@
|
||||
1DCD00D30E50B2B700460166 /* Undo.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DCD00BE0E50B2B700460166 /* Undo.png */; };
|
||||
1DD04DEC0C529C5E006CDC2B /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 1DD04DEB0C529C5E006CDC2B /* Credits.rtf */; };
|
||||
1DD0C20C0C60FFB4008CD84A /* gvimrc in Copy Vim Runtime Files */ = {isa = PBXBuildFile; fileRef = 1DD0C20A0C60FF9A008CD84A /* gvimrc */; };
|
||||
1DD3D51E0D82D4C9006E4320 /* ibeam.png in Resources */ = {isa = PBXBuildFile; fileRef = 1DD3D51D0D82D4C9006E4320 /* ibeam.png */; };
|
||||
1DD66ECE0C803D3600EBDAB3 /* MMApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DD66ECC0C803D3600EBDAB3 /* MMApplication.m */; };
|
||||
1DD9F5E50C85D60500E8D5A5 /* SystemColors.plist in Resources */ = {isa = PBXBuildFile; fileRef = 1DD9F5E40C85D60500E8D5A5 /* SystemColors.plist */; };
|
||||
1DE3F8E70D50F80500052B9E /* Preferences.nib in Resources */ = {isa = PBXBuildFile; fileRef = 1DE3F8E50D50F80500052B9E /* Preferences.nib */; };
|
||||
@@ -228,6 +229,7 @@
|
||||
1DCD00BE0E50B2B700460166 /* Undo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Undo.png; path = Toolbar/Undo.png; sourceTree = "<group>"; };
|
||||
1DD04DEB0C529C5E006CDC2B /* Credits.rtf */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; path = Credits.rtf; sourceTree = "<group>"; };
|
||||
1DD0C20A0C60FF9A008CD84A /* gvimrc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = gvimrc; sourceTree = "<group>"; };
|
||||
1DD3D51D0D82D4C9006E4320 /* ibeam.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ibeam.png; sourceTree = "<group>"; };
|
||||
1DD66ECB0C803D3600EBDAB3 /* MMApplication.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = MMApplication.h; sourceTree = "<group>"; };
|
||||
1DD66ECC0C803D3600EBDAB3 /* MMApplication.m */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.objc; path = MMApplication.m; sourceTree = "<group>"; };
|
||||
1DD9F5E40C85D60500E8D5A5 /* SystemColors.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = SystemColors.plist; sourceTree = "<group>"; };
|
||||
@@ -554,6 +556,7 @@
|
||||
1D8BEA73104992290069B072 /* FindAndReplace.nib */,
|
||||
0395A8A90D72D88B00881434 /* General.png */,
|
||||
1D22374A0E45DF4800E6FFFF /* Advanced.png */,
|
||||
1DD3D51D0D82D4C9006E4320 /* ibeam.png */,
|
||||
1D0F11480D58C77800D5DA09 /* Font */,
|
||||
1DE9726C0C48050600F96A9F /* Toolbar */,
|
||||
1DD9F5E40C85D60500E8D5A5 /* SystemColors.plist */,
|
||||
@@ -842,6 +845,7 @@
|
||||
1DD9F5E50C85D60500E8D5A5 /* SystemColors.plist in Resources */,
|
||||
1DE3F8E70D50F80500052B9E /* Preferences.nib in Resources */,
|
||||
0395A8AA0D72D88B00881434 /* General.png in Resources */,
|
||||
1DD3D51E0D82D4C9006E4320 /* ibeam.png in Resources */,
|
||||
1D22374B0E45DF4800E6FFFF /* Advanced.png in Resources */,
|
||||
1DCD00BF0E50B2B700460166 /* Attention.png in Resources */,
|
||||
1DCD00C00E50B2B700460166 /* Copy.png in Resources */,
|
||||
|
||||
@@ -335,7 +335,7 @@ shouldUseBufferedDrawing()
|
||||
int
|
||||
getCurrentAppearance(NSAppearance *appearance){
|
||||
int flag = 0; // for macOS 10.13 or eariler always return 0;
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_14
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_14
|
||||
if (@available(macOS 10.14, *)) {
|
||||
NSAppearanceName appearanceName = [appearance bestMatchFromAppearancesWithNames:
|
||||
@[NSAppearanceNameAqua
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
//
|
||||
// SPUDownloadData.h
|
||||
// Sparkle
|
||||
//
|
||||
// Created by Mayur Pawashe on 8/10/16.
|
||||
// Copyright © 2016 Sparkle Project. All rights reserved.
|
||||
//
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
|
||||
#import "SUExport.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/*!
|
||||
* A class for containing downloaded data along with some information about it.
|
||||
*/
|
||||
SU_EXPORT @interface SPUDownloadData : NSObject <NSSecureCoding>
|
||||
|
||||
- (instancetype)initWithData:(NSData *)data textEncodingName:(NSString * _Nullable)textEncodingName MIMEType:(NSString * _Nullable)MIMEType;
|
||||
|
||||
/*!
|
||||
* The raw data that was downloaded.
|
||||
*/
|
||||
@property (nonatomic, readonly) NSData *data;
|
||||
|
||||
/*!
|
||||
* The IANA charset encoding name if available. Eg: "utf-8"
|
||||
*/
|
||||
@property (nonatomic, readonly, nullable, copy) NSString *textEncodingName;
|
||||
|
||||
/*!
|
||||
* The MIME type if available. Eg: "text/plain"
|
||||
*/
|
||||
@property (nonatomic, readonly, nullable, copy) NSString *MIMEType;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,25 @@
|
||||
//
|
||||
// SPUDownloader.h
|
||||
// Downloader
|
||||
//
|
||||
// Created by Mayur Pawashe on 4/1/16.
|
||||
// Copyright © 2016 Sparkle Project. All rights reserved.
|
||||
//
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
#import "SPUDownloaderProtocol.h"
|
||||
|
||||
@protocol SPUDownloaderDelegate;
|
||||
|
||||
// This object implements the protocol which we have defined. It provides the actual behavior for the service. It is 'exported' by the service to make it available to the process hosting the service over an NSXPCConnection.
|
||||
@interface SPUDownloader : NSObject <SPUDownloaderProtocol>
|
||||
|
||||
// Due to XPC remote object reasons, this delegate is strongly referenced
|
||||
// Invoke cleanup when done with this instance
|
||||
- (instancetype)initWithDelegate:(id <SPUDownloaderDelegate>)delegate;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,38 @@
|
||||
//
|
||||
// SPUDownloaderDelegate.h
|
||||
// Sparkle
|
||||
//
|
||||
// Created by Mayur Pawashe on 4/1/16.
|
||||
// Copyright © 2016 Sparkle Project. All rights reserved.
|
||||
//
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class SPUDownloadData;
|
||||
|
||||
@protocol SPUDownloaderDelegate <NSObject>
|
||||
|
||||
// This is only invoked for persistent downloads
|
||||
- (void)downloaderDidSetDestinationName:(NSString *)destinationName temporaryDirectory:(NSString *)temporaryDirectory;
|
||||
|
||||
// Under rare cases, this may be called more than once, in which case the current progress should be reset back to 0
|
||||
// This is only invoked for persistent downloads
|
||||
- (void)downloaderDidReceiveExpectedContentLength:(int64_t)expectedContentLength;
|
||||
|
||||
// This is only invoked for persistent downloads
|
||||
- (void)downloaderDidReceiveDataOfLength:(uint64_t)length;
|
||||
|
||||
// downloadData is nil if this is a persisent download, otherwise it's non-nil if it's a temporary download
|
||||
- (void)downloaderDidFinishWithTemporaryDownloadData:(SPUDownloadData * _Nullable)downloadData;
|
||||
|
||||
- (void)downloaderDidFailWithError:(NSError *)error;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,13 @@
|
||||
//
|
||||
// SPUDownloaderDeprecated.h
|
||||
// Sparkle
|
||||
//
|
||||
// Created by Deadpikle on 12/20/17.
|
||||
// Copyright © 2017 Sparkle Project. All rights reserved.
|
||||
//
|
||||
|
||||
#import "SPUDownloader.h"
|
||||
|
||||
@interface SPUDownloaderDeprecated : SPUDownloader <SPUDownloaderProtocol>
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,34 @@
|
||||
//
|
||||
// SPUDownloaderProtocol.h
|
||||
// PersistentDownloader
|
||||
//
|
||||
// Created by Mayur Pawashe on 4/1/16.
|
||||
// Copyright © 2016 Sparkle Project. All rights reserved.
|
||||
//
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class SPUURLRequest;
|
||||
|
||||
// The protocol that this service will vend as its API. This header file will also need to be visible to the process hosting the service.
|
||||
@protocol SPUDownloaderProtocol
|
||||
|
||||
- (void)startPersistentDownloadWithRequest:(SPUURLRequest *)request bundleIdentifier:(NSString *)bundleIdentifier desiredFilename:(NSString *)desiredFilename;
|
||||
|
||||
- (void)startTemporaryDownloadWithRequest:(SPUURLRequest *)request;
|
||||
|
||||
- (void)downloadDidFinish;
|
||||
|
||||
- (void)cleanup;
|
||||
|
||||
- (void)cancel;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -0,0 +1,20 @@
|
||||
//
|
||||
// SPUDownloaderSession.h
|
||||
// Sparkle
|
||||
//
|
||||
// Created by Deadpikle on 12/20/17.
|
||||
// Copyright © 2017 Sparkle Project. All rights reserved.
|
||||
//
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
#import "SPUDownloader.h"
|
||||
#import "SPUDownloaderProtocol.h"
|
||||
|
||||
NS_CLASS_AVAILABLE(NSURLSESSION_AVAILABLE, 7_0)
|
||||
@interface SPUDownloaderSession : SPUDownloader <SPUDownloaderProtocol>
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,35 @@
|
||||
//
|
||||
// SPUURLRequest.h
|
||||
// Sparkle
|
||||
//
|
||||
// Created by Mayur Pawashe on 5/19/16.
|
||||
// Copyright © 2016 Sparkle Project. All rights reserved.
|
||||
//
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
// A class that wraps NSURLRequest and implements NSSecureCoding
|
||||
// This class exists because NSURLRequest did not support NSSecureCoding in macOS 10.8
|
||||
// I have not verified if NSURLRequest in 10.9 implements NSSecureCoding or not
|
||||
@interface SPUURLRequest : NSObject <NSSecureCoding>
|
||||
|
||||
// Creates a new URL request
|
||||
// Only these properties are currently tracked:
|
||||
// * URL
|
||||
// * Cache policy
|
||||
// * Timeout interval
|
||||
// * HTTP header fields
|
||||
// * networkServiceType
|
||||
+ (instancetype)URLRequestWithRequest:(NSURLRequest *)request;
|
||||
|
||||
@property (nonatomic, readonly) NSURLRequest *request;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -9,18 +9,27 @@
|
||||
#ifndef SUAPPCAST_H
|
||||
#define SUAPPCAST_H
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
#import "SUExport.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@class SUAppcastItem;
|
||||
SU_EXPORT @interface SUAppcast : NSObject<NSURLDownloadDelegate>
|
||||
SU_EXPORT @interface SUAppcast : NSObject
|
||||
|
||||
@property (copy) NSString *userAgentString;
|
||||
@property (copy) NSDictionary *httpHeaders;
|
||||
@property (copy, nullable) NSString *userAgentString;
|
||||
@property (copy, nullable) NSDictionary<NSString *, NSString *> *httpHeaders;
|
||||
|
||||
- (void)fetchAppcastFromURL:(NSURL *)url completionBlock:(void (^)(NSError *))err;
|
||||
- (void)fetchAppcastFromURL:(NSURL *)url inBackground:(BOOL)bg completionBlock:(void (^)(NSError *_Nullable))err;
|
||||
- (SUAppcast *)copyWithoutDeltaUpdates;
|
||||
|
||||
@property (readonly, copy) NSArray *items;
|
||||
@property (readonly, copy, nullable) NSArray *items;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
#endif
|
||||
|
||||
@@ -9,22 +9,31 @@
|
||||
#ifndef SUAPPCASTITEM_H
|
||||
#define SUAPPCASTITEM_H
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
#import "SUExport.h"
|
||||
@class SUSignatures;
|
||||
|
||||
SU_EXPORT @interface SUAppcastItem : NSObject
|
||||
@property (copy, readonly) NSString *title;
|
||||
@property (copy, readonly) NSString *dateString;
|
||||
@property (copy, readonly) NSDate *date;
|
||||
@property (copy, readonly) NSString *itemDescription;
|
||||
@property (strong, readonly) NSURL *releaseNotesURL;
|
||||
@property (copy, readonly) NSString *DSASignature;
|
||||
@property (strong, readonly) SUSignatures *signatures;
|
||||
@property (copy, readonly) NSString *minimumSystemVersion;
|
||||
@property (copy, readonly) NSString *maximumSystemVersion;
|
||||
@property (strong, readonly) NSURL *fileURL;
|
||||
@property (nonatomic, readonly) uint64_t contentLength;
|
||||
@property (copy, readonly) NSString *versionString;
|
||||
@property (copy, readonly) NSString *osString;
|
||||
@property (copy, readonly) NSString *displayVersionString;
|
||||
@property (copy, readonly) NSDictionary *deltaUpdates;
|
||||
@property (strong, readonly) NSURL *infoURL;
|
||||
@property (copy, readonly) NSNumber* phasedRolloutInterval;
|
||||
|
||||
// Initializes with data from a dictionary provided by the RSS class.
|
||||
- (instancetype)initWithDictionary:(NSDictionary *)dict;
|
||||
@@ -32,6 +41,7 @@ SU_EXPORT @interface SUAppcastItem : NSObject
|
||||
|
||||
@property (getter=isDeltaUpdate, readonly) BOOL deltaUpdate;
|
||||
@property (getter=isCriticalUpdate, readonly) BOOL criticalUpdate;
|
||||
@property (getter=isMacOsUpdate, readonly) BOOL macOsUpdate;
|
||||
@property (getter=isInformationOnlyUpdate, readonly) BOOL informationOnlyUpdate;
|
||||
|
||||
// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
//
|
||||
// SUCodeSigningVerifier.h
|
||||
// Sparkle
|
||||
//
|
||||
// Created by Andy Matuschak on 7/5/12.
|
||||
//
|
||||
//
|
||||
|
||||
#ifndef SUCODESIGNINGVERIFIER_H
|
||||
#define SUCODESIGNINGVERIFIER_H
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
#import "SUExport.h"
|
||||
|
||||
SU_EXPORT @interface SUCodeSigningVerifier : NSObject
|
||||
+ (BOOL)codeSignatureAtBundleURL:(NSURL *)oldBundlePath matchesSignatureAtBundleURL:(NSURL *)newBundlePath error:(NSError **)error;
|
||||
+ (BOOL)codeSignatureIsValidAtBundleURL:(NSURL *)bundlePath error:(NSError **)error;
|
||||
+ (BOOL)bundleAtURLIsCodeSigned:(NSURL *)bundlePath;
|
||||
+ (NSDictionary *)codeSignatureInfoAtBundleURL:(NSURL *)bundlePath;
|
||||
@end
|
||||
|
||||
#endif
|
||||
@@ -9,7 +9,11 @@
|
||||
#ifndef SUERRORS_H
|
||||
#define SUERRORS_H
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
#import "SUExport.h"
|
||||
|
||||
/**
|
||||
@@ -17,16 +21,20 @@
|
||||
*/
|
||||
SU_EXPORT extern NSString *const SUSparkleErrorDomain;
|
||||
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wc++98-compat"
|
||||
typedef NS_ENUM(OSStatus, SUError) {
|
||||
// Appcast phase errors.
|
||||
SUAppcastParseError = 1000,
|
||||
SUNoUpdateError = 1001,
|
||||
SUAppcastError = 1002,
|
||||
SURunningFromDiskImageError = 1003,
|
||||
|
||||
// Downlaod phase errors.
|
||||
SURunningTranslocated = 1004,
|
||||
|
||||
// Download phase errors.
|
||||
SUTemporaryDirectoryError = 2000,
|
||||
|
||||
SUDownloadError = 2001,
|
||||
|
||||
// Extraction phase errors.
|
||||
SUUnarchivingError = 3000,
|
||||
SUSignatureError = 3001,
|
||||
@@ -39,9 +47,11 @@ typedef NS_ENUM(OSStatus, SUError) {
|
||||
SURelaunchError = 4004,
|
||||
SUInstallationError = 4005,
|
||||
SUDowngradeError = 4006,
|
||||
SUInstallationCancelledError = 4007,
|
||||
|
||||
// System phase errors
|
||||
SUSystemPowerOffError = 5000
|
||||
};
|
||||
#pragma clang diagnostic pop
|
||||
|
||||
#endif
|
||||
|
||||
@@ -9,10 +9,16 @@
|
||||
#ifndef SUSTANDARDVERSIONCOMPARATOR_H
|
||||
#define SUSTANDARDVERSIONCOMPARATOR_H
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
#import "SUExport.h"
|
||||
#import "SUVersionComparisonProtocol.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/*!
|
||||
Sparkle's default version comparator.
|
||||
|
||||
@@ -22,8 +28,15 @@
|
||||
*/
|
||||
SU_EXPORT @interface SUStandardVersionComparator : NSObject <SUVersionComparison>
|
||||
|
||||
/*!
|
||||
Initializes a new instance of the standard version comparator.
|
||||
*/
|
||||
- (instancetype)init;
|
||||
|
||||
/*!
|
||||
Returns a singleton instance of the comparator.
|
||||
|
||||
It is usually preferred to alloc/init new a comparator instead.
|
||||
*/
|
||||
+ (SUStandardVersionComparator *)defaultComparator;
|
||||
|
||||
@@ -35,4 +48,5 @@ SU_EXPORT @interface SUStandardVersionComparator : NSObject <SUVersionComparison
|
||||
- (NSComparisonResult)compareVersion:(NSString *)versionA toVersion:(NSString *)versionB;
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
#endif
|
||||
|
||||
@@ -9,12 +9,16 @@
|
||||
#ifndef SUUPDATER_H
|
||||
#define SUUPDATER_H
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#if __has_feature(modules)
|
||||
@import Cocoa;
|
||||
#else
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#endif
|
||||
#import "SUExport.h"
|
||||
#import "SUVersionComparisonProtocol.h"
|
||||
#import "SUVersionDisplayProtocol.h"
|
||||
|
||||
@class SUUpdateDriver, SUAppcastItem, SUHost, SUAppcast;
|
||||
@class SUAppcastItem, SUAppcast;
|
||||
|
||||
@protocol SUUpdaterDelegate;
|
||||
|
||||
@@ -28,60 +32,173 @@ SU_EXPORT @interface SUUpdater : NSObject
|
||||
|
||||
@property (unsafe_unretained) IBOutlet id<SUUpdaterDelegate> delegate;
|
||||
|
||||
/*!
|
||||
The shared updater for the main bundle.
|
||||
|
||||
This is equivalent to passing [NSBundle mainBundle] to SUUpdater::updaterForBundle:
|
||||
*/
|
||||
+ (SUUpdater *)sharedUpdater;
|
||||
|
||||
/*!
|
||||
The shared updater for a specified bundle.
|
||||
|
||||
If an updater has already been initialized for the provided bundle, that shared instance will be returned.
|
||||
*/
|
||||
+ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
|
||||
|
||||
/*!
|
||||
Designated initializer for SUUpdater.
|
||||
|
||||
If an updater has already been initialized for the provided bundle, that shared instance will be returned.
|
||||
*/
|
||||
- (instancetype)initForBundle:(NSBundle *)bundle;
|
||||
|
||||
@property (readonly, strong) NSBundle *hostBundle;
|
||||
@property (strong, readonly) NSBundle *sparkleBundle;
|
||||
|
||||
@property BOOL automaticallyChecksForUpdates;
|
||||
|
||||
@property NSTimeInterval updateCheckInterval;
|
||||
|
||||
/*!
|
||||
* The URL of the appcast used to download update information.
|
||||
*
|
||||
* This property must be called on the main thread.
|
||||
*/
|
||||
@property (copy) NSURL *feedURL;
|
||||
Explicitly checks for updates and displays a progress dialog while doing so.
|
||||
|
||||
@property (nonatomic, copy) NSString *userAgentString;
|
||||
This method is meant for a main menu item.
|
||||
Connect any menu item to this action in Interface Builder,
|
||||
and Sparkle will check for updates and report back its findings verbosely
|
||||
when it is invoked.
|
||||
|
||||
@property (copy) NSDictionary *httpHeaders;
|
||||
|
||||
@property BOOL sendsSystemProfile;
|
||||
|
||||
@property BOOL automaticallyDownloadsUpdates;
|
||||
|
||||
/*!
|
||||
Explicitly checks for updates and displays a progress dialog while doing so.
|
||||
|
||||
This method is meant for a main menu item.
|
||||
Connect any menu item to this action in Interface Builder,
|
||||
and Sparkle will check for updates and report back its findings verbosely
|
||||
when it is invoked.
|
||||
This will find updates that the user has opted into skipping.
|
||||
*/
|
||||
- (IBAction)checkForUpdates:(id)sender;
|
||||
|
||||
/*!
|
||||
Checks for updates, but does not display any UI unless an update is found.
|
||||
The menu item validation used for the -checkForUpdates: action
|
||||
*/
|
||||
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem;
|
||||
|
||||
This is meant for programmatically initating a check for updates. That is,
|
||||
it will display no UI unless it actually finds an update, in which case it
|
||||
proceeds as usual.
|
||||
/*!
|
||||
Checks for updates, but does not display any UI unless an update is found.
|
||||
|
||||
If the fully automated updating is turned on, however, this will invoke that
|
||||
behavior, and if an update is found, it will be downloaded and prepped for
|
||||
installation.
|
||||
This is meant for programmatically initating a check for updates. That is,
|
||||
it will display no UI unless it actually finds an update, in which case it
|
||||
proceeds as usual.
|
||||
|
||||
If automatic downloading of updates it turned on and allowed, however,
|
||||
this will invoke that behavior, and if an update is found, it will be downloaded
|
||||
in the background silently and will be prepped for installation.
|
||||
|
||||
This will not find updates that the user has opted into skipping.
|
||||
*/
|
||||
- (void)checkForUpdatesInBackground;
|
||||
|
||||
/*!
|
||||
Checks for updates and, if available, immediately downloads and installs them.
|
||||
A property indicating whether or not to check for updates automatically.
|
||||
|
||||
Setting this property will persist in the host bundle's user defaults.
|
||||
The update schedule cycle will be reset in a short delay after the property's new value is set.
|
||||
This is to allow reverting this property without kicking off a schedule change immediately
|
||||
*/
|
||||
@property BOOL automaticallyChecksForUpdates;
|
||||
|
||||
/*!
|
||||
A property indicating whether or not updates can be automatically downloaded in the background.
|
||||
|
||||
Note that automatic downloading of updates can be disallowed by the developer
|
||||
or by the user's system if silent updates cannot be done (eg: if they require authentication).
|
||||
In this case, -automaticallyDownloadsUpdates will return NO regardless of how this property is set.
|
||||
|
||||
Setting this property will persist in the host bundle's user defaults.
|
||||
*/
|
||||
@property BOOL automaticallyDownloadsUpdates;
|
||||
|
||||
/*!
|
||||
A property indicating the current automatic update check interval.
|
||||
|
||||
Setting this property will persist in the host bundle's user defaults.
|
||||
The update schedule cycle will be reset in a short delay after the property's new value is set.
|
||||
This is to allow reverting this property without kicking off a schedule change immediately
|
||||
*/
|
||||
@property NSTimeInterval updateCheckInterval;
|
||||
|
||||
/*!
|
||||
Begins a "probing" check for updates which will not actually offer to
|
||||
update to that version.
|
||||
|
||||
However, the delegate methods
|
||||
SUUpdaterDelegate::updater:didFindValidUpdate: and
|
||||
SUUpdaterDelegate::updaterDidNotFindUpdate: will be called,
|
||||
so you can use that information in your UI.
|
||||
|
||||
Updates that have been skipped by the user will not be found.
|
||||
*/
|
||||
- (void)checkForUpdateInformation;
|
||||
|
||||
/*!
|
||||
The URL of the appcast used to download update information.
|
||||
|
||||
Setting this property will persist in the host bundle's user defaults.
|
||||
If you don't want persistence, you may want to consider instead implementing
|
||||
SUUpdaterDelegate::feedURLStringForUpdater: or SUUpdaterDelegate::feedParametersForUpdater:sendingSystemProfile:
|
||||
|
||||
This property must be called on the main thread.
|
||||
*/
|
||||
@property (copy) NSURL *feedURL;
|
||||
|
||||
/*!
|
||||
The host bundle that is being updated.
|
||||
*/
|
||||
@property (readonly, strong) NSBundle *hostBundle;
|
||||
|
||||
/*!
|
||||
The bundle this class (SUUpdater) is loaded into.
|
||||
*/
|
||||
@property (strong, readonly) NSBundle *sparkleBundle;
|
||||
|
||||
/*!
|
||||
The user agent used when checking for updates.
|
||||
|
||||
The default implementation can be overrided.
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *userAgentString;
|
||||
|
||||
/*!
|
||||
The HTTP headers used when checking for updates.
|
||||
|
||||
The keys of this dictionary are HTTP header fields (NSString) and values are corresponding values (NSString)
|
||||
*/
|
||||
@property (copy) NSDictionary<NSString *, NSString *> *httpHeaders;
|
||||
|
||||
/*!
|
||||
A property indicating whether or not the user's system profile information is sent when checking for updates.
|
||||
|
||||
Setting this property will persist in the host bundle's user defaults.
|
||||
*/
|
||||
@property BOOL sendsSystemProfile;
|
||||
|
||||
/*!
|
||||
A property indicating the decryption password used for extracting updates shipped as Apple Disk Images (dmg)
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *decryptionPassword;
|
||||
|
||||
/*!
|
||||
This function ignores normal update schedule, ignores user preferences,
|
||||
and interrupts users with an unwanted immediate app update.
|
||||
|
||||
WARNING: this function should not be used in regular apps. This function
|
||||
is a user-unfriendly hack only for very special cases, like unstable
|
||||
rapidly-changing beta builds that would not run correctly if they were
|
||||
even one day out of date.
|
||||
|
||||
Instead of this function you should set `SUAutomaticallyUpdate` to `YES`,
|
||||
which will gracefully install updates when the app quits.
|
||||
|
||||
For UI-less/daemon apps that aren't usually quit, instead of this function,
|
||||
you can use the delegate method
|
||||
SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationInvocation:
|
||||
or
|
||||
SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationBlock:
|
||||
to immediately start installation when an update was found.
|
||||
|
||||
A progress dialog is shown but the user will never be prompted to read the
|
||||
release notes.
|
||||
|
||||
|
||||
This function will cause update to be downloaded twice if automatic updates are
|
||||
enabled.
|
||||
|
||||
You may want to respond to the userDidCancelDownload delegate method in case
|
||||
the user clicks the "Cancel" button while the update is downloading.
|
||||
*/
|
||||
@@ -94,17 +211,6 @@ SU_EXPORT @interface SUUpdater : NSObject
|
||||
*/
|
||||
@property (readonly, copy) NSDate *lastUpdateCheckDate;
|
||||
|
||||
/*!
|
||||
Begins a "probing" check for updates which will not actually offer to
|
||||
update to that version.
|
||||
|
||||
However, the delegate methods
|
||||
SUUpdaterDelegate::updater:didFindValidUpdate: and
|
||||
SUUpdaterDelegate::updaterDidNotFindUpdate: will be called,
|
||||
so you can use that information in your UI.
|
||||
*/
|
||||
- (void)checkForUpdateInformation;
|
||||
|
||||
/*!
|
||||
Appropriately schedules or cancels the update checking timer according to
|
||||
the preferences for time interval and automatic checks.
|
||||
@@ -114,251 +220,14 @@ SU_EXPORT @interface SUUpdater : NSObject
|
||||
*/
|
||||
- (void)resetUpdateCycle;
|
||||
|
||||
/*!
|
||||
A property indicating whether or not an update is in progress.
|
||||
|
||||
Note this property is not indicative of whether or not user initiated updates can be performed.
|
||||
Use SUUpdater::validateMenuItem: for that instead.
|
||||
*/
|
||||
@property (readonly) BOOL updateInProgress;
|
||||
|
||||
@end
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// SUUpdater Notifications for events that might be interesting to more than just the delegate
|
||||
// The updater will be the notification object
|
||||
// -----------------------------------------------------------------------------
|
||||
SU_EXPORT extern NSString *const SUUpdaterDidFinishLoadingAppCastNotification;
|
||||
SU_EXPORT extern NSString *const SUUpdaterDidFindValidUpdateNotification;
|
||||
SU_EXPORT extern NSString *const SUUpdaterDidNotFindUpdateNotification;
|
||||
SU_EXPORT extern NSString *const SUUpdaterWillRestartNotification;
|
||||
#define SUUpdaterWillRelaunchApplicationNotification SUUpdaterWillRestartNotification;
|
||||
#define SUUpdaterWillInstallUpdateNotification SUUpdaterWillRestartNotification;
|
||||
|
||||
// Key for the SUAppcastItem object in the SUUpdaterDidFindValidUpdateNotification userInfo
|
||||
SU_EXPORT extern NSString *const SUUpdaterAppcastItemNotificationKey;
|
||||
// Key for the SUAppcast object in the SUUpdaterDidFinishLoadingAppCastNotification userInfo
|
||||
SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey;
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// SUUpdater Delegate:
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
/*!
|
||||
Provides methods to control the behavior of an SUUpdater object.
|
||||
*/
|
||||
@protocol SUUpdaterDelegate <NSObject>
|
||||
@optional
|
||||
|
||||
/*!
|
||||
Returns whether to allow Sparkle to pop up.
|
||||
|
||||
For example, this may be used to prevent Sparkle from interrupting a setup assistant.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (BOOL)updaterMayCheckForUpdates:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Returns additional parameters to append to the appcast URL's query string.
|
||||
|
||||
This is potentially based on whether or not Sparkle will also be sending along the system profile.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param sendingProfile Whether the system profile will also be sent.
|
||||
|
||||
\return An array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
|
||||
*/
|
||||
- (NSArray *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
|
||||
|
||||
/*!
|
||||
Returns a custom appcast URL.
|
||||
|
||||
Override this to dynamically specify the entire URL.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (NSString *)feedURLStringForUpdater:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Returns whether Sparkle should prompt the user about automatic update checks.
|
||||
|
||||
Use this to override the default behavior.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called after Sparkle has downloaded the appcast from the remote server.
|
||||
|
||||
Implement this if you want to do some special handling with the appcast once it finishes loading.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param appcast The appcast that was downloaded from the remote server.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
|
||||
|
||||
/*!
|
||||
Returns the item in the appcast corresponding to the update that should be installed.
|
||||
|
||||
If you're using special logic or extensions in your appcast,
|
||||
implement this to use your own logic for finding a valid update, if any,
|
||||
in the given appcast.
|
||||
|
||||
\param appcast The appcast that was downloaded from the remote server.
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called when a valid update is found by the update driver.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that is proposed to be installed.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)item;
|
||||
|
||||
/*!
|
||||
Called when a valid update is not found.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (void)updaterDidNotFindUpdate:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called immediately before downloading the specified update.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that is proposed to be downloaded.
|
||||
\param request The mutable URL request that will be used to download the update.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater willDownloadUpdate:(SUAppcastItem *)item withRequest:(NSMutableURLRequest *)request;
|
||||
|
||||
/*!
|
||||
Called after the specified update failed to download.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that failed to download.
|
||||
\param error The error generated by the failed download.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater failedToDownloadUpdate:(SUAppcastItem *)item error:(NSError *)error;
|
||||
|
||||
/*!
|
||||
Called when the user clicks the cancel button while and update is being downloaded.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (void)userDidCancelDownload:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called immediately before installing the specified update.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that is proposed to be installed.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)item;
|
||||
|
||||
/*!
|
||||
Returns whether the relaunch should be delayed in order to perform other tasks.
|
||||
|
||||
This is not called if the user didn't relaunch on the previous update,
|
||||
in that case it will immediately restart.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that is proposed to be installed.
|
||||
\param invocation The invocation that must be completed before continuing with the relaunch.
|
||||
|
||||
\return \c YES to delay the relaunch until \p invocation is invoked.
|
||||
*/
|
||||
- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item untilInvoking:(NSInvocation *)invocation;
|
||||
|
||||
/*!
|
||||
Returns whether the application should be relaunched at all.
|
||||
|
||||
Some apps \b cannot be relaunched under certain circumstances.
|
||||
This method can be used to explicitly prevent a relaunch.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (BOOL)updaterShouldRelaunchApplication:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called immediately before relaunching.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Returns an object that compares version numbers to determine their arithmetic relation to each other.
|
||||
|
||||
This method allows you to provide a custom version comparator.
|
||||
If you don't implement this method or return \c nil,
|
||||
the standard version comparator will be used.
|
||||
|
||||
\sa SUStandardVersionComparator
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (id<SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Returns an object that formats version numbers for display to the user.
|
||||
|
||||
If you don't implement this method or return \c nil,
|
||||
the standard version formatter will be used.
|
||||
|
||||
\sa SUUpdateAlert
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (id<SUVersionDisplay>)versionDisplayerForUpdater:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Returns the path which is used to relaunch the client after the update is installed.
|
||||
|
||||
The default is the path of the host bundle.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called before an updater shows a modal alert window,
|
||||
to give the host the opportunity to hide attached windows that may get in the way.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (void)updaterWillShowModalAlert:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called after an updater shows a modal alert window,
|
||||
to give the host the opportunity to hide attached windows that may get in the way.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (void)updaterDidShowModalAlert:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called when an update is scheduled to be silently installed on quit.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that is proposed to be installed.
|
||||
\param invocation Can be used to trigger an immediate silent install and relaunch.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationInvocation:(NSInvocation *)invocation;
|
||||
|
||||
/*!
|
||||
Calls after an update that was scheduled to be silently installed on quit has been canceled.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that was proposed to be installed.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)item;
|
||||
|
||||
/*!
|
||||
Called after an update is aborted due to an error.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param error The error that caused the abort
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater didAbortWithError:(NSError *)error;
|
||||
|
||||
@end
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,352 @@
|
||||
//
|
||||
// SUUpdaterDelegate.h
|
||||
// Sparkle
|
||||
//
|
||||
// Created by Mayur Pawashe on 12/25/16.
|
||||
// Copyright © 2016 Sparkle Project. All rights reserved.
|
||||
//
|
||||
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
|
||||
#import "SUExport.h"
|
||||
|
||||
@protocol SUVersionComparison, SUVersionDisplay;
|
||||
@class SUUpdater, SUAppcast, SUAppcastItem;
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// SUUpdater Notifications for events that might be interesting to more than just the delegate
|
||||
// The updater will be the notification object
|
||||
// -----------------------------------------------------------------------------
|
||||
SU_EXPORT extern NSString *const SUUpdaterDidFinishLoadingAppCastNotification;
|
||||
SU_EXPORT extern NSString *const SUUpdaterDidFindValidUpdateNotification;
|
||||
SU_EXPORT extern NSString *const SUUpdaterDidNotFindUpdateNotification;
|
||||
SU_EXPORT extern NSString *const SUUpdaterWillRestartNotification;
|
||||
#define SUUpdaterWillRelaunchApplicationNotification SUUpdaterWillRestartNotification;
|
||||
#define SUUpdaterWillInstallUpdateNotification SUUpdaterWillRestartNotification;
|
||||
|
||||
// Key for the SUAppcastItem object in the SUUpdaterDidFindValidUpdateNotification userInfo
|
||||
SU_EXPORT extern NSString *const SUUpdaterAppcastItemNotificationKey;
|
||||
// Key for the SUAppcast object in the SUUpdaterDidFinishLoadingAppCastNotification userInfo
|
||||
SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey;
|
||||
|
||||
// -----------------------------------------------------------------------------
|
||||
// SUUpdater Delegate:
|
||||
// -----------------------------------------------------------------------------
|
||||
|
||||
/*!
|
||||
Provides methods to control the behavior of an SUUpdater object.
|
||||
*/
|
||||
@protocol SUUpdaterDelegate <NSObject>
|
||||
@optional
|
||||
|
||||
/*!
|
||||
Returns whether to allow Sparkle to pop up.
|
||||
|
||||
For example, this may be used to prevent Sparkle from interrupting a setup assistant.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (BOOL)updaterMayCheckForUpdates:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Returns additional parameters to append to the appcast URL's query string.
|
||||
|
||||
This is potentially based on whether or not Sparkle will also be sending along the system profile.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param sendingProfile Whether the system profile will also be sent.
|
||||
|
||||
\return An array of dictionaries with keys: "key", "value", "displayKey", "displayValue", the latter two being specifically for display to the user.
|
||||
*/
|
||||
- (NSArray<NSDictionary<NSString *, NSString *> *> *)feedParametersForUpdater:(SUUpdater *)updater sendingSystemProfile:(BOOL)sendingProfile;
|
||||
|
||||
/*!
|
||||
Returns a custom appcast URL.
|
||||
|
||||
Override this to dynamically specify the entire URL.
|
||||
|
||||
An alternative may be to use SUUpdaterDelegate::feedParametersForUpdater:sendingSystemProfile:
|
||||
and let the server handle what kind of feed to provide.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (nullable NSString *)feedURLStringForUpdater:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Returns whether Sparkle should prompt the user about automatic update checks.
|
||||
|
||||
Use this to override the default behavior.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (BOOL)updaterShouldPromptForPermissionToCheckForUpdates:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called after Sparkle has downloaded the appcast from the remote server.
|
||||
|
||||
Implement this if you want to do some special handling with the appcast once it finishes loading.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param appcast The appcast that was downloaded from the remote server.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater didFinishLoadingAppcast:(SUAppcast *)appcast;
|
||||
|
||||
/*!
|
||||
Returns the item in the appcast corresponding to the update that should be installed.
|
||||
|
||||
If you're using special logic or extensions in your appcast,
|
||||
implement this to use your own logic for finding a valid update, if any,
|
||||
in the given appcast.
|
||||
|
||||
\param appcast The appcast that was downloaded from the remote server.
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (nullable SUAppcastItem *)bestValidUpdateInAppcast:(SUAppcast *)appcast forUpdater:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called when a valid update is found by the update driver.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that is proposed to be installed.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater didFindValidUpdate:(SUAppcastItem *)item;
|
||||
|
||||
/*!
|
||||
Called just before the scheduled update driver prompts the user to install an update.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
|
||||
\return YES to allow the update prompt to be shown (the default behavior), or NO to suppress it.
|
||||
*/
|
||||
- (BOOL)updaterShouldShowUpdateAlertForScheduledUpdate:(SUUpdater *)updater forItem:(SUAppcastItem *)item;
|
||||
|
||||
/*!
|
||||
Called after the user dismisses the update alert.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param permanently YES if the alert will not appear again for this update; NO if it may reappear.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater didDismissUpdateAlertPermanently:(BOOL)permanently forItem:(SUAppcastItem *)item;
|
||||
|
||||
/*!
|
||||
Called when a valid update is not found.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (void)updaterDidNotFindUpdate:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called when the user clicks the Skip This Version button.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater userDidSkipThisVersion:(SUAppcastItem *)item;
|
||||
|
||||
/*!
|
||||
Called immediately before downloading the specified update.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that is proposed to be downloaded.
|
||||
\param request The mutable URL request that will be used to download the update.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater willDownloadUpdate:(SUAppcastItem *)item withRequest:(NSMutableURLRequest *)request;
|
||||
|
||||
/*!
|
||||
Called immediately after succesfull download of the specified update.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that has been downloaded.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater didDownloadUpdate:(SUAppcastItem *)item;
|
||||
|
||||
/*!
|
||||
Called after the specified update failed to download.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that failed to download.
|
||||
\param error The error generated by the failed download.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater failedToDownloadUpdate:(SUAppcastItem *)item error:(NSError *)error;
|
||||
|
||||
/*!
|
||||
Called when the user clicks the cancel button while and update is being downloaded.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (void)userDidCancelDownload:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called immediately before extracting the specified downloaded update.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that is proposed to be extracted.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater willExtractUpdate:(SUAppcastItem *)item;
|
||||
|
||||
/*!
|
||||
Called immediately after extracting the specified downloaded update.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that has been extracted.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater didExtractUpdate:(SUAppcastItem *)item;
|
||||
|
||||
/*!
|
||||
Called immediately before installing the specified update.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that is proposed to be installed.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater willInstallUpdate:(SUAppcastItem *)item;
|
||||
|
||||
/*!
|
||||
Returns whether the relaunch should be delayed in order to perform other tasks.
|
||||
|
||||
This is not called if the user didn't relaunch on the previous update,
|
||||
in that case it will immediately restart.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that is proposed to be installed.
|
||||
\param invocation The invocation that must be completed with `[invocation invoke]` before continuing with the relaunch.
|
||||
|
||||
\return \c YES to delay the relaunch until \p invocation is invoked.
|
||||
*/
|
||||
- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item untilInvoking:(NSInvocation *)invocation;
|
||||
|
||||
/*!
|
||||
Returns whether the relaunch should be delayed in order to perform other tasks.
|
||||
|
||||
This is not called if the user didn't relaunch on the previous update,
|
||||
in that case it will immediately restart.
|
||||
|
||||
This method acts as a simpler alternative to SUUpdaterDelegate::updater:shouldPostponeRelaunchForUpdate:untilInvoking: avoiding usage of NSInvocation, which is not available in Swift environments.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that is proposed to be installed.
|
||||
|
||||
\return \c YES to delay the relaunch.
|
||||
*/
|
||||
- (BOOL)updater:(SUUpdater *)updater shouldPostponeRelaunchForUpdate:(SUAppcastItem *)item;
|
||||
|
||||
/*!
|
||||
Returns whether the application should be relaunched at all.
|
||||
|
||||
Some apps \b cannot be relaunched under certain circumstances.
|
||||
This method can be used to explicitly prevent a relaunch.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (BOOL)updaterShouldRelaunchApplication:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called immediately before relaunching.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (void)updaterWillRelaunchApplication:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called immediately after relaunching. SUUpdater delegate must be set before applicationDidFinishLaunching: to catch this event.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (void)updaterDidRelaunchApplication:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Returns an object that compares version numbers to determine their arithmetic relation to each other.
|
||||
|
||||
This method allows you to provide a custom version comparator.
|
||||
If you don't implement this method or return \c nil,
|
||||
the standard version comparator will be used.
|
||||
|
||||
\sa SUStandardVersionComparator
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (nullable id<SUVersionComparison>)versionComparatorForUpdater:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Returns an object that formats version numbers for display to the user.
|
||||
|
||||
If you don't implement this method or return \c nil,
|
||||
the standard version formatter will be used.
|
||||
|
||||
\sa SUUpdateAlert
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (nullable id<SUVersionDisplay>)versionDisplayerForUpdater:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Returns the path which is used to relaunch the client after the update is installed.
|
||||
|
||||
The default is the path of the host bundle.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (nullable NSString *)pathToRelaunchForUpdater:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called before an updater shows a modal alert window,
|
||||
to give the host the opportunity to hide attached windows that may get in the way.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (void)updaterWillShowModalAlert:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called after an updater shows a modal alert window,
|
||||
to give the host the opportunity to hide attached windows that may get in the way.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
*/
|
||||
- (void)updaterDidShowModalAlert:(SUUpdater *)updater;
|
||||
|
||||
/*!
|
||||
Called when an update is scheduled to be silently installed on quit.
|
||||
This is after an update has been automatically downloaded in the background.
|
||||
(i.e. SUUpdater::automaticallyDownloadsUpdates is YES)
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that is proposed to be installed.
|
||||
\param invocation Can be used to trigger an immediate silent install and relaunch.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationInvocation:(NSInvocation *)invocation;
|
||||
|
||||
/*!
|
||||
Called when an update is scheduled to be silently installed on quit.
|
||||
This is after an update has been automatically downloaded in the background.
|
||||
(i.e. SUUpdater::automaticallyDownloadsUpdates is YES)
|
||||
This method acts as a more modern alternative to SUUpdaterDelegate::updater:willInstallUpdateOnQuit:immediateInstallationInvocation: using a block instead of NSInvocation, which is not available in Swift environments.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that is proposed to be installed.
|
||||
\param installationBlock Can be used to trigger an immediate silent install and relaunch.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater willInstallUpdateOnQuit:(SUAppcastItem *)item immediateInstallationBlock:(void (^)(void))installationBlock;
|
||||
|
||||
/*!
|
||||
Calls after an update that was scheduled to be silently installed on quit has been canceled.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param item The appcast item corresponding to the update that was proposed to be installed.
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)item;
|
||||
|
||||
/*!
|
||||
Called after an update is aborted due to an error.
|
||||
|
||||
\param updater The SUUpdater instance.
|
||||
\param error The error that caused the abort
|
||||
*/
|
||||
- (void)updater:(SUUpdater *)updater didAbortWithError:(NSError *)error;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -9,9 +9,15 @@
|
||||
#ifndef SUVERSIONCOMPARISONPROTOCOL_H
|
||||
#define SUVERSIONCOMPARISONPROTOCOL_H
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
#import "SUExport.h"
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
/*!
|
||||
Provides version comparison facilities for Sparkle.
|
||||
*/
|
||||
@@ -27,4 +33,5 @@
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
#endif
|
||||
|
||||
@@ -6,7 +6,11 @@
|
||||
// Copyright 2009 Elgato Systems GmbH. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
#if __has_feature(modules)
|
||||
@import Foundation;
|
||||
#else
|
||||
#import <Foundation/Foundation.h>
|
||||
#endif
|
||||
#import "SUExport.h"
|
||||
|
||||
/*!
|
||||
@@ -20,6 +24,6 @@
|
||||
Both versions are provided so that important distinguishing information
|
||||
can be displayed while also leaving out unnecessary/confusing parts.
|
||||
*/
|
||||
- (void)formatVersion:(NSString **)inOutVersionA andVersion:(NSString **)inOutVersionB;
|
||||
- (void)formatVersion:(NSString *_Nonnull*_Nonnull)inOutVersionA andVersion:(NSString *_Nonnull*_Nonnull)inOutVersionB;
|
||||
|
||||
@end
|
||||
|
||||
@@ -9,8 +9,6 @@
|
||||
#ifndef SPARKLE_H
|
||||
#define SPARKLE_H
|
||||
|
||||
#import <Cocoa/Cocoa.h>
|
||||
|
||||
// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
|
||||
// there are name-space collisions) so we can list all of them to start with:
|
||||
|
||||
@@ -18,8 +16,18 @@
|
||||
#import "SUAppcastItem.h"
|
||||
#import "SUStandardVersionComparator.h"
|
||||
#import "SUUpdater.h"
|
||||
#import "SUUpdaterDelegate.h"
|
||||
#import "SUVersionComparisonProtocol.h"
|
||||
#import "SUVersionDisplayProtocol.h"
|
||||
#import "SUErrors.h"
|
||||
|
||||
#import "SPUDownloader.h"
|
||||
#import "SPUDownloaderDelegate.h"
|
||||
#import "SPUDownloaderDeprecated.h"
|
||||
#import "SPUDownloadData.h"
|
||||
#import "SPUDownloaderProtocol.h"
|
||||
#import "SPUDownloaderSession.h"
|
||||
#import "SPUURLRequest.h"
|
||||
#import "SUCodeSigningVerifier.h"
|
||||
|
||||
#endif
|
||||
|
||||
@@ -6,30 +6,16 @@
|
||||
// Copyright 2006 Andy Matuschak. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef SUUNARCHIVER_H
|
||||
#define SUUNARCHIVER_H
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class SUHost;
|
||||
@protocol SUUnarchiverDelegate;
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@protocol SUUnarchiverProtocol;
|
||||
|
||||
@interface SUUnarchiver : NSObject
|
||||
|
||||
@property (copy, readonly) NSString *archivePath;
|
||||
@property (copy, readonly) NSString *updateHostBundlePath;
|
||||
@property (weak) id<SUUnarchiverDelegate> delegate;
|
||||
+ (nullable id <SUUnarchiverProtocol>)unarchiverForPath:(NSString *)path updatingHostBundlePath:(nullable NSString *)hostPath decryptionPassword:(nullable NSString *)decryptionPassword;
|
||||
|
||||
+ (SUUnarchiver *)unarchiverForPath:(NSString *)path updatingHostBundlePath:(NSString *)host;
|
||||
|
||||
- (void)start;
|
||||
@end
|
||||
|
||||
@protocol SUUnarchiverDelegate <NSObject>
|
||||
- (void)unarchiverDidFinish:(SUUnarchiver *)unarchiver;
|
||||
- (void)unarchiverDidFail:(SUUnarchiver *)unarchiver;
|
||||
@optional
|
||||
- (void)unarchiver:(SUUnarchiver *)unarchiver extractedProgress:(double)progress;
|
||||
@end
|
||||
|
||||
#endif
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
+9
-9
@@ -3,13 +3,13 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>BuildMachineOSBuild</key>
|
||||
<string>15E27e</string>
|
||||
<string>19A558d</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Autoupdate</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>AppIcon</string>
|
||||
<string>AppIcon.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.sparkle-project.Sparkle.Autoupdate</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
@@ -17,7 +17,7 @@
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>1.13.1 git-2afc553</string>
|
||||
<string>1.22.0 33-gd5222353e</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleSupportedPlatforms</key>
|
||||
@@ -25,21 +25,21 @@
|
||||
<string>MacOSX</string>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.13.1</string>
|
||||
<string>1.22.0</string>
|
||||
<key>DTCompiler</key>
|
||||
<string>com.apple.compilers.llvm.clang.1_0</string>
|
||||
<key>DTPlatformBuild</key>
|
||||
<string>7C68</string>
|
||||
<string>11M392r</string>
|
||||
<key>DTPlatformVersion</key>
|
||||
<string>GM</string>
|
||||
<key>DTSDKBuild</key>
|
||||
<string>15C43</string>
|
||||
<string>19A536d</string>
|
||||
<key>DTSDKName</key>
|
||||
<string>macosx10.11</string>
|
||||
<string>macosx10.15</string>
|
||||
<key>DTXcode</key>
|
||||
<string>0720</string>
|
||||
<string>1100</string>
|
||||
<key>DTXcodeBuild</key>
|
||||
<string>7C68</string>
|
||||
<string>11M392r</string>
|
||||
<key>LSBackgroundOnly</key>
|
||||
<string>1</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Generated
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user