Compare commits
107 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
836ed5271e | ||
|
|
014d50df80 | ||
|
|
d839a5b3b0 | ||
|
|
c0a3eda6ba | ||
|
|
38315295ef | ||
|
|
bb1233d328 | ||
|
|
bb26f709ea | ||
|
|
196c376682 | ||
|
|
84a343a6ed | ||
|
|
17b4c7cfa2 | ||
|
|
3e44fbf316 | ||
|
|
e1a435c508 | ||
|
|
2fd9ac7a69 | ||
|
|
aabcca3655 | ||
|
|
a167e8a416 | ||
|
|
3e152c76ad | ||
|
|
96b2154b73 | ||
|
|
31170af24a | ||
|
|
c7c10f8c11 | ||
|
|
2f7e4eb335 | ||
|
|
1526d4f23c | ||
|
|
14afa278c1 | ||
|
|
44c8072ef6 | ||
|
|
0c4405a6b2 | ||
|
|
a2f13bf782 | ||
|
|
59799f3afa | ||
|
|
ce288c7fb0 | ||
|
|
308a3130be | ||
|
|
20a159b557 | ||
|
|
0ebe55af54 | ||
|
|
486cffab3e | ||
|
|
c08b94b072 | ||
|
|
1e38198a41 | ||
|
|
a09b1604d4 | ||
|
|
b405c79004 | ||
|
|
39f9298cb2 | ||
|
|
3281a0ae62 | ||
|
|
90f5d67840 | ||
|
|
3cee950fc9 | ||
|
|
d6a762fe1b | ||
|
|
62f5be6ea6 | ||
|
|
126bc4690f | ||
|
|
ade0815856 | ||
|
|
03d6e06edd | ||
|
|
bb07b1ac14 | ||
|
|
891353671a | ||
|
|
706b6f5867 | ||
|
|
1ee1d9b43d | ||
|
|
dd9ed09d8e | ||
|
|
17a6d696bd | ||
|
|
c93a2b3327 | ||
|
|
7e0df5eee9 | ||
|
|
5ba6e41d37 | ||
|
|
59e1d7f353 | ||
|
|
639d93fc0e | ||
|
|
487dd1716a | ||
|
|
397b9da29d | ||
|
|
d1833d2827 | ||
|
|
dba9eb46e6 | ||
|
|
6b9cf3139a | ||
|
|
8b183450ad | ||
|
|
a94a0555d9 | ||
|
|
48b7eb1ceb | ||
|
|
e32465190c | ||
|
|
32d6bd6df2 | ||
|
|
8f9de4991e | ||
|
|
cda0d17f59 | ||
|
|
da9c966893 | ||
|
|
4fca92faa2 | ||
|
|
b362995430 | ||
|
|
fc3c204bbe | ||
|
|
8e2a229189 | ||
|
|
1434ea03b1 | ||
|
|
57eb1d496b | ||
|
|
eeef7c7743 | ||
|
|
887b4981e7 | ||
|
|
f56f490ca2 | ||
|
|
a2bb21a895 | ||
|
|
c03990d30f | ||
|
|
c43a0614d4 | ||
|
|
c65643cbec | ||
|
|
7270a5a843 | ||
|
|
7f8ad9b374 | ||
|
|
982cda6976 | ||
|
|
bc51ec53d0 | ||
|
|
761ea77670 | ||
|
|
b89ff6c2e1 | ||
|
|
fa2bcbdebc | ||
|
|
25599902ca | ||
|
|
126731c8fd | ||
|
|
efd83d441b | ||
|
|
eb2aebeb79 | ||
|
|
8a65a49d50 | ||
|
|
d82c918e2f | ||
|
|
46ec899026 | ||
|
|
04c9e78cd3 | ||
|
|
3be4ad76df | ||
|
|
1bfe86a7d3 | ||
|
|
7132935413 | ||
|
|
adfea9b4e6 | ||
|
|
6a6a44ffb5 | ||
|
|
66d8d286cd | ||
|
|
22fc41f1f7 | ||
|
|
d305729bc5 | ||
|
|
6abe5e4904 | ||
|
|
c849b17e19 | ||
|
|
93f6454724 |
2
.github/MAINTAINERS
vendored
2
.github/MAINTAINERS
vendored
@@ -243,6 +243,7 @@ runtime/ftplugin/nu.vim @mrcjkb
|
||||
runtime/ftplugin/octave.vim @dkearns
|
||||
runtime/ftplugin/ondir.vim @jparise
|
||||
runtime/ftplugin/opencl.vim @Freed-Wu
|
||||
runtime/ftplugin/openscad.vim @squibid
|
||||
runtime/ftplugin/openvpn.vim @ObserverOfTime
|
||||
runtime/ftplugin/pascal.vim @dkearns
|
||||
runtime/ftplugin/pbtxt.vim @lakshayg
|
||||
@@ -448,6 +449,7 @@ runtime/syntax/bzr.vim @hdima
|
||||
runtime/syntax/cabal.vim @coot
|
||||
runtime/syntax/cabalconfig.vim @coot
|
||||
runtime/syntax/cabalproject.vim @coot
|
||||
runtime/syntax/cangjie.vim @WuJunkai2004
|
||||
runtime/syntax/cf.vim @ernstvanderlinden
|
||||
runtime/syntax/chatito.vim @ObserverOfTime
|
||||
runtime/syntax/chicken.vim @evhan
|
||||
|
||||
23
.github/workflows/ci.yml
vendored
23
.github/workflows/ci.yml
vendored
@@ -85,10 +85,16 @@ jobs:
|
||||
- features: normal
|
||||
compiler: gcc
|
||||
extra: [vimtags]
|
||||
- features: huge
|
||||
compiler: gcc
|
||||
extra: [no_x11]
|
||||
- features: huge
|
||||
compiler: gcc
|
||||
extra: [socketserver]
|
||||
|
||||
steps:
|
||||
- name: Checkout repository from github
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Check Filelist (for packaging)
|
||||
run: |
|
||||
@@ -220,7 +226,7 @@ jobs:
|
||||
tiny)
|
||||
echo "TEST=testtiny"
|
||||
if ${{ contains(matrix.extra, 'nogui') }}; then
|
||||
echo "CONFOPT=--disable-gui"
|
||||
CONFOPT="--disable-gui"
|
||||
fi
|
||||
;;
|
||||
normal)
|
||||
@@ -232,10 +238,16 @@ jobs:
|
||||
PYTHON3_CONFOPT="--with-python3-stable-abi=3.8"
|
||||
fi
|
||||
# The ubuntu-24.04 CI runner does not provide a python2 package.
|
||||
echo "CONFOPT=--enable-perlinterp=${INTERFACE} --enable-pythoninterp=no --enable-python3interp=${INTERFACE} --enable-rubyinterp=${INTERFACE} --enable-luainterp=${INTERFACE} --enable-tclinterp=${INTERFACE} ${PYTHON3_CONFOPT}"
|
||||
CONFOPT="--enable-perlinterp=${INTERFACE} --enable-pythoninterp=no --enable-python3interp=${INTERFACE} --enable-rubyinterp=${INTERFACE} --enable-luainterp=${INTERFACE} --enable-tclinterp=${INTERFACE} ${PYTHON3_CONFOPT}"
|
||||
;;
|
||||
esac
|
||||
|
||||
if ${{ contains(matrix.extra, 'no_x11') }}; then
|
||||
CONFOPT="${CONFOPT} --without-x --disable-gui"
|
||||
fi
|
||||
if ${{ contains(matrix.extra, 'socketserver') }}; then
|
||||
CONFOPT="${CONFOPT} --enable-socketserver"
|
||||
fi
|
||||
if ${{ matrix.coverage == true }}; then
|
||||
CFLAGS="${CFLAGS} --coverage -DUSE_GCOV_FLUSH"
|
||||
echo "LDFLAGS=--coverage"
|
||||
@@ -259,6 +271,7 @@ jobs:
|
||||
echo "TEST=-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
|
||||
fi
|
||||
echo "CFLAGS=${CFLAGS}"
|
||||
echo "CONFOPT=${CONFOPT}"
|
||||
# Disables GTK attempt to integrate with the accessibility service that does run in CI.
|
||||
echo "NO_AT_BRIDGE=1"
|
||||
) >> $GITHUB_ENV
|
||||
@@ -382,7 +395,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository from github
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Install packages
|
||||
if: matrix.features == 'huge'
|
||||
@@ -572,7 +585,7 @@ jobs:
|
||||
release: false
|
||||
|
||||
- name: Checkout repository from github
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Create a list of download URLs
|
||||
shell: cmd
|
||||
|
||||
2
.github/workflows/codeql-analysis.yml
vendored
2
.github/workflows/codeql-analysis.yml
vendored
@@ -44,7 +44,7 @@ jobs:
|
||||
|
||||
steps:
|
||||
- name: Checkout repository from github
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
# Initializes the CodeQL tools for scanning.
|
||||
- name: Initialize CodeQL
|
||||
|
||||
2
.github/workflows/coverity.yml
vendored
2
.github/workflows/coverity.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout repository from github
|
||||
if: env.TOKEN
|
||||
uses: actions/checkout@v4
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Download Coverity
|
||||
if: env.TOKEN
|
||||
|
||||
15
.github/workflows/link-check.yml
vendored
Normal file
15
.github/workflows/link-check.yml
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
# .github/workflows/link-check.yml
|
||||
name: Check Links
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 3 * * 0' # Every Sunday at 03:00 UTC
|
||||
jobs:
|
||||
lychee:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v5
|
||||
- name: Run Lychee
|
||||
uses: lycheeverse/lychee-action@v2
|
||||
with:
|
||||
args: --verbose --config ci/lychee.toml .
|
||||
@@ -48,7 +48,7 @@ approvers are happy with that particular change.
|
||||
|
||||
# Reporting issues
|
||||
|
||||
We use GitHub issues, but that is not a requirement. Writing to the Vim
|
||||
We use GitHub [issues][17], but that is not a requirement. Writing to the Vim
|
||||
mailing list is also fine.
|
||||
|
||||
Please use the GitHub issues only for actual issues. If you are not 100% sure
|
||||
@@ -72,7 +72,8 @@ Or open [the todo file][todo list] on GitHub to see the latest version.
|
||||
|
||||
The latest version of these files can be obtained from the repository.
|
||||
They are usually not updated with numbered patches. However, they may
|
||||
or may not work with older Vim releases (since they may contain new features).
|
||||
or may not work with older Vim releases (since they may depend on new
|
||||
features).
|
||||
|
||||
If you find a problem with one of these files or have a suggestion for
|
||||
improvement, please first try to contact the maintainer directly.
|
||||
@@ -82,7 +83,18 @@ upstream repository. You may also check the [MAINTAINERS][11] file.
|
||||
The maintainer will take care of issues and send updates to the Vim project for
|
||||
distribution with Vim.
|
||||
|
||||
If the maintainer does not respond, contact the [vim-dev][0] mailing list.
|
||||
If the maintainer does not respond, contact the [vim-dev][0] mailing list or
|
||||
open an [issue][17] here.
|
||||
|
||||
Note: Whether or not to use Vim9 script is up to the maintainer. For runtime
|
||||
files maintained here, we aim to preserve compatibility with Neovim if
|
||||
possible. Please wrap Vim9 script with a guard like this:
|
||||
```vim
|
||||
if has('vim9script')
|
||||
" use Vim9 script implementation
|
||||
[...]
|
||||
endif
|
||||
```
|
||||
|
||||
## Contributing new runtime files
|
||||
|
||||
@@ -95,6 +107,9 @@ PR with your changes against this repository here. For new filetypes, do not for
|
||||
- add yourself as Maintainer to the top of file (again, keep the header similar to
|
||||
other runtime files)
|
||||
- add yourself to the [MAINTAINERS][11] file.
|
||||
- add a guard `if has('vim9script')` if you like to maintain Neovim
|
||||
compatibility but want to use Vim9 script (or restrict yourself to legacy Vim
|
||||
script)
|
||||
|
||||
# Translations
|
||||
|
||||
@@ -144,3 +159,4 @@ mailing list. For other questions please use the [Vi Stack Exchange][8] website,
|
||||
[14]: https://github.com/vim/vim/blob/master/runtime/doc/syntax.txt
|
||||
[15]: https://en.wikipedia.org/wiki/Developer_Certificate_of_Origin
|
||||
[16]: https://github.com/vim/vim/blob/master/runtime/doc/helphelp.txt
|
||||
[17]: https://github.com/vim/vim/issues
|
||||
|
||||
4
Filelist
4
Filelist
@@ -12,6 +12,7 @@ SRC_ALL = \
|
||||
.github/workflows/ci.yml \
|
||||
.github/workflows/codeql-analysis.yml \
|
||||
.github/workflows/coverity.yml \
|
||||
.github/workflows/link-check.yml \
|
||||
.github/actions/test_artifacts/action.yml \
|
||||
.github/dependabot.yml \
|
||||
.gitignore \
|
||||
@@ -24,6 +25,7 @@ SRC_ALL = \
|
||||
ci/config.mk*.sed \
|
||||
ci/if_ver*.vim \
|
||||
ci/if_feat_check.vim \
|
||||
ci/lychee.toml \
|
||||
ci/setup-xvfb.sh \
|
||||
ci/setup-sway.sh \
|
||||
ci/remove_snap.sh \
|
||||
@@ -80,6 +82,7 @@ SRC_ALL = \
|
||||
src/findfile.c \
|
||||
src/float.c \
|
||||
src/fold.c \
|
||||
src/fuzzy.c \
|
||||
src/getchar.c \
|
||||
src/gc.c \
|
||||
src/globals.h \
|
||||
@@ -289,6 +292,7 @@ SRC_ALL = \
|
||||
src/proto/findfile.pro \
|
||||
src/proto/float.pro \
|
||||
src/proto/fold.pro \
|
||||
src/proto/fuzzy.pro \
|
||||
src/proto/getchar.pro \
|
||||
src/proto/gc.pro \
|
||||
src/proto/gui.pro \
|
||||
|
||||
47
ci/lychee.toml
Normal file
47
ci/lychee.toml
Normal file
@@ -0,0 +1,47 @@
|
||||
############################# Runtime #############################
|
||||
|
||||
# Reasonable concurrency to avoid rate-limiting small hosts.
|
||||
max_concurrency = 14
|
||||
|
||||
# File extensions to scan
|
||||
extensions = ["c", "h", "md", "html", "txt"]
|
||||
|
||||
############################# Requests ############################
|
||||
|
||||
# Accepted status codes
|
||||
# - Include 429 (Too Many Requests) to avoid marking throttled links as dead.
|
||||
accept = ["100..=103", "200..=299", "429"]
|
||||
|
||||
# Retry each request a few times on transient network errors
|
||||
retries = 2
|
||||
retry_wait_time = 2
|
||||
|
||||
# Timeout per request in seconds
|
||||
timeout = 20
|
||||
|
||||
############################# Exclusions ##########################
|
||||
|
||||
exclude = [
|
||||
'^https?://sys/file$',
|
||||
'^file://.*',
|
||||
'^https?://(www\.)?badges\.debian\.net/.*$',
|
||||
'^https?://(www\.)?repology\.org/.*$',
|
||||
'^https?://scan\.coverity\.com/.*$',
|
||||
'^https?://(www\.)?img\.shields\.io/.*$',
|
||||
'^https?://(www\.)?fossies\.org/.*$',
|
||||
'^https?://(www\.)?adobe\.com.*$',
|
||||
'^https?://(www\.)?google\.com.*$',
|
||||
'^https?://(www\.)?forum\.vmssoftware\.com/.*$',
|
||||
'^http://vim\.sourceforge\.net/scripts/script\.php\?script_id=40$',
|
||||
'^https://is\.gd/.*$',
|
||||
'^https://wiki\.contextgarden\.net/Vim$',
|
||||
'^https://github\.com/you/foobar\.git$',
|
||||
'^https?://flatassembler\.net',
|
||||
'^https?://www\.fleiner\.com/vim/download.html',
|
||||
]
|
||||
|
||||
# Lychee only reads UTF-8 files
|
||||
exclude_path = [
|
||||
'src/po',
|
||||
'src/testdir',
|
||||
]
|
||||
12
runtime/autoload/dist/script.vim
vendored
12
runtime/autoload/dist/script.vim
vendored
@@ -4,7 +4,7 @@ vim9script
|
||||
# Invoked from "scripts.vim" in 'runtimepath'
|
||||
#
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2025 Apr 24
|
||||
# Last Change: 2025 Aug 09
|
||||
# Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
export def DetectFiletype()
|
||||
@@ -264,6 +264,7 @@ def DetectFromText(line1: string)
|
||||
|
||||
# ELM Mail files
|
||||
elseif line1 =~ '^From \([a-zA-Z][a-zA-Z_0-9\.=-]*\(@[^ ]*\)\=\|-\) .* \(19\|20\)\d\d$'
|
||||
|| line1 =~ '^\creturn-path:\s<.*@.*>$'
|
||||
setl ft=mail
|
||||
|
||||
# Mason
|
||||
@@ -286,6 +287,7 @@ def DetectFromText(line1: string)
|
||||
# Diff file:
|
||||
# - "diff" in first line (context diff)
|
||||
# - "Only in " in first line
|
||||
# - "34,35c34,35" normal diff format output
|
||||
# - "--- " in first line and "+++ " in second line (unified diff).
|
||||
# - "*** " in first line and "--- " in second line (context diff).
|
||||
# - "# It was generated by makepatch " in the second line (makepatch diff).
|
||||
@@ -294,7 +296,7 @@ def DetectFromText(line1: string)
|
||||
# - "=== ", "--- ", "+++ " (bzr diff, common case)
|
||||
# - "=== (removed|added|renamed|modified)" (bzr diff, alternative)
|
||||
# - "# HG changeset patch" in first line (Mercurial export format)
|
||||
elseif line1 =~ '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\>\|# It was generated by makepatch \|Index:\s\+\f\+\r\=$\|===== \f\+ \d\+\.\d\+ vs edited\|==== //\f\+#\d\+\|# HG changeset patch\)'
|
||||
elseif line1 =~ '^\(diff\>\|Only in \|\d\+\(,\d\+\)\=[cda]\d\+\(,\d\+\)\=\>$\|# It was generated by makepatch \|Index:\s\+\f\+\r\=$\|===== \f\+ \d\+\.\d\+ vs edited\|==== //\f\+#\d\+\|# HG changeset patch\)'
|
||||
|| (line1 =~ '^--- ' && line2 =~ '^+++ ')
|
||||
|| (line1 =~ '^\* looking for ' && line2 =~ '^\* comparing to ')
|
||||
|| (line1 =~ '^\*\*\* ' && line2 =~ '^--- ')
|
||||
@@ -453,6 +455,12 @@ def DetectFromText(line1: string)
|
||||
elseif line1 =~ '^#n\%($\|\s\)'
|
||||
setl ft=sed
|
||||
|
||||
elseif line1 =~ '^#\s\+Reconstructed via infocmp from file:'
|
||||
setl ft=terminfo
|
||||
|
||||
elseif line1 =~ '^File: .*\.info, Node: .*, \%(Next\|Prev\): .*, Up: \|This is the top of the INFO tree.'
|
||||
setl ft=info
|
||||
|
||||
else
|
||||
var lnum = 1
|
||||
while getline(lnum) =~ "^? " && lnum < line("$")
|
||||
|
||||
7
runtime/autoload/dist/vim9.vim
vendored
7
runtime/autoload/dist/vim9.vim
vendored
@@ -3,7 +3,7 @@ vim9script
|
||||
# Vim runtime support library
|
||||
#
|
||||
# Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
# Last Change: 2025 Jan 29
|
||||
# Last Change: 2025 Aug 15
|
||||
|
||||
export def IsSafeExecutable(filetype: string, executable: string): bool
|
||||
if empty(exepath(executable))
|
||||
@@ -121,6 +121,11 @@ def Viewer(): string
|
||||
enddef
|
||||
|
||||
export def Open(file: string)
|
||||
# disable shellslash for shellescape, required on Windows #17995
|
||||
if exists('+shellslash') && &shellslash
|
||||
&shellslash = false
|
||||
defer setbufvar('%', '&shellslash', true)
|
||||
endif
|
||||
Launch($"{Viewer()} {shellescape(file, 1)}")
|
||||
enddef
|
||||
|
||||
|
||||
83
runtime/autoload/vimcomplete.vim
Normal file
83
runtime/autoload/vimcomplete.vim
Normal file
@@ -0,0 +1,83 @@
|
||||
vim9script
|
||||
|
||||
# Vim completion script
|
||||
# Language: Vim script
|
||||
# Maintainer: Maxim Kim <habamax@gmail.com>
|
||||
# Last Change: 2025-08-10
|
||||
#
|
||||
# Usage:
|
||||
# setlocal omnifunc=vimcomplete#Complete
|
||||
#
|
||||
# Simple complete function for Vim script
|
||||
|
||||
var trigger: string = ""
|
||||
var prefix: string = ""
|
||||
|
||||
|
||||
def GetTrigger(line: string): list<any>
|
||||
var result = ""
|
||||
var result_len = 0
|
||||
|
||||
if line =~ '->\k*$'
|
||||
result = 'function'
|
||||
elseif line =~ '\v%(^|\s+)\&\k*$'
|
||||
result = 'option'
|
||||
elseif line =~ '[\[(]\s*$'
|
||||
result = 'expression'
|
||||
elseif line =~ '[lvgsb]:\k*$'
|
||||
result = 'var'
|
||||
result_len = 2
|
||||
else
|
||||
result = getcompletiontype(line) ?? 'cmdline'
|
||||
endif
|
||||
return [result, result_len]
|
||||
enddef
|
||||
|
||||
export def Complete(findstart: number, base: string): any
|
||||
if findstart > 0
|
||||
var line = getline('.')->strpart(0, col('.') - 1)
|
||||
var keyword = line->matchstr('\k\+$')
|
||||
var stx = synstack(line('.'), col('.') - 1)->map('synIDattr(v:val, "name")')->join()
|
||||
if stx =~? 'Comment' || (stx =~ 'String' && stx !~ 'vimStringInterpolationExpr')
|
||||
return -2
|
||||
endif
|
||||
var trigger_len: number = 0
|
||||
[trigger, trigger_len] = GetTrigger(line)
|
||||
if keyword->empty() && trigger->empty()
|
||||
return -2
|
||||
endif
|
||||
prefix = line
|
||||
return line->len() - keyword->len() - trigger_len
|
||||
endif
|
||||
|
||||
var items = []
|
||||
if trigger == 'function'
|
||||
items = getcompletion(base, 'function')
|
||||
->mapnew((_, v) => ({word: v, kind: 'v', menu: 'Function', dup: 0}))
|
||||
elseif trigger == 'option'
|
||||
items = getcompletion(base, 'option')
|
||||
->mapnew((_, v) => ({word: v, kind: 'v', menu: 'Option', dup: 0}))
|
||||
elseif trigger == 'var'
|
||||
items = getcompletion(base, 'var')
|
||||
->mapnew((_, v) => ({word: v, kind: 'v', menu: 'Variable', dup: 0}))
|
||||
elseif trigger == 'expression'
|
||||
items = getcompletion(base, 'expression')
|
||||
->mapnew((_, v) => ({word: v, kind: 'v', menu: 'Expression', dup: 0}))
|
||||
elseif trigger == 'command'
|
||||
var commands = getcompletion(base, 'command')
|
||||
->mapnew((_, v) => ({word: v, kind: 'v', menu: 'Command', dup: 0}))
|
||||
var functions = getcompletion(base, 'function')
|
||||
->mapnew((_, v) => ({word: v, kind: 'v', menu: 'Function', dup: 0}))
|
||||
items = commands + functions
|
||||
else
|
||||
items = getcompletion(prefix, 'cmdline')
|
||||
->mapnew((_, v) => ({word: v->matchstr('\k\+'), kind: 'v', dup: 0}))
|
||||
|
||||
if empty(items) && !empty(base)
|
||||
items = getcompletion(base, 'expression')
|
||||
->mapnew((_, v) => ({word: v, kind: 'v', menu: 'Expression', dup: 0}))
|
||||
endif
|
||||
endif
|
||||
|
||||
return items->empty() ? v:none : items
|
||||
enddef
|
||||
@@ -1,5 +1,16 @@
|
||||
vim9script
|
||||
|
||||
# Language: Vim9 script
|
||||
# Contributers: @lacygoill
|
||||
# Shane-XB-Qian
|
||||
# Last Change: 2025 Aug 13
|
||||
#
|
||||
# Vim Script to handle
|
||||
# :import, :packadd and :colorscheme
|
||||
# lines and allows to easily jump to it using gf
|
||||
#
|
||||
# see runtime/ftplugin/vim.vim
|
||||
|
||||
# Interface {{{1
|
||||
export def Find(editcmd: string) #{{{2
|
||||
var curline: string = getline('.')
|
||||
@@ -9,6 +20,11 @@ export def Find(editcmd: string) #{{{2
|
||||
return
|
||||
endif
|
||||
|
||||
if curline =~ '^\s*\%(:\s*\)\=colo\%[rscheme]\s'
|
||||
HandleColoLine(editcmd, curline)
|
||||
return
|
||||
endif
|
||||
|
||||
if curline =~ '^\s*\%(:\s*\)\=import\s'
|
||||
HandleImportLine(editcmd, curline)
|
||||
return
|
||||
@@ -23,7 +39,7 @@ enddef
|
||||
#}}}1
|
||||
# Core {{{1
|
||||
def HandlePackaddLine(editcmd: string, curline: string) #{{{2
|
||||
var pat: string = '^\s*packadd!\=\s\+\zs\S\+$'
|
||||
var pat: string = '\s*\%(:\s*\)\=packadd!\=\s\+\zs\S\+\>\ze'
|
||||
var plugin: string = curline
|
||||
->matchstr(pat)
|
||||
->substitute('^vim-\|\.vim$', '', 'g')
|
||||
@@ -37,12 +53,9 @@ def HandlePackaddLine(editcmd: string, curline: string) #{{{2
|
||||
endtry
|
||||
else
|
||||
var split: string = editcmd[0] == 'g' ? 'edit' : editcmd[1] == 'g' ? 'tabedit' : 'split'
|
||||
# In the past, we passed `runtime` to `getcompletion()`, instead of
|
||||
# `cmdline`. But the output was tricky to use, because it contained
|
||||
# paths relative to inconsistent root directories.
|
||||
var files: list<string> = getcompletion($'edit **/plugin/{plugin}.vim', 'cmdline')
|
||||
var files: list<string> = getcompletion($'plugin/{plugin}', 'runtime')
|
||||
->map((_, fname: string) => fname->findfile(&rtp)->fnamemodify(':p'))
|
||||
->filter((_, path: string): bool => filereadable(path))
|
||||
->map((_, fname: string) => fname->fnamemodify(':p'))
|
||||
if empty(files)
|
||||
echo 'Could not find any plugin file for ' .. string(plugin)
|
||||
return
|
||||
@@ -51,9 +64,33 @@ def HandlePackaddLine(editcmd: string, curline: string) #{{{2
|
||||
endif
|
||||
enddef
|
||||
|
||||
def HandleColoLine(editcmd: string, curline: string) #{{{2
|
||||
var pat: string = '\s*\%(:\s*\)\=colo\%[rscheme]\s\+\zs\S\+\>\ze'
|
||||
var colo: string = curline->matchstr(pat)
|
||||
|
||||
if colo == ''
|
||||
try
|
||||
execute 'normal! ' .. editcmd .. 'zv'
|
||||
catch
|
||||
Error(v:exception)
|
||||
return
|
||||
endtry
|
||||
else
|
||||
var split: string = editcmd[0] == 'g' ? 'edit' : editcmd[1] == 'g' ? 'tabedit' : 'split'
|
||||
var files: list<string> = getcompletion($'colors/{colo}', 'runtime')
|
||||
->map((_, fname: string) => fname->findfile(&rtp)->fnamemodify(':p'))
|
||||
->filter((_, path: string): bool => filereadable(path))
|
||||
if empty(files)
|
||||
echo 'Could not find any colorscheme file for ' .. string(colo)
|
||||
return
|
||||
endif
|
||||
files->Open(split)
|
||||
endif
|
||||
enddef
|
||||
|
||||
def HandleImportLine(editcmd: string, curline: string) #{{{2
|
||||
var fname: string
|
||||
var import_cmd: string = '^\s*import\s\+\%(autoload\s\+\)\='
|
||||
var import_cmd: string = '^\s*\%(:\s*\)\=import\s\+\%(autoload\s\+\)\='
|
||||
var import_alias: string = '\%(\s\+as\s\+\w\+\)\=$'
|
||||
var import_string: string = import_cmd .. '\([''"]\)\zs.*\ze\1' .. import_alias
|
||||
var import_expr: string = import_cmd .. '\zs.*\ze' .. import_alias
|
||||
@@ -132,3 +169,5 @@ def Error(msg: string) #{{{2
|
||||
echomsg msg
|
||||
echohl NONE
|
||||
enddef
|
||||
|
||||
# vim: sw=4 et
|
||||
@@ -1,4 +1,4 @@
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*builtin.txt* For Vim version 9.1. Last change: 2025 Aug 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -344,7 +344,7 @@ isinf({expr}) Number determine if {expr} is infinity value
|
||||
(positive or negative)
|
||||
islocked({expr}) Number |TRUE| if {expr} is locked
|
||||
isnan({expr}) Number |TRUE| if {expr} is NaN
|
||||
items({dict}) List key-value pairs in {dict}
|
||||
items({expr}) List key-value pairs in {expr}
|
||||
job_getchannel({job}) Channel get the channel handle for {job}
|
||||
job_info([{job}]) Dict get information about {job}
|
||||
job_setoptions({job}, {options}) none set options for {job}
|
||||
@@ -1783,16 +1783,23 @@ charidx({string}, {idx} [, {countcc} [, {utf16}]])
|
||||
Return type: |Number|
|
||||
|
||||
|
||||
chdir({dir}) *chdir()*
|
||||
Change the current working directory to {dir}. The scope of
|
||||
the directory change depends on the directory of the current
|
||||
window:
|
||||
- If the current window has a window-local directory
|
||||
(|:lcd|), then changes the window local directory.
|
||||
- Otherwise, if the current tabpage has a local
|
||||
directory (|:tcd|) then changes the tabpage local
|
||||
directory.
|
||||
- Otherwise, changes the global directory.
|
||||
chdir({dir} [, {scope}]) *chdir()*
|
||||
Changes the current working directory to {dir}. The scope of
|
||||
the change is determined as follows:
|
||||
If {scope} is not present, the current working directory is
|
||||
changed to the scope of the current directory:
|
||||
- If the window local directory (|:lcd|) is set, it
|
||||
changes the current working directory for that scope.
|
||||
- Otherwise, if the tab page local directory (|:tcd|) is
|
||||
set, it changes the current directory for that scope.
|
||||
- Otherwise, changes the global directory for that scope.
|
||||
|
||||
If {scope} is present, changes the current working directory
|
||||
for the specified scope:
|
||||
"window" Changes the window local directory. |:lcd|
|
||||
"tabpage" Changes the tab page local directory. |:tcd|
|
||||
"global" Changes the global directory. |:cd|
|
||||
|
||||
{dir} must be a String.
|
||||
If successful, returns the previous working directory. Pass
|
||||
this to another chdir() to restore the directory.
|
||||
@@ -6303,20 +6310,25 @@ isnan({expr}) *isnan()*
|
||||
Return type: |Number|
|
||||
|
||||
|
||||
items({dict}) *items()*
|
||||
Return a |List| with all the key-value pairs of {dict}. Each
|
||||
|List| item is a list with two items: the key of a {dict}
|
||||
entry and the value of this entry. The |List| is in arbitrary
|
||||
order. Also see |keys()| and |values()|.
|
||||
Example: >
|
||||
for [key, value] in items(mydict)
|
||||
echo key .. ': ' .. value
|
||||
endfor
|
||||
<
|
||||
A |List|, a |Tuple| or a |String| argument is also supported.
|
||||
In these cases, items() returns a List with the index and the
|
||||
value at the index.
|
||||
items({expr}) *items()*
|
||||
Return a |List| with all key/index and value pairs of {expr}.
|
||||
Each |List| item is a list with two items:
|
||||
- for a |Dict|: the key and the value
|
||||
- for a |List|, |Tuple| or |String|: the index and the value
|
||||
The returned |List| is in arbitrary order for a |Dict|,
|
||||
otherwise it's in ascending order of the index.
|
||||
|
||||
Also see |keys()| and |values()|.
|
||||
|
||||
Examples: >
|
||||
let mydict = #{a: 'red', b: 'blue'}
|
||||
for [key, value] in items(mydict)
|
||||
echo $"{key} = {value}"
|
||||
endfor
|
||||
echo items([1, 2, 3])
|
||||
echo items(('a', 'b', 'c'))
|
||||
echo items("foobar")
|
||||
<
|
||||
Can also be used as a |method|: >
|
||||
mydict->items()
|
||||
<
|
||||
@@ -6549,7 +6561,7 @@ libcall({libname}, {funcname}, {argument})
|
||||
libcallnr({libname}, {funcname}, {argument})
|
||||
Just like |libcall()|, but used for a function that returns an
|
||||
int instead of a string.
|
||||
{only in Win32 on some Unix versions, when the |+libcall|
|
||||
{only in Win32 and some Unix versions, when the |+libcall|
|
||||
feature is present}
|
||||
Examples: >
|
||||
:echo libcallnr("/usr/lib/libc.so", "getpid", "")
|
||||
@@ -7343,14 +7355,16 @@ matchbufline({buf}, {pat}, {lnum}, {end}, [, {dict}])
|
||||
[{'lnum': 3, 'byteidx': 0, 'text': 'a'}]
|
||||
" Assuming line 4 in buffer 10 contains "tik tok"
|
||||
:echo matchbufline(10, '\<\k\+\>', 1, 4)
|
||||
[{'lnum': 4, 'byteidx': 0, 'text': 'tik'}, {'lnum': 4, 'byteidx': 4, 'text': 'tok'}]
|
||||
[{'lnum': 4, 'byteidx': 0, 'text': 'tik'},
|
||||
{'lnum': 4, 'byteidx': 4, 'text': 'tok'}]
|
||||
<
|
||||
If {submatch} is present and is v:true, then submatches like
|
||||
"\1", "\2", etc. are also returned. Example: >
|
||||
" Assuming line 2 in buffer 2 contains "acd"
|
||||
:echo matchbufline(2, '\(a\)\?\(b\)\?\(c\)\?\(.*\)', 2, 2
|
||||
\ {'submatches': v:true})
|
||||
[{'lnum': 2, 'byteidx': 0, 'text': 'acd', 'submatches': ['a', '', 'c', 'd', '', '', '', '', '']}]
|
||||
[{'lnum': 2, 'byteidx': 0, 'text': 'acd', 'submatches':
|
||||
['a', '', 'c', 'd', '', '', '', '', '']}]
|
||||
< The "submatches" List always contains 9 items. If a submatch
|
||||
is not found, then an empty string is returned for that
|
||||
submatch.
|
||||
@@ -7412,9 +7426,6 @@ matchfuzzy({list}, {str} [, {dict}]) *matchfuzzy()*
|
||||
given sequence.
|
||||
limit Maximum number of matches in {list} to be
|
||||
returned. Zero means no limit.
|
||||
camelcase Use enhanced camel case scoring making results
|
||||
better suited for completion related to
|
||||
programming languages. Defaults to v:true.
|
||||
|
||||
If {list} is a list of dictionaries, then the optional {dict}
|
||||
argument supports the following additional items:
|
||||
@@ -7487,7 +7498,8 @@ matchfuzzypos({list}, {str} [, {dict}]) *matchfuzzypos()*
|
||||
< results in [['testing'], [[0, 2, 6]], [99]] >
|
||||
:echo matchfuzzypos(['clay', 'lacy'], 'la')
|
||||
< results in [['lacy', 'clay'], [[0, 1], [1, 2]], [153, 133]] >
|
||||
:echo [{'text': 'hello', 'id' : 10}]->matchfuzzypos('ll', {'key' : 'text'})
|
||||
:echo [{'text': 'hello', 'id' : 10}]
|
||||
\ ->matchfuzzypos('ll', {'key' : 'text'})
|
||||
< results in [[{'id': 10, 'text': 'hello'}], [[2, 3]], [127]]
|
||||
|
||||
Return type: list<list<any>>
|
||||
@@ -7531,15 +7543,18 @@ matchstrlist({list}, {pat} [, {dict}])
|
||||
|
||||
Example: >
|
||||
:echo matchstrlist(['tik tok'], '\<\k\+\>')
|
||||
[{'idx': 0, 'byteidx': 0, 'text': 'tik'}, {'idx': 0, 'byteidx': 4, 'text': 'tok'}]
|
||||
[{'idx': 0, 'byteidx': 0, 'text': 'tik'},
|
||||
{'idx': 0, 'byteidx': 4, 'text': 'tok'}]
|
||||
:echo matchstrlist(['a', 'b'], '\<\k\+\>')
|
||||
[{'idx': 0, 'byteidx': 0, 'text': 'a'}, {'idx': 1, 'byteidx': 0, 'text': 'b'}]
|
||||
[{'idx': 0, 'byteidx': 0, 'text': 'a'},
|
||||
{'idx': 1, 'byteidx': 0, 'text': 'b'}]
|
||||
<
|
||||
If "submatches" is present and is v:true, then submatches like
|
||||
"\1", "\2", etc. are also returned. Example: >
|
||||
:echo matchstrlist(['acd'], '\(a\)\?\(b\)\?\(c\)\?\(.*\)',
|
||||
\ #{submatches: v:true})
|
||||
[{'idx': 0, 'byteidx': 0, 'text': 'acd', 'submatches': ['a', '', 'c', 'd', '', '', '', '', '']}]
|
||||
[{'idx': 0, 'byteidx': 0, 'text': 'acd',
|
||||
'submatches': ['a', '', 'c', 'd', '', '', '', '', '']}]
|
||||
< The "submatches" List always contains 9 items. If a submatch
|
||||
is not found, then an empty string is returned for that
|
||||
submatch.
|
||||
@@ -8949,8 +8964,8 @@ remote_send({server}, {string} [, {idvar}]) *remote_send()* *E241*
|
||||
Note: Any errors will be reported in the server and may mess
|
||||
up the display.
|
||||
Examples: >
|
||||
:echo remote_send("gvim", ":DropAndReply " .. file, "serverid") ..
|
||||
\ remote_read(serverid)
|
||||
:echo remote_send("gvim", ":DropAndReply " .. file,
|
||||
\ "serverid") .. remote_read(serverid)
|
||||
|
||||
:autocmd NONE RemoteReply *
|
||||
\ echo remote_read(expand("<amatch>"))
|
||||
@@ -12353,6 +12368,11 @@ wildtrigger() *wildtrigger()*
|
||||
To retain normal history navigation (up/down keys): >
|
||||
cnoremap <Up> <C-U><Up>
|
||||
cnoremap <Down> <C-U><Down>
|
||||
<
|
||||
To set an option specifically when performing a search, e.g.
|
||||
to set 'pumheight': >
|
||||
autocmd CmdlineEnter [/\?] set pumheight=8
|
||||
autocmd CmdlineLeave [/\?] set pumheight&
|
||||
<
|
||||
Return value is always 0.
|
||||
|
||||
@@ -13015,7 +13035,8 @@ 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|
|
||||
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.
|
||||
@@ -13026,6 +13047,7 @@ scrollbind Compiled with 'scrollbind' support. (always true)
|
||||
showcmd Compiled with 'showcmd' support.
|
||||
signs Compiled with |:sign| support.
|
||||
smartindent Compiled with 'smartindent' support. (always true)
|
||||
socketserver Compiled with socket server functionality. (Unix only)
|
||||
sodium Compiled with libsodium for better crypt support
|
||||
sound Compiled with sound support, e.g. `sound_playevent()`
|
||||
spell Compiled with spell checking support |spell|.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*cmdline.txt* For Vim version 9.1. Last change: 2025 Jul 21
|
||||
*cmdline.txt* For Vim version 9.1. Last change: 2025 Aug 08
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -927,7 +927,7 @@ to insert special things while typing you can use the CTRL-R command. For
|
||||
example, "%" stands for the current file name, while CTRL-R % inserts the
|
||||
current file name right away. See |c_CTRL-R|.
|
||||
|
||||
Note: If you want to avoid the effects of special characters in a Vim script
|
||||
Note: If you want to avoid the effects of special characters in a Vim script
|
||||
you may want to use |fnameescape()|. Also see |`=|.
|
||||
|
||||
|
||||
@@ -1325,8 +1325,10 @@ Example: >
|
||||
:au CmdwinLeave : let &cpt = b:cpt_save
|
||||
This sets 'complete' to use completion in the current window for |i_CTRL-N|.
|
||||
Another example: >
|
||||
:au CmdwinEnter [/?] startinsert
|
||||
:au CmdwinEnter [/\?] startinsert
|
||||
This will make Vim start in Insert mode in the command-line window.
|
||||
Note: The "?" needs to be escaped, as this is a |file-pattern|. See also
|
||||
|cmdline-autocompletion|.
|
||||
|
||||
*cmdwin-char*
|
||||
The character used for the pattern indicates the type of command-line:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*debug.txt* For Vim version 9.1. Last change: 2024 May 11
|
||||
*debug.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -164,7 +164,7 @@ The Debugging Tools for Windows (including WinDbg) can be downloaded from
|
||||
This includes the WinDbg debugger.
|
||||
|
||||
Visual C++ 2005 Express Edition can be downloaded for free from:
|
||||
http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
|
||||
https://visualstudio.microsoft.com/
|
||||
|
||||
=========================================================================
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*develop.txt* For Vim version 9.1. Last change: 2025 Jul 22
|
||||
*develop.txt* For Vim version 9.1. Last change: 2025 Aug 11
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -291,8 +291,8 @@ initialized from words listed in COMMON items in the affix file, so that it
|
||||
also works when starting a new file.
|
||||
|
||||
This isn't ideal, because the longer Vim is running the higher the counts
|
||||
become. But in practice it is a noticeable improvement over not using the word
|
||||
count.
|
||||
become. But in practice it is a noticeable improvement over not using the
|
||||
word count.
|
||||
|
||||
==============================================================================
|
||||
3. Assumptions *design-assumptions*
|
||||
@@ -308,11 +308,11 @@ Vim's main Makefiles target maximum portability, relying solely on features
|
||||
defined in POSIX.1-2001 `make` and ignoring later POSIX standards or GNU/BSD
|
||||
extensions. In practical terms, avoid:
|
||||
|
||||
– % pattern rules
|
||||
– modern assignment (`:=`, `::=`) outside POSIX.1-2001
|
||||
– special targets (`.ONESHELL`, `.NOTPARALLEL`, `.SILENT`, …)
|
||||
– order-only prerequisites (`|`) or automatic directory creation
|
||||
– GNU/BSD conditionals (`ifdef`, `ifndef`, `.for`/`.endfor`, …)
|
||||
- % pattern rules
|
||||
- modern assignment (`:=`, `::=`) outside POSIX.1-2001
|
||||
- special targets (`.ONESHELL`, `.NOTPARALLEL`, `.SILENT`, ...)
|
||||
- order-only prerequisites (`|`) or automatic directory creation
|
||||
- GNU/BSD conditionals (`ifdef`, `ifndef`, `.for`/`.endfor`, ...)
|
||||
|
||||
Since POSIX.1-2001 supports only traditional suffix rules, every object built
|
||||
in a separate directory must have an explicit rule. For example:
|
||||
@@ -338,9 +338,16 @@ Therefore, the latest ISO C standard we follow is:
|
||||
|
||||
`C95` (ISO/IEC 9899:1990/AMD1:1995)
|
||||
|
||||
In addition, the following two `C99` features are explicitly allowed:
|
||||
– `//` comments, as required by |style-comments|;
|
||||
– the `_Bool` type.
|
||||
In addition, the following `C99` features are explicitly allowed:
|
||||
- `//` comments, as required by |style-comments|;
|
||||
- Mixed declarations and statements in a block;
|
||||
- Variadic macros `(..., __VA_ARGS__)`;
|
||||
- Trailing comma in `enum` lists;
|
||||
- `_Bool` type (for `bool`, `true` and `false`);
|
||||
- `__func__` predefined identifier;
|
||||
- `inline` functions (use `static inline` for portability);
|
||||
- Compound literals `(type){ initializer-list }`;
|
||||
- Logical source lines up to 4095 characters.
|
||||
|
||||
Platform-specific code may use any newer compiler features supported on that
|
||||
platform.
|
||||
@@ -348,11 +355,11 @@ platform.
|
||||
|
||||
SIZE OF VARIABLES *assumptions-variables*
|
||||
|
||||
char 8-bit signed
|
||||
char_u 8-bit unsigned
|
||||
int 32- or 64-bit signed (16-bit possible on legacy systems)
|
||||
unsigned 32- or 64-bit unsigned
|
||||
long at least 32-bit signed (large enough to hold a pointer)
|
||||
We follow POSIX.1-2001 (SUSv3) for type sizes, which in practice means:
|
||||
|
||||
char_u 8-bit unsigned
|
||||
int 32-bit or larger signed
|
||||
unsigned 32-bit or larger unsigned
|
||||
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*digraph.txt* For Vim version 9.1. Last change: 2025 Feb 02
|
||||
*digraph.txt* For Vim version 9.1. Last change: 2025 Aug 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1105,8 +1105,8 @@ char digraph hex dec official name ~
|
||||
⌕ TR 2315 8981 TELEPHONE RECORDER
|
||||
⌠ Iu 2320 8992 TOP HALF INTEGRAL
|
||||
⌡ Il 2321 8993 BOTTOM HALF INTEGRAL
|
||||
〈 </ 2329 9001 LEFT-POINTING ANGLE BRACKET
|
||||
〉 /> 232A 9002 RIGHT-POINTING ANGLE BRACKET
|
||||
⟨ <[ 27E8 10040 LEFT MATHEMATICAL ANGLE BRACKET
|
||||
⟩ ]> 27E9 10041 RIGHT MATHEMATICAL ANGLE BRACKET
|
||||
␣ Vs 2423 9251 OPEN BOX
|
||||
⑀ 1h 2440 9280 OCR HOOK
|
||||
⑁ 3h 2441 9281 OCR CHAIR
|
||||
@@ -1246,6 +1246,8 @@ char digraph hex dec official name ~
|
||||
々 *_ 3005 12293 IDEOGRAPHIC ITERATION MARK
|
||||
〆 ;_ 3006 12294 IDEOGRAPHIC CLOSING MARK
|
||||
〇 0_ 3007 12295 IDEOGRAPHIC NUMBER ZERO
|
||||
〈 </ 3008 12296 LEFT ANGLE BRACKET
|
||||
〉 /> 3009 12297 RIGHT ANGLE BRACKET
|
||||
《 <+ 300A 12298 LEFT DOUBLE ANGLE BRACKET
|
||||
》 >+ 300B 12299 RIGHT DOUBLE ANGLE BRACKET
|
||||
「 <' 300C 12300 LEFT CORNER BRACKET
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*eval.txt* For Vim version 9.1. Last change: 2025 Jul 22
|
||||
*eval.txt* For Vim version 9.1. Last change: 2025 Aug 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*filetype.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*filetype.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1072,7 +1072,7 @@ The Vim filetype plugin defines the following mappings:
|
||||
]" move to the next (legacy) comment
|
||||
[" move to the previous (legacy) comment
|
||||
gf edit the file under the cursor
|
||||
CTRL-W gf edit the file under the cursor in a new tab
|
||||
CTRL-W gf edit the file under the cursor in a new tab page
|
||||
CTRL-W f edit the file under the cursor in a new window
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*ft_sql.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*ft_sql.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
by David Fishburn
|
||||
|
||||
@@ -407,7 +407,7 @@ Here are some examples of the entries which are pulled from the syntax files: >
|
||||
----------------
|
||||
Dynamic mode populates the popups with data directly from a database. In
|
||||
order for the dynamic feature to be enabled you must have the dbext.vim
|
||||
plugin installed, (http://vim.sourceforge.net/script.php?script_id=356).
|
||||
plugin installed, (https://www.vim.org/scripts/script.php?script_id=356).
|
||||
|
||||
Dynamic mode is used by several features of the SQL completion plugin.
|
||||
After installing the dbext plugin see the dbext-tutorial for additional
|
||||
@@ -491,7 +491,7 @@ depending on the syntax file you are using. The SQL Anywhere syntax file
|
||||
Dynamic features
|
||||
----------------
|
||||
To take advantage of the dynamic features you must first install the
|
||||
dbext.vim plugin (http://vim.sourceforge.net/script.php?script_id=356). It
|
||||
dbext.vim plugin (https://www.vim.org/scripts/script.php?script_id=356). It
|
||||
also comes with a tutorial. From the SQL completion plugin's perspective,
|
||||
the main feature dbext provides is a connection to a database. dbext
|
||||
connection profiles are the most efficient mechanism to define connection
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*gui.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -248,7 +248,7 @@ For older versions of XFree86 you must patch your X server. The following
|
||||
page has a bit of information about using the Intellimouse on Linux as well as
|
||||
links to the patches and X server binaries (may not have the one you need
|
||||
though):
|
||||
http://www.inria.fr/koala/colas/mouse-wheel-scroll/
|
||||
(dead link) inria.fr/koala/colas/mouse-wheel-scroll/
|
||||
|
||||
==============================================================================
|
||||
3. Mouse Control *gui-mouse*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*gui_x11.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*gui_x11.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -350,7 +350,7 @@ If you want to set the colors of remaining gui components (e.g., the
|
||||
menubar, scrollbar, whatever), those are GTK specific settings and you
|
||||
need to set those up in some sort of gtkrc file. You'll have to refer
|
||||
to the GTK documentation, however little there is, on how to do this.
|
||||
See http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html
|
||||
See https://www.manpagez.com/html/gtk2/gtk2-2.24.24/gtk2-Resource-Files.php
|
||||
for more information.
|
||||
*gtk3-slow*
|
||||
If you are using GTK3 and Vim appears to be slow, try setting the environment
|
||||
@@ -519,7 +519,7 @@ of the normal GtkWindow. This enables Vim to act as a GTK+ plugin.
|
||||
|
||||
This really is a programmer's interface, and is of no use without a supporting
|
||||
application to spawn the Vim correctly. For more details on GTK+ sockets, see
|
||||
http://www.gtk.org/api/
|
||||
https://www.gtk.org/docs/apis/index
|
||||
|
||||
Note that this feature requires the latest GTK version. GTK 1.2.10 still has
|
||||
a small problem. The socket feature has not yet been tested with GTK+ 2 --
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*if_cscop.txt* For Vim version 9.1. Last change: 2024 May 11
|
||||
*if_cscop.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Andy Kahn
|
||||
@@ -360,7 +360,7 @@ limited to Unix systems.
|
||||
Additionally Cscope support works for Win32. For more information and a
|
||||
cscope version for Win32 see (link seems dead):
|
||||
|
||||
http://iamphet.nm.ru/cscope/index.html
|
||||
iamphet.nm.ru/cscope/index.html
|
||||
|
||||
The DJGPP-built version from http://cscope.sourceforge.net is known to not
|
||||
work with Vim.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*insert.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*insert.txt* For Vim version 9.1. Last change: 2025 Aug 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1138,8 +1138,8 @@ CTRL-X CTRL-Z Stop completion without changing the text.
|
||||
AUTOCOMPLETION *ins-autocompletion*
|
||||
|
||||
Vim can display a completion menu as you type, similar to using |i_CTRL-N|,
|
||||
but triggered automatically. See 'autocomplete'. The menu items are collected
|
||||
from the sources listed in the 'complete' option.
|
||||
but triggered automatically. See 'autocomplete' and 'autocompletedelay'.
|
||||
The menu items are collected from the sources listed in the 'complete' option.
|
||||
|
||||
Unlike manual |i_CTRL-N| completion, this mode uses a decaying timeout to keep
|
||||
Vim responsive. Sources earlier in the 'complete' list are given more time
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*mbyte.txt* For Vim version 9.1. Last change: 2024 Jul 17
|
||||
*mbyte.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -464,7 +464,7 @@ Useful utilities for converting the charset:
|
||||
|charset| converter. Supported |charset|: ISO-2022-CN, ISO-2022-JP,
|
||||
ISO-2022-KR, EUC-CN, EUC-JP, EUC-KR, EUC-TW, UTF-7, UTF-8, ISO-8859
|
||||
series, Shift_JIS, Big5 and HZ. Lv can be found at (link seems dead):
|
||||
http://www.ff.iij4u.or.jp/~nrt/lv/index.html
|
||||
ff.iij4u.or.jp/~nrt/lv/index.html
|
||||
|
||||
|
||||
*mbyte-conversion*
|
||||
@@ -802,7 +802,7 @@ is suitable for complex input, such as CJK.
|
||||
pronounced in Hira-gana, second, we convert Hira-gana to Kanji or Kata-Kana,
|
||||
if needed. There are some Kana-Kanji conversion server: jserver
|
||||
(distributed with Wnn, see below) and canna. Canna can be found at:
|
||||
https://osdn.net/projects/canna/
|
||||
(dead link) osdn.net/projects/canna/
|
||||
|
||||
There is a good input system: Wnn4.2. Wnn 4.2 contains,
|
||||
xwnmo (|IM-server|)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*netbeans.txt* For Vim version 9.1. Last change: 2024 May 11
|
||||
*netbeans.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Gordon Prieur et al.
|
||||
@@ -41,10 +41,10 @@ protocol. There are existing implementations in C, C++, Python and Java. The
|
||||
name NetBeans is kept today for historical reasons.
|
||||
|
||||
Active project using the NetBeans protocol of Vim:
|
||||
- Eclim, http://eclim.org/
|
||||
- Eclim, (dead link) eclim.org/
|
||||
|
||||
VimIntegration, description of various projects doing Vim Integration:
|
||||
http://www.freehackers.org/VimIntegration
|
||||
(dead link) www.freehackers.org/VimIntegration
|
||||
|
||||
Projects using the NetBeans protocol of Vim are or were:
|
||||
- Agide, an IDE for the AAP project, written in Python (now replaced by
|
||||
@@ -54,7 +54,7 @@ Projects using the NetBeans protocol of Vim are or were:
|
||||
- Pyclewn, a gdb integration into Vim, written in Python:
|
||||
http://pyclewn.sourceforge.net/
|
||||
- VimWrapper, library to easy Vim integration into IDE:
|
||||
http://www.freehackers.org/VimWrapper
|
||||
(dead link) freehackers.org/VimWrapper
|
||||
Outdated projects (links don't work):
|
||||
- VimPlugin, integration of Vim inside Eclipse:
|
||||
http://vimplugin.sourceforge.net/wiki/pmwiki.php
|
||||
@@ -78,7 +78,7 @@ in recent releases.
|
||||
|
||||
For more information visit the main NetBeans web site http://www.netbeans.org.
|
||||
The External Editor is now, unfortunately, declared obsolete. See (link seems
|
||||
dead): http://externaleditor.netbeans.org.
|
||||
dead): externaleditor.netbeans.org.
|
||||
|
||||
Sun Microsystems, Inc. also ships NetBeans under the name Sun ONE Studio.
|
||||
Visit http://www.sun.com for more information regarding the Sun ONE Studio
|
||||
@@ -148,7 +148,7 @@ The Win32 support is now in beta stage.
|
||||
|
||||
To use XPM signs on Win32 (e.g. when using with NetBeans) you can compile
|
||||
XPM by yourself or use precompiled libraries from (link seems dead):
|
||||
http://iamphet.nm.ru/misc/ (for MS Visual C++) or
|
||||
iamphet.nm.ru/misc/ (for MS Visual C++) or
|
||||
http://gnuwin32.sourceforge.net (for MinGW).
|
||||
|
||||
Enable debugging:
|
||||
@@ -942,12 +942,13 @@ netbeans.org on building NetBeans.
|
||||
|
||||
Depending on the version of NetBeans you download, you may need to do further
|
||||
work to get the required External Editor module. This is the module which lets
|
||||
NetBeans work with gvim (or xemacs :-). See http://externaleditor.netbeans.org
|
||||
NetBeans work with gvim (or xemacs :-). See (dead link)
|
||||
externaleditor.netbeans.org
|
||||
for details on downloading this module if your NetBeans release does not have
|
||||
it.
|
||||
|
||||
For C, C++, and Fortran support you will also need the cpp module. See
|
||||
http://cpp.netbeans.org (link seems dead) for information regarding this
|
||||
cpp.netbeans.org (link seems dead) for information regarding this
|
||||
module.
|
||||
|
||||
You can also download Sun ONE Studio from Sun Microsystems, Inc for a 30 day
|
||||
@@ -994,10 +995,11 @@ Unfortunately, some versions do not have this module in their update
|
||||
center. If you cannot download via the update center you will need to
|
||||
download sources and build the module. I will try and get the module
|
||||
available from the NetBeans Update Center so building will be unnecessary.
|
||||
Also check http://externaleditor.netbeans.org for other availability options.
|
||||
Also check (dead link) externaleditor.netbeans.org
|
||||
for other availability options.
|
||||
|
||||
To download the External Editor sources via CVS and build your own module,
|
||||
see http://externaleditor.netbeans.org and http://www.netbeans.org.
|
||||
see (dead link) externaleditor.netbeans.org and http://www.netbeans.org.
|
||||
Unfortunately, this is not a trivial procedure.
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*options.txt* For Vim version 9.1. Last change: 2025 Aug 07
|
||||
*options.txt* For Vim version 9.1. Last change: 2025 Aug 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -918,6 +918,13 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
When on, Vim shows a completion menu as you type, similar to using
|
||||
|i_CTRL-N|, but triggered automatically. See |ins-autocompletion|.
|
||||
|
||||
*'autocompletedelay'* *'acl'*
|
||||
'autocompletedelay' 'acl' number (default 0)
|
||||
global
|
||||
Delay in milliseconds before the autocomplete menu appears after
|
||||
typing. If you prefer it not to open too quickly, set this value
|
||||
slightly above your typing speed. See |ins-autocompletion|.
|
||||
|
||||
*'autoindent'* *'ai'* *'noautoindent'* *'noai'*
|
||||
'autoindent' 'ai' boolean (default off)
|
||||
local to buffer
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_amiga.txt* For Vim version 9.1. Last change: 2025 Jul 22
|
||||
*os_amiga.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -90,7 +90,7 @@ Vim for MorphOS *MorphOS*
|
||||
[this section mostly by Ali Akcaagac]
|
||||
|
||||
For the latest info about the MorphOS version:
|
||||
http://www.akcaagac.com/index_vim.html
|
||||
(dead link) akcaagac.com/index_vim.html
|
||||
|
||||
|
||||
Problems ~
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*os_mac.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*os_mac.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar et al.
|
||||
@@ -87,7 +87,7 @@ Backspace "*d cut Visual text
|
||||
==============================================================================
|
||||
4. Mac FAQ *mac-faq*
|
||||
|
||||
On the internet: http://macvim.org/OSX/index.php#FAQ
|
||||
On the internet: https://github.com/macvim-dev/macvim/wiki/FAQ
|
||||
|
||||
Q: I can't enter non-ASCII character in Apple Terminal.
|
||||
A: Under Window Settings, Emulation, make sure that "Escape non-ASCII
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pattern.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*pattern.txt* For Vim version 9.1. Last change: 2025 Aug 13
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1501,34 +1501,51 @@ Finally, these constructs are unique to Perl:
|
||||
==============================================================================
|
||||
11. Fuzzy matching *fuzzy-matching*
|
||||
|
||||
Fuzzy matching refers to matching strings using a non-exact search string.
|
||||
Fuzzy matching will match a string, if all the characters in the search string
|
||||
are present anywhere in the string in the same order. Case is ignored. In a
|
||||
matched string, other characters can be present between two consecutive
|
||||
characters in the search string. If the search string has multiple words, then
|
||||
each word is matched separately. So the words in the search string can be
|
||||
present in any order in a string.
|
||||
Fuzzy matching scores how well a string matches a pattern when the pattern
|
||||
characters appear in order but not necessarily contiguously.
|
||||
|
||||
Fuzzy matching assigns a score for each matched string based on the following
|
||||
criteria:
|
||||
- The number of sequentially matching characters.
|
||||
- The number of characters (distance) between two consecutive matching
|
||||
characters.
|
||||
- Matches at the beginning of a word
|
||||
- Matches at a camel case character (e.g. Case in CamelCase)
|
||||
- Matches after a path separator or a hyphen.
|
||||
- The number of unmatched characters in a string.
|
||||
- A full/exact match is preferred.
|
||||
The matching string with the highest score is returned first.
|
||||
Example: >
|
||||
Pattern: "vim"
|
||||
Candidates: "vim" -> perfect
|
||||
"vimeo" -> good (v i m)
|
||||
"voice mail" -> weaker (v _ i _ _ _ m)
|
||||
"vintage" -> no match (no "m")
|
||||
<
|
||||
If the search string has multiple words, each word is matched separately and
|
||||
may appear in any order in the candidate. For example "get pat" matches
|
||||
"GetPattern", "PatternGet", "getPattern", "patGetter", "getSomePattern",
|
||||
"MatchpatternGet", etc.
|
||||
|
||||
For example, when you search for the "get pat" string using fuzzy matching, it
|
||||
will match the strings "GetPattern", "PatternGet", "getPattern", "patGetter",
|
||||
"getSomePattern", "MatchpatternGet" etc.
|
||||
The 'ignorecase' and 'smartcase' options do not apply, case is ignored if the
|
||||
pattern is all lower case.
|
||||
|
||||
The functions |matchfuzzy()| and |matchfuzzypos()| can be used to fuzzy search
|
||||
a string in a List of strings. The matchfuzzy() function returns a List of
|
||||
matching strings. The matchfuzzypos() functions returns the List of matches,
|
||||
the matching positions and the fuzzy match scores.
|
||||
Vim's implementation is based on the algorithm from the fzy project:
|
||||
https://github.com/jhawthorn/fzy
|
||||
|
||||
It uses dynamic programming to compute an optimal score for a given pattern
|
||||
and candidate.
|
||||
|
||||
The algorithm works in two stages:
|
||||
|
||||
1. Forward pass
|
||||
Scan the candidate left to right, tracking the best score for each
|
||||
pattern position. Matches score higher when they occur at the start
|
||||
of the candidate, the start of a word (space, underscore, dash,
|
||||
camelCase), or directly after the previous match.
|
||||
|
||||
2. Backward pass
|
||||
Start from the best-scoring end position and step back to find match
|
||||
positions, ensuring the alignment is optimal.
|
||||
|
||||
Vim extends the original algorithm to support multibyte codepoints, allowing
|
||||
correct matching for UTF-8 and other encodings.
|
||||
|
||||
Time complexity is O(pattern * candidate). Memory usage is proportional
|
||||
to the same.
|
||||
|
||||
The |matchfuzzy()| and |matchfuzzypos()| functions perform fuzzy searching in
|
||||
a List of strings. |matchfuzzy()| returns the matching strings, while
|
||||
|matchfuzzypos()| returns the matches along with their positions and scores.
|
||||
|
||||
The "f" flag of `:vimgrep` enables fuzzy matching.
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_getscript.txt* For Vim version 9.1. Last change: 2025 Apr 27
|
||||
*pi_getscript.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
>
|
||||
GETSCRIPT REFERENCE MANUAL by Charles E. Campbell
|
||||
<
|
||||
@@ -349,13 +349,9 @@ after/syntax/c.vim contained in it to overwrite a user's c.vim.
|
||||
>
|
||||
g:GetLatestVimScripts_scriptaddr
|
||||
< default='https://www.vim.org/scripts/script.php?script_id='
|
||||
Override this if your system needs
|
||||
... ='http://vim.sourceforge.net/script.php?script_id='
|
||||
>
|
||||
g:GetLatestVimScripts_downloadaddr
|
||||
< default='https://www.vim.org/scripts/download_script.php?src_id='
|
||||
Override this if your system needs
|
||||
... ='http://vim.sourceforge.net/scripts/download_script.php?src_id='
|
||||
>
|
||||
g:GetLatestVimScripts_bunzip2
|
||||
< default= bunzip2
|
||||
|
||||
@@ -1907,9 +1907,6 @@ passwords:
|
||||
Thomer Gil has provided a hint on how to speed up netrw+ssh:
|
||||
http://thomer.com/howtos/netrw_ssh.html
|
||||
|
||||
Alex Young has several hints on speeding ssh up:
|
||||
http://usevim.com/2012/03/16/editing-remote-files/
|
||||
|
||||
|
||||
LISTING BOOKMARKS AND HISTORY *netrw-qb* *netrw-listbookmark* {{{2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*pi_tar.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*pi_tar.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
+====================+
|
||||
| Tar File Interface |
|
||||
@@ -173,7 +173,7 @@ Copyright 2005-2017: *tar-copyright*
|
||||
v2 * converted to use Vim7's new autoload feature
|
||||
by Bram Moolenaar
|
||||
v1 (original) * Michael Toren
|
||||
(see http://michael.toren.net/code/
|
||||
(see michael.toren.net/code/
|
||||
link seems dead)
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*print.txt* For Vim version 9.1. Last change: 2024 May 11
|
||||
*print.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -444,8 +444,8 @@ you need to define your own PostScript font encoding vector. Details on how
|
||||
to define a font encoding vector is beyond the scope of this help file, but
|
||||
you can find details in the PostScript Language Reference Manual, 3rd Edition,
|
||||
published by Addison-Wesley and available in PDF form at
|
||||
http://www.adobe.com/. The following describes what you need to do for Vim to
|
||||
locate and use your print character encoding.
|
||||
https://www.adobe.com/. The following describes what you need to do for Vim
|
||||
to locate and use your print character encoding.
|
||||
|
||||
i. Decide on a unique name for your encoding vector, one that does not clash
|
||||
with any of the recognized or standard encoding names that Vim uses (see
|
||||
@@ -523,7 +523,7 @@ It is possible to define your own multibyte character set although this
|
||||
should not be attempted lightly. A discussion on the process if beyond the
|
||||
scope of these help files. You can find details on CMap (character map) files
|
||||
in the document 'Adobe CMap and CIDFont Files Specification, Version 1.0',
|
||||
available from http://www.adobe.com as a PDF file.
|
||||
available from https://www.adobe.com as a PDF file.
|
||||
|
||||
==============================================================================
|
||||
6. PostScript Printing Troubleshooting *postscript-print-trouble*
|
||||
@@ -628,7 +628,7 @@ OpenVMS
|
||||
- Is apparently supported in the main code now (untested).
|
||||
See (link seems dead):
|
||||
|
||||
http://wwwthep.physik.uni-mainz.de/~plass/gv/
|
||||
wwwthep.physik.uni-mainz.de/~plass/gv/
|
||||
|
||||
MS-Windows
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickfix.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*quickfix.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1675,8 +1675,6 @@ Useful values for the 'makeprg' options therefore are:
|
||||
setlocal makeprg=./alltests.py " Run a testsuite
|
||||
setlocal makeprg=python\ %:S " Run a single testcase
|
||||
|
||||
Also see http://vim.sourceforge.net/tip_view.php?tip_id=280.
|
||||
|
||||
PYTEST COMPILER *compiler-pytest*
|
||||
|
||||
Commonly used compiler options can be added to 'makeprg' by setting the
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*quickref.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*quickref.txt* For Vim version 9.1. Last change: 2025 Aug 16
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -608,6 +608,7 @@ Short explanation of each option: *option-list*
|
||||
'arabicshape' 'arshape' do shaping for Arabic characters
|
||||
'autochdir' 'acd' change directory to the file in the current window
|
||||
'autocomplete' 'ac' enable automatic completion in insert mode
|
||||
'autocompletedelay' 'acl' delay in msec before menu appears after typing
|
||||
'autoindent' 'ai' take indent for new line from previous line
|
||||
'autoread' 'ar' autom. read file when changed outside of Vim
|
||||
'autoshelldir' 'asd' change directory to the shell's current directory
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*remote.txt* For Vim version 9.1. Last change: 2022 Feb 17
|
||||
*remote.txt* For Vim version 9.1. Last change: 2025 Aug 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -61,7 +61,10 @@ The following command line arguments are available:
|
||||
--servername {name} Become the server {name}. When used together
|
||||
with one of the --remote commands: connect to
|
||||
server {name} instead of the default (see
|
||||
below). The name used will be uppercase.
|
||||
below). The name used will be uppercase. If
|
||||
using the socketserver, you can specify a
|
||||
path, see |socketserver-name| for more
|
||||
details.
|
||||
*--remote-send*
|
||||
--remote-send {keys} Send {keys} to server and exit. The {keys}
|
||||
are not mapped. Special key names are
|
||||
@@ -72,6 +75,12 @@ The following command line arguments are available:
|
||||
on stdout.
|
||||
*--serverlist*
|
||||
--serverlist Output a list of server names.
|
||||
*--clientserver*
|
||||
--clientserver {method} Use the specified method {method} as the
|
||||
backend for clientserver functionality. Can
|
||||
either be "socket" or "x11".
|
||||
{only available when Vim is compiled with both
|
||||
|+X11| and |+socketserver| features}
|
||||
|
||||
|
||||
Examples ~
|
||||
@@ -105,7 +114,8 @@ specified name is not available, a postfix is applied until a free name is
|
||||
encountered, i.e. "gvim1" for the second invocation of gvim on a particular
|
||||
X-server. The resulting name is available in the servername builtin variable
|
||||
|v:servername|. The case of the server name is ignored, thus "gvim" and
|
||||
"GVIM" are considered equal.
|
||||
"GVIM" are considered equal. Note if a socket server is being used, there are
|
||||
some differences, see |socketserver-differences|.
|
||||
|
||||
When Vim is invoked with --remote, --remote-wait or --remote-send it will try
|
||||
to locate the server name determined by the invocation name and --servername
|
||||
@@ -119,7 +129,8 @@ itself. This way it is not necessary to know whether gvim is already started
|
||||
when sending command to it.
|
||||
|
||||
The --serverlist argument will cause Vim to print a list of registered command
|
||||
servers on the standard output (stdout) and exit.
|
||||
servers on the standard output (stdout) and exit. If a socket server is being
|
||||
used, there are caveats, see |socketserver-differences|.
|
||||
*{server}*
|
||||
The {server} argument is used by several functions. When this is an empty
|
||||
string then on Unix the default server name is used, which is "GVIM". On
|
||||
@@ -206,4 +217,64 @@ When using gvim, the --remote-wait only works properly this way: >
|
||||
|
||||
start /w gvim --remote-wait file.txt
|
||||
<
|
||||
==============================================================================
|
||||
3. Socket server specific items *socketserver-clientserver*
|
||||
*E1563* *E1564* *E1565* *E1566* *E1567*
|
||||
|
||||
The communication between client and server is done using Unix domain sockets.
|
||||
These sockets are either placed in these directories in the following order of
|
||||
availability:
|
||||
1. "$XDG_RUTIME_DIR/vim" if $XDG_RUNTIME_DIR is set in the environment.
|
||||
2. "$TMPDIR/vim-[uid]", where "[uid]" is the uid of the user. This
|
||||
directory will have the access permissions set to 700 so only the user
|
||||
can read or write from/to it. If $TMPDIR is not set, "/tmp" is used.
|
||||
|
||||
*socketserver-name*
|
||||
When specifying the server id/name, it can be taken as a generic name or an
|
||||
absolute or relative path. If the server id starts with either a "/"
|
||||
(absolute) or "./" | "../" (relative), then it is taken as path to the socket.
|
||||
Otherwise the server id will be the filename of the socket which will be
|
||||
placed in the above common directories. Note that a server id/name can only
|
||||
contain slashes "/" if it is taken as a path, so names such as "abc/dir" will
|
||||
be invalid.
|
||||
|
||||
Socket server functionality is available in both GTK GUI and terminal versions of
|
||||
Vim. Unless Vim is compiled with |+autoservername| feature, the socket server
|
||||
will have to started explicitly, just like X11, even in the GUI.
|
||||
|
||||
If Vim crashes or does not exit cleanly, the socket server will not remove the
|
||||
socket file and it will be left around. This is generally not a problem,
|
||||
because if a socket name is taken, Vim checks if the socket in its place is
|
||||
dead (not attached to any process), and can replace it instead of finding a
|
||||
new name.
|
||||
|
||||
To send commands to a Vim socket server from another application, read the
|
||||
source file src/os_unix.c, there is detailed description of the protocol used.
|
||||
|
||||
*socketserver-differences*
|
||||
Most of the functionality is the same as X11, however unlike X11, where the
|
||||
client does not need to be a server in order to communicate with another
|
||||
server, the socket server requires the server to be running even as a client.
|
||||
The exception is |serverlist()| or the |--serverlist| argument, which does not
|
||||
require the server to be running.
|
||||
|
||||
Additionally, the server id or client id will not be a number like X11 or
|
||||
MS-Windows (shown in hex representation), instead it is the absolute path to
|
||||
the socket. This can be seen via the |v:servername| variable.
|
||||
|
||||
The |--serverlist| argument will act just like X11, however it only checks the
|
||||
given common directories above. If a custom path is used for a socket, it
|
||||
will not be detected, such as a path either not in $XDG_RUNTIME_DIR or
|
||||
<$TMPDIR or /tmp>/vim of the |--serverlist| Vim process.
|
||||
|
||||
If you have both |+socketserver| and |+X11| compiled, you will need to add
|
||||
|--clientserver| set to "socket" in combination with |--serverlist| to list
|
||||
the available servers. You cannot list both types of backends in one command.
|
||||
|
||||
*socketserver-x11*
|
||||
If Vim is compiled with both |+X11| and |+socketserver|, then deciding which
|
||||
backend to use is done at startup time, via the |--clientserver| argument. By
|
||||
default if it is not specified, then X11 will be used. A Vim instance using a
|
||||
socket server cannot communicate with one using X11.
|
||||
|
||||
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*sponsor.txt* For Vim version 9.1. Last change: 2024 Aug 14
|
||||
*sponsor.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -140,7 +140,8 @@ Are the donations tax deductible?
|
||||
|
||||
That depends on your country. The donations to help the children in |Uganda|
|
||||
are tax deductible in Holland, Germany, Canada and in the USA. See the ICCF
|
||||
website http://iccf-holland.org/donate.html.
|
||||
website https://iccf-holland.org/donate.html (Note: this process is currently
|
||||
undergoing some changes and will be done differently in the future).
|
||||
|
||||
|
||||
Can you send me a bill?
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*syntax.txt* For Vim version 9.1. Last change: 2025 Aug 07
|
||||
*syntax.txt* For Vim version 9.1. Last change: 2025 Aug 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1116,6 +1116,23 @@ in the "after" directory in 'runtimepath'. For Unix this would be
|
||||
syn sync fromstart
|
||||
set foldmethod=syntax
|
||||
|
||||
CANGJIE *cangjie.vim* *ft-cangjie-syntax*
|
||||
|
||||
This file provides syntax highlighting for the Cangjie programming language, a
|
||||
new-generation language oriented to full-scenario intelligence.
|
||||
|
||||
All highlighting is enabled by default. To disable highlighting for a
|
||||
specific group, set the corresponding variable to 0 in your |vimrc|.
|
||||
All options to disable highlighting are: >
|
||||
:let g:cangjie_comment_color = 0
|
||||
:let g:cangjie_identifier_color = 0
|
||||
:let g:cangjie_keyword_color = 0
|
||||
:let g:cangjie_macro_color = 0
|
||||
:let g:cangjie_number_color = 0
|
||||
:let g:cangjie_operator_color = 0
|
||||
:let g:cangjie_string_color = 0
|
||||
:let g:cangjie_type_color = 0
|
||||
|
||||
CH *ch.vim* *ft-ch-syntax*
|
||||
|
||||
C/C++ interpreter. Ch has similar syntax highlighting to C and builds upon
|
||||
@@ -1637,7 +1654,7 @@ Elixir.
|
||||
FLEXWIKI *flexwiki.vim* *ft-flexwiki-syntax*
|
||||
|
||||
FlexWiki is an ASP.NET-based wiki package which used to be available at
|
||||
http://www.flexwiki.com
|
||||
www.flexwiki.com
|
||||
NOTE: This site currently doesn't work, on Wikipedia is mentioned that
|
||||
development stopped in 2009.
|
||||
|
||||
@@ -1962,7 +1979,7 @@ are read during initialization) >
|
||||
:let html_my_rendering=1
|
||||
|
||||
If you'd like to see an example download mysyntax.vim at
|
||||
http://www.fleiner.com/vim/download.html
|
||||
https://www.fleiner.com/vim/download.html
|
||||
|
||||
You can also disable this rendering by adding the following line to your
|
||||
vimrc file: >
|
||||
@@ -2231,6 +2248,15 @@ Certain modifiers are incompatible with each other, e.g. `abstract` and
|
||||
and can be differently highlighted as a group than other modifiers with >
|
||||
:hi link javaConceptKind NonText
|
||||
|
||||
All instances of variable-width lookbehind assertions (|/\@<!| and |/\@<=|),
|
||||
resorted to in syntax item definitions, are confined to arbitrary byte counts.
|
||||
Another arbitrary value can be selected for a related group of definitions.
|
||||
For example: >
|
||||
:let g:java_lookbehind_byte_counts = {'javaMarkdownCommentTitle': 240}
|
||||
Where each key name of this dictionary is the name of a syntax item. The use
|
||||
of these assertions in syntax items may vary among revisions, so no definitive
|
||||
set of supported key names is committed to.
|
||||
|
||||
If you notice highlighting errors while scrolling backwards, which are fixed
|
||||
when redrawing with CTRL-L, try setting the "g:java_minlines" variable to
|
||||
a larger number: >
|
||||
|
||||
@@ -43,6 +43,7 @@ $quote eval.txt /*$quote*
|
||||
'a motion.txt /*'a*
|
||||
'ac' options.txt /*'ac'*
|
||||
'acd' options.txt /*'acd'*
|
||||
'acl' options.txt /*'acl'*
|
||||
'ai' options.txt /*'ai'*
|
||||
'akm' options.txt /*'akm'*
|
||||
'al' options.txt /*'al'*
|
||||
@@ -64,6 +65,7 @@ $quote eval.txt /*$quote*
|
||||
'asd' options.txt /*'asd'*
|
||||
'autochdir' options.txt /*'autochdir'*
|
||||
'autocomplete' options.txt /*'autocomplete'*
|
||||
'autocompletedelay' options.txt /*'autocompletedelay'*
|
||||
'autoindent' options.txt /*'autoindent'*
|
||||
'autoprint' vi_diff.txt /*'autoprint'*
|
||||
'autoread' options.txt /*'autoread'*
|
||||
@@ -1495,6 +1497,7 @@ $quote eval.txt /*$quote*
|
||||
+scrollbind various.txt /*+scrollbind*
|
||||
+signs various.txt /*+signs*
|
||||
+smartindent various.txt /*+smartindent*
|
||||
+socketserver various.txt /*+socketserver*
|
||||
+sodium various.txt /*+sodium*
|
||||
+sound various.txt /*+sound*
|
||||
+spell various.txt /*+spell*
|
||||
@@ -1555,6 +1558,7 @@ $quote eval.txt /*$quote*
|
||||
-- starting.txt /*--*
|
||||
--- starting.txt /*---*
|
||||
--clean starting.txt /*--clean*
|
||||
--clientserver remote.txt /*--clientserver*
|
||||
--cmd starting.txt /*--cmd*
|
||||
--echo-wid starting.txt /*--echo-wid*
|
||||
--gui-dialog-file starting.txt /*--gui-dialog-file*
|
||||
@@ -4695,6 +4699,11 @@ E156 sign.txt /*E156*
|
||||
E1560 vim9.txt /*E1560*
|
||||
E1561 vim9.txt /*E1561*
|
||||
E1562 options.txt /*E1562*
|
||||
E1563 remote.txt /*E1563*
|
||||
E1564 remote.txt /*E1564*
|
||||
E1565 remote.txt /*E1565*
|
||||
E1566 remote.txt /*E1566*
|
||||
E1567 remote.txt /*E1567*
|
||||
E157 sign.txt /*E157*
|
||||
E158 sign.txt /*E158*
|
||||
E159 sign.txt /*E159*
|
||||
@@ -6484,6 +6493,7 @@ c_space_errors syntax.txt /*c_space_errors*
|
||||
c_syntax_for_h syntax.txt /*c_syntax_for_h*
|
||||
c_wildchar cmdline.txt /*c_wildchar*
|
||||
call() builtin.txt /*call()*
|
||||
cangjie.vim syntax.txt /*cangjie.vim*
|
||||
carriage-return intro.txt /*carriage-return*
|
||||
case change.txt /*case*
|
||||
catch-all eval.txt /*catch-all*
|
||||
@@ -7422,6 +7432,7 @@ ft-bash-syntax syntax.txt /*ft-bash-syntax*
|
||||
ft-basic-syntax syntax.txt /*ft-basic-syntax*
|
||||
ft-c-omni insert.txt /*ft-c-omni*
|
||||
ft-c-syntax syntax.txt /*ft-c-syntax*
|
||||
ft-cangjie-syntax syntax.txt /*ft-cangjie-syntax*
|
||||
ft-ch-syntax syntax.txt /*ft-ch-syntax*
|
||||
ft-changelog-plugin filetype.txt /*ft-changelog-plugin*
|
||||
ft-changelog-syntax syntax.txt /*ft-changelog-syntax*
|
||||
@@ -10221,6 +10232,10 @@ slow-fast-terminal term.txt /*slow-fast-terminal*
|
||||
slow-start starting.txt /*slow-start*
|
||||
slow-terminal term.txt /*slow-terminal*
|
||||
socket-interface channel.txt /*socket-interface*
|
||||
socketserver-clientserver remote.txt /*socketserver-clientserver*
|
||||
socketserver-differences remote.txt /*socketserver-differences*
|
||||
socketserver-name remote.txt /*socketserver-name*
|
||||
socketserver-x11 remote.txt /*socketserver-x11*
|
||||
sort() builtin.txt /*sort()*
|
||||
sorting change.txt /*sorting*
|
||||
sound-functions usr_41.txt /*sound-functions*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*todo.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*todo.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -289,7 +289,8 @@ Terminal emulator window:
|
||||
then when the window is resized redraw those lines.
|
||||
- Redrawing is slow with Motif. (Ramel Eshed)
|
||||
- For the GUI fill termios with default values, perhaps like pangoterm:
|
||||
http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134
|
||||
(dead link)
|
||||
bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134
|
||||
- When 'encoding' is not utf-8, or the job is using another encoding, setup
|
||||
conversions.
|
||||
|
||||
@@ -1426,12 +1427,6 @@ Possibly include the needed code so that it can be built everywhere.
|
||||
Add a way to restart a timer. It's similar to timer_stop() and timer_start(),
|
||||
but the reference remains valid.
|
||||
|
||||
Need to try out instructions in INSTALLpc.txt about how to install all
|
||||
interfaces and how to build Vim with them.
|
||||
Appveyor build with self-installing executable, includes getting most
|
||||
interfaces: https://github.com/k-takata/vim/tree/chrisbra-appveyor-build
|
||||
result: https://ci.appveyor.com/project/k-takata/vim/history
|
||||
|
||||
Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
|
||||
|
||||
Patch to make tests pass with EBCDIC. (Owen Leibman, 2016 Apr 10)
|
||||
@@ -1654,7 +1649,7 @@ Or minpac: https://github.com/k-takata/minpac, since it leverages the builtin
|
||||
package feature.
|
||||
Long message about this from ZyX, 2014 Mar 23. And following replies.
|
||||
Also see (link seems dead):
|
||||
http://vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
|
||||
vim-wiki.mawercer.de/wiki/topic/vim%20plugin%20managment.html
|
||||
User view:
|
||||
- Support multiple sources, basically any http:// URL. Or a central place that
|
||||
will work for everybody (github? redirects from vim.org?).
|
||||
@@ -2376,7 +2371,7 @@ Problem with 'ts' set to 9 and 'showbreak' to ">>>". (Matthew Winn, 2007 Oct
|
||||
Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
|
||||
|
||||
Using Aap to build Vim: add remarks about how to set personal preferences.
|
||||
Example on http://www.calmar.ws/tmp/aap.html (link seems dead)
|
||||
Example on www.calmar.ws/tmp/aap.html (link seems dead)
|
||||
|
||||
When 'diffopt' has "context:0" a single deleted line causes two folds to merge
|
||||
and mess up syncing. (Austin Jennings, 2008 Jan 31)
|
||||
@@ -2407,7 +2402,7 @@ Asked about latest version: 0.77.1 is on www.vim.org.
|
||||
More AmigaOS4 patches. (Peter Bengtsson, Nov 9)
|
||||
|
||||
Amiga patches with vbcc. (Adrien Destugues, 2010 Aug 30)
|
||||
(link seems dead): http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff
|
||||
(link seems dead): pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff
|
||||
|
||||
Problem with compound words? (Bert, 2008 May 6)
|
||||
No warning for when flags are defined after they are used in an affix.
|
||||
@@ -2478,7 +2473,7 @@ Win32: Patch for cscope external command. (Mike Williams, 2007 Aug 7)
|
||||
Win32: XPM support only works with path without spaces. Patch by Mathias
|
||||
Michaelis, 2006 Jun 9. Another patch for more path names, 2006 May 31.
|
||||
New version (link seems dead):
|
||||
http://members.tcnet.ch/michaelis/vim/patches.zip
|
||||
members.tcnet.ch/michaelis/vim/patches.zip
|
||||
(also for other patches by Mathias, see mail Feb 22)
|
||||
|
||||
Win32: compiling with normal features and OLE fails. Patch by Mathias
|
||||
@@ -3018,7 +3013,7 @@ Win32 GUI known bugs:
|
||||
the screen.
|
||||
8 The -P argument doesn't work very well with many MDI applications.
|
||||
The last argument of CreateWindowEx() should be used, see MSDN docs.
|
||||
Tutorial (link seems dead): http://win32assembly.online.fr/tut32.html
|
||||
Tutorial (link seems dead): win32assembly.online.fr/tut32.html
|
||||
6 Win32 GUI: With "-u NONE -U NONE" and doing "CTRL-W v" "CTRL-W o", the ":"
|
||||
of ":only" is highlighted like the cursor. (Lipelis)
|
||||
8 When 'encoding' is "utf-8", should use 'guifont' for both normal and wide
|
||||
@@ -3248,7 +3243,7 @@ Macintosh:
|
||||
7 Loading the Perl library only works on OS/X 10.2 or 10.3, never on both.
|
||||
Load the Perl library dynamically see Python sources file dynload_mac
|
||||
(Jack)
|
||||
dynamic linking: http://developer.apple.com/technotes/tn2002/tn2064.html
|
||||
dynamic linking: https://developer.apple.com/library/archive/technotes/tn2064/_index.html
|
||||
8 inputdialog() doesn't resize when giving more text lines. (David Fishburn,
|
||||
2006 Sept 28)
|
||||
8 Define vim_mkdir() for Macintosh.
|
||||
@@ -3597,7 +3592,7 @@ Most interesting new features to be added when all bugs have been fixed:
|
||||
198 standard http://www.jcp.org/en/jsr/detail?id=198.
|
||||
Eclim does it: http://eclim.sourceforge.net/ (Eric Van Dewoestine)
|
||||
Plugin that uses a terminal emulator: http://vimplugin.sf.net
|
||||
And another one: http://www.satokar.com/viplugin/index.php
|
||||
And another one: (dead link) satokar.com/viplugin/index.php
|
||||
- STICKY CURSOR: Add a way of scrolling that leaves the cursor where it is.
|
||||
Especially when using the scrollbar. Typing a cursor-movement command
|
||||
scrolls back to where the cursor is.
|
||||
@@ -3710,7 +3705,7 @@ Spell checking:
|
||||
Is COMPLEXPREFIXES necessary when we have flags for affixes?
|
||||
- There is no Finnish spell checking file. For openoffice Voikko is now
|
||||
used, which is based on Malaga (link seems dead):
|
||||
http://home.arcor.de/bjoern-beutel/malaga/ (Teemu Likonen)
|
||||
home.arcor.de/bjoern-beutel/malaga/ (Teemu Likonen)
|
||||
8 ":mkspell" still takes much too long in Hungarian dictionary from
|
||||
hunspell. Only solution appears to be to postpone secondary suffixes.
|
||||
8 Handle postponed prefix with COMPOUNDPERMITFLAG or COMPOUNDFORBIDFLAG.
|
||||
@@ -3761,14 +3756,14 @@ Spell checking:
|
||||
word/flags and affix.
|
||||
- Implement multiple flags for compound words and CMP item?
|
||||
Await comments from other spell checking authors.
|
||||
- Also see tklspell: http://tkltrans.sourceforge.net/
|
||||
- Also see tklspell: (dead link) tkltrans.sourceforge.net/
|
||||
8 Charles Campbell asks for method to add "contained" groups to existing
|
||||
syntax items (to add @Spell).
|
||||
Add ":syntax contains {pattern} add=@Spell" command? A bit like ":syn
|
||||
cluster" but change the contains list directly for matching syntax items.
|
||||
- References: MySpell library (in OpenOffice.org), (links seem dead):
|
||||
http://spellchecker.mozdev.org/source.html
|
||||
http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/
|
||||
spellchecker.mozdev.org/source.html
|
||||
(dead link) whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/
|
||||
author: Kevin Hendricks <kevin.hendricks@sympatico.ca>
|
||||
8 It is currently not possible to mark "can not" as rare, because "can" and
|
||||
"not" are good words. Find a way to let "rare" overrule "good"?
|
||||
@@ -4514,7 +4509,7 @@ Win32 GUI:
|
||||
8 Could keep console open to run multiple commands, to avoid the need to hit
|
||||
return in every console.
|
||||
Also: Look at how Emacs does run external commands:
|
||||
http://www.cs.washington.edu/homes/voelker/ntemacs.html.
|
||||
(deak link) www.cs.washington.edu/homes/voelker/ntemacs.html.
|
||||
8 Need a separate PopUp menu for modeless selection. Need two new commands:
|
||||
Copy selection to clipboard, Paste selection (as typed text).
|
||||
8 Support copy/paste for other file formats. At least HTML, perhaps RTF.
|
||||
@@ -4721,7 +4716,7 @@ Omni completion:
|
||||
http://cedet.sourceforge.net/intellisense.shtml (for Emacs)
|
||||
Ivan Villanueva has something for Java.
|
||||
Emacs (link seems dead):
|
||||
http://www.xref-tech.com/xrefactory/more_c_completion.html
|
||||
www.xref-tech.com/xrefactory/more_c_completion.html
|
||||
Completion in .NET framework SharpDevelop: http://www.icsharpcode.net
|
||||
- Pre-expand abbreviations, show which abbrevs would match?
|
||||
|
||||
@@ -5246,7 +5241,7 @@ Searching:
|
||||
to find out how much time has passed. Or use SIGALRM. Where to show the
|
||||
number?
|
||||
7 Support for approximate-regexps to find similar words (agrep
|
||||
http://www.tgries.de/agrep/ tre: http://laurikari.net/tre/index.html).
|
||||
http://www.tgries.de/agrep/ tre: (dead link) laurikari.net/tre/index.html).
|
||||
8 Add an item for a big character range, so that one can search for a
|
||||
chinese character: \z[234-1234] or \z[XX-YY] or \z[0x23-0x234].
|
||||
7 Add an item stack to allow matching (). One side is "push X on
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*uganda.txt* For Vim version 9.1. Last change: 2025 Jul 08
|
||||
*uganda.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -24,7 +24,7 @@ The Open Publication License applies to the Vim documentation, see
|
||||
The icons used for the toolbar in the Win32 GUI are from the "Farm-Fresh Web
|
||||
Icons" set. These icons are licensed under the Creative Commons Attribution
|
||||
3.0 License and were created by FatCow Web Hosting. They were previously
|
||||
available at http://www.fatcow.com/free-icons and are still available at:
|
||||
available at (dead link) fatcow.com/free-icons and are still available at:
|
||||
https://www.iconarchive.com/show/farm-fresh-icons-by-fatcow.1.html
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*usr_41.txt* For Vim version 9.1. Last change: 2025 Jul 21
|
||||
*usr_41.txt* For Vim version 9.1. Last change: 2025 Aug 18
|
||||
|
||||
VIM USER MANUAL - by Bram Moolenaar
|
||||
|
||||
@@ -30,10 +30,10 @@ Table of contents: |usr_toc.txt|
|
||||
*41.1* Introduction *vim-script-intro* *script*
|
||||
|
||||
Let's start with some nomenclature. A Vim script is any file that Vim can
|
||||
interpret and execute. This includes files written in Vim's scripting language
|
||||
like for example .vim files or configuration files like .vimrc and .gvimrc.
|
||||
These scripts may define functions, commands and settings that Vim uses to
|
||||
customize and extend its behavior.
|
||||
interpret and execute. This includes files written in Vim's scripting
|
||||
language like for example .vim files or configuration files like .vimrc and
|
||||
.gvimrc. These scripts may define functions, commands and settings that Vim
|
||||
uses to customize and extend its behavior.
|
||||
|
||||
*vim-script-notation*
|
||||
The correct notation is "Vim script" (or "Vim9 script" when refering to the
|
||||
@@ -125,8 +125,8 @@ make such a loop, it can be written much more compact: >
|
||||
echo $"count is {i}"
|
||||
endfor
|
||||
|
||||
We won't explain how `for`, `range()`and `$"string"` work until later. Follow
|
||||
the links if you are impatient.
|
||||
We won't explain how `for`, `range()` and `$"string"` work until later.
|
||||
Follow the links if you are impatient.
|
||||
|
||||
|
||||
TRYING OUT EXAMPLES
|
||||
@@ -749,7 +749,7 @@ String manipulation: *string-functions*
|
||||
str2list() get list of numbers from a string
|
||||
str2nr() convert a string to a Number
|
||||
str2float() convert a string to a Float
|
||||
printf() format a string according to % items
|
||||
printf() format a string according to "%" items
|
||||
escape() escape characters in a string with a '\'
|
||||
shellescape() escape a string for use with a shell command
|
||||
fnameescape() escape a file name for use with a Vim command
|
||||
@@ -806,6 +806,7 @@ String manipulation: *string-functions*
|
||||
ngettext() lookup single/plural message translation
|
||||
str2blob() convert a list of strings into a blob
|
||||
blob2str() convert a blob into a list of strings
|
||||
items() get List of String index-character pairs
|
||||
|
||||
List manipulation: *list-functions*
|
||||
get() get an item without error for wrong index
|
||||
@@ -832,9 +833,8 @@ List manipulation: *list-functions*
|
||||
range() return a List with a sequence of numbers
|
||||
string() String representation of a List
|
||||
call() call a function with List as arguments
|
||||
index() index of a value in a List or Blob
|
||||
indexof() index in a List or Blob where an expression
|
||||
evaluates to true
|
||||
index() index of a value in a List
|
||||
indexof() index in a List where an expression is true
|
||||
max() maximum value in a List
|
||||
min() minimum value in a List
|
||||
count() count number of times a value appears in a List
|
||||
@@ -918,6 +918,8 @@ Blob manipulation: *blob-functions*
|
||||
blob2list() get a list of numbers from a blob
|
||||
list2blob() get a blob from a list of numbers
|
||||
reverse() reverse the order of numbers in a blob
|
||||
index() index of a value in a Blob
|
||||
indexof() index in a Blob where an expression is true
|
||||
|
||||
Other computation: *bitwise-function*
|
||||
and() bitwise AND
|
||||
@@ -1456,9 +1458,9 @@ Various: *various-functions*
|
||||
|
||||
luaeval() evaluate |Lua| expression
|
||||
mzeval() evaluate |MzScheme| expression
|
||||
perleval() evaluate Perl expression (|+perl|)
|
||||
py3eval() evaluate Python expression (|+python3|)
|
||||
pyeval() evaluate Python expression (|+python|)
|
||||
perleval() evaluate Perl expression
|
||||
py3eval() evaluate Python expression
|
||||
pyeval() evaluate Python expression
|
||||
pyxeval() evaluate |python_x| expression
|
||||
rubyeval() evaluate |Ruby| expression
|
||||
|
||||
@@ -1586,7 +1588,7 @@ once for every line in the range, with the cursor in that line. Example: >
|
||||
|
||||
If you call this function with: >
|
||||
|
||||
:10,15Number()
|
||||
:10,15call Number()
|
||||
|
||||
The function will be called six times, starting on line 10 and ending on line
|
||||
15.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*various.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*various.txt* For Vim version 9.1. Last change: 2025 Aug 18
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -487,6 +487,8 @@ m *+ruby/dyn* Ruby interface |ruby-dynamic| |/dyn|
|
||||
T *+scrollbind* 'scrollbind'
|
||||
N *+signs* |:sign|
|
||||
T *+smartindent* 'smartindent'
|
||||
N *+socketserver* Unix only: socket server backend for clientserver
|
||||
functionality
|
||||
H *+sodium* compiled with libsodium for better encryption support
|
||||
H *+sound* |sound_playevent()|, |sound_playfile()| functions, etc.
|
||||
N *+spell* spell checking support, see |spell|
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*version9.txt* For Vim version 9.1. Last change: 2025 Jul 25
|
||||
*version9.txt* For Vim version 9.1. Last change: 2025 Aug 17
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -41608,7 +41608,8 @@ Completion~
|
||||
|
||||
Platform specific~
|
||||
-----------------
|
||||
- Support for Wayland UI and support for the Wayland clipboard has been added.
|
||||
- Support for Wayland UI and support for the Wayland clipboard has been added
|
||||
|wayland|.
|
||||
|
||||
- Support for the XDG Desktop Specification |xdg-base-dir| has been added and
|
||||
the environment variable |$MYVIMDIR| is set to the users personal runtime
|
||||
@@ -41722,6 +41723,9 @@ Functions: ~
|
||||
not finished
|
||||
- Add the optional {opts} |Dict| argument to |getchar()| to control: cursor
|
||||
behaviour, return type and whether or not to simplify the returned key
|
||||
- |chdir()| allows to optionally specify a scope argument
|
||||
- |matchfuzzy()| and |matchfuzzypos()| use an improved fuzzy matching
|
||||
algorithm (same as fzy).
|
||||
|
||||
Others: ~
|
||||
- the regex engines match correctly case-insensitive multi-byte characters
|
||||
@@ -41735,6 +41739,19 @@ Others: ~
|
||||
- |gv| works in operator pending mode and does not abort
|
||||
- The close button shown in the non-GUI 'tabline' will only be visible if the
|
||||
'mouse' option contains either "a" or any of the flags "n", "v", or "i".
|
||||
- |C-indenting| handles compound literals.
|
||||
- The digraphs "</" (LEFT-POINTING ANGLE BRACKET) and ">/" (RIGHT-POINTING
|
||||
ANGLE BRACKET) have been changed to represent LEFT ANGLE BRACKET and RIGHT
|
||||
ANGLE BRACKET to match the Unicode Miscellaneous Technical code chart from
|
||||
Unicode 16.
|
||||
- Two additional digraphs have been added: LEFT ANGLE BRACKET "<[" and RIGHT
|
||||
ANGLE BRACKET "]>".
|
||||
- Support for Unix domain sockets have been added for the clientserver
|
||||
feature, see |socketserver-clientserver|.
|
||||
|
||||
Platform specific ~
|
||||
- MS-Winodws: Paths like "\Windows" and "/Windows" are now considered to be
|
||||
absolute paths (to the current drive) and no longer relative.
|
||||
|
||||
*added-9.2*
|
||||
Added ~
|
||||
@@ -41811,7 +41828,9 @@ Ex-Commands: ~
|
||||
Options: ~
|
||||
|
||||
'autocompletion' Enable auto completion |ins-autocompletion|
|
||||
'autocompletedelay' Delay in msec before menu appears after typing
|
||||
'chistory' Size of the quickfix stack |quickfix-stack|.
|
||||
'clipmethod' How to access the clipboard.
|
||||
'completefuzzycollect' Enable fuzzy collection of candidates for (some)
|
||||
|ins-completion| modes
|
||||
'completeitemalign' Order of |complete-items| in Insert mode completion
|
||||
@@ -41833,9 +41852,14 @@ Options: ~
|
||||
't_xo' Terminal uses XON/XOFF handshaking (e.g. vt420)
|
||||
't_CF' Support for alternate font highlighting terminal code
|
||||
'winfixbuf' Keep buffer focused in a window
|
||||
'wlseat' Specify Wayland seat to use for the |wayland| feature
|
||||
'wlsteal' Steal focus to access the |wayland| clipboard
|
||||
'wltimeout' Specify the connection timeout for the |wayland|
|
||||
compositor
|
||||
|
||||
Vim Arguments: ~
|
||||
|-Y| Do not connect to the Wayland compositor.
|
||||
|-Y| Do not connect to the |wayland| compositor.
|
||||
|--clientserver| Specify backend for clientserver functionality.
|
||||
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*vi_diff.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*vi_diff.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
@@ -1346,7 +1346,7 @@ This is where Vim does not behave as POSIX specifies and why:
|
||||
These are remarks about running the POSIX test suite:
|
||||
- vi test 33 sometimes fails for unknown reasons
|
||||
- vi test 250 fails; behavior will be changed in a new revision
|
||||
http://www.opengroup.org/austin/mailarchives/ag-review/msg01710.html
|
||||
(dead link) opengroup.org/austin/mailarchives/ag-review/msg01710.html
|
||||
(link no longer works, perhaps it's now:
|
||||
https://www.opengroup.org/sophocles/show_mail.tpl?CALLER=show_archive.tpl&source=L&listname=austin-review-l&id=1711)
|
||||
- vi test 310 fails; exit code non-zero when any error occurred?
|
||||
|
||||
@@ -499,8 +499,17 @@ Come \-\-remote\-wait, ma senza avvisare se non si trova un server.
|
||||
Elenca i nomi di tutti i server Vim disponibili.
|
||||
.TP
|
||||
\-\-servername {nome}
|
||||
Usa {nome} come nome server. Usato per il Vim corrente, a meno che sia usato
|
||||
con l'argomento \-\-remote, nel qual caso indica il server a cui connettersi.
|
||||
Usa {nome} come nome del server usato per il Vim corrente, a meno che sia
|
||||
usato con l'argomento \-\-remote, nel qual caso indica il server a cui
|
||||
connettersi.
|
||||
Quando si sta usando il server a socket [socketserver backend], se il nome
|
||||
inizia con "/", "./", o "../", è considerato come il percorso, assoluto o
|
||||
relativo per arrivare al socket.
|
||||
.TP
|
||||
\-\-clientserver {backend}
|
||||
Usare {backend} come interfaccia per la funzionalità client/server,
|
||||
rispettivamente, o "socket" o "x11". Disponibile solo se Vim è stato
|
||||
compilato con le due funzionalità socketserver e X11.
|
||||
.TP
|
||||
\-\-socketid {id}
|
||||
Solo per GUI GTK: Usa meccanismo GtkPlug per eseguire gVim in un'altra finestra.
|
||||
@@ -568,7 +577,8 @@ Inizializzazioni personali di
|
||||
(viene utilizzata la prima trovata).
|
||||
.TP
|
||||
/usr/local/share/vim/vim??/optwin.vim
|
||||
Script Vim usato dal comando ":options", maniera elegante per visualizzare e impostare opzioni.
|
||||
Script Vim usato dal comando ":options", maniera elegante per visualizzare
|
||||
e impostare opzioni.
|
||||
.TP
|
||||
/usr/local/share/vim/vim??/menu.vim
|
||||
Inizializzazioni del menù
|
||||
|
||||
@@ -499,8 +499,17 @@ Come \-\-remote\-wait, ma senza avvisare se non si trova un server.
|
||||
Elenca i nomi di tutti i server Vim disponibili.
|
||||
.TP
|
||||
\-\-servername {nome}
|
||||
Usa {nome} come nome server. Usato per il Vim corrente, a meno che sia usato
|
||||
con l'argomento \-\-remote, nel qual caso indica il server a cui connettersi.
|
||||
Usa {nome} come nome del server usato per il Vim corrente, a meno che sia
|
||||
usato con l'argomento \-\-remote, nel qual caso indica il server a cui
|
||||
connettersi.
|
||||
Quando si sta usando il server a socket [socketserver backend], se il nome
|
||||
inizia con "/", "./", o "../", è considerato come il percorso, assoluto o
|
||||
relativo per arrivare al socket.
|
||||
.TP
|
||||
\-\-clientserver {backend}
|
||||
Usare {backend} come interfaccia per la funzionalità client/server,
|
||||
rispettivamente, o "socket" o "x11". Disponibile solo se Vim è stato
|
||||
compilato con le due funzionalità socketserver e X11.
|
||||
.TP
|
||||
\-\-socketid {id}
|
||||
Solo per GUI GTK: Usa meccanismo GtkPlug per eseguire gVim in un'altra finestra.
|
||||
@@ -568,7 +577,8 @@ Inizializzazioni personali di
|
||||
(viene utilizzata la prima trovata).
|
||||
.TP
|
||||
/usr/local/share/vim/vim??/optwin.vim
|
||||
Script Vim usato dal comando ":options", maniera elegante per visualizzare e impostare opzioni.
|
||||
Script Vim usato dal comando ":options", maniera elegante per visualizzare
|
||||
e impostare opzioni.
|
||||
.TP
|
||||
/usr/local/share/vim/vim??/menu.vim
|
||||
Inizializzazioni del menù
|
||||
|
||||
@@ -499,7 +499,14 @@ List the names of all Vim servers that can be found.
|
||||
.TP
|
||||
\-\-servername {name}
|
||||
Use {name} as the server name. Used for the current Vim, unless used with a
|
||||
\-\-remote argument, then it's the name of the server to connect to.
|
||||
\-\-remote argument, then it's the name of the server to connect to. If the
|
||||
socketserver backend is being used, if the name starts with "/", "./", or "../",
|
||||
it is taken as either an absolute, relative or relative path to the socket.
|
||||
.TP
|
||||
\-\-clientserver {backend}
|
||||
Use {backend} as the backend for clientserver functionality, either "socket" or
|
||||
"x11" respectively. Only available when compiled with both socketserver and X11
|
||||
features present
|
||||
.TP
|
||||
\-\-socketid {id}
|
||||
GTK GUI only: Use the GtkPlug mechanism to run gVim in another window.
|
||||
|
||||
@@ -378,7 +378,16 @@ OPTIONS
|
||||
--servername {name}
|
||||
Use {name} as the server name. Used for the current Vim,
|
||||
unless used with a --remote argument, then it's the name of
|
||||
the server to connect to.
|
||||
the server to connect to. If the socketserver backend is
|
||||
being used, if the name starts with "/", "./", or "../", it
|
||||
is taken as either an absolute, relative or relative path
|
||||
to the socket.
|
||||
|
||||
--clientserver {backend}
|
||||
Use {backend} as the backend for clientserver functional‐
|
||||
ity, either "socket" or "x11" respectively. Only available
|
||||
when compiled with both socketserver and X11 features
|
||||
present
|
||||
|
||||
--socketid {id}
|
||||
GTK GUI only: Use the GtkPlug mechanism to run gVim in an‐
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*wayland.txt* For Vim version 9.1. Last change: 2025 Jun 28
|
||||
*wayland.txt* For Vim version 9.1. Last change: 2025 Aug 20
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim support file to detect file types
|
||||
"
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2025 Jun 18
|
||||
" Last Change: 2025 Aug 10
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" Listen very carefully, I will say this only once
|
||||
@@ -1320,7 +1320,7 @@ au BufNewFile,BufRead *.ipynb,*.jupyterlab-settings setf json
|
||||
au BufNewFile,BufRead *.sublime-project,*.sublime-settings,*.sublime-workspace setf json
|
||||
|
||||
" Other files that look like json
|
||||
au BufNewFile,BufRead .prettierrc,.firebaserc,.stylelintrc,.lintstagedrc,flake.lock,deno.lock,.swcrc setf json
|
||||
au BufNewFile,BufRead .prettierrc,.firebaserc,.stylelintrc,.lintstagedrc,flake.lock,deno.lock,.swcrc,composer.lock,symfony.lock setf json
|
||||
|
||||
" JSONC (JSON with comments)
|
||||
au BufNewFile,BufRead *.jsonc,.babelrc,.eslintrc,.jsfmtrc,bun.lock setf jsonc
|
||||
@@ -1945,6 +1945,7 @@ au BufNewFile,BufRead .pinerc,pinerc,.pinercex,pinercex setf pine
|
||||
au BufNewFile,BufRead *.pip setf requirements
|
||||
au BufNewFile,BufRead requirements.txt setf requirements
|
||||
au BufNewFile,BufRead *-requirements.txt setf requirements
|
||||
au BufNewFile,BufRead requirements-*.txt setf requirements
|
||||
au BufNewFile,BufRead constraints.txt setf requirements
|
||||
au BufNewFile,BufRead requirements.in setf requirements
|
||||
au BufNewFile,BufRead requirements/*.txt setf requirements
|
||||
@@ -2432,6 +2433,9 @@ au BufNewFile,BufRead *.il,*.ils,*.cdf setf skill
|
||||
" Cadence
|
||||
au BufNewFile,BufRead *.cdc setf cdc
|
||||
|
||||
" Cangjie
|
||||
au BufNewFile,BufRead *.cj setf cangjie
|
||||
|
||||
" SLRN
|
||||
au BufNewFile,BufRead .slrnrc setf slrnrc
|
||||
au BufNewFile,BufRead *.score setf slrnsc
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: C
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2023 Aug 22
|
||||
" 2024 Jun 02 by Riley Bruins <ribru17@gmail.com> ('commentstring')
|
||||
" Last Change: 2025 Aug 08
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
@@ -28,7 +27,7 @@ setlocal fo-=t fo+=croql
|
||||
setlocal commentstring=/*\ %s\ */ define& include&
|
||||
|
||||
" Set completion with CTRL-X CTRL-O to autoloaded function.
|
||||
if exists('&ofu')
|
||||
if exists('&ofu') && has("vim9script")
|
||||
setlocal ofu=ccomplete#Complete
|
||||
endif
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
" Previous Maintainer: Nikolai Weibull <now@bitwi.se>
|
||||
" Last Change: 2025 Apr 08
|
||||
" 2025 Apr 08 by Vim project (set 'omnifunc' and 'iskeyword', #17073)
|
||||
" 2025 Aug 08 by Vim project (unset comment options, #17889)
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -12,7 +13,9 @@ let b:did_ftplugin = 1
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
let b:undo_ftplugin = "setl isk< fo< tw< cole< cocu< keywordprg< omnifunc<"
|
||||
let b:undo_ftplugin = "setl isk< fo< tw< cole< cocu< keywordprg< omnifunc< comments< cms<"
|
||||
|
||||
setl comments= cms=
|
||||
|
||||
setlocal formatoptions+=tcroql textwidth=78 keywordprg=:help omnifunc=s:HelpComplete
|
||||
let &l:iskeyword='!-~,^*,^|,^",192-255'
|
||||
|
||||
14
runtime/ftplugin/openscad.vim
Normal file
14
runtime/ftplugin/openscad.vim
Normal file
@@ -0,0 +1,14 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: OpenSCAD (https://openscad.org)
|
||||
" Maintainer: Zachary Scheiman <me@zacharyscheiman.com>
|
||||
" Last Change: 2025 Aug 3
|
||||
|
||||
if exists('b:did_ftplugin')
|
||||
finish
|
||||
endif
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
" Comments in openscad follow C/C++ syntax
|
||||
setlocal commentstring=//\ %s
|
||||
|
||||
let b:undo_ftplugin = 'setl commentstring<'
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" Previous Maintainer: Will Langstroth <will@langstroth.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Last Change: 2024 Jun 01
|
||||
" Last Change: 2025 Aug 09
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
@@ -39,7 +39,7 @@ if !exists("no_plugin_maps") && !exists("no_racket_maps")
|
||||
" "press ENTER or type a command to continue"
|
||||
" We avoid the annoyance of having to hit enter by remapping K directly.
|
||||
function s:RacketDoc(word) abort
|
||||
execute 'silent !raco docs --' shellescape(a:word)
|
||||
execute 'silent !raco docs --' shellescape(a:word, v:true)
|
||||
redraw!
|
||||
endfunction
|
||||
nnoremap <buffer> <Plug>RacketDoc :call <SID>RacketDoc(expand('<cword>'))<CR>
|
||||
|
||||
@@ -2,12 +2,15 @@
|
||||
" Language: Vim
|
||||
" Maintainer: Doug Kearns <dougkearns@gmail.com>
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Contributors: Riley Bruins <ribru17@gmail.com> ('commentstring'),
|
||||
" Contributors: Riley Bruins <ribru17@gmail.com> ('commentstring')
|
||||
" @Konfekt
|
||||
" @tpope (s:Help())
|
||||
" @lacygoill
|
||||
" Last Change: 2025 Mar 05
|
||||
" Last Change: 2025 Aug 07
|
||||
" 2025 Aug 06 by Vim Project (add gf maps #17881)
|
||||
" 2025 Aug 08 by Vim Project (add Vim script complete function #17871)
|
||||
" 2025 Aug 12 by Vim Project (improve vimgoto script #17970))
|
||||
" 2025 Aug 16 by Vim Project set com depending on Vim9 or legacy script
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@@ -22,7 +25,7 @@ set cpo&vim
|
||||
|
||||
if !exists('*VimFtpluginUndo')
|
||||
func VimFtpluginUndo()
|
||||
setl fo< isk< com< tw< commentstring< include< define< keywordprg<
|
||||
setl fo< isk< com< tw< commentstring< include< define< keywordprg< omnifunc<
|
||||
sil! delc -buffer VimKeywordPrg
|
||||
if exists('b:did_add_maps')
|
||||
silent! nunmap <buffer> [[
|
||||
@@ -61,41 +64,42 @@ if !exists("*" .. expand("<SID>") .. "Help")
|
||||
function s:Help(topic) abort
|
||||
let topic = a:topic
|
||||
|
||||
" keyword is not necessarily under the cursor, see :help K
|
||||
let line = getline('.')
|
||||
let i = match(line, '\V' .. escape(topic, '\'), col('.') - len(topic))
|
||||
let pre = strpart(line, 0, i)
|
||||
let post = strpart(line, i + len(topic))
|
||||
|
||||
" local/global option vars
|
||||
if topic =~# '[lg]' && pre ==# '&' && post =~# ':\k\+'
|
||||
let topic = matchstr(post, '\k\+')
|
||||
endif
|
||||
|
||||
if get(g:, 'syntax_on', 0)
|
||||
let syn = synIDattr(synID(line('.'), col('.'), 1), 'name')
|
||||
if syn ==# 'vimFuncName'
|
||||
return topic.'()'
|
||||
elseif syn ==# 'vimOption'
|
||||
return "'".topic."'"
|
||||
elseif syn ==# 'vimUserAttrbKey'
|
||||
return ':command-'.topic
|
||||
elseif syn =~# 'vimCommand'
|
||||
return ':'.topic
|
||||
return topic .. '()'
|
||||
elseif syn ==# 'vimOption' || syn ==# 'vimOptionVarName'
|
||||
return "'" .. topic .. "'"
|
||||
elseif syn ==# 'vimUserCmdAttrKey'
|
||||
return ':command-' .. topic
|
||||
elseif syn ==# 'vimCommand'
|
||||
return ':' .. topic
|
||||
endif
|
||||
endif
|
||||
|
||||
let col = col('.') - 1
|
||||
while col && getline('.')[col] =~# '\k'
|
||||
let col -= 1
|
||||
endwhile
|
||||
let pre = col == 0 ? '' : getline('.')[0 : col]
|
||||
|
||||
let col = col('.') - 1
|
||||
while col && getline('.')[col] =~# '\k'
|
||||
let col += 1
|
||||
endwhile
|
||||
let post = getline('.')[col : -1]
|
||||
|
||||
if pre =~# '^\s*:\=$'
|
||||
return ':'.topic
|
||||
if pre =~# '^\s*:\=$' || pre =~# '\%(\\\||\)\@<!|\s*:\=$'
|
||||
return ':' .. topic
|
||||
elseif pre =~# '\<v:$'
|
||||
return 'v:'.topic
|
||||
return 'v:' .. topic
|
||||
elseif pre =~# '<$'
|
||||
return '<'.topic.'>'
|
||||
return '<' .. topic .. '>'
|
||||
elseif pre =~# '\\$'
|
||||
return '/\'.topic
|
||||
return '/\' .. topic
|
||||
elseif topic ==# 'v' && post =~# ':\w\+'
|
||||
return 'v'.matchstr(post, ':\w\+')
|
||||
return 'v' .. matchstr(post, ':\w\+')
|
||||
elseif pre =~# '&\%([lg]:\)\=$'
|
||||
return "'" .. topic .. "'"
|
||||
else
|
||||
return topic
|
||||
endif
|
||||
@@ -107,20 +111,25 @@ setlocal keywordprg=:VimKeywordPrg
|
||||
" Comments starts with # in Vim9 script. We have to guess which one to use.
|
||||
if "\n" .. getline(1, 32)->join("\n") =~# '\n\s*vim9\%[script]\>'
|
||||
setlocal commentstring=#\ %s
|
||||
" Set 'comments' to format dashed lists in comments, for Vim9 script.
|
||||
setlocal com=sO:#\ -,mO:#\ \ ,eO:##,:#\\\ ,:#
|
||||
else
|
||||
setlocal commentstring=\"%s
|
||||
" Set 'comments' to format dashed lists in comments, for legacy Vim script.
|
||||
setlocal com=sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"\\\ ,:\"
|
||||
endif
|
||||
|
||||
" Set 'comments' to format dashed lists in comments, both in Vim9 and legacy
|
||||
" script.
|
||||
setlocal com=sO:#\ -,mO:#\ \ ,eO:##,:#\\\ ,:#,sO:\"\ -,mO:\"\ \ ,eO:\"\",:\"\\\ ,:\"
|
||||
|
||||
" set 'include' to recognize import commands
|
||||
setlocal include=\\v^\\s*import\\s*(autoload)?
|
||||
|
||||
" set 'define' to recognize export commands
|
||||
setlocal define=\\v^\\s*export\\s*(def\|const\|var\|final)
|
||||
|
||||
if has("vim9script")
|
||||
" set omnifunc completion
|
||||
setlocal omnifunc=vimcomplete#Complete
|
||||
endif
|
||||
|
||||
" Format comments to be up to 78 characters long
|
||||
if &tw == 0
|
||||
setlocal tw=78
|
||||
@@ -145,7 +154,7 @@ if !exists("no_plugin_maps") && !exists("no_vim_maps")
|
||||
nnoremap <silent><buffer> [" :call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
||||
xnoremap <silent><buffer> [" :<C-U>exe "normal! gv"<Bar>call search('\%(^\s*".*\n\)\%(^\s*"\)\@!', "bW")<CR>
|
||||
|
||||
" Purpose: Handle `:import` and `:packadd` lines in a smarter way. {{{
|
||||
" Purpose: Handle :import, :colorscheme and :packadd lines in a smarter way. {{{
|
||||
"
|
||||
" `:import` is followed by a filename or filepath. Find it.
|
||||
"
|
||||
@@ -164,9 +173,10 @@ if !exists("no_plugin_maps") && !exists("no_vim_maps")
|
||||
" buffer.
|
||||
" }}}
|
||||
" We use the `F` variants, instead of the `f` ones, because they're smarter.
|
||||
nnoremap <silent><buffer> gf :<C-U>call vim#Find('gF')<CR>
|
||||
nnoremap <silent><buffer> <C-W>f :<C-U>call vim#Find("\<lt>C-W>F")<CR>
|
||||
nnoremap <silent><buffer> <C-W>gf :<C-U>call vim#Find("\<lt>C-W>gF")<CR>
|
||||
" See $VIMRUNTIME/autoload/vimgoto.vim
|
||||
nnoremap <silent><buffer> gf :<C-U>call vimgoto#Find('gF')<CR>
|
||||
nnoremap <silent><buffer> <C-W>f :<C-U>call vimgoto#Find("\<lt>C-W>F")<CR>
|
||||
nnoremap <silent><buffer> <C-W>gf :<C-U>call vimgoto#Find("\<lt>C-W>gF")<CR>
|
||||
endif
|
||||
|
||||
" Let the matchit plugin know what items can be matched.
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: D. Ben Knoble <ben.knoble+github@gmail.com>
|
||||
" Previous Maintainer: Will Langstroth <will@langstroth.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Last Change: 2024 Nov 12
|
||||
" Last Change: 2025 Aug 09
|
||||
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
@@ -16,6 +16,7 @@ if has('vim9script')
|
||||
endif
|
||||
|
||||
setlocal lispwords+=module,module*,module+,parameterize,parameterize*,let-values,let*-values,letrec-values,local
|
||||
setlocal lispwords+=splicing-let,splicing-letrec,splicing-let-values,splicing-letrec-values,splicing-local,splicing-parameterize
|
||||
setlocal lispwords+=define/contract
|
||||
setlocal lispwords+=λ
|
||||
setlocal lispwords+=with-handlers
|
||||
@@ -50,7 +51,7 @@ setlocal lispwords+=fresh,run,run*,project,conde,condu
|
||||
|
||||
" loops
|
||||
setlocal lispwords+=for,for/list,for/fold,for*,for*/list,for*/fold,for/or,for/and,for*/or,for*/and
|
||||
setlocal lispwords+=for/hash,for/hasheq,for/hasheqv,for/sum,for/flvector,for*/flvector,for/vector,for*/vector,for*/sum,for*/hash,for*/hasheq,for*/hasheqv
|
||||
setlocal lispwords+=for/hash,for/hasheq,for/hasheqv,for/sum,for/flvector,for*/flvector,for/vector,for*/vector,for/fxvector,for*/fxvector,for*/sum,for*/hash,for*/hasheq,for*/hasheqv
|
||||
setlocal lispwords+=for/async
|
||||
setlocal lispwords+=for/set,for*/set
|
||||
setlocal lispwords+=for/first,for*/first
|
||||
|
||||
@@ -124,6 +124,7 @@ SynMenu C.C++:cpp
|
||||
SynMenu C.C#:cs
|
||||
SynMenu C.Cabal\ Haskell\ build\ file:cabal
|
||||
SynMenu C.Calendar:calendar
|
||||
SynMenu C.Cangjie:cangjie
|
||||
SynMenu C.Cascading\ Style\ Sheets:css
|
||||
SynMenu C.CDL:cdl
|
||||
SynMenu C.Cdrdao\ TOC:cdrtoc
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" You can also use this as a start for your own set of menus.
|
||||
"
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2025 Jun 04
|
||||
" Last Change: 2025 Aug 10
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
|
||||
@@ -693,7 +693,12 @@ def s:BMAdd()
|
||||
if s:bmenu_count == &menuitems && s:bmenu_short == 0
|
||||
s:BMShow()
|
||||
else
|
||||
s:BMRedraw()
|
||||
var name = expand("<afile>")
|
||||
var num = str2nr(expand("<abuf>"))
|
||||
if s:BMCanAdd(name, num)
|
||||
s:BMFilename(name, num)
|
||||
s:bmenu_count += 1
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
enddef
|
||||
@@ -741,10 +746,6 @@ def s:BMShow()
|
||||
s:bmenu_count = 0
|
||||
s:bmenu_items = {}
|
||||
|
||||
s:BMRedraw()
|
||||
enddef
|
||||
|
||||
def s:BMRedraw()
|
||||
# Remove old menu, if it exists; keep one entry to avoid a torn off menu to
|
||||
# disappear. Use try/catch to avoid setting v:errmsg
|
||||
try
|
||||
@@ -767,30 +768,26 @@ def s:BMRedraw()
|
||||
unmenu &Buffers.Dummy
|
||||
|
||||
# figure out how many buffers there are
|
||||
var buffer_menu_items = []
|
||||
var buf = 1
|
||||
while buf <= bufnr('$')
|
||||
var name = bufname(buf)
|
||||
if s:BMCanAdd(name, buf)
|
||||
add(buffer_menu_items, [substitute(name, ".", '\L\0', ""), name, buf])
|
||||
if s:BMCanAdd(bufname(buf), buf)
|
||||
s:bmenu_count = s:bmenu_count + 1
|
||||
endif
|
||||
buf += 1
|
||||
endwhile
|
||||
s:bmenu_count = len(buffer_menu_items)
|
||||
|
||||
if s:bmenu_count <= &menuitems
|
||||
s:bmenu_short = 0
|
||||
endif
|
||||
|
||||
# iterate through buffer list, adding each buffer to the menu:
|
||||
sort(buffer_menu_items)
|
||||
|
||||
var i = 0
|
||||
for menu_item in buffer_menu_items
|
||||
s:BMFilename(menu_item[1], menu_item[2], i)
|
||||
i += 1
|
||||
endfor
|
||||
|
||||
buf = 1
|
||||
while buf <= bufnr('$')
|
||||
var name = bufname(buf)
|
||||
if s:BMCanAdd(name, buf)
|
||||
call s:BMFilename(name, buf)
|
||||
endif
|
||||
buf += 1
|
||||
endwhile
|
||||
s:bmenu_wait = 0
|
||||
aug buffer_list
|
||||
au!
|
||||
@@ -799,8 +796,43 @@ def s:BMRedraw()
|
||||
aug END
|
||||
enddef
|
||||
|
||||
def s:BMHash(name: string): number
|
||||
# Create a sortable numeric hash of the name. This number has to be within
|
||||
# the bounds of a signed 32-bit integer as this is what Vim GUI uses
|
||||
# internally for the index.
|
||||
|
||||
# Make name all upper case, so that alphanumeric chars are between 32 and 96
|
||||
var nm = toupper(name)
|
||||
|
||||
if char2nr(nm[0]) < 32 || char2nr(nm[0]) > 96
|
||||
# We don't have an ASCII character, so just return the raw character value
|
||||
# for first character (clamped to 2^31) and set the high bit to make it
|
||||
# sort after other items. This means only the first character will be
|
||||
# sorted, unfortunately.
|
||||
return or(and(char2nr(nm), 0x7fffffff), 0x40000000)
|
||||
endif
|
||||
|
||||
var sp: number
|
||||
if has("ebcdic")
|
||||
# HACK: Replace all non alphabetics with 'Z'
|
||||
# Just to make it work for now.
|
||||
nm = substitute(nm, "[^A-Z]", 'Z', "g")
|
||||
sp = char2nr('A') - 1
|
||||
else
|
||||
sp = char2nr(' ')
|
||||
endif
|
||||
# convert first five chars into a number for sorting by compressing each
|
||||
# char into 5 bits (0-63), to a total of 30 bits. If any character is not
|
||||
# ASCII, it will simply be clamped to prevent overflow.
|
||||
return (max([0, min([63, char2nr(nm[0]) - sp])]) << 24) +
|
||||
(max([0, min([63, char2nr(nm[1]) - sp])]) << 18) +
|
||||
(max([0, min([63, char2nr(nm[2]) - sp])]) << 12) +
|
||||
(max([0, min([63, char2nr(nm[3]) - sp])]) << 6) +
|
||||
max([0, min([63, char2nr(nm[4]) - sp])])
|
||||
enddef
|
||||
|
||||
def s:BMHash2(name: string): string
|
||||
var nm = substitute(name, ".", '\L\0', "")
|
||||
var nm = tolower(name[0])
|
||||
if nm[0] < 'a' || nm[0] > 'z'
|
||||
return '&others.'
|
||||
elseif nm[0] <= 'd'
|
||||
@@ -819,16 +851,17 @@ def s:BMHash2(name: string): string
|
||||
enddef
|
||||
|
||||
" Insert a buffer name into the buffer menu.
|
||||
def s:BMFilename(name: string, num: number, index: number)
|
||||
def s:BMFilename(name: string, num: number)
|
||||
var munge = s:BMMunge(name, num)
|
||||
var hash = s:BMHash(munge)
|
||||
var cmd: string
|
||||
if s:bmenu_short == 0
|
||||
s:bmenu_items[num] = munge
|
||||
cmd = 'an ' .. g:bmenu_priority .. '.9999.' .. index .. ' &Buffers.' .. munge
|
||||
cmd = 'an ' .. g:bmenu_priority .. '.' .. hash .. ' &Buffers.' .. munge
|
||||
else
|
||||
var menu_name = s:BMHash2(munge) .. munge
|
||||
s:bmenu_items[num] = menu_name
|
||||
cmd = 'an ' .. g:bmenu_priority .. '.9999.0.' .. index .. ' &Buffers.' .. menu_name
|
||||
cmd = 'an ' .. g:bmenu_priority .. '.' .. hash .. '.' .. hash .. ' &Buffers.' .. menu_name
|
||||
endif
|
||||
exe cmd .. ' :confirm b' .. num .. '<CR>'
|
||||
enddef
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
" These commands create the option window.
|
||||
"
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Last Change: 2025 Jul 25
|
||||
" Last Change: 2025 Aug 16
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" If there already is an option window, jump to that one.
|
||||
let buf = bufnr('option-window')
|
||||
let buf = bufexists('option-window') ? bufnr('option-window') : -1
|
||||
if buf >= 0
|
||||
let winids = win_findbuf(buf)
|
||||
if len(winids) > 0
|
||||
@@ -876,6 +876,8 @@ if has("insert_expand")
|
||||
call <SID>OptionL("cpt")
|
||||
call <SID>AddOption("autocomplete", gettext("automatic completion in insert mode"))
|
||||
call <SID>BinOptionG("ac", &ac)
|
||||
call <SID>AddOption("autocompletedelay", gettext("delay in msec before menu appears after typing"))
|
||||
call append("$", " \tset acl=" . &acl)
|
||||
call <SID>AddOption("completeopt", gettext("whether to use a popup menu for Insert mode completion"))
|
||||
call <SID>OptionL("cot")
|
||||
call <SID>AddOption("completeitemalign", gettext("popup menu item align order"))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
*helptoc.txt* For Vim version 9.1. Last change: 2025 Aug 06
|
||||
*helptoc.txt* For Vim version 9.1. Last change: 2025 Aug 10
|
||||
|
||||
|
||||
VIM REFERENCE MANUAL
|
||||
@@ -178,7 +178,7 @@ brackets preceding and following each heading's text.
|
||||
|
||||
3.7 vim *HelpToc-vim-filetype*
|
||||
|
||||
Vimscript and Vim9 script do not have headings or levels inherently like
|
||||
Vim script and Vim9 script do not have headings or levels inherently like
|
||||
markup languages. However, Vim provides for |folds| defined by markers (|{{{|),
|
||||
which themselves may be succeeded by a number explicitly indicating the fold
|
||||
level. This is the structure recognized and supported by helptoc.vim.
|
||||
|
||||
16
runtime/pack/dist/opt/netrw/autoload/netrw.vim
vendored
16
runtime/pack/dist/opt/netrw/autoload/netrw.vim
vendored
@@ -1,6 +1,9 @@
|
||||
" Creator: Charles E Campbell
|
||||
" Previous Maintainer: Luca Saccarola <github.e41mv@aleeas.com>
|
||||
" Maintainer: This runtime file is looking for a new maintainer.
|
||||
" Last Change:
|
||||
" 2025 Aug 07 by Vim Project (use correct "=~#" for netrw_stylesize option #17901)
|
||||
" 2025 Aug 07 by Vim Project (netrw#BrowseX() distinguishes remote files #17794)
|
||||
" Copyright: Copyright (C) 2016 Charles E. Campbell {{{1
|
||||
" Permission is hereby granted to use and distribute this code,
|
||||
" with or without modifications, provided that this copyright
|
||||
@@ -4123,7 +4126,7 @@ function s:NetrwBrowseUpDir(islocal)
|
||||
endfunction
|
||||
|
||||
" netrw#BrowseX: (implements "x") executes a special "viewer" script or program for the {{{2
|
||||
" given filename; typically this means given their extension.
|
||||
" given filename; typically this means given their extension.
|
||||
function netrw#BrowseX(fname)
|
||||
" special core dump handler
|
||||
if a:fname =~ '/core\(\.\d\+\)\=$' && exists("g:Netrw_corehandler")
|
||||
@@ -4147,7 +4150,12 @@ function netrw#BrowseX(fname)
|
||||
let fname = substitute(fname, '^\~', expand("$HOME"), '')
|
||||
endif
|
||||
|
||||
call netrw#os#Open(s:NetrwFile(fname))
|
||||
if fname =~ '^[a-z]\+://'
|
||||
" open a remote file
|
||||
call netrw#os#Open(fname)
|
||||
else
|
||||
call netrw#os#Open(s:NetrwFile(fname))
|
||||
endif
|
||||
endfunction
|
||||
|
||||
" s:NetrwBufRename: renames a buffer without the side effect of retaining an unlisted buffer having the old name {{{2
|
||||
@@ -9225,7 +9233,7 @@ endfunction
|
||||
" 1000 -> 1K, 1000000 -> 1M, 1000000000 -> 1G
|
||||
function s:NetrwHumanReadable(sz)
|
||||
|
||||
if g:netrw_sizestyle == 'h'
|
||||
if g:netrw_sizestyle ==# 'h'
|
||||
if a:sz >= 1000000000
|
||||
let sz = printf("%.1f",a:sz/1000000000.0)."g"
|
||||
elseif a:sz >= 10000000
|
||||
@@ -9240,7 +9248,7 @@ function s:NetrwHumanReadable(sz)
|
||||
let sz= a:sz
|
||||
endif
|
||||
|
||||
elseif g:netrw_sizestyle == 'H'
|
||||
elseif g:netrw_sizestyle ==# 'H'
|
||||
if a:sz >= 1073741824
|
||||
let sz = printf("%.1f",a:sz/1073741824.0)."G"
|
||||
elseif a:sz >= 10485760
|
||||
|
||||
3
runtime/pack/dist/opt/netrw/doc/netrw.txt
vendored
3
runtime/pack/dist/opt/netrw/doc/netrw.txt
vendored
@@ -1907,9 +1907,6 @@ passwords:
|
||||
Thomer Gil has provided a hint on how to speed up netrw+ssh:
|
||||
http://thomer.com/howtos/netrw_ssh.html
|
||||
|
||||
Alex Young has several hints on speeding ssh up:
|
||||
http://usevim.com/2012/03/16/editing-remote-files/
|
||||
|
||||
|
||||
LISTING BOOKMARKS AND HISTORY *netrw-qb* *netrw-listbookmark* {{{2
|
||||
|
||||
|
||||
@@ -16,9 +16,10 @@ function SetupRemoteReplies()
|
||||
let max = argc()
|
||||
|
||||
let id = expand("<client>")
|
||||
if id == 0
|
||||
if (type(id) == v:t_number && id == 0) || (type(id) == v:t_string && id == '')
|
||||
return
|
||||
endif
|
||||
|
||||
while cnt < max
|
||||
" Handle same file from more clients and file being more than once
|
||||
" on the command line by encoding this stuff in the group name
|
||||
|
||||
@@ -73,7 +73,7 @@ are not really considered swear words in today's society.
|
||||
|
||||
COPYRIGHT, SOURCES, and CREDITS:
|
||||
|
||||
The English dictionaries come directly from SCOWL
|
||||
The English dictionaries come directly from SCOWL
|
||||
and is thus under the same copyright of SCOWL. The affix file is
|
||||
a heavily modified version of the original english.aff file which was
|
||||
released as part of Geoff Kuenning's Ispell and as such is covered by
|
||||
@@ -272,7 +272,7 @@ found anywhere else.
|
||||
Accent information was taken from UKACD.
|
||||
|
||||
My VARCON package was used to create the American, British, and
|
||||
Canadian word list.
|
||||
Canadian word list.
|
||||
|
||||
Since the original word lists used in the VARCON package came
|
||||
from the Ispell distribution they are under the Ispell copyright:
|
||||
@@ -315,11 +315,11 @@ Build Date: Mon Aug 24 16:41:56 EDT 2015
|
||||
Wordlist Command: mk-list --accents=strip en_US 60
|
||||
===================================================
|
||||
en_AU:
|
||||
This dictionary was based on the en_GB Myspell dictionary
|
||||
which in turn was initially based on a subset of the
|
||||
original English wordlist created by Kevin Atkinson for
|
||||
Pspell and Aspell and thus is covered by his original
|
||||
LGPL licence.
|
||||
This dictionary was based on the en_GB Myspell dictionary
|
||||
which in turn was initially based on a subset of the
|
||||
original English wordlist created by Kevin Atkinson for
|
||||
Pspell and Aspell and thus is covered by his original
|
||||
LGPL licence.
|
||||
|
||||
The credit for this en_AU dictionary goes to:
|
||||
|
||||
@@ -331,24 +331,24 @@ David Wilson
|
||||
- a list from the previously removed words with corrected spelling was added
|
||||
- a list of major rivers was added
|
||||
- a list of place names was added
|
||||
- a list of Australian mammals was added
|
||||
- a list of Australian mammals was added
|
||||
- a list of Aboriginal/Koori words commonly used was added
|
||||
|
||||
A total of 119,267 words are now recognized
|
||||
A total of 119,267 words are now recognized
|
||||
by the dictionary.
|
||||
|
||||
Of course, special thanks go to the editors of the
|
||||
en_GB dictionary (David Bartlett, Brian Kelk and
|
||||
Of course, special thanks go to the editors of the
|
||||
en_GB dictionary (David Bartlett, Brian Kelk and
|
||||
Andrew Brown) which provided the starting point
|
||||
for this dictionary.
|
||||
|
||||
The affix file is currently a duplicate of the en_AU.aff
|
||||
created completely from scratch by David Bartlett and
|
||||
Andrew Brown, based on the published
|
||||
created completely from scratch by David Bartlett and
|
||||
Andrew Brown, based on the published
|
||||
rules for MySpell and is also provided under the LGPL.
|
||||
|
||||
If you find omissions or bugs or have new words to
|
||||
add to the dictionary, please contact the en_AU
|
||||
If you find omissions or bugs or have new words to
|
||||
add to the dictionary, please contact the en_AU
|
||||
maintainer at:
|
||||
|
||||
"Kelvin" <audictionary@onlineconnections.com.au>
|
||||
@@ -431,7 +431,7 @@ are not really considered swear words in today's society.
|
||||
|
||||
COPYRIGHT, SOURCES, and CREDITS:
|
||||
|
||||
The English dictionaries come directly from SCOWL
|
||||
The English dictionaries come directly from SCOWL
|
||||
and is thus under the same copyright of SCOWL. The affix file is
|
||||
a heavily modified version of the original english.aff file which was
|
||||
released as part of Geoff Kuenning's Ispell and as such is covered by
|
||||
@@ -630,7 +630,7 @@ found anywhere else.
|
||||
Accent information was taken from UKACD.
|
||||
|
||||
My VARCON package was used to create the American, British, and
|
||||
Canadian word list.
|
||||
Canadian word list.
|
||||
|
||||
Since the original word lists used in the VARCON package came
|
||||
from the Ispell distribution they are under the Ispell copyright:
|
||||
@@ -676,7 +676,7 @@ en_GB:
|
||||
This dictionary was initially based on a subset of the
|
||||
original English wordlist created by Kevin Atkinson for
|
||||
Pspell and Aspell and thus is covered by his original
|
||||
LGPL licence.
|
||||
LGPL licence.
|
||||
|
||||
It has been extensively updated by David Bartlett, Brian Kelk
|
||||
and Andrew Brown:
|
||||
@@ -756,7 +756,7 @@ Main difficulties developing this dictionary:
|
||||
|
||||
Please let Marco A.G.Pinto know of any errors that you find:
|
||||
E-mail: marcoagpinto@mail.telepac.pt
|
||||
Site: http://marcoagpinto.cidadevirtual.pt/proofingtoolgui.html
|
||||
Site (now dead): marcoagpinto.cidadevirtual.pt/proofingtoolgui.html
|
||||
|
||||
|
||||
V2.00 - 25-AUG-2013
|
||||
@@ -1851,7 +1851,7 @@ V2.09 - 1-FEB-2014
|
||||
1047) vermiculture
|
||||
1048) nitrochalk
|
||||
1049) unreactive (merged into reactive)
|
||||
1050) bronzy
|
||||
1050) bronzy
|
||||
1051) bronzer (merged into bronze)
|
||||
1052) reliefs (plural)
|
||||
1053) superalloy
|
||||
@@ -2028,7 +2028,7 @@ V2.10 - 1-MAR-2014
|
||||
1220) predate (+ed)
|
||||
1221) Boole (name + 's)
|
||||
1222) phenotypic (merged into phenotype)
|
||||
1223) phenotypical
|
||||
1223) phenotypical
|
||||
1224) phenotypically (merged into phenotypical)
|
||||
1225) triploid (+plural)
|
||||
1226) tetraploid (+plural)
|
||||
@@ -3361,7 +3361,7 @@ V2.14 - 1-JUL-2014
|
||||
2534) circumnavigator
|
||||
2535) subalpine
|
||||
2536) treeline
|
||||
2537) boreal + Boreal
|
||||
2537) boreal + Boreal
|
||||
2538) geotechnic (+s)
|
||||
2539) geotechnical
|
||||
2540) geothermally (merged into geothermal)
|
||||
@@ -4325,7 +4325,7 @@ V2.16 - 1-SEP-2014
|
||||
3390) counterparty (+plural)
|
||||
3391) counterplot (+s +ing +ed)
|
||||
3392) swansongs (added plural - Kevin Atkinson wordlist 60)
|
||||
3393) syndicalists (added plural - Kevin Atkinson wordlist 60)
|
||||
3393) syndicalists (added plural - Kevin Atkinson wordlist 60)
|
||||
3394) Trotskyism
|
||||
3395) Trotskyist (+plural)
|
||||
3396) Trotskyite (+plural)
|
||||
@@ -5448,7 +5448,7 @@ V2.18 - 1-NOV-2014
|
||||
4505) cellmates (added plural - Kevin Atkinson wordlist 60)
|
||||
4506) chatlines (added plural - Kevin Atkinson wordlist 60)
|
||||
4507) chirpily + chirpiness (merged into chirpy - Kevin Atkinson wordlist 60)
|
||||
4508) computerate (Oxford: informal - Kevin Atkinson wordlist 60)
|
||||
4508) computerate (Oxford: informal - Kevin Atkinson wordlist 60)
|
||||
4509) comfortless (merged into comfort - Kevin Atkinson wordlist 60)
|
||||
4510) conchie (+plural - Oxford: informal - Kevin Atkinson wordlist 60)
|
||||
4511) cookhouse (+plural - Kevin Atkinson wordlist 60)
|
||||
@@ -6004,7 +6004,7 @@ V2.19 - 1-DEC-2014
|
||||
4154) androecia (plural of previous word)
|
||||
4155) androecial
|
||||
4156) gynoecium
|
||||
4157) gynoecia (plural of previous word)
|
||||
4157) gynoecia (plural of previous word)
|
||||
4158) gynocentric
|
||||
4159) unallowable
|
||||
4160) unallied
|
||||
@@ -7142,7 +7142,7 @@ V2.21 - 1-FEB-2015
|
||||
4384) microbiologically (Collins)
|
||||
4385) microbiologic (Collins)
|
||||
4386) Cmd. (abbreviation - UK - Command Paper - 4th series)
|
||||
4387) Cmnd. (abbreviation - UK - Command Paper - 5th series)
|
||||
4387) Cmnd. (abbreviation - UK - Command Paper - 5th series)
|
||||
4388) handgrip (+plural)
|
||||
4389) cyanoacrylate (+plural)
|
||||
4390) photostimulation (+plural - Wiktionary)
|
||||
@@ -7180,7 +7180,7 @@ V2.21 - 1-FEB-2015
|
||||
4422) ferromagnetism
|
||||
4423) Zeeman (Zeeman effect)
|
||||
4424) atomicities (added plural)
|
||||
4425) multiagent (+plural - Wiktionary)
|
||||
4425) multiagent (+plural - Wiktionary)
|
||||
4426) non-typical
|
||||
4427) non-transparency
|
||||
4428) non-U (Oxford: informal)
|
||||
@@ -7462,7 +7462,7 @@ V2.21 - 1-FEB-2015
|
||||
4704) winemaking
|
||||
4705) streamflow (+plural)
|
||||
4706) snowpack (+plural)
|
||||
4707) snowmobiling + snowmobiled + er + ers (merged into snowmobile)
|
||||
4707) snowmobiling + snowmobiled + er + ers (merged into snowmobile)
|
||||
4708) groomer (+plural - merged into groom)
|
||||
4709) snowcat (+plural)
|
||||
4710) heli-ski (+ing +er +ers)
|
||||
@@ -12424,15 +12424,14 @@ NZ English Dictionary v0.9 beta - Build 06SEP03
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
NB This is an initial version, please check:
|
||||
http://lingucomponent.openoffice.org/download_dictionary.html
|
||||
or
|
||||
http://www.girlza.com/dictionary/download.html
|
||||
or (the dead link) girlza.com/dictionary/download.html
|
||||
for a final version, after a little while (no hurry).
|
||||
|
||||
This dictionary is based on the en_GB Myspell dictionary
|
||||
which in turn was initially based on a subset of the
|
||||
original English wordlist created by Kevin Atkinson for
|
||||
Pspell and Aspell and thus is covered by his original
|
||||
LGPL licence.
|
||||
This dictionary is based on the en_GB Myspell dictionary
|
||||
which in turn was initially based on a subset of the
|
||||
original English wordlist created by Kevin Atkinson for
|
||||
Pspell and Aspell and thus is covered by his original
|
||||
LGPL licence.
|
||||
|
||||
|
||||
Introduction
|
||||
@@ -12460,7 +12459,7 @@ And thank you to all who've contributed to OpenOffice.org.
|
||||
License
|
||||
~~~~~~~
|
||||
This dictionary is covered by the GNU Lesser General Public
|
||||
License, viewable at http://www.gnu.org/copyleft/lesser.html
|
||||
License, viewable at https://www.gnu.org/licenses/lgpl.html
|
||||
|
||||
|
||||
Issues
|
||||
@@ -12627,7 +12626,7 @@ such a program is covered only if its contents constitute a work based
|
||||
on the Library (independent of the use of the Library in a tool for
|
||||
writing it). Whether that is true depends on what the Library does
|
||||
and what the program that uses the Library does.
|
||||
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Library's
|
||||
complete source code as you receive it, in any medium, provided that
|
||||
you conspicuously and appropriately publish on each copy an
|
||||
|
||||
@@ -110,6 +110,7 @@ an 50.20.110 &Syntax.C.C++ :cal SetSyn("cpp")<CR>
|
||||
an 50.20.120 &Syntax.C.C# :cal SetSyn("cs")<CR>
|
||||
an 50.20.130 &Syntax.C.Cabal\ Haskell\ build\ file :cal SetSyn("cabal")<CR>
|
||||
an 50.20.140 &Syntax.C.Calendar :cal SetSyn("calendar")<CR>
|
||||
an 50.20.140 &Syntax.C.Cangjie :cal SetSyn("cangjie")<CR>
|
||||
an 50.20.150 &Syntax.C.Cascading\ Style\ Sheets :cal SetSyn("css")<CR>
|
||||
an 50.20.160 &Syntax.C.CDL :cal SetSyn("cdl")<CR>
|
||||
an 50.20.170 &Syntax.C.Cdrdao\ TOC :cal SetSyn("cdrtoc")<CR>
|
||||
|
||||
153
runtime/syntax/cangjie.vim
Normal file
153
runtime/syntax/cangjie.vim
Normal file
@@ -0,0 +1,153 @@
|
||||
" Vim syntax file
|
||||
" Language: Cangjie
|
||||
" Maintainer: Wu Junkai <wu.junkai@qq.com>
|
||||
" Last Change: 2025 Aug 17
|
||||
"
|
||||
" The Cangjie programming language is a new-generation programming
|
||||
" language oriented to full-scenario intelligence. It features
|
||||
" native intelligence, being naturally suitable for all scenarios,
|
||||
" high performance and strong security. It is mainly applied in
|
||||
" scenarios such as native applications and service applications
|
||||
" of HarmonyOS NEXT, providing developers with a good programming
|
||||
" experience.
|
||||
"
|
||||
" For more information, see:
|
||||
" - https://cangjie-lang.cn/
|
||||
" - https://gitcode.com/Cangjie
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:save_cpo = &cpo
|
||||
set cpo&vim
|
||||
|
||||
" 0. check the user's settings
|
||||
" use let g:cangjie_<item>_color to enable/disable syntax highlighting
|
||||
function! s:enabled(item) abort
|
||||
return get(g:, 'cangjie_' . a:item . '_color', 1)
|
||||
endfunction
|
||||
|
||||
syn case match
|
||||
|
||||
" 1. comments
|
||||
syn keyword cangjieTodo TODO FIXME XXX NOTE BUG contained
|
||||
syn match cangjieComment /\v\/\/.*/ contains=cangjieTodo
|
||||
syn region cangjieComment start=/\/\*/ end=/\*\// contains=cangjieTodo,@Spell
|
||||
|
||||
" 2. keywords
|
||||
syn keyword cangjieDeclaration abstract extend macro foreign
|
||||
syn keyword cangjieDeclaration interface open operator override private prop protected
|
||||
syn keyword cangjieDeclaration public redef static type
|
||||
syn keyword cangjieStatement as break case catch continue do else finally for in
|
||||
syn keyword cangjieStatement if in is match quote return spawn super synchronized
|
||||
syn keyword cangjieStatement throw try unsafe where while
|
||||
syn keyword cangjieIdentlike false init main this true
|
||||
syn keyword cangjieVariable const let var
|
||||
syn keyword cangjieOption Option Some None
|
||||
syn keyword cangjieDeclaration func struct class enum import package nextgroup=cangjieTypeName skipwhite
|
||||
syn cluster cangjieKeywordCluster contains=cangjieDeclaration,cangjieStatement,cangjieIdentlike,cangjieVariable,cangjieOption
|
||||
|
||||
" 3. macro (e.g., @override)
|
||||
syn match cangjieMacro /@\h\w*/
|
||||
|
||||
" 4. Type and Function Names
|
||||
syn match cangjieTypeName /\h\w*/ contained
|
||||
|
||||
" 5. specail identifiers
|
||||
syn region cangjieSpIdentifier start=/`/ end=/`/ oneline
|
||||
|
||||
" 6. types
|
||||
syn keyword cangjieSpType Any Nothing Range Unit Iterable
|
||||
syn keyword cangjieArrayType Array ArrayList VArray
|
||||
syn keyword cangjieHashType HashMap HashSet
|
||||
syn keyword cangjieCommonType Bool Byte Rune String
|
||||
syn keyword cangjieFloatType Float16 Float32 Float64
|
||||
syn keyword cangjieIntType Int8 Int16 Int32 Int64 IntNative
|
||||
syn keyword cangjieUIntType UInt8 UInt16 UInt32 UInt64 UIntNative
|
||||
syn cluster cangjieTypeCluster contains=cangjieSpType,cangjieArrayType,cangjieHashType,cangjieCommonType,cangjieFloatType,cangjieIntType,cangjieUIntType
|
||||
|
||||
" 7. character and strings
|
||||
syn cluster cangjieInterpolatedPart contains=@cangjieKeywordCluster,cangjieSpIdentifier,@cangjieTypeCluster,@cangjieNumberCluster,cangjieOperator
|
||||
syn region cangjieInterpolation contained keepend start=/\${/ end=/}/ contains=@cangjieInterpolatedPart matchgroup=cangjieInterpolationDelimiter
|
||||
syn region cangjieRune start=/r'/ skip=/\\\\\|\\'/ end=/'/ oneline
|
||||
syn region cangjieRune start=/b'/ skip=/\\\\\|\\'/ end=/'/ oneline
|
||||
syn region cangjieString start=/"/ skip=/\\\\\|\\"/ end=/"/ oneline contains=cangjieInterpolation
|
||||
syn region cangjieString start=/'/ skip=/\\\\\|\\'/ end=/'/ oneline contains=cangjieInterpolation
|
||||
syn region cangjieString start=/"""/ skip=/\\\\\|\\"/ end=/"""/ contains=cangjieInterpolation keepend
|
||||
syn region cangjieString start=/'''/ skip=/\\\\\|\\'/ end=/'''/ contains=cangjieInterpolation keepend
|
||||
syn region cangjieRawString start='\z(#*\)#"' end='"#\z1'
|
||||
syn region cangjieRawString start='\z(#*\)#\'' end='\'#\z1'
|
||||
|
||||
" 8. number
|
||||
syn match cangjieFloatNumber /\v\c<\d[0-9_]*\.\d[0-9_]*([ep][-+]?\d[0-9_]*)?(f(16|32|64))?>/
|
||||
syn match cangjieFloatNumber /\v\c<\d[0-9_]*\.([ep][-+]?\d[0-9_]*)?(f(16|32|64))?>/
|
||||
syn match cangjieFloatNumber /\v\c\.\d[0-9_]*([ep][-+]?\d[0-9_]*)?(f(16|32|64))?>/
|
||||
syn match cangjieScienceNumber /\v\c<\d[0-9_]*[e][-+]?\d[0-9_]*>/
|
||||
syn match cangjieHexNumber /\v\c<0x[0-9a-f_]+([iu](8|16|32|64))?>/
|
||||
syn match cangjieOctalNumber /\v\c<0o[0-7_]+([iu](8|16|32|64))?>/
|
||||
syn match cangjieBinaryNumber /\v\c<0b[01_]+([iu](8|16|32|64))?>/
|
||||
syn match cangjieDecimalNumber /\v\c<\d[0-9_]*([iu](8|16|32|64))?>/
|
||||
syn cluster cangjieNumberCluster contains=cangjieFloatNumber,cangjieScienceNumber,cangjieHexNumber,cangjieOctalNumber,cangjieBinaryNumber,cangjieDecimalNumber
|
||||
|
||||
" 9. operators
|
||||
syn match cangjieOperator /[-+%<>!&|^*=]=\?/
|
||||
syn match cangjieOperator /\/\%(=\|\ze[^/*]\)/
|
||||
syn match cangjieOperator /\%(<<\|>>\|&^\)=\?/
|
||||
syn match cangjieOperator /:=\|||\|<-\|++\|--/
|
||||
syn match cangjieOperator /[~]/
|
||||
syn match cangjieOperator /[:]/
|
||||
syn match cangjieOperator /\.\./
|
||||
syn match cangjieVarArgs /\.\.\./
|
||||
|
||||
" finally, link the syntax groups to the highlight groups
|
||||
if s:enabled('comment')
|
||||
hi def link cangjieTodo Todo
|
||||
hi def link cangjieComment Comment
|
||||
endif
|
||||
if s:enabled('identifier')
|
||||
hi def link cangjieSpIdentifier Identifier
|
||||
endif
|
||||
if s:enabled('keyword')
|
||||
hi def link cangjieDeclaration Keyword
|
||||
hi def link cangjieStatement Statement
|
||||
hi def link cangjieIdentlike Keyword
|
||||
hi def link cangjieVariable Keyword
|
||||
hi def link cangjieOption Keyword
|
||||
endif
|
||||
if s:enabled('macro')
|
||||
hi def link cangjieMacro PreProc
|
||||
endif
|
||||
if s:enabled('number')
|
||||
hi def link cangjieFloatNumber Float
|
||||
hi def link cangjieScienceNumber Float
|
||||
hi def link cangjieHexNumber Number
|
||||
hi def link cangjieOctalNumber Number
|
||||
hi def link cangjieBinaryNumber Number
|
||||
hi def link cangjieDecimalNumber Number
|
||||
endif
|
||||
if s:enabled('operator')
|
||||
hi def link cangjieOperator Operator
|
||||
hi def link cangjieVarArgs Operator
|
||||
endif
|
||||
if s:enabled('string')
|
||||
hi def link cangjieRune Character
|
||||
hi def link cangjieString String
|
||||
hi def link cangjieRawString String
|
||||
endif
|
||||
if s:enabled('type')
|
||||
hi def link cangjieTypeName Type
|
||||
hi def link cangjieSpType Type
|
||||
hi def link cangjieArrayType Type
|
||||
hi def link cangjieHashType Type
|
||||
hi def link cangjieCommonType Type
|
||||
hi def link cangjieFloatType Type
|
||||
hi def link cangjieIntType Type
|
||||
hi def link cangjieUIntType Type
|
||||
endif
|
||||
|
||||
let b:current_syntax = "cangjie"
|
||||
|
||||
let &cpo = s:save_cpo
|
||||
unlet s:save_cpo
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Diff (context or unified)
|
||||
" Maintainer: The Vim Project <https://github.com/vim/vim>
|
||||
" Translations by Jakson Alves de Aquino.
|
||||
" Last Change: 2025 Jun 26
|
||||
" Last Change: 2025 Aug 16
|
||||
" Former Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
@@ -312,9 +312,9 @@ syn match diffCommon "^Thư mục con chung: .* và .*"
|
||||
|
||||
" zh_CN
|
||||
syn match diffOnly "^只在 .* 存在:.*"
|
||||
syn match diffIdentical "^檔案 .* 和 .* 相同$"
|
||||
syn match diffIdentical "^文件 .* 和 .* 相同$"
|
||||
syn match diffDiffer "^文件 .* 和 .* 不同$"
|
||||
syn match diffBDiffer "^文件 .* 和 .* 不同$"
|
||||
syn match diffBDiffer "^二进制文件 .* 和 .* 不同$"
|
||||
syn match diffIsA "^文件 .* 是.*而文件 .* 是.*"
|
||||
syn match diffNoEOL "^\\ 文件尾没有 newline 字符"
|
||||
syn match diffCommon "^.* 和 .* 有共同的子目录$"
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
" Maintainer: Aliaksei Budavei <0x000c70 AT gmail DOT com>
|
||||
" Former Maintainer: Claudio Fleiner <claudio@fleiner.com>
|
||||
" Repository: https://github.com/zzzyxwvut/java-vim.git
|
||||
" Last Change: 2025 Jun 22
|
||||
" Last Change: 2025 Aug 07
|
||||
|
||||
" Please check ":help java.vim" for comments on some of the options
|
||||
" available.
|
||||
@@ -125,11 +125,29 @@ endif
|
||||
" if necessary, on the line before that (h: \@<=), trying to match
|
||||
" neither a method reference nor a qualified method invocation.
|
||||
try
|
||||
syn match javaOperator "\%(\%(::\|\.\)[[:space:]\n]*\)\@80<!\<yield\>"
|
||||
if !empty(get(g:, 'java_lookbehind_byte_counts', {}))
|
||||
exec 'syn match javaOperator "\%(\%(::\|\.\)[[:space:]\n]*\)\@' . max([0, get(g:java_lookbehind_byte_counts, 'javaOperator', 80)]) . '<!\<yield\>"'
|
||||
|
||||
function! s:ff.PeekFor(item, count) abort
|
||||
return string(max([0, get(g:java_lookbehind_byte_counts, a:item, a:count)]))
|
||||
endfunction
|
||||
else
|
||||
syn match javaOperator "\%(\%(::\|\.\)[[:space:]\n]*\)\@80<!\<yield\>"
|
||||
|
||||
function! s:ff.PeekFor(dummy, count) abort
|
||||
return string(a:count)
|
||||
endfunction
|
||||
endif
|
||||
|
||||
let s:ff.Peek = s:ff.LeftConstant
|
||||
catch /\<E59:/
|
||||
call s:ReportOnce(v:exception)
|
||||
syn match javaOperator "\%(\%(::\|\.\)[[:space:]\n]*\)\@<!\<yield\>"
|
||||
|
||||
function! s:ff.PeekFor(dummy_a, dummy_b) abort
|
||||
return ""
|
||||
endfunction
|
||||
|
||||
let s:ff.Peek = s:ff.RightConstant
|
||||
endtry
|
||||
|
||||
@@ -308,7 +326,7 @@ if exists("g:java_highlight_generics")
|
||||
" Match sections of generic methods and constructors and their
|
||||
" parameterised use.
|
||||
exec 'syn region javaTypeParamSection transparent matchgroup=javaGenericsCX start=/' . s:ff.Engine('\%#=2', '') . '\%(^\|\s\)\@' . s:ff.Peek('1', '') . '<=<\%(\%([^(){}]\|\n\)\+[[:space:]-]\@' . s:ff.Peek('1', '') . '<!>\_s\+\%(\%(void\|\%(b\%(oolean\|yte\)\|char\|short\|int\|long\|float\|double\|\%(\<\K\k*\>\.\)*\<' . s:ff.UpperCase('[$_[:upper:]]', '[^a-z0-9]') . '\k*\>\%(<\%([^(){}]\|\n\)\+[[:space:]-]\@' . s:ff.Peek('1', '') . '<!>\)\=\)\%(\[\]\)*\)\_s\+\)\=\<\K\k*\>\s*(\)\@=/ end=/>/ contains=javaGenerics,@javaTypeParams'
|
||||
exec 'syn region javaTypeParamSection transparent matchgroup=javaGenericsCX start=/\%(\%(\<new\|::\|\.\)[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<=<>\@!/ end=/>/ contains=javaGenerics,@javaTypeParams'
|
||||
exec 'syn region javaTypeParamSection transparent matchgroup=javaGenericsCX start=/\%(\%(\<new\|::\|\.\)[[:space:]\n]*\)\@' . s:ff.PeekFor('javaTypeParamSection', 80) . '<=<>\@!/ end=/>/ contains=javaGenerics,@javaTypeParams'
|
||||
|
||||
for s:ctx in [{'gsg': 'javaGenerics', 'ghg': 'javaGenericsC1', 'csg': 'javaGenericsX', 'c': ''},
|
||||
\ {'gsg': 'javaGenericsX', 'ghg': 'javaGenericsC2', 'csg': 'javaGenerics', 'c': ' contained'}]
|
||||
@@ -376,7 +394,7 @@ syn match javaCommentStar contained "^\s*\*$"
|
||||
syn match javaLineComment "//.*" contains=@javaCommentSpecial2,javaTodo,javaCommentMarkupTag,javaSpaceError,@Spell
|
||||
syn match javaCommentMarkupTag contained "@\%(end\|highlight\|link\|replace\|start\)\>" nextgroup=javaCommentMarkupTagAttr,javaSpaceError skipwhite
|
||||
syn match javaCommentMarkupTagAttr contained "\<region\>" nextgroup=javaCommentMarkupTagAttr,javaSpaceError skipwhite
|
||||
exec 'syn region javaCommentMarkupTagAttr contained transparent matchgroup=javaHtmlArg start=/\<\%(re\%(gex\|gion\|placement\)\|substring\|t\%(arget\|ype\)\)\%(\s*=\)\@=/ matchgroup=javaHtmlString end=/\%(=\s*\)\@' . s:ff.Peek('80', '') . '<=\%("[^"]\+"\|' . "\x27[^\x27]\\+\x27" . '\|\%([.-]\|\k\)\+\)/ nextgroup=javaCommentMarkupTagAttr,javaSpaceError skipwhite oneline'
|
||||
exec 'syn region javaCommentMarkupTagAttr contained transparent matchgroup=javaHtmlArg start=/\<\%(re\%(gex\|gion\|placement\)\|substring\|t\%(arget\|ype\)\)\%(\s*=\)\@=/ matchgroup=javaHtmlString end=/\%(=\s*\)\@' . s:ff.PeekFor('javaCommentMarkupTagAttr', 80) . '<=\%("[^"]\+"\|' . "\x27[^\x27]\\+\x27" . '\|\%([.-]\|\k\)\+\)/ nextgroup=javaCommentMarkupTagAttr,javaSpaceError skipwhite oneline'
|
||||
syn match javaCommentError contained "/\*"me=e-1 display
|
||||
|
||||
if !exists("g:java_ignore_javadoc") && (s:with_html || s:with_markdown) && g:main_syntax != 'jsp'
|
||||
@@ -476,9 +494,9 @@ if !exists("g:java_ignore_javadoc") && (s:with_html || s:with_markdown) && g:mai
|
||||
if s:with_markdown
|
||||
syn region javaMarkdownComment start="///" skip="^\s*///.*$" end="^" keepend contains=javaMarkdownCommentTitle,javaMarkdownShortcutLink,@javaMarkdown,@javaDocTags,javaTodo,@Spell nextgroup=javaMarkdownCommentTitle fold
|
||||
syn match javaMarkdownCommentMask contained "^\s*///"
|
||||
exec 'syn region javaMarkdownCommentTitle contained matchgroup=javaMarkdownComment start="\%(///.*\r\=\n\s*\)\@' . s:ff.Peek('80', '') . '<!///" matchgroup=javaMarkdownCommentTitle end="\.$" end="\.[ \t\r]\@=" end="\n\%(\s*///\s*$\)\@=" end="\%(^\s*///\s*\)\@' . s:ff.Peek('80', '') . '<=@"me=s-2,he=s-1 contains=javaMarkdownShortcutLink,@javaMarkdown,javaMarkdownCommentMask,javaTodo,@Spell,@javaDocTags'
|
||||
exec 'syn region javaMarkdownCommentTitle contained matchgroup=javaMarkdownComment start="\%(///.*\r\=\n\s*\)\@' . s:ff.Peek('80', '') . '<!///\s*\%({@return\>\)\@=" matchgroup=javaMarkdownCommentTitle end="}\%(\s*\.*\)*" contains=javaMarkdownShortcutLink,@javaMarkdown,javaMarkdownCommentMask,javaTodo,@Spell,@javaDocTags,javaTitleSkipBlock'
|
||||
exec 'syn region javaMarkdownCommentTitle contained matchgroup=javaMarkdownComment start="\%(///.*\r\=\n\s*\)\@' . s:ff.Peek('80', '') . '<!///\s*\%({@summary\>\)\@=" matchgroup=javaMarkdownCommentTitle end="}" contains=javaMarkdownShortcutLink,@javaMarkdown,javaMarkdownCommentMask,javaTodo,@Spell,@javaDocTags,javaTitleSkipBlock'
|
||||
exec 'syn region javaMarkdownCommentTitle contained matchgroup=javaMarkdownComment start="\%(///.*\r\=\n\s*\)\@' . s:ff.PeekFor('javaMarkdownCommentTitle', 120) . '<!///" matchgroup=javaMarkdownCommentTitle end="\.$" end="\.[ \t\r]\@=" end="\n\%(\s*///\s*$\)\@=" end="\%(^\s*///\s*\)\@' . s:ff.PeekFor('javaMarkdownCommentTitle', 120) . '<=@"me=s-2,he=s-1 contains=javaMarkdownShortcutLink,@javaMarkdown,javaMarkdownCommentMask,javaTodo,@Spell,@javaDocTags'
|
||||
exec 'syn region javaMarkdownCommentTitle contained matchgroup=javaMarkdownComment start="\%(///.*\r\=\n\s*\)\@' . s:ff.PeekFor('javaMarkdownCommentTitle', 120) . '<!///\s*\%({@return\>\)\@=" matchgroup=javaMarkdownCommentTitle end="}\%(\s*\.*\)*" contains=javaMarkdownShortcutLink,@javaMarkdown,javaMarkdownCommentMask,javaTodo,@Spell,@javaDocTags,javaTitleSkipBlock'
|
||||
exec 'syn region javaMarkdownCommentTitle contained matchgroup=javaMarkdownComment start="\%(///.*\r\=\n\s*\)\@' . s:ff.PeekFor('javaMarkdownCommentTitle', 120) . '<!///\s*\%({@summary\>\)\@=" matchgroup=javaMarkdownCommentTitle end="}" contains=javaMarkdownShortcutLink,@javaMarkdown,javaMarkdownCommentMask,javaTodo,@Spell,@javaDocTags,javaTitleSkipBlock'
|
||||
|
||||
" REDEFINE THE MARKDOWN ITEMS ANCHORED WITH "^", OBSERVING THE
|
||||
" DEFINITION ORDER.
|
||||
@@ -530,7 +548,7 @@ if !exists("g:java_ignore_javadoc") && (s:with_html || s:with_markdown) && g:mai
|
||||
|
||||
if s:with_html
|
||||
syn region javaDocComment start="/\*\*" end="\*/" keepend contains=javaCommentTitle,@javaHtml,@javaDocTags,javaTodo,javaCommentError,javaSpaceError,@Spell fold
|
||||
exec 'syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*" matchgroup=javaCommentTitle end="\.$" end="\.[ \t\r]\@=" end="\%(^\s*\**\s*\)\@' . s:ff.Peek('80', '') . '<=@"me=s-2,he=s-1 end="\*/"me=s-1,he=s-1 contains=@javaHtml,javaCommentStar,javaTodo,javaCommentError,javaSpaceError,@Spell,@javaDocTags'
|
||||
exec 'syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*" matchgroup=javaCommentTitle end="\.$" end="\.[ \t\r]\@=" end="\%(^\s*\**\s*\)\@' . s:ff.PeekFor('javaCommentTitle', 120) . '<=@"me=s-2,he=s-1 end="\*/"me=s-1,he=s-1 contains=@javaHtml,javaCommentStar,javaTodo,javaCommentError,javaSpaceError,@Spell,@javaDocTags'
|
||||
syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*\s*\r\=\n\=\s*\**\s*\%({@return\>\)\@=" matchgroup=javaCommentTitle end="}\%(\s*\.*\)*" contains=@javaHtml,javaCommentStar,javaTodo,javaCommentError,javaSpaceError,@Spell,@javaDocTags,javaTitleSkipBlock
|
||||
syn region javaCommentTitle contained matchgroup=javaDocComment start="/\*\*\s*\r\=\n\=\s*\**\s*\%({@summary\>\)\@=" matchgroup=javaCommentTitle end="}" contains=@javaHtml,javaCommentStar,javaTodo,javaCommentError,javaSpaceError,@Spell,@javaDocTags,javaTitleSkipBlock
|
||||
hi def link javaDocComment Comment
|
||||
@@ -605,7 +623,7 @@ if !exists("g:java_ignore_javadoc") && (s:with_html || s:with_markdown) && g:mai
|
||||
syn region javaCodeSkipBlock contained transparent start="{\%(@code\>\)\@!" end="}" contains=javaCodeSkipBlock,javaDocCodeTag
|
||||
syn region javaDocCodeTag contained start="{@code\>" end="}" contains=javaDocCodeTag,javaCodeSkipBlock
|
||||
|
||||
exec 'syn region javaDocSnippetTagAttr contained transparent matchgroup=javaHtmlArg start=/\<\%(class\|file\|id\|lang\|region\)\%(\s*=\)\@=/ matchgroup=javaHtmlString end=/:$/ end=/\%(=\s*\)\@' . s:ff.Peek('80', '') . '<=\%("[^"]\+"\|' . "\x27[^\x27]\\+\x27" . '\|\%([.\\/-]\|\k\)\+\)/ nextgroup=javaDocSnippetTagAttr skipwhite skipnl'
|
||||
exec 'syn region javaDocSnippetTagAttr contained transparent matchgroup=javaHtmlArg start=/\<\%(class\|file\|id\|lang\|region\)\%(\s*=\)\@=/ matchgroup=javaHtmlString end=/:$/ end=/\%(=\s*\)\@' . s:ff.PeekFor('javaDocSnippetTagAttr', 80) . '<=\%("[^"]\+"\|' . "\x27[^\x27]\\+\x27" . '\|\%([.\\/-]\|\k\)\+\)/ nextgroup=javaDocSnippetTagAttr skipwhite skipnl'
|
||||
syn region javaSnippetSkipBlock contained transparent start="{\%(@snippet\>\)\@!" end="}" contains=javaSnippetSkipBlock,javaDocSnippetTag,javaCommentMarkupTag
|
||||
syn region javaDocSnippetTag contained start="{@snippet\>" end="}" contains=javaDocSnippetTag,javaSnippetSkipBlock,javaDocSnippetTagAttr,javaCommentMarkupTag
|
||||
|
||||
@@ -655,8 +673,8 @@ syn match javaTextBlockError +"""\s*"""+
|
||||
|
||||
if s:ff.IsAnyRequestedPreviewFeatureOf([430])
|
||||
syn region javaStrTemplEmbExp contained matchgroup=javaStrTempl start="\\{" end="}" contains=TOP
|
||||
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="+ end=+"+ contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,@Spell'
|
||||
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,javaTextBlockError,@Spell'
|
||||
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.PeekFor('javaStrTempl', 80) . '<="+ end=+"+ contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,@Spell'
|
||||
exec 'syn region javaStrTempl start=+\%(\.[[:space:]\n]*\)\@' . s:ff.PeekFor('javaStrTempl', 80) . '<="""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaStrTemplEmbExp,javaSpecialChar,javaSpecialError,javaTextBlockError,@Spell'
|
||||
hi def link javaStrTempl Macro
|
||||
endif
|
||||
|
||||
@@ -699,7 +717,7 @@ if exists("g:java_highlight_functions")
|
||||
" definitions take care of constructor declarations and enum
|
||||
" constants (with no support for @Foo(value = "bar")). Also,
|
||||
" reject inlined declarations with "[^{]" for signature.
|
||||
exec 'syn region javaFuncDef ' . s:ff.GroupArgs('transparent matchgroup=javaFuncDefStart', '') . ' start="' . s:ff.PeekTo('\%(', '') . '^' . s:indent . '\%(<\%(/\*.\{-}\*/\|[^(){}>]\|\n\)\+>\+\s\+\|\%(\%(@\%(\K\k*\.\)*\K\k*\>\)\s\+\)\+\)\=\%(\<\K\k*\>\.\)*\K\k*\>[^={]*\%(\<record\)\@' . s:ff.Peek('6', '') . '<!\s' . s:ff.PeekFrom('\)\@' . s:ff.Peek('80', '') . '<=', '') . '\K\k*\s*(" end=")" contains=@javaFuncParams'
|
||||
exec 'syn region javaFuncDef ' . s:ff.GroupArgs('transparent matchgroup=javaFuncDefStart', '') . ' start="' . s:ff.PeekTo('\%(', '') . '^' . s:indent . '\%(<\%(/\*.\{-}\*/\|[^(){}>]\|\n\)\+>\+\s\+\|\%(\%(@\%(\K\k*\.\)*\K\k*\>\)\s\+\)\+\)\=\%(\<\K\k*\>\.\)*\K\k*\>[^={]*\%(\<record\)\@' . s:ff.Peek('6', '') . '<!\s' . s:ff.PeekFrom('\)\@' . s:ff.PeekFor('javaFuncDef', 120) . '<=', '') . '\K\k*\s*(" end=")" contains=@javaFuncParams'
|
||||
" As long as package-private constructors cannot be matched with
|
||||
" javaFuncDef, do not look with javaConstructorSkipDeclarator for
|
||||
" them. (Approximate "javaTypeParamSection" if necessary.)
|
||||
@@ -710,7 +728,7 @@ if exists("g:java_highlight_functions")
|
||||
exec 'syn match javaEnumSkipConstant contained transparent /^' . s:indent . '\%(\%(\%(@\%(\K\k*\.\)*\K\k*\>\)\s\+\)*\K\k*\s*\%((.*)\)\=\s*[,;({]\s*\)\+/ contains=@javaEnumConstants'
|
||||
" (2) Define a syntax group for top level enumerations and tell
|
||||
" apart their constants from method declarations.
|
||||
exec 'syn region javaTopEnumDeclaration transparent start=/\%(^\%(\%(@\%(\K\k*\.\)*\K\k*\>\)\s\+\)*\%(p\%(ublic\|rotected\|rivate\)\s\+\)\=\%(strictfp\s\+\)\=\<enum\_s\+\)\@' . s:ff.Peek('80', '') . '<=\K\k*\%(\_s\+implements\_s.\+\)\=\_s*{/ end=/}/ contains=@javaTop,javaEnumSkipConstant'
|
||||
exec 'syn region javaTopEnumDeclaration transparent start=/\%(^\%(\%(@\%(\K\k*\.\)*\K\k*\>\)\s\+\)*\%(p\%(ublic\|rotected\|rivate\)\s\+\)\=\%(strictfp\s\+\)\=\<enum\_s\+\)\@' . s:ff.PeekFor('javaTopEnumDeclaration', 80) . '<=\K\k*\%(\_s\+implements\_s.\+\)\=\_s*{/ end=/}/ contains=@javaTop,javaEnumSkipConstant'
|
||||
" (3) Define a base variant of javaParenT without using @javaTop
|
||||
" in order to not include javaFuncDef.
|
||||
syn region javaParenE transparent matchgroup=javaParen start="(" end=")" contains=@javaEnumConstants,javaInParen
|
||||
@@ -722,7 +740,7 @@ if exists("g:java_highlight_functions")
|
||||
|
||||
" Match arbitrarily indented camelCasedName method declarations.
|
||||
" Match: [@ɐ] [abstract] [<α, β>] Τʬ[<γ>][[][]] μʭʭ(/* ... */);
|
||||
exec 'syn region javaFuncDef ' . s:ff.GroupArgs('transparent matchgroup=javaFuncDefStart', '') . ' start=/' . s:ff.Engine('\%#=2', '') . s:ff.PeekTo('\%(', '') . '^\s\+\%(\%(@\%(\K\k*\.\)*\K\k*\>\)\s\+\)*\%(p\%(ublic\|rotected\|rivate\)\s\+\)\=\%(\%(abstract\|default\)\s\+\|\%(\%(final\|\%(native\|strictfp\)\|s\%(tatic\|ynchronized\)\)\s\+\)*\)\=\%(<\%([^(){}]\|\n\)\+[[:space:]-]\@' . s:ff.Peek('1', '') . '<!>\s\+\)\=\%(void\|\%(b\%(oolean\|yte\)\|char\|short\|int\|long\|float\|double\|\%(\<\K\k*\>\.\)*\<' . s:ff.UpperCase('[$_[:upper:]]', '[^a-z0-9]') . '\k*\>\%(<\%([^(){}]\|\n\)\+[[:space:]-]\@' . s:ff.Peek('1', '') . '<!>\)\=\)\%(\[\]\)*\)\s\+' . s:ff.PeekFrom('\)\@' . s:ff.Peek('80', '') . '<=', '') . '\<' . s:ff.LowerCase('[$_[:lower:]]', '[^A-Z0-9]') . '\k*\>\s*(/ end=/)/ skip=/\/\*.\{-}\*\/\|\/\/.*$/ contains=@javaFuncParams'
|
||||
exec 'syn region javaFuncDef ' . s:ff.GroupArgs('transparent matchgroup=javaFuncDefStart', '') . ' start=/' . s:ff.Engine('\%#=2', '') . s:ff.PeekTo('\%(', '') . '^\s\+\%(\%(@\%(\K\k*\.\)*\K\k*\>\)\s\+\)*\%(p\%(ublic\|rotected\|rivate\)\s\+\)\=\%(\%(abstract\|default\)\s\+\|\%(\%(final\|\%(native\|strictfp\)\|s\%(tatic\|ynchronized\)\)\s\+\)*\)\=\%(<\%([^(){}]\|\n\)\+[[:space:]-]\@' . s:ff.Peek('1', '') . '<!>\s\+\)\=\%(void\|\%(b\%(oolean\|yte\)\|char\|short\|int\|long\|float\|double\|\%(\<\K\k*\>\.\)*\<' . s:ff.UpperCase('[$_[:upper:]]', '[^a-z0-9]') . '\k*\>\%(<\%([^(){}]\|\n\)\+[[:space:]-]\@' . s:ff.Peek('1', '') . '<!>\)\=\)\%(\[\]\)*\)\s\+' . s:ff.PeekFrom('\)\@' . s:ff.PeekFor('javaFuncDef', 120) . '<=', '') . '\<' . s:ff.LowerCase('[$_[:lower:]]', '[^A-Z0-9]') . '\k*\>\s*(/ end=/)/ skip=/\/\*.\{-}\*\/\|\/\/.*$/ contains=@javaFuncParams'
|
||||
endif
|
||||
endif
|
||||
|
||||
@@ -736,8 +754,8 @@ if exists("g:java_highlight_debug")
|
||||
" The highlight groups of java{StrTempl,Debug{,Paren,StrTempl}}\,
|
||||
" share one colour by default. Do not conflate unrelated parens.
|
||||
syn region javaDebugStrTemplEmbExp contained matchgroup=javaDebugStrTempl start="\\{" end="}" contains=javaComment,javaLineComment,javaDebug\%(Paren\)\@!.*
|
||||
exec 'syn region javaDebugStrTempl contained start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="+ end=+"+ contains=javaDebugStrTemplEmbExp,javaDebugSpecial'
|
||||
exec 'syn region javaDebugStrTempl contained start=+\%(\.[[:space:]\n]*\)\@' . s:ff.Peek('80', '') . '<="""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaDebugStrTemplEmbExp,javaDebugSpecial,javaDebugTextBlockError'
|
||||
exec 'syn region javaDebugStrTempl contained start=+\%(\.[[:space:]\n]*\)\@' . s:ff.PeekFor('javaDebugStrTempl', 80) . '<="+ end=+"+ contains=javaDebugStrTemplEmbExp,javaDebugSpecial'
|
||||
exec 'syn region javaDebugStrTempl contained start=+\%(\.[[:space:]\n]*\)\@' . s:ff.PeekFor('javaDebugStrTempl', 80) . '<="""[ \t\x0c\r]*$+hs=e+1 end=+"""+he=s-1 contains=javaDebugStrTemplEmbExp,javaDebugSpecial,javaDebugTextBlockError'
|
||||
hi def link javaDebugStrTempl Macro
|
||||
endif
|
||||
|
||||
@@ -786,7 +804,7 @@ syn region javaBlockOther transparent matchgroup=javaBlockOtherStart start="{" e
|
||||
|
||||
" Try not to fold top-level-type bodies under assumption that there is
|
||||
" but one such body.
|
||||
exec 'syn region javaBlock transparent matchgroup=javaBlockStart start="\%(^\|^\S[^:]\+\)\@' . s:ff.Peek('120', '') . '<!{" end="}" fold'
|
||||
exec 'syn region javaBlock transparent matchgroup=javaBlockStart start="\%(^\|^\S[^:]\+\)\@' . s:ff.PeekFor('javaBlock', 120) . '<!{" end="}" fold'
|
||||
|
||||
" See "D.2.1 Anonymous Classes" at
|
||||
" https://web.archive.org/web/20010821025330/java.sun.com/docs/books/jls/first_edition/html/1.1Update.html#12959.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
" Vim syntax file
|
||||
" Language: Python
|
||||
" Maintainer: Zvezdan Petkovic <zpetkovic@acm.org>
|
||||
" Last Change: 2025 Jul 17
|
||||
" Last Change: 2025 Aug 18
|
||||
" Credits: Neil Schemenauer <nas@python.ca>
|
||||
" Dmitry Vasiliev
|
||||
" Rob B
|
||||
@@ -97,7 +97,8 @@ endif
|
||||
syn keyword pythonStatement False None True
|
||||
syn keyword pythonStatement as assert break continue del global
|
||||
syn keyword pythonStatement lambda nonlocal pass return with yield
|
||||
syn keyword pythonStatement class def nextgroup=pythonFunction skipwhite
|
||||
syn keyword pythonStatement class nextgroup=pythonClass skipwhite
|
||||
syn keyword pythonStatement def nextgroup=pythonFunction skipwhite
|
||||
syn keyword pythonConditional elif else if
|
||||
syn keyword pythonRepeat for while
|
||||
syn keyword pythonOperator and in is not or
|
||||
@@ -112,6 +113,10 @@ syn keyword pythonAsync async await
|
||||
syn match pythonConditional "^\s*\zscase\%(\s\+.*:.*$\)\@="
|
||||
syn match pythonConditional "^\s*\zsmatch\%(\s\+.*:\s*\%(#.*\)\=$\)\@="
|
||||
|
||||
" These names are special by convention. While they aren't real keywords,
|
||||
" giving them distinct highlighting provides a nice visual cue.
|
||||
syn keyword pythonClassVar self cls
|
||||
|
||||
" Decorators
|
||||
" A dot must be allowed because of @MyClass.myfunc decorators.
|
||||
syn match pythonDecorator "@" display contained
|
||||
@@ -123,20 +128,21 @@ syn match pythonDecoratorName "@\s*\h\%(\w\|\.\)*" display contains=pythonDeco
|
||||
" Single line multiplication.
|
||||
syn match pythonMatrixMultiply
|
||||
\ "\%(\w\|[])]\)\s*@"
|
||||
\ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonFunction,pythonDoctestValue
|
||||
\ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonClass,pythonFunction,pythonDoctestValue
|
||||
\ transparent
|
||||
" Multiplication continued on the next line after backslash.
|
||||
syn match pythonMatrixMultiply
|
||||
\ "[^\\]\\\s*\n\%(\s*\.\.\.\s\)\=\s\+@"
|
||||
\ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonFunction,pythonDoctestValue
|
||||
\ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonClass,pythonFunction,pythonDoctestValue
|
||||
\ transparent
|
||||
" Multiplication in a parenthesized expression over multiple lines with @ at
|
||||
" the start of each continued line; very similar to decorators and complex.
|
||||
syn match pythonMatrixMultiply
|
||||
\ "^\s*\%(\%(>>>\|\.\.\.\)\s\+\)\=\zs\%(\h\|\%(\h\|[[(]\).\{-}\%(\w\|[])]\)\)\s*\n\%(\s*\.\.\.\s\)\=\s\+@\%(.\{-}\n\%(\s*\.\.\.\s\)\=\s\+@\)*"
|
||||
\ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonFunction,pythonDoctestValue
|
||||
\ contains=ALLBUT,pythonDecoratorName,pythonDecorator,pythonClass,pythonFunction,pythonDoctestValue
|
||||
\ transparent
|
||||
|
||||
syn match pythonClass "\h\w*" display contained
|
||||
syn match pythonFunction "\h\w*" display contained
|
||||
|
||||
syn match pythonComment "#.*$" contains=pythonTodo,@Spell
|
||||
@@ -163,25 +169,25 @@ syn region pythonFString
|
||||
\ start=+\cF\z(['"]\)+
|
||||
\ end="\z1"
|
||||
\ skip="\\\\\|\\\z1"
|
||||
\ contains=pythonEscape,pythonUnicodeEscape,@Spell
|
||||
\ contains=pythonFStringField,pythonFStringSkip,pythonEscape,pythonUnicodeEscape,@Spell
|
||||
syn region pythonFString
|
||||
\ matchgroup=pythonTripleQuotes
|
||||
\ start=+\cF\z('''\|"""\)+
|
||||
\ end="\z1"
|
||||
\ keepend
|
||||
\ contains=pythonEscape,pythonUnicodeEscape,pythonSpaceError,pythonDoctest,@Spell
|
||||
\ contains=pythonFStringField,pythonFStringSkip,pythonEscape,pythonUnicodeEscape,pythonSpaceError,pythonDoctest,@Spell
|
||||
syn region pythonRawFString
|
||||
\ matchgroup=pythonQuotes
|
||||
\ start=+\c\%(FR\|RF\)\z(['"]\)+
|
||||
\ end="\z1"
|
||||
\ skip="\\\\\|\\\z1"
|
||||
\ contains=@Spell
|
||||
\ contains=pythonFStringField,pythonFStringSkip,@Spell
|
||||
syn region pythonRawFString
|
||||
\ matchgroup=pythonTripleQuotes
|
||||
\ start=+\c\%(FR\|RF\)\z('''\|"""\)+
|
||||
\ end="\z1"
|
||||
\ keepend
|
||||
\ contains=pythonSpaceError,pythonDoctest,@Spell
|
||||
\ contains=pythonFStringField,pythonFStringSkip,pythonSpaceError,pythonDoctest,@Spell
|
||||
|
||||
" Bytes
|
||||
syn region pythonBytes
|
||||
@@ -207,6 +213,24 @@ syn region pythonRawBytes
|
||||
\ end="\z1"
|
||||
\ keepend
|
||||
|
||||
" F-string replacement fields
|
||||
"
|
||||
" - Matched parentheses, brackets and braces are ignored
|
||||
" - A bare # is ignored to end of line
|
||||
" - A bare = (surrounded by optional whitespace) enables debugging
|
||||
" - A bare ! prefixes a conversion field
|
||||
" - A bare : begins a format specification
|
||||
" - Matched braces inside a format specification are ignored
|
||||
"
|
||||
syn region pythonFStringField
|
||||
\ matchgroup=pythonFStringDelimiter
|
||||
\ start=/{/
|
||||
\ skip=/([^)]*)\|\[[^]]*]\|{[^}]*}\|#.*$/
|
||||
\ end=/\%(\s*=\s*\)\=\%(!\a\)\=\%(:\%({[^}]*}\|[^}]*\)\+\)\=}/
|
||||
\ contained
|
||||
" Doubled braces and Unicode escapes are not replacement fields
|
||||
syn match pythonFStringSkip /{{\|\\N{/ transparent contained contains=NONE
|
||||
|
||||
syn match pythonEscape +\\[abfnrtv'"\\]+ contained
|
||||
syn match pythonEscape "\\\o\{1,3}" contained
|
||||
syn match pythonEscape "\\x\x\{2}" contained
|
||||
@@ -279,7 +303,7 @@ if !exists("python_no_builtin_highlight")
|
||||
syn keyword pythonBuiltin tuple type vars zip __import__
|
||||
" avoid highlighting attributes as builtins
|
||||
syn match pythonAttribute /\.\h\w*/hs=s+1
|
||||
\ contains=ALLBUT,pythonBuiltin,pythonFunction,pythonAsync
|
||||
\ contains=ALLBUT,pythonBuiltin,pythonClass,pythonFunction,pythonAsync
|
||||
\ transparent
|
||||
endif
|
||||
|
||||
@@ -336,7 +360,7 @@ if !exists("python_no_doctest_highlight")
|
||||
if !exists("python_no_doctest_code_highlight")
|
||||
syn region pythonDoctest
|
||||
\ start="^\s*>>>\s" end="^\s*$"
|
||||
\ contained contains=ALLBUT,pythonDoctest,pythonFunction,@Spell
|
||||
\ contained contains=ALLBUT,pythonDoctest,pythonClass,pythonFunction,@Spell
|
||||
syn region pythonDoctestValue
|
||||
\ start=+^\s*\%(>>>\s\|\.\.\.\s\|"""\|'''\)\@!\S\++ end="$"
|
||||
\ contained
|
||||
@@ -347,8 +371,8 @@ if !exists("python_no_doctest_highlight")
|
||||
endif
|
||||
endif
|
||||
|
||||
" Sync at the beginning of class, function, or method definition.
|
||||
syn sync match pythonSync grouphere NONE "^\%(def\|class\)\s\+\h\w*\s*[(:]"
|
||||
" Sync at the beginning of (async) function or class definitions.
|
||||
syn sync match pythonSync grouphere NONE "^\%(def\|class\|async\s\+def\)\s\+\h\w*\s*[(:]"
|
||||
|
||||
" The default highlight links. Can be overridden later.
|
||||
hi def link pythonStatement Statement
|
||||
@@ -358,8 +382,10 @@ hi def link pythonOperator Operator
|
||||
hi def link pythonException Exception
|
||||
hi def link pythonInclude Include
|
||||
hi def link pythonAsync Statement
|
||||
hi def link pythonClassVar Identifier
|
||||
hi def link pythonDecorator Define
|
||||
hi def link pythonDecoratorName Function
|
||||
hi def link pythonClass Structure
|
||||
hi def link pythonFunction Function
|
||||
hi def link pythonComment Comment
|
||||
hi def link pythonTodo Todo
|
||||
@@ -373,6 +399,7 @@ hi def link pythonQuotes String
|
||||
hi def link pythonTripleQuotes pythonQuotes
|
||||
hi def link pythonEscape Special
|
||||
hi def link pythonUnicodeEscape pythonEscape
|
||||
hi def link pythonFStringDelimiter Special
|
||||
if !exists("python_no_number_highlight")
|
||||
hi def link pythonNumber Number
|
||||
endif
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
" Previous Maintainer: Will Langstroth <will@langstroth.com>
|
||||
" URL: https://github.com/benknoble/vim-racket
|
||||
" Description: Contains all of the keywords in #lang racket
|
||||
" Last Change: 2024 Apr 14
|
||||
" Last Change: 2025 Aug 09
|
||||
|
||||
" Initializing:
|
||||
if exists("b:current_syntax")
|
||||
@@ -534,21 +534,21 @@ syntax match racketContainedNumberError "\<#[ei]#[ei]"
|
||||
syntax match racketContainedNumberError "\<#[xdob]#[xdob]"
|
||||
|
||||
" start with the simpler sorts
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdleft][-+]\?\d\+#*\)\?\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\d\+/\d\+\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\d\+/\d\+[-+]\d\+\(/\d\+\)\?i\>" contains=racketContainedNumberError
|
||||
|
||||
" different possible ways of expressing complex values
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?[-+]\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f][-+]\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?[-+]\(inf\|nan\)\.[0f]i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?@[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f]@[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?@[-+]\(inf\|nan\)\.[0f]\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdleft][-+]\?\d\+#*\)\?i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdleft][-+]\?\d\+#*\)\?[-+]\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f][-+]\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdleft][-+]\?\d\+#*\)\?i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdleft][-+]\?\d\+#*\)\?[-+]\(inf\|nan\)\.[0f]i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdleft][-+]\?\d\+#*\)\?@[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdlef][-+]\?\d\+#*\)\?\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f]@[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdleft][-+]\?\d\+#*\)\?\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[dobie]\)\{0,2}[-+]\?\(\d\+\|\d\+#*\.\|\d*\.\d\+\)#*\(/\d\+#*\)\?\([sdleft][-+]\?\d\+#*\)\?@[-+]\(inf\|nan\)\.[0f]\>" contains=racketContainedNumberError
|
||||
|
||||
" hex versions of the above (separate because of the different possible exponent markers)
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?\>"
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([slt][-+]\?\x\+#*\)\?\>"
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\x\+/\x\+\>"
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\x\+/\x\+[-+]\x\+\(/\x\+\)\?i\>"
|
||||
|
||||
@@ -561,9 +561,9 @@ syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\(inf\|nan\)\.[0f]@[
|
||||
syntax match racketNumber "\<\(#x\|#[ei]#x\|#x#[ei]\)[-+]\?\(\x\+\|\x\+#*\.\|\x*\.\x\+\)#*\(/\x\+#*\)\?\([sl][-+]\?\x\+#*\)\?@[-+]\(inf\|nan\)\.[0f]\>"
|
||||
|
||||
" these work for any radix
|
||||
syntax match racketNumber "\<\(#[xdobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f]i\?\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[xdobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f][-+]\(inf\|nan\)\.[0f]i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[xdobie]\)\{0,2}[-+]\(inf\|nan\)\.[0f]@[-+]\(inf\|nan\)\.[0f]\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[xdobie]\)\{0,2}[-+]\(inf\|nan\)\.[0ft]i\?\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[xdobie]\)\{0,2}[-+]\(inf\|nan\)\.[0ft][-+]\(inf\|nan\)\.[0f]i\>" contains=racketContainedNumberError
|
||||
syntax match racketNumber "\<\(#[xdobie]\)\{0,2}[-+]\(inf\|nan\)\.[0ft]@[-+]\(inf\|nan\)\.[0f]\>" contains=racketContainedNumberError
|
||||
|
||||
syntax keyword racketBoolean #t #f #true #false #T #F
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
" Maintainer: Max Coplan <mchcopl@gmail.com>
|
||||
" Translations by Jakson Alves de Aquino.
|
||||
" Last Change: 2022-12-08
|
||||
" 2025-08-16 by Vim project, update zh_CN translations, #18011
|
||||
" Copied from: runtime/syntax/diff.vim
|
||||
|
||||
" Quit when a (custom) syntax file was already loaded
|
||||
@@ -312,9 +313,9 @@ syn match hgDiffCommon "^\%(SL\|HG\): Thư mục con chung: .* và .*"
|
||||
|
||||
" zh_CN
|
||||
syn match hgDiffOnly "^\%(SL\|HG\): 只在 .* 存在:.*"
|
||||
syn match hgDiffIdentical "^\%(SL\|HG\): 檔案 .* 和 .* 相同$"
|
||||
syn match hgDiffIdentical "^\%(SL\|HG\): 文件 .* 和 .* 相同$"
|
||||
syn match hgDiffDiffer "^\%(SL\|HG\): 文件 .* 和 .* 不同$"
|
||||
syn match hgDiffBDiffer "^\%(SL\|HG\): 文件 .* 和 .* 不同$"
|
||||
syn match hgDiffBDiffer "^\%(SL\|HG\): 二进制文件 .* 和 .* 不同$"
|
||||
syn match hgDiffIsA "^\%(SL\|HG\): 文件 .* 是.*而文件 .* 是.*"
|
||||
syn match hgDiffNoEOL "^\%(SL\|HG\): \\ 文件尾没有 newline 字符"
|
||||
syn match hgDiffCommon "^\%(SL\|HG\): .* 和 .* 有共同的子目录$"
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
" Language: TypeScript and TypeScriptReact
|
||||
" Maintainer: Herrington Darkholme
|
||||
" Last Change: 2024 May 24
|
||||
" 2025 Aug 05 support for new TypeScript syntaxes
|
||||
" Based On: Herrington Darkholme's yats.vim
|
||||
" Changes: See https://github.com/HerringtonDarkholme/yats.vim
|
||||
" Credits: See yats.vim on github
|
||||
@@ -11,7 +12,6 @@ if &cpo =~ 'C'
|
||||
set cpo&vim
|
||||
endif
|
||||
|
||||
|
||||
" NOTE: this results in accurate highlighting, but can be slow.
|
||||
syntax sync fromstart
|
||||
|
||||
@@ -240,10 +240,22 @@ syntax cluster typescriptSymbols contains=typescriptBinaryOp,types
|
||||
"Import
|
||||
syntax keyword typescriptImport from as
|
||||
syntax keyword typescriptImport import
|
||||
\ nextgroup=typescriptImportType,typescriptTypeBlock,typescriptDefaultImportName
|
||||
\ nextgroup=typescriptImportType,typescriptImportBlock,typescriptDefaultImportName,typescriptImportDefer
|
||||
\ skipwhite
|
||||
syntax keyword typescriptImportType type
|
||||
\ contained
|
||||
syntax match typescriptDefaultImportName /\v\h\k*( |,)/
|
||||
\ contained
|
||||
\ nextgroup=typescriptImportBlock
|
||||
\ skipwhite skipempty
|
||||
syntax match typescriptImportDefer /\<defer\%(\s\+\*\)\@=/
|
||||
\ contained
|
||||
syntax region typescriptImportBlock
|
||||
\ matchgroup=typescriptBraces
|
||||
\ start=/{/ end=/}/
|
||||
\ contained
|
||||
\ contains=typescriptIdentifierName,typescriptImportType,typescriptString
|
||||
\ fold
|
||||
syntax keyword typescriptExport export
|
||||
\ nextgroup=typescriptExportType
|
||||
\ skipwhite
|
||||
@@ -329,21 +341,11 @@ syntax cluster typescriptAmbients contains=
|
||||
\ typescriptModule
|
||||
|
||||
syntax keyword typescriptIdentifier arguments nextgroup=@afterIdentifier
|
||||
syntax match typescriptDefaultImportName /\v\h\k*( |,)/
|
||||
\ contained
|
||||
\ nextgroup=typescriptTypeBlock
|
||||
\ skipwhite skipempty
|
||||
|
||||
syntax region typescriptTypeBlock
|
||||
\ matchgroup=typescriptBraces
|
||||
\ start=/{/ end=/}/
|
||||
\ contained
|
||||
\ contains=typescriptIdentifierName,typescriptImportType
|
||||
\ fold
|
||||
|
||||
"Program Keywords
|
||||
syntax keyword typescriptNull null undefined nextgroup=@typescriptSymbols skipwhite skipempty
|
||||
syntax keyword typescriptIdentifier this super prototype nextgroup=@afterIdentifier
|
||||
syntax keyword typescriptIdentifier this super nextgroup=@afterIdentifier
|
||||
syntax keyword typescriptPrototype prototype nextgroup=@afterIdentifier
|
||||
syntax keyword typescriptStatementKeyword return skipwhite contained nextgroup=@typescriptValue containedin=typescriptBlock
|
||||
|
||||
"Syntax coloring for Node.js shebang line
|
||||
@@ -1988,100 +1990,101 @@ syntax match typescriptDecorator /@\([_$a-zA-Z][_$a-zA-Z0-9]*\.\)*[_$a-zA-Z][_$a
|
||||
\ contains=@_semantic,typescriptDotNotation
|
||||
|
||||
|
||||
hi def link typescriptReserved Error
|
||||
hi def link typescriptReserved Error
|
||||
|
||||
hi def link typescriptEndColons Exception
|
||||
hi def link typescriptSymbols Normal
|
||||
hi def link typescriptBraces Function
|
||||
hi def link typescriptParens Normal
|
||||
hi def link typescriptComment Comment
|
||||
hi def link typescriptLineComment Comment
|
||||
hi def link typescriptDocComment Comment
|
||||
hi def link typescriptCommentTodo Todo
|
||||
hi def link typescriptMagicComment SpecialComment
|
||||
hi def link typescriptRef Include
|
||||
hi def link typescriptDocNotation SpecialComment
|
||||
hi def link typescriptDocTags SpecialComment
|
||||
hi def link typescriptDocNGParam typescriptDocParam
|
||||
hi def link typescriptDocParam Function
|
||||
hi def link typescriptDocNumParam Function
|
||||
hi def link typescriptDocEventRef Function
|
||||
hi def link typescriptDocNamedParamType Type
|
||||
hi def link typescriptDocParamName Type
|
||||
hi def link typescriptDocParamType Type
|
||||
hi def link typescriptString String
|
||||
hi def link typescriptSpecial Special
|
||||
hi def link typescriptStringLiteralType String
|
||||
hi def link typescriptTemplateLiteralType String
|
||||
hi def link typescriptStringMember String
|
||||
hi def link typescriptTemplate String
|
||||
hi def link typescriptEventString String
|
||||
hi def link typescriptDestructureString String
|
||||
hi def link typescriptASCII Special
|
||||
hi def link typescriptTemplateSB Label
|
||||
hi def link typescriptRegexpString String
|
||||
hi def link typescriptGlobal Constant
|
||||
hi def link typescriptTestGlobal Function
|
||||
hi def link typescriptPrototype Type
|
||||
hi def link typescriptConditional Conditional
|
||||
hi def link typescriptConditionalElse Conditional
|
||||
hi def link typescriptCase Conditional
|
||||
hi def link typescriptDefault typescriptCase
|
||||
hi def link typescriptBranch Conditional
|
||||
hi def link typescriptIdentifier Structure
|
||||
hi def link typescriptVariable Identifier
|
||||
hi def link typescriptUsing Identifier
|
||||
hi def link typescriptDestructureVariable PreProc
|
||||
hi def link typescriptEnumKeyword Identifier
|
||||
hi def link typescriptRepeat Repeat
|
||||
hi def link typescriptForOperator Repeat
|
||||
hi def link typescriptStatementKeyword Statement
|
||||
hi def link typescriptMessage Keyword
|
||||
hi def link typescriptOperator Identifier
|
||||
hi def link typescriptKeywordOp Identifier
|
||||
hi def link typescriptCastKeyword Special
|
||||
hi def link typescriptType Type
|
||||
hi def link typescriptNull Boolean
|
||||
hi def link typescriptNumber Number
|
||||
hi def link typescriptBoolean Boolean
|
||||
hi def link typescriptObjectLabel typescriptLabel
|
||||
hi def link typescriptDestructureLabel Function
|
||||
hi def link typescriptLabel Label
|
||||
hi def link typescriptTupleLable Label
|
||||
hi def link typescriptStringProperty String
|
||||
hi def link typescriptImport Special
|
||||
hi def link typescriptImportType Special
|
||||
hi def link typescriptAmbientDeclaration Special
|
||||
hi def link typescriptExport Special
|
||||
hi def link typescriptExportType Special
|
||||
hi def link typescriptModule Special
|
||||
hi def link typescriptTry Special
|
||||
hi def link typescriptExceptions Special
|
||||
hi def link typescriptEndColons Exception
|
||||
hi def link typescriptSymbols Normal
|
||||
hi def link typescriptBraces Function
|
||||
hi def link typescriptParens Normal
|
||||
hi def link typescriptComment Comment
|
||||
hi def link typescriptLineComment Comment
|
||||
hi def link typescriptDocComment Comment
|
||||
hi def link typescriptCommentTodo Todo
|
||||
hi def link typescriptMagicComment SpecialComment
|
||||
hi def link typescriptRef Include
|
||||
hi def link typescriptDocNotation SpecialComment
|
||||
hi def link typescriptDocTags SpecialComment
|
||||
hi def link typescriptDocNGParam typescriptDocParam
|
||||
hi def link typescriptDocParam Function
|
||||
hi def link typescriptDocNumParam Function
|
||||
hi def link typescriptDocEventRef Function
|
||||
hi def link typescriptDocNamedParamType Type
|
||||
hi def link typescriptDocParamName Type
|
||||
hi def link typescriptDocParamType Type
|
||||
hi def link typescriptString String
|
||||
hi def link typescriptSpecial Special
|
||||
hi def link typescriptStringLiteralType String
|
||||
hi def link typescriptTemplateLiteralType String
|
||||
hi def link typescriptStringMember String
|
||||
hi def link typescriptTemplate String
|
||||
hi def link typescriptEventString String
|
||||
hi def link typescriptDestructureString String
|
||||
hi def link typescriptASCII Special
|
||||
hi def link typescriptTemplateSB Label
|
||||
hi def link typescriptRegexpString String
|
||||
hi def link typescriptGlobal Constant
|
||||
hi def link typescriptTestGlobal Function
|
||||
hi def link typescriptPrototype Type
|
||||
hi def link typescriptConditional Conditional
|
||||
hi def link typescriptConditionalElse Conditional
|
||||
hi def link typescriptCase Conditional
|
||||
hi def link typescriptDefault typescriptCase
|
||||
hi def link typescriptBranch Conditional
|
||||
hi def link typescriptIdentifier Structure
|
||||
hi def link typescriptVariable Keyword
|
||||
hi def link typescriptUsing Identifier
|
||||
hi def link typescriptDestructureVariable PreProc
|
||||
hi def link typescriptEnumKeyword Identifier
|
||||
hi def link typescriptRepeat Repeat
|
||||
hi def link typescriptForOperator Repeat
|
||||
hi def link typescriptStatementKeyword Statement
|
||||
hi def link typescriptMessage Keyword
|
||||
hi def link typescriptOperator Operator
|
||||
hi def link typescriptKeywordOp Operator
|
||||
hi def link typescriptCastKeyword Special
|
||||
hi def link typescriptType Type
|
||||
hi def link typescriptNull Boolean
|
||||
hi def link typescriptNumber Number
|
||||
hi def link typescriptBoolean Boolean
|
||||
hi def link typescriptObjectLabel typescriptLabel
|
||||
hi def link typescriptDestructureLabel Function
|
||||
hi def link typescriptLabel Label
|
||||
hi def link typescriptTupleLable Label
|
||||
hi def link typescriptStringProperty String
|
||||
hi def link typescriptImport Keyword
|
||||
hi def link typescriptImportType Keyword
|
||||
hi def link typescriptImportDefer Keyword
|
||||
hi def link typescriptAmbientDeclaration Keyword
|
||||
hi def link typescriptExport Keyword
|
||||
hi def link typescriptExportType Keyword
|
||||
hi def link typescriptModule Keyword
|
||||
hi def link typescriptTry Exception
|
||||
hi def link typescriptExceptions Exception
|
||||
|
||||
hi def link typescriptMember Function
|
||||
hi def link typescriptMethodAccessor Operator
|
||||
hi def link typescriptMember Function
|
||||
hi def link typescriptMethodAccessor Operator
|
||||
|
||||
hi def link typescriptAsyncFuncKeyword Keyword
|
||||
hi def link typescriptObjectAsyncKeyword Keyword
|
||||
hi def link typescriptAsyncFor Keyword
|
||||
hi def link typescriptFuncKeyword Keyword
|
||||
hi def link typescriptAsyncFunc Keyword
|
||||
hi def link typescriptArrowFunc Type
|
||||
hi def link typescriptFuncName Function
|
||||
hi def link typescriptFuncCallArg PreProc
|
||||
hi def link typescriptArrowFuncArg PreProc
|
||||
hi def link typescriptFuncComma Operator
|
||||
hi def link typescriptAsyncFuncKeyword Keyword
|
||||
hi def link typescriptObjectAsyncKeyword Keyword
|
||||
hi def link typescriptAsyncFor Keyword
|
||||
hi def link typescriptFuncKeyword Keyword
|
||||
hi def link typescriptAsyncFunc Keyword
|
||||
hi def link typescriptArrowFunc Type
|
||||
hi def link typescriptFuncName Function
|
||||
hi def link typescriptFuncCallArg PreProc
|
||||
hi def link typescriptArrowFuncArg PreProc
|
||||
hi def link typescriptFuncComma Operator
|
||||
|
||||
hi def link typescriptClassKeyword Keyword
|
||||
hi def link typescriptClassExtends Keyword
|
||||
hi def link typescriptAbstract Special
|
||||
hi def link typescriptClassStatic StorageClass
|
||||
hi def link typescriptReadonlyModifier Keyword
|
||||
hi def link typescriptInterfaceKeyword Keyword
|
||||
hi def link typescriptInterfaceExtends Keyword
|
||||
hi def link typescriptInterfaceName Function
|
||||
hi def link typescriptClassKeyword Keyword
|
||||
hi def link typescriptClassExtends Keyword
|
||||
hi def link typescriptAbstract Special
|
||||
hi def link typescriptClassStatic StorageClass
|
||||
hi def link typescriptReadonlyModifier StorageClass
|
||||
hi def link typescriptInterfaceKeyword Keyword
|
||||
hi def link typescriptInterfaceExtends Keyword
|
||||
hi def link typescriptInterfaceName Function
|
||||
|
||||
hi def link shellbang Comment
|
||||
hi def link shellbang Comment
|
||||
|
||||
hi def link typescriptTypeParameter Identifier
|
||||
hi def link typescriptConstraint Keyword
|
||||
@@ -2107,7 +2110,7 @@ hi def link typescriptConstructor Keyword
|
||||
hi def link typescriptDecorator Special
|
||||
hi def link typescriptAssertType Keyword
|
||||
|
||||
hi link typeScript NONE
|
||||
hi def link typeScript NONE
|
||||
|
||||
if exists('s:cpo_save')
|
||||
let &cpo = s:cpo_save
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
" Vim syntax file
|
||||
" Language: SystemVerilog
|
||||
" Maintainer: kocha <kocha.lsifrontend@gmail.com>
|
||||
" Last Change: 12-Aug-2013.
|
||||
" Last Change: 12-Aug-2013.
|
||||
" 2025 Aug 20 by Vim project: Add IEE1800-2023 block #18056
|
||||
|
||||
" quit when a syntax file was already loaded
|
||||
if exists("b:current_syntax")
|
||||
@@ -68,6 +69,9 @@ syn keyword systemverilogConditional unique0
|
||||
syn keyword systemverilogStatement implements
|
||||
syn keyword systemverilogStatement interconnect soft nettype
|
||||
|
||||
" IEEE1800-2023 add
|
||||
syn region systemverilogBlockString start=+"""+ end=+"""+ contains=verilogEscape,@Spell
|
||||
|
||||
" Define the default highlighting.
|
||||
|
||||
" The default highlighting.
|
||||
@@ -78,6 +82,7 @@ hi def link systemverilogRepeat Repeat
|
||||
hi def link systemverilogLabel Label
|
||||
hi def link systemverilogGlobal Define
|
||||
hi def link systemverilogNumber Number
|
||||
hi def link systemverilogBlockString String
|
||||
|
||||
|
||||
let b:current_syntax = "systemverilog"
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
| +0#0000e05#a8a8a8255@1>/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |s|e|t|l|o|c|a|l| |f|o|l|d|e|n|a|b|l|e| |f|o|l|d|c|o|l|u|m|n|=|2| |f|o|l|d|m|e|t|h|o|d|=|s|y|n|t|a|x| +0#0000000&@4
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|j|a|v|a|_|f|o|l|d|t|e|x|t|_|s|h|o|w|_|f|i|r|s|t|_|o|r|_|s|e|c|o|n|d|_|l|i|n|e| |=| |1| +0#0000000&@5
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|j|a|v|a|_|l|o@1|k|b|e|h|i|n|d|_|b|y|t|e|_|c|o|u|n|t|s| |=| |{|'|j|a|v|a|B|l|o|c|k|'|:| |-|1|}| +0#0000000&@1
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |j|a|v|a|B|l|o|c|k|O|t|h|e|r|S|t|a|r|t| |S|t|r|u|c|t|u|r|e| +0#0000000&@10
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |j|a|v|a|B|l|o|c|k|S|t|a|r|t| |T|o|d|o| +0#0000000&@20
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
|++0#0000e05#a8a8a8255| |+|-@1| |1|9| |l|i|n|e|s|:| |@|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|{|-@39
|
||||
| @1|c+0#00e0003#ffffff0|l|a|s@1| +0#0000000&|F|o|l|d|i|n|g|T|e|s|t|s| |{+0#00e0003&| +0#0000000&@52
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@3|i+0#00e0003&|n|t|e|r|f|a|c|e| +0#0000000&|F|o|l|d|e|n|a|b|l|e| @48
|
||||
|
||||
@@ -15,6 +15,6 @@
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |{| +0#0000000&@68
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0@1| |}| +0#0000000&@68
|
||||
| +0#0000e05#a8a8a8255@1| +0#0000000#ffffff0@72
|
||||
|++0#0000e05#a8a8a8255| |+|-@1| @1|2| |l|i|n|e|s|:| |1|2@1|||.@54
|
||||
|~+0#4040ff13#ffffff0| @73
|
||||
| +0#0000000&@56|9|7|,|2|-|1| @7|B|o|t|
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0|*| |1|2@1|||.@65
|
||||
| +0&#a8a8a8255@1|.+0&#ffffff0@23|*|/| +0#0000000&|i+0#00e0003&|n|t|e|r|f|a|c|e| +0#0000000&|F|o|l|d|e|n|a|b|l|e| |{+0#00e0003&| +0#0000000&@23
|
||||
@57|9|7|,|2|-|1| @7|9|8|%|
|
||||
|
||||
20
runtime/syntax/testdir/dumps/java_enfoldment_03.dump
Normal file
20
runtime/syntax/testdir/dumps/java_enfoldment_03.dump
Normal file
@@ -0,0 +1,20 @@
|
||||
| +0#0000e05#a8a8a8255@1|/+0&#ffffff0|*| |1|2@1|||.@65
|
||||
| +0&#a8a8a8255@1|.+0&#ffffff0@23|*|/| +0#0000000&|i+0#00e0003&|n|t|e|r|f|a|c|e| +0#0000000&|F|o|l|d|e|n|a|b|l|e| |{+0#00e0003&| +0#0000000&@23
|
||||
| +0#0000e05#a8a8a8255@1>}+0#00e0003#ffffff0| +0#0000000&@71
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
| +0#0000000&@56|1|2@1|,|1| @8|B|o|t|
|
||||
@@ -1,9 +1,9 @@
|
||||
>/+0#0000e05#ffffff0@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |s|e|t|l|o|c|a|l| |n|o|f|o|l|d|e|n|a|b|l|e| +0#0000000&@35
|
||||
|/+0#0000e05&@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|j|a|v|a|_|m|a|r|k|_|b|r|a|c|e|s|_|i|n|_|p|a|r|e|n|s|_|a|s|_|e|r@1|o|r|s| |=| |1| +0#0000000&@10
|
||||
|/+0#0000e05&@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|j|a|v|a|_|l|o@1|k|b|e|h|i|n|d|_|b|y|t|e|_|c|o|u|n|t|s| |=| |{|'|j|a|v|a|B|l|o|c|k|'|:| |-|1|}| +0#0000000&@3
|
||||
|/+0#0000e05&@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |j|a|v|a|B|l|o|c|k|O|t|h|e|r|S|t|a|r|t| |S|t|r|u|c|t|u|r|e| +0#0000000&@12
|
||||
|/+0#0000e05&@1| |V|I|M|_|T|E|S|T|_|S|E|T|U|P| |h|i|g|h|l|i|g|h|t| |l|i|n|k| |j|a|v|a|B|l|o|c|k|S|t|a|r|t| |T|o|d|o| +0#0000000&@22
|
||||
@75
|
||||
@75
|
||||
@4|@+0#e000e06&|S|u|p@1|r|e|s@1|W|a|r|n|i|n|g|s|(|{+0#0000001#ffff4012| +0#0000000#ffffff0@51
|
||||
@4|"@2| @67
|
||||
| +0#e000002&@3|b|e|s|p|o|k|e| +0#0000000&@63
|
||||
|
||||
@@ -16,5 +16,5 @@
|
||||
|/+0#0000e05&@1| |}| +0#0000000&@70
|
||||
@75
|
||||
|/+0#0000e05&|*| |1|2@1|||.@67
|
||||
@20|*|/| +0#0000000&|i+0#00e0003&|n|t|e|r|f|a|c|e| +0#0000000&|U|n|f|o|l|d|e|n|a|b|l|e| |{+0#0000001#ffff4012| +0#0000000#ffffff0@27
|
||||
@20|*|/| +0#0000000&|i+0#00e0003&|n|t|e|r|f|a|c|e| +0#0000000&|U|n|f|o|l|d|e|n|a|b|l|e| |{+0#00e0003&| +0#0000000&@27
|
||||
@57|1|0|9|,|1| @8|9@1|%|
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|/+0#0000e05#ffffff0|*| |1|2@1|||.@67
|
||||
@20|*|/| +0#0000000&|i+0#00e0003&|n|t|e|r|f|a|c|e| +0#0000000&|U|n|f|o|l|d|e|n|a|b|l|e| |{+0#0000001#ffff4012| +0#0000000#ffffff0@27
|
||||
>}+0#0000001#ffff4012| +0#0000000#ffffff0@73
|
||||
@20|*|/| +0#0000000&|i+0#00e0003&|n|t|e|r|f|a|c|e| +0#0000000&|U|n|f|o|l|d|e|n|a|b|l|e| |{+0#00e0003&| +0#0000000&@27
|
||||
>}+0#00e0003&| +0#0000000&@73
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|
||||
@@ -17,4 +17,4 @@
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| +0#0000000&@42
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5|"@2| +0#0000000&@38
|
||||
@75
|
||||
@57|1|7|,|1| @10|9|%|
|
||||
@57|1|7|,|1| @10|6|%|
|
||||
|
||||
@@ -17,4 +17,4 @@
|
||||
|#+0#0000e05&| |R|a|w| |U|n|i|c|o|d|e| |l|i|t|e|r|a|l|s| |a|r|e| |n|o|t| |a|l@1|o|w|e|d| +0#0000000&@36
|
||||
|t|e|s|t| |=| |u|r+0#e000002&|'|I|n|v|a|l|i|d| |s|t|r|i|n|g| |w|i|t|h| |\|'| |a|n|d| |\|"| |a|n|d| |\|t|'| +0#0000000&@27
|
||||
|t|e|s|t| |=| |u|R+0#e000002&|"|I|n|v|a|l|i|d| |s|t|r|i|n|g| |w|i|t|h| |\|0|4|0| |a|n|d| |\|x|F@1|"| +0#0000000&@30
|
||||
@57|3@1|,|1| @9|2|4|%|
|
||||
@57|3@1|,|1| @9|1|5|%|
|
||||
|
||||
@@ -17,4 +17,4 @@
|
||||
|a+0#e000002&|n|d| |\+0#e000e06&|u|0@1|A|1| +0#e000002&|a|n|d| |\+0#e000e06&|U|0@2|1|0|6|0|5|"+0#e000002&@2| +0#0000000&@46
|
||||
@75
|
||||
|#+0#0000e05&| |F|o|r|m|a|t@1|e|d| |s|t|r|i|n|g| |l|i|t|e|r|a|l|s| |(|f|-|s|t|r|i|n|g|s|)| +0#0000000&@35
|
||||
@57|4|9|,|1| @9|3|8|%|
|
||||
@57|4|9|,|1| @9|2|4|%|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
|#+0#0000e05#ffffff0| |F|o|r|m|a|t@1|e|d| |s|t|r|i|n|g| |l|i|t|e|r|a|l|s| |(|f|-|s|t|r|i|n|g|s|)| +0#0000000&@35
|
||||
|#+0#0000e05&| |h|t@1|p|s|:|/@1|d|o|c|s|.|p|y|t|h|o|n|.|o|r|g|/|3|/|r|e|f|e|r|e|n|c|e|/|l|e|x|i|c|a|l|_|a|n|a|l|y|s|i|s|.|h|t|m|l|#|f|-|s|t|r|i|n|g|s| +0#0000000&@5
|
||||
|t|e|s|t| |=| |f+0#e000002&|'|F|-|s|t|r|i|n|g| |w|i|t|h| |e|s|c|a|p|e|s| |\+0#e000e06&|'| +0#e000002&|a|n|d| |\+0#e000e06&|"| +0#e000002&|a|n|d| |\+0#e000e06&|t| +0#e000002&|a|n|d| |f|i|e|l|d|s| |{|f|o@1|}| |a|n|d| |{|b|a|r|}|'
|
||||
|t+0#0000000&|e|s|t| |=| |F+0#e000002&|"|F|-|s|t|r|i|n|g| |w|i|t|h| |e|s|c|a|p|e|s| |\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#e000002&|a|n|d| |f|i|e|l|d|s| |{|f|o@1|}| |a|n|d| |{|b|a|r|}|"| +0#0000000&@2
|
||||
|t|e|s|t| |=| |f+0#e000002&|'|F|-|s|t|r|i|n|g| |w|i|t|h| |e|s|c|a|p|e|s| |\+0#e000e06&|'| +0#e000002&|a|n|d| |\+0#e000e06&|"| +0#e000002&|a|n|d| |\+0#e000e06&|t| +0#e000002&|a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|'+0#e000002&
|
||||
|t+0#0000000&|e|s|t| |=| |F+0#e000002&|"|F|-|s|t|r|i|n|g| |w|i|t|h| |e|s|c|a|p|e|s| |\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#e000002&|a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|"+0#e000002&| +0#0000000&@2
|
||||
|t|e|s|t| |=| |f+0#e000002&|'|F|-|s|t|r|i|n|g| |w|i|t|h| |e|s|c|a|p|e|s| |\+0#e000e06&|u|0@1|A|1| +0#e000002&|a|n|d| |\+0#e000e06&|U|0@2|1|0|6|0|5| +0#e000002&|a|n|d| |\+0#e000e06&|N|{|I|N|V|E|R|T|E|D| |E|X|C|L|A|M
|
||||
|A|T|I|O|N| |M|A|R|K|}| +0#e000002&|a|n|d| |f|i|e|l|d|s| |{|f|o@1|}| |a|n|d| |{|b|a|r|}|'| +0#0000000&@35
|
||||
>t|e|s|t| |=| |F+0#e000002&|"|F|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |{@1|f|i|e|l|d|}@1| |a|n|d| |f|i|e|l|d|s| |{|f|o@1|}| |a|n|d| |{|b|a|r|}|"| +0#0000000&@6
|
||||
|A|T|I|O|N| |M|A|R|K|}| +0#e000002&|a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@35
|
||||
>t|e|s|t| |=| |F+0#e000002&|"|F|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |{@1|f|i|e|l|d|}@1| |a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|"+0#e000002&| +0#0000000&@6
|
||||
|t|e|s|t| |=| |f+0#e000002&|'@2|F|-|s|t|r|i|n|g| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@35
|
||||
|a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|t| +0#e000002&|a|n|d| |\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#0000000&@42
|
||||
|a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|u|0@1|A|1| +0#e000002&|a|n|d| |\+0#e000e06&|U|0@2|1|0|6|0|5| +0#0000000&@41
|
||||
|a+0#e000002&|n|d| |f|i|e|l|d|s| |{|1|}|,| |{|2|}| |a|n|d| |{|1| +0#0000000&@48
|
||||
| +0#e000002&@3|+| +0#0000000&@69
|
||||
| +0#e000002&@3|2|}|'@2| +0#0000000&@65
|
||||
|a+0#e000002&|n|d| |f|i|e|l|d|s| |{+0#e000e06&|1+0#0000000&|}+0#e000e06&|,+0#e000002&| |{+0#e000e06&|2+0#0000000&|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|1+0#0000000&| @48
|
||||
@4|+| @69
|
||||
@4|2|}+0#e000e06&|'+0#e000002&@2| +0#0000000&@65
|
||||
|t|e|s|t| |=| |F+0#e000002&|"@2|F|-|s|t|r|i|n|g| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@35
|
||||
|a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|t| +0#e000002&|a|n|d| |\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#0000000&@42
|
||||
|a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|u|0@1|A|1| +0#e000002&|a|n|d| |\+0#e000e06&|U|0@2|1|0|6|0|5| +0#0000000&@41
|
||||
|a+0#e000002&|n|d| |f|i|e|l|d|s| |{|1|}|,| |{|2|}| |a|n|d| |{|1| +0#0000000&@48
|
||||
| +0#e000002&@3|+| +0#0000000&@69
|
||||
| +0#e000002&@3|2|}|"@2| +0#0000000&@65
|
||||
@57|6@1|,|1| @9|5|3|%|
|
||||
|a+0#e000002&|n|d| |f|i|e|l|d|s| |{+0#e000e06&|1+0#0000000&|}+0#e000e06&|,+0#e000002&| |{+0#e000e06&|2+0#0000000&|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|1+0#0000000&| @48
|
||||
@4|+| @69
|
||||
@4|2|}+0#e000e06&|"+0#e000002&@2| +0#0000000&@65
|
||||
@57|6@1|,|1| @9|3|4|%|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
| +0#e000002#ffffff0@3|2|}|"@2| +0#0000000&@65
|
||||
| +0&#ffffff0@3|2|}+0#e000e06&|"+0#e000002&@2| +0#0000000&@65
|
||||
@75
|
||||
|#+0#0000e05&| |R|a|w| |f|o|r|m|a|t@1|e|d| |s|t|r|i|n|g| |l|i|t|e|r|a|l|s| +0#0000000&@43
|
||||
|t|e|s|t| |=| |f+0#e000002&|r|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |\|'| |a|n|d| |\|"| |a|n|d| |\|t| |a|n|d| |f|i|e|l|d|s| |{|f|o@1|}| |a|n|d| |{
|
||||
|b|a|r|}|'| +0#0000000&@69
|
||||
>t|e|s|t| |=| |f+0#e000002&|R|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |\|0|4|0| |a|n|d| |\|x|F@1| |a|n|d| |f|i|e|l|d|s| |{|f|o@1|}| |a|n|d| |{|b|a|r
|
||||
|}|"| +0#0000000&@72
|
||||
|t|e|s|t| |=| |f+0#e000002&|r|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |\|'| |a|n|d| |\|"| |a|n|d| |\|t| |a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&
|
||||
|b+0#0000000&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@69
|
||||
>t|e|s|t| |=| |f+0#e000002&|R|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |\|0|4|0| |a|n|d| |\|x|F@1| |a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|b+0#0000000&|a|r
|
||||
|}+0#e000e06&|"+0#e000002&| +0#0000000&@72
|
||||
|t|e|s|t| |=| |F+0#e000002&|r|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| |E
|
||||
|X|C|L|A|M|A|T|I|O|N| |M|A|R|K|}| |a|n|d| |f|i|e|l|d|s| |{|f|o@1|}| |a|n|d| |{|b|a|r|}|'| +0#0000000&@30
|
||||
|t|e|s|t| |=| |F+0#e000002&|R|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |{@1|f|i|e|l|d|}@1| |a|n|d| |f|i|e|l|d|s| |{|f|o@1|}| |a|n|d| |{|b|a|r|}|"| +0#0000000&@1
|
||||
|t|e|s|t| |=| |r+0#e000002&|f|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |\|'| |a|n|d| |\|"| |a|n|d| |\|t| |a|n|d| |f|i|e|l|d|s| |{|f|o@1|}| |a|n|d| |{
|
||||
|b|a|r|}|'| +0#0000000&@69
|
||||
|t|e|s|t| |=| |r+0#e000002&|F|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |\|0|4|0| |a|n|d| |\|x|F@1| |a|n|d| |f|i|e|l|d|s| |{|f|o@1|}| |a|n|d| |{|b|a|r
|
||||
|}|"| +0#0000000&@72
|
||||
|X|C|L|A|M|A|T|I|O|N| |M|A|R|K|}| |a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@30
|
||||
|t|e|s|t| |=| |F+0#e000002&|R|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |{@1|f|i|e|l|d|}@1| |a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|"+0#e000002&| +0#0000000&@1
|
||||
|t|e|s|t| |=| |r+0#e000002&|f|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |\|'| |a|n|d| |\|"| |a|n|d| |\|t| |a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&
|
||||
|b+0#0000000&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@69
|
||||
|t|e|s|t| |=| |r+0#e000002&|F|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |\|0|4|0| |a|n|d| |\|x|F@1| |a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|b+0#0000000&|a|r
|
||||
|}+0#e000e06&|"+0#e000002&| +0#0000000&@72
|
||||
|t|e|s|t| |=| |R+0#e000002&|f|'|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| |E
|
||||
|X|C|L|A|M|A|T|I|O|N| |M|A|R|K|}| |a|n|d| |f|i|e|l|d|s| |{|f|o@1|}| |a|n|d| |{|b|a|r|}|'| +0#0000000&@30
|
||||
|t|e|s|t| |=| |R+0#e000002&|F|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |{@1|f|i|e|l|d|}@1| |a|n|d| |f|i|e|l|d|s| |{|f|o@1|}| |a|n|d| |{|b|a|r|}|"| +0#0000000&@1
|
||||
|X|C|L|A|M|A|T|I|O|N| |M|A|R|K|}| |a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|'+0#e000002&| +0#0000000&@30
|
||||
|t|e|s|t| |=| |R+0#e000002&|F|"|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |l|i|t|e|r|a|l| |{@1|f|i|e|l|d|}@1| |a|n|d| |f|i|e|l|d|s| |{+0#e000e06&|f+0#0000000&|o@1|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|b+0#0000000&|a|r|}+0#e000e06&|"+0#e000002&| +0#0000000&@1
|
||||
|t|e|s|t| |=| |f+0#e000002&|r|'@2|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@30
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| +0#0000000&@42
|
||||
@57|8|2|,|1| @9|6|5|%|
|
||||
@57|8|2|,|1| @9|4|2|%|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
|a+0#e000002#ffffff0|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| +0#0000000&@42
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| +0#0000000&@41
|
||||
|a+0#e000002&|n|d| |f|i|e|l|d|s| |{|1|}|,| |{|2|}| |a|n|d| |{|1| +0#0000000&@48
|
||||
| +0#e000002&@3|+| +0#0000000&@69
|
||||
| +0#e000002&@3|2|}|'@2| +0#0000000&@65
|
||||
|a+0#e000002&|n|d| |f|i|e|l|d|s| |{+0#e000e06&|1+0#0000000&|}+0#e000e06&|,+0#e000002&| |{+0#e000e06&|2+0#0000000&|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|1+0#0000000&| @48
|
||||
@4|+| @69
|
||||
@4|2|}+0#e000e06&|'+0#e000002&@2| +0#0000000&@65
|
||||
>t|e|s|t| |=| |R+0#e000002&|F|"@2|R|a|w| |f|-|s|t|r|i|n|g| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@30
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| +0#0000000&@42
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| +0#0000000&@41
|
||||
|a+0#e000002&|n|d| |f|i|e|l|d|s| |{|1|}|,| |{|2|}| |a|n|d| |{|1| +0#0000000&@48
|
||||
| +0#e000002&@3|+| +0#0000000&@69
|
||||
| +0#e000002&@3|2|}|"@2| +0#0000000&@65
|
||||
|a+0#e000002&|n|d| |f|i|e|l|d|s| |{+0#e000e06&|1+0#0000000&|}+0#e000e06&|,+0#e000002&| |{+0#e000e06&|2+0#0000000&|}+0#e000e06&| +0#e000002&|a|n|d| |{+0#e000e06&|1+0#0000000&| @48
|
||||
@4|+| @69
|
||||
@4|2|}+0#e000e06&|"+0#e000002&@2| +0#0000000&@65
|
||||
@75
|
||||
|#+0#0000e05&| |B|y|t|e|s| +0#0000000&@67
|
||||
|t|e|s|t| |=| |b+0#e000002&|'|B|y|t|e|s| |w|i|t|h| |e|s|c|a|p|e|s| |\+0#e000e06&|'| +0#e000002&|a|n|d| |\+0#e000e06&|"| +0#e000002&|a|n|d| |\+0#e000e06&|t|'+0#e000002&| +0#0000000&@29
|
||||
|t|e|s|t| |=| |B+0#e000002&|"|B|y|t|e|s| |w|i|t|h| |e|s|c|a|p|e|s| |\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1|"+0#e000002&| +0#0000000&@32
|
||||
|t|e|s|t| |=| |b+0#e000002&|'|B|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| |E|X|C|L|A|M|A|T|I
|
||||
|O|N| |M|A|R|K|}|'| +0#0000000&@65
|
||||
|t|e|s|t| |=| |B+0#e000002&|"|B|y|t|e|s| |w|i|t|h| |e|s|c|a|p|e|d| |\+0#e000e06&@1| +0#e000002&|b|a|c|k|s|l|a|s|h| |a|n|d| |i|g|n|o|r|e|d| |\+0#e000e06&| +0#0000000&@20
|
||||
|n+0#e000002&|e|w|l|i|n|e|"| +0#0000000&@66
|
||||
@57|9|5|,|1| @9|7|8|%|
|
||||
|#+0#0000e05&| |F|-|s|t|r|i|n|g| |r|e|p|l|a|c|e|m|e|n|t| |f|i|e|l|d|s| +0#0000000&@45
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|S|t|r|i|n|g| |i|s| |{+0#e000e06&| +0#0000000&@54
|
||||
@4|"|o|n|e| |p|l|u|s| |"| @59
|
||||
@4|"|t|w|o| |p|l|u|s| |"| @59
|
||||
@4|"|t|h|r|e@1|"|}+0#e000e06&|"+0#e000002&| +0#0000000&@61
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|N|u|m|b|e|r| |i|s| |{+0#e000e06&| +0#0000000&@54
|
||||
@4|1| |+| @67
|
||||
@57|9|5|,|1| @9|5|0|%|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
|n+0#e000002#ffffff0|e|w|l|i|n|e|"| +0#0000000&@66
|
||||
|t|e|s|t| |=| |b+0#e000002&|'@2|B|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@38
|
||||
|a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|t| +0#e000002&|a|n|d| |\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#0000000&@42
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5|'@2| +0#0000000&@38
|
||||
|t|e|s|t| |=| |B+0#e000002&|"@2|B|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@38
|
||||
>a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|t| +0#e000002&|a|n|d| |\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#0000000&@42
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5|"@2| +0#0000000&@38
|
||||
@75
|
||||
|#+0#0000e05&| |R|a|w| |b|y|t|e|s| +0#0000000&@63
|
||||
|t|e|s|t| |=| |b+0#e000002&|r|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|'| |a|n|d| |\|"| |a|n|d| |\|t|'| +0#0000000&@24
|
||||
|t|e|s|t| |=| |b+0#e000002&|R|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|0|4|0| |a|n|d| |\|x|F@1|"| +0#0000000&@27
|
||||
|t|e|s|t| |=| |B+0#e000002&|r|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| |E|X|C|L
|
||||
|A|M|A|T|I|O|N| |M|A|R|K|}|'| +0#0000000&@60
|
||||
|t|e|s|t| |=| |B+0#e000002&|R|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\@1| |b|a|c|k|s|l|a|s|h|e|s| |a|n|d| |l|i|t|e|r|a|l| |\| +0#0000000&@13
|
||||
|n+0#e000002&|e|w|l|i|n|e|"| +0#0000000&@66
|
||||
|t|e|s|t| |=| |r+0#e000002&|b|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|'| |a|n|d| |\|"| |a|n|d| |\|t|'| +0#0000000&@24
|
||||
|t|e|s|t| |=| |r+0#e000002&|B|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|0|4|0| |a|n|d| |\|x|F@1|"| +0#0000000&@27
|
||||
|t|e|s|t| |=| |R+0#e000002&|b|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| |E|X|C|L
|
||||
|A|M|A|T|I|O|N| |M|A|R|K|}|'| +0#0000000&@60
|
||||
@57|1@1|2|,|1| @8|9|2|%|
|
||||
| +0&#ffffff0@3|1| |+| @67
|
||||
@4|2| |+| @67
|
||||
@4|3|}+0#e000e06&|"+0#e000002&| +0#0000000&@67
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|a|b|c|{+0#e000e06&|a+0#0000000&| |#| |T|h|i|s| |i|s| |a| |c|o|m@1|e|n|t| |}| @38
|
||||
@4|+| |1|}+0#e000e06&|"+0#e000002&| +0#0000000&@65
|
||||
>t|e|s|t| |=| |f+0#e000002&|"|d|e|f|{+0#e000e06&|a+0#0000000&| |#| |S|o| |i|s| |t|h|i|s| |:| @45
|
||||
@4|+| |2|}+0#e000e06&|"+0#e000002&| +0#0000000&@65
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|g|h|i|{+0#e000e06&|a+0#0000000&| |#| |A|n|d| |t|h|i|s| |"| @47
|
||||
@4|+| |3|}+0#e000e06&|"+0#e000002&| +0#0000000&@65
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|H|e| |s|a|i|d| |h|i|s| |n|a|m|e| |i|s| |{+0#e000e06&|n+0#0000000&|a|m|e|!+0#e000e06&|r|}|.+0#e000002&|"| +0#0000000&@35
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|H|e| |s|a|i|d| |h|i|s| |n|a|m|e| |i|s| |{+0#e000e06&|r+0#0000000&|e|p|r|(|n|a|m|e|)|}+0#e000e06&|.+0#e000002&|"| +0#0000000&@31
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| |{+0#e000e06&|v+0#0000000&|a|l|u|e|:+0#e000e06&|{|w|i|d|t|h|}@1|"+0#e000002&| +0#0000000&@41
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| |{+0#e000e06&|v+0#0000000&|a|l|u|e|:+0#e000e06&|{|w|i|d|t|h|}|.|{|p|r|e|c|i|s|i|o|n|}|}+0#e000002&|"| +0#0000000&@29
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| |{+0#e000e06&|v+0#0000000&|a|l|u|e|:+0#e000e06&|{|w|i|d|t|h|:|d|}|.|{|p|r|e|c|i|s|i|o|n|!|s|}|}+0#e000002&|"| +0#0000000&@25
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|r|e|s|u|l|t|:| |{+0#e000e06&|v+0#0000000&|a|l|u|e|:+0#e000e06&|{|o|p|t|i|o|n|s|}|{|w|i|d|t|h|}|{|g|r|o|u|p|i|n|g|}|{|p|r|e|c|i|s|i|o|n|}|{|t|y|p|e|}@1|"+0#e000002&| +0#0000000&@5
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&|#|0|x|}|"+0#e000002&| +0#0000000&@52
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&|+|#|0|x|}|"+0#e000002&| +0#0000000&@51
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&|<|+|#|0|x|}|"+0#e000002&| +0#0000000&@50
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&| |<|+|#|0|x|}|"+0#e000002&| +0#0000000&@49
|
||||
@57|1@1|3|,|1| @8|6|1|%|
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
|t+0&#ffffff0|e|s|t| |=| |R+0#e000002&|b|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| |E|X|C|L
|
||||
|A|M|A|T|I|O|N| |M|A|R|K|}|'| +0#0000000&@60
|
||||
|t|e|s|t| |=| |R+0#e000002&|B|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\@1| |b|a|c|k|s|l|a|s|h|e|s| |a|n|d| |l|i|t|e|r|a|l| |\| +0#0000000&@13
|
||||
|n+0#e000002&|e|w|l|i|n|e|"| +0#0000000&@66
|
||||
|t|e|s|t| |=| |b+0#e000002&|r|'@2|R|a|w| |b|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@33
|
||||
>a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| +0#0000000&@42
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5|'@2| +0#0000000&@38
|
||||
|t|e|s|t| |=| |R+0#e000002&|B|"@2|R|a|w| |b|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@33
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| +0#0000000&@42
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5|"@2| +0#0000000&@38
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
| +0#0000000&@56|1|2|7|,|1| @8|B|o|t|
|
||||
|t+0&#ffffff0|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&| |<|+|#|0|x|}|"+0#e000002&| +0#0000000&@49
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&|<|#|0|x|}|"+0#e000002&| +0#0000000&@51
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|n+0#0000000&|u|m|b|e|r|:+0#e000e06&| |<|#|0|x|}|"+0#e000002&| +0#0000000&@50
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g|=+0#e000e06&|}|"+0#e000002&| +0#0000000&@55
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g|=+0#e000e06&|!|r|}|"+0#e000002&| +0#0000000&@53
|
||||
>t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g|=+0#e000e06&|:|2|0|}|"+0#e000002&| +0#0000000&@52
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g|=+0#e000e06&|!|r|:|2|0|}|"+0#e000002&| +0#0000000&@50
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g| +0#e000e06&|=| |}|"+0#e000002&| +0#0000000&@53
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g| +0#e000e06&|=| |!|r|}|"+0#e000002&| +0#0000000&@51
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g| +0#e000e06&|=| |:|2|0|}|"+0#e000002&| +0#0000000&@50
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|{+0#e000e06&|s+0#0000000&|t|r|i|n|g| +0#e000e06&|=| |!|r|:|2|0|}|"+0#e000002&| +0#0000000&@48
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|a|b|c| |{+0#e000e06&|a+0#0000000&|[|"|x|"|]|}+0#e000e06&| +0#e000002&|d|e|f|"| +0#0000000&@48
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |c|o|n|t|a|i|n|s|:|\+0#e000e06&|n|{|"+0#0000000&|\|n|"|.|j|o|i|n|(|a|)|}+0#e000e06&|"+0#e000002&| +0#0000000&@34
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|T|o|d|a|y|'|s| |d|a|t|e| |i|s| |{+0#e000e06&|d+0#0000000&|a|t|e|t|i|m|e|.|n|o|w|(|)|}+0#e000e06&|"+0#e000002&| +0#0000000&@32
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|T|o|d|a|y|'|s| |f|o|r|m|a|t@1|e|d| |d|a|t|e| |i|s| |{+0#e000e06&|d+0#0000000&|a|t|e|t|i|m|e|.|n|o|w|(|)|:+0#e000e06&|%|Y|-|%|m|-|%|d| |%|H|:|%|M|:|%|S|}|"+0#e000002&| +0#0000000&@4
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|D|a|t|e| |i|s| |{+0#e000e06&|d+0#0000000&|a|t|e|t|i|m|e|.|d|a|t|e|t|i|m|e|(|2|0|1|0|,| |7|,| |4|,| |1|2|,| |1|5|,| |5|8|)|}+0#e000e06&|"+0#e000002&| +0#0000000&@13
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|F|o|r|m|a|t@1|e|d| |d|a|t|e| |i|s| |{+0#e000e06&|d+0#0000000&|a|t|e|t|i|m|e|.|d|a|t|e|t|i|m|e|(|2|0|1|0|,| |7|,| |4|,| |1|2|,| |1|5|,| |5|8|)|:+0#e000e06&|%|Y|-|%|m
|
||||
|-|%|d| |%|H|:|%|M|:|%|S|}|"+0#e000002&| +0#0000000&@60
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|L|a|m|b|d|a| |r|e|t|u|r|n|s| |{+0#e000e06&|(+0#0000000&|l|a|m|b|d|a| |x|:| |x|*@1|2|)|}+0#e000e06&|"+0#e000002&| +0#0000000&@31
|
||||
@57|1|3|1|,|1| @8|7|1|%|
|
||||
|
||||
20
runtime/syntax/testdir/dumps/python_strings_bytes_09.dump
Normal file
20
runtime/syntax/testdir/dumps/python_strings_bytes_09.dump
Normal file
@@ -0,0 +1,20 @@
|
||||
|t+0&#ffffff0|e|s|t| |=| |f+0#e000002&|"|L|a|m|b|d|a| |r|e|t|u|r|n|s| |{+0#e000e06&|(+0#0000000&|l|a|m|b|d|a| |x|:| |x|*@1|2|)|}+0#e000e06&|"+0#e000002&| +0#0000000&@31
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|Z|e|r|o| |p|a|d@1|e|d| |l|a|m|b|d|a| |r|e|t|u|r|n|s| |{+0#e000e06&|(+0#0000000&|l|a|m|b|d|a| |x|:| |x|*@1|2|)|:+0#e000e06&|0|9|}|"+0#e000002&| +0#0000000&@16
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|S|p|a|c|e| |p|a|d@1|e|d| |l|a|m|b|d|a| |r|e|t|u|r|n|s| |{+0#e000e06&|(+0#0000000&|l|a|m|b|d|a| |x|:| |x|*@1|2|)|:+0#e000e06&|{|w|i|d|t|h|}@1|"+0#e000002&| +0#0000000&@10
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |c|o|p|y| |i|s| |{+0#e000e06&|i+0#0000000&|t|e|m|s|[|:|]|}+0#e000e06&|"+0#e000002&| +0#0000000&@41
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |s|l|i|c|e| |i|s| |{+0#e000e06&|i+0#0000000&|t|e|m|s|[|1|:|]|}+0#e000e06&|"+0#e000002&| +0#0000000&@39
|
||||
>t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |s|l|i|c|e| |i|s| |{+0#e000e06&|i+0#0000000&|t|e|m|s|[|:|9|]|}+0#e000e06&|"+0#e000002&| +0#0000000&@39
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |e|l|e|m|e|n|t|s| |a|r|e| |{+0#e000e06&|i+0#0000000&|t|e|m|s|[|:|2|:|]|}+0#e000e06&|"+0#e000002&| +0#0000000&@34
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|P|a|d@1|e|d| |l|i|s|t| |c|o|p|y| |i|s| |{+0#e000e06&|i+0#0000000&|t|e|m|s|[|:|]|:+0#e000e06&|9@1|}|"+0#e000002&| +0#0000000&@31
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|L|e|f|t|-|a|l|i|g|n|e|d| |l|i|s|t| |s|l|i|c|e| |i|s| |{+0#e000e06&|i+0#0000000&|t|e|m|s|[|1|:|]|:+0#e000e06&|<|9@1|}|"+0#e000002&| +0#0000000&@22
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|R|i|g|h|t| |a|l|i|g|n|e|d| |l|i|s|t| |s|l|i|c|e| |i|s| |{+0#e000e06&|i+0#0000000&|t|e|m|s|[|:|9|]|:+0#e000e06&|>|9@1|}|"+0#e000002&| +0#0000000&@21
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|C|e|n|t|e|r|-|a|l|i|g|n|e|d| |l|i|s|t| |e|l|e|m|e|n|t|s| |a|r|e| |{+0#e000e06&|i+0#0000000&|t|e|m|s|[|:|2|:|]|:+0#e000e06&|^|9@1|}|"+0#e000002&| +0#0000000&@15
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|E|x|p|r|e|s@1|i|o|n| |i|s| |{+0#e000e06&|x+0#0000000&| |=@1| |1|}+0#e000e06&|"+0#e000002&| +0#0000000&@42
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|E|x|p|r|e|s@1|i|o|n| |i|s| |{+0#e000e06&|x+0#0000000&| |!|=| |1|}+0#e000e06&|"+0#e000002&| +0#0000000&@42
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|E|x|p|r|e|s@1|i|o|n| |i|s| |{+0#e000e06&|(+0#0000000&|x| |:|=| |1|)|}+0#e000e06&|"+0#e000002&| +0#0000000&@40
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|D|e|b|u|g| |e|x|p|r|e|s@1|i|o|n| |i|s| |{+0#e000e06&|x+0#0000000&| |=@1| |1|=+0#e000e06&|}|"+0#e000002&| +0#0000000&@35
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|D|e|b|u|g| |e|x|p|r|e|s@1|i|o|n| |i|s| |{+0#e000e06&|x+0#0000000&| |!|=| |1|=+0#e000e06&|}|"+0#e000002&| +0#0000000&@35
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|D|e|b|u|g| |e|x|p|r|e|s@1|i|o|n| |i|s| |{+0#e000e06&|(+0#0000000&|x| |:|=| |1|)|=+0#e000e06&|}|"+0#e000002&| +0#0000000&@33
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|L|i|s|t| |c|o|m|p|r|e|h|e|n|s|i|o|n| |r|e|t|u|r|n|s| |{+0#e000e06&| +0#0000000&|[|x|*@1|2| |f|o|r| |x| |i|n| |r|a|n|g|e|(|1|0|)|]| |}+0#e000e06&|"+0#e000002&| +0#0000000&@8
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|P|a|d@1|e|d| |l|i|s|t| |c|o|m|p|r|e|h|e|n|s|i|o|n| |r|e|t|u|r|n|s| |{+0#e000e06&| +0#0000000&|[|x|*@1|2| |f|o|r| |x| |i|n| |r|a|n|g|e|(|1|0|)|]| |:+0#e000e06&|@+0#4040ff13&@2
|
||||
| +0#0000000&@56|1|4|8|,|1| @8|8|0|%|
|
||||
20
runtime/syntax/testdir/dumps/python_strings_bytes_10.dump
Normal file
20
runtime/syntax/testdir/dumps/python_strings_bytes_10.dump
Normal file
@@ -0,0 +1,20 @@
|
||||
|t+0&#ffffff0|e|s|t| |=| |f+0#e000002&|"|P|a|d@1|e|d| |l|i|s|t| |c|o|m|p|r|e|h|e|n|s|i|o|n| |r|e|t|u|r|n|s| |{+0#e000e06&| +0#0000000&|[|x|*@1|2| |f|o|r| |x| |i|n| |r|a|n|g|e|(|1|0|)|]| |:+0#e000e06&|9@1|}
|
||||
|"+0#e000002&| +0#0000000&@73
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|D|i|c|t| |c|o|m|p|r|e|h|e|n|s|i|o|n| |r|e|t|u|r|n|s| |{+0#e000e06&| +0#0000000&|{|x|:| |x|*@1|2| |f|o|r| |x| |i|n| |r|a|n|g|e|(|1|0|)|}| |}+0#e000e06&|"+0#e000002&| +0#0000000&@5
|
||||
|t|e|s|t| |=| |f+0#e000002&|"|P|a|d@1|e|d| |d|i|c|t| |c|o|m|p|r|e|h|e|n|s|i|o|n| |r|e|t|u|r|n|s| |{+0#e000e06&| +0#0000000&|{|x|:| |x|*@1|2| |f|o|r| |x| |i|n| |r|a|n|g|e|(|1|0|)|}| |:+0#e000e06&
|
||||
|9@1|}|"+0#e000002&| +0#0000000&@70
|
||||
> @74
|
||||
|#+0#0000e05&| |B|y|t|e|s| +0#0000000&@67
|
||||
|t|e|s|t| |=| |b+0#e000002&|'|B|y|t|e|s| |w|i|t|h| |e|s|c|a|p|e|s| |\+0#e000e06&|'| +0#e000002&|a|n|d| |\+0#e000e06&|"| +0#e000002&|a|n|d| |\+0#e000e06&|t|'+0#e000002&| +0#0000000&@29
|
||||
|t|e|s|t| |=| |B+0#e000002&|"|B|y|t|e|s| |w|i|t|h| |e|s|c|a|p|e|s| |\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1|"+0#e000002&| +0#0000000&@32
|
||||
|t|e|s|t| |=| |b+0#e000002&|'|B|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| |E|X|C|L|A|M|A|T|I
|
||||
|O|N| |M|A|R|K|}|'| +0#0000000&@65
|
||||
|t|e|s|t| |=| |B+0#e000002&|"|B|y|t|e|s| |w|i|t|h| |e|s|c|a|p|e|d| |\+0#e000e06&@1| +0#e000002&|b|a|c|k|s|l|a|s|h| |a|n|d| |i|g|n|o|r|e|d| |\+0#e000e06&| +0#0000000&@20
|
||||
|n+0#e000002&|e|w|l|i|n|e|"| +0#0000000&@66
|
||||
|t|e|s|t| |=| |b+0#e000002&|'@2|B|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@38
|
||||
|a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|t| +0#e000002&|a|n|d| |\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#0000000&@42
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5|'@2| +0#0000000&@38
|
||||
|t|e|s|t| |=| |B+0#e000002&|"@2|B|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@38
|
||||
|a+0#e000002&|n|d| |e|s|c|a|p|e|s| |\+0#e000e06&|t| +0#e000002&|a|n|d| |\+0#e000e06&|0|4|0| +0#e000002&|a|n|d| |\+0#e000e06&|x|F@1| +0#0000000&@42
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5|"@2| +0#0000000&@38
|
||||
@57|1|6|4|,|0|-|1| @6|8|9|%|
|
||||
20
runtime/syntax/testdir/dumps/python_strings_bytes_11.dump
Normal file
20
runtime/syntax/testdir/dumps/python_strings_bytes_11.dump
Normal file
@@ -0,0 +1,20 @@
|
||||
|a+0#e000002#ffffff0|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5|"@2| +0#0000000&@38
|
||||
@75
|
||||
|#+0#0000e05&| |R|a|w| |b|y|t|e|s| +0#0000000&@63
|
||||
|t|e|s|t| |=| |b+0#e000002&|r|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|'| |a|n|d| |\|"| |a|n|d| |\|t|'| +0#0000000&@24
|
||||
|t|e|s|t| |=| |b+0#e000002&|R|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|0|4|0| |a|n|d| |\|x|F@1|"| +0#0000000&@27
|
||||
>t|e|s|t| |=| |B+0#e000002&|r|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| |E|X|C|L
|
||||
|A|M|A|T|I|O|N| |M|A|R|K|}|'| +0#0000000&@60
|
||||
|t|e|s|t| |=| |B+0#e000002&|R|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\@1| |b|a|c|k|s|l|a|s|h|e|s| |a|n|d| |l|i|t|e|r|a|l| |\| +0#0000000&@13
|
||||
|n+0#e000002&|e|w|l|i|n|e|"| +0#0000000&@66
|
||||
|t|e|s|t| |=| |r+0#e000002&|b|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|'| |a|n|d| |\|"| |a|n|d| |\|t|'| +0#0000000&@24
|
||||
|t|e|s|t| |=| |r+0#e000002&|B|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|0|4|0| |a|n|d| |\|x|F@1|"| +0#0000000&@27
|
||||
|t|e|s|t| |=| |R+0#e000002&|b|'|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5| |a|n|d| |\|N|{|I|N|V|E|R|T|E|D| |E|X|C|L
|
||||
|A|M|A|T|I|O|N| |M|A|R|K|}|'| +0#0000000&@60
|
||||
|t|e|s|t| |=| |R+0#e000002&|B|"|R|a|w| |b|y|t|e|s| |w|i|t|h| |l|i|t|e|r|a|l| |\@1| |b|a|c|k|s|l|a|s|h|e|s| |a|n|d| |l|i|t|e|r|a|l| |\| +0#0000000&@13
|
||||
|n+0#e000002&|e|w|l|i|n|e|"| +0#0000000&@66
|
||||
|t|e|s|t| |=| |b+0#e000002&|r|'@2|R|a|w| |b|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@33
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| +0#0000000&@42
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5|'@2| +0#0000000&@38
|
||||
|t|e|s|t| |=| |R+0#e000002&|B|"@2|R|a|w| |b|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@33
|
||||
@57|1|8|1|,|1| @8|9|8|%|
|
||||
20
runtime/syntax/testdir/dumps/python_strings_bytes_12.dump
Normal file
20
runtime/syntax/testdir/dumps/python_strings_bytes_12.dump
Normal file
@@ -0,0 +1,20 @@
|
||||
|t+0&#ffffff0|e|s|t| |=| |R+0#e000002&|B|"@2|R|a|w| |b|y|t|e|s| |w|i|t|h| |q|u|o|t|e|s| |'| |a|n|d| |"| +0#0000000&@33
|
||||
|a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|t| |a|n|d| |\|0|4|0| |a|n|d| |\|x|F@1| +0#0000000&@42
|
||||
>a+0#e000002&|n|d| |l|i|t|e|r|a|l| |\|u|0@1|A|1| |a|n|d| |\|U|0@2|1|0|6|0|5|"@2| +0#0000000&@38
|
||||
|~+0#4040ff13&| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
|~| @73
|
||||
| +0#0000000&@56|1|9|4|,|1| @8|B|o|t|
|
||||
@@ -1,9 +1,9 @@
|
||||
// VIM_TEST_SETUP setlocal foldenable foldcolumn=2 foldmethod=syntax
|
||||
// VIM_TEST_SETUP let g:java_foldtext_show_first_or_second_line = 1
|
||||
// VIM_TEST_SETUP let g:java_lookbehind_byte_counts = {'javaBlock': -1}
|
||||
// VIM_TEST_SETUP highlight link javaBlockOtherStart Structure
|
||||
// VIM_TEST_SETUP highlight link javaBlockStart Todo
|
||||
|
||||
|
||||
@SuppressWarnings({
|
||||
"""
|
||||
bespoke
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// VIM_TEST_SETUP setlocal nofoldenable
|
||||
// VIM_TEST_SETUP let g:java_mark_braces_in_parens_as_errors = 1
|
||||
// VIM_TEST_SETUP let g:java_lookbehind_byte_counts = {'javaBlock': -1}
|
||||
// VIM_TEST_SETUP highlight link javaBlockOtherStart Structure
|
||||
// VIM_TEST_SETUP highlight link javaBlockStart Todo
|
||||
|
||||
|
||||
@SuppressWarnings({
|
||||
"""
|
||||
bespoke
|
||||
|
||||
@@ -99,6 +99,69 @@ and fields {1}, {2} and {1
|
||||
+
|
||||
2}"""
|
||||
|
||||
# F-string replacement fields
|
||||
test = f"String is {
|
||||
"one plus "
|
||||
"two plus "
|
||||
"three"}"
|
||||
test = f"Number is {
|
||||
1 +
|
||||
2 +
|
||||
3}"
|
||||
test = f"abc{a # This is a comment }
|
||||
+ 1}"
|
||||
test = f"def{a # So is this :
|
||||
+ 2}"
|
||||
test = f"ghi{a # And this "
|
||||
+ 3}"
|
||||
test = f"He said his name is {name!r}."
|
||||
test = f"He said his name is {repr(name)}."
|
||||
test = f"result: {value:{width}}"
|
||||
test = f"result: {value:{width}.{precision}}"
|
||||
test = f"result: {value:{width:d}.{precision!s}}"
|
||||
test = f"result: {value:{options}{width}{grouping}{precision}{type}}"
|
||||
test = f"{number:#0x}"
|
||||
test = f"{number:+#0x}"
|
||||
test = f"{number:<+#0x}"
|
||||
test = f"{number: <+#0x}"
|
||||
test = f"{number:<#0x}"
|
||||
test = f"{number: <#0x}"
|
||||
test = f"{string=}"
|
||||
test = f"{string=!r}"
|
||||
test = f"{string=:20}"
|
||||
test = f"{string=!r:20}"
|
||||
test = f"{string = }"
|
||||
test = f"{string = !r}"
|
||||
test = f"{string = :20}"
|
||||
test = f"{string = !r:20}"
|
||||
test = f"abc {a["x"]} def"
|
||||
test = f"List contains:\n{"\n".join(a)}"
|
||||
test = f"Today's date is {datetime.now()}"
|
||||
test = f"Today's formatted date is {datetime.now():%Y-%m-%d %H:%M:%S}"
|
||||
test = f"Date is {datetime.datetime(2010, 7, 4, 12, 15, 58)}"
|
||||
test = f"Formatted date is {datetime.datetime(2010, 7, 4, 12, 15, 58):%Y-%m-%d %H:%M:%S}"
|
||||
test = f"Lambda returns {(lambda x: x**2)}"
|
||||
test = f"Zero padded lambda returns {(lambda x: x**2):09}"
|
||||
test = f"Space padded lambda returns {(lambda x: x**2):{width}}"
|
||||
test = f"List copy is {items[:]}"
|
||||
test = f"List slice is {items[1:]}"
|
||||
test = f"List slice is {items[:9]}"
|
||||
test = f"List elements are {items[:2:]}"
|
||||
test = f"Padded list copy is {items[:]:99}"
|
||||
test = f"Left-aligned list slice is {items[1:]:<99}"
|
||||
test = f"Right aligned list slice is {items[:9]:>99}"
|
||||
test = f"Center-aligned list elements are {items[:2:]:^99}"
|
||||
test = f"Expression is {x == 1}"
|
||||
test = f"Expression is {x != 1}"
|
||||
test = f"Expression is {(x := 1)}"
|
||||
test = f"Debug expression is {x == 1=}"
|
||||
test = f"Debug expression is {x != 1=}"
|
||||
test = f"Debug expression is {(x := 1)=}"
|
||||
test = f"List comprehension returns { [x**2 for x in range(10)] }"
|
||||
test = f"Padded list comprehension returns { [x**2 for x in range(10)] :99}"
|
||||
test = f"Dict comprehension returns { {x: x**2 for x in range(10)} }"
|
||||
test = f"Padded dict comprehension returns { {x: x**2 for x in range(10)} :99}"
|
||||
|
||||
# Bytes
|
||||
test = b'Bytes with escapes \' and \" and \t'
|
||||
test = B"Bytes with escapes \040 and \xFF"
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
" Language: Vim script
|
||||
" Maintainer: Hirohito Higashi <h.east.727 ATMARK gmail.com>
|
||||
" Doug Kearns <dougkearns@gmail.com>
|
||||
" Last Change: 2025 Aug 01
|
||||
" Last Change: 2025 Aug 18
|
||||
" Former Maintainer: Charles E. Campbell
|
||||
|
||||
" DO NOT CHANGE DIRECTLY.
|
||||
@@ -63,11 +63,11 @@ syn keyword vimStdPlugin contained Arguments Asm Break Cfilter Clear Continue Di
|
||||
|
||||
" vimOptions are caught only when contained in a vimSet {{{2
|
||||
" GEN_SYN_VIM: vimOption normal, START_STR='syn keyword vimOption contained', END_STR='skipwhite nextgroup=vimSetEqual,vimSetMod'
|
||||
syn keyword vimOption contained al aleph ari allowrevins ambw ambiwidth arab arabic arshape arabicshape acd autochdir ac autocomplete ai autoindent ar autoread asd autoshelldir aw autowrite awa autowriteall bg background bs backspace bk backup bkc backupcopy bdir backupdir bex backupext bsk backupskip bdlay balloondelay beval ballooneval bevalterm balloonevalterm bexpr balloonexpr bo belloff bin binary bomb brk breakat bri breakindent briopt breakindentopt bsdir browsedir bh bufhidden bl buflisted bt buftype cmp casemap cdh cdhome cd cdpath cedit ccv charconvert chi chistory cin cindent cink cinkeys cino cinoptions cinsd cinscopedecls cinw cinwords cb clipboard cpm clipmethod ch cmdheight cwh cmdwinheight cc colorcolumn co columns com comments cms commentstring skipwhite nextgroup=vimSetEqual,vimSetMod
|
||||
syn keyword vimOption contained cp compatible cpt complete cfu completefunc cfc completefuzzycollect cia completeitemalign cot completeopt cpp completepopup csl completeslash cocu concealcursor cole conceallevel cf confirm ci copyindent cpo cpoptions cm cryptmethod cspc cscopepathcomp csprg cscopeprg csqf cscopequickfix csre cscoperelative cst cscopetag csto cscopetagorder csverb cscopeverbose crb cursorbind cuc cursorcolumn cul cursorline culopt cursorlineopt debug def define deco delcombine dict dictionary diff dia diffanchors dex diffexpr dip diffopt dg digraph dir directory dy display ead eadirection ed edcompatible emo emoji enc encoding eof endoffile eol endofline ea equalalways ep equalprg eb errorbells ef errorfile efm errorformat ek esckeys ei eventignore skipwhite nextgroup=vimSetEqual,vimSetMod
|
||||
syn keyword vimOption contained eiw eventignorewin et expandtab ex exrc fenc fileencoding fencs fileencodings ff fileformat ffs fileformats fic fileignorecase ft filetype fcs fillchars ffu findfunc fixeol fixendofline fcl foldclose fdc foldcolumn fen foldenable fde foldexpr fdi foldignore fdl foldlevel fdls foldlevelstart fmr foldmarker fdm foldmethod fml foldminlines fdn foldnestmax fdo foldopen fdt foldtext fex formatexpr flp formatlistpat fo formatoptions fp formatprg fs fsync gd gdefault gfm grepformat gp grepprg gcr guicursor gfn guifont gfs guifontset gfw guifontwide ghr guiheadroom gli guiligatures go guioptions guipty gtl guitablabel gtt guitabtooltip hf helpfile hh helpheight hlg helplang hid hidden hl highlight hi history hk hkmap hkp hkmapp hls hlsearch skipwhite nextgroup=vimSetEqual,vimSetMod
|
||||
syn keyword vimOption contained icon iconstring ic ignorecase imaf imactivatefunc imak imactivatekey imc imcmdline imd imdisable imi iminsert ims imsearch imsf imstatusfunc imst imstyle inc include inex includeexpr is incsearch inde indentexpr indk indentkeys inf infercase im insertmode ise isexpand isf isfname isi isident isk iskeyword isp isprint js joinspaces jop jumpoptions key kmp keymap km keymodel kpc keyprotocol kp keywordprg lmap langmap lm langmenu lnr langnoremap lrm langremap ls laststatus lz lazyredraw lhi lhistory lbr linebreak lines lsp linespace lisp lop lispoptions lw lispwords list lcs listchars lpl loadplugins luadll magic mef makeef menc makeencoding mp makeprg mps matchpairs mat matchtime mco maxcombine mfd maxfuncdepth mmd maxmapdepth mm maxmem skipwhite nextgroup=vimSetEqual,vimSetMod
|
||||
syn keyword vimOption contained mmp maxmempattern mmt maxmemtot msc maxsearchcount mis menuitems mopt messagesopt msm mkspellmem ml modeline mle modelineexpr mls modelines ma modifiable mod modified more mouse mousef mousefocus mh mousehide mousem mousemodel mousemev mousemoveevent mouses mouseshape mouset mousetime mzq mzquantum mzschemedll mzschemegcdll nf nrformats nu number nuw numberwidth ofu omnifunc odev opendevice opfunc operatorfunc pp packpath para paragraphs paste pt pastetoggle pex patchexpr pm patchmode pa path perldll pi preserveindent pvh previewheight pvp previewpopup pvw previewwindow pdev printdevice penc printencoding pexpr printexpr pfn printfont pheader printheader pmbcs printmbcharset pmbfn printmbfont popt printoptions prompt ph pumheight skipwhite nextgroup=vimSetEqual,vimSetMod
|
||||
syn keyword vimOption contained al aleph ari allowrevins ambw ambiwidth arab arabic arshape arabicshape acd autochdir ac autocomplete acl autocompletedelay ai autoindent ar autoread asd autoshelldir aw autowrite awa autowriteall bg background bs backspace bk backup bkc backupcopy bdir backupdir bex backupext bsk backupskip bdlay balloondelay beval ballooneval bevalterm balloonevalterm bexpr balloonexpr bo belloff bin binary bomb brk breakat bri breakindent briopt breakindentopt bsdir browsedir bh bufhidden bl buflisted bt buftype cmp casemap cdh cdhome cd cdpath cedit ccv charconvert chi chistory cin cindent cink cinkeys cino cinoptions cinsd cinscopedecls cinw cinwords cb clipboard cpm clipmethod ch cmdheight cwh cmdwinheight cc colorcolumn co columns com comments skipwhite nextgroup=vimSetEqual,vimSetMod
|
||||
syn keyword vimOption contained cms commentstring cp compatible cpt complete cfu completefunc cfc completefuzzycollect cia completeitemalign cot completeopt cpp completepopup csl completeslash cocu concealcursor cole conceallevel cf confirm ci copyindent cpo cpoptions cm cryptmethod cspc cscopepathcomp csprg cscopeprg csqf cscopequickfix csre cscoperelative cst cscopetag csto cscopetagorder csverb cscopeverbose crb cursorbind cuc cursorcolumn cul cursorline culopt cursorlineopt debug def define deco delcombine dict dictionary diff dia diffanchors dex diffexpr dip diffopt dg digraph dir directory dy display ead eadirection ed edcompatible emo emoji enc encoding eof endoffile eol endofline ea equalalways ep equalprg eb errorbells ef errorfile efm errorformat ek esckeys skipwhite nextgroup=vimSetEqual,vimSetMod
|
||||
syn keyword vimOption contained ei eventignore eiw eventignorewin et expandtab ex exrc fenc fileencoding fencs fileencodings ff fileformat ffs fileformats fic fileignorecase ft filetype fcs fillchars ffu findfunc fixeol fixendofline fcl foldclose fdc foldcolumn fen foldenable fde foldexpr fdi foldignore fdl foldlevel fdls foldlevelstart fmr foldmarker fdm foldmethod fml foldminlines fdn foldnestmax fdo foldopen fdt foldtext fex formatexpr flp formatlistpat fo formatoptions fp formatprg fs fsync gd gdefault gfm grepformat gp grepprg gcr guicursor gfn guifont gfs guifontset gfw guifontwide ghr guiheadroom gli guiligatures go guioptions guipty gtl guitablabel gtt guitabtooltip hf helpfile hh helpheight hlg helplang hid hidden hl highlight hi history hk hkmap hkp hkmapp skipwhite nextgroup=vimSetEqual,vimSetMod
|
||||
syn keyword vimOption contained hls hlsearch icon iconstring ic ignorecase imaf imactivatefunc imak imactivatekey imc imcmdline imd imdisable imi iminsert ims imsearch imsf imstatusfunc imst imstyle inc include inex includeexpr is incsearch inde indentexpr indk indentkeys inf infercase im insertmode ise isexpand isf isfname isi isident isk iskeyword isp isprint js joinspaces jop jumpoptions key kmp keymap km keymodel kpc keyprotocol kp keywordprg lmap langmap lm langmenu lnr langnoremap lrm langremap ls laststatus lz lazyredraw lhi lhistory lbr linebreak lines lsp linespace lisp lop lispoptions lw lispwords list lcs listchars lpl loadplugins luadll magic mef makeef menc makeencoding mp makeprg mps matchpairs mat matchtime mco maxcombine mfd maxfuncdepth mmd maxmapdepth skipwhite nextgroup=vimSetEqual,vimSetMod
|
||||
syn keyword vimOption contained mm maxmem mmp maxmempattern mmt maxmemtot msc maxsearchcount mis menuitems mopt messagesopt msm mkspellmem ml modeline mle modelineexpr mls modelines ma modifiable mod modified more mouse mousef mousefocus mh mousehide mousem mousemodel mousemev mousemoveevent mouses mouseshape mouset mousetime mzq mzquantum mzschemedll mzschemegcdll nf nrformats nu number nuw numberwidth ofu omnifunc odev opendevice opfunc operatorfunc pp packpath para paragraphs paste pt pastetoggle pex patchexpr pm patchmode pa path perldll pi preserveindent pvh previewheight pvp previewpopup pvw previewwindow pdev printdevice penc printencoding pexpr printexpr pfn printfont pheader printheader pmbcs printmbcharset pmbfn printmbfont popt printoptions prompt ph pumheight skipwhite nextgroup=vimSetEqual,vimSetMod
|
||||
syn keyword vimOption contained pmw pummaxwidth pw pumwidth pythondll pythonhome pythonthreedll pythonthreehome pyx pyxversion qftf quickfixtextfunc qe quoteescape ro readonly rdt redrawtime re regexpengine rnu relativenumber remap rop renderoptions report rs restorescreen ri revins rl rightleft rlc rightleftcmd rubydll ru ruler ruf rulerformat rtp runtimepath scr scroll scb scrollbind scf scrollfocus sj scrolljump so scrolloff sbo scrollopt sect sections secure sel selection slm selectmode ssop sessionoptions sh shell shcf shellcmdflag sp shellpipe shq shellquote srr shellredir ssl shellslash stmp shelltemp st shelltype sxe shellxescape sxq shellxquote sr shiftround sw shiftwidth shm shortmess sn shortname sbr showbreak sc showcmd sloc showcmdloc sft showfulltag skipwhite nextgroup=vimSetEqual,vimSetMod
|
||||
syn keyword vimOption contained sm showmatch smd showmode stal showtabline stpl showtabpanel ss sidescroll siso sidescrolloff scl signcolumn scs smartcase si smartindent sta smarttab sms smoothscroll sts softtabstop spell spc spellcapcheck spf spellfile spl spelllang spo spelloptions sps spellsuggest sb splitbelow spk splitkeep spr splitright sol startofline stl statusline su suffixes sua suffixesadd swf swapfile sws swapsync swb switchbuf smc synmaxcol syn syntax tcl tabclose tal tabline tpm tabpagemax tpl tabpanel tplo tabpanelopt ts tabstop tbs tagbsearch tc tagcase tfu tagfunc tl taglength tr tagrelative tag tags tgst tagstack tcldll term tbidi termbidi tenc termencoding tgc termguicolors twk termwinkey twsl termwinscroll tws termwinsize twt termwintype terse skipwhite nextgroup=vimSetEqual,vimSetMod
|
||||
syn keyword vimOption contained ta textauto tx textmode tw textwidth tsr thesaurus tsrfu thesaurusfunc top tildeop to timeout tm timeoutlen title titlelen titleold titlestring tb toolbar tbis toolbariconsize ttimeout ttm ttimeoutlen tbi ttybuiltin tf ttyfast ttym ttymouse tsl ttyscroll tty ttytype udir undodir udf undofile ul undolevels ur undoreload uc updatecount ut updatetime vsts varsofttabstop vts vartabstop vbs verbose vfile verbosefile vdir viewdir vop viewoptions vi viminfo vif viminfofile ve virtualedit vb visualbell warn wiv weirdinvert ww whichwrap wc wildchar wcm wildcharm wig wildignore wic wildignorecase wmnu wildmenu wim wildmode wop wildoptions wak winaltkeys wcr wincolor wi window wfb winfixbuf wfh winfixheight wfw winfixwidth wh winheight wmh winminheight skipwhite nextgroup=vimSetEqual,vimSetMod
|
||||
@@ -102,15 +102,15 @@ syn match vimOption contained "t_k;"
|
||||
|
||||
" vimOptions: These are the variable names {{{2
|
||||
" GEN_SYN_VIM: vimOption normal variable, START_STR='syn keyword vimOptionVarName contained', END_STR=''
|
||||
syn keyword vimOptionVarName contained al aleph ari allowrevins ambw ambiwidth arab arabic arshape arabicshape acd autochdir ac autocomplete ai autoindent ar autoread asd autoshelldir aw autowrite awa autowriteall bg background bs backspace bk backup bkc backupcopy bdir backupdir bex backupext bsk backupskip bdlay balloondelay beval ballooneval bevalterm balloonevalterm bexpr balloonexpr bo belloff bin binary bomb brk breakat bri breakindent briopt breakindentopt bsdir browsedir bh bufhidden bl buflisted bt buftype cmp casemap cdh cdhome cd cdpath cedit ccv charconvert chi chistory cin cindent cink cinkeys cino cinoptions cinsd cinscopedecls cinw cinwords cb clipboard cpm clipmethod ch cmdheight cwh cmdwinheight cc colorcolumn co columns com comments cms commentstring
|
||||
syn keyword vimOptionVarName contained cp compatible cpt complete cfu completefunc cfc completefuzzycollect cia completeitemalign cot completeopt cpp completepopup csl completeslash cocu concealcursor cole conceallevel cf confirm ci copyindent cpo cpoptions cm cryptmethod cspc cscopepathcomp csprg cscopeprg csqf cscopequickfix csre cscoperelative cst cscopetag csto cscopetagorder csverb cscopeverbose crb cursorbind cuc cursorcolumn cul cursorline culopt cursorlineopt debug def define deco delcombine dict dictionary diff dia diffanchors dex diffexpr dip diffopt dg digraph dir directory dy display ead eadirection ed edcompatible emo emoji enc encoding eof endoffile eol endofline ea equalalways ep equalprg eb errorbells ef errorfile efm errorformat ek esckeys ei eventignore
|
||||
syn keyword vimOptionVarName contained eiw eventignorewin et expandtab ex exrc fenc fileencoding fencs fileencodings ff fileformat ffs fileformats fic fileignorecase ft filetype fcs fillchars ffu findfunc fixeol fixendofline fcl foldclose fdc foldcolumn fen foldenable fde foldexpr fdi foldignore fdl foldlevel fdls foldlevelstart fmr foldmarker fdm foldmethod fml foldminlines fdn foldnestmax fdo foldopen fdt foldtext fex formatexpr flp formatlistpat fo formatoptions fp formatprg fs fsync gd gdefault gfm grepformat gp grepprg gcr guicursor gfn guifont gfs guifontset gfw guifontwide ghr guiheadroom gli guiligatures go guioptions guipty gtl guitablabel gtt guitabtooltip hf helpfile hh helpheight hlg helplang hid hidden hl highlight hi history hk hkmap hkp hkmapp hls hlsearch
|
||||
syn keyword vimOptionVarName contained icon iconstring ic ignorecase imaf imactivatefunc imak imactivatekey imc imcmdline imd imdisable imi iminsert ims imsearch imsf imstatusfunc imst imstyle inc include inex includeexpr is incsearch inde indentexpr indk indentkeys inf infercase im insertmode ise isexpand isf isfname isi isident isk iskeyword isp isprint js joinspaces jop jumpoptions key kmp keymap km keymodel kpc keyprotocol kp keywordprg lmap langmap lm langmenu lnr langnoremap lrm langremap ls laststatus lz lazyredraw lhi lhistory lbr linebreak lines lsp linespace lisp lop lispoptions lw lispwords list lcs listchars lpl loadplugins luadll magic mef makeef menc makeencoding mp makeprg mps matchpairs mat matchtime mco maxcombine mfd maxfuncdepth mmd maxmapdepth
|
||||
syn keyword vimOptionVarName contained mm maxmem mmp maxmempattern mmt maxmemtot msc maxsearchcount mis menuitems mopt messagesopt msm mkspellmem ml modeline mle modelineexpr mls modelines ma modifiable mod modified more mouse mousef mousefocus mh mousehide mousem mousemodel mousemev mousemoveevent mouses mouseshape mouset mousetime mzq mzquantum mzschemedll mzschemegcdll nf nrformats nu number nuw numberwidth ofu omnifunc odev opendevice opfunc operatorfunc pp packpath para paragraphs paste pt pastetoggle pex patchexpr pm patchmode pa path perldll pi preserveindent pvh previewheight pvp previewpopup pvw previewwindow pdev printdevice penc printencoding pexpr printexpr pfn printfont pheader printheader pmbcs printmbcharset pmbfn printmbfont popt printoptions prompt
|
||||
syn keyword vimOptionVarName contained ph pumheight pmw pummaxwidth pw pumwidth pythondll pythonhome pythonthreedll pythonthreehome pyx pyxversion qftf quickfixtextfunc qe quoteescape ro readonly rdt redrawtime re regexpengine rnu relativenumber remap rop renderoptions report rs restorescreen ri revins rl rightleft rlc rightleftcmd rubydll ru ruler ruf rulerformat rtp runtimepath scr scroll scb scrollbind scf scrollfocus sj scrolljump so scrolloff sbo scrollopt sect sections secure sel selection slm selectmode ssop sessionoptions sh shell shcf shellcmdflag sp shellpipe shq shellquote srr shellredir ssl shellslash stmp shelltemp st shelltype sxe shellxescape sxq shellxquote sr shiftround sw shiftwidth shm shortmess sn shortname sbr showbreak sc showcmd sloc showcmdloc
|
||||
syn keyword vimOptionVarName contained sft showfulltag sm showmatch smd showmode stal showtabline stpl showtabpanel ss sidescroll siso sidescrolloff scl signcolumn scs smartcase si smartindent sta smarttab sms smoothscroll sts softtabstop spell spc spellcapcheck spf spellfile spl spelllang spo spelloptions sps spellsuggest sb splitbelow spk splitkeep spr splitright sol startofline stl statusline su suffixes sua suffixesadd swf swapfile sws swapsync swb switchbuf smc synmaxcol syn syntax tcl tabclose tal tabline tpm tabpagemax tpl tabpanel tplo tabpanelopt ts tabstop tbs tagbsearch tc tagcase tfu tagfunc tl taglength tr tagrelative tag tags tgst tagstack tcldll term tbidi termbidi tenc termencoding tgc termguicolors twk termwinkey twsl termwinscroll tws termwinsize
|
||||
syn keyword vimOptionVarName contained twt termwintype terse ta textauto tx textmode tw textwidth tsr thesaurus tsrfu thesaurusfunc top tildeop to timeout tm timeoutlen title titlelen titleold titlestring tb toolbar tbis toolbariconsize ttimeout ttm ttimeoutlen tbi ttybuiltin tf ttyfast ttym ttymouse tsl ttyscroll tty ttytype udir undodir udf undofile ul undolevels ur undoreload uc updatecount ut updatetime vsts varsofttabstop vts vartabstop vbs verbose vfile verbosefile vdir viewdir vop viewoptions vi viminfo vif viminfofile ve virtualedit vb visualbell warn wiv weirdinvert ww whichwrap wc wildchar wcm wildcharm wig wildignore wic wildignorecase wmnu wildmenu wim wildmode wop wildoptions wak winaltkeys wcr wincolor wi window wfb winfixbuf wfh winfixheight wfw winfixwidth
|
||||
syn keyword vimOptionVarName contained wh winheight wmh winminheight wmw winminwidth winptydll wiw winwidth wse wlseat wst wlsteal wtm wltimeoutlen wrap wm wrapmargin ws wrapscan write wa writeany wb writebackup wd writedelay xtermcodes
|
||||
syn keyword vimOptionVarName contained al aleph ari allowrevins ambw ambiwidth arab arabic arshape arabicshape acd autochdir ac autocomplete acl autocompletedelay ai autoindent ar autoread asd autoshelldir aw autowrite awa autowriteall bg background bs backspace bk backup bkc backupcopy bdir backupdir bex backupext bsk backupskip bdlay balloondelay beval ballooneval bevalterm balloonevalterm bexpr balloonexpr bo belloff bin binary bomb brk breakat bri breakindent briopt breakindentopt bsdir browsedir bh bufhidden bl buflisted bt buftype cmp casemap cdh cdhome cd cdpath cedit ccv charconvert chi chistory cin cindent cink cinkeys cino cinoptions cinsd cinscopedecls cinw cinwords cb clipboard cpm clipmethod ch cmdheight cwh cmdwinheight cc colorcolumn co columns
|
||||
syn keyword vimOptionVarName contained com comments cms commentstring cp compatible cpt complete cfu completefunc cfc completefuzzycollect cia completeitemalign cot completeopt cpp completepopup csl completeslash cocu concealcursor cole conceallevel cf confirm ci copyindent cpo cpoptions cm cryptmethod cspc cscopepathcomp csprg cscopeprg csqf cscopequickfix csre cscoperelative cst cscopetag csto cscopetagorder csverb cscopeverbose crb cursorbind cuc cursorcolumn cul cursorline culopt cursorlineopt debug def define deco delcombine dict dictionary diff dia diffanchors dex diffexpr dip diffopt dg digraph dir directory dy display ead eadirection ed edcompatible emo emoji enc encoding eof endoffile eol endofline ea equalalways ep equalprg eb errorbells ef errorfile
|
||||
syn keyword vimOptionVarName contained efm errorformat ek esckeys ei eventignore eiw eventignorewin et expandtab ex exrc fenc fileencoding fencs fileencodings ff fileformat ffs fileformats fic fileignorecase ft filetype fcs fillchars ffu findfunc fixeol fixendofline fcl foldclose fdc foldcolumn fen foldenable fde foldexpr fdi foldignore fdl foldlevel fdls foldlevelstart fmr foldmarker fdm foldmethod fml foldminlines fdn foldnestmax fdo foldopen fdt foldtext fex formatexpr flp formatlistpat fo formatoptions fp formatprg fs fsync gd gdefault gfm grepformat gp grepprg gcr guicursor gfn guifont gfs guifontset gfw guifontwide ghr guiheadroom gli guiligatures go guioptions guipty gtl guitablabel gtt guitabtooltip hf helpfile hh helpheight hlg helplang hid hidden hl highlight
|
||||
syn keyword vimOptionVarName contained hi history hk hkmap hkp hkmapp hls hlsearch icon iconstring ic ignorecase imaf imactivatefunc imak imactivatekey imc imcmdline imd imdisable imi iminsert ims imsearch imsf imstatusfunc imst imstyle inc include inex includeexpr is incsearch inde indentexpr indk indentkeys inf infercase im insertmode ise isexpand isf isfname isi isident isk iskeyword isp isprint js joinspaces jop jumpoptions key kmp keymap km keymodel kpc keyprotocol kp keywordprg lmap langmap lm langmenu lnr langnoremap lrm langremap ls laststatus lz lazyredraw lhi lhistory lbr linebreak lines lsp linespace lisp lop lispoptions lw lispwords list lcs listchars lpl loadplugins luadll magic mef makeef menc makeencoding mp makeprg mps matchpairs mat matchtime
|
||||
syn keyword vimOptionVarName contained mco maxcombine mfd maxfuncdepth mmd maxmapdepth mm maxmem mmp maxmempattern mmt maxmemtot msc maxsearchcount mis menuitems mopt messagesopt msm mkspellmem ml modeline mle modelineexpr mls modelines ma modifiable mod modified more mouse mousef mousefocus mh mousehide mousem mousemodel mousemev mousemoveevent mouses mouseshape mouset mousetime mzq mzquantum mzschemedll mzschemegcdll nf nrformats nu number nuw numberwidth ofu omnifunc odev opendevice opfunc operatorfunc pp packpath para paragraphs paste pt pastetoggle pex patchexpr pm patchmode pa path perldll pi preserveindent pvh previewheight pvp previewpopup pvw previewwindow pdev printdevice penc printencoding pexpr printexpr pfn printfont pheader printheader pmbcs printmbcharset
|
||||
syn keyword vimOptionVarName contained pmbfn printmbfont popt printoptions prompt ph pumheight pmw pummaxwidth pw pumwidth pythondll pythonhome pythonthreedll pythonthreehome pyx pyxversion qftf quickfixtextfunc qe quoteescape ro readonly rdt redrawtime re regexpengine rnu relativenumber remap rop renderoptions report rs restorescreen ri revins rl rightleft rlc rightleftcmd rubydll ru ruler ruf rulerformat rtp runtimepath scr scroll scb scrollbind scf scrollfocus sj scrolljump so scrolloff sbo scrollopt sect sections secure sel selection slm selectmode ssop sessionoptions sh shell shcf shellcmdflag sp shellpipe shq shellquote srr shellredir ssl shellslash stmp shelltemp st shelltype sxe shellxescape sxq shellxquote sr shiftround sw shiftwidth shm shortmess sn shortname
|
||||
syn keyword vimOptionVarName contained sbr showbreak sc showcmd sloc showcmdloc sft showfulltag sm showmatch smd showmode stal showtabline stpl showtabpanel ss sidescroll siso sidescrolloff scl signcolumn scs smartcase si smartindent sta smarttab sms smoothscroll sts softtabstop spell spc spellcapcheck spf spellfile spl spelllang spo spelloptions sps spellsuggest sb splitbelow spk splitkeep spr splitright sol startofline stl statusline su suffixes sua suffixesadd swf swapfile sws swapsync swb switchbuf smc synmaxcol syn syntax tcl tabclose tal tabline tpm tabpagemax tpl tabpanel tplo tabpanelopt ts tabstop tbs tagbsearch tc tagcase tfu tagfunc tl taglength tr tagrelative tag tags tgst tagstack tcldll term tbidi termbidi tenc termencoding tgc termguicolors twk termwinkey
|
||||
syn keyword vimOptionVarName contained twsl termwinscroll tws termwinsize twt termwintype terse ta textauto tx textmode tw textwidth tsr thesaurus tsrfu thesaurusfunc top tildeop to timeout tm timeoutlen title titlelen titleold titlestring tb toolbar tbis toolbariconsize ttimeout ttm ttimeoutlen tbi ttybuiltin tf ttyfast ttym ttymouse tsl ttyscroll tty ttytype udir undodir udf undofile ul undolevels ur undoreload uc updatecount ut updatetime vsts varsofttabstop vts vartabstop vbs verbose vfile verbosefile vdir viewdir vop viewoptions vi viminfo vif viminfofile ve virtualedit vb visualbell warn wiv weirdinvert ww whichwrap wc wildchar wcm wildcharm wig wildignore wic wildignorecase wmnu wildmenu wim wildmode wop wildoptions wak winaltkeys wcr wincolor wi window
|
||||
syn keyword vimOptionVarName contained wfb winfixbuf wfh winfixheight wfw winfixwidth wh winheight wmh winminheight wmw winminwidth winptydll wiw winwidth wse wlseat wst wlsteal wtm wltimeoutlen wrap wm wrapmargin ws wrapscan write wa writeany wb writebackup wd writedelay xtermcodes
|
||||
" GEN_SYN_VIM: vimOption term output code variable, START_STR='syn keyword vimOptionVarName contained', END_STR=''
|
||||
syn keyword vimOptionVarName contained t_AB t_AF t_AU t_AL t_al t_bc t_BE t_BD t_cd t_ce t_Ce t_CF t_cl t_cm t_Co t_CS t_Cs t_cs t_CV t_da t_db t_DL t_dl t_ds t_Ds t_EC t_EI t_fs t_fd t_fe t_GP t_IE t_IS t_ke t_ks t_le t_mb t_md t_me t_mr t_ms t_nd t_op t_RF t_RB t_RC t_RI t_Ri t_RK t_RS t_RT t_RV t_Sb t_SC t_se t_Sf t_SH t_SI t_Si t_so t_SR t_sr t_ST t_Te t_te t_TE t_ti t_TI t_Ts t_ts t_u7 t_ue t_us t_Us t_ut t_vb t_ve t_vi t_VS t_vs t_WP t_WS t_XM t_xn t_xs t_ZH t_ZR t_8f t_8b t_8u t_xo
|
||||
syn keyword vimOptionVarName contained t_F1 t_F2 t_F3 t_F4 t_F5 t_F6 t_F7 t_F8 t_F9 t_k1 t_K1 t_k2 t_k3 t_K3 t_k4 t_K4 t_k5 t_K5 t_k6 t_K6 t_k7 t_K7 t_k8 t_K8 t_k9 t_K9 t_KA t_kb t_kB t_KB t_KC t_kd t_kD t_KD t_KE t_KF t_KG t_kh t_KH t_kI t_KI t_KJ t_KK t_kl t_KL t_kN t_kP t_kr t_ku
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
INSTALLpc.txt - Installation of Vim on PC - Last Update: 2025 May 14
|
||||
INSTALLpc.txt - Installation of Vim on PC - Last Update: 2025 Aug 10
|
||||
|
||||
This file contains instructions for compiling Vim. If you already have an
|
||||
executable version of Vim, you don't need this.
|
||||
@@ -42,7 +42,7 @@ Contents:
|
||||
|
||||
|
||||
The currently recommended way (that means it has been verified to work) is
|
||||
using the "Visual Studio 2022 Community Edition" installation. This doesn't
|
||||
using the "Visual Studio 2022 Community Edition" installation. This doesn't
|
||||
include the SDK for older Windows versions (95 - XP), see "OLDER VERSIONS"
|
||||
below for that.
|
||||
|
||||
@@ -52,7 +52,7 @@ below for that.
|
||||
|
||||
We do not provide download links, since Microsoft keeps changing them. You
|
||||
can search for "Visual Studio 2022 Community Edition", for example. You will
|
||||
need to create a Microsoft account (it's free). You need to download the
|
||||
need to create a Microsoft account (it's free). You need to download the
|
||||
"DVD", and execute the installer from it.
|
||||
|
||||
When installing "Visual Studio 2022 Community Edition" or "Build Tools for
|
||||
@@ -456,7 +456,7 @@ found at
|
||||
As of 2011, UPX still does not support compressing 64-bit EXE's; if you have
|
||||
built a 64-bit vim then an alternative to UPX is 'MPRESS'. MPRESS can be found
|
||||
at:
|
||||
http://www.matcode.com/mpress.htm
|
||||
matcode.com/mpress.htm (now a dead link)
|
||||
|
||||
|
||||
ADDITION: NLS support with MinGW
|
||||
@@ -471,7 +471,7 @@ You need to uncomment lines in Make_ming.mak to have NLS defined.
|
||||
=========
|
||||
|
||||
Use Make_cyg.mak with Cygwin's GCC. See
|
||||
http://users.skynet.be/antoine.mechelynck/vim/compile.htm
|
||||
(now dead) users.skynet.be/antoine.mechelynck/vim/compile.htm
|
||||
|
||||
With Cygnus gcc you should use the Unix Makefile instead (you need to get the
|
||||
Unix archive then). Then you get a Cygwin application (feels like Vim is
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
INSTALLvms.txt - Installation of Vim on OpenVMS
|
||||
|
||||
Maintainer: Zoltan Arpadffy <zoltan.arpadffy@gmail.com>
|
||||
Last change: 2023 Nov 29
|
||||
Last change: 2025 Aug 10
|
||||
|
||||
This file contains instructions for compiling Vim on Openvms.
|
||||
If you already have an executable version of Vim, you don't need this.
|
||||
@@ -33,7 +33,7 @@ Contents:
|
||||
|
||||
1.1. Visit the Vim Repository Home
|
||||
|
||||
You may want to clone the latest source code from https://github/vim/vim
|
||||
You may want to clone the latest source code from https://www.github.com/vim/vim
|
||||
Or the last tested on OpenVMS from http://polarhome.com/vim/files/source/vms/
|
||||
|
||||
1.2. Expand the three archives.
|
||||
@@ -43,7 +43,7 @@ Or the last tested on OpenVMS from http://polarhome.com/vim/files/source/vms/
|
||||
|
||||
1.4. You will need either the DECSET mms utility or the freely available clone
|
||||
of it called mmk (VMS has no make utility in the standard distribution).
|
||||
You can download mmk from http://www.openvms.digital.com/freeware/MMK/
|
||||
You can download mmk from (defunct link) openvms.digital.com/freeware/MMK/
|
||||
|
||||
1.5. If you want to have Perl, Python or Tcl support in Vim you will need VMS
|
||||
distributions for them as well.
|
||||
@@ -169,7 +169,7 @@ from CVS mirror ftp://ftp.polarhome.com/pub/cvs/SOURCE/
|
||||
Description : Add Lua support
|
||||
Options: : YES - Build with support
|
||||
Uncommented - build without support.
|
||||
Default : Uncommented
|
||||
Default : Uncommented
|
||||
|
||||
Parameter name : VIM_MZSCHEME
|
||||
Description : Add support for FEATURE_MZSCHEM
|
||||
@@ -178,10 +178,10 @@ from CVS mirror ftp://ftp.polarhome.com/pub/cvs/SOURCE/
|
||||
Default : Uncommented
|
||||
|
||||
Parameter name : VIM_ICONV
|
||||
Description : Build with using the ICONV library
|
||||
Description : Build with using the ICONV library
|
||||
Options: : YES - Build with support
|
||||
Uncommented - build without support.
|
||||
Default : Uncommented
|
||||
Default : Uncommented
|
||||
|
||||
Parameter name : MODIFIED_BY
|
||||
Description : Add note if you modified the code
|
||||
@@ -326,10 +326,10 @@ perl_env :
|
||||
|
||||
To build VIM with GTK you have to install GTK on your OpenVMS.
|
||||
So far it works just on Alpha and IA64. More information at:
|
||||
http://www.openvms.compaq.com/openvms/products/ips/gtk.html
|
||||
defunct link: openvms.compaq.com/openvms/products/ips/gtk.html
|
||||
|
||||
You also need the OpenVMS Porting Library:
|
||||
http://www.openvms.compaq.com/openvms/products/ips/porting.html
|
||||
defunct link: openvms.compaq.com/openvms/products/ips/porting.html
|
||||
|
||||
Source code for GTK and porting library that is used to build
|
||||
VMS executables at polarhome.com are at
|
||||
@@ -365,7 +365,7 @@ perl_env :
|
||||
7.3 PERL
|
||||
|
||||
You have to install OpenVMS perl package from:
|
||||
http://www.openvms.compaq.com/openvms/products/ips/apache/csws_perl_relnotes.html or build on your own from sources downloaded from http://www.perl.org
|
||||
defunct link: openvms.compaq.com/openvms/products/ips/apache/csws_perl_relnotes.html or build on your own from sources downloaded from http://www.perl.org
|
||||
|
||||
You need defined PERLSHR logical that points to PERL shareable image
|
||||
(or you can just copy over to SYS$LIBRARY:)
|
||||
|
||||
@@ -113,6 +113,7 @@ SRC += \
|
||||
findfile.c \
|
||||
float.c \
|
||||
fold.c \
|
||||
fuzzy.c \
|
||||
getchar.c \
|
||||
gc.c \
|
||||
hardcopy.c \
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user