Compare commits
126 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6dfdff3f27 | ||
|
|
f97f6bbf56 | ||
|
|
5c018bee0e | ||
|
|
d4e4ecbb37 | ||
|
|
74e1dada41 | ||
|
|
f39842f148 | ||
|
|
d809c0a903 | ||
|
|
58f39d89a8 | ||
|
|
8fbd9449e7 | ||
|
|
0db1ea4815 | ||
|
|
20f61d96f8 | ||
|
|
4c215ecdaf | ||
|
|
535b9e12d0 | ||
|
|
fa0094e162 | ||
|
|
1da9fdb8c7 | ||
|
|
e750f8c330 | ||
|
|
d42f95bbfb | ||
|
|
2f25e40b1f | ||
|
|
e8d6f03f6a | ||
|
|
3fc7a7e44a | ||
|
|
afe0466fb1 | ||
|
|
1193951beb | ||
|
|
c51fa7bc46 | ||
|
|
3d3a9152fa | ||
|
|
79d9cb4cb0 | ||
|
|
e059fae100 | ||
|
|
9180633e68 | ||
|
|
544b209a2d | ||
|
|
6e93689bde | ||
|
|
118f8e9da3 | ||
|
|
cdd934439d | ||
|
|
2ae7ffe0bc | ||
|
|
6551ace0fe | ||
|
|
b557f48982 | ||
|
|
171c5b9b03 | ||
|
|
757593c07a | ||
|
|
618e47d1cd | ||
|
|
8dabccd295 | ||
|
|
a76f3221cd | ||
|
|
b0d584d97a | ||
|
|
e34b51e95f | ||
|
|
c6d533b0ad | ||
|
|
6909639249 | ||
|
|
75dc1ed1ad | ||
|
|
be07caa071 | ||
|
|
6d626c4184 | ||
|
|
a0fddaa2f4 | ||
|
|
5e6e4042b1 | ||
|
|
a03380baa4 | ||
|
|
309ded1954 | ||
|
|
9fa35b1c38 | ||
|
|
e71e9d9ad3 | ||
|
|
c13b3d1350 | ||
|
|
20cd8699ac | ||
|
|
92997dda78 | ||
|
|
19a3bc3add | ||
|
|
6633611f42 | ||
|
|
16af913eee | ||
|
|
478668013f | ||
|
|
17befac581 | ||
|
|
ca22fc36a4 | ||
|
|
a6ab5e69d3 | ||
|
|
f6fb52b667 | ||
|
|
19968fc4ec | ||
|
|
f5d0f54790 | ||
|
|
9f29621415 | ||
|
|
72904d5fda | ||
|
|
2d0988ef93 | ||
|
|
d4376dc3eb | ||
|
|
bedc69f9d6 | ||
|
|
a055b441f5 | ||
|
|
4924ad099f | ||
|
|
787de412b8 | ||
|
|
ab9f2ecfd4 | ||
|
|
f9037f186a | ||
|
|
654bdbbd32 | ||
|
|
6ac1544e13 | ||
|
|
6cc8bc8366 | ||
|
|
8fc6a1dae0 | ||
|
|
0ffc17aa47 | ||
|
|
4b1cc7906f | ||
|
|
e1eaae27f4 | ||
|
|
25dec33c9b | ||
|
|
f244b2fbf2 | ||
|
|
b5f6fe9ca2 | ||
|
|
2b6a12af4d | ||
|
|
8b8f7d19f8 | ||
|
|
0bbc1be0a3 | ||
|
|
dbeadf05b6 | ||
|
|
6d192a4ac9 | ||
|
|
b23db545ce | ||
|
|
6235a109c4 | ||
|
|
28ae5a32fd | ||
|
|
fc3058495d | ||
|
|
c3172fe9e4 | ||
|
|
04510566b1 | ||
|
|
44a6b72d7f | ||
|
|
9994160bfe | ||
|
|
c5d2744c04 | ||
|
|
56bafd7a6a | ||
|
|
0a07646845 | ||
|
|
38ab19e00f | ||
|
|
4dd266cb66 | ||
|
|
b102728c20 | ||
|
|
e27578aee6 | ||
|
|
07a2b61d4c | ||
|
|
817db406bb | ||
|
|
442d1746f4 | ||
|
|
a5988f582e | ||
|
|
e9ef347c13 | ||
|
|
be5cdd1d63 | ||
|
|
d2af6c66fe | ||
|
|
d5475e8d8d | ||
|
|
6e940d9a1d | ||
|
|
8cfe52e6fb | ||
|
|
6e5ab2b994 | ||
|
|
008c91537b | ||
|
|
bfe377b8f2 | ||
|
|
825cf813fa | ||
|
|
b0efa49ed1 | ||
|
|
876f5fb570 | ||
|
|
e500ae8e29 | ||
|
|
2261c89a49 | ||
|
|
5a0dd71ed9 | ||
|
|
bfc461f756 | ||
|
|
ad0c442f1f |
@@ -1 +0,0 @@
|
||||
service_name: github-actions
|
||||
8
.github/CODEOWNERS
vendored
8
.github/CODEOWNERS
vendored
@@ -192,6 +192,7 @@ runtime/ftplugin/ps1xml.vim @heaths
|
||||
runtime/ftplugin/pymanifest.vim @ObserverOfTime
|
||||
runtime/ftplugin/python.vim @tpict
|
||||
runtime/ftplugin/qb64.vim @dkearns
|
||||
runtime/ftplugin/qml.vim @ChaseKnowlden
|
||||
runtime/ftplugin/r.vim @jalvesaq
|
||||
runtime/ftplugin/racket.vim @benknoble
|
||||
runtime/ftplugin/readline.vim @dkearns
|
||||
@@ -207,7 +208,9 @@ runtime/ftplugin/sass.vim @tpope
|
||||
runtime/ftplugin/scala.vim @derekwyatt
|
||||
runtime/ftplugin/scss.vim @tpope
|
||||
runtime/ftplugin/sdoc.vim @gpanders
|
||||
runtime/ftplugin/sed.vim @dkearns
|
||||
runtime/ftplugin/sh.vim @dkearns
|
||||
runtime/ftplugin/solidity.vim @cothi
|
||||
runtime/ftplugin/solution.vim @dkearns
|
||||
runtime/ftplugin/spec.vim @ignatenkobrain
|
||||
runtime/ftplugin/ssa.vim @ObserverOfTime
|
||||
@@ -283,6 +286,7 @@ runtime/indent/postscr.vim @mrdubya
|
||||
runtime/indent/prolog.vim @dkearns
|
||||
runtime/indent/ps1.vim @heaths
|
||||
runtime/indent/qb64.vim @dkearns
|
||||
runtime/indent/qml.vim @ChaseKnowlden
|
||||
runtime/indent/r.vim @jalvesaq
|
||||
runtime/indent/racket.vim @benknoble
|
||||
runtime/indent/rapid.vim @KnoP-01
|
||||
@@ -296,6 +300,7 @@ runtime/indent/sass.vim @tpope
|
||||
runtime/indent/scala.vim @derekwyatt
|
||||
runtime/indent/scss.vim @tpope
|
||||
runtime/indent/sh.vim @chrisbra
|
||||
runtime/indent/solidity.vim @cothi
|
||||
runtime/indent/systemverilog.vim @Kocha
|
||||
runtime/indent/tcl.vim @dkearns
|
||||
runtime/indent/tcsh.vim @dkearns
|
||||
@@ -379,6 +384,7 @@ runtime/syntax/gitolite.vim @sitaramc
|
||||
runtime/syntax/gitrebase.vim @tpope
|
||||
runtime/syntax/go.vim @bhcleek
|
||||
runtime/syntax/godoc.vim @dbarnett
|
||||
runtime/syntax/gp.vim @KBelabas
|
||||
runtime/syntax/gprof.vim @dpelle
|
||||
runtime/syntax/groff.vim @jmarshall
|
||||
runtime/syntax/gyp.vim @ObserverOfTime
|
||||
@@ -442,6 +448,7 @@ runtime/syntax/ps1xml.vim @heaths
|
||||
runtime/syntax/psl.vim @danielkho
|
||||
runtime/syntax/pymanifest.vim @ObserverOfTime
|
||||
runtime/syntax/qb64.vim @dkearns
|
||||
runtime/syntax/qml.vim @ChaseKnowlden
|
||||
runtime/syntax/r.vim @jalvesaq
|
||||
runtime/syntax/racket.vim @benknoble
|
||||
runtime/syntax/raml.vim @in3d
|
||||
@@ -466,6 +473,7 @@ runtime/syntax/sdoc.vim @gpanders
|
||||
runtime/syntax/sed.vim @dkearns
|
||||
runtime/syntax/sh.vim @cecamp
|
||||
runtime/syntax/sm.vim @cecamp
|
||||
runtime/syntax/solidity.vim @cothi
|
||||
runtime/syntax/spec.vim @ignatenkobrain
|
||||
runtime/syntax/sqloracle.vim @chrisbra
|
||||
runtime/syntax/squirrel.vim @zenmatic
|
||||
|
||||
60
.github/labeler.yml
vendored
Normal file
60
.github/labeler.yml
vendored
Normal file
@@ -0,0 +1,60 @@
|
||||
# list of labels and minimatch globs to match to apply the label.
|
||||
|
||||
CI:
|
||||
- any: ['.cirrus.yml']
|
||||
- any: ['.github/dependabot.yml']
|
||||
- any: ['.github/labeler.yml']
|
||||
- any: ['.github/workflows/*']
|
||||
- any: ['.appveyor.yml']
|
||||
- any: ['.codecov.yml']
|
||||
|
||||
translation:
|
||||
- any: ['src/po/*.po']
|
||||
|
||||
if_lua:
|
||||
- any: ['src/if_lua.c']
|
||||
- any: ['src/proto/if_lua.pro']
|
||||
- any: ['runtime/doc/if_lua.txt']
|
||||
|
||||
if_mzscheme:
|
||||
- any: ['src/if_mzsch.c']
|
||||
- any: ['src/if_mzsch.h']
|
||||
- any: ['src/proto/if_mzsch.pro']
|
||||
- any: ['runtime/doc/if_mzsch.txt']
|
||||
|
||||
if_perl:
|
||||
- any: ['src/if_perl.xs']
|
||||
- any: ['src/if_perlsfio.c']
|
||||
- any: ['src/proto/if_perl.pro']
|
||||
- any: ['src/proto/if_perlsfio.pro']
|
||||
- any: ['runtime/doc/if_perl.txt']
|
||||
|
||||
if_python:
|
||||
- any: ['src/if_py_both.h']
|
||||
- any: ['runtime/doc/if_pyth.txt']
|
||||
- any: ['src/if_python.c']
|
||||
- any: ['src/if_python3.c']
|
||||
- any: ['src/proto/if_python.pro']
|
||||
- any: ['src/proto/if_python3.pro']
|
||||
|
||||
if_ruby:
|
||||
- any: ['src/if_ruby.c']
|
||||
- any: ['src/proto/if_ruby.pro']
|
||||
- any: ['runtime/doc/if_ruby.txt']
|
||||
|
||||
if_tcl:
|
||||
- any: ['src/if_tcl.c']
|
||||
- any: ['src/proto/if_tcl.pro']
|
||||
- any: ['runtime/doc/if_tcl.txt']
|
||||
|
||||
runtime:
|
||||
- any: ['runtime/ftplugin']
|
||||
- any: ['runtime/syntax']
|
||||
- any: ['runtime/indent']
|
||||
- any: ['runtime/pack/dist/opt/termdebug/plugin/termdebug.vim']
|
||||
|
||||
termdebug: runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
|
||||
|
||||
netrw:
|
||||
- any: ['runtime/plugin/netrwPlugin.vim']
|
||||
- any: ['runtime/autoload/netrw*']
|
||||
57
.github/workflows/ci.yml
vendored
57
.github/workflows/ci.yml
vendored
@@ -50,9 +50,15 @@ jobs:
|
||||
shadow: ./src/shadow
|
||||
- features: huge
|
||||
coverage: true
|
||||
- features: huge
|
||||
compiler: clang
|
||||
extra: none
|
||||
interface: dynamic
|
||||
python3: stable-abi
|
||||
- features: huge
|
||||
compiler: gcc
|
||||
coverage: true
|
||||
interface: dynamic
|
||||
extra: testgui
|
||||
uchar: true
|
||||
luaver: lua5.4
|
||||
@@ -86,6 +92,7 @@ jobs:
|
||||
if ${{ matrix.features == 'huge' }}; then
|
||||
PKGS+=( \
|
||||
autoconf \
|
||||
gdb \
|
||||
lcov \
|
||||
libcanberra-dev \
|
||||
libperl-dev \
|
||||
@@ -141,7 +148,16 @@ jobs:
|
||||
;;
|
||||
huge)
|
||||
echo "TEST=scripttests test_libvterm"
|
||||
echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
if ${{ matrix.interface == 'dynamic' }}; then
|
||||
if ${{ matrix.python3 == 'stable-abi' }}; then
|
||||
PYTHON3_FLAGS="--with-python3-stable-abi=3.8"
|
||||
else
|
||||
PYTHON3_FLAGS=""
|
||||
fi
|
||||
echo "CONFOPT=--enable-perlinterp=dynamic --enable-pythoninterp=dynamic --enable-python3interp=dynamic --enable-rubyinterp=dynamic --enable-luainterp=dynamic --enable-tclinterp=dynamic ${PYTHON3_FLAGS}"
|
||||
else
|
||||
echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -180,23 +196,20 @@ jobs:
|
||||
sudo usermod -a -G audio "${USER}"
|
||||
sudo bash ci/setup-xvfb.sh
|
||||
|
||||
- name: Check if linux-modules-extra is available
|
||||
id: check-snd-dummy
|
||||
if: (!(contains(matrix.extra, 'unittests') || contains(matrix.extra, 'vimtags')))
|
||||
continue-on-error: true
|
||||
run: |
|
||||
sudo apt-get install -d -y linux-modules-extra-${{ env.LINUX_VERSION }}
|
||||
|
||||
- name: Set up snd-dummy
|
||||
if: steps.check-snd-dummy.outcome == 'success' && (!(contains(matrix.extra, 'unittests') || contains(matrix.extra, 'vimtags')))
|
||||
if: (!(contains(matrix.extra, 'unittests') || contains(matrix.extra, 'vimtags')))
|
||||
env:
|
||||
DEST_DIR: ${{ env.TMPDIR }}/linux-modules-extra-${{ env.LINUX_VERSION }}
|
||||
uses: tecolicom/actions-use-apt-tools@main
|
||||
with:
|
||||
tools: linux-modules-extra-${{ env.LINUX_VERSION }}
|
||||
path: "${DEST_DIR}"
|
||||
|
||||
- name: modprobe snd-dummy
|
||||
if: (!(contains(matrix.extra, 'unittests') || contains(matrix.extra, 'vimtags')))
|
||||
run: |
|
||||
cd /lib/modules/${{ env.LINUX_VERSION }}
|
||||
sudo dpkg -x /var/cache/apt/archives/linux-modules-extra-${{ env.LINUX_VERSION }}*.deb "${DEST_DIR}"
|
||||
tar -cvC "${DEST_DIR}"/lib/modules/${{ env.LINUX_VERSION }} kernel/sound | sudo tar -x
|
||||
sudo depmod --verbose
|
||||
sudo modprobe --verbose snd-dummy
|
||||
sudo modprobe --verbose snd-dummy
|
||||
|
||||
- name: Check autoconf
|
||||
if: contains(matrix.extra, 'unittests')
|
||||
@@ -234,7 +247,7 @@ jobs:
|
||||
"${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
|
||||
|
||||
- name: Test
|
||||
timeout-minutes: 20
|
||||
timeout-minutes: 25
|
||||
run: |
|
||||
do_test() { sg audio "sg $(id -gn) '$*'"; }
|
||||
do_test make ${SHADOWOPT} ${TEST}
|
||||
@@ -372,8 +385,8 @@ jobs:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: no, arch: x64 }
|
||||
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: yes, arch: x86, coverage: yes }
|
||||
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: no, arch: x64, python3: stable }
|
||||
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: yes, arch: x86, python3: stable, coverage: yes }
|
||||
- { features: HUGE, toolchain: msvc, VIMDLL: no, GUI: yes, arch: x86 }
|
||||
- { features: HUGE, toolchain: mingw, VIMDLL: yes, GUI: no, arch: x64, coverage: yes }
|
||||
- { features: NORMAL, toolchain: msvc, VIMDLL: yes, GUI: no, arch: x86 }
|
||||
@@ -504,6 +517,11 @@ jobs:
|
||||
) else (
|
||||
set GUI=${{ matrix.GUI }}
|
||||
)
|
||||
if "${{ matrix.python3 }}"=="stable" (
|
||||
set PYTHON3_STABLE=yes
|
||||
) else (
|
||||
set PYTHON3_STABLE=no
|
||||
)
|
||||
if "${{ matrix.features }}"=="HUGE" (
|
||||
nmake -nologo -f Make_mvc.mak ^
|
||||
FEATURES=${{ matrix.features }} ^
|
||||
@@ -511,6 +529,7 @@ jobs:
|
||||
DYNAMIC_LUA=yes LUA=%LUA_DIR% ^
|
||||
DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
|
||||
DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR% ^
|
||||
DYNAMIC_PYTHON3_STABLE_ABI=%PYTHON3_STABLE% ^
|
||||
DYNAMIC_SODIUM=yes SODIUM=%SODIUM_DIR%
|
||||
) else (
|
||||
nmake -nologo -f Make_mvc.mak ^
|
||||
@@ -528,6 +547,11 @@ jobs:
|
||||
else
|
||||
GUI=${{ matrix.GUI }}
|
||||
fi
|
||||
if [ "${{ matrix.python3 }}" = "stable" ]; then
|
||||
PYTHON3_STABLE=yes
|
||||
else
|
||||
PYTHON3_STABLE=no
|
||||
fi
|
||||
if [ "${{ matrix.features }}" = "HUGE" ]; then
|
||||
mingw32-make -f Make_ming.mak -j2 \
|
||||
FEATURES=${{ matrix.features }} \
|
||||
@@ -535,6 +559,7 @@ jobs:
|
||||
DYNAMIC_LUA=yes LUA=${LUA_DIR_SLASH} \
|
||||
DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
|
||||
DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
|
||||
DYNAMIC_PYTHON3_STABLE_ABI=${PYTHON3_STABLE} \
|
||||
DYNAMIC_SODIUM=yes SODIUM=${SODIUM_DIR} \
|
||||
STATIC_STDCPLUS=yes COVERAGE=${{ matrix.coverage }}
|
||||
else
|
||||
|
||||
24
.github/workflows/label.yml
vendored
Normal file
24
.github/workflows/label.yml
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
# This workflow will triage pull requests and apply a label based on the
|
||||
# paths that are modified in the pull request.
|
||||
#
|
||||
# To use this workflow, you will need to set up a .github/labeler.yml
|
||||
# file with configuration. For more information, see:
|
||||
# https://github.com/actions/labeler
|
||||
|
||||
name: Labeler
|
||||
on: [pull_request_target]
|
||||
|
||||
jobs:
|
||||
label:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/labeler@v4
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
configuration-path: .github/labeler.yml
|
||||
sync-labels: ''
|
||||
76
README.md
76
README.md
@@ -1,17 +1,21 @@
|
||||
[](https://www.vim.org)
|
||||
# [](https://www.vim.org)
|
||||
|
||||
[](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22) [](https://ci.appveyor.com/project/chrisbra/vim) [](https://cirrus-ci.com/github/vim/vim) [](https://codecov.io/gh/vim/vim?branch=master) [](https://scan.coverity.com/projects/vim) [](https://buildd.debian.org/vim) [](https://repology.org/metapackage/vim) [](https://fossies.org/linux/test/vim-master.tar.gz/codespell.html)
|
||||
|
||||
<sub>For translations of this README see the end.</sub>
|
||||
[](https://github.com/vim/vim/actions?query=workflow%3A%22GitHub+CI%22)
|
||||
[](https://ci.appveyor.com/project/chrisbra/vim)
|
||||
[](https://cirrus-ci.com/github/vim/vim)
|
||||
[](https://codecov.io/gh/vim/vim?branch=master)
|
||||
[](https://scan.coverity.com/projects/vim)
|
||||
[](https://buildd.debian.org/vim)
|
||||
[](https://repology.org/metapackage/vim)
|
||||
[](https://fossies.org/linux/test/vim-master.tar.gz/codespell.html)
|
||||
|
||||
If you find a bug or want to discuss the best way to add a new feature, please
|
||||
open an [issue](https://github.com/vim/vim/issues).
|
||||
[open an issue](https://github.com/vim/vim/issues/new/choose).
|
||||
If you have a question or want to discuss the best way to do something with
|
||||
Vim, you can use [StackExchange](https://vi.stackexchange.com/)
|
||||
or one of the [Maillists](https://www.vim.org/community.php).
|
||||
|
||||
|
||||
## What is Vim? ##
|
||||
## What is Vim?
|
||||
|
||||
Vim is a greatly improved version of the good old UNIX editor
|
||||
[Vi](https://en.wikipedia.org/wiki/Vi). Many new
|
||||
@@ -35,7 +39,7 @@ Amiga DOS, Atari MiNT, BeOS, RISC OS and OS/2. These are no longer maintained.
|
||||
|
||||
For Vim9 script see [README_VIM9](README_VIM9.md).
|
||||
|
||||
## Distribution ##
|
||||
## Distribution
|
||||
|
||||
You can often use your favorite package manager to install Vim. On Mac and
|
||||
Linux a small version of Vim is pre-installed, you still need to install Vim
|
||||
@@ -55,48 +59,45 @@ Some popular places to get the latest Vim:
|
||||
* Get a Windows executable from the
|
||||
[vim-win32-installer](https://github.com/vim/vim-win32-installer/releases) repository.
|
||||
|
||||
|
||||
|
||||
## Compiling ##
|
||||
## Compiling
|
||||
|
||||
If you obtained a binary distribution you don't need to compile Vim. If you
|
||||
obtained a source distribution, all the stuff for compiling Vim is in the
|
||||
[`src`](/src) directory. See [`src/INSTALL`](src/INSTALL) for instructions.
|
||||
[`src`](./src/) directory. See [`src/INSTALL`](./src/INSTALL) for instructions.
|
||||
|
||||
|
||||
## Installation ##
|
||||
## Installation
|
||||
|
||||
See one of these files for system-specific instructions. Either in the
|
||||
[READMEdir directory](./READMEdir/) (in the repository) or
|
||||
the top directory (if you unpack an archive):
|
||||
|
||||
README_ami.txt Amiga
|
||||
README_unix.txt Unix
|
||||
README_dos.txt MS-DOS and MS-Windows
|
||||
README_mac.txt Macintosh
|
||||
README_haiku.txt Haiku
|
||||
README_vms.txt VMS
|
||||
```
|
||||
README_ami.txt Amiga
|
||||
README_unix.txt Unix
|
||||
README_dos.txt MS-DOS and MS-Windows
|
||||
README_mac.txt Macintosh
|
||||
README_haiku.txt Haiku
|
||||
README_vms.txt VMS
|
||||
```
|
||||
|
||||
There are other `README_*.txt` files, depending on the distribution you used.
|
||||
|
||||
|
||||
## Documentation ##
|
||||
## Documentation
|
||||
|
||||
The Vim tutor is a one hour training course for beginners. Often it can be
|
||||
started as `vimtutor`. See `:help tutor` for more information.
|
||||
|
||||
The best is to use `:help` in Vim. If you don't have an executable yet, read
|
||||
[`runtime/doc/help.txt`](/runtime/doc/help.txt).
|
||||
[`runtime/doc/help.txt`](./runtime/doc/help.txt).
|
||||
It contains pointers to the other documentation files.
|
||||
The User Manual reads like a book and is recommended to learn to use
|
||||
Vim. See `:help user-manual`.
|
||||
|
||||
|
||||
## Copying ##
|
||||
## Copying
|
||||
|
||||
Vim is Charityware. You can use and copy it as much as you like, but you are
|
||||
encouraged to make a donation to help orphans in Uganda. Please read the file
|
||||
[`runtime/doc/uganda.txt`](runtime/doc/uganda.txt)
|
||||
[`runtime/doc/uganda.txt`](./runtime/doc/uganda.txt)
|
||||
for details (do `:help uganda` inside Vim).
|
||||
|
||||
Summary of the license: There are no restrictions on using or distributing an
|
||||
@@ -105,28 +106,25 @@ text must always be included. For modified versions, a few restrictions apply.
|
||||
The license is GPL compatible, you may compile Vim with GPL libraries and
|
||||
distribute it.
|
||||
|
||||
|
||||
## Sponsoring ##
|
||||
## Sponsoring
|
||||
|
||||
Fixing bugs and adding new features takes a lot of time and effort. To show
|
||||
your appreciation for the work and motivate Bram and others to continue
|
||||
working on Vim please send a donation.
|
||||
|
||||
Since Bram is back to a paid job the money will now be used to help children
|
||||
in Uganda. See [`runtime/doc/uganda.txt`](runtime/doc/uganda.txt). But
|
||||
in Uganda. See [`runtime/doc/uganda.txt`](./runtime/doc/uganda.txt). But
|
||||
at the same time donations increase Bram's motivation to keep working on Vim!
|
||||
|
||||
For the most recent information about sponsoring look on the Vim web site:
|
||||
https://www.vim.org/sponsor/
|
||||
|
||||
|
||||
## Contributing ##
|
||||
## Contributing
|
||||
|
||||
If you would like to help make Vim better, see the
|
||||
[CONTRIBUTING.md](/CONTRIBUTING.md) file.
|
||||
[CONTRIBUTING.md](./CONTRIBUTING.md) file.
|
||||
|
||||
|
||||
## Information ##
|
||||
## Information
|
||||
|
||||
If you are on macOS, you can use [Macvim](https://macvim-dev.github.io/macvim/).
|
||||
|
||||
@@ -142,16 +140,14 @@ lists to discuss them with Vim users and developers:
|
||||
https://www.vim.org/maillist.php
|
||||
|
||||
If nothing else works, report bugs directly to the vim-dev mailing list:
|
||||
<vim-dev@vim.org>
|
||||
`<vim-dev@vim.org>`
|
||||
|
||||
## Main author
|
||||
|
||||
## Main author ##
|
||||
|
||||
Most of Vim was created by Bram Moolenaar <Bram@vim.org>
|
||||
Most of Vim was created by Bram Moolenaar `<Bram@vim.org>`
|
||||
[Bram-Moolenaar](https://vimhelp.org/version9.txt.html#Bram-Moolenaar)
|
||||
|
||||
Send any other comments, patches, flowers and suggestions to the vim-dev mailing list:
|
||||
<vim-dev@vim.org>
|
||||
|
||||
`<vim-dev@vim.org>`
|
||||
|
||||
This is `README.md` for version 9.0 of Vim: Vi IMproved.
|
||||
|
||||
68
runtime/autoload/dist/ft.vim
vendored
68
runtime/autoload/dist/ft.vim
vendored
@@ -62,7 +62,7 @@ export def FTasmsyntax()
|
||||
endif
|
||||
enddef
|
||||
|
||||
var ft_visual_basic_content = '\cVB_Name\|Begin VB\.\(Form\|MDIForm\|UserControl\)'
|
||||
var ft_visual_basic_content = '\c^\s*\%(Attribute\s\+VB_Name\|Begin\s\+\%(VB\.\|{\%(\x\+-\)\+\x\+}\)\)'
|
||||
|
||||
# See FTfrm() for Visual Basic form file detection
|
||||
export def FTbas()
|
||||
@@ -146,11 +146,13 @@ export def FTcls()
|
||||
return
|
||||
endif
|
||||
|
||||
if getline(1) =~ '^\v%(\%|\\)'
|
||||
var line1 = getline(1)
|
||||
|
||||
if line1 =~ '^\v%(\%|\\)'
|
||||
setf tex
|
||||
elseif getline(1)[0] == '#' && getline(1) =~ 'rexx'
|
||||
elseif line1[0] == '#' && line1 =~ 'rexx'
|
||||
setf rexx
|
||||
elseif getline(1) == 'VERSION 1.0 CLASS'
|
||||
elseif line1 == 'VERSION 1.0 CLASS'
|
||||
setf vb
|
||||
else
|
||||
setf st
|
||||
@@ -287,12 +289,48 @@ export def FTe()
|
||||
endif
|
||||
enddef
|
||||
|
||||
def IsForth(): bool
|
||||
var first_line = nextnonblank(1)
|
||||
|
||||
# SwiftForth block comment (line is usually filled with '-' or '=') or
|
||||
# OPTIONAL (sometimes precedes the header comment)
|
||||
if getline(first_line) =~? '^\%({\%(\s\|$\)\|OPTIONAL\s\)'
|
||||
return true
|
||||
endif
|
||||
|
||||
var n = first_line
|
||||
while n < 100 && n <= line("$")
|
||||
# Forth comments and colon definitions
|
||||
if getline(n) =~ '^[:(\\] '
|
||||
return true
|
||||
endif
|
||||
n += 1
|
||||
endwhile
|
||||
return false
|
||||
enddef
|
||||
|
||||
# Distinguish between Forth and Fortran
|
||||
export def FTf()
|
||||
if exists("g:filetype_f")
|
||||
exe "setf " .. g:filetype_f
|
||||
elseif IsForth()
|
||||
setf forth
|
||||
else
|
||||
setf fortran
|
||||
endif
|
||||
enddef
|
||||
|
||||
export def FTfrm()
|
||||
if exists("g:filetype_frm")
|
||||
exe "setf " .. g:filetype_frm
|
||||
return
|
||||
endif
|
||||
|
||||
if getline(1) == "VERSION 5.00"
|
||||
setf vb
|
||||
return
|
||||
endif
|
||||
|
||||
var lines = getline(1, min([line("$"), 5]))
|
||||
|
||||
if match(lines, ft_visual_basic_content) > -1
|
||||
@@ -302,21 +340,13 @@ export def FTfrm()
|
||||
endif
|
||||
enddef
|
||||
|
||||
# Distinguish between Forth and F#.
|
||||
# Provided by Doug Kearns.
|
||||
# Distinguish between Forth and F#
|
||||
export def FTfs()
|
||||
if exists("g:filetype_fs")
|
||||
exe "setf " .. g:filetype_fs
|
||||
elseif IsForth()
|
||||
setf forth
|
||||
else
|
||||
var n = 1
|
||||
while n < 100 && n <= line("$")
|
||||
# Forth comments and colon definitions
|
||||
if getline(n) =~ "^[:(\\\\] "
|
||||
setf forth
|
||||
return
|
||||
endif
|
||||
n += 1
|
||||
endwhile
|
||||
setf fsharp
|
||||
endif
|
||||
enddef
|
||||
@@ -1174,5 +1204,13 @@ export def FTv()
|
||||
setf v
|
||||
enddef
|
||||
|
||||
export def FTvba()
|
||||
if getline(1) =~ '^["#] Vimball Archiver'
|
||||
setf vim
|
||||
else
|
||||
setf vb
|
||||
endif
|
||||
enddef
|
||||
|
||||
# Uncomment this line to check for compilation errors early
|
||||
# defcompile
|
||||
|
||||
90
runtime/autoload/dist/man.vim
vendored
90
runtime/autoload/dist/man.vim
vendored
@@ -1,9 +1,9 @@
|
||||
" Vim filetype plugin autoload file
|
||||
" Language: man
|
||||
" Maintainer: Jason Franklin <vim@justemail.net>
|
||||
" Maintainer: Jason Franklin <jason@oneway.dev>
|
||||
" Maintainer: SungHyun Nam <goweol@gmail.com>
|
||||
" Autoload Split: Bram Moolenaar
|
||||
" Last Change: 2022 Jun 18
|
||||
" Last Change: 2023 Jun 28
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
@@ -21,31 +21,65 @@ catch /E145:/
|
||||
" Ignore the error in restricted mode
|
||||
endtry
|
||||
|
||||
func s:ParseIntoPageAndSection()
|
||||
" Accommodate a reference that terminates in a hyphen.
|
||||
"
|
||||
" See init_charset_table() at
|
||||
" https://git.savannah.gnu.org/cgit/groff.git/tree/src/roff/troff/input.cpp?h=1.22.4#n6794
|
||||
"
|
||||
" See can_break_after() at
|
||||
" https://git.savannah.gnu.org/cgit/groff.git/tree/src/roff/troff/charinfo.h?h=1.22.4#n140
|
||||
"
|
||||
" Assumptions and limitations:
|
||||
" 1) Manual-page references (in consequence of command-related filenames)
|
||||
" do not contain non-ASCII HYPHENs (0x2010), any terminating HYPHEN
|
||||
" must have been introduced to mark division of a word at the end of
|
||||
" a line and can be discarded; whereas similar references may contain
|
||||
" ASCII HYPHEN-MINUSes (0x002d) and any terminating HYPHEN-MINUS forms
|
||||
" a compound word in addition to marking word division.
|
||||
" 2) Well-formed manual-page references always have a section suffix, e.g.
|
||||
" "git-commit(1)", therefore suspended hyphenated compounds are not
|
||||
" determined, e.g. [V] (With cursor at _git-merge-_ below...)
|
||||
" ".................... git-merge- and git-merge-base. (See git-cherry-
|
||||
" pick(1) and git-cherry(1).)" (... look up "git-merge-pick(1)".)
|
||||
"
|
||||
" Note that EM DASH (0x2014), a third stooge from init_charset_table(),
|
||||
" neither connects nor divides parts of a word.
|
||||
let str = expand("<cWORD>")
|
||||
|
||||
if str =~ '\%u2010$' " HYPHEN (-1).
|
||||
let str = strpart(str, 0, strridx(str, "\u2010"))
|
||||
|
||||
" Append the leftmost WORD (or an empty string) from the line below.
|
||||
let str .= get(split(get(getbufline(bufnr('%'), line('.') + 1), 0, '')), 0, '')
|
||||
elseif str =~ '-$' " HYPHEN-MINUS.
|
||||
" Append the leftmost WORD (or an empty string) from the line below.
|
||||
let str .= get(split(get(getbufline(bufnr('%'), line('.') + 1), 0, '')), 0, '')
|
||||
endif
|
||||
|
||||
" According to man(1), section name formats vary (MANSECT):
|
||||
" 1 n l 8 3 2 3posix 3pm 3perl 3am 5 4 9 6 7
|
||||
let parts = matchlist(str, '\(\k\+\)(\(\k\+\))')
|
||||
return (len(parts) > 2)
|
||||
\ ? {'page': parts[1], 'section': parts[2]}
|
||||
\ : {'page': matchstr(str, '\k\+'), 'section': ''}
|
||||
endfunc
|
||||
|
||||
func dist#man#PreGetPage(cnt)
|
||||
if a:cnt == 0
|
||||
let old_isk = &iskeyword
|
||||
if &ft == 'man'
|
||||
setl iskeyword+=(,)
|
||||
endif
|
||||
let str = expand("<cword>")
|
||||
let &l:iskeyword = old_isk
|
||||
let page = substitute(str, '(*\(\k\+\).*', '\1', '')
|
||||
let sect = substitute(str, '\(\k\+\)(\([^()]*\)).*', '\2', '')
|
||||
if match(sect, '^[0-9 ]\+$') == -1
|
||||
let sect = ""
|
||||
endif
|
||||
if sect == page
|
||||
let sect = ""
|
||||
endif
|
||||
let what = s:ParseIntoPageAndSection()
|
||||
let sect = what.section
|
||||
let page = what.page
|
||||
else
|
||||
let what = s:ParseIntoPageAndSection()
|
||||
let sect = a:cnt
|
||||
let page = expand("<cword>")
|
||||
let page = what.page
|
||||
endif
|
||||
|
||||
call dist#man#GetPage('', sect, page)
|
||||
endfunc
|
||||
|
||||
func s:GetCmdArg(sect, page)
|
||||
|
||||
if empty(a:sect)
|
||||
return shellescape(a:page)
|
||||
endif
|
||||
@@ -75,9 +109,11 @@ func dist#man#GetPage(cmdmods, ...)
|
||||
return
|
||||
endif
|
||||
|
||||
" To support: nmap K :Man <cword>
|
||||
if page == '<cword>'
|
||||
let page = expand('<cword>')
|
||||
" To support: nmap K :Man <cWORD><CR>
|
||||
if page ==? '<cword>'
|
||||
let what = s:ParseIntoPageAndSection()
|
||||
let sect = what.section
|
||||
let page = what.page
|
||||
endif
|
||||
|
||||
if !exists('g:ft_man_no_sect_fallback') || (g:ft_man_no_sect_fallback == 0)
|
||||
@@ -154,9 +190,14 @@ func dist#man#GetPage(cmdmods, ...)
|
||||
endif
|
||||
let env_cmd = s:env_has_u ? 'env -u MANPAGER' : 'env MANPAGER=cat'
|
||||
let env_cmd .= ' GROFF_NO_SGR=1'
|
||||
let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page) . ' | col -b'
|
||||
let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page)
|
||||
|
||||
silent exec "r !" . man_cmd
|
||||
|
||||
" Emulate piping the buffer through the "col -b" command.
|
||||
" Ref: https://github.com/vim/vim/issues/12301
|
||||
silent! keepjumps keeppatterns %s/\v(.)\b\ze\1?//ge
|
||||
|
||||
if unsetwidth
|
||||
let $MANWIDTH = ''
|
||||
endif
|
||||
@@ -180,9 +221,10 @@ func dist#man#PopPage()
|
||||
exec "let s:man_tag_buf=s:man_tag_buf_".s:man_tag_depth
|
||||
exec "let s:man_tag_lin=s:man_tag_lin_".s:man_tag_depth
|
||||
exec "let s:man_tag_col=s:man_tag_col_".s:man_tag_depth
|
||||
|
||||
exec s:man_tag_buf."b"
|
||||
exec s:man_tag_lin
|
||||
exec "norm! ".s:man_tag_col."|"
|
||||
call cursor(s:man_tag_lin, s:man_tag_col)
|
||||
|
||||
exec "unlet s:man_tag_buf_".s:man_tag_depth
|
||||
exec "unlet s:man_tag_lin_".s:man_tag_depth
|
||||
exec "unlet s:man_tag_col_".s:man_tag_depth
|
||||
|
||||
@@ -156,8 +156,8 @@ function! javascriptcomplete#CompleteJS(findstart, base)
|
||||
\ 'text', 'vLink']
|
||||
let bodys = bodyprop
|
||||
" Document - document.
|
||||
let docuprop = ['anchors', 'body', 'characterSet', 'doctype',
|
||||
\ 'documentElement', 'documentURI', 'embeds', 'fonts', 'forms',
|
||||
let docuprop = ['anchors', 'applets', 'body', 'characterSet', 'childNodes',
|
||||
\ 'doctype', 'documentElement', 'documentURI', 'embeds', 'fonts', 'forms',
|
||||
\ 'head', 'hidden', 'images', 'implementation', 'lastStyleSheetSet',
|
||||
\ 'links', 'plugins', 'preferredStyleSheetSet', 'scripts',
|
||||
\ 'scrollingElement', 'selectedStyleSheetSet', 'styleSheetSets',
|
||||
@@ -171,7 +171,7 @@ function! javascriptcomplete#CompleteJS(findstart, base)
|
||||
\ 'createEvent', 'createExpression', 'createNSResolver',
|
||||
\ 'createNodeIterator', 'createProcessingInstruction', 'createRange',
|
||||
\ 'createTextNode', 'createTouchList', 'createTreeWalker',
|
||||
\ 'enableStyleSheetsForSet', 'evaluate', 'focus', 'getElementById',
|
||||
\ 'enableStyleSheetsForSet', 'evaluate', 'focus',
|
||||
\ 'getElementById', 'getElementsByClassName', 'getElementsByName',
|
||||
\ 'getElementsByTagName', 'getElementsByTagNameNS',
|
||||
\ 'hasStorageAccess', 'importNode', 'onClick', 'onDblClick',
|
||||
|
||||
@@ -156,7 +156,7 @@ digraph_setlist({digraphlist}) Boolean register multiple |digraph|s
|
||||
echoraw({expr}) none output {expr} as-is
|
||||
empty({expr}) Number |TRUE| if {expr} is empty
|
||||
environ() Dict return environment variables
|
||||
err_teapot() Number produce error 418
|
||||
err_teapot([{expr}]) none give E418, or E503 if {expr} is |TRUE|
|
||||
escape({string}, {chars}) String escape {chars} in {string} with '\'
|
||||
eval({string}) any evaluate {string} into its value
|
||||
eventhandler() Number |TRUE| if inside an event handler
|
||||
@@ -310,6 +310,7 @@ inputrestore() Number restore typeahead
|
||||
inputsave() Number save and clear typeahead
|
||||
inputsecret({prompt} [, {text}]) String like input() but hiding the text
|
||||
insert({object}, {item} [, {idx}]) List insert {item} in {object} [before {idx}]
|
||||
instanceof({object}, {class}) Number |TRUE| if {object} is an instance of {class}
|
||||
interrupt() none interrupt script execution
|
||||
invert({expr}) Number bitwise invert
|
||||
isabsolutepath({path}) Number |TRUE| if {path} is an absolute path
|
||||
@@ -713,7 +714,8 @@ uniq({list} [, {func} [, {dict}]])
|
||||
utf16idx({string}, {idx} [, {countcc} [, {charidx}]])
|
||||
Number UTF-16 index of byte {idx} in {string}
|
||||
values({dict}) List values in {dict}
|
||||
virtcol({expr} [, {list}]) Number or List
|
||||
virtcol({expr} [, {list} [, {winid}])
|
||||
Number or List
|
||||
screen column of cursor or mark
|
||||
virtcol2col({winid}, {lnum}, {col})
|
||||
Number byte index of a character on screen
|
||||
@@ -3550,6 +3552,8 @@ getcompletion({pat}, {type} [, {filtered}]) *getcompletion()*
|
||||
cmdline |cmdline-completion| result
|
||||
compiler compilers
|
||||
cscope |:cscope| suboptions
|
||||
custom,{func} custom completion, defined via {func}
|
||||
customlist,{func} custom completion, defined via {func}
|
||||
diff_buffer |:diffget| and |:diffput| completion
|
||||
dir directory names
|
||||
environment environment variable names
|
||||
@@ -5049,6 +5053,17 @@ insert({object}, {item} [, {idx}]) *insert()*
|
||||
Can also be used as a |method|: >
|
||||
mylist->insert(item)
|
||||
|
||||
instanceof({object}, {class}) *instanceof()*
|
||||
The result is a Number, which is |TRUE| when the {object} argument is a
|
||||
direct or indirect instance of a |Class| specified by {class}.
|
||||
When {class} is a |List| the function returns |TRUE| when {object} is an
|
||||
instance of any of the specified classes.
|
||||
Example: >
|
||||
instanceof(animal, [Dog, Cat])
|
||||
|
||||
< Can also be used as a |method|: >
|
||||
myobj->instanceof(mytype)
|
||||
|
||||
interrupt() *interrupt()*
|
||||
Interrupt script execution. It works more or less like the
|
||||
user typing CTRL-C, most commands won't execute and control
|
||||
@@ -10283,7 +10298,7 @@ values({dict}) *values()*
|
||||
Can also be used as a |method|: >
|
||||
mydict->values()
|
||||
|
||||
virtcol({expr} [, {list}]) *virtcol()*
|
||||
virtcol({expr} [, {list} [, {winid}]]) *virtcol()*
|
||||
The result is a Number, which is the screen column of the file
|
||||
position given with {expr}. That is, the last screen position
|
||||
occupied by the character at that position, when the screen
|
||||
@@ -10315,10 +10330,13 @@ virtcol({expr} [, {list}]) *virtcol()*
|
||||
returns the cursor position. Differs from |'<| in
|
||||
that it's updated right away.
|
||||
|
||||
If {list} is present and non-zero then virtcol() returns a List
|
||||
with the first and last screen position occupied by the
|
||||
If {list} is present and non-zero then virtcol() returns a
|
||||
List with the first and last screen position occupied by the
|
||||
character.
|
||||
|
||||
With the optional {winid} argument the values are obtained for
|
||||
that window instead of the current window.
|
||||
|
||||
Note that only marks in the current file can be used.
|
||||
Examples: >
|
||||
" With text "foo^Lbar" and cursor on the "^L":
|
||||
@@ -10330,7 +10348,7 @@ virtcol({expr} [, {list}]) *virtcol()*
|
||||
" With text " there", with 't at 'h':
|
||||
|
||||
virtcol("'t") " returns 6
|
||||
< The first column is 1. 0 is returned for an error.
|
||||
< The first column is 1. 0 or [0, 0] is returned for an error.
|
||||
A more advanced example that echoes the maximum length of
|
||||
all lines: >
|
||||
echo max(map(range(1, line('$')), "virtcol([v:val, '$'])"))
|
||||
@@ -10980,6 +10998,7 @@ python_dynamic Python 2.x interface is dynamically loaded. |has-python|
|
||||
python3 Python 3.x interface available. |has-python|
|
||||
python3_compiled Compiled with Python 3.x interface. |has-python|
|
||||
python3_dynamic Python 3.x interface is dynamically loaded. |has-python|
|
||||
python3_stable Python 3.x interface is using Python Stable ABI. |has-python|
|
||||
pythonx Python 2.x and/or 3.x interface available. |python_x|
|
||||
qnx QNX version of Vim.
|
||||
quickfix Compiled with |quickfix| support.
|
||||
|
||||
@@ -2424,6 +2424,25 @@ v:progpath Contains the command with which Vim was invoked, in a form
|
||||
".exe" is not added to v:progpath.
|
||||
Read-only.
|
||||
|
||||
*v:python3_version* *python3-version-variable*
|
||||
v:python3_version
|
||||
Version of Python 3 that Vim was built against. When
|
||||
Python is loaded dynamically (|python-dynamic|), this version
|
||||
should exactly match the Python library up to the minor
|
||||
version (e.g. 3.10.2 and 3.10.3 are compatible as the minor
|
||||
version is "10", whereas 3.9.4 and 3.10.3 are not compatible).
|
||||
When |python-stable-abi| is used, this will be the minimum Python
|
||||
version that you can use instead. (e.g. if v:python3_version
|
||||
indicates 3.9, you can use 3.9, 3.10, or anything above).
|
||||
|
||||
This number is encoded as a hex number following Python ABI
|
||||
versioning conventions. Do the following to have a
|
||||
human-readable full version in hex: >
|
||||
echo printf("%08X", v:python3_version)
|
||||
< You can obtain only the minor version by doing: >
|
||||
echo and(v:python3_version>>16,0xff)
|
||||
< Read-only.
|
||||
|
||||
*v:register* *register-variable*
|
||||
v:register The name of the register in effect for the current normal mode
|
||||
command (regardless of whether that command actually used a
|
||||
|
||||
@@ -146,6 +146,7 @@ variables can be used to overrule the filetype used for certain extensions:
|
||||
*.cls g:filetype_cls
|
||||
*.csh g:filetype_csh |ft-csh-syntax|
|
||||
*.dat g:filetype_dat
|
||||
*.f g:filetype_f |ft-forth-syntax|
|
||||
*.frm g:filetype_frm |ft-form-syntax|
|
||||
*.fs g:filetype_fs |ft-forth-syntax|
|
||||
*.i g:filetype_i |ft-progress-syntax|
|
||||
|
||||
@@ -769,7 +769,19 @@ Unix ~
|
||||
The 'pythondll' or 'pythonthreedll' option can be used to specify the Python
|
||||
shared library file instead of DYNAMIC_PYTHON_DLL or DYNAMIC_PYTHON3_DLL file
|
||||
what were specified at compile time. The version of the shared library must
|
||||
match the Python 2.x or Python 3 version Vim was compiled with.
|
||||
match the Python 2.x or Python 3 version (|v:python3_version|) Vim was
|
||||
compiled with unless using |python3-stable-abi|.
|
||||
|
||||
|
||||
Stable ABI and mixing Python versions ~
|
||||
*python-stable* *python-stable-abi* *python3-stable-abi*
|
||||
If Vim was not compiled with Stable ABI (only available for Python 3), the
|
||||
version of the Python shared library must match the version that Vim was
|
||||
compiled with. Otherwise, mixing versions could result in unexpected crashes
|
||||
and failures. With Stable ABI, this restriction is relaxed, and any Python 3
|
||||
library with version of at least |v:python3_version| will work. See
|
||||
|has-python| for how to check if Stable ABI is supported, or see if version
|
||||
output includes |+python3/dyn-stable|.
|
||||
|
||||
==============================================================================
|
||||
10. Python 3 *python3*
|
||||
@@ -881,6 +893,18 @@ python support: >
|
||||
endif
|
||||
endif
|
||||
|
||||
When loading the library dynamically, Vim can be compiled to support Python 3
|
||||
Stable ABI (|python3-stable-abi|) which allows you to load a different version
|
||||
of Python 3 library than the one Vim was compiled with. To check it: >
|
||||
if has('python3_dynamic')
|
||||
if has('python3_stable')
|
||||
echo 'support Python 3 Stable ABI.'
|
||||
else
|
||||
echo 'does not support Python 3 Stable ABI.'
|
||||
echo 'only use Python 3 version ' .. v:python3_version
|
||||
endif
|
||||
endif
|
||||
|
||||
This also tells you whether Python is dynamically loaded, which will fail if
|
||||
the runtime library cannot be found.
|
||||
|
||||
|
||||
@@ -242,8 +242,8 @@ gM Like "g0", but to halfway the text of 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
|
||||
*g$*
|
||||
g$ When lines wrap ('wrap' on): To the last character of
|
||||
the screen line and [count - 1] screen lines downward
|
||||
|inclusive|. Differs from "$" when a line is wider
|
||||
than the screen.
|
||||
@@ -256,6 +256,10 @@ g$ or g<End> When lines wrap ('wrap' on): To the last character of
|
||||
When 'virtualedit' is enabled moves to the end of the
|
||||
screen line.
|
||||
|
||||
*g<End>* *g<kEnd>*
|
||||
g<End> Like |g$| but to the last non-blank character
|
||||
instead of the last character.
|
||||
|
||||
*bar*
|
||||
| To screen column [count] in the current line.
|
||||
|exclusive| motion. Ceci n'est pas une pipe.
|
||||
|
||||
@@ -214,10 +214,10 @@ A syntax group name is to be used for syntax items that match the same kind of
|
||||
thing. These are then linked to a highlight group that specifies the color.
|
||||
A syntax group name doesn't specify any color or attributes itself.
|
||||
|
||||
The name for a highlight or syntax group must consist of ASCII letters, digits
|
||||
and the underscore. As a regexp: "[a-zA-Z0-9_]*". However, Vim does not give
|
||||
an error when using other characters. The maximum length of a group name is
|
||||
about 200 bytes. *E1249*
|
||||
The name for a highlight or syntax group must consist of ASCII letters,
|
||||
digits, underscores, dots, or hyphens. As a regexp: "[a-zA-Z0-9_.-]*".
|
||||
However, Vim does not give an error when using other characters. The maximum
|
||||
length of a group name is about 200 bytes. *E1249*
|
||||
|
||||
To be able to allow each user to pick their favorite set of colors, there must
|
||||
be preferred names for highlight groups that are common for many languages.
|
||||
@@ -1579,9 +1579,10 @@ example, FORM files, use this in your startup vimrc: >
|
||||
|
||||
FORTH *forth.vim* *ft-forth-syntax*
|
||||
|
||||
Files matching "*.fs" could be F# or Forth. If the automatic detection
|
||||
doesn't work for you, or you don't edit F# at all, use this in your
|
||||
startup vimrc: >
|
||||
Files matching "*.f" could be Fortran or Forth and those matching "*.fs" could
|
||||
be F# or Forth. If the automatic detection doesn't work for you, or you don't
|
||||
edit F# or Fortran at all, use this in your startup vimrc: >
|
||||
:let filetype_f = "forth"
|
||||
:let filetype_fs = "forth"
|
||||
|
||||
|
||||
|
||||
@@ -1434,6 +1434,7 @@ $quote eval.txt /*$quote*
|
||||
+python/dyn various.txt /*+python\/dyn*
|
||||
+python3 various.txt /*+python3*
|
||||
+python3/dyn various.txt /*+python3\/dyn*
|
||||
+python3/dyn-stable various.txt /*+python3\/dyn-stable*
|
||||
+quickfix various.txt /*+quickfix*
|
||||
+reltime various.txt /*+reltime*
|
||||
+rightleft various.txt /*+rightleft*
|
||||
@@ -9294,6 +9295,8 @@ python-path_hook if_pyth.txt /*python-path_hook*
|
||||
python-pyeval if_pyth.txt /*python-pyeval*
|
||||
python-range if_pyth.txt /*python-range*
|
||||
python-special-path if_pyth.txt /*python-special-path*
|
||||
python-stable if_pyth.txt /*python-stable*
|
||||
python-stable-abi if_pyth.txt /*python-stable-abi*
|
||||
python-strwidth if_pyth.txt /*python-strwidth*
|
||||
python-tabpage if_pyth.txt /*python-tabpage*
|
||||
python-tabpages if_pyth.txt /*python-tabpages*
|
||||
@@ -9306,6 +9309,8 @@ python.vim syntax.txt /*python.vim*
|
||||
python2-directory if_pyth.txt /*python2-directory*
|
||||
python3 if_pyth.txt /*python3*
|
||||
python3-directory if_pyth.txt /*python3-directory*
|
||||
python3-stable-abi if_pyth.txt /*python3-stable-abi*
|
||||
python3-version-variable eval.txt /*python3-version-variable*
|
||||
python_x if_pyth.txt /*python_x*
|
||||
python_x-special-comments if_pyth.txt /*python_x-special-comments*
|
||||
pythonx if_pyth.txt /*pythonx*
|
||||
@@ -10632,6 +10637,7 @@ v:prevcount eval.txt /*v:prevcount*
|
||||
v:profiling eval.txt /*v:profiling*
|
||||
v:progname eval.txt /*v:progname*
|
||||
v:progpath eval.txt /*v:progpath*
|
||||
v:python3_version eval.txt /*v:python3_version*
|
||||
v:register eval.txt /*v:register*
|
||||
v:scrollstart eval.txt /*v:scrollstart*
|
||||
v:searchforward eval.txt /*v:searchforward*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*terminal.txt* For Vim version 9.0. Last change: 2023 Jun 28
|
||||
*terminal.txt* For Vim version 9.0. Last change: 2023 Aug 23
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -38,6 +38,7 @@ If the result is "1" you have it.
|
||||
Example session |termdebug-example|
|
||||
Stepping through code |termdebug-stepping|
|
||||
Inspecting variables |termdebug-variables|
|
||||
Navigating stack frames |termdebug-frames|
|
||||
Other commands |termdebug-commands|
|
||||
Events |termdebug-events|
|
||||
Prompt mode |termdebug-prompt|
|
||||
@@ -1376,6 +1377,18 @@ This is similar to using "print" in the gdb window.
|
||||
You can usually shorten `:Evaluate` to `:Ev`.
|
||||
|
||||
|
||||
Navigating stack frames ~
|
||||
*termdebug-frames* *:Frame* *:Up* *:Down*
|
||||
`:Frame` [frame] select frame [frame], which is a frame number,
|
||||
address, or function name (default: current frame)
|
||||
`:Up` [count] go up [count] frames (default: 1; the frame that
|
||||
called the current)
|
||||
`+` same (see |termdebug_map_plus| to disable)
|
||||
`:Down` [count] go down [count] frames (default: 1; the frame called
|
||||
by the current)
|
||||
`-` same (see |termdebug_map_minus| to disable)
|
||||
|
||||
|
||||
Other commands ~
|
||||
*termdebug-commands*
|
||||
*:Gdb* jump to the gdb window
|
||||
@@ -1384,6 +1397,9 @@ Other commands ~
|
||||
isn't one
|
||||
*:Asm* jump to the window with the disassembly, create it if there
|
||||
isn't one
|
||||
*:Var* jump to the window with the local and argument variables,
|
||||
create it if there isn't one. This window updates whenever the
|
||||
program is stopped
|
||||
|
||||
Events ~
|
||||
*termdebug-events*
|
||||
@@ -1446,10 +1462,18 @@ If there is no g:termdebug_config you can use: >
|
||||
let g:termdebug_use_prompt = 1
|
||||
<
|
||||
*termdebug_map_K*
|
||||
The K key is normally mapped to :Evaluate. If you do not want this use: >
|
||||
The K key is normally mapped to |:Evaluate|. If you do not want this use: >
|
||||
let g:termdebug_config['map_K'] = 0
|
||||
If there is no g:termdebug_config you can use: >
|
||||
let g:termdebug_map_K = 0
|
||||
<
|
||||
*termdebug_map_minus*
|
||||
The - key is normally mapped to |:Down|. If you do not want this use: >
|
||||
let g:termdebug_config['map_minus'] = 0
|
||||
<
|
||||
*termdebug_map_plus*
|
||||
The + key is normally mapped to |:Up|. If you do not want this use: >
|
||||
let g:termdebug_config['map_plus'] = 0
|
||||
<
|
||||
*termdebug_disasm_window*
|
||||
If you want the Asm window shown by default, set the "disasm_window" flag to
|
||||
@@ -1460,6 +1484,15 @@ If there is no g:termdebug_config you can use: >
|
||||
let g:termdebug_disasm_window = 15
|
||||
Any value greater than 1 will set the Asm window height to that value.
|
||||
|
||||
*termdebug_variables_window*
|
||||
If you want the Var window shown by default, set the flag to 1.
|
||||
the "variables_window_height" entry can be used to set the window height: >
|
||||
let g:termdebug_config['variables_window'] = 1
|
||||
let g:termdebug_config['variables_window_height'] = 15
|
||||
If there is no g:termdebug_config you can use: >
|
||||
let g:termdebug_variables_window = 15
|
||||
Any value greater than 1 will set the Var window height to that value.
|
||||
|
||||
Communication ~
|
||||
*termdebug-communication*
|
||||
There is another, hidden, buffer, which is used for Vim to communicate with
|
||||
|
||||
@@ -335,6 +335,12 @@ prop_list({lnum} [, {props}]) *prop_list()*
|
||||
length length in bytes, one more if line break is
|
||||
included
|
||||
id property ID
|
||||
text text to be displayed before {col}. Only
|
||||
present for |virtual-text| properties.
|
||||
text_align alignment property of |virtual-text|.
|
||||
text_padding_left
|
||||
left padding used for virtual text.
|
||||
text_wrap specifies whether |virtual-text| is wrapped.
|
||||
type name of the property type, omitted if
|
||||
the type was deleted
|
||||
type_bufnr buffer number for which this type was defined;
|
||||
|
||||
@@ -61,8 +61,6 @@ without all the help files.
|
||||
SpellCap highlight not updated - PR #12428
|
||||
|
||||
Virtual text problems:
|
||||
- Deleting character before a wrapping virtual text, causes for the following
|
||||
lines to dissapear (Issue #12244)
|
||||
- If 'list' is on, 'below' virtual text which includes 1 or 2 characters are
|
||||
gone (Issue #12028)
|
||||
- Virtual text aligned "above": Wrong indentation when using tabs (Issue
|
||||
@@ -75,14 +73,6 @@ Virtual text problems:
|
||||
'below' on an empty line (Issue #11959)
|
||||
- truncated Virtual text below an empty line causes display error #12493
|
||||
|
||||
include #12403: window for Termdebug showing local variables
|
||||
|
||||
include #12140: positional arguments in printf(), fixes #10577
|
||||
|
||||
Include #11818: attach custom data to quickfix items.
|
||||
|
||||
Include #12292: buffer argument for undotree()?
|
||||
|
||||
When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be
|
||||
highlighted. (van-de-bugger, 2018 Jan 23, #2576)
|
||||
|
||||
@@ -131,7 +121,7 @@ Upcoming larger works:
|
||||
|
||||
|
||||
Further Vim9 improvements, possibly after launch:
|
||||
- implement :class and :interface: See |vim9-classes
|
||||
- Classes and Interfaces. See |vim9-classes|
|
||||
- Change access: public by default, private by prefixing "_".
|
||||
Check for error: can't have same name twice (ignoring "_" prefix).
|
||||
- Private methods?
|
||||
@@ -142,22 +132,15 @@ Further Vim9 improvements, possibly after launch:
|
||||
- Cannot use class type of itself in the method (Issue #12369)
|
||||
- Cannot use an object method in a lambda #12417
|
||||
Define all methods before compiling them?
|
||||
- class members initialized during definition (Issue #12041)
|
||||
- Cannot call class member of funcref type (Issue #12324)
|
||||
Also #12081 first case.
|
||||
- Using list of functions does not work #12081 (repro in later message).
|
||||
- Weird `class X not found on interface X` error (Issue #12023)
|
||||
- First argument of call() cannot be "obj.Func". (#11865)
|
||||
- "return this" required for early return from constructor (inconsistent)
|
||||
(Issue #12040)
|
||||
- class/method confusion inside ":def" when using "class extends" (Issue
|
||||
#12089)
|
||||
- null_object - constant type 17 not supported (Issue #12043)
|
||||
- problem compiling object method call as function call argument (Issue
|
||||
#12081)
|
||||
- Make ":defcompile ClassName" compile all functions and methods in the
|
||||
class.
|
||||
- object's method in stacktrace missing information (Issue #12078)
|
||||
- Forward declaration of a class? E.g. for Clone() function.
|
||||
email lifepillar 2023 Mar 26
|
||||
- Getting member of variable with "any" type should be handled at runtime.
|
||||
@@ -180,7 +163,7 @@ Further Vim9 improvements, possibly after launch:
|
||||
- For chaining, allow using the class name as type for function return
|
||||
value.
|
||||
- Implement generics
|
||||
- Add "instanceof" (exact class name). And "assignable" (class or child)?
|
||||
- Add "assignable" (class or child)?
|
||||
- More efficient way for interface member index than iterating over list?
|
||||
- a variant of type() that returns a different type for each class?
|
||||
list<number> and list<string> should also differ.
|
||||
|
||||
@@ -877,6 +877,7 @@ Other computation: *bitwise-function*
|
||||
srand() initialize seed used by rand()
|
||||
|
||||
Variables: *var-functions*
|
||||
instanceof() check if a variable is an instance of a given class
|
||||
type() type of a variable as a number
|
||||
typename() type of a variable as text
|
||||
islocked() check if a variable is locked
|
||||
|
||||
@@ -450,6 +450,8 @@ m *+python* Python 2 interface |python|
|
||||
m *+python/dyn* Python 2 interface |python-dynamic| |/dyn|
|
||||
m *+python3* Python 3 interface |python|
|
||||
m *+python3/dyn* Python 3 interface |python-dynamic| |/dyn|
|
||||
m *+python3/dyn-stable*
|
||||
Python 3 interface |python-dynamic| |python-stable| |/dyn|
|
||||
N *+quickfix* |:make| and |quickfix| commands
|
||||
N *+reltime* |reltime()| function, 'hlsearch'/'incsearch' timeout,
|
||||
'redrawtime' option
|
||||
|
||||
@@ -1033,10 +1033,12 @@ In Vim9 script one can use the following predefined values: >
|
||||
null
|
||||
null_blob
|
||||
null_channel
|
||||
null_class
|
||||
null_dict
|
||||
null_function
|
||||
null_job
|
||||
null_list
|
||||
null_object
|
||||
null_partial
|
||||
null_string
|
||||
`true` is the same as `v:true`, `false` the same as `v:false`, `null` the same
|
||||
|
||||
@@ -232,6 +232,9 @@ If the class extends a parent class, the same thing happens. In the second
|
||||
step the members of the parent class are done first. There is no need to call
|
||||
"super()" or "new()" on the parent.
|
||||
|
||||
When defining the new() method the return type should not be specified. It
|
||||
always returns an object of the class.
|
||||
|
||||
==============================================================================
|
||||
|
||||
3. class members and functions *Vim9-class-member*
|
||||
@@ -420,6 +423,12 @@ Each member and function name can be used only once. It is not possible to
|
||||
define a function with the same name and different type of arguments.
|
||||
|
||||
|
||||
Member Initialization ~
|
||||
If the type of a member is not explicitly specified in a class, then it is set
|
||||
to "any" during class definition. When an object is instantiated from the
|
||||
class, then the type of the member is set.
|
||||
|
||||
|
||||
Extending a class ~
|
||||
*extends*
|
||||
A class can extend one other class. *E1352* *E1353* *E1354*
|
||||
|
||||
@@ -209,9 +209,6 @@ au BufNewFile,BufRead *.bi,*.bm call dist#ft#FTbas()
|
||||
" Bass
|
||||
au BufNewFile,BufRead *.bass setf bass
|
||||
|
||||
" Visual Basic Script (close to Visual Basic) or Visual Basic .NET
|
||||
au BufNewFile,BufRead *.vb,*.vbs,*.dsm,*.ctl setf vb
|
||||
|
||||
" IBasic file (similar to QBasic)
|
||||
au BufNewFile,BufRead *.iba,*.ibi setf ibasic
|
||||
|
||||
@@ -245,7 +242,7 @@ au BufNewFile,BufRead *.bib setf bib
|
||||
au BufNewFile,BufRead *.bst setf bst
|
||||
|
||||
" Bicep
|
||||
au BufNewFile,BufRead *.bicep setf bicep
|
||||
au BufNewFile,BufRead *.bicep,*.bicepparam setf bicep
|
||||
|
||||
" BIND configuration
|
||||
" sudoedit uses namedXXXX.conf
|
||||
@@ -724,16 +721,19 @@ au BufNewFile,BufRead auto.master setf conf
|
||||
au BufNewFile,BufRead *.mas,*.master setf master
|
||||
|
||||
" Forth
|
||||
au BufNewFile,BufRead *.ft,*.fth setf forth
|
||||
au BufNewFile,BufRead *.ft,*.fth,*.4th setf forth
|
||||
|
||||
" Reva Forth
|
||||
au BufNewFile,BufRead *.frt setf reva
|
||||
|
||||
" Fortran
|
||||
if has("fname_case")
|
||||
au BufNewFile,BufRead *.F,*.FOR,*.FPP,*.FTN,*.F77,*.F90,*.F95,*.F03,*.F08 setf fortran
|
||||
au BufNewFile,BufRead *.F,*.FOR,*.FPP,*.FTN,*.F77,*.F90,*.F95,*.F03,*.F08 setf fortran
|
||||
endif
|
||||
au BufNewFile,BufRead *.f,*.for,*.fortran,*.fpp,*.ftn,*.f77,*.f90,*.f95,*.f03,*.f08 setf fortran
|
||||
au BufNewFile,BufRead *.for,*.fortran,*.fpp,*.ftn,*.f77,*.f90,*.f95,*.f03,*.f08 setf fortran
|
||||
|
||||
" Fortran or Forth
|
||||
au BufNewFile,BufRead *.f call dist#ft#FTf()
|
||||
|
||||
" Framescript
|
||||
au BufNewFile,BufRead *.fsl setf framescript
|
||||
@@ -1708,6 +1708,9 @@ au BufNewFile,BufRead *.ptl,*.pyi,SConstruct setf python
|
||||
" QL
|
||||
au BufRead,BufNewFile *.ql,*.qll setf ql
|
||||
|
||||
" QML
|
||||
au BufRead,BufNewFile *.qml,*.qbs setf qml
|
||||
|
||||
" QMLdir
|
||||
au BufRead,BufNewFile qmldir setf qmldir
|
||||
|
||||
@@ -2370,7 +2373,7 @@ au BufNewFile,BufRead *.tape setf vhs
|
||||
au BufNewFile,BufRead *.hdl,*.vhd,*.vhdl,*.vbe,*.vst,*.vho setf vhdl
|
||||
|
||||
" Vim script
|
||||
au BufNewFile,BufRead *.vim,*.vba,.exrc,_exrc setf vim
|
||||
au BufNewFile,BufRead *.vim,.exrc,_exrc setf vim
|
||||
|
||||
" Viminfo file
|
||||
au BufNewFile,BufRead .viminfo,_viminfo setf viminfo
|
||||
@@ -2383,10 +2386,31 @@ au BufRead,BufNewFile *.hw,*.module,*.pkg
|
||||
\ setf virata |
|
||||
\ endif
|
||||
|
||||
" Visual Basic (also uses *.bas) or FORM
|
||||
" Visual Basic (see also *.bas *.cls)
|
||||
|
||||
" Visual Basic or FORM
|
||||
au BufNewFile,BufRead *.frm call dist#ft#FTfrm()
|
||||
|
||||
" SaxBasic is close to Visual Basic
|
||||
" Visual Basic
|
||||
" user control, ActiveX document form, active designer, property page
|
||||
au BufNewFile,BufRead *.ctl,*.dob,*.dsr,*.pag setf vb
|
||||
|
||||
" Visual Basic or Vimball Archiver
|
||||
au BufNewFile,BufRead *.vba call dist#ft#FTvba()
|
||||
|
||||
" Visual Basic Project
|
||||
au BufNewFile,BufRead *.vbp setf dosini
|
||||
|
||||
" VBScript (close to Visual Basic)
|
||||
au BufNewFile,BufRead *.vbs setf vb
|
||||
|
||||
" Visual Basic .NET (close to Visual Basic)
|
||||
au BufNewFile,BufRead *.vb setf vb
|
||||
|
||||
" Visual Studio Macro
|
||||
au BufNewFile,BufRead *.dsm setf vb
|
||||
|
||||
" SaxBasic (close to Visual Basic)
|
||||
au BufNewFile,BufRead *.sba setf vb
|
||||
|
||||
" Vgrindefs file
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: bash
|
||||
" Maintainer: Bram Moolenaar
|
||||
" Last Changed: 2019 Jan 12
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Changed: 2023 Aug 13
|
||||
"
|
||||
" This is not a real filetype plugin. It allows for someone to set 'filetype'
|
||||
" to "bash" in the modeline, and gets the effect of filetype "sh" with
|
||||
|
||||
@@ -122,7 +122,7 @@ function NewVersion()
|
||||
normal! 1G0
|
||||
call search(')')
|
||||
normal! h
|
||||
" ':normal' doens't support key annotation (<c-a>) directly.
|
||||
" ':normal' doesn't support key annotation (<c-a>) directly.
|
||||
" Vim's manual recommends using ':exe' to use key annotation indirectly (backslash-escaping needed though).
|
||||
exe "normal! \<c-a>"
|
||||
call setline(1, substitute(getline(1), '-\$\$', '-', ''))
|
||||
|
||||
@@ -15,5 +15,22 @@ let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
if has('unix') && executable('less')
|
||||
if !has('gui_running')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe '!' . 'LESS= MANPAGER="less --pattern=''^\s+--' . <q-args> . '\b'' --hilite-search" man ' . 'gpg' |
|
||||
\ redraw!
|
||||
elseif has('terminal')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+--' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'gpg'
|
||||
endif
|
||||
if exists(':Sman') == 2
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:Sman
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
|
||||
endif
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
setlocal comments=s1fl:{-,mb:-,ex:-},:-- commentstring=--\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
setlocal omnifunc=haskellcomplete#Complete
|
||||
setlocal iskeyword+='
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -16,5 +16,21 @@ let b:undo_ftplugin = "setl com< cms< inc< fo<"
|
||||
setlocal comments=:# commentstring=#\ %s include=^\\s*include
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
if has('unix') && executable('less')
|
||||
if !has('gui_running')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe '!' . 'LESS= MANPAGER="less --pattern=''^\s{,8}' . <q-args> . '\b'' --hilite-search" man ' . 'modprobe.d' |
|
||||
\ redraw!
|
||||
elseif has('terminal')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s{,8}' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'modprobe.d'
|
||||
endif
|
||||
if exists(':Sman') == 2
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:Sman
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
|
||||
endif
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -18,5 +18,21 @@ setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
let &l:include = '^\s*source\>'
|
||||
|
||||
if has('unix') && executable('less')
|
||||
if !has('gui_running')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe '!' . 'LESS= MANPAGER="less --pattern=''^\s+' . <q-args> . '\b'' --hilite-search" man ' . 'muttrc' |
|
||||
\ redraw!
|
||||
elseif has('terminal')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe 'term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'muttrc'
|
||||
endif
|
||||
if exists(':Sman') == 2
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:Sman
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
|
||||
endif
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
31
runtime/ftplugin/qml.vim
Normal file
31
runtime/ftplugin/qml.vim
Normal file
@@ -0,0 +1,31 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: QML
|
||||
" Maintainer: Chase Knowlden <haroldknowlden@gmail.com>
|
||||
" Last Change: 2023 Aug 16
|
||||
|
||||
if exists( 'b:did_ftplugin' )
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpoptions_save = &cpoptions
|
||||
set cpoptions&vim
|
||||
|
||||
" command for undo
|
||||
let b:undo_ftplugin = "setlocal formatoptions< comments< commentstring<"
|
||||
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists( 'b:browsefilter' )
|
||||
let b:browsefilter =
|
||||
\ 'QML Files (*.qml,*.qbs)\t*.qml;*.qbs\n' .
|
||||
\ 'All Files\t*\n'
|
||||
endif
|
||||
|
||||
" Set 'comments' to format dashed lists in comments.
|
||||
setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
|
||||
setlocal commentstring=//%s
|
||||
|
||||
setlocal formatoptions-=t
|
||||
setlocal formatoptions+=croql
|
||||
|
||||
let &cpoptions = s:cpoptions_save
|
||||
unlet s:cpoptions_save
|
||||
@@ -25,11 +25,27 @@ if exists("loaded_matchit") && !exists("b:match_words")
|
||||
endif
|
||||
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "Readline Intialization Files (inputrc .inputrc)\tinputrc;*.inputrc\n" ..
|
||||
let b:browsefilter = "Readline Initialization Files (inputrc .inputrc)\tinputrc;*.inputrc\n" ..
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
if has('unix') && executable('less')
|
||||
if !has('gui_running')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe '!' . 'LESS= MANPAGER="less --pattern=''^\s+' . <q-args> . '\b'' --hilite-search" man ' . '3 readline' |
|
||||
\ redraw!
|
||||
elseif has('terminal')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe 'term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . '3 readline'
|
||||
endif
|
||||
if exists(':Sman') == 2
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:Sman
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
|
||||
endif
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ setlocal formatoptions+=tcroql
|
||||
" directives (..) and ordered lists (1.), although it can cause problems for
|
||||
" many other cases.
|
||||
"
|
||||
" More sophisticated indentation rules should be revisted in the future.
|
||||
" More sophisticated indentation rules should be revisited in the future.
|
||||
|
||||
if exists("g:rst_style") && g:rst_style != 0
|
||||
setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
|
||||
|
||||
29
runtime/ftplugin/sed.vim
Normal file
29
runtime/ftplugin/sed.vim
Normal file
@@ -0,0 +1,29 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: sed
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Apr 1
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal comments=:#
|
||||
setlocal commentstring=#\ %s
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:browsefilter = "sed Script Files (*.sed)\t*.sed\n" ..
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: nowrap sw=2 sts=2 ts=8
|
||||
@@ -41,6 +41,19 @@ if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
|
||||
let b:undo_ftplugin ..= " | unlet! b:browsefilter"
|
||||
endif
|
||||
|
||||
if (exists('b:is_bash') && (b:is_bash == 1)) ||
|
||||
\ (exists('b:is_sh') && (b:is_sh == 1))
|
||||
if !has('gui_running') && executable('less')
|
||||
command! -buffer -nargs=1 Help silent exe '!bash -c "{ help "<args>" 2>/dev/null || man "<args>"; } | LESS= less"' | redraw!
|
||||
elseif has('terminal')
|
||||
command! -buffer -nargs=1 Help silent exe ':term bash -c "help "<args>" 2>/dev/null || man "<args>""'
|
||||
else
|
||||
command! -buffer -nargs=1 Help echo system('bash -c "help <args>" 2>/dev/null || man "<args>"')
|
||||
endif
|
||||
setlocal keywordprg=:Help
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg<'
|
||||
endif
|
||||
|
||||
" Restore the saved compatibility options.
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
|
||||
15
runtime/ftplugin/solidity.vim
Normal file
15
runtime/ftplugin/solidity.vim
Normal file
@@ -0,0 +1,15 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Solidity
|
||||
" Maintainer: Cothi (jiungdev@gmail.com)
|
||||
" Original Author: tomlion (https://github.com/tomlion/vim-solidity)
|
||||
" Last Change: 2022 Sep 27
|
||||
" 2023 Aug 22 Vim Project (did_ftplugin, undo_ftplugin)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
setlocal commentstring=//\ %s
|
||||
|
||||
let b:undo_ftplugin = "setlocal commentstring<"
|
||||
@@ -140,7 +140,7 @@ if !exists("*SQL_SetType")
|
||||
\ )
|
||||
|
||||
" Remove duplicates, since sqlanywhere.vim can exist in the
|
||||
" sytax, indent and ftplugin directory, yet we only want
|
||||
" syntax, indent and ftplugin directory, yet we only want
|
||||
" to display the option once
|
||||
let index = match(sqls, '.\{-}\ze\n')
|
||||
while index > -1
|
||||
@@ -204,7 +204,7 @@ if !exists("*SQL_SetType")
|
||||
endif
|
||||
let b:sql_type_override = new_sql_type
|
||||
|
||||
" Remove any cached SQL since a new sytax will have different
|
||||
" Remove any cached SQL since a new syntax will have different
|
||||
" items and groups
|
||||
if !exists('g:loaded_sql_completion') || g:loaded_sql_completion >= 100
|
||||
call sqlcomplete#ResetCacheSyntax()
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: OpenSSH client configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
" Language: OpenSSH client configuration file
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Latest Revision: 2008-07-09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -11,9 +11,24 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
let b:undo_ftplugin = 'setlocal com< cms< fo<'
|
||||
|
||||
if has('unix') && executable('less')
|
||||
if !has('gui_running')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe '!' . 'LESS= MANPAGER="less --pattern=''^\s+' . <q-args> . '$'' --hilite-search" man ' . 'ssh_config' |
|
||||
\ redraw!
|
||||
elseif has('terminal')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe 'term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s+' . <q-args> . '$', '\') . ''' --hilite-search" man ' . 'ssh_config'
|
||||
endif
|
||||
if exists(':Sman') == 2
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:Sman
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
|
||||
endif
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -15,5 +15,21 @@ let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
if has('unix') && executable('less')
|
||||
if !has('gui_running')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe '!' . 'LESS= MANPAGER="less --pattern=''\b' . <q-args> . '\b'' --hilite-search" man ' . 'sudoers' |
|
||||
\ redraw!
|
||||
elseif has('terminal')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('\b' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'sudoers'
|
||||
endif
|
||||
if exists(':Sman') == 2
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:Sman
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
|
||||
endif
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -7,35 +7,30 @@ if !exists('b:did_ftplugin')
|
||||
runtime! ftplugin/dosini.vim
|
||||
endif
|
||||
|
||||
if !has('unix')
|
||||
finish
|
||||
endif
|
||||
|
||||
if !has('gui_running')
|
||||
command! -buffer -nargs=1 Sman silent exe '!' . KeywordLookup_systemd(<q-args>) | redraw!
|
||||
elseif has('terminal')
|
||||
command! -buffer -nargs=1 Sman silent exe 'term ' . KeywordLookup_systemd(<q-args>)
|
||||
else
|
||||
finish
|
||||
endif
|
||||
|
||||
if !exists('*KeywordLookup_systemd')
|
||||
function KeywordLookup_systemd(keyword) abort
|
||||
let matches = matchlist(getline(search('\v^\s*\[\s*.+\s*\]\s*$', 'nbWz')), '\v^\s*\[\s*(\k+).*\]\s*$')
|
||||
if len(matches) > 1
|
||||
let section = matches[1]
|
||||
return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd.' . section
|
||||
else
|
||||
return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd'
|
||||
if has('unix') && executable('less')
|
||||
if !has('gui_running')
|
||||
command -buffer -nargs=1 Sman silent exe '!' . KeywordLookup_systemd(<q-args>) | redraw!
|
||||
elseif has('terminal')
|
||||
command -buffer -nargs=1 Sman silent exe 'term ' . KeywordLookup_systemd(<q-args>)
|
||||
endif
|
||||
if exists(':Sman') == 2
|
||||
if !exists('*KeywordLookup_systemd')
|
||||
function KeywordLookup_systemd(keyword) abort
|
||||
let matches = matchlist(getline(search('\v^\s*\[\s*.+\s*\]\s*$', 'nbWz')), '\v^\s*\[\s*(\k+).*\]\s*$')
|
||||
if len(matches) > 1
|
||||
let section = matches[1]
|
||||
return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd.' . section
|
||||
else
|
||||
return 'LESS= MANPAGER="less --pattern=''(^|,)\s+' . a:keyword . '=$'' --hilite-search" man ' . 'systemd'
|
||||
endif
|
||||
endfunction
|
||||
endif
|
||||
endfunction
|
||||
endif
|
||||
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:Sman
|
||||
|
||||
if !exists('b:undo_ftplugin') || empty(b:undo_ftplugin)
|
||||
let b:undo_ftplugin = 'setlocal keywordprg< iskeyword<'
|
||||
else
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:Sman
|
||||
if !exists('b:undo_ftplugin') || empty(b:undo_ftplugin)
|
||||
let b:undo_ftplugin = 'setlocal keywordprg< iskeyword<'
|
||||
else
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: HMTL Tidy Configuration
|
||||
" Language: HTML Tidy Configuration
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2020 Sep 4
|
||||
|
||||
|
||||
@@ -15,5 +15,21 @@ let b:undo_ftplugin = "setl com< cms< fo<"
|
||||
|
||||
setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
|
||||
|
||||
if has('unix') && executable('less')
|
||||
if !has('gui_running')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe '!' . 'LESS= MANPAGER="less --pattern=''^\s{,8}' . <q-args> . '\b'' --hilite-search" man ' . 'udev' |
|
||||
\ redraw!
|
||||
elseif has('terminal')
|
||||
command -buffer -nargs=1 Sman
|
||||
\ silent exe ':term ' . 'env LESS= MANPAGER="less --pattern=''' . escape('^\s{,8}' . <q-args> . '\b', '\') . ''' --hilite-search" man ' . 'udev'
|
||||
endif
|
||||
if exists(':Sman') == 2
|
||||
setlocal iskeyword+=-
|
||||
setlocal keywordprg=:Sman
|
||||
let b:undo_ftplugin .= '| setlocal keywordprg< iskeyword<'
|
||||
endif
|
||||
endif
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
@@ -17,7 +17,7 @@ compiler zig_build
|
||||
" Match Zig builtin fns
|
||||
setlocal iskeyword+=@-@
|
||||
|
||||
" Recomended code style, no tabs and 4-space indentation
|
||||
" Recommended code style, no tabs and 4-space indentation
|
||||
setlocal expandtab
|
||||
setlocal tabstop=8
|
||||
setlocal softtabstop=4
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: bash
|
||||
" Maintainer: Bram
|
||||
" Last Change: 2019 Sep 27
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2023 Aug 13
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent script for HTML
|
||||
" Maintainer: Bram Moolenaar
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Original Author: Andy Wokula <anwoku@yahoo.de>
|
||||
" Last Change: 2022 Jan 31
|
||||
" Last Change: 2023 Aug 13
|
||||
" Version: 1.0 "{{{
|
||||
" Description: HTML indent script with cached state for faster indenting on a
|
||||
" range of lines.
|
||||
|
||||
@@ -27,6 +27,16 @@ if exists("*GetLuaIndent")
|
||||
endif
|
||||
|
||||
function! GetLuaIndent()
|
||||
let ignorecase_save = &ignorecase
|
||||
try
|
||||
let &ignorecase = 0
|
||||
return GetLuaIndentIntern()
|
||||
finally
|
||||
let &ignorecase = ignorecase_save
|
||||
endtry
|
||||
endfunction
|
||||
|
||||
function! GetLuaIndentIntern()
|
||||
" Find a non-blank line above the current line.
|
||||
let prevlnum = prevnonblank(v:lnum - 1)
|
||||
|
||||
@@ -41,7 +51,7 @@ function! GetLuaIndent()
|
||||
let prevline = getline(prevlnum)
|
||||
let midx = match(prevline, '^\s*\%(if\>\|for\>\|while\>\|repeat\>\|else\>\|elseif\>\|do\>\|then\>\)')
|
||||
if midx == -1
|
||||
let midx = match(prevline, '{\s*$')
|
||||
let midx = match(prevline, '{\s*\%(--\%([^[].*\)\?\)\?$')
|
||||
if midx == -1
|
||||
let midx = match(prevline, '\<function\>\s*\%(\k\|[.:]\)\{-}\s*(')
|
||||
endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim indent file
|
||||
" Language: Mail
|
||||
" Maintainer: Bram Moolenaar
|
||||
" Last Change: 2021 Sep 26
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2023 Aug 13
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
|
||||
@@ -15,7 +15,7 @@ setlocal nosmartindent
|
||||
setlocal noautoindent
|
||||
setlocal indentexpr=GetNsisIndent(v:lnum)
|
||||
setlocal indentkeys=!^F,o,O
|
||||
setlocal indentkeys+==~${Else,=~${EndIf,=~${EndUnless,=~${AndIf,=~${AndUnless,=~${OrIf,=~${OrUnless,=~${Case,=~${Default,=~${EndSelect,=~${EndSwith,=~${Loop,=~${Next,=~${MementoSectionEnd,=~FunctionEnd,=~SectionEnd,=~SectionGroupEnd,=~PageExEnd,0=~!macroend,0=~!if,0=~!else,0=~!endif
|
||||
setlocal indentkeys+==~${Else,=~${EndIf,=~${EndUnless,=~${AndIf,=~${AndUnless,=~${OrIf,=~${OrUnless,=~${Case,=~${Default,=~${EndSelect,=~${EndSwitch,=~${Loop,=~${Next,=~${MementoSectionEnd,=~FunctionEnd,=~SectionEnd,=~SectionGroupEnd,=~PageExEnd,0=~!macroend,0=~!if,0=~!else,0=~!endif
|
||||
|
||||
let b:undo_indent = "setl ai< inde< indk< si<"
|
||||
|
||||
|
||||
@@ -327,13 +327,13 @@ endfun
|
||||
|
||||
function! FindArrowIndent (lnum) " {{{
|
||||
|
||||
let parrentArrowPos = -1
|
||||
let parentArrowPos = -1
|
||||
let cursorPos = -1
|
||||
let lnum = a:lnum
|
||||
while lnum > 1
|
||||
let last_line = getline(lnum)
|
||||
if last_line =~ '^\s*->'
|
||||
let parrentArrowPos = indent(a:lnum)
|
||||
let parentArrowPos = indent(a:lnum)
|
||||
break
|
||||
else
|
||||
|
||||
@@ -355,28 +355,28 @@ function! FindArrowIndent (lnum) " {{{
|
||||
else
|
||||
endif
|
||||
else
|
||||
let parrentArrowPos = -1
|
||||
let parentArrowPos = -1
|
||||
break
|
||||
end
|
||||
endif
|
||||
|
||||
if cleanedLnum =~ '->'
|
||||
call cursor(lnum, cursorPos == -1 ? strwidth(cleanedLnum) : cursorPos)
|
||||
let parrentArrowPos = searchpos('->', 'cWb', lnum)[1] - 1
|
||||
let parentArrowPos = searchpos('->', 'cWb', lnum)[1] - 1
|
||||
|
||||
break
|
||||
else
|
||||
let parrentArrowPos = -1
|
||||
let parentArrowPos = -1
|
||||
break
|
||||
endif
|
||||
endif
|
||||
endwhile
|
||||
|
||||
if parrentArrowPos == -1
|
||||
let parrentArrowPos = indent(lnum) + shiftwidth()
|
||||
if parentArrowPos == -1
|
||||
let parentArrowPos = indent(lnum) + shiftwidth()
|
||||
end
|
||||
|
||||
return parrentArrowPos
|
||||
return parentArrowPos
|
||||
endfun "}}}
|
||||
|
||||
function! FindTheIfOfAnElse (lnum, StopAfterFirstPrevElse) " {{{
|
||||
|
||||
59
runtime/indent/qml.vim
Normal file
59
runtime/indent/qml.vim
Normal file
@@ -0,0 +1,59 @@
|
||||
" Vim indent file
|
||||
" Language: QML
|
||||
" Maintainer: Chase Knowlden <haroldknowlden@gmail.com>
|
||||
" Last Change: 2023 Aug 16
|
||||
"
|
||||
" Improved JavaScript indent script.
|
||||
|
||||
" Indent script in place for this already?
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
let b:undo_indent = "setlocal indentexpr< indentkeys<"
|
||||
|
||||
setlocal indentexpr=s:GetQmlIndent()
|
||||
setlocal indentkeys=0{,0},0),0],:,!^F,o,O,e,*<Return>,=*/
|
||||
|
||||
" Only define functions once per session
|
||||
if exists("*s:GetQmlIndent")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Clean up a line of code by removing trailing '//' and '/* */' comments, and trimming
|
||||
" whitespace
|
||||
function! s:Trim(line)
|
||||
return substitute(substitute(substitute(a:line, '// .*', '', ''), '/\* .* \*/', '', ''), '^\s*\|\s*$', '', 'g')
|
||||
endfunction
|
||||
|
||||
function! s:GetQmlIndent()
|
||||
let num = v:lnum
|
||||
let line = s:Trim(getline(num))
|
||||
|
||||
let pnum = prevnonblank(num - 1)
|
||||
if pnum == 0
|
||||
return 0
|
||||
endif
|
||||
let pline = s:Trim(getline(pnum))
|
||||
|
||||
let ind = indent(pnum)
|
||||
|
||||
" bracket/brace/paren blocks
|
||||
if pline =~ '[{[(]$'
|
||||
let ind += &sw
|
||||
endif
|
||||
if line =~ '^[}\])]'
|
||||
let ind -= &sw
|
||||
endif
|
||||
|
||||
" '/*' comments
|
||||
if pline =~ '^/\*.*\*/'
|
||||
" no indent for single-line form
|
||||
elseif pline =~ '^/\*'
|
||||
let ind += 1
|
||||
elseif pline =~ '^\*/'
|
||||
let ind -= 1
|
||||
endif
|
||||
|
||||
return ind
|
||||
endfunction
|
||||
@@ -146,7 +146,7 @@ endfunction
|
||||
|
||||
" Returns the length of the line until a:str occur outside a string or
|
||||
" comment. Search starts at string index a:startIdx.
|
||||
" If a:str is a word also add word bounderies and case insesitivity.
|
||||
" If a:str is a word also add word boundaries and case insensitivity.
|
||||
" Note: rapidTodoComment and rapidDebugComment are not taken into account.
|
||||
function s:RapidLenTilStr(lnum, str, startIdx) abort
|
||||
|
||||
@@ -179,8 +179,8 @@ function s:RapidLenTilStr(lnum, str, startIdx) abort
|
||||
return -1
|
||||
endfunction
|
||||
|
||||
" a:lchar shoud be one of (, ), [, ], { or }
|
||||
" returns the number of opening/closing parenthesise which have no
|
||||
" a:lchar should be one of (, ), [, ], { or }
|
||||
" returns the number of opening/closing parentheses which have no
|
||||
" closing/opening match in getline(a:lnum)
|
||||
function s:RapidLoneParen(lnum,lchar) abort
|
||||
if a:lchar == "(" || a:lchar == ")"
|
||||
@@ -205,7 +205,7 @@ function s:RapidLoneParen(lnum,lchar) abort
|
||||
endif
|
||||
|
||||
let l:opnParen = 0
|
||||
" count opening brakets
|
||||
" count opening brackets
|
||||
let l:i = 0
|
||||
while l:i >= 0
|
||||
let l:i = s:RapidLenTilStr(a:lnum, l:opnParChar, l:i)
|
||||
@@ -216,7 +216,7 @@ function s:RapidLoneParen(lnum,lchar) abort
|
||||
endwhile
|
||||
|
||||
let l:clsParen = 0
|
||||
" count closing brakets
|
||||
" count closing brackets
|
||||
let l:i = 0
|
||||
while l:i >= 0
|
||||
let l:i = s:RapidLenTilStr(a:lnum, l:clsParChar, l:i)
|
||||
@@ -242,7 +242,7 @@ function s:RapidPreNoneBlank(lnum) abort
|
||||
let nPreNoneBlank = prevnonblank(a:lnum)
|
||||
|
||||
while nPreNoneBlank>0 && getline(nPreNoneBlank) =~ '\v\c^\s*(\%\%\%|!)'
|
||||
" Previouse none blank line irrelevant. Look further aback.
|
||||
" Previous none blank line irrelevant. Look further aback.
|
||||
let nPreNoneBlank = prevnonblank(nPreNoneBlank - 1)
|
||||
endwhile
|
||||
|
||||
|
||||
@@ -132,6 +132,22 @@ function GetRustIndent(lnum)
|
||||
return indent(prevlinenum) + 6
|
||||
endif
|
||||
|
||||
"match newline after struct with generic bound like
|
||||
"struct SomeThing<T>
|
||||
"| <-- newline indent should same as prevline
|
||||
if prevline[len(prevline) - 1] == ">"
|
||||
\ && prevline =~# "\s*struct.*>$"
|
||||
return indent(prevlinenum)
|
||||
endif
|
||||
|
||||
"match newline after where like:
|
||||
"struct SomeThing<T>
|
||||
"where
|
||||
" T: Display,
|
||||
if prevline =~# '^\s*where$'
|
||||
return indent(prevlinenum) + 4
|
||||
endif
|
||||
|
||||
if prevline[len(prevline) - 1] == ","
|
||||
\ && s:get_line_trimmed(a:lnum) !~ '^\s*[\[\]{}]'
|
||||
\ && prevline !~ '^\s*fn\s'
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
" Vim indent file
|
||||
" Language: Solidity
|
||||
" Acknowledgement: Based off of vim-javascript
|
||||
" Maintainer: Cothi (jiungdev@gmail.com)
|
||||
" Original Author: tomlion (https://github.com/tomlion/vim-solidity)
|
||||
" Last Changed: 2022 Sep 27
|
||||
" Language: Solidity
|
||||
" Maintainer: Cothi (jiungdev@gmail.com)
|
||||
" Original Author: tomlion (https://github.com/tomlion/vim-solidity)
|
||||
" Last Change: 2022 Sep 27
|
||||
" 2023 Aug 22 Vim Project (undo_indent)
|
||||
"
|
||||
" Acknowledgement: Based off of vim-javascript
|
||||
"
|
||||
" 0. Initialization {{{1
|
||||
" =================
|
||||
@@ -20,6 +22,8 @@ setlocal nosmartindent
|
||||
setlocal indentexpr=GetSolidityIndent()
|
||||
setlocal indentkeys=0{,0},0),0],0\,,!^F,o,O,e
|
||||
|
||||
let b:undo_indent = "setlocal indentexpr< indentkeys< smartindent<"
|
||||
|
||||
" Only define the function once.
|
||||
if exists("*GetSolidityIndent")
|
||||
finish
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim Keymap file for latin1 accents through dead characters
|
||||
" Maintainer: Bram Moolenaar
|
||||
" Last Change: 2006 Mar 29
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2023 Aug 13
|
||||
|
||||
" All characters are given literally, conversion to another encoding (e.g.,
|
||||
" UTF-8) should work.
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Maintainer: Antonio Colombo <azc100@gmail.com>
|
||||
" Vlad Sandrini <vlad.gently@gmail.com>
|
||||
" Luciano Montanaro <mikelima@cirulla.net>
|
||||
" Last Change: 2022 Jun 17
|
||||
" Last Change: 2023 Aug 22
|
||||
" Original translations
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
@@ -20,7 +20,7 @@ menut &Help &Aiuto
|
||||
|
||||
menut &Overview<Tab><F1> &Panoramica<Tab><F1>
|
||||
menut &User\ Manual Manuale\ &Utente
|
||||
menut &How-to\ links Co&Me\.\.\.
|
||||
menut &How-To\ Links Co&Me\.\.\.
|
||||
menut &Find\.\.\. &Cerca\.\.\.
|
||||
menut &Credits Cr&Editi
|
||||
menut Co&pying C&Opie
|
||||
@@ -29,7 +29,7 @@ menut O&rphans O&Rfani
|
||||
menut &Version &Versione
|
||||
menut &About &Intro
|
||||
|
||||
let g:menutrans_help_dialog = "Batti un comando o una parola per cercare aiuto:\n\nPremetti i_ per comandi in modo Input (p.es.: i_CTRL-X)\nPremetti c_ per comandi che editano la linea-comandi (p.es.: c_<Del>)\nPremetti ' per un nome di opzione (p.es.: 'shiftwidth')"
|
||||
let g:menutrans_help_dialog = "Batti un comando o una parola per cercare aiuto su:\n\nPremetti i_ per comandi in modo Input (p.es.: i_CTRL-X)\nPremetti c_ per comandi che editano la linea-comandi (p.es.: c_<Del>)\nPremetti ' per un nome di opzione (p.es.: 'shiftwidth')"
|
||||
|
||||
" File / File
|
||||
menut &File &File
|
||||
@@ -68,7 +68,6 @@ menut Find\ and\ Rep&lace\.\.\.<Tab>:s &Sostituisci\.\.\.<Tab>:s
|
||||
menut Settings\ &Window &Finestra\ Impostazioni
|
||||
menut Startup\ &Settings Impostazioni\ di\ &Avvio
|
||||
menut &Global\ Settings Impostazioni\ &Globali
|
||||
menut Question Domanda
|
||||
|
||||
" Edit / Modifica / Impostazioni Globali
|
||||
|
||||
@@ -80,7 +79,7 @@ menut &Context\ lines &Linee\ di\ contesto
|
||||
|
||||
menut &Virtual\ Edit &Edit\ virtuale
|
||||
menut Never Mai
|
||||
menut Block\ Selection Selezione\ Blocco
|
||||
menut Block\ Selection Seleziona\ Blocco
|
||||
menut Insert\ mode Modo\ Insert
|
||||
menut Block\ and\ Insert Selezione\ Blocco\ e\ Inserimento
|
||||
menut Always Sempre
|
||||
@@ -167,7 +166,7 @@ menut &File\ Format\.\.\. Formato\ &File\.\.\.
|
||||
|
||||
let g:menutrans_textwidth_dialog = "Batti nuova lunghezza linea (0 per inibire la formattazione): "
|
||||
let g:menutrans_fileformat_dialog = "Scegli formato con cui scrivere il file"
|
||||
let g:menutrans_fileformat_choices = " &Unix \n &Dos \n &Mac \n &Annullare "
|
||||
let g:menutrans_fileformat_choices = " &Unix\n&Dos\n&Mac\n&Annullare "
|
||||
|
||||
menut Show\ C&olor\ Schemes\ in\ Menu Mostra\ Schemi\ C&olore\ in\ Menù
|
||||
menut C&olor\ Scheme Schema\ c&Olori
|
||||
@@ -180,8 +179,12 @@ menut evening sera
|
||||
menut industry industria
|
||||
menut morning mattino
|
||||
menut peachpuff pesca
|
||||
menut quiet quieto
|
||||
menut shine brillante
|
||||
menut sorbet sorbetto
|
||||
menut slate ardesia
|
||||
menut torte torta
|
||||
menut wildcharm fascino\ selvaggio
|
||||
menut BLUE BLÙ
|
||||
menut DARKBLUE BLÙ\ SCURO
|
||||
menut DESERT DESERTO
|
||||
@@ -190,8 +193,12 @@ menut EVENING SERA
|
||||
menut INDUSTRY INDUSTRIA
|
||||
menut MORNING MATTINO
|
||||
menut PEACHPUFF PESCA
|
||||
menut QUIET QUIETO
|
||||
menut SHINE BRILLANTE
|
||||
menut SORBET SORBETTO
|
||||
menut SLATE ARDESIA
|
||||
menut TORTE TORTA
|
||||
menut WILDCHARM FASCINO\ SELVAGGIO
|
||||
|
||||
menut Show\ &Keymaps\ in\ Menu Mostra\ Ma&ppe\ tastiera\ in\ Menù
|
||||
menut &Keymap Ma&ppa\ tastiera
|
||||
@@ -202,29 +209,105 @@ menut arabic arabo
|
||||
menut armenian-eastern armeno-orientale
|
||||
menut armenian-western armeno-occidentale
|
||||
menut belarusian-jcuken bielorusso-jcuken
|
||||
menut bulgarian-bds bulgaro-bds
|
||||
menut bulgarian-phonetic bulgaro-fonetico
|
||||
menut canfr-win franco-canadese-win
|
||||
menut croatian croato
|
||||
menut czech ceco
|
||||
menut dvorak tastiera-dvorak
|
||||
menut esperanto esperanto
|
||||
menut french-azerty francese-azerty
|
||||
menut german-qwertz tedesco-qwertz
|
||||
menut greek greco
|
||||
menut hebrew ebraico
|
||||
menut hebrewp ebraicop
|
||||
menut kana kana
|
||||
menut kazakh-jcuken kazako-jcuken
|
||||
menut korean coreano
|
||||
menut korean-dubeolsik coreano-dubeolsik
|
||||
menut lithuanian-baltic lituano-baltico
|
||||
menut magyar ungherese
|
||||
menut mongolian mongolo
|
||||
menut oldturkic-orkhon turco-antico-orkhon
|
||||
menut oldturkic-yenisei turco-antico-yenisei
|
||||
menut persian persiano
|
||||
menut persian-iranian persiano-iraniano
|
||||
menut pinyin pinyin
|
||||
menut polish-slash polacco-slash
|
||||
menut russian-dvorak russo-dvorak
|
||||
menut russian-jcuken russo-jcuken
|
||||
menut russian-jcukenmac russo-jcukenmac
|
||||
menut russian-jcukenwin russo-jcukenwin
|
||||
menut russian-jcukenwintype russo-jcukenwintype
|
||||
menut russian-typograph russo-tipografico
|
||||
menut russian-yawerty russo-yawerty
|
||||
menut serbian serbo
|
||||
menut serbian-latin serbo-latino
|
||||
menut sinhala singalese
|
||||
menut sinhala-phonetic singalese-phonetic
|
||||
menut slovak slovacco
|
||||
menut tamil tamil
|
||||
menut thaana thaana
|
||||
menut thaana-phonetic thaana-fonetico
|
||||
menut turkish-f turco-f
|
||||
menut turkish-q turco-q
|
||||
menut ukrainian-dvorak ukraino-dvorak
|
||||
menut ukrainian-jcuken ukraino-jcuken
|
||||
menut vietnamese-telex vietnamita-telex
|
||||
menut vietnamese-viqr vietnamita-viqr
|
||||
menut vietnamese-vni vietnamita-vni
|
||||
menut ACCENTS ACCENTI
|
||||
menut ARABIC ARABO
|
||||
menut ARMENIAN-EASTERN ARMENO-ORIENTALE
|
||||
menut ARMENIAN-WESTERN ARMENO-OCCIDENTALE
|
||||
menut BELARUSIAN-JCUKEN BIELORUSSO-JCUKEN
|
||||
menut BULGARIAN-BDS BULGARO-BDS
|
||||
menut BULGARIAN-PHONETIC BULGARO-FONETICO
|
||||
menut CANFR-WIN FRANCO-CANADESE-WIN
|
||||
menut CROATIAN CROATO
|
||||
menut CZECH CECO
|
||||
menut DVORAK TASTIERA-DVORAK
|
||||
menut ESPERANTO ESPERANTO
|
||||
menut FRENCH-AZERTY FRANCESE-AZERTY
|
||||
menut GERMAN-QWERTZ TEDESCO-QWERTZ
|
||||
menut GREEK GRECO
|
||||
menut HEBREW EBRAICO
|
||||
menut HEBREWP EBRAICOP
|
||||
menut KANA KANA
|
||||
menut KAZAKH-JCUKEN KAZAKO-JCUKEN
|
||||
menut KOREAN COREANO
|
||||
menut KOREAN-DUBEOLSIK COREANO-DUBEOLSIK
|
||||
menut LITHUANIAN-BALTIC LITUANO-BALTICO
|
||||
menut MAGYAR UNGHERESE
|
||||
menut MONGOLIAN MONGOLO
|
||||
menut OLDTURKIC-ORKHON TURCO-ANTICO-ORKHON
|
||||
menut OLDTURKIC-YENISEI TURCO-ANTICO-YENISEI
|
||||
menut PERSIAN PERSIANO
|
||||
menut PERSIAN-IRANIAN PERSIANO-IRANIANO
|
||||
menut PINYIN PINYIN
|
||||
menut POLISH-SLASH POLACCO-SLASH
|
||||
menut RUSSIAN-DVORAK RUSSO-DVORAK
|
||||
menut RUSSIAN-JCUKEN RUSSO-JCUKEN
|
||||
menut RUSSIAN-JCUKENMAC RUSSO-JCUKENMAC
|
||||
menut RUSSIAN-JCUKENWIN RUSSO-JCUKENWIN
|
||||
menut RUSSIAN-JCUKENWINTYPE RUSSO-JCUKENWINTYPE
|
||||
menut RUSSIAN-TYPOGRAPH RUSSO-TIPOGRAFICO
|
||||
menut RUSSIAN-YAWERTY RUSSO-YAWERTY
|
||||
menut SERBIAN SERBO
|
||||
menut SERBIAN-LATIN SERBO-LATINO
|
||||
menut SINHALA SINGALESE
|
||||
menut SINHALA-PHONETIC SINGALESE-PHONETIC
|
||||
menut SLOVAK SLOVACCO
|
||||
menut TAMIL TAMIL
|
||||
menut THAANA THAANA
|
||||
menut THAANA-PHONETIC THAANA-FONETICO
|
||||
menut TURKISH-F TURCO-F
|
||||
menut TURKISH-Q TURCO-Q
|
||||
menut UKRAINIAN-DVORAK UKRAINO-DVORAK
|
||||
menut UKRAINIAN-JCUKEN UKRAINO-JCUKEN
|
||||
menut VIETNAMESE-TELEX VIETNAMITA-TELEX
|
||||
menut VIETNAMESE-VIQR VIETNAMITA-VIQR
|
||||
menut VIETNAMESE-VNI VIETNAMITA-VNI
|
||||
|
||||
menut Select\ Fo&nt\.\.\. Scegli\ &Font\.\.\.
|
||||
|
||||
@@ -233,7 +316,7 @@ menut &Tools &Strumenti
|
||||
|
||||
menut &Jump\ to\ this\ tag<Tab>g^] &Vai\ a\ questa\ tag<Tab>g^]
|
||||
menut Jump\ &back<Tab>^T Torna\ &Indietro<Tab>^T
|
||||
menut Build\ &Tags\ File Costruisci\ file\ &Tags\
|
||||
menut Build\ &Tags\ File Costruisci\ file\ &Tag\
|
||||
" Menù ortografia / Spelling
|
||||
menut &Spelling &Ortografia
|
||||
|
||||
@@ -243,6 +326,7 @@ menut To\ &Next\ error<Tab>]s Errore\ &Seguente<tab>]s
|
||||
menut To\ &Previous\ error<Tab>[s Errore\ &Precedente<tab>[s
|
||||
menut Suggest\ &Corrections<Tab>z= &Suggerimenti<Tab>z=
|
||||
menut &Repeat\ correction<Tab>:spellrepall &Ripeti\ correzione<Tab>:spellrepall
|
||||
menut Set\ language\ to Imposta\ lingua\ a
|
||||
menut Set\ language\ to\ "en" Imposta\ lingua\ a\ "en"
|
||||
menut Set\ language\ to\ "en_au" Imposta\ lingua\ a\ "en_au"
|
||||
menut Set\ language\ to\ "en_ca" Imposta\ lingua\ a\ "en_ca"
|
||||
@@ -255,25 +339,25 @@ menut &Find\ More\ Languages &Trova\ altre\ lingue
|
||||
menut &Folding &Piegature
|
||||
" apri e chiudi piegature
|
||||
menut &Enable/Disable\ folds<Tab>zi Pi&egature\ Sì/No<Tab>zi
|
||||
menut &View\ Cursor\ Line<Tab>zv &Vedi\ linea\ col\ Cursore<Tab>zv
|
||||
menut Vie&w\ Cursor\ Line\ only<Tab>zMzx Vedi\ &Solo\ linea\ col\ Cursore<Tab>zMzx
|
||||
menut C&lose\ more\ folds<Tab>zm C&Hiudi\ più\ piegature<Tab>zm
|
||||
menut &Close\ all\ folds<Tab>zM &Chiudi\ tutte\ le\ piegature<Tab>zM
|
||||
menut O&pen\ more\ folds<Tab>zr A&Pri\ più\ piegature<Tab>zr
|
||||
menut &Open\ all\ folds<Tab>zR &Apri\ tutte\ le\ piegature<Tab>zR
|
||||
menut &View\ Cursor\ Line<Tab>zv &Vedi\ linea\ col\ Cursore<Tab>zv
|
||||
menut Vie&w\ Cursor\ Line\ only<Tab>zMzx Vedi\ &Solo\ linea\ col\ Cursore<Tab>zMzx
|
||||
menut C&lose\ More\ folds<Tab>zm C&Hiudi\ più\ piegature<Tab>zm
|
||||
menut &Close\ All\ folds<Tab>zM &Chiudi\ tutte\ le\ piegature<Tab>zM
|
||||
menut O&pen\ More\ folds<Tab>zr A&Pri\ più\ piegature<Tab>zr
|
||||
menut &Open\ All\ folds<Tab>zR &Apri\ tutte\ le\ piegature<Tab>zR
|
||||
" metodo piegatura
|
||||
menut Fold\ Met&hod Meto&Do\ piegatura
|
||||
menut M&anual &Manuale
|
||||
menut I&ndent &Nidificazione
|
||||
menut E&xpression &Espressione\ Reg\.
|
||||
menut E&xpression &Espressione\ Reg\.
|
||||
menut S&yntax &Sintassi
|
||||
menut &Diff &Differenza
|
||||
menut Ma&rker Mar&Catura
|
||||
|
||||
" crea e cancella piegature
|
||||
menut Create\ &Fold<Tab>zf Crea\ &Piegatura<Tab>zf
|
||||
menut &Delete\ Fold<Tab>zd &Leva\ piegatura<Tab>zd
|
||||
menut Delete\ &All\ Folds<Tab>zD Leva\ &Tutte\ le\ piegature<Tab>zD
|
||||
menut &Delete\ Fold<Tab>zd &Togli\ piegatura<Tab>zd
|
||||
menut Delete\ &All\ Folds<Tab>zD Togli\ &Tutte\ le\ piegature<Tab>zD
|
||||
" movimenti all'interno delle piegature
|
||||
menut Fold\ col&umn\ width Larghezza\ piegat&Ure\ in\ colonne
|
||||
|
||||
@@ -285,9 +369,9 @@ menut &Put\ Block &Esporta\ differenze
|
||||
|
||||
menut &Make<Tab>:make Esegui\ &Make<Tab>:make
|
||||
|
||||
menut &List\ Errors<Tab>:cl Lista\ &Errori<Tab>:cl
|
||||
menut &List\ Errors<Tab>:cl Lista\ &Errori<Tab>:cl
|
||||
menut L&ist\ Messages<Tab>:cl! Lista\ &Messaggi<Tab>:cl!
|
||||
menut &Next\ Error<Tab>:cn Errore\ s&Uccessivo<Tab>:cn
|
||||
menut &Next\ Error<Tab>:cn Errore\ s&Uccessivo<Tab>:cn
|
||||
menut &Previous\ Error<Tab>:cp Errore\ &Precedente<Tab>:cp
|
||||
menut &Older\ List<Tab>:cold Lista\ men&O\ recente<Tab>:cold
|
||||
menut N&ewer\ List<Tab>:cnew Lista\ più\ rece&Nte<Tab>:cnew
|
||||
@@ -302,11 +386,12 @@ menut &Convert\ to\ HEX<Tab>:%!xxd &Converti\ a\ esadecimale<Tab>:%!xxd
|
||||
menut Conve&rt\ back<Tab>:%!xxd\ -r Conve&rti\ da\ esadecimale<Tab>:%!xxd\ -r
|
||||
|
||||
menut Se&T\ Compiler Impo&Sta\ Compilatore
|
||||
menut Show\ Compiler\ Se&ttings\ in\ Menu Mostra\ Impos&Tazioni\ Compilatore\ nel\ Menù
|
||||
|
||||
" Buffers / Buffer
|
||||
menut &Buffers &Buffer
|
||||
|
||||
menut &Refresh\ menu A&ggiorna\ menù
|
||||
menut &Refresh\ menu A&Ggiorna\ menù
|
||||
menut &Delete &Elimina
|
||||
menut &Alternate &Alternato
|
||||
menut &Next &Successivo
|
||||
@@ -352,10 +437,10 @@ menut &Right\ side<Tab>^WL Lato\ &Destro<Tab>^WL
|
||||
menut Rotate\ &Up<Tab>^WR Ruota\ verso\ l'&Alto<Tab>^WR
|
||||
menut Rotate\ &Down<Tab>^Wr Ruota\ verso\ il\ &Basso<Tab>^Wr
|
||||
menut &Equal\ Size<Tab>^W= &Uguale\ ampiezza<Tab>^W=
|
||||
menut &Max\ Height<Tab>^W_ &Altezza\ massima<Tab>^W_
|
||||
menut M&in\ Height<Tab>^W1_ A&Ltezza\ minima<Tab>^W1_
|
||||
menut Max\ &Width<Tab>^W\| Larghezza\ massima<Tab>^W\|
|
||||
menut Min\ Widt&h<Tab>^W1\| Larghezza\ minima<Tab>^W1\|
|
||||
menut &Max\ Height<Tab>^W_ A&Ltezza\ massima<Tab>^W_
|
||||
menut M&in\ Height<Tab>^W1_ Al&Tezza\ minima<Tab>^W1_
|
||||
menut Max\ &Width<Tab>^W\| Lar&Ghezza\ massima<Tab>^W\|
|
||||
menut Min\ Widt&h<Tab>^W1\| Larg&hhezza\ minima<Tab>^W1\|
|
||||
|
||||
" The popup menu
|
||||
menut &Undo &Annulla
|
||||
@@ -363,11 +448,13 @@ menut Cu&t &Taglia
|
||||
menut &Copy &Copia
|
||||
menut &Paste &Incolla
|
||||
menut &Delete &Elimina
|
||||
menut Select\ Blockwise Seleziona\ in\ blocco
|
||||
menut Select\ Blockwise Seleziona\ Blocco
|
||||
menut Select\ &Word Seleziona\ &Parola
|
||||
menut Select\ &Line Seleziona\ &Linea
|
||||
menut Select\ &Line Seleziona\ &Riga
|
||||
menut Select\ &Block Seleziona\ &Blocco
|
||||
menut Select\ &All Seleziona\ t&Utto
|
||||
menut Select\ &All Seleziona\ &Tutto
|
||||
menut Select\ &Sentence Seleziona\ &Frase
|
||||
menut Select\ Pa&ragraph Seleziona\ Para&Grafo
|
||||
|
||||
" The GUI Toolbar / Barra Strumenti
|
||||
menut Open Apri
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Menu Translations: Nederlands
|
||||
" Maintainer: Bram Moolenaar
|
||||
" Last Change: 2012 May 01
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2023 Aug 13
|
||||
" Original translations
|
||||
|
||||
" Quit when menu translations have already been done.
|
||||
|
||||
@@ -122,7 +122,7 @@ enddef
|
||||
" File menu
|
||||
an 10.310 &File.&Open\.\.\.<Tab>:e :browse confirm e<CR>
|
||||
an 10.320 &File.Sp&lit-Open\.\.\.<Tab>:sp :browse sp<CR>
|
||||
an 10.320 &File.Open\ Tab\.\.\.<Tab>:tabnew :browse tabnew<CR>
|
||||
an 10.320 &File.Open\ &Tab\.\.\.<Tab>:tabnew :browse tabnew<CR>
|
||||
an 10.325 &File.&New<Tab>:enew :confirm enew<CR>
|
||||
an <silent> 10.330 &File.&Close<Tab>:close
|
||||
\ :if winheight(2) < 0 && tabpagewinnr(2) == 0 <Bar>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
vim9script
|
||||
|
||||
# cfilter.vim: Plugin to filter entries from a quickfix/location list
|
||||
# Last Change: Jun 30, 2022
|
||||
# Last Change: August 16, 2023
|
||||
# Maintainer: Yegappan Lakshmanan (yegappan AT yahoo DOT com)
|
||||
# Version: 2.0
|
||||
#
|
||||
@@ -31,11 +31,11 @@ def Qf_filter(qf: bool, searchpat: string, bang: string)
|
||||
if qf
|
||||
Xgetlist = function('getqflist')
|
||||
Xsetlist = function('setqflist')
|
||||
cmd = ':Cfilter' .. bang
|
||||
cmd = $':Cfilter{bang}'
|
||||
else
|
||||
Xgetlist = function('getloclist', [0])
|
||||
Xsetlist = function('setloclist', [0])
|
||||
cmd = ':Lfilter' .. bang
|
||||
cmd = $':Lfilter{bang}'
|
||||
endif
|
||||
|
||||
firstchar = searchpat[0]
|
||||
@@ -62,7 +62,7 @@ def Qf_filter(qf: bool, searchpat: string, bang: string)
|
||||
endif
|
||||
|
||||
items = filter(Xgetlist(), Cond)
|
||||
title = cmd .. ' /' .. pat .. '/'
|
||||
title = $'{cmd} /{pat}/'
|
||||
Xsetlist([], ' ', {title: title, items: items})
|
||||
enddef
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim Plugin: Edit the file with an existing Vim if possible
|
||||
" Maintainer: Bram Moolenaar
|
||||
" Last Change: 2022 Jun 17
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2023 Aug 13
|
||||
|
||||
" To use add ":packadd! editexisting" in your vimrc file.
|
||||
|
||||
|
||||
355
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
vendored
355
runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
vendored
@@ -2,7 +2,7 @@
|
||||
"
|
||||
" Author: Bram Moolenaar
|
||||
" Copyright: Vim license applies, see ":help license"
|
||||
" Last Change: 2023 Jun 24
|
||||
" Last Change: 2023 Aug 23
|
||||
"
|
||||
" WORK IN PROGRESS - The basics works stable, more to come
|
||||
" Note: In general you need at least GDB 7.12 because this provides the
|
||||
@@ -69,6 +69,7 @@ let s:pc_id = 12
|
||||
let s:asm_id = 13
|
||||
let s:break_id = 14 " breakpoint number is added to this
|
||||
let s:stopped = 1
|
||||
let s:running = 0
|
||||
|
||||
let s:parsing_disasm_msg = 0
|
||||
let s:asm_lines = []
|
||||
@@ -121,6 +122,10 @@ func s:GetCommand()
|
||||
return type(cmd) == v:t_list ? copy(cmd) : [cmd]
|
||||
endfunc
|
||||
|
||||
func s:Echoerr(msg)
|
||||
echohl ErrorMsg | echom '[termdebug] ' .. a:msg | echohl None
|
||||
endfunc
|
||||
|
||||
func s:StartDebug(bang, ...)
|
||||
" First argument is the command to debug, second core file or process ID.
|
||||
call s:StartDebug_internal({'gdb_args': a:000, 'bang': a:bang})
|
||||
@@ -133,18 +138,21 @@ endfunc
|
||||
|
||||
func s:StartDebug_internal(dict)
|
||||
if exists('s:gdbwin')
|
||||
echoerr 'Terminal debugger already running, cannot run two'
|
||||
call s:Echoerr('Terminal debugger already running, cannot run two')
|
||||
return
|
||||
endif
|
||||
let gdbcmd = s:GetCommand()
|
||||
if !executable(gdbcmd[0])
|
||||
echoerr 'Cannot execute debugger program "' .. gdbcmd[0] .. '"'
|
||||
call s:Echoerr('Cannot execute debugger program "' .. gdbcmd[0] .. '"')
|
||||
return
|
||||
endif
|
||||
|
||||
let s:ptywin = 0
|
||||
let s:pid = 0
|
||||
let s:asmwin = 0
|
||||
let s:asmbuf = 0
|
||||
let s:varwin = 0
|
||||
let s:varbuf = 0
|
||||
|
||||
if exists('#User#TermdebugStartPre')
|
||||
doauto <nomodeline> User TermdebugStartPre
|
||||
@@ -153,7 +161,7 @@ func s:StartDebug_internal(dict)
|
||||
" Uncomment this line to write logging in "debuglog".
|
||||
" call ch_logfile('debuglog', 'w')
|
||||
|
||||
let s:sourcewin = win_getid(winnr())
|
||||
let s:sourcewin = win_getid()
|
||||
|
||||
" Remember the old value of 'signcolumn' for each buffer that it's set in, so
|
||||
" that we can restore the value for all buffers.
|
||||
@@ -201,11 +209,17 @@ func s:StartDebug_internal(dict)
|
||||
endif
|
||||
|
||||
if s:GetDisasmWindow()
|
||||
let curwinid = win_getid(winnr())
|
||||
let curwinid = win_getid()
|
||||
call s:GotoAsmwinOrCreateIt()
|
||||
call win_gotoid(curwinid)
|
||||
endif
|
||||
|
||||
if s:GetVariablesWindow()
|
||||
let curwinid = win_getid()
|
||||
call s:GotoVariableswinOrCreateIt()
|
||||
call win_gotoid(curwinid)
|
||||
endif
|
||||
|
||||
if exists('#User#TermdebugStartPost')
|
||||
doauto <nomodeline> User TermdebugStartPost
|
||||
endif
|
||||
@@ -215,13 +229,20 @@ endfunc
|
||||
func s:CloseBuffers()
|
||||
exe 'bwipe! ' . s:ptybuf
|
||||
exe 'bwipe! ' . s:commbuf
|
||||
if s:asmbuf > 0 && bufexists(s:asmbuf)
|
||||
exe 'bwipe! ' . s:asmbuf
|
||||
endif
|
||||
if s:varbuf > 0 && bufexists(s:varbuf)
|
||||
exe 'bwipe! ' . s:varbuf
|
||||
endif
|
||||
let s:running = 0
|
||||
unlet! s:gdbwin
|
||||
endfunc
|
||||
|
||||
func s:CheckGdbRunning()
|
||||
let gdbproc = term_getjob(s:gdbbuf)
|
||||
if gdbproc == v:null || job_status(gdbproc) !=# 'run'
|
||||
echoerr string(s:GetCommand()[0]) . ' exited unexpectedly'
|
||||
call s:Echoerr(string(s:GetCommand()[0]) . ' exited unexpectedly')
|
||||
call s:CloseBuffers()
|
||||
return ''
|
||||
endif
|
||||
@@ -235,11 +256,11 @@ func s:StartDebug_term(dict)
|
||||
\ 'vertical': s:vertical,
|
||||
\ })
|
||||
if s:ptybuf == 0
|
||||
echoerr 'Failed to open the program terminal window'
|
||||
call s:Echoerr('Failed to open the program terminal window')
|
||||
return
|
||||
endif
|
||||
let pty = job_info(term_getjob(s:ptybuf))['tty_out']
|
||||
let s:ptywin = win_getid(winnr())
|
||||
let s:ptywin = win_getid()
|
||||
if s:vertical
|
||||
" Assuming the source code window will get a signcolumn, use two more
|
||||
" columns for that, thus one less for the terminal window.
|
||||
@@ -257,7 +278,7 @@ func s:StartDebug_term(dict)
|
||||
\ 'hidden': 1,
|
||||
\ })
|
||||
if s:commbuf == 0
|
||||
echoerr 'Failed to open the communication terminal window'
|
||||
call s:Echoerr('Failed to open the communication terminal window')
|
||||
exe 'bwipe! ' . s:ptybuf
|
||||
return
|
||||
endif
|
||||
@@ -298,11 +319,11 @@ func s:StartDebug_term(dict)
|
||||
\ 'term_finish': 'close',
|
||||
\ })
|
||||
if s:gdbbuf == 0
|
||||
echoerr 'Failed to open the gdb terminal window'
|
||||
call s:Echoerr('Failed to open the gdb terminal window')
|
||||
call s:CloseBuffers()
|
||||
return
|
||||
endif
|
||||
let s:gdbwin = win_getid(winnr())
|
||||
let s:gdbwin = win_getid()
|
||||
|
||||
" Wait for the "startupdone" message before sending any commands.
|
||||
let try_count = 0
|
||||
@@ -350,7 +371,7 @@ func s:StartDebug_term(dict)
|
||||
" response can be in the same line or the next line
|
||||
let response = line1 . line2
|
||||
if response =~ 'Undefined command'
|
||||
echoerr 'Sorry, your gdb is too old, gdb 7.12 is required'
|
||||
call s:Echoerr('Sorry, your gdb is too old, gdb 7.12 is required')
|
||||
" CHECKME: possibly send a "server show version" here
|
||||
call s:CloseBuffers()
|
||||
return
|
||||
@@ -369,7 +390,7 @@ func s:StartDebug_term(dict)
|
||||
endif
|
||||
let try_count += 1
|
||||
if try_count > 100
|
||||
echoerr 'Cannot check if your gdb works, continuing anyway'
|
||||
call s:Echoerr('Cannot check if your gdb works, continuing anyway')
|
||||
break
|
||||
endif
|
||||
sleep 10m
|
||||
@@ -390,7 +411,7 @@ func s:StartDebug_prompt(dict)
|
||||
else
|
||||
new
|
||||
endif
|
||||
let s:gdbwin = win_getid(winnr())
|
||||
let s:gdbwin = win_getid()
|
||||
let s:promptbuf = bufnr('')
|
||||
call prompt_setprompt(s:promptbuf, 'gdb> ')
|
||||
set buftype=prompt
|
||||
@@ -428,10 +449,12 @@ func s:StartDebug_prompt(dict)
|
||||
\ 'out_cb': function('s:GdbOutCallback'),
|
||||
\ })
|
||||
if job_status(s:gdbjob) != "run"
|
||||
echoerr 'Failed to start gdb'
|
||||
call s:Echoerr('Failed to start gdb')
|
||||
exe 'bwipe! ' . s:promptbuf
|
||||
return
|
||||
endif
|
||||
exe $'au BufUnload <buffer={s:promptbuf}> ++once ' ..
|
||||
\ 'call job_stop(s:gdbjob, ''kill'')'
|
||||
" Mark the buffer modified so that it's not easy to close.
|
||||
set modified
|
||||
let s:gdb_channel = job_getchannel(s:gdbjob)
|
||||
@@ -447,11 +470,11 @@ func s:StartDebug_prompt(dict)
|
||||
\ 'term_name': 'debugged program',
|
||||
\ })
|
||||
if s:ptybuf == 0
|
||||
echoerr 'Failed to open the program terminal window'
|
||||
call s:Echoerr('Failed to open the program terminal window')
|
||||
call job_stop(s:gdbjob)
|
||||
return
|
||||
endif
|
||||
let s:ptywin = win_getid(winnr())
|
||||
let s:ptywin = win_getid()
|
||||
let pty = job_info(term_getjob(s:ptybuf))['tty_out']
|
||||
call s:SendCommand('tty ' . pty)
|
||||
|
||||
@@ -583,7 +606,7 @@ func s:PromptInterrupt()
|
||||
" Using job_stop() does not work on MS-Windows, need to send SIGTRAP to
|
||||
" the debugger program so that gdb responds again.
|
||||
if s:pid == 0
|
||||
echoerr 'Cannot interrupt gdb, did not find a process ID'
|
||||
call s:Echoerr('Cannot interrupt gdb, did not find a process ID')
|
||||
else
|
||||
call debugbreak(s:pid)
|
||||
endif
|
||||
@@ -596,9 +619,16 @@ endfunc
|
||||
func s:GdbOutCallback(channel, text)
|
||||
call ch_log('received from gdb: ' . a:text)
|
||||
|
||||
" Disassembly messages need to be forwarded as-is.
|
||||
if s:parsing_disasm_msg
|
||||
call s:CommOutput(a:channel, a:text)
|
||||
return
|
||||
end
|
||||
|
||||
" Drop the gdb prompt, we have our own.
|
||||
" Drop status and echo'd commands.
|
||||
if a:text == '(gdb) ' || a:text == '^done' || a:text[0] == '&'
|
||||
if a:text == '(gdb) ' || a:text == '^done' ||
|
||||
\ (a:text[0] == '&' && a:text !~ '^&"disassemble')
|
||||
return
|
||||
endif
|
||||
if a:text =~ '^\^error,msg='
|
||||
@@ -615,7 +645,7 @@ func s:GdbOutCallback(channel, text)
|
||||
return
|
||||
endif
|
||||
|
||||
let curwinid = win_getid(winnr())
|
||||
let curwinid = win_getid()
|
||||
call win_gotoid(s:gdbwin)
|
||||
|
||||
" Add the output above the current prompt.
|
||||
@@ -626,36 +656,38 @@ func s:GdbOutCallback(channel, text)
|
||||
endfunc
|
||||
|
||||
" Decode a message from gdb. "quotedText" starts with a ", return the text up
|
||||
" to the next ", unescaping characters:
|
||||
" to the next unescaped ", unescaping characters:
|
||||
" - remove line breaks (unless "literal" is v:true)
|
||||
" - change \" to "
|
||||
" - change \\t to \t (unless "literal" is v:true)
|
||||
" - change \0xhh to \xhh (disabled for now)
|
||||
" - change \ooo to octal
|
||||
" - change \\ to \
|
||||
func s:DecodeMessage(quotedText, literal)
|
||||
if a:quotedText[0] != '"'
|
||||
echoerr 'DecodeMessage(): missing quote in ' . a:quotedText
|
||||
call s:Echoerr('DecodeMessage(): missing quote in ' . a:quotedText)
|
||||
return
|
||||
endif
|
||||
let msg = a:quotedText
|
||||
\ ->substitute('^"\|".*', '', 'g')
|
||||
" multi-byte characters arrive in octal form
|
||||
" NULL-values must be kept encoded as those break the string otherwise
|
||||
\ ->substitute('^"\|[^\\]\zs".*', '', 'g')
|
||||
\ ->substitute('\\"', '"', 'g')
|
||||
"\ multi-byte characters arrive in octal form
|
||||
"\ NULL-values must be kept encoded as those break the string otherwise
|
||||
\ ->substitute('\\000', s:NullRepl, 'g')
|
||||
\ ->substitute('\\\o\o\o', {-> eval('"' .. submatch(0) .. '"')}, 'g')
|
||||
" Note: GDB docs also mention hex encodings - the translations below work
|
||||
" but we keep them out for performance-reasons until we actually see
|
||||
" those in mi-returns
|
||||
" \ ->substitute('\\0x\(\x\x\)', {-> eval('"\x' .. submatch(1) .. '"')}, 'g')
|
||||
" \ ->substitute('\\0x00', s:NullRepl, 'g')
|
||||
"\ Note: GDB docs also mention hex encodings - the translations below work
|
||||
"\ but we keep them out for performance-reasons until we actually see
|
||||
"\ those in mi-returns
|
||||
"\ \ ->substitute('\\0x\(\x\x\)', {-> eval('"\x' .. submatch(1) .. '"')}, 'g')
|
||||
"\ \ ->substitute('\\0x00', s:NullRepl, 'g')
|
||||
\ ->substitute('\\\\', '\', 'g')
|
||||
\ ->substitute(s:NullRepl, '\\000', 'g')
|
||||
if !a:literal
|
||||
return msg
|
||||
return msg
|
||||
\ ->substitute('\\t', "\t", 'g')
|
||||
\ ->substitute('\\n', '', 'g')
|
||||
else
|
||||
return msg
|
||||
return msg
|
||||
endif
|
||||
endfunc
|
||||
const s:NullRepl = 'XXXNULLXXX'
|
||||
@@ -689,16 +721,22 @@ func s:EndTermDebug(job, status)
|
||||
|
||||
exe 'bwipe! ' . s:commbuf
|
||||
unlet s:gdbwin
|
||||
|
||||
call s:EndDebugCommon()
|
||||
endfunc
|
||||
|
||||
func s:EndDebugCommon()
|
||||
let curwinid = win_getid(winnr())
|
||||
let curwinid = win_getid()
|
||||
|
||||
if exists('s:ptybuf') && s:ptybuf
|
||||
exe 'bwipe! ' . s:ptybuf
|
||||
endif
|
||||
if s:asmbuf > 0 && bufexists(s:asmbuf)
|
||||
exe 'bwipe! ' . s:asmbuf
|
||||
endif
|
||||
if s:varbuf > 0 && bufexists(s:varbuf)
|
||||
exe 'bwipe! ' . s:varbuf
|
||||
endif
|
||||
let s:running = 0
|
||||
|
||||
" Restore 'signcolumn' in all buffers for which it was set.
|
||||
call win_gotoid(s:sourcewin)
|
||||
@@ -746,12 +784,8 @@ func s:EndPromptDebug(job, status)
|
||||
doauto <nomodeline> User TermdebugStopPre
|
||||
endif
|
||||
|
||||
let curwinid = win_getid(winnr())
|
||||
call win_gotoid(s:gdbwin)
|
||||
set nomodified
|
||||
close
|
||||
if curwinid != s:gdbwin
|
||||
call win_gotoid(curwinid)
|
||||
if bufexists(s:promptbuf)
|
||||
exe 'bwipe! ' . s:promptbuf
|
||||
endif
|
||||
|
||||
call s:EndDebugCommon()
|
||||
@@ -761,7 +795,6 @@ endfunc
|
||||
|
||||
" Disassembly window - added by Michael Sartain
|
||||
"
|
||||
" - CommOutput: disassemble $pc
|
||||
" - CommOutput: &"disassemble $pc\n"
|
||||
" - CommOutput: ~"Dump of assembler code for function main(int, char**):\n"
|
||||
" - CommOutput: ~" 0x0000555556466f69 <+0>:\tpush rbp\n"
|
||||
@@ -771,15 +804,14 @@ endfunc
|
||||
" - CommOutput: ~"End of assembler dump.\n"
|
||||
" - CommOutput: ^done
|
||||
|
||||
" - CommOutput: disassemble $pc
|
||||
" - CommOutput: &"disassemble $pc\n"
|
||||
" - CommOutput: &"No function contains specified address.\n"
|
||||
" - CommOutput: ^error,msg="No function contains specified address."
|
||||
func s:HandleDisasmMsg(msg)
|
||||
if a:msg =~ '^\^done'
|
||||
let curwinid = win_getid(winnr())
|
||||
let curwinid = win_getid()
|
||||
if win_gotoid(s:asmwin)
|
||||
silent normal! gg0"_dG
|
||||
silent! %delete _
|
||||
call setline(1, s:asm_lines)
|
||||
set nomodified
|
||||
set filetype=asm
|
||||
@@ -803,12 +835,12 @@ func s:HandleDisasmMsg(msg)
|
||||
call s:SendCommand('disassemble $pc,+100')
|
||||
endif
|
||||
let s:parsing_disasm_msg = 0
|
||||
elseif a:msg =~ '\&\"disassemble \$pc'
|
||||
elseif a:msg =~ '^&"disassemble \$pc'
|
||||
if a:msg =~ '+100'
|
||||
" This is our second disasm attempt
|
||||
let s:parsing_disasm_msg = 2
|
||||
endif
|
||||
else
|
||||
elseif a:msg !~ '^&"disassemble'
|
||||
let value = substitute(a:msg, '^\~\"[ ]*', '', '')
|
||||
let value = substitute(value, '^=>[ ]*', '', '')
|
||||
let value = substitute(value, '\\n\"\r$', '', '')
|
||||
@@ -822,6 +854,49 @@ func s:HandleDisasmMsg(msg)
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func s:ParseVarinfo(varinfo)
|
||||
let dict = {}
|
||||
let nameIdx = matchstrpos(a:varinfo, '{name="\([^"]*\)"')
|
||||
let dict['name'] = a:varinfo[nameIdx[1] + 7 : nameIdx[2] - 2]
|
||||
let typeIdx = matchstrpos(a:varinfo, ',type="\([^"]*\)"')
|
||||
let dict['type'] = a:varinfo[typeIdx[1] + 7 : typeIdx[2] - 2]
|
||||
let valueIdx = matchstrpos(a:varinfo, ',value="\(.*\)"}')
|
||||
if valueIdx[1] == -1
|
||||
let dict['value'] = 'Complex value'
|
||||
else
|
||||
let dict['value'] = a:varinfo[valueIdx[1] + 8 : valueIdx[2] - 3]
|
||||
endif
|
||||
return dict
|
||||
endfunc
|
||||
|
||||
func s:HandleVariablesMsg(msg)
|
||||
let curwinid = win_getid()
|
||||
if win_gotoid(s:varwin)
|
||||
|
||||
silent! %delete _
|
||||
let spaceBuffer = 20
|
||||
call setline(1, 'Type' .
|
||||
\ repeat(' ', 16) .
|
||||
\ 'Name' .
|
||||
\ repeat(' ', 16) .
|
||||
\ 'Value')
|
||||
let cnt = 1
|
||||
let capture = '{name=".\{-}",\%(arg=".\{-}",\)\{0,1\}type=".\{-}"\%(,value=".\{-}"\)\{0,1\}}'
|
||||
let varinfo = matchstr(a:msg, capture, 0, cnt)
|
||||
while varinfo != ''
|
||||
let vardict = s:ParseVarinfo(varinfo)
|
||||
call setline(cnt + 1, vardict['type'] .
|
||||
\ repeat(' ', max([20 - len(vardict['type']), 1])) .
|
||||
\ vardict['name'] .
|
||||
\ repeat(' ', max([20 - len(vardict['name']), 1])) .
|
||||
\ vardict['value'])
|
||||
let cnt += 1
|
||||
let varinfo = matchstr(a:msg, capture, 0, cnt)
|
||||
endwhile
|
||||
endif
|
||||
call win_gotoid(curwinid)
|
||||
endfunc
|
||||
|
||||
" Handle a message received from gdb on the GDB/MI interface.
|
||||
func s:CommOutput(chan, msg)
|
||||
let msgs = split(a:msg, "\r")
|
||||
@@ -849,9 +924,12 @@ func s:CommOutput(chan, msg)
|
||||
call s:HandleEvaluate(msg)
|
||||
elseif msg =~ '^\^error,msg='
|
||||
call s:HandleError(msg)
|
||||
elseif msg =~ '^disassemble'
|
||||
elseif msg =~ '^&"disassemble'
|
||||
let s:parsing_disasm_msg = 1
|
||||
let s:asm_lines = []
|
||||
call s:HandleDisasmMsg(msg)
|
||||
elseif msg =~ '^\^done,variables='
|
||||
call s:HandleVariablesMsg(msg)
|
||||
endif
|
||||
endif
|
||||
endfor
|
||||
@@ -892,11 +970,16 @@ func s:InstallCommands()
|
||||
command Continue call term_sendkeys(s:gdbbuf, "continue\r")
|
||||
endif
|
||||
|
||||
command -nargs=* Frame call s:Frame(<q-args>)
|
||||
command -count=1 Up call s:Up(<count>)
|
||||
command -count=1 Down call s:Down(<count>)
|
||||
|
||||
command -range -nargs=* Evaluate call s:Evaluate(<range>, <q-args>)
|
||||
command Gdb call win_gotoid(s:gdbwin)
|
||||
command Program call s:GotoProgram()
|
||||
command Source call s:GotoSourcewinOrCreateIt()
|
||||
command Asm call s:GotoAsmwinOrCreateIt()
|
||||
command Var call s:GotoVariableswinOrCreateIt()
|
||||
command Winbar call s:InstallWinbar(1)
|
||||
|
||||
let map = 1
|
||||
@@ -910,6 +993,25 @@ func s:InstallCommands()
|
||||
nnoremap K :Evaluate<CR>
|
||||
endif
|
||||
|
||||
let map = 1
|
||||
if exists('g:termdebug_config')
|
||||
let map = get(g:termdebug_config, 'map_plus', 1)
|
||||
endif
|
||||
if map
|
||||
let s:plus_map_saved = maparg('+', 'n', 0, 1)
|
||||
nnoremap <expr> + $'<Cmd>{v:count1}Up<CR>'
|
||||
endif
|
||||
|
||||
let map = 1
|
||||
if exists('g:termdebug_config')
|
||||
let map = get(g:termdebug_config, 'map_minus', 1)
|
||||
endif
|
||||
if map
|
||||
let s:minus_map_saved = maparg('-', 'n', 0, 1)
|
||||
nnoremap <expr> - $'<Cmd>{v:count1}Down<CR>'
|
||||
endif
|
||||
|
||||
|
||||
if has('menu') && &mouse != ''
|
||||
call s:InstallWinbar(0)
|
||||
|
||||
@@ -950,7 +1052,7 @@ func s:InstallWinbar(force)
|
||||
nnoremenu WinBar.Cont :Continue<CR>
|
||||
nnoremenu WinBar.Stop :Stop<CR>
|
||||
nnoremenu WinBar.Eval :Evaluate<CR>
|
||||
call add(s:winbar_winids, win_getid(winnr()))
|
||||
call add(s:winbar_winids, win_getid())
|
||||
endif
|
||||
endfunc
|
||||
|
||||
@@ -966,11 +1068,15 @@ func s:DeleteCommands()
|
||||
delcommand Arguments
|
||||
delcommand Stop
|
||||
delcommand Continue
|
||||
delcommand Frame
|
||||
delcommand Up
|
||||
delcommand Down
|
||||
delcommand Evaluate
|
||||
delcommand Gdb
|
||||
delcommand Program
|
||||
delcommand Source
|
||||
delcommand Asm
|
||||
delcommand Var
|
||||
delcommand Winbar
|
||||
|
||||
if exists('s:k_map_saved')
|
||||
@@ -981,10 +1087,26 @@ func s:DeleteCommands()
|
||||
endif
|
||||
unlet s:k_map_saved
|
||||
endif
|
||||
if exists('s:plus_map_saved')
|
||||
if empty(s:plus_map_saved)
|
||||
nunmap +
|
||||
else
|
||||
call mapset(s:plus_map_saved)
|
||||
endif
|
||||
unlet s:plus_map_saved
|
||||
endif
|
||||
if exists('s:minus_map_saved')
|
||||
if empty(s:minus_map_saved)
|
||||
nunmap -
|
||||
else
|
||||
call mapset(s:minus_map_saved)
|
||||
endif
|
||||
unlet s:minus_map_saved
|
||||
endif
|
||||
|
||||
if has('menu')
|
||||
" Remove the WinBar entries from all windows where it was added.
|
||||
let curwinid = win_getid(winnr())
|
||||
let curwinid = win_getid()
|
||||
for winid in s:winbar_winids
|
||||
if win_gotoid(winid)
|
||||
aunmenu WinBar.Step
|
||||
@@ -1083,7 +1205,7 @@ func s:ClearBreakpoint()
|
||||
endif
|
||||
echomsg 'Breakpoint ' . id . ' cleared from line ' . lnum . '.'
|
||||
else
|
||||
echoerr 'Internal error trying to remove breakpoint at line ' . lnum . '!'
|
||||
call s:Echoerr('Internal error trying to remove breakpoint at line ' . lnum . '!')
|
||||
endif
|
||||
else
|
||||
echomsg 'No breakpoint to remove at line ' . lnum . '.'
|
||||
@@ -1097,6 +1219,37 @@ func s:Run(args)
|
||||
call s:SendResumingCommand('-exec-run')
|
||||
endfunc
|
||||
|
||||
" :Frame - go to a specfic frame in the stack
|
||||
func s:Frame(arg)
|
||||
" Note: we explicit do not use mi's command
|
||||
" call s:SendCommand('-stack-select-frame "' . a:arg .'"')
|
||||
" as we only get a "done" mi response and would have to open the file
|
||||
" 'manually' - using cli command "frame" provides us with the mi response
|
||||
" already parsed and allows for more formats
|
||||
if a:arg =~ '^\d\+$' || a:arg == ''
|
||||
" specify frame by number
|
||||
call s:SendCommand('-interpreter-exec mi "frame ' . a:arg .'"')
|
||||
elseif a:arg =~ '^0x[0-9a-fA-F]\+$'
|
||||
" specify frame by stack address
|
||||
call s:SendCommand('-interpreter-exec mi "frame address ' . a:arg .'"')
|
||||
else
|
||||
" specify frame by function name
|
||||
call s:SendCommand('-interpreter-exec mi "frame function ' . a:arg .'"')
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" :Up - go a:count frames in the stack "higher"
|
||||
func s:Up(count)
|
||||
" the 'correct' one would be -stack-select-frame N, but we don't know N
|
||||
call s:SendCommand($'-interpreter-exec console "up {a:count}"')
|
||||
endfunc
|
||||
|
||||
" :Down - go a:count frames in the stack "below"
|
||||
func s:Down(count)
|
||||
" the 'correct' one would be -stack-select-frame N, but we don't know N
|
||||
call s:SendCommand($'-interpreter-exec console "down {a:count}"')
|
||||
endfunc
|
||||
|
||||
func s:SendEval(expr)
|
||||
" check for "likely" boolean expressions, in which case we take it as lhs
|
||||
if a:expr =~ "[=!<>]="
|
||||
@@ -1234,13 +1387,13 @@ func s:HandleError(msg)
|
||||
return
|
||||
endif
|
||||
let msgVal = substitute(a:msg, '.*msg="\(.*\)"', '\1', '')
|
||||
echoerr substitute(msgVal, '\\"', '"', 'g')
|
||||
call s:Echoerr(substitute(msgVal, '\\"', '"', 'g'))
|
||||
endfunc
|
||||
|
||||
func s:GotoSourcewinOrCreateIt()
|
||||
if !win_gotoid(s:sourcewin)
|
||||
new
|
||||
let s:sourcewin = win_getid(winnr())
|
||||
let s:sourcewin = win_getid()
|
||||
call s:InstallWinbar(0)
|
||||
endif
|
||||
endfunc
|
||||
@@ -1273,19 +1426,21 @@ func s:GotoAsmwinOrCreateIt()
|
||||
exe 'new'
|
||||
endif
|
||||
|
||||
let s:asmwin = win_getid(winnr())
|
||||
let s:asmwin = win_getid()
|
||||
|
||||
setlocal nowrap
|
||||
setlocal number
|
||||
setlocal noswapfile
|
||||
setlocal buftype=nofile
|
||||
setlocal bufhidden=wipe
|
||||
setlocal signcolumn=no
|
||||
setlocal modifiable
|
||||
|
||||
let asmbuf = bufnr('Termdebug-asm-listing')
|
||||
if asmbuf > 0
|
||||
exe 'buffer' . asmbuf
|
||||
if s:asmbuf > 0 && bufexists(s:asmbuf)
|
||||
exe 'buffer' . s:asmbuf
|
||||
else
|
||||
exe 'file Termdebug-asm-listing'
|
||||
silent file Termdebug-asm-listing
|
||||
let s:asmbuf = bufnr('Termdebug-asm-listing')
|
||||
endif
|
||||
|
||||
if s:GetDisasmWindowHeight() > 0
|
||||
@@ -1306,17 +1461,75 @@ func s:GotoAsmwinOrCreateIt()
|
||||
endif
|
||||
endfunc
|
||||
|
||||
func s:GetVariablesWindow()
|
||||
if exists('g:termdebug_config')
|
||||
return get(g:termdebug_config, 'variables_window', 0)
|
||||
endif
|
||||
if exists('g:termdebug_disasm_window')
|
||||
return g:termdebug_variables_window
|
||||
endif
|
||||
return 0
|
||||
endfunc
|
||||
|
||||
func s:GetVariablesWindowHeight()
|
||||
if exists('g:termdebug_config')
|
||||
return get(g:termdebug_config, 'variables_window_height', 0)
|
||||
endif
|
||||
if exists('g:termdebug_variables_window') && g:termdebug_variables_window > 1
|
||||
return g:termdebug_variables_window
|
||||
endif
|
||||
return 0
|
||||
endfunc
|
||||
|
||||
func s:GotoVariableswinOrCreateIt()
|
||||
if !win_gotoid(s:varwin)
|
||||
if win_gotoid(s:sourcewin)
|
||||
exe 'rightbelow new'
|
||||
else
|
||||
exe 'new'
|
||||
endif
|
||||
|
||||
let s:varwin = win_getid()
|
||||
|
||||
setlocal nowrap
|
||||
setlocal noswapfile
|
||||
setlocal buftype=nofile
|
||||
setlocal bufhidden=wipe
|
||||
setlocal signcolumn=no
|
||||
setlocal modifiable
|
||||
|
||||
if s:varbuf > 0 && bufexists(s:varbuf)
|
||||
exe 'buffer' . s:varbuf
|
||||
else
|
||||
silent file Termdebug-variables-listing
|
||||
let s:varbuf = bufnr('Termdebug-variables-listing')
|
||||
endif
|
||||
|
||||
if s:GetVariablesWindowHeight() > 0
|
||||
exe 'resize ' .. s:GetVariablesWindowHeight()
|
||||
endif
|
||||
endif
|
||||
|
||||
if s:running
|
||||
call s:SendCommand('-stack-list-variables 2')
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" Handle stopping and running message from gdb.
|
||||
" Will update the sign that shows the current position.
|
||||
func s:HandleCursor(msg)
|
||||
let wid = win_getid(winnr())
|
||||
let wid = win_getid()
|
||||
|
||||
if a:msg =~ '^\*stopped'
|
||||
call ch_log('program stopped')
|
||||
let s:stopped = 1
|
||||
if a:msg =~ '^\*stopped,reason="exited-normally"'
|
||||
let s:running = 0
|
||||
endif
|
||||
elseif a:msg =~ '^\*running'
|
||||
call ch_log('program running')
|
||||
let s:stopped = 0
|
||||
let s:running = 1
|
||||
endif
|
||||
|
||||
if a:msg =~ 'fullname='
|
||||
@@ -1330,7 +1543,7 @@ func s:HandleCursor(msg)
|
||||
if asm_addr != ''
|
||||
let s:asm_addr = asm_addr
|
||||
|
||||
let curwinid = win_getid(winnr())
|
||||
let curwinid = win_getid()
|
||||
if win_gotoid(s:asmwin)
|
||||
let lnum = search('^' . s:asm_addr)
|
||||
if lnum == 0
|
||||
@@ -1345,25 +1558,29 @@ func s:HandleCursor(msg)
|
||||
endif
|
||||
endif
|
||||
|
||||
if s:running && s:stopped && bufwinnr('Termdebug-variables-listing') != -1
|
||||
call s:SendCommand('-stack-list-variables 2')
|
||||
endif
|
||||
|
||||
if a:msg =~ '^\(\*stopped\|=thread-selected\)' && filereadable(fname)
|
||||
let lnum = substitute(a:msg, '.*line="\([^"]*\)".*', '\1', '')
|
||||
if lnum =~ '^[0-9]*$'
|
||||
call s:GotoSourcewinOrCreateIt()
|
||||
if expand('%:p') != fnamemodify(fname, ':p')
|
||||
echomsg 'different fname: "' .. expand('%:p') .. '" vs "' .. fnamemodify(fname, ':p') .. '"'
|
||||
augroup Termdebug
|
||||
" Always open a file read-only instead of showing the ATTENTION
|
||||
" prompt, since it is unlikely we want to edit the file.
|
||||
" The file may be changed but not saved, warn for that.
|
||||
au SwapExists * echohl WarningMsg
|
||||
\ | echo 'Warning: file is being edited elsewhere'
|
||||
\ | echohl None
|
||||
\ | let v:swapchoice = 'o'
|
||||
echomsg 'different fname: "' .. expand('%:p') .. '" vs "' .. fnamemodify(fname, ':p') .. '"'
|
||||
augroup Termdebug
|
||||
" Always open a file read-only instead of showing the ATTENTION
|
||||
" prompt, since it is unlikely we want to edit the file.
|
||||
" The file may be changed but not saved, warn for that.
|
||||
au SwapExists * echohl WarningMsg
|
||||
\ | echo 'Warning: file is being edited elsewhere'
|
||||
\ | echohl None
|
||||
\ | let v:swapchoice = 'o'
|
||||
augroup END
|
||||
if &modified
|
||||
" TODO: find existing window
|
||||
exe 'split ' . fnameescape(fname)
|
||||
let s:sourcewin = win_getid(winnr())
|
||||
let s:sourcewin = win_getid()
|
||||
call s:InstallWinbar(0)
|
||||
else
|
||||
exe 'edit ' . fnameescape(fname)
|
||||
|
||||
@@ -28,10 +28,16 @@ com! -nargs=0 VimballList call vimball#Vimball(0)
|
||||
com! -nargs=* -complete=dir RmVimball call vimball#SaveSettings()|call vimball#RmVimball(<f-args>)|call vimball#RestoreSettings()
|
||||
augroup Vimball
|
||||
au!
|
||||
au BufEnter *.vba,*.vba.gz,*.vba.bz2,*.vba.zip,*.vba.xz setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|if line('$') > 1|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)")|endif
|
||||
au BufEnter *.vba,*.vba.gz,*.vba.bz2,*.vba.zip,*.vba.xz
|
||||
\ if getline(1) =~ '^" Vimball Archiver' |
|
||||
\ setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|if line('$') > 1|call vimball#ShowMesg(0, "Source this file to extract it! (:so %)")|endif |
|
||||
\ endif
|
||||
au SourceCmd *.vba.gz,*.vba.bz2,*.vba.zip,*.vba.xz let s:origfile=expand("%")|if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call vimball#Decompress(expand("<amatch>"))|so %|if s:origfile!=expand("<afile>")|close|endif
|
||||
au SourceCmd *.vba if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|call vimball#Vimball(1)|close|else|call vimball#Vimball(1)|endif
|
||||
au BufEnter *.vmb,*.vmb.gz,*.vmb.bz2,*.vmb.zip,*.vmb.xz setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|if line('$') > 1|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)")|endif
|
||||
au BufEnter *.vmb,*.vmb.gz,*.vmb.bz2,*.vmb.zip,*.vmb.xz
|
||||
\ if getline(1) =~ '^" Vimball Archiver' |
|
||||
\ setlocal bt=nofile fmr=[[[,]]] fdm=marker|if &ff != 'unix'|setlocal ma ff=unix noma|endif|if line('$') > 1|call vimball#ShowMesg(0,"Source this file to extract it! (:so %)")|endif |
|
||||
\ endif
|
||||
au SourceCmd *.vmb.gz,*.vmb.bz2,*.vmb.zip,*.vmb.xz let s:origfile=expand("%")|if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|endif|call vimball#Decompress(expand("<amatch>"))|so %|if s:origfile!=expand("<afile>")|close|endif
|
||||
au SourceCmd *.vmb if expand("%")!=expand("<afile>") | exe "1sp" fnameescape(expand("<afile>"))|call vimball#Vimball(1)|close|else|call vimball#Vimball(1)|endif
|
||||
augroup END
|
||||
@@ -41,3 +47,5 @@ augroup END
|
||||
" vim: fdm=marker
|
||||
let &cpo= s:keepcpo
|
||||
unlet s:keepcpo
|
||||
|
||||
" vim: ts=4:
|
||||
|
||||
@@ -363,7 +363,7 @@ syn region eighthComment start="\zs\\" end="$" contains=eighthTodo
|
||||
if !exists("did_eighth_syntax_inits")
|
||||
let did_eighth_syntax_inits=1
|
||||
|
||||
" The default methods for highlighting. Can be overriden later.
|
||||
" The default methods for highlighting. Can be overridden later.
|
||||
hi def link eighthTodo Todo
|
||||
hi def link eighthOperators Operator
|
||||
hi def link eighthMath Number
|
||||
|
||||
@@ -118,7 +118,7 @@ syn match a65Section "\(^\|\s\)\.)\($\|\s\)"
|
||||
" Strings
|
||||
syn match a65String "\".*\""
|
||||
|
||||
" Programm Counter
|
||||
" Program Counter
|
||||
syn region a65PC start="\*=" end="\>" keepend
|
||||
|
||||
" HI/LO Byte
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: bash
|
||||
" Maintainer: Bram
|
||||
" Last Change: 2019 Sep 27
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2023 Aug 13
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
|
||||
@@ -33,7 +33,7 @@ syn match zoneDomain contained /[^[:space:]!"#$%&'()*+,\/:;<=>?@[\]\
|
||||
syn match zoneSpecial contained /^[@*.]\s/
|
||||
syn match zoneTTL contained /\s\@<=\d[0-9WwDdHhMmSs]*\(\s\|$\)\@=/ nextgroup=zoneClass,zoneRRType skipwhite
|
||||
syn keyword zoneClass contained IN CHAOS CH HS HESIOD nextgroup=zoneRRType,zoneTTL skipwhite
|
||||
syn keyword zoneRRType contained A AAAA CERT CNAME DNAME DNSKEY DS HINFO LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM PTR RP RRSIG SSHFP SOA SPF SRV TLSA TXT nextgroup=zoneRData skipwhite
|
||||
syn keyword zoneRRType contained A AAAA APL CAA CERT CNAME DNAME DNSKEY DS HINFO LOC MX NAPTR NS NSEC NSEC3 NSEC3PARAM OPENPGPKEY PTR RP RRSIG SMIMEA SOA SPF SRV SSHFP TLSA TXT nextgroup=zoneRData skipwhite
|
||||
syn match zoneRData contained /[^;]*/ contains=zoneDomain,zoneIPAddr,zoneIP6Addr,zoneText,zoneNumber,zoneParen,zoneUnknown
|
||||
|
||||
syn match zoneIPAddr contained /\<[0-9]\{1,3}\(\.[0-9]\{1,3}\)\{,3}\>/
|
||||
@@ -60,7 +60,7 @@ syn match zoneIP6Addr contained /\<\(\x\{1,4}:\)\{1,7}:\(\s\|;\|$\)\@=
|
||||
|
||||
syn match zoneText contained /"\([^"\\]\|\\.\)*"\(\s\|;\|$\)\@=/
|
||||
syn match zoneNumber contained /\<[0-9]\+\(\s\|;\|$\)\@=/
|
||||
syn match zoneSerial contained /\<[0-9]\{9,10}\(\s\|;\|$\)\@=/
|
||||
syn match zoneSerial contained /\<[0-9]\{1,10}\(\s\|;\|$\)\@=/
|
||||
|
||||
syn match zoneErrParen /)/
|
||||
syn region zoneParen contained start="(" end=")" contains=zoneSerial,zoneTTL,zoneNumber,zoneComment
|
||||
|
||||
@@ -61,7 +61,7 @@ syn region chaiscriptFunc matchgroup=chaiscriptFunc start="`" end="`"
|
||||
" Intentionally leaving out all of the normal, well known operators
|
||||
syn match chaiscriptOperator "\.\."
|
||||
|
||||
" Guard seperator as an operator
|
||||
" Guard separator as an operator
|
||||
syn match chaiscriptOperator ":"
|
||||
|
||||
" Comments
|
||||
|
||||
@@ -335,7 +335,7 @@ syn keyword cmakeGeneratorExpressions contained
|
||||
syn case ignore
|
||||
|
||||
syn keyword cmakeCommand
|
||||
\ add_compile_options add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file continue create_test_sourcelist ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update ctest_upload define_property enable_language enable_testing endfunction endmacro execute_process export file find_file find_library find_package find_path find_program fltk_wrap_ui function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property include include_directories include_external_msproject include_guard include_regular_expression install link_directories list load_cache load_command macro mark_as_advanced math message option project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_compile_definitions target_compile_features target_compile_options target_include_directories target_link_libraries target_sources try_compile try_run unset variable_watch
|
||||
\ add_compile_options add_compile_definitions add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_host_system_information cmake_minimum_required cmake_parse_arguments cmake_policy configure_file continue create_test_sourcelist ctest_build ctest_configure ctest_coverage ctest_empty_binary_directory ctest_memcheck ctest_read_custom_files ctest_run_script ctest_sleep ctest_start ctest_submit ctest_test ctest_update ctest_upload define_property enable_language enable_testing endfunction endmacro execute_process export file find_file find_library find_package find_path find_program fltk_wrap_ui function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property include include_directories include_external_msproject include_guard include_regular_expression install link_directories list load_cache load_command macro mark_as_advanced math message option project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_compile_definitions target_compile_features target_compile_options target_include_directories target_link_libraries target_sources try_compile try_run unset variable_watch
|
||||
\ nextgroup=cmakeArguments
|
||||
|
||||
syn keyword cmakeCommandConditional
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
" License: This file can be redistribued and/or modified under the same terms
|
||||
" as Vim itself.
|
||||
" Filenames: /tmp/crontab.* used by "crontab -e"
|
||||
" Last Change: 2015-01-20
|
||||
" Last Change: 2022-09-22
|
||||
"
|
||||
" crontab line format:
|
||||
" Minutes Hours Days Months Days_of_Week Commands # comments
|
||||
@@ -15,20 +15,20 @@ if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
syntax match crontabNick "^\s*@\(reboot\|yearly\|annually\|monthly\|weekly\|daily\|midnight\|hourly\)\>" nextgroup=crontabCmd skipwhite
|
||||
syntax match crontabNick "^\s*@\(reboot\|yearly\|annually\|monthly\|weekly\|daily\|midnight\|hourly\|every_minute\|every_second\)\>" nextgroup=crontabCmd skipwhite
|
||||
|
||||
syntax match crontabVar "^\s*\k\w*\s*="me=e-1
|
||||
|
||||
syntax case ignore
|
||||
|
||||
syntax match crontabMin "^\s*[-0-9/,.*]\+" nextgroup=crontabHr skipwhite
|
||||
syntax match crontabHr "\s[-0-9/,.*]\+" nextgroup=crontabDay skipwhite contained
|
||||
syntax match crontabDay "\s[-0-9/,.*]\+" nextgroup=crontabMnth skipwhite contained
|
||||
syntax match crontabMin "^\s*[-~0-9/,.*]\+" nextgroup=crontabHr skipwhite
|
||||
syntax match crontabHr "\s[-~0-9/,.*]\+" nextgroup=crontabDay skipwhite contained
|
||||
syntax match crontabDay "\s[-~0-9/,.*]\+" nextgroup=crontabMnth skipwhite contained
|
||||
|
||||
syntax match crontabMnth "\s[-a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained
|
||||
syntax match crontabMnth "\s[-~a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained
|
||||
syntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec
|
||||
|
||||
syntax match crontabDow "\s[-a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained
|
||||
syntax match crontabDow "\s[-~a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained
|
||||
syntax keyword crontabDow7 contained sun mon tue wed thu fri sat
|
||||
|
||||
syntax region crontabCmd start="\S" end="$" skipwhite contained keepend contains=crontabPercent
|
||||
|
||||
@@ -452,12 +452,12 @@ syn match cssAttrComma ","
|
||||
" Pseudo class
|
||||
" https://www.w3.org/TR/selectors-4/
|
||||
syn match cssPseudoClass ":[A-Za-z0-9_-]*" contains=cssNoise,cssPseudoClassId,cssUnicodeEscape,cssVendor,cssPseudoClassFn
|
||||
syn keyword cssPseudoClassId contained link visited active hover before after left right
|
||||
syn keyword cssPseudoClassId contained root empty target enabled disabled checked invalid
|
||||
syn keyword cssPseudoClassId contained link visited active hover before after left right any-link
|
||||
syn keyword cssPseudoClassId contained root empty target enabled disabled checked invalid default defined autofill fullscreen host indeterminate in-range modal optional out-of-range picture-in-picture placeholder-shown paused playing read-only read-write required scope
|
||||
syn match cssPseudoClassId contained "\<first-\(line\|letter\)\>"
|
||||
syn match cssPseudoClassId contained "\<\(first\|last\|only\)-\(of-type\|child\)\>"
|
||||
syn match cssPseudoClassId contained "\<focus\(-within\|-visible\)\=\>"
|
||||
syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(not\|is\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")" contains=cssStringQ,cssStringQQ,cssTagName,cssAttributeSelector,cssClassName,cssIdentifier
|
||||
syn region cssPseudoClassFn contained matchgroup=cssFunctionName start="\<\(where\|has\|host\|not\|is\|lang\|\(nth\|nth-last\)-\(of-type\|child\)\)(" end=")" contains=cssStringQ,cssStringQQ,cssTagName,cssAttributeSelector,cssClassName,cssIdentifier
|
||||
" ------------------------------------
|
||||
" Vendor specific properties
|
||||
syn match cssPseudoClassId contained "\<selection\>"
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
" Current Maintainer: Hong Xu <hong@topbug.net>
|
||||
" Homepage: http://www.vim.org/scripts/script.php?script_id=3747
|
||||
" Repository: https://github.com/xuhdev/syntax-dosini.vim
|
||||
" Last Change: 2023 Jun 27
|
||||
" Last Change: 2023 Aug 20
|
||||
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
@@ -14,6 +14,10 @@ if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" using of line-continuation requires cpo&vim
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" shut case off
|
||||
syn case ignore
|
||||
|
||||
@@ -39,4 +43,7 @@ hi def link dosiniValue String
|
||||
|
||||
let b:current_syntax = "dosini"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim: sts=2 sw=2 et
|
||||
|
||||
@@ -27,7 +27,7 @@ syn keyword euphoria4Debug includes inline warning define
|
||||
" Keywords for conditional compilation - from $EUDIR/include/euphoria/keywords.e:
|
||||
syn keyword euphoria4PreProc elsedef elsifdef ifdef
|
||||
|
||||
" Keywords (Statments) - from $EUDIR/include/euphoria/keywords.e:
|
||||
" Keywords (Statements) - from $EUDIR/include/euphoria/keywords.e:
|
||||
syn keyword euphoria4Keyword and as break by case constant continue do else
|
||||
syn keyword euphoria4Keyword elsif end entry enum exit export
|
||||
syn keyword euphoria4Keyword fallthru for function global goto if include
|
||||
|
||||
@@ -67,10 +67,10 @@ syntax match flexwikiEmoticons /\((.)\|:[()|$@]\|:-[DOPS()\]|$@]\|;)\|:'(\)
|
||||
" Aggregate all the regular text highlighting into flexwikiText
|
||||
syntax cluster flexwikiText contains=flexwikiItalic,flexwikiBold,flexwikiCode,flexwikiDeEmphasis,flexwikiDelText,flexwikiInsText,flexwikiSuperScript,flexwikiSubScript,flexwikiCitation,flexwikiLink,flexwikiWord,flexwikiEmoticons
|
||||
|
||||
" single-line WikiPropertys
|
||||
" single-line WikiProperties
|
||||
syntax match flexwikiSingleLineProperty /^:\?[A-Z_][_a-zA-Z0-9]\+:/
|
||||
|
||||
" TODO: multi-line WikiPropertys
|
||||
" TODO: multi-line WikiProperties
|
||||
|
||||
" Header levels, 1-6
|
||||
syntax match flexwikiH1 /^!.*$/
|
||||
|
||||
@@ -30,7 +30,7 @@ syn keyword gdbStatement contained search section set sharedlibrary shell show s
|
||||
syn keyword gdbStatement contained stop target tbreak tdump tfind thbreak thread tp trace tstart tstatus tstop
|
||||
syn keyword gdbStatement contained tty und[isplay] unset until up watch whatis where while ws x
|
||||
syn match gdbFuncDef "\<define\>.*"
|
||||
syn match gdbStatmentContainer "^\s*\S\+" contains=gdbStatement,gdbFuncDef
|
||||
syn match gdbStatementContainer "^\s*\S\+" contains=gdbStatement,gdbFuncDef
|
||||
syn match gdbStatement "^\s*info" nextgroup=gdbInfo skipwhite skipempty
|
||||
|
||||
" some commonly used abbreviations
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
" go.vim: Vim syntax file for Go.
|
||||
" Language: Go
|
||||
" Maintainer: Billie Cleek <bhcleek@gmail.com>
|
||||
" Latest Revision: 2023-02-19
|
||||
" Latest Revision: 2023-08-21
|
||||
" License: BSD-style. See LICENSE file in source repository.
|
||||
" Repository: https://github.com/fatih/vim-go
|
||||
|
||||
@@ -130,8 +130,8 @@ hi def link goFloats Type
|
||||
hi def link goComplexes Type
|
||||
|
||||
" Predefined functions and values
|
||||
syn keyword goBuiltins append cap close complex copy delete imag len
|
||||
syn keyword goBuiltins make new panic print println real recover
|
||||
syn keyword goBuiltins append cap clear close complex copy delete imag len
|
||||
syn keyword goBuiltins make max min new panic print println real recover
|
||||
syn keyword goBoolean true false
|
||||
syn keyword goPredefinedIdentifiers nil iota
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: gp (version 2.5)
|
||||
" Language: gp (version 2.15)
|
||||
" Maintainer: Karim Belabas <Karim.Belabas@math.u-bordeaux.fr>
|
||||
" Last change: 2012 Jan 08
|
||||
" Last change: 2023 Aug 22
|
||||
" URL: http://pari.math.u-bordeaux.fr
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
@@ -14,23 +14,29 @@ set cpo&vim
|
||||
|
||||
" control statements
|
||||
syntax keyword gpStatement break return next
|
||||
syntax keyword gpConditional if
|
||||
syntax keyword gpRepeat until while for fordiv forell forprime
|
||||
syntax keyword gpRepeat forsubgroup forstep forvec
|
||||
syntax keyword gpConditional if iferr
|
||||
syntax keyword gpRepeat until while for forcomposite fordiv
|
||||
syntax keyword gpRepeat fordivfactored foreach forell forfactored
|
||||
syntax keyword gpRepeat forpart forperm forprime forprimestep forqfvec
|
||||
syntax keyword gpRepeat forsquarefree forstep forsubgroup forsubset
|
||||
syntax keyword gpRepeat forvec
|
||||
syntax keyword gpRepeat parfor parforeach parforprime parforprimestep
|
||||
syntax keyword gpRepeat parforvec
|
||||
" storage class
|
||||
syntax keyword gpScope my local global
|
||||
syntax keyword gpScope my local global export exportall
|
||||
" defaults
|
||||
syntax keyword gpInterfaceKey breakloop colors compatible
|
||||
syntax keyword gpInterfaceKey datadir debug debugfiles debugmem
|
||||
syntax keyword gpInterfaceKey echo factor_add_primes factor_proven format
|
||||
syntax keyword gpInterfaceKey datadir debug debugfiles debugmem
|
||||
syntax keyword gpInterfaceKey echo factor_add_primes factor_proven format
|
||||
syntax keyword gpInterfaceKey graphcolormap graphcolors
|
||||
syntax keyword gpInterfaceKey help histfile histsize
|
||||
syntax keyword gpInterfaceKey lines linewrap log logfile new_galois_format
|
||||
syntax keyword gpInterfaceKey output parisize path prettyprinter primelimit
|
||||
syntax keyword gpInterfaceKey prompt prompt_cont psfile
|
||||
syntax keyword gpInterfaceKey readline realprecision recover
|
||||
syntax keyword gpInterfaceKey secure seriesprecision simplify strictmatch
|
||||
syntax keyword gpInterfaceKey TeXstyle timer
|
||||
syntax keyword gpInterfaceKey help histfile histsize
|
||||
syntax keyword gpInterfaceKey lines linewrap log logfile nbthreads
|
||||
syntax keyword gpInterfaceKey new_galois_format output parisize parisizemax
|
||||
syntax keyword gpInterfaceKey path plothsizes prettyprinter primelimit prompt
|
||||
syntax keyword gpInterfaceKey prompt_cont psfile readline realbitprecision
|
||||
syntax keyword gpInterfaceKey realprecision recover secure seriesprecision
|
||||
syntax keyword gpInterfaceKey simplify sopath strictmatch TeXstyle
|
||||
syntax keyword gpInterfaceKey threadsize threadsizemax timer
|
||||
|
||||
syntax match gpInterface "^\s*\\[a-z].*"
|
||||
syntax keyword gpInterface default
|
||||
@@ -58,24 +64,23 @@ syntax region gpParen transparent start='(' end=')' contains=ALLBUT,gpParenErro
|
||||
syntax match gpParenError ")"
|
||||
syntax match gpInParen contained "[{}]"
|
||||
|
||||
|
||||
hi def link gpConditional Conditional
|
||||
hi def link gpConditional Conditional
|
||||
hi def link gpRepeat Repeat
|
||||
hi def link gpError Error
|
||||
hi def link gpParenError gpError
|
||||
hi def link gpParenError gpError
|
||||
hi def link gpInParen gpError
|
||||
hi def link gpStatement Statement
|
||||
hi def link gpString String
|
||||
hi def link gpComment Comment
|
||||
hi def link gpInterface Type
|
||||
hi def link gpInput Type
|
||||
hi def link gpInterfaceKey Statement
|
||||
hi def link gpInterfaceKey Statement
|
||||
hi def link gpFunction Function
|
||||
hi def link gpScope Type
|
||||
" contained ones
|
||||
hi def link gpSpecial Special
|
||||
hi def link gpTodo Todo
|
||||
hi def link gpArgs Type
|
||||
hi def link gpTodo Todo
|
||||
hi def link gpArgs Type
|
||||
|
||||
let b:current_syntax = "gp"
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
@@ -362,7 +362,7 @@ exec "syn sync ccomment groovyComment minlines=" . groovy_minlines
|
||||
|
||||
" Mark these as operators
|
||||
|
||||
" Hightlight brackets
|
||||
" Highlight brackets
|
||||
" syn match groovyBraces "[{}]"
|
||||
" syn match groovyBraces "[\[\]]"
|
||||
" syn match groovyBraces "[\|]"
|
||||
|
||||
@@ -108,6 +108,8 @@ syn match hsLineComment "---*\([^-!#$%&\*\+./<=>\?@\\^|~].*\)\?$" contain
|
||||
syn region hsBlockComment start="{-" end="-}" contains=hsBlockComment,@Spell
|
||||
syn region hsPragma start="{-#" end="#-}"
|
||||
|
||||
syn keyword hsTodo contained FIXME TODO XXX NOTE
|
||||
|
||||
" C Preprocessor directives. Shamelessly ripped from c.vim and trimmed
|
||||
" First, see whether to flag directive-like lines or not
|
||||
if (!exists("hs_allow_hash_operator"))
|
||||
|
||||
@@ -52,11 +52,11 @@ syn match javaScriptNumber "\<\d\+\(_\d\+\)*\.\(\d\+\(_\d\+\)*\([eE]
|
||||
syn region javaScriptRegexpString start=+[,(=+]\s*/[^/*]+ms=e-1,me=e-1 skip=+\\\\\|\\/+ end=+/[gimuys]\{0,2\}\s*$+ end=+/[gimuys]\{0,2\}\s*[+;.,)\]}]+me=e-1 end=+/[gimuys]\{0,2\}\s\+\/+me=e-1 contains=@htmlPreproc,javaScriptComment oneline
|
||||
|
||||
syn keyword javaScriptConditional if else switch
|
||||
syn keyword javaScriptRepeat while for do in
|
||||
syn keyword javaScriptRepeat while for do in of
|
||||
syn keyword javaScriptBranch break continue
|
||||
syn keyword javaScriptOperator new delete instanceof typeof
|
||||
syn keyword javaScriptType Array Boolean Date Function Number Object String RegExp
|
||||
syn keyword javaScriptStatement return with await
|
||||
syn keyword javaScriptStatement return with await yield
|
||||
syn keyword javaScriptBoolean true false
|
||||
syn keyword javaScriptNull null undefined
|
||||
syn keyword javaScriptIdentifier arguments this var let
|
||||
@@ -103,7 +103,7 @@ hi def link javaScriptStringD String
|
||||
hi def link javaScriptStringT String
|
||||
hi def link javaScriptCharacter Character
|
||||
hi def link javaScriptSpecialCharacter javaScriptSpecial
|
||||
hi def link javaScriptNumber javaScriptValue
|
||||
hi def link javaScriptNumber Number
|
||||
hi def link javaScriptConditional Conditional
|
||||
hi def link javaScriptRepeat Repeat
|
||||
hi def link javaScriptBranch Conditional
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
" Email: Subject: send syntax_vim.tgz
|
||||
" Last Change: 2001 Mai 01
|
||||
"
|
||||
" Options lite_sql_query = 1 for SQL syntax highligthing inside strings
|
||||
" Options lite_sql_query = 1 for SQL syntax highlighting inside strings
|
||||
" lite_minlines = x to sync at least x lines backwards
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
|
||||
@@ -330,7 +330,7 @@ syn match logtalkKeyword "\<t\(an\|runcate\)\ze("
|
||||
syn match logtalkKeyword "\<ceiling\ze("
|
||||
|
||||
|
||||
" Other arithemtic functors
|
||||
" Other arithmetic functors
|
||||
|
||||
syn match logtalkOperator "\*\*"
|
||||
syn match logtalkKeyword "\<s\(in\|qrt\)\ze("
|
||||
|
||||
@@ -9,7 +9,7 @@ if exists("b:current_syntax")
|
||||
endif
|
||||
|
||||
" This setup is probably atypical for a syntax highlighting file, because
|
||||
" most of it is not really intended to be overrideable. Instead, the
|
||||
" most of it is not really intended to be overridable. Instead, the
|
||||
" highlighting is supposed to correspond to the highlighting specified by
|
||||
" the .lss file entries themselves; ie. the "bold" keyword should be bold,
|
||||
" the "red" keyword should be red, and so forth. The exceptions to this
|
||||
|
||||
@@ -20,7 +20,9 @@ runtime! syntax/ctrlh.vim
|
||||
|
||||
syn case ignore
|
||||
|
||||
syn match manReference "\f\+([1-9][a-z]\=)"
|
||||
" See notes about hyphenation in s:ParseIntoPageAndSection of
|
||||
" autoload/dist/man.vim.
|
||||
syn match manReference "\%(\f\+[\u2010-]\%(\n\|\r\n\=\)\s\+\)\=\f\+([1-9]\l*)"
|
||||
syn match manSectionHeading "^\a.*$"
|
||||
syn match manSubHeading "^\s\{3\}\a.*$"
|
||||
syn match manOptionDesc "^\s*[+-][a-z0-9]\S*"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" very basic things only (based on the vgrindefs file).
|
||||
" If you use this language, please improve it, and send me the patches!
|
||||
" If you use this language, please improve it, and send patches!
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
" Vim syntax file
|
||||
" Language: Nix
|
||||
" Maintainer: James Fleming <james@electronic-quill.net>
|
||||
" Maintainer: James Fleming <james@electronic-quill.net>
|
||||
" (Github username: equill)
|
||||
" Original Author: Daiderd Jordan <daiderd@gmail.com>
|
||||
" Acknowledgement: Based on vim-nix maintained by Daiderd Jordan <daiderd@gmail.com>
|
||||
" https://github.com/LnL7/vim-nix
|
||||
" License: MIT
|
||||
" Last Change: 2022 Dec 06
|
||||
" Last Change: 2023 Aug 19
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@@ -68,7 +69,8 @@ syn match nixAttribute "[a-zA-Z_][a-zA-Z0-9_'-]*\ze\%([^a-zA-Z0-9_'.-]\|$\)" con
|
||||
syn region nixAttributeAssignment start="=" end="\ze;" contained contains=@nixExpr
|
||||
syn region nixAttributeDefinition start=/\ze[a-zA-Z_"$]/ end=";" contained contains=nixComment,nixAttribute,nixInterpolation,nixSimpleString,nixAttributeDot,nixAttributeAssignment
|
||||
|
||||
syn region nixInheritAttributeScope start="(" end="\ze)" contained contains=@nixExpr
|
||||
syn region nixInheritAttributeSubExpr start="("ms=e+1 end="\ze)" contained contains=nixAttributeDot,@nixExpr
|
||||
syn region nixInheritAttributeScope start="\ze(" end=")" contained contains=nixInheritAttributeSubExpr
|
||||
syn region nixAttributeDefinition matchgroup=nixInherit start="\<inherit\>" end=";" contained contains=nixComment,nixInheritAttributeScope,nixAttribute
|
||||
|
||||
syn region nixAttributeSet start="{" end="}" contains=nixComment,nixAttributeDefinition
|
||||
|
||||
@@ -20,7 +20,7 @@ syn match pymanifestComment /\\\@1<!#.*/ contains=pymanifestTodo
|
||||
" Commands
|
||||
syn keyword pymanifestCommand
|
||||
\ include exclude
|
||||
\ recursive-include resursive-exclude
|
||||
\ recursive-include recursive-exclude
|
||||
\ global-include global-exclude
|
||||
\ graft prune
|
||||
|
||||
|
||||
1130
runtime/syntax/qml.vim
Normal file
1130
runtime/syntax/qml.vim
Normal file
File diff suppressed because it is too large
Load Diff
@@ -81,7 +81,7 @@ else
|
||||
syn match yamlEscape contained '\\\%([\\"abefnrtv\^0_ NLP\n]\|x\x\x\|u\x\{4}\|U\x\{8}\)'
|
||||
syn match yamlSingleEscape contained "''"
|
||||
syn match yamlComment /#.*/ contained
|
||||
" A second colon is a syntax error, unles within a string or following !expr
|
||||
" A second colon is a syntax error, unless within a string or following !expr
|
||||
syn match yamlColonError /:\s*[^'^"^!]*:/ contained
|
||||
if &filetype == 'quarto'
|
||||
syn region pandocYAMLHeader matchgroup=rmdYamlBlockDelim start=/\%(\%^\|\_^\s*\n\)\@<=\_^-\{3}\ze\n.\+/ end=/^---$/ keepend contains=rmdYamlFieldTtl,yamlFlowString,yamlComment,yamlColonError
|
||||
|
||||
@@ -25,7 +25,7 @@ syn keyword sdcNonIdealities set_load set_min_capacitance set_max_capacitance
|
||||
syn keyword sdcCreateOperations create_clock create_timing_netlist update_timing_netlist
|
||||
|
||||
" command flags highlighting
|
||||
syn match sdcFlags "[[:space:]]-[[:alpha:]]*\>"
|
||||
syn match sdcFlags "[[:space:]]-[[:alpha:]_]*\>"
|
||||
|
||||
" Define the default highlighting.
|
||||
hi def link sdcCollections Repeat
|
||||
|
||||
@@ -294,7 +294,7 @@ syn sync minlines=100
|
||||
hi def link sgmlTodo Todo
|
||||
hi def link sgmlTag Function
|
||||
hi def link sgmlEndTag Identifier
|
||||
" SGML specifig
|
||||
" SGML specific
|
||||
hi def link sgmlAbbrEndTag Identifier
|
||||
hi def link sgmlEmptyTag Function
|
||||
hi def link sgmlEntity Statement
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: TypeScript and TypeScriptReact
|
||||
" Maintainer: Bram Moolenaar, Herrington Darkholme
|
||||
" Last Change: 2021 Sep 22
|
||||
" Maintainer: Herrington Darkholme
|
||||
" Last Change: 2023 Aug 24
|
||||
" Based On: Herrington Darkholme's yats.vim
|
||||
" Changes: See https:github.com/HerringtonDarkholme/yats.vim
|
||||
" Changes: See https://github.com/HerringtonDarkholme/yats.vim
|
||||
" Credits: See yats.vim on github
|
||||
|
||||
if &cpo =~ 'C'
|
||||
@@ -149,7 +149,7 @@ syntax match typescriptNumber /\<0[bB][01][01_]*\>/ nextgroup=@typescript
|
||||
syntax match typescriptNumber /\<0[oO][0-7][0-7_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty
|
||||
syntax match typescriptNumber /\<0[xX][0-9a-fA-F][0-9a-fA-F_]*\>/ nextgroup=@typescriptSymbols skipwhite skipempty
|
||||
syntax match typescriptNumber /\<\%(\d[0-9_]*\%(\.\d[0-9_]*\)\=\|\.\d[0-9_]*\)\%([eE][+-]\=\d[0-9_]*\)\=\>/
|
||||
\ nextgroup=typescriptSymbols skipwhite skipempty
|
||||
\ nextgroup=@typescriptSymbols skipwhite skipempty
|
||||
|
||||
syntax region typescriptObjectLiteral matchgroup=typescriptBraces
|
||||
\ start=/{/ end=/}/
|
||||
|
||||
@@ -94,7 +94,7 @@ syn region slrnrcColorObjStr contained matchgroup=slrnrcColorObj start=+"+ end=
|
||||
syn keyword slrnrcColorVal contained default
|
||||
syn keyword slrnrcColorVal contained black blue brightblue brightcyan brightgreen brightmagenta brightred brown cyan gray green lightgray magenta red white yellow
|
||||
syn region slrnrcColorValStr contained matchgroup=slrnrcColorVal start=+"+ end=+"+ oneline contains=slrnrcColorVal,slrnrcSpaceError
|
||||
" Mathcing a function with three arguments
|
||||
" Matching a function with three arguments
|
||||
syn keyword slrnrcColor contained color
|
||||
syn match slrnrcColorInit contained "^\s*color\s\+\S\+" skipwhite nextgroup=slrnrcColorVal\(Str\)\= contains=slrnrcColor\(Obj\|ObjStr\)\=
|
||||
syn match slrnrcColorLine "^\s*color\s\+\S\+\s\+\S\+" skipwhite nextgroup=slrnrcColorVal\(Str\)\= contains=slrnrcColor\(Init\|Val\|ValStr\)
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
" Vim syntax file
|
||||
" Language: Solidity
|
||||
" Maintainer: Cothi (jiungdev@gmail.com)
|
||||
" Original Author: tomlion (https://github.com/tomlion/vim-solidity/blob/master/syntax/solidity.vim)
|
||||
" Last Changed: 2022 Sep 27
|
||||
" Language: Solidity
|
||||
" Maintainer: Cothi (jiungdev@gmail.com)
|
||||
" Original Author: tomlion (https://github.com/tomlion/vim-solidity/blob/master/syntax/solidity.vim)
|
||||
" Last Change: 2022 Sep 27
|
||||
"
|
||||
" Additional contributors:
|
||||
" Contributors:
|
||||
" Modified by thesis (https://github.com/thesis/vim-solidity/blob/main/indent/solidity.vim)
|
||||
|
||||
if exists("b:current_syntax")
|
||||
|
||||
@@ -56,7 +56,7 @@ syn match specListedFilesEtc contained '/etc/'me=e-1
|
||||
syn match specListedFilesShare contained '/share/'me=e-1
|
||||
syn cluster specListedFiles contains=specListedFilesBin,specListedFilesLib,specListedFilesDoc,specListedFilesEtc,specListedFilesShare,specListedFilesPrefix,specVariables,specSpecialChar
|
||||
|
||||
"specComands
|
||||
"specCommands
|
||||
syn match specConfigure contained '\./configure'
|
||||
syn match specTarCommand contained '\<tar\s\+[cxvpzIf]\{,5}\s*'
|
||||
syn keyword specCommandSpecial contained root
|
||||
@@ -87,7 +87,7 @@ syn region specSectionMacroBracketArea oneline matchgroup=specSectionMacro start
|
||||
"TODO %config valid parameters: missingok\|noreplace
|
||||
"TODO %verify valid parameters: \(not\)\= \(md5\|atime\|...\)
|
||||
syn region specFilesArea matchgroup=specSection start='^%[Ff][Ii][Ll][Ee][Ss]\>' skip='%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|license\|verify\|ghost\|exclude\)\>' end='^%[a-zA-Z]'me=e-2 contains=specFilesOpts,specFilesDirective,@specListedFiles,specComment,specCommandSpecial,specMacroIdentifier
|
||||
"tip: remember to include new itens in specFilesArea above
|
||||
"tip: remember to include new items in specFilesArea above
|
||||
syn match specFilesDirective contained '%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|license\|verify\|ghost\|exclude\)\>'
|
||||
|
||||
"valid options for certain section headers
|
||||
|
||||
@@ -162,7 +162,7 @@ hi def link sqlNumber Number
|
||||
hi def link sqlBoolean Boolean
|
||||
hi def link sqlString String
|
||||
|
||||
" === Statment syntax group ===
|
||||
" === Statement syntax group ===
|
||||
hi def link sqlStatement Statement
|
||||
hi def link sqlConditional Conditional
|
||||
hi def link sqlRepeat Repeat
|
||||
|
||||
@@ -16,7 +16,7 @@ endif
|
||||
" Read the Java syntax to start with
|
||||
source <sfile>:p:h/java.vim
|
||||
|
||||
" SQLJ extentions
|
||||
" SQLJ extensions
|
||||
" The SQL reserved words, defined as keywords.
|
||||
|
||||
syn case ignore
|
||||
|
||||
@@ -31,7 +31,7 @@ syn keyword squidConf cache_effective_user cache_host cache_host_acl
|
||||
syn keyword squidConf cache_host_domain cache_log cache_mem
|
||||
syn keyword squidConf cache_mem_high cache_mem_low cache_mgr
|
||||
syn keyword squidConf cachemgr_passwd cache_peer cache_peer_access
|
||||
syn keyword squidConf cahce_replacement_policy cache_stoplist
|
||||
syn keyword squidConf cache_replacement_policy cache_stoplist
|
||||
syn keyword squidConf cache_stoplist_pattern cache_store_log cache_swap
|
||||
syn keyword squidConf cache_swap_high cache_swap_log cache_swap_low
|
||||
syn keyword squidConf client_db client_lifetime client_netmask
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
" Vim syntax file
|
||||
" Language: TASM: turbo assembler by Borland
|
||||
" Maintaner: FooLman of United Force <foolman@bigfoot.com>
|
||||
" Maintainer: FooLman of United Force <foolman@bigfoot.com>
|
||||
" Last Change: 2012 Feb 03 by Thilo Six, and 2018 Nov 27.
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
|
||||
@@ -27,7 +27,7 @@ syn keyword tfVar bamf bg_output borg clearfull cleardone clock connect contai
|
||||
syn keyword tfVar emulation end_color gag gethostbyname gpri hook hilite contained
|
||||
syn keyword tfVar hiliteattr histsize hpri insert isize istrip kecho contained
|
||||
syn keyword tfVar kprefix login lp lpquote maildelay matching max_iter contained
|
||||
syn keyword tfVar max_recur mecho more mprefix oldslash promt_sec contained
|
||||
syn keyword tfVar max_recur mecho more mprefix oldslash prompt_sec contained
|
||||
syn keyword tfVar prompt_usec proxy_host proxy_port ptime qecho qprefix contained
|
||||
syn keyword tfVar quite quitdone redef refreshtime scroll shpause snarf sockmload contained
|
||||
syn keyword tfVar start_color tabsize telopt sub time_format visual contained
|
||||
|
||||
@@ -83,11 +83,11 @@ syn keyword tsaltFunction vGetChrs vGetChrsA vPutChr vPutChrs
|
||||
syn keyword tsaltFunction vPutChrsA vRstrArea vSaveArea
|
||||
|
||||
" Dynamic Data Exchange (DDE) Operations
|
||||
syn keyword tsaltFunction DDEExecute DDEInitate DDEPoke DDERequest
|
||||
syn keyword tsaltFunction DDEExecute DDEInitiate DDEPoke DDERequest
|
||||
syn keyword tsaltFunction DDETerminate DDETerminateAll
|
||||
"END FUNCTIONS
|
||||
|
||||
"PREDEFINED VARAIABLES
|
||||
"PREDEFINED VARIABLES
|
||||
syn keyword tsaltSysVar _add_lf _alarm_on _answerback_str _asc_rcrtrans
|
||||
syn keyword tsaltSysVar _asc_remabort _asc_rlftrans _asc_scpacing
|
||||
syn keyword tsaltSysVar _asc_scrtrans _asc_secho _asc_slpacing
|
||||
@@ -106,7 +106,7 @@ syn keyword tsaltSysVar _scr_chk_key _script_dir _sound_on
|
||||
syn keyword tsaltSysVar _strip_high _swap_bs _telix_dir _up_dir
|
||||
syn keyword tsaltSysVar _usage_fname _zmodauto _zmod_rcrash
|
||||
syn keyword tsaltSysVar _zmod_scrash
|
||||
"END PREDEFINED VARAIABLES
|
||||
"END PREDEFINED VARIABLES
|
||||
|
||||
"TYPE
|
||||
syn keyword tsaltType str int
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
" Vim syntax file
|
||||
" Language: TypeScript
|
||||
" Maintainer: Bram Moolenaar, Herrington Darkholme
|
||||
" Last Change: 2019 Nov 30
|
||||
" Maintainer: Herrington Darkholme
|
||||
" Last Change: 2023 Aug 13
|
||||
" Based On: Herrington Darkholme's yats.vim
|
||||
" Changes: Go to https:github.com/HerringtonDarkholme/yats.vim for recent changes.
|
||||
" Changes: Go to https://github.com/HerringtonDarkholme/yats.vim for recent changes.
|
||||
" Origin: https://github.com/othree/yajs
|
||||
" Credits: Kao Wei-Ko(othree), Jose Elera Campana, Zhao Yi, Claudio Fleiner, Scott Shattuck
|
||||
" (This file is based on their hard work), gumnos (From the #vim
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user